From 497d639e476775801c3e9dfaede315ae4d49ea48 Mon Sep 17 00:00:00 2001 From: gabrielkerekes Date: Wed, 6 Oct 2021 16:05:07 +0200 Subject: [PATCH] chore(cardano): update docs, changelog and ui test fixtures --- core/.changelog.d/1772.added | 1 + core/src/apps/cardano/README.md | 179 ++++++++++++------------ python/.changelog.d/1772.added | 1 + tests/ui_tests/fixtures.json | 232 +++++++++++++++++++------------- 4 files changed, 234 insertions(+), 179 deletions(-) create mode 100644 core/.changelog.d/1772.added create mode 100644 python/.changelog.d/1772.added diff --git a/core/.changelog.d/1772.added b/core/.changelog.d/1772.added new file mode 100644 index 00000000000..c0585b0933a --- /dev/null +++ b/core/.changelog.d/1772.added @@ -0,0 +1 @@ +Support for Cardano multi-sig transactions, token minting, script addresses, multi-sig keys, minting keys and native script verification diff --git a/core/src/apps/cardano/README.md b/core/src/apps/cardano/README.md index 4df075dc932..4d756b951ec 100644 --- a/core/src/apps/cardano/README.md +++ b/core/src/apps/cardano/README.md @@ -26,7 +26,7 @@ REVIEWER = Jan Matejek , Tomas Susanka To introduce new quantities of new tokens on the ledger (minting) or to remove existing tokens (burning), each transaction features a mint field. The transactions where the mint field is not empty are known as minting transactions. The use of this field needs to be tightly controlled to ensure that the minting and burning of tokens occurs according to the token’s minting policy. + +Keys derived from a [minting path (1855')](https://cips.cardano.org/cips/cip1855/) are used to create token minting/burning policies (native scripts). The structure of the mint field can be found in the [CDDL](https://github.com/input-output-hk/cardano-ledger-specs/blob/097890495cbb0e8b62106bcd090a5721c3f4b36f/shelley-ma/shelley-ma-test/cddl-files/shelley-ma.cddl#L255). + ### Certificates Certificates are posted to the blockchain via transactions and they mark a certain action, thus there are multiple certificate types: @@ -213,6 +233,12 @@ The only object currently supported is Catalyst voting key registration. To be i [Catalyst Registration Transaction Metadata Format](https://github.com/cardano-foundation/CIPs/blob/749f22eccd78e05fcdc4552c49639bb3bbd0a458/CIP-0015/CIP-0015.md) +### Native scripts + +Native scripts are used to describe the multi-sig scheme belonging to a script address or the minting/burning policy of native tokens. Native scripts define what keys need to be used to witness a transaction and what condition needs to be fulfilled in order for that transaction to be valid. See [CDDL](https://github.com/input-output-hk/cardano-ledger-specs/blob/3ff2b08c7e094a3b9035fafb170e0e1da9b75401/eras/alonzo/test-suite/cddl-files/alonzo.cddl#L334) and [CIP-1854](https://cips.cardano.org/cips/cip1854/) for more details. + +In order for the user to be able to verify native scripts a `get_native_script_hash` is available on Trezor. This enables the user to verify the contents and the final hash of the script. + #### Transaction Explorer [Cardano explorer](https://explorer.cardano.org/en.html). @@ -224,96 +250,71 @@ You can use a combination of [cardano-node](https://github.com/input-output-hk/c ## Serialization format Cardano uses [CBOR](https://www.rfc-editor.org/info/rfc7049) as a serialization format. [Here](https://github.com/input-output-hk/cardano-ledger-specs/blob/097890495cbb0e8b62106bcd090a5721c3f4b36f/shelley-ma/shelley-ma-test/cddl-files/shelley-ma.cddl) is the [CDDL](https://tools.ietf.org/html/rfc8610) specification for after Multi Asset support has been added. -#### Raw transaction example +#### Transaction body example +Input for trezorctl to sign the transaction can be found [here](https://gist.github.com/gabrielKerekes/ad6c168b12ebb43b082df5b92d67e276). + ``` -83a800818258203b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b700018282583901eb0baa5e570cffbe2934db29df0b6a3d7c0430ee65d4c3a7ab2fefb91bc428e4720702ebd5dab4fb175324c192dc9bb76cc5da956e3c8dff821904d2a1581c95a292ffee938be03e9bae5657982a74e9014eb4960108c9e23a5b39a14874652474436f696e1910e18258390180f9e2c88e6c817008f3a812ed889b4a4da8e0bd103f86e7335422aa122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b427719115c02182a030a048182008200581c122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b427705a1581de1122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b42771903e80758205410cfffe33d9da8b3ab789068f12e0464fad13f586f92d8c8c2fcac68c1a9c00814a100828258205d010cf16fdeff40955633d6c565f3844a288a24967cf6b76acbeb271b4f13c158406478ca1a1d1bab66688a19e983fbff9e7f9120f0035d9663ae8eb917cf01ce1c4b47834d06f41cf0c7c5218be0224ab1d88de97b20572d6fdc3cb1e40b662300825820bc65be1b0b9d7531778a1317c2aa6de936963c3f9ac7d5ee9e9eda25e0c97c5e584023ddaf5c9f5c9a22fd646f1c1c5a3f1a84c3a43d90d2211e919450c35df53bcded772e0badb33a898c03f3c227765bc21e678d85b716e0055ca9d89274d6660e82a219ef64a4015820cdea4080a301fdfda7a6b9c8b5283273f51af5f34ae587e05c5492f90a2ae54f025820bc65be1b0b9d7531778a1317c2aa6de936963c3f9ac7d5ee9e9eda25e0c97c5e0358390180f9e2c88e6c817008f3a812ed889b4a4da8e0bd103f86e7335422aa122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b4277041a015d76c419ef65a101584017ed3f6a8ef2d0f1212e3aa49766fcf22b087c6cfa5cf247ecbc6c27069d7c17f189f2ca0acf6f1d54e1999e12fc37ac695c693982df96430896b54e0bcff10780 +a900818258203b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b700018282583901eb0baa5e570cffbe2934db29df0b6a3d7c0430ee65d4c3a7ab2fefb91bc428e4720702ebd5dab4fb175324c192dc9bb76cc5da956e3c8dff821904d2a1581c95a292ffee938be03e9bae5657982a74e9014eb4960108c9e23a5b39a14874652474436f696e1910e18258390180f9e2c88e6c817008f3a812ed889b4a4da8e0bd103f86e7335422aa122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b427719115c02182a030a048182008200581c122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b427705a1581de1122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b42771903e8075820a943e9166f1bb6d767b175384d3bd7d23645170df36fc1861fbf344135d8e120081409a1581c95a292ffee938be03e9bae5657982a74e9014eb4960108c9e23a5b39a24874652474436f696e1a007838624875652474436f696e3a00783861 ``` -#### The same transactions with structure description +#### The same transaction body with structure description ``` -# transaction -# array(3) -[ - # transaction body - # map(6) - { - # inputs [id, index] - # uint(0), array(1), array(2), bytes(32), uint(0) - 0: [[h'3B4...', 0]], - - # outputs [address, [ada_amount, { policy_id => { asset_name => asset_amount }}]] - # uint(1), array(2) - 1: [ +# transaction body +# map(6) +{ + # inputs [id, index] + # uint(0), array(1), array(2), bytes(32), uint(0) + 0: [[h'3B4...', 0]], + + # outputs [address, [ada_amount, { policy_id => { asset_name => asset_amount }}]] + # uint(1), array(2) + 1: [ # multi asset output # array(2), bytes(57), uint(1234), map(1), bytes(28), map(1), bytes(8), uint(4321) [ - h'01E...', [ - 1234, { - h'95A...': { - h'74652474436F696E': 4321 - } - } - ] + h'01E...', [ + 1234, { + h'95A...': { + h'74652474436F696E': 4321 + } + } + ] ], # output containing only ADA [address, ada_amount] # array(2), bytes(57), uint(4444) [h'018...', 4444], - ] - - # fee - # uint(2), uint(42) - 2: 42, - - # ttl - # uint(3), uint(10) - 3: 10, - - # certificates [[type, [keyhash/scripthash, keyhash]]] - # uint(4), array(1), array(2), uint(0), array(2), uint(0), bytes(28) - 4: [[0,[0, h'122...']]], - - # withdrawal [reward_address: amount] - # uint(5), map(1), bytes(29), uint(7204944340) - 5: {h'E11...': 1000}, - - # auxiliary data hash - 7: h'541...', - - # validity_interval_start - # uint(8), uint(20) - 8: 20 - }, - # witnesses - # map(1) - { - # verifying key witnesses [[vkey -> signature]] - # uint(0), array(2) - 0: [ - # array(2), bytes(32), bytes(64) - [h'5D0...', h'647...'], - # array(2), bytes(32), bytes(64) - [h'BC6...', h'23D...'] - ] - }, - # auxiliary data - catalyst voting key registration - # array(2) - [ - # map(2) - { - # uint(61284), map(4), uint(1), bytes(32), uint(2), bytes(32), uint(3), bytes(57), uint(4), uint(22902468) - 61284: { - 1: h'CDE...', - 2: h'BC6...', - 3: h'018...', - 4: 22902468 - }, - # uint(61285), map(1), bytes(64) - 61285: { - 1:h'17E...' - } - }, - # array(0) - [] - ] -] + ] + + # fee + # uint(2), uint(42) + 2: 42, + + # ttl + # uint(3), uint(10) + 3: 10, + + # certificates [[type, [keyhash/scripthash, keyhash]]] + # uint(4), array(1), array(2), uint(0), array(2), uint(0), bytes(28) + 4: [[0,[0, h'122...']]], + + # withdrawal [reward_address: amount] + # uint(5), map(1), bytes(29), uint(7204944340) + 5: {h'E11...': 1000}, + + # auxiliary data hash + 7: h'541...', + + # validity_interval_start + # uint(8), uint(20) + 8: 20, + + # mint + # map(2), bytes(8), "te$tCoin", uint(7878754), bytes(8), "ue$tCoin", int(7878753) + 9: { + h'95A2...': { + h'7465...': 7878754, + h'7565...': -7878754 + } + } +} ``` diff --git a/python/.changelog.d/1772.added b/python/.changelog.d/1772.added new file mode 100644 index 00000000000..c0585b0933a --- /dev/null +++ b/python/.changelog.d/1772.added @@ -0,0 +1 @@ +Support for Cardano multi-sig transactions, token minting, script addresses, multi-sig keys, minting keys and native script verification diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json index 942f25657b7..5028520f25c 100644 --- a/tests/ui_tests/fixtures.json +++ b/tests/ui_tests/fixtures.json @@ -1,65 +1,92 @@ { -"cardano-test_address_public_key.py::test_cardano_get_address[parameters0-result0]": "5995531c327536448b88d20a78a61d7851e476e2f0c5d20f61365201603c6e7d", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters1-result1]": "232dd38267602a355072ebee8484a5ad2e4d5004341837eb92f1232107e185dd", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters10-result10]": "708dee18b3a5be77165fed060314c704f44d188e5fe442c4ab7c64c91b974051", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters11-result11]": "48cdd4e57be04e64fccf32a811dde864cbdb45733af4feb020e6b3ae65878f5b", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters0-result0]": "e3be7c64097574e795bad1852f3eb7b9d5c4577ed88a845329bacc7350338d74", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters1-result1]": "50b6d3e772e77d6f52c7883f89c3b5f196e43865982c6c5b5171a72546e68164", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters10-result10]": "31b0bb5d4ab8cbd5293cbdc8c44f722e5e39c1f633eaa1db2186cb138d88dd5c", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters11-result11]": "1613d5fad4a1275f2d01ae4a714e796286d36bc7e676fdb434758a83ae728200", "cardano-test_address_public_key.py::test_cardano_get_address[parameters12-result12]": "6e97bb0c5066a5e1700e509075ad70814e0dfd9bcbd3acc252274fd1bb300a09", "cardano-test_address_public_key.py::test_cardano_get_address[parameters13-result13]": "00408a67156c3325a989bdd9aa5060d7751a6b5d839ea2f3642cf64cea7fff5f", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters14-result14]": "ecf8e16405f9aca5bdb33f5c953e57240676a3754f096b51efe7ca48e28bb9f2", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters15-result15]": "49fb6dacc7c39338433457f7bd6685a3418604d51cd66093016e3c69c93c5ae8", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters16-result16]": "2ec82a679db9242272902b355f21bcb3a768844328da92527cbcc4a4313726ca", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters17-result17]": "03c8ae7aaa4abad16a377c6a21c576508ddcff0af0d39040720dd46b07bfe499", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters18-result18]": "38d33bb85d1f2ce0a2594bbd7ce37447151271c98420b7d7603204e0e24f53ee", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters19-result19]": "e6d8aef7cc1b2e3fa64a09809259634778a61c746f0f438ba5e253eab3620ed0", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters2-result2]": "20d0981ca9bebb49ce4e0cad49ccebc99de22a5dba39d33b2edab1c072e4cc0f", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters20-result20]": "b91e49daf01f2f3ba399b2d2d104b53e4b4bc7fdee14bd92e32438ceeee6e14d", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters21-result21]": "0b058b0b85e5958b0944ed606569b89cef5925a342a5cd3714ba7b9a395a503d", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters22-result22]": "5a3e25df453f946c4fff925bcdc0c701ec05cfeeb0d2772543fe4089c021a84e", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters23-result23]": "f08bd2389f00c4aff897a823991e9404c1071aecb9114bb7514ceb4bc30cc4af", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters24-result24]": "a547653219695dd2c6f2059b5190b20d014eee75fd7611eca628931837af6ccc", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters3-result3]": "cc40913761fbeb19912ac962203f2a2360c34c7536869b3565bd3dfcc18180ed", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters4-result4]": "e447a8d0ffdc9a63bd7555795026c669c7a14788e0b6f3f80974d04596c736f9", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters5-result5]": "db4d11ddfa135f0d66778279120b1c2443daad8439aaf85e9dec9c53cd0b7860", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters6-result6]": "7f190bfd6a02454bf6aa4958465e8a4fc13a1f213600bcd6e0f342ccde71e729", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters7-result7]": "0b3b8e69f405ad5190c6410deedc827ff88acc78871dc0ea710f07c99343d6b0", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters8-result8]": "be87abd3581d1d72132b551bada3cd431413739cbd6905bbc15dc62a3a202501", -"cardano-test_address_public_key.py::test_cardano_get_address[parameters9-result9]": "ab00e0aadc58bb704f882f0486835f0dbcb452f82744d39e19ab1737d1b1ccc1", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters14-result14]": "1e46ee368014fa788a3dd5c90f21297b032ef98b79250d2cd76bff04476720a8", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters15-result15]": "c1c401bcc939e3f881a90c10cf77727eb78103310fe682be13cccac2d05258a7", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters16-result16]": "78f3aff34efaa4ee92437acdaff8fb441b3a87b243d85f5fe10ba14d1426078d", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters17-result17]": "c19e69a06013022db7341967c39ac9cfbf56f7b83358f6759dc547694196cc0d", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters18-result18]": "dc1d88b3bb0cbaef02e5e570b48aa801e8f9f3bc23a4d8d913b9f93a2f954315", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters19-result19]": "9673a91ee9f24c09f4b8b000a86e972a631a9aee0f788dae23768967a5ff78d2", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters2-result2]": "2c699daec1c0175be308e8ba573cd9960bb137855d4ed7d7e58cc5b9425ff6c8", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters20-result20]": "d7cf306f497f3f8a25dbeb7162d277f6f4a07ded9c1e45f2602011bcb2563a08", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters21-result21]": "83051ecf27bbb4bb3262e1053c727ee065ff5f8912083c42e875a171e424b410", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters22-result22]": "a538aa498f8bcbe047f5de143eaab0703989d25a1452742cb8924daded2106e1", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters23-result23]": "af06ed30be20742e032eb42374e4b5624d9cefa434aa2511156422921bc711ce", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters24-result24]": "2ae9c60b1a8550af6ea0432f269f6ecfefaf16495f264cac6c64b097292bae8d", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters25-result25]": "e81ed52b830188167acb9d282e75313b76eea75a71e1e52ca888b4789869a9af", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters26-result26]": "680e0f8a865197a1dc66eb19032b2b07ddb66a6d7e1be48f5db8762a5b8a21ee", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters27-result27]": "d7b5c96e92f23f8a0da14c11e1fd8e27cd0aaed1d0abf9a488cb2f30b8a79d8c", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters28-result28]": "3dd9ca7364c42eb432f406118cfc21558b58c635348059256ffc6eae4415f351", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters29-result29]": "0496d501f39e8b21ea3379900fecc0ccf1fd064c8c46effc498d9c193202e069", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters3-result3]": "61e5085c2f776b6b6b90566cd7086308700793757b56ed16688e2ae4ef055a4c", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters30-result30]": "8fd03427127b71649aba8623ce4f1cccbce2a8db4467f14f3f99907b703a7b8b", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters31-result31]": "00b4bc32da6235bc5402f3084b3f7815868bccb9f8e002eaab0c23b5514186dc", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters32-result32]": "896e73c87f518eb45e93340e36ff82654b953566dedbcd84869d73955bcd5b25", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters33-result33]": "0cead7b188b4724845d2178061d5c529ba90f6412716d45b98011375442f4cc2", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters34-result34]": "786cbd497fb25b9ac4bf19aa945e75c24e6bf79048a1f7536523906b891ce676", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters35-result35]": "36910fcb52b2cbe6057ff83bb0083c22ac04af1eb2cf00b775e51f59c536a0a2", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters36-result36]": "2416237b3902217c53d68f51161c7affa3f65a9b9ea5aa6f1ac532015e8611a8", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters4-result4]": "7b1d49c03f043bb3abbe17c4f8bdb9c227cf6177cacc353e95f99ca1e3495d32", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters5-result5]": "476a619684555a2f30dd6b8ba89e5c1930d2456c30225240c58450441cb22f86", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters6-result6]": "a7a864aa3ff78ad82172f7605dc92ed3d0c5fdc581241c62562c039bb7656aee", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters7-result7]": "d1e4b84dcafcf246d14f7093694df1e14831387e2fd519150949cbff077b82cd", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters8-result8]": "124fdbdf78ad7cbb4e5bd81abe8d8b5738be7544b7fd939de800df5e3fde71ac", +"cardano-test_address_public_key.py::test_cardano_get_address[parameters9-result9]": "4b12964477d051513257ea78693ca3d0262be7f05d29db54a92398eb7add5ed1", "cardano-test_address_public_key.py::test_cardano_get_public_key[parameters0-result0]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", "cardano-test_address_public_key.py::test_cardano_get_public_key[parameters1-result1]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters10-result10]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters11-result11]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters12-result12]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters13-result13]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters14-result14]": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters15-result15]": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters16-result16]": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493", "cardano-test_address_public_key.py::test_cardano_get_public_key[parameters2-result2]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", "cardano-test_address_public_key.py::test_cardano_get_public_key[parameters3-result3]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", "cardano-test_address_public_key.py::test_cardano_get_public_key[parameters4-result4]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", "cardano-test_address_public_key.py::test_cardano_get_public_key[parameters5-result5]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters6-result6]": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493", -"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters7-result7]": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493", -"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters8-result8]": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters6-result6]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters7-result7]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters8-result8]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", +"cardano-test_address_public_key.py::test_cardano_get_public_key[parameters9-result9]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", "cardano-test_sign_tx.py::test_cardano_sign_tx[byron_to_shelley_transfer]": "db4afddea8a453edd9d3e283387463d1e89dd79f4265bd7648d67b0cbc691b91", -"cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change0]": "1a7dd5b68780f7d52277b57787e0389db5621e81c45cb10240b659ddcd477ac3", -"cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change1]": "ca5195d7a8cc421e324e89abd049596717f7f064fc38f967d01f7730f694bb54", +"cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change0]": "4cfe4bcfd945876cd8268403b2e89f835793ced525bd35e92e74f188ece4ad01", +"cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_change1]": "2a88a1416be6f568ee00f76f65299e8cf127e91ee872df74ef3cc8423d68d5f5", "cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_multiple_inputs]": "e3d617a997d511ebd8b9ab75fbf0c92e980a4de59c0461cb9b7e6916542cbf66", "cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change0]": "e3d617a997d511ebd8b9ab75fbf0c92e980a4de59c0461cb9b7e6916542cbf66", "cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change1]": "406afb533896d5cf93011adfad70aedae3b896d4c398967173878518df4c84df", "cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_different_policies_-1dbb1bfb": "bd1689c147c515d1d5248b5ff9440fa97e543ce5cd8f1c2b05f0668346c2c729", "cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_multiasset_output]": "bcb5fee573bf3880aceb077f8b940915bde8fbd9abd43b7b230ff6a55fa3df83", "cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_no_ttl-validity_start]": "06b8e6370c8fc5ec3fbe5b9783e40b62525c9bc0142d2fca2f905f5661b2dbf8", -"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate]": "2b34565e626924a00ac2c295fe7f7c97f3ff09015795b27b7180eab46432b71e", -"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-336f4a44": "1e4cdd6622e793bdd24a4accbd57b7b412d1546182c0c56bb2a93fdc6be9c306", -"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-d3427614": "1c478f1990adc6b43d38807d788892d0cb25feb90de907606abc2ae0647d0a75", -"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_with_zero_margin]": "cd1e70b9077523424f44a2fb8d44659e969dfbeaecdf5d86892d063c90f40a6b", -"cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-0c37e6dc": "504202156d4633639d6556bb0178e59d738e253e24d538f629fb19b769443256", +"cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_most_elements_fille-29691455": "738d81a53c5337d05529caf658468dd426ee5605ed00b5f2f6e6336ff1bc557f", +"cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistratio-1ab28f77": "2828529f840affbe276bd6f9502e90b0afd3bc29b44e0670d33f7f022e05e6ae", +"cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistration]": "602b8de27f60ce36af83c1a95e4e134ddd313a50e8cf658dd231848f80f05770", +"cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-a144c34c": "cedcb7a176b44ad62e019f1e5ffd4241d8ed03e0f33299b22032cc84097415f1", +"cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-bf5f9707": "3f0ff4d4dcaec4d83245fd25ef9fa6fc868295f114bfa245a956b617a7cbdc0c", +"cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_token_minting]": "e9b77b31991b1c97fda7c40dfdcf4f248cd0066ef7dc0c55e6b5adca6982ac68", +"cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_token_minting]": "d5cf7e72ec95e18484dbc744b278107cd812df17d921654078ff21a80f971a35", +"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate]": "dca08d913b2d98079cb053722c9abd4f61d516b27a0b43dd9b3a1392d3cbe92c", +"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-336f4a44": "7c018146acf4afe1f955913d4059583f4794eefe7f9a6f507990f115f5b3c8ea", +"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_certificate_wi-d3427614": "c159d03da22af9a65a3f7dd09191128f6af22d14c8baae986bd8ffdd56757b3e", +"cardano-test_sign_tx.py::test_cardano_sign_tx[sample_stake_pool_registration_with_zero_margin]": "68499131f00156779ad409b7dd68a30d6d26d453d0d67722626fb2e3fbc56dbe", +"cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_o-0c37e6dc": "b400bba02438c65aaf0436dc01915fbfd038a548f7652b3e6f6ba7ad1e84ca77", "cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_address_change_output]": "2876b861a405cd6ff81e303ff63daef04c659e20b73e302dc1de08ce1e196a8d", "cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_base_script_address_c-466ef44c": "ebb11d74e4e3b3cc2f1f2b8cd8e0cf314de9904d2f92a38e0e6d74bc362fdc6f", -"cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_enterprise_address_ch-15518a4c": "d7efbcecb8e3964c84d3742199923952cf7d9ad1a1c1a4fe7211c2c0ac999062", -"cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_pointer_address_change_output]": "1d3a4b52c715357f38bc298e315b0dc2423b11f77518800882c240c2b4104900", -"cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_certificate_with_no_p-0bbad967": "63aef65c699540eb105782c5f3f9590c2035db39e62b8f4f0c544f70d2384225", -"cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_on_testnet]": "a65b72b77d099af859b7f318d845d4c9e92055007ced2a8df312f8f10ae904bd", -"cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction0]": "0b7b8894d599a7e7bffedb2b15fbdaf7a2d69307bafe39b60f6e797ea8c23323", -"cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction1]": "1d72d3de0ea2f32c22752ce6d824718daf939677d21a175460e346b86acca834", +"cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_enterprise_address_ch-15518a4c": "ab418e68484442f61a40f5ac71170fe10b8e5a74c99b8ad4805c0c18c32c9536", +"cardano-test_sign_tx.py::test_cardano_sign_tx[simple_transaction_with_pointer_address_change_output]": "3a1ee22b6ef8d1a9d8e76ee7c144112a89d168008f022229a1a114ee220259c8", +"cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_certificate_with_no_p-0bbad967": "8714950594c4db4efba94d3117a026ccc1ceff0018f27ac387f8db36886c99fa", +"cardano-test_sign_tx.py::test_cardano_sign_tx[stake_pool_registration_on_testnet]": "845ddd45596a4dadc5a45362347c91f35a87ca1ec727f34ddcf8ab474a4062a5", +"cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction0]": "1684b2733e8836d68239c2c3641a9f32bdee3c6c3302a2b141eb76d1833a3ffd", +"cardano-test_sign_tx.py::test_cardano_sign_tx[testnet_transaction1]": "6981085b1dbe039a8532eee8cf2c02ad573cc71f3654349ff4284981bfdb4c32", "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_auxiliary_data_hash]": "fa15088216ea822f7b3fc65883ff42e3218ab934ce743143ffe8392fc621c416", -"cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_p-3c7243e1": "e2eb4e6bce1cfa5c0614d2bf4fd29faf93ab4c3c53a5f8d167fa8af99f34c306", -"cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_s-20438873": "c13752ed6af3e9b86ff5dd267f43fec9b3ebfd0d95b53d1f67ae13dfb809974f", +"cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_p-3c7243e1": "9b76ea1a1248e9b00fa219c61c739ec6230668930cd6cd64885eef87a09f03ad", +"cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_s-20438873": "84a2b7661128b28c9621810d4dd56c88fa35704d801c6ee5460ae1939341ad43", "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_catalyst_registration]": "0164e9a89f4fac1cbbeecd141a818fb6fbdb10815266fce8fc9d3713abad5d13", -"cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "dd8bac0a56edef3ee7d70a831fb17c55b48e6b276f34c1c91c617ebb24666987", +"cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "44ed0a7b19cece7ee0b156f213e66ac90010d0a1840623c6c759a184fc68e1be", "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration]": "4e600955fc01865e21bf7951417a5dcf387186ef41682dac214dc5fa2198983e", "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_and_withdrawal]": "dfa6062272f251ca3e2d42b2afe9ae3c732a6c3636e76269ca0510f06882498c", "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_with_ac-9ca046f0": "93d4d869232708932572af10da267224798c30bf461809681d46ab3fc1e33090", @@ -68,54 +95,79 @@ "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_registration_certificate]": "7f73905608c313d47b5fa3d57b3486b1edd1b2fc7055ae1029e51e18bed25543", "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_ttl_equal_to_0]": "a5c38d52ef785c3080e68a34b47ab17baa3a290486993fc30916528ac4aba5a9", "cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_validity_interval_start_equal_to_0]": "3fa1b80a0791641e08f0939d651c4bb521131b96ba366ee1d2e86bb0e56cf21c", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[all_tx_inputs_must_be_external_(without_path)]": "497ffc07c7d68107e75abb969591b680195806310d42975cc54334bb43a05a8d", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[auxiliary_data_hash_has_incorrect_length]": "a75c11983485530d569fd49cca2c79134e5cca5b08a7b118aa0ae2d4931646ee", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_input_accoun-863fee7d": "00ac3a44650209ab0ddab16091b1ff4e7ba3a9eda01f65c3ab64ff317a64bb23", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_output_accou-5a99fb35": "de74f7ba6ccfd84e9d340b1439cd586d5142a14d0a66f9bd511e061c06c191af", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_invalid_pool_size]": "a75c11983485530d569fd49cca2c79134e5cca5b08a7b118aa0ae2d4931646ee", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_non_staking_path]": "a75c11983485530d569fd49cca2c79134e5cca5b08a7b118aa0ae2d4931646ee", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_stake_deregistration-e17db500": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_withdrawal_account_mismatch]": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_path_larger_than_100]": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_staking_path_larger_than_100]": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_a_different_certificate]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_multiple_pool_registration_ce-3000d4f0": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_withdrawal]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[duplicate_withdrawal]": "9c24001c5f7458e2317737036814b2dc5f7f2354cdffeaeeca396c902c5840ba", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[fee_is_too_high]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_change_output_account_mismatch]": "481c5e57c460efab0649d74b0e1d2cb6955b97ab875b8869f3362f4dd5732254", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_stake_deregistration_certifi-b3383de2": "764f9df88a2cc66139eb2bfdf9e2b65a3f5f32b07c32feb5b2670340c58bdd4d", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_withdrawal_account_mismatch]": "191476f17df4625d288e4eba6e2a48121d16893462fb7904d8c1738eccfbba6b", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[invalid_pool_id]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_protocol_magic_with_testnet_network_id]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_transaction_with_testnet_output]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[margin_higher_than_1]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[missing_owner_with_path]": "f02619de488cf7790066210b000fad75f211aa00379ebcca4eec6db7a24ffa94", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_has_invalid_crc]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_a_valid_cbor_but_inv-ea3da215": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_invalid_cbor]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_long]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_short]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_has_both_address_and_address_pa-2efc280f": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_total_is_too_high]": "ca67ab54a2de3ef9ebddf07d323a48ee86da4f62fedf29e67d1c6b6c4077d8e6", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_belongs_to_differe-e79b6855": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_is_a_base_address]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_multiasset_token_group]": "b8fd687ddaa498390d470bdb6873ce652f99a20cad53b9f3a0613e2308c23d8c", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_multiasset_output]": "b8fd687ddaa498390d470bdb6873ce652f99a20cad53b9f3a0613e2308c23d8c", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-883e81d5": "ffde5a1aa421e8484e9dfaf475ea19e6064a2b8730cfc3907c3d53e224f85695", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_mainnet_transaction_with_testn-af110e3e": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_testnet_transaction_with_mainn-ba78ab8f": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_account_larger_than_100]": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_certificate_and_w-003a1023": "a3c3239aea4d6fd5e0b0f4d5abbd74c69620007ebe2ab9c45403fff83b4795ec", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_protocol_magic_with_mainnet_network_id]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_transaction_with_mainnet_output]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_both_auxiliary_data_b-64274ac4": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_catalyst_registration-11533421": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[two_owners_with_path]": "7d874e848ba72a6780c47146e904a234e9ca0bcdcd11f2aff77c1472c0bf1d35", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[unsupported_address_type]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_ordinary_transaction_signing_mode]": "310fc413e42d02273940b5ba14e9e260036dfdcb2c3aff534d36774397ee4078", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_amount_is_too_large]": "a75c11983485530d569fd49cca2c79134e5cca5b08a7b118aa0ae2d4931646ee", -"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_non_staking_path]": "a75c11983485530d569fd49cca2c79134e5cca5b08a7b118aa0ae2d4931646ee", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_change_output_path_in_ordinary_tr-805f9bd0": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_input_path_in_ordinary_transaction]": "e3d617a997d511ebd8b9ab75fbf0c92e980a4de59c0461cb9b7e6916542cbf66", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[additional_witness_requests_in_ordinar-9c4f94c0": "e3d617a997d511ebd8b9ab75fbf0c92e980a4de59c0461cb9b7e6916542cbf66", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[all_tx_inputs_must_be_external_(without_path)]": "63aef65c699540eb105782c5f3f9590c2035db39e62b8f4f0c544f70d2384225", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[auxiliary_data_hash_has_incorrect_length]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_input_accoun-863fee7d": "db4afddea8a453edd9d3e283387463d1e89dd79f4265bd7648d67b0cbc691b91", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_output_accou-5a99fb35": "06b8e6370c8fc5ec3fbe5b9783e40b62525c9bc0142d2fca2f905f5661b2dbf8", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_both_path_and_script_hash]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_invalid_pool_size]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_multisig_path]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_non_staking_path]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[certificate_has_script_hash]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_stake_deregistration-e17db500": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_and_withdrawal_account_mismatch]": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_path_larger_than_100]": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_staking_path_larger_than_100]": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[change_output_with_script_in_payment_part]": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_a_different_certificate]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_multiple_pool_registration_ce-3000d4f0": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[contains_withdrawal]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[duplicate_withdrawal]": "972f103c0adc6b9742a2407c27085d10a91112cb6b672d0fbcebab014a7892d0", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[fee_is_too_high]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_change_output_account_mismatch]": "f05c877f623ff47868c4c4cac924d91f8aa4670e36847a2f9ff3b0e5f83a8666", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_stake_deregistration_certifi-b3383de2": "07a708b801b1dcf762286813a2d77032197f844a6ee7bb052c51fba252ade2bf", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[input_and_withdrawal_account_mismatch]": "3ee80eb3e55561412017f58ef686aa634771774a84781818ba05860f2ad22a53", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[invalid_pool_id]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_protocol_magic_with_testnet_network_id]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[mainnet_transaction_with_testnet_output]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[margin_higher_than_1]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[missing_owner_with_path]": "2dede6a914015cb606124904268abc3cb9034a8e716beb380c62dee29e8a48a4", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_1852_multisi-b7679330": "de16c51797b0e28e766553a31c8ad849c7eb247b0101a1996dba2eea1d59ed2d", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_long_token_m-9fb3cfe5": "31f7a5a1d32c997c61649ace37fdf3aab3d7bf1cb7c73ffa777ba03ff52470ec", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_output_conta-e3b36436": "875ec83057c301a416c4ea3e77b931132cef45fafc7272cd95cd04bb6d8c4e86", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_delega-394991f1": "a1f8001a566bd030249ad2d8c0dea7fbfb38ef2aafd0541c359598e3ca4053ff", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_deregi-43da91d4": "a1f8001a566bd030249ad2d8c0dea7fbfb38ef2aafd0541c359598e3ca4053ff", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_stake_regist-84b1254e": "a1f8001a566bd030249ad2d8c0dea7fbfb38ef2aafd0541c359598e3ca4053ff", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_without_minting_b-da5ba399": "de16c51797b0e28e766553a31c8ad849c7eb247b0101a1996dba2eea1d59ed2d", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_long_token_m-350c65f4": "9457ac3787f4f677a1105dd1edfce5cf9d9ed8005a601f641683f1fbe2a3a1bd", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_token_mintin-bc56f145": "81555dbaf931fb3c0e3f2b07c34860725f37f31f564a0ad37397ae766e4bc21b", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_without_token_min-a128d577": "0915ab658c80a3d29cc74aecfbff25f827c4ce8f1952f454ba59e527f1878be1", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_has_invalid_crc]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_a_valid_cbor_but_inv-ea3da215": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_invalid_cbor]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_long]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_short]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_has_both_address_and_address_pa-2efc280f": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_total_is_too_high]": "9dd1c4c27d653896c8d9037b5c505cdc6e03f99ef2c6382c6958da8db561bad9", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_with_reward_address]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_belongs_to_differe-e79b6855": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_is_a_base_address]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_multiasset_token_group]": "48b6dabde455dbae1b2e2c7db66d20506e89158759cfbda04119af934b6b6d9b", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_multiasset_output]": "48b6dabde455dbae1b2e2c7db66d20506e89158759cfbda04119af934b6b6d9b", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-02b129f8": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-11c8b442": "dca08d913b2d98079cb053722c9abd4f61d516b27a0b43dd9b3a1392d3cbe92c", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-3f8170f6": "dca08d913b2d98079cb053722c9abd4f61d516b27a0b43dd9b3a1392d3cbe92c", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-883e81d5": "bb4c421d35cc9e0217ad96759c5e52ce80680c72fa64aba608bbd45c685ab371", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-f9976ae8": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_mainnet_transaction_with_testn-af110e3e": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[shelley_testnet_transaction_with_mainn-ba78ab8f": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_account_larger_than_100]": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[stake_deregistration_certificate_and_w-003a1023": "3c86cde472df3a9460dfbac78584f132f9017dd379f71a0098b508686d50a520", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_protocol_magic_with_mainnet_network_id]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[testnet_transaction_with_mainnet_output]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_both_auxiliary_data_b-64274ac4": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[transaction_with_catalyst_registration-11533421": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[two_owners_with_path]": "13e202aaf27c6395a2fcb7cfdb2dc6cadb613a23cdd9548f860c8e524bb76b98", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[unsupported_address_type]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[with_ordinary_transaction_signing_mode]": "b77d0e79de37f1036e6924e9ce742326a95a191629acf12a0494efcb92e46350", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_amount_is_too_large]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_contains_both_path_and_script_hash]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_multisig_path]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_non_staking_path]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", +"cardano-test_sign_tx.py::test_cardano_sign_tx_failed[withdrawal_has_script_hash]": "0a1ce9fbfcead1f0f1f03b98e2ab719f92949a9b72f5da99097edd5f45e91154", "ethereum-test_getaddress.py::test_getaddress[ETC]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", "ethereum-test_getaddress.py::test_getaddress[GoChain]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687", "ethereum-test_getaddress.py::test_getaddress[Wanchain]": "095af81ec79e9b510c90d9fa34fed343f3840807190c67bc237af885695ae687",