diff --git a/.github/workflows/reusable_swap_functional_tests.yml b/.github/workflows/reusable_swap_functional_tests.yml index 039fb9a1..399a3ed5 100644 --- a/.github/workflows/reusable_swap_functional_tests.yml +++ b/.github/workflows/reusable_swap_functional_tests.yml @@ -47,6 +47,10 @@ on: required: false default: 'develop' type: string + branch_for_polkadot: + required: false + default: 'develop' + type: string test_filter: required: false default: '""' @@ -89,6 +93,9 @@ jobs: - name: bsc repo: app-ethereum branch: ${{ inputs.branch_for_bsc }} + - name: polkadot + repo: app-polkadot + branch: ${{ inputs.branch_for_polkadot }} uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1 with: diff --git a/test/python/apps/cal.py b/test/python/apps/cal.py index e32e4534..ed72a9e2 100644 --- a/test/python/apps/cal.py +++ b/test/python/apps/cal.py @@ -13,6 +13,7 @@ from .xrp import XRP_PACKED_DERIVATION_PATH, XRP_CONF from .tezos import XTZ_PACKED_DERIVATION_PATH, XTZ_CONF from .bsc import BSC_PACKED_DERIVATION_PATH, BSC_CONF +from .polkadot import DOT_PACKED_DERIVATION_PATH, DOT_CONF TICKER_ID_TO_CONF = { "ETC": ETC_CONF, @@ -24,6 +25,7 @@ "XRP": XRP_CONF, "XTZ": XTZ_CONF, "BSC": BSC_CONF, + "DOT": DOT_CONF, } TICKER_ID_TO_PACKED_DERIVATION_PATH = { @@ -36,18 +38,7 @@ "XRP": XRP_PACKED_DERIVATION_PATH, "XTZ": XTZ_PACKED_DERIVATION_PATH, "BSC": BSC_PACKED_DERIVATION_PATH, -} - -TICKER_ID_TO_PACKED_DERIVATION_PATH = { - "ETC": ETC_PACKED_DERIVATION_PATH, - "ETH": ETH_PACKED_DERIVATION_PATH, - "BTC": BTC_PACKED_DERIVATION_PATH, - "LTC": LTC_PACKED_DERIVATION_PATH, - "XLM": XLM_PACKED_DERIVATION_PATH, - "SOL": SOL_PACKED_DERIVATION_PATH, - "XRP": XRP_PACKED_DERIVATION_PATH, - "XTZ": XTZ_PACKED_DERIVATION_PATH, - "BSC": BSC_PACKED_DERIVATION_PATH, + "DOT": DOT_PACKED_DERIVATION_PATH, } # Helper that can be called from outside if we want to generate errors easily diff --git a/test/python/apps/polkadot.py b/test/python/apps/polkadot.py new file mode 100644 index 00000000..7ea74f7c --- /dev/null +++ b/test/python/apps/polkadot.py @@ -0,0 +1,151 @@ +import traceback +from enum import IntEnum + +from nacl.encoding import HexEncoder +from nacl.signing import VerifyKey,SigningKey +from nacl.exceptions import BadSignatureError + +from ragger.utils import create_currency_config +from ragger.bip import bitcoin_pack_derivation_path, BtcDerivationPathFormat +from ragger.error import ExceptionRAPDU +from scalecodec.base import RuntimeConfiguration +from scalecodec.type_registry import load_type_registry_preset +from scalecodec.utils.ss58 import ss58_decode + +class Method(IntEnum): + BALANCE_TRANSFER = 0x0500 + BALANCE_FORCE_TRANSFER = 0x0502 + +class AccountIdLookupType(IntEnum): + ID = 0 + INDEX = 1 + RAW = 2 + ADDRESS32 = 3 + ADDRESS20 = 4 + +def _polkadot_address_to_pk(address: str) -> bytes: + return bytes.fromhex(ss58_decode(address)) + +def _format_amount(amount: int) -> bytes: + RuntimeConfiguration().update_type_registry(load_type_registry_preset("legacy")) + obj = RuntimeConfiguration().create_scale_object('Compact') + scale_data = obj.encode(amount) + return bytes(scale_data.get_remaining_bytes()) + +# Not sure what this exactly is but we don't actually care +UNKNOWN = bytes([0x85, 0x02, 0x00, 0x00]) + +SPEC_VERSION = 9360 +TX_VERSION = 24 + +# We don't care about the block hash content +BLOCK_HASH = bytes([0x00] * 32) + +GENESIS_HASH = bytes([ + 0x91, 0xb1, 0x71, 0xbb, 0x15, 0x8e, 0x2d, 0x38, 0x48, 0xfa, + 0x23, 0xa9, 0xf1, 0xc2, 0x51, 0x82, 0xfb, 0x8e, 0x20, 0x31, + 0x3b, 0x2c, 0x1e, 0xb4, 0x92, 0x19, 0xda, 0x7a, 0x70, 0xce, + 0x90, 0xc3, +]) + +ERR_SWAP_CHECK_WRONG_METHOD = 0x6984 +ERR_SWAP_CHECK_WRONG_METHOD_ARGS_CNT = 0x6984 +ERR_SWAP_CHECK_WRONG_DEST_ADDR = 0x6984 +ERR_SWAP_CHECK_WRONG_AMOUNT = 0x6984 + +class Command: + GET_VERSION = 0x00 + GET_ADDRESS = 0x01 + SIGN_TX = 0x02 + +class GetAddrP1: + NO_CONFIRM = 0x00 + CONFIRM = 0x01 + +class SignP1: + INIT = 0x00 + ADD = 0x01 + LAST = 0x02 + +class SignP2Last: + ED25519 = 0x00 + SR25119 = 0x01 + +DOT_CONF = create_currency_config("DOT", "Polkadot", ("DOT", 18)) + +DOT_PACKED_DERIVATION_PATH = bitcoin_pack_derivation_path(BtcDerivationPathFormat.LEGACY, "m/44'/354'/0'/0'/0'") + +DOT_PACKED_DERIVATION_PATH_SIGN_INIT = bytes([0x2c, 0x00, 0x00, 0x80, + 0x62, 0x01, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x80]) + + +class PolkadotClient: + CLA = 0x90 + def __init__(self, client): + self._client = client + + @property + def client(self): + return self._client + + def get_pubkey(self): + msg = self.client.exchange(self.CLA, ins=Command.GET_ADDRESS, p1=0, p2=0, data=DOT_PACKED_DERIVATION_PATH_SIGN_INIT) + return msg.data[:32].hex().encode() + + def sign_init(self): + return self.client.exchange(self.CLA, ins=Command.SIGN_TX, p1=SignP1.INIT, data=DOT_PACKED_DERIVATION_PATH_SIGN_INIT) + + def sign_add(self,tx_chunk): + return self.client.exchange(self.CLA, ins=Command.SIGN_TX, p1=SignP1.ADD,data=tx_chunk) + + def sign_last(self,tx_chunk): + return self.client.exchange(self.CLA, ins=Command.SIGN_TX, p1=SignP1.LAST, p2=SignP2Last.ED25519, data=tx_chunk) + + def verify_signature(self,hex_key:bytes,signature:bytes,message:bytes) -> bool : + # Create a VerifyKey object from a hex serialized public key + verify_key = VerifyKey(hex_key, encoder=HexEncoder) + # Check the validity of a message's signature + try: + verify_key.verify(message, signature, encoder=HexEncoder) + except BadSignatureError: + print("Wrong signature.") + return False + except Exception as e : + print("Something went wrong.") + print(e) + print(traceback.format_exc()) + return False + else: + print("Signature is ok.") + return True + + def craft_valid_polkadot_transaction(address, send_amount, fees, memo) -> bytes: + return Method.BALANCE_TRANSFER.to_bytes(2, "big") \ + + AccountIdLookupType.ID.to_bytes(1, "big") \ + + _polkadot_address_to_pk(address) \ + + _format_amount(send_amount) \ + + UNKNOWN \ + + SPEC_VERSION.to_bytes(4, "little") \ + + TX_VERSION.to_bytes(4, "little") \ + + GENESIS_HASH \ + + BLOCK_HASH + + def craft_invalid_polkadot_transaction(address, send_amount, fees, memo) -> bytes: + force_transfer = Method.BALANCE_FORCE_TRANSFER.to_bytes(2, "big") \ + + bytes([0x00, 0xdc, 0x5a, 0xda, 0x10, 0xee, 0xdd, 0x89, 0x81, 0x92, + 0x78, 0xb0, 0x92, 0x35, 0x87, 0x80, 0x3d, 0x7d, 0xb2, 0x07, + 0xe1, 0xdc, 0x7e, 0x1c, 0x18, 0x42, 0x4f, 0xa4, 0xad, 0x59, + 0xb4, 0x00, 0x19, 0x00, 0xb0, 0x0b, 0x9f, 0x27, 0xc2, 0xd1, + 0xd2, 0x16, 0x01, 0x58, 0x51, 0xdc, 0x3a, 0x69, 0xc8, 0xab, + 0x52, 0xb2, 0x86, 0x62, 0xe7, 0xfa, 0x31, 0x7c, 0x07, 0xad, + 0x1f, 0x34, 0xa4, 0xdf, 0xcd, 0x62, 0x07, 0x70, 0xf9, 0xdb, + 0xdf, 0x02, 0x55, 0x02, 0x00, 0x00]) + + return force_transfer \ + + SPEC_VERSION.to_bytes(4, "little") \ + + TX_VERSION.to_bytes(4, "little") \ + + GENESIS_HASH \ + + BLOCK_HASH diff --git a/test/python/conftest.py b/test/python/conftest.py index 7ffd71e7..9d2dd81d 100644 --- a/test/python/conftest.py +++ b/test/python/conftest.py @@ -24,6 +24,7 @@ "stellar": "Stellar", "solana": "Solana", "bsc": "Binance Smart Chain", + "polkadot": "Polkadot", } configuration.OPTIONAL.SIDELOADED_APPS_DIR = "test/python/lib_binaries/" diff --git a/test/python/requirements.txt b/test/python/requirements.txt index 87edd2cb..f456d09f 100644 --- a/test/python/requirements.txt +++ b/test/python/requirements.txt @@ -4,3 +4,4 @@ protobuf==3.20.0 stellar_sdk base58 xrpl-py +scalecodec diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00000.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00001.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00001.png new file mode 100644 index 00000000..f68ce8a9 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00002.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00002.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00003.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00003.png new file mode 100644 index 00000000..68d0d6bd Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00004.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00004.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00005.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00006.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_1/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00000.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00001.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00001.png new file mode 100644 index 00000000..f68ce8a9 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00002.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00002.png new file mode 100644 index 00000000..08e9a8f4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00003.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00003.png new file mode 100644 index 00000000..68d0d6bd Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00004.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00004.png new file mode 100644 index 00000000..67aab3cd Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00005.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00006.png b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_valid_2/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00000.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00001.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00001.png new file mode 100644 index 00000000..f68ce8a9 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00002.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00002.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00003.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00003.png new file mode 100644 index 00000000..68d0d6bd Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00004.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00004.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00005.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00006.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00000.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00001.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00001.png new file mode 100644 index 00000000..f68ce8a9 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00002.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00002.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00003.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00003.png new file mode 100644 index 00000000..68d0d6bd Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00004.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00004.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00005.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00006.png b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_fund_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00000.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00001.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00001.png new file mode 100644 index 00000000..ae0a2947 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00002.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00002.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00003.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00003.png new file mode 100644 index 00000000..01f7f182 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00004.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00004.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00005.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00006.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_1/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00000.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00001.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00001.png new file mode 100644 index 00000000..ae0a2947 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00002.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00002.png new file mode 100644 index 00000000..08e9a8f4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00003.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00003.png new file mode 100644 index 00000000..01f7f182 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00004.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00004.png new file mode 100644 index 00000000..67aab3cd Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00005.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00006.png b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_valid_2/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00000.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00001.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00001.png new file mode 100644 index 00000000..ae0a2947 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00002.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00002.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00003.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00003.png new file mode 100644 index 00000000..01f7f182 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00004.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00004.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00005.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00006.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00000.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00001.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00001.png new file mode 100644 index 00000000..ae0a2947 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00002.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00002.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00003.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00003.png new file mode 100644 index 00000000..01f7f182 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00004.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00004.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00005.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00005.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00006.png b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00006.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_sell_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00000.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00001.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00001.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00002.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00002.png new file mode 100644 index 00000000..b744ccf6 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00003.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00003.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00004.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00004.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00005.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00005.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_1/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00000.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00001.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00001.png new file mode 100644 index 00000000..08e9a8f4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00002.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00002.png new file mode 100644 index 00000000..b744ccf6 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00003.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00003.png new file mode 100644 index 00000000..67aab3cd Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00004.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00004.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00005.png b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00005.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_valid_2/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00000.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00001.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00001.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00002.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00002.png new file mode 100644 index 00000000..b744ccf6 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00003.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00003.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00004.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00004.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00005.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00005.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00000.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00001.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00001.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00002.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00002.png new file mode 100644 index 00000000..b744ccf6 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00003.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00003.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00004.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00004.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00005.png b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00005.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_polkadot_swap_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00000.png b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00000.png new file mode 100644 index 00000000..8d84cc70 Binary files /dev/null and b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00000.png differ diff --git a/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00001.png b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00001.png new file mode 100644 index 00000000..c693eec0 Binary files /dev/null and b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00001.png differ diff --git a/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00002.png b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00002.png new file mode 100644 index 00000000..83b2a69b Binary files /dev/null and b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00002.png differ diff --git a/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00003.png b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00003.png new file mode 100644 index 00000000..cd5a1cb4 Binary files /dev/null and b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00003.png differ diff --git a/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00004.png b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00004.png new file mode 100644 index 00000000..1c9156c3 Binary files /dev/null and b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00004.png differ diff --git a/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00005.png b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00005.png new file mode 100644 index 00000000..a0aef4de Binary files /dev/null and b/test/python/snapshots/nanos/test_swap_flow_dot_nominal/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00000.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00001.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00002.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00002.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00003.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00004.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00005.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00006.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_1/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00000.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00001.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00002.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00002.png new file mode 100644 index 00000000..91a93891 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00003.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00004.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00004.png new file mode 100644 index 00000000..b964cc80 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00005.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00006.png b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_valid_2/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00000.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00001.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00002.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00002.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00003.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00004.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00005.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00006.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00000.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00001.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00001.png new file mode 100644 index 00000000..fcfe2eb5 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00002.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00002.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00003.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00003.png new file mode 100644 index 00000000..ce6b87af Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00004.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00005.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00006.png b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_fund_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00000.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00001.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00001.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00002.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00002.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00003.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00004.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00005.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00006.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_1/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00000.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00001.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00001.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00002.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00002.png new file mode 100644 index 00000000..91a93891 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00003.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00004.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00004.png new file mode 100644 index 00000000..b964cc80 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00005.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00006.png b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_valid_2/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00000.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00001.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00001.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00002.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00002.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00003.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00004.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00005.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00006.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00000.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00001.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00001.png new file mode 100644 index 00000000..a7dec8ea Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00002.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00002.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00003.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00004.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00005.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00006.png b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00006.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_sell_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00000.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00001.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00001.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00002.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00003.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00003.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00004.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00005.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00005.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_1/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00000.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00001.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00001.png new file mode 100644 index 00000000..91a93891 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00002.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00003.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00003.png new file mode 100644 index 00000000..b964cc80 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00004.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00005.png b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00005.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_valid_2/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00000.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00001.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00001.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00002.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00003.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00003.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00004.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00005.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00005.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00000.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00001.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00001.png new file mode 100644 index 00000000..943f8a99 Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00002.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00003.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00003.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00004.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00005.png b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00005.png new file mode 100644 index 00000000..7713012e Binary files /dev/null and b/test/python/snapshots/nanosp/test_polkadot_swap_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00000.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00001.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00001.png new file mode 100644 index 00000000..28a5f8e3 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00002.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00002.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00003.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00003.png new file mode 100644 index 00000000..66adf0b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00004.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00005.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00006.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_1/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00000.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00001.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00001.png new file mode 100644 index 00000000..28a5f8e3 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00002.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00002.png new file mode 100644 index 00000000..b5070ffb Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00003.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00003.png new file mode 100644 index 00000000..66adf0b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00004.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00004.png new file mode 100644 index 00000000..b964cc80 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00005.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00006.png b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_valid_2/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00000.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00001.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00001.png new file mode 100644 index 00000000..28a5f8e3 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00002.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00002.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00003.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00003.png new file mode 100644 index 00000000..66adf0b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00004.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00005.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00006.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00000.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00001.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00001.png new file mode 100644 index 00000000..28a5f8e3 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00002.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00002.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00003.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00003.png new file mode 100644 index 00000000..66adf0b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00004.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00005.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00006.png b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_fund_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00000.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00001.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00001.png new file mode 100644 index 00000000..60ee7698 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00002.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00002.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00003.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00004.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00005.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00006.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_1/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00000.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00001.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00001.png new file mode 100644 index 00000000..60ee7698 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00002.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00002.png new file mode 100644 index 00000000..b5070ffb Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00003.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00004.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00004.png new file mode 100644 index 00000000..b964cc80 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00005.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00006.png b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_valid_2/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00000.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00001.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00001.png new file mode 100644 index 00000000..60ee7698 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00002.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00002.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00003.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00004.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00005.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00006.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_amount/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00000.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00001.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00001.png new file mode 100644 index 00000000..60ee7698 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00002.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00002.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00003.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00003.png new file mode 100644 index 00000000..6749f273 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00004.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00004.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00005.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00005.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00006.png b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00006.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_sell_wrong_destination/00006.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00000.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00001.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00001.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00002.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00003.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00003.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00004.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00005.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00005.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_1/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00000.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00001.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00001.png new file mode 100644 index 00000000..b5070ffb Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00002.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00003.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00003.png new file mode 100644 index 00000000..b964cc80 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00004.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00005.png b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00005.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_valid_2/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00000.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00001.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00001.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00002.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00003.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00003.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00004.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00005.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00005.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_amount/00005.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00000.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00000.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00001.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00001.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00001.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00002.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00002.png new file mode 100644 index 00000000..2d2fc70b Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00002.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00003.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00003.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00003.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00004.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00004.png differ diff --git a/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00005.png b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00005.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_polkadot_swap_wrong_destination/00005.png differ diff --git a/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00000.png b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00000.png new file mode 100644 index 00000000..487ea10f Binary files /dev/null and b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00000.png differ diff --git a/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00001.png b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00001.png new file mode 100644 index 00000000..d14fc869 Binary files /dev/null and b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00001.png differ diff --git a/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00002.png b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00002.png new file mode 100644 index 00000000..1bf0ca90 Binary files /dev/null and b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00002.png differ diff --git a/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00003.png b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00003.png new file mode 100644 index 00000000..85d2ff8a Binary files /dev/null and b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00003.png differ diff --git a/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00004.png b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00004.png new file mode 100644 index 00000000..570ce28d Binary files /dev/null and b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00004.png differ diff --git a/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00005.png b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00005.png new file mode 100644 index 00000000..6c4d06b4 Binary files /dev/null and b/test/python/snapshots/nanox/test_swap_flow_dot_nominal/00005.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_1/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_fund_valid_1/post_sign/00000.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_1/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_fund_valid_1/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00000.png b/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00000.png new file mode 100644 index 00000000..ed604698 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00001.png b/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00001.png new file mode 100644 index 00000000..b351bd1e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00002.png b/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00002.png new file mode 100644 index 00000000..de002983 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_1/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_2/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_fund_valid_2/post_sign/00000.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_2/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_fund_valid_2/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00000.png b/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00000.png new file mode 100644 index 00000000..ed604698 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00001.png b/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00001.png new file mode 100644 index 00000000..03ea823d Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00002.png b/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00002.png new file mode 100644 index 00000000..de002983 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_valid_2/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..fb52f544 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00000.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00000.png new file mode 100644 index 00000000..ed604698 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00001.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00001.png new file mode 100644 index 00000000..b351bd1e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00002.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00002.png new file mode 100644 index 00000000..de002983 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..fb52f544 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00000.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00000.png new file mode 100644 index 00000000..ed604698 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00001.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00001.png new file mode 100644 index 00000000..b351bd1e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00002.png b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00002.png new file mode 100644 index 00000000..de002983 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_fund_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_1/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_sell_valid_1/post_sign/00000.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_1/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_sell_valid_1/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00000.png b/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00000.png new file mode 100644 index 00000000..c483e887 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00001.png b/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00001.png new file mode 100644 index 00000000..e7fb2d73 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00002.png b/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00002.png new file mode 100644 index 00000000..cdb07a6e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_1/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_2/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_sell_valid_2/post_sign/00000.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_2/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_sell_valid_2/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00000.png b/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00000.png new file mode 100644 index 00000000..c483e887 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00001.png b/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00001.png new file mode 100644 index 00000000..a5a7a34e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00002.png b/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00002.png new file mode 100644 index 00000000..cdb07a6e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_valid_2/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..fb52f544 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00000.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00000.png new file mode 100644 index 00000000..c483e887 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00001.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00001.png new file mode 100644 index 00000000..e7fb2d73 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00002.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00002.png new file mode 100644 index 00000000..cdb07a6e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..fb52f544 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00000.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00000.png new file mode 100644 index 00000000..c483e887 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00001.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00001.png new file mode 100644 index 00000000..e7fb2d73 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00002.png b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00002.png new file mode 100644 index 00000000..cdb07a6e Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_sell_wrong_destination/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_1/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_swap_valid_1/post_sign/00000.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_1/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_1/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_swap_valid_1/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_1/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00000.png b/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00000.png new file mode 100644 index 00000000..4e2a9947 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00001.png b/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00001.png new file mode 100644 index 00000000..9709cf38 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00002.png b/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00002.png new file mode 100644 index 00000000..5f8d9788 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_1/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_2/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_swap_valid_2/post_sign/00000.png new file mode 100644 index 00000000..cd2f5275 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_2/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_2/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_swap_valid_2/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_2/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00000.png b/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00000.png new file mode 100644 index 00000000..4e2a9947 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00001.png b/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00001.png new file mode 100644 index 00000000..fa732c63 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00002.png b/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00002.png new file mode 100644 index 00000000..5f8d9788 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_valid_2/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/post_sign/00000.png new file mode 100644 index 00000000..fb52f544 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00000.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00000.png new file mode 100644 index 00000000..4e2a9947 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00001.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00001.png new file mode 100644 index 00000000..9709cf38 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00002.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00002.png new file mode 100644 index 00000000..5f8d9788 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_amount/review/00002.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/post_sign/00000.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/post_sign/00000.png new file mode 100644 index 00000000..fb52f544 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/post_sign/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/post_sign/00001.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/post_sign/00001.png new file mode 100644 index 00000000..3599465a Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/post_sign/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00000.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00000.png new file mode 100644 index 00000000..4e2a9947 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00000.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00001.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00001.png new file mode 100644 index 00000000..9709cf38 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00001.png differ diff --git a/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00002.png b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00002.png new file mode 100644 index 00000000..5f8d9788 Binary files /dev/null and b/test/python/snapshots/stax/test_polkadot_swap_wrong_destination/review/00002.png differ diff --git a/test/python/test_polkadot.py b/test/python/test_polkadot.py new file mode 100644 index 00000000..b8385c73 --- /dev/null +++ b/test/python/test_polkadot.py @@ -0,0 +1,47 @@ +import pytest + +from .apps.exchange_test_runner import ExchangeTestRunner, ALL_TESTS_EXCEPT_MEMO_AND_FEES +from .apps.polkadot import PolkadotClient, ERR_SWAP_CHECK_WRONG_METHOD, ERR_SWAP_CHECK_WRONG_DEST_ADDR, ERR_SWAP_CHECK_WRONG_AMOUNT + +# ExchangeTestRunner implementation for Polkadot +class PolkadotTests(ExchangeTestRunner): + currency_ticker = "DOT" + valid_destination_1 = "14ypt3a2m9yiq4ZQDcJFrkD99C3ZoUjLCDz1gBpCDwJPqVDY" + valid_destination_memo_1 = "" + valid_destination_2 = "13zAiMiN2HdJfEXn4NkVCWxuemScdaXGYKJrbJr1Nt6kjBRD" + valid_destination_memo_2 = "" + valid_refund = "14TwSqXEoCPK7Q7Jnk2RFzbPZXppsxz24bHaQ7fakwio7DFn" + valid_refund_memo = "" + valid_send_amount_1 = 12345670000 + valid_send_amount_2 = 446739662 + valid_fees_1 = 100000000 + valid_fees_2 = 10000123 + fake_refund = "abcdabcd" + fake_refund_memo = "" + fake_payout = "abcdabcd" + fake_payout_memo = "" + wrong_method_error_code = ERR_SWAP_CHECK_WRONG_METHOD + wrong_destination_error_code = ERR_SWAP_CHECK_WRONG_DEST_ADDR + wrong_amount_error_code = ERR_SWAP_CHECK_WRONG_AMOUNT + + def perform_final_tx(self, destination, send_amount, fees, memo): + dot = PolkadotClient(self.backend) + # Get public key. + key = dot.get_pubkey() + # Init signature process and assert response APDU code is 0x9000 (OK). + dot.sign_init().status + # craft tx + message = PolkadotClient.craft_valid_polkadot_transaction(destination, send_amount, None, None) + # Send message to be signed + sign_response = dot.sign_last(message) + + # Assert signature is verified properly with key and message + assert dot.verify_signature(hex_key=key,signature=sign_response.data[1:],message=message.hex().encode()) == True + + +# Use a class to reuse the same Speculos instance +class TestsPolkadot: + + @pytest.mark.parametrize('test_to_run', ALL_TESTS_EXCEPT_MEMO_AND_FEES) + def test_polkadot(self, backend, exchange_navigation_helper, test_to_run): + PolkadotTests(backend, exchange_navigation_helper).run_test(test_to_run)