mirror of https://github.com/qortal/qortal
Tree:
76277ae9c3
AT-sleep-until-message
BLOCK_SUMMARIES_V2
EPC-fixes
add-atstates-index
add-create-bytes-endpoint
arbitrary-resources-cache
at-states-fix
auto-update-033b6adb
auto-update-070f14b3
auto-update-1400e7ae
auto-update-867fe764
auto-update-94cfcd66
auto-update-a02d1cec
auto-update-b0f21c2e
auto-update-c4a7fb3b
batch-rewards
bindaddress-ipv4
block-archive
block-minter-updates
block-reward-distribution-fix
block-sequence
block-timings
blockminter-updates
blocksig
bootstrap
cancel-sell-name-fixes
chain-weight-consensus
chat-rate-limiter
chat-reference
chatdb
digibyte
disable-reference
height-v3
hosted-resources-search
ignore-old-versions
increase-online-timestamp-modulus
lists
lite-node
master
mempow-testing
name-fixes
networking
new-coins
null-owned-groups
online-accounts-mempow
online-accounts-mempow-v2
online-accounts-mempow-v2-block-updates
online-level-zero-accounts-api-call
optimize_ats
pirate-chain
prioritize-peers
protoniuman-FR-patch-1
pruning-mode
q-apps
qdn
qdn-direct-connections
qdn-file-list
qdn-metadata
qdn-on-chain-data
qora-holders-share
ravencoin
rebuild-archive
reduce-reward-shares
reindex
relay-hops
reticulum
segwit
share-bin-activation
shares-by-level-rework
split-DB
sync-long-tip
sync-multiple-blocks
synchronization-improvements
thread-limits
trade-bot-timeout-fix
trade-portal-updates
v2.0-beta
v1.0
v1.0.1
v1.0.2
v1.0.3
v1.0.3b
v1.0.3c
v1.0.4
v1.0.5
v1.0.6
v1.0.7
v1.0.8
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.3.5
v1.3.6
v1.3.7
v1.3.8
v1.3.9
v1.4.0
v1.4.1
v1.4.2
v1.4.3
v1.4.4
v1.4.5
v1.4.6
v1.5.0
v1.5.1
v1.5.2
v1.5.3
v1.5.4
v1.5.5
v1.5.6
v1.6.0
v1.7.0
v2.0.0
v2.1.0
v2.1.1
v2.1.2
v2.1.3
v3.0.0
v3.0.1
v3.0.2
v3.0.3
v3.0.4
v3.1.0
v3.1.1
v3.2.0
v3.2.1
v3.2.2
v3.2.3
v3.2.4
v3.2.5
v3.3.0
v3.3.1
v3.3.2
v3.3.3
v3.3.4
v3.3.5
v3.3.6
v3.3.7
v3.4.0
v3.4.1
v3.4.2
v3.4.3
v3.5.0
v3.6.0
v3.6.1
v3.6.2
v3.6.3
v3.6.4
v3.7.0
v3.8.0
v3.8.1
v3.8.2
v3.8.3
v3.8.4
v3.8.5
v3.8.6
v3.8.7
v3.8.8
v3.8.9
v3.9.0
v3.9.1
v4.0.0
v4.0.1
v4.0.2
v4.0.3
v4.1.0
v4.1.1
v4.1.2
v4.1.3
v4.2.0
v4.2.1
v4.2.2
v4.2.3
v4.2.4
v4.3.0
v4.3.1
v4.3.2
v4.4.0
v4.4.1
v4.4.2
v4.5.0
v4.5.1
v4.5.2
${ noResults }
6 Commits (76277ae9c3c200bb9cfae15245846e7e197a8f7d)
Author | SHA1 | Message | Date |
---|---|---|---|
catbref | dbf365472f |
Suppress Reflections log entry using log4j2.properties
|
6 years ago |
catbref | 00656f6724 |
Interim safety commit due to large number of changes!
log4j2.properties now has debugging entries removed. log4j2-test.properties (not in repo) takes priority so using that in development instead. Unconfirmed transactions no longer wiped on start-up by default - see Settings Reworking of {Public,Private,Genesis}Accounts as it seemed possible to silently lose public key in repository. The use of AccountData didn't work and so field-specific repository calls have been made instead (e.g. setLastReference) that try to opportunistically store public key too, if available (i.e. caller is PublicKeyAccount subclass, or better). Added API call GET /addresses/{address} to return general account info in one go. (Essentially the AccountData object as fetched from repository). Initial work on adding default groupID to accounts, along with corresponding SET_GROUP transaction type. In additional, added blockchain-wide default groupID and flag to allow/disallow no-group/groupless transactions. Initial work on group-admin approval of transactions tied to a specific group via txGroupId. More work needed on transaction's "effective txGroupId"! API call /transactions/pending to list transactions pending group-admin approval. However, this needs more work (see effective txGroupId above) and potentially offloading to HSQLDB repository if possible. Minor CIYAM AT renames to help static reflection initializers. Block.orphan() no longer adds orphaned transactions back to unconfirmed pile as they are themselves deleted during Transaction.orphan(). Maybe the answer is to NOT delete them during Transaction.orphan() but to add them to unconfirmed pile at that point? Very old transactions leftover from major resync would simply expire, whereas recently transactions leftover from minor resync could still make it into a new block on synced chain fork. Changes/tidying/improvements to block generator regarding removing invalid transactions and dealing with transactions pending group approval. Approval threshold added to groups. Mass refactoring of transaction-related classes to unify constructors, particularly field ordering, to fall in line with raw transaction layout. e.g. constructors now reflect that raw transactions mostly start with type, timestamp, txGroupId, publicKey, reference e.g. JAXB afterUnmarshal methods added where needed and corresponding nasty code in Transaction subclass constructors ripped out. e.g. TransactionTransformer subclasses contain less duplicated code. Fixed bug with repository save points thanks to swapping to Deque. Some fixes to do with missing transaction types being passed to JAXB TransactionData subclass constructors. Ripped out obsolete toJSON in TransactionTransformers as this is all nicely taken care of by Swagger/OpenAPI (thanks @Kc) |
6 years ago |
catbref | 7f4511cb7b |
Networking and repository
Some pom.xml changes to reduce maven-shade-plugin conflicting classes warnings. Repository now supports SAVEPOINT and ROLLBACK TO SAVEPOINT. HSQLDB concurrency/transaction model changed from LOCKS to MVCC to help with transaction deadlocks/rollbacks. More XXXs and TODOs added to Block.java for investigation/fix/improvements. Also used new repository SAVEPOINT feature when validating transactions instead of rolling back entire transaction. This fixes problem during synchronization where the rollback would undo previously synchronized, but not yet committed, blocks! Transactions orphaned by Block.orphan ARE now added to unconfirmed pile, unlike before. Concurrent lock now prevents simultaneous block generation and synchronization, including synchronization via multiple peers. Lots of new networking code: peer lists, block signatures, blocks, blockchain synchronization. PEERS_V2 message now supports hostnames, IPv6 and port numbers. Fixed bug with block serialization for transport over network. |
6 years ago |
catbref | 0db43451d4 |
Interim networking code commit in case of dev catastrophe!
DB shape change from v29 to add peer info. New NetworkRepository to handle above. Peer handshaking with v2 anti-DoS PoW code. Handshaking refactored into a state-machine-like enum. Some peer-related API calls added. Peers exchange pings, heights, peers. No actual peer sync yet. Other changes: Peer version info taken from Maven build properties/resource file. AnnotationPostProcessor more resilient when fetching PathItems. Per-repository session debugging flag that can be toggled at will. HSQLDBRepository.delete() now returns int so callers can detect whether anything was actually deleted. Some renaming to settings. |
6 years ago |
catbref | 4be58514c0 |
Unify API calls that return lists + offload pagination to repository
API calls that return lists now take limit, offset and reverse params. API calls that used to return data & optional list (e.g. blockWithTransactions) now only return base data. The optional lists can be fetched via a different API call. Also: SLF4J now routes logging to log4j2 so start up output cleaned up. Suppressed extraneous Jersey warning about Providers during start-up injection. |
6 years ago |
catbref | e9d8b3e6e3 |
Unit test fixes + initial CIYAM AT integration
NB: we're still using HSQLDB svn r5836 Updated README.md Added log4j2.properties file for logging! Imported CIYAM-AT jar into project-local Maven repo CIYAM-AT related: ATData ATStateData ATTransactionData DeployATTransactionData AT DeployATTransaction ATRepository HSQLDBATRepository HSQLDBDeployATTransactionRepository ATTests DeployATTransactionTransformer Fixed Block so correct block hash and timestamps are generated, especially when previous/next block versions differ. Added extra call in BlockTransformer to aid this. Fixed GenesisTransaction.isValid's incorrect amount test. Fixed comments in TransferAssetTransaction and incorrect use of BlockChain.getVotingReleaseTimestamp() instead of BlockChain.getAssetsReleaseTimestamp(). Added new TYPEs to HSQLDBDatabaseUpdates, and set LOB granularity to 1KB for AT use. Added AT_address column to DeployATTransactions in HSQLDB. Added ATs, ATStates and ATTransactions tables. (You will need to discard existing database and rebuild). Fixed incorrect byte array output in IssueAssetTransactionTransformer, where Asset "references" were not processed correctly. Added support for BigDecimal serialization to a byte-array size other than the standard 8. |
6 years ago |