test(clear_signing): add Trezor Test descriptor and clear-signing tests
What changed, and why it matters
This commit only adds test code for Trezor's Ethereum clear-signing feature. It introduces debug-only test descriptors, unit tests, device tests, and expected screen snapshots. There is no change to production behavior or any fix for a security issue.
No action required; this is a test-only addition.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit adds debug-only (if __debug__) test display descriptors for Ethereum clear signing, covering scalar/atomic formatters, token-amount resolution, multi-value arrays, and composite path styles. It also adds corresponding unit tests, device tests for token-definition request handling, signing fixtures, and UI test hashes. No production logic is modified.
Changed components
core/src/apps/ethereum/clear_signing_definitions.pycore/src/apps/ethereum/sc_constants.pycore/tests/test_apps.ethereum.clear_signing.pytests/device_tests/ethereum/test_definitions_request.pycommon/tests/fixtures/ethereum/sign_tx_clear_signing.jsontests/ui_tests/fixtures.jsonInspect captured patch +961 / −1
diff --git a/common/tests/fixtures/ethereum/sign_tx_clear_signing.json b/common/tests/fixtures/ethereum/sign_tx_clear_signing.json
index f848cb4f..026bb12e 100644
--- a/common/tests/fixtures/ethereum/sign_tx_clear_signing.json
+++ b/common/tests/fixtures/ethereum/sign_tx_clear_signing.json
@@ -943,6 +943,90 @@
"sig_r": "5f5d821d9fa8ffaa8ae20660fef81b593cb459037ba350707ca5f8db0dc561b4",
"sig_s": "30fb78a394aadfec03e1c23b1f0d0440cd7131ae22bd49e5cb94584f49b29e9f"
}
+ },
+ {
+ "name": "clear_sign_trezor_test_scalars",
+ "skip_models": ["t1b1"],
+ "parameters": {
+ "comment": "Trezor Test Scalars descriptor (debug-only built-in): scalar/atomic formatters (address, amount, raw integer, unit, date, raw bytes32/bool/uint160/string/bytes). Bound to a dummy contract on mainnet via synthetic selector 7e577e01.",
+ "data": "7e577e0100000000000000000000000011111111111111111111111111111111111111110000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000003039000000000000000000000000000000000000000000000000000000006052fe70000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000123400000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000568656c6c6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004deadbeef00000000000000000000000000000000000000000000000000000000",
+ "path": "m/44'/60'/0'/0/0",
+ "to_address": "0xdddddddddddddddddddddddddddddddddddddddd",
+ "chain_id": 1,
+ "nonce": "0x0",
+ "gas_price": "0x4a817c800",
+ "gas_limit": "0x186a0",
+ "tx_type": null,
+ "value": "0x0"
+ },
+ "result": {
+ "sig_v": 37,
+ "sig_r": "4819428cfdececb60ca1652d78ba831e81f8d4f165e6cb06f29a20fae5eb90c6",
+ "sig_s": "2a76e0bcae102c441326fd97b13270410dbabda3ffce1a0ad9ea4939c041077b"
+ }
+ },
+ {
+ "name": "clear_sign_trezor_test_token",
+ "skip_models": ["t1b1"],
+ "parameters": {
+ "comment": "Trezor Test Token descriptor (debug-only built-in): token-amount resolution via token_path and via constant address. Bound to a dummy contract on mainnet via synthetic selector 7e577e02; no token definitions are provided here, so the tokens render unknown.",
+ "data": "7e577e02000000000000000000000000222222222222222222222222222222222222222200000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000002dc6c0",
+ "path": "m/44'/60'/0'/0/0",
+ "to_address": "0xdddddddddddddddddddddddddddddddddddddddd",
+ "chain_id": 1,
+ "nonce": "0x0",
+ "gas_price": "0x4a817c800",
+ "gas_limit": "0x186a0",
+ "tx_type": null,
+ "value": "0x0"
+ },
+ "result": {
+ "sig_v": 38,
+ "sig_r": "02c3db627e184d0d4d3c86f6b222a009d6cd9334d083d19d7297b53c3ac177df",
+ "sig_s": "07d0c9f26d34a436e8a1535c5a5e5ec26844c4b63a24d0da413a559c38c3233b"
+ }
+ },
+ {
+ "name": "clear_sign_trezor_test_arrays",
+ "skip_models": ["t1b1"],
+ "parameters": {
+ "comment": "Trezor Test Arrays descriptor (debug-only built-in): multi-value arrays (raw, tokenAmount with a shared constant token, date). Bound to a dummy contract on mainnet via synthetic selector 7e577e03.",
+ "data": "7e577e03000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000003d090000000000000000000000000000000000000000000000000000000000004c4b400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000006052fe70000000000000000000000000000000000000000000000000000000006553f100",
+ "path": "m/44'/60'/0'/0/0",
+ "to_address": "0xdddddddddddddddddddddddddddddddddddddddd",
+ "chain_id": 1,
+ "nonce": "0x0",
+ "gas_price": "0x4a817c800",
+ "gas_limit": "0x186a0",
+ "tx_type": null,
+ "value": "0x0"
+ },
+ "result": {
+ "sig_v": 37,
+ "sig_r": "48d8d2c439cec81fbfa8afc5fb9585ee8ec2e0d16503d41d51ae53a49bef3ff4",
+ "sig_s": "1fd6f1233a4c01e70cbcd0f37328a30007e47ddce328258218d03015355de26e"
+ }
+ },
+ {
+ "name": "clear_sign_trezor_test_paths",
+ "skip_models": ["t1b1"],
+ "parameters": {
+ "comment": "Trezor Test Paths descriptor (debug-only built-in): composite path styles - packed-bytes slicing and nested array-of-structs (including negative index + native currency). Bound to a dummy contract on mainnet via synthetic selector 7e577e04.",
+ "data": "7e577e0400000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000028444444444444444444444444444444444444444455555555555555555555555555555555555555550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006666666666666666666666666666666666666666000000000000000000000000777777777777777777777777777777777777777700000000000000000000000000000000000000000000000000000000005b8d80000000000000000000000000888888888888888888888888888888888888888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000",
+ "path": "m/44'/60'/0'/0/0",
+ "to_address": "0xdddddddddddddddddddddddddddddddddddddddd",
+ "chain_id": 1,
+ "nonce": "0x0",
+ "gas_price": "0x4a817c800",
+ "gas_limit": "0x186a0",
+ "tx_type": null,
+ "value": "0x0"
+ },
+ "result": {
+ "sig_v": 38,
+ "sig_r": "f370341cda381d24db69507a38dafe542a816de081c47e7fd7655fe979644889",
+ "sig_s": "1898b34ee2d012b19354c6c4b031747a4e6c371ed38a8e0d07d0e56414a6decd"
+ }
}
]
}
diff --git a/core/src/apps/ethereum/clear_signing_definitions.py b/core/src/apps/ethereum/clear_signing_definitions.py
index 619183d8..6450deae 100644
--- a/core/src/apps/ethereum/clear_signing_definitions.py
+++ b/core/src/apps/ethereum/clear_signing_definitions.py
@@ -8,9 +8,11 @@ from .clear_signing import (
Atomic,
BindingContext,
ContainerPath,
+ DateFormatter,
DisplayFormat,
Dynamic,
FieldDefinition,
+ RawFormatter,
TokenAmountFormatter,
Tuple,
UnitFormatter,
@@ -1237,3 +1239,151 @@ ALL_DISPLAY_FORMATS.append(
],
),
)
+
+
+if __debug__:
+ # One contract to test it all would have been easier. But Caesar has a paragraph limit.
+ # * TREZOR_TEST_SCALARS_DESCRIPTOR - scalar/atomic formatters
+ # * TREZOR_TEST_TOKEN_DESCRIPTOR - token-amount resolution (path + const)
+ # * TREZOR_TEST_ARRAYS_DESCRIPTOR - multi-value arrays
+ # * TREZOR_TEST_PATHS_DESCRIPTOR - composite path styles (slices + nested)
+ TREZOR_TEST_CHAIN_ID = 1
+ TREZOR_TEST_ADDRESS = unhexlify("dddddddddddddddddddddddddddddddddddddddd")
+ TREZOR_TEST_CONST_TOKEN = unhexlify("eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee")
+ TREZOR_TEST_NATIVE = unhexlify("0000000000000000000000000000000000000000")
+
+ TREZOR_TEST_CONTEXT = BindingContext([(TREZOR_TEST_CHAIN_ID, TREZOR_TEST_ADDRESS)])
+
+ # --- 1) scalar / atomic formatters ---
+ TREZOR_TEST_SCALARS_DESCRIPTOR = DisplayFormat(
+ binding_context=TREZOR_TEST_CONTEXT,
+ func_sig=unhexlify("7e577e01"), # synthetic selector (dummy contract)
+ intent="Trezor Test Scalars. DO NOT USE",
+ parameter_definitions=[
+ Atomic(parse_address), # 0 recipient
+ Atomic(parse_uint256), # 1 nativeAmount
+ Atomic(parse_uint256), # 2 rawInt
+ Atomic(parse_uint256), # 3 unitValue
+ Atomic(parse_uint256), # 4 timestamp
+ Atomic(parse_bytes32), # 5 hashBytes32
+ Atomic(parse_bool), # 6 flagBool
+ Atomic(parse_uint160), # 7 sizedUint
+ Dynamic(parse_string), # 8 note
+ Dynamic(parse_bytes), # 9 payload
+ ],
+ field_definitions=[
+ FieldDefinition((0,), "Recipient", AddressNameFormatter),
+ FieldDefinition((1,), "Native Amount", AmountFormatter),
+ FieldDefinition((2,), "Raw Integer", RawFormatter),
+ FieldDefinition(
+ (3,),
+ "Unit Value",
+ UnitFormatter(decimals=2, base=" UNIT", prefix=False),
+ ),
+ FieldDefinition((4,), "Date", DateFormatter),
+ FieldDefinition((5,), "Raw Bytes32", RawFormatter), # parse_bytes32
+ FieldDefinition((6,), "Raw Bool", RawFormatter), # parse_bool
+ FieldDefinition((7,), "Raw Uint160", RawFormatter), # parse_uint160
+ FieldDefinition((8,), "Raw String", RawFormatter), # string passthrough
+ FieldDefinition((9,), "Raw Bytes", RawFormatter), # bytes -> hex
+ ],
+ )
+
+ # --- 2) token-amount resolution: via token_path and via constant address ---
+ TREZOR_TEST_TOKEN_DESCRIPTOR = DisplayFormat(
+ binding_context=TREZOR_TEST_CONTEXT,
+ func_sig=unhexlify("7e577e02"), # synthetic selector (dummy contract)
+ intent="Trezor Test Token. DO NOT USE",
+ parameter_definitions=[
+ Atomic(parse_address), # 0 token (target of token_path below)
+ Atomic(parse_uint256), # 1 tokenAmount
+ Atomic(parse_uint256), # 2 constTokenAmount
+ ],
+ field_definitions=[
+ FieldDefinition(
+ (1,), "Token (via path)", TokenAmountFormatter(token_path=(0,))
+ ),
+ FieldDefinition(
+ (2,),
+ "Token (via constant)",
+ TokenAmountFormatter(const_token_address=TREZOR_TEST_CONST_TOKEN),
+ ),
+ ],
+ )
+
+ # --- 3) multi-value arrays ---
+ TREZOR_TEST_ARRAYS_DESCRIPTOR = DisplayFormat(
+ binding_context=TREZOR_TEST_CONTEXT,
+ func_sig=unhexlify("7e577e03"), # synthetic selector (dummy contract)
+ intent="Trezor Test Arrays. DO NOT USE",
+ parameter_definitions=[
+ Array(Atomic(parse_uint256)), # 0 amounts (multi-value array)
+ Array(Atomic(parse_uint256)), # 1 tokenAmounts (multi-value tokenAmount)
+ Array(Atomic(parse_uint256)), # 2 dates (multi-value date)
+ ],
+ field_definitions=[
+ FieldDefinition((0,), "Amounts (array)", RawFormatter), # multi-value raw
+ # multi-value tokenAmount sharing one constant token
+ FieldDefinition(
+ (1,),
+ "Token Amounts (array)",
+ TokenAmountFormatter(const_token_address=TREZOR_TEST_CONST_TOKEN),
+ ),
+ FieldDefinition((2,), "Dates (array)", DateFormatter), # multi-value date
+ ],
+ )
+
+ # --- 4) composite path styles: bytes slicing + nested array-of-structs ---
+ TREZOR_TEST_PATHS_DESCRIPTOR = DisplayFormat(
+ binding_context=TREZOR_TEST_CONTEXT,
+ func_sig=unhexlify("7e577e04"), # synthetic selector (dummy contract)
+ intent="Trezor Test Paths. DO NOT USE",
+ parameter_definitions=[
+ Atomic(parse_uint256), # 0 amount (reused by both slice fields)
+ Dynamic(parse_bytes), # 1 packedPath (sliced for token addresses)
+ Array( # 2 swapData: (sendingAssetId, receivingAssetId, fromAmount)[]
+ Tuple(
+ (parse_address, parse_address, parse_uint256),
+ is_dynamic=False,
+ )
+ ),
+ ],
+ field_definitions=[
+ # token_path slicing a packed bytes blob: packedPath[0:20] / [-20:]
+ FieldDefinition(
+ (0,),
+ "Token (path[0:20] slice)",
+ TokenAmountFormatter(token_path=(1, (0, 20))),
+ ),
+ FieldDefinition(
+ (0,),
+ "Token (path[-20:] slice)",
+ TokenAmountFormatter(token_path=(1, (-20,))),
+ ),
+ # nested array-of-structs: swapData[0].fromAmount, token sendingAssetId
+ FieldDefinition(
+ (2, 0, 2),
+ "Token (nested swap[0])",
+ TokenAmountFormatter(token_path=(2, 0, 0)),
+ ),
+ # negative index + native currency: swapData[-1].fromAmount, token
+ # swapData[-1].receivingAssetId (the native sentinel -> renders native)
+ FieldDefinition(
+ (2, -1, 2),
+ "Token (neg index swap[-1], native)",
+ TokenAmountFormatter(
+ token_path=(2, -1, 1),
+ native_currency_address=[TREZOR_TEST_NATIVE],
+ ),
+ ),
+ ],
+ )
+
+ ALL_DISPLAY_FORMATS.extend(
+ [
+ TREZOR_TEST_SCALARS_DESCRIPTOR,
+ TREZOR_TEST_TOKEN_DESCRIPTOR,
+ TREZOR_TEST_ARRAYS_DESCRIPTOR,
+ TREZOR_TEST_PATHS_DESCRIPTOR,
+ ]
+ )
diff --git a/core/src/apps/ethereum/sc_constants.py b/core/src/apps/ethereum/sc_constants.py
index bb8c3c6b..d3640eae 100644
--- a/core/src/apps/ethereum/sc_constants.py
+++ b/core/src/apps/ethereum/sc_constants.py
@@ -12,3 +12,8 @@ KNOWN_ADDRESSES = {
# https://etherscan.io/address/0xe592427a0aece92de3edee1f18e0157c05861564
unhexlify("e592427a0aece92de3edee1f18e0157c05861564"): "Uniswap V3 Router",
}
+
+if __debug__:
+ KNOWN_ADDRESSES[unhexlify("dddddddddddddddddddddddddddddddddddddddd")] = (
+ "Trezor Test. DO NOT USE"
+ )
diff --git a/core/tests/test_apps.ethereum.clear_signing.py b/core/tests/test_apps.ethereum.clear_signing.py
index 3c87e381..d8a31046 100644
--- a/core/tests/test_apps.ethereum.clear_signing.py
+++ b/core/tests/test_apps.ethereum.clear_signing.py
@@ -7,19 +7,27 @@ if not utils.BITCOIN_ONLY:
from ethereum_common import *
from trezor.enums import EthereumERC7730FieldFormatterType as FT
- from trezor.messages import EthereumERC7730FieldInfo, EthereumERC7730Path
+ from trezor.messages import (
+ EthereumERC7730FieldInfo,
+ EthereumERC7730Path,
+ EthereumTokenInfo,
+ )
from apps.ethereum.clear_signing import (
+ AddressNameFormatter,
Array,
Atomic,
DateFormatter,
DirtyAddress,
+ DisplayFormat,
FieldDefinition,
InvalidFormatDefinition,
OutOfBounds,
RawFormatter,
+ TokenAmountFormatter,
Tuple,
ValueOverflow,
+ _format_field_value,
parse_address,
parse_bool,
parse_bytes32,
@@ -476,6 +484,323 @@ class TestEthereumClearSigning(unittest.TestCase):
formatted, _, _ = await_result(date_fmt.format(1616051824, None, None, None))
self.assertEqual(formatted, "2021-03-18 07:17:04")
+ # --- Multi-value fields (a formatter pointed at an array) ---
+
+ def test_multi_value_formats_each_element(self):
+ # A formatter pointed at an array formats every element and joins the
+ # rendered values with newlines (one value per line).
+ fmt = RawFormatter()
+
+ formatted, token, addr = await_result(
+ _format_field_value(fmt, [10, 20, 30], None, None, None)
+ )
+ self.assertEqual(formatted, "10\n20\n30")
+ self.assertIsNone(token)
+ self.assertIsNone(addr)
+
+ # works for any leaf type the formatter supports
+ formatted, _, _ = await_result(
+ _format_field_value(fmt, ["alice", "bob"], None, None, None)
+ )
+ self.assertEqual(formatted, "alice\nbob")
+
+ def test_multi_value_scalar_passthrough(self):
+ # A non-list value is formatted directly (no newline wrapping).
+ fmt = RawFormatter()
+ formatted, _, _ = await_result(_format_field_value(fmt, 42, None, None, None))
+ self.assertEqual(formatted, "42")
+
+ def test_multi_value_empty_and_single(self):
+ fmt = RawFormatter()
+
+ # empty array renders as an empty string
+ formatted, _, _ = await_result(_format_field_value(fmt, [], None, None, None))
+ self.assertEqual(formatted, "")
+
+ # a single-element array still renders the element (no trailing newline)
+ formatted, _, _ = await_result(_format_field_value(fmt, [7], None, None, None))
+ self.assertEqual(formatted, "7")
+
+ def test_multi_value_nested_array_rejected(self):
+ # We only render flat arrays. A nested-array element is a `list`, which
+ # no formatter accepts, so it cleanly falls back (blind signing) rather
+ # than being silently flattened.
+ fmt = RawFormatter()
+ with self.assertRaises(InvalidFormatDefinition):
+ await_result(_format_field_value(fmt, [[1, 2], [3]], None, None, None))
+
+ def test_multi_value_none_element_rejected(self):
+ # An element that produces no rendering must not become a blank line.
+ fmt = RawFormatter()
+ with self.assertRaises(InvalidFormatDefinition):
+ await_result(_format_field_value(fmt, [1, None, 3], None, None, None))
+
+ def test_multi_value_address_array(self):
+ # The same behaviour with a richer formatter: an array of addresses is
+ # rendered as one checksummed (EIP-55) address per line.
+ class _Defs:
+ network = make_eth_network()
+
+ fmt = AddressNameFormatter()
+ addr1 = unhexlify("d8da6bf26964af9d7eed9e03e53415d37aa96045")
+ addr2 = unhexlify("71c7656ec7ab88b098defb751b7401b5f6d8976f")
+
+ formatted, _, _ = await_result(
+ _format_field_value(fmt, [addr1, addr2], None, _Defs(), None)
+ )
+ line1, line2 = formatted.split("\n")
+ self.assertEqual(
+ line1.lower(), "0x" + "d8da6bf26964af9d7eed9e03e53415d37aa96045"
+ )
+ self.assertEqual(
+ line2.lower(), "0x" + "71c7656ec7ab88b098defb751b7401b5f6d8976f"
+ )
+
+ def test_multi_value_token_amount(self):
+ # Multi-value with TokenAmountFormatter: every element shares the one
+ # (constant) token, rendered one amount-per-line.
+ token_addr = unhexlify("ae7ab96520de3a18e5e111b5eaab095312d7fe84")
+
+ class _Defs:
+ network = make_eth_network()
+
+ def get_token(self, address):
+ return make_eth_token(symbol="TST", decimals=6, address=address)
+
+ fmt = TokenAmountFormatter(const_token_address=token_addr)
+ formatted, token, addr = await_result(
+ _format_field_value(fmt, [1_000_000, 2_000_000], None, _Defs(), None)
+ )
+ self.assertEqual(formatted, "1 TST\n2 TST")
+ self.assertEqual(token.symbol, "TST")
+ self.assertEqual(addr, token_addr)
+
+ def test_multi_value_date(self):
+ # Multi-value with DateFormatter: a list of timestamps -> one date per line.
+ fmt = DateFormatter()
+ formatted, token, addr = await_result(
+ _format_field_value(fmt, [1616051824, 0], None, None, None)
+ )
+ self.assertEqual(formatted, "2021-03-18 07:17:04\n1970-01-01 00:00:00")
+ self.assertIsNone(token)
+ self.assertIsNone(addr)
+
+ def test_multi_value_end_to_end(self):
+ # Full path: calldata -> parse a `uint256[]` parameter -> the field path
+ # resolves to the whole array -> rendered as one value per line.
+ display_format = DisplayFormat(
+ binding_context=None,
+ func_sig=b"\x00\x00\x00\x00",
+ intent="Test",
+ parameter_definitions=[Array(Atomic(parse_uint256))],
+ field_definitions=[FieldDefinition((0,), "Values", RawFormatter)],
+ )
+
+ calldata = (
+ to_bytes(32) # pointer to the array body
+ + to_bytes(3) # array length
+ + to_bytes(10)
+ + to_bytes(20)
+ + to_bytes(30)
+ )
+
+ parameters, fields = await_result(
+ display_format.parse_calldata(memoryview(calldata), None, None)
+ )
+
+ self.assertEqual(parameters, [[10, 20, 30]])
+ self.assertEqual(len(fields), 1)
+ (label, formatted, hint), token, token_address = fields[0]
+ self.assertEqual(label, "Values")
+ self.assertEqual(formatted, "10\n20\n30")
+ self.assertIsNone(hint)
+ self.assertIsNone(token)
+ self.assertIsNone(token_address)
+
+ # --- tokenAmount with a constant (literal) token address ---
+
+ def test_from_proto_token_amount_constant_token(self):
+ # Regression test for `from_proto`
+ # Might use a .proto binary blob in future.
+ token_addr = unhexlify("ae7ab96520de3a18e5e111b5eaab095312d7fe84") # stETH
+ info = EthereumERC7730FieldInfo(
+ path=EthereumERC7730Path(path=[0]),
+ label="Amount",
+ formatter=FT.FORMATTER_TOKEN_AMOUNT,
+ const_token_address=token_addr,
+ )
+ fmt = FieldDefinition.from_proto(info).get_formatter()
+ self.assertIsInstance(fmt, TokenAmountFormatter)
+ self.assertEqual(fmt.const_token_address, token_addr)
+ self.assertIsNone(fmt.token_path)
+
+ def test_token_amount_constant_token_format(self):
+ # The token is resolved from `defs` by the constant address, without
+ # touching the calldata - so `path_walker` is never called (passed None).
+ token_addr = unhexlify("ae7ab96520de3a18e5e111b5eaab095312d7fe84") # stETH
+
+ class _Defs:
+ network = make_eth_network()
+
+ def get_token(self, address):
+ return make_eth_token(symbol="stETH", decimals=18, address=address)
+
+ fmt = TokenAmountFormatter(const_token_address=token_addr)
+ formatted, token, addr = await_result(
+ fmt.format(2 * 10**18, None, _Defs(), None)
+ )
+ self.assertEqual(addr, token_addr)
+ self.assertEqual(token.symbol, "stETH")
+ self.assertIn("stETH", formatted)
+ self.assertIn("2", formatted)
+
+ def test_token_amount_no_token_source_rejected(self):
+ # Neither token_path nor const_token_address set -> cannot resolve a token.
+ fmt = TokenAmountFormatter()
+ with self.assertRaises(InvalidFormatDefinition):
+ await_result(fmt.format(1, None, None, None))
+
+ # --- Test descriptor: every formatter / parser / path style ---
+
+ def test_descriptor_all_formatters(self):
+ from apps.ethereum.clear_signing_definitions import (
+ TREZOR_TEST_ARRAYS_DESCRIPTOR,
+ TREZOR_TEST_CONST_TOKEN,
+ TREZOR_TEST_PATHS_DESCRIPTOR,
+ TREZOR_TEST_SCALARS_DESCRIPTOR,
+ TREZOR_TEST_TOKEN_DESCRIPTOR,
+ )
+
+ class _Defs:
+ network = make_eth_network(chain_id=1, symbol="ETH")
+
+ def get_token(self, address: bytes) -> EthereumTokenInfo:
+ return make_eth_token(symbol="TST", decimals=6, address=address)
+
+ def render(
+ descriptor: DisplayFormat, calldata_hex: str
+ ) -> dict[str, tuple[str, EthereumTokenInfo | None, bytes | None]]:
+ calldata = unhexlify(calldata_hex)
+ # [4:] strips the 4-byte selector; parse_calldata expects it stripped
+ _, fields = await_result(
+ descriptor.parse_calldata(memoryview(calldata)[4:], None, _Defs())
+ )
+ return {
+ label: (formatted, token_, addr_)
+ for (label, formatted, _), token_, addr_ in fields
+ }
+
+ # --- scalars: recipient 0x11.., 1 ETH, raw 42, unit 123.45, date,
+ # bytes32 0x0001..1f, bool true, uint160 4660, "hello", 0xdeadbeef
+ rendered = render(
+ TREZOR_TEST_SCALARS_DESCRIPTOR,
+ "7e577e01"
+ "0000000000000000000000001111111111111111111111111111111111111111"
+ "0000000000000000000000000000000000000000000000000de0b6b3a7640000"
+ "000000000000000000000000000000000000000000000000000000000000002a"
+ "0000000000000000000000000000000000000000000000000000000000003039"
+ "000000000000000000000000000000000000000000000000000000006052fe70"
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"
+ "0000000000000000000000000000000000000000000000000000000000000001"
+ "0000000000000000000000000000000000000000000000000000000000001234"
+ "0000000000000000000000000000000000000000000000000000000000000140"
+ "0000000000000000000000000000000000000000000000000000000000000180"
+ "0000000000000000000000000000000000000000000000000000000000000005"
+ "68656c6c6f000000000000000000000000000000000000000000000000000000"
+ "0000000000000000000000000000000000000000000000000000000000000004"
+ "deadbeef00000000000000000000000000000000000000000000000000000000",
+ )
+ self.assertEqual(rendered["Recipient"][0].lower(), "0x" + "11" * 20)
+ self.assertEqual(rendered["Native Amount"][0], "1 ETH")
+ self.assertEqual(rendered["Raw Integer"][0], "42")
+ self.assertEqual(rendered["Unit Value"][0], "123.45 UNIT")
+ self.assertEqual(rendered["Date"][0], "2021-03-18 07:17:04")
+ self.assertEqual(
+ rendered["Raw Bytes32"][0],
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
+ )
+ self.assertEqual(rendered["Raw Bool"][0], "True")
+ self.assertEqual(rendered["Raw Uint160"][0], "4660")
+ self.assertEqual(rendered["Raw String"][0], "hello")
+ self.assertEqual(rendered["Raw Bytes"][0], "deadbeef")
+
+ # --- token-amount resolution: token 0x22.., 2.0 TST (via path), 3.0 TST
+ # (via constant)
+ rendered = render(
+ TREZOR_TEST_TOKEN_DESCRIPTOR,
+ "7e577e02"
+ "0000000000000000000000002222222222222222222222222222222222222222"
+ "00000000000000000000000000000000000000000000000000000000001e8480"
+ "00000000000000000000000000000000000000000000000000000000002dc6c0",
+ )
+ # token from the calldata `token` parameter
+ self.assertEqual(rendered["Token (via path)"][0], "2 TST")
+ self.assertEqual(rendered["Token (via path)"][2], unhexlify("22" * 20))
+ # token from the literal const_token_address, not the calldata
+ self.assertEqual(rendered["Token (via constant)"][0], "3 TST")
+ self.assertEqual(rendered["Token (via constant)"][2], TREZOR_TEST_CONST_TOKEN)
+
+ # --- multi-value arrays: amounts [1.0, 2.0], tokenAmounts [4.0, 5.0]
+ # (TST units), dates [.., ..]
+ rendered = render(
+ TREZOR_TEST_ARRAYS_DESCRIPTOR,
+ "7e577e03"
+ "0000000000000000000000000000000000000000000000000000000000000060"
+ "00000000000000000000000000000000000000000000000000000000000000c0"
+ "0000000000000000000000000000000000000000000000000000000000000120"
+ "0000000000000000000000000000000000000000000000000000000000000002"
+ "00000000000000000000000000000000000000000000000000000000000f4240"
+ "00000000000000000000000000000000000000000000000000000000001e8480"
+ "0000000000000000000000000000000000000000000000000000000000000002"
+ "00000000000000000000000000000000000000000000000000000000003d0900"
+ "00000000000000000000000000000000000000000000000000000000004c4b40"
+ "0000000000000000000000000000000000000000000000000000000000000002"
+ "000000000000000000000000000000000000000000000000000000006052fe70"
+ "000000000000000000000000000000000000000000000000000000006553f100",
+ )
+ self.assertEqual(rendered["Amounts (array)"][0], "1000000\n2000000")
+ # multi-value tokenAmount: each element shares the one constant token
+ self.assertEqual(rendered["Token Amounts (array)"][0], "4 TST\n5 TST")
+ self.assertEqual(rendered["Token Amounts (array)"][2], TREZOR_TEST_CONST_TOKEN)
+ self.assertEqual(
+ rendered["Dates (array)"][0],
+ "2021-03-18 07:17:04\n2023-11-14 22:13:20",
+ )
+
+ # --- composite path styles: amount 2.0 (TST units), packedPath
+ # 0x44..||0x55.., swap[(0x66,0x77,6.0),(0x88,native,1 ETH)]
+ rendered = render(
+ TREZOR_TEST_PATHS_DESCRIPTOR,
+ "7e577e04"
+ "00000000000000000000000000000000000000000000000000000000001e8480"
+ "0000000000000000000000000000000000000000000000000000000000000060"
+ "00000000000000000000000000000000000000000000000000000000000000c0"
+ "0000000000000000000000000000000000000000000000000000000000000028"
+ "4444444444444444444444444444444444444444555555555555555555555555"
+ "5555555555555555000000000000000000000000000000000000000000000000"
+ "0000000000000000000000000000000000000000000000000000000000000002"
+ "0000000000000000000000000000000000000000000000000000000000000040"
+ "00000000000000000000000000000000000000000000000000000000000000a0"
+ "0000000000000000000000006666666666666666666666666666666666666666"
+ "0000000000000000000000007777777777777777777777777777777777777777"
+ "00000000000000000000000000000000000000000000000000000000005b8d80"
+ "0000000000000000000000008888888888888888888888888888888888888888"
+ "0000000000000000000000000000000000000000000000000000000000000000"
+ "0000000000000000000000000000000000000000000000000de0b6b3a7640000",
+ )
+ # token_path slicing the packed bytes blob (packedPath[0:20] / [-20:])
+ self.assertEqual(rendered["Token (path[0:20] slice)"][0], "2 TST")
+ self.assertEqual(rendered["Token (path[0:20] slice)"][2], unhexlify("44" * 20))
+ self.assertEqual(rendered["Token (path[-20:] slice)"][0], "2 TST")
+ self.assertEqual(rendered["Token (path[-20:] slice)"][2], unhexlify("55" * 20))
+ # nested array-of-structs, positive index: swapData[0]
+ self.assertEqual(rendered["Token (nested swap[0])"][0], "6 TST")
+ self.assertEqual(rendered["Token (nested swap[0])"][2], unhexlify("66" * 20))
+ # negative index + native currency: swapData[-1], receivingAssetId is the
+ # native sentinel, so it renders native (no token returned)
+ self.assertEqual(rendered["Token (neg index swap[-1], native)"][0], "1 ETH")
+ self.assertIsNone(rendered["Token (neg index swap[-1], native)"][1])
+
if __name__ == "__main__":
unittest.main()
diff --git a/tests/device_tests/ethereum/test_definitions_request.py b/tests/device_tests/ethereum/test_definitions_request.py
index 09fcf9be..4d6b54b4 100644
--- a/tests/device_tests/ethereum/test_definitions_request.py
+++ b/tests/device_tests/ethereum/test_definitions_request.py
@@ -7,6 +7,7 @@ import pytest
from trezorlib import ethereum, messages
from trezorlib.debuglink import DebugSession as Session
+from trezorlib.tools import parse_path
from ... import definitions
from ...input_flows import InputFlowConfirmAllWarnings
@@ -282,3 +283,158 @@ def test_definition_request_two_tokens(session: Session) -> None:
assert_all_seen()
assert len(display_format_requests) == 1
assert len(token_requests) == 2
+
+
+# --- Test descriptor (debug-only built-ins) token-definition handling ---
+#
+# The "Trezor Test" descriptors are *built-in* display formats, so the firmware
+# does NOT request a display format for them. Of the four, two carry non-built-in
+# tokenAmount tokens that each trigger a TOKEN definition request mid-flow
+# (EthereumDefinitionRequest with no func_sig):
+# * TREZOR_TEST_TOKEN_DESCRIPTOR (7e577e02): the token_path token and the
+# const_token_address.
+# * TREZOR_TEST_PATHS_DESCRIPTOR (7e577e04): the two bytes-slice tokens and a
+# nested-struct token; the native-currency token (negative-index struct) is
+# NOT requested.
+# The two tests below sign both descriptors and cover the non-responsive and
+# responsive replies. The calldata is deliberately DIFFERENT from the
+# non-interactive signing fixtures (sign_tx_clear_signing.json) so the scenarios
+# are distinct.
+
+TEST_DESCRIPTOR_ADDRESS = "0xdddddddddddddddddddddddddddddddddddddddd"
+TEST_DESCRIPTOR_CHAIN_ID = 1
+# Non-built-in token addresses the descriptors ask the host to resolve.
+TEST_DESCRIPTOR_TOKENS = {
+ "2222222222222222222222222222222222222222", # token_path token
+ "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", # const_token_address
+ "4444444444444444444444444444444444444444", # packedPath[0:20] slice
+ "5555555555555555555555555555555555555555", # packedPath[-20:] slice
+ "6666666666666666666666666666666666666666", # swapData[0].sendingAssetId
+}
+# The native-currency sentinel (swapData[-1].receivingAssetId): never requested.
+TEST_DESCRIPTOR_NATIVE = "0000000000000000000000000000000000000000"
+# Token descriptor: token_path token 0x22.., constTokenAmount -> const 0xee..
+TEST_TOKEN_CALLDATA = bytes.fromhex(
+ "7e577e02"
+ "0000000000000000000000002222222222222222222222222222222222222222"
+ "00000000000000000000000000000000000000000000000000000000003d0900"
+ "00000000000000000000000000000000000000000000000000000000004c4b40"
+)
+# Paths descriptor: packedPath 0x44..||0x55.., swapData
+# [(0x66,0x77,6.0),(0x88,native,1.5 ETH)] - native sentinel is never requested.
+TEST_PATHS_CALLDATA = bytes.fromhex(
+ "7e577e04"
+ "00000000000000000000000000000000000000000000000000000000001e8480"
+ "0000000000000000000000000000000000000000000000000000000000000060"
+ "00000000000000000000000000000000000000000000000000000000000000c0"
+ "0000000000000000000000000000000000000000000000000000000000000028"
+ "4444444444444444444444444444444444444444555555555555555555555555"
+ "5555555555555555000000000000000000000000000000000000000000000000"
+ "0000000000000000000000000000000000000000000000000000000000000002"
+ "0000000000000000000000000000000000000000000000000000000000000040"
+ "00000000000000000000000000000000000000000000000000000000000000a0"
+ "0000000000000000000000006666666666666666666666666666666666666666"
+ "0000000000000000000000007777777777777777777777777777777777777777"
+ "00000000000000000000000000000000000000000000000000000000005b8d80"
+ "0000000000000000000000008888888888888888888888888888888888888888"
+ "0000000000000000000000000000000000000000000000000000000000000000"
+ "00000000000000000000000000000000000000000000000014d1120d7b160000"
+)
+# Both token-bearing descriptors, signed in turn by each token-request test.
+TEST_DESCRIPTOR_CALLDATAS = (TEST_TOKEN_CALLDATA, TEST_PATHS_CALLDATA)
+
+
+def _test_descriptor_sign_tx(
+ session: Session,
+ provider: Callable[
+ [messages.EthereumDefinitionRequest], messages.EthereumDefinitionAck
+ ],
+ calldata: bytes,
+ on_page: Callable | None = None,
+) -> None:
+ with session.test_ctx as client:
+ if not session.debug.legacy_debug and on_page is not None:
+ client.set_input_flow(
+ InputFlowConfirmAllWarnings(session, on_page=on_page).get()
+ )
+ elif not session.debug.legacy_debug:
+ client.set_input_flow(InputFlowConfirmAllWarnings(session).get())
+ ethereum.sign_tx(
+ session,
+ n=parse_path("m/44'/60'/0'/0/0"),
+ nonce=0,
+ gas_price=20_000_000_000,
+ gas_limit=100_000,
+ to=TEST_DESCRIPTOR_ADDRESS,
+ value=0,
+ chain_id=TEST_DESCRIPTOR_CHAIN_ID,
+ data=calldata,
+ definitions=messages.EthereumDefinitions(
+ encoded_network=definitions.encode_eth_network(
+ chain_id=TEST_DESCRIPTOR_CHAIN_ID, slip44=60
+ )
+ ),
+ supports_definition_request=True,
+ definition_provider=provider,
+ )
+
+
+def test_descriptor_token_request_non_responsive(session: Session) -> None:
+ # Reply with no definition: the non-built-in tokens stay unknown and render
+ # "UNKN", signing still completes, and the device asked for each of those
+ # token addresses on the right chain (but not the native-currency sentinel).
+ token_requests: list[messages.EthereumDefinitionRequest] = []
+
+ def provider(
+ req: messages.EthereumDefinitionRequest,
+ ) -> messages.EthereumDefinitionAck:
+ if not req.func_sig:
+ token_requests.append(req)
+ return messages.EthereumDefinitionAck(definitions=None)
+
+ on_page, assert_all_seen = make_label_checker(
+ expected={"UNKN"}, absent={"FAKE TOK"}
+ )
+ for calldata in TEST_DESCRIPTOR_CALLDATAS:
+ _test_descriptor_sign_tx(session, provider, calldata, on_page=on_page)
+ assert_all_seen()
+
+ requested = {
+ hexlify(r.token_address).decode("ascii").lower() for r in token_requests
+ }
+ assert TEST_DESCRIPTOR_TOKENS <= requested
+ assert TEST_DESCRIPTOR_NATIVE not in requested
+ for r in token_requests:
+ assert r.chain_id == TEST_DESCRIPTOR_CHAIN_ID
+
+
+def test_descriptor_token_request_responsive(session: Session) -> None:
+ # Resolve every requested token from a provided (fake) definition; the symbol
+ # is then rendered for each token field and "UNKN" never appears.
+ def provider(
+ req: messages.EthereumDefinitionRequest,
+ ) -> messages.EthereumDefinitionAck:
+ # descriptor is built-in, so only token (no-func_sig) requests are expected
+ assert not req.func_sig
+ addr = hexlify(req.token_address).decode("ascii").lower()
+ return messages.EthereumDefinitionAck(
+ definitions=messages.EthereumDefinitions(
+ encoded_network=definitions.encode_eth_network(
+ chain_id=TEST_DESCRIPTOR_CHAIN_ID
+ ),
+ encoded_token=definitions.encode_eth_token(
+ address="0x" + addr,
+ chain_id=TEST_DESCRIPTOR_CHAIN_ID,
+ symbol="FAKE TOK",
+ decimals=18,
+ name="FAKE Token",
+ ),
+ )
+ )
+
+ on_page, assert_all_seen = make_label_checker(
+ expected={"FAKE TOK"}, absent={"UNKN"}
+ )
+ for calldata in TEST_DESCRIPTOR_CALLDATAS:
+ _test_descriptor_sign_tx(session, provider, calldata, on_page=on_page)
+ assert_all_seen()
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index 5ad0c896..dcfe3f9c 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -2158,6 +2158,8 @@
"T2T1_cs_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "1d3522a7814636f01ae8b8f7c3f2ccac6439943dfcb3f9c83dc8206b51a06662",
"T2T1_cs_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "13e300dca38c63f6cc29e1d78883731cd628443aab304b3bdb5b9eeed4ac89bc",
"T2T1_cs_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "c6f92b5e49ea1e840d39c2166e2171b37344545c4c0d3e513ad5ca1a8fc6fc68",
+"T2T1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "ca4a9161d7e5fa2b9af28ff91474d303cdcb655a4a387f0e52bcd8c75d212fa8",
+"T2T1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "79bfa397fcb3e11dc0cc1080f2a36befc6d8ee9280460ff1062b2acdb27ccda1",
"T2T1_cs_ethereum-test_getaddress.py::test_getaddress[ETC]": "4184c37d73c17eaa6ef8fb2971df4184064ff7c761ee70057b4a345c11e599b6",
"T2T1_cs_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "57d9383ba39c23e14d8b35829f1195d8583fff4c8485eae216adb26859290a4d",
"T2T1_cs_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "fa1993cb18254be9ab98d700fe4f4c83aa750eb8d9567983cfb3612cfc114f13",
@@ -2272,6 +2274,10 @@
"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "ed4d358f4d87135a844ff9db139e23d0c16da4ab2d7cdc5153524e14ae311474",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "dac5fc4dd9ab9067fb6ed1b42a609e0e825188a2ab0bf8f7fd0b50f43dd28285",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "68ebb79bc147f57f848e6269eadb83e6bd4069ec6201a058afabb3f555bc5ffd",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "1c07f5ccad15de4b85fa81011732de6b49e535d7d1255b53def6a8627f6570ab",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "e37fbf0df08b570641103fcd5e69f75f717972bfa18a298e7d16b3b337c6a931",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "09ecb11ae85e759a2daf6c393fcb9fd2925b7e89063bf724bd13df8c44c60fcf",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "b3fc2f01857e628f38b3761504d958919e61e650e4eaf0dee8627c7c75e82551",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "f8d8281328de9dd59aee2778a7819b0c8d9018b52dd9dea052f0aba38c9398b1",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "4a6381558898f5e7e15ec79825f75f6214293f4884ce5288eafe2f90b46f7c03",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "20cc68625ca55081e927eee46f85bffe8b7326331a4068cc432a4597a2e4f5ec",
@@ -2371,6 +2377,10 @@
"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "ed4d358f4d87135a844ff9db139e23d0c16da4ab2d7cdc5153524e14ae311474",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "dac5fc4dd9ab9067fb6ed1b42a609e0e825188a2ab0bf8f7fd0b50f43dd28285",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "68ebb79bc147f57f848e6269eadb83e6bd4069ec6201a058afabb3f555bc5ffd",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "1c07f5ccad15de4b85fa81011732de6b49e535d7d1255b53def6a8627f6570ab",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "e37fbf0df08b570641103fcd5e69f75f717972bfa18a298e7d16b3b337c6a931",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "09ecb11ae85e759a2daf6c393fcb9fd2925b7e89063bf724bd13df8c44c60fcf",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "b3fc2f01857e628f38b3761504d958919e61e650e4eaf0dee8627c7c75e82551",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "f8d8281328de9dd59aee2778a7819b0c8d9018b52dd9dea052f0aba38c9398b1",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "4a6381558898f5e7e15ec79825f75f6214293f4884ce5288eafe2f90b46f7c03",
"T2T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "20cc68625ca55081e927eee46f85bffe8b7326331a4068cc432a4597a2e4f5ec",
@@ -3978,6 +3988,8 @@
"T2T1_de_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "6ec848692cbe91c7f049594cccb911c5c1fca570a7a07b07f7163570e4aa9ef5",
"T2T1_de_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "a39c848f2a0a0cfa4ba57451c472a6dd75cee5e91b7df59e8d52e5c13cc0f313",
"T2T1_de_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "5c98e076b8728d2e5f812e21bf834c2af679d178239271fa8a89d7feac8b13b4",
+"T2T1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "9ceed101a4bba4fab7735856fd1b5bd41de30c26815a57e1a8da00780adfd3c1",
+"T2T1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "7d82ab683e7665c269dd86e4c59554ef7e935b50ce9d029f7e9f1a3cf4e62af2",
"T2T1_de_ethereum-test_getaddress.py::test_getaddress[ETC]": "4a508107c8423c183b1396362ddbe6619a6d5cb399bb691f71a98c3251085e1e",
"T2T1_de_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "f16664b16c398ff49e6984edc3818525ec27e65631773efb7e35f46cf8645527",
"T2T1_de_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "d7e4974cb08f2e208e637881a236f9f7a81c3b6db12e7db7baed59bb204acdff",
@@ -4092,6 +4104,10 @@
"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "92668b1c1add975845a6d92cdf9c0476495709f6f84dbf8c9708f8d34c9f41df",
"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "8ce77697cb1c2048bc822df95855039ed425dd83d91793d88f2094624bf1ef3f",
"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "a0cf8945616ddbaa6387fd26f27d4a9ace7c85c25566c263b4f085f226e9cbb4",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "0dda685360b3ff7a7e52afc16f71e622ed7ba0144ae594fee5f65fa597e87281",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "61ea09b0d986fd6e20f539005564894dbd070942e9552fa755ecde3a13544697",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "2064e9f1b767756ea4db749891deb66f928e8f6bc572d0e051f94b5a55731ad3",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "e6ffe74209d2b4597c5bee9e0b1183e05d2695e8f5020198a9431f27e3427b6a",
"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "6dab4b6051c67f95f667dacc959e1a8e74aa3390c6e740730b3bb706f570c2a9",
"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "1468411f6012522f5fe28baa972c1faa536df8e683d3c730f2d2d8a8045988e8",
"T2T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "2c2fa7a2d700b0eb5e3baaeb152aecba18600e56ca1ee20356a67503e87d1bf6",
@@ -4191,6 +4207,10 @@
"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "92668b1c1add975845a6d92cdf9c0476495709f6f84dbf8c9708f8d34c9f41df",
"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "8ce77697cb1c2048bc822df95855039ed425dd83d91793d88f2094624bf1ef3f",
"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "a0cf8945616ddbaa6387fd26f27d4a9ace7c85c25566c263b4f085f226e9cbb4",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "0dda685360b3ff7a7e52afc16f71e622ed7ba0144ae594fee5f65fa597e87281",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "61ea09b0d986fd6e20f539005564894dbd070942e9552fa755ecde3a13544697",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "2064e9f1b767756ea4db749891deb66f928e8f6bc572d0e051f94b5a55731ad3",
+"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "e6ffe74209d2b4597c5bee9e0b1183e05d2695e8f5020198a9431f27e3427b6a",
"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "6dab4b6051c67f95f667dacc959e1a8e74aa3390c6e740730b3bb706f570c2a9",
"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "1468411f6012522f5fe28baa972c1faa536df8e683d3c730f2d2d8a8045988e8",
"T2T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "2c2fa7a2d700b0eb5e3baaeb152aecba18600e56ca1ee20356a67503e87d1bf6",
@@ -5798,6 +5818,8 @@
"T2T1_en_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "5331b9510ebc40143c39615eac39f7f1a250321af1a289237cefefe945506906",
"T2T1_en_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "4f3e6d63d90dafecb282bc6b7de32f88f300c9136fdf2751ba0b3a028eb75c5b",
"T2T1_en_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "c3393be263b89e1e9dbe6805a2a37251489dcc873a76db454d8a7aaad20acd43",
+"T2T1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "e842911421ae973429f9d78a2dfc1379c2aa5dd1d5d3a628162934fd2270554c",
+"T2T1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "7d93372ea99d539e11cf8510f89e80e7d7c68a00078bcc29a3580974bf8663a8",
"T2T1_en_ethereum-test_getaddress.py::test_getaddress[ETC]": "ac8c720f0a227ffe0e5c1f09fc7e56f964c8a4010c767fbfd2b8187402387e74",
"T2T1_en_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "b5a3c5cb882b22ee8435043dbdf4b698596a613c3a65d4479102490f43740635",
"T2T1_en_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "4604583e4574cd259e300bfbf6e255509b0d5a2b3a6ee402f6ee8f23e033a6e5",
@@ -5912,6 +5934,10 @@
"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "6aa50cfb8c824d9f04ac7becb8be04870c5a459065acc881793c1cc2e63c22be",
"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6e9f1ac11fae29a42ae02db2ea88219a474fc437eac6558893030aceffc1a46c",
"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "93b4c8ec72a7bb6e29b8abd893af520448f8d1abbce8687a1f04abe573b2f72e",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "1dbce80b361f95538107a88bf9ddb664fd041b66d953fbb29ee9b8578368dd8b",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "c95b6a7cb89575d4d336db9e5ef6f6e98d04ffef02daa7957461dd83c44a4b12",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "2282f84de2c775d40d5117f1655393bfaab775ed4a6d6a5a56adf86dc27f94ae",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "821a78a7a202aecb889251b8a78af59577c08c00ad9f86b06cb69f0485d74b03",
"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "a3478d57a929713308ba7621a6207ddab573f8c28ec1c262669a6090bdebc059",
"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "daf3a203752a2a7d2caed543a5ad80eae05952f3a899441afe9e24f5e962942a",
"T2T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "d1e0596e8dc0b911cadf215a423d0440bebd5b1df93d0e66ace65990e4fb3643",
@@ -6011,6 +6037,10 @@
"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "6aa50cfb8c824d9f04ac7becb8be04870c5a459065acc881793c1cc2e63c22be",
"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6e9f1ac11fae29a42ae02db2ea88219a474fc437eac6558893030aceffc1a46c",
"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "93b4c8ec72a7bb6e29b8abd893af520448f8d1abbce8687a1f04abe573b2f72e",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "1dbce80b361f95538107a88bf9ddb664fd041b66d953fbb29ee9b8578368dd8b",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "c95b6a7cb89575d4d336db9e5ef6f6e98d04ffef02daa7957461dd83c44a4b12",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "2282f84de2c775d40d5117f1655393bfaab775ed4a6d6a5a56adf86dc27f94ae",
+"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "821a78a7a202aecb889251b8a78af59577c08c00ad9f86b06cb69f0485d74b03",
"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "a3478d57a929713308ba7621a6207ddab573f8c28ec1c262669a6090bdebc059",
"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "daf3a203752a2a7d2caed543a5ad80eae05952f3a899441afe9e24f5e962942a",
"T2T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "d1e0596e8dc0b911cadf215a423d0440bebd5b1df93d0e66ace65990e4fb3643",
@@ -7636,6 +7666,8 @@
"T2T1_es_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "a731e8de5b4100cc778b85813bc359a6fc9ab7450fc74ed9ce245f53c685ea4e",
"T2T1_es_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "2e7f72a058fe0b9ab9c5e3a8ceece3b623b989cb5a3f193ea42919a472699900",
"T2T1_es_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "8837dea19af6c8aa06fb000589fb85338869e8ea0f333ad4ca591e9da7c048da",
+"T2T1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "7d81e59c26f8a8e3e3489b2554c760b8e32cf85703dbeb212529fbe923095bfe",
+"T2T1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "afc57acc51f222b4543cff41193ca67f303ff5ea6e7c20d1997d33f097adfecf",
"T2T1_es_ethereum-test_getaddress.py::test_getaddress[ETC]": "455025b3ed16aa5fec44b6bf5143f28ce17d5cd07da23134fec6d41cd009ac65",
"T2T1_es_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "9cc6e48e5929882abb4e8b5e68fde65ffb1b1f2246c88db40116c8b531dfbc6e",
"T2T1_es_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "021a4cc1105dd7223fa53dbceac74a8ccfa3143b5741c194f2ce1318c36f1b3c",
@@ -7750,6 +7782,10 @@
"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "4c2db43759e8c1becdfe543fe55dc31aaa09b079b1e6ac6aefd26402034f1bbf",
"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "d04d250c0dfefda147c261a56b841798532da1bb9df3eb257c050d29147e6457",
"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "d830d21b250d41f21876756340f3aabe076dd302b4b47b9aee8551507a805d0b",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "669cb86e48cf572f5d900d7f90f8d4f825f2c23f2ffd4af48a4eb92721926466",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "9165d5435c3603fdc45db400feef65440e62c47f0074b84bd8a8f95db5cd430d",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "08a76b9eb9aaa9b545e7894932324bc5fd79dd91bbfac25a5a745fa7f3c3d540",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "d6c71fd55aeac30009319ef1d0c7907d02b9bb3abb7d620a4e71b65baa26e10d",
"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "785735f03b81df6f3482b06941a1bf4f56b6a9b3cc1685acc13ea6315bffdb88",
"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "265049ede6805d99a89dd66f6b8dc17535aceb1c7c41ad5c5a56be4becd038c1",
"T2T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "70ffc96958f05539fcbaf8ca6eb25cc00b1d3b1c697b8888b930cd097f3da699",
@@ -7849,6 +7885,10 @@
"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "4c2db43759e8c1becdfe543fe55dc31aaa09b079b1e6ac6aefd26402034f1bbf",
"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "d04d250c0dfefda147c261a56b841798532da1bb9df3eb257c050d29147e6457",
"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "d830d21b250d41f21876756340f3aabe076dd302b4b47b9aee8551507a805d0b",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "669cb86e48cf572f5d900d7f90f8d4f825f2c23f2ffd4af48a4eb92721926466",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "9165d5435c3603fdc45db400feef65440e62c47f0074b84bd8a8f95db5cd430d",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "08a76b9eb9aaa9b545e7894932324bc5fd79dd91bbfac25a5a745fa7f3c3d540",
+"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "d6c71fd55aeac30009319ef1d0c7907d02b9bb3abb7d620a4e71b65baa26e10d",
"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "785735f03b81df6f3482b06941a1bf4f56b6a9b3cc1685acc13ea6315bffdb88",
"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "265049ede6805d99a89dd66f6b8dc17535aceb1c7c41ad5c5a56be4becd038c1",
"T2T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "70ffc96958f05539fcbaf8ca6eb25cc00b1d3b1c697b8888b930cd097f3da699",
@@ -9456,6 +9496,8 @@
"T2T1_fr_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "2144dc762314d0b2ae91a7cd792490b4ebd1c8779e1f1a5438345dff89bfc550",
"T2T1_fr_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "077b500baf11da8288ecf6b8ea4fd9ea3abb26ba11ff2992e5716153558c36b0",
"T2T1_fr_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "64a0fb34faf56dc9de3e2e653eef63488659d5a1febe1c77d0ae7758782d089c",
+"T2T1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "30dfe8542b412badd0833be8b6b503aab0cd795ca20c02bbe33f6303e8d75f6f",
+"T2T1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "48234d0549f90dc8f4ea65786f864ff8148e22461255d4abdbb4f6430ee75176",
"T2T1_fr_ethereum-test_getaddress.py::test_getaddress[ETC]": "6473ed2fa8af66ae2bf9229adc6e69b4db83327d90981256b1ccd94f3976e2f9",
"T2T1_fr_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "9f770a5d3e947b27fbd8ce803cbf2fbbd0e1834845dfd6fd28a5e08869878aa4",
"T2T1_fr_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "725042b08ba620ad4e0cc0d38864ab5a425cef8350a2711a23686d3ef3a6ee5a",
@@ -9570,6 +9612,10 @@
"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "b7ed723f5404a87920454fc717b8c109f236b1562004a241da9d9817090e3701",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "3d84852cb4205b77a736fd31286b12f6f332d03287261d5d0860375777d186d5",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "df8c41b4967e7500be2342c2daa00e472cbe4cb980c2ed139c8ff6c443eba73e",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "74633b8263fca9c64caa192aaff62bb44a5747895ce8a56a154a05124addca2b",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "ece2ef03e4f7c44aefd3c1bce04a47b0e05840ea29320a3624dc1d38e03611ef",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "8d008a0b32dba14b2d6d2693ae551db165d54a3ae2ad9989ac4f641589eca78f",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "481878bdb8b7ded837d0ce13b9f71a55c0ef607862cea95a64e6acc1e34cc463",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "331e3c890e8775ffbcb12783b87cf2dd66699f1a3dfbcb33e927a7588b515ddb",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "62658e82f617755b4e35307e6063f06886f8a911048855fbd0fa63bf0216a6fa",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "9d1628f50ac60b8c5c214d7b4fb7cfd99a6c4b9811b09d28691c0c88f6a9415a",
@@ -9669,6 +9715,10 @@
"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "b7ed723f5404a87920454fc717b8c109f236b1562004a241da9d9817090e3701",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "3d84852cb4205b77a736fd31286b12f6f332d03287261d5d0860375777d186d5",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "df8c41b4967e7500be2342c2daa00e472cbe4cb980c2ed139c8ff6c443eba73e",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "74633b8263fca9c64caa192aaff62bb44a5747895ce8a56a154a05124addca2b",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "ece2ef03e4f7c44aefd3c1bce04a47b0e05840ea29320a3624dc1d38e03611ef",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "8d008a0b32dba14b2d6d2693ae551db165d54a3ae2ad9989ac4f641589eca78f",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "481878bdb8b7ded837d0ce13b9f71a55c0ef607862cea95a64e6acc1e34cc463",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "331e3c890e8775ffbcb12783b87cf2dd66699f1a3dfbcb33e927a7588b515ddb",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "62658e82f617755b4e35307e6063f06886f8a911048855fbd0fa63bf0216a6fa",
"T2T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "9d1628f50ac60b8c5c214d7b4fb7cfd99a6c4b9811b09d28691c0c88f6a9415a",
@@ -11276,6 +11326,8 @@
"T2T1_pt_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "222218b76e1067e74366ac0d56a4dd77ae3721d92cdaa871f45aea53a1f6df2b",
"T2T1_pt_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "f162774a6a29b094e7674c67792d3ce69c7a6a3dcdd9ad0afa3b1b77b9206640",
"T2T1_pt_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "d6072407cb03f91ab39f2fe45e6b95e7c286541d5368236bda7c3a1a2d46905d",
+"T2T1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "e568d259d1001f285488095a84c654fda8786be1bd3af9f9a886a7097da4a76f",
+"T2T1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "1f9bc1a141a7ea0793bc2301c4aac009c6123d7896d6d866984ddc60aa16e58b",
"T2T1_pt_ethereum-test_getaddress.py::test_getaddress[ETC]": "4d3906109ff360b2359a7bd9f873c7cce402abdf43e8d1e30ee99ab9b872e236",
"T2T1_pt_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "2bbf3b1504edcd61bb39b66e5bde6f7f774f61bba711f2e2372061feb25241f3",
"T2T1_pt_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "82cab2f9a39d5dfd7c8c4e97418dd97e9ff8cd6f87415f2481fe91d1c4447f59",
@@ -11390,6 +11442,10 @@
"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "537cf31b69e7e856895c2e3e590f2a884deadaeb04886d00ffe69f99e0aeb435",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "f691c2249e80a3cd94fb86f2ba04cb061b60229424bfe3fdc1799488f4845293",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "bec1d2f081b9735cebcecdbdcc2677aaab1223cab44918a1bd3a45e8b738c605",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "aadf6e18faff3adf88f6af7bbe2699b1ab44a130cadff7c7a0a6d4f8218ef880",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "24d597924f741f121198f645d59a5fa1d0a572bf82cb9e558855a94a3d0d3ce7",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "040739ec2300395201a0fb77cd87d3be53facfbd1e0810d990f7488e7d90dd8e",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "69e8db99f3fa1b06d2151f8b19e9ae738f65d9324b5e6bcc39e2525aa7829ecd",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "67474f4ade9357aa96402998f345bb208c6fe972e9373d215369c3d0305964a0",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "669e647bc07ec48678745faaa36becdeb6a34cf0122e20420b741e1010f7a077",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "05a197e94e92cba78f77f96a9887b1d8304d094d4f393afa00f36ab2b0b5b734",
@@ -11489,6 +11545,10 @@
"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "537cf31b69e7e856895c2e3e590f2a884deadaeb04886d00ffe69f99e0aeb435",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "f691c2249e80a3cd94fb86f2ba04cb061b60229424bfe3fdc1799488f4845293",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "bec1d2f081b9735cebcecdbdcc2677aaab1223cab44918a1bd3a45e8b738c605",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "aadf6e18faff3adf88f6af7bbe2699b1ab44a130cadff7c7a0a6d4f8218ef880",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "24d597924f741f121198f645d59a5fa1d0a572bf82cb9e558855a94a3d0d3ce7",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "040739ec2300395201a0fb77cd87d3be53facfbd1e0810d990f7488e7d90dd8e",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "69e8db99f3fa1b06d2151f8b19e9ae738f65d9324b5e6bcc39e2525aa7829ecd",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "67474f4ade9357aa96402998f345bb208c6fe972e9373d215369c3d0305964a0",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "669e647bc07ec48678745faaa36becdeb6a34cf0122e20420b741e1010f7a077",
"T2T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "05a197e94e92cba78f77f96a9887b1d8304d094d4f393afa00f36ab2b0b5b734",
@@ -13347,6 +13407,8 @@
"T3B1_cs_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "d948a78c1dd0dd082d2e073dfaed3a30173e60e719489c80b78a56a7fb963960",
"T3B1_cs_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "e8693c75f35cfbc89749e534bdf86f2782d168a9301f357eead3a9fe3b45223c",
"T3B1_cs_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "28ebe395e3f347ac77fde7cc45bc5d95f90d3f14cd6be5ee3332fab8974d946f",
+"T3B1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "54519f86c7af2fecbd6befe9832edd39562000229b6c97850ea5ecbd58fb1047",
+"T3B1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "0a5f45fd4d4f9a9909bb01b7bc67d933e01fefdfc44c9270d147f3932f1cc7bb",
"T3B1_cs_ethereum-test_getaddress.py::test_getaddress[ETC]": "1e0bb28a019d12c5c2c84140f8ce21417fdc2e1fd7c48d185180ed085dd64cff",
"T3B1_cs_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "306cb38534459f7175a4d654fd2fbb357103982437bb8e71e55bb04d75992977",
"T3B1_cs_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "835d8ebaa02b40343aa007a0931f495c9a013b0ff72234a5837d341dbfdfc535",
@@ -13461,6 +13523,10 @@
"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "9dfbac0288d19cce3c7b09ec44b984aba6a1c0c8722b7928a78b6caf9acabe9f",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "caf50fe440ef10812a8cb3b220a4b20706fa532240638bb398ebeb7eda2c9e37",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "ce4b2ef501adbd07e29be7edb3af2f694b958d8bc15f6dfbab59334de8c5bcb5",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "5f7ce7f4f657a73dceae20ab03121f3f736d24015f88879158be49498bcfd33f",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "6a7d755b7d110f1e8147955ad0a3a5e1d49b92284c4f3b411c22eedd4bba3332",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "83ff32d51ba6a053d4ccad473830e126f3da8c3030925c674790287ac1c3d9c9",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "77c34339fa7adc5255d7d1dac7d3daa973ba77f2c5ea0accb93bcdb2aa580cf8",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "2471eec123a735ad600f15d0307947a8b2d0c1038f4a58e4e35c4e9891e40233",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "38d623833b5cb884230f2be3a695c7fbe8f6cfd89cb3d09a7c6bf8c2fcefbc9e",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "a0e1da3e4c5c647f6b94d64d89ee79e0f4bd9d1d1f0af85df69553a5e193a05c",
@@ -13560,6 +13626,10 @@
"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "9dfbac0288d19cce3c7b09ec44b984aba6a1c0c8722b7928a78b6caf9acabe9f",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "caf50fe440ef10812a8cb3b220a4b20706fa532240638bb398ebeb7eda2c9e37",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "ce4b2ef501adbd07e29be7edb3af2f694b958d8bc15f6dfbab59334de8c5bcb5",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "5f7ce7f4f657a73dceae20ab03121f3f736d24015f88879158be49498bcfd33f",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "6a7d755b7d110f1e8147955ad0a3a5e1d49b92284c4f3b411c22eedd4bba3332",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "83ff32d51ba6a053d4ccad473830e126f3da8c3030925c674790287ac1c3d9c9",
+"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "77c34339fa7adc5255d7d1dac7d3daa973ba77f2c5ea0accb93bcdb2aa580cf8",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "2471eec123a735ad600f15d0307947a8b2d0c1038f4a58e4e35c4e9891e40233",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "38d623833b5cb884230f2be3a695c7fbe8f6cfd89cb3d09a7c6bf8c2fcefbc9e",
"T3B1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "a0e1da3e4c5c647f6b94d64d89ee79e0f4bd9d1d1f0af85df69553a5e193a05c",
@@ -15106,6 +15176,8 @@
"T3B1_de_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "3f3335c7f8474d8b6c0527693993971e41a1d34c7acfab6056363737a351ff2b",
"T3B1_de_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "61dfde61f3835f98127c1df4ee76cd48dff91e7a2e3e1f0155eb015d1725451f",
"T3B1_de_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "5efb45e2e1bafb514b6651f4d475ef45ff21b4c4600826772e0d07625d4edd4d",
+"T3B1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "f73f3e26494d3b389420397ae0d3149591c1bc24f57ef4f3dbad4ae136b3fc85",
+"T3B1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "a844a1b130017f749caec7c9304031ef4e6311254da5d358c5cafe1cad6b60c4",
"T3B1_de_ethereum-test_getaddress.py::test_getaddress[ETC]": "1561611b72876af09f3a418df10ccaac6aa8149204a57e71d44d537c8887abba",
"T3B1_de_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "26fcdcfe33c2405748cb6e45771be4dd636be3585ab5b9406740a51abb8c2376",
"T3B1_de_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "e0169ab5107633c4c97ae8b06d746b89d0014fe1445cd2120b82986315120ccb",
@@ -15220,6 +15292,10 @@
"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "991a983cd51a05925181709539dd683a38e37494d7012d8ea30279e488ad4d21",
"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "42f6ee7e62c107e12537e20ce484c6300e9a4383d0c6e5d10c2706212b9289df",
"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "7c3d68fffc989de01e9879fd95280d304064ea642e64139e7986b8a990280a60",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "3888528c22ee37cea53c44a9ea9a4345f5fa2290b068a5db440a5114f2c81ccd",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "be14a66937d9460552753f34fccb4132edcae17a661bfa2676f19963bb51f803",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "d253a2499967f7439b189407b95d5d580f14a0e218a85b25a424b686ca4c7e9b",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "9fae9394bcfc57e11765c8ef5bcad06a3f54d8e47e13fb14e36c34e3d6e8be42",
"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "f59f50a6f244f63b46518f63eebb8e166d1e2f2cd4369f58982e14dd996ed5f1",
"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "2f5170b5a6646ab82421f4ae110dc4f273f14f372ad407d06d49bbb8de8cb712",
"T3B1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "1619e5f111630d11e3fb423a49a375a5d0fc4c2a7b583dc37a744495cfa589bf",
@@ -15319,6 +15395,10 @@
"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "991a983cd51a05925181709539dd683a38e37494d7012d8ea30279e488ad4d21",
"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "42f6ee7e62c107e12537e20ce484c6300e9a4383d0c6e5d10c2706212b9289df",
"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "7c3d68fffc989de01e9879fd95280d304064ea642e64139e7986b8a990280a60",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "3888528c22ee37cea53c44a9ea9a4345f5fa2290b068a5db440a5114f2c81ccd",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "be14a66937d9460552753f34fccb4132edcae17a661bfa2676f19963bb51f803",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "d253a2499967f7439b189407b95d5d580f14a0e218a85b25a424b686ca4c7e9b",
+"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "9fae9394bcfc57e11765c8ef5bcad06a3f54d8e47e13fb14e36c34e3d6e8be42",
"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "f59f50a6f244f63b46518f63eebb8e166d1e2f2cd4369f58982e14dd996ed5f1",
"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "2f5170b5a6646ab82421f4ae110dc4f273f14f372ad407d06d49bbb8de8cb712",
"T3B1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "1619e5f111630d11e3fb423a49a375a5d0fc4c2a7b583dc37a744495cfa589bf",
@@ -16865,6 +16945,8 @@
"T3B1_en_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "abe95320ff7f2f70fbd960a20648068f1b9279624a69fc706e482a71f0516dc8",
"T3B1_en_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "df7e8031b1f6d9ca8ebefb79b3bfccf904e9e8294c1b1452f43116c4643e62bc",
"T3B1_en_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "ed4c3e7287e832b57436a7faab2f507ea9c579db1bc14e4e0d195f37bda92fad",
+"T3B1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "23d40041620ab3d6532529ec6790535cd2fc17802a601a12f7f6926e10974277",
+"T3B1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "67e396398c3a6a088116eee30dcfd41da0569d81280ad5bf043b29481127a17f",
"T3B1_en_ethereum-test_getaddress.py::test_getaddress[ETC]": "225124d877812c4a830e7c7d94f4259bea62047823db6d4c7c8b9addff8893f1",
"T3B1_en_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "5f7f616a7be13e4b1918bb9ba6f8e24fbddec9e03d9c5cd4061b6368c113335e",
"T3B1_en_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "25d3262a241a38682636ce2764951822c8838887e237f15523ba39ce2ade169d",
@@ -16979,6 +17061,10 @@
"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "163ae56b45481175ecea6bf878fe55a7241184f84d0b6d9cd3814f52d962cf13",
"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6d117552b56325139483364fa0d44a5cda2ab5cd6e4501d3b73c7723db995762",
"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "14c6b2bf5be81091569685b5b0deee457dd7b8dee1b3780d17939c25cb872113",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "7c76410a1e8c7c57a0fde8ee823184323e4ba8960d1558c0ca430ff54b9a0d26",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "8109e9113f02ddbbfc4fea4dcae78107be8899f2d7b62ffc4646b5c06875bac9",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "0bb4c82ebde497791d6fdb8ecd8a0ebd80fc9f00b289f1fcdb1d23b3572cb0e2",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "5ef1887f3dba7eedda14319f473e449eab5a14c2cef66afc250f1fe65973315a",
"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "657965b4fc4ebb88f939f2dd77bb9c395826b5a086ee1a1d3e7c7a0a7d8b4921",
"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "954a1c7757ba069b3b92aff5e4f6eee7705a4298a9fae2352dd3c3544ec88a41",
"T3B1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "0c6c6b9954fa02b54755c4ddffe03a333b75bb480cad3f93f965d18c9a40a4ba",
@@ -17078,6 +17164,10 @@
"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "163ae56b45481175ecea6bf878fe55a7241184f84d0b6d9cd3814f52d962cf13",
"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6d117552b56325139483364fa0d44a5cda2ab5cd6e4501d3b73c7723db995762",
"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "14c6b2bf5be81091569685b5b0deee457dd7b8dee1b3780d17939c25cb872113",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "7c76410a1e8c7c57a0fde8ee823184323e4ba8960d1558c0ca430ff54b9a0d26",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "8109e9113f02ddbbfc4fea4dcae78107be8899f2d7b62ffc4646b5c06875bac9",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "0bb4c82ebde497791d6fdb8ecd8a0ebd80fc9f00b289f1fcdb1d23b3572cb0e2",
+"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "5ef1887f3dba7eedda14319f473e449eab5a14c2cef66afc250f1fe65973315a",
"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "657965b4fc4ebb88f939f2dd77bb9c395826b5a086ee1a1d3e7c7a0a7d8b4921",
"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "954a1c7757ba069b3b92aff5e4f6eee7705a4298a9fae2352dd3c3544ec88a41",
"T3B1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "0c6c6b9954fa02b54755c4ddffe03a333b75bb480cad3f93f965d18c9a40a4ba",
@@ -18624,6 +18714,8 @@
"T3B1_es_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "1a4b7919563289e25dde21379a8cfdfc2f2cdca7491f07bdbbc0861896be4544",
"T3B1_es_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "850ba45a21024ea5cb31d36915aeed018d92c041642d769c48eea4fb470ed510",
"T3B1_es_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "b6c86e8c566875d4e57053169137d5e6f86ec7e19d6a1bdc3da9c63b426b5568",
+"T3B1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "0d1171791e41309a432b6bb03945b6c1607a59cca6ef4ffa60d271555d94826f",
+"T3B1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "8734c9b48c9ed2886175a87e141110558be31f64f95b3aa869bdfb71a6315732",
"T3B1_es_ethereum-test_getaddress.py::test_getaddress[ETC]": "eb62547195d75727f5a4f1c01cb0a99db9cdf17dba915e8d96e10cdb933cbf52",
"T3B1_es_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "f09a55ff2d43ebca7d5c708b03fc567706ccc9ded250e733f3e3c88a2f92348c",
"T3B1_es_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "89071481c4c8cdfe968f5e3982fd525f3806e8d8ffc6d4452a10286ec6ab2fcd",
@@ -18738,6 +18830,10 @@
"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "ac4a65d162fb8c83288caae4f32b3ee8076c705898f4b78d128192cadae597b3",
"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "2186512b7f383bbfaf524af7c20221c776eb2c7009243f51476a4d345a8dea19",
"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "5962732b57c758fbc0fda32e6d6bb8c3e2ad1e6c974cf4cd9674efd9381fee8b",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "fe14ab3e515c426cde3b34c5cbba77973b2b4a648b2d1f18deeb2555ff592a0a",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "d7cc4a22ca7975860ee7309f11095eae2fc48fdb16ffe56aa2c507b9a6dd54c8",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "d4dc1a4171ccd081afab29a081bad1ccc902785bf96f92ec60acea89736f8e8a",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "77d2df84747da5aa35ce744b8bea4e6c633a4b443951530f0598af6b1fb832b1",
"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "b5d92ca5d29c1225c2921efa6146e85df1b975818df7911a21761e66f5364dbc",
"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "992c8351c494b05ec472c9e7dc5744474b8e17a30b4d73ca10c2246419a968dd",
"T3B1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "09cfb78ae21aedb799c40c542962e93f2ee30bd5ab3d051bc98ee6e73eeca688",
@@ -18837,6 +18933,10 @@
"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "ac4a65d162fb8c83288caae4f32b3ee8076c705898f4b78d128192cadae597b3",
"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "2186512b7f383bbfaf524af7c20221c776eb2c7009243f51476a4d345a8dea19",
"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "5962732b57c758fbc0fda32e6d6bb8c3e2ad1e6c974cf4cd9674efd9381fee8b",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "fe14ab3e515c426cde3b34c5cbba77973b2b4a648b2d1f18deeb2555ff592a0a",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "d7cc4a22ca7975860ee7309f11095eae2fc48fdb16ffe56aa2c507b9a6dd54c8",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "d4dc1a4171ccd081afab29a081bad1ccc902785bf96f92ec60acea89736f8e8a",
+"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "77d2df84747da5aa35ce744b8bea4e6c633a4b443951530f0598af6b1fb832b1",
"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "b5d92ca5d29c1225c2921efa6146e85df1b975818df7911a21761e66f5364dbc",
"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "992c8351c494b05ec472c9e7dc5744474b8e17a30b4d73ca10c2246419a968dd",
"T3B1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "09cfb78ae21aedb799c40c542962e93f2ee30bd5ab3d051bc98ee6e73eeca688",
@@ -20383,6 +20483,8 @@
"T3B1_fr_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "a29f35de8b7149e0cac75619807b5d2a0e64baeac04391bf2724ce9833e976dd",
"T3B1_fr_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "1ee65bf2b87eb01d62fcc43b717bdef78837e75962f484b229aed38c38eee623",
"T3B1_fr_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "fce27c9d42dac68ca8a785ca8e02335108f1d17332be4caaa76a0030c2e94cc3",
+"T3B1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "820ce06d6fa9d3c98e49c08398a7acb8581a423e62d04453b6270d26074c8a2d",
+"T3B1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "c0b3e322e1fae57c740d8693292a4c3d168340d4e7f5b5054f3d5342482c42d6",
"T3B1_fr_ethereum-test_getaddress.py::test_getaddress[ETC]": "861839789a2d9a3464c038eb91076c7d60b001e3dbf2bc97e610ae05b1dae652",
"T3B1_fr_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "1640c40f901e4373f64fafe5b14dc345fbb1be7ecadfcb01ac48d85b4727e9c7",
"T3B1_fr_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "8c116402b82296afa9dfe08837f4909d022539dbdade0d93cd637bced6e1fcc3",
@@ -20497,6 +20599,10 @@
"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "68ba49806134df2682a5431d6ce62358097ac61b4181c665bf29504e10311c54",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "f02166fcba0ae1412104afe0788b018ff0e3e7b570a81f96d022f87c15cfe889",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "14c91a580363d5c47d143d653bb132618891bc8039d3e17d653da840ac965870",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "47afd6c2e625f986a8d857eb4b69e7eb0d2e39506a65bf73abb6cca43c327de4",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "e08f2f8883fa48a7bdc66ca37b9e15b0af8e73a59837a23aaf9127962d7608c9",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "be98c92725d5af5e2a228cb6e2e54157042f64588826155484b345c85295e889",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "99fdf9ffe6ca5cb0d55821bdca3134fc2d16513429d16afd223f39a6f16ce7e2",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "09441232c81548bc3cf49f3b53e0817e13724fc779c788d028cd057eaa9a7260",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "a4a93cb4821112f796af83a185d168ede526c0d222a009268f65dd783c6f275c",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "4771240cc7ad22ce11608724dd166e2cc460c8f37f920d5cb883b0373dfa019d",
@@ -20596,6 +20702,10 @@
"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "68ba49806134df2682a5431d6ce62358097ac61b4181c665bf29504e10311c54",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "f02166fcba0ae1412104afe0788b018ff0e3e7b570a81f96d022f87c15cfe889",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "14c91a580363d5c47d143d653bb132618891bc8039d3e17d653da840ac965870",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "47afd6c2e625f986a8d857eb4b69e7eb0d2e39506a65bf73abb6cca43c327de4",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "e08f2f8883fa48a7bdc66ca37b9e15b0af8e73a59837a23aaf9127962d7608c9",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "be98c92725d5af5e2a228cb6e2e54157042f64588826155484b345c85295e889",
+"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "99fdf9ffe6ca5cb0d55821bdca3134fc2d16513429d16afd223f39a6f16ce7e2",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "09441232c81548bc3cf49f3b53e0817e13724fc779c788d028cd057eaa9a7260",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "a4a93cb4821112f796af83a185d168ede526c0d222a009268f65dd783c6f275c",
"T3B1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "4771240cc7ad22ce11608724dd166e2cc460c8f37f920d5cb883b0373dfa019d",
@@ -22142,6 +22252,8 @@
"T3B1_pt_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "657c348fff6a6acd71cb87205aafd8a92adaaf3db4ad0742483ba3aaeb02d12f",
"T3B1_pt_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "84513392475821f66f08ee13162df310f95080cb30fa9aaf270c5f3b88f04d00",
"T3B1_pt_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "3488bfc094585a976febab629ce374327d8b42b593fd09406dc1ccbe3853afa7",
+"T3B1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "213c6e1cf753463a71adb428b1e7c690c7874dc3cf598b7402596be99e2fa31b",
+"T3B1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "5d81a365e4f82863598527ad8819487edf84cf4211ac4635cdc975cb99dd5561",
"T3B1_pt_ethereum-test_getaddress.py::test_getaddress[ETC]": "78e056f40d7512c0ec6e2c3c7753f48365fec30ece146bbb47c5f43ff5418349",
"T3B1_pt_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "950be362eccba2417d1dd8e1cca4bb1485195f38de4e013b6d861a7faa8930f4",
"T3B1_pt_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "43ed409452568276fbc76449cd588f12b0fdc178b8877397c06c0189a0f098d4",
@@ -22256,6 +22368,10 @@
"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "77ae603e05e443d3bc80bccdc6e000d499e42c74881e604374a94ae5f9da06be",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "ff49ab8eac98a26d623cb0490549504cf607d097d17d92cf82d587a0025c9988",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "2ac76bdcd03a179190c72414bb39ca6436325a3c26b2bc44e31b76859498e54a",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "d5657149eb6e95320474f95a2b0ece068afcf7948cd591d698964ec249094acc",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "028f01dc55c31c08b0d5f27ca5009886ea9eda358d098353ba0539869f9375eb",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "67ccf97bea712d354ba183d5783335e3e9126090acf60dce2451fc69173c743b",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "13c702166dd10277ff92032346128a9be130bc709b857f6151e7578eaf97e861",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "cd788aac48a91b2e5cba63421e3c1e1f118d0bad5e354f136fa62a36b34c9a66",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "a2893bb2bc7050e53ccae62bd0ce8f0a760d9a5d522a4b2aa3496c617434a6cc",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "1150142a997b20caf4152a1f1bd17941cfde34fbfa83c10618b0b1e579d54dd8",
@@ -22355,6 +22471,10 @@
"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "77ae603e05e443d3bc80bccdc6e000d499e42c74881e604374a94ae5f9da06be",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "ff49ab8eac98a26d623cb0490549504cf607d097d17d92cf82d587a0025c9988",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "2ac76bdcd03a179190c72414bb39ca6436325a3c26b2bc44e31b76859498e54a",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "d5657149eb6e95320474f95a2b0ece068afcf7948cd591d698964ec249094acc",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "028f01dc55c31c08b0d5f27ca5009886ea9eda358d098353ba0539869f9375eb",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "67ccf97bea712d354ba183d5783335e3e9126090acf60dce2451fc69173c743b",
+"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "13c702166dd10277ff92032346128a9be130bc709b857f6151e7578eaf97e861",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "cd788aac48a91b2e5cba63421e3c1e1f118d0bad5e354f136fa62a36b34c9a66",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "a2893bb2bc7050e53ccae62bd0ce8f0a760d9a5d522a4b2aa3496c617434a6cc",
"T3B1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "1150142a997b20caf4152a1f1bd17941cfde34fbfa83c10618b0b1e579d54dd8",
@@ -24295,6 +24415,8 @@
"T3T1_cs_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "310dfcccfc072242b5caa986df4cb797408af61be503b6208efa54b23b21c4a5",
"T3T1_cs_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "75af5db4759638617447fced6aac2f26b214c42da712f05e9c03751bf37c662f",
"T3T1_cs_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "f6e9b91f220e52cb3b34cf59b3ad29aba3cfd1cdf9b5dc7dbf8f9634d4aa8bc2",
+"T3T1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "d1a4456aa1feed1a8b2a3335e8d1909f76d1237eecb6d5101b89554cc21a0816",
+"T3T1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "47c52233329f9f9efab35288d6aa61588b6a27f7a1551115d65fdfd20802dd3c",
"T3T1_cs_ethereum-test_getaddress.py::test_getaddress[ETC]": "042a3c1c784f6e668c7f18e102c831a7fb8c9c38fd0efbf42b92c315d8ec1fa7",
"T3T1_cs_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "a87ade2258e2ac17462b87f988a1e5020222e84641129269a37f0127d10f39c1",
"T3T1_cs_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "4d5725e5fe8a1357aee0473427deffc76793c16248b175a9406cfd761723909e",
@@ -24409,6 +24531,10 @@
"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "0e09ece4148070b500df5f7b1378a484bcc5750ef409d2bd321912b537154ca0",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "e8bff3d315a89853aba9f84f4e88e7b7c64dc34568e6d46d2b7c1d14c46c1941",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "355c7c77d7f7da6ce2053d550c7fee91b04df35e5de17d6331671f27ebab5540",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "f693d99567a5aa2429e951275a14f93245e9ce9cc7a76e16549fc257c8307e8a",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "7ec6895ca0e8c94a445db9ee76991beaec94acd7d6cfd2a10eb3e26ec03f6052",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "0810fb5554a3d4f3e25d645f06dd9323ce656990ad369cc0969c70c4e03b5746",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "24a39992d740f06e6a04839d354ac12dd235e8288e8cf8d57cbffb781f10e22a",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "f74f0e7104e48da3b55b3d0a00caf5e7e98a7c7eed09dd22a8247e0c5e755be0",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "c05040bc8bc7389b560a9eb2e00791e2d719b27d8bb853b2daebc2136fdaabb1",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "b29292d3e4ec9e65e7dfb9c143e3f79a3c20bbbe74e09122a87cd7398dfcd230",
@@ -24508,6 +24634,10 @@
"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "0e09ece4148070b500df5f7b1378a484bcc5750ef409d2bd321912b537154ca0",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "e8bff3d315a89853aba9f84f4e88e7b7c64dc34568e6d46d2b7c1d14c46c1941",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "355c7c77d7f7da6ce2053d550c7fee91b04df35e5de17d6331671f27ebab5540",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "f693d99567a5aa2429e951275a14f93245e9ce9cc7a76e16549fc257c8307e8a",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "7ec6895ca0e8c94a445db9ee76991beaec94acd7d6cfd2a10eb3e26ec03f6052",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "0810fb5554a3d4f3e25d645f06dd9323ce656990ad369cc0969c70c4e03b5746",
+"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "24a39992d740f06e6a04839d354ac12dd235e8288e8cf8d57cbffb781f10e22a",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "f74f0e7104e48da3b55b3d0a00caf5e7e98a7c7eed09dd22a8247e0c5e755be0",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "c05040bc8bc7389b560a9eb2e00791e2d719b27d8bb853b2daebc2136fdaabb1",
"T3T1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "b29292d3e4ec9e65e7dfb9c143e3f79a3c20bbbe74e09122a87cd7398dfcd230",
@@ -26089,6 +26219,8 @@
"T3T1_de_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "c59e664ee28c833d2fee1e75ff41c2b4e1e5ec6b20d0cde6231d31625e7e393e",
"T3T1_de_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "94723d9e035dd04068a4e186030514199d3c4cf728bcc504d62b641b4f2b927d",
"T3T1_de_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "d29f5d83e9cad61e13fd79ef45da380c15df656e71313bf0a4a26d526cbd7b13",
+"T3T1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "33008286b30f2607a6baef4a1912fbd40fefa8d6fe3cc17f8245fbc89e62cc3b",
+"T3T1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "e0a43d304f9793628555d1d76cd76e65d97c517906b5c83fe6528654cc115b7c",
"T3T1_de_ethereum-test_getaddress.py::test_getaddress[ETC]": "5da033ed3ffd59cb25e8e12cd12c9265a02d39f3778a3da148e0a0a3f6cca12a",
"T3T1_de_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "c6f1fe1ac085affb070d1193c66465767b6086e45bd437338fcfef013d605d52",
"T3T1_de_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "75fe65b5ae03c5b3038437bca45477503a09dd24bd3ae82d75ada2ec7a908406",
@@ -26203,6 +26335,10 @@
"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "125ffe8eabe136bdfe4fe4e6e6421e81fbe1c39363081ed9ace69ee1ffbd3b71",
"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "7ef97bce6ea76f693665c821b2078647cc2fe26544e894c5464f6dcb8ce898d9",
"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "f86d5e1d08e2dd9e4ff998dcb433d6e10b5079ea5ebcdf9037b768a556071dc9",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "fe15955b77bbc9d367c0b9ad7799ea397e454c1a0868ba8f16fb214d0ea537b0",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "f81cc477c3ad9dba8a22b11b2c02724ec151b9a6abbb5ad0d13afbeb98e4db4c",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "4dfcd63ccade169da4b27b5ac5f5ac6e86e52624bc4addbf2edb849c6bc2d233",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "6a93deda8f54213feaccb0fa21e30e81dd72dafa1e2db8cfaabefc1e265f05b6",
"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "22bb0fcf55cff221512a53c2ef7500799e578ebaab71943706b636ab36d3c929",
"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "65bdc115b47d4d94f1165009f73e47c73328195ba91b8554b11e0a90c335824f",
"T3T1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "107c18c55392adfa4e76ae81ace9ce56f77906974393713b24eded84465676b8",
@@ -26302,6 +26438,10 @@
"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "125ffe8eabe136bdfe4fe4e6e6421e81fbe1c39363081ed9ace69ee1ffbd3b71",
"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "7ef97bce6ea76f693665c821b2078647cc2fe26544e894c5464f6dcb8ce898d9",
"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "f86d5e1d08e2dd9e4ff998dcb433d6e10b5079ea5ebcdf9037b768a556071dc9",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "fe15955b77bbc9d367c0b9ad7799ea397e454c1a0868ba8f16fb214d0ea537b0",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "f81cc477c3ad9dba8a22b11b2c02724ec151b9a6abbb5ad0d13afbeb98e4db4c",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "4dfcd63ccade169da4b27b5ac5f5ac6e86e52624bc4addbf2edb849c6bc2d233",
+"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "6a93deda8f54213feaccb0fa21e30e81dd72dafa1e2db8cfaabefc1e265f05b6",
"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "22bb0fcf55cff221512a53c2ef7500799e578ebaab71943706b636ab36d3c929",
"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "65bdc115b47d4d94f1165009f73e47c73328195ba91b8554b11e0a90c335824f",
"T3T1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "107c18c55392adfa4e76ae81ace9ce56f77906974393713b24eded84465676b8",
@@ -27883,6 +28023,8 @@
"T3T1_en_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "d9ab98509eb916abdc1e1c0480809d962b07966f1f853f95242e7b70e79e50a6",
"T3T1_en_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "d36f4647a5cd7629449c47da7a6c002db1888017559e6c5cc97b2256f9f8542f",
"T3T1_en_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "9d037fcd0d7987e33edb9b539342781859b92c5c800f9cc0ddd17ca75148d63c",
+"T3T1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "db410bee964353322d77ff14f1921e3d942ba6a5d8e801e99a7621592688724f",
+"T3T1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "f15a875d7291ca272aa2b0a0e5055c9cb0b6ad54e009306d7317c4c2842ef771",
"T3T1_en_ethereum-test_getaddress.py::test_getaddress[ETC]": "befeec7221d9da3bd5e0ecbb46127f293bf2fa4c6f4983bef2f0ba1bc2c4809f",
"T3T1_en_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "bf35ea33c2e9cd0f41d30d964312a260bd3eb82570d5bcb83cb492c82f4f7158",
"T3T1_en_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "88a3e423b7b9389b7cd4dda54cc5a2869ffcf98e80e619d5b68c0df42941cf9a",
@@ -27997,6 +28139,10 @@
"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "39d7deac6e0b45a0f8875a56dc117d58ee59fefc6853779cb4f7d63bad251f3b",
"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "f7ee225c77468c4d9ec6797a5c2e186bc65a2a4fc90607c7cc167cd3df1f3353",
"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "2172cf353af9dba6140bfb4ac0eefbb8e439e488f6d684251cddad496be623af",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "4c7afa91495f179dd275474f1ca36234964797407e978fed81533cd200a0ea9f",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "51437e8351ae30447b5e071a923ff4c139c32bc321fe57b6322400c6d353eb98",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "970be103a1bd526ca6bbdec6706f07a64fe37ee72413076a19307b598fcdfa60",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "bc5bec002f537eb694e8dd44f6158d104decbc9a3e575adec5e4d535548d725c",
"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "417f3fd87491a82c6dfe4cf869612e783d5b17676046e542653af4f87f2e8e83",
"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "493535abd4ad991002ed4849c430891a736b50b73432da722a492dbb25bf10b1",
"T3T1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "11bc7b4b0d42ae4eae9ba795925b5999c1be2c42dedef5c42809a9e54a2d1254",
@@ -28096,6 +28242,10 @@
"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "39d7deac6e0b45a0f8875a56dc117d58ee59fefc6853779cb4f7d63bad251f3b",
"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "f7ee225c77468c4d9ec6797a5c2e186bc65a2a4fc90607c7cc167cd3df1f3353",
"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "2172cf353af9dba6140bfb4ac0eefbb8e439e488f6d684251cddad496be623af",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "4c7afa91495f179dd275474f1ca36234964797407e978fed81533cd200a0ea9f",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "51437e8351ae30447b5e071a923ff4c139c32bc321fe57b6322400c6d353eb98",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "970be103a1bd526ca6bbdec6706f07a64fe37ee72413076a19307b598fcdfa60",
+"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "bc5bec002f537eb694e8dd44f6158d104decbc9a3e575adec5e4d535548d725c",
"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "417f3fd87491a82c6dfe4cf869612e783d5b17676046e542653af4f87f2e8e83",
"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "493535abd4ad991002ed4849c430891a736b50b73432da722a492dbb25bf10b1",
"T3T1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "11bc7b4b0d42ae4eae9ba795925b5999c1be2c42dedef5c42809a9e54a2d1254",
@@ -29677,6 +29827,8 @@
"T3T1_es_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "f82fd883133aacea80836a85160a8e3d73d36f403b5cab882c950c1acf52eb3b",
"T3T1_es_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "aa3354d0f9e241fe87fae0aef6249a1f54e58d3dffe7d403646042e62a825777",
"T3T1_es_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "fbda7653a34e6240dbc45f0608fd09869cf5a0d056431b72ac5ff3926914423b",
+"T3T1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "3f04b3ff3df9e9950097c1b58aa9c533bd79948e07ae6b9dfb26c78fb5dd2a0d",
+"T3T1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "c5f43a37338eeafc228fd49cb2facea5d7e876d9a60b90f4ad984f05e70903c9",
"T3T1_es_ethereum-test_getaddress.py::test_getaddress[ETC]": "638811cd401aca0c84ba3bcf3baf7f8e0180c921dd65e038fda2993a5c6ab93f",
"T3T1_es_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "3ed1965d19d8b7820cb4140c54d4d2fd2be6b5751ad3cf36fbc471ab5cdda62c",
"T3T1_es_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "f7c3a31b91b7b1c43d7c6f8068b17d8e1df6fe59555b7e93d7600a9f947e5846",
@@ -29791,6 +29943,10 @@
"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "c1a77e27779554dca73c1ca8f078bfd2dbc4d4d4165f729a737904b74f02f7cb",
"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6820c5f7962a95eb0ccd1ef14567f281f455fb7f7e2f39a5a33ca2501611f4f7",
"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "62efa495e004c046434865c7289c8fea32d961a871b38ef7c7794054c2eabb7d",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "8805114ddc8cb6f38f5ba9f16f451f3901a3e6ee0c88eaa59a5723d78468d438",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "fcd4873ff4e33b9c319906e587e4c5198162412c4978b2b297aeebf3320b0d4d",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "f050ef0268de23a72bdf4d3be25ee97a73b83aa5774cba320557e13773b23f05",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "29da683d3a899926831e4b6be736e02a7d2fa97b63ef28d265e2d2725184a58f",
"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "7fe01ae282c357371bb63cfb619f53e4c1c06fdd32046c42955196a0361a1fb6",
"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "c705fa5106653e174f94047b3dbd8f652301b9e355db922a24954aa592a9affe",
"T3T1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "bfbc6103ae9bfd6e410a6fa8ced4c68b2ffc616339d0de52d19094607aac38f2",
@@ -29890,6 +30046,10 @@
"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "c1a77e27779554dca73c1ca8f078bfd2dbc4d4d4165f729a737904b74f02f7cb",
"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6820c5f7962a95eb0ccd1ef14567f281f455fb7f7e2f39a5a33ca2501611f4f7",
"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "62efa495e004c046434865c7289c8fea32d961a871b38ef7c7794054c2eabb7d",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "8805114ddc8cb6f38f5ba9f16f451f3901a3e6ee0c88eaa59a5723d78468d438",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "fcd4873ff4e33b9c319906e587e4c5198162412c4978b2b297aeebf3320b0d4d",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "f050ef0268de23a72bdf4d3be25ee97a73b83aa5774cba320557e13773b23f05",
+"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "29da683d3a899926831e4b6be736e02a7d2fa97b63ef28d265e2d2725184a58f",
"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "7fe01ae282c357371bb63cfb619f53e4c1c06fdd32046c42955196a0361a1fb6",
"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "c705fa5106653e174f94047b3dbd8f652301b9e355db922a24954aa592a9affe",
"T3T1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "bfbc6103ae9bfd6e410a6fa8ced4c68b2ffc616339d0de52d19094607aac38f2",
@@ -31471,6 +31631,8 @@
"T3T1_fr_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "169295a454733f48db06961664900361f970e6042320ac9a77690fbe92e8d02c",
"T3T1_fr_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "3b7ee07b00e735ab0b8c38b8e35530c00ec2cdaac8a1d261e88dfaf7561a7cc0",
"T3T1_fr_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "354e6dcd6bb4791e4b2bc8c17207f353d6b646204677020453316a256e713d06",
+"T3T1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "c42b5e55be4e248addb51e13cdeb91da1522d9e54201bc312d24a1dad7890ee8",
+"T3T1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "60a9ec9ef559a13de86a773ba3282f99ae2680706d07f65f4a430bc01418e48b",
"T3T1_fr_ethereum-test_getaddress.py::test_getaddress[ETC]": "34b9d8e0b473de5a12a5d729e21429757c8d7d7aaa6e3c83f1c2ad7e836f768b",
"T3T1_fr_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "a09a796de4c6082e25b09b2c6b1537975b025b810dbbb8b7f0a6e32c0f2a7eb1",
"T3T1_fr_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "4d2f04909480cefc89a6e0e49f3e5c1eaacac1d22b016564194677bef5e571ce",
@@ -31585,6 +31747,10 @@
"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "b2504d91f199a21dcfd3b8e3e1b1e4c3c5c758c024962c76eecff6ea28808a45",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "a37962289464394fcd0ef9777ee9664be422201dafcea709f0e07a0e3965e2a1",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "fe7aae0e0d4c1a3bf21954fb521ae5885b3ead100be391b9c9742debaf60ce77",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "7d4564d85a9a5382a3df90611a94bc01adc33863a402afe7368f6bfa0d76ddee",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "dfa387e2731a4c3df61a64551eda2dfad395712135850268a2af4b3ded2a7dab",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "17792b788e98e7b57f34ea425445e22b9035b29443125f55f9a4a2052dd7b183",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "c66d81446dbabd34e1aeabe4a89a7f030671d00712339e788cc3b5fc719d4e81",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "e1b9c446ae72a8805403108d4e0d600f13865086139a2a9be7ff462f145b7aef",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "fb50786f6da1e7678265821a21378ba4f1dfddd8e9e769ff9e62feea07bcc141",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "2e5a06ff337ee9e3a367106474f669084fe172bfc5e8e1a141793f3842e122da",
@@ -31684,6 +31850,10 @@
"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "b2504d91f199a21dcfd3b8e3e1b1e4c3c5c758c024962c76eecff6ea28808a45",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "a37962289464394fcd0ef9777ee9664be422201dafcea709f0e07a0e3965e2a1",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "fe7aae0e0d4c1a3bf21954fb521ae5885b3ead100be391b9c9742debaf60ce77",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "7d4564d85a9a5382a3df90611a94bc01adc33863a402afe7368f6bfa0d76ddee",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "dfa387e2731a4c3df61a64551eda2dfad395712135850268a2af4b3ded2a7dab",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "17792b788e98e7b57f34ea425445e22b9035b29443125f55f9a4a2052dd7b183",
+"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "c66d81446dbabd34e1aeabe4a89a7f030671d00712339e788cc3b5fc719d4e81",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "e1b9c446ae72a8805403108d4e0d600f13865086139a2a9be7ff462f145b7aef",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "fb50786f6da1e7678265821a21378ba4f1dfddd8e9e769ff9e62feea07bcc141",
"T3T1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "2e5a06ff337ee9e3a367106474f669084fe172bfc5e8e1a141793f3842e122da",
@@ -33265,6 +33435,8 @@
"T3T1_pt_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "a7ddb670ec66f92aefa3416ee61b8f69199b751cd67aa1d85aa2fd61bc9100bd",
"T3T1_pt_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "b265085d4e8155025abaf5fbc945d54b5f8d2f6d01621c5f5f033d34609806c9",
"T3T1_pt_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "871e1060a557bd847fb8c70d85b11e8fd21498a6aadcba5d6cf6c04e6c8e5a3b",
+"T3T1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "7195bdb52c9425eb4a97f0f28973949244c52c37aeeea9bee9334240581a9320",
+"T3T1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "13af87476e4571c9dc8937195cf7834ccf1ad15aced8cf590049d2a4c4919ee4",
"T3T1_pt_ethereum-test_getaddress.py::test_getaddress[ETC]": "435119b2bb3696d44db1cc8313666acc231ee524a751ec0436423aa3248a72ce",
"T3T1_pt_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "abbec384b98e94a43de94286c6f878b23d552ee601c6a66a287e4f5e0df0cb50",
"T3T1_pt_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "cf2a97192534053adab62614452f21822ad4a45d2b7e24cf705587914e85eed7",
@@ -33379,6 +33551,10 @@
"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "8b9f8fc5f17b1a6c43f06535e88229e0eeff34e5440def5bab4798dbe8070be5",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "15f4a540a1d790bf3fd0bf2c47a68d128f83558015539bb2e175eb08899032de",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "f865ee51be6d6a9309e0f96d60861c5f1c688ceac7568349adb22dfaec9e9415",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "2c72b03afdbfe37bb9f7a5b23290142ebb7b7b666812050970d28a9b2da6a5ff",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "27953395e9bc091fec33dc33cccab29460e05a6eac428ae562d1adaf2ee2c032",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "210805e7d30438785d735f1bdde20c75ae4fbca1520008d9ccd97384b6fbf17c",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "2fd9a2aef9e440b69f0a4a7b09b7abe28d36c98b30372b0dcce0087c9dd4aaf7",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "82c3700bc3f7ae42424febad29e73b0211cc964d87d25df0eadd91f7f73c5fbe",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "2ce475f4a0c1af55a42d04f1c06e69859c70d7162f0fb98d62d7dbf77f595506",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "a4417cbebdda476f62cfc3720463d54e1f11b63aff7ca6da4057e04e81228f4e",
@@ -33478,6 +33654,10 @@
"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "8b9f8fc5f17b1a6c43f06535e88229e0eeff34e5440def5bab4798dbe8070be5",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "15f4a540a1d790bf3fd0bf2c47a68d128f83558015539bb2e175eb08899032de",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "f865ee51be6d6a9309e0f96d60861c5f1c688ceac7568349adb22dfaec9e9415",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "2c72b03afdbfe37bb9f7a5b23290142ebb7b7b666812050970d28a9b2da6a5ff",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "27953395e9bc091fec33dc33cccab29460e05a6eac428ae562d1adaf2ee2c032",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "210805e7d30438785d735f1bdde20c75ae4fbca1520008d9ccd97384b6fbf17c",
+"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "2fd9a2aef9e440b69f0a4a7b09b7abe28d36c98b30372b0dcce0087c9dd4aaf7",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "82c3700bc3f7ae42424febad29e73b0211cc964d87d25df0eadd91f7f73c5fbe",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "2ce475f4a0c1af55a42d04f1c06e69859c70d7162f0fb98d62d7dbf77f595506",
"T3T1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "a4417cbebdda476f62cfc3720463d54e1f11b63aff7ca6da4057e04e81228f4e",
@@ -35711,6 +35891,8 @@
"T3W1_cs_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "0922a10a02398ec0c57c612eba75c97b376ec49c100c62293b9af88e62b85dd8",
"T3W1_cs_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "5d1547d4231b2f44bf84419eca2b614fbd1d2d38c769c7252ae0ac95d8800e7e",
"T3W1_cs_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "a8e6dd912aedcf0076510d90f29e9105e58f0771c92350b4e307abbf1478c31e",
+"T3W1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "c28079d4a29829716c27ae88f7fd230e9146157c8ef44bf034019884650c264c",
+"T3W1_cs_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "f12f5f79cc14da20b9b28a0a504eba00e1d43146153d9f81bbad7c5340b50f02",
"T3W1_cs_ethereum-test_getaddress.py::test_getaddress[ETC]": "3c4ce7b202893db75ce0b9c83cb17f4f1d39324d1d02829989b8f222d88cf9d7",
"T3W1_cs_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "2d2525c2016ca92fe203df0818c26946ab8368fbb037174cae7a57564c22f69c",
"T3W1_cs_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "824bdc50bf962723b938887cf8f5478a97bf3d0450db01c668f488504fd014b7",
@@ -35825,6 +36007,10 @@
"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "f9bfea06ecb524abef098724c24302373ab4327688306511ce7801f8e8a888cc",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "56f6a54ae3ce7487ccc2406a5b077c5408a0909b35daa1e400b5348c761adcb8",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "330590013d2f5d0087415d055682adcc23ebefe84206a17fc5c8e3ef195a4859",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "047f88f4a834cf711e5d5799100c3d2ee987ca7595cbdf5d9aa285be657f7b1a",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "29d9996497d1aff056107bf6355b8733833e41afbc2f3c7ae85af93033da2e88",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "539f7d6651ba3772b5653d394f2cd63402ddd0425a7e3aa6809daa5c2ac51d4e",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "f60efe6517471288ad0745e06315e21ebc9b159252e36e3f95313907509f2421",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "be11541673790ed1b5ee280612c3e28e343d875dac626ac35004f4cb5bf30122",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "0e045808f30bb0bf497fa9e4c6c9013ae90130fc4d831a7bb1932c9e594fe589",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "e2914694227651662462bd3426113376abf48b02e3ce810a82eb65dfabb44680",
@@ -35924,6 +36110,10 @@
"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "f9bfea06ecb524abef098724c24302373ab4327688306511ce7801f8e8a888cc",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "56f6a54ae3ce7487ccc2406a5b077c5408a0909b35daa1e400b5348c761adcb8",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "330590013d2f5d0087415d055682adcc23ebefe84206a17fc5c8e3ef195a4859",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "047f88f4a834cf711e5d5799100c3d2ee987ca7595cbdf5d9aa285be657f7b1a",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "29d9996497d1aff056107bf6355b8733833e41afbc2f3c7ae85af93033da2e88",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "539f7d6651ba3772b5653d394f2cd63402ddd0425a7e3aa6809daa5c2ac51d4e",
+"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "f60efe6517471288ad0745e06315e21ebc9b159252e36e3f95313907509f2421",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "be11541673790ed1b5ee280612c3e28e343d875dac626ac35004f4cb5bf30122",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "0e045808f30bb0bf497fa9e4c6c9013ae90130fc4d831a7bb1932c9e594fe589",
"T3W1_cs_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "e2914694227651662462bd3426113376abf48b02e3ce810a82eb65dfabb44680",
@@ -37519,6 +37709,8 @@
"T3W1_de_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "4d2f04dea3e744d1aa0d8610e5398693d02b1c7ddc425892cc74b805d1e6af59",
"T3W1_de_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "22fcf0e6da7e183e9997800933ec13d6c6e0ffc8546499fc241754afeccbdc0c",
"T3W1_de_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "3fcf045632e2dc3e5e041706c03f14e645b8003e04cc74ce199e2e8c97112f54",
+"T3W1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "a1bdbe20c7b932f90e1d4dd6c9d30369af89f56d8fa038403a02d47d87d7ee11",
+"T3W1_de_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "dc3ce219607ea17c97aab1e54be28f1aea639e5e1588d157350c86719a5d71c1",
"T3W1_de_ethereum-test_getaddress.py::test_getaddress[ETC]": "892c918d2a753aaaaada38d1398b9c5eea38738c8258fd8ee5365d923566697b",
"T3W1_de_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "bcaa8f844c36c96d0e85a39912adfe6b6b17ae9de22324cc775561f348d2bdb0",
"T3W1_de_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "ba6b84585c2586ee4431086609dcc56222e62199d792579f77a4011ddb55fb54",
@@ -37633,6 +37825,10 @@
"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "7adef2ff94461a6c241e80b7d3853037604547beada477b62663be1eb7d06cda",
"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6408112781c98d716f34b3327070118dd4c403ff92a2a5cc2b9b1d717e5de20f",
"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "fbb0da720d12b48c4b836649d9d4b27a59a0d1c8cfc8c846008a6fa77905e0e9",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "0238170f667b49de66ff78295866a368c16422b2649d2cfce39c84c2cebaf64a",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "97f893d7116e7fea91f74c81bc01321479a84f1f0a433681fadf44cdde98c928",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "a84788965fa399416dfc1f062104740e0a312a4a13d412033f5af65ca7185632",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "1c3f69e90db4f95d2605815a1d81ae3b04bba69014934f25e7bc3052b183df60",
"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "bbbd902269b5cf07c78281e7263831afa68794775caf549ed33ac8289e9472f3",
"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "9875a199220f3840e6ef90aa7965f541c4375ec6808fb6496c7c93c62753b563",
"T3W1_de_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "3bae8c8627ad63f77aff5bdbe9df0342a7fa8631f971317e62039c7cfb3b96aa",
@@ -37732,6 +37928,10 @@
"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "7adef2ff94461a6c241e80b7d3853037604547beada477b62663be1eb7d06cda",
"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "6408112781c98d716f34b3327070118dd4c403ff92a2a5cc2b9b1d717e5de20f",
"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "fbb0da720d12b48c4b836649d9d4b27a59a0d1c8cfc8c846008a6fa77905e0e9",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "0238170f667b49de66ff78295866a368c16422b2649d2cfce39c84c2cebaf64a",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "97f893d7116e7fea91f74c81bc01321479a84f1f0a433681fadf44cdde98c928",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "a84788965fa399416dfc1f062104740e0a312a4a13d412033f5af65ca7185632",
+"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "1c3f69e90db4f95d2605815a1d81ae3b04bba69014934f25e7bc3052b183df60",
"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "bbbd902269b5cf07c78281e7263831afa68794775caf549ed33ac8289e9472f3",
"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "9875a199220f3840e6ef90aa7965f541c4375ec6808fb6496c7c93c62753b563",
"T3W1_de_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "3bae8c8627ad63f77aff5bdbe9df0342a7fa8631f971317e62039c7cfb3b96aa",
@@ -39327,6 +39527,8 @@
"T3W1_en_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "9bb7f152228f5182108dd6bdfbe281b86e59f14609e0b8547030a3aae90bca07",
"T3W1_en_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "99c946157834f82a6ecac9790442d8ec79135a3ff2c2e75bdc42c407b273ec26",
"T3W1_en_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "2fe4daddc2366a7bd9d65fc2b1e8e99b90de15bfb88def6357cea8ec2fc26332",
+"T3W1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "87c25291dca52f6d6e87faa563600c1333aff06c563c5cb6e6e8b6f896b87c8e",
+"T3W1_en_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "1cc9dd6cb9c88cb2ea6a95b570a3843a3531273414e8ac20a1c0e7b11ca934db",
"T3W1_en_ethereum-test_getaddress.py::test_getaddress[ETC]": "b2c2694bc82b26956536c0f55a70ce681d3c61994fef982e35a825e38d8f76a4",
"T3W1_en_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "f4f079843bfedc4fc2abf4ee21987c24f046cb4b8107779927fdc37313cabfe5",
"T3W1_en_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "352f73ea1f5356c9b72ec1c53ac7d3c047c462702b8fee83a3432eb44675642b",
@@ -39441,6 +39643,10 @@
"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "6598055926c76a10e2091a78a5fb493c505da69a6de55ab1ee434f6a998e7fa5",
"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "e5a3af8c071c41f448f2b5e56abfba80a40abdcfa92c3497da2f64a977a9eb2d",
"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "01c072a339c94f4e96877b32cbe9f7c238c5c6beed018224b6182ab81f6b7239",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "f6fd5e3ab3cd2fe575ab3ced4eeb0295f8069398754835cd38b4634ef4883f74",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "778e60087834fc992e49f16d531cc8391c9a27eeea097c23d8a8573336fc183d",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "0bade566cd871c83b9080630431bdc9b876bf43e467cf566e6d54eedfb42e208",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "24d86c8d01d496c70156210baf14664f855e2660ea16bab15ec3baec5b9c2cbc",
"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "9d5155404fa0ea3467ca2edf8b14f17648a92a5aa3220f3fc5b357d376957ae0",
"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "0c15508cd7b70b6683377a5539604c285b51d8f8374605fe1c2859d66ac49f7c",
"T3W1_en_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "956c518b8739a9db9e7924d9e855ea1956bcc82894c234e1bd28149f27b47bda",
@@ -39540,6 +39746,10 @@
"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "6598055926c76a10e2091a78a5fb493c505da69a6de55ab1ee434f6a998e7fa5",
"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "e5a3af8c071c41f448f2b5e56abfba80a40abdcfa92c3497da2f64a977a9eb2d",
"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "01c072a339c94f4e96877b32cbe9f7c238c5c6beed018224b6182ab81f6b7239",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "f6fd5e3ab3cd2fe575ab3ced4eeb0295f8069398754835cd38b4634ef4883f74",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "778e60087834fc992e49f16d531cc8391c9a27eeea097c23d8a8573336fc183d",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "0bade566cd871c83b9080630431bdc9b876bf43e467cf566e6d54eedfb42e208",
+"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "24d86c8d01d496c70156210baf14664f855e2660ea16bab15ec3baec5b9c2cbc",
"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "9d5155404fa0ea3467ca2edf8b14f17648a92a5aa3220f3fc5b357d376957ae0",
"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "0c15508cd7b70b6683377a5539604c285b51d8f8374605fe1c2859d66ac49f7c",
"T3W1_en_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "956c518b8739a9db9e7924d9e855ea1956bcc82894c234e1bd28149f27b47bda",
@@ -41135,6 +41345,8 @@
"T3W1_es_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "f9d416666e4ee6dbc9ec9b23eca4bbab58497df24a486006fecaad77116c2771",
"T3W1_es_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "39131ded2c48432e9be308c51d2ebac0375cfd57b997ed7d379d8061346c6120",
"T3W1_es_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "6028ef0881bbc4838e5f0d5aa571f60a47d894f6205b4bcea0250338d4944f50",
+"T3W1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "de9962c216bc647c049efb33914ef4bcc7169c6448d7920ac5dfce76fd1fd18d",
+"T3W1_es_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "8e0879553acbeccadc288fa0e45d17d46c441fde31aa85423e19e6ee3158ef4e",
"T3W1_es_ethereum-test_getaddress.py::test_getaddress[ETC]": "aa2fe371b66a1022692376809c2f932c6435c65c14a162723fe1edad50dfee13",
"T3W1_es_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "e887e3b1d6477f65c7589003f44d08b7eacfbe6a639f411d32ee0e946baac4cc",
"T3W1_es_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "71ab7b05b66e75f59cc389e2f7f5e108658473473f3a3f87bf4c3996407994c6",
@@ -41249,6 +41461,10 @@
"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "7791396bbfe8b46d8541717e5f65110dc95018f4c336cd2e6e515a1afcdd77ad",
"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "505d33b2ec4913f7d45fcd3220fbbf33320cec4c8f04d317f4c25aa3c6434dbb",
"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "70d5a608ed5c7188b53d8b87043dad629ddb83509a742824415c26d829dae626",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "a19cb9df246294a3e5f577b452a173edb0ea2ad993be04ac21185cc1a5aca602",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "afdd0bdba53a0ed42c593e7c4dfea51340644f4a088fdf369b6472d982565764",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "5902a27d53ccd07bc71ce474674a30dfc402f7a410906dd93cca70b445cae9ba",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "52757f7d887adbabd80a90a544f2712368d854ed76b054c2cb69fb2bbd8067b4",
"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "e7f789f841283cfca0fce513673c4d8cb82582243fb6154bd3bd5dd1bfed00e8",
"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "b503812f909ca766a68b97bc17cd226088da65b5489b282a1c900a590a2d22a1",
"T3W1_es_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "e15b5e6daf1f1ca8c191c0ac0e5ea54186555e0d4272bf65309d9d0d04f6c70d",
@@ -41348,6 +41564,10 @@
"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "7791396bbfe8b46d8541717e5f65110dc95018f4c336cd2e6e515a1afcdd77ad",
"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "505d33b2ec4913f7d45fcd3220fbbf33320cec4c8f04d317f4c25aa3c6434dbb",
"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "70d5a608ed5c7188b53d8b87043dad629ddb83509a742824415c26d829dae626",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "a19cb9df246294a3e5f577b452a173edb0ea2ad993be04ac21185cc1a5aca602",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "afdd0bdba53a0ed42c593e7c4dfea51340644f4a088fdf369b6472d982565764",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "5902a27d53ccd07bc71ce474674a30dfc402f7a410906dd93cca70b445cae9ba",
+"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "52757f7d887adbabd80a90a544f2712368d854ed76b054c2cb69fb2bbd8067b4",
"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "e7f789f841283cfca0fce513673c4d8cb82582243fb6154bd3bd5dd1bfed00e8",
"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "b503812f909ca766a68b97bc17cd226088da65b5489b282a1c900a590a2d22a1",
"T3W1_es_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "e15b5e6daf1f1ca8c191c0ac0e5ea54186555e0d4272bf65309d9d0d04f6c70d",
@@ -42943,6 +43163,8 @@
"T3W1_fr_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "89dd3bb81a43b11f2139a7aff12b1f956c2835184848b036de999d8579dbe685",
"T3W1_fr_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "19c1402c4204eefb887c397479ae7ad451d87b8ae339752bba8027091504dc16",
"T3W1_fr_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "30c9d03e5b571c44adbdd79b0ce89b501ead7c1150bb959c773f61e81dade0a0",
+"T3W1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "07460c635e2da2355de852ca942eb13c5a08b40e293a2bb2fc9e626e009dda87",
+"T3W1_fr_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "3cdd1177fac42534cb52bc6c35ed2dad19b07aebf4e32bbee041c5f9bc29a92d",
"T3W1_fr_ethereum-test_getaddress.py::test_getaddress[ETC]": "c64f4ef4c89dad9cbe9e1436b201fbca47aed319bf5bcde7dbfae76c56662cea",
"T3W1_fr_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "b28ad5920834961b5deed3f1445a453d1459ae3132774d5403b5044d97280174",
"T3W1_fr_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "6c73544e67e62ae326e744505f643ae7842ab9aaba930060b828e1d44b4233f4",
@@ -43057,6 +43279,10 @@
"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "9eaea4b60a14d6b533d2bda1e785280f43cb23ba5c019bd3e868fc5fa40f3306",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "0049280d2fd17f68db5e7c64ffdae06540e006421201424e16afbc2a3b9b88e7",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "93a658f641fe394d0442a79f8c77d01de7ba0f5da840a4730662a18a2f31f594",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "a7f699e18d051f19857c027d342ac190418d96dcc34555536e747be503cc9f3e",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "8db4b5682e7979bf2917125867e3166ea76fa2c82ac02408521d20ed768fa481",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "23523e9257026d27548b6382172d12dfc9fff27397c03bd4d024f201fe9b23a0",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "dbc67d31421bc2c3d9d83d33b3a3d2db373f3ae40242133d6d2c4559e660c93b",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "6763c5ac81eedcc3ef2919ea108db1bceab223ca904a6f7b8348929d04937183",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "f40cb74aa00b19b86801c27e6e32eface5cb2faade507602bcd8d977fdba0e6e",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "34c6954758826552c2b584d933892b1471d0f4249976524b56d601b42c91a09f",
@@ -43156,6 +43382,10 @@
"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "9eaea4b60a14d6b533d2bda1e785280f43cb23ba5c019bd3e868fc5fa40f3306",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "0049280d2fd17f68db5e7c64ffdae06540e006421201424e16afbc2a3b9b88e7",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "93a658f641fe394d0442a79f8c77d01de7ba0f5da840a4730662a18a2f31f594",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "a7f699e18d051f19857c027d342ac190418d96dcc34555536e747be503cc9f3e",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "8db4b5682e7979bf2917125867e3166ea76fa2c82ac02408521d20ed768fa481",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "23523e9257026d27548b6382172d12dfc9fff27397c03bd4d024f201fe9b23a0",
+"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "dbc67d31421bc2c3d9d83d33b3a3d2db373f3ae40242133d6d2c4559e660c93b",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "6763c5ac81eedcc3ef2919ea108db1bceab223ca904a6f7b8348929d04937183",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "f40cb74aa00b19b86801c27e6e32eface5cb2faade507602bcd8d977fdba0e6e",
"T3W1_fr_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "34c6954758826552c2b584d933892b1471d0f4249976524b56d601b42c91a09f",
@@ -44756,6 +44986,8 @@
"T3W1_pt_ethereum-test_definitions_request.py::test_definition_request_two_tokens": "3f22639082c718aa90bf642afb20072b6d735d03b684c02b31166485c5693109",
"T3W1_pt_ethereum-test_definitions_request.py::test_definition_request_with_display_format": "b869ed9922a8b8ff49c50378ff6fc7c59f5ece7e77618d5f1f30487fd0a08575",
"T3W1_pt_ethereum-test_definitions_request.py::test_definition_request_with_invalid_display_format": "d9bafcd82efaf11051065647752beb26ddc891c4e9733e966885df54f06d8ca1",
+"T3W1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_non_responsive": "9250581437082baac10ab2bc35b3cd5bc54d119cc68a00add6c8aa9753c43388",
+"T3W1_pt_ethereum-test_definitions_request.py::test_descriptor_token_request_responsive": "a5f2936943217b0819f2d629407c08e5dca444478a4aa60aac537fe514858059",
"T3W1_pt_ethereum-test_getaddress.py::test_getaddress[ETC]": "8c757064755e2ce498c680d6f9b03dc2ece2331d7b642ba789999f3eb8c85d74",
"T3W1_pt_ethereum-test_getaddress.py::test_getaddress[Ledger Live legacy path]": "83424655913c256a0b221c851513e720fa16aaf78d636c64fc000a69ab369537",
"T3W1_pt_ethereum-test_getaddress.py::test_getaddress[parameters0-result0]": "1419152c66f14a26787b440db1ffe3d39c957bc5168e487405c749c14fae96bb",
@@ -44870,6 +45102,10 @@
"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "c1166dffa4f36fa486f6112201d31ecc1ddf61d4b1a5ebb9340c87fe71efcf36",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "fb223bdefd432067d46b0feceac0a6db009c68cd7d58512a9f334f2b98b4f6a8",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "e73c5c60788b058c948f9f7a9f4d936e3ba0eb198f72315102d4afe02664da98",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_arrays]": "01aa65876aa52a8376d95a8552a8bd69404769ed272338b4d53803d9a0fefe82",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_paths]": "fb74473bb002190d88f3881b615de1c9bc4ec33bebbf1d8291e9a46272ed8dd0",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_scalars]": "a1383b3849675e70ed746ed5d9c559f4599839cfe7fc9484becabd9efbfe1bae",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_trezor_test_token]": "47492c5d74db0da0562b3e053521e067e4e8b84c7896292d6c2eaf9215c9b1eb",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInputSingle]": "73b128cec40e680fd4dc9a6696a200576d6618c55b18da5450ded79465ed54f3",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactInput]": "0642c006528b5da854d6c43bd4b4a85e5db81c8c1ec4520a3c564263bfef203b",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[False-clear_sign_uniswap_exactOutputSingle]": "80cdf29110d069dcd672fc303e4af3390f197499d930ba28232fc31d37a6ec6f",
@@ -44969,6 +45205,10 @@
"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToERC20_real_1]": "c1166dffa4f36fa486f6112201d31ecc1ddf61d4b1a5ebb9340c87fe71efcf36",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3ERC20ToNative]": "fb223bdefd432067d46b0feceac0a6db009c68cd7d58512a9f334f2b98b4f6a8",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_lifi_swapTokensSingleV3NativeToERC20]": "e73c5c60788b058c948f9f7a9f4d936e3ba0eb198f72315102d4afe02664da98",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_arrays]": "01aa65876aa52a8376d95a8552a8bd69404769ed272338b4d53803d9a0fefe82",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_paths]": "fb74473bb002190d88f3881b615de1c9bc4ec33bebbf1d8291e9a46272ed8dd0",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_scalars]": "a1383b3849675e70ed746ed5d9c559f4599839cfe7fc9484becabd9efbfe1bae",
+"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_trezor_test_token]": "47492c5d74db0da0562b3e053521e067e4e8b84c7896292d6c2eaf9215c9b1eb",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInputSingle]": "73b128cec40e680fd4dc9a6696a200576d6618c55b18da5450ded79465ed54f3",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactInput]": "0642c006528b5da854d6c43bd4b4a85e5db81c8c1ec4520a3c564263bfef203b",
"T3W1_pt_ethereum-test_signtx.py::test_signtx[True-clear_sign_uniswap_exactOutputSingle]": "80cdf29110d069dcd672fc303e4af3390f197499d930ba28232fc31d37a6ec6f",
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.