Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
667 commits
Select commit Hold shift + click to select a range
89b119e
feat(erc7730): sign certified catalog envelopes
BitHighlander Sep 18, 2026
8eea443
Merge pull request #99 from keepkey/feature/alpha-erc7730-envelope-si…
BitHighlander Sep 18, 2026
e92fe25
feat(erc7730): compile roots constants enums and intents
BitHighlander Sep 18, 2026
09d9ff1
Merge pull request #100 from keepkey/feature/alpha-erc7730-full-schema
BitHighlander Sep 18, 2026
da05997
feat(erc7730): compile grouped displays and alias references
BitHighlander Sep 18, 2026
9dfb82c
Merge pull request #101 from keepkey/feature/alpha-erc7730-groups
BitHighlander Sep 18, 2026
786fe39
feat(erc7730): compile nested arrays and NFT collections
BitHighlander Sep 18, 2026
61d3cce
Merge pull request #102 from keepkey/feature/alpha-erc7730-nested-arrays
BitHighlander Sep 18, 2026
2dd2bdd
feat(erc7730): compile unknown token fallbacks
BitHighlander Sep 18, 2026
8657278
Merge pull request #103 from keepkey/feature/alpha-erc7730-formatter-…
BitHighlander Sep 18, 2026
1e7c378
feat(erc7730): prove official registry conformance
BitHighlander Sep 18, 2026
c682060
Merge pull request #104 from keepkey/feature/alpha-erc7730-conformanc…
BitHighlander Sep 18, 2026
73ba298
docs(erc7730): add SDK and swap integration evidence
BitHighlander Sep 18, 2026
4cc005c
Merge pull request #105 from BitHighlander/feature/alpha-erc7730-sdk-…
BitHighlander Sep 18, 2026
2b654a9
docs(erc7730): publish complete protocol support proof
BitHighlander Sep 18, 2026
cb8b66e
Merge pull request #107 from BitHighlander/docs/erc7730-complete-prot…
BitHighlander Sep 18, 2026
95dc4b2
fix(protocol): regenerate bindings with the canonical protoc
BitHighlander Sep 18, 2026
3043cdd
fix(report): restore exact screenshot selector CLI
BitHighlander Aug 27, 2026
ad158f5
test(conftest): allow the harness's configured emulator endpoints
BitHighlander Sep 18, 2026
0b25bce
test: honor the screenshot selector list; skip Zcash on bitcoin-only
BitHighlander Sep 18, 2026
6c09ccb
test(reset): drive the dice reset through the consented MIXED flow
BitHighlander Sep 18, 2026
1f096a1
test(eth): unlimited ERC-20 approvals are refused, not signed
BitHighlander Sep 19, 2026
9222126
test(protection): PIN precedes the sign-message confirm on 7.14.2+
BitHighlander Sep 19, 2026
bd69520
test(solana): plain-text SignMessage signs without AdvancedMode
BitHighlander Sep 18, 2026
6ae6b01
Merge pull request #108 from BitHighlander/fix/regenerate-bindings-ca…
BitHighlander Sep 19, 2026
52aed5d
Merge pull request #106 from BitHighlander/fix/solana-text-message-no…
BitHighlander Sep 19, 2026
e5c5d47
Merge upstream reconcile/upstream-sync into alpha
BitHighlander Sep 19, 2026
4af087e
Merge upstream feat/dice-modes-rebased into alpha
BitHighlander Sep 19, 2026
0eba6e5
Merge upstream feat/certified-solana-lut-alpha into alpha
BitHighlander Sep 19, 2026
309f3c8
Merge upstream/fix/bip39-word-gate-matches-docstring into alpha
BitHighlander Sep 19, 2026
91e6140
Merge upstream ci/github-actions-emulator into alpha
BitHighlander Sep 19, 2026
2497d5c
Record upstream branches whose content alpha already carries
BitHighlander Sep 19, 2026
801efe1
test(report): catalog E17/I4/I6 for the merged harness
BitHighlander Sep 19, 2026
2ea2ce3
test(recovery): de-duplicate subpage reads in test_reset_and_recover
BitHighlander Sep 19, 2026
8a210a3
test: restore wire-correct Hive account_update2 and XRP MemoData expe…
BitHighlander Sep 19, 2026
6d61348
Merge pull request #109 from BitHighlander/merge/upstream-into-alpha
BitHighlander Sep 19, 2026
b0e3b3c
test(solana): KKSOLSC1 v2 schema reviews asserted by screen text
BitHighlander Sep 19, 2026
1c5e544
Merge pull request #110 from BitHighlander/test/solana-schema-v2-emu
BitHighlander Sep 19, 2026
907f346
ci: finish the rc18 -> 7143 rename in the 7.14.3 job
BitHighlander Sep 19, 2026
bd0a951
ci: pin the 7.16 jobs to firmware alpha b452f011c
BitHighlander Sep 19, 2026
f5fa2fa
test(solana): certified SoltoshiDICE join asserted screen by screen
BitHighlander Sep 19, 2026
f852099
test(zcash): gate transparent shielding on 7.15.0 and ZcashSignPCZT
BitHighlander Sep 19, 2026
da90cd9
test(eos): require the fixed SLIP-48 updateauth digest from 7.14.3
BitHighlander Sep 19, 2026
adfa293
test(solana): a 7.16+ build that refuses the ClearSign root fails, no…
BitHighlander Sep 19, 2026
61cb412
test(solana): certified schema proofs the delegate did not sign are r…
BitHighlander Sep 19, 2026
dc6abb4
test(solana): refuse a scope-1 certificate and a 63-byte schema signa…
BitHighlander Sep 19, 2026
16a88ef
Merge pull request #112 from BitHighlander/test/solana-schema-v2-cert…
BitHighlander Sep 19, 2026
aced59d
ci: pin the 7.16 jobs to firmware alpha 651f2a462
BitHighlander Sep 19, 2026
ede466a
test(7.15): opt signing fixtures into AdvancedMode
BitHighlander Sep 20, 2026
3c91ee3
merge: carry 7.15 AdvancedMode fixtures into canonical tests
BitHighlander Sep 20, 2026
f104918
feat(clearsign): LoadClearsignSigner trust path + release-protocol pr…
BitHighlander Jul 2, 2026
fc4ae03
test(7.15): enable policy after loading test wallets
BitHighlander Sep 20, 2026
59a1fa8
merge: carry complete 7.15 policy fixtures into canonical tests
BitHighlander Sep 20, 2026
889cbd7
fix(bindings): keep unrelated protocol modules pinned
BitHighlander Sep 20, 2026
a1ad2ab
merge: carry scoped 7.15 runtime bindings into canonical tests
BitHighlander Sep 20, 2026
ed04369
test(7.15): preserve negative policy fixtures
BitHighlander Sep 20, 2026
74efbb4
Merge commit 'ed04369' into reconcile/upstream-sync-followup
BitHighlander Sep 20, 2026
2c5af34
test(7.15): isolate disabled-policy Solana cases
BitHighlander Sep 20, 2026
c53f910
Merge commit '2c5af34' into reconcile/upstream-sync-isolation
BitHighlander Sep 20, 2026
262c6b5
test(solana): exercise the opaque v0 lookup path
BitHighlander Sep 20, 2026
bdd7d3e
Merge commit '262c6b5' into reconcile/upstream-sync-alt
BitHighlander Sep 20, 2026
5ffe64b
test(evm): require chain_id, and stop asserting pre-EIP-155 signatures
BitHighlander Aug 17, 2026
224e660
test(7.15): align legacy EVM fixtures with release policy
BitHighlander Sep 20, 2026
3c627b7
Merge 7.15 release security fixtures into canonical ancestry
BitHighlander Sep 20, 2026
d1ce1fd
test(7.15): assert canonical blind-sign refusal
BitHighlander Sep 20, 2026
a9af996
Merge canonical blind-sign refusal fixture into upstream sync
BitHighlander Sep 20, 2026
1346b6c
test(solana): gate plain text at its 7.15 capability
BitHighlander Sep 20, 2026
ede7ecb
ci: restore canonical CircleCI smoke gate
BitHighlander Sep 20, 2026
b80e128
ci: clone canonical branch over HTTPS
BitHighlander Sep 20, 2026
b3836f9
ci: install canonical smoke dependencies
BitHighlander Sep 20, 2026
7d03f24
Merge canonical multi-release EOS and Solana gates (#226)
BitHighlander Sep 20, 2026
db11405
test(solana): gate LUT attestations by device capability
BitHighlander Sep 21, 2026
f44b566
test(ethereum): require safe Uniswap removal recipient
BitHighlander Sep 21, 2026
ffc085b
test(solana): isolate AdvancedMode policy cases
BitHighlander Sep 21, 2026
14c9fa5
test(report): document unsafe Uniswap removal refusal
BitHighlander Sep 21, 2026
cc32de9
test(release): align canonical wire and OLED evidence
BitHighlander Sep 21, 2026
7989ff7
test(ethereum): terminate maximum-amount reviews cleanly
BitHighlander Sep 21, 2026
1bd628b
test(ci): gate incomplete stacked release capabilities
BitHighlander Sep 21, 2026
8beae3a
test: gate capabilities absent from foundation slice
BitHighlander Sep 21, 2026
3c15344
test: gate later Hive and session convergence
BitHighlander Sep 21, 2026
caf13c0
test: gate remaining staged release capabilities
BitHighlander Sep 21, 2026
7418c30
test: gate protected prompt workflow unwind
BitHighlander Sep 21, 2026
e277ad6
test: gate staged ERC-7730 review assertions
BitHighlander Sep 21, 2026
0da42e8
report: activate seed hardening at 7.15
BitHighlander Sep 21, 2026
2f7f5a1
test(release): exercise 7.15 security and runtime gates
BitHighlander Sep 21, 2026
2ba86c1
test(release): enforce 7.15 persistence and recovery gates
BitHighlander Sep 21, 2026
3358cbc
ci: pin canonical release compatibility targets
BitHighlander Sep 22, 2026
f1a2c1c
test(release): gate later staged EVM review vectors
BitHighlander Sep 22, 2026
d19c2da
test: bind staged reports to explicit capabilities
BitHighlander Sep 22, 2026
49d537c
test(storage): validate declared downgrade policy
BitHighlander Sep 22, 2026
3e1689d
ci: pin 7.15 jobs to Docker-audited firmware
BitHighlander Sep 22, 2026
c1b136a
test(osmosis): exercise backported 7.14 signing controls
BitHighlander Sep 22, 2026
11ea9f4
test(recovery): assert wipe handshake before next ceremony
BitHighlander Sep 22, 2026
98c717f
test(recovery): require each backup subpage ButtonAck
BitHighlander Sep 22, 2026
b745562
test(ripple): assert canonical MemoData field and length boundaries
BitHighlander Sep 23, 2026
1d42a1f
fix(report): describe immediate unlimited-approval refusal
BitHighlander Sep 24, 2026
e97672c
test(eip712): check streamed array digests against an independent enc…
BitHighlander Sep 25, 2026
546dcb0
test(clearsign): assert the device's unlimited-approval refusal on th…
BitHighlander Sep 25, 2026
0aa3c1a
test(erc7730): never pass firmware/registry conformance without its i…
BitHighlander Sep 25, 2026
d64749c
test(eip712): cover the final sign screen, domain-only, permits and l…
BitHighlander Sep 25, 2026
4f80b08
fix(erc7730): compile only programs the device verifier accepts
BitHighlander Sep 25, 2026
e97f625
test(eip712): assert the typed-data response reports the signing address
BitHighlander Sep 25, 2026
9cea0ad
fix(erc7730): refuse paths deeper than device captures accept
BitHighlander Sep 25, 2026
dd43466
Merge commit '9cea0ad' into release/715-stack07-phase0
BitHighlander Sep 25, 2026
67f561c
feat(erc7730): compile only what the device executes
BitHighlander Sep 25, 2026
ce14a48
fix(erc7730): mirror required roles, containers and step encodings ex…
BitHighlander Sep 25, 2026
97105c4
feat(erc7730): compile tokenAmount, addressName, containers and const…
BitHighlander Sep 25, 2026
e105faf
feat(erc7730): compile the interpolated intent the device now shows
BitHighlander Sep 25, 2026
4b41809
feat(erc7730): compile amount, nftName, date, duration, unit and enum
BitHighlander Sep 25, 2026
f813519
fix(7.15): mirror phase A-C preload and text limits
BitHighlander Sep 26, 2026
b985836
feat(erc7730): isolate groups and visible optional fields
BitHighlander Sep 27, 2026
59eb3b7
feat(erc7730): isolate iteration and fix signer-constant intent check
BitHighlander Sep 27, 2026
8a213ec
feat(erc7730): carry embedded calls onto split iteration stack
BitHighlander Sep 27, 2026
345cf97
ci: clone the actual project for canonical smoke
BitHighlander Sep 27, 2026
dd7649b
Merge commit '345cf97' into release/715-stack07b2b-iteration-mirror
BitHighlander Sep 27, 2026
dd5811d
Merge commit '345cf97' into release/715-stack07b3r-embedded-mirror
BitHighlander Sep 27, 2026
5c2dd4d
Merge commit 'dd7649b3a8d1ab43c2dbba8af5a9db1e1190769f' into release/…
BitHighlander Sep 27, 2026
5d50acc
test(erc7730): bind large inner calls across transport chunks
BitHighlander Sep 27, 2026
d9a02d9
test(erc7730): audit embedded replay and cancellation boundaries
BitHighlander Sep 27, 2026
57d8ee7
test(authenticator): cover identity bounds and consent on both variants
BitHighlander Sep 27, 2026
41af909
test(authenticator): reject malformed OTP timing at the wire boundary
BitHighlander Sep 27, 2026
8a970c8
style(tests): remove inherited compiler-test trailing whitespace
BitHighlander Sep 27, 2026
0242451
ci: qualify canonical Python against accepted 7b firmware
BitHighlander Sep 27, 2026
6033aab
ci: bind staged 7.15 tests to accepted firmware capability ledger
BitHighlander Sep 27, 2026
76d876a
Merge reviewed Python stack through 08 into canonical (#229)
BitHighlander Sep 27, 2026
64fe8f5
test(solana): reject malformed transactions with runtime schemas
BitHighlander Sep 28, 2026
afd117e
Merge commit '41af909341965c81b8afadd38f299d6f929089af' into audit/71…
BitHighlander Sep 28, 2026
aae89d3
test(solana): cover runtime schema trust and session boundaries
BitHighlander Sep 28, 2026
05c77c9
test(solana): reject malformed paths before consent
BitHighlander Sep 29, 2026
f73544c
test(dice): verify ceremony privacy without reading device entropy
BitHighlander Sep 23, 2026
c283163
test(screenshots): an empty layout during a private display is not a …
BitHighlander Sep 29, 2026
02e41d7
report: do not declare a screenshot of the private BIP-85 mnemonic pages
BitHighlander Sep 29, 2026
14fd42a
test(ethereum): a removeLiquidity to a third party signs after the re…
BitHighlander Sep 30, 2026
30333ae
test(zcash): transparent inputs carry the P2PKH script of their own key
BitHighlander Sep 30, 2026
d27c7fe
test(7.16): retire the ERC-7730 blind fallback, align certified Solana
BitHighlander Oct 1, 2026
6444dbb
report(7.16): retired tests may skip from the version that removes them
BitHighlander Oct 1, 2026
6f7bdc7
storage gate: CRC spans record bytes [4, 2572) (7.16 safe commit)
BitHighlander Oct 1, 2026
a75bdf1
solana certified review: summary, limits, details, who (SRS-7.16 §3.7)
BitHighlander Oct 2, 2026
3b6a1b2
ethereum certified review: the live Relay intent reads as who, what, …
BitHighlander Oct 2, 2026
25b1510
ethereum certified intent: match the who screen whole (8-char root id)
BitHighlander Oct 2, 2026
b66c907
report: the certified join's 13 screens and fee bound (SRS-7.16 §3.7)
BitHighlander Oct 2, 2026
5d87def
report: the certified join's 13 screens and fee bound (SRS-7.16 §3.7)
BitHighlander Oct 2, 2026
b0558c4
eip712: Permit2 reads as who, what, until when; unlimited allowed and…
BitHighlander Oct 2, 2026
6a28d0d
eip712: a vouched Permit2 spender name, from the live ClearSign Worker
BitHighlander Oct 2, 2026
ba619a5
eip712: a Permit2 name never outlives a failed request
BitHighlander Oct 2, 2026
dabf5a4
solana attestor: refuses a v3 schema whose roles and template it cann…
BitHighlander Oct 2, 2026
fad95f5
solana attestor: refuses a v3 schema whose roles and template it cann…
BitHighlander Oct 2, 2026
6dd8503
clearsign additive: a runtime 0x05 heading and Limits precede the unc…
BitHighlander Oct 2, 2026
6b18884
solana attestor: refuses a v3 schema whose roles and template it cann…
BitHighlander Oct 2, 2026
ebc467d
clearsign additive: a runtime 0x05 heading and Limits precede the unc…
BitHighlander Oct 2, 2026
9b642df
test(7.16): an inner definition the device refuses is refused, not bl…
BitHighlander Oct 2, 2026
ae567fd
test: gate staged 7.15 features on release capabilities
BitHighlander Oct 3, 2026
0814e6d
Merge caps/715-staged-capabilities forward into the 7.16 line
BitHighlander Oct 3, 2026
b47769e
test: product guards before capability gates; map the runtime module
BitHighlander Oct 3, 2026
010cdd3
Merge caps/715-staged-capabilities forward into the 7.16 line
BitHighlander Oct 3, 2026
4db61c7
Unify the canonical Python stack with the re-authored 7.15/7.16 line
BitHighlander Oct 3, 2026
2b2b218
test: gate the 7.16 feature tests on the capability of the block that…
BitHighlander Oct 3, 2026
b0ff149
tests: unlimited ERC-20 approve is reviewed and signed, not refused
BitHighlander Oct 3, 2026
b2745fc
tests: Uniswap on Base clear-signs end to end with AdvancedMode off
BitHighlander Oct 3, 2026
e427855
tests: certified Uniswap token -> ETH past the first chunk, reviewed …
BitHighlander Oct 4, 2026
ffaa267
tokens: stablecoins plus what coins[] and fixtures need (D-014)
BitHighlander Oct 5, 2026
bf00509
tests: canonical unlimited EIP-2612/DAI permits sign after a warning …
BitHighlander Oct 5, 2026
881dd4c
tests: assert the D-014 token table; gate the ambiguous-permit test o…
BitHighlander Oct 5, 2026
ba3edb1
tests: gate the deferred 7.14.3 EOS and Ripple behavior on 7.15
BitHighlander Oct 5, 2026
670b473
caps: one pyk head serves 7.15 and 7.16 (token profile, approve/permi…
BitHighlander Oct 5, 2026
b9db5a8
tests: version-gate the Permit2 review tests on 7.16
BitHighlander Oct 5, 2026
820afbd
tests: gate the block09 authenticator reviews on 7.15
BitHighlander Oct 5, 2026
9955be1
caps: gate on the capabilities the firmware reports, not a CI list
BitHighlander Oct 5, 2026
ca3dab7
tests: one capability census test per Features.Capability
BitHighlander Oct 5, 2026
b84d60a
tests: gate the clear-sign additive invariant on evm-tx-metadata
BitHighlander Oct 5, 2026
fd5b78f
deps: device-protocol with safe-reset-ceremony and thor-deposit-revie…
BitHighlander Oct 5, 2026
b9cc026
tests: drop the storage-v19-kdf marker; the capability census covers it
BitHighlander Oct 5, 2026
716ade0
tests: restore the storage module's import spacing
BitHighlander Oct 5, 2026
9d38988
caps: host-side ERC-7730 compiler tests gate on the device too
BitHighlander Oct 5, 2026
c774ca8
tests: clear-sign additive gates on version, then messages, then capa…
BitHighlander Oct 5, 2026
0b70da6
tests: check the capability after the version and feature gates
BitHighlander Oct 6, 2026
0c15520
ci: test against the staged 7.15 stack tip; cover metadata during sig…
BitHighlander Oct 6, 2026
7db330d
tests: choose the dice ceremony flow by firmware version, not by CI
BitHighlander Oct 6, 2026
6f1e6f1
tests: signer load mid-signing; integer fields sign the same with lea…
BitHighlander Oct 6, 2026
a6f007d
Address review findings across the harness
BitHighlander Oct 6, 2026
959fd11
Point device-protocol at upstream and drop files that don't belong here
BitHighlander Oct 6, 2026
5b989ef
Pin device-protocol to #112's head; CI builds the current 7.15 stack tip
BitHighlander Oct 6, 2026
51fa20c
Refresh Features after apply_policy; tighter gates and fail-closed ge…
BitHighlander Oct 6, 2026
59400e0
test(zcash): sign real note ciphertexts; refuse a corrupted one
BitHighlander Oct 7, 2026
c0345cc
deps: device-protocol with the tron-trc20-review capability
BitHighlander Oct 7, 2026
5dee326
test(tron): USDT clear-signs; unknown TRC-20 contracts need AdvancedMode
BitHighlander Oct 7, 2026
4db0aff
oled_text: find an address as the QR address screens draw it
BitHighlander Oct 7, 2026
af7689f
Assert every shown address and key is on screen in full
BitHighlander Oct 7, 2026
44ab6c6
Assert Cosmos staking screens show the whole validator address
BitHighlander Oct 7, 2026
3e62deb
Read address screens only on 7.15.0 and later
BitHighlander Oct 7, 2026
c04ad72
test(solana): attest exactly the accounts the lookup table loads
BitHighlander Oct 7, 2026
ccd5b69
test: read address screens on 7.14.3 too
BitHighlander Oct 7, 2026
ff86b16
test: show a native SegWit address on bitcoin-only firmware too
BitHighlander Oct 7, 2026
d33e560
test(zcash): check and show the user's address on a shielded output
BitHighlander Oct 7, 2026
d0c6e17
test(eip712): real-world documents must sign on the device
BitHighlander Oct 7, 2026
7726cc8
test(eth): unlimited approvals and permits sign after a warning
BitHighlander Oct 7, 2026
5670d8f
test(eip712): one test per corpus document, and larger real documents
BitHighlander Oct 7, 2026
586c626
test(erc7730): an embedded unlimited approve signs after a warning
BitHighlander Oct 7, 2026
c4e0727
test(zcash): a real NU6.3 transaction with a fabricated output signs
BitHighlander Oct 7, 2026
b56cbc1
test(zcash): a zero-value padding output is not shown
BitHighlander Oct 7, 2026
fe14695
test(zcash): sign Orchard to Ironwood migration transactions
BitHighlander Oct 7, 2026
bae8ced
test(zcash): change is one total and a memo-only send is shown
BitHighlander Oct 7, 2026
1d3f92c
test(thorchain): sign deposits on the BSC, Base and Arbitrum routers
BitHighlander Oct 7, 2026
bc92255
test(zcash): an all-uppercase user_address is accepted and shown in l…
BitHighlander Oct 7, 2026
05938bf
test(eip712): sign three real UniswapX V3 Dutch orders from Arbitrum
BitHighlander Oct 7, 2026
b82ab6a
test(zcash): sign ZIP 320 TEX payments
BitHighlander Oct 7, 2026
4bc241e
fix(eos): send a derived authority key as K1
BitHighlander Oct 7, 2026
deb58bb
feat(eip712): send typed-data values over 1 KB in chunks
BitHighlander Oct 7, 2026
3a91473
test(display): distinguish pipe and quote substitutions in signed mes…
BitHighlander Oct 8, 2026
b858639
test(eip712): distinguish colliding text across streamed values
BitHighlander Oct 8, 2026
57f2749
test(ethereum): verify normalized integer signatures against canonica…
BitHighlander Oct 8, 2026
e55a1b5
fix(report): require the active dice frequency threshold test
BitHighlander Oct 8, 2026
405cc45
test(eip712): sign a real Safe MultiSend with an unlimited approve
BitHighlander Oct 8, 2026
cbc5e64
test(eip712): sign Ethermint domains and 16-point UniswapX V3 curves
BitHighlander Oct 8, 2026
6793539
test(storage): retry the emulator boot when its UDP port is taken
BitHighlander Oct 8, 2026
f2a2292
test(thorchain,maya): the sign screen shows the fee in whole coins
BitHighlander Oct 8, 2026
5c678ed
test(solana): stake authorize and withdraw fit one page
BitHighlander Oct 8, 2026
ff3a341
report: match 7.15 behaviour in the K, E, V and L sections
BitHighlander Oct 8, 2026
0601dda
report: keep the staged PIN-KDF controls; render them withheld
BitHighlander Oct 8, 2026
8d62850
report: describe E16 and E16b as 7.15 behaves
BitHighlander Oct 8, 2026
91fbb2b
ci: build the firmware heads now on the stack PRs
BitHighlander Oct 9, 2026
4750bcd
ci: give the 7.15 integration suite room to finish
BitHighlander Oct 9, 2026
e4504b5
ci: size the 7.15 integration timeouts for a hosted runner
BitHighlander Oct 9, 2026
ba35347
tests: a shown Zcash output ends with its memo screen
BitHighlander Oct 10, 2026
1b40b6c
tests: certified address-book contacts over the wire
BitHighlander Oct 12, 2026
07641eb
tests: the schema attestor test gates on its capability
BitHighlander Oct 12, 2026
9955156
tests: segwit amount swap, and Solana handlers on another coin's path
BitHighlander Oct 12, 2026
89c23b8
tests: the amount-swap test uses made-up outpoints
BitHighlander Oct 12, 2026
2a0f838
Fix release report accuracy and page layout
BitHighlander Oct 12, 2026
1377a15
Validate canonical 7.14.3 and 7.15 firmware candidates
BitHighlander Oct 12, 2026
a8d4cf0
Validate canonical 7.14.3 and 7.15 firmware candidates
BitHighlander Oct 12, 2026
c1cb6af
Fix report test compatibility and validate repaired release candidates
BitHighlander Oct 12, 2026
8f73901
test: cover Base deposits and strengthen Zcash rejection checks
BitHighlander Oct 13, 2026
13c7045
test: reconnect after power cycle without Initialize
BitHighlander Oct 15, 2026
ae04b7c
Pin device-protocol a98a650 (canonical #112 head)
BitHighlander Oct 15, 2026
56e1631
test(bitcoin-only): compare against the settled home screen
BitHighlander Oct 15, 2026
c52947d
ci: test the complete 7.15 candidate with DebugLink idle renewal
BitHighlander Oct 15, 2026
371fbcc
fix: canonicalize composite selectors and qualify entropy grants
BitHighlander Oct 15, 2026
1bb20a2
fix: reject fractional ABI values and enforce UDP lease lifetime
BitHighlander Oct 15, 2026
f71d3e0
test: verify complete confirmations from numbered DebugLink pages
BitHighlander Oct 15, 2026
cb0c3a7
test: retain physical page counts for cancellation sweeps
BitHighlander Oct 15, 2026
45e2651
ci: scope offline firewall to the integration test user
BitHighlander Oct 15, 2026
2b5f9e2
restack: 7.16 tests onto the 7.15 b6 line (45e2651)
BitHighlander Oct 15, 2026
e883df3
tests: restore the 7.15 refused-permit body lost in the restack merge
BitHighlander Oct 15, 2026
d50eb40
tests: oversized Solana account lists blind-sign, signer still checke…
BitHighlander Oct 15, 2026
911f7f7
ci: give the emulator the alpha test root
BitHighlander Oct 15, 2026
07404a7
tests: Solana SignTx refuses the off-chain envelope; later versions n…
BitHighlander Oct 15, 2026
734317d
tests: 7.16 Permit2 name records survive the walk; Base fee title
BitHighlander Oct 15, 2026
20615b0
report: the 7.14 unlimited LP-approval refusal is retired in 7.16
BitHighlander Oct 15, 2026
dff3020
Pin device-protocol to master
BitHighlander Oct 16, 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
83 changes: 15 additions & 68 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,80 +1,27 @@
version: 2 # keep 2.0 syntax; CircleCI 2.1 also works
version: 2.1

# The authoritative multi-release emulator matrix lives in GitHub Actions.
# Keep this smoke job while the legacy CircleCI project remains connected so
# its required status verifies the checkout instead of failing at config load.
jobs:
emulator-build-test:
canonical-smoke:
docker:
- image: circleci/python:3.7 # upgrade to cimg/python:3.12 if you like
- image: cimg/python:3.11
steps:
# ────────────────────────────────────────────────────────────────
# 1) Clone the current branch of python-keepkey via HTTPS
# ────────────────────────────────────────────────────────────────
- run:
name: Clone python-keepkey (current branch)
name: Checkout current branch over HTTPS
command: |
git clone --depth 1 -b "$CIRCLE_BRANCH" https://github.com/keepkey/python-keepkey.git .pykk
cd .pykk && git submodule update --init --recursive

# ────────────────────────────────────────────────────────────────
# 2) Grab firmware repo and inject our fresh python-keepkey copy
# ────────────────────────────────────────────────────────────────
- run:
name: Checkout firmware & inject python-keepkey
command: |
# Ensure all submodule URLs fall back to HTTPS
git config --global url."https://github.com/".insteadOf git@github.com:
git config --global url."https://".insteadOf git://

# Move python-keepkey out of the way
mv .pykk ../

# Clone firmware repository (expects $FIRMWARE_REPO env var)
git clone --depth 1 -b master "$FIRMWARE_REPO" .

# Initialise firmware submodules
git clone --depth 1 -b "$CIRCLE_BRANCH" \
"https://github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}.git" .
git submodule update --init --recursive

# Replace the vendor copy with our PR branch python-keepkey
rm -rf deps/python-keepkey
mv ../.pykk deps/python-keepkey

# This is python-keepkey's standalone compatibility lane. Release
# OLED/PDF evidence is generated only by the exact-head firmware
# workflow, where the firmware and Python SHAs are pinned together.
# Do not inherit the firmware checkout's report/screenshot phase:
# it can describe a different (published/master) emulator and is
# therefore not release evidence for this Python PR.
cp deps/python-keepkey/.circleci/standalone-emulator-tests.sh \
scripts/emulator/python-keepkey-tests.sh

# ────────────────────────────────────────────────────────────────
# 3) Build the Docker-based emulator tests
# ────────────────────────────────────────────────────────────────
- setup_remote_docker

- run:
name: Emulator tests
name: Validate canonical Python and EOS vector contracts
command: |
pushd ./scripts/emulator
set +e # don’t exit on first failure
docker-compose up --build firmware-unit
docker-compose up --build python-keepkey
set -e

# Collect JUnit / pytest XML results
mkdir -p ../../test-reports
docker cp "$(docker-compose ps -q firmware-unit)":/kkemu/test-reports/. ../../test-reports/
docker cp "$(docker-compose ps -q python-keepkey)":/kkemu/test-reports/. ../../test-reports/
popd

# Fail job if either container reported non-zero status
[ "$(cat test-reports/python-keepkey/status)$(cat test-reports/firmware-unit/status)" = "00" ] || exit 1

- store_test_results:
path: test-reports
python -m py_compile keepkeylib/*.py tests/test_msg_solana_signtx.py
python -m pip install --quiet pytest requests
python -m pytest -q tests/unit/test_eos_updateauth_vector.py

# ──────────────────────────────────────────────────────────────────────
workflows:
version: 2
emulator:
canonical:
jobs:
- emulator-build-test
- canonical-smoke
Loading
Loading