Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
846ed6d
docs(dashpay): add DashPay implementation spec, gap analysis, and res…
shumkov Jun 10, 2026
753f099
fix(sdk)!: DashPay contact requests — consensus entropy bug, DIP-15 c…
shumkov Jun 10, 2026
9f770b8
fix(platform-wallet): DashPay sync correctness — recurring sync, esta…
shumkov Jun 10, 2026
88820be
fix(sdk): DashPay contact-request queries return verified absence wit…
shumkov Jun 12, 2026
4e0bffa
fix(platform-wallet): receiver-side DashPay payments + wallet-seed un…
shumkov Jun 12, 2026
05be7ef
feat(swift-sdk): DashPay M2 — first-class DashPay tab, sync control, …
shumkov Jun 12, 2026
a51606d
docs(dashpay): record devnet UAT findings in the spec inventory
shumkov Jun 12, 2026
df47337
refactor(swift-sdk): drop redundant Contacts deep-link from identity …
shumkov Jun 12, 2026
a24bb43
feat(swift-sdk): surface DashPay sync + balance where they belong
shumkov Jun 12, 2026
546197a
Merge origin/v3.1-dev into feat/dashpay-m1-sync-correctness
shumkov Jun 12, 2026
aabc21e
feat(swift-sdk): cover PersistentDashpayPayment in the Storage Explorer
shumkov Jun 12, 2026
440ffca
feat(platform-wallet): DashPay accountReference masking + rotation (G…
shumkov Jun 12, 2026
33b90f9
docs(dashpay): G4 FFI ECDH hook design (M3 task 15)
shumkov Jun 12, 2026
49d8021
docs(dashpay): contactInfo wire conventions from reference-client res…
shumkov Jun 12, 2026
d78bf31
feat(platform-wallet): contactInfo self-encryption layer (M3 task 13,…
shumkov Jun 12, 2026
3f707c2
feat(platform-wallet): contactInfo sync + publish (M3 task 13, part 2)
shumkov Jun 12, 2026
2318fcf
feat(swift-sdk): contactInfo-backed alias/note/hide (M3 tasks 13+14, …
shumkov Jun 12, 2026
d35253b
fix(platform-wallet): restore DashPay contacts from persistence at lo…
shumkov Jun 12, 2026
8037a47
docs(dashpay): mark M3 tasks 13+14 done with implementation notes
shumkov Jun 12, 2026
a9599b6
fix(platform-wallet): M4 hardening — G6 fallback id, G7 send validati…
shumkov Jun 12, 2026
af53ae0
docs(dashpay): M4 status — G4 deferred with amended design, tasks 17-…
shumkov Jun 12, 2026
1cad5de
fix(swift-sdk): scope the optimistic pending-sent overlay per identity
shumkov Jun 12, 2026
9441316
docs(dashpay): record devnet UAT round 2 (rotation/reject/DPNS live)
shumkov Jun 12, 2026
683e076
fix(platform-wallet): rotation correctness, persist-error propagation…
shumkov Jun 15, 2026
577ddf0
feat(ffi/swift): restore DashPay payments at load + surface contactIn…
shumkov Jun 15, 2026
8ce9393
style(platform-wallet): cargo fmt re-wrap in contactInfo crypto (no b…
shumkov Jun 15, 2026
ed4905e
style(platform-wallet): clippy get_mut for pending-rotation replace +…
shumkov Jun 15, 2026
a919938
docs(dashpay): record multi-reviewer pass + 8 fixes
shumkov Jun 15, 2026
33c5a09
refactor(platform-encryption): return CompactXpub struct from parse_c…
shumkov Jun 15, 2026
19b2006
refactor(platform-wallet): ContactXpubData embeds CompactXpub instead…
shumkov Jun 15, 2026
03ba3ee
security(platform-wallet): zeroize + pass-by-ref the seed at the crea…
shumkov Jun 15, 2026
0d897b3
Merge branch 'v3.1-dev' into feat/dashpay-m1-sync-correctness
shumkov Jun 15, 2026
75d12b2
fix(platform-wallet): guard DashPay sync cancel-token cleanup against…
shumkov Jun 15, 2026
09536ff
fix(platform-wallet): don't permanently break a payment channel on a …
shumkov Jun 15, 2026
87a8ddb
fix(platform-wallet): don't let a purpose mismatch mask a hard valida…
shumkov Jun 15, 2026
1ee01d4
fix(platform-wallet): never select a disabled (revoked) key for DashP…
shumkov Jun 15, 2026
bcfd114
fix(platform-wallet-storage): move DashPay schema additions to an app…
shumkov Jun 15, 2026
a5da3f1
fix(platform-wallet-ffi): drop Clone/Copy from DashpayPaymentFFI (own…
shumkov Jun 15, 2026
83521e6
fix(dashpay): restore rejected-request tombstones at load so rejected…
shumkov Jun 15, 2026
bd59bcf
fix(swift-example): address review nits — empty-state, HTTPS avatar, …
shumkov Jun 15, 2026
1734fd9
docs(dashpay): fix markdown-lint nits in research notes
shumkov Jun 15, 2026
a7930b5
refactor(platform-wallet): pass ContactInfoPrivateData to set_contact…
shumkov Jun 15, 2026
4ec751a
fix(platform-wallet): pass seed by reference in shielded_sync_paloma …
shumkov Jun 15, 2026
666bc0a
fix(swift-example): add PersistentDashpayRejectedRequest to Storage E…
shumkov Jun 15, 2026
454ae52
fix(platform-wallet): finish seed-by-ref migration in spv_sync test +…
QuantumExplorer Jun 16, 2026
a3ca03c
Merge branch 'v3.1-dev' into feat/dashpay-m1-sync-correctness
QuantumExplorer Jun 16, 2026
0d8f69f
docs(dashpay): make comments timeless — drop dev-time TDD/milestone n…
QuantumExplorer Jun 16, 2026
bba0a39
fix(platform-wallet): finish seed-by-ref migration in basic_usage + s…
shumkov Jun 16, 2026
18a3696
refactor(platform-wallet-storage): squash V002 into the V001 initial …
shumkov Jun 16, 2026
7b94eab
fix(sdk): correct stale sdk_builder_default_seeds_atomic_to_floor exp…
shumkov Jun 16, 2026
631f6fc
fix(platform-wallet): reject must emit removed_incoming so SQLite del…
shumkov Jun 17, 2026
aec04f2
fix(swift-sdk): pre-delete DashPay payments + rejection tombstones in…
shumkov Jun 17, 2026
ae13d13
security(platform-wallet): zeroize the seed copy in create_wallet_fro…
shumkov Jun 17, 2026
0ad99d0
fix(platform-wallet): update_profile preserves sibling fields (read-m…
shumkov Jun 17, 2026
245d9da
fix(platform-wallet): confirm sent DashPay payments (Pending -> Confi…
shumkov Jun 17, 2026
d7bffcf
docs(dashpay): backlog + sync/contactInfo/ignore specs + kotlin-platf…
shumkov Jun 17, 2026
e8ddb78
docs(dashpay): fold 5-lens review into SYNC_CORRECTNESS_SPEC + merge …
shumkov Jun 17, 2026
3f2051e
fix(dashpay): paginate contact-request fetch + incremental high-water…
shumkov Jun 17, 2026
1f53897
feat(dashpay): contact-profile sync — id-keyed cache for contacts + s…
shumkov Jun 17, 2026
a06fdd0
feat(dashpay): tighten sync cadence 60s -> 15s to match Android ticker
shumkov Jun 17, 2026
ef35ca5
fix(dashpay): address sync-correctness review findings (stages 1-2)
shumkov Jun 17, 2026
755b485
docs(dashpay): record sync stages 1-2 Rust core done; FFI/UI surface …
shumkov Jun 17, 2026
b1936a7
feat(dashpay): surface contact profiles in the UI (stage 2 read path)
shumkov Jun 17, 2026
84769f3
docs(dashpay): mark stage-2 reader/UI done; durable persistence remains
shumkov Jun 17, 2026
06053bf
feat(dashpay): persist contact_profiles through the changeset (Rust l…
shumkov Jun 18, 2026
c071782
docs(dashpay): mark persistence Rust layer done; host-FFI layer remai…
shumkov Jun 18, 2026
87d6cc7
feat(dashpay): durable contact-profile persistence — host-FFI + Swift…
shumkov Jun 18, 2026
c1f3aa5
docs(dashpay): mark durable contact-profile persistence done
shumkov Jun 18, 2026
202b987
docs(dashpay): resolve contactInfo format — keep CBOR, scrap the vari…
shumkov Jun 18, 2026
f585c22
docs(dashpay): use DIP-15 varint for contactInfo.privateData (not CBOR)
shumkov Jun 18, 2026
808b347
feat(dashpay): migrate contactInfo.privateData CBOR -> DIP-15 varint …
shumkov Jun 18, 2026
f15183b
docs(dashpay): resolve R1 — ignore is local-only (no contactInfo leak)
shumkov Jun 18, 2026
4169bcf
feat(dashpay): local-only Ignore — per-sender, reversible (Spec 2)
shumkov Jun 18, 2026
7386c2b
docs(dashpay): mark Spec 2 (local-only ignore) + refactor + Ignored U…
shumkov Jun 18, 2026
e0c8236
fix(dashpay): pad encryptedAccountLabel to >=16 chars (kotlin parity)
shumkov Jun 18, 2026
91e4d6e
test(dashpay): ECDH known-answer test pins the SHA256((y&1|2)||x) con…
shumkov Jun 18, 2026
2a14073
fix(dashpay): paginate the contactInfo fetch (retrieve-all, no trunca…
shumkov Jun 18, 2026
6739ca1
feat(rs-sdk-ffi): expose entropy on DashSDKContactRequestResult
shumkov Jun 18, 2026
091d706
docs(dashpay): resolve accountReference byte-order — keep ours (match…
shumkov Jun 18, 2026
d5c127e
feat(dashpay): per-contact payment-history accessor + TODO sweep
shumkov Jun 18, 2026
7b877ff
docs(dashpay): strip spec-gate/milestone refs from code comments
shumkov Jun 18, 2026
764f64f
docs(dashpay): mark TODO backlog status — implementable items complete
shumkov Jun 18, 2026
822b1ee
docs(dashpay): link upstream rust-dashcore#813 for the account-index …
shumkov Jun 18, 2026
30d5112
docs(dashpay): sync specs to the implemented state of this PR
shumkov Jun 18, 2026
a7b05f7
chore(deps): bump rust-dashcore to ceee4a9b40 + migrate Address::netw…
shumkov Jun 19, 2026
4fe081c
test(platform-wallet-storage): add IdentityEntry contact_profiles/ign…
shumkov Jun 19, 2026
ee8ed5d
style: apply rustfmt to platform-wallet dashpay modules
shumkov Jun 19, 2026
928c2c5
style(platform-wallet): resolve pre-existing clippy warnings
shumkov Jun 19, 2026
adb7b32
docs(dashpay): record UAT signing bug + on-device UAT state
shumkov Jun 19, 2026
acd59be
docs(dashpay): record on-device UAT results (2026-06-20)
shumkov Jun 19, 2026
85e2b37
fix(platform-wallet): confirm sent DashPay payment on block confirmation
shumkov Jun 20, 2026
d8c0d06
fix(swift-sdk): surface DashPay payment confirmation without manual r…
shumkov Jun 20, 2026
1a17326
docs(dashpay): record bug-2 sent-payment fix + on-device verification
shumkov Jun 20, 2026
d949b57
refactor(platform-wallet): harden BlockProcessed payment routing per …
shumkov Jun 20, 2026
d6bf195
fix(swift-sdk): guard refreshPayments against overlapping refreshes
shumkov Jun 20, 2026
40169ae
docs(dashpay): record multi-agent review outcome + bug-2 follow-ups
shumkov Jun 20, 2026
0229162
feat(platform-wallet): InstantSend finality + sent-payment reconcile …
shumkov Jun 20, 2026
b462c73
perf(swift-sdk): skip no-op DashPay payment row rewrites
shumkov Jun 20, 2026
e57587f
docs(dashpay): mark bug-2 review follow-ups (IS finality, reconcile, …
shumkov Jun 20, 2026
ac83a15
fix(platform-wallet): materialize all signable identity keys on import
shumkov Jun 20, 2026
09b415b
docs(dashpay): spec for imported-identity-signing fix (reviewed)
shumkov Jun 20, 2026
c567981
fix(platform-wallet): materialize imported-identity keys by carrying …
shumkov Jun 21, 2026
c6dd28b
fix(swift-sdk): delete contactProfiles during wallet wipe
shumkov Jun 21, 2026
1b4037a
docs(dashpay): make code comments timeless
shumkov Jun 21, 2026
1c060cf
Merge branch 'v3.1-dev' into feat/dashpay-m1-sync-correctness
shumkov Jun 21, 2026
5236d1d
feat(swift-example-app): Storage Explorer coverage for PersistentDash…
shumkov Jun 21, 2026
5d26736
fix(platform-wallet-storage): keep secrets-scan green after carry-scalar
shumkov Jun 21, 2026
a9d65df
refactor(platform-wallet): extract DashPay payment hooks into an even…
shumkov Jun 21, 2026
d309a4b
feat(platform-wallet): route DashPay send_payment + xpub through the …
shumkov Jun 22, 2026
c79f95e
docs(dashpay): mark imported-identity signing bug resolved; drop it a…
shumkov Jun 22, 2026
301fc43
fix(platform-wallet): defer DashPay account build when key material i…
shumkov Jun 22, 2026
2e7eae1
feat(platform-wallet): deferred contact-crypto queue types + changese…
shumkov Jun 22, 2026
508b3ed
feat(platform-wallet): enqueue deferred contact-crypto ops on seedles…
shumkov Jun 22, 2026
d944245
feat(rs-sdk-ffi): ECDH host primitive on MnemonicResolverCoreSigner (…
shumkov Jun 22, 2026
93fe4ea
feat(platform-wallet): register_external_contact_account accepts a pr…
shumkov Jun 22, 2026
9b34217
docs(dashpay): seed-elimination implementation handoff / task tracker
shumkov Jun 22, 2026
6832a52
feat(platform-wallet): register_contact_account accepts a precomputed…
shumkov Jun 22, 2026
6b76d02
docs(dashpay): handoff tracker — both drain register-cores landed, dr…
shumkov Jun 22, 2026
4b6a6f7
feat(platform-wallet): deferred-crypto drain framework + RegisterRece…
shumkov Jun 22, 2026
ecd288c
feat(platform-wallet): drain RegisterExternal op via ECDH provider (s…
shumkov Jun 22, 2026
d1a5d17
docs(dashpay): handoff tracker — drain method done (both register ops)
shumkov Jun 22, 2026
45f903d
feat(rs-sdk-ffi): contactInfo seal/open host primitive (seed-elim sec…
shumkov Jun 22, 2026
0d58114
docs(dashpay): handoff tracker — contactInfo primitive done
shumkov Jun 22, 2026
65f0c5c
feat(rs-sdk-ffi): wrong-seed self-check verify_binds_to_xpub (seed-el…
shumkov Jun 22, 2026
ea6a1ea
feat(platform-wallet): persist deferred-crypto enqueue add-delta (see…
shumkov Jun 22, 2026
7f1a7f7
docs(dashpay): handoff tracker — section 4.8 + enqueue-persist done; …
shumkov Jun 22, 2026
97a9a99
feat(platform-wallet-ffi): drain-pending-contact-crypto FFI + DrainCr…
shumkov Jun 22, 2026
79ca6a1
feat(platform-wallet-storage): persist the deferred-crypto queue in S…
shumkov Jun 22, 2026
3397e4d
docs(dashpay): handoff tracker — drain FFI + SQLite storage done
shumkov Jun 22, 2026
3bce459
refactor(platform-encryption): single-source DIP-15 accountReference
shumkov Jun 22, 2026
4d721d7
docs(dashpay): record accountReference move commit hash
shumkov Jun 22, 2026
787170a
docs(platform-wallet): correct ContactInfoDecrypt drain deferral comment
shumkov Jun 22, 2026
7a23fa1
feat(sdk-ffi): signer accountReference methods for seedless send
shumkov Jun 22, 2026
9d532c2
refactor(platform-wallet): send contact request via ClientSide ECDH
shumkov Jun 22, 2026
88b7fb7
refactor(platform-wallet): generalize DrainCryptoProvider to ContactC…
shumkov Jun 22, 2026
f9b10d8
docs(dashpay): record signer+ClientSide+provider progress; concrete C…
shumkov Jun 22, 2026
07e1821
feat(platform-wallet): seedless send + accept contact request
shumkov Jun 22, 2026
910565e
docs(dashpay): mark seedless send/accept (C2) done; C3 blocked on swe…
shumkov Jun 22, 2026
77344f8
docs(dashpay): ground the C3/section-4.9 ordering gate in the sweep code
shumkov Jun 22, 2026
5f1f75a
test(platform-wallet): seedless ContactCryptoProvider test harness
shumkov Jun 22, 2026
9082d35
fix(platform-wallet): validate key indices in the drain's RegisterExt…
shumkov Jun 22, 2026
1b88d5a
feat(platform-wallet): sweep always-enqueues (signerless, no resident…
shumkov Jun 22, 2026
14566d9
refactor(platform-wallet): delete the resident ECDH path (C3)
shumkov Jun 22, 2026
433e309
docs(dashpay): record sweep/C3 done; §4.9 blocked on 3 raw-secret paths
shumkov Jun 22, 2026
fe8a57d
docs(dashpay): ground each remaining raw-secret path's §4.9 blocker
shumkov Jun 22, 2026
9c97186
docs(dashpay): root-cause the discovery deep blocker (verified_scalar…
shumkov Jun 22, 2026
82fae98
docs(dashpay): verified_scalar is a Rust->FFI->Swift hand-off (decisi…
shumkov Jun 22, 2026
fc5061b
docs(dashpay): record user decision to HOLD §4.9/discovery/Swift for …
shumkov Jun 23, 2026
3b2b418
docs(dashpay): scope Q2 (remove attach_wallet_seed) in spec + TODO; c…
shumkov Jun 23, 2026
8ed2605
docs(dashpay): fold the 4-lens Q2 plan review into the spec + TODO
shumkov Jun 23, 2026
0da8ca5
feat(platform-wallet): contactInfo seal/open on ContactCryptoProvider…
shumkov Jun 23, 2026
413229f
feat(platform-wallet): seedless contactInfo publish via the provider …
shumkov Jun 23, 2026
15ca790
feat(platform-wallet): seedless contactInfo sweep defer + drain op (Q…
shumkov Jun 23, 2026
db18688
refactor(sdk-ffi): delete the dead dash_sdk_dashpay_* contact-request…
shumkov Jun 23, 2026
a97d740
docs(dashpay): record #7 contactInfo done + dead-surface de-dup; §4.9…
shumkov Jun 23, 2026
a427048
refactor(platform-wallet): register_contact_account non-Option (drop …
shumkov Jun 23, 2026
c42d2e4
test(platform-wallet): make test wallets seedless (drop attach_wallet…
shumkov Jun 23, 2026
74f1549
fix(platform-wallet): match RawContactInfoDoc visibility to its pub(s…
shumkov Jun 23, 2026
feb266f
fix(platform-wallet-ffi): scrub derived scalars on the resolver-sign …
shumkov Jun 23, 2026
fe3ab74
refactor(platform-wallet): replace attach_wallet_seed with a seedless…
shumkov Jun 23, 2026
677efa7
docs(dashpay): record §4.2 + attach_wallet_seed deletion / verify_see…
shumkov Jun 23, 2026
70aaf32
feat(swift-sdk): seedless Keychain unlock — verify-binds + drain, no …
shumkov Jun 23, 2026
98b525f
docs(dashpay): Q2 Swift unlock rework landed; only testnet acceptance…
shumkov Jun 23, 2026
0901b28
docs(dashpay): record on-device smoke test; Swift seedless unlock sup…
shumkov Jun 23, 2026
e7ace2c
docs(dashpay): record on-device on-chain validation of seedless DashPay
shumkov Jun 23, 2026
8fd5678
docs(dashpay): full cross-device on-chain acceptance of seedless DashPay
shumkov Jun 23, 2026
82c8522
docs(dashpay): file the contact-profile chunk-fetch DAPI bug (missing…
shumkov Jun 23, 2026
ad64059
refactor(dashpay): address Q2 multi-reviewer findings (dead code, tes…
shumkov Jun 23, 2026
c778393
docs(dashpay): correct verify_binds_to_xpub claim; record Q2 review f…
shumkov Jun 23, 2026
4bdf56b
docs(dashpay): triage Q2 review follow-ups per decision
shumkov Jun 23, 2026
e74e4e2
test(platform-wallet-ffi): pin account_xpub survives the persist→rest…
shumkov Jun 23, 2026
6d90d73
refactor(platform-encryption): split the flat lib.rs into per-concern…
shumkov Jun 23, 2026
df5f03e
refactor(platform-encryption): drop the dashcore dependency (direct s…
shumkov Jun 23, 2026
a425f70
refactor(platform-wallet): move DashPay sync orchestration into the s…
shumkov Jun 23, 2026
c583c78
fix(platform-wallet): order contact-profile chunk query by $ownerId
shumkov Jun 23, 2026
ef3f600
docs(dashpay): check off the contact-profile orderBy P0 (c583c78c81)
shumkov Jun 23, 2026
9963923
feat(platform-wallet): expose pending account-build crypto count (nee…
shumkov Jun 23, 2026
841802c
feat(swift-sdk): surface DashPay needs-unlock / verify-failed banner
shumkov Jun 23, 2026
8b4f110
docs(dashpay): check off needs-unlock/verify-failed signal (on-device…
shumkov Jun 23, 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
31 changes: 17 additions & 14 deletions Cargo.lock

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

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

[workspace.dependencies]
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dash-network = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "5c0113e7901551450f6063023eec4be95beeb6b9" }
dashcore = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }
dash-network-seeds = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }
dash-spv = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }
key-wallet = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }
key-wallet-ffi = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }
key-wallet-manager = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }
dash-network = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore", rev = "b4779fcfb16ae7de5bd763ccba403dc070591b6c" }

tokio-metrics = "0.5"

Expand Down
Loading
Loading