v3.2.7
Recommended Upgrade
Key highlights
- Stability fixes:
- Fixes missing tokens on the balance RPCs in edge cases even though consensus level balances were unaffected.
- Issue: Nodes missed to index a cascaded chain of calculation that resulted from spent governance voting reward tokens
- Fixes missing tokens on the balance RPCs in edge cases even though consensus level balances were unaffected.
- Performance improvements:
getburninfo
calculation is now done in parallel and is memoized on first call. Only the differential heights is recalculated making it much cheaper to be called.- Validation of vault liquidation logic is now done in parallel when hardware supports it and should result in visible improvements on the sync performance with more hardware cores.
- Additional internal refactors and synchronization improvements
Upgrade Notes
- For >= 3.2.4, no reindex needed. Drop-in upgrade.
- Reindex is optional, however recommended for wallets affected by (#1763)
- For >= 3.2.0 and <= 3.2.3, reindex is recommended, but optional and can be drop-in upgrade.
- For nodes >=3.0.x, one of the following is required:
- Sync from any of snapshots from the DeFiChain team (below)
- For all other updates, one of the following is required: a fresh sync, the most recent snapshot.
- For nodes that are being restored from recent snapshot, as with all updates before:
-rescan
for the wallet txs and additionally-spv_resync
for users who hold BTC. If either isn't used, they may not be shown in the wallet until rescanned/resynced.
Flag Changes
- None
RPC Changes
- Undocumented API for advanced uses only:
votegovbatch
Additional Notes
- While this release includes many performance improvements, a consequence of #1789 is that
listaccounts
andgettokenbalances
APIs is expected to be slower due to a set of band aids that are applied. These are temporary band aids that will be removed in one of the future releases - has been used for now to workaround the source indexing issue without having to touch consensus related code paths to take the safer approach.
Network Snapshot
- [Asia] https://defi-snapshots.s3.ap-southeast-1.amazonaws.com/index.txt
- [EU] https://defi-snapshots-europe.s3.eu-central-1.amazonaws.com/index.txt
- [Sydney] https://defi-snapshots-sydney.s3.ap-southeast-2.amazonaws.com/index.txt
- [US] https://defi-snapshots-us.s3.amazonaws.com/index.txt
What's Changed
- Update listtransactions help dialogue by @shohamc1 in #1785
- Cache getblockchaininfo result by @Jouzo in #1791
- Add support for batch generation of voting TXs by @Bushstar in #1786
- rpc: getburninfo performance improvements by @prasannavl in #1788
- Remove int type warning by @Mixa84 in #1793
- Add missing CalculateOwnerRewards calls by @Bushstar in #1766
- Restore ForEachAccount by @Bushstar in #1789
- Fix getburninfo memoization by @prasannavl in #1796
- Fix CLockFreeGuard, introduce AtomicMutex by @prasannavl in #1797
- Introduce a generic thread-safe buffer pool by @prasannavl in #1798
- Switch getburninfo to use BufferPool by @prasannavl in #1799
- Track reward addresses in settings by @Bushstar in #1802
- Eliminate the use of CLockFreeGuard with AtomicMutex by @prasannavl in #1800
- Test framework: Initial impl of exhaustive state verification with rollback by @dcorral in #1713
- Add concurrency to liquidated vault validation by @prasannavl in #1803
- Abstract errors by @prasannavl in #1804
- Add lock before vault liquidation by @Jouzo in #1806
- Add scope to lock by @Bushstar in #1807
- Version 3.2.7 by @dcorral in #1790
Full Changelog: v3.2.6...v3.2.7