Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.
This commit only adds new automated tests for Trezor's Ethereum 'clear signing' feature. It includes a test case for an Aave multi-call transaction, a matching test data blob, and expected screen snapshots for different device models and l…
This commit adds support in Trezor's Ethereum clear-signing feature for transactions that contain multiple embedded subcalls (like a multicall). Previously, only a single embedded call could be clearly displayed. The change lets the device…
New input validation added: callee array length must match subcall array lengthType validation enforced: each subcall blob must be bytes, each callee must be a 20-byte addressGraceful degradation preserved: unparseable subcalls fall back to raw hex display rather than failing the whole transaction
This commit only adds a new automated test case for an existing Ethereum transaction display feature. It does not change any production firmware code, so it cannot introduce a security vulnerability or fix one. It is purely a test-data add…
This commit adds a new Trezor firmware feature called 'clear signing' for nested Ethereum calls. It lets the device understand when a transaction wraps another contract call (like a router or multicall) and tries to show the user readable …
New nested calldata parsing path with explicit depth cap of 1@.to override to callee to prevent token resolution from pointing at the wrapper contract@.from and @.value rejected in nested parse to avoid displaying confidently wrong sender/value
This commit is a test-only addition for Trezor's Ethereum 'clear signing' feature. It adds new test cases and makes a small production-code tweak so that enum display-formatters can accept byte values (converted to integers). The change is…
Production code change is a type-handling relaxation in display formatting onlyNo changelog entry; commit is explicitly test-focusedNo vendor security disclosure or advisory referenced
This commit fixes a user-interface bug in Trezor's Ethereum 'clear signing' flow where the transaction's native ETH amount could be shown twice on the device screen. The old code tried to avoid duplication by checking whether an 'AmountFor…
No cryptographic, authorization, memory-safety, or input-validation changesChange is limited to on-screen display deduplication logicNo changelog entry requested by the vendor ('[no changelog]')
This commit adds a new display formatter for Ethereum clear signing. It lets a transaction descriptor map numeric enum values (like 1 or 2) to human-readable labels (like 'stable' or 'variable') on the Trezor screen. The change is purely a…
New formatter raises InvalidFormatDefinition on unexpected/missing enum values, causing fallback to blind signing rather than displaying an untrusted labelDuplicate enum keys are rejected at descriptor decode timeNon-integer enum values are rejected at format time
This commit adds a new feature to Trezor's Ethereum 'clear signing' system that lets wallet definitions extract a slice of bytes from a numeric parameter. For example, a 32-byte number that secretly packs an address into its last 20 bytes …
Feature adds ability to display only a byte slice of a larger numeric field, which can prevent UI spoofing when high bits of a packed value carry flags or a different addressNew validation rejects byte-slicing negative signed integersNo changelog entry and commit message frames change as a feature, not a security fix
This commit adds support for more Ethereum data types in Trezor's clear signing feature. It introduces parsing for signed 160-bit integers (int160) and fixed-size byte arrays of various lengths (bytes4, bytes8, bytes16, bytes20, bytes32). …
New parser factory functions include explicit bounds and padding validationSigned integer parser checks two's complement sign-extension paddingFixed-bytes parser validates trailing zero padding per Solidity ABI spec
This commit adds a new optional 'provider_name' field to the data structure used for Ethereum 'clear signing' on Trezor devices. When a provider name is supplied, the device will show that name instead of the usual recipient address lookup…
New untrusted string field (provider_name) rendered in transaction UIProvider name replaces address-book lookup, potentially hiding true recipientNo visible input validation, length limits, or allowlist in the diff
This commit updates the Trezor Ethereum 'clear signing' feature so that when a known DeFi contract (like 1inch or Uniswap) is recognized, the device screen shows the provider's human-readable name (e.g., '1inch Aggregation Router V6') inst…
UI label change only: no transaction validation logic alteredNo new external inputs parsed; provider_name is hardcoded in definitionsNo memory-unsafe operations or buffer size changes
This commit fixes how Trezor firmware parses certain Ethereum transaction data types—specifically arrays of byte blobs (bytes[]) and arrays of strings (string[])—when showing clear signing details on the device screen. Before the fix, the …
Incorrect offset handling in transaction data decoderPotential display of misleading clear-signing informationDouble pointer dereference in dynamic array parsing
This commit fixes a bug in how Trezor firmware parses Ethereum transaction data for 'clear signing' of complex smart-contract calls. The parser previously misread arrays of simple structs (e.g., lists of token-swap details) because it assu…
Incorrect ABI decoding of arrays of static structs could lead to mis-displayed transaction fields during clear signing.Mis-decoded fields may cause users to approve transactions different from what they see, or trigger blind-signing fallback.Bounds-check improvements and rejection of zero-field tuples reduce denial-of-service / unbounded parse risks.
This is a pure code cleanup: it replaces hard-coded '32' values with a named constant, renames a class from 'Dynamic' to 'DynamicLeaf' for clarity, and renames a variable for readability. The commit message explicitly says 'no behavior cha…
This commit removes unused code and unreachable safety checks from the Ethereum clear-signing module. The removed function (parse_uint256_array) was never actually used, and the type-check guards it supported could never be triggered. Ther…
This commit removes built-in, hard-coded display rules for the LI.FI swap/bridge protocol from Trezor's Ethereum 'clear signing' feature. It is a feature cleanup, not a fix for a code vulnerability. The change means Trezor will no longer a…
Removal of hard-coded protocol-specific display definitionsNo changes to transaction parsing, signing, or access-control codeTest fixtures migrated to external-definitions test path
This commit is purely a test-data update for Trezor's Ethereum 'clear signing' feature. It removes old built-in test fixtures and adds new externally-supplied token/chain definition files so the test suite can exercise how the device handl…
No production code changesTest-only fixture addition and removalExternal definition loading helpers are test scaffolding
This is a test-only refactoring commit. It changes how Ethereum function signatures are represented in firmware source code (from hex strings converted at runtime to raw byte literals) and updates the corresponding unit test to verify thos…
This commit only adds a new test data file containing example inputs and expected outputs for Ethereum's EIP-7702 authorization signing feature. It does not change any production firmware code, so it cannot introduce a security vulnerabili…
This commit adds a new way for Ethereum transaction definitions to include fixed text labels (called 'constant values') that are shown to the user during signing. It does not change how transaction data is parsed or signed, but it expands …
New untrusted input surface: `const_value` string in ERC-7730 display-format definitions is rendered to the user without length or content validation visible in the diff.Display-only data path bypasses calldata parsing, so a malicious or compromised host-side definition could show arbitrary constant text alongside real transaction fields.No input sanitization, escaping, or length limits are added for `const_value` in the changed code.