-
Notifications
You must be signed in to change notification settings - Fork 55
feat(platform-wallet): serde support #3637
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: v3.1-dev
Are you sure you want to change the base?
Changes from 6 commits
1eb2d2d
9485e54
6d82a99
561ccb4
6c11ece
f23183c
5fe906e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -49,15 +49,20 @@ members = [ | |
| ] | ||
|
|
||
| [workspace.dependencies] | ||
| dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| dash-spv-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| dash-network = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "53130869e5b9343ae59016323e5e5269e717a8fd" } | ||
| # Temporary: branch-pinned to dashpay/rust-dashcore#761 (`feat/key-wallet-serde-derives`) | ||
| # for serde derives on AssetLockFundingType + DerivedAddress. The branch has been | ||
| # rebased onto 53130869 so it carries ONLY the serde additions (no v0.42-dev drift). | ||
| # Drop the branch= override and restore rev= once #761 merges to v0.42-dev and a | ||
| # subsequent dashcore rev bump flows the new rev in. | ||
| dashcore = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| dash-spv = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| dash-spv-ffi = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| key-wallet = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| dash-network = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
| dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", branch = "feat/key-wallet-serde-derives" } | ||
|
Comment on lines
+57
to
+65
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Suggestion: Floating branch pins weaken workspace reproducibility This PR replaces nine source: ['codex'] 🤖 Fix this with AI agents |
||
|
|
||
| # Optimize heavy crypto crates even in dev/test builds so that | ||
| # Halo 2 proof generation and verification run at near-release speed. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -38,6 +38,7 @@ tracing = "0.1" | |
| # Encoding | ||
| hex = "0.4" | ||
| bs58 = "0.5" | ||
| serde = { version = "1", default-features = false, features = ["derive"], optional = true } | ||
| serde_json = "1.0" | ||
|
|
||
| # Image processing (DIP-15 avatar hash + fingerprint) | ||
|
|
@@ -65,6 +66,15 @@ default = ["bls", "eddsa"] | |
| bls = ["key-wallet/bls", "key-wallet-manager/bls"] | ||
| eddsa = ["key-wallet/eddsa", "key-wallet-manager/eddsa"] | ||
| shielded = ["dep:grovedb-commitment-tree", "dep:zip32", "dash-sdk/shielded", "dpp/shielded-client"] | ||
| # Opt-in serde derives on the changeset types. Activates `key-wallet/serde`, | ||
| # `key-wallet-manager/serde` (both via dashpay/rust-dashcore#761, branch-pinned in | ||
| # workspace Cargo.toml), and `dash-sdk/serde`. `dpp` derives serde unconditionally. | ||
| serde = [ | ||
| "dep:serde", | ||
| "key-wallet/serde", | ||
| "key-wallet-manager/serde", | ||
| "dash-sdk/serde", | ||
|
Comment on lines
+69
to
+76
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Suggestion: No round-trip serde tests cover the new serde surface The PR adds source: ['claude'] 🤖 Fix this with AI agents |
||
| ] | ||
| # Forward to the upstream `key-wallet` / `key-wallet-manager` | ||
| # `keep-finalized-transactions` feature. With it OFF (the default), | ||
| # chainlocked transactions are evicted from the in-memory | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 Suggestion: Pin rust-dashcore by
revinstead of mutablebranchAll nine
rust-dashcore-derived workspace dependencies were switched from a fixedrev = "53130869…"tobranch = "feat/key-wallet-serde-derives". Cargo.lock currently locks the resolved commit (56a84402c8cb006d65b12e400785a62d67441930), but anycargo update, fresh lockfile generation, or upstream force-push/rebase/branch-deletion will silently re-resolve every dashcore-derived crate to whatever HEAD is at that moment. The blast radius covers the whole workspace, not just the two crates that actually need the new serde derives. Pinning to the current branch tip byrev = "56a84402c8cb006d65b12e400785a62d67441930"carries identical bits today, is immune to rebases of dashpay/rust-dashcore#761, and leaves a cleanrev→revswap when the upstream merges. This matches the hygiene pattern used at every other previous dashcore consumption point in this workspace.💡 Suggested change
source: ['claude', 'codex']
🤖 Fix this with AI agents