diff --git a/.github/workflows/reusable_swap_functional_tests.yml b/.github/workflows/reusable_swap_functional_tests.yml index 39e2e004..3c678dc2 100644 --- a/.github/workflows/reusable_swap_functional_tests.yml +++ b/.github/workflows/reusable_swap_functional_tests.yml @@ -106,6 +106,15 @@ on: default: 'LedgerHQ/app-ton-new' type: string + branch_for_cardano: + required: false + default: 'develop' + type: string + repo_for_cardano: + required: false + default: 'LedgerHQ/app-cardano' + type: string + test_filter: required: false default: '""' @@ -165,6 +174,9 @@ jobs: - name: ton repo: ${{ inputs.repo_for_ton }} branch: ${{ inputs.branch_for_ton }} + - name: cardano + repo: ${{ inputs.repo_for_cardano }} + branch: ${{ inputs.branch_for_cardano }} uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1 with: diff --git a/Makefile b/Makefile index f9089d1a..104614f1 100644 --- a/Makefile +++ b/Makefile @@ -28,9 +28,9 @@ include $(BOLOS_SDK)/Makefile.defines APPNAME = "Exchange" # Application version -APPVERSION_M = 3 -APPVERSION_N = 4 -APPVERSION_P = 1 +APPVERSION_M = 4 +APPVERSION_N = 0 +APPVERSION_P = 0 APPVERSION = "$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)" # Application source files diff --git a/ledger_app.toml b/ledger_app.toml index 55c76f90..bba222ab 100644 --- a/ledger_app.toml +++ b/ledger_app.toml @@ -1,7 +1,7 @@ [app] build_directory = "./" sdk = "C" -devices = ["nanos", "nanox", "nanos+", "stax", "flex"] +devices = ["nanox", "nanos+", "stax", "flex"] [use_cases] use_test_keys = "TEST_PUBLIC_KEY=1" diff --git a/src/proto/protocol.options b/src/proto/protocol.options index eb0be592..668a0275 100644 --- a/src/proto/protocol.options +++ b/src/proto/protocol.options @@ -1,9 +1,9 @@ -ledger_swap.NewTransactionResponse.payin_address max_size:63; +ledger_swap.NewTransactionResponse.payin_address max_size:150; ledger_swap.NewTransactionResponse.payin_extra_id max_size:20; ledger_swap.NewTransactionResponse.payin_extra_data max_size:33; -ledger_swap.NewTransactionResponse.refund_address max_size:63; +ledger_swap.NewTransactionResponse.refund_address max_size:150; ledger_swap.NewTransactionResponse.refund_extra_id max_size:20; -ledger_swap.NewTransactionResponse.payout_address max_size:63; +ledger_swap.NewTransactionResponse.payout_address max_size:150; ledger_swap.NewTransactionResponse.payout_extra_id max_size:20; ledger_swap.NewTransactionResponse.currency_from max_size:10; ledger_swap.NewTransactionResponse.currency_to max_size:10; @@ -15,7 +15,7 @@ ledger_swap.NewTransactionResponse.device_transaction_id_ng max_size:32; ledger_swap.NewSellResponse.trader_email max_size:50; ledger_swap.NewSellResponse.in_currency max_size:10; ledger_swap.NewSellResponse.in_amount max_size:16; -ledger_swap.NewSellResponse.in_address max_size:63; +ledger_swap.NewSellResponse.in_address max_size:150; ledger_swap.NewSellResponse.out_currency max_size:10; ledger_swap.NewSellResponse.device_transaction_id max_size:32; @@ -23,7 +23,7 @@ ledger_swap.NewFundResponse.user_id max_size:50; ledger_swap.NewFundResponse.account_name max_size:50; ledger_swap.NewFundResponse.in_currency max_size:10; ledger_swap.NewFundResponse.in_amount max_size:16; -ledger_swap.NewFundResponse.in_address max_size:63; +ledger_swap.NewFundResponse.in_address max_size:150; ledger_swap.NewFundResponse.device_transaction_id max_size:32; ledger_swap.UDecimal.coefficient max_size:16; diff --git a/src/proto/protocol.pb.c b/src/proto/protocol.pb.c index 4bea6dcf..43ffac3b 100644 --- a/src/proto/protocol.pb.c +++ b/src/proto/protocol.pb.c @@ -1,5 +1,5 @@ /* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.3.9 at Mon Jun 24 15:05:18 2024. */ +/* Generated by nanopb-0.3.9 at Mon Nov 18 08:50:16 2024. */ #include "protocol.pb.h" diff --git a/src/proto/protocol.pb.h b/src/proto/protocol.pb.h index 1bb13cf1..cce138a2 100644 --- a/src/proto/protocol.pb.h +++ b/src/proto/protocol.pb.h @@ -1,5 +1,5 @@ /* Automatically generated nanopb header */ -/* Generated by nanopb-0.3.9 at Mon Jun 24 15:05:18 2024. */ +/* Generated by nanopb-0.3.9 at Mon Nov 18 08:50:16 2024. */ #ifndef PB_LEDGER_SWAP_PROTOCOL_PB_H_INCLUDED #define PB_LEDGER_SWAP_PROTOCOL_PB_H_INCLUDED @@ -22,7 +22,7 @@ typedef struct _ledger_swap_NewFundResponse { char account_name[50]; char in_currency[10]; ledger_swap_NewFundResponse_in_amount_t in_amount; - char in_address[63]; + char in_address[150]; ledger_swap_NewFundResponse_device_transaction_id_t device_transaction_id; /* @@protoc_insertion_point(struct:ledger_swap_NewFundResponse) */ } ledger_swap_NewFundResponse; @@ -32,11 +32,11 @@ typedef PB_BYTES_ARRAY_T(16) ledger_swap_NewTransactionResponse_amount_to_provid typedef PB_BYTES_ARRAY_T(16) ledger_swap_NewTransactionResponse_amount_to_wallet_t; typedef PB_BYTES_ARRAY_T(32) ledger_swap_NewTransactionResponse_device_transaction_id_ng_t; typedef struct _ledger_swap_NewTransactionResponse { - char payin_address[63]; + char payin_address[150]; char payin_extra_id[20]; - char refund_address[63]; + char refund_address[150]; char refund_extra_id[20]; - char payout_address[63]; + char payout_address[150]; char payout_extra_id[20]; char currency_from[10]; char currency_to[10]; @@ -61,7 +61,7 @@ typedef struct _ledger_swap_NewSellResponse { char trader_email[50]; char in_currency[10]; ledger_swap_NewSellResponse_in_amount_t in_amount; - char in_address[63]; + char in_address[150]; char out_currency[10]; ledger_swap_UDecimal out_amount; ledger_swap_NewSellResponse_device_transaction_id_t device_transaction_id; @@ -117,10 +117,10 @@ extern const pb_field_t ledger_swap_NewSellResponse_fields[8]; extern const pb_field_t ledger_swap_NewFundResponse_fields[7]; /* Maximum encoded size of messages (where known) */ -#define ledger_swap_NewTransactionResponse_size 403 +#define ledger_swap_NewTransactionResponse_size 667 #define ledger_swap_UDecimal_size 24 -#define ledger_swap_NewSellResponse_size 219 -#define ledger_swap_NewFundResponse_size 233 +#define ledger_swap_NewSellResponse_size 307 +#define ledger_swap_NewFundResponse_size 321 /* Message IDs (where set with "msgid" option) */ #ifdef PB_MSGID diff --git a/test/python/apps/cal.py b/test/python/apps/cal.py index f057f10d..17c20c33 100644 --- a/test/python/apps/cal.py +++ b/test/python/apps/cal.py @@ -21,6 +21,7 @@ from .ton import TON_PACKED_DERIVATION_PATH, TON_CONF from .tron import TRX_PACKED_DERIVATION_PATH, TRX_CONF from .tron import TRX_USDT_CONF, TRX_USDC_CONF, TRX_TUSD_CONF, TRX_USDD_CONF +from .cardano import ADA_BYRON_PACKED_DERIVATION_PATH, ADA_SHELLEY_PACKED_DERIVATION_PATH, ADA_CONF @dataclass class CurrencyConfiguration: @@ -54,6 +55,8 @@ def get_conf_for_ticker(self, overload_signer: Optional[SigningAuthority]=None) USDC_CURRENCY_CONFIGURATION = CurrencyConfiguration(ticker="USDC", conf=TRX_USDC_CONF, packed_derivation_path=TRX_PACKED_DERIVATION_PATH) TUSD_CURRENCY_CONFIGURATION = CurrencyConfiguration(ticker="TUSD", conf=TRX_TUSD_CONF, packed_derivation_path=TRX_PACKED_DERIVATION_PATH) USDD_CURRENCY_CONFIGURATION = CurrencyConfiguration(ticker="USDD", conf=TRX_USDD_CONF, packed_derivation_path=TRX_PACKED_DERIVATION_PATH) +ADA_BYRON_CURRENCY_CONFIGURATION = CurrencyConfiguration(ticker="ADA", conf=ADA_CONF, packed_derivation_path=ADA_BYRON_PACKED_DERIVATION_PATH) +ADA_SHELLEY_CURRENCY_CONFIGURATION = CurrencyConfiguration(ticker="ADA", conf=ADA_CONF, packed_derivation_path=ADA_SHELLEY_PACKED_DERIVATION_PATH) # Helper that can be called from outside if we want to generate errors easily diff --git a/test/python/apps/cardano.py b/test/python/apps/cardano.py new file mode 100644 index 00000000..37c2f3f7 --- /dev/null +++ b/test/python/apps/cardano.py @@ -0,0 +1,141 @@ +from enum import IntEnum + +from hashlib import sha512 +from ecdsa.curves import Ed25519 +from ecdsa.keys import VerifyingKey + +from ragger.backend.interface import BackendInterface +from ragger.bip import pack_derivation_path, calculate_public_key_and_chaincode, CurveChoice +from ragger.utils import create_currency_config + + +ADA_CONF = create_currency_config("ADA", "Cardano ADA") + +ADA_BYRON_DERIVATION_PATH = "m/44'/1815'/0'/0/0" +ADA_SHELLEY_DERIVATION_PATH = "m/1852'/1815'/0'/0/0" +ADA_BYRON_PACKED_DERIVATION_PATH = pack_derivation_path(ADA_BYRON_DERIVATION_PATH) +ADA_SHELLEY_PACKED_DERIVATION_PATH = pack_derivation_path(ADA_SHELLEY_DERIVATION_PATH) + + +class Errors(IntEnum): + SW_SWAP_CHECKING_FAIL = 0x6001 + SW_SUCCESS = 0x9000 + + +class CardanoClient: + + def __init__(self, backend: BackendInterface): + self._backend = backend + + + def _check_signature_validity(self, path: str, signature: bytes, data: bytes) -> None: + """Check the signature validity + + Args: + path (str): The derivation path + signature (bytes): The received signature + data (bytes): The signed data + """ + + ref_pk, _ = calculate_public_key_and_chaincode(CurveChoice.Ed25519Kholaw, path) + pk: VerifyingKey = VerifyingKey.from_string(bytes.fromhex(ref_pk[2:]), curve=Ed25519) + assert pk.verify(signature, data, sha512) + + + # def perform_byron_sign_tx(self, path: str, destination: str, send_amount: int, send_fees: int) -> None: + # """Send a Sign TX command to the Cardano app. + # Based on Byron, address type THIRD_PARTY + + # Args: + # path (str): Derivation path + # destination (str): Destination address + # send_amount (int): Amount to send + # send_fees (int): Fees to pay + + # Returns: + # Tuple[bytes, bytes]: Data Hash and the Signature + # """ + + # dest_len = len(destination) // 2 + # output_len = 2 + 4 + dest_len + len(send_amount) // 2 + 6 + # signTx = { + # # Based on ragger testsByron: Sign tx with third-party Byron mainnet output + # "signTxInit": "d72101003c0000000000000000012d964a090201010101010101010103000000010000000100000000000000000000000000000000000000000000000000000001", + # "signTxInputs": "d7210200241af8fa0b754ff99253d983894e63a2b09cbb56c833ba18c3384210163f63dcfc00000000", + # "signTxOutputBasic": f"d7210330{output_len:02x}0001{dest_len:08x}{destination}{send_amount}000000000101", + # "signTxOutputConfirm": "d721033300", + # "signTxFees": f"d721040008{send_fees}", + # "signTxTtl": "d721050008000000000000000a", + # "signTxConfirm": "d7210a0000", + # "signTxWitness": f"d7210f0015{pack_derivation_path(path).hex()}", + # } + + # data: str = "" + # signature: str = "" + # for step, value in signTx.items(): + # response = self._backend.exchange_raw(bytes.fromhex(value)) + # assert response.status == Errors.SW_SUCCESS + # if step == "signTxConfirm": + # # Retrieve the data hash + # data = response.data + # elif step == "signTxWitness": + # # Retrieve the signature + # signature = response.data + + # self._check_signature_validity(path, signature, data) + + + def perform_shelley_sign_tx(self, destination: str, send_amount: int, send_fees: int) -> None: + """Send a Sign TX command to the Cardano app. + Based on Shelley, address type DEVICE_OWNED + + Args: + destination (str): Destination address + send_amount (int): Amount to send + send_fees (int): Fees to pay + + Returns: + Tuple[bytes, bytes]: Data Hash and the Signature + """ + + if destination is None: + raise ValueError(f"Invalid destination address: {destination}") + + witness_path1 = "m/1852'/1815'/2'/1/0" + witness_path2 = "m/1852'/1815'/2'/2/0" + dest_len = len(destination) // 2 + output_len = 6 + dest_len + len(send_amount) // 2 + 6 + signTx = { + # Based on LL example output + "getVersion": "d700000000", + "deriveAddress": "d71101002d0001058000073c8000071780000002000000000000000222058000073c80000717800000020000000200000000", + "signTxInit": "d72101003c0000000000000000012d964a090201010101010101010103000000010000000200000000000000010000000000000000000000000000000000000002", + "signTxInputs": "d7210200247c50edd7d2b7891dc3c33fade1ea557ac748bf177af7088e622f1454b6f71d0d00000000", + # Send To address (destination) + "signTxOutputBasic1": f"d7210330{output_len:02x}0101{dest_len:08x}{destination}{send_amount}000000000101", + "signTxOutputConfirm1": "d721033300", + # Send From address + "signTxOutputBasic2": "d72103303d01020001058000073c8000071780000002000000010000000122058000073c800007178000000200000002000000000000000000476009000000000101", + "signTxOutputConfirm2": "d721033300", + "signTxFees": f"d721040008{send_fees}", + "signTxTtl": "d72105000800000000085f492b", + "SignTxWithdrawals": "d72107001e0000000000004f1b00058000073c80000717800000020000000200000000", + "signTxConfirm": "d7210a0000", + "signTxWitness1": f"d7210f0015{pack_derivation_path(witness_path1).hex()}", + "signTxWitness2": f"d7210f0015{pack_derivation_path(witness_path2).hex()}", + } + + data = bytes() + for step, value in signTx.items(): + response = self._backend.exchange_raw(bytes.fromhex(value)) + assert response.status == Errors.SW_SUCCESS + if step == "signTxConfirm": + # Retrieve the data hash + data = response.data + elif step.startswith("signTxWitness"): + # Retrieve the signature + signature = response.data + # Verify the signature for the selected path + witness_path = witness_path1 if step == "signTxWitness1" else witness_path2 + self._check_signature_validity(witness_path, signature, data) + diff --git a/test/python/conftest.py b/test/python/conftest.py index c44d6295..5578ce14 100644 --- a/test/python/conftest.py +++ b/test/python/conftest.py @@ -24,6 +24,7 @@ "DOT": "Polkadot", "tron": "Tron", "ton": "TON", + "cardano": "Cardano ADA", } configuration.OPTIONAL.SIDELOADED_APPS_DIR = "test/python/lib_binaries/" diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/post_sign/00000.png new file mode 100644 index 00000000..be51a9d5 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00000.png new file mode 100644 index 00000000..65570be2 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00001.png new file mode 100644 index 00000000..4b1bdd1f Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00002.png new file mode 100644 index 00000000..0411de7b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_1/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/post_sign/00000.png new file mode 100644 index 00000000..be51a9d5 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00000.png new file mode 100644 index 00000000..65570be2 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00001.png new file mode 100644 index 00000000..8700508a Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00002.png new file mode 100644 index 00000000..0411de7b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_valid_2/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00000.png new file mode 100644 index 00000000..65570be2 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00001.png new file mode 100644 index 00000000..4b1bdd1f Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00002.png new file mode 100644 index 00000000..0411de7b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00000.png new file mode 100644 index 00000000..65570be2 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00001.png new file mode 100644 index 00000000..4b1bdd1f Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00002.png new file mode 100644 index 00000000..0411de7b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00000.png new file mode 100644 index 00000000..65570be2 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00001.png new file mode 100644 index 00000000..4b1bdd1f Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00002.png new file mode 100644 index 00000000..0411de7b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_fund_wrong_fees/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/post_sign/00000.png new file mode 100644 index 00000000..be51a9d5 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00000.png new file mode 100644 index 00000000..6db71698 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00001.png new file mode 100644 index 00000000..1a5b3b9b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00002.png new file mode 100644 index 00000000..b7190336 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00003.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00003.png new file mode 100644 index 00000000..e3b64e73 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_1/review/00003.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/post_sign/00000.png new file mode 100644 index 00000000..be51a9d5 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00000.png new file mode 100644 index 00000000..6db71698 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00001.png new file mode 100644 index 00000000..f7c2caf6 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00002.png new file mode 100644 index 00000000..a17e46a9 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00003.png b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00003.png new file mode 100644 index 00000000..e3b64e73 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_valid_2/review/00003.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00000.png new file mode 100644 index 00000000..6db71698 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00001.png new file mode 100644 index 00000000..1a5b3b9b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00002.png new file mode 100644 index 00000000..b7190336 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00003.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00003.png new file mode 100644 index 00000000..e3b64e73 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_amount/review/00003.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00000.png new file mode 100644 index 00000000..6db71698 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00001.png new file mode 100644 index 00000000..1a5b3b9b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00002.png new file mode 100644 index 00000000..b7190336 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00003.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00003.png new file mode 100644 index 00000000..e3b64e73 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_destination/review/00003.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00000.png new file mode 100644 index 00000000..6db71698 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00001.png new file mode 100644 index 00000000..1a5b3b9b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00002.png new file mode 100644 index 00000000..b7190336 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00003.png b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00003.png new file mode 100644 index 00000000..e3b64e73 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_sell_wrong_fees/review/00003.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/post_sign/00000.png new file mode 100644 index 00000000..be51a9d5 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00000.png new file mode 100644 index 00000000..ac64b99c Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00001.png new file mode 100644 index 00000000..36b6464a Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00002.png new file mode 100644 index 00000000..6c21766b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_1/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/post_sign/00000.png new file mode 100644 index 00000000..be51a9d5 Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00000.png new file mode 100644 index 00000000..ac64b99c Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00001.png new file mode 100644 index 00000000..89989d9a Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00002.png new file mode 100644 index 00000000..6c21766b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_valid_2/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00000.png new file mode 100644 index 00000000..ac64b99c Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00001.png new file mode 100644 index 00000000..36b6464a Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00002.png new file mode 100644 index 00000000..6c21766b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00000.png new file mode 100644 index 00000000..ac64b99c Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00001.png new file mode 100644 index 00000000..36b6464a Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00002.png new file mode 100644 index 00000000..6c21766b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/post_sign/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/post_sign/00000.png new file mode 100644 index 00000000..227ad3dd Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/post_sign/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/post_sign/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/post_sign/00001.png new file mode 100644 index 00000000..5d892c4d Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/post_sign/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00000.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00000.png new file mode 100644 index 00000000..ac64b99c Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00000.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00001.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00001.png new file mode 100644 index 00000000..36b6464a Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00001.png differ diff --git a/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00002.png b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00002.png new file mode 100644 index 00000000..6c21766b Binary files /dev/null and b/test/python/snapshots/flex/test_cardano_shelley_swap_wrong_fees/review/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_1/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00002.png new file mode 100644 index 00000000..ee62e057 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00004.png new file mode 100644 index 00000000..bef17fff Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_valid_2/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_fund_wrong_fees/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00007.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_1/00007.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00003.png new file mode 100644 index 00000000..ee62e057 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00005.png new file mode 100644 index 00000000..bef17fff Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00007.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_valid_2/00007.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00007.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_amount/00007.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00007.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_destination/00007.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00007.png b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_sell_wrong_fees/00007.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_1/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00002.png new file mode 100644 index 00000000..ee62e057 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00004.png new file mode 100644 index 00000000..bef17fff Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_valid_2/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00000.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00000.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00001.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00001.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00002.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00002.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00003.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00003.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00004.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00004.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00005.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00005.png differ diff --git a/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00006.png b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_cardano_shelley_swap_wrong_fees/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_1/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00002.png new file mode 100644 index 00000000..ee62e057 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00004.png new file mode 100644 index 00000000..bef17fff Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_valid_2/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_fund_wrong_fees/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00007.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_1/00007.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00003.png new file mode 100644 index 00000000..ee62e057 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00005.png new file mode 100644 index 00000000..bef17fff Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00007.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_valid_2/00007.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00007.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_amount/00007.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00007.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_destination/00007.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00002.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00003.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00004.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00005.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00006.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00007.png b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00007.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_sell_wrong_fees/00007.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_1/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00002.png new file mode 100644 index 00000000..ee62e057 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00004.png new file mode 100644 index 00000000..bef17fff Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_valid_2/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00000.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00000.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00001.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00001.png new file mode 100644 index 00000000..28425d8c Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00001.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00002.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00002.png new file mode 100644 index 00000000..b99dc180 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00002.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00003.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00003.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00003.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00004.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00004.png new file mode 100644 index 00000000..6d1bf9f6 Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00004.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00005.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00005.png differ diff --git a/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00006.png b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanox/test_cardano_shelley_swap_wrong_fees/00006.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/post_sign/00000.png new file mode 100644 index 00000000..392165d4 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00000.png new file mode 100644 index 00000000..a08b2624 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00001.png new file mode 100644 index 00000000..b0cd3c47 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00002.png new file mode 100644 index 00000000..2ee00e80 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_1/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/post_sign/00000.png new file mode 100644 index 00000000..392165d4 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00000.png new file mode 100644 index 00000000..a08b2624 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00001.png new file mode 100644 index 00000000..90c00bc6 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00002.png new file mode 100644 index 00000000..2ee00e80 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_valid_2/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00000.png new file mode 100644 index 00000000..a08b2624 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00001.png new file mode 100644 index 00000000..b0cd3c47 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00002.png new file mode 100644 index 00000000..2ee00e80 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00000.png new file mode 100644 index 00000000..a08b2624 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00001.png new file mode 100644 index 00000000..b0cd3c47 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00002.png new file mode 100644 index 00000000..2ee00e80 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00000.png new file mode 100644 index 00000000..a08b2624 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00001.png new file mode 100644 index 00000000..b0cd3c47 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00002.png new file mode 100644 index 00000000..2ee00e80 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_fund_wrong_fees/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/post_sign/00000.png new file mode 100644 index 00000000..392165d4 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00000.png new file mode 100644 index 00000000..81e65cdc Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00001.png new file mode 100644 index 00000000..8bd57c10 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00002.png new file mode 100644 index 00000000..5c2b1c8b Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_1/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/post_sign/00000.png new file mode 100644 index 00000000..392165d4 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00000.png new file mode 100644 index 00000000..81e65cdc Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00001.png new file mode 100644 index 00000000..51b7eff1 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00002.png new file mode 100644 index 00000000..5c2b1c8b Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_valid_2/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00000.png new file mode 100644 index 00000000..81e65cdc Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00001.png new file mode 100644 index 00000000..8bd57c10 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00002.png new file mode 100644 index 00000000..5c2b1c8b Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00000.png new file mode 100644 index 00000000..81e65cdc Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00001.png new file mode 100644 index 00000000..8bd57c10 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00002.png new file mode 100644 index 00000000..5c2b1c8b Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00000.png new file mode 100644 index 00000000..81e65cdc Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00001.png new file mode 100644 index 00000000..8bd57c10 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00002.png new file mode 100644 index 00000000..5c2b1c8b Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_sell_wrong_fees/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/post_sign/00000.png new file mode 100644 index 00000000..392165d4 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00000.png new file mode 100644 index 00000000..f4c0f13d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00001.png new file mode 100644 index 00000000..a5bcd141 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00002.png new file mode 100644 index 00000000..41d1f54a Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_1/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/post_sign/00000.png new file mode 100644 index 00000000..392165d4 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00000.png new file mode 100644 index 00000000..f4c0f13d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00001.png new file mode 100644 index 00000000..039bf9ae Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00002.png new file mode 100644 index 00000000..41d1f54a Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_valid_2/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00000.png new file mode 100644 index 00000000..f4c0f13d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00001.png new file mode 100644 index 00000000..a5bcd141 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00002.png new file mode 100644 index 00000000..41d1f54a Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00000.png new file mode 100644 index 00000000..f4c0f13d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00001.png new file mode 100644 index 00000000..a5bcd141 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00002.png new file mode 100644 index 00000000..41d1f54a Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/post_sign/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/post_sign/00000.png new file mode 100644 index 00000000..4f5a523d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/post_sign/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/post_sign/00001.png new file mode 100644 index 00000000..ff2891d5 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00000.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00000.png new file mode 100644 index 00000000..f4c0f13d Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00000.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00001.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00001.png new file mode 100644 index 00000000..a5bcd141 Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00001.png differ diff --git a/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00002.png b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00002.png new file mode 100644 index 00000000..41d1f54a Binary files /dev/null and b/test/python/snapshots/stax/test_cardano_shelley_swap_wrong_fees/review/00002.png differ diff --git a/test/python/test_cardano.py b/test/python/test_cardano.py new file mode 100644 index 00000000..d05414f7 --- /dev/null +++ b/test/python/test_cardano.py @@ -0,0 +1,92 @@ +import pytest +import base58 + +from ragger.bip import pack_derivation_path +from ragger.backend import BackendInterface +from ragger.firmware import Firmware + +from .apps.exchange_test_runner import ExchangeTestRunner, ALL_TESTS_EXCEPT_MEMO_AND_THORSWAP +from .apps.exchange_navigation_helper import ExchangeNavigationHelper +from .apps.cardano import CardanoClient, Errors +from .apps.cardano import ADA_BYRON_DERIVATION_PATH, ADA_SHELLEY_DERIVATION_PATH +from .apps import cal as cal + + +# ExchangeTestRunner implementation for Cardano +# class CardanoByronClientTests(ExchangeTestRunner): + +# # Addresses Generated on MainNet +# currency_configuration = cal.ADA_BYRON_CURRENCY_CONFIGURATION +# valid_destination_1 = "Ae2tdPwUPEZ7X4rA8Z34X1QGJq4LBcaKPKzWFB5rfEUUWVDANKNZZLT9Ass" # path "m/44'/1815'/1'/0/0" +# valid_destination_2 = "Ae2tdPwUPEZF1dUU2kCn3yhqNqPMEuoLwwJPPTHjeZco2SMyGNS351ykBqX" # path "m/44'/1815'/2'/0/0" +# valid_refund = "Ae2tdPwUPEZEvjAYDYFfaJ4ZDELKcyxLQUwxADi5V8gmzBjvxtt3LqZxgSq" # path "m/44'/1815'/0'/0/0" +# valid_send_amount_1 = 3003112 +# valid_send_amount_2 = 446739662 +# valid_fees_1 = 42 +# valid_fees_2 = 28 +# fake_refund = "abcdabcd" +# fake_payout = "abcdabcd" +# signature_refusal_error_code = Errors.SW_SWAP_CHECKING_FAIL + +# def perform_final_tx(self, destination: str, send_amount: int, fees: int, memo) -> None: +# CardanoClient(self.backend).perform_byron_sign_tx(ADA_BYRON_DERIVATION_PATH, +# base58.b58decode(destination).hex(), +# f"{send_amount:016x}", +# f"{fees:016x}") + + +SHELLEY_DESTINATION = { + "valid_1": { + "addr": "addr1q80r70qggedqy90z4rzy6kynv4xqejxfxqmangwhz8ugalfwlqyt4mswmh4hl0nnq53r4rp798vj4c7p7f2wdgqnc8uqt2xltv", + "path": "01de3f3c08465a0215e2a8c44d5893654c0cc8c93037d9a1d711f88efd2ef808baee0eddeb7fbe7305223a8c3e29d92ae3c1f254e6a013c1f8"}, + "valid_2": { + "addr": "addr1q84sh2j72ux0l03fxndjnhctdg7hcppsaejafsa84vh7lwgmcs5wgus8qt4atk45lvt4xfxpjtwfhdmvchdf2m3u3hlsd5tq5r", + "path": "01eb0baa5e570cffbe2934db29df0b6a3d7c0430ee65d4c3a7ab2fefb91bc428e4720702ebd5dab4fb175324c192dc9bb76cc5da956e3c8dff"}, +} + +# ExchangeTestRunner implementation for Cardano +class CardanoShelleyClientTests(ExchangeTestRunner): + + # Addresses Generated on MainNet, type BASE_PAYMENT_KEY_STAKE_KEY + currency_configuration = cal.ADA_SHELLEY_CURRENCY_CONFIGURATION + valid_destination_1 = SHELLEY_DESTINATION["valid_1"]["addr"] + valid_destination_2 = SHELLEY_DESTINATION["valid_2"]["addr"] + # Refund adress corresponds to the derivation path "m/1852'/1815'/0'/0/0" and "m/1852'/1815'/0'/2/0" + valid_refund = "addr1q9kl5z2zd9vakyprvw0g68c8hv0y0rnj93htc82hh2rs8wwmyx0wtn56wnuclkku9hsnal8dtg25a7x56svjn4dlnlmq7quz6p" + valid_send_amount_1 = 4671693 + valid_send_amount_2 = 446739662 + valid_fees_1 = 174345 + valid_fees_2 = 28 + fake_refund = "abcdabcd" + fake_payout = "abcdabcd" + signature_refusal_error_code = Errors.SW_SWAP_CHECKING_FAIL + + def perform_final_tx(self, destination: str, send_amount: int, fees: int, memo) -> None: + # Create a reverse lookup dictionary + addr_to_path = {v["addr"]: v["path"] for v in SHELLEY_DESTINATION.values()} + CardanoClient(self.backend).perform_shelley_sign_tx(addr_to_path.get(destination), + f"{send_amount:016x}", + f"{fees:016x}") + + +# Use a class to reuse the same Speculos instance +class TestsCardanoClient: + + # Test Ready, but legacy and unused address format + # @pytest.mark.parametrize('test_to_run', ALL_TESTS_EXCEPT_MEMO_AND_THORSWAP) + # def test_cardano_byron(self, + # backend: BackendInterface, + # exchange_navigation_helper: ExchangeNavigationHelper, + # test_to_run: str) -> None: + # if backend.firmware == Firmware.NANOS: + # pytest.skip("Cardano swap is not supported on NanoS device") + # CardanoByronClientTests(backend, exchange_navigation_helper).run_test(test_to_run) + + @pytest.mark.parametrize('test_to_run', ALL_TESTS_EXCEPT_MEMO_AND_THORSWAP) + def test_cardano_shelley(self, + backend: BackendInterface, + exchange_navigation_helper: ExchangeNavigationHelper, + test_to_run: str) -> None: + if backend.firmware == Firmware.NANOS: + pytest.skip("Cardano swap is not supported on NanoS device") + CardanoShelleyClientTests(backend, exchange_navigation_helper).run_test(test_to_run) \ No newline at end of file