What changed, and why it matters
This commit adds on-device user-interface support for SLIP-24 payment requests on the Trezor Model T (Bolt layout). It does not change transaction validation, cryptography, or signing logic. Instead, it wires up new confirmation screens so users can review payment-request details (provider, refund addresses, swap/trade details, fees) before signing. Existing tests that previously skipped Model T are now enabled for it, and new UI test hashes are recorded. There is no direct evidence of a security vulnerability in this patch.
No immediate security action is required. Treat as a normal feature commit. If auditing, verify that the new `confirm_payment_request` flow correctly displays all security-critical fields (recipient, refund addresses, trade amounts, fees) and that user confirmation is required before signing. Also confirm that `external_menu`/`info` button behavior cannot be abused to hide or bypass confirmation pages.
Security signals we found
UI-only feature enablement for SLIP-24 payment requests on Model T
Previously stubbed parameters (verb, external_menu) now take effect in Bolt layout
New confirmation flows for provider, refund, swap/trade, and fee details
No changes to signature, MAC, or transaction validation logic visible in diff
Test coverage expanded but only for expected-success and expected-failure UI flows
Evidence from the diff
The change implements confirm_payment_request() and confirm_trade() in core/src/trezor/ui/layouts/bolt/__init__.py, and updates the Rust Bolt UI firmware (core/embed/rust/src/ui/layout_bolt/ui_firmware.rs) to honor the previously ignored verb and external_menu parameters in confirm_properties(). The Rust change adds an info button when external_menu is true and uses the supplied verb instead of hard-coding ‘Confirm’. Test code removes skip='t2t1' annotations for payment-request tests across Bitcoin, Cardano, Ethereum, Ripple, and Solana, and adds corresponding UI fixture hashes. No cryptographic or protocol validation code is modified.
Changed components
core/src/trezor/ui/layouts/bolt/__init__.pycore/embed/rust/src/ui/layout_bolt/ui_firmware.rstests/device_tests/bitcoin/test_signtx_payreq.pytests/device_tests/cardano/test_sign_tx.pytests/device_tests/ethereum/test_signtx.pytests/device_tests/ripple/test_sign_tx.pycommon/tests/fixtures/solana/sign_tx.payment_request.jsontests/ui_tests/fixtures.jsonInspect captured patch +307 / −48
diff --git a/common/tests/fixtures/solana/sign_tx.payment_request.json b/common/tests/fixtures/solana/sign_tx.payment_request.json
index df2e9723..4c8c7fa1 100644
--- a/common/tests/fixtures/solana/sign_tx.payment_request.json
+++ b/common/tests/fixtures/solana/sign_tx.payment_request.json
@@ -5,7 +5,6 @@
},
"tests": [
{
- "skip_models": ["t2"],
"experimental": true,
"description": "Payment request",
"parameters": {
@@ -57,7 +56,6 @@
}
},
{
- "skip_models": ["t2"],
"experimental": true,
"description": "Payment request - multiple transfers",
"parameters": {
diff --git a/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs b/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs
index 2c6d0434..7ff1b3e2 100644
--- a/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs
+++ b/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs
@@ -391,17 +391,23 @@ impl FirmwareUI for UIBolt {
_subtitle: Option<TString<'static>>,
items: Obj,
hold: bool,
- _verb: Option<TString<'static>>,
- _external_menu: bool,
+ verb: Option<TString<'static>>,
+ external_menu: bool,
) -> Result<impl LayoutMaybeTrace, Error> {
let paragraphs = PropsList::new(items)?;
let page = if hold {
ButtonPage::new(paragraphs.into_paragraphs(), theme::BG).with_hold()?
} else {
ButtonPage::new(paragraphs.into_paragraphs(), theme::BG)
- .with_cancel_confirm(None, Some(TR::buttons__confirm.into()))
+ .with_cancel_confirm(None, Some(verb.unwrap_or(TR::buttons__confirm.into())))
};
- let layout = RootComponent::new(Frame::left_aligned(theme::label_title(), title, page));
+ let mut frame = Frame::left_aligned(theme::label_title(), title, page);
+ if external_menu {
+ // Note: this could become a hamburger button when we would actually
+ // support menus, but for now all we have on model T is an info button
+ frame = frame.with_info_button();
+ }
+ let layout = RootComponent::new(frame);
Ok(layout)
}
diff --git a/core/src/trezor/ui/layouts/bolt/__init__.py b/core/src/trezor/ui/layouts/bolt/__init__.py
index f5b0bf96..4a40502d 100644
--- a/core/src/trezor/ui/layouts/bolt/__init__.py
+++ b/core/src/trezor/ui/layouts/bolt/__init__.py
@@ -8,7 +8,7 @@ from trezor.wire import ActionCancelled
from ..common import draw_simple, interact, raise_if_cancelled, with_info
if TYPE_CHECKING:
- from typing import Awaitable, Iterable, NoReturn, Sequence
+ from typing import Awaitable, Iterable, List, NoReturn, Sequence
from ..common import ExceptionType, PropertyType
@@ -470,6 +470,93 @@ def show_continue_in_app(content: str) -> None:
return
+async def confirm_payment_request(
+ recipient_name: str,
+ recipient: str,
+ texts: Iterable[tuple[str | None, str]],
+ refunds: Iterable[tuple[str, str | None, str | None]],
+ trades: list[tuple[str, str, str, str | None, str | None]],
+ account_items: List[PropertyType] | None,
+ transaction_fee: str | None,
+ fee_info_items: Iterable[PropertyType] | None,
+ token_address: str | None,
+) -> None:
+ # Note: we don't support "sales" (swap to fiat) yet,
+ # so if there is any trade, we assume it must be a swap
+ is_swap = len(trades) != 0
+
+ for title, text in texts:
+ await raise_if_cancelled(
+ trezorui_api.confirm_value(
+ title=(title or (TR.words__swap if is_swap else TR.words__confirm)),
+ value=text,
+ is_data=False,
+ description=None,
+ ),
+ "confirm_payment_request",
+ )
+
+ menu_items: list[PropertyType] = [
+ (TR.address__title_provider_address, recipient, None)
+ ]
+ for r_address, r_account, r_account_path in refunds:
+ menu_items.append((TR.address__title_refund_address, r_address, None))
+ if r_account:
+ menu_items.append((TR.words__account, r_account, None))
+ if r_account_path:
+ menu_items.append(
+ (TR.address_details__derivation_path, r_account_path, None)
+ )
+
+ await with_info(
+ trezorui_api.confirm_value(
+ title=(TR.words__swap if is_swap else TR.words__confirm),
+ subtitle=TR.words__provider,
+ value=recipient_name,
+ description=None,
+ verb=TR.words__confirm,
+ verb_cancel=None,
+ chunkify=False,
+ info=True,
+ ),
+ trezorui_api.confirm_properties(
+ title="",
+ items=menu_items,
+ verb=TR.buttons__close,
+ ),
+ "confirm_payment_request",
+ ButtonRequestType.SignTx,
+ )
+
+ for sell_amount, buy_amount, t_address, t_account, t_account_path in trades:
+ await confirm_trade(
+ TR.words__swap,
+ sell_amount,
+ buy_amount,
+ t_address,
+ t_account,
+ t_account_path,
+ token_address,
+ )
+
+ if transaction_fee is not None:
+ if fee_info_items:
+ await confirm_properties(
+ "confirm_payment_request", "", list(fee_info_items)
+ )
+ await _confirm_summary(
+ None,
+ None,
+ transaction_fee,
+ TR.words__transaction_fee,
+ TR.words__title_summary,
+ account_items,
+ None,
+ TR.confirm_total__title_fee,
+ "confirm_payment_request",
+ )
+
+
async def confirm_output(
address: str,
amount: str,
@@ -1067,6 +1154,38 @@ if not utils.BITCOIN_ONLY:
TR.confirm_total__title_fee,
)
+ async def confirm_trade(
+ title: str,
+ sell_amount: str,
+ buy_amount: str,
+ address: str,
+ account: str | None,
+ account_path: str | None,
+ token_address: str | None,
+ ) -> None:
+ menu_items: list[PropertyType] = [
+ (TR.address__title_receive_address, address, None)
+ ]
+ if account:
+ menu_items.append((TR.words__account, account, None))
+ if account_path:
+ menu_items.append((TR.address_details__derivation_path, account_path, None))
+ if token_address is not None:
+ menu_items.append((TR.ethereum__token_contract, token_address, None))
+
+ await with_info(
+ trezorui_api.confirm_properties(
+ title=title,
+ items=[("", sell_amount, None), ("", buy_amount, None)],
+ external_menu=True,
+ ),
+ trezorui_api.confirm_properties(
+ title="", items=menu_items, verb=TR.buttons__close
+ ),
+ "confirm_trade",
+ ButtonRequestType.SignTx,
+ )
+
async def confirm_ethereum_staking_tx(
title: str,
intro_question: str,
diff --git a/tests/device_tests/bitcoin/test_signtx_payreq.py b/tests/device_tests/bitcoin/test_signtx_payreq.py
index 2b75c645..b488e32a 100644
--- a/tests/device_tests/bitcoin/test_signtx_payreq.py
+++ b/tests/device_tests/bitcoin/test_signtx_payreq.py
@@ -42,11 +42,6 @@ PREV_TXES = {PREV_HASH: PREV_TX}
pytestmark = [pytest.mark.models("core"), pytest.mark.experimental]
-@pytest.mark.models(
- "core",
- skip="t2t1",
- reason="T1 does not support payment requests. Payment requests not yet implemented on model T.",
-)
@pytest.mark.altcoin
@pytest.mark.parametrize("has_text,has_refund", list(product([True, False], repeat=2)))
def test_signtx_payment_req_swap_with_text_and_refund(
@@ -197,18 +192,15 @@ SERIALIZED_TX = "01000000000101e29305e85821ea86f2bca1fcfe45e7cb0c8de87b612479ee6
"out0",
(PaymentRequestParams([0], memos1, get_nonce=True),),
altcoin=True,
- skip="t2t1",
),
case(
"out1",
(PaymentRequestParams([1], memos2, get_nonce=True),),
altcoin=True,
- skip="t2t1",
),
case(
"out2",
(PaymentRequestParams([2], [], get_nonce=True),),
- skip="t2t1",
),
case(
"out0+out1",
@@ -216,22 +208,18 @@ SERIALIZED_TX = "01000000000101e29305e85821ea86f2bca1fcfe45e7cb0c8de87b612479ee6
PaymentRequestParams([0], [], get_nonce=False),
PaymentRequestParams([1], [], get_nonce=True),
),
- skip="t2t1",
),
case(
"out01",
(PaymentRequestParams([0, 1], memos3, get_nonce=True),),
- skip="t2t1",
),
case(
"out012",
(PaymentRequestParams([0, 1, 2], [], get_nonce=True),),
- skip="t2t1",
),
case(
"out12",
(PaymentRequestParams([1, 2], [], get_nonce=True),),
- skip="t2t1",
),
),
)
@@ -291,7 +279,6 @@ def test_payment_request(session: Session, payment_request_params):
)
-@pytest.mark.models(skip="t2t1")
def test_payment_req_wrong_amount(session: Session):
# Test wrong total amount in payment request.
outputs[0].payment_req_index = 0
@@ -319,7 +306,6 @@ def test_payment_req_wrong_amount(session: Session):
)
-@pytest.mark.models(skip="t2t1")
def test_payment_req_wrong_mac_refund(session: Session):
# Test wrong MAC in payment request memo.
memo = RefundMemo(parse_path("m/44h/1h/0h/1/0"))
@@ -354,7 +340,6 @@ def test_payment_req_wrong_mac_refund(session: Session):
)
-@pytest.mark.models(skip="t2t1")
@pytest.mark.altcoin
def test_payment_req_wrong_mac_purchase(session: Session):
# Test wrong MAC in payment request memo.
@@ -395,7 +380,6 @@ def test_payment_req_wrong_mac_purchase(session: Session):
)
-@pytest.mark.models(skip="t2t1")
def test_payment_req_wrong_output(session: Session):
# Test wrong output in payment request.
outputs[0].payment_req_index = 0
diff --git a/tests/device_tests/cardano/test_sign_tx.py b/tests/device_tests/cardano/test_sign_tx.py
index 17d2780d..aafd628e 100644
--- a/tests/device_tests/cardano/test_sign_tx.py
+++ b/tests/device_tests/cardano/test_sign_tx.py
@@ -227,11 +227,6 @@ def _transform_expected_result(result):
return transformed_result
-@pytest.mark.models(
- "core",
- skip="t2t1",
- reason="T1 does not support payment requests. Payment requests not yet implemented on model T.",
-)
@pytest.mark.altcoin
@pytest.mark.experimental
@parametrize_using_common_fixtures(
@@ -241,11 +236,6 @@ def test_signtx_payment_req(session: Session, parameters, result):
call_sign_tx(session, parameters, None)
-@pytest.mark.models(
- "core",
- skip="t2t1",
- reason="T1 does not support payment requests. Payment requests not yet implemented on model T.",
-)
@pytest.mark.altcoin
@pytest.mark.experimental
@parametrize_using_common_fixtures(
diff --git a/tests/device_tests/ethereum/test_signtx.py b/tests/device_tests/ethereum/test_signtx.py
index 40506498..c134c193 100644
--- a/tests/device_tests/ethereum/test_signtx.py
+++ b/tests/device_tests/ethereum/test_signtx.py
@@ -560,11 +560,7 @@ def test_signtx_staking_eip1559(session: Session, parameters: dict, result: dict
@pytest.mark.experimental
-@pytest.mark.models(
- "core",
- skip="t2t1",
- reason="T1 does not support payment requests. Payment requests not yet implemented on model T.",
-)
+@pytest.mark.models("core")
@pytest.mark.parametrize(
"has_refund,has_text,has_multiple_purchases",
list(product([True, False], repeat=3)),
@@ -638,11 +634,7 @@ def test_signtx_payment_req(
@pytest.mark.experimental
-@pytest.mark.models(
- "core",
- skip="t2t1",
- reason="T1 does not support payment requests. Payment requests not yet implemented on model T.",
-)
+@pytest.mark.models("core")
def test_signtx_payment_req_long_value(
session: Session,
):
diff --git a/tests/device_tests/ripple/test_sign_tx.py b/tests/device_tests/ripple/test_sign_tx.py
index aab0155c..e5c9341a 100644
--- a/tests/device_tests/ripple/test_sign_tx.py
+++ b/tests/device_tests/ripple/test_sign_tx.py
@@ -121,11 +121,7 @@ def test_ripple_sign_invalid_fee(session: Session):
@pytest.mark.experimental
-@pytest.mark.models(
- "core",
- skip="t2t1",
- reason="T1 does not support payment requests. Payment requests not yet implemented on model T.",
-)
+@pytest.mark.models("core")
def test_signtx_payment_req(session: Session):
from trezorlib import ethereum, misc
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index 60b3789a..51a63b2a 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -1511,6 +1511,21 @@
"T2T1_cs_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "f8672305c4f30b83061b221bc6b1c829113aa88a9970eb6984dbff8c7bfa7f7f",
"T2T1_cs_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "e6b3879f5b7cc4558d165ef346d8f9d5f1abee2c87d72f704fbc18ee99c72df8",
"T2T1_cs_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "f8672305c4f30b83061b221bc6b1c829113aa88a9970eb6984dbff8c7bfa7f7f",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "912a5fa7057fb092ee1812839fc3e59a06704f5d3439fd734903c5372c40038e",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "2f9baca34b038bb13b0d02a95f33333df8360bea5cc7a8167cf1ba4ebb567860",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "2f9baca34b038bb13b0d02a95f33333df8360bea5cc7a8167cf1ba4ebb567860",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "912a5fa7057fb092ee1812839fc3e59a06704f5d3439fd734903c5372c40038e",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "17f7633be0a67016d566dbb0751e61a925f82350647cb8aac60aca39e1aac31d",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "5507fbfaabee400eb4f600df0fa70eb69c904945182d8657e4781f030e971f5e",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "3fd2e962b0dacaaad3bf807a921f4d992c3d6de93dc7f800ddc84e783a46a80b",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "57b2f1e3670da9208643b00925224c1eb4e8d686bc2aeff531a2b24a66764e4f",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "7411685b492237896d9127dad89fdab17bf88b068a2bbf7feb714774a38c4413",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "f485f86482ffafd57ef344f24087918b2f68bd0889543a9f2a4f7841d9800f9b",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "de81f288b252febe49c804384610ba3d7e8652ddc88058933f7eb339e90a12f8",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-False]": "94ac03bc3c051aa6965eb33b4f9528b99c5582359b85adc4062275e1d0dc6e90",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-True]": "94ac03bc3c051aa6965eb33b4f9528b99c5582359b85adc4062275e1d0dc6e90",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-False]": "3d3ebdd5f7ab9351da3124bdc2d3602bcf3a7837726d0532db4dd7cb9b82a2d8",
+"T2T1_cs_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-True]": "3d3ebdd5f7ab9351da3124bdc2d3602bcf3a7837726d0532db4dd7cb9b82a2d8",
"T2T1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "2f9baca34b038bb13b0d02a95f33333df8360bea5cc7a8167cf1ba4ebb567860",
"T2T1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "2f9baca34b038bb13b0d02a95f33333df8360bea5cc7a8167cf1ba4ebb567860",
"T2T1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "2f9baca34b038bb13b0d02a95f33333df8360bea5cc7a8167cf1ba4ebb567860",
@@ -1928,6 +1943,8 @@
"T2T1_cs_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "588ae619eb5d948816f8ec8edb924bbb089c80f1655221c30c69e8d0ba6167fd",
"T2T1_cs_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "e78b1f06ce8632eaed09fe50500af43fedfd2717e1a5c913691a105a3db15479",
"T2T1_cs_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "21d70b92f1f02ee958c612a8638d878c03ae218cf63e0402806f96112e1a7f29",
+"T2T1_cs_cardano-test_sign_tx.py::test_sign_tx_payment_req_failed[swap_-_multiple_outputs]": "b334f463e27dc99db19ac3ce34b764fa60a4c627840ab027696d994aa63aacc1",
+"T2T1_cs_cardano-test_sign_tx.py::test_signtx_payment_req[swap]": "7781b96bd187c39167923e8b1601b09196da0bb6a39c8c623c35a7c4423f394b",
"T2T1_cs_eos-test_get_public_key.py::test_eos_get_public_key": "798af411c8d98ee185c8cee03a81a3c9522c5b707883f4dad542d4c7d8567abe",
"T2T1_cs_eos-test_signtx.py::test_eos_signtx_buyram": "bf0c56aeac0d3c148af5c24ce6beab5f9604c6dd1b66360c0379e43d8eafd863",
"T2T1_cs_eos-test_signtx.py::test_eos_signtx_buyrambytes": "7908858119190cec1c17ec42c25412b323af21cb24e34cc8c98abe38b0a40675",
@@ -2117,6 +2134,15 @@
"T2T1_cs_ethereum-test_signtx.py::test_signtx_eip1559_access_list[single_entry]": "c6657f1d4d15f2c5902c1cb686ca5548f3809d3a5da3763d663b5cd8a3905741",
"T2T1_cs_ethereum-test_signtx.py::test_signtx_fee_info": "84ad45208664378922973a4b6dc058be2eaea3cc8e3221f81affcedec19ab060",
"T2T1_cs_ethereum-test_signtx.py::test_signtx_go_back_from_summary": "1160a683f3acf0f07375bc841a4df4d69c54e4f20006824370bc3e9b7bc6e863",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[False-False-False]": "a8170305339c9f510996f00ce0b574c013918d1ee2b9aae1a26896e80073eae0",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[False-False-True]": "d748333b3491436bf810bcb1bbfd57d83ebfaee4090ac1f3688478ae4eac4a76",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[False-True-False]": "3d76e59be091df473e9227d00605b5da1670b2b38297f2af31348ae70dffeb38",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[False-True-True]": "2964e32cfe3777ad1439c0ada46bbd1269d1dd9c801a0f71bec60144c4b64d6e",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[True-False-False]": "a8170305339c9f510996f00ce0b574c013918d1ee2b9aae1a26896e80073eae0",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[True-False-True]": "d748333b3491436bf810bcb1bbfd57d83ebfaee4090ac1f3688478ae4eac4a76",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[True-True-False]": "3d76e59be091df473e9227d00605b5da1670b2b38297f2af31348ae70dffeb38",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req[True-True-True]": "2964e32cfe3777ad1439c0ada46bbd1269d1dd9c801a0f71bec60144c4b64d6e",
+"T2T1_cs_ethereum-test_signtx.py::test_signtx_payment_req_long_value": "67bc72e9e1c7d6e1c32efe285f8c7f5ee5307a9e2c04416d98f5bc3a4eb34c55",
"T2T1_cs_ethereum-test_signtx.py::test_signtx_staking[False-claim_holesky]": "448f94d817720c681d91bde34607372b0331b64f7950272f6f2d36b5c0f51131",
"T2T1_cs_ethereum-test_signtx.py::test_signtx_staking[False-claim_mainnet]": "00aa2c60d34054b30167395ac59e67122770d99706c412a7ba553672ad9a4bc4",
"T2T1_cs_ethereum-test_signtx.py::test_signtx_staking[False-stake_holesky]": "2c8cedb34cd3a9dfb557ee76c9266ca628b9c94059e302a230005f802d6b5249",
@@ -2268,6 +2294,7 @@
"T2T1_cs_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "1e667e448398e4e91e9721d6f97dee7eec37374e5c45e1bf9b2b96b2deece4a8",
"T2T1_cs_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "db03b21f6fe1bcf7b11c09c9d931dc9271ded9367fb126f27512f2d496b49b23",
+"T2T1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "6277f112bf071569079413881e88d60e27800871bb21761fa1bd1d2928aac6a4",
"T2T1_cs_solana-test_address.py::test_solana_get_address[parameters0-result0]": "232286887ed2307a770005164002f6864e7437c19a7d970c95d128cda6299a9b",
"T2T1_cs_solana-test_address.py::test_solana_get_address[parameters1-result1]": "0a7d0ac0cf71f5ae06be7382c1061045bc20d915fb83b1db9f532e961491ddbf",
"T2T1_cs_solana-test_address.py::test_solana_get_address[parameters2-result2]": "c78eac68a7ff2f432312eafd8509ecc6d77970de5e1c16084b1656bf9bf6d036",
@@ -2327,6 +2354,8 @@
"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[mint_to_checked_with_token_definition]": "125e55f1f49f9b9cf7abd3f9e3477cd798c9c46e381845a007c72b0e3ea9e7ee",
"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[multiple_claim_instructions]": "919b77efc947f1b6a4a330022b396027820cda658167810bbdd0589a3a246880",
"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[multiple_unstake_instructions]": "119d40effac39c88c9622f5a89fe1fb403027b64c03d1f320a2972222563459c",
+"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[payment_request]": "817929d9da47ca59c5ceaafe450112f4dee3efa161124b533986eac7a8a5d16a",
+"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[payment_request_-_multiple_transfers]": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[revoke]": "eeaf50acac8270b7f527f85474d35a1d7f5518d63e8130ae4783a35dc67c0697",
"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[revoke_-_multisig]": "a75462ffaa885200e6dac715b256e31433d963f2bcfb83f6bfadfa8f3ee98c8d",
"T2T1_cs_solana-test_sign_tx.py::test_solana_sign_tx[set_authority]": "2548ac87712c795fbc7a0b5abe7af903c665fb019b73c5d5fb0ac81fc84bd10a",
@@ -3003,6 +3032,21 @@
"T2T1_de_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "74517ee3fe2b9cbb157895137cb160f0852e1101a32a27e1fcfb239bc94f2eb4",
"T2T1_de_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "a78a85c137ea3018c183b63891974fb2386cfd1c299b35ab566cea6f0c3b6df8",
"T2T1_de_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "74517ee3fe2b9cbb157895137cb160f0852e1101a32a27e1fcfb239bc94f2eb4",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "30123aaf9a48942efadd634fbae71eff570043819177998c8819a076aa2e860b",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "f64f92ab3732c0194d07c5e6a9c6714f9c9779b02d7ee2ac2c3fb939a4121ccb",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "f64f92ab3732c0194d07c5e6a9c6714f9c9779b02d7ee2ac2c3fb939a4121ccb",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "30123aaf9a48942efadd634fbae71eff570043819177998c8819a076aa2e860b",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "7c14baa7ad21ee09c013381f39e3e7de75ac1c307a42eb4f537d2220db1b62ee",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "a7a06fe81ef5552e88a6e1ee4770493af695306ffb49085c7106421f27ba4c69",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "d6c4c43047cfd1f6aa94787b43103f1874a39cd83ddb842563df34e956e60bbf",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "5eb699139fef7674af410331cd7aac4d5bfb8e33739eb055d06f067467c2032e",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "3582fd0fa840582c735dc4ade47a08a8a9bc21c20c5343278bad0f76b5d85c59",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "1d1eaf02f4c14c935a9300058fb0f73309b5f72f05e3419a839c372f0f6d2c54",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "9458cc7e15627b9ded4510b7ba7c733213ad26b9ce9d3c082353d4bab64eef3f",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-False]": "80732350db584f58d3082f56e0ae1a939625311aa06e65636c1bfa417e2201c4",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-True]": "80732350db584f58d3082f56e0ae1a939625311aa06e65636c1bfa417e2201c4",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-False]": "dea25fd2d3885a5c1d55587303b6fcd51d6585ae711043aa299566a6d4fce923",
+"T2T1_de_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-True]": "dea25fd2d3885a5c1d55587303b6fcd51d6585ae711043aa299566a6d4fce923",
"T2T1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "f64f92ab3732c0194d07c5e6a9c6714f9c9779b02d7ee2ac2c3fb939a4121ccb",
"T2T1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "f64f92ab3732c0194d07c5e6a9c6714f9c9779b02d7ee2ac2c3fb939a4121ccb",
"T2T1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "f64f92ab3732c0194d07c5e6a9c6714f9c9779b02d7ee2ac2c3fb939a4121ccb",
@@ -3420,6 +3464,8 @@
"T2T1_de_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "bad0706f64bc5693d63a10e5b8ec8df9b01e07ca080f4c7e0079269162c2d71e",
"T2T1_de_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "16072fe6e2a88e2880086285bf65585e3c75963fccd87ddbbbb02a19c53215e0",
"T2T1_de_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "381ebaecd2b1181e454c6ff6ce9efd329d7f15b70181926551213dc3ba29cd1d",
+"T2T1_de_cardano-test_sign_tx.py::test_sign_tx_payment_req_failed[swap_-_multiple_outputs]": "158fcae0ae16a6afa6f14ac79195b7d34cea83330a81b6fd601fe4171009c882",
+"T2T1_de_cardano-test_sign_tx.py::test_signtx_payment_req[swap]": "8d44c33f6f4d829828c7d6f4e0d3eda60ffa00523433142cd662b7b6e5437b6d",
"T2T1_de_eos-test_get_public_key.py::test_eos_get_public_key": "92610ccec72d019dcfcfee30f1aef43b69f5272da481558252ea504b2b4c066c",
"T2T1_de_eos-test_signtx.py::test_eos_signtx_buyram": "f4325ab5d549df23e79e5ade036f4c33ba519809c1ad88860eff313c431232a0",
"T2T1_de_eos-test_signtx.py::test_eos_signtx_buyrambytes": "cd94c794c5a5f1d0f813e4f103d14fa3ba863e117b417c4c75c6de8f43033b3f",
@@ -3609,6 +3655,15 @@
"T2T1_de_ethereum-test_signtx.py::test_signtx_eip1559_access_list[single_entry]": "4cba6db650a29132f6cef782b1e16164991dec35563ede6ac30c56e000348d3e",
"T2T1_de_ethereum-test_signtx.py::test_signtx_fee_info": "c661f708eb64aad1379402e7174447ad5cd508e055d0162ec70f1e73ef014e69",
"T2T1_de_ethereum-test_signtx.py::test_signtx_go_back_from_summary": "5394a9fb871312523b298300ceae530bda5cec1cc5570f9f2c0e25c3d4c67588",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[False-False-False]": "100fbe035c0dbb5a102bc03caf41d54a9d87172d06a8be26773c9905125e2cd8",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[False-False-True]": "339967fea255d53b6d14e9c0a992da36e65a81b74073d7950cc2800c69005c3e",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[False-True-False]": "c635844d7264ff7b01e1de2a7cd10e89b8345fd4be5af8ea3585cd24d709d125",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[False-True-True]": "0b5c5ce907758dacd58e0cc06725b91a9c0365e46b751f04ae6e193a72fd7c7a",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[True-False-False]": "100fbe035c0dbb5a102bc03caf41d54a9d87172d06a8be26773c9905125e2cd8",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[True-False-True]": "339967fea255d53b6d14e9c0a992da36e65a81b74073d7950cc2800c69005c3e",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[True-True-False]": "c635844d7264ff7b01e1de2a7cd10e89b8345fd4be5af8ea3585cd24d709d125",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req[True-True-True]": "0b5c5ce907758dacd58e0cc06725b91a9c0365e46b751f04ae6e193a72fd7c7a",
+"T2T1_de_ethereum-test_signtx.py::test_signtx_payment_req_long_value": "8ca53f864cdb348a6e39a3d95d90f9814b23e4713ba54e5b8c8460049a79e68d",
"T2T1_de_ethereum-test_signtx.py::test_signtx_staking[False-claim_holesky]": "4c0c2f3d49ee695175968af1c1a715866a8d1aa5f6f7bee9a5fcd26644cdc58d",
"T2T1_de_ethereum-test_signtx.py::test_signtx_staking[False-claim_mainnet]": "9f2287adba622c7f9fbe7a60d58c719229f6587b14748801a8373cc117e14384",
"T2T1_de_ethereum-test_signtx.py::test_signtx_staking[False-stake_holesky]": "a57d8e0f8d864250588a8aea729c6008c35714291ad857002005f64421b1c2ff",
@@ -3760,6 +3815,7 @@
"T2T1_de_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "35eb6ff2555bf2a161c03ff9692da095019b2d1a8559946d46a03578beac1ef0",
"T2T1_de_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "2db564b592a4e5a7b27d8a42ecc512987542b4a4541a2be3f38502b57a3bc9b5",
+"T2T1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "9178c05e148db2a0956c0ddb43847f6f5f1d4f3fe6a402b296ec0d5431064d5a",
"T2T1_de_solana-test_address.py::test_solana_get_address[parameters0-result0]": "49a333c628aa3e008c749b7bd03555e3d4c0755846e03e0cafc2ba7c282fec8c",
"T2T1_de_solana-test_address.py::test_solana_get_address[parameters1-result1]": "d250f2f005bb621428433c34933db8403eab0cba54944ecc871235e56ef5df23",
"T2T1_de_solana-test_address.py::test_solana_get_address[parameters2-result2]": "68ae8fc36445c2eddda1e1b98f11759d821aee07018b720abb88412f3c6be5d3",
@@ -3819,6 +3875,8 @@
"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[mint_to_checked_with_token_definition]": "2b76c4fecb0c927624207ed10898fa78f69ead5b5297360f31976a8dc6095b7b",
"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[multiple_claim_instructions]": "7f7c29680b3ecc9b8da9c4c91217f8fdb263abdecc5fae28a557c0ce3b28992d",
"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[multiple_unstake_instructions]": "e1a75e8a28f8dfe2468cdec130350318ac0a6b6b0780e0f1fff579bc23bab367",
+"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[payment_request]": "4425a12fab0aaf6aee01ac83fc556a8bc2fef13697817ee6d714cb7fd5ed9cf3",
+"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[payment_request_-_multiple_transfers]": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[revoke]": "38000202d514cabb92a2ecf946af8bfc060f8ef41aafd7a2b3588e2051e5f5b9",
"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[revoke_-_multisig]": "09cf1218ac72fcd6690f3477727825d274a22afc025ed2656e49147c2a04467c",
"T2T1_de_solana-test_sign_tx.py::test_solana_sign_tx[set_authority]": "ccc5a6c36a6c9b9dd1187d6aac1a83eeaf8e9c179f6a5cd14f83120ccefe054a",
@@ -4495,6 +4553,21 @@
"T2T1_en_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "f7c9688ec96d980c611da5295229825ddad9ccdce993b79687f2a92026fc87fb",
"T2T1_en_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "8407e390aae50dca95ed6e258db601e944382e934d4894be1672b9bd83e69e22",
"T2T1_en_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "f7c9688ec96d980c611da5295229825ddad9ccdce993b79687f2a92026fc87fb",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "39cc516938a7f6265508608efb4836925dd4be8dcafe4f306f31e80f35badb47",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "9b99080f761b1ce5c9d0223b6c1fde56d0822d77ba25896bc714358cdc91056c",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "9b99080f761b1ce5c9d0223b6c1fde56d0822d77ba25896bc714358cdc91056c",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "39cc516938a7f6265508608efb4836925dd4be8dcafe4f306f31e80f35badb47",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "3cb39f57bef0ea76f678244e2e8fb36e80aa4759c4732876c4f509149eb53bf4",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "7185401893574fa6135b9e673ac536e3c8dfced0fb9867715b8c9f750e9b4e01",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "8cecf8fa75903ac376ab33883b5ca45e858cf589cbab9dd3cad4fbd1aa3013c5",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "8ccb1403ca67bdeff1c74ec0a050af1d93090896c876c82820afd200169a343e",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "e9091f6e405b4ff50c8a0abb7495236db8de0ae141bc24216b48491cc0093274",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "8e298e40f211b57a9f90fe230e69db89e4acecc681bdba75d1c4efd65d692b2a",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "ffff6947b8aa4ca74dc207318c7946db15d5cfd84bf4cbfb14812438c59275c2",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-False]": "0ef769fb305ef12c2f408e390081fd143b203bab68f4fc379078f6bf47567559",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-True]": "0ef769fb305ef12c2f408e390081fd143b203bab68f4fc379078f6bf47567559",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-False]": "44cca60df56214a75126e852344d52989e307e00b48b3fca908747e6b678c720",
+"T2T1_en_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-True]": "44cca60df56214a75126e852344d52989e307e00b48b3fca908747e6b678c720",
"T2T1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "9b99080f761b1ce5c9d0223b6c1fde56d0822d77ba25896bc714358cdc91056c",
"T2T1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "9b99080f761b1ce5c9d0223b6c1fde56d0822d77ba25896bc714358cdc91056c",
"T2T1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "9b99080f761b1ce5c9d0223b6c1fde56d0822d77ba25896bc714358cdc91056c",
@@ -4912,6 +4985,8 @@
"T2T1_en_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "79fc12788d754d4ef4e8367f59070f8945c073bad17112ca2aac2df78357fb8e",
"T2T1_en_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "bcbe56ce53a5994bc85581f59a009d973186f38ca7d4d831760ebefec7909ae8",
"T2T1_en_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "50cc5985c499907245ffaaef6cb60809c99300c1096a94cd3eeb73782566a3d9",
+"T2T1_en_cardano-test_sign_tx.py::test_sign_tx_payment_req_failed[swap_-_multiple_outputs]": "e87a108bb60c2fa4aa8c4ddf165d418ef95c62ad5d29295be23b231e6ea047f7",
+"T2T1_en_cardano-test_sign_tx.py::test_signtx_payment_req[swap]": "5ecfa4a7be1f213618309f8469477a21063ff6de9cad9203bf14f16e88bd3435",
"T2T1_en_eos-test_get_public_key.py::test_eos_get_public_key": "0e6dafb4bffde6bfeaafdae4c78431701a8e687525226e4e1d99fce999a48f32",
"T2T1_en_eos-test_signtx.py::test_eos_signtx_buyram": "1be1db79d6e1bd6349abe5ca96bcb2b7e355ec99893b6f2cc162fcb25dbfb6b7",
"T2T1_en_eos-test_signtx.py::test_eos_signtx_buyrambytes": "7074a2b5dd76baa6836474a7dc7bbb2d19398a22eac37b73733cde909a5a4531",
@@ -5101,6 +5176,15 @@
"T2T1_en_ethereum-test_signtx.py::test_signtx_eip1559_access_list[single_entry]": "13c18b9ad03de41514ad4a9e1c02964cf4bbccb87e974c9b8f51951a01abd7b1",
"T2T1_en_ethereum-test_signtx.py::test_signtx_fee_info": "3c7bc240c7383416b7d4efc6c53546699b7457827a3621f04c5dbe2740b87d47",
"T2T1_en_ethereum-test_signtx.py::test_signtx_go_back_from_summary": "4c8910bda965871747ebca3e32d2ca2b783177794355f70181ce0b38a4ff2364",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[False-False-False]": "0459b5b7c904170afbbb83dd95c5506a041d9742f0e6c137e5828a2404d82069",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[False-False-True]": "16eff87f8607846e304e390e93ff1e2fa306434934568446c86892c43803d152",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[False-True-False]": "cff9cf08fe138dcdebcce2ffe1d12a9750fb71e6dd53df75c93f3c0556aa6477",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[False-True-True]": "903946d80ef9f1681c16841cc085a604ed6f2d3cae5b81ea09d5b4ce9c0eee25",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[True-False-False]": "0459b5b7c904170afbbb83dd95c5506a041d9742f0e6c137e5828a2404d82069",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[True-False-True]": "16eff87f8607846e304e390e93ff1e2fa306434934568446c86892c43803d152",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[True-True-False]": "cff9cf08fe138dcdebcce2ffe1d12a9750fb71e6dd53df75c93f3c0556aa6477",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req[True-True-True]": "903946d80ef9f1681c16841cc085a604ed6f2d3cae5b81ea09d5b4ce9c0eee25",
+"T2T1_en_ethereum-test_signtx.py::test_signtx_payment_req_long_value": "68c42c09120d8c89afac203c63867a38c17f2c1b11fb38624456a92f15d531e4",
"T2T1_en_ethereum-test_signtx.py::test_signtx_staking[False-claim_holesky]": "87127cc4cbe95d9d224601e803b40e40e2f07dc399d6f854ffc0a28c4fa4b891",
"T2T1_en_ethereum-test_signtx.py::test_signtx_staking[False-claim_mainnet]": "f1825d4e143e10bdbefe282030f098ae97b56bcce8f351eb3b32efdab52b7737",
"T2T1_en_ethereum-test_signtx.py::test_signtx_staking[False-stake_holesky]": "37e1d97db9f3638cb6a982bf75126447453c7977f48fe2e39e07f149d47f30a0",
@@ -5252,6 +5336,7 @@
"T2T1_en_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "c1bb0858eb666245b78b4d2d01b89a0f6706d6ebd0de54a51c7f50cd2511be2c",
"T2T1_en_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "3a6be96991383d61b9651372c8085211e73e63dd375e51c99c4f92c72cc3d013",
+"T2T1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "266564b92b23d8f10776e2057d2769f289f18ccbe40d696a408f7a6589034423",
"T2T1_en_solana-test_address.py::test_solana_get_address[parameters0-result0]": "5deb34610c45ca0729df7628fa170dc5efc49cf6e2e2176299dcb2ec8f3d969e",
"T2T1_en_solana-test_address.py::test_solana_get_address[parameters1-result1]": "df6efee54f89c3dfbae6dd66dd49c44d72e81b2fd209a50b0dc17fb7fbec42f1",
"T2T1_en_solana-test_address.py::test_solana_get_address[parameters2-result2]": "c55c78efe9bc466f915b5eaba29693d3441ef1779e5331fb5db69d70a0b000c8",
@@ -5311,6 +5396,8 @@
"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[mint_to_checked_with_token_definition]": "a5343fade61855b3560e8f9ea54ebc1466a0a593dbd80883f0ce6043fe35ac83",
"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[multiple_claim_instructions]": "42c0428c8cf84e6729421bfb97ee4aba65ebfde9c6e35bf23a0c3137f19cefb7",
"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[multiple_unstake_instructions]": "edeb8279ad71a60b05ec304a70adff90f940d2df57a4525da20a5c04ff8326eb",
+"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[payment_request]": "23afd2e1059343c211ae33f8e698e5f7962ff68fc0bf469df09965681c8691e6",
+"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[payment_request_-_multiple_transfers]": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[revoke]": "8e15be59c6cbc948e07b5170fc4b7687a41043b5e28a224af08892a1e3d4ddfb",
"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[revoke_-_multisig]": "1cf10bdf16bfa45624a3caa8fb2bee250b90ada18a5dc2845dac7e0190f57e16",
"T2T1_en_solana-test_sign_tx.py::test_solana_sign_tx[set_authority]": "4ae1de1330d415acca3b1bd193b15d965e549dccfc262f36e4a1ff00ac9ee7e2",
@@ -6005,6 +6092,21 @@
"T2T1_es_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "8ea9fd616347d749dae0490724b740013ea9a5f121f138e090817eae475aae14",
"T2T1_es_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "1fc332901debacfd130402f1db0151cabccc9d6f07d808423fc9a70b8e7f1a93",
"T2T1_es_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "8ea9fd616347d749dae0490724b740013ea9a5f121f138e090817eae475aae14",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "04a8146d7c0eba9a0e1426177a902f7f42818e0ca11a68c92b604d3ce2cd42ca",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "f1161dc5ba7377ba085d1e122d6c945982521045f81ed029d72ebf27ee69bd65",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "f1161dc5ba7377ba085d1e122d6c945982521045f81ed029d72ebf27ee69bd65",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "04a8146d7c0eba9a0e1426177a902f7f42818e0ca11a68c92b604d3ce2cd42ca",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "e75bb8b8d5d74e96cd18d99f3a30a43c3900a31a4e0ea2faaf8dd1773a209176",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "236ba3f353be36299642e545cdf52c612370e70f3f489b3857843ae0db6a7cce",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "3dfd4845891639ae703c456b4b89c41cac8da4909b56016ab512742e96652116",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "64863614318bb83820f7700c7f1a5b86b4e05d7f732dde01b389716c5d76be4d",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "e3853dc1b711c64a9079f78f3d4a938e8491e3a4b15cdf7656593abc2e15ed03",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "7af10a20061f249d996f04efc72cba64955a9cd00cb873e879a83925b27c7606",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "30b7e50e95302f2516c3f818e565070b2db861b10ba0f2135f7a72f4bf6bbce0",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-False]": "8419dabf023750aada0e823f1b5bf5252c3a0f748bb2d3b2d95f7896e2723210",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-True]": "8419dabf023750aada0e823f1b5bf5252c3a0f748bb2d3b2d95f7896e2723210",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-False]": "2d411b817235b7f6518fd28f29918325cf53370d109914ffb96450867f151208",
+"T2T1_es_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-True]": "2d411b817235b7f6518fd28f29918325cf53370d109914ffb96450867f151208",
"T2T1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "f1161dc5ba7377ba085d1e122d6c945982521045f81ed029d72ebf27ee69bd65",
"T2T1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "f1161dc5ba7377ba085d1e122d6c945982521045f81ed029d72ebf27ee69bd65",
"T2T1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "f1161dc5ba7377ba085d1e122d6c945982521045f81ed029d72ebf27ee69bd65",
@@ -6422,6 +6524,8 @@
"T2T1_es_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "9c948c8260b7b0ca8a0735f5f132805b727aaefb16fda138e32191581381042f",
"T2T1_es_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "0e2db519faf279b1bc66873f1d165cb6fba027ecc87318383dc6c1e111ca24e8",
"T2T1_es_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "036b01a5b6a77f15e5a3c697bc8ab2213d8e51814eaa8f3afe05b4063b858a38",
+"T2T1_es_cardano-test_sign_tx.py::test_sign_tx_payment_req_failed[swap_-_multiple_outputs]": "fc6b0a43b1e829dcd425a0899c044c42b94ae87b4d63362605d4f29bca8f0ea0",
+"T2T1_es_cardano-test_sign_tx.py::test_signtx_payment_req[swap]": "fa3d571d7cdc29f2e401bbfe9aa165703b09f65c20fbaab1f7d85d8a9c1aad0c",
"T2T1_es_eos-test_get_public_key.py::test_eos_get_public_key": "a44f873bfe3701c976d42964ec2265645b4c3212bbcd5e0eafda7d43ec513557",
"T2T1_es_eos-test_signtx.py::test_eos_signtx_buyram": "87927753e9ef9660fa103ec2a9cb2fe90498056c97c7ecb779046d087d0bdcea",
"T2T1_es_eos-test_signtx.py::test_eos_signtx_buyrambytes": "470c302f1c213934f1483978b53892bfea134ac9fde8ae6f99aabcc498848d88",
@@ -6611,6 +6715,15 @@
"T2T1_es_ethereum-test_signtx.py::test_signtx_eip1559_access_list[single_entry]": "1bbc17f3d18455bb7df77fbbf53b708eeeabf76792a8d2fef3cae7d3b4532e20",
"T2T1_es_ethereum-test_signtx.py::test_signtx_fee_info": "8f764eca6a7678ffc8a048f385317dc75dbbe439d7c957f4c0af8e555817924c",
"T2T1_es_ethereum-test_signtx.py::test_signtx_go_back_from_summary": "8412ac1f981d0316806c73b288bbacb5ba05d2b476b78917d9ec626099c1d5ad",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[False-False-False]": "4380589e3a8f4b2fc44c1c1e5eb6f8d322d296a805665a535c4b7dbb7d1dbc16",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[False-False-True]": "cac767752a3ba02b1e5fbc53754886804a96ae7d618c5edf8481057450a4bc60",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[False-True-False]": "2a6641f841b7f93b496179c9eb3928cb8a2a87377f19eb6156d6718e8788336c",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[False-True-True]": "2d0114e02619d710e60314fd21398bba9b24318ef3867fe30729bbd6dccacdbb",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[True-False-False]": "4380589e3a8f4b2fc44c1c1e5eb6f8d322d296a805665a535c4b7dbb7d1dbc16",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[True-False-True]": "cac767752a3ba02b1e5fbc53754886804a96ae7d618c5edf8481057450a4bc60",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[True-True-False]": "2a6641f841b7f93b496179c9eb3928cb8a2a87377f19eb6156d6718e8788336c",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req[True-True-True]": "2d0114e02619d710e60314fd21398bba9b24318ef3867fe30729bbd6dccacdbb",
+"T2T1_es_ethereum-test_signtx.py::test_signtx_payment_req_long_value": "940586fb0c8b5f0cf49f3cdbcdaec73b80533bb986a1370a7db937b6d1f56549",
"T2T1_es_ethereum-test_signtx.py::test_signtx_staking[False-claim_holesky]": "56ff1d3b1761d4f542f7fbbb000ad640b32c6d38b44f5805a089e1018a4c18b6",
"T2T1_es_ethereum-test_signtx.py::test_signtx_staking[False-claim_mainnet]": "f25763106b4eafa908bd8016de3b6640a1a189c8ce4de5883b513487f9aedb5a",
"T2T1_es_ethereum-test_signtx.py::test_signtx_staking[False-stake_holesky]": "0fba508723ca6b5c3b0f9ad9db517789bb850c60632300dd96520a82507ed992",
@@ -6762,6 +6875,7 @@
"T2T1_es_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "75688c057a17b339ca13aaa5f1dbdd6d52843cf8114646ff156c942b8c6b79f4",
"T2T1_es_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "0eb3a69069e4ef2656c06374cbefb4cab46a427901a99bec4aa2b63da858be52",
+"T2T1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "5f94976e1e9de2d7ed53a02b89ff6a0ce58b947919e7b7c1e5631265b95584ca",
"T2T1_es_solana-test_address.py::test_solana_get_address[parameters0-result0]": "146263f5642946854986d96528a1e261c620d5f1b34e579766b0da3592dd66c7",
"T2T1_es_solana-test_address.py::test_solana_get_address[parameters1-result1]": "faadd574d058920e1aacddb4ca875749bf346e670dd7e25d98153b4ab4e5d309",
"T2T1_es_solana-test_address.py::test_solana_get_address[parameters2-result2]": "505308883c325bfedf9850e0d67d2677ae21284896789516cd5828f310bc8380",
@@ -6821,6 +6935,8 @@
"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[mint_to_checked_with_token_definition]": "a4ed55317226734621b767c8e4463feb5cbca822397c4fef6fe363094b1eaec6",
"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[multiple_claim_instructions]": "0ba95d2f898338a1e51b78a8f920d7996f290f01e7c11c241209b325a4817838",
"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[multiple_unstake_instructions]": "a0c8390a077475fd113d47eac5cf969bee375101dd37605383efcc228162b23b",
+"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[payment_request]": "546f27ec03bfd988407b59f4357b0217d02edcba48470dd9792e5de0b5979cbd",
+"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[payment_request_-_multiple_transfers]": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[revoke]": "9592d445dc024841cac6ac3825b370c9a5c016c16c501d5fe30aaef5dd7a59e3",
"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[revoke_-_multisig]": "647cbebdfc8737fab6a482f495a3d26341c51d8fc0bba0be63ceb44d4a9b66c6",
"T2T1_es_solana-test_sign_tx.py::test_solana_sign_tx[set_authority]": "5aa3bed6c083c95ace1b08ab44d47647d151f320f8c511bc2fddd8d36c62286f",
@@ -7497,6 +7613,21 @@
"T2T1_fr_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "6d5751e429e7bd4f0fff9e2e06139d800af9252cb75ba4ff4d81a4da53f3dca9",
"T2T1_fr_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "6f892398bf1039f6f6f32fdb9485d93c15f1a0e5af3ed506b689b43d2bea855c",
"T2T1_fr_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "6d5751e429e7bd4f0fff9e2e06139d800af9252cb75ba4ff4d81a4da53f3dca9",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "52808094e874169cd4ee4019dbde5f0ff03d9571b32fed610ba901c4fc41b5b6",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "bd816943fa16649315189d24ebd7b4da395e2e170e6fd46393f98adc75c399b9",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "bd816943fa16649315189d24ebd7b4da395e2e170e6fd46393f98adc75c399b9",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "52808094e874169cd4ee4019dbde5f0ff03d9571b32fed610ba901c4fc41b5b6",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "c04ce3af78e8c59b3d3d7f5171bb6f38bfa816d73e2c90a92d7ee99205dceff2",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "600b897db298c6987b6cf28848658254b6966748caefe22c071e7bc640f0a251",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "6626b03b8753c64e2e0758570c2de46c14ca2cb4b52e86e660c65b270200dd3c",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "9e21d9f088cbc2efe7347ad3340675b795f9b0792656d3150e5b3fa90af49fbc",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "36754418839d3720853ca4dded984edbb7a8e997217b583923ca90027dee8704",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "7bc491295e09477943b8426da0f1c90afdc1ef240bd148c9b77856031aad7b53",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "4af6f3373fb2879d8f910100c215b5ea9bc9e9e7d35af074010ac2f6ec08c843",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-False]": "905f36a577564b9503a2a39a6b4752973fadc13f4605266ef1c37e0259b4becd",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-True]": "905f36a577564b9503a2a39a6b4752973fadc13f4605266ef1c37e0259b4becd",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-False]": "2b681a5977347e6253e8530ce3f636a4a451be0f58192eec696d78d2e4fde055",
+"T2T1_fr_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-True]": "2b681a5977347e6253e8530ce3f636a4a451be0f58192eec696d78d2e4fde055",
"T2T1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "bd816943fa16649315189d24ebd7b4da395e2e170e6fd46393f98adc75c399b9",
"T2T1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "bd816943fa16649315189d24ebd7b4da395e2e170e6fd46393f98adc75c399b9",
"T2T1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "bd816943fa16649315189d24ebd7b4da395e2e170e6fd46393f98adc75c399b9",
@@ -7914,6 +8045,8 @@
"T2T1_fr_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "bf22a0280e5f6147c648953e64f99a62310795d54d930f7a37c3570d67d07650",
"T2T1_fr_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "c33f167f254a4e9ea3b73889a11db6cec9da1c3033da4e4415330a819b5c0987",
"T2T1_fr_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "7844d5985ce6cc626388cb1930b55b66bac90755a952ffe870ed847f73a7ae6c",
+"T2T1_fr_cardano-test_sign_tx.py::test_sign_tx_payment_req_failed[swap_-_multiple_outputs]": "2f54829c0e0cc1c251968d75a7bf7963470a38187b4a5de66dcd4dea209911b1",
+"T2T1_fr_cardano-test_sign_tx.py::test_signtx_payment_req[swap]": "242f215d95af3d2eae20a0419036d5bb694adece74d82253f7fd27161ecf19c5",
"T2T1_fr_eos-test_get_public_key.py::test_eos_get_public_key": "ff49a4fdc6180b0cf6a7f83c77dc2b71f1e74f96faa309d2eca942e01ebb1017",
"T2T1_fr_eos-test_signtx.py::test_eos_signtx_buyram": "f65fd4860b6bdcb97d2b386d4ac38a65a2f3fb4ea9f8405ba34d3574daad059c",
"T2T1_fr_eos-test_signtx.py::test_eos_signtx_buyrambytes": "7acf448b3ca4d08a2d8ea9bc48da3dbd32086e36bcd69108da666e6d9955f4d9",
@@ -8103,6 +8236,15 @@
"T2T1_fr_ethereum-test_signtx.py::test_signtx_eip1559_access_list[single_entry]": "1894ac678836921d848d6bd8ea0e1ef8becb0dffc4f7f7b6885c39452ecefd07",
"T2T1_fr_ethereum-test_signtx.py::test_signtx_fee_info": "dbca9223f897639baf352308f0a7b6dd30e799714cc7d69c676406646f6a05c2",
"T2T1_fr_ethereum-test_signtx.py::test_signtx_go_back_from_summary": "ae1dde323004c3f042f4d8535fbba68650062c53689e65f81dee62efb526c2a9",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[False-False-False]": "8989e6d6ce0770fd066e35b3ff2719717fad1c8dd2c7aa593519aca79de76a95",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[False-False-True]": "eaa62e9060208cab99167f3b2cc215bf140a6e86c6c8f61158e3b6bd6537ae1c",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[False-True-False]": "1f3aa9b35b7c496c2361725ae93743ab45ce92dcb10f7642987178e91e59a2b6",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[False-True-True]": "2a184a425df99e4e2bfa564295e1961c3075e67a09c804c4e7d96dfc56533b50",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[True-False-False]": "8989e6d6ce0770fd066e35b3ff2719717fad1c8dd2c7aa593519aca79de76a95",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[True-False-True]": "eaa62e9060208cab99167f3b2cc215bf140a6e86c6c8f61158e3b6bd6537ae1c",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[True-True-False]": "1f3aa9b35b7c496c2361725ae93743ab45ce92dcb10f7642987178e91e59a2b6",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req[True-True-True]": "2a184a425df99e4e2bfa564295e1961c3075e67a09c804c4e7d96dfc56533b50",
+"T2T1_fr_ethereum-test_signtx.py::test_signtx_payment_req_long_value": "ddd44d2a1f48c7786d609ef29f9f3bf8ac7887565f26b70e3df9fc2dda32fed0",
"T2T1_fr_ethereum-test_signtx.py::test_signtx_staking[False-claim_holesky]": "36bdc82ca0520420b8eea16036df1c04162cd398e7acaf4e8f0aa33ff9f9fc2c",
"T2T1_fr_ethereum-test_signtx.py::test_signtx_staking[False-claim_mainnet]": "e7deff6ce7c28f7f23d05a2d28f995505dff727428977e1eef5418c0f40aa270",
"T2T1_fr_ethereum-test_signtx.py::test_signtx_staking[False-stake_holesky]": "c8571be435c93aae93254543559c3f6f68e982f795d9229cac3353f7981dcbcf",
@@ -8254,6 +8396,7 @@
"T2T1_fr_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "f7b19a5295fb666265fdf058c783f732603cc6487647d070d63804a859d31d4a",
"T2T1_fr_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "79e4486c6c6ac4ba23a69c50909ed0df804fb3808ca4152e07320db1bcfe809b",
+"T2T1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "f9af15a7fca05be1bf939f6f66f1d03e03ec4ab16a2edd86ebd38a5615b95867",
"T2T1_fr_solana-test_address.py::test_solana_get_address[parameters0-result0]": "da29404685a7c4e18cd95b021b5961c8d71dd5249848fee9b4bd75622989b917",
"T2T1_fr_solana-test_address.py::test_solana_get_address[parameters1-result1]": "c93742038d33afc973b0610547aa54494d815857a8382ad5797915baa0e0bb76",
"T2T1_fr_solana-test_address.py::test_solana_get_address[parameters2-result2]": "30365a3b02a2414ed1539f3542cd48d5f16016d494e8c918b08c155099186909",
@@ -8313,6 +8456,8 @@
"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[mint_to_checked_with_token_definition]": "c3aad908de710ddb6b0f1cef88725b857a3312da1348612e86b9a776b6b01cc9",
"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[multiple_claim_instructions]": "2512e57c21c495ec3f9c00975d4c63ea0f5d1fd6eb877c6ad22185a1a2b2725c",
"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[multiple_unstake_instructions]": "7829b5ffeaa064aa03d0b8d245cc1e47782b234d8613b9677b8af8244ced6f56",
+"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[payment_request]": "cee09aa227ccda4805922c441007afaffe0a8c25f28316faebbc8dd9791d8459",
+"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[payment_request_-_multiple_transfers]": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[revoke]": "96ae2c70663d26a7fadf783b7c2598658033dbf6767bbcca5a7f1437f26a66f5",
"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[revoke_-_multisig]": "7875c0e382c0891142e2cb54efd0d238e0aa8ece89587d34c4db0f153f5bbb6e",
"T2T1_fr_solana-test_sign_tx.py::test_solana_sign_tx[set_authority]": "b4f5bfec13297cad553b5eb6a08981315be45992db7cb1fb67bf8936172dc7a6",
@@ -8989,6 +9134,21 @@
"T2T1_pt_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "471fc0b01ca96d46e95d87df65bf4c0931ad57bf06ba097ff174319814c13b01",
"T2T1_pt_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "e3cc1398a37026403aa5e52013d556d45f5f9f8baecc498323b7434cd674bfb5",
"T2T1_pt_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "471fc0b01ca96d46e95d87df65bf4c0931ad57bf06ba097ff174319814c13b01",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_amount": "3aa5c9e10bb71d031e6e14ad40a58f4cc1e359973db7df712e7b68f104046f7f",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_purchase": "00c32ae87270785f7163d5432c1bd0d0ae504e5803334a2b6be79300b538fa6a",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_mac_refund": "00c32ae87270785f7163d5432c1bd0d0ae504e5803334a2b6be79300b538fa6a",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_req_wrong_output": "3aa5c9e10bb71d031e6e14ad40a58f4cc1e359973db7df712e7b68f104046f7f",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_request[out0+out1]": "1cd02ad16c40b7ecc7fbd0fb41266745fdf63b6ae8883cbc749f84d233c1389a",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_request[out012]": "5e487889c248fbc549ca4ac998903cef473017c8a38ad707104a109009837706",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_request[out01]": "ec23a2c25b882b9fc67cd7ad46f98f98383c2ce0186e4280fa6198964cf7c6ab",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_request[out0]": "fb95f9dd2463052f6d0e57065d2287d7f03a1a7e78c31293af42d3a538e8cf70",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_request[out12]": "add579f4063a5f163c695e12421580de185cb8679cf20434267ff7af6b38e95a",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_request[out1]": "76c4189ee528d5eedd644473900f1be4140fbca79e1988d0370d02c2eb9c9087",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_payment_request[out2]": "de50c9511b57887dcd838e327bb90356a3814081be53ae25a46978fcfbbade3f",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-False]": "12c07e3c2d28c4ec390f88283926cf53e46ffa58e9b67fdcd400135d090fddd3",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[False-True]": "12c07e3c2d28c4ec390f88283926cf53e46ffa58e9b67fdcd400135d090fddd3",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-False]": "0b4dccadeb4e5dd122d0f9607d10ead1a584e1c401b655210c8eee85cc6b932c",
+"T2T1_pt_bitcoin-test_signtx_payreq.py::test_signtx_payment_req_swap_with_text_and_refund[True-True]": "0b4dccadeb4e5dd122d0f9607d10ead1a584e1c401b655210c8eee85cc6b932c",
"T2T1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "00c32ae87270785f7163d5432c1bd0d0ae504e5803334a2b6be79300b538fa6a",
"T2T1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "00c32ae87270785f7163d5432c1bd0d0ae504e5803334a2b6be79300b538fa6a",
"T2T1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "00c32ae87270785f7163d5432c1bd0d0ae504e5803334a2b6be79300b538fa6a",
@@ -9406,6 +9566,8 @@
"T2T1_pt_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[plutus_transaction_with_total_co-e846c221": "87b38d44fe55c7f6f57d6a659821455e61f2517493f9db3d3a4eed71c5014f5c",
"T2T1_pt_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_cip36_registrat-b9111c27": "7af3a1691b197b1ba71cc18c0e94eed3ad2c522018bdfe45474c6c004332677b",
"T2T1_pt_cardano-test_sign_tx.py::test_cardano_sign_tx_show_details[transaction_with_stake_deregistr-6e84da2f": "3c5fcd0283a34d31ca2c34d1f237508d88f416b1072a0d2c69a91c1a9fdefd4d",
+"T2T1_pt_cardano-test_sign_tx.py::test_sign_tx_payment_req_failed[swap_-_multiple_outputs]": "699dba2508c8f8fb4b66f026b574ec46ef73560edfce2ccbe8d1108abe70287c",
+"T2T1_pt_cardano-test_sign_tx.py::test_signtx_payment_req[swap]": "8e7918d760c5bef20107aa5f1185408986f31e496b97a6249a6a98e736a0ac72",
"T2T1_pt_eos-test_get_public_key.py::test_eos_get_public_key": "0a6f9b5a3701e709e16d9b969fa4b0dab76e29f10633860f511ab957d2d56734",
"T2T1_pt_eos-test_signtx.py::test_eos_signtx_buyram": "c2d60131f664ef8adc3ef79e31d8227ff762664330536de957a81b8193d33a26",
"T2T1_pt_eos-test_signtx.py::test_eos_signtx_buyrambytes": "2a7d7c8f9fba8e5d07f110db61cd6d06a256b6c26dd607a1585a3441d7e45347",
@@ -9595,6 +9757,15 @@
"T2T1_pt_ethereum-test_signtx.py::test_signtx_eip1559_access_list[single_entry]": "515adae7c306aa34efe756e3fd61270a4f17d05908c58b6e221422176e519130",
"T2T1_pt_ethereum-test_signtx.py::test_signtx_fee_info": "bcb561dc1200a410b07639928586298543c56cb395393f073b414a46b10c8d52",
"T2T1_pt_ethereum-test_signtx.py::test_signtx_go_back_from_summary": "ac9e3294b3436d092a4712d4ee35285a37216ab3c4b38083621d02648a628b9f",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[False-False-False]": "f8ac5133d44b21ada8ff07958788ff17a2d4dcfe600e6cbd8c586fce156680e1",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[False-False-True]": "5b393f29db58ee8896e609e685d560b14e14ee32b83203d1a8da9760bb34b849",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[False-True-False]": "f9c470683f12b2f809b587d6ece360a77e8a7a07fcb5536be50021c25d242be9",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[False-True-True]": "5b3b684fe978bdda7670c0fab9389ccc57b78d1e108973404a26d0a39e0a1201",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[True-False-False]": "f8ac5133d44b21ada8ff07958788ff17a2d4dcfe600e6cbd8c586fce156680e1",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[True-False-True]": "5b393f29db58ee8896e609e685d560b14e14ee32b83203d1a8da9760bb34b849",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[True-True-False]": "f9c470683f12b2f809b587d6ece360a77e8a7a07fcb5536be50021c25d242be9",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req[True-True-True]": "5b3b684fe978bdda7670c0fab9389ccc57b78d1e108973404a26d0a39e0a1201",
+"T2T1_pt_ethereum-test_signtx.py::test_signtx_payment_req_long_value": "6b753f39132a33d15f657d9f2a7578ef60e7216bd783145db74e18c2046039ab",
"T2T1_pt_ethereum-test_signtx.py::test_signtx_staking[False-claim_holesky]": "8c53c29fe449640babdb905a764556fc28f5bfc432547650f997bbff34fd7a35",
"T2T1_pt_ethereum-test_signtx.py::test_signtx_staking[False-claim_mainnet]": "c775bf616424e5897a5d08473fdfb323924d594e26ad83d7afc04c4709e6d3e1",
"T2T1_pt_ethereum-test_signtx.py::test_signtx_staking[False-stake_holesky]": "41461eecebdec4dfa65c8d2153b5f7b0c0d0805a6bcc9989d36da1073f25e53f",
@@ -9746,6 +9917,7 @@
"T2T1_pt_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[False]": "237cc1f59d5fe21b07e24a40dffd8442d8bf7e6c2143aaf9d63a90457931c011",
"T2T1_pt_ripple-test_sign_tx.py::test_ripple_sign_simple_tx[True]": "434a2ddbb7e38eef48c51fcb53e205b5664c901cf6c49e59016baa35796f73ac",
+"T2T1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "6234c7580b48a706c34a12ac871a6c68589449c79d74c4e7fc70f7d6ede83823",
"T2T1_pt_solana-test_address.py::test_solana_get_address[parameters0-result0]": "85cf8954203a6da1705795f82945ba90ca4313b3141cf5292cd82ade058f85be",
"T2T1_pt_solana-test_address.py::test_solana_get_address[parameters1-result1]": "b342f12ea8fedbfff455230f33dfcea45cb0a7bdef77e9e0a85c25aed7885d7e",
"T2T1_pt_solana-test_address.py::test_solana_get_address[parameters2-result2]": "f83b6aed898313400cbc8ddafbe409d1aae53b44faf38f514d5d89eb5e642e1d",
@@ -9805,6 +9977,8 @@
"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[mint_to_checked_with_token_definition]": "60cf4cf0424d08aa234b98a3808f758f55d367c90acc79dfc589359e4240529e",
"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[multiple_claim_instructions]": "2ae64926d71c8c62b5e74cdf17231878d24138e70fa48f19328f690530bc2cda",
"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[multiple_unstake_instructions]": "b8a658683eaaffa081c8e43a7e4b2ec0995470899f1d6c09e126e26d3d566644",
+"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[payment_request]": "2e51e68d4b06c3e811aa7492a8f1d9d1f923e36ad5a965c0bd62fb65839df6f8",
+"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[payment_request_-_multiple_transfers]": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[revoke]": "d46935820be661bf7f2b49c4c1ea93f32cfb50aafb427198dc2d4307ee5605d2",
"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[revoke_-_multisig]": "0bae75a592ddcb166175c9ffc2f18e627936ccf6ed092ce954954bc04c9f30c3",
"T2T1_pt_solana-test_sign_tx.py::test_solana_sign_tx[set_authority]": "edaacd9561338b2df18a5690118496ceafb2fbcf71569f7b89e7a671a1a0ec48",
Why this scored 18/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.