Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
83f7d4f
feat(platform-wallet): seedless watch-only rehydration via load_from_…
lklimek Jun 29, 2026
35bd291
refactor(platform-wallet): drop backward-compat on_platform_event; co…
lklimek Jun 29, 2026
a5b7032
docs(platform-wallet): point seedless-load notes at the resolver wron…
lklimek Jun 29, 2026
22ff11c
perf(platform-wallet): O(n) UTXO spent-filter on rehydrate via outpoi…
lklimek Jun 29, 2026
2e71027
fix(platform-wallet)!: restore persisted address-pool used-state on r…
lklimek Jun 29, 2026
8832f6f
fix(platform-wallet): idempotent repeat restore — skip already-presen…
lklimek Jun 29, 2026
2c6e3e8
fix(platform-wallet-ffi): skip corrupt wallet on load instead of abor…
lklimek Jun 29, 2026
3876d0e
refactor(platform-wallet): mark unreleased #3692 load enums non_exhau…
lklimek Jun 29, 2026
1f8d6b6
test(platform-wallet): cover used-state-survives-spent-UTXO + deep-in…
lklimek Jun 29, 2026
f60160e
test(platform-wallet): drop duplicate deep-index rehydration test (#3…
lklimek Jun 29, 2026
8d88d49
refactor(platform-wallet): drop vestigial PlatformEvent enum (#3692 r…
lklimek Jun 29, 2026
b304268
fix(platform-wallet): restore background-sync generation guard droppe…
lklimek Jun 30, 2026
664c6bf
fix(platform-wallet): count skipped rows in ClientStartState::is_empt…
lklimek Jun 30, 2026
61c9fd7
fix(platform-wallet-ffi): surface MalformedXpub skip code for bad acc…
lklimek Jun 30, 2026
2ab0bed
Merge v4.1-dev into feat/platform-wallet-rehydration
lklimek Jul 1, 2026
ef7cdf2
chore(deps): bump rust-dashcore to dev head 78d10022
lklimek Jul 1, 2026
27d235f
fix(dpp): implement extended_public_key on shielded FixedKeySigner te…
lklimek Jul 1, 2026
36e2fed
chore(deps): bump rust-dashcore to PR #833 (Zeroize for ExtendedPrivKey)
lklimek Jul 1, 2026
3be6885
refactor(rs-sdk-ffi): wrap ExtendedPrivKey in Zeroizing, drop manual …
lklimek Jul 1, 2026
b175d50
refactor(rs-sdk-ffi): confine ExtendedPrivKey to resolve_and_derive v…
lklimek Jul 1, 2026
5a2b2b5
test(rs-sdk-ffi): make extended_public_key metadata asserts load-bear…
lklimek Jul 1, 2026
56612fd
chore(deps): bump rust-dashcore to a8c57fe (drop Copy, zeroize Extend…
lklimek Jul 1, 2026
374df98
refactor(rs-sdk-ffi): rely on ExtendedPrivKey Drop, drop redundant Ze…
lklimek Jul 1, 2026
35e5c46
Merge remote-tracking branch 'origin/v4.1-dev' into chore/bump-rust-d…
lklimek Jul 2, 2026
1aac44a
fix(deps): stage regenerated Cargo.lock for rust-dashcore a8a0968 bump
lklimek Jul 2, 2026
defa249
build: sync Cargo.lock to rust-dashcore a8a0968 (0.45.0)
lklimek Jul 2, 2026
f669691
docs(rs-sdk-ffi): correct ExtendedPrivKey zeroization comments for a8…
lklimek Jul 2, 2026
43b57af
Merge commit 'f669691f7a22f50f4fab7a056036a53ebf781b9b' into chore/bu…
lklimek Jul 2, 2026
5dfd441
fix(deps): bump quinn-proto 0.11.14 -> 0.11.15 (RUSTSEC-2026-0185)
lklimek Jul 2, 2026
0feb7d6
docs(platform-wallet): fix dead doc-links and stale references in reh…
lklimek Jul 2, 2026
59dc04d
fix(platform-wallet-ffi): harden load-outcome FFI surface (findings #…
lklimek Jul 2, 2026
cd6807a
docs(platform-wallet): fix dead MnemonicResolverHandle doc-link in lo…
lklimek Jul 2, 2026
a9d3a76
refactor(platform-wallet-ffi): typed corrupt-kind discriminator + hon…
lklimek Jul 2, 2026
284a3aa
fix(platform-wallet): harden watch-only rehydration guards + document…
lklimek Jul 2, 2026
ee717c8
Merge branch 'fix/3692-b' into fix/3692-consolidated
lklimek Jul 2, 2026
037c7d2
Merge branch 'fix/3692-c' into fix/3692-consolidated
lklimek Jul 2, 2026
f73e40a
Merge branch 'fix/3692-d' into fix/3692-consolidated
lklimek Jul 2, 2026
127c565
Merge branch 'fix/3692-e' into fix/3692-consolidated
lklimek Jul 2, 2026
0b53866
docs(platform-wallet): document manifest-authentication trust boundar…
lklimek Jul 2, 2026
c6d58f0
Merge branch 'v4.1-dev' into feat/platform-wallet-rehydration
lklimek Jul 2, 2026
3a791c2
merge: #3976 Signer::extended_public_key (rs-sdk-ffi) into #3692
lklimek Jul 2, 2026
9dbca2f
fix(platform-wallet): update CoinJoin pool-topology test for key-wall…
lklimek Jul 2, 2026
7a2e06e
fix(platform-wallet): preserve persisted wallet state through seedles…
QuantumExplorer Jul 2, 2026
5460c0e
fix(platform-wallet): snapshot identity cross-check + typed persister…
Claudius-Maginificent Jul 2, 2026
8bcb192
Apply suggestions from code review
lklimek Jul 3, 2026
87f4b42
refactor(platform-wallet)!: require core_wallet_info, drop keyless-pr…
lklimek Jul 3, 2026
f36e191
refactor(platform-wallet): drop obsolete non-default-account warn com…
lklimek Jul 3, 2026
ed5fb78
feat(platform-wallet)!: 3-state LoadOutcome, report already-registere…
lklimek Jul 3, 2026
f8504f6
docs(platform-wallet): reframe manifest trust boundary, detail the at…
lklimek Jul 3, 2026
157410a
fix(platform-wallet-ffi): xpub-error classification, overflow guard, …
lklimek Jul 3, 2026
f4ab467
test(platform-wallet): rollback, empty-first-run, and concurrency reg…
lklimek Jul 3, 2026
60d48f6
merge: #3692 triage fix batch (7 waves) into feat/platform-wallet-reh…
lklimek Jul 3, 2026
14d83af
Merge remote-tracking branch 'origin/v4.1-dev' into feat/platform-wal…
lklimek Jul 3, 2026
e65c123
test(platform-wallet-ffi): cover slice_from_raw guard and end-to-end …
lklimek Jul 3, 2026
518c8d1
refactor(platform-wallet): drop latent LoadIncomplete conversion and …
lklimek Jul 3, 2026
3abc385
refactor(platform-wallet): make manager::rehydrate module private
lklimek Jul 3, 2026
f8c9722
merge: QA follow-up fixes for #3692 (test coverage, dead-code cleanup…
lklimek Jul 3, 2026
83d9eff
fix(dpp): drop stale extended_public_key impls broken by rust-dashcor…
lklimek Jul 3, 2026
df6955e
merge: reconcile #3692 with v4.1-dev; preserve ignored/unignored on r…
lklimek Jul 6, 2026
0af850a
refactor(platform-wallet): drop dead identity_keys/contacts from Clie…
lklimek Jul 6, 2026
19570ad
Merge remote-tracking branch 'origin/v4.1-dev' into claudius/pr3692-f…
lklimek Jul 6, 2026
29a3853
docs(platform-wallet): correct apply_contacts_and_keys + FFI build co…
lklimek Jul 6, 2026
d6b789e
docs(platform-wallet-ffi): mark missing end-to-end build_wallet_ident…
lklimek Jul 6, 2026
adec4b7
docs(platform-wallet-ffi): enrich build_wallet_identity_bucket TODO w…
lklimek Jul 6, 2026
a814932
fix(platform-wallet): fund asset-lock test fixtures via confirmed UTX…
lklimek Jul 6, 2026
6436891
Merge commit 'a814932d97' into claudius/pr3692-field-cleanup
lklimek Jul 6, 2026
d7c6846
Merge branch 'v4.1-dev' into feat/platform-wallet-rehydration
lklimek Jul 6, 2026
cec6d3b
Merge remote-tracking branch 'origin/v4.1-dev' into feat/platform-wal…
lklimek Jul 7, 2026
e9e98cc
feat(platform-wallet): deliver typed AddressNonceMismatch error to ca…
lklimek Jul 7, 2026
650c32a
fix(platform-wallet-ffi): deliver AddressNonceMismatch across FFI + r…
lklimek Jul 7, 2026
069ee6a
fix(swift-sdk): mirror ErrorAddressNonceMismatch (=21); pin FFI nonce…
lklimek Jul 7, 2026
6103ab6
Merge branch 'v4.1-dev' into feat/platform-wallet-rehydration
lklimek Jul 7, 2026
062caea
chore(deps): bump rust-dashcore pin to key-wallet asset-lock override…
lklimek Jul 7, 2026
a985d23
chore(deps): switch rust-dashcore pin from PR #850 to PR #851
lklimek Jul 8, 2026
b70062b
test(swift-sdk): replace removed sendToAddresses with builder+broadcast
lklimek Jul 8, 2026
dc77493
fix(swift-sdk): stop funding core-to-core sends from a Platform-Payme…
lklimek Jul 8, 2026
eb3c7ae
fix(platform-wallet-ffi): surface persister-load retry class across t…
lklimek Jul 8, 2026
ccc95e3
Merge remote-tracking branch 'origin/v4.1-dev' into feat/platform-wal…
lklimek Jul 8, 2026
c8c6a93
refactor(platform-wallet): apply PR #3692 self-review notes
lklimek Jul 8, 2026
f8ee551
Merge branch 'v4.1-dev' into feat/platform-wallet-rehydration
lklimek Jul 8, 2026
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
6 changes: 4 additions & 2 deletions .cargo/audit.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[advisories]
Comment thread
Claudius-Maginificent marked this conversation as resolved.
# TODO Remove it from here
ignore = [ "RUSTSEC-2020-0071"] # advisory IDs to ignore e.g. ["RUSTSEC-2019-0001", ...]
# Advisory IDs to ignore, e.g. ["RUSTSEC-2019-0001", ...]. Each entry
# must point at a live advisory in the resolved graph and carry a dated
# rationale; an entry matching nothing trains reviewers to skim the list.
ignore = []
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,3 +103,6 @@ __pycache__/

# Security audit reports (local-only, not committed)
audits/

# Review scratch (grumpy-review / triage output, local-only)
.review-*/
46 changes: 23 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 11 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,17 @@ members = [
]

[workspace.dependencies]
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
dash-network = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "647fa9820f3614090e4e5f5f2b709961d68e538b" }
# TODO(pin): tracks dashpay/rust-dashcore#851 (draft) — key-wallet
# out-of-order UTXO spend fix (#649). Bump to the merged `dev` SHA once
# that PR lands.
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }
dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }
key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }
dash-network = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "48a07d3fcd2f8d37e109f969eb5da0a8bbbb9aff" }

tokio-metrics = "0.5"

Expand Down
6 changes: 5 additions & 1 deletion packages/rs-platform-wallet-ffi/src/core_wallet_types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -964,7 +964,11 @@ fn tx_record_to_ffi(
}
}

fn vec_to_ptr<T>(v: Vec<T>) -> *mut T {
/// Convert a `Vec` into a raw heap pointer for a C out-array: null for
/// empty, `Box::into_raw(boxed_slice)` otherwise. The caller owns the
/// allocation and must free it by reconstructing the boxed slice with
/// the ORIGINAL length.
pub(crate) fn vec_to_ptr<T>(v: Vec<T>) -> *mut T {
if v.is_empty() {
std::ptr::null_mut()
} else {
Expand Down
Loading
Loading