CalDescent
941080c395
Rework of arbitraryDataFileHashResponses to use a list rather than a map (limited to 1000) items. Sort the list by routes with the lowest number of peer hops first, to try and prioritize those which are easiest and quickest to reach.
3 years ago
CalDescent
35d9a10cf4
Avoid logging if there are no remaining transaction signatures to validate. There was too much log spam, none of which was particularly useful.
3 years ago
CalDescent
7c181379b4
Added more granularity to logging, to differentiate between signature validation and general processing/importing, as well as showing counts of the transactions being processed in each round.
3 years ago
CalDescent
f9576d8afb
Further optimizations to Controller.processIncomingTransactionsQueue()
...
- Signature validation is now able to run concurrently with synchronization, to reduce the chances of the queue building up, and to speed up the propagation of new transactions. There's no need to break out of the loop - or avoid looping in the first place - since signatures can be validated without holding the blockchain lock.
- A blockchain lock isn't even attempted if a sync request is pending.
3 years ago
CalDescent
6a8a113fa1
Merge pull request #74 from catbref/presence-txns-removal
...
PRESENCE transactions changed to always fail signature validation
3 years ago
CalDescent
ef59c34165
Added missing "break" which was causing additional unnecessary debug logging. Originally introduced due to a merge conflict with the metadata branch.
3 years ago
CalDescent
a19e1f06c0
Merge pull request #73 from catbref/incoming-txns-rework
...
Reworking of Controller.processIncomingTransactionsQueue()
3 years ago
catbref
a9371f0a90
In Controller.processIncomingTransactionsQueue(), don't bother with 2nd-phase of locking blockchain and importing if there are no valid signature transactions to actually import
3 years ago
catbref
a7a94e49e8
PRESENCE transactions changed to always fail signature validation
3 years ago
catbref
affd100298
Reworking of Controller.processIncomingTransactionsQueue()
...
Main changes are:
* Check transaction signature validity in initial round, without blockchain lock
* Convert List of incoming transactions to Map so we can record whether we have validated transaction signature before to save rechecking effort
* Add invalid signature transactions to invalidUnconfirmedTransactions map with INVALID_TRANSACTION_RECHECK_INTERVAL expiry (~60min)
* Other minor changes related to List->Map change and Java object synchronization
3 years ago
CalDescent
fd6ec301a4
Updated AdvancedInstaller project for v3.2.0
3 years ago
CalDescent
5666e6084b
Bump version to 3.2.0
3 years ago
CalDescent
69309c437e
Tightened up the content security policy for non HTML files.
3 years ago
CalDescent
e392e4d344
Allow eval(), setTimeout(), etc, to enable various QDN sites to function correctly. The existing sandboxing should be locking this down enough already. Limited to .html and .htm files only.
3 years ago
CalDescent
bd53856927
Disabled auto fetching of metadata. To be re-enabled at a later date.
3 years ago
CalDescent
cbd1018ecf
Allow identical data to be published if the metadata differs.
3 years ago
CalDescent
46606152eb
/arbitrary/metadata/* endpoint now returns ArbitraryResourceMetadata rather than a raw JSON string.
3 years ago
CalDescent
e6f93e0a08
Added categoryName to ArbitraryResourceMetadata, along with the existing category ID
3 years ago
CalDescent
8d81f1822f
Merge branch 'master' into qdn-metadata
...
# Conflicts:
# src/main/java/org/qortal/controller/Controller.java
# src/main/java/org/qortal/network/message/Message.java
3 years ago
CalDescent
5903607363
Merge pull request #72 from catbref/presence-v2
...
Presence v2
3 years ago
catbref
590a8f52db
Remove future work comment from Controller
3 years ago
catbref
ecac47d1bc
Also notify TradePresenceWebsocket (using TradePresenceEvent) when bridging old PRESENCE txns
3 years ago
catbref
3b477ef637
Fix JAXB marshalling error (duplicate tradeAddress) in TradePresenceWebSocket. No need to send signature. Make sure publicKey is sent in Base58, not Base64.
3 years ago
catbref
e2ef5b2ef3
Missed change from last commit: incorrect logic in TradePresenceWebSocket
3 years ago
catbref
1d59feeb72
Created /websockets/crosschain/tradepresence to replace /websockets/presence
3 years ago
catbref
c53dd31765
Tidy up of trade presence timestamp generation & checking. Added tests. Renamed "online trades" to "trade presences"
3 years ago
catbref
4c02081992
Tidy up TradeBot presence logging. Decorate API endpoints /crosschain/tradeoffers and /crosschain/trade with presence expiry timestamps
3 years ago
catbref
cb57af3c53
Bugfixes to online trade sigs + bridging from PRESENCE transactions
3 years ago
catbref
01d810fc00
Initial effort at migrating PRESENCE transactions to dedicated network messages
3 years ago
CalDescent
8c2a9279ee
Return metadata in various /arbitrary APIs if the "includemetadata" parameter is included.
...
This is very inefficient and will soon be replaced with dedicated ArbitraryResources / ArbitraryMetadata tables. But this is acceptable in the short term, especially if limit and offset are used.
3 years ago
CalDescent
0d65448f3d
Request all metadata automatically.
3 years ago
CalDescent
9da2b3c11a
Don't respond to file list requests with just the metadata file.
...
We have the separate metadata protocol for this now.
3 years ago
CalDescent
95400da977
Fixed typo in various tests (copy and paste error)
3 years ago
CalDescent
dc41dc4c69
Tags now use an array of strings, rather than a single string.
3 years ago
CalDescent
a5c11d4c23
Reduced "Ignoring hash list request" logs from DEBUG to TRACE
3 years ago
CalDescent
878394535e
Improvements relating to fetching metadata
...
- Rate limiter is disabled when using the API
- fetchArbitraryMetadata() returns the actual metadata content rather than a boolean
- Exceptions are thrown on certain errors, rather than returning null
3 years ago
CalDescent
35dba27a55
Fixed issue due to not updating arbitraryMetadataRequests when receiving the metadata file.
3 years ago
CalDescent
f22ad13fa9
Merge branch 'master' into qdn-metadata
...
This involved a slight rewrite to remove the "includeMetadataOnly" boolean. Metadata is now always excluded, otherwise it complicates the caching too much.
# Conflicts:
# src/main/java/org/qortal/api/resource/ArbitraryResource.java
# src/main/java/org/qortal/controller/arbitrary/ArbitraryDataStorageManager.java
3 years ago
CalDescent
aa2e5cb87b
Merge branch 'hosted-resources-search'
3 years ago
CalDescent
7740f3da7e
Small formatting tweaks, for consistency with existing code.
3 years ago
CalDescent
badb576991
Fixed exception when identifier is null. Also handling null names as this may be a future scenario.
3 years ago
CalDescent
c65a63fc7e
Fixed "query" parameter error in swagger documentation
3 years ago
CalDescent
0111747016
Added debug logging of new file list stats.
3 years ago
CalDescent
eac4b0d87b
Maintain backwards support for pre-3.2.0 peers by only including new file list message params when sending to newer peers.
...
These params are optional and the process will function without them, just less efficiently.
3 years ago
CalDescent
3dadce4da4
Renamed a reference
3 years ago
CalDescent
1864468818
Prefer the route with the least number of hops when relaying.
3 years ago
CalDescent
1a59379162
Optionally include requestTime, requestHops, peerAddress, and isRelayPossible flag in ArbitraryDataFileListMessage
3 years ago
CalDescent
31d34c3946
Updated testnet documentation
3 years ago
CalDescent
3cc394f02d
Merge pull request #70 from catbref/synchronizer-newchaintipevent
...
Modify TradeBot to trigger when chain tip changes instead of with every new block
3 years ago
CalDescent
53c4fe9e80
Fixed another ElectrumX issue found in unit tests.
...
Peers that were thought to be missing output address data may actually have just been using a different key - "address" instead of "addresses". Now reading the addresses from both keys, which may remove the need for the previously added checks.
3 years ago