Skip to content

Reconcile alpha dice fields onto protocol master - #46

Merged
BitHighlander merged 2 commits into
masterfrom
reconcile/alpha-dice-master
Sep 17, 2026
Merged

BitHighlander merged 2 commits into
masterfrom
reconcile/alpha-dice-master

Conversation

@BitHighlander

Copy link
Copy Markdown
Owner

Alpha currently pins merge commit e65c4b9, which contains 0848887 but is not an ancestor of fork master. Restore those already-released feature/reset fields on canonical master before advancing alpha to the ERC-7730 protocol commit, preventing a submodule-pin regression.

Verification: npm test, git diff --check.

Reports that ResetDevice.dice_only, the on-device consent screen and the
tagged MIXED derivation are implemented. Needed because nanopb skips unknown
fields: a host that sends dice_only to older firmware gets the older ceremony
and a different wallet, with no error. Hosts and the test suite gate on this
bit rather than on a version.

(cherry picked from commit fbaf8ec)
dice_entropy alone is now the MIXED mode: the device commits its own 32-byte
draw as 24 BIP-39 words before the rolls are entered, then derives
seed = SHA256d("KK\x01SM" || draw || SHA256("KK\x01D" || rolls)). With
dice_only the derivation is seed = SHA256(rolls) and the draw is discarded,
matching Coldcard's Dice-Rolls-Only byte for byte.

The mode is a host-side selection so a wallet can explain what is coming --
99 rolls, and for MIXED 24 words to copy down -- before the ceremony starts.
The device still shows a consent screen naming the mode the host chose, so a
host cannot select dice-only silently. In both modes the host's EntropyAck is
consumed and its bytes dropped; the wire flow is otherwise unchanged.

dice_only without dice_entropy is rejected with a SyntaxError.

(cherry picked from commit 451e9a7)
@BitHighlander
BitHighlander merged commit 3280f4b into master Sep 17, 2026
2 checks passed
@BitHighlander
BitHighlander deleted the reconcile/alpha-dice-master branch September 17, 2026 00:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant