Skip to content

test: two expectations that pinned firmware defects (Hive wire symbol, 1-bit frame hash) - #223

Merged
BitHighlander merged 5 commits into
reconcile/upstream-syncfrom
fix/hive-wire-asset-symbols
Sep 14, 2026
Merged

BitHighlander merged 5 commits into
reconcile/upstream-syncfrom
fix/hive-wire-asset-symbols

Conversation

@BitHighlander

@BitHighlander BitHighlander commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor

Two test expectations that pinned firmware defects rather than the chain/device behaviour, both surfaced while auditing the 7.15 release candidate.

1. Hive asset symbol. Two assertions read the asset symbol out of the transaction the device serialized and expected "HIVE". This file already records the opposite at the top — _WIRE_SYMBOL = {"HIVE": "STEEM", "HBD": "SBD"}, confirmed against condenser_api.get_transaction_hex — and every operation it builds itself uses the wire spelling. The firmware wrote HIVE where hived writes STEEM, and the test agreed with it. Firmware fixed on the 7.15 line, whose native goldens (captured from hived) already carried 03 "STEEM".

2. OLED frame hash. kkemu_get_display() treated every nonzero shade as lit, while the DebugLink layout and the capture ring used ordered dithering (display_mono_pixel_is_lit) — so the dylib transport produced a different frame than the device's other evidence paths for the same screen, and this golden pinned the odd one out. Firmware aligned; this is the frame all three serialisers now agree on.

…lay name

Two assertions read the asset symbol out of the transaction the DEVICE
serialized and expected "HIVE". This file already knows better: _WIRE_SYMBOL
at the top records that the 2020 rebrand renamed the tokens but not their
on-chain serialization, and every operation this file builds itself is
assembled with "STEEM"/"SBD" (confirmed against
condenser_api.get_transaction_hex).

So these two assertions were pinning the firmware's own mistake: it wrote
"HIVE" where hived writes "STEEM", and the test agreed with it. The firmware
side is fixed on the 7.15 line; this makes the expectation match the chain.
BitHighlander added a commit to BitHighlander/keepkey-firmware that referenced this pull request Sep 12, 2026
The integration suite asserted the asset symbol the firmware used to write
("HIVE") rather than the one hived writes ("STEEM"), so it went red on the
serializer fix. keepkey/python-keepkey#223 corrects the two assertions against
the file's own _WIRE_SYMBOL table; pin it until that merges into the canonical
reconcile/upstream-sync branch, then re-pin there.
kkemu_get_display() lit every nonzero shade while the DebugLink layout and the
capture ring used ordered dithering (display_mono_pixel_is_lit), so the dylib
transport this test reads produced a different frame than the device's other
evidence paths for the same screen -- and this golden pinned the odd one out.
The firmware side is aligned on the 7.15 line; this is the frame all three
serialisers now agree on.
@BitHighlander BitHighlander changed the title test(hive): assert the wire asset symbol the chain uses, not the display name test: two expectations that pinned firmware defects (Hive wire symbol, 1-bit frame hash) Sep 12, 2026
BitHighlander added a commit to BitHighlander/keepkey-firmware that referenced this pull request Sep 12, 2026
Second commit on keepkey/python-keepkey#223: the dylib transport's OLED frame
hash, which pinned the pre-alignment 1-bit serialiser.
@BitHighlander

Copy link
Copy Markdown
Contributor Author

CI ref repair #224 is merged at 3cc2be27e5ad709b2d82e66ad152cd7ac9d1dc78. It pins GitHub full/Bitcoin-only and CircleCI lanes to firmware audit heads #755 4125e1c7409b1cb7b08ba595bc408e3128fc24ca and #756 d33f1711c3b2b205f64c5dc35fdec02926a6dc63. On #224's exact head, all four GitHub integration jobs and CircleCI passed. This is a host-CI compatibility receipt, not a firmware release approval; #223's new merge head needs its own checks.

@BitHighlander
BitHighlander merged commit b2edbff into reconcile/upstream-sync Sep 14, 2026
11 checks passed
@BitHighlander
BitHighlander deleted the fix/hive-wire-asset-symbols branch September 14, 2026 21:22
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