Skip to content

feat(7.15): consolidate ERC-7730 compiler and runtime mirror (7b) - #119

Draft
BitHighlander wants to merge 11 commits into
release/715-stack07-phase0from
release/715-stack07b3r-embedded-mirror
Draft

BitHighlander wants to merge 11 commits into
release/715-stack07-phase0from
release/715-stack07b3r-embedded-mirror

Conversation

@BitHighlander

@BitHighlander BitHighlander commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Combined 7b Python companion

This PR is the single Python companion for consolidated firmware #871. It compares the final pinned mirror 5c2dd4dbce5096de393b2db8c925f24950e22d8b against published Stack 07 phase-0 ce14a489fb59dc2a4818d6cff2dd2a3347cd7939: seven paths, 1,899 additions and 45 deletions. Its head and history are unchanged; the earlier narrow companions #114, #117 and #118 remain available as review history.

The combined mirror covers A–C formatter/intent, D-G group/visibility, D-I one-array iteration and E-R embedded calls. Production keepkeylib matches the validated historical E mirror. The relocated runtime suite holds 39 ERC-7730 cases, including the EX39 optional-group screenshots; 21 Stack 07 wire cases also passed in the firmware qualification. The compiler/catalog/report suite passed 35 tests without skips and checked 1,450 registry formats, 1,297 signable. CircleCI 547 succeeded on this exact head. Firmware #871 has the same gitlink pin and is running its own aggregate PR CI.

The old split PRs and their findings remain historical evidence. Physical-device checks, human release acceptance and product promotion are separate.

BitHighlander and others added 11 commits September 25, 2026 04:00
…ants

Phase A of the ERC-7730 formatter plan. The device now executes
tokenAmount (value, token, threshold, message, native aliases),
addressName, @.from/@.to (calldata only) and signed constants, and
type-checks every argument at preload. Mirror that table, including the
value classes: amount and threshold are integers, token and addressName
values are addresses, raw literals are integers, addresses or strings, and
an alias set names at most four addresses.

The registry test now asserts 812 signable formats (from 92). The device
still refuses addressName and tokenAmount over bytes32/uint256 words that
pack an address or an encrypted amount.
Phase B. The device executes display opcodes 2 and 3 as one run directly
after the plain intent, showing each fragment and value as a numbered part.
Mirror the opcodes and the run rule, and trim fragment edges: each part is
its own screen, and the device escapes edge spaces. The registry test now
asserts 954 signable formats.
Phase C. Mirror the device's new formatters and their argument classes:
a date encoding must be the string "timestamp" or "blockheight", unit
decimals a one-byte literal and the prefix a flag, an enum map at most 16
entries, an NFT collection an address, and @.value an unsigned value. The
registry test now asserts 1,138 signable formats.
@BitHighlander
BitHighlander changed the base branch from release/715-stack07b2b-iteration-mirror to release/715-stack07-phase0 September 27, 2026 05:26
@BitHighlander BitHighlander changed the title feat(erc7730): E-R embedded calls on split iteration base feat(7.15): consolidate ERC-7730 compiler and runtime mirror (7b) Sep 27, 2026
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