build(variants): gate the coin engines behind the bitcoin-only build - #357
Closed
BitHighlander wants to merge 1 commit into
Closed
build(variants): gate the coin engines behind the bitcoin-only build#357BitHighlander wants to merge 1 commit into
BitHighlander wants to merge 1 commit into
Conversation
Turns the KK_BITCOIN_ONLY flag from a build option into an image that actually strips what it claims to: - Coin engines (Ethereum and its contract decoders, Solana, Hive, TRON, TON, Ripple, EOS, the Tendermint family, Nano) and the Zcash privacy engine are excluded from the bitcoin-only sources, together with their message-map rows, handler includes and unit-test suites. - The always-on Initialize/ClearSession/Cancel handlers still call each engine's abort hook and factory reset still clears clear-sign signers, so bitcoin-only provides no-op definitions rather than conditionally editing those handlers. - GetFeatures reports the established KeepKeyBTC / EmulatorBTC variant names so existing hosts skip multi-chain-only behaviour, and reports bitcoin-only-locked when the wallet on the device was created by bitcoin-only firmware and this image must not touch it. - ChangePin, ChangeWipeCode, LoadDevice and ResetDevice refuse to run against a bitcoin-only-locked wallet. - GetCoinTable omits the token table in the bitcoin-only image. - Guards use value macros compared with `#if FLAG`, because device builds compile with -Wundef -Werror and an undefined identifier there is a hard error, not a silent zero.
Owner
Author
|
Superseded by the smaller audit-ready 7.15 stack: #359 release foundation, #360 authenticated clear-signing, #361 recovery and entropy, #362 Zcash Orchard, #363 chain integrations, and #364 Bitcoin/release security. All release changes remain preserved in the replacement branches and preservation tags. The replacement aggregate was tree-verified against the prior release and passed the local CI-equivalent container suite (405 firmware, 2 board, 18 crypto, and 7 Pallas constant-time tests). GitHub-hosted checks have been explicitly dispatched and are currently queued. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
7.15 review stack position 16/17.
This PR is intentionally one coherent commit, based on
feature/715-15-entropy-rng-dice, for individual auditing.The full stack is linear from the clean fork
developat 1af2ffe.Review scope: build(variants): gate the coin engines behind the bitcoin-only build.
The preserved pre-restage candidate remains available at
preserve/alpha-2026-08-05.