Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
1876dda
fix(dash-spv): remove localhost seed nodes from default config
Jun 20, 2025
3355382
feat(dash-spv): add detailed sync progress tracking
Jun 20, 2025
f82224b
refactor(dash-spv): improve handshake state machine
Jun 20, 2025
39666d2
perf(dash-spv): optimize sync timeouts and status updates
Jun 20, 2025
8d12bac
refactor(dash-spv): improve network and sync modules
Jun 20, 2025
1bd233e
perf(dash-spv): reduce header sync timeout to 500ms
Jun 20, 2025
1994c06
feat: Swift SDK implementation with SPV and wallet support
Jun 20, 2025
2fd9b56
feat(dash-spv-ffi): add detailed sync progress tracking and callbacks
Jun 20, 2025
2193c97
docs: update CLAUDE.md with comprehensive project documentation
Jun 20, 2025
5cbe88f
refactor(swift-sdk): update FFI layer and error handling
Jun 20, 2025
827abff
docs: add CLAUDE.md for Swift SDK guidance
Jun 20, 2025
6470bff
feat(swift-sdk): enhance DashHDWalletExample app
Jun 20, 2025
bbac0dc
chore(swift-sdk): remove committed binary artifact
Jun 20, 2025
bd92b78
feat(swift-sdk): add key_wallet_ffi support to iOS build script
Jun 20, 2025
e75b79a
feat(dash-spv): add mempool transaction support
Jun 24, 2025
08475ca
feat(wallet): improve balance tracking and wallet management
Jun 24, 2025
f7d570e
feat(swift-sdk): enhance SPV client and example app
Jun 24, 2025
3e11916
docs: update documentation for mempool support and Swift SDK
Jun 24, 2025
c9f8a86
refactor(key-wallet): improve address derivation and constants
Jun 24, 2025
9a142f0
refactor(dash-spv): improve sync, validation, and network handling
Jun 24, 2025
f0f9f3a
feat(dash-spv): add terminal block data for masternode list sync
Jun 25, 2025
6e7ee0b
chore: update .gitignore to exclude compiled libraries
Jun 25, 2025
b4c6332
test: add genesis block verification example
Jun 25, 2025
e8215aa
refactor(dash-spv): improve sync, validation, and network handling
Jun 25, 2025
bbae380
docs: update documentation for mempool support and Swift SDK
Jun 25, 2025
2e776f2
feat(dash-spv): enhance network layer with improved peer management
Jun 25, 2025
4813544
feat(dash-spv): add mempool transaction support and improved wallet i…
Jun 25, 2025
4746d21
feat(dash-spv-ffi): add mempool support and enhanced event callbacks
Jun 25, 2025
6007f76
feat(dash): add bloom filter message types and network constants
Jun 25, 2025
10a2e8f
feat(swift-sdk): add mempool support and enhanced wallet functionality
Jun 25, 2025
8b07a32
test: update handshake test for improved network handling
Jun 25, 2025
cbd7d30
feat(dash-spv): add chain management and sequential sync implementation
Jun 25, 2025
ffb66b8
feat(dash-spv): add reputation system, UTXO rollback, and enhanced st…
Jun 25, 2025
6614a98
feat(dash-spv): add bloom filter manager and headers2 support
Jun 25, 2025
74e051d
fix(dash-spv): consolidate duplicate serialization error variants
Jun 25, 2025
9b10dd1
refactor(dash-spv): extract headers2 negotiation into helper method
Jun 25, 2025
8feae4e
refactor(dash-spv): consolidate terminal block validation logic
Jun 25, 2025
3b7f4e0
feat(dash-spv): implement pre-calculated masternode list loading
Jun 25, 2025
a5b8c1b
fix(dash-spv-ffi): handle system time errors safely
Jun 25, 2025
63ce1db
fix(dash-spv): make extend_tip operation atomic to prevent data loss
Jun 25, 2025
8ff992c
fix(dash-spv): handle lock poisoning errors in sync_storage
Jun 25, 2025
312f5c0
test(dash-spv): add comprehensive tests for mempool filter
Jun 25, 2025
fe77b77
refactor(dash-spv): extract bloom utilities to shared module
Jun 25, 2025
4d5d689
fix(dash-spv): improve sync time estimation with phase weights
Jun 25, 2025
b841637
feat(dash-spv): add checkpoint restart support for all sync phases
Jun 25, 2025
6cbc691
refactor(dash-spv): improve error classification with explicit variants
Jun 25, 2025
89c0f5d
fix(dash-spv): preserve error details in recovery events
Jun 25, 2025
ba9435b
refactor(dash-spv): externalize phase names and configuration values
Jun 25, 2025
728046c
fix(dash-spv): replace sync state placeholders with actual data
Jun 25, 2025
5c10a61
fix(dash-spv): preserve storage error type in chainlock validation
Jun 25, 2025
4817d03
fix(dash-spv): use actual peer ID for Headers2 compression state
Jun 25, 2025
2d2a538
refactor(dash-spv): extract base hash retrieval into helper method
Jun 25, 2025
47de918
fix(dash-spv): ensure locator vector includes tip hash when available
Jun 25, 2025
8127fe7
perf(dash-spv): avoid expensive message cloning in handler
Jun 25, 2025
b4ed710
fix(dash-spv-ffi): add safety checks for callback invocations
Jun 25, 2025
c369b7d
fix(dash-spv): ensure directory exists before loading reputation data
Jun 25, 2025
0b9d09c
fix(dash-spv): add validation to reputation load_from_storage
Jun 25, 2025
95e5b57
fix(dash-spv): resolve borrow conflict in chain reorganization logic
Jun 25, 2025
2351092
fix(dash-spv): remove incorrect height-based work calculation in Chai…
Jun 25, 2025
8e00831
fix(dash-spv): make read timeout configurable in TcpConnection
Jun 25, 2025
b00f614
fix(dash-spv-ffi): refactor callbacks for improved thread safety
Jun 25, 2025
4caca4c
fix(dash-spv-ffi): replace raw pointer storage with safe callback wra…
Jun 25, 2025
7a30663
docs(dash-spv): clarify get_progress returns template requiring calle…
Jun 25, 2025
f343b87
fix(dash-spv): reset sync manager state on send_initial_requests failure
Jun 25, 2025
e99d10e
fix(dash-spv): improve InstantSend detection documentation in mempool…
Jun 25, 2025
1dea2f9
fix(dash-spv): validate headers loaded from storage before adding to …
Jun 25, 2025
d3e5352
refactor(dash-spv): replace static atomic variable with instance fiel…
Jun 25, 2025
b228302
fix(dash-spv): replace hardcoded zero fee with actual transaction fee…
Jun 25, 2025
59cbfb0
fix(dash-spv): parse voting key hash from masternode voting address
Jun 25, 2025
50f8601
fix(dash-spv): ensure locator vector includes tip hash when available
Jun 25, 2025
8669734
fix(dash-spv): resolve infinite recursion in get_last_message_peer_id
Jun 25, 2025
a7e3bcb
fix(dash-spv): resolve borrow conflict in chain reorganization logic
Jun 25, 2025
d876047
perf(dash-spv): optimize message handling to avoid expensive block cl…
Jun 25, 2025
d2e0942
fix(dash-spv-ffi): replace raw pointer passing with callback ID registry
Jun 25, 2025
ba62319
fix(dash-spv): enhance peer info validation with service flags check
Jun 25, 2025
a8f24c3
fix(dash-spv): reset sync manager to idle state on send_initial_reque…
Jun 25, 2025
7eff36c
fix(dash-spv): update persistent storage during rollback_to_height
Jun 25, 2025
57b6eea
refactor(dash-spv-ffi): remove redundant callback safety check
Jun 25, 2025
a0b4e2d
docs(dash-spv-ffi): clarify memory ownership for FFIArray
Jun 25, 2025
f49879b
fix(dash-spv-ffi): replace raw pointer storage with callback registry…
Jun 25, 2025
531b25f
fix(dash-spv): correctly handle negative amounts in mempool balance c…
Jun 25, 2025
57b34ab
fix(dash-spv): add validation for headers loaded from storage
Jun 25, 2025
ab58a44
fix(dash-spv): resolve infinite recursion in has_headers2_peer method
Jun 25, 2025
c82baef
fix(dash-spv): improve fee calculation for mempool transactions
Jun 25, 2025
8a3bbb2
fix(dash-spv-ffi): remove misleading progress callback from sync_to_tip
Jun 25, 2025
e6ae681
docs(dash-spv-ffi): clarify sync_cancel behavior and limitations
Jun 25, 2025
431c604
fix(dash-spv): add height validation in recovery logic
Jun 25, 2025
ac56ac9
fix(dash-spv-ffi): implement proper thread cleanup mechanism
Jun 25, 2025
4d7ee6f
fix(dash-spv-ffi): remove unused progress_callback parameter
Jun 25, 2025
0ddf735
fix(dash-spv-ffi): differentiate pending and mempool balance fields
Jun 25, 2025
29ac5bd
refactor(dash-spv-ffi): use existing MempoolRemovalReason conversion
Jun 25, 2025
ba75ba2
fix(dash-spv): fix validation field naming and unused parameters
Jun 25, 2025
bd30ebf
revert: keep sync_filters_range parameters without underscore prefix
Jun 25, 2025
8470e83
fix(dash-spv): remove all unused imports
Jun 25, 2025
67cf903
fix(dash-spv-ffi): remove unused MempoolStrategy import
Jun 25, 2025
d068c98
fix(dash-spv-ffi): remove unused FFICallbacks import
Jun 25, 2025
16d55f0
fix(dash-spv): increase default read timeout from 15ms to 100ms
Jun 26, 2025
3b29654
fix(dash-spv-ffi): add missing documentation for dash_spv_ffi_client_…
Jun 26, 2025
d372555
fix(dash-spv): add validation for max_forks parameter in ForkDetector
Jun 26, 2025
327301d
refactor(dash-spv): deduplicate get_last_message_peer_id logic
Jun 26, 2025
cbf1a26
docs(dash-spv-ffi): add null pointer handling documentation for sync_…
Jun 26, 2025
ca25166
refactor(dash-spv): extract terminal block masternode loading logic
Jun 26, 2025
47bd283
fix(dash-spv): fix type mismatch in bandwidth_savings calculation
Jun 26, 2025
3116191
fix(dash-spv): fix additional type mismatch in bandwidth_savings
Jun 26, 2025
142a546
fix(dash-spv): add missing masternode_list_engine method to Sequentia…
Jun 26, 2025
8fc16d8
refactor(dash-spv): remove old terminal blocks to reduce binary size
Jun 26, 2025
f919b03
refactor(dash-spv): keep only the latest terminal block per network
Jun 26, 2025
235756d
perf(dash-spv): optimize request_phase to return &'static str
Jun 26, 2025
afc106e
perf(tests): optimize slow storage consistency test
Jun 26, 2025
28f4fce
fix(storage): correct tip height calculation in segmented storage
Jun 26, 2025
cd93d35
fix(validation): reject InstantLock with zero signature
Jun 26, 2025
a57776e
test: update test configurations and expectations
Jun 26, 2025
dfaeab0
refactor(chain): implement phased reorganization to avoid borrow conf…
Jun 26, 2025
ae1abe1
feat(wallet): implement UTXO locking for InstantSend support
Jun 26, 2025
9347337
fix(chain): improve chain tip management and fork detection
Jun 26, 2025
e4689cc
refactor(mempool): decouple transaction relevance checking from wallet
Jun 26, 2025
bf4ad0b
chore: minor improvements and error handling enhancements
Jun 26, 2025
1b61529
chore(dash): temporarily disable bloom filter test module
Jun 26, 2025
5840154
fix(tests): update FFI tests for API changes and add missing struct f…
Jun 26, 2025
4b2120c
fix(tests): adjust FFI test expectations for unstarted clients
Jun 26, 2025
991a081
fix(tests): prevent test_reproduce_filter_sync_bug from hanging
Jun 26, 2025
135ae3c
fix(tests): prevent runtime-within-runtime panic in FFI tests
Jun 26, 2025
efde0d2
fix(tests): prevent hanging in FFI tests by starting client before sync
Jun 26, 2025
7523c28
fix(tests): mark network-dependent tests as ignored to prevent hanging
Jun 26, 2025
fdc2ddb
fix(tests): set temp directory for test_event_callbacks to avoid writ…
Jun 26, 2025
dc5f0d5
docs(dash-spv-ffi): add documentation for dash_spv_ffi_client_test_sy…
Jun 26, 2025
792e01f
fix(dash-spv-ffi): add length field to FFIString struct for safer str…
Jun 26, 2025
114f154
fix(dash-spv): improve error handling for transaction retrieval
Jun 26, 2025
88d4751
fix(mempool): add synchronized access to mempool-related operations
Jun 26, 2025
ee9f3bd
fix(dash-spv): enhance test assertions for error handling
Jun 26, 2025
9f3468c
fix(headers_with_reorg): add comprehensive error handling for reorg v…
Jun 26, 2025
891bc9d
fix(sync_masternodes): improve error handling for masternode list upd…
Jun 26, 2025
07f5a91
fix(sync): handle transaction recovery edge cases
Jun 26, 2025
8adc6ca
refactor(bloom): use std::f64::consts::LN_2 instead of hardcoded value
PastaPastaPasta Jun 26, 2025
f2c30e0
chore: include optimization
PastaPastaPasta Jun 26, 2025
8d4d56f
chore: run cargo fmt
PastaPastaPasta Jun 26, 2025
32abbaf
docs(dash-spv-ffi): add documentation for dash_spv_ffi_client_test_sy…
Jun 26, 2025
3185d30
docs(dash-spv-ffi): add documentation for dash_spv_ffi_client_test_sy…
Jun 26, 2025
82c7b21
docs(dash-spv-ffi): add documentation for dash_spv_ffi_client_sync_to…
Jun 26, 2025
5cc12f4
fix(dash-spv-ffi): improve thread safety documentation for CallbackInfo
Jun 26, 2025
ef7138e
Revert "docs(dash-spv-ffi): add documentation for dash_spv_ffi_client…
Jun 26, 2025
984b9cf
chore(dash-spv-ffi): regenerate header file with documentation
Jun 26, 2025
7e7575c
fix(ffi): Pass transaction IDs and block hashes as byte arrays instea…
Jun 26, 2025
f5c1942
fix(ffi): Add safe error handling for CString creation to prevent FFI…
Jun 26, 2025
15cf9ab
fix(ffi): Replace thread-local error storage with thread-safe global …
Jun 26, 2025
2a2d08f
fix: Handle edge case where system time is before UNIX_EPOCH
Jun 26, 2025
333d626
refactor: Use direct indexing instead of last().unwrap() for clarity
Jun 26, 2025
5c319ec
docs: Add thread-safety documentation to StorageManager trait
Jun 26, 2025
76cd2f1
docs: Document sync manager's exclusive access pattern and future con…
Jun 26, 2025
61be7c4
fix(swift-sdk): update Swift callbacks to match new FFI byte array si…
Jun 26, 2025
82ced6b
fix(dash-spv): handle headers2 compression state initialization for g…
Jun 26, 2025
3c72609
fix(dash-spv): wait for peer SendHeaders2 before using headers2 protocol
Jun 26, 2025
d70d06c
fix(dash-spv): temporarily disable headers2 for compatibility
Jun 26, 2025
9485fb9
fix(dash-spv): improve headers2 protocol handling
Jun 26, 2025
a94582b
fix(dash-spv): add detailed logging for headers2 debugging
Jun 26, 2025
cb8f9a9
fix(swift-sdk): update Swift callbacks to match new FFI byte array si…
Jun 26, 2025
f554677
fix: headers2 protocol issues - prevent usage at genesis and fix Send…
Jun 26, 2025
848a92f
fix(dash-spv): disable headers2 to prevent connection drops
Jun 26, 2025
c0e1d8e
fix: remove excessive unwrap() usage to prevent runtime panics
Jun 29, 2025
d3d7943
refactor: improve error handling across wallet and sync modules
Jun 29, 2025
08ffeb9
feat: improve network handling and sync robustness
Jun 29, 2025
f4d1772
fix(dash-spv): replace unwrap/expect with proper error handling
Jun 30, 2025
57a62da
feat: Connect ChainLock validation to masternode engine
Jun 30, 2025
b9bb1f2
refactor: remove redundant ChainLockValidator and simplify validation
Jun 30, 2025
afed21c
refactor: extract helper methods from restore_sync_state for better m…
Jul 1, 2025
1a7a663
fix(dash-spv): correct header count display when syncing from checkpoint
Jul 2, 2025
3275e42
fix(dash-spv): display correct header count for normal sync after res…
Jul 8, 2025
ed8e4f6
fix(dash-spv): improve checkpoint sync initialization and height calc…
Jul 8, 2025
8dec45e
fix(dash-spv): load headers into client ChainState for normal sync
Jul 8, 2025
aa6c9e8
fix(genesis): revert incorrect devnet genesis block changes
Jul 9, 2025
6811177
revert: restore key-wallet files to v0.40-dev state
Jul 9, 2025
671d609
fix(dash-spv-ffi): remove references to missing platform_integration …
Jul 9, 2025
c1dbef8
chore: remove temporary fix documentation files
Jul 9, 2025
2a98193
chore: remove temporary Swift SDK documentation files
Jul 9, 2025
110b871
chore: remove temporary test scripts and data files
Jul 9, 2025
737f328
chore: remove unused extract_coderabbit_prompts.py script
Jul 9, 2025
3f81ff7
revert: restore hashes/Cargo.toml and key-wallet/src/derivation.rs to…
Jul 9, 2025
63f7731
refactor: extract filter header height calculation into helper method
Jul 13, 2025
ef98a1d
refactor(dash-spv): extract duplicated header height calculation logic
Jul 13, 2025
d9728ae
fix: replace expect() with proper error handling for start height par…
Jul 13, 2025
c8ac0d0
fix(dash-spv-ffi): improve callback reentrancy and thread safety tests
Jul 13, 2025
fb45e7b
fix: prevent incorrect valid_count when headers stored non-sequentially
Jul 13, 2025
be32a2a
fix(dash-spv): validate transaction effects in get_mempool_balance
Jul 13, 2025
1e1da34
fix(bloom): prevent potential deadlock by releasing locks before acqu…
Jul 13, 2025
64c1446
fix(chain): ensure atomic operations in reorg handling
Jul 13, 2025
5164ae6
fix(dash-spv-ffi): add buffer size validation for ffi_dash_spv_get_qu…
Jul 13, 2025
92f63b5
feat: Add runtime isolation for dash-spv-ffi with custom thread names
Jul 13, 2025
34db29f
feat: Improve chain management with DNS-first discovery and checkpoin…
Jul 15, 2025
41f8193
fix(sync): prevent duplicate header processing during timeout retries
Jul 15, 2025
711a3f9
fix(chainlock): maintain masternode lists for post-sync ChainLock val…
Jul 15, 2025
7d69400
fix(dash-spv): resolve compilation errors in sequential sync manager
Jul 16, 2025
0a7549e
feat(dash-spv): add checkpoint sync support for faster initial synchr…
Jul 16, 2025
3676a59
docs: add Unified SDK integration support for iOS
Jul 16, 2025
efe527d
fix(swift-sdk): fix SwiftDashCoreSDK test compilation and assertions
Jul 16, 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