Releases: ArkEcosystem/core
Releases · ArkEcosystem/core
2.6.9
2.6.1
Changed
- Update
@arkecosystem/exchange-json-rpc
2.6.0
Added
- Expose
isValidPeer
via ajv format rule (#2960) - Implement AIP 102 (#2773)
- Implement AIP 103 (#2858)
- Implement MultiPayment (AIP11) (#2669)
- Implement nonces (#2573)
- Multi Signature support for WIF (#2979)
- Transaction type dependencies (#2859)
- Add nonce to wallet transformer (#2760)
- Allow easy retrieval of first and last block (#2641)
- Allow retrieval of raw blocks and transactions (#2616)
- Endpoints for locks/businesses/bridgechains (#2940)
- Find htlc unlock transactions (#2976)
- Include core version in node/configuration (#2855)
- Search transactions by asset (#2618)
- Enforce transactions' nonce order from blockProcessor (#2873)
- Change minimum version via milestone (#2869)
- Use compression on the p2p level (#2886)
- Add support for transaction nonces (#2925)
- Attributes getter/setter for wallet (#2839)
- Wallet Manager indexes (#2845)
- Register wallet attributes before accessing them (#2867)
- Allow CLI command configurations (#2972)
- Allow passing height to
configManager.isNewMilestone
(#3001) - Expose transaction height, blockId and generatorPublicKey during bootstrap (#3096)
- Add
/transactions/schemas
endpoint (#3083) - Implement businesses/bridgechains endpoint (#3119)
- Implement throttling on outgoing p2p communication (#3170)
- Implement Address.fromWIF method (#3228)
Fixed
- Always deserialize vendor field (b537d6f)
- Basic validation on incoming p2p data + terminate socket on error (#3037)
- Clone webhook before mutating it (#2863)
- Delete existing payload processor db (#2864)
- Do not sort transactions in forger / update purgeByBlock logic for handling nonces (#2678)
- HTLC refund handler to use performGenericWalletChecks (#2944)
- Move wallet manager "zero balance" check to transaction handlers (#2896)
- Multipayment balance / vote balance (#2838)
- Range selection in pool's getTransactions() (#2952)
/wallets/{id}/transactions
search parameters (#2923)- Return block timestamp for v2 transactions (#2906)
- Return count of filtered peers (#2814)
- Clear queue on invalid block (#2897)
- Do not reset
noBlockCounter
whendownloadBlocks
succeeds (#2968) - Only shift milestoneHeights[] if at that height (#2904)
- Round deletion during rollback (#2970)
- Prefix table names with schema (#2830)
- Store vendor field in bytea (#3048)
- Add missing typeGroup and emit StateStarting (#2932)
- Use correct IV length for encryption (#3036)
- Disconnect if api reports different network (#2909)
- Don't cause suspensions for unresponsive plugins (34749bf)
- Fix the genesis block id during verify (#2809)
- Export/import transactions type_group (#2996)
- Remove bogus skipRoundRows (#2973)
buildDelegateRanking
called too early (#2921)buildVoteBalances
called too early (#2920)- Differentiate between wallets and delegates (#2854)
- Index recipient wallets during bootstrap (#2947)
- Copy vote target into temp wallet manager (1209a36)
- Sort by fee, nonce (#2937)
- Implement Delegate resignation (#3045)
- Reject delegate resignation if not enough active delegates (#2919)
- Update wallet nonce when applying v1 transaction (#2959)
- Use supply calculator in delegate approval calculation (#2918)
- Cast params in condition checks (#2887)
- Add legacy multisignature schema (#3040)
- Ensure only one signature per participant (#2889)
- Handle mainnet address exceptions (#3055)
- HTLC lock buffer allocation (#2936)
- Legacy multi signature verification (#2898)
- Run ajv validator again when encountering exceptions (#3008)
- Use
anyOf
for transactions schema (#2894) - Use 2 bytes to store number of payments (#2928)
- Use strict comparison to decide if a transaction should be enabled (#3087)
- Include typeGroup in
/transactions/fees
and/node/fees
endpoints (#3193) - Add missing offset handling to /api/peers (#3075)
- Use numerics for typeGroups in /transactions/types (#3112)
- Add transactions back to pool only after reverting all blocks (#3138)
- Pass IBlockData to processBlocks instead of IBlock (#3426)
- Don't assume blocksInCurrentRound is defined (#3341)
- Set last height before initializing last block to use correct milestones (#3109)
- Don't swallow BIP38 errors (#3271)
- Use the request origin to avoid 404s (#3071)
- Raise
getCommonBlocks
rate limit (#3069) - Return error when app is not ready (#3171)
- Uncaught IPC timeout (#3140)
- Support nonces and chunk transactions before broadcast (#3081)
- Create new wallet if not found (#3086)
- Wallet-manager fallback to database wallet manager findByIndex() when no "local" match (#3256)
- Throw if transaction key is already taken (#3095)
- Update sender's wallet after validation (#3291)
- Prevent snapshot commands from running if core is running (#3196)
- Remove password flag constraint for core:forger command (#3270)
- Properly implement block size limit (#3154)
- Strengthen schema validation checks (#3062)
Changed
- Log the reason for discarding a block (#2903)
- Accept prerelease version (#2911)
- Add
round.missed
event (#3011) - Do not temporary increment/decrement nonce when checking transaction validity (#2587)
- Increase transaction type size (#2861)
- Reject V1 transactions after milestone (#2879)
- Remove
vendorFieldHex
(#3014) - Remove asset migration heuristic (#2999)
- Return all registered transaction types (#2878)
- Strengthen a nonce check in performGenericWalletChecks() (#2949)
- Add default transaction fees (#2842)
- Add
vendorField
andtimestamp
to/locks
endpoint (#3005) - Integrate hapi-pagination to replace fork (#2994)
- Use pagination configuration limit (032caa1)
- Break loop if block contains v1 transaction (#2914)
- Add nonce column (#2844)
- Emit
forging.missing
earlier (#2893) - Emit missing
transaction.reverted
event and remove obsolete ones (#2895) - Cleanup socket errors (#3056)
- Increase network timeouts (#2828)
- Make peer reply errors less verbose (#2962)
- Share rate limiter between workers (#2912)
- Expose current block for transaction handlers (#2856)
- Clear cached transaction ids after accepting block (#2916)
- Don't accept expired v1 transactions (#2948)
- Bootstrap transactions in batches (#2997)
- Elaborate the unexpected nonce error (#2943)
- HTLC implementation (#2915)
- Make handler functions asynchronous (#2865)
- Use default heap size regardless of available memory (#2998)
- Change maximum recipients of multipayment via milestone (#2961)
- Export abstract builder for use by plugins (#2721)
- Fallback to ECDSA signature for version 2 transactions (#2584)
- Make error more verbose (#2938)
- Move base58 functions to utils (#2675)
- ECDSA Signature deserialization for v2 transactions (#2877)
- Remove unnecessary check from validateTransactions() (#2951)
- Fallback to core typegroup if querying by type (#3147)
- Integrate hapi-pagination to replace fork (#3034)
- Sort peers by height, latency (#3078)
- Add
stateBuilder.finished
to ApplicationEvents (#3084) - Make deserializers static (#3234)
- Fix genesis and exception transactions cache (#3296)
- Overwrite arrays when merging milestones (#3108)
Performance
- Avoid O(m*n) when filtering pool txs and simplify the code (#2941)
- Ditch unnecessary reindex() in multi-payment bootstrap (#3022)
- Keep genesis block instance in-memory (7a73aef)
- Use lodash to efficiently remove forged transactions (#2942)
- Add index on transactions.type (#3043)
- Speed up nonce checks at DB level (#2910)
- Make address network byte check part of serde (#3000)
- Memoize base58 de/encoding (#3015)
- Replace bignumber.js with native BigInt (#3010)
- Replace bs58check with bstring (#2673)
2.5.38
Rerelease of 2.5.37 due to some npm issues.