Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
200 commits
Select commit Hold shift + click to select a range
3f73037
fix(dash-spv): remove localhost seed nodes from default config
Jun 20, 2025
f1b99ef
feat(dash-spv): add detailed sync progress tracking
Jun 20, 2025
1090fd3
refactor(dash-spv): improve handshake state machine
Jun 20, 2025
83cee73
perf(dash-spv): optimize sync timeouts and status updates
Jun 20, 2025
2692c05
refactor(dash-spv): improve network and sync modules
Jun 20, 2025
7250556
perf(dash-spv): reduce header sync timeout to 500ms
Jun 20, 2025
4e6e161
feat: Swift SDK implementation with SPV and wallet support
Jun 20, 2025
2dc1988
feat(dash-spv-ffi): add detailed sync progress tracking and callbacks
Jun 20, 2025
ba08955
docs: update CLAUDE.md with comprehensive project documentation
Jun 20, 2025
cbb0c75
refactor(swift-sdk): update FFI layer and error handling
Jun 20, 2025
fb7ed25
docs: add CLAUDE.md for Swift SDK guidance
Jun 20, 2025
31392e3
feat(swift-sdk): enhance DashHDWalletExample app
Jun 20, 2025
7df2164
chore(swift-sdk): remove committed binary artifact
Jun 20, 2025
28783f0
feat(swift-sdk): add key_wallet_ffi support to iOS build script
Jun 20, 2025
2662b31
feat(dash-spv): add mempool transaction support
Jun 24, 2025
ac5daf0
feat(wallet): improve balance tracking and wallet management
Jun 24, 2025
99c0757
feat(swift-sdk): enhance SPV client and example app
Jun 24, 2025
5f373ca
docs: update documentation for mempool support and Swift SDK
Jun 24, 2025
bff1a94
refactor(key-wallet): improve address derivation and constants
Jun 24, 2025
c58e8f3
refactor(dash-spv): improve sync, validation, and network handling
Jun 24, 2025
c59016c
feat(dash-spv): add terminal block data for masternode list sync
Jun 25, 2025
47f7334
chore: update .gitignore to exclude compiled libraries
Jun 25, 2025
7d86c00
test: add genesis block verification example
Jun 25, 2025
d5bc84d
refactor(dash-spv): improve sync, validation, and network handling
Jun 25, 2025
4969d1f
docs: update documentation for mempool support and Swift SDK
Jun 25, 2025
25bccce
feat(dash-spv): enhance network layer with improved peer management
Jun 25, 2025
1f5d13c
feat(dash-spv): add mempool transaction support and improved wallet i…
Jun 25, 2025
5e2f206
feat(dash-spv-ffi): add mempool support and enhanced event callbacks
Jun 25, 2025
9368794
feat(dash): add bloom filter message types and network constants
Jun 25, 2025
6009143
feat(swift-sdk): add mempool support and enhanced wallet functionality
Jun 25, 2025
204d590
test: update handshake test for improved network handling
Jun 25, 2025
052d185
feat(dash-spv): add chain management and sequential sync implementation
Jun 25, 2025
a1f23c3
feat(dash-spv): add reputation system, UTXO rollback, and enhanced st…
Jun 25, 2025
839944a
feat(dash-spv): add bloom filter manager and headers2 support
Jun 25, 2025
01623d5
fix(dash-spv): consolidate duplicate serialization error variants
Jun 25, 2025
cc6e991
refactor(dash-spv): extract headers2 negotiation into helper method
Jun 25, 2025
00ca2ab
refactor(dash-spv): consolidate terminal block validation logic
Jun 25, 2025
138366c
feat(dash-spv): implement pre-calculated masternode list loading
Jun 25, 2025
8238080
fix(dash-spv-ffi): handle system time errors safely
Jun 25, 2025
a70c4ee
fix(dash-spv): make extend_tip operation atomic to prevent data loss
Jun 25, 2025
4fd960c
fix(dash-spv): handle lock poisoning errors in sync_storage
Jun 25, 2025
5c3c911
test(dash-spv): add comprehensive tests for mempool filter
Jun 25, 2025
2c14f7d
refactor(dash-spv): extract bloom utilities to shared module
Jun 25, 2025
b6c9d3a
fix(dash-spv): improve sync time estimation with phase weights
Jun 25, 2025
cc83c8c
feat(dash-spv): add checkpoint restart support for all sync phases
Jun 25, 2025
b1b9281
refactor(dash-spv): improve error classification with explicit variants
Jun 25, 2025
080d7c0
fix(dash-spv): preserve error details in recovery events
Jun 25, 2025
1754aa2
refactor(dash-spv): externalize phase names and configuration values
Jun 25, 2025
904bb52
fix(dash-spv): replace sync state placeholders with actual data
Jun 25, 2025
31df8a0
fix(dash-spv): preserve storage error type in chainlock validation
Jun 25, 2025
8c3ba3d
fix(dash-spv): use actual peer ID for Headers2 compression state
Jun 25, 2025
5101b7c
refactor(dash-spv): extract base hash retrieval into helper method
Jun 25, 2025
20a8b67
fix(dash-spv): ensure locator vector includes tip hash when available
Jun 25, 2025
cc1cac4
perf(dash-spv): avoid expensive message cloning in handler
Jun 25, 2025
c1966af
fix(dash-spv-ffi): add safety checks for callback invocations
Jun 25, 2025
a5bc49f
fix(dash-spv): ensure directory exists before loading reputation data
Jun 25, 2025
8c63423
fix(dash-spv): add validation to reputation load_from_storage
Jun 25, 2025
f639740
fix(dash-spv): resolve borrow conflict in chain reorganization logic
Jun 25, 2025
5edd910
fix(dash-spv): remove incorrect height-based work calculation in Chai…
Jun 25, 2025
5111b6a
fix(dash-spv): make read timeout configurable in TcpConnection
Jun 25, 2025
5d000b8
fix(dash-spv-ffi): refactor callbacks for improved thread safety
Jun 25, 2025
e213934
fix(dash-spv-ffi): replace raw pointer storage with safe callback wra…
Jun 25, 2025
b6836c1
docs(dash-spv): clarify get_progress returns template requiring calle…
Jun 25, 2025
948e7d4
fix(dash-spv): reset sync manager state on send_initial_requests failure
Jun 25, 2025
896f00f
fix(dash-spv): improve InstantSend detection documentation in mempool…
Jun 25, 2025
0dc7475
fix(dash-spv): validate headers loaded from storage before adding to …
Jun 25, 2025
dde6689
refactor(dash-spv): replace static atomic variable with instance fiel…
Jun 25, 2025
ffac896
fix(dash-spv): replace hardcoded zero fee with actual transaction fee…
Jun 25, 2025
0c54aaa
fix(dash-spv): parse voting key hash from masternode voting address
Jun 25, 2025
6155d1a
fix(dash-spv): ensure locator vector includes tip hash when available
Jun 25, 2025
bef9edf
fix(dash-spv): resolve infinite recursion in get_last_message_peer_id
Jun 25, 2025
6e9b039
fix(dash-spv): resolve borrow conflict in chain reorganization logic
Jun 25, 2025
165371a
perf(dash-spv): optimize message handling to avoid expensive block cl…
Jun 25, 2025
c0cdccd
fix(dash-spv-ffi): replace raw pointer passing with callback ID registry
Jun 25, 2025
95ee83e
fix(dash-spv): enhance peer info validation with service flags check
Jun 25, 2025
828dbc4
fix(dash-spv): reset sync manager to idle state on send_initial_reque…
Jun 25, 2025
f38578b
fix(dash-spv): update persistent storage during rollback_to_height
Jun 25, 2025
f3cc0fe
refactor(dash-spv-ffi): remove redundant callback safety check
Jun 25, 2025
5348804
docs(dash-spv-ffi): clarify memory ownership for FFIArray
Jun 25, 2025
1f76197
fix(dash-spv-ffi): replace raw pointer storage with callback registry…
Jun 25, 2025
47953d4
fix(dash-spv): correctly handle negative amounts in mempool balance c…
Jun 25, 2025
78f0894
fix(dash-spv): add validation for headers loaded from storage
Jun 25, 2025
89eb26e
fix(dash-spv): resolve infinite recursion in has_headers2_peer method
Jun 25, 2025
cf9c41b
fix(dash-spv): improve fee calculation for mempool transactions
Jun 25, 2025
52262e7
fix(dash-spv-ffi): remove misleading progress callback from sync_to_tip
Jun 25, 2025
bdbd914
docs(dash-spv-ffi): clarify sync_cancel behavior and limitations
Jun 25, 2025
48aef1d
fix(dash-spv): add height validation in recovery logic
Jun 25, 2025
2a05f9e
fix(dash-spv-ffi): implement proper thread cleanup mechanism
Jun 25, 2025
5511ddf
fix(dash-spv-ffi): remove unused progress_callback parameter
Jun 25, 2025
2085191
fix(dash-spv-ffi): differentiate pending and mempool balance fields
Jun 25, 2025
41b9336
refactor(dash-spv-ffi): use existing MempoolRemovalReason conversion
Jun 25, 2025
85b6bd0
fix(dash-spv): fix validation field naming and unused parameters
Jun 25, 2025
3fddcbc
revert: keep sync_filters_range parameters without underscore prefix
Jun 25, 2025
7ca9d77
fix(dash-spv): remove all unused imports
Jun 25, 2025
456abe2
fix(dash-spv-ffi): remove unused MempoolStrategy import
Jun 25, 2025
066becf
fix(dash-spv-ffi): remove unused FFICallbacks import
Jun 25, 2025
d55e2e6
fix(dash-spv): increase default read timeout from 15ms to 100ms
Jun 26, 2025
4dddc7c
fix(dash-spv-ffi): add missing documentation for dash_spv_ffi_client_…
Jun 26, 2025
83881e4
fix(dash-spv): add validation for max_forks parameter in ForkDetector
Jun 26, 2025
8000dc4
refactor(dash-spv): deduplicate get_last_message_peer_id logic
Jun 26, 2025
8a1dbca
docs(dash-spv-ffi): add null pointer handling documentation for sync_…
Jun 26, 2025
159430d
refactor(dash-spv): extract terminal block masternode loading logic
Jun 26, 2025
41e9951
fix(dash-spv): fix type mismatch in bandwidth_savings calculation
Jun 26, 2025
38fefef
fix(dash-spv): fix additional type mismatch in bandwidth_savings
Jun 26, 2025
e9bcc72
fix(dash-spv): add missing masternode_list_engine method to Sequentia…
Jun 26, 2025
7628456
refactor(dash-spv): remove old terminal blocks to reduce binary size
Jun 26, 2025
5b4b551
refactor(dash-spv): keep only the latest terminal block per network
Jun 26, 2025
9a66037
perf(dash-spv): optimize request_phase to return &'static str
Jun 26, 2025
26bca79
perf(tests): optimize slow storage consistency test
Jun 26, 2025
850fa91
fix(storage): correct tip height calculation in segmented storage
Jun 26, 2025
2c22a4f
fix(validation): reject InstantLock with zero signature
Jun 26, 2025
8747c85
test: update test configurations and expectations
Jun 26, 2025
51f50ae
refactor(chain): implement phased reorganization to avoid borrow conf…
Jun 26, 2025
12f888b
feat(wallet): implement UTXO locking for InstantSend support
Jun 26, 2025
9108ff0
fix(chain): improve chain tip management and fork detection
Jun 26, 2025
67ca2ab
refactor(mempool): decouple transaction relevance checking from wallet
Jun 26, 2025
b53af31
chore: minor improvements and error handling enhancements
Jun 26, 2025
87fc4a8
chore(dash): temporarily disable bloom filter test module
Jun 26, 2025
dc37245
fix(tests): update FFI tests for API changes and add missing struct f…
Jun 26, 2025
b1488f2
fix(tests): adjust FFI test expectations for unstarted clients
Jun 26, 2025
aafc738
fix(tests): prevent test_reproduce_filter_sync_bug from hanging
Jun 26, 2025
eadea97
fix(tests): prevent runtime-within-runtime panic in FFI tests
Jun 26, 2025
9b5fa62
fix(tests): prevent hanging in FFI tests by starting client before sync
Jun 26, 2025
060630e
fix(tests): mark network-dependent tests as ignored to prevent hanging
Jun 26, 2025
53b504e
fix(tests): set temp directory for test_event_callbacks to avoid writ…
Jun 26, 2025
9d042b7
docs(dash-spv-ffi): add documentation for dash_spv_ffi_client_test_sy…
Jun 26, 2025
5c21ad9
fix(dash-spv-ffi): add length field to FFIString struct for safer str…
Jun 26, 2025
bf2be2a
fix(dash-spv): improve error handling for transaction retrieval
Jun 26, 2025
b5048c7
fix(mempool): add synchronized access to mempool-related operations
Jun 26, 2025
a91c18f
fix(dash-spv): enhance test assertions for error handling
Jun 26, 2025
35bf288
fix(headers_with_reorg): add comprehensive error handling for reorg v…
Jun 26, 2025
477004c
fix(sync_masternodes): improve error handling for masternode list upd…
Jun 26, 2025
bf41b32
fix(sync): handle transaction recovery edge cases
Jun 26, 2025
ae0305a
refactor(bloom): use std::f64::consts::LN_2 instead of hardcoded value
PastaPastaPasta Jun 26, 2025
335be7b
chore: include optimization
PastaPastaPasta Jun 26, 2025
b7fd8f7
chore: run cargo fmt
PastaPastaPasta Jun 26, 2025
2e28502
docs(dash-spv-ffi): add documentation for dash_spv_ffi_client_test_sy…
Jun 26, 2025
6523621
docs(dash-spv-ffi): add documentation for dash_spv_ffi_client_test_sy…
Jun 26, 2025
b1a7d76
fix(dash-spv-ffi): improve thread safety documentation for CallbackInfo
Jun 26, 2025
d294368
chore(dash-spv-ffi): regenerate header file with documentation
Jun 26, 2025
98a6911
fix(ffi): Pass transaction IDs and block hashes as byte arrays instea…
Jun 26, 2025
318643a
fix(ffi): Add safe error handling for CString creation to prevent FFI…
Jun 26, 2025
7858f1d
fix(ffi): Replace thread-local error storage with thread-safe global …
Jun 26, 2025
a80302f
fix: Handle edge case where system time is before UNIX_EPOCH
Jun 26, 2025
abe5b9a
refactor: Use direct indexing instead of last().unwrap() for clarity
Jun 26, 2025
90b7010
docs: Add thread-safety documentation to StorageManager trait
Jun 26, 2025
11204bb
docs: Document sync manager's exclusive access pattern and future con…
Jun 26, 2025
a48779a
fix(swift-sdk): update Swift callbacks to match new FFI byte array si…
Jun 26, 2025
c8d59f9
fix(dash-spv): handle headers2 compression state initialization for g…
Jun 26, 2025
c3c7c08
fix(dash-spv): wait for peer SendHeaders2 before using headers2 protocol
Jun 26, 2025
6634f26
fix(dash-spv): temporarily disable headers2 for compatibility
Jun 26, 2025
3bc2d1b
fix(dash-spv): improve headers2 protocol handling
Jun 26, 2025
c9e8e7c
fix(dash-spv): add detailed logging for headers2 debugging
Jun 26, 2025
6be0d66
fix(swift-sdk): update Swift callbacks to match new FFI byte array si…
Jun 26, 2025
710b98a
fix: headers2 protocol issues - prevent usage at genesis and fix Send…
Jun 26, 2025
5efe106
fix(dash-spv): disable headers2 to prevent connection drops
Jun 26, 2025
ea68dfa
fix: remove excessive unwrap() usage to prevent runtime panics
Jun 29, 2025
4f40276
refactor: improve error handling across wallet and sync modules
Jun 29, 2025
b10018b
feat: improve network handling and sync robustness
Jun 29, 2025
01b5ffe
fix(dash-spv): replace unwrap/expect with proper error handling
Jun 30, 2025
7ec5a36
feat: Connect ChainLock validation to masternode engine
Jun 30, 2025
a95864f
refactor: remove redundant ChainLockValidator and simplify validation
Jun 30, 2025
d822e16
refactor: extract helper methods from restore_sync_state for better m…
Jul 1, 2025
da681b7
fix(dash-spv): correct header count display when syncing from checkpoint
Jul 2, 2025
4927e34
fix(dash-spv): display correct header count for normal sync after res…
Jul 8, 2025
cb35756
fix(dash-spv): improve checkpoint sync initialization and height calc…
Jul 8, 2025
4ed33e6
fix(dash-spv): load headers into client ChainState for normal sync
Jul 8, 2025
e285f13
fix(genesis): revert incorrect devnet genesis block changes
Jul 9, 2025
51472fd
revert: restore key-wallet files to v0.40-dev state
Jul 9, 2025
8daafec
fix(dash-spv-ffi): remove references to missing platform_integration …
Jul 9, 2025
e7d31d3
chore: remove temporary fix documentation files
Jul 9, 2025
083af16
chore: remove temporary Swift SDK documentation files
Jul 9, 2025
3d6636d
chore: remove temporary test scripts and data files
Jul 9, 2025
60073a8
revert: restore hashes/Cargo.toml and key-wallet/src/derivation.rs to…
Jul 9, 2025
8115431
refactor: extract filter header height calculation into helper method
Jul 13, 2025
6198c0e
refactor(dash-spv): extract duplicated header height calculation logic
Jul 13, 2025
0ba2069
fix: replace expect() with proper error handling for start height par…
Jul 13, 2025
42ca92c
fix(dash-spv-ffi): improve callback reentrancy and thread safety tests
Jul 13, 2025
6f15722
fix: prevent incorrect valid_count when headers stored non-sequentially
Jul 13, 2025
275f5d3
fix(dash-spv): validate transaction effects in get_mempool_balance
Jul 13, 2025
c812182
fix(bloom): prevent potential deadlock by releasing locks before acqu…
Jul 13, 2025
d4c5a27
fix(chain): ensure atomic operations in reorg handling
Jul 13, 2025
189f9ab
fix(dash-spv-ffi): add buffer size validation for ffi_dash_spv_get_qu…
Jul 13, 2025
83c3eb6
feat: Add runtime isolation for dash-spv-ffi with custom thread names
Jul 13, 2025
5226c29
feat: Improve chain management with DNS-first discovery and checkpoin…
Jul 15, 2025
f49ac87
fix(sync): prevent duplicate header processing during timeout retries
Jul 15, 2025
e2024f1
fix(chainlock): maintain masternode lists for post-sync ChainLock val…
Jul 15, 2025
41d08aa
fix(dash-spv): resolve compilation errors in sequential sync manager
Jul 16, 2025
383a84e
feat(dash-spv): add checkpoint sync support for faster initial synchr…
Jul 16, 2025
88babd0
docs: add Unified SDK integration support for iOS
Jul 16, 2025
8698daa
fix(swift-sdk): fix SwiftDashCoreSDK test compilation and assertions
Jul 16, 2025
3016e15
test: Add comprehensive unit tests for dash-spv modules
Jul 16, 2025
d1472fe
test(wallet): Add comprehensive unit tests for wallet module
Jul 16, 2025
4d98dd2
test(error-handling): Add comprehensive error handling and recovery t…
Jul 16, 2025
800deb4
docs: Add comprehensive test coverage summary
Jul 16, 2025
bffd875
chore(wallet): Add comments about test modules needing API adjustments
Jul 16, 2025
ec9d05d
fix(validation): Ensure ValidationMode::None always passes validation
Jul 16, 2025
dbe2971
fix(dash-spv): Remove references to non-existent terminal block JSON …
Jul 16, 2025
5cb680a
fix: multiple code improvements across rust-dashcore
Jul 16, 2025
90084d5
chore: run `cargo fmt`
PastaPastaPasta Aug 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ coordination.md

# Build artifacts
**/*.rs.bk
*.a
*.so
*.dylib
*.dll

# Test and coverage
tarpaulin-report.html
Expand Down
Loading
Loading