diff --git a/.clang-format b/.clang-format index b4abfa06d..d65f1ce5e 100644 --- a/.clang-format +++ b/.clang-format @@ -1,7 +1,6 @@ --- BasedOnStyle: Google IndentWidth: 4 ---- Language: Cpp ColumnLimit: 100 PointerAlignment: Right @@ -12,7 +11,6 @@ SortIncludes: false SpaceAfterCStyleCast: true AllowShortCaseLabelsOnASingleLine: false AllowAllArgumentsOnNextLine: false -AllowAllParametersOfDeclarationOnNextLine: false AllowShortBlocksOnASingleLine: Never AllowShortFunctionsOnASingleLine: None BinPackArguments: false diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 1a0118b13..c591393b9 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -1,4 +1,4 @@ -name: Misspelings CI +name: Misspellings CI on: workflow_dispatch: diff --git a/.mdl.rb b/.mdl.rb new file mode 100644 index 000000000..0b971f650 --- /dev/null +++ b/.mdl.rb @@ -0,0 +1,11 @@ +# Style file for mdl +# https://github.com/markdownlint/markdownlint/blob/main/docs/creating_styles.md + +# Include all rules +all + +# Disable specific rules +#exclude_rule 'MD012' + +# Update rules configuration +rule 'MD013', :line_length => 120 diff --git a/.mdlrc b/.mdlrc new file mode 100644 index 000000000..dd25d916d --- /dev/null +++ b/.mdlrc @@ -0,0 +1,14 @@ +# markdownlint config file + +# Use custom style file +style "#{File.dirname(__FILE__)}/.mdl.rb" + +# MD002 - First header in file should be a top level header +# MD005 - Inconsistent indentation for list items at the same level +# MD007 - Unordered list indentation +# MD014 - Dollar signs used before commands without showing output +# MD024 - Multiple headers with the same content +# MD029 - Ordered list item prefix +# MD033 - Inline HTML +# MD041 - First line in file should be a top level header +rules "~MD002,~MD005,~MD007,~MD014,~MD024,~MD029,~MD033,~MD041" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..06afa812d --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,47 @@ +# To install hooks, run: +# pre-commit install --hook-type pre-commit +# pre-commit install --hook-type commit-msg + +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: mixed-line-ending + - id: check-added-large-files + - id: check-merge-conflict + - id: check-case-conflict + + - repo: https://github.com/codespell-project/codespell + rev: v2.2.6 + hooks: + - id: codespell + args: ['--ignore-words-list', 'ontop,shft,hte', '--skip', 'makefile_conf/chain/*,tests/ragger/eip712_input_files/*'] + + - repo: https://github.com/pre-commit/mirrors-clang-format + rev: v12.0.1 + hooks: + - id: clang-format + types_or: [c] + + - repo: https://github.com/Mateusz-Grzelinski/actionlint-py + rev: v1.6.27.13 + hooks: + - id: actionlint + types_or: [yaml] + args: [-shellcheck='' -pyflakes=''] + + - repo: https://github.com/markdownlint/markdownlint + rev: v0.12.0 + hooks: + - id: markdownlint + types_or: [markdown] + + - repo: https://github.com/PyCQA/pylint + rev: v2.16.2 + hooks: + - id: pylint + types: [python] + args: ['--jobs=0', '--rcfile=tests/ragger/setup.cfg'] + files: '^tests/ragger/.*$' diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b9ce8af2..88d3d7c13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -124,7 +124,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed -- EIP-191 improvements, now lets the user see the entire message one chunk at a time (255 characters for LNX & LNS+, 99 for LNS) +- EIP-191 improvements, now lets the user see the entire message one chunk at a time + (255 characters for LNX & LNS+, 99 for LNS) ### Fixed @@ -145,7 +146,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed -- EIP-191 signatures now show (up to 99 characters on LNS and 255 on LNX & LNS+) the actual data contained in the message (clear-signing) +- EIP-191 signatures now show (up to 99 characters on LNS and 255 on LNX & LNS+) the actual data + contained in the message (clear-signing) ### Fixed @@ -256,7 +258,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Added -- When blind signing is disabled in settings, and a transaction with smart conract interactions is sent to the app, a new warning screen pops to let the user know that the setting must be enabled to sign this kind of transactions. +- When blind signing is disabled in settings, and a transaction with smart conract interactions is sent to the app, + a new warning screen pops to let the user know that the setting must be enabled to sign this kind of transactions. ## [1.9.4](https://github.com/ledgerhq/app-ethereum/compare/1.9.3...1.9.4) - 2021-9-14 diff --git a/Makefile b/Makefile index c5a912f3e..1c2c33ec1 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ APPVERSION = $(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)-dev # Application source files APP_SOURCE_PATH += src src_features src_plugins -ifeq ($(TARGET_NAME),TARGET_STAX) +ifeq ($(TARGET_NAME),$(filter $(TARGET_NAME),TARGET_STAX TARGET_FLEX)) APP_SOURCE_PATH += src_nbgl else APP_SOURCE_PATH += src_bagl @@ -55,7 +55,7 @@ APP_SOURCE_FILES += ${BOLOS_SDK}/lib_standard_app/crypto_helpers.c APP_SOURCE_FILES += ${BOLOS_SDK}/lib_standard_app/format.c INCLUDES_PATH += ${BOLOS_SDK}/lib_standard_app -ifeq ($(TARGET_NAME),TARGET_STAX) +ifeq ($(TARGET_NAME),$(filter $(TARGET_NAME),TARGET_STAX TARGET_FLEX)) NETWORK_ICONS_FILE = $(GEN_SRC_DIR)/net_icons.gen.c NETWORK_ICONS_DIR = $(shell dirname "$(NETWORK_ICONS_FILE)") @@ -71,12 +71,13 @@ ICON_NANOS = icons/nanos_app_chain_$(CHAIN_ID).gif ICON_NANOX = icons/nanox_app_chain_$(CHAIN_ID).gif ICON_NANOSP = icons/nanox_app_chain_$(CHAIN_ID).gif ICON_STAX = icons/stax_app_chain_$(CHAIN_ID).gif +ICON_FLEX = icons/flex_app_chain_$(CHAIN_ID).gif #prepare hsm generation -ifeq ($(TARGET_NAME),TARGET_STAX) - DEFINES += ICONGLYPH=C_stax_chain_$(CHAIN_ID)_64px - DEFINES += ICONBITMAP=C_stax_chain_$(CHAIN_ID)_64px_bitmap - DEFINES += ICONGLYPH_SMALL=C_stax_chain_$(CHAIN_ID) +ifeq ($(TARGET_NAME),$(filter $(TARGET_NAME),TARGET_STAX TARGET_FLEX)) + DEFINES += ICONGLYPH=C_chain_$(CHAIN_ID)_64px + DEFINES += ICONBITMAP=C_chain_$(CHAIN_ID)_64px_bitmap + DEFINES += ICONGLYPH_SMALL=C_chain_$(CHAIN_ID) endif diff --git a/README.md b/README.md index 2ba3b12f4..f356b91d9 100644 --- a/README.md +++ b/README.md @@ -263,9 +263,11 @@ to compile and run them. ## Contributing -Contributions are what makes the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. +Contributions are what makes the open source community such an amazing place to learn, inspire, and create. +Any contributions you make are **greatly appreciated**. -If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag `enhancement`. +If you have a suggestion that would make this better, please fork the repo and create a pull request. +You can also simply open an issue with the tag `enhancement`. 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/my-feature`) diff --git a/client/src/ledger_app_clients/ethereum/client.py b/client/src/ledger_app_clients/ethereum/client.py index 52dc06ffe..6eb0c50f5 100644 --- a/client/src/ledger_app_clients/ethereum/client.py +++ b/client/src/ledger_app_clients/ethereum/client.py @@ -147,6 +147,14 @@ def get_eth2_public_addr(self, return self._exchange_async(self._cmd_builder.get_eth2_public_addr(display, bip32_path)) + def perform_privacy_operation(self, + display: bool = True, + bip32_path: str = "m/44'/60'/0'/0/0", + pubkey: bytes = bytes()): + return self._exchange(self._cmd_builder.perform_privacy_operation(display, + bip32_path, + pubkey)) + def provide_domain_name(self, challenge: int, name: str, addr: bytes) -> RAPDU: payload = format_tlv(DomainNameTag.STRUCTURE_TYPE, 3) # TrustedDomainName payload += format_tlv(DomainNameTag.STRUCTURE_VERSION, 1) diff --git a/client/src/ledger_app_clients/ethereum/command_builder.py b/client/src/ledger_app_clients/ethereum/command_builder.py index 9c60a6af5..5b64415b8 100644 --- a/client/src/ledger_app_clients/ethereum/command_builder.py +++ b/client/src/ledger_app_clients/ethereum/command_builder.py @@ -17,6 +17,7 @@ class InsType(IntEnum): PROVIDE_ERC20_TOKEN_INFORMATION = 0x0a PROVIDE_NFT_INFORMATION = 0x14 SET_PLUGIN = 0x16 + PERFORM_PRIVACY_OPERATION = 0x18 EIP712_SEND_STRUCT_DEF = 0x1a EIP712_SEND_STRUCT_IMPL = 0x1c EIP712_SEND_FILTERING = 0x1e @@ -260,6 +261,16 @@ def get_eth2_public_addr(self, 0x00, payload) + def perform_privacy_operation(self, + display: bool, + bip32_path: str, + pubkey: bytes) -> bytes: + payload = pack_derivation_path(bip32_path) + return self._serialize(InsType.PERFORM_PRIVACY_OPERATION, + int(display), + 0x01 if pubkey else 0x00, + payload + pubkey) + def set_plugin(self, type_: int, version: int, diff --git a/client/src/ledger_app_clients/ethereum/eip712/InputData.py b/client/src/ledger_app_clients/ethereum/eip712/InputData.py index f8a1842c3..0227343a2 100644 --- a/client/src/ledger_app_clients/ethereum/eip712/InputData.py +++ b/client/src/ledger_app_clients/ethereum/eip712/InputData.py @@ -332,10 +332,7 @@ def next_timeout(_signum: int, _frame): def enable_autonext(): - if app_client._client.firmware.device == 'stax': # Stax Speculos is slow - delay = 1.5 - else: - delay = 1/4 + delay = 1/5 signal.setitimer(signal.ITIMER_REAL, delay, delay) diff --git a/client/src/ledger_app_clients/ethereum/settings.py b/client/src/ledger_app_clients/ethereum/settings.py index 6bd73e91e..71d318a00 100644 --- a/client/src/ledger_app_clients/ethereum/settings.py +++ b/client/src/ledger_app_clients/ethereum/settings.py @@ -19,7 +19,7 @@ def get_device_settings(device: str) -> list[SettingID]: SettingID.DEBUG_DATA, SettingID.NONCE ] - if (device == "nanox") or (device == "nanosp") or (device == "stax"): + if device in ("nanox", "nanosp", "stax", "flex"): return [ SettingID.BLIND_SIGNING, SettingID.DEBUG_DATA, @@ -30,17 +30,28 @@ def get_device_settings(device: str) -> list[SettingID]: return [] -settings_per_page = 3 +def get_setting_per_page(device: str) -> int: + if device == "stax": + return 3 + return 2 def get_setting_position(device: str, setting: Union[NavInsID, SettingID]) -> tuple[int, int]: - screen_height = 672 # px - header_height = 85 # px - footer_height = 124 # px + settings_per_page = get_setting_per_page(device) + if device == "stax": + screen_height = 672 # px + header_height = 85 # px + footer_height = 132 # px + option_offset = 350 # px + else: + screen_height = 600 # px + header_height = 92 # px + footer_height = 97 # px + option_offset = 420 # px usable_height = screen_height - (header_height + footer_height) setting_height = usable_height // settings_per_page index_in_page = get_device_settings(device).index(SettingID(setting)) % settings_per_page - return 350, header_height + (setting_height * index_in_page) + (setting_height // 2) + return option_offset, header_height + (setting_height * index_in_page) + (setting_height // 2) def settings_toggle(fw: Firmware, nav: Navigator, to_toggle: list[SettingID]): @@ -57,7 +68,7 @@ def settings_toggle(fw: Firmware, nav: Navigator, to_toggle: list[SettingID]): moves += [NavInsID.BOTH_CLICK] # Back else: moves += [NavInsID.USE_CASE_HOME_SETTINGS] - moves += [NavInsID.USE_CASE_SETTINGS_NEXT] + settings_per_page = get_setting_per_page(fw.device) for setting in settings: setting_idx = settings.index(setting) if (setting_idx > 0) and (setting_idx % settings_per_page) == 0: diff --git a/ethereum-plugin-sdk b/ethereum-plugin-sdk index 2bf928b2c..2ced76b8a 160000 --- a/ethereum-plugin-sdk +++ b/ethereum-plugin-sdk @@ -1 +1 @@ -Subproject commit 2bf928b2c14b15e4f3f42a24af4caf54493fb5b3 +Subproject commit 2ced76b8a311456ac7d27ec7d37b683d65a24a4d diff --git a/glyphs/stax_chain_100_64px.gif b/glyphs/chain_100_64px.gif similarity index 100% rename from glyphs/stax_chain_100_64px.gif rename to glyphs/chain_100_64px.gif diff --git a/glyphs/stax_chain_10200_64px.gif b/glyphs/chain_10200_64px.gif similarity index 100% rename from glyphs/stax_chain_10200_64px.gif rename to glyphs/chain_10200_64px.gif diff --git a/glyphs/stax_chain_1030_64px.gif b/glyphs/chain_1030_64px.gif similarity index 100% rename from glyphs/stax_chain_1030_64px.gif rename to glyphs/chain_1030_64px.gif diff --git a/glyphs/stax_chain_10507_64px.gif b/glyphs/chain_10507_64px.gif similarity index 100% rename from glyphs/stax_chain_10507_64px.gif rename to glyphs/chain_10507_64px.gif diff --git a/glyphs/stax_chain_106_64px.gif b/glyphs/chain_106_64px.gif similarity index 100% rename from glyphs/stax_chain_106_64px.gif rename to glyphs/chain_106_64px.gif diff --git a/glyphs/stax_chain_1088_64px.gif b/glyphs/chain_1088_64px.gif similarity index 100% rename from glyphs/stax_chain_1088_64px.gif rename to glyphs/chain_1088_64px.gif diff --git a/glyphs/stax_chain_108_64px.gif b/glyphs/chain_108_64px.gif similarity index 100% rename from glyphs/stax_chain_108_64px.gif rename to glyphs/chain_108_64px.gif diff --git a/glyphs/stax_chain_10_64px.gif b/glyphs/chain_10_64px.gif similarity index 100% rename from glyphs/stax_chain_10_64px.gif rename to glyphs/chain_10_64px.gif diff --git a/glyphs/stax_chain_1101_64px.gif b/glyphs/chain_1101_64px.gif similarity index 100% rename from glyphs/stax_chain_1101_64px.gif rename to glyphs/chain_1101_64px.gif diff --git a/glyphs/chain_11155111_64px.gif b/glyphs/chain_11155111_64px.gif new file mode 120000 index 000000000..b955e47a4 --- /dev/null +++ b/glyphs/chain_11155111_64px.gif @@ -0,0 +1 @@ +chain_1_64px.gif \ No newline at end of file diff --git a/glyphs/stax_chain_1116_64px.gif b/glyphs/chain_1116_64px.gif similarity index 100% rename from glyphs/stax_chain_1116_64px.gif rename to glyphs/chain_1116_64px.gif diff --git a/glyphs/stax_chain_11297108109_64px.gif b/glyphs/chain_11297108109_64px.gif similarity index 100% rename from glyphs/stax_chain_11297108109_64px.gif rename to glyphs/chain_11297108109_64px.gif diff --git a/glyphs/stax_chain_1284_64px.gif b/glyphs/chain_1284_64px.gif similarity index 100% rename from glyphs/stax_chain_1284_64px.gif rename to glyphs/chain_1284_64px.gif diff --git a/glyphs/stax_chain_1285_64px.gif b/glyphs/chain_1285_64px.gif similarity index 100% rename from glyphs/stax_chain_1285_64px.gif rename to glyphs/chain_1285_64px.gif diff --git a/glyphs/stax_chain_1313114_64px.gif b/glyphs/chain_1313114_64px.gif similarity index 100% rename from glyphs/stax_chain_1313114_64px.gif rename to glyphs/chain_1313114_64px.gif diff --git a/glyphs/stax_chain_137_64px.gif b/glyphs/chain_137_64px.gif similarity index 100% rename from glyphs/stax_chain_137_64px.gif rename to glyphs/chain_137_64px.gif diff --git a/glyphs/stax_chain_14_64px.gif b/glyphs/chain_14_64px.gif similarity index 100% rename from glyphs/stax_chain_14_64px.gif rename to glyphs/chain_14_64px.gif diff --git a/glyphs/stax_chain_1620_64px.gif b/glyphs/chain_1620_64px.gif similarity index 100% rename from glyphs/stax_chain_1620_64px.gif rename to glyphs/chain_1620_64px.gif diff --git a/glyphs/stax_chain_16_64px.gif b/glyphs/chain_16_64px.gif similarity index 100% rename from glyphs/stax_chain_16_64px.gif rename to glyphs/chain_16_64px.gif diff --git a/glyphs/chain_17000_64px.gif b/glyphs/chain_17000_64px.gif new file mode 120000 index 000000000..b955e47a4 --- /dev/null +++ b/glyphs/chain_17000_64px.gif @@ -0,0 +1 @@ +chain_1_64px.gif \ No newline at end of file diff --git a/glyphs/stax_chain_1818_64px.gif b/glyphs/chain_1818_64px.gif similarity index 100% rename from glyphs/stax_chain_1818_64px.gif rename to glyphs/chain_1818_64px.gif diff --git a/glyphs/stax_chain_1907_64px.gif b/glyphs/chain_1907_64px.gif similarity index 100% rename from glyphs/stax_chain_1907_64px.gif rename to glyphs/chain_1907_64px.gif diff --git a/glyphs/stax_chain_196_64px.gif b/glyphs/chain_196_64px.gif similarity index 100% rename from glyphs/stax_chain_196_64px.gif rename to glyphs/chain_196_64px.gif diff --git a/glyphs/stax_chain_1987_64px.gif b/glyphs/chain_1987_64px.gif similarity index 100% rename from glyphs/stax_chain_1987_64px.gif rename to glyphs/chain_1987_64px.gif diff --git a/glyphs/stax_chain_199_64px.gif b/glyphs/chain_199_64px.gif similarity index 100% rename from glyphs/stax_chain_199_64px.gif rename to glyphs/chain_199_64px.gif diff --git a/glyphs/stax_chain_19_64px.gif b/glyphs/chain_19_64px.gif similarity index 100% rename from glyphs/stax_chain_19_64px.gif rename to glyphs/chain_19_64px.gif diff --git a/glyphs/stax_chain_1_64px.gif b/glyphs/chain_1_64px.gif similarity index 100% rename from glyphs/stax_chain_1_64px.gif rename to glyphs/chain_1_64px.gif diff --git a/glyphs/stax_chain_200625_64px.gif b/glyphs/chain_200625_64px.gif similarity index 100% rename from glyphs/stax_chain_200625_64px.gif rename to glyphs/chain_200625_64px.gif diff --git a/glyphs/stax_chain_20531811_64px.gif b/glyphs/chain_20531811_64px.gif similarity index 100% rename from glyphs/stax_chain_20531811_64px.gif rename to glyphs/chain_20531811_64px.gif diff --git a/glyphs/stax_chain_20531812_64px.gif b/glyphs/chain_20531812_64px.gif similarity index 100% rename from glyphs/stax_chain_20531812_64px.gif rename to glyphs/chain_20531812_64px.gif diff --git a/glyphs/stax_chain_2222_64px.gif b/glyphs/chain_2222_64px.gif similarity index 100% rename from glyphs/stax_chain_2222_64px.gif rename to glyphs/chain_2222_64px.gif diff --git a/glyphs/stax_chain_237_64px.gif b/glyphs/chain_237_64px.gif similarity index 100% rename from glyphs/stax_chain_237_64px.gif rename to glyphs/chain_237_64px.gif diff --git a/glyphs/stax_chain_24484_64px.gif b/glyphs/chain_24484_64px.gif similarity index 100% rename from glyphs/stax_chain_24484_64px.gif rename to glyphs/chain_24484_64px.gif diff --git a/glyphs/stax_chain_245022926_64px.gif b/glyphs/chain_245022926_64px.gif similarity index 100% rename from glyphs/stax_chain_245022926_64px.gif rename to glyphs/chain_245022926_64px.gif diff --git a/glyphs/stax_chain_245022934_64px.gif b/glyphs/chain_245022934_64px.gif similarity index 100% rename from glyphs/stax_chain_245022934_64px.gif rename to glyphs/chain_245022934_64px.gif diff --git a/glyphs/stax_chain_246529_64px.gif b/glyphs/chain_246529_64px.gif similarity index 100% rename from glyphs/stax_chain_246529_64px.gif rename to glyphs/chain_246529_64px.gif diff --git a/glyphs/stax_chain_246785_64px.gif b/glyphs/chain_246785_64px.gif similarity index 100% rename from glyphs/stax_chain_246785_64px.gif rename to glyphs/chain_246785_64px.gif diff --git a/glyphs/stax_chain_246_64px.gif b/glyphs/chain_246_64px.gif similarity index 100% rename from glyphs/stax_chain_246_64px.gif rename to glyphs/chain_246_64px.gif diff --git a/glyphs/stax_chain_248_64px.gif b/glyphs/chain_248_64px.gif similarity index 100% rename from glyphs/stax_chain_248_64px.gif rename to glyphs/chain_248_64px.gif diff --git a/glyphs/stax_chain_24_64px.gif b/glyphs/chain_24_64px.gif similarity index 100% rename from glyphs/stax_chain_24_64px.gif rename to glyphs/chain_24_64px.gif diff --git a/glyphs/stax_chain_250_64px.gif b/glyphs/chain_250_64px.gif similarity index 100% rename from glyphs/stax_chain_250_64px.gif rename to glyphs/chain_250_64px.gif diff --git a/glyphs/stax_chain_25_64px.gif b/glyphs/chain_25_64px.gif similarity index 100% rename from glyphs/stax_chain_25_64px.gif rename to glyphs/chain_25_64px.gif diff --git a/glyphs/stax_chain_269_64px.gif b/glyphs/chain_269_64px.gif similarity index 100% rename from glyphs/stax_chain_269_64px.gif rename to glyphs/chain_269_64px.gif diff --git a/glyphs/stax_chain_288_64px.gif b/glyphs/chain_288_64px.gif similarity index 100% rename from glyphs/stax_chain_288_64px.gif rename to glyphs/chain_288_64px.gif diff --git a/glyphs/stax_chain_2894_64px.gif b/glyphs/chain_2894_64px.gif similarity index 100% rename from glyphs/stax_chain_2894_64px.gif rename to glyphs/chain_2894_64px.gif diff --git a/glyphs/stax_chain_2_64px.gif b/glyphs/chain_2_64px.gif similarity index 100% rename from glyphs/stax_chain_2_64px.gif rename to glyphs/chain_2_64px.gif diff --git a/glyphs/stax_chain_30_64px.gif b/glyphs/chain_30_64px.gif similarity index 100% rename from glyphs/stax_chain_30_64px.gif rename to glyphs/chain_30_64px.gif diff --git a/glyphs/stax_chain_31102_64px.gif b/glyphs/chain_31102_64px.gif similarity index 100% rename from glyphs/stax_chain_31102_64px.gif rename to glyphs/chain_31102_64px.gif diff --git a/glyphs/stax_chain_3125659152_64px.gif b/glyphs/chain_3125659152_64px.gif similarity index 100% rename from glyphs/stax_chain_3125659152_64px.gif rename to glyphs/chain_3125659152_64px.gif diff --git a/glyphs/stax_chain_31_64px.gif b/glyphs/chain_31_64px.gif similarity index 100% rename from glyphs/stax_chain_31_64px.gif rename to glyphs/chain_31_64px.gif diff --git a/glyphs/stax_chain_321_64px.gif b/glyphs/chain_321_64px.gif similarity index 100% rename from glyphs/stax_chain_321_64px.gif rename to glyphs/chain_321_64px.gif diff --git a/glyphs/stax_chain_336_64px.gif b/glyphs/chain_336_64px.gif similarity index 100% rename from glyphs/stax_chain_336_64px.gif rename to glyphs/chain_336_64px.gif diff --git a/glyphs/stax_chain_369_64px.gif b/glyphs/chain_369_64px.gif similarity index 100% rename from glyphs/stax_chain_369_64px.gif rename to glyphs/chain_369_64px.gif diff --git a/glyphs/stax_chain_39797_64px.gif b/glyphs/chain_39797_64px.gif similarity index 100% rename from glyphs/stax_chain_39797_64px.gif rename to glyphs/chain_39797_64px.gif diff --git a/glyphs/stax_chain_3_64px.gif b/glyphs/chain_3_64px.gif similarity index 100% rename from glyphs/stax_chain_3_64px.gif rename to glyphs/chain_3_64px.gif diff --git a/glyphs/stax_chain_401697_64px.gif b/glyphs/chain_401697_64px.gif similarity index 100% rename from glyphs/stax_chain_401697_64px.gif rename to glyphs/chain_401697_64px.gif diff --git a/glyphs/stax_chain_40_64px.gif b/glyphs/chain_40_64px.gif similarity index 100% rename from glyphs/stax_chain_40_64px.gif rename to glyphs/chain_40_64px.gif diff --git a/glyphs/stax_chain_4201_64px.gif b/glyphs/chain_4201_64px.gif similarity index 100% rename from glyphs/stax_chain_4201_64px.gif rename to glyphs/chain_4201_64px.gif diff --git a/glyphs/stax_chain_42161_64px.gif b/glyphs/chain_42161_64px.gif similarity index 100% rename from glyphs/stax_chain_42161_64px.gif rename to glyphs/chain_42161_64px.gif diff --git a/glyphs/stax_chain_42220_64px.gif b/glyphs/chain_42220_64px.gif similarity index 100% rename from glyphs/stax_chain_42220_64px.gif rename to glyphs/chain_42220_64px.gif diff --git a/glyphs/stax_chain_42_64px.gif b/glyphs/chain_42_64px.gif similarity index 100% rename from glyphs/stax_chain_42_64px.gif rename to glyphs/chain_42_64px.gif diff --git a/glyphs/stax_chain_43114_64px.gif b/glyphs/chain_43114_64px.gif similarity index 100% rename from glyphs/stax_chain_43114_64px.gif rename to glyphs/chain_43114_64px.gif diff --git a/glyphs/stax_chain_44787_64px.gif b/glyphs/chain_44787_64px.gif similarity index 100% rename from glyphs/stax_chain_44787_64px.gif rename to glyphs/chain_44787_64px.gif diff --git a/glyphs/stax_chain_4919_64px.gif b/glyphs/chain_4919_64px.gif similarity index 100% rename from glyphs/stax_chain_4919_64px.gif rename to glyphs/chain_4919_64px.gif diff --git a/glyphs/stax_chain_4_64px.gif b/glyphs/chain_4_64px.gif similarity index 100% rename from glyphs/stax_chain_4_64px.gif rename to glyphs/chain_4_64px.gif diff --git a/glyphs/stax_chain_50_64px.gif b/glyphs/chain_50_64px.gif similarity index 100% rename from glyphs/stax_chain_50_64px.gif rename to glyphs/chain_50_64px.gif diff --git a/glyphs/stax_chain_51_64px.gif b/glyphs/chain_51_64px.gif similarity index 100% rename from glyphs/stax_chain_51_64px.gif rename to glyphs/chain_51_64px.gif diff --git a/glyphs/stax_chain_534351_64px.gif b/glyphs/chain_534351_64px.gif similarity index 100% rename from glyphs/stax_chain_534351_64px.gif rename to glyphs/chain_534351_64px.gif diff --git a/glyphs/stax_chain_534352_64px.gif b/glyphs/chain_534352_64px.gif similarity index 100% rename from glyphs/stax_chain_534352_64px.gif rename to glyphs/chain_534352_64px.gif diff --git a/glyphs/stax_chain_534353_64px.gif b/glyphs/chain_534353_64px.gif similarity index 100% rename from glyphs/stax_chain_534353_64px.gif rename to glyphs/chain_534353_64px.gif diff --git a/glyphs/stax_chain_534354_64px.gif b/glyphs/chain_534354_64px.gif similarity index 100% rename from glyphs/stax_chain_534354_64px.gif rename to glyphs/chain_534354_64px.gif diff --git a/glyphs/stax_chain_56_64px.gif b/glyphs/chain_56_64px.gif similarity index 100% rename from glyphs/stax_chain_56_64px.gif rename to glyphs/chain_56_64px.gif diff --git a/glyphs/stax_chain_57_64px.gif b/glyphs/chain_57_64px.gif similarity index 100% rename from glyphs/stax_chain_57_64px.gif rename to glyphs/chain_57_64px.gif diff --git a/glyphs/stax_chain_59144_64px.gif b/glyphs/chain_59144_64px.gif similarity index 100% rename from glyphs/stax_chain_59144_64px.gif rename to glyphs/chain_59144_64px.gif diff --git a/glyphs/stax_chain_592_64px.gif b/glyphs/chain_592_64px.gif similarity index 100% rename from glyphs/stax_chain_592_64px.gif rename to glyphs/chain_592_64px.gif diff --git a/glyphs/stax_chain_5_64px.gif b/glyphs/chain_5_64px.gif similarity index 100% rename from glyphs/stax_chain_5_64px.gif rename to glyphs/chain_5_64px.gif diff --git a/glyphs/stax_chain_60_64px.gif b/glyphs/chain_60_64px.gif similarity index 100% rename from glyphs/stax_chain_60_64px.gif rename to glyphs/chain_60_64px.gif diff --git a/glyphs/stax_chain_61_64px.gif b/glyphs/chain_61_64px.gif similarity index 100% rename from glyphs/stax_chain_61_64px.gif rename to glyphs/chain_61_64px.gif diff --git a/glyphs/stax_chain_62320_64px.gif b/glyphs/chain_62320_64px.gif similarity index 100% rename from glyphs/stax_chain_62320_64px.gif rename to glyphs/chain_62320_64px.gif diff --git a/glyphs/stax_chain_62621_64px.gif b/glyphs/chain_62621_64px.gif similarity index 100% rename from glyphs/stax_chain_62621_64px.gif rename to glyphs/chain_62621_64px.gif diff --git a/glyphs/stax_chain_64_64px.gif b/glyphs/chain_64_64px.gif similarity index 100% rename from glyphs/stax_chain_64_64px.gif rename to glyphs/chain_64_64px.gif diff --git a/glyphs/stax_chain_66_64px.gif b/glyphs/chain_66_64px.gif similarity index 100% rename from glyphs/stax_chain_66_64px.gif rename to glyphs/chain_66_64px.gif diff --git a/glyphs/stax_chain_7171_64px.gif b/glyphs/chain_7171_64px.gif similarity index 100% rename from glyphs/stax_chain_7171_64px.gif rename to glyphs/chain_7171_64px.gif diff --git a/glyphs/stax_chain_7341_64px.gif b/glyphs/chain_7341_64px.gif similarity index 100% rename from glyphs/stax_chain_7341_64px.gif rename to glyphs/chain_7341_64px.gif diff --git a/glyphs/stax_chain_73799_64px.gif b/glyphs/chain_73799_64px.gif similarity index 100% rename from glyphs/stax_chain_73799_64px.gif rename to glyphs/chain_73799_64px.gif diff --git a/glyphs/stax_chain_76_64px.gif b/glyphs/chain_76_64px.gif similarity index 100% rename from glyphs/stax_chain_76_64px.gif rename to glyphs/chain_76_64px.gif diff --git a/glyphs/stax_chain_7762959_64px.gif b/glyphs/chain_7762959_64px.gif similarity index 100% rename from glyphs/stax_chain_7762959_64px.gif rename to glyphs/chain_7762959_64px.gif diff --git a/glyphs/stax_chain_78_64px.gif b/glyphs/chain_78_64px.gif similarity index 100% rename from glyphs/stax_chain_78_64px.gif rename to glyphs/chain_78_64px.gif diff --git a/glyphs/stax_chain_820_64px.gif b/glyphs/chain_820_64px.gif similarity index 100% rename from glyphs/stax_chain_820_64px.gif rename to glyphs/chain_820_64px.gif diff --git a/glyphs/stax_chain_8217_64px.gif b/glyphs/chain_8217_64px.gif similarity index 100% rename from glyphs/stax_chain_8217_64px.gif rename to glyphs/chain_8217_64px.gif diff --git a/glyphs/stax_chain_82_64px.gif b/glyphs/chain_82_64px.gif similarity index 100% rename from glyphs/stax_chain_82_64px.gif rename to glyphs/chain_82_64px.gif diff --git a/glyphs/stax_chain_8453_64px.gif b/glyphs/chain_8453_64px.gif similarity index 100% rename from glyphs/stax_chain_8453_64px.gif rename to glyphs/chain_8453_64px.gif diff --git a/glyphs/stax_chain_846000_64px.gif b/glyphs/chain_846000_64px.gif similarity index 100% rename from glyphs/stax_chain_846000_64px.gif rename to glyphs/chain_846000_64px.gif diff --git a/glyphs/stax_chain_888_64px.gif b/glyphs/chain_888_64px.gif similarity index 100% rename from glyphs/stax_chain_888_64px.gif rename to glyphs/chain_888_64px.gif diff --git a/glyphs/stax_chain_88_64px.gif b/glyphs/chain_88_64px.gif similarity index 100% rename from glyphs/stax_chain_88_64px.gif rename to glyphs/chain_88_64px.gif diff --git a/glyphs/stax_chain_8_64px.gif b/glyphs/chain_8_64px.gif similarity index 100% rename from glyphs/stax_chain_8_64px.gif rename to glyphs/chain_8_64px.gif diff --git a/glyphs/stax_chain_9001_64px.gif b/glyphs/chain_9001_64px.gif similarity index 100% rename from glyphs/stax_chain_9001_64px.gif rename to glyphs/chain_9001_64px.gif diff --git a/glyphs/stax_chain_99_64px.gif b/glyphs/chain_99_64px.gif similarity index 100% rename from glyphs/stax_chain_99_64px.gif rename to glyphs/chain_99_64px.gif diff --git a/glyphs/stax_chain_11155111_64px.gif b/glyphs/stax_chain_11155111_64px.gif deleted file mode 120000 index 8ced0b781..000000000 --- a/glyphs/stax_chain_11155111_64px.gif +++ /dev/null @@ -1 +0,0 @@ -stax_chain_1_64px.gif \ No newline at end of file diff --git a/glyphs/stax_chain_17000_64px.gif b/glyphs/stax_chain_17000_64px.gif deleted file mode 120000 index 8ced0b781..000000000 --- a/glyphs/stax_chain_17000_64px.gif +++ /dev/null @@ -1 +0,0 @@ -stax_chain_1_64px.gif \ No newline at end of file diff --git a/icons/flex_app_chain_1.gif b/icons/flex_app_chain_1.gif new file mode 100644 index 000000000..f1c5e663c Binary files /dev/null and b/icons/flex_app_chain_1.gif differ diff --git a/icons/flex_app_chain_1030.gif b/icons/flex_app_chain_1030.gif new file mode 100644 index 000000000..6a4039d3f Binary files /dev/null and b/icons/flex_app_chain_1030.gif differ diff --git a/icons/flex_app_chain_108.gif b/icons/flex_app_chain_108.gif new file mode 100644 index 000000000..1a053ab6f Binary files /dev/null and b/icons/flex_app_chain_108.gif differ diff --git a/icons/flex_app_chain_1284.gif b/icons/flex_app_chain_1284.gif new file mode 100644 index 000000000..dd919fc6f Binary files /dev/null and b/icons/flex_app_chain_1284.gif differ diff --git a/icons/flex_app_chain_1285.gif b/icons/flex_app_chain_1285.gif new file mode 100644 index 000000000..f3ef9f46d Binary files /dev/null and b/icons/flex_app_chain_1285.gif differ diff --git a/icons/flex_app_chain_1313114.gif b/icons/flex_app_chain_1313114.gif new file mode 100644 index 000000000..59da10ad8 Binary files /dev/null and b/icons/flex_app_chain_1313114.gif differ diff --git a/icons/flex_app_chain_137.gif b/icons/flex_app_chain_137.gif new file mode 100644 index 000000000..b49f73b46 Binary files /dev/null and b/icons/flex_app_chain_137.gif differ diff --git a/icons/flex_app_chain_1620.gif b/icons/flex_app_chain_1620.gif new file mode 100644 index 000000000..6815cafdc Binary files /dev/null and b/icons/flex_app_chain_1620.gif differ diff --git a/icons/flex_app_chain_1818.gif b/icons/flex_app_chain_1818.gif new file mode 100644 index 000000000..6af034e82 Binary files /dev/null and b/icons/flex_app_chain_1818.gif differ diff --git a/icons/flex_app_chain_19.gif b/icons/flex_app_chain_19.gif new file mode 100644 index 000000000..2e0061d33 Binary files /dev/null and b/icons/flex_app_chain_19.gif differ diff --git a/icons/flex_app_chain_1987.gif b/icons/flex_app_chain_1987.gif new file mode 100644 index 000000000..0c6c85a3a Binary files /dev/null and b/icons/flex_app_chain_1987.gif differ diff --git a/icons/flex_app_chain_199.gif b/icons/flex_app_chain_199.gif new file mode 100644 index 000000000..d7d927686 Binary files /dev/null and b/icons/flex_app_chain_199.gif differ diff --git a/icons/flex_app_chain_2.gif b/icons/flex_app_chain_2.gif new file mode 100644 index 000000000..b59d301f5 Binary files /dev/null and b/icons/flex_app_chain_2.gif differ diff --git a/icons/flex_app_chain_200625.gif b/icons/flex_app_chain_200625.gif new file mode 100644 index 000000000..3fdb32f93 Binary files /dev/null and b/icons/flex_app_chain_200625.gif differ diff --git a/icons/flex_app_chain_20531811.gif b/icons/flex_app_chain_20531811.gif new file mode 100644 index 000000000..8c09a8df3 Binary files /dev/null and b/icons/flex_app_chain_20531811.gif differ diff --git a/icons/flex_app_chain_20531812.gif b/icons/flex_app_chain_20531812.gif new file mode 100644 index 000000000..8c09a8df3 Binary files /dev/null and b/icons/flex_app_chain_20531812.gif differ diff --git a/icons/flex_app_chain_237.gif b/icons/flex_app_chain_237.gif new file mode 100644 index 000000000..224f8678f Binary files /dev/null and b/icons/flex_app_chain_237.gif differ diff --git a/icons/flex_app_chain_24.gif b/icons/flex_app_chain_24.gif new file mode 100644 index 000000000..a4f59ce60 Binary files /dev/null and b/icons/flex_app_chain_24.gif differ diff --git a/icons/flex_app_chain_24484.gif b/icons/flex_app_chain_24484.gif new file mode 100644 index 000000000..d788dd29e Binary files /dev/null and b/icons/flex_app_chain_24484.gif differ diff --git a/icons/flex_app_chain_246.gif b/icons/flex_app_chain_246.gif new file mode 100644 index 000000000..8f2925373 Binary files /dev/null and b/icons/flex_app_chain_246.gif differ diff --git a/icons/flex_app_chain_246529.gif b/icons/flex_app_chain_246529.gif new file mode 100644 index 000000000..18860a44c Binary files /dev/null and b/icons/flex_app_chain_246529.gif differ diff --git a/icons/flex_app_chain_246785.gif b/icons/flex_app_chain_246785.gif new file mode 100644 index 000000000..18860a44c Binary files /dev/null and b/icons/flex_app_chain_246785.gif differ diff --git a/icons/flex_app_chain_248.gif b/icons/flex_app_chain_248.gif new file mode 100644 index 000000000..9e5d67f64 Binary files /dev/null and b/icons/flex_app_chain_248.gif differ diff --git a/icons/flex_app_chain_269.gif b/icons/flex_app_chain_269.gif new file mode 100644 index 000000000..0368902df Binary files /dev/null and b/icons/flex_app_chain_269.gif differ diff --git a/icons/flex_app_chain_2894.gif b/icons/flex_app_chain_2894.gif new file mode 100644 index 000000000..03be8eac2 Binary files /dev/null and b/icons/flex_app_chain_2894.gif differ diff --git a/icons/flex_app_chain_30.gif b/icons/flex_app_chain_30.gif new file mode 100644 index 000000000..4400f05fa Binary files /dev/null and b/icons/flex_app_chain_30.gif differ diff --git a/icons/flex_app_chain_31.gif b/icons/flex_app_chain_31.gif new file mode 100644 index 000000000..4400f05fa Binary files /dev/null and b/icons/flex_app_chain_31.gif differ diff --git a/icons/flex_app_chain_31102.gif b/icons/flex_app_chain_31102.gif new file mode 100644 index 000000000..feceebf41 Binary files /dev/null and b/icons/flex_app_chain_31102.gif differ diff --git a/icons/flex_app_chain_3125659152.gif b/icons/flex_app_chain_3125659152.gif new file mode 100644 index 000000000..dd6b8fb1a Binary files /dev/null and b/icons/flex_app_chain_3125659152.gif differ diff --git a/icons/flex_app_chain_336.gif b/icons/flex_app_chain_336.gif new file mode 100644 index 000000000..193378882 Binary files /dev/null and b/icons/flex_app_chain_336.gif differ diff --git a/icons/flex_app_chain_50.gif b/icons/flex_app_chain_50.gif new file mode 100644 index 000000000..e2a694f7d Binary files /dev/null and b/icons/flex_app_chain_50.gif differ diff --git a/icons/flex_app_chain_51.gif b/icons/flex_app_chain_51.gif new file mode 100644 index 000000000..e2a694f7d Binary files /dev/null and b/icons/flex_app_chain_51.gif differ diff --git a/icons/flex_app_chain_56.gif b/icons/flex_app_chain_56.gif new file mode 100644 index 000000000..1dd9c54e5 Binary files /dev/null and b/icons/flex_app_chain_56.gif differ diff --git a/icons/flex_app_chain_592.gif b/icons/flex_app_chain_592.gif new file mode 100644 index 000000000..8115113a1 Binary files /dev/null and b/icons/flex_app_chain_592.gif differ diff --git a/icons/flex_app_chain_60.gif b/icons/flex_app_chain_60.gif new file mode 100644 index 000000000..e081140bd Binary files /dev/null and b/icons/flex_app_chain_60.gif differ diff --git a/icons/flex_app_chain_61.gif b/icons/flex_app_chain_61.gif new file mode 100644 index 000000000..b4e93abae Binary files /dev/null and b/icons/flex_app_chain_61.gif differ diff --git a/icons/flex_app_chain_62621.gif b/icons/flex_app_chain_62621.gif new file mode 100644 index 000000000..c8dc4076e Binary files /dev/null and b/icons/flex_app_chain_62621.gif differ diff --git a/icons/flex_app_chain_64.gif b/icons/flex_app_chain_64.gif new file mode 100644 index 000000000..99d70f056 Binary files /dev/null and b/icons/flex_app_chain_64.gif differ diff --git a/icons/flex_app_chain_66.gif b/icons/flex_app_chain_66.gif new file mode 100644 index 000000000..f1db75aa5 Binary files /dev/null and b/icons/flex_app_chain_66.gif differ diff --git a/icons/flex_app_chain_7341.gif b/icons/flex_app_chain_7341.gif new file mode 100644 index 000000000..bf6bd6188 Binary files /dev/null and b/icons/flex_app_chain_7341.gif differ diff --git a/icons/flex_app_chain_73799.gif b/icons/flex_app_chain_73799.gif new file mode 100644 index 000000000..78e1fb5f3 Binary files /dev/null and b/icons/flex_app_chain_73799.gif differ diff --git a/icons/flex_app_chain_76.gif b/icons/flex_app_chain_76.gif new file mode 100644 index 000000000..b3f48f79e Binary files /dev/null and b/icons/flex_app_chain_76.gif differ diff --git a/icons/flex_app_chain_7762959.gif b/icons/flex_app_chain_7762959.gif new file mode 100644 index 000000000..35e930abd Binary files /dev/null and b/icons/flex_app_chain_7762959.gif differ diff --git a/icons/flex_app_chain_78.gif b/icons/flex_app_chain_78.gif new file mode 100644 index 000000000..7507998ce Binary files /dev/null and b/icons/flex_app_chain_78.gif differ diff --git a/icons/flex_app_chain_8.gif b/icons/flex_app_chain_8.gif new file mode 100644 index 000000000..88bab2212 Binary files /dev/null and b/icons/flex_app_chain_8.gif differ diff --git a/icons/flex_app_chain_82.gif b/icons/flex_app_chain_82.gif new file mode 100644 index 000000000..d7cd90bcd Binary files /dev/null and b/icons/flex_app_chain_82.gif differ diff --git a/icons/flex_app_chain_820.gif b/icons/flex_app_chain_820.gif new file mode 100644 index 000000000..86a2c5a1d Binary files /dev/null and b/icons/flex_app_chain_820.gif differ diff --git a/icons/flex_app_chain_846000.gif b/icons/flex_app_chain_846000.gif new file mode 100644 index 000000000..c7babb571 Binary files /dev/null and b/icons/flex_app_chain_846000.gif differ diff --git a/icons/flex_app_chain_88.gif b/icons/flex_app_chain_88.gif new file mode 100644 index 000000000..e379af4b9 Binary files /dev/null and b/icons/flex_app_chain_88.gif differ diff --git a/icons/flex_app_chain_888.gif b/icons/flex_app_chain_888.gif new file mode 100644 index 000000000..585536a8f Binary files /dev/null and b/icons/flex_app_chain_888.gif differ diff --git a/icons/flex_app_chain_99.gif b/icons/flex_app_chain_99.gif new file mode 100644 index 000000000..cd615c569 Binary files /dev/null and b/icons/flex_app_chain_99.gif differ diff --git a/icons/nanos_app_chain_401697.gif b/icons/nanos_app_chain_401697.gif deleted file mode 100644 index d15c9370d..000000000 Binary files a/icons/nanos_app_chain_401697.gif and /dev/null differ diff --git a/icons/stax_app_chain_401697.gif b/icons/stax_app_chain_401697.gif deleted file mode 100644 index cd3e9464e..000000000 Binary files a/icons/stax_app_chain_401697.gif and /dev/null differ diff --git a/ledger_app.toml b/ledger_app.toml index 5c2fe3020..1636e4d01 100644 --- a/ledger_app.toml +++ b/ledger_app.toml @@ -1,7 +1,7 @@ [app] build_directory = "./" sdk = "C" -devices = ["nanos", "nanox", "nanos+", "stax"] +devices = ["nanos", "nanox", "nanos+", "stax", "flex"] [use_cases] # Coherent build options that make sense for your application debug = "DEBUG=1" diff --git a/src/common_ui.h b/src/common_ui.h index 97dabad7a..280b8f059 100644 --- a/src/common_ui.h +++ b/src/common_ui.h @@ -13,6 +13,7 @@ void ui_display_public_key(const uint64_t *chain_id); void ui_sign_712_v0(void); void ui_confirm_selector(void); void ui_confirm_parameter(void); +void app_quit(void); // EIP-191 void ui_191_start(void); diff --git a/src/uint_common.c b/src/uint_common.c index bdb51f44d..5fe06a7c4 100644 --- a/src/uint_common.c +++ b/src/uint_common.c @@ -58,20 +58,3 @@ void reverseString(char *const str, uint32_t length) { str[j] = c; } } - -int bytes_to_string(char *out, size_t outl, const void *value, size_t len) { - if (outl <= 2) { - // Need at least '0x' and 1 digit - return -1; - } - if (strlcpy(out, "0x", outl) != 2) { - goto err; - } - if (format_hex(value, len, out + 2, outl - 2) < 0) { - goto err; - } - return 0; -err: - *out = '\0'; - return -1; -} diff --git a/src/uint_common.h b/src/uint_common.h index 59c726ad8..c0e9ac23c 100644 --- a/src/uint_common.h +++ b/src/uint_common.h @@ -35,6 +35,4 @@ void read_u64_be(const uint8_t *const in, uint64_t *const out); uint64_t readUint64BE(const uint8_t *const buffer); void reverseString(char *const str, uint32_t length); -int bytes_to_string(char *out, size_t outl, const void *value, size_t len); - #endif //_UINT_COMMON_H_ diff --git a/src_bagl/ui_flow_getEth2PublicKey.c b/src_bagl/ui_flow_getEth2PublicKey.c index 2eedfa00f..cccf070f8 100644 --- a/src_bagl/ui_flow_getEth2PublicKey.c +++ b/src_bagl/ui_flow_getEth2PublicKey.c @@ -5,10 +5,10 @@ #include "uint_common.h" void prepare_eth2_public_key() { - bytes_to_string(strings.tmp.tmp, - sizeof(strings.tmp.tmp), - tmpCtx.publicKeyContext.publicKey.W, - 48); + array_bytes_string(strings.tmp.tmp, + sizeof(strings.tmp.tmp), + tmpCtx.publicKeyContext.publicKey.W, + 48); } // clang-format off diff --git a/src_bagl/ui_flow_signMessage.c b/src_bagl/ui_flow_signMessage.c index 3c2a75a3a..60b3fcafb 100644 --- a/src_bagl/ui_flow_signMessage.c +++ b/src_bagl/ui_flow_signMessage.c @@ -34,7 +34,7 @@ UX_STEP_NOCB( pnn, { &C_icon_certificate, - "Sign", + "Review", "message", }); UX_STEP_NOCB( diff --git a/src_bagl/ui_flow_signMessage712_v0.c b/src_bagl/ui_flow_signMessage712_v0.c index 6eb88b657..72c643509 100644 --- a/src_bagl/ui_flow_signMessage712_v0.c +++ b/src_bagl/ui_flow_signMessage712_v0.c @@ -4,17 +4,17 @@ #include "uint_common.h" void prepare_domain_hash_v0() { - bytes_to_string(strings.tmp.tmp, - sizeof(strings.tmp.tmp), - tmpCtx.messageSigningContext712.domainHash, - KECCAK256_HASH_BYTESIZE); + array_bytes_string(strings.tmp.tmp, + sizeof(strings.tmp.tmp), + tmpCtx.messageSigningContext712.domainHash, + KECCAK256_HASH_BYTESIZE); } void prepare_message_hash_v0() { - bytes_to_string(strings.tmp.tmp, - sizeof(strings.tmp.tmp), - tmpCtx.messageSigningContext712.messageHash, - KECCAK256_HASH_BYTESIZE); + array_bytes_string(strings.tmp.tmp, + sizeof(strings.tmp.tmp), + tmpCtx.messageSigningContext712.messageHash, + KECCAK256_HASH_BYTESIZE); } // clang-format off @@ -23,7 +23,7 @@ UX_STEP_NOCB( pnn, { &C_icon_certificate, - "Sign", + "Review", "typed message", }); UX_STEP_NOCB_INIT( diff --git a/src_features/signMessageEIP712/ui_logic.c b/src_features/signMessageEIP712/ui_logic.c index 54598f162..1c5b4dde8 100644 --- a/src_features/signMessageEIP712/ui_logic.c +++ b/src_features/signMessageEIP712/ui_logic.c @@ -166,10 +166,10 @@ void ui_712_message_hash(void) { const char *const title = "Message hash"; ui_712_set_title(title, strlen(title)); - bytes_to_string(strings.tmp.tmp, - sizeof(strings.tmp.tmp), - tmpCtx.messageSigningContext712.messageHash, - KECCAK256_HASH_BYTESIZE); + array_bytes_string(strings.tmp.tmp, + sizeof(strings.tmp.tmp), + tmpCtx.messageSigningContext712.messageHash, + KECCAK256_HASH_BYTESIZE); ui_712_redraw_generic_step(); } @@ -286,7 +286,7 @@ static bool ui_712_format_bool(const uint8_t *const data, uint8_t length) { */ static void ui_712_format_bytes(const uint8_t *const data, uint8_t length) { if (ui_712_field_shown()) { - bytes_to_string(strings.tmp.tmp, sizeof(strings.tmp.tmp), data, length); + array_bytes_string(strings.tmp.tmp, sizeof(strings.tmp.tmp), data, length); // +2 for the "0x" // x2 for each byte value is represented by 2 ASCII characters if ((2 + (length * 2)) > (sizeof(strings.tmp.tmp) - 1)) { diff --git a/src_nbgl/ui_approve_tx.c b/src_nbgl/ui_approve_tx.c index 7e2f59d39..7a0b9a096 100644 --- a/src_nbgl/ui_approve_tx.c +++ b/src_nbgl/ui_approve_tx.c @@ -9,23 +9,19 @@ #include "caller_api.h" #include "network_icons.h" #include "network.h" +#include "ledger_assert.h" -#define TEXT_TX "transaction" // 1 more than actually displayed on screen, because of calculations in StaticReview -#define MAX_PLUGIN_ITEMS_PER_SCREEN 4 -#define TAG_MAX_LEN 43 -#define VALUE_MAX_LEN 79 -enum { - REJECT_TOKEN, - START_REVIEW_TOKEN, -}; +#define MAX_PLUGIN_ITEMS 8 +#define TAG_MAX_LEN 43 +#define VALUE_MAX_LEN 79 +#define MAX_PAIRS 12 // Max 10 for plugins + 2 (Network and fees) -static nbgl_layoutTagValue_t pair; +static nbgl_contentTagValue_t pairs[MAX_PAIRS]; +static nbgl_contentTagValueList_t pairsList; // these buffers are used as circular -static char title_buffer[MAX_PLUGIN_ITEMS_PER_SCREEN][TAG_MAX_LEN]; -static char msg_buffer[MAX_PLUGIN_ITEMS_PER_SCREEN][VALUE_MAX_LEN]; -static nbgl_layoutTagValueList_t useCaseTagValueList; -static nbgl_pageInfoLongPress_t infoLongPress; +static char title_buffer[MAX_PLUGIN_ITEMS][TAG_MAX_LEN]; +static char msg_buffer[MAX_PLUGIN_ITEMS][VALUE_MAX_LEN]; struct tx_approval_context_t { bool fromPlugin; @@ -38,8 +34,6 @@ struct tx_approval_context_t { static struct tx_approval_context_t tx_approval_context; -static void reviewContinueCommon(void); - static void reviewReject(void) { io_seproxyhal_touch_tx_cancel(NULL); memset(&tx_approval_context, 0, sizeof(tx_approval_context)); @@ -50,134 +44,11 @@ static void confirmTransation(void) { memset(&tx_approval_context, 0, sizeof(tx_approval_context)); } -static void onConfirmAbandon(void) { - nbgl_useCaseStatus("Transaction rejected", false, reviewReject); -} - -static void rejectTransactionQuestion(void) { - nbgl_useCaseConfirm(REJECT_QUESTION(TEXT_TX), - NULL, - REJECT_CONFIRM_BUTTON, - RESUME(TEXT_TX), - onConfirmAbandon); -} - static void reviewChoice(bool confirm) { if (confirm) { - nbgl_useCaseStatus("TRANSACTION\nSIGNED", true, confirmTransation); + nbgl_useCaseReviewStatus(STATUS_TYPE_TRANSACTION_SIGNED, confirmTransation); } else { - rejectTransactionQuestion(); - } -} - -// called by NBGL to get the tag/value pair corresponding to pairIndex -static nbgl_layoutTagValue_t *getTagValuePair(uint8_t pairIndex) { - static int counter = 0; - - if (tx_approval_context.fromPlugin) { - if (pairIndex < dataContext.tokenContext.pluginUiMaxItems) { - // for the next dataContext.tokenContext.pluginUiMaxItems items, get tag/value from - // plugin_ui_get_item_internal() - dataContext.tokenContext.pluginUiCurrentItem = pairIndex; - plugin_ui_get_item_internal((uint8_t *) title_buffer[counter], - TAG_MAX_LEN, - (uint8_t *) msg_buffer[counter], - VALUE_MAX_LEN); - pair.item = title_buffer[counter]; - pair.value = msg_buffer[counter]; - } else { - pairIndex -= dataContext.tokenContext.pluginUiMaxItems; - // for the last 1 (or 2), tags are fixed - if (tx_approval_context.displayNetwork && (pairIndex == 0)) { - pair.item = "Network"; - pair.value = strings.common.network_name; - } else { - pair.item = "Max fees"; - pair.value = strings.common.maxFee; - } - } - } else { - uint8_t target_index = 0; - - if (pairIndex == target_index++) { - pair.item = "Amount"; - pair.value = strings.common.fullAmount; - } -#ifdef HAVE_DOMAIN_NAME - if (tx_approval_context.domain_name_match) { - if (pairIndex == target_index++) { - pair.item = "Domain"; - pair.value = g_domain_name; - } - } - if (!tx_approval_context.domain_name_match || N_storage.verbose_domain_name) { -#endif // HAVE_DOMAIN_NAME - if (pairIndex == target_index++) { - pair.item = "Address"; - pair.value = strings.common.fullAddress; - } -#ifdef HAVE_DOMAIN_NAME - } -#endif // HAVE_DOMAIN_NAME - if (N_storage.displayNonce) { - if (pairIndex == target_index++) { - pair.item = "Nonce"; - pair.value = strings.common.nonce; - } - } - if (pairIndex == target_index++) { - pair.item = "Max fees"; - pair.value = strings.common.maxFee; - } - if (pairIndex == target_index++) { - pair.item = "Network"; - pair.value = strings.common.network_name; - } - } - // counter is used as index to circular buffer - counter++; - if (counter == MAX_PLUGIN_ITEMS_PER_SCREEN) { - counter = 0; - } - return &pair; -} - -static void pageCallback(int token, uint8_t index) { - (void) index; - nbgl_pageRelease(pageContext); - if (token == REJECT_TOKEN) { - reviewReject(); - } else if (token == START_REVIEW_TOKEN) { - reviewContinueCommon(); - } -} - -static void reviewContinue(void) { - if (tx_approval_context.blindSigning) { - nbgl_pageInfoDescription_t info = { - .centeredInfo.icon = &C_round_warning_64px, - .centeredInfo.text1 = "Blind Signing", - .centeredInfo.text2 = - "This transaction cannot be\nsecurely interpreted by Ledger\nStax. It might put " - "your assets\nat risk.", - .centeredInfo.text3 = NULL, - .centeredInfo.style = LARGE_CASE_INFO, - .centeredInfo.offsetY = -32, - .footerText = REJECT(TEXT_TX), - .footerToken = REJECT_TOKEN, - .tapActionText = "Tap to continue", - .tapActionToken = START_REVIEW_TOKEN, - .topRightStyle = NO_BUTTON_STYLE, - .actionButtonText = NULL, - .tuneId = TUNE_TAP_CASUAL}; - - if (pageContext != NULL) { - nbgl_pageRelease(pageContext); - pageContext = NULL; - } - pageContext = nbgl_pageDrawInfo(&pageCallback, NULL, &info); - } else { - reviewContinueCommon(); + nbgl_useCaseReviewStatus(STATUS_TYPE_TRANSACTION_REJECTED, reviewReject); } } @@ -202,103 +73,143 @@ static const nbgl_icon_details_t *get_tx_icon(void) { return icon; } -static void reviewContinueCommon(void) { +// Force operation to be lowercase +static void get_lowercase_operation(char *dst, size_t dst_len) { + const char *src = strings.common.fullAmount; + size_t idx; + + for (idx = 0; (idx < dst_len - 1) && (src[idx] != '\0'); ++idx) { + dst[idx] = (char) tolower((int) src[idx]); + } + dst[idx] = '\0'; +} + +static uint8_t setTagValuePairs(void) { uint8_t nbPairs = 0; + uint8_t pairIndex = 0; + uint8_t counter = 0; + + explicit_bzero(pairs, sizeof(pairs)); + // Setup data to display if (tx_approval_context.fromPlugin) { - // plugin id + max items + fees - nbPairs += dataContext.tokenContext.pluginUiMaxItems + 1; - } else { - nbPairs += 3; - if (N_storage.displayNonce) { + for (pairIndex = 0; pairIndex < dataContext.tokenContext.pluginUiMaxItems; pairIndex++) { + // for the next dataContext.tokenContext.pluginUiMaxItems items, get tag/value from + // plugin_ui_get_item_internal() + dataContext.tokenContext.pluginUiCurrentItem = pairIndex; + plugin_ui_get_item_internal((uint8_t *) title_buffer[counter], + TAG_MAX_LEN, + (uint8_t *) msg_buffer[counter], + VALUE_MAX_LEN); + pairs[nbPairs].item = title_buffer[counter]; + pairs[nbPairs].value = msg_buffer[counter]; nbPairs++; + LEDGER_ASSERT((++counter < MAX_PLUGIN_ITEMS), "Too many items for plugin\n"); } + // for the last 1 (or 2), tags are fixed + if (tx_approval_context.displayNetwork) { + pairs[nbPairs].item = "Network"; + pairs[nbPairs].value = strings.common.network_name; + nbPairs++; + } + pairs[nbPairs].item = "Max fees"; + pairs[nbPairs].value = strings.common.maxFee; + nbPairs++; + } else { + pairs[nbPairs].item = "Amount"; + pairs[nbPairs].value = strings.common.fullAmount; + nbPairs++; + #ifdef HAVE_DOMAIN_NAME uint64_t chain_id = get_tx_chain_id(); tx_approval_context.domain_name_match = has_domain_name(&chain_id, tmpContent.txContent.destination); - if (tx_approval_context.domain_name_match && N_storage.verbose_domain_name) { - nbPairs += 1; + if (tx_approval_context.domain_name_match) { + pairs[nbPairs].item = "Domain"; + pairs[nbPairs].value = g_domain_name; + nbPairs++; } -#endif // HAVE_DOMAIN_NAME - } - - if (tx_approval_context.displayNetwork) { + if (!tx_approval_context.domain_name_match || N_storage.verbose_domain_name) { +#endif + pairs[nbPairs].item = "Address"; + pairs[nbPairs].value = strings.common.fullAddress; + nbPairs++; +#ifdef HAVE_DOMAIN_NAME + } +#endif + if (N_storage.displayNonce) { + pairs[nbPairs].item = "Nonce"; + pairs[nbPairs].value = strings.common.nonce; + nbPairs++; + } + pairs[nbPairs].item = "Max fees"; + pairs[nbPairs].value = strings.common.maxFee; nbPairs++; - } - useCaseTagValueList.pairs = NULL; - useCaseTagValueList.callback = getTagValuePair; - useCaseTagValueList.startIndex = 0; - useCaseTagValueList.nbPairs = nbPairs; ///< number of pairs in pairs array - useCaseTagValueList.smallCaseForValue = false; - useCaseTagValueList.wrapping = false; - infoLongPress.icon = get_tx_icon(); - infoLongPress.text = tx_approval_context.fromPlugin ? g_stax_shared_buffer : SIGN(TEXT_TX); - infoLongPress.longPressText = SIGN_BUTTON; - nbgl_useCaseStaticReview(&useCaseTagValueList, &infoLongPress, REJECT(TEXT_TX), reviewChoice); + if (tx_approval_context.displayNetwork) { + pairs[nbPairs].item = "Network"; + pairs[nbPairs].value = strings.common.network_name; + nbPairs++; + } + } + return nbPairs; } -// Replace "Review" by "Sign" and add questionmark -static void prepare_sign_text(void) { - uint8_t sign_length = strlen("Sign"); - uint8_t review_length = strlen("Review"); +static void reviewCommon(void) { + explicit_bzero(&pairsList, sizeof(pairsList)); - memmove(g_stax_shared_buffer, "Sign", sign_length); - memmove(g_stax_shared_buffer + sign_length, - g_stax_shared_buffer + review_length, - strlen(g_stax_shared_buffer) - review_length + 1); - strlcat(g_stax_shared_buffer, "?", sizeof(g_stax_shared_buffer)); -} + pairsList.nbPairs = setTagValuePairs(); + pairsList.pairs = pairs; -// Force operation to be lowercase -static void get_lowercase_operation(char *dst, size_t dst_len) { - const char *src = strings.common.fullAmount; - size_t idx; - - for (idx = 0; (idx < dst_len - 1) && (src[idx] != '\0'); ++idx) { - dst[idx] = (char) tolower((int) src[idx]); - } - dst[idx] = '\0'; -} - -static void buildFirstPage(void) { if (tx_approval_context.fromPlugin) { + uint32_t buf_size = SHARED_BUFFER_SIZE / 2; char op_name[sizeof(strings.common.fullAmount)]; plugin_ui_get_id(); get_lowercase_operation(op_name, sizeof(op_name)); - if (pluginType == EXTERNAL) { - snprintf(g_stax_shared_buffer, - sizeof(g_stax_shared_buffer), - "Review transaction\nto %s\non %s", - op_name, - strings.common.fullAddress); - } else { - snprintf(g_stax_shared_buffer, - sizeof(g_stax_shared_buffer), - "Review transaction\nto %s\n%s", - op_name, - strings.common.fullAddress); - } - nbgl_useCaseReviewStart(get_tx_icon(), - g_stax_shared_buffer, - NULL, - REJECT(TEXT_TX), - reviewContinue, - rejectTransactionQuestion); - prepare_sign_text(); + snprintf(g_stax_shared_buffer, + buf_size, + "Review transaction\nto %s\n%s%s", + op_name, + (pluginType == EXTERNAL ? "on " : ""), + strings.common.fullAddress); + // Finish text: replace "Review" by "Sign" and add questionmark + snprintf(g_stax_shared_buffer + buf_size, + buf_size, + "Sign transaction\nto %s\n%s%s", + op_name, + (pluginType == EXTERNAL ? "on " : ""), + strings.common.fullAddress); + + nbgl_useCaseReview(TYPE_TRANSACTION, + &pairsList, + get_tx_icon(), + g_stax_shared_buffer, + NULL, + g_stax_shared_buffer + buf_size, + reviewChoice); + } else { + nbgl_useCaseReview(TYPE_TRANSACTION, + &pairsList, + get_tx_icon(), + REVIEW("transaction"), + NULL, + SIGN("transaction"), + reviewChoice); + } +} + +void blind_confirm_cb(bool confirm) { + if (confirm) { + reviewCommon(); } else { - nbgl_useCaseReviewStart(get_tx_icon(), - REVIEW(TEXT_TX), - NULL, - REJECT(TEXT_TX), - reviewContinue, - rejectTransactionQuestion); + reviewReject(); } } void ux_approve_tx(bool fromPlugin) { + memset(&tx_approval_context, 0, sizeof(tx_approval_context)); + tx_approval_context.blindSigning = !fromPlugin && tmpContent.txContent.dataPresent && !N_storage.contractDetails; tx_approval_context.fromPlugin = fromPlugin; @@ -309,5 +220,16 @@ void ux_approve_tx(bool fromPlugin) { tx_approval_context.displayNetwork = true; } - buildFirstPage(); + if (tx_approval_context.blindSigning) { + nbgl_useCaseChoice(&C_Important_Circle_64px, + "Blind Signing", + "This transaction cannot be securely interpreted by " + "your Ledger device.\nIt might put " + "your assets at risk.", + "Continue", + "Cancel", + blind_confirm_cb); + } else { + reviewCommon(); + } } diff --git a/src_nbgl/ui_confirm_parameter_selector.c b/src_nbgl/ui_confirm_parameter_selector.c index 80418e18c..f9e06e9e8 100644 --- a/src_nbgl/ui_confirm_parameter_selector.c +++ b/src_nbgl/ui_confirm_parameter_selector.c @@ -5,79 +5,76 @@ typedef enum { PARAMETER_CONFIRMATION, SELECTOR_CONFIRMATION } e_confirmation_type; -static nbgl_layoutTagValue_t pair; -static e_confirmation_type confirm_type; +enum { + TOKEN_APPROVE = FIRST_USER_TOKEN, +}; static void reviewReject(void) { io_seproxyhal_touch_data_cancel(NULL); } -static void confirmTransation(void) { - io_seproxyhal_touch_data_ok(NULL); -} - -static void reviewChoice(bool confirm) { - if (confirm) { - confirmTransation(); - } else { - reviewReject(); - } -} - -static bool displayTransactionPage(uint8_t page, nbgl_pageContent_t *content) { - if (page == 0) { - pair.item = (confirm_type == PARAMETER_CONFIRMATION) ? "Parameter" : "Selector"; - pair.value = strings.tmp.tmp; - content->type = TAG_VALUE_LIST; - content->tagValueList.nbPairs = 1; - content->tagValueList.pairs = (nbgl_layoutTagValue_t *) &pair; - } else if (page == 1) { - snprintf(g_stax_shared_buffer, - sizeof(g_stax_shared_buffer), - "Confirm %s", - (confirm_type == PARAMETER_CONFIRMATION) ? "parameter" : "selector"); - content->type = INFO_LONG_PRESS, content->infoLongPress.icon = get_app_icon(true); - content->infoLongPress.text = g_stax_shared_buffer; - content->infoLongPress.longPressText = "Hold to confirm"; - } else { - return false; +static void long_press_cb(int token, uint8_t index, int page) { + UNUSED(index); + UNUSED(page); + if (token == TOKEN_APPROVE) { + io_seproxyhal_touch_data_ok(NULL); } - // valid page so return true - return true; } -static void reviewContinue(void) { - snprintf(g_stax_shared_buffer, - sizeof(g_stax_shared_buffer), - "Reject %s", - (confirm_type == PARAMETER_CONFIRMATION) ? "parameter" : "selector"); - nbgl_useCaseRegularReview(0, - 2, - g_stax_shared_buffer, - NULL, - displayTransactionPage, - reviewChoice); -} +static void buildScreen(e_confirmation_type confirm_type) { + static nbgl_genericContents_t contents = {0}; + static nbgl_content_t contentsList[3] = {0}; + static nbgl_contentTagValue_t pair = {0}; + uint8_t nbContents = 0; + uint32_t buf_size = SHARED_BUFFER_SIZE / 2; -static void buildScreen(void) { snprintf(g_stax_shared_buffer, - sizeof(g_stax_shared_buffer), + buf_size, "Verify %s", (confirm_type == PARAMETER_CONFIRMATION) ? "parameter" : "selector"); - nbgl_useCaseReviewStart(get_app_icon(true), - g_stax_shared_buffer, - NULL, - REJECT_BUTTON, - reviewContinue, - reviewReject); + // Finish text: replace "Verify" by "Confirm" and add questionmark + snprintf(g_stax_shared_buffer + buf_size, + buf_size, + "Confirm %s", + (confirm_type == PARAMETER_CONFIRMATION) ? "parameter" : "selector"); + + pair.item = (confirm_type == PARAMETER_CONFIRMATION) ? "Parameter" : "Selector"; + pair.value = strings.tmp.tmp; + + // Title page + contentsList[nbContents].type = CENTERED_INFO; + contentsList[nbContents].content.centeredInfo.text1 = g_stax_shared_buffer; + contentsList[nbContents].content.centeredInfo.icon = get_app_icon(true); + contentsList[nbContents].content.centeredInfo.style = LARGE_CASE_INFO; + nbContents++; + + // Values to be reviewed + contentsList[nbContents].type = TAG_VALUE_LIST; + contentsList[nbContents].content.tagValueList.pairs = &pair; + contentsList[nbContents].content.tagValueList.nbPairs = 1; + nbContents++; + + // Approval screen + contentsList[nbContents].type = INFO_LONG_PRESS; + contentsList[nbContents].content.infoLongPress.text = g_stax_shared_buffer + buf_size; + contentsList[nbContents].content.infoLongPress.icon = get_app_icon(true); + contentsList[nbContents].content.infoLongPress.longPressText = "Hold to confirm"; + contentsList[nbContents].content.infoLongPress.longPressToken = TOKEN_APPROVE; + contentsList[nbContents].content.infoLongPress.tuneId = NB_TUNES; + contentsList[nbContents].contentActionCallback = long_press_cb; + nbContents++; + + contents.callbackCallNeeded = false; + contents.contentsList = contentsList; + contents.nbContents = nbContents; + + nbgl_useCaseGenericReview(&contents, REJECT_BUTTON, reviewReject); } void ui_confirm_parameter(void) { - confirm_type = PARAMETER_CONFIRMATION; - buildScreen(); + buildScreen(PARAMETER_CONFIRMATION); } void ui_confirm_selector(void) { - confirm_type = SELECTOR_CONFIRMATION; - buildScreen(); + buildScreen(SELECTOR_CONFIRMATION); } diff --git a/src_nbgl/ui_display_privacy.c b/src_nbgl/ui_display_privacy.c index 2b08175c9..1d5eb8b6d 100644 --- a/src_nbgl/ui_display_privacy.c +++ b/src_nbgl/ui_display_privacy.c @@ -1,69 +1,73 @@ #include "common_ui.h" #include "ui_signing.h" #include "ui_nbgl.h" -#include "ui_callbacks.h" #include "nbgl_use_case.h" -#include "network.h" +#include "nbgl_content.h" -static nbgl_layoutTagValue_t pairs[2]; -static char *review_string; +enum { + TOKEN_APPROVE = FIRST_USER_TOKEN, +}; static void reviewReject(void) { io_seproxyhal_touch_privacy_cancel(NULL); } -static void confirmTransation(void) { - io_seproxyhal_touch_privacy_ok(NULL); -} - -static void reviewChoice(bool confirm) { - if (confirm) { - confirmTransation(); - } else { - reviewReject(); +static void long_press_cb(int token, uint8_t index, int page) { + UNUSED(index); + UNUSED(page); + if (token == TOKEN_APPROVE) { + io_seproxyhal_touch_privacy_ok(NULL); } } -static bool displayTransactionPage(uint8_t page, nbgl_pageContent_t *content) { - if (page == 0) { - pairs[0].item = "Address"; - pairs[0].value = strings.common.fullAddress; - pairs[1].item = "Key"; - pairs[1].value = strings.common.fullAmount; +static void buildFirstPage(const char *review_string) { + static nbgl_genericContents_t contents = {0}; + static nbgl_content_t contentsList[3] = {0}; + static nbgl_contentTagValue_t pairs[2] = {0}; + uint8_t nbContents = 0; + uint8_t nbPairs = 0; - content->type = TAG_VALUE_LIST; - content->tagValueList.nbPairs = 2; - content->tagValueList.pairs = (nbgl_layoutTagValue_t *) pairs; - } else if (page == 1) { - content->type = INFO_LONG_PRESS, content->infoLongPress.icon = get_app_icon(true); - content->infoLongPress.text = review_string; - content->infoLongPress.longPressText = "Hold to approve"; - } else { - return false; - } - // valid page so return true - return true; -} + pairs[nbPairs].item = "Address"; + pairs[nbPairs].value = strings.common.fullAddress; + nbPairs++; + pairs[nbPairs].item = "Key"; + pairs[nbPairs].value = strings.common.fullAmount; + nbPairs++; -static void reviewContinue(void) { - nbgl_useCaseRegularReview(0, 2, REJECT_BUTTON, NULL, displayTransactionPage, reviewChoice); -} + // Title page + contentsList[nbContents].type = CENTERED_INFO; + contentsList[nbContents].content.centeredInfo.text1 = review_string; + contentsList[nbContents].content.centeredInfo.icon = get_app_icon(true); + contentsList[nbContents].content.centeredInfo.style = LARGE_CASE_INFO; + nbContents++; + + // Values to be reviewed + contentsList[nbContents].type = TAG_VALUE_LIST; + contentsList[nbContents].content.tagValueList.pairs = pairs; + contentsList[nbContents].content.tagValueList.nbPairs = nbPairs; + nbContents++; + + // Approval screen + contentsList[nbContents].type = INFO_LONG_PRESS; + contentsList[nbContents].content.infoLongPress.text = review_string; + contentsList[nbContents].content.infoLongPress.icon = get_app_icon(true); + contentsList[nbContents].content.infoLongPress.longPressText = "Hold to approve"; + contentsList[nbContents].content.infoLongPress.longPressToken = TOKEN_APPROVE; + contentsList[nbContents].content.infoLongPress.tuneId = NB_TUNES; + contentsList[nbContents].contentActionCallback = long_press_cb; + nbContents++; + + contents.callbackCallNeeded = false; + contents.contentsList = contentsList; + contents.nbContents = nbContents; -static void buildFirstPage(void) { - nbgl_useCaseReviewStart(get_app_icon(true), - review_string, - NULL, - REJECT_BUTTON, - reviewContinue, - reviewReject); + nbgl_useCaseGenericReview(&contents, REJECT_BUTTON, reviewReject); } void ui_display_privacy_public_key(void) { - review_string = (char *) "Provide public\nprivacy key"; - buildFirstPage(); + buildFirstPage("Provide public\nprivacy key"); } void ui_display_privacy_shared_secret(void) { - review_string = (char *) "Provide public\nsecret key"; - buildFirstPage(); + buildFirstPage("Provide public\nsecret key"); } diff --git a/src_nbgl/ui_get_eth2_public_key.c b/src_nbgl/ui_get_eth2_public_key.c index 09c939b58..99d09a56b 100644 --- a/src_nbgl/ui_get_eth2_public_key.c +++ b/src_nbgl/ui_get_eth2_public_key.c @@ -14,21 +14,22 @@ static void confirmTransation(void) { static void reviewChoice(bool confirm) { if (confirm) { - // display a status page and go back to main - nbgl_useCaseStatus("ADDRESS\nVERIFIED", true, confirmTransation); + nbgl_useCaseReviewStatus(STATUS_TYPE_ADDRESS_VERIFIED, confirmTransation); } else { - nbgl_useCaseStatus("Address verification\ncancelled", false, reviewReject); + nbgl_useCaseReviewStatus(STATUS_TYPE_ADDRESS_REJECTED, reviewReject); } } -static void buildScreen(void) { - bytes_to_string(strings.tmp.tmp, - sizeof(strings.tmp.tmp), - tmpCtx.publicKeyContext.publicKey.W, - 48); - nbgl_useCaseAddressConfirmation(strings.tmp.tmp, reviewChoice); -} - void ui_display_public_eth2(void) { - buildScreen(); + array_bytes_string(strings.tmp.tmp, + sizeof(strings.tmp.tmp), + tmpCtx.publicKeyContext.publicKey.W, + 48); + strlcpy(g_stax_shared_buffer, "Verify ETH2\naddress", sizeof(g_stax_shared_buffer)); + nbgl_useCaseAddressReview(strings.tmp.tmp, + NULL, + get_app_icon(false), + g_stax_shared_buffer, + NULL, + reviewChoice); } diff --git a/src_nbgl/ui_get_public_key.c b/src_nbgl/ui_get_public_key.c index b3c495342..96950616f 100644 --- a/src_nbgl/ui_get_public_key.c +++ b/src_nbgl/ui_get_public_key.c @@ -13,27 +13,14 @@ static void confirm_send(void) { io_seproxyhal_touch_address_ok(NULL); } -static void confirm_addr(void) { - // display a status page and go back to main - nbgl_useCaseStatus("ADDRESS\nVERIFIED", true, confirm_send); -} - -static void reject_addr(void) { - nbgl_useCaseStatus("Address verification\ncancelled", false, cancel_send); -} - static void review_choice(bool confirm) { if (confirm) { - confirm_addr(); + nbgl_useCaseReviewStatus(STATUS_TYPE_ADDRESS_VERIFIED, confirm_send); } else { - reject_addr(); + nbgl_useCaseReviewStatus(STATUS_TYPE_ADDRESS_REJECTED, cancel_send); } } -static void display_addr(void) { - nbgl_useCaseAddressConfirmation(strings.common.fullAddress, review_choice); -} - void ui_display_public_key(const uint64_t *chain_id) { const nbgl_icon_details_t *icon; @@ -54,5 +41,10 @@ void ui_display_public_key(const uint64_t *chain_id) { icon = get_app_icon(false); } strlcat(g_stax_shared_buffer, "address", sizeof(g_stax_shared_buffer)); - nbgl_useCaseReviewStart(icon, g_stax_shared_buffer, NULL, "Cancel", display_addr, reject_addr); + nbgl_useCaseAddressReview(strings.common.fullAddress, + NULL, + icon, + g_stax_shared_buffer, + NULL, + review_choice); } diff --git a/src_nbgl/ui_message_signing.c b/src_nbgl/ui_message_signing.c index 51e1a7ec2..40544df41 100644 --- a/src_nbgl/ui_message_signing.c +++ b/src_nbgl/ui_message_signing.c @@ -33,7 +33,7 @@ void ui_message_start(const char *title, void (*rejected_func)(void)) { g_approved_func = approved_func; g_rejected_func = rejected_func; - nbgl_useCaseReviewStart(&C_Message_64px, + nbgl_useCaseReviewStart(&C_Review_64px, title, NULL, REJECT_BUTTON, diff --git a/src_nbgl/ui_settings.c b/src_nbgl/ui_settings.c index 9d3656cc9..455ef32d9 100644 --- a/src_nbgl/ui_settings.c +++ b/src_nbgl/ui_settings.c @@ -2,8 +2,11 @@ #include "ui_nbgl.h" #include "nbgl_use_case.h" -static const char* const infoTypes[] = {"Version", APPNAME " App"}; -static const char* const infoContents[] = {APPVERSION, "(c) " BUILD_YEAR " Ledger"}; +// settings info definition +#define SETTING_INFO_NB 2 + +// settings menu definition +#define SETTING_CONTENTS_NB 1 enum { BLIND_SIGNING_TOKEN = FIRST_USER_TOKEN, @@ -11,106 +14,69 @@ enum { NONCE_TOKEN, #ifdef HAVE_EIP712_FULL_SUPPORT EIP712_VERBOSE_TOKEN, -#endif // HAVE_EIP712_FULL_SUPPORT +#endif #ifdef HAVE_DOMAIN_NAME DOMAIN_NAME_VERBOSE_TOKEN -#endif // HAVE_DOMAIN_NAME +#endif }; -static nbgl_layoutSwitch_t switches[3]; - -static bool navCallback(uint8_t page, nbgl_pageContent_t* content) { - uint8_t index = 0; - - switch (page) { - case 0: - content->type = INFOS_LIST; - content->infosList.nbInfos = 2; - content->infosList.infoTypes = (const char**) infoTypes; - content->infosList.infoContents = (const char**) infoContents; - break; - - case 1: - switches[index++] = - (nbgl_layoutSwitch_t){.initState = N_storage.dataAllowed ? ON_STATE : OFF_STATE, - .text = "Blind signing", - .subText = "Enable transaction blind\nsigning", - .token = BLIND_SIGNING_TOKEN, - .tuneId = TUNE_TAP_CASUAL}; - switches[index++] = - (nbgl_layoutSwitch_t){.initState = N_storage.contractDetails ? ON_STATE : OFF_STATE, - .text = "Debug", - .subText = "Display contract data\ndetails", - .token = DEBUG_TOKEN, - .tuneId = TUNE_TAP_CASUAL}; - switches[index++] = - (nbgl_layoutSwitch_t){.initState = N_storage.displayNonce ? ON_STATE : OFF_STATE, - .text = "Nonce", - .subText = "Display account nonce\nin transaction", - .token = NONCE_TOKEN, - .tuneId = TUNE_TAP_CASUAL}; - - content->type = SWITCHES_LIST; - content->switchesList.nbSwitches = index; - content->switchesList.switches = (nbgl_layoutSwitch_t*) switches; - break; - - case 2: +enum { + BLIND_SIGNING_ID = 0, + DEBUG_ID, + NONCE_ID, #ifdef HAVE_EIP712_FULL_SUPPORT - switches[index++] = - (nbgl_layoutSwitch_t){.initState = N_storage.verbose_eip712 ? ON_STATE : OFF_STATE, - .text = "Verbose EIP712", - .subText = "Ignore filtering and\ndisplay raw content", - .token = EIP712_VERBOSE_TOKEN, - .tuneId = TUNE_TAP_CASUAL}; -#endif // HAVE_EIP712_FULL_SUPPORT + EIP712_VERBOSE_ID, +#endif #ifdef HAVE_DOMAIN_NAME - switches[index++] = (nbgl_layoutSwitch_t){ - .initState = N_storage.verbose_domain_name ? ON_STATE : OFF_STATE, - .text = "Verbose domains", - .subText = "Show resolved address", - .token = DOMAIN_NAME_VERBOSE_TOKEN, - .tuneId = TUNE_TAP_CASUAL}; -#endif // HAVE_DOMAIN_NAME + DOMAIN_NAME_VERBOSE_ID, +#endif + SETTINGS_SWITCHES_NB +}; - content->type = SWITCHES_LIST; - content->switchesList.nbSwitches = index; - content->switchesList.switches = (nbgl_layoutSwitch_t*) switches; - break; +static uint8_t initSettingPage; - default: - return false; - break; - } +// settings definition +static const char* const infoTypes[SETTING_INFO_NB] = {"Version", APPNAME " App"}; +static const char* const infoContents[SETTING_INFO_NB] = {APPVERSION, "(c) " BUILD_YEAR " Ledger"}; - return true; -} +static nbgl_contentInfoList_t infoList = {0}; +static nbgl_contentSwitch_t switches[SETTINGS_SWITCHES_NB] = {0}; +static nbgl_content_t contents[SETTING_CONTENTS_NB] = {0}; +static nbgl_genericContents_t settingContents = {0}; -static void controlsCallback(int token, uint8_t index) { - (void) index; +static void controlsCallback(int token, uint8_t index, int page) { + UNUSED(index); uint8_t value; + + initSettingPage = page; + switch (token) { case BLIND_SIGNING_TOKEN: value = (N_storage.dataAllowed ? 0 : 1); + switches[BLIND_SIGNING_ID].initState = (nbgl_state_t) value; nvm_write((void*) &N_storage.dataAllowed, (void*) &value, sizeof(uint8_t)); break; case DEBUG_TOKEN: value = (N_storage.contractDetails ? 0 : 1); + switches[DEBUG_ID].initState = (nbgl_state_t) value; nvm_write((void*) &N_storage.contractDetails, (void*) &value, sizeof(uint8_t)); break; case NONCE_TOKEN: value = (N_storage.displayNonce ? 0 : 1); + switches[NONCE_ID].initState = (nbgl_state_t) value; nvm_write((void*) &N_storage.displayNonce, (void*) &value, sizeof(uint8_t)); break; #ifdef HAVE_EIP712_FULL_SUPPORT case EIP712_VERBOSE_TOKEN: value = (N_storage.verbose_eip712 ? 0 : 1); + switches[EIP712_VERBOSE_ID].initState = (nbgl_state_t) value; nvm_write((void*) &N_storage.verbose_eip712, (void*) &value, sizeof(uint8_t)); break; #endif // HAVE_EIP712_FULL_SUPPORT #ifdef HAVE_DOMAIN_NAME case DOMAIN_NAME_VERBOSE_TOKEN: value = (N_storage.verbose_domain_name ? 0 : 1); + switches[DOMAIN_NAME_VERBOSE_ID].initState = (nbgl_state_t) value; nvm_write((void*) &N_storage.verbose_domain_name, (void*) &value, sizeof(uint8_t)); break; #endif // HAVE_DOMAIN_NAME @@ -118,15 +84,60 @@ static void controlsCallback(int token, uint8_t index) { } void ui_menu_settings(void) { - uint8_t nb_screens = 2; -#if defined(HAVE_EIP712_FULL_SUPPORT) || defined(HAVE_DOMAIN_NAME) - nb_screens += 1; -#endif - nbgl_useCaseSettings(APPNAME " settings", - 0, - nb_screens, - false, - ui_idle, - navCallback, - controlsCallback); + switches[BLIND_SIGNING_ID].initState = N_storage.dataAllowed ? ON_STATE : OFF_STATE; + switches[BLIND_SIGNING_ID].text = "Blind signing"; + switches[BLIND_SIGNING_ID].subText = "Enable transaction blind\nsigning"; + switches[BLIND_SIGNING_ID].token = BLIND_SIGNING_TOKEN; + switches[BLIND_SIGNING_ID].tuneId = TUNE_TAP_CASUAL; + + switches[DEBUG_ID].initState = N_storage.contractDetails ? ON_STATE : OFF_STATE; + switches[DEBUG_ID].text = "Debug"; + switches[DEBUG_ID].subText = "Display contract data\ndetails"; + switches[DEBUG_ID].token = DEBUG_TOKEN; + switches[DEBUG_ID].tuneId = TUNE_TAP_CASUAL; + + switches[NONCE_ID].initState = N_storage.displayNonce ? ON_STATE : OFF_STATE; + switches[NONCE_ID].text = "Nonce"; + switches[NONCE_ID].subText = "Display account nonce\nin transaction"; + switches[NONCE_ID].token = NONCE_TOKEN; + switches[NONCE_ID].tuneId = TUNE_TAP_CASUAL; + +#ifdef HAVE_EIP712_FULL_SUPPORT + switches[EIP712_VERBOSE_ID].initState = N_storage.verbose_eip712 ? ON_STATE : OFF_STATE; + switches[EIP712_VERBOSE_ID].text = "Verbose EIP712"; + switches[EIP712_VERBOSE_ID].subText = "Ignore filtering and\ndisplay raw content"; + switches[EIP712_VERBOSE_ID].token = EIP712_VERBOSE_TOKEN; + switches[EIP712_VERBOSE_ID].tuneId = TUNE_TAP_CASUAL; +#endif // HAVE_EIP712_FULL_SUPPORT + +#ifdef HAVE_DOMAIN_NAME + switches[DOMAIN_NAME_VERBOSE_ID].initState = + N_storage.verbose_domain_name ? ON_STATE : OFF_STATE; + switches[DOMAIN_NAME_VERBOSE_ID].text = "Verbose domains"; + switches[DOMAIN_NAME_VERBOSE_ID].subText = "Show resolved address"; + switches[DOMAIN_NAME_VERBOSE_ID].token = DOMAIN_NAME_VERBOSE_TOKEN; + switches[DOMAIN_NAME_VERBOSE_ID].tuneId = TUNE_TAP_CASUAL; +#endif // HAVE_DOMAIN_NAME + + contents[0].type = SWITCHES_LIST; + contents[0].content.switchesList.nbSwitches = SETTINGS_SWITCHES_NB; + contents[0].content.switchesList.switches = switches; + contents[0].contentActionCallback = controlsCallback; + + settingContents.callbackCallNeeded = false; + settingContents.contentsList = contents; + settingContents.nbContents = SETTING_CONTENTS_NB; + + infoList.nbInfos = SETTING_INFO_NB; + infoList.infoTypes = infoTypes; + infoList.infoContents = infoContents; + + nbgl_useCaseHomeAndSettings(APPNAME, + get_app_icon(true), + NULL, + initSettingPage, + &settingContents, + &infoList, + NULL, + app_quit); } diff --git a/src_nbgl/ui_sign_712.c b/src_nbgl/ui_sign_712.c index c612fcfc9..de8258257 100644 --- a/src_nbgl/ui_sign_712.c +++ b/src_nbgl/ui_sign_712.c @@ -9,7 +9,7 @@ #include "ui_message_signing.h" #include "ui_signing.h" -static nbgl_layoutTagValue_t pair; +static nbgl_contentTagValue_t pair; static bool display_sign_page(uint8_t page, nbgl_pageContent_t *content) { (void) page; @@ -26,16 +26,12 @@ static bool display_review_page(uint8_t page, nbgl_pageContent_t *content) { switch (page) { case 0: // limit the value to one page - nbgl_getTextMaxLenInNbLines(BAGL_FONT_INTER_MEDIUM_32px, + nbgl_getTextMaxLenInNbLines(LARGE_MEDIUM_FONT, strings.tmp.tmp, SCREEN_WIDTH - (2 * BORDER_MARGIN), NB_MAX_LINES_IN_REVIEW, -#if (API_LEVEL == 0 || API_LEVEL >= 14) &len, false); -#else - &len); -#endif strings.tmp.tmp[len] = '\0'; pair.item = strings.tmp.tmp2; diff --git a/src_nbgl/ui_sign_712_v0.c b/src_nbgl/ui_sign_712_v0.c index e0bc71825..85e6bd46c 100644 --- a/src_nbgl/ui_sign_712_v0.c +++ b/src_nbgl/ui_sign_712_v0.c @@ -6,73 +6,65 @@ #include "ui_signing.h" #include "uint_common.h" -static nbgl_layoutTagValue_t pairs[2]; +static nbgl_contentTagValue_t pairs[2]; +static nbgl_contentTagValueList_t pairsList; -static void start_review(void); // forward declaration +static void messageReviewChoice_cb(bool confirm) { + if (confirm) { + nbgl_useCaseStatus("MESSAGE\nSIGNED", true, ui_message_712_approved); + } else { + nbgl_useCaseStatus("Message signing\ncancelled", false, ui_message_712_rejected); + } +} static char *format_hash(const uint8_t *hash, char *buffer, size_t buffer_size, size_t offset) { - bytes_to_string(buffer + offset, buffer_size - offset, hash, KECCAK256_HASH_BYTESIZE); + array_bytes_string(buffer + offset, buffer_size - offset, hash, KECCAK256_HASH_BYTESIZE); return buffer + offset; } -static bool display_review_page(uint8_t page, nbgl_pageContent_t *content) { - if (page == 0) { - pairs[0].item = "Domain hash"; - pairs[0].value = format_hash(tmpCtx.messageSigningContext712.domainHash, - strings.tmp.tmp, - sizeof(strings.tmp.tmp), - 0); - pairs[1].item = "Message hash"; - pairs[1].value = format_hash(tmpCtx.messageSigningContext712.messageHash, - strings.tmp.tmp, - sizeof(strings.tmp.tmp), - 70); - - content->type = TAG_VALUE_LIST; - content->tagValueList.nbPairs = 2; - content->tagValueList.pairs = (nbgl_layoutTagValue_t *) pairs; - } else if (page == 1) { - g_position = UI_SIGNING_POSITION_SIGN; - content->type = INFO_LONG_PRESS, content->infoLongPress.icon = get_app_icon(true); - content->infoLongPress.text = TEXT_SIGN_EIP712; - content->infoLongPress.longPressText = SIGN_BUTTON; - } else { - return false; - } - // valid page so return true - return true; -} +static void setTagValuePairs(void) { + explicit_bzero(pairs, sizeof(pairs)); + explicit_bzero(&pairsList, sizeof(pairsList)); -static void display_review(void) { - uint8_t page; + pairs[0].item = "Domain hash"; + pairs[0].value = format_hash(tmpCtx.messageSigningContext712.domainHash, + strings.tmp.tmp, + sizeof(strings.tmp.tmp), + 0); + pairs[1].item = "Message hash"; + pairs[1].value = format_hash(tmpCtx.messageSigningContext712.messageHash, + strings.tmp.tmp, + sizeof(strings.tmp.tmp), + 70); - switch (g_position) { - case UI_SIGNING_POSITION_REVIEW: - page = 0; - break; - case UI_SIGNING_POSITION_SIGN: - page = 1; - break; - default: - return; // should not happen - } - nbgl_useCaseRegularReview(page, - 2, - REJECT_BUTTON, - NULL, - display_review_page, - ui_message_review_choice); + pairsList.nbPairs = 2; + pairsList.pairs = pairs; + pairsList.smallCaseForValue = false; + pairsList.nbMaxLinesForValue = NB_MAX_LINES_IN_REVIEW; + pairsList.wrapping = false; } -static void start_review(void) { - g_position = UI_SIGNING_POSITION_REVIEW; - display_review(); +static void more_data_cb(bool confirm) { + if (confirm) { + if (g_position != UI_SIGNING_POSITION_SIGN) { + setTagValuePairs(); + nbgl_useCaseReviewStreamingContinue(&pairsList, more_data_cb); + // Switch to signature + g_position = UI_SIGNING_POSITION_SIGN; + } else { + // the last page must contain a long press button + nbgl_useCaseReviewStreamingFinish(TEXT_SIGN_EIP712, messageReviewChoice_cb); + } + } else { + ui_message_712_rejected(); + } } void ui_sign_712_v0(void) { g_position = UI_SIGNING_POSITION_START; - ui_message_start(TEXT_REVIEW_EIP712, - &start_review, - &ui_message_712_approved, - &ui_message_712_rejected); + nbgl_useCaseReviewStreamingStart(TYPE_MESSAGE, + &C_Review_64px, + TEXT_REVIEW_EIP712, + NULL, + more_data_cb); } diff --git a/src_nbgl/ui_sign_message.c b/src_nbgl/ui_sign_message.c index a85d98b90..954b0c2f0 100644 --- a/src_nbgl/ui_sign_message.c +++ b/src_nbgl/ui_sign_message.c @@ -22,7 +22,7 @@ static e_ui_191_action g_action; static bool skip_message; -static nbgl_layoutTagValue_t pair; +static nbgl_contentTagValue_t pair; static uint32_t eip191MessageIdx = 0; static uint32_t stringsTmpTmpIdx = 0; @@ -43,7 +43,7 @@ static bool display_message(nbgl_pageContent_t *content) { strncpy(g_stax_shared_buffer + eip191MessageIdx, strings.tmp.tmp + stringsTmpTmpIdx, SHARED_BUFFER_SIZE - eip191MessageIdx); - reached = nbgl_getTextMaxLenInNbLines(BAGL_FONT_INTER_MEDIUM_32px, + reached = nbgl_getTextMaxLenInNbLines(LARGE_MEDIUM_FONT, (char *) g_stax_shared_buffer, SCREEN_WIDTH - (2 * BORDER_MARGIN), NB_MAX_LINES_IN_REVIEW, @@ -91,7 +91,7 @@ static bool display_sign(nbgl_pageContent_t *content) { bool ret = false; if (g_position != UI_SIGNING_POSITION_SIGN) { - content->type = INFO_LONG_PRESS, content->infoLongPress.icon = &C_Message_64px; + content->type = INFO_LONG_PRESS, content->infoLongPress.icon = &C_Review_64px; content->infoLongPress.text = TEXT_SIGN_EIP191; content->infoLongPress.longPressText = SIGN_BUTTON; g_position = UI_SIGNING_POSITION_SIGN; diff --git a/src_nbgl/ui_warning_contract_data.c b/src_nbgl/ui_warning_contract_data.c index 2619dce4e..6a0e317f7 100644 --- a/src_nbgl/ui_warning_contract_data.c +++ b/src_nbgl/ui_warning_contract_data.c @@ -12,7 +12,7 @@ static void ui_warning_contract_data_choice(bool confirm) { } void ui_warning_contract_data(void) { - nbgl_useCaseChoice(&C_warning64px, + nbgl_useCaseChoice(&C_Warning_64px, "This message cannot\nbe clear-signed", "Enable blind-signing in\nthe settings to sign\nthis transaction.", "Exit", diff --git a/tests/ragger/setup.cfg b/tests/ragger/setup.cfg index c79fd882c..d7f3b7be6 100644 --- a/tests/ragger/setup.cfg +++ b/tests/ragger/setup.cfg @@ -7,11 +7,16 @@ disable = C0114, # missing-module-docstring C0116, # missing-function-docstring C0103, # invalid-name R0801, # duplicate-code - R0913 # too-many-arguments + R0903, # too-few-public-methods + R0913, # too-many-arguments + R0914, # too-many-locals + W0603, # global-statement + E0401 # import-error extension-pkg-whitelist=hid +max-line-length = 130 [pycodestyle] -max-line-length = 90 +max-line-length = 130 [mypy-hid.*] ignore_missing_imports = True diff --git a/tests/ragger/snapshots/flex/blind-signed_approval/00000.png b/tests/ragger/snapshots/flex/blind-signed_approval/00000.png new file mode 100644 index 000000000..2f1680805 Binary files /dev/null and b/tests/ragger/snapshots/flex/blind-signed_approval/00000.png differ diff --git a/tests/ragger/snapshots/flex/blind-signed_approval/00001.png b/tests/ragger/snapshots/flex/blind-signed_approval/00001.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/blind-signed_approval/00001.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_non_mainnet/00000.png b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00000.png new file mode 100644 index 000000000..fa7302c80 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00000.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_non_mainnet/00001.png b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00001.png new file mode 100644 index 000000000..12fa12622 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00001.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_non_mainnet/00002.png b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00002.png new file mode 100644 index 000000000..3f81887f4 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00002.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_non_mainnet/00003.png b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00003.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_non_mainnet/00004.png b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_non_mainnet/00004.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_unknown_chain/00000.png b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00000.png new file mode 100644 index 000000000..05caee2ed Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00000.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_unknown_chain/00001.png b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00001.png new file mode 100644 index 000000000..abd370a77 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00001.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_unknown_chain/00002.png b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00002.png new file mode 100644 index 000000000..892d37d47 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00002.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_unknown_chain/00003.png b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00003.png new file mode 100644 index 000000000..026ac7aeb Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00003.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_unknown_chain/00004.png b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00004.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_unknown_chain/00005.png b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_unknown_chain/00005.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_False/00000.png b/tests/ragger/snapshots/flex/domain_name_verbose_False/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_False/00000.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_False/00001.png b/tests/ragger/snapshots/flex/domain_name_verbose_False/00001.png new file mode 100644 index 000000000..65cb93509 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_False/00001.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_False/00002.png b/tests/ragger/snapshots/flex/domain_name_verbose_False/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_False/00002.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_False/00003.png b/tests/ragger/snapshots/flex/domain_name_verbose_False/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_False/00003.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_False/00004.png b/tests/ragger/snapshots/flex/domain_name_verbose_False/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_False/00004.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_True/00000.png b/tests/ragger/snapshots/flex/domain_name_verbose_True/00000.png new file mode 100644 index 000000000..584afafce Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_True/00000.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_True/00001.png b/tests/ragger/snapshots/flex/domain_name_verbose_True/00001.png new file mode 100644 index 000000000..14f630647 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_True/00001.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_True/00002.png b/tests/ragger/snapshots/flex/domain_name_verbose_True/00002.png new file mode 100644 index 000000000..f94b26f89 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_True/00002.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_True/00003.png b/tests/ragger/snapshots/flex/domain_name_verbose_True/00003.png new file mode 100644 index 000000000..342aa2389 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_True/00003.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_True/00004.png b/tests/ragger/snapshots/flex/domain_name_verbose_True/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_True/00004.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_verbose_True/00005.png b/tests/ragger/snapshots/flex/domain_name_verbose_True/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_verbose_True/00005.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_wrong_addr/00000.png b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00000.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_wrong_addr/00001.png b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00001.png new file mode 100644 index 000000000..d0dc5f26e Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00001.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_wrong_addr/00002.png b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00002.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_wrong_addr/00003.png b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00003.png differ diff --git a/tests/ragger/snapshots/flex/domain_name_wrong_addr/00004.png b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/domain_name_wrong_addr/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00000.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00000.png new file mode 100644 index 000000000..fad84d96a Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00001.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00001.png new file mode 100644 index 000000000..f8951fe9c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00002.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00002.png new file mode 100644 index 000000000..fe2f8cda6 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00003.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00003.png new file mode 100644 index 000000000..6caf6e304 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00004.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00005.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00000.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00000.png new file mode 100644 index 000000000..e731aa273 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00001.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00001.png new file mode 100644 index 000000000..ab5027624 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00002.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00002.png new file mode 100644 index 000000000..fdedc0698 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00003.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00003.png new file mode 100644 index 000000000..c1b10c688 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00004.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00004.png new file mode 100644 index 000000000..c14801360 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00005.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00006.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00000.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00000.png new file mode 100644 index 000000000..f874b6b93 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00001.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00001.png new file mode 100644 index 000000000..ab5027624 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00002.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00002.png new file mode 100644 index 000000000..1175fc5f6 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00003.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00003.png new file mode 100644 index 000000000..19c095ef1 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00004.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00004.png new file mode 100644 index 000000000..67c36af73 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00005.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00006.png b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeBatchTransferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00000.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00000.png new file mode 100644 index 000000000..b6ff371be Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00001.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00001.png new file mode 100644 index 000000000..9b1ed3947 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00002.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00002.png new file mode 100644 index 000000000..626f61dfc Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00003.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00003.png new file mode 100644 index 000000000..19c095ef1 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00004.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00004.png new file mode 100644 index 000000000..f4fbb6e6c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00005.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00005.png new file mode 100644 index 000000000..08bca2231 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00006.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00006.png new file mode 100644 index 000000000..6bbdf2ff3 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00007.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00007.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1-rejected/00007.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00000.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00000.png new file mode 100644 index 000000000..b6ff371be Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00001.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00001.png new file mode 100644 index 000000000..9b1ed3947 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00002.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00002.png new file mode 100644 index 000000000..626f61dfc Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00003.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00003.png new file mode 100644 index 000000000..19c095ef1 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00004.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00004.png new file mode 100644 index 000000000..f4fbb6e6c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00005.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00006.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_1/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00000.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00000.png new file mode 100644 index 000000000..5efebd7f9 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00001.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00001.png new file mode 100644 index 000000000..ab5027624 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00002.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00002.png new file mode 100644 index 000000000..9621da5af Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00003.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00003.png new file mode 100644 index 000000000..75893c526 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00004.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00004.png new file mode 100644 index 000000000..fcbeafabc Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00005.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00006.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00000.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00000.png new file mode 100644 index 000000000..f9a8acc48 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00001.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00001.png new file mode 100644 index 000000000..ab5027624 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00002.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00002.png new file mode 100644 index 000000000..4c598e730 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00003.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00003.png new file mode 100644 index 000000000..c4ccec35b Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00004.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00004.png new file mode 100644 index 000000000..ab1c0d2da Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00005.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00006.png b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_safeTransferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00000.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00000.png new file mode 100644 index 000000000..11d8d6aac Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00001.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00001.png new file mode 100644 index 000000000..6eec50728 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00002.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00002.png new file mode 100644 index 000000000..acb2f4426 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00003.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00003.png new file mode 100644 index 000000000..54e01b76c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00005.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_1/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00000.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00000.png new file mode 100644 index 000000000..117365668 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00001.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00001.png new file mode 100644 index 000000000..fa0268798 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00002.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00002.png new file mode 100644 index 000000000..7d1688a9c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00003.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00003.png new file mode 100644 index 000000000..255579618 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00005.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00000.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00000.png new file mode 100644 index 000000000..e35bfe77f Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00001.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00001.png new file mode 100644 index 000000000..fa0268798 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00002.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00002.png new file mode 100644 index 000000000..9aabcd0cc Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00003.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00003.png new file mode 100644 index 000000000..7f4e3c981 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00005.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_1/00000.png b/tests/ragger/snapshots/flex/erc721_approve_1/00000.png new file mode 100644 index 000000000..11d8d6aac Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_1/00001.png b/tests/ragger/snapshots/flex/erc721_approve_1/00001.png new file mode 100644 index 000000000..fe36aaca2 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_1/00002.png b/tests/ragger/snapshots/flex/erc721_approve_1/00002.png new file mode 100644 index 000000000..ab242bd17 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_1/00003.png b/tests/ragger/snapshots/flex/erc721_approve_1/00003.png new file mode 100644 index 000000000..54e01b76c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_1/00004.png b/tests/ragger/snapshots/flex/erc721_approve_1/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_1/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_1/00005.png b/tests/ragger/snapshots/flex/erc721_approve_1/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_1/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_137/00000.png b/tests/ragger/snapshots/flex/erc721_approve_137/00000.png new file mode 100644 index 000000000..72c37d60f Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_137/00001.png b/tests/ragger/snapshots/flex/erc721_approve_137/00001.png new file mode 100644 index 000000000..cb9c8dfab Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_137/00002.png b/tests/ragger/snapshots/flex/erc721_approve_137/00002.png new file mode 100644 index 000000000..4cfd36bd7 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_137/00003.png b/tests/ragger/snapshots/flex/erc721_approve_137/00003.png new file mode 100644 index 000000000..c1b10c688 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_137/00004.png b/tests/ragger/snapshots/flex/erc721_approve_137/00004.png new file mode 100644 index 000000000..a9e886830 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_137/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_137/00005.png b/tests/ragger/snapshots/flex/erc721_approve_137/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_137/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_137/00006.png b/tests/ragger/snapshots/flex/erc721_approve_137/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_137/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_5/00000.png b/tests/ragger/snapshots/flex/erc721_approve_5/00000.png new file mode 100644 index 000000000..b3a72855f Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_5/00001.png b/tests/ragger/snapshots/flex/erc721_approve_5/00001.png new file mode 100644 index 000000000..be56badcf Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_5/00002.png b/tests/ragger/snapshots/flex/erc721_approve_5/00002.png new file mode 100644 index 000000000..92cf74df6 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_5/00003.png b/tests/ragger/snapshots/flex/erc721_approve_5/00003.png new file mode 100644 index 000000000..19c095ef1 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_5/00004.png b/tests/ragger/snapshots/flex/erc721_approve_5/00004.png new file mode 100644 index 000000000..3ff8a9bbf Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_5/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_5/00005.png b/tests/ragger/snapshots/flex/erc721_approve_5/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_5/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_approve_5/00006.png b/tests/ragger/snapshots/flex/erc721_approve_5/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_approve_5/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00000.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00000.png new file mode 100644 index 000000000..b2c011e04 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00001.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00001.png new file mode 100644 index 000000000..c823c9412 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00002.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00002.png new file mode 100644 index 000000000..ab242bd17 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00003.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00003.png new file mode 100644 index 000000000..aa73c27b9 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00004.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00004.png new file mode 100644 index 000000000..08bca2231 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00005.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00005.png new file mode 100644 index 000000000..6bbdf2ff3 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00006.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00000.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00000.png new file mode 100644 index 000000000..b2c011e04 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00001.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00001.png new file mode 100644 index 000000000..c823c9412 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00002.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00002.png new file mode 100644 index 000000000..ab242bd17 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00003.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00003.png new file mode 100644 index 000000000..aa73c27b9 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00004.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00005.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00000.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00000.png new file mode 100644 index 000000000..5efebd7f9 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00001.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00001.png new file mode 100644 index 000000000..4e1504e3c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00002.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00002.png new file mode 100644 index 000000000..4cfd36bd7 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00003.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00003.png new file mode 100644 index 000000000..c1b10c688 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00004.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00004.png new file mode 100644 index 000000000..fcbeafabc Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00005.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00006.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00000.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00000.png new file mode 100644 index 000000000..f9a8acc48 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00001.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00001.png new file mode 100644 index 000000000..6935e94ac Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00002.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00002.png new file mode 100644 index 000000000..92cf74df6 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00003.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00003.png new file mode 100644 index 000000000..19c095ef1 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00004.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00004.png new file mode 100644 index 000000000..ab1c0d2da Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00005.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00006.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00000.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00000.png new file mode 100644 index 000000000..11d8d6aac Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00001.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00001.png new file mode 100644 index 000000000..4e6ffebce Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00002.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00002.png new file mode 100644 index 000000000..1d7f085ac Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00003.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00003.png new file mode 100644 index 000000000..54e01b76c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00005.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_1/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00000.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00000.png new file mode 100644 index 000000000..117365668 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00001.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00001.png new file mode 100644 index 000000000..3afc3948f Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00002.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00002.png new file mode 100644 index 000000000..6f3b87724 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00003.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00003.png new file mode 100644 index 000000000..255579618 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00005.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00000.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00000.png new file mode 100644 index 000000000..e35bfe77f Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00001.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00001.png new file mode 100644 index 000000000..b2768cf28 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00002.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00002.png new file mode 100644 index 000000000..13d2ed11a Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00003.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00003.png new file mode 100644 index 000000000..7f4e3c981 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00005.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_1/00000.png b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00000.png new file mode 100644 index 000000000..b2c011e04 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_1/00001.png b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00001.png new file mode 100644 index 000000000..c823c9412 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_1/00002.png b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00002.png new file mode 100644 index 000000000..ab242bd17 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_1/00003.png b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00003.png new file mode 100644 index 000000000..aa73c27b9 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_1/00004.png b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_1/00005.png b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_137/00000.png b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00000.png new file mode 100644 index 000000000..5efebd7f9 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_137/00001.png b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00001.png new file mode 100644 index 000000000..4e1504e3c Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_137/00002.png b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00002.png new file mode 100644 index 000000000..4cfd36bd7 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_137/00003.png b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00003.png new file mode 100644 index 000000000..c1b10c688 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_137/00004.png b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00004.png new file mode 100644 index 000000000..fcbeafabc Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_137/00005.png b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_137/00006.png b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_5/00000.png b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00000.png new file mode 100644 index 000000000..f9a8acc48 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_5/00001.png b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00001.png new file mode 100644 index 000000000..6935e94ac Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_5/00002.png b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00002.png new file mode 100644 index 000000000..92cf74df6 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_5/00003.png b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00003.png new file mode 100644 index 000000000..19c095ef1 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_5/00004.png b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00004.png new file mode 100644 index 000000000..ab1c0d2da Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_5/00005.png b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00005.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_5/00006.png b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00006.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/erc721_transferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_1/00000.png b/tests/ragger/snapshots/flex/get_pk_1/00000.png new file mode 100644 index 000000000..0650ae361 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_1/00001.png b/tests/ragger/snapshots/flex/get_pk_1/00001.png new file mode 100644 index 000000000..4f06089f4 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_1/00002.png b/tests/ragger/snapshots/flex/get_pk_1/00002.png new file mode 100644 index 000000000..4321e6018 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_1/00003.png b/tests/ragger/snapshots/flex/get_pk_1/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_1/00003.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_137/00000.png b/tests/ragger/snapshots/flex/get_pk_137/00000.png new file mode 100644 index 000000000..5458a8402 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_137/00000.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_137/00001.png b/tests/ragger/snapshots/flex/get_pk_137/00001.png new file mode 100644 index 000000000..4f06089f4 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_137/00001.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_137/00002.png b/tests/ragger/snapshots/flex/get_pk_137/00002.png new file mode 100644 index 000000000..4321e6018 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_137/00002.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_137/00003.png b/tests/ragger/snapshots/flex/get_pk_137/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_137/00003.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_2/00000.png b/tests/ragger/snapshots/flex/get_pk_2/00000.png new file mode 100644 index 000000000..5045e6a12 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_2/00000.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_2/00001.png b/tests/ragger/snapshots/flex/get_pk_2/00001.png new file mode 100644 index 000000000..4f06089f4 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_2/00001.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_2/00002.png b/tests/ragger/snapshots/flex/get_pk_2/00002.png new file mode 100644 index 000000000..4321e6018 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_2/00002.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_2/00003.png b/tests/ragger/snapshots/flex/get_pk_2/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_2/00003.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_5/00000.png b/tests/ragger/snapshots/flex/get_pk_5/00000.png new file mode 100644 index 000000000..fe881c820 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_5/00000.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_5/00001.png b/tests/ragger/snapshots/flex/get_pk_5/00001.png new file mode 100644 index 000000000..4f06089f4 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_5/00001.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_5/00002.png b/tests/ragger/snapshots/flex/get_pk_5/00002.png new file mode 100644 index 000000000..4321e6018 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_5/00002.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_5/00003.png b/tests/ragger/snapshots/flex/get_pk_5/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_5/00003.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_None/00000.png b/tests/ragger/snapshots/flex/get_pk_None/00000.png new file mode 100644 index 000000000..0650ae361 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_None/00000.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_None/00001.png b/tests/ragger/snapshots/flex/get_pk_None/00001.png new file mode 100644 index 000000000..4f06089f4 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_None/00001.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_None/00002.png b/tests/ragger/snapshots/flex/get_pk_None/00002.png new file mode 100644 index 000000000..4321e6018 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_None/00002.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_None/00003.png b/tests/ragger/snapshots/flex/get_pk_None/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_None/00003.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_60/00000.png b/tests/ragger/snapshots/flex/get_pk_rejected_60/00000.png new file mode 100644 index 000000000..0650ae361 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_60/00000.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_60/00001.png b/tests/ragger/snapshots/flex/get_pk_rejected_60/00001.png new file mode 100644 index 000000000..4f06089f4 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_60/00001.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_60/00002.png b/tests/ragger/snapshots/flex/get_pk_rejected_60/00002.png new file mode 100644 index 000000000..45c08d4e7 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_60/00002.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_60/00003.png b/tests/ragger/snapshots/flex/get_pk_rejected_60/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_60/00003.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_700/00000.png b/tests/ragger/snapshots/flex/get_pk_rejected_700/00000.png new file mode 100644 index 000000000..0650ae361 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_700/00000.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_700/00001.png b/tests/ragger/snapshots/flex/get_pk_rejected_700/00001.png new file mode 100644 index 000000000..8b2cfa612 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_700/00001.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_700/00002.png b/tests/ragger/snapshots/flex/get_pk_rejected_700/00002.png new file mode 100644 index 000000000..45c08d4e7 Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_700/00002.png differ diff --git a/tests/ragger/snapshots/flex/get_pk_rejected_700/00003.png b/tests/ragger/snapshots/flex/get_pk_rejected_700/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/get_pk_rejected_700/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_clone_thundercore/00000.png b/tests/ragger/snapshots/flex/test_clone_thundercore/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_clone_thundercore/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_clone_thundercore/00001.png b/tests/ragger/snapshots/flex/test_clone_thundercore/00001.png new file mode 100644 index 000000000..dc4efacb9 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_clone_thundercore/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_clone_thundercore/00002.png b/tests/ragger/snapshots/flex/test_clone_thundercore/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_clone_thundercore/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_clone_thundercore/00003.png b/tests/ragger/snapshots/flex/test_clone_thundercore/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_clone_thundercore/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_clone_thundercore/00004.png b/tests/ragger/snapshots/flex/test_clone_thundercore/00004.png new file mode 100644 index 000000000..83689ecd4 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_clone_thundercore/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_get_eth2_pk/00000.png b/tests/ragger/snapshots/flex/test_get_eth2_pk/00000.png new file mode 100644 index 000000000..43aa62b22 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_get_eth2_pk/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_get_eth2_pk/00001.png b/tests/ragger/snapshots/flex/test_get_eth2_pk/00001.png new file mode 100644 index 000000000..6cafee84f Binary files /dev/null and b/tests/ragger/snapshots/flex/test_get_eth2_pk/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_get_eth2_pk/00002.png b/tests/ragger/snapshots/flex/test_get_eth2_pk/00002.png new file mode 100644 index 000000000..4321e6018 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_get_eth2_pk/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_get_eth2_pk/00003.png b/tests/ragger/snapshots/flex/test_get_eth2_pk/00003.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_get_eth2_pk/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_chainid/00000.png b/tests/ragger/snapshots/flex/test_legacy_chainid/00000.png new file mode 100644 index 000000000..05caee2ed Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_chainid/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_chainid/00001.png b/tests/ragger/snapshots/flex/test_legacy_chainid/00001.png new file mode 100644 index 000000000..de0a74a87 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_chainid/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_chainid/00002.png b/tests/ragger/snapshots/flex/test_legacy_chainid/00002.png new file mode 100644 index 000000000..faf354874 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_chainid/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_chainid/00003.png b/tests/ragger/snapshots/flex/test_legacy_chainid/00003.png new file mode 100644 index 000000000..026ac7aeb Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_chainid/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_chainid/00004.png b/tests/ragger/snapshots/flex/test_legacy_chainid/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_chainid/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_chainid/00005.png b/tests/ragger/snapshots/flex/test_legacy_chainid/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_chainid/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_send_bsc/00000.png b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00000.png new file mode 100644 index 000000000..5750844a2 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_send_bsc/00001.png b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00001.png new file mode 100644 index 000000000..d4b914468 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_send_bsc/00002.png b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00002.png new file mode 100644 index 000000000..e8c479b69 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_send_bsc/00003.png b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00003.png new file mode 100644 index 000000000..246807a8e Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_send_bsc/00004.png b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_legacy_send_bsc/00005.png b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_legacy_send_bsc/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_metamask/00000.png b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00000.png new file mode 100644 index 000000000..71f2167a0 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_metamask/00001.png b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00001.png new file mode 100644 index 000000000..4a46331dc Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_metamask/00002.png b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00002.png new file mode 100644 index 000000000..1b1120133 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_metamask/00003.png b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00003.png new file mode 100644 index 000000000..d9fe8e8f8 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_metamask/00004.png b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_metamask/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00000.png b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00000.png new file mode 100644 index 000000000..71f2167a0 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00001.png b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00001.png new file mode 100644 index 000000000..360cb2e08 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00002.png b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00002.png new file mode 100644 index 000000000..1b1120133 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00003.png b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00003.png new file mode 100644 index 000000000..d9fe8e8f8 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_non_ascii/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_opensea/00000.png b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00000.png new file mode 100644 index 000000000..71f2167a0 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_opensea/00001.png b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00001.png new file mode 100644 index 000000000..3fa69bde5 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_opensea/00002.png b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00002.png new file mode 100644 index 000000000..72c27f028 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_opensea/00003.png b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00003.png new file mode 100644 index 000000000..1b1120133 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_opensea/00004.png b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00004.png new file mode 100644 index 000000000..d9fe8e8f8 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_opensea/00005.png b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_opensea/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_reject/00000.png b/tests/ragger/snapshots/flex/test_personal_sign_reject/00000.png new file mode 100644 index 000000000..71f2167a0 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_reject/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_reject/00001.png b/tests/ragger/snapshots/flex/test_personal_sign_reject/00001.png new file mode 100644 index 000000000..98dbbf24a Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_reject/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_reject/00002.png b/tests/ragger/snapshots/flex/test_personal_sign_reject/00002.png new file mode 100644 index 000000000..1b1120133 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_reject/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_reject/00003.png b/tests/ragger/snapshots/flex/test_personal_sign_reject/00003.png new file mode 100644 index 000000000..2b40ba7b9 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_reject/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_reject/00004.png b/tests/ragger/snapshots/flex/test_personal_sign_reject/00004.png new file mode 100644 index 000000000..77540e3f0 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_reject/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_personal_sign_reject/00005.png b/tests/ragger/snapshots/flex/test_personal_sign_reject/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_personal_sign_reject/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00000.png b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00000.png new file mode 100644 index 000000000..584afafce Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00001.png b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00001.png new file mode 100644 index 000000000..c64c9693d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00002.png b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00002.png new file mode 100644 index 000000000..f94b26f89 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00003.png b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00003.png new file mode 100644 index 000000000..342aa2389 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00004.png b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00005.png b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/confirm/00000.png b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/confirm/00000.png new file mode 100644 index 000000000..00bc42d16 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_and_nonce_display/confirm/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_simple/00000.png b/tests/ragger/snapshots/flex/test_sign_blind_simple/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_simple/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_simple/00001.png b/tests/ragger/snapshots/flex/test_sign_blind_simple/00001.png new file mode 100644 index 000000000..3eb60cdab Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_simple/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_simple/00002.png b/tests/ragger/snapshots/flex/test_sign_blind_simple/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_simple/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_simple/00003.png b/tests/ragger/snapshots/flex/test_sign_blind_simple/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_simple/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_simple/00004.png b/tests/ragger/snapshots/flex/test_sign_blind_simple/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_simple/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_blind_simple/confirm/00000.png b/tests/ragger/snapshots/flex/test_sign_blind_simple/confirm/00000.png new file mode 100644 index 000000000..00bc42d16 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_blind_simple/confirm/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_eip_2930/00000.png b/tests/ragger/snapshots/flex/test_sign_eip_2930/00000.png new file mode 100644 index 000000000..f5d57ba98 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_eip_2930/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_eip_2930/00001.png b/tests/ragger/snapshots/flex/test_sign_eip_2930/00001.png new file mode 100644 index 000000000..933608268 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_eip_2930/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_eip_2930/00002.png b/tests/ragger/snapshots/flex/test_sign_eip_2930/00002.png new file mode 100644 index 000000000..cd8894ca0 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_eip_2930/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_eip_2930/00003.png b/tests/ragger/snapshots/flex/test_sign_eip_2930/00003.png new file mode 100644 index 000000000..c9fe3fd12 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_eip_2930/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_eip_2930/00004.png b/tests/ragger/snapshots/flex/test_sign_eip_2930/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_eip_2930/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_eip_2930/00005.png b/tests/ragger/snapshots/flex/test_sign_eip_2930/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_eip_2930/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_limit_nonce/00000.png b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_limit_nonce/00001.png b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00001.png new file mode 100644 index 000000000..31b586c1d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_limit_nonce/00002.png b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_limit_nonce/00003.png b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_limit_nonce/00004.png b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_limit_nonce/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_nonce_display/00000.png b/tests/ragger/snapshots/flex/test_sign_nonce_display/00000.png new file mode 100644 index 000000000..584afafce Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_nonce_display/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_nonce_display/00001.png b/tests/ragger/snapshots/flex/test_sign_nonce_display/00001.png new file mode 100644 index 000000000..6256beb4d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_nonce_display/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_nonce_display/00002.png b/tests/ragger/snapshots/flex/test_sign_nonce_display/00002.png new file mode 100644 index 000000000..f94b26f89 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_nonce_display/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_nonce_display/00003.png b/tests/ragger/snapshots/flex/test_sign_nonce_display/00003.png new file mode 100644 index 000000000..342aa2389 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_nonce_display/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_nonce_display/00004.png b/tests/ragger/snapshots/flex/test_sign_nonce_display/00004.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_nonce_display/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_nonce_display/00005.png b/tests/ragger/snapshots/flex/test_sign_nonce_display/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_nonce_display/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00000.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00000.png new file mode 100644 index 000000000..6264f4161 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00001.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00001.png new file mode 100644 index 000000000..b991ceb21 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00002.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00002.png new file mode 100644 index 000000000..2a9f6523a Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00000.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00000.png new file mode 100644 index 000000000..3b199167c Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00001.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00001.png new file mode 100644 index 000000000..d1bf336fe Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00002.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00002.png new file mode 100644 index 000000000..e91f9a01b Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00000.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00000.png new file mode 100644 index 000000000..3b199167c Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00001.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00001.png new file mode 100644 index 000000000..5cf8178e8 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00002.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00002.png new file mode 100644 index 000000000..e91f9a01b Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00000.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00001.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00001.png new file mode 100644 index 000000000..c44fc88ac Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00002.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00003.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00004.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_3/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_reject/00000.png b/tests/ragger/snapshots/flex/test_sign_reject/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_reject/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_reject/00001.png b/tests/ragger/snapshots/flex/test_sign_reject/00001.png new file mode 100644 index 000000000..3eb60cdab Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_reject/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_reject/00002.png b/tests/ragger/snapshots/flex/test_sign_reject/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_reject/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_reject/00003.png b/tests/ragger/snapshots/flex/test_sign_reject/00003.png new file mode 100644 index 000000000..08bca2231 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_reject/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_reject/00004.png b/tests/ragger/snapshots/flex/test_sign_reject/00004.png new file mode 100644 index 000000000..6bbdf2ff3 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_reject/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_reject/00005.png b/tests/ragger/snapshots/flex/test_sign_reject/00005.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_reject/00005.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_simple/00000.png b/tests/ragger/snapshots/flex/test_sign_simple/00000.png new file mode 100644 index 000000000..8019402a4 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_simple/00000.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_simple/00001.png b/tests/ragger/snapshots/flex/test_sign_simple/00001.png new file mode 100644 index 000000000..3eb60cdab Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_simple/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_simple/00002.png b/tests/ragger/snapshots/flex/test_sign_simple/00002.png new file mode 100644 index 000000000..266f6201d Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_simple/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_simple/00003.png b/tests/ragger/snapshots/flex/test_sign_simple/00003.png new file mode 100644 index 000000000..be51a9d55 Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_simple/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_simple/00004.png b/tests/ragger/snapshots/flex/test_sign_simple/00004.png new file mode 100644 index 000000000..dabe7afea Binary files /dev/null and b/tests/ragger/snapshots/flex/test_sign_simple/00004.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png index b90315cd3..041a6a842 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png index 3d90dfd93..b90315cd3 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png index f5c2d6774..3d90dfd93 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png index ce795f34e..f5c2d6774 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00004.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00004.png new file mode 100644 index 000000000..ce795f34e Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00004.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png index dc3315f7a..041a6a842 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png index 5b3e16d4a..dc3315f7a 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png index 93165d028..5b3e16d4a 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png index c923961c3..93165d028 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png index f5c2d6774..c923961c3 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png index ce795f34e..f5c2d6774 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00006.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00006.png new file mode 100644 index 000000000..ce795f34e Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00006.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png b/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png index ab16f62bf..041a6a842 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png and b/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00000.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00000.png new file mode 100644 index 000000000..1ae309e6e Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00001.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00001.png new file mode 100644 index 000000000..a86ceb03d Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00002.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00002.png new file mode 100644 index 000000000..66c411c2e Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_0/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00000.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00000.png new file mode 100644 index 000000000..daa3e966f Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00001.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00001.png new file mode 100644 index 000000000..5b0786580 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00002.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00002.png new file mode 100644 index 000000000..12d3fb1a0 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00003.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00003.png new file mode 100644 index 000000000..37063fdfa Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00003.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00004.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00004.png new file mode 100644 index 000000000..66c411c2e Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_1/00004.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00000.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00000.png new file mode 100644 index 000000000..f6e9b1ff6 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00001.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00001.png new file mode 100644 index 000000000..6f079b7ff Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00002.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00002.png new file mode 100644 index 000000000..a283d7806 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00003.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00003.png new file mode 100644 index 000000000..66c411c2e Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_2/00003.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00000.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00000.png new file mode 100644 index 000000000..8d84cc70f Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00001.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00001.png new file mode 100644 index 000000000..9f2651390 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00002.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00002.png new file mode 100644 index 000000000..346ae5ebe Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00003.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00003.png new file mode 100644 index 000000000..e845325b9 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00003.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00004.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00004.png new file mode 100644 index 000000000..b5b0f1e34 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00004.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00005.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00005.png new file mode 100644 index 000000000..cc968dc82 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00005.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00006.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00006.png new file mode 100644 index 000000000..1c9156c31 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00006.png differ diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00007.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00007.png new file mode 100644 index 000000000..ce795f34e Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/step_3/00007.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00000.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00000.png new file mode 100644 index 000000000..83f7a509e Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00001.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00001.png new file mode 100644 index 000000000..293eb07be Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00002.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00002.png new file mode 100644 index 000000000..53ae65195 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_0/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00000.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00000.png new file mode 100644 index 000000000..a3db16666 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00001.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00001.png new file mode 100644 index 000000000..953ecc759 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00002.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00002.png new file mode 100644 index 000000000..53ae65195 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_1/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00000.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00000.png new file mode 100644 index 000000000..ecb060ce3 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00001.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00001.png new file mode 100644 index 000000000..6fd3a5e61 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00002.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00002.png new file mode 100644 index 000000000..53ae65195 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_2/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00000.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00000.png new file mode 100644 index 000000000..487ea10fc Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00000.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00001.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00001.png new file mode 100644 index 000000000..cdcc19d05 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00001.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00002.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00002.png new file mode 100644 index 000000000..c07ea9622 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00002.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00003.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00003.png new file mode 100644 index 000000000..0fd18b254 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00003.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00004.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00004.png new file mode 100644 index 000000000..570ce28d5 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00004.png differ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00005.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00005.png new file mode 100644 index 000000000..657887225 Binary files /dev/null and b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/step_3/00005.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png index b0936ada5..a2e0c30b6 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png index e7ffedd90..b0936ada5 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png index 657887225..e7ffedd90 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png new file mode 100644 index 000000000..657887225 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png index c965f50bd..a2e0c30b6 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png index 234ab0661..c965f50bd 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png index e7ffedd90..234ab0661 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png index 657887225..e7ffedd90 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00004.png new file mode 100644 index 000000000..657887225 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00004.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png index e1159c546..a2e0c30b6 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png index 3f7614292..e1159c546 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png index 685ff399d..3f7614292 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png index 668a2a67a..685ff399d 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png index 1f135ae15..668a2a67a 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png index a3799d23f..1f135ae15 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png index f29ed004a..a3799d23f 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png index 8af3d9cae..f29ed004a 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png index e7ffedd90..8af3d9cae 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png index 657887225..e7ffedd90 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00010.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00010.png new file mode 100644 index 000000000..657887225 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00010.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png index 1b271542d..a2e0c30b6 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00000.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00000.png new file mode 100644 index 000000000..83f7a509e Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00001.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00001.png new file mode 100644 index 000000000..293eb07be Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00002.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00002.png new file mode 100644 index 000000000..53ae65195 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_0/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00000.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00000.png new file mode 100644 index 000000000..a3db16666 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00001.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00001.png new file mode 100644 index 000000000..953ecc759 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00002.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00002.png new file mode 100644 index 000000000..53ae65195 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_1/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00000.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00000.png new file mode 100644 index 000000000..ecb060ce3 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00001.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00001.png new file mode 100644 index 000000000..6fd3a5e61 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00002.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00002.png new file mode 100644 index 000000000..53ae65195 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_2/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00000.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00000.png new file mode 100644 index 000000000..487ea10fc Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00001.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00001.png new file mode 100644 index 000000000..cdcc19d05 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00002.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00002.png new file mode 100644 index 000000000..c07ea9622 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00003.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00003.png new file mode 100644 index 000000000..0fd18b254 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00003.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00004.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00004.png new file mode 100644 index 000000000..570ce28d5 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00004.png differ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00005.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00005.png new file mode 100644 index 000000000..657887225 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/step_3/00005.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00000.png b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00000.png index 0108042c1..115c3686f 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00000.png and b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00000.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00001.png b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00001.png index 9c677e29b..a20a36b26 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00001.png and b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00001.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00002.png b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00002.png index 5bc6ddc96..d87ae6187 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00002.png and b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00002.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00003.png b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00003.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00003.png and b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00003.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00004.png b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00004.png index 7a05bf7b3..b1ff1b3ab 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_non_mainnet/00004.png and b/tests/ragger/snapshots/stax/domain_name_non_mainnet/00004.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00000.png b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00000.png index 74fa840cc..a39bb82ff 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00000.png and b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00000.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00001.png b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00001.png index 5962c92ea..690fecc5e 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00001.png and b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00001.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00002.png b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00002.png index 285801cfe..8bf548caa 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00002.png and b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00002.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00003.png b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00003.png index aed7d3335..c8918a98e 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00003.png and b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00003.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00004.png b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00004.png and b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00004.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_unknown_chain/00005.png b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/domain_name_unknown_chain/00005.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_False/00000.png b/tests/ragger/snapshots/stax/domain_name_verbose_False/00000.png index f992e718a..f1b35e477 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_False/00000.png and b/tests/ragger/snapshots/stax/domain_name_verbose_False/00000.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_False/00001.png b/tests/ragger/snapshots/stax/domain_name_verbose_False/00001.png index b12e252d4..d5ab1544d 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_False/00001.png and b/tests/ragger/snapshots/stax/domain_name_verbose_False/00001.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_False/00002.png b/tests/ragger/snapshots/stax/domain_name_verbose_False/00002.png index bc1ca9382..687a019ce 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_False/00002.png and b/tests/ragger/snapshots/stax/domain_name_verbose_False/00002.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_False/00003.png b/tests/ragger/snapshots/stax/domain_name_verbose_False/00003.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_False/00003.png and b/tests/ragger/snapshots/stax/domain_name_verbose_False/00003.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_False/00004.png b/tests/ragger/snapshots/stax/domain_name_verbose_False/00004.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/domain_name_verbose_False/00004.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_True/00000.png b/tests/ragger/snapshots/stax/domain_name_verbose_True/00000.png index f992e718a..b22161fe1 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_True/00000.png and b/tests/ragger/snapshots/stax/domain_name_verbose_True/00000.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_True/00001.png b/tests/ragger/snapshots/stax/domain_name_verbose_True/00001.png index 03184921c..de9fd7f52 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_True/00001.png and b/tests/ragger/snapshots/stax/domain_name_verbose_True/00001.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_True/00002.png b/tests/ragger/snapshots/stax/domain_name_verbose_True/00002.png index d4429dd58..637827a11 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_True/00002.png and b/tests/ragger/snapshots/stax/domain_name_verbose_True/00002.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_True/00003.png b/tests/ragger/snapshots/stax/domain_name_verbose_True/00003.png index 687a019ce..c19f5135d 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_True/00003.png and b/tests/ragger/snapshots/stax/domain_name_verbose_True/00003.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_True/00004.png b/tests/ragger/snapshots/stax/domain_name_verbose_True/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_verbose_True/00004.png and b/tests/ragger/snapshots/stax/domain_name_verbose_True/00004.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_verbose_True/00005.png b/tests/ragger/snapshots/stax/domain_name_verbose_True/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/domain_name_verbose_True/00005.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00000.png b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00000.png index f992e718a..f1b35e477 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00000.png and b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00000.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00001.png b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00001.png index 4fdbc6255..8b4da43ca 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00001.png and b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00001.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00002.png b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00002.png index bc1ca9382..687a019ce 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00002.png and b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00002.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00003.png b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00003.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00003.png and b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00003.png differ diff --git a/tests/ragger/snapshots/stax/domain_name_wrong_addr/00004.png b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00004.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/domain_name_wrong_addr/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00000.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00000.png index a052cf5b7..9c2c87596 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00000.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00001.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00001.png index fff290d24..222e30039 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00001.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00002.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00002.png index 8a12928a1..15628d142 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00002.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00003.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00003.png index 3add68c8a..c2497ee06 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00003.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00004.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00004.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00005.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00000.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00000.png index 793dc7ce8..aa5486db2 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00000.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00001.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00001.png index ac999f455..4dd300cf9 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00001.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00002.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00002.png index ebba918e0..bfbf1090d 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00002.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00003.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00003.png index 97b18b86b..013d892f0 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00003.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00004.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00004.png index f1745c661..0460b4a97 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00004.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00005.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00005.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00006.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00000.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00000.png index 2f11ba6e6..36f72be6c 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00000.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00001.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00001.png index ac999f455..4dd300cf9 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00001.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00002.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00002.png index 013c76cfb..4493c03ce 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00002.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00003.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00003.png index 637827a11..079d916ef 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00003.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00004.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00004.png index 1ebf85c49..73b696938 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00004.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00005.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00005.png and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00006.png b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_safeBatchTransferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00000.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00000.png index 4db1d2e9f..b59ebfa38 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00000.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00001.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00001.png index 8e0349ca1..be471333a 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00001.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00002.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00002.png index eb3fbaffe..67388ea42 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00002.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00003.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00003.png index 637827a11..079d916ef 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00003.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00004.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00004.png index 2e4e974b4..56bea13ae 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00004.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00005.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00005.png index 9d261148b..babad9890 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00005.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00007.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00007.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1-rejected/00007.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00000.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00000.png index 4db1d2e9f..b59ebfa38 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00000.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00001.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00001.png index 8e0349ca1..be471333a 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00001.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00002.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00002.png index eb3fbaffe..67388ea42 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00002.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00003.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00003.png index 637827a11..079d916ef 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00003.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00004.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00004.png index 2e4e974b4..56bea13ae 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00004.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00005.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00005.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00006.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_1/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00000.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00000.png index 84aef9b75..70e15c583 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00000.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00001.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00001.png index ac999f455..4dd300cf9 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00001.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00002.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00002.png index c735e5bdf..aca2b296d 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00002.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00003.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00003.png index 31f149012..7094b8bbd 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00003.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00004.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00004.png index 82b2b6782..cf3c47c24 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00004.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00005.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00005.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00006.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00000.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00000.png index b4c13a184..14d6f224d 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00000.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00001.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00001.png index ac999f455..4dd300cf9 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00001.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00002.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00002.png index f8ef32816..b3735685f 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00002.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00003.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00003.png index 902eabaf0..5f4abe87e 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00003.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00004.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00004.png index 61c857633..deb19bf5f 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00004.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00005.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00005.png and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00006.png b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_safeTransferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00000.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00000.png index 3507984ef..a760f9d81 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00000.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00001.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00001.png index d77ef275e..d26b8b577 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00001.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00002.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00002.png index 079bac224..39ea40ff8 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00002.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00003.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00003.png index 4ea90064d..2f6a57433 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00003.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00004.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00005.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_1/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00000.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00000.png index ea3b0441c..02c71a880 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00000.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00001.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00001.png index 783fdcab3..fab7beb13 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00001.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00002.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00002.png index 2889b8092..6bf8e30ec 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00002.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00003.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00003.png index 5aa28c72c..683484136 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00003.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00004.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00005.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_137/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00000.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00000.png index 7a48edd5e..8b5830162 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00000.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00001.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00001.png index 783fdcab3..fab7beb13 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00001.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00002.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00002.png index 50a0880d9..164914dfd 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00002.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00003.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00003.png index c51949c59..7a02616f5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00003.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00004.png and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00005.png b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc1155_setApprovalForAll_5/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_1/00000.png b/tests/ragger/snapshots/stax/erc721_approve_1/00000.png index 3507984ef..a760f9d81 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_1/00000.png and b/tests/ragger/snapshots/stax/erc721_approve_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_1/00001.png b/tests/ragger/snapshots/stax/erc721_approve_1/00001.png index a479dee56..6ceff71cf 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_1/00001.png and b/tests/ragger/snapshots/stax/erc721_approve_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_1/00002.png b/tests/ragger/snapshots/stax/erc721_approve_1/00002.png index ec7ce097e..326765cca 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_1/00002.png and b/tests/ragger/snapshots/stax/erc721_approve_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_1/00003.png b/tests/ragger/snapshots/stax/erc721_approve_1/00003.png index 4ea90064d..2f6a57433 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_1/00003.png and b/tests/ragger/snapshots/stax/erc721_approve_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_1/00004.png b/tests/ragger/snapshots/stax/erc721_approve_1/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_1/00004.png and b/tests/ragger/snapshots/stax/erc721_approve_1/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_1/00005.png b/tests/ragger/snapshots/stax/erc721_approve_1/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_approve_1/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_137/00000.png b/tests/ragger/snapshots/stax/erc721_approve_137/00000.png index ea3b0441c..edf970eec 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_137/00000.png and b/tests/ragger/snapshots/stax/erc721_approve_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_137/00001.png b/tests/ragger/snapshots/stax/erc721_approve_137/00001.png index 8a1c95371..cb4fb8e71 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_137/00001.png and b/tests/ragger/snapshots/stax/erc721_approve_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_137/00002.png b/tests/ragger/snapshots/stax/erc721_approve_137/00002.png index 4e99e6786..312a8b85c 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_137/00002.png and b/tests/ragger/snapshots/stax/erc721_approve_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_137/00003.png b/tests/ragger/snapshots/stax/erc721_approve_137/00003.png index 97b18b86b..013d892f0 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_137/00003.png and b/tests/ragger/snapshots/stax/erc721_approve_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_137/00004.png b/tests/ragger/snapshots/stax/erc721_approve_137/00004.png index 1fc04a35a..8dffb3779 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_137/00004.png and b/tests/ragger/snapshots/stax/erc721_approve_137/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_137/00005.png b/tests/ragger/snapshots/stax/erc721_approve_137/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_137/00005.png and b/tests/ragger/snapshots/stax/erc721_approve_137/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_137/00006.png b/tests/ragger/snapshots/stax/erc721_approve_137/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_approve_137/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_5/00000.png b/tests/ragger/snapshots/stax/erc721_approve_5/00000.png index 7a48edd5e..bbb6130d8 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_5/00000.png and b/tests/ragger/snapshots/stax/erc721_approve_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_5/00001.png b/tests/ragger/snapshots/stax/erc721_approve_5/00001.png index 675b1ae48..ad4aaa33b 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_5/00001.png and b/tests/ragger/snapshots/stax/erc721_approve_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_5/00002.png b/tests/ragger/snapshots/stax/erc721_approve_5/00002.png index 186b27cd4..a44ea9847 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_5/00002.png and b/tests/ragger/snapshots/stax/erc721_approve_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_5/00003.png b/tests/ragger/snapshots/stax/erc721_approve_5/00003.png index 637827a11..079d916ef 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_5/00003.png and b/tests/ragger/snapshots/stax/erc721_approve_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_5/00004.png b/tests/ragger/snapshots/stax/erc721_approve_5/00004.png index 107ce91bf..69e740dfd 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_5/00004.png and b/tests/ragger/snapshots/stax/erc721_approve_5/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_5/00005.png b/tests/ragger/snapshots/stax/erc721_approve_5/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_approve_5/00005.png and b/tests/ragger/snapshots/stax/erc721_approve_5/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_approve_5/00006.png b/tests/ragger/snapshots/stax/erc721_approve_5/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_approve_5/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00000.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00000.png index 4db1d2e9f..920729b5e 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00000.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00001.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00001.png index 9488ed1c8..16fb73830 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00001.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00002.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00002.png index ec7ce097e..326765cca 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00002.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00003.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00003.png index b73cefa5e..17f3b48a2 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00003.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00004.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00004.png index 9d261148b..babad9890 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00004.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00006.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1-rejected/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00000.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00000.png index 4db1d2e9f..920729b5e 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00000.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00001.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00001.png index 9488ed1c8..16fb73830 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00001.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00002.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00002.png index ec7ce097e..326765cca 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00002.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00003.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00003.png index b73cefa5e..17f3b48a2 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00003.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00004.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00004.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00005.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00000.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00000.png index 84aef9b75..70e15c583 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00000.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00001.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00001.png index 4d9ac34bd..fb0f7bbc3 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00001.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00002.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00002.png index 4e99e6786..312a8b85c 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00002.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00003.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00003.png index 97b18b86b..013d892f0 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00003.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00004.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00004.png index 82b2b6782..cf3c47c24 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00004.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00005.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00005.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00006.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00000.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00000.png index b4c13a184..14d6f224d 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00000.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00001.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00001.png index 759bdc47b..c7063c443 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00001.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00002.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00002.png index 186b27cd4..a44ea9847 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00002.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00003.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00003.png index 637827a11..079d916ef 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00003.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00004.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00004.png index 61c857633..deb19bf5f 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00004.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00005.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00005.png and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00006.png b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_safeTransferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00000.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00000.png index 3507984ef..a760f9d81 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00000.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00001.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00001.png index d64e222d5..1c7c4bb6d 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00001.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00002.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00002.png index 7de0c0e9b..52901c710 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00002.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00003.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00003.png index 4ea90064d..2f6a57433 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00003.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00004.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00005.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_1/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00000.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00000.png index ea3b0441c..02c71a880 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00000.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00001.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00001.png index 36791d885..125f695a0 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00001.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00002.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00002.png index 7479cde7d..7d7f7e18b 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00002.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00003.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00003.png index 5aa28c72c..683484136 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00003.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00004.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00005.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_137/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00000.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00000.png index 7a48edd5e..8b5830162 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00000.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00001.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00001.png index 49d18f1b7..ac60009d1 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00001.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00002.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00002.png index acad067d0..8d8ae2e26 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00002.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00003.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00003.png index c51949c59..7a02616f5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00003.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00004.png and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00005.png b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_setApprovalForAll_5/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00000.png b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00000.png index 4db1d2e9f..920729b5e 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00000.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00001.png b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00001.png index 9488ed1c8..16fb73830 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00001.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00002.png b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00002.png index ec7ce097e..326765cca 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00002.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00003.png b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00003.png index b73cefa5e..17f3b48a2 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00003.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00004.png b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00004.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_1/00005.png b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_transferFrom_1/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00000.png b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00000.png index 84aef9b75..70e15c583 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00000.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00001.png b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00001.png index 4d9ac34bd..fb0f7bbc3 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00001.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00002.png b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00002.png index 4e99e6786..312a8b85c 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00002.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00003.png b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00003.png index 97b18b86b..013d892f0 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00003.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00004.png b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00004.png index 82b2b6782..cf3c47c24 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00004.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00005.png b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00005.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_137/00006.png b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_transferFrom_137/00006.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00000.png b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00000.png index b4c13a184..14d6f224d 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00000.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00001.png b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00001.png index 759bdc47b..c7063c443 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00001.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00002.png b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00002.png index 186b27cd4..a44ea9847 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00002.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00003.png b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00003.png index 637827a11..079d916ef 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00003.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00003.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00004.png b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00004.png index 61c857633..deb19bf5f 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00004.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00004.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00005.png b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00005.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00005.png and b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00005.png differ diff --git a/tests/ragger/snapshots/stax/erc721_transferFrom_5/00006.png b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00006.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/erc721_transferFrom_5/00006.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_1/00000.png b/tests/ragger/snapshots/stax/get_pk_1/00000.png index 759339003..0c6d19cae 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_1/00000.png and b/tests/ragger/snapshots/stax/get_pk_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_1/00001.png b/tests/ragger/snapshots/stax/get_pk_1/00001.png index 16af88b19..a52cf1e81 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_1/00001.png and b/tests/ragger/snapshots/stax/get_pk_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_1/00002.png b/tests/ragger/snapshots/stax/get_pk_1/00002.png index 13499fcc9..3f906b2b7 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_1/00002.png and b/tests/ragger/snapshots/stax/get_pk_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_1/00003.png b/tests/ragger/snapshots/stax/get_pk_1/00003.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_1/00003.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_137/00000.png b/tests/ragger/snapshots/stax/get_pk_137/00000.png index 9e93052a4..fe25cec88 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_137/00000.png and b/tests/ragger/snapshots/stax/get_pk_137/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_137/00001.png b/tests/ragger/snapshots/stax/get_pk_137/00001.png index 16af88b19..a52cf1e81 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_137/00001.png and b/tests/ragger/snapshots/stax/get_pk_137/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_137/00002.png b/tests/ragger/snapshots/stax/get_pk_137/00002.png index 13499fcc9..3f906b2b7 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_137/00002.png and b/tests/ragger/snapshots/stax/get_pk_137/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_2/00000.png b/tests/ragger/snapshots/stax/get_pk_2/00000.png index 123dc8cc1..eb0764c5d 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_2/00000.png and b/tests/ragger/snapshots/stax/get_pk_2/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_2/00001.png b/tests/ragger/snapshots/stax/get_pk_2/00001.png index 16af88b19..a52cf1e81 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_2/00001.png and b/tests/ragger/snapshots/stax/get_pk_2/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_2/00002.png b/tests/ragger/snapshots/stax/get_pk_2/00002.png index 13499fcc9..3f906b2b7 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_2/00002.png and b/tests/ragger/snapshots/stax/get_pk_2/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_5/00000.png b/tests/ragger/snapshots/stax/get_pk_5/00000.png index 2400ed1a1..686a173a2 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_5/00000.png and b/tests/ragger/snapshots/stax/get_pk_5/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_5/00001.png b/tests/ragger/snapshots/stax/get_pk_5/00001.png index 16af88b19..a52cf1e81 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_5/00001.png and b/tests/ragger/snapshots/stax/get_pk_5/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_5/00002.png b/tests/ragger/snapshots/stax/get_pk_5/00002.png index 13499fcc9..3f906b2b7 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_5/00002.png and b/tests/ragger/snapshots/stax/get_pk_5/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_None/00000.png b/tests/ragger/snapshots/stax/get_pk_None/00000.png index 759339003..0c6d19cae 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_None/00000.png and b/tests/ragger/snapshots/stax/get_pk_None/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_None/00001.png b/tests/ragger/snapshots/stax/get_pk_None/00001.png index 16af88b19..a52cf1e81 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_None/00001.png and b/tests/ragger/snapshots/stax/get_pk_None/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_None/00002.png b/tests/ragger/snapshots/stax/get_pk_None/00002.png index 13499fcc9..3f906b2b7 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_None/00002.png and b/tests/ragger/snapshots/stax/get_pk_None/00002.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_None/00003.png b/tests/ragger/snapshots/stax/get_pk_None/00003.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_None/00003.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected_60/00000.png b/tests/ragger/snapshots/stax/get_pk_rejected_60/00000.png index 759339003..0c6d19cae 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_rejected_60/00000.png and b/tests/ragger/snapshots/stax/get_pk_rejected_60/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected_60/00001.png b/tests/ragger/snapshots/stax/get_pk_rejected_60/00001.png index 16af88b19..a52cf1e81 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_rejected_60/00001.png and b/tests/ragger/snapshots/stax/get_pk_rejected_60/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected_60/00003.png b/tests/ragger/snapshots/stax/get_pk_rejected_60/00003.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_rejected_60/00003.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected_700/00000.png b/tests/ragger/snapshots/stax/get_pk_rejected_700/00000.png index 759339003..0c6d19cae 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_rejected_700/00000.png and b/tests/ragger/snapshots/stax/get_pk_rejected_700/00000.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected_700/00001.png b/tests/ragger/snapshots/stax/get_pk_rejected_700/00001.png index aa683fab0..ee7079c77 100644 Binary files a/tests/ragger/snapshots/stax/get_pk_rejected_700/00001.png and b/tests/ragger/snapshots/stax/get_pk_rejected_700/00001.png differ diff --git a/tests/ragger/snapshots/stax/get_pk_rejected_700/00003.png b/tests/ragger/snapshots/stax/get_pk_rejected_700/00003.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/get_pk_rejected_700/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_clone_thundercore/00000.png b/tests/ragger/snapshots/stax/test_clone_thundercore/00000.png index f992e718a..f1b35e477 100644 Binary files a/tests/ragger/snapshots/stax/test_clone_thundercore/00000.png and b/tests/ragger/snapshots/stax/test_clone_thundercore/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_clone_thundercore/00001.png b/tests/ragger/snapshots/stax/test_clone_thundercore/00001.png index aaf074560..5b58c6101 100644 Binary files a/tests/ragger/snapshots/stax/test_clone_thundercore/00001.png and b/tests/ragger/snapshots/stax/test_clone_thundercore/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_clone_thundercore/00002.png b/tests/ragger/snapshots/stax/test_clone_thundercore/00002.png index bc1ca9382..687a019ce 100644 Binary files a/tests/ragger/snapshots/stax/test_clone_thundercore/00002.png and b/tests/ragger/snapshots/stax/test_clone_thundercore/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_clone_thundercore/00003.png b/tests/ragger/snapshots/stax/test_clone_thundercore/00003.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_clone_thundercore/00003.png and b/tests/ragger/snapshots/stax/test_clone_thundercore/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_clone_thundercore/00004.png b/tests/ragger/snapshots/stax/test_clone_thundercore/00004.png index a21279c8a..048cd3a93 100644 Binary files a/tests/ragger/snapshots/stax/test_clone_thundercore/00004.png and b/tests/ragger/snapshots/stax/test_clone_thundercore/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_get_eth2_pk/00000.png b/tests/ragger/snapshots/stax/test_get_eth2_pk/00000.png index 832d70e18..ab44fe4fb 100644 Binary files a/tests/ragger/snapshots/stax/test_get_eth2_pk/00000.png and b/tests/ragger/snapshots/stax/test_get_eth2_pk/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_get_eth2_pk/00001.png b/tests/ragger/snapshots/stax/test_get_eth2_pk/00001.png index 13499fcc9..ab8f33165 100644 Binary files a/tests/ragger/snapshots/stax/test_get_eth2_pk/00001.png and b/tests/ragger/snapshots/stax/test_get_eth2_pk/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_get_eth2_pk/00002.png b/tests/ragger/snapshots/stax/test_get_eth2_pk/00002.png new file mode 100644 index 000000000..3f906b2b7 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_get_eth2_pk/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_get_eth2_pk/00003.png b/tests/ragger/snapshots/stax/test_get_eth2_pk/00003.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_get_eth2_pk/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_chainid/00000.png b/tests/ragger/snapshots/stax/test_legacy_chainid/00000.png index 74fa840cc..a39bb82ff 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_chainid/00000.png and b/tests/ragger/snapshots/stax/test_legacy_chainid/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_chainid/00001.png b/tests/ragger/snapshots/stax/test_legacy_chainid/00001.png index 6a59429f1..7c93eac30 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_chainid/00001.png and b/tests/ragger/snapshots/stax/test_legacy_chainid/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_chainid/00002.png b/tests/ragger/snapshots/stax/test_legacy_chainid/00002.png index 930dba7ac..c25fae264 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_chainid/00002.png and b/tests/ragger/snapshots/stax/test_legacy_chainid/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_chainid/00003.png b/tests/ragger/snapshots/stax/test_legacy_chainid/00003.png index aed7d3335..c8918a98e 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_chainid/00003.png and b/tests/ragger/snapshots/stax/test_legacy_chainid/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_chainid/00004.png b/tests/ragger/snapshots/stax/test_legacy_chainid/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_chainid/00004.png and b/tests/ragger/snapshots/stax/test_legacy_chainid/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_chainid/00005.png b/tests/ragger/snapshots/stax/test_legacy_chainid/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_legacy_chainid/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00000.png b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00000.png index 5f9bab11e..7d081358d 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00000.png and b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00001.png b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00001.png index f13c0f55e..baa3da77f 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00001.png and b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00002.png b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00002.png index 35c265345..6d7d00e9f 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00002.png and b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00003.png b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00003.png index ff517f2ef..dfd5e789d 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00003.png and b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00004.png b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00004.png and b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_legacy_send_bsc/00005.png b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_legacy_send_bsc/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_metamask/00004.png b/tests/ragger/snapshots/stax/test_personal_sign_metamask/00004.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_metamask/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/stax/test_personal_sign_non_ascii/00004.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_non_ascii/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_opensea/00005.png b/tests/ragger/snapshots/stax/test_personal_sign_opensea/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_opensea/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png index d4cf6afbd..2f80635a9 100644 Binary files a/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png index df803b1ac..83a0d80f8 100644 Binary files a/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png index b1ff1b3ab..d4cf6afbd 100644 Binary files a/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00004.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00004.png new file mode 100644 index 000000000..df803b1ac Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00005.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00000.png b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00000.png index f992e718a..b22161fe1 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00000.png and b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00001.png b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00001.png index 107b38cc4..9cd93f0d1 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00001.png and b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00002.png b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00002.png index 24dbb3ca8..637827a11 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00002.png and b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00003.png b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00003.png index d4429dd58..c19f5135d 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00003.png and b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00004.png b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00004.png index 687a019ce..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00004.png and b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00005.png b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00005.png index a21279c8a..b1ff1b3ab 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00005.png and b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/confirm/00000.png b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/confirm/00000.png new file mode 100644 index 000000000..d4e603a8a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_blind_and_nonce_display/confirm/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_simple/00000.png b/tests/ragger/snapshots/stax/test_sign_blind_simple/00000.png index f992e718a..f1b35e477 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_simple/00000.png and b/tests/ragger/snapshots/stax/test_sign_blind_simple/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_simple/00001.png b/tests/ragger/snapshots/stax/test_sign_blind_simple/00001.png index 107b38cc4..0b2974b08 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_simple/00001.png and b/tests/ragger/snapshots/stax/test_sign_blind_simple/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_simple/00002.png b/tests/ragger/snapshots/stax/test_sign_blind_simple/00002.png index ec36a96f1..687a019ce 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_simple/00002.png and b/tests/ragger/snapshots/stax/test_sign_blind_simple/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_simple/00003.png b/tests/ragger/snapshots/stax/test_sign_blind_simple/00003.png index bc1ca9382..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_simple/00003.png and b/tests/ragger/snapshots/stax/test_sign_blind_simple/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_simple/00004.png b/tests/ragger/snapshots/stax/test_sign_blind_simple/00004.png index a21279c8a..b1ff1b3ab 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_blind_simple/00004.png and b/tests/ragger/snapshots/stax/test_sign_blind_simple/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_blind_simple/confirm/00000.png b/tests/ragger/snapshots/stax/test_sign_blind_simple/confirm/00000.png new file mode 100644 index 000000000..d4e603a8a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_blind_simple/confirm/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_eip_2930/00000.png b/tests/ragger/snapshots/stax/test_sign_eip_2930/00000.png index 10cc82524..f33c21147 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_eip_2930/00000.png and b/tests/ragger/snapshots/stax/test_sign_eip_2930/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_eip_2930/00001.png b/tests/ragger/snapshots/stax/test_sign_eip_2930/00001.png index 7009de19e..a864b2e27 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_eip_2930/00001.png and b/tests/ragger/snapshots/stax/test_sign_eip_2930/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_eip_2930/00002.png b/tests/ragger/snapshots/stax/test_sign_eip_2930/00002.png index a27b17e42..7142a7b29 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_eip_2930/00002.png and b/tests/ragger/snapshots/stax/test_sign_eip_2930/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_eip_2930/00003.png b/tests/ragger/snapshots/stax/test_sign_eip_2930/00003.png index c47bf6c29..2615f01e2 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_eip_2930/00003.png and b/tests/ragger/snapshots/stax/test_sign_eip_2930/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_eip_2930/00004.png b/tests/ragger/snapshots/stax/test_sign_eip_2930/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_eip_2930/00004.png and b/tests/ragger/snapshots/stax/test_sign_eip_2930/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_eip_2930/00005.png b/tests/ragger/snapshots/stax/test_sign_eip_2930/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_eip_2930/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00000.png b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00000.png index f992e718a..b22161fe1 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00000.png and b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00001.png b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00001.png index 915fb9ca8..7963e8c0d 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00001.png and b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00002.png b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00002.png index 2833c2381..3d10272b6 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00002.png and b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00003.png b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00003.png index 687a019ce..c19f5135d 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00003.png and b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00004.png b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00004.png and b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_limit_nonce/00005.png b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_limit_nonce/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_nonce_display/00000.png b/tests/ragger/snapshots/stax/test_sign_nonce_display/00000.png index f992e718a..b22161fe1 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_nonce_display/00000.png and b/tests/ragger/snapshots/stax/test_sign_nonce_display/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_nonce_display/00001.png b/tests/ragger/snapshots/stax/test_sign_nonce_display/00001.png index 37f64b165..b3afcfdf6 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_nonce_display/00001.png and b/tests/ragger/snapshots/stax/test_sign_nonce_display/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_nonce_display/00002.png b/tests/ragger/snapshots/stax/test_sign_nonce_display/00002.png index d4429dd58..637827a11 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_nonce_display/00002.png and b/tests/ragger/snapshots/stax/test_sign_nonce_display/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_nonce_display/00003.png b/tests/ragger/snapshots/stax/test_sign_nonce_display/00003.png index 687a019ce..c19f5135d 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_nonce_display/00003.png and b/tests/ragger/snapshots/stax/test_sign_nonce_display/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_nonce_display/00004.png b/tests/ragger/snapshots/stax/test_sign_nonce_display/00004.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_nonce_display/00004.png and b/tests/ragger/snapshots/stax/test_sign_nonce_display/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_nonce_display/00005.png b/tests/ragger/snapshots/stax/test_sign_nonce_display/00005.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_nonce_display/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00000.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00000.png new file mode 100644 index 000000000..25b9d1e8e Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00001.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00001.png new file mode 100644 index 000000000..7c87ed04c Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00002.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00002.png new file mode 100644 index 000000000..888518c6e Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_0/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00000.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00000.png new file mode 100644 index 000000000..e4a279a2a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00001.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00001.png new file mode 100644 index 000000000..a28f94913 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00002.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00002.png new file mode 100644 index 000000000..cdad77c37 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_1/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00000.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00000.png new file mode 100644 index 000000000..e4a279a2a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00001.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00001.png new file mode 100644 index 000000000..9c42e08e4 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00002.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00002.png new file mode 100644 index 000000000..cdad77c37 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_2/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00000.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00000.png new file mode 100644 index 000000000..f1b35e477 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00001.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00001.png new file mode 100644 index 000000000..51bb23267 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00002.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00002.png new file mode 100644 index 000000000..687a019ce Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00003.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00003.png new file mode 100644 index 000000000..2ba6d27d5 Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00004.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00004.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_parameter_selector/step_3/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_reject/00000.png b/tests/ragger/snapshots/stax/test_sign_reject/00000.png index f992e718a..f1b35e477 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_reject/00000.png and b/tests/ragger/snapshots/stax/test_sign_reject/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_reject/00001.png b/tests/ragger/snapshots/stax/test_sign_reject/00001.png index ec36a96f1..0b2974b08 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_reject/00001.png and b/tests/ragger/snapshots/stax/test_sign_reject/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_reject/00002.png b/tests/ragger/snapshots/stax/test_sign_reject/00002.png index bc1ca9382..687a019ce 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_reject/00002.png and b/tests/ragger/snapshots/stax/test_sign_reject/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_reject/00003.png b/tests/ragger/snapshots/stax/test_sign_reject/00003.png index 9d261148b..babad9890 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_reject/00003.png and b/tests/ragger/snapshots/stax/test_sign_reject/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_simple/00000.png b/tests/ragger/snapshots/stax/test_sign_simple/00000.png index f992e718a..f1b35e477 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_simple/00000.png and b/tests/ragger/snapshots/stax/test_sign_simple/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_simple/00001.png b/tests/ragger/snapshots/stax/test_sign_simple/00001.png index ec36a96f1..0b2974b08 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_simple/00001.png and b/tests/ragger/snapshots/stax/test_sign_simple/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_simple/00002.png b/tests/ragger/snapshots/stax/test_sign_simple/00002.png index bc1ca9382..687a019ce 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_simple/00002.png and b/tests/ragger/snapshots/stax/test_sign_simple/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_simple/00003.png b/tests/ragger/snapshots/stax/test_sign_simple/00003.png index a21279c8a..2ba6d27d5 100644 Binary files a/tests/ragger/snapshots/stax/test_sign_simple/00003.png and b/tests/ragger/snapshots/stax/test_sign_simple/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_sign_simple/00004.png b/tests/ragger/snapshots/stax/test_sign_simple/00004.png new file mode 100644 index 000000000..b1ff1b3ab Binary files /dev/null and b/tests/ragger/snapshots/stax/test_sign_simple/00004.png differ diff --git a/tests/ragger/staking_deposit/key_handling/key_derivation/path.py b/tests/ragger/staking_deposit/key_handling/key_derivation/path.py index b9e2e2b71..cb137193b 100644 --- a/tests/ragger/staking_deposit/key_handling/key_derivation/path.py +++ b/tests/ragger/staking_deposit/key_handling/key_derivation/path.py @@ -3,7 +3,7 @@ from bip_utils import Bip39SeedGenerator from bip_utils.utils.mnemonic import Mnemonic -from .tree import ( +from staking_deposit.key_handling.key_derivation.tree import ( derive_master_SK, derive_child_SK, ) diff --git a/tests/ragger/staking_deposit/key_handling/key_derivation/tree.py b/tests/ragger/staking_deposit/key_handling/key_derivation/tree.py index 53fcd0ec7..977017fd3 100644 --- a/tests/ragger/staking_deposit/key_handling/key_derivation/tree.py +++ b/tests/ragger/staking_deposit/key_handling/key_derivation/tree.py @@ -1,16 +1,17 @@ +from typing import List + from staking_deposit.utils.crypto import ( HKDF, SHA256, ) from py_ecc.optimized_bls12_381 import curve_order as bls_curve_order -from typing import List -def _flip_bits_256(input: int) -> int: +def _flip_bits_256(value: int) -> int: """ - Flips 256 bits worth of `input`. + Flips 256 bits worth of `value`. """ - return input ^ (2**256 - 1) + return value ^ (2**256 - 1) def _IKM_to_lamport_SK(*, IKM: bytes, salt: bytes) -> List[bytes]: diff --git a/tests/ragger/staking_deposit/utils/crypto.py b/tests/ragger/staking_deposit/utils/crypto.py index 48a9d76a1..e018d4933 100644 --- a/tests/ragger/staking_deposit/utils/crypto.py +++ b/tests/ragger/staking_deposit/utils/crypto.py @@ -32,12 +32,9 @@ def PBKDF2(*, password: bytes, salt: bytes, dklen: int, c: int, prf: str) -> byt if 'sha' not in prf: raise ValueError(f"String 'sha' is not in `prf`({prf})") if 'sha256' in prf and c < 2**18: - ''' - Verify the number of rounds of SHA256-PBKDF2. SHA512 not checked as use in BIP39 - does not require, and therefore doesn't use, safe parameters (c=2048). - - Ref: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed - ''' + # Verify the number of rounds of SHA256-PBKDF2. SHA512 not checked as use in BIP39 + # does not require, and therefore doesn't use, safe parameters (c=2048). + # Ref: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#from-mnemonic-to-seed raise ValueError("The PBKDF2 parameters chosen are not secure.") _hash = _sha256 if 'sha256' in prf else _sha512 res = _PBKDF2(password=password, salt=salt, dkLen=dklen, count=c, hmac_hash_module=_hash) # type: ignore diff --git a/tests/ragger/test_blind_sign.py b/tests/ragger/test_blind_sign.py index 29bbd0c9c..f4be01403 100644 --- a/tests/ragger/test_blind_sign.py +++ b/tests/ragger/test_blind_sign.py @@ -3,15 +3,21 @@ import pytest from web3 import Web3 -from client.client import EthAppClient, StatusWord - from ragger.backend import BackendInterface from ragger.firmware import Firmware from ragger.navigator import Navigator, NavInsID +from ragger.navigator.navigation_scenario import NavigateWithScenario from ragger.error import ExceptionRAPDU from constants import ABIS_FOLDER +from client.client import EthAppClient, StatusWord +from client.settings import SettingID, settings_toggle +import client.response_parser as ResponseParser +from client.utils import recover_transaction + + +BIP32_PATH = "m/44'/60'/0'/0/0" # Token approval, would require loading the "internal plugin" & # providing the token metadata from the CAL @@ -42,7 +48,7 @@ def test_blind_sign(firmware: Firmware, "chainId": 1 } with pytest.raises(ExceptionRAPDU) as e: - with app_client.sign("m/44'/60'/0'/0/0", tx_params): + with app_client.sign(BIP32_PATH, tx_params): pass assert e.value.status == StatusWord.INVALID_DATA @@ -56,3 +62,77 @@ def test_blind_sign(firmware: Firmware, navigator.navigate_and_compare(default_screenshot_path, "blind-signed_approval", moves) + + +# Token approval, would require loading the "internal plugin" & +# providing the token metadata from the CAL +def test_sign_parameter_selector(firmware: Firmware, + backend: BackendInterface, + navigator: Navigator, + scenario_navigator: NavigateWithScenario, + test_name: str, + default_screenshot_path: Path): + app_client = EthAppClient(backend) + + with app_client.get_public_addr(bip32_path=BIP32_PATH, display=False): + pass + _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) + + with open(f"{ABIS_FOLDER}/erc20.json", encoding="utf-8") as file: + abi = json.load(file) + + contract_name = "approve" + count = 0 + for elt in abi: + if elt["name"] == contract_name: + count = len(elt["inputs"]) + break + assert count == 2, "Invalid inputs number" + tx_params = { + "nonce": 235, + "maxFeePerGas": Web3.to_wei(100, "gwei"), + "maxPriorityFeePerGas": Web3.to_wei(10, "gwei"), + "gas": 44001, + # Maker: Dai Stablecoin + "to": bytes.fromhex("6b175474e89094c44da98b954eedeac495271d0f"), + "data": Web3().eth.contract(abi=abi).encodeABI(contract_name, [ + # Uniswap Protocol: Permit2 + bytes.fromhex("000000000022d473030f116ddee9f6b43ac78ba3"), + Web3.to_wei("2", "ether") + ]), + "chainId": 1 + } + + settings_toggle(firmware, navigator, [SettingID.DEBUG_DATA, SettingID.BLIND_SIGNING]) + + with app_client.sign(BIP32_PATH, tx_params): + if firmware.device.startswith("nano"): + end_text = "Approve" + nav_inst = NavInsID.RIGHT_CLICK + valid_instr = [NavInsID.BOTH_CLICK] + else: + end_text = "Confirm" + nav_inst = NavInsID.USE_CASE_REVIEW_TAP + valid_instr = [NavInsID.USE_CASE_REVIEW_CONFIRM] + + # Loop for "Selector" + the contract inputs + for step in range(count + 1): + navigator.navigate_until_text_and_compare(nav_inst, + valid_instr, + end_text, + default_screenshot_path, + f"{test_name}/step_{step}", + screen_change_after_last_instruction=False) + step +=1 + + # Transaction review + if firmware.device.startswith("nano"): + end_text = "Accept" + else: + end_text = "Sign" + scenario_navigator.review_approve(default_screenshot_path, f"{test_name}/step_{step}", end_text) + + # verify signature + vrs = ResponseParser.signature(app_client.response().data) + addr = recover_transaction(tx_params, vrs) + assert addr == DEVICE_ADDR diff --git a/tests/ragger/test_clone.py b/tests/ragger/test_clone.py index be1e4cbe8..4419227fb 100644 --- a/tests/ragger/test_clone.py +++ b/tests/ragger/test_clone.py @@ -4,6 +4,7 @@ from ragger.backend import BackendInterface from ragger.firmware import Firmware from ragger.navigator import Navigator +from ragger.navigator.navigation_scenario import NavigateWithScenario from test_sign import common @@ -21,6 +22,7 @@ def test_clone_thundercore(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, test_name: str): tx_params: dict = { @@ -31,4 +33,4 @@ def test_clone_thundercore(firmware: Firmware, "value": Web3.to_wei(VALUE, "ether"), "chainId": 108 } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, BIP32_PATH) + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params, test_name, BIP32_PATH) diff --git a/tests/ragger/test_configuration_cmd.py b/tests/ragger/test_configuration_cmd.py index c8a8e95f7..99e8760ee 100644 --- a/tests/ragger/test_configuration_cmd.py +++ b/tests/ragger/test_configuration_cmd.py @@ -1,6 +1,7 @@ from pathlib import Path from typing import List import re + from ragger.backend import BackendInterface from ragger.utils.misc import get_current_app_name_and_version diff --git a/tests/ragger/test_domain_name.py b/tests/ragger/test_domain_name.py index 0e0a90888..e0adc2c63 100644 --- a/tests/ragger/test_domain_name.py +++ b/tests/ragger/test_domain_name.py @@ -2,14 +2,15 @@ import pytest from web3 import Web3 -import client.response_parser as ResponseParser -from client.client import EthAppClient, StatusWord -from client.settings import SettingID, settings_toggle - from ragger.backend import BackendInterface from ragger.firmware import Firmware from ragger.error import ExceptionRAPDU -from ragger.navigator import Navigator, NavInsID +from ragger.navigator import Navigator +from ragger.navigator.navigation_scenario import NavigateWithScenario + +import client.response_parser as ResponseParser +from client.client import EthAppClient, StatusWord +from client.settings import SettingID, settings_toggle # Values used across all tests @@ -41,6 +42,7 @@ def common(firmware: Firmware, app_client: EthAppClient) -> int: def test_send_fund(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, verbose: bool): app_client = EthAppClient(backend) @@ -60,20 +62,12 @@ def test_send_fund(firmware: Firmware, "value": Web3.to_wei(AMOUNT, "ether"), "chainId": CHAIN_ID }): - moves = [] if firmware.device.startswith("nano"): - moves += [NavInsID.RIGHT_CLICK] * 4 - if verbose: - moves += [NavInsID.RIGHT_CLICK] - moves += [NavInsID.BOTH_CLICK] + end_text = "Accept" else: - moves += [NavInsID.USE_CASE_REVIEW_TAP] * 2 - if verbose: - moves += [NavInsID.USE_CASE_REVIEW_TAP] - moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] - navigator.navigate_and_compare(default_screenshot_path, - "domain_name_verbose_" + str(verbose), - moves) + end_text = "Sign" + + scenario_navigator.review_approve(default_screenshot_path, f"domain_name_verbose_{str(verbose)}", end_text) def test_send_fund_wrong_challenge(firmware: Firmware, backend: BackendInterface): @@ -87,7 +81,7 @@ def test_send_fund_wrong_challenge(firmware: Firmware, backend: BackendInterface def test_send_fund_wrong_addr(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path): app_client = EthAppClient(backend) challenge = common(firmware, app_client) @@ -106,21 +100,17 @@ def test_send_fund_wrong_addr(firmware: Firmware, "value": Web3.to_wei(AMOUNT, "ether"), "chainId": CHAIN_ID }): - moves = [] if firmware.device.startswith("nano"): - moves += [NavInsID.RIGHT_CLICK] * 4 - moves += [NavInsID.BOTH_CLICK] + end_text = "Accept" else: - moves += [NavInsID.USE_CASE_REVIEW_TAP] * 2 - moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] - navigator.navigate_and_compare(default_screenshot_path, - "domain_name_wrong_addr", - moves) + end_text = "Sign" + + scenario_navigator.review_approve(default_screenshot_path, "domain_name_wrong_addr", end_text) def test_send_fund_non_mainnet(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path): app_client = EthAppClient(backend) challenge = common(firmware, app_client) @@ -136,21 +126,17 @@ def test_send_fund_non_mainnet(firmware: Firmware, "value": Web3.to_wei(AMOUNT, "ether"), "chainId": 5 }): - moves = [] if firmware.device.startswith("nano"): - moves += [NavInsID.RIGHT_CLICK] * 5 - moves += [NavInsID.BOTH_CLICK] + end_text = "Accept" else: - moves += [NavInsID.USE_CASE_REVIEW_TAP] * 2 - moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] - navigator.navigate_and_compare(default_screenshot_path, - "domain_name_non_mainnet", - moves) + end_text = "Sign" + + scenario_navigator.review_approve(default_screenshot_path, "domain_name_non_mainnet", end_text) def test_send_fund_unknown_chain(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path): app_client = EthAppClient(backend) challenge = common(firmware, app_client) @@ -166,16 +152,12 @@ def test_send_fund_unknown_chain(firmware: Firmware, "value": Web3.to_wei(AMOUNT, "ether"), "chainId": 9 }): - moves = [] if firmware.device.startswith("nano"): - moves += [NavInsID.RIGHT_CLICK] * 5 - moves += [NavInsID.BOTH_CLICK] + end_text = "Accept" else: - moves += [NavInsID.USE_CASE_REVIEW_TAP] * 3 - moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] - navigator.navigate_and_compare(default_screenshot_path, - "domain_name_unknown_chain", - moves) + end_text = "Sign" + + scenario_navigator.review_approve(default_screenshot_path, "domain_name_unknown_chain", end_text) def test_send_fund_domain_too_long(firmware: Firmware, backend: BackendInterface): diff --git a/tests/ragger/test_eip191.py b/tests/ragger/test_eip191.py index 3fc9cbf82..832bc85e2 100644 --- a/tests/ragger/test_eip191.py +++ b/tests/ragger/test_eip191.py @@ -1,26 +1,24 @@ from pathlib import Path import pytest -from client.client import EthAppClient, StatusWord -import client.response_parser as ResponseParser -from client.utils import recover_message - from ragger.error import ExceptionRAPDU from ragger.backend import BackendInterface from ragger.firmware import Firmware -from ragger.navigator import Navigator, NavInsID +from ragger.navigator.navigation_scenario import NavigateWithScenario +from client.client import EthAppClient, StatusWord +import client.response_parser as ResponseParser +from client.utils import recover_message -BIP32_PATH = "m/44'/60'/0'/0/0" +BIP32_PATH = "m/44'/60'/0'/0/0" -def test_personal_sign_metamask(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, - test_name: str, - default_screenshot_path: Path): - msg = "Example `personal_sign` message" +def common(backend: BackendInterface, + scenario: NavigateWithScenario, + test_name: str, + screenshot_path: Path, + msg: str): app_client = EthAppClient(backend) @@ -29,22 +27,7 @@ def test_personal_sign_metamask(firmware: Firmware, _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): - if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - initial_instructions = [NavInsID.RIGHT_CLICK] - # Skip 1st screen because 'Sign' is already present - navigator.navigate(initial_instructions, - screen_change_after_last_instruction=False) - else: - next_action = NavInsID.USE_CASE_REVIEW_TAP - confirm_action = NavInsID.USE_CASE_REVIEW_CONFIRM - - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Sign", - default_screenshot_path, - test_name) + scenario.review_approve(screenshot_path, test_name, "Sign") # verify signature vrs = ResponseParser.signature(app_client.response().data) @@ -52,89 +35,44 @@ def test_personal_sign_metamask(firmware: Firmware, assert addr == DEVICE_ADDR -def test_personal_sign_non_ascii(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, - test_name: str, - default_screenshot_path: Path): +def test_personal_sign_metamask(backend: BackendInterface, + scenario_navigator: NavigateWithScenario, + test_name: str, + default_screenshot_path: Path): - msg = "0x9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658" + msg = "Example `personal_sign` message" + common(backend, scenario_navigator, test_name, default_screenshot_path, msg) - app_client = EthAppClient(backend) - with app_client.get_public_addr(display=False): - pass - _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) - - with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): - if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - initial_instructions = [NavInsID.RIGHT_CLICK] - # Skip 1st screen because 'Sign' is already present - navigator.navigate(initial_instructions, - screen_change_before_first_instruction=False, - screen_change_after_last_instruction=False) - else: - next_action = NavInsID.USE_CASE_REVIEW_TAP - confirm_action = NavInsID.USE_CASE_REVIEW_CONFIRM - - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Sign", - default_screenshot_path, - test_name) +def test_personal_sign_non_ascii(backend: BackendInterface, + scenario_navigator: NavigateWithScenario, + test_name: str, + default_screenshot_path: Path): - # verify signature - vrs = ResponseParser.signature(app_client.response().data) - addr = recover_message(msg.encode('utf-8'), vrs) - assert addr == DEVICE_ADDR + msg = "0x9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658" + common(backend, scenario_navigator, test_name, default_screenshot_path, msg) def test_personal_sign_opensea(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): - msg = "Welcome to OpenSea!\n\nClick to sign in and accept the OpenSea Terms of Service: https://opensea.io/tos\n\nThis request will not trigger a blockchain transaction or cost any gas fees.\n\nYour authentication status will reset after 24 hours.\n\nWallet address:\n0x9858effd232b4033e47d90003d41ec34ecaeda94\n\nNonce:\n2b02c8a0-f74f-4554-9821-a28054dc9121" - - app_client = EthAppClient(backend) - - with app_client.get_public_addr(display=False): - pass - _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) - if firmware.device == "nanos": pytest.skip("Not supported on LNS") - with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): - if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - initial_instructions = [NavInsID.RIGHT_CLICK] - # Skip 1st screen because 'Sign' is already present - navigator.navigate(initial_instructions, - screen_change_before_first_instruction=False, - screen_change_after_last_instruction=False) - else: - next_action = NavInsID.USE_CASE_REVIEW_TAP - confirm_action = NavInsID.USE_CASE_REVIEW_CONFIRM - - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Sign", - default_screenshot_path, - test_name) - # verify signature - vrs = ResponseParser.signature(app_client.response().data) - addr = recover_message(msg.encode('utf-8'), vrs) - assert addr == DEVICE_ADDR + msg = "Welcome to OpenSea!\n\n" + msg += "Click to sign in and accept the OpenSea Terms of Service: https://opensea.io/tos\n\n" + msg += "This request will not trigger a blockchain transaction or cost any gas fees.\n\n" + msg += "Your authentication status will reset after 24 hours.\n\n" + msg += "Wallet address:\n0x9858effd232b4033e47d90003d41ec34ecaeda94\n\nNonce:\n2b02c8a0-f74f-4554-9821-a28054dc9121" + common(backend, scenario_navigator, test_name, default_screenshot_path, msg) def test_personal_sign_reject(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): @@ -145,21 +83,10 @@ def test_personal_sign_reject(firmware: Firmware, try: with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Cancel", - default_screenshot_path, - test_name) + end_text = "Cancel" else: - # instructions = [NavInsID.USE_CASE_REVIEW_TAP] - instructions = [NavInsID.USE_CASE_CHOICE_REJECT, - NavInsID.USE_CASE_CHOICE_CONFIRM, - NavInsID.USE_CASE_STATUS_DISMISS] - navigator.navigate_and_compare(default_screenshot_path, - test_name, - instructions) + end_text = "Sign" + scenario_navigator.review_reject(default_screenshot_path, test_name, end_text) except ExceptionRAPDU as e: assert e.status == StatusWord.CONDITION_NOT_SATISFIED diff --git a/tests/ragger/test_eip712.py b/tests/ragger/test_eip712.py index 45c210974..abedeb4ae 100644 --- a/tests/ragger/test_eip712.py +++ b/tests/ragger/test_eip712.py @@ -1,6 +1,5 @@ import fnmatch import os -import time from functools import partial from pathlib import Path import json @@ -8,16 +7,17 @@ import pytest from eth_account.messages import encode_typed_data +from ragger.backend import BackendInterface +from ragger.firmware import Firmware +from ragger.navigator import Navigator, NavInsID +from ragger.navigator.navigation_scenario import NavigateWithScenario + import client.response_parser as ResponseParser from client.utils import recover_message from client.client import EthAppClient from client.eip712 import InputData from client.settings import SettingID, settings_toggle -from ragger.backend import BackendInterface -from ragger.firmware import Firmware -from ragger.navigator import Navigator, NavInsID - class SnapshotsConfig: test_name: str @@ -71,31 +71,17 @@ def get_wallet_addr(client: EthAppClient) -> bytes: return WALLET_ADDR -def test_eip712_legacy(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator): +def test_eip712_legacy(backend: BackendInterface, scenario_navigator: NavigateWithScenario): app_client = EthAppClient(backend) - with open(input_files()[0]) as file: + with open(input_files()[0], encoding="utf-8") as file: data = json.load(file) - smsg = encode_typed_data(full_message=data) - with app_client.eip712_sign_legacy(BIP32_PATH, smsg.header, smsg.body): - moves = [] - if firmware.device.startswith("nano"): - moves += [NavInsID.RIGHT_CLICK] - if firmware.device == "nanos": - screens_per_hash = 4 - else: - screens_per_hash = 2 - moves += [NavInsID.RIGHT_CLICK] * screens_per_hash * 2 - moves += [NavInsID.BOTH_CLICK] - else: - moves += [NavInsID.USE_CASE_REVIEW_TAP] * 2 - moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] - navigator.navigate(moves) + smsg = encode_typed_data(full_message=data) + with app_client.eip712_sign_legacy(BIP32_PATH, smsg.header, smsg.body): + scenario_navigator.review_approve(custom_screen_text="Sign", do_comparison=False) - vrs = ResponseParser.signature(app_client.response().data) - recovered_addr = recover_message(data, vrs) + vrs = ResponseParser.signature(app_client.response().data) + recovered_addr = recover_message(data, vrs) assert recovered_addr == get_wallet_addr(app_client) @@ -139,7 +125,6 @@ def eip712_new_common(firmware: Firmware, moves = [NavInsID.RIGHT_CLICK] * 2 moves += [NavInsID.BOTH_CLICK] else: - time.sleep(1.5) # need to skip the message hash if not verbose and filters is None: moves += [NavInsID.USE_CASE_REVIEW_TAP] @@ -165,6 +150,8 @@ def test_eip712_new(firmware: Firmware, app_client = EthAppClient(backend) if firmware.device == "nanos": pytest.skip("Not supported on LNS") + if firmware.device == "flex": + pytest.skip("Not yet available on Flex (due to swipe)") test_path = f"{input_file.parent}/{'-'.join(input_file.stem.split('-')[:-1])}" @@ -206,6 +193,8 @@ def test_eip712_address_substitution(firmware: Firmware, app_client = EthAppClient(backend) if firmware.device == "nanos": pytest.skip("Not supported on LNS") + if firmware.device == "flex": + pytest.skip("Not yet available on Flex (due to swipe)") if verbose: test_name += "_verbose" diff --git a/tests/ragger/test_erc20information.py b/tests/ragger/test_erc20information.py index 130b3ac9c..a858f5574 100644 --- a/tests/ragger/test_erc20information.py +++ b/tests/ragger/test_erc20information.py @@ -1,10 +1,10 @@ import pytest -from client.client import EthAppClient, StatusWord - from ragger.error import ExceptionRAPDU from ragger.backend import BackendInterface +from client.client import EthAppClient, StatusWord + def test_provide_erc20_token(backend: BackendInterface): diff --git a/tests/ragger/test_get_address.py b/tests/ragger/test_get_address.py index fd7b682ff..a9bef71b3 100644 --- a/tests/ragger/test_get_address.py +++ b/tests/ragger/test_get_address.py @@ -10,7 +10,7 @@ from ragger.error import ExceptionRAPDU from ragger.firmware import Firmware from ragger.backend import BackendInterface -from ragger.navigator import Navigator, NavInsID +from ragger.navigator.navigation_scenario import NavigateWithScenario from ragger.bip import calculate_public_key_and_chaincode, CurveChoice from client.client import EthAppClient, StatusWord @@ -27,48 +27,15 @@ def chain_fixture(request) -> Optional[int]: return request.param -def get_moves(firmware: Firmware, - chain: Optional[int] = None, - reject: bool = False, - pk_eth2: bool = False): - moves = [] - - if firmware.is_nano: - moves += [NavInsID.RIGHT_CLICK] - if firmware.device == "nanos": - moves += [NavInsID.RIGHT_CLICK] * 3 - else: - moves += [NavInsID.RIGHT_CLICK] - if reject: - moves += [NavInsID.RIGHT_CLICK] - if pk_eth2: - if firmware.device == "nanos": - moves += [NavInsID.RIGHT_CLICK] * 2 - moves += [NavInsID.RIGHT_CLICK] - moves += [NavInsID.BOTH_CLICK] - else: - if not pk_eth2: - moves += [NavInsID.USE_CASE_REVIEW_TAP] - if chain is not None and chain > 1: - moves += [NavInsID.USE_CASE_ADDRESS_CONFIRMATION_TAP] - if reject: - moves += [NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CANCEL] - else: - moves += [NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CONFIRM] - - return moves - - @pytest.mark.parametrize( - "path, suffix", + "path, suffix", [ ("m/44'/60'/0'/0/0", "60"), ("m/44'/700'/1'/0/0", "700") ], ) -def test_get_pk_rejected(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, +def test_get_pk_rejected(backend: BackendInterface, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, path, suffix): @@ -76,24 +43,21 @@ def test_get_pk_rejected(firmware: Firmware, with pytest.raises(ExceptionRAPDU) as e: with app_client.get_public_addr(bip32_path=path): - navigator.navigate_and_compare(default_screenshot_path, - f"get_pk_rejected_{suffix}", - get_moves(firmware, reject=True)) + scenario_navigator.address_review_reject(default_screenshot_path, f"get_pk_rejected_{suffix}") + assert e.value.status == StatusWord.CONDITION_NOT_SATISFIED -def test_get_pk(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, +def test_get_pk(backend: BackendInterface, default_screenshot_path: Path, + scenario_navigator: NavigateWithScenario, with_chaincode: bool, chain: Optional[int]): app_client = EthAppClient(backend) with app_client.get_public_addr(chaincode=with_chaincode, chain_id=chain): - navigator.navigate_and_compare(default_screenshot_path, - f"get_pk_{chain}", - get_moves(firmware, chain=chain)) + scenario_navigator.address_review_approve(default_screenshot_path, f"get_pk_{chain}") + pk, _, chaincode = ResponseParser.pk_addr(app_client.response().data, with_chaincode) ref_pk, ref_chaincode = calculate_public_key_and_chaincode(curve=CurveChoice.Secp256k1, path="m/44'/60'/0'/0/0") @@ -104,20 +68,19 @@ def test_get_pk(firmware: Firmware, def test_get_eth2_pk(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): + app_client = EthAppClient(backend) path="m/12381/3600/0/0" with app_client.get_eth2_public_addr(bip32_path=path): - navigator.navigate_and_compare(default_screenshot_path, - test_name, - get_moves(firmware, pk_eth2=True)) + scenario_navigator.address_review_approve(default_screenshot_path, test_name) pk = app_client.response().data ref_pk = bls.SkToPk(mnemonic_and_path_to_key(SPECULOS_MNEMONIC, path)) - if firmware.name == "stax": + if firmware.name in ("stax", "flex"): pk = pk[1:49] assert pk == ref_pk diff --git a/tests/ragger/test_nft.py b/tests/ragger/test_nft.py index 7dc611617..abba24cb8 100644 --- a/tests/ragger/test_nft.py +++ b/tests/ragger/test_nft.py @@ -4,17 +4,17 @@ import pytest from web3 import Web3 -from client.client import EthAppClient, StatusWord -import client.response_parser as ResponseParser -from client.utils import get_selector_from_data, recover_transaction - from ragger.error import ExceptionRAPDU from ragger.firmware import Firmware from ragger.backend import BackendInterface -from ragger.navigator import Navigator, NavInsID +from ragger.navigator.navigation_scenario import NavigateWithScenario from constants import ABIS_FOLDER +from client.client import EthAppClient, StatusWord +import client.response_parser as ResponseParser +from client.utils import get_selector_from_data, recover_transaction + BIP32_PATH = "m/44'/60'/0'/0/0" NONCE = 21 @@ -42,46 +42,15 @@ def __init__(self, addr: bytes, name: str, chain_id: int, contract): class Action: fn_name: str fn_args: list[Any] - nav_fn: Callable - def __init__(self, fn_name: str, fn_args: list[Any], nav_fn: Callable): + def __init__(self, fn_name: str, fn_args: list[Any]): self.fn_name = fn_name self.fn_args = fn_args - self.nav_fn = nav_fn - - -def common_nav_nft(is_nano: bool, - nano_steps: int, - stax_steps: int, - reject: bool) -> list[NavInsID]: - moves = [] - if is_nano: - moves += [NavInsID.RIGHT_CLICK] * nano_steps - if reject: - moves += [NavInsID.RIGHT_CLICK] - moves += [NavInsID.BOTH_CLICK] - else: - moves += [NavInsID.USE_CASE_REVIEW_TAP] * stax_steps - if reject: - moves += [ - NavInsID.USE_CASE_REVIEW_REJECT, - NavInsID.USE_CASE_CHOICE_CONFIRM - ] - else: - moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] - return moves - - -def snapshot_test_name(nft_type: str, fn: str, chain_id: int, reject: bool) -> str: - name = f"{nft_type}_{fn}_{str(chain_id)}" - if reject: - name += "-rejected" - return name def common_test_nft(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, collec: NFTCollection, action: Action, @@ -114,14 +83,17 @@ def common_test_nft(firmware: Firmware, "data": data, } with app_client.sign(BIP32_PATH, tx_params): - navigator.navigate_and_compare(default_screenshot_path, - snapshot_test_name(plugin_name.lower(), - action.fn_name, - collec.chain_id, - reject), - action.nav_fn(firmware.is_nano, - collec.chain_id, - reject)) + test_name = f"{plugin_name.lower()}_{action.fn_name}_{str(collec.chain_id)}" + if reject: + test_name += "-rejected" + scenario_navigator.review_reject(default_screenshot_path, test_name) + else: + if firmware.device.startswith("nano"): + end_text = "Accept" + else: + end_text = "Sign" + scenario_navigator.review_approve(default_screenshot_path, test_name, end_text) + # verify signature vrs = ResponseParser.signature(app_client.response().data) addr = recover_transaction(tx_params, vrs) @@ -131,12 +103,12 @@ def common_test_nft(firmware: Firmware, def common_test_nft_reject(test_fn: Callable, firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, collec: NFTCollection, action: Action): with pytest.raises(ExceptionRAPDU) as e: - test_fn(firmware, backend, navigator, default_screenshot_path, collec, action, True) + test_fn(firmware, backend, scenario_navigator, default_screenshot_path, collec, action, True) assert e.value.status == StatusWord.CONDITION_NOT_SATISFIED # ERC-721 @@ -150,39 +122,6 @@ def common_test_nft_reject(test_fn: Callable, address=bytes(20) ) -# ui navigator functions - -def nav_erc721_transfer_from(is_nano: bool, - chain_id: int, - reject: bool) -> list[NavInsID]: - nano_steps = 7 - stax_steps = 3 - if chain_id != 1: - nano_steps += 1 - stax_steps += 1 - return common_nav_nft(is_nano, nano_steps, stax_steps, reject) - - -def nav_erc721_approve(is_nano: bool, - chain_id: int, - reject: bool) -> list[NavInsID]: - nano_steps = 7 - stax_steps = 3 - if chain_id != 1: - nano_steps += 1 - stax_steps += 1 - return common_nav_nft(is_nano, nano_steps, stax_steps, reject) - - -def nav_erc721_set_approval_for_all(is_nano: bool, - chain_id: int, - reject: bool) -> list[NavInsID]: - nano_steps = 6 - if chain_id != 1: - nano_steps += 1 - return common_nav_nft(is_nano, nano_steps, 3, reject) - - collecs_721 = [ NFTCollection(bytes.fromhex("bc4ca0eda7647a8ab7c2061c2e118a18a936f13d"), "Bored Ape Yacht Club", @@ -198,21 +137,11 @@ def nav_erc721_set_approval_for_all(is_nano: bool, contract_erc721), ] actions_721 = [ - Action("safeTransferFrom", - [FROM, TO, NFTS[0][0], DATA], - nav_erc721_transfer_from), - Action("safeTransferFrom", - [FROM, TO, NFTS[0][0]], - nav_erc721_transfer_from), - Action("transferFrom", - [FROM, TO, NFTS[0][0]], - nav_erc721_transfer_from), - Action("approve", - [TO, NFTS[0][0]], - nav_erc721_approve), - Action("setApprovalForAll", - [TO, False], - nav_erc721_set_approval_for_all), + Action("safeTransferFrom", [FROM, TO, NFTS[0][0], DATA]), + Action("safeTransferFrom", [FROM, TO, NFTS[0][0]]), + Action("transferFrom", [FROM, TO, NFTS[0][0]]), + Action("approve", [TO, NFTS[0][0]]), + Action("setApprovalForAll", [TO, False]), ] @@ -228,14 +157,14 @@ def action_721_fixture(request) -> Action: def test_erc721(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, collec_721: NFTCollection, action_721: Action, reject: bool = False): common_test_nft(firmware, backend, - navigator, + scenario_navigator, default_screenshot_path, collec_721, action_721, @@ -245,12 +174,12 @@ def test_erc721(firmware: Firmware, def test_erc721_reject(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path): common_test_nft_reject(test_erc721, firmware, backend, - navigator, + scenario_navigator, default_screenshot_path, collecs_721[0], actions_721[0]) @@ -267,37 +196,6 @@ def test_erc721_reject(firmware: Firmware, ) -# ui navigator functions - -def nav_erc1155_safe_transfer_from(is_nano: bool, - chain_id: int, - reject: bool) -> list: - nano_steps = 8 - if chain_id != 1: - nano_steps += 1 - return common_nav_nft(is_nano, nano_steps, 4, reject) - - -def nav_erc1155_safe_batch_transfer_from(is_nano: bool, - chain_id: int, - reject: bool) -> list: - nano_steps = 7 - stax_steps = 3 - if chain_id != 1: - nano_steps += 1 - stax_steps += 1 - return common_nav_nft(is_nano, nano_steps, stax_steps, reject) - - -def nav_erc1155_set_approval_for_all(is_nano: bool, - chain_id: int, - reject: bool) -> list: - nano_steps = 6 - if chain_id != 1: - nano_steps += 1 - return common_nav_nft(is_nano, nano_steps, 3, reject) - - collecs_1155 = [ NFTCollection(bytes.fromhex("495f947276749ce646f68ac8c248420045cb7b5e"), "OpenSea Shared Storefront", @@ -313,9 +211,7 @@ def nav_erc1155_set_approval_for_all(is_nano: bool, contract_erc1155), ] actions_1155 = [ - Action("safeTransferFrom", - [FROM, TO, NFTS[0][0], NFTS[0][1], DATA], - nav_erc1155_safe_transfer_from), + Action("safeTransferFrom", [FROM, TO, NFTS[0][0], NFTS[0][1], DATA]), Action("safeBatchTransferFrom", [ FROM, @@ -323,11 +219,8 @@ def nav_erc1155_set_approval_for_all(is_nano: bool, list(map(lambda nft: nft[0], NFTS)), list(map(lambda nft: nft[1], NFTS)), DATA - ], - nav_erc1155_safe_batch_transfer_from), - Action("setApprovalForAll", - [TO, False], - nav_erc1155_set_approval_for_all), + ]), + Action("setApprovalForAll", [TO, False]), ] @@ -343,14 +236,14 @@ def action_1155_fixture(request) -> Action: def test_erc1155(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, collec_1155: NFTCollection, action_1155: Action, reject: bool = False): common_test_nft(firmware, backend, - navigator, + scenario_navigator, default_screenshot_path, collec_1155, action_1155, @@ -360,12 +253,12 @@ def test_erc1155(firmware: Firmware, def test_erc1155_reject(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path): common_test_nft_reject(test_erc1155, firmware, backend, - navigator, + scenario_navigator, default_screenshot_path, collecs_1155[0], actions_1155[0]) diff --git a/tests/ragger/test_privacy_operation.py b/tests/ragger/test_privacy_operation.py new file mode 100644 index 000000000..4cd2dea24 --- /dev/null +++ b/tests/ragger/test_privacy_operation.py @@ -0,0 +1,34 @@ +import pytest + +from ragger.backend import BackendInterface +from ragger.backend.speculos import SpeculosBackend + +from client.client import EthAppClient, StatusWord + + +def test_perform_privacy_operation_public(backend: BackendInterface): + + if isinstance(backend, SpeculosBackend): + pytest.skip("Not supported on speculos") + + app_client = EthAppClient(backend) + + response = app_client.perform_privacy_operation() + assert response.status == StatusWord.OK + assert len(response.data) == 32 + print(f"Data: {response.data.hex()}") + + +def test_perform_privacy_operation_secret(backend: BackendInterface): + + if isinstance(backend, SpeculosBackend): + pytest.skip("Not supported on speculos") + + pubkey = "5901c19a086d1be4b907ec0325bffa758c3eb78192c3df4afa2afd2736a39963".encode("utf-8") + + app_client = EthAppClient(backend) + + response = app_client.perform_privacy_operation(pubkey=pubkey) + assert response.status == StatusWord.OK + assert len(response.data) == 32 + print(f"Data: {response.data.hex()}") diff --git a/tests/ragger/test_sign.py b/tests/ragger/test_sign.py index 6b82cb238..e7f668f24 100644 --- a/tests/ragger/test_sign.py +++ b/tests/ragger/test_sign.py @@ -1,15 +1,16 @@ from pathlib import Path from web3 import Web3 -from client.client import EthAppClient, StatusWord -import client.response_parser as ResponseParser -from client.settings import SettingID, settings_toggle -from client.utils import recover_transaction - from ragger.error import ExceptionRAPDU from ragger.backend import BackendInterface from ragger.firmware import Firmware from ragger.navigator import Navigator, NavInsID +from ragger.navigator.navigation_scenario import NavigateWithScenario + +from client.client import EthAppClient, StatusWord +import client.response_parser as ResponseParser +from client.settings import SettingID, settings_toggle +from client.utils import recover_transaction # Values used across all tests @@ -32,10 +33,12 @@ def common(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, tx_params: dict, test_name: str = "", - path: str = BIP32_PATH): + path: str = BIP32_PATH, + confirm: bool = False): app_client = EthAppClient(backend) with app_client.get_public_addr(bip32_path=path, display=False): @@ -43,23 +46,18 @@ def common(firmware: Firmware, _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) with app_client.sign(path, tx_params): + if not firmware.device.startswith("nano") and confirm: + navigator.navigate_and_compare(default_screenshot_path, + f"{test_name}/confirm", + [NavInsID.USE_CASE_CHOICE_CONFIRM], + screen_change_after_last_instruction=False) + if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK end_text = "Accept" else: - next_action = NavInsID.USE_CASE_REVIEW_TAP - confirm_action = NavInsID.USE_CASE_REVIEW_CONFIRM end_text = "Sign" - if test_name: - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - end_text, - default_screenshot_path, - test_name) - else: - navigator.navigate_until_text(next_action, [confirm_action], end_text) + scenario_navigator.review_approve(default_screenshot_path, test_name, end_text, (test_name != "")) # verify signature vrs = ResponseParser.signature(app_client.response().data) @@ -67,9 +65,8 @@ def common(firmware: Firmware, assert addr == DEVICE_ADDR -def common_reject(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, +def common_reject(backend: BackendInterface, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path, tx_params: dict, test_name: str, @@ -78,22 +75,7 @@ def common_reject(firmware: Firmware, try: with app_client.sign(path, tx_params): - if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Reject", - default_screenshot_path, - test_name) - else: - instructions = [NavInsID.USE_CASE_REVIEW_TAP] * 2 - instructions += [NavInsID.USE_CASE_CHOICE_REJECT, - NavInsID.USE_CASE_CHOICE_CONFIRM, - NavInsID.USE_CASE_STATUS_DISMISS] - navigator.navigate_and_compare(default_screenshot_path, - test_name, - instructions) + scenario_navigator.review_reject(default_screenshot_path, test_name) except ExceptionRAPDU as e: assert e.status == StatusWord.CONDITION_NOT_SATISFIED @@ -120,6 +102,7 @@ def common_fail(backend: BackendInterface, def test_legacy(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path): tx_params: dict = { "nonce": NONCE, @@ -129,7 +112,7 @@ def test_legacy(firmware: Firmware, "value": Web3.to_wei(AMOUNT, "ether"), "chainId": CHAIN_ID } - common(firmware, backend, navigator, default_screenshot_path, tx_params) + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params) # Transfer amount >= 2^87 Eth on Ethereum app should fail @@ -149,6 +132,7 @@ def test_legacy_send_error(backend: BackendInterface): def test_legacy_send_bsc(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): tx_params: dict = { @@ -159,15 +143,16 @@ def test_legacy_send_bsc(firmware: Firmware, "value": Web3.to_wei(AMOUNT2, "ether"), "chainId": 56 } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, BIP32_PATH2) + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params, test_name, BIP32_PATH2) # Transfer on network 112233445566 on Ethereum def test_legacy_chainid(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, - test_name: str, - default_screenshot_path: Path): + backend: BackendInterface, + navigator: Navigator, + scenario_navigator: NavigateWithScenario, + test_name: str, + default_screenshot_path: Path): tx_params: dict = { "nonce": NONCE2, "gasPrice": Web3.to_wei(GAS_PRICE, 'gwei'), @@ -176,13 +161,15 @@ def test_legacy_chainid(firmware: Firmware, "value": Web3.to_wei(AMOUNT2, "ether"), "chainId": 112233445566 } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, BIP32_PATH2) + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params, test_name, BIP32_PATH2) # Try to blind sign with setting disabled def test_legacy_contract(backend: BackendInterface): + # pylint: disable=line-too-long buffer = bytes.fromhex("058000002c8000003c800000010000000000000000f849208506fc23ac008303dc3194f650c3d88d12db855b8bf7d11be6c55a4e07dcc980a4a1712d6800000000000000000000000000000000000000000000000000000000000acbc7018080") + # pylint: enable=line-too-long app_client = EthAppClient(backend) try: @@ -195,6 +182,7 @@ def test_legacy_contract(backend: BackendInterface): def test_1559(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, default_screenshot_path: Path): tx_params: dict = { "nonce": NONCE, @@ -205,12 +193,13 @@ def test_1559(firmware: Firmware, "value": Web3.to_wei(AMOUNT, "ether"), "chainId": CHAIN_ID } - common(firmware, backend, navigator, default_screenshot_path, tx_params) + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params) def test_sign_simple(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): tx_params: dict = { @@ -221,12 +210,13 @@ def test_sign_simple(firmware: Firmware, "value": Web3.to_wei(AMOUNT2, "ether"), "chainId": CHAIN_ID } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") def test_sign_limit_nonce(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): tx_params: dict = { @@ -237,12 +227,13 @@ def test_sign_limit_nonce(firmware: Firmware, "value": 0x08762, "chainId": CHAIN_ID } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") def test_sign_nonce_display(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): @@ -256,12 +247,13 @@ def test_sign_nonce_display(firmware: Firmware, "value": Web3.to_wei(AMOUNT2, "ether"), "chainId": CHAIN_ID } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") def test_sign_blind_simple(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): settings_toggle(firmware, navigator, [SettingID.BLIND_SIGNING]) @@ -276,12 +268,21 @@ def test_sign_blind_simple(firmware: Firmware, "chainId": CHAIN_ID, "data": data.encode('utf-8').hex() } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") + common(firmware, + backend, + navigator, + scenario_navigator, + default_screenshot_path, + tx_params, + test_name, + "m/44'/60'/1'/0/0", + True) def test_sign_blind_and_nonce_display(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): settings_toggle(firmware, navigator, [SettingID.NONCE, SettingID.BLIND_SIGNING]) @@ -296,12 +297,19 @@ def test_sign_blind_and_nonce_display(firmware: Firmware, "chainId": CHAIN_ID, "data": data.encode('utf-8').hex() } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") - - -def test_sign_reject(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, + common(firmware, + backend, + navigator, + scenario_navigator, + default_screenshot_path, + tx_params, + test_name, + "m/44'/60'/1'/0/0", + True) + + +def test_sign_reject(backend: BackendInterface, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): tx_params: dict = { @@ -312,7 +320,7 @@ def test_sign_reject(firmware: Firmware, "value": Web3.to_wei(AMOUNT2, "ether"), "chainId": CHAIN_ID } - common_reject(firmware, backend, navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") + common_reject(backend, scenario_navigator, default_screenshot_path, tx_params, test_name, "m/44'/60'/1'/0/0") def test_sign_error_transaction_type(backend: BackendInterface): @@ -355,6 +363,7 @@ def test_sign_blind_error_disabled(backend: BackendInterface): def test_sign_eip_2930(firmware: Firmware, backend: BackendInterface, navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): @@ -374,4 +383,4 @@ def test_sign_eip_2930(firmware: Firmware, } ], } - common(firmware, backend, navigator, default_screenshot_path, tx_params, test_name) + common(firmware, backend, navigator, scenario_navigator, default_screenshot_path, tx_params, test_name) diff --git a/tests/ragger/usage.md b/tests/ragger/usage.md index 2a4954d9a..a7f83e1f4 100644 --- a/tests/ragger/usage.md +++ b/tests/ragger/usage.md @@ -61,12 +61,13 @@ Or you can refer to the section `Available pytest options` to configure the opti With Ethereum App, it is also possible to load an app (like a _plugin_), and use the `app-ethereum` like a _library_. Such case is tested with application clone, using `ThunderCore`. -This special configuration needs an additional command line parameter `--with_lib_mode`, where only the dedicated tests are selected. +This special configuration needs an additional command line parameter `--with_lib_mode`, +where only the dedicated tests are selected. ## Adding a test -When adding new Module for tests, just be carrefull to declare it correctly in order to be handled following the parameter `--with_lib_mode`. -please refer to `conftest.py`. +When adding new Module for tests, just be carrefull to declare it correctly in order to be handled +following the parameter `--with_lib_mode`. please refer to `conftest.py`. ## Available pytest options diff --git a/tools/gen_networks.py b/tools/gen_networks.py index 7c91b17a0..08b3da0b4 100755 --- a/tools/gen_networks.py +++ b/tools/gen_networks.py @@ -19,7 +19,7 @@ def __init__(self, chain_id: int, name: str, ticker: str): def get_network_glyph_name(net: Network) -> str: - return "stax_chain_%u_64px" % (net.chain_id) + return "chain_%u_64px" % (net.chain_id) def get_header() -> str: