What changed, and why it matters
This commit fixes a bug in Trezor's Ripple (XRP) signing code. When a payment request included a destination tag of 0, the device treated it as if no tag was set, so it did not show or verify the tag. Because destination tags are used to route funds to the correct recipient on exchanges, omitting tag 0 could let an attacker trick a user into approving a payment that looks tagless but actually sends to tag 0, potentially sending funds to the wrong account or making them hard to recover.
Treat as a minor security fix. Ensure the firmware release containing this commit is deployed, and verify that any downstream wallets using Trezor's Ripple payment requests also display destination tag 0 correctly.
Security signals we found
Truthy/falsy check on integer field caused 0 to be treated as absent
Payment-request verification address omitted ?dt=0, weakening user confirmation
Destination tag 0 is valid in Ripple and has distinct meaning from no tag
Fix includes regression test for DestinationTag == 0
UI fixture hashes changed, indicating on-device display changed
Evidence from the diff
In core/src/apps/ripple/sign_tx.py the condition if payment.destination_tag: was changed to if payment.destination_tag is not None:. In Python, an integer 0 is falsy, so the old code skipped appending ?dt=0 to the address used for payment-request verification and display. The patch also tightens the payment-type assertion to assert RipplePayment.is_type_of(payment) and rewords an error message. Tests and UI fixtures were updated to cover DestinationTag == 0.
Changed components
core/src/apps/ripple/sign_tx.pyTrezor Ripple payment signing flowPayment request verifier for RippleInspect captured patch +71 / −33
### core/.changelog.d/6969.fixed
@@ -0,0 +1 @@
+Ripple: Destination tag 0 no longer omitted in payment requests.
### core/src/apps/ripple/sign_tx.py
@@ -1,9 +1,11 @@
from typing import TYPE_CHECKING
+from trezor.messages import RipplePayment, RippleSignedTx
+
from apps.common.keychain import auto_keychain
if TYPE_CHECKING:
- from trezor.messages import RippleSignedTx, RippleSignTx
+ from trezor.messages import RippleSignTx
from apps.common.keychain import Keychain
@@ -15,7 +17,6 @@ async def sign_tx(msg: RippleSignTx, keychain: Keychain) -> RippleSignedTx:
from trezor.crypto import der
from trezor.crypto.curve import secp256k1
from trezor.crypto.hashlib import sha512
- from trezor.messages import RippleSignedTx
from trezor.ui.layouts import show_continue_in_app, show_warning
from trezor.wire import ProcessError
@@ -27,7 +28,7 @@ async def sign_tx(msg: RippleSignTx, keychain: Keychain) -> RippleSignedTx:
payment = msg.payment
account_delete = msg.account_delete
if (payment is None) == (account_delete is None):
- raise wire.DataError("Transaction cannot be both payment and account delete.")
+ raise wire.DataError("Invalid transaction type")
await paths.validate_path(keychain, msg.address_n)
@@ -52,12 +53,12 @@ async def sign_tx(msg: RippleSignTx, keychain: Keychain) -> RippleSignedTx:
raise ProcessError("Fee must be in the range of 10 to 10,000 drops")
if msg.payment_req:
- assert payment is not None # payment_req implies payment
+ assert RipplePayment.is_type_of(payment)
from apps.common.payment_request import PaymentRequestVerifier
verifier = PaymentRequestVerifier(msg.payment_req, SLIP44_ID, keychain)
address = payment.destination
- if payment.destination_tag:
+ if payment.destination_tag is not None:
address += f"?dt={payment.destination_tag}"
verifier.add_output(payment.amount, address)
verifier.verify()
### tests/device_tests/ripple/test_sign_tx.py
@@ -201,6 +201,42 @@ def test_signtx_payment_req(session: Session):
== "120000228000000024000000642e0001e240201b00051537614000000005f5e109684000000000000064732103dbed1e77cb91a005e2ec71afbccce5444c9be58276665a3859040f692de8fed2744730450221008770743a472bb2d1c746a53ef131cc17cc118d538ec910ca928d221db4494cf702201e4ef242d6c3bff110c3cc3897a471fed0f5ac10987ea57da63f98dfa01e94df8114bdf86f3ae715ba346b7772ea0e133f48828b766483148fb40e1ffa5d557ce9851a535af94965e0dd0988"
)
+ # DestinationTag == 0 is a valid tag and must not be treated as "no tag".
+ msg = ripple.create_sign_tx_msg(
+ {
+ "TransactionType": "Payment",
+ "Payment": {
+ "Amount": 100000009,
+ "Destination": "rNaqKtKrMSwpwZSzRckPf7S96DkimjkF4H",
+ "DestinationTag": 0,
+ },
+ "Flags": 0,
+ "Fee": 100,
+ "Sequence": 100,
+ "LastLedgerSequence": 333111,
+ }
+ )
+ nonce = misc.get_nonce(session)
+ address = f"{msg.payment.destination}?dt={msg.payment.destination_tag}"
+ payment_req = make_payment_request(
+ recipient_name="trezor.io",
+ slip44=144,
+ outputs=[(msg.payment.amount, address)],
+ memos=[memo],
+ nonce=nonce,
+ )
+ resp = ripple.sign_tx(
+ session, parse_path("m/44h/144h/0h/0/2"), msg, payment_req=payment_req
+ )
+ assert (
+ resp.signature.hex()
+ == "3044022034503ece085fcdbc5a9b64bad5bf4a3fec9337fbb24ced9a0ef8dc73918c963202204fdd102d7e406434de14a007dddaa19da69df91ccde2c06e544e29f9d37a2a04"
+ )
+ assert (
+ resp.serialized_tx.hex()
+ == "120000228000000024000000642e00000000201b00051537614000000005f5e109684000000000000064732103dbed1e77cb91a005e2ec71afbccce5444c9be58276665a3859040f692de8fed274463044022034503ece085fcdbc5a9b64bad5bf4a3fec9337fbb24ced9a0ef8dc73918c963202204fdd102d7e406434de14a007dddaa19da69df91ccde2c06e544e29f9d37a2a048114bdf86f3ae715ba346b7772ea0e133f48828b766483148fb40e1ffa5d557ce9851a535af94965e0dd0988"
+ )
+
@pytest.mark.parametrize("chunkify", (True, False))
def test_signtx_account_delete(session: Session, chunkify: bool):
### tests/ui_tests/fixtures.json
@@ -2605,7 +2605,7 @@
"T2T1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "06ada2cc16cd2b2d8b65ebc9a593458a40296e8ef90ac3cf9f47739d7d26abbd",
"T2T1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "c98d644aea9e399ba4c22c678a373130ff7a60eef709ec37615301aa306e42e6",
"T2T1_cs_ripple-test_sign_tx.py::test_signtx_cancel": "846830020d58de3c86c18ce92b45dff900df0feb5f588625df9b1f4e820459e2",
-"T2T1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "abad677fb1955df3f2b93bc09708aa3d98e5203be8426fb7dd80fc7f740117cb",
+"T2T1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "29622ef641548f6a3c40e9e3d977249aa7fd3c93ad31d462584ba2b1dd371c3a",
"T2T1_cs_solana-test_address.py::test_solana_get_address[parameters0-result0]": "a299de9dd13d49051b6abd4cc937483963899f8d81f7b798051e10026997cd37",
"T2T1_cs_solana-test_address.py::test_solana_get_address[parameters1-result1]": "dc7ca96059fcb1f35ed2f303884a73194cfcb797671a1416949805e2a9c8d117",
"T2T1_cs_solana-test_address.py::test_solana_get_address[parameters2-result2]": "f1de4802483b9fbd1ac8be093a162bc991891c987de1ef31e4d2431ed1a977fd",
@@ -4474,7 +4474,7 @@
"T2T1_de_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "d7b3819749169ded07e67dce491f2f9fbcb8b9c136f82a585c02b3f580cbb719",
"T2T1_de_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "2abdc3a941d68674f9ce303bc4c5487c76e48305dc52b5528ff164a13593142a",
"T2T1_de_ripple-test_sign_tx.py::test_signtx_cancel": "db8e0704d535b82953cd8d6f4624fb6e7128adaf1a077ae9b2f1ad567a9591f4",
-"T2T1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "b5c207c5de77475ab7bae650699358dccb6bfeb50932b57f9b099e9eaa4a590a",
+"T2T1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "0bd59548ef3c9f7608f0273e70d0482553d7ad197e6150f4cf2d104a416227cf",
"T2T1_de_solana-test_address.py::test_solana_get_address[parameters0-result0]": "feb055cc862c927690ec863a5fe79a79045a344898a7c06bdb8ef990a1e88e9e",
"T2T1_de_solana-test_address.py::test_solana_get_address[parameters1-result1]": "b6f9e0465002bcda9dd828a8653c07413b72c2b857c4db71480c6b967dc50b23",
"T2T1_de_solana-test_address.py::test_solana_get_address[parameters2-result2]": "fa07131ca733728ece97c8e8d62a4c39176d408fd4688b3ee030b493ff3e2c59",
@@ -6343,7 +6343,7 @@
"T2T1_en_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "1303efcdc2cdf5d63219eb44e8fd9b6644f8d43b0cd482af624b186db734edc4",
"T2T1_en_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "f4f43b79ebb41506d8dad1f3c150301346f9defc54322d2bbea8d99dc34bee8a",
"T2T1_en_ripple-test_sign_tx.py::test_signtx_cancel": "caa0249c0552c2bbcd7f5f9f5d41edd1e60cd77226e8ed83f1b5d611a3edacdb",
-"T2T1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "43bdddfedc632f470fa98981f7493272b97ac0fe1d66aaedc2b774e4683670b1",
+"T2T1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "5d37803d4606e0dc6bf36c7f8dd8e31c13f7f0d3a4fcdf4b7cea3a1578422682",
"T2T1_en_solana-test_address.py::test_solana_get_address[parameters0-result0]": "0d6748fbda84de8c3e99b7ccd3c8a8aa1f43c9a43620687f87c22334187e600d",
"T2T1_en_solana-test_address.py::test_solana_get_address[parameters1-result1]": "a74a4b6d0e6f87cd62a97516aed1ee97a03412515f6230693408671e7281d065",
"T2T1_en_solana-test_address.py::test_solana_get_address[parameters2-result2]": "52ddd1b5bd793b1bafa86a44539a41fdd96357459e83b66320465acdb18ffe3a",
@@ -8230,7 +8230,7 @@
"T2T1_es_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "869b40d0f08fd2061482cdbba20c1055ccb85447fe6e71e1e544db67f02c5688",
"T2T1_es_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "060952ee81f53ddb9ab471b26617015c1843a1f0fc199a078cbb4a44d587f3f9",
"T2T1_es_ripple-test_sign_tx.py::test_signtx_cancel": "f4b01183cbb0c7cadba516b310f5e9ee30f03362d8224247e64878c8402332d3",
-"T2T1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "f4f88f29248904c392b78ea851b0d4ac8f81c6c5f0e91a8fe1eadb3bf195e759",
+"T2T1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "f2c4a6c92efd3376c363e0bdf6a08989f94bc6c625e6d4c4347a692c063262d5",
"T2T1_es_solana-test_address.py::test_solana_get_address[parameters0-result0]": "680811fcf93735a2b3efb778a5f89c182994f3e1051ba775b05f4a545420f1da",
"T2T1_es_solana-test_address.py::test_solana_get_address[parameters1-result1]": "ca67daca3c2af929a22879453f37db03ca5513276c5697895d7d71ef8455c2a2",
"T2T1_es_solana-test_address.py::test_solana_get_address[parameters2-result2]": "3ab307ce2e888cd9316d0cbbedfba62752f2f60b57c5b9add111e08931bbdd2b",
@@ -10099,7 +10099,7 @@
"T2T1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "d7f969e3fd47be78fc1a07a05741c551aedc16b9304112bf715f8c61a122964c",
"T2T1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "428cf0cb487132147fc2706f58647ed0603aee53fa5e9f6c05de377a55dfcfe2",
"T2T1_fr_ripple-test_sign_tx.py::test_signtx_cancel": "816402e01bd60bbaf98a8a3adfb19297805da23ab97ccfeccbd5a830470dd473",
-"T2T1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "5630eac36f630119d3d8cda9c439cf59825a35751e7041aa0a1c6cda727526c9",
+"T2T1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "c54ac5ce5490d9f3f81b420488873ab4604efbb0e200f977c3acb0e6df26ea5b",
"T2T1_fr_solana-test_address.py::test_solana_get_address[parameters0-result0]": "090e51419698f2c195b8f8e52832d3d135a7da31679196510a5bb7c134c99bca",
"T2T1_fr_solana-test_address.py::test_solana_get_address[parameters1-result1]": "66c928b3401d5e02befa0fa730d6cfa852cec3ad10f3aed4c5acdbf8219024f9",
"T2T1_fr_solana-test_address.py::test_solana_get_address[parameters2-result2]": "28fda05fd6bae2b6785e7b2e937a1f273ec31fd66e9b67f19db57621e3bb20f0",
@@ -11968,7 +11968,7 @@
"T2T1_id_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "a36760d2435c0608ca8eb663212f82831a550e02991e13c38b2428602e82ded8",
"T2T1_id_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "45de60eddbbe834c94eaa2f700a8c023b852bd0151ce86886c13b6cd255a5875",
"T2T1_id_ripple-test_sign_tx.py::test_signtx_cancel": "1bf296f3cb514e3c4a0a1d18d4c5e932ee359d80d4079d2f3babdc8997e4c50f",
-"T2T1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "303183355bb2f2b4fec0662556a74ff3cbfd3b735d362c4b85ddcb77f2503a5f",
+"T2T1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "0d7f922f8882984dc9f639d68adf3ca46f5fcc324821e3803ad08e119440be30",
"T2T1_id_solana-test_address.py::test_solana_get_address[parameters0-result0]": "5b9d5cf4a99c63f610a9748dc5ea307b61235351db07213c143fd2145e4fd3c7",
"T2T1_id_solana-test_address.py::test_solana_get_address[parameters1-result1]": "351e87339edf8e216c535b0967157108666d7cabeb92caa7f348bdd648cb2e68",
"T2T1_id_solana-test_address.py::test_solana_get_address[parameters2-result2]": "aab0b1de85c88f0de8ca5065bfa5b28fa0437cae1514e3cd2de6b1ffbd584491",
@@ -13837,7 +13837,7 @@
"T2T1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "f0e571937c3858a35187187f2003cd73ddf07ad950f9c688e2b2d1f728c463ce",
"T2T1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "91711cecd1eded06109b5f3c8e23ac4aeb73027d7fe30fa611107c4b159cde09",
"T2T1_pt_ripple-test_sign_tx.py::test_signtx_cancel": "d15a9d1b6ded59b261f1791abc709f2859ed5f93234234e247eeaf8c24f93d98",
-"T2T1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "1d105799a4df04f6682dbc7573d0bd4b068ef671973bf1585ef3534f7d8852fd",
+"T2T1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "9282cdc7aa2e95796871923921dfe4cf1f828b74f320f86070e9fa11d98b0a28",
"T2T1_pt_solana-test_address.py::test_solana_get_address[parameters0-result0]": "033a7fd20aab2d09e0a7c8851019d6ffde7a135c370bb81854e2c3d092b8269c",
"T2T1_pt_solana-test_address.py::test_solana_get_address[parameters1-result1]": "29fffd51e21d1af2e3479215db44df354a2480c243ded5585255c3b62b60a0b6",
"T2T1_pt_solana-test_address.py::test_solana_get_address[parameters2-result2]": "9e38b68674e5473818fd5d2c8a9f1de34677087d2b974f591197f55303b32d7d",
@@ -15994,7 +15994,7 @@
"T3B1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "ab795054ddd4194748a5d89a0821a54bd97d9429ac5070757e4b797fe1d15424",
"T3B1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "6c29d02697d1933eee7b25c2069760649290819eb30bd148beeb338b56e2f5d3",
"T3B1_cs_ripple-test_sign_tx.py::test_signtx_cancel": "728dfb976dce9ceb61be30c0716b9fbfe007d5cb43ef5246482520acaa078146",
-"T3B1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "6b21504d50902b490520275b006c00a8d2982f6070af618e5d154e74d057fb65",
+"T3B1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "dc85dc2e4465c387ccf34e74fdfc052e8a448db6133f5c71ef9e8d0e7917993a",
"T3B1_cs_solana-test_address.py::test_solana_get_address[parameters0-result0]": "412859348e124a13ea9fa2680f08268d6844bd5e815481f8698bade03dd46360",
"T3B1_cs_solana-test_address.py::test_solana_get_address[parameters1-result1]": "7807064071f78367c1b3cbb3934393702180cf437015b00553439cc35a58b389",
"T3B1_cs_solana-test_address.py::test_solana_get_address[parameters2-result2]": "62f4f63932d2c05ba66d6303764fa1cda9d82c081e47ffd9e81f5ed86f5f3bd1",
@@ -17802,7 +17802,7 @@
"T3B1_de_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "a40d42d685dbdbdff1fa5fdca28d32778f958105d03f7a6793bb99bde3a7550e",
"T3B1_de_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "b06e953de31490586f7c13fa1780313d9d989b1167b24aff34604b2297cb3f11",
"T3B1_de_ripple-test_sign_tx.py::test_signtx_cancel": "671b96a90fdc26b70bcb1115ab956b2e34c92042a3c0eae2c63b57ee9d6c3bf5",
-"T3B1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "d018e7a06c1433d4b5712b863bfbddb5758631a797cc9befa48e35074ce68602",
+"T3B1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "0c9b219bed0f7a0db28860a2a45004e571df2d10d0f4585f83e979b7050b7523",
"T3B1_de_solana-test_address.py::test_solana_get_address[parameters0-result0]": "5e8ce4d794ef70961f4c7ef57df9f71a02ac9bc5bbd4aaff956303c30eaa833a",
"T3B1_de_solana-test_address.py::test_solana_get_address[parameters1-result1]": "523b0d95ace98d1e20d7f0836ee0939f2d0cfc8da9a4a600f1a82d1567c8c0ca",
"T3B1_de_solana-test_address.py::test_solana_get_address[parameters2-result2]": "48f749e6fc70256b90e3037a80f21216a95b68fea8ab200667d19049abe23b05",
@@ -19610,7 +19610,7 @@
"T3B1_en_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "fe4f8351711c70acfac78b6b3a4f501a02c939320bc83406093d2d7e78174727",
"T3B1_en_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "8e32bb3ee7884bcfac53544111cc86b3c107537d86cfc7a30bba34acff878817",
"T3B1_en_ripple-test_sign_tx.py::test_signtx_cancel": "85aff5e5bdf5e378d1afdd1290172fb5f082860f2df02a9fd5ea9cb24dee90db",
-"T3B1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "d0fbdea472b03a7630aa7212a8cb4930d90ee8d749114b6a93f55cd6533b67c6",
+"T3B1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "6f4730f9f22ebba9420d9909d9e0dce1b307e79e7359fabd8dfdce28a06414ff",
"T3B1_en_solana-test_address.py::test_solana_get_address[parameters0-result0]": "bfbc93cf93bb35254e120a06003e9632537f290fe21e93978f15a448fd7f692b",
"T3B1_en_solana-test_address.py::test_solana_get_address[parameters1-result1]": "3259d6a679ba1c1a219ba2f12dadced5ae6a23791c57e0b138c7ecc9705bf8bf",
"T3B1_en_solana-test_address.py::test_solana_get_address[parameters2-result2]": "a561e6e9143b25d5af9e118cb7247b0a035424239e8a16da482bf07aa62ff2f3",
@@ -21418,7 +21418,7 @@
"T3B1_es_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "b4e8de4364bfb3c3da2dc807130b372722fc7c91a6a41d90cd7536a0546093d3",
"T3B1_es_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "467dc1af70ff59e1056b3a889237c9f9af6c7d18e1647e00258d56b2ce4b6ee5",
"T3B1_es_ripple-test_sign_tx.py::test_signtx_cancel": "3c80aba530f3746dd4c53b77187590eb7aaa46dff58ba7e94ff92461f5e35a3a",
-"T3B1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "dfe8b3d6c56ca5e021eee6bec2f7c0ab23c5992b73b7bc4c9cb8ac1859e26ff7",
+"T3B1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "eeabafd34b6c0f8f8c431ded48235ddb27a65135e940982950fa88588c3ca303",
"T3B1_es_solana-test_address.py::test_solana_get_address[parameters0-result0]": "6990050cdf4361dac9b54b1dda135e5a93346c984520691091d7e7cb66a3932a",
"T3B1_es_solana-test_address.py::test_solana_get_address[parameters1-result1]": "859e89c89af8088336b193f1c089b85d018f9a7c7b74bcf5e90c0b619c59623c",
"T3B1_es_solana-test_address.py::test_solana_get_address[parameters2-result2]": "a2922045fffdcfdac953d0ef2fe6b9de62ab06713555d3987255c25b5b379773",
@@ -23226,7 +23226,7 @@
"T3B1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "d0356ec498a62b246c794c905c88fac412f0128c0994482cdd164752a89fc9b4",
"T3B1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "f39db25cfdd59f5b77473101e6b01981f752134d9e6f08df5a4b9a04fb1a1fce",
"T3B1_fr_ripple-test_sign_tx.py::test_signtx_cancel": "0fbe546058955b58f120997948cddb946c5a1d11d4e8b8ceb44e9e4cb5028349",
-"T3B1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "b5a484757a6c4e66b034134e96205bff8e6fe0d1b12bbc9de65054767fd7adc9",
+"T3B1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "416133aa1317303cb2732758d4a00ff20f0c20dba59b88c66e02735bb1f5340a",
"T3B1_fr_solana-test_address.py::test_solana_get_address[parameters0-result0]": "71bfd41e4d1c03b425bdee8265ea710d955bf947ea4eddf5aa019797a942add1",
"T3B1_fr_solana-test_address.py::test_solana_get_address[parameters1-result1]": "e8b44aac68f386078f00e535ec23d09a2debcf96c011f65af46fa25db4131ede",
"T3B1_fr_solana-test_address.py::test_solana_get_address[parameters2-result2]": "3471cbc598d6e1cbeae4395852e219554ebd2ca1e8ee218b6c3a63643c66c9bc",
@@ -25034,7 +25034,7 @@
"T3B1_id_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "7233a2848e920b8d2880a5a5eee592479d0cc1d4ac469e1c8f4906dc430e4c58",
"T3B1_id_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "77de02c6de5ccca79410257dd58ca66a53cd23c2a69897dd4df70bbfc5a88319",
"T3B1_id_ripple-test_sign_tx.py::test_signtx_cancel": "901d29b758f11f51397814432091976d3dcf56448ffb99fe81ade7220b2b3cda",
-"T3B1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "c420b04abcd21f15e1cc699cc171bd2c0c2fe5f0f209ce49ca1b0ac1e7a9e865",
+"T3B1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "ac3cd04920ac27ecbe4e2fa207d25f34898b5568c145fd0c975a5634dbff8c35",
"T3B1_id_solana-test_address.py::test_solana_get_address[parameters0-result0]": "0383d8e66e28187b70c62e7b0624031122ecb9829d0c6a8665c2ffe4d72b5915",
"T3B1_id_solana-test_address.py::test_solana_get_address[parameters1-result1]": "b5f3ca8723e30b9279a46e759050f45516a34b148c2a3de0a578a923650ec42d",
"T3B1_id_solana-test_address.py::test_solana_get_address[parameters2-result2]": "382ad0c93d274b6af43a7a2f933059192baeded64457cd1db9a3a5aadca8a641",
@@ -26842,7 +26842,7 @@
"T3B1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "c3d08f5faaa4f0128ac79b226c6c7c2926c619545349c2caa68e5ace4093e21c",
"T3B1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "caac680bdd6286b1e53ee052cf799a518a4028471516eed91be6b121bb8ec7dc",
"T3B1_pt_ripple-test_sign_tx.py::test_signtx_cancel": "b503d98a8b1558c62f4ce4dd918cbc83f5ff725a269b520552f93187673555b0",
-"T3B1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "1f9a1344e8a839b3cc9bb8a7a7cf96b9ce65aac200894d05e53d6bdbbcf523c1",
+"T3B1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "e1b1258c24627f608a928d4e83f3b022d48be7f9068660e691d8ecf5a50285a9",
"T3B1_pt_solana-test_address.py::test_solana_get_address[parameters0-result0]": "631ed5cac4f18291cb1cdaf311a5930f573d0b30f65f19eee9e085afe9d1a420",
"T3B1_pt_solana-test_address.py::test_solana_get_address[parameters1-result1]": "aed55b8157e56f31e4649b57e535fb6d0ae5107b34e7c5e25b491b8752c503e2",
"T3B1_pt_solana-test_address.py::test_solana_get_address[parameters2-result2]": "8d5af0993602f099297a8ce88e3322bad723e6f09ca607533e96742dd0e16b30",
@@ -29107,7 +29107,7 @@
"T3T1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "20f9c1bedc8d431722a642d5b87babb0930716c2a5a78456579417f4520c5d3a",
"T3T1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "b4618224bd9590d68a9e949a9ee959017df408bdaea7261049f54d6b622c574e",
"T3T1_cs_ripple-test_sign_tx.py::test_signtx_cancel": "d9c7f7e338ed7a8e63200b6aa66be1d53619f4a2d4f75bda84f93c95a6057cbb",
-"T3T1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "e9a0c1ed19d3f2246fa0b508533cc020faed23c917e2fcafab0b2d6815acb695",
+"T3T1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "2bdacaeb4e6b7d246ef34287bb72ec12150258852943b3f67dfa7a92dbdb116f",
"T3T1_cs_solana-test_address.py::test_solana_get_address[parameters0-result0]": "efe765a7e1aa156b36017b0c0693e6c47291f336aef27aa72ad8757fd431679b",
"T3T1_cs_solana-test_address.py::test_solana_get_address[parameters1-result1]": "eff261e577f0973d1677415a0e4785228e2e1f5b12867c1281534f846ba9b2fb",
"T3T1_cs_solana-test_address.py::test_solana_get_address[parameters2-result2]": "4d93675199b8d09f3e5f9d984a8e4139231b9a3363a71686e092e733580d21da",
@@ -30950,7 +30950,7 @@
"T3T1_de_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "f63f81712ce9fae4042eabdabca36566524a6bcbe6905d2df88c46e176725453",
"T3T1_de_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "d4da2e4670088fe1d6e7701c3c106401416ea02e287cf5d60576c4ed64d4503f",
"T3T1_de_ripple-test_sign_tx.py::test_signtx_cancel": "5ed03fa7fc6e30f036e98509b5cc3d262ad218ec2bc0baafba7fedc4b3db0d04",
-"T3T1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "84111276e3bd3fa373e4f6cc40c8d569b6620291fb562e932d3ae87fa6665ba7",
+"T3T1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "6c02b9f471bb7b92d04f32b25ab3239f32ee952deb3228ac8f24cbce9d59a8df",
"T3T1_de_solana-test_address.py::test_solana_get_address[parameters0-result0]": "d7dc2013a91695f09308eb60b1ea445f854bc827c7b3cd4858fbb6ec9213c157",
"T3T1_de_solana-test_address.py::test_solana_get_address[parameters1-result1]": "5dc7c1ecddc801beac54695db2bbc645886b3e760b01cf09ee317aaaaedef31a",
"T3T1_de_solana-test_address.py::test_solana_get_address[parameters2-result2]": "3ea81b785b4e1faaabd8f6d7e2ad2e2796bbaa16c30a53c2787a0724e6b9e7cd",
@@ -32793,7 +32793,7 @@
"T3T1_en_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "e7224d4115ca1813bbec8d1e783cefdc72c15ae8afa670a5881bc049dbda7b5e",
"T3T1_en_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "5c35a64db37f452213f3a03e686ef79001ee7d739819d5c5fcf6f1b1678fd0ad",
"T3T1_en_ripple-test_sign_tx.py::test_signtx_cancel": "5b5d3ce176c361d5be22da56d1e4e296defc7176105aa9b7ecf4ea3095e24491",
-"T3T1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "c8a3d82ba6e2c832304b9e367315363a233010b8091c5a89e268d1e3583a7722",
+"T3T1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "ed505078c04fa5fa3377130e59eeeee3b2186e6246e7b6e7accc0e3542f5f39c",
"T3T1_en_solana-test_address.py::test_solana_get_address[parameters0-result0]": "903927e0cc65db6895779be62a58514b15a347061c08e1fb38b4cedea007d85e",
"T3T1_en_solana-test_address.py::test_solana_get_address[parameters1-result1]": "b14977a573adf77f48d378f9b14d61f2a8a382611520f25b51eec4e6803e7fe0",
"T3T1_en_solana-test_address.py::test_solana_get_address[parameters2-result2]": "04a9bac16897ac36da66e692e34d68e56367cd6e8b4308eafda19f3938ef2d40",
@@ -34636,7 +34636,7 @@
"T3T1_es_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "0cba4f87bdff0c83285d5936655b9cd5fe363cfed9d7bfea20ddb2cbb01981f6",
"T3T1_es_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "b9ab2abbd40310f9e6afe6bf45b03481f358706b906e010be56426d5f985b2a5",
"T3T1_es_ripple-test_sign_tx.py::test_signtx_cancel": "3c9a66989514420c9959f17d8df39a08b41aa2fd12578ef76e1eadb8a2a83531",
-"T3T1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "63a4ef452fdeb37da3fd3abaecc831bdc6f2b116039678981661e6147d074841",
+"T3T1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "ee0f5138eb062c2badb853b4c8b7b902224b1e1cbc04e2d89a90e76c94ea9d87",
"T3T1_es_solana-test_address.py::test_solana_get_address[parameters0-result0]": "554825947a400e8498b2a3efbd14d9215fead1c20f9dc3df41f42745f3abc73a",
"T3T1_es_solana-test_address.py::test_solana_get_address[parameters1-result1]": "0582823d11de6dcb662eaa27922e12775ccb9a92c2b2935362ecb5f8a2b8b131",
"T3T1_es_solana-test_address.py::test_solana_get_address[parameters2-result2]": "b0816c6e918c0cd2501ed5feee167c00c4b53a50be1565add6b17a627a5050d3",
@@ -36479,7 +36479,7 @@
"T3T1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "872c7f5612e7d43d36232f5a9bc579328e441d8227c99449b88348844f3f7656",
"T3T1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "45f0106b4d237a839c57366fe0fe13a13179320cffe85dd170dae68413b242b8",
"T3T1_fr_ripple-test_sign_tx.py::test_signtx_cancel": "abe27cac5479f6789eb333c42253a11fd52036d8f37005cbc1751f0247ce1c6e",
-"T3T1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "ad49c6d760fdd4a068ebbac84c82667008406b9aed3311466aadbb9567ce7216",
+"T3T1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "6cfabd24c5b9a5c1ec25c99aa5793684fbba2a45445aec09d065233d9fe6eb1c",
"T3T1_fr_solana-test_address.py::test_solana_get_address[parameters0-result0]": "9091fe53e878af05c3b0952d7da9c0550fa35028ab45df9008864e52122775b5",
"T3T1_fr_solana-test_address.py::test_solana_get_address[parameters1-result1]": "0fdd87bf253450f413b5ee62cbc957d212a3691f2f2c4787b371d37d9d661f0b",
"T3T1_fr_solana-test_address.py::test_solana_get_address[parameters2-result2]": "a7e1db44525786afc9ecb296aeb95b704c136ec1e9fae9fbe41f555ce84684ec",
@@ -38322,7 +38322,7 @@
"T3T1_id_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "c36b424bb3d98bb9ed3532b16a4681d194b579b03813d34deb17a870890b8c76",
"T3T1_id_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "2ce6db3b4044e249c49ef4da21caa59923051fc119478cc406fedbf1c0fb37d9",
"T3T1_id_ripple-test_sign_tx.py::test_signtx_cancel": "0378f9fd6885e46b2c9e636764c9f483ccdac965fa3add47983278d86aa5ba0f",
-"T3T1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "53144fecc13856b2bf79b1b8366899bdb73cd7e4965b6f995d3c30a562bc325f",
+"T3T1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "dc46744431a9f5eefcaaf125e0a6cecf7057c556ad4ae8c422f613e978a84204",
"T3T1_id_solana-test_address.py::test_solana_get_address[parameters0-result0]": "2cc4d22c8dac0c933df843cd8de309a313409784c8953407cfc549a35083cd91",
"T3T1_id_solana-test_address.py::test_solana_get_address[parameters1-result1]": "49a9a81cdb3ac69e146e6ac5dfbeea8762f282b543b548a486c72ed01d8a15e7",
"T3T1_id_solana-test_address.py::test_solana_get_address[parameters2-result2]": "9f6f16dc3d3d3baad81f04dfcb74d4e0da7128e9cd85f86a27a4b5ee1b8617bf",
@@ -40165,7 +40165,7 @@
"T3T1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "fd6a9b3e0197887c3297aecbd74842c17772b7c634515e2a530bbea6c7107a5c",
"T3T1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "97f1806afcd59ff9662598ca33fe239e2db433e571062836a2de090fffcfd0d6",
"T3T1_pt_ripple-test_sign_tx.py::test_signtx_cancel": "fd45352d196d35b81f5411d3006e3b9c19371ce5035737d0746d4670dac8474a",
-"T3T1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "bcd157af7c2b9ef96f103e055c181c9aed6f58feb60e116be1f0fbed5c65530c",
+"T3T1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "6fac30d333921ca3ebaefb0f607cf91fd72f1f456d6574e99335428fe87cca35",
"T3T1_pt_solana-test_address.py::test_solana_get_address[parameters0-result0]": "00ab18e1d7426f4b73ad9e4a61b55c6306eaca631fc75cb6690137eb8ec64200",
"T3T1_pt_solana-test_address.py::test_solana_get_address[parameters1-result1]": "73579f0dfc74d50da800dc460a84193e8dd31f8ba54ca192b0ea3a9b0d1da5d7",
"T3T1_pt_solana-test_address.py::test_solana_get_address[parameters2-result2]": "7d99693cb8069340c87f1c110367326228fe97c1b0e1326c3ad07a5a41f4607d",
@@ -42769,7 +42769,7 @@
"T3W1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "a8634165e5c839358d6d83c3dff066cddb0cfbdda7b50a7946741b0f349c2d87",
"T3W1_cs_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "de5702aad933e6366728730cb6219f65418fb4f86491287a8516755d0d91d580",
"T3W1_cs_ripple-test_sign_tx.py::test_signtx_cancel": "9c7ca0f9ca232fee879a2b5d0b74ce9d00d30f531491cd43b3d234fa2ce5575d",
-"T3W1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "b1ff3d6cff2ba0cbc85f14369d28d1fdb065fd14c448472e418fad1f2d8c5974",
+"T3W1_cs_ripple-test_sign_tx.py::test_signtx_payment_req": "294c6f7d7f68857b20dad2c3e6eb8899d718a8735ba073663f445ea9cf7b9dc4",
"T3W1_cs_solana-test_address.py::test_solana_get_address[parameters0-result0]": "af36ee996bfb119072aa265cb7a2598b1ecf57303e53d0f17cafdaef36fa8af9",
"T3W1_cs_solana-test_address.py::test_solana_get_address[parameters1-result1]": "d2aad8f5579a0a422815dcbdedccca8726e7e8020c4b51278d1d804a9c9d6b4a",
"T3W1_cs_solana-test_address.py::test_solana_get_address[parameters2-result2]": "73f235fd2a9afc6b019284d08bb61fb93bbc191d2b36d0a48bc38ed5b723df1d",
@@ -44647,7 +44647,7 @@
"T3W1_de_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "a44a62041dd349310b72c2ea83f9006ced882242ab137331e039d67b4a83f475",
"T3W1_de_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "8c32a458be91864a103ae40ffd36b8aa620518733d2c9f5c18b37847586cae29",
"T3W1_de_ripple-test_sign_tx.py::test_signtx_cancel": "cc1ecb72dd5980d223dc470351d0776f85cfb8c7f2edce8237af0a94e27b7d6c",
-"T3W1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "5f4713fee2333035429ffdaff81add8e11d9da40bc1f71dde6fce3b47fff5bca",
+"T3W1_de_ripple-test_sign_tx.py::test_signtx_payment_req": "d3c16e459c4ac30c983f3e3033be3d5fb4aa229522c9f3016b67ed1e09925dfc",
"T3W1_de_solana-test_address.py::test_solana_get_address[parameters0-result0]": "10b323c0da9715c4c551402f16508ca2cbb84af1e2ca7f5b23889824c8d2f495",
"T3W1_de_solana-test_address.py::test_solana_get_address[parameters1-result1]": "f4059b1bf3092c780da799b5d838888608b6d926f990da64a5d8d90747a3c388",
"T3W1_de_solana-test_address.py::test_solana_get_address[parameters2-result2]": "3460040d40eade4cbf5fb81a672b6e887fdc6525161c0450ffc3c094cc39abf0",
@@ -46525,7 +46525,7 @@
"T3W1_en_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "bac32bb0c916dee67d2afd28322e57e4498eff51c0bd68b4823d6822b2bdf9e9",
"T3W1_en_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "2b509854f8db5bca1559fd8bde62b0b67cdd0d5e906eb5ec501e555bc9b7ed3d",
"T3W1_en_ripple-test_sign_tx.py::test_signtx_cancel": "5acfeca96d8c3409caf100dd7569db8a3f3815694992cd9760b98edd83954a63",
-"T3W1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "36f097cd911d784a739dbe7363bdceb1cf8ce89df28a9688092c707259dc44d5",
+"T3W1_en_ripple-test_sign_tx.py::test_signtx_payment_req": "47df0bfbf056e095c6b735f3cbc46d5893f4783e7eedf0480628ecec6b86d4ac",
"T3W1_en_solana-test_address.py::test_solana_get_address[parameters0-result0]": "84095c03a1d3eab9335e80a0a79f0354252e649dadbfa2d7ea528fe54a772ef6",
"T3W1_en_solana-test_address.py::test_solana_get_address[parameters1-result1]": "8306ce95a57e8ec0ae26a90d1cfcf7e0f8641ddd390e1a33dc1337d5a288fb16",
"T3W1_en_solana-test_address.py::test_solana_get_address[parameters2-result2]": "dd781c9b5b4059f1e1deae3853afa6ed8fa538e100e304abe231ef4260c3c725",
@@ -48403,7 +48403,7 @@
"T3W1_es_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "fe46cb3d7b243c41efd8f1476b5e4f1bceb93f20a16e5af47190eb5c50e47741",
"T3W1_es_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "70cd2b3a35457f7180f5d15c87bea035d020030cd0d27fa20ab10e295397e98a",
"T3W1_es_ripple-test_sign_tx.py::test_signtx_cancel": "4a83619d43d532562f6b58ac222fef3a4bad71b9c510c47464879df1dfcfb6b9",
-"T3W1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "c3d32136af2ba70aca1b19c21f156c1536d2c0d91f18a1fb07707449b90058e1",
+"T3W1_es_ripple-test_sign_tx.py::test_signtx_payment_req": "6863adfd880348104d662100fd72bc4b4b278cb2903e48b393d9952b95888921",
"T3W1_es_solana-test_address.py::test_solana_get_address[parameters0-result0]": "0b80a21662f6ab9ec1c3a8edf3baa33ef05e5f55783e48adc763a968b695c70f",
"T3W1_es_solana-test_address.py::test_solana_get_address[parameters1-result1]": "86d31bdfc5b8c137f81a3aefd82aefe0eeb601a9c050df20cd3acae1b39bd32c",
"T3W1_es_solana-test_address.py::test_solana_get_address[parameters2-result2]": "62de95449a82b6237c229e54b963f936c74bfcfd2e248a44a89ae0c54482699c",
@@ -50281,7 +50281,7 @@
"T3W1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "3192d5d2b49e3743a4388424d444734f9e730535e216c022388474f110deb4da",
"T3W1_fr_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "7b921a24467e05da1c718a6f412984961262abe5e2859aeb913c26548493d9b1",
"T3W1_fr_ripple-test_sign_tx.py::test_signtx_cancel": "e79815ed7e1ed4caad1862421aeb8fbfe7cf83951350e91137a87672c801935e",
-"T3W1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "3521156e636b2e2d97c7ddd600f62b8a000d9f46b26d18bfcd352dd47f9955c6",
+"T3W1_fr_ripple-test_sign_tx.py::test_signtx_payment_req": "675e00382f073b8aa1b5306df2b845094d896d27edb72ec533d00107913a497d",
"T3W1_fr_solana-test_address.py::test_solana_get_address[parameters0-result0]": "c0d0dd0db2132580f03f1c6a6c824a724a2ae3c09784d33ab9e46b872d21e277",
"T3W1_fr_solana-test_address.py::test_solana_get_address[parameters1-result1]": "c73348d4b5407fe877dc0c2a7f2028f4a037fd204e06f8c347c09a76d7a40e61",
"T3W1_fr_solana-test_address.py::test_solana_get_address[parameters2-result2]": "85f8310b7dbfd2d1027e57fc411051b3738694ea2851e5dcb3abae44bbb3f963",
@@ -52159,7 +52159,7 @@
"T3W1_id_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "5cff3d84282ae5d67744a1e0ce8a7af1634767919974a72d7fbe82ba9fb0d328",
"T3W1_id_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "8d23c9af9240ad322aa25a9f49b9051aee4e97153591c4e642129e14f56a945a",
"T3W1_id_ripple-test_sign_tx.py::test_signtx_cancel": "e05a42cbb82f7ccc0e25035848fe15c564f4eb9eec1d759f48a2a13f71b92618",
-"T3W1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "c2cb91921a7c5a8fa32635ae3bea96aa727494ece99aa6af3034ac9ed8f7c0da",
+"T3W1_id_ripple-test_sign_tx.py::test_signtx_payment_req": "0d4efdaa542078028813bab2c1f8b0b2d0667a6e21e9536250f20993b1494d52",
"T3W1_id_solana-test_address.py::test_solana_get_address[parameters0-result0]": "a72408cd5abbd00b875340e48f610c93b37eda13b339ff2d8eeff694d4b347b2",
"T3W1_id_solana-test_address.py::test_solana_get_address[parameters1-result1]": "933469aef2f06516a2a7b9eec47a6b761442c2208113748c0e3f6c11d8212292",
"T3W1_id_solana-test_address.py::test_solana_get_address[parameters2-result2]": "11e36dff287c1b850086a36847b58ddd1296b6fdee1140c486b8e5f8eebb08c4",
@@ -54042,7 +54042,7 @@
"T3W1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[False]": "0902afbc5d7f327567a404f37653abd46274bf64c7ea33d6adeeb4a777f5e14a",
"T3W1_pt_ripple-test_sign_tx.py::test_signtx_account_delete[True]": "a3b0ef11b212bb18fb3a04e70f53a9bb38b734b53dbd37f9f95a62979006f23b",
"T3W1_pt_ripple-test_sign_tx.py::test_signtx_cancel": "c7bbb636e81cebb7eab2257f56b14d34119d9befc89165b047d273ffc52bb4c7",
-"T3W1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "3ec7c359f8d540db289beaa43e6a9f1dcc4d5601613f791a4163c17dfd9f26f3",
+"T3W1_pt_ripple-test_sign_tx.py::test_signtx_payment_req": "07533989a93e1118fb8cc82980b579008ebedf4e525c9a51b5174b1756b2bd03",
"T3W1_pt_solana-test_address.py::test_solana_get_address[parameters0-result0]": "e195347fbc9a2c8763bfbbdb40a3971de7fa134995b2e353fe401d0ec308c0b5",
"T3W1_pt_solana-test_address.py::test_solana_get_address[parameters1-result1]": "c8412a621d81835aa768a94f0dcd7ad433f6162f6fcb9be811cc9b0c12729487",
"T3W1_pt_solana-test_address.py::test_solana_get_address[parameters2-result2]": "849cc55bdf7c0f8e6e43a73c7ac5ac13546d18c23780002b5a1531ec55aba663",Why this scored 49/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.