feat: key wallet manager (step 2)#103
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughAdds new crates dash-network, dash-network-ffi, dash-spv, and dash-spv-ffi to the workspace. Introduces extensive FFI layers (C/Swift via UniFFI and cbindgen), documentation, examples, tests, and utilities. Implements SPV features (bloom filters, chain tips/work, ChainLocks, terminal blocks). Updates repo docs, .gitignore, and root Cargo workspace/patch. Changes
Sequence Diagram(s)sequenceDiagram
participant CApp as C/Swift App
participant FFI as dash-spv-ffi
participant SPV as dash-spv Client
participant Net as Network
participant Store as Storage
CApp->>FFI: client_new(config)
FFI->>SPV: create Client (runtime)
CApp->>FFI: client_start()
FFI->>SPV: start()
SPV->>Net: connect/handshake
SPV->>Net: sync headers/filters/masternodes
loop Sync progress
SPV-->>FFI: progress/events
FFI-->>CApp: callbacks (block/tx/balance)
end
CApp->>FFI: client_sync_to_tip()
FFI->>SPV: sync_to_tip()
SPV->>Store: persist state
CApp->>FFI: client_stop()
FFI->>SPV: stop()
Estimated code review effort🎯 5 (Critical) | ⏱️ ~90+ minutes Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Summary by CodeRabbit
New Features
Documentation
Tests
Chores