Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
382efc5
docs(dpns): design unified voting experience
lklimek Jul 16, 2026
36cd3e2
feat(dpns): unify voting operations and UX
lklimek Jul 16, 2026
0c012cc
fix(dpns): harden voting operation recovery
lklimek Jul 16, 2026
ad30809
feat(dpns): preserve voting center route choices
lklimek Jul 16, 2026
a3c67c3
fix(dpns): make voting review safe and explicit
lklimek Jul 16, 2026
0c0eed0
fix(dpns): make scheduled operations authoritative
lklimek Jul 16, 2026
64e0962
fix(dpns): close voting operation safety gaps
lklimek Jul 16, 2026
fa0cb10
fix(dpns): explain empty voting workspace
lklimek Jul 16, 2026
b933f92
fix(dpns): close voting operation review gaps
lklimek Jul 16, 2026
05133b6
fix(dpns): always release failed sweep dispatches
lklimek Jul 17, 2026
5e0532e
fix(dpns): keep preflight failures retryable
lklimek Jul 17, 2026
dd2af66
fix(dpns): keep voting views authoritative
lklimek Jul 17, 2026
d6db6cd
fix(dpns): preserve scheduled vote recovery
lklimek Jul 17, 2026
4b50878
fix(dpns): retry schedules with missing voters
lklimek Jul 17, 2026
2936e6d
fix(dpns): bound vote operation journal growth
lklimek Jul 20, 2026
3a281b7
fix(dpns): cache voting operation views
lklimek Jul 20, 2026
14d3aca
fix(dpns): recover failed direct vote dispatches
lklimek Jul 20, 2026
44e0726
Merge remote-tracking branch 'origin/v1.0-dev' into feat/dpns-voting-…
lklimek Jul 20, 2026
071cc16
fix(dpns): contextualize vote diagnostics for DAPI exhaustion
lklimek Jul 20, 2026
f69db4e
Merge branch 'v1.0-dev' into feat/dpns-voting-unified
lklimek Jul 20, 2026
25b89d2
fix(dpns-voting): address 5 review findings marked resolved but still…
lklimek Jul 20, 2026
79b5c00
fix(dpns-voting): address remaining PR 901 review findings
lklimek Jul 20, 2026
10a3090
fix(dpns-voting): avoid field_reassign_with_default lint error
lklimek Jul 21, 2026
815c19c
Merge branch 'v1.0-dev' into feat/dpns-voting-unified
lklimek Jul 21, 2026
eda79f9
Merge remote-tracking branch 'origin/v1.0-dev' into feat/dpns-voting-…
lklimek Jul 21, 2026
8335bf9
fix(dpns-voting): move broadcast phase boundary earlier, fix immediat…
lklimek Jul 21, 2026
040c518
feat(dpns): move voting into active contests
lklimek Jul 21, 2026
4d04570
docs: update changelog for DPNS voting redesign
lklimek Jul 21, 2026
c7e6ac4
fix(dpns): restore Scheduled-votes nav and rebuild Review-and-cast sheet
lklimek Jul 21, 2026
cf61d47
fix(dpns): address active voting review gaps
lklimek Jul 21, 2026
dd81c46
fix: refresh proved DPNS vote state after updates
lklimek Jul 21, 2026
b575672
Merge branch 'v1.0-dev' into feat/dpns-voting-unified
lklimek Jul 21, 2026
8ca7635
fix(dpns-voting): quarantine poisoned legacy rows and unblock strande…
lklimek Jul 22, 2026
76c0ed7
fix(dpns-voting): retain quarantined legacy rows instead of dropping …
lklimek Jul 22, 2026
8abca99
perf(dpns-voting): batch masternode-card current-vote reads into one …
lklimek Jul 22, 2026
991e5f9
Merge branch 'v1.0-dev' into feat/dpns-voting-unified
lklimek Jul 23, 2026
07f2a29
Merge remote-tracking branch 'origin/v1.0-dev' into feat/dpns-voting-…
lklimek Jul 23, 2026
f60b7ae
fix(dpns): surface masternode vote limit
lklimek Jul 23, 2026
aff18b2
Merge branch 'v1.0-dev' into feat/dpns-voting-unified
lklimek Jul 24, 2026
4119610
fix(dpns): rename misleading is_open_for_voter to reflect contest-lev…
lklimek Jul 27, 2026
9b45fba
fix(dpns): route scheduled-vote sweep completion to hidden Active-con…
lklimek Jul 27, 2026
7de526b
fix(dpns): guard scheduled-vote journal cleanup and removal
lklimek Jul 27, 2026
f7f3c62
fix(dpns): make Scheduled Votes journal-first and fix Clear All feedback
lklimek Jul 27, 2026
d7ae529
Merge branch 'v1.0-dev' into feat/dpns-voting-unified
lklimek Jul 27, 2026
fcbc1dc
fix(dpns): unstick the Review and cast window after a failed submission
lklimek Jul 27, 2026
32032a7
Merge remote-tracking branch 'origin/v1.0-dev' into feat/dpns-voting-…
lklimek Jul 31, 2026
ecd04b0
Merge remote-tracking branch 'origin/v1.0-dev' into feat/dpns-voting-…
lklimek Aug 1, 2026
cbb4afa
fix(dpns): make the vote review honest, Remove final, and keyless nod…
lklimek Aug 1, 2026
a9d5a2c
refactor(dpns): drop the vote-change note from the review sheet
lklimek Aug 1, 2026
513af26
chore(deps): bump platform pin to PR #3968 latest tip
lklimek Aug 1, 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
27 changes: 18 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
Expert mode is on) for loading and managing masternode and evonode (HP
masternode) identities by ProTxHash. Loaded nodes appear as a card list
showing type, voter-key readiness, key status, and DPNS-voting status;
opening a card shows a detail view with inline DPNS contested-name voting,
Withdraw / Top up / Transfer actions, key management, and — for evonodes
only — a link to claim token rewards. The load form accepts an optional
password to encrypt the entered voting/owner/payout keys immediately
instead of only after a separate step; leaving it blank keeps today's
behavior, and protection can always be added later from the key screen.
This replaces loading a masternode or evonode from *Identities → Load
Existing Identity → Show Advanced Options*, which no longer offers those
identity types.
opening a card shows a detail view with Withdraw / Top up / Transfer
actions, key management, a "DPNS Voting" button that opens the DPNS Active
contests screen, and — for evonodes only — a link to claim token rewards.
The load form accepts an optional password to encrypt the entered
voting/owner/payout keys immediately instead of only after a separate
step; leaving it blank keeps today's behavior, and protection can always
be added later from the key screen. This replaces loading a masternode or
evonode from *Identities → Load Existing Identity → Show Advanced
Options*, which no longer offers those identity types.

- **DPNS voting redesigned around the Active contests screen**: casting,
batching, and scheduling DPNS name-contest votes across your masternodes
now happens in one place — DPNS → Active contests. Contests are grouped
into Needs your vote / Voted / Not votable by your nodes, with a Review
and cast step for casting now or scheduling later, plus a reminder that
Platform allows up to four changes after the initial vote. The
Masternodes detail screen no longer casts votes inline — its "DPNS
Voting" button takes you straight to Active contests instead.

- **Wallet/identity indicator on more screens (rollout in progress)**: the
wallet and identity picker previously shown only at the top of the Identity
Expand Down
56 changes: 28 additions & 28 deletions Cargo.lock

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

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ eframe = { version = "0.35.0", features = ["persistence", "wgpu"] }
base64 = "0.22.1"
# TODO: GHSA-7gcf-g7xr-8hxj (serde_with <3.21.0) is unfixable from here — the 2.x pin lives in
# dashcore-rpc-json (dashpay/rust-dashcore, rpc-json/Cargo.toml). Re-check when these pins move.
dash-sdk = { git = "https://github.com/dashpay/platform", rev = "762c66cf7716b9b3264868a49e8d29991c643c7e", features = [
dash-sdk = { git = "https://github.com/dashpay/platform", rev = "5931df745a74aafa92cbcfc410e34319850a8e8a", features = [
"core_key_wallet",
"core_key_wallet_manager",
"core_bincode",
Expand All @@ -30,12 +30,12 @@ dash-sdk = { git = "https://github.com/dashpay/platform", rev = "762c66cf7716b9b
"core_spv",
"shielded",
] }
rs-sdk-trusted-context-provider = { git = "https://github.com/dashpay/platform", rev = "762c66cf7716b9b3264868a49e8d29991c643c7e" }
platform-wallet = { git = "https://github.com/dashpay/platform", rev = "762c66cf7716b9b3264868a49e8d29991c643c7e", features = [
rs-sdk-trusted-context-provider = { git = "https://github.com/dashpay/platform", rev = "5931df745a74aafa92cbcfc410e34319850a8e8a" }
platform-wallet = { git = "https://github.com/dashpay/platform", rev = "5931df745a74aafa92cbcfc410e34319850a8e8a", features = [
"serde",
"shielded",
] }
platform-wallet-storage = { git = "https://github.com/dashpay/platform", rev = "762c66cf7716b9b3264868a49e8d29991c643c7e", features = [
platform-wallet-storage = { git = "https://github.com/dashpay/platform", rev = "5931df745a74aafa92cbcfc410e34319850a8e8a", features = [
"shielded",
] }
zip32 = "0.2.0"
Expand Down
Loading
Loading