Description
The feat/spv-client-uniffi-v2 branch has a working UniFFI bridge module for dash-spv with:
- UniFFI feature flag in
dash-spv/Cargo.toml
bridge/mod.rs with custom type mappings (Network, SocketAddr, PathBuf, ClientConfig)
SyncEvent enum (14 variants) and NetworkEvent enum (3 variants) with UniFFI derives
SpvEventListener callback trait (on_sync_event, on_network_event, on_sync_progress)
SpvClient UniFFI object with lifecycle methods (start, stop, shutdown, is_running, tip_height, tip_hash, peer_count, sync_progress, is_syncing)
- Comprehensive tests
This needs to be rebased onto v0.42-dev and merged, since v0.42-dev has progressed significantly (mempool support, etc.) since the uniffi branch diverged.
Acceptance Criteria
Description
The
feat/spv-client-uniffi-v2branch has a working UniFFI bridge module fordash-spvwith:dash-spv/Cargo.tomlbridge/mod.rswith custom type mappings (Network, SocketAddr, PathBuf, ClientConfig)SyncEventenum (14 variants) andNetworkEventenum (3 variants) with UniFFI derivesSpvEventListenercallback trait (on_sync_event,on_network_event,on_sync_progress)SpvClientUniFFI object with lifecycle methods (start,stop,shutdown,is_running,tip_height,tip_hash,peer_count,sync_progress,is_syncing)This needs to be rebased onto
v0.42-devand merged, sincev0.42-devhas progressed significantly (mempool support, etc.) since the uniffi branch diverged.Acceptance Criteria
feat/spv-client-uniffi-v2rebased onto currentv0.42-devbridge/mod.rsandCargo.toml)cargo test -p dash-spv --features uniffi --libpassescargo build -p dash-spv --features uniffisucceeds