Releases: dashpay/rust-dashcore
Releases ยท dashpay/rust-dashcore
rust-dashcore v0.41.0
Added
- Use feature for console UI (#158) @QuantumExplorer
- Code analysis documentation (#159) @QuantumExplorer
- InstantLock BLS signature verification and peer reputation (#163) @PastaPastaPasta
- Buffered stateful framing for TCP connections (#167) @PastaPastaPasta
- Enhanced storage clear and balance display (#174) @PastaPastaPasta
- Comprehensive wallet FFI transaction builder (#175) @PastaPastaPasta
- DashPay support (#177) @QuantumExplorer
- Async check transaction (#178) @QuantumExplorer
- Broadcast transaction support (#180) @pauldelucia
- Update FFI headers (#183) @xdustinface
- Flush header index on shutdown and after header sync (#197) @pauldelucia
- Add
pre-commitinfrastructure (#201) @xdustinface - Introduce
DashSpvClientInterface(#214) @xdustinface - DIP-17 Platform Payment account support in key-wallet (#229) @pauldelucia
- Add data directory lockfile protection (#241) @xdustinface
- Validate headers during sync (#242) @xdustinface
- Parallelize header validation with
rayon(#243) @xdustinface - Add
atomic_writefor atomic file writing (#245) @xdustinface - Add logging module with file rotation support (#252) @xdustinface
- Add workflow to label PRs with merge conflicts (#265) @xdustinface
- Filter storage using segmentscache (#267) @ZocoLini
- Height based storage (#272) @ZocoLini
- Add benchmarks with criterion (#277) @ZocoLini
- Add
--mnemonic-fileCLI argument (#285) @xdustinface - Add
networktoFFIWalletManagerstruct (#325) @xdustinface
Changed
- Split big files in dash-spv (#160) @QuantumExplorer
- Update GitHub Actions to use ubuntu-22.04-arm (#169) @PastaPastaPasta
- Drop unused code in
dash-spv::network(#179) @xdustinface - Rename
MultiPeerNetworkManagertoPeerNetworkManager(#184) @xdustinface - Improve SPV shutdown handling with
CancellationToken(#187) @xdustinface - Rename
TcpConnectiontoPeerandConnectionPooltoPeerPool(#190) @xdustinface - Drop unused code in
dash-spv::network(#192) @xdustinface - Clippy auto fixes (#198) @pauldelucia
- Make flow control syncing default (#211) @xdustinface
- Rename
HeaderSyncManagerWithReorgtoHeaderSyncManager(#221) @xdustinface - Don't add a dummy in
mark_filter_received(#222) @xdustinface - Cleanup and simplify
MemoryStorageManager(#224) @xdustinface - Make
synced_from_checkpointbased onsync_base_height(#226) @xdustinface - More address matching in typo checker (#230) @xdustinface
- Use
genesis_blockfor all nets ininitialize_genesis_block(#231) @xdustinface - Rename
SequentialSyncManagertoSyncManager(#235) @xdustinface - Some restructuring in
dash-spv::sync(#236) @xdustinface - Cleanup SPV validation (#237) @xdustinface
- Move header validation into
sync::headers::validation(#238) @xdustinface - Replace SyncPhase matches wildcard usage with exhaustive match (#239) @ZocoLini
- Storage segments cleanup (#244) @ZocoLini
- Pin rust version in
rust-toolchain.toml(#266) @xdustinface - Less cloning in SPV message handling (#268) @xdustinface
- Make filter loading range based (#269) @xdustinface
- Single network
WalletandManagedWalletInfo(#271) @xdustinface - Remove all use of
dyn(#274) @ZocoLini - Some
ChainStatecleanups (#289) @ZocoLini - Drop
FFINetworksand useFFINetworkonly (#294) @xdustinface - Single network
WalletManager(#299) @xdustinface - Make wallet birth height non-optional (#300) @xdustinface
Removed
- Drop unused sync code (#208) @xdustinface
- Drop
ChainHashand related tests fromdash(#228) @xdustinface - Drop unused code in
dash-spv::sync(#232) @xdustinface - Drop unused code in
dash-spv::checkpoint(#233) @xdustinface - Remove unused struct
StorageConfig(#273) @ZocoLini - Remove
MemoryStorageManager(#275) @ZocoLini - Drop persistent sync state (#279) @ZocoLini
- Remove unused
ChainLockStats(#281) @ZocoLini - Remove unused orphan pool module (#282) @ZocoLini
- Remove
StorageStats(#283) @ZocoLini - Remove duplicate quorum validation logic (#284) @ZocoLini
- Drop unused
lookahead(#288) @xdustinface - Remove unused filters field from
ChainState(#293) @xdustinface - Move logo and protx test data files to contrib (#295) @xdustinface
- Remove unused
swift-dash-core-sdk(#301) @xdustinface
Fixed
- CFHeaders overlap verification and underflow prevention (#163) @PastaPastaPasta
- FFI event flooding and memory leak in progress callbacks (#173) @PastaPastaPasta
PeerNetworkManagercast inbroadcast_transaction(#185) @xdustinface- Use non-blocking
TcpStreamin TCP connection (#188) @xdustinface - Locking issue after #190 (#191) @xdustinface
- Follow-up fixes to #190 (#193) @xdustinface
- Let the examples start the network monitoring (#194) @xdustinface
- Wait for MnListDiff responses before transitioning to next phase (#199) @pauldelucia
- SPV Regtest/Devnet support (#227) @xdustinface
- Drop duplicated received filter update (#248) @xdustinface
- Compressed headers protocol compatibility with Dash Core (#256) @PastaPastaPasta
- Stop loading headers twice into
ChainState::headers(#258) @xdustinface - FILTER_REQUEST_BATCH_SIZE should be 1000, not 100 (#260) @PastaPastaPasta
- Return the correct block hash in
prepare_sync(#262) @xdustinface - FFI CLI percentage display (#263) @ZocoLini
maintain_gap_limittarget calculation off by one (#286) @xdustinface- Docs build issues (#297) @xdustinface
Full Changelog: v0.40.0...v0.41.0
Rust DashCore v0.40.0
What's Changed
- refactor: split key wallet by @QuantumExplorer in #74
- feat: initial implementation of SPV client in rust-dashcode by @PastaPastaPasta in #75
- feat: dash-spv-ffi by @QuantumExplorer in #76
- feat: re-export masternode list engine through dash-spv by @pauldelucia in #77
- feat: migrate from bls-signatures to blsful library by @DCG-Claude in #82
- feat: add SendDsq message and Dash genesis block parameters by @DCG-Claude in #83
- fix(hashes): improve unsafe block warnings and macro cleanup by @DCG-Claude in #84
- refactor(key-wallet): improve API with standard FromStr trait and betโฆ by @PastaPastaPasta in #85
- refactor(key-wallet): improve code quality with clippy fixes and formatting by @DCG-Claude in #86
- fix: incorrect interval for LLMQ_100_67 by @PastaPastaPasta in #89
- chore: run
cargo fmtby @PastaPastaPasta in #91 - feat: dash spv shared base by @PastaPastaPasta in #94
- Fix sync status genesis by @PastaPastaPasta in #95
- fix: mnlist engine test failures by @PastaPastaPasta in #96
- feat: re-export common dashcore types through spv by @pauldelucia in #97
- refactor: simplify the code, fix various test compilation issues by @PastaPastaPasta in #98
- feat: improvement of key-wallet and creation of key wallet manager by @QuantumExplorer in #100
- feat: add methods to convert ExtendedPrivKey and ExtendedPubKey to PrivateKey and PublicKey by @QuantumExplorer in #101
- Feat/mempool bloom filters chain management by @PastaPastaPasta in #102
- Feat/mempool bloom filters chain management by @DCG-Claude in #80
- feat: key wallet manager (step 2) by @QuantumExplorer in #103
- Fix workspace build and test compilation errors by @PastaPastaPasta in #105
- fix: coderabbit review fixes by @PastaPastaPasta in #104
- feat: wallet manager integration into dash spv by @QuantumExplorer in #106
- feat: trait for wallet info by @QuantumExplorer in #107
- feat: build out key-wallet ffi and improve ci by @QuantumExplorer in #108
- refactor: clean dash core and hashes for warnings and clippy by @QuantumExplorer in #109
- refactor: fix warnings in dash spv by @PastaPastaPasta in #110
- test: update bip158 test data from dash core and enable test by @PastaPastaPasta in #111
- feat: improve key wallet by @QuantumExplorer in #112
- fix: correct BLS key derivation logic and improve test coverage by @PastaPastaPasta in #113
- feat: all key wallet/key wallet manager and key wallet ffi tests passing by @QuantumExplorer in #114
- fix: resolve checkpoint sync height conversion issues by @PastaPastaPasta in #115
- feat: integrate key wallet manager by @PastaPastaPasta in #116
- fix(dash-spv): update ClientConfig and tests after watch API removal; adjust BlockProcessor and sync_manager generics; fix example to compile; all tests green by @PastaPastaPasta in #117
- fix: Add wallet deps, expand wallet/account FFI, refactor DashSpvClient by @PastaPastaPasta in #118
- refactor: removed watch only unused by @QuantumExplorer in #120
- fix: FFIArray metadata, pointer-based getters; wallet mempool API update by @PastaPastaPasta in #119
- refactor: clean up key wallet some more by @QuantumExplorer in #121
- fix: core component tests by @QuantumExplorer in #122
- refactor: key wallet clippy warnings by @QuantumExplorer in #123
- fix: clean up ffi methods by @QuantumExplorer in #124
- refactor: clippy warnings resolution by @PastaPastaPasta in #125
- feat: add repository guidelines and update contribution instructions by @QuantumExplorer in #127
- refactor: spv cleanup by @QuantumExplorer in #126
- feat: add functions for checkpoint retrieval in FFI API by @QuantumExplorer in #129
- feat: add functions to update client configuration and enable masternodes by @QuantumExplorer in #130
- fix: resolve various clippy warnings by @PastaPastaPasta in #128
- refactor: fix last clippy warnings in dash_spv by @QuantumExplorer in #131
- feat: add account derivation functions for extended private keys by @QuantumExplorer in #132
- feat: update version to 0.40.0 and implement user agent configuration by @QuantumExplorer in #133
- feat: update DNS resolver to hickory_resolver by @QuantumExplorer in #134
- feat: update fuzzing configuration and dependencies by @QuantumExplorer in #135
- feat: allow localhost on ffi by @QuantumExplorer in #138
- refactor: cleaned ffi to remove need for hacks when building unified header for swift library by @QuantumExplorer in #139
- fix: dash spv syncing by @QuantumExplorer in #140
- refactor: migrate received_filter_heights to tokio::Mutex and add find_available_header_at_or_before helper by @PastaPastaPasta in #141
- refactor(spv): share ChainState between client and header sync by @PastaPastaPasta in #142
- feat: additional ffi methods for chain tip by @QuantumExplorer in #145
- feat: balance calculations by @QuantumExplorer in #144
- ci : try to find seg faults by @QuantumExplorer in #146
- feat: spv ffi sync improvements related to bip158 by @PastaPastaPasta in #147
- fix(rpc): GetNetworkInfoResult field names are invalid by @lklimek in #143
- fix(ffi-cli): do not pre-maturely break out, continue sync by @PastaPastaPasta in #148
- feat: validate cfilter hash against cfheader chain by @PastaPastaPasta in #149
- feat: add connected peer count tracking in MultiPeerNetworkManager by @PastaPastaPasta in #151
- feat(ffi): implement Display trait for NetworkInfo and remove to_string method by @PastaPastaPasta in #152
- ci: temp disable integration tests by @QuantumExplorer in #154
- refactor(spv): unify blockchain height handling in storage and sync layers by @PastaPastaPasta in #153
- fix: sync progress by @QuantumExplorer in #150
- feat: small fixes by @QuantumExplorer in #155
- fix:adjust default paths and gap limits to match android/iOS behavior by @HashEngineering in #156
- feat: various notification / statistics and performance improvements by @PastaPastaPasta in #157
New Contributors
- @PastaPastaPasta made their first contribution in #75
- @DCG-Claude made their first contribution in #82
- @HashEngineering made their first contribution in #156
Full Changelog: v0.39.6...v0.40.0
Rust DashCore v0.39.6
What's Changed
Full Changelog: v0.39.5...v0.39.6
Rust DashCore v0.39.5
What's Changed
- fix(json-rpc): change value sat from u32 to u64 by @pauldelucia in #72
Full Changelog: v0.39.4...v0.39.5
Rust DashCore v0.39.4
What's Changed
- fix: update feed quorum info to no longer give an error if there are no chain lock signatures. by @QuantumExplorer in #71
Rust DashCore v0.39.3
What's Changed
- fix: fix bincode import and pass None to apply diff when validation is false by @QuantumExplorer in #70
Full Changelog: v0.39.2...v0.39.3
Rust DashCore v0.39.2
What's Changed
- Fix: Allow Block hash of 0s to represent genesis. by @QuantumExplorer in #66
- Fix: Required rotated chain lock sig at h - 0 not present for masternode diff block hash by @QuantumExplorer in #67
- chore: updated packages and change to rust edition 2024 by @QuantumExplorer in #68
Full Changelog: v0.39.1...v0.39.2
Rust DashCore v0.39.1
Rust DashCore v0.39.0
What's Changed
- chore: fmt by @QuantumExplorer in #65
- feat: Use chain lock sigs in Masternode list diffs instead of requesting them by @QuantumExplorer in #64
Full Changelog: v0.38.0...v0.39.0
Rust DashCore v0.38.0
What's Changed
Full Changelog: v0.37.0...v0.38.0