Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
a111342
chore: bump dashpay/platform pin to PR #3968 tip (d18020f → f376d32)
lklimek Jul 21, 2026
d43baee
docs: fold in security-review follow-ups for the platform#3968 pin bump
lklimek Jul 21, 2026
2b6373b
docs(shielded): correct WalletLocked doc, add guard test (Marvin QA-0…
lklimek Jul 21, 2026
a37d17f
Merge branch 'v1.0-dev' into chore/bump-platform-pin-pr3968
lklimek Jul 22, 2026
79f797e
Merge branch 'v1.0-dev' into chore/bump-platform-pin-pr3968
lklimek Jul 22, 2026
f7ca95f
chore: bump dashpay/platform pin to PR #3968 tip (f376d32 → ebbd15c4)
lklimek Jul 22, 2026
eb7e0fa
fix(wallet-backend): close FVK-persister due-diligence findings (SEC-…
lklimek Jul 22, 2026
e1ba7b3
fix(wallet-backend): reap persisted FVK row on wallet removal (SEC-00…
lklimek Jul 22, 2026
69b7546
chore: bump dashpay/platform pin to PR #3968 tip (ebbd15c4 → e75f259)
lklimek Jul 22, 2026
6ffd4df
refactor(wallet-backend): drop obsolete DetPersister
lklimek Jul 22, 2026
b43fc5e
Merge branch 'v1.0-dev' into chore/bump-platform-pin-pr3968
lklimek Jul 23, 2026
4b8e421
docs(wallet-backend): note upstream read-path floor blocks short-pass…
lklimek Jul 22, 2026
ecbb659
chore: bump dashpay/platform pin to PR #3968 tip (e75f259 → 4a1ba64)
lklimek Jul 23, 2026
e7b995e
test(wallet-backend): cover contact monitor revision gating
lklimek Jul 23, 2026
7566c77
fix(wallet-backend): address grumpy-review findings from PR #919
lklimek Jul 23, 2026
1939cf1
Merge branch 'v1.0-dev' into chore/bump-platform-pin-pr3968
lklimek Jul 23, 2026
d99073a
fix(wallet-backend): skip auto-backup on wallet delete, repaint remov…
lklimek Jul 23, 2026
3764f99
Merge branch 'v1.0-dev' into chore/bump-platform-pin-pr3968
lklimek Jul 24, 2026
0146af3
chore: bump dashpay/platform pin to PR #3968 tip (4a1ba64c -> 288a6cae)
lklimek Jul 24, 2026
9632a4b
fix(wallet): surface local secret-wipe failures on removal
lklimek Jul 24, 2026
09b9e19
fix(contracts): reject mismatched update responses, fix password wording
lklimek Jul 24, 2026
690e7cd
docs: cover all six shielded operations in protected-wallet caveats
lklimek Jul 24, 2026
9f3d230
test(wallet): add local secret-wipe fault-injection hook
lklimek Jul 24, 2026
b17e71c
fix(wallet): surface fatal persisted-load corruption as a dedicated e…
lklimek Jul 24, 2026
2b2da63
docs: fix stale platform pin reference in CHANGELOG
lklimek Jul 24, 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
50 changes: 50 additions & 0 deletions CHANGELOG.md
Comment thread
Claudius-Maginificent marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,56 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

### Changed

- **Upstream wallet backend updated (`platform-wallet` / `platform-wallet-storage`)**:
the `dashpay/platform` dependency is bumped to the PR #3968 tip
(`d18020f` → `288a6ca`), which lands an embeddable SQLite persistence backend with
*seedless rehydration*. The wallet manager now restores watch-only wallet state
(accounts, balances, identities, platform addresses) from the on-disk store
without the HD seed, re-deriving spend authority just-in-time from the seed only
when an operation actually signs — so private key material is never left resident
between operations. DET's shielded operations were updated to match: each now
resolves the HD seed through the secret-seam chokepoint for the single operation
and drops it on return. The update also adds persistence and
rehydration for provider (masternode / evonode) platform-node key pools and for
DashPay invitations. The later review tip also retries transient startup
rehydration, selects platform-address transfer and withdrawal inputs from
hydrated candidates with authoritative on-chain balances, freezes the SPV sync
watermark when persistence fails, and persists address-reservation timestamps
plus DashPay address used-state updates. On Unix, DET now tightens app and
per-network storage directories to owner-only before opening the hardened
upstream database, so permissive system defaults do not prevent startup. New
wallet passwords must now be at least eight UTF-8 bytes after trimming
(measured in bytes, not characters, so a 4-character non-ASCII password like
`öäüß` — 8 bytes — is accepted); existing wallets with shorter passwords
that are still in DET's legacy encrypted format remain usable instead of
failing during lazy migration. Protected (Tier-2) shielded wallets now resolve
their seed just in time for every operation that spends or binds their Orchard
keys (initialization, shield from Core, shield from Platform, transfer,
unshield, and withdraw). Each operation prompts for the passphrase unless the
user explicitly keeps the wallet unlocked for the session, replacing the
previous implicit once-per-session reuse.

**Compatibility note:** wallets already migrated to Tier-2 storage by a
July 2026 weekly build with a shorter password cannot be opened at this
upstream tip; do not upgrade those profiles until upstream provides a
compatibility reader.

Development builds between `f7ca95f` and `69b7546` stored shielded viewing
keys in an interim metadata row that this final pin does not migrate; those
commits were never released, and unlocking the wallet safely re-derives and
persists the same viewing key in upstream's native table.
SPV broadcasts are now pure peer-to-peer and report success only after peer
echo, InstantSend, or confirmation; an ambiguous outcome keeps the input
reservation until sync or its TTL reconciles it. Adding a DashPay contact
receiving account also invalidates prior compact-filter coverage, preventing
an in-flight scan from certifying a wallet account set it did not scan.
Transitively, the pinned dashpay git dependencies advance with it:
`rust-dashcore` (`be6e776` → `18c68d4`, which lands the reserve-on-hand-out
receive-address APIs and SPV acceptance tracking), `grovedb` (`v5.0.0` →
`v5.0.1`), and the `orchard`
shielded-crypto fork (`dashified-0.14.0` → `dashified-0.14.1`); no crates.io
dependencies change.

- **Shielded transactions are available on supported networks**: sending,
receiving, shielding, and unshielding are enabled when the connected network's
protocol version supports them, including mainnet. These operations were
Expand Down
Loading
Loading