build!: adopt GroveDB bincode across the workspace - #1005
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe workspace now uses ChangesBincode workspace migration
Priority: ⬇️ Low — Defer the workspace bincode dependency migration because it preserves existing encodings and interfaces without a stated customer or production impact. Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This updates workspace serialization dependencies to published GroveDB bincode 2.1.0 crates while preserving package feature configuration. No merge-blocking production or compatibility risk is currently identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #1005 +/- ##
==========================================
- Coverage 77.18% 77.04% -0.14%
==========================================
Files 329 329
Lines 83603 83603
==========================================
- Hits 64528 64413 -115
- Misses 19075 19190 +115
|
Issue being fixed or feature implemented
GroveDB #938 introduces the
grovedb-bincodefork. Platform is adopting it in Platform #4625, but itsEncode/Decodetraits are distinct from crates.io bincode's traits. Moving rust-dashcore to the same fork lets Core, wallet, GroveDB, and Platform types share those traits directly, without a compatibility package or downstream Cargo patch.What was done?
bincodeandbincode_derivetogrovedb-bincode/grovedb-bincode-derive2.1.0 from crates.io.DecodeUntrustedor change ordinary decoding behavior.How Has This Been Tested?
Passed locally on macOS. Workspace compilation, unit tests, and strict Clippy were rerun with the published 2.1.0 packages; their Rust source matches the previously tested fork revision:
cargo check --workspace --all-targets --all-featurescargo clippy --workspace --all-targets --all-features -- -D warningscargo fmt --all --checkcargo test --workspace --lib --all-features: 2,332 passed, 41 ignored.cargo test -p dash-network -p dashcore_hashes -p dashcore -p key-wallet -p key-wallet-manager -p dashcore-rpc-json --all-features, including existing wallet serialization integration tests and documentation tests.The dependency graph resolves only the fork's bincode runtime and derives. Live-node integration and device builds were not run locally; native FFI targets are covered by workspace compilation and unit tests.
Breaking Changes
Rust consumers serializing these types must use the published
grovedb-bincode2.1.0 crate for compatibleEncode/Decodetraits. Existing serialized bytes and the C ABI are unchanged.Checklist:
For repository code-owners and collaborators only
Summary by CodeRabbit
Breaking Changes
EncodeandDecodetraits fromgrovedb-bincode2.1.0 and its matching derive macros.DecodeUntrusted.Documentation