From 3320f466e6d8f05ab653135029ba4839b5ea8a9e Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 28 Nov 2024 13:34:36 +0100 Subject: [PATCH 01/66] Bumped version to 1.14.0-dev --- CHANGELOG.md | 2 ++ Makefile | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dfd5448ce..044c1164f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [1.14.0](https://github.com/ledgerhq/app-ethereum/compare/1.13.0...1.14.0) - 202x-xx-xx + ## [1.13.0](https://github.com/ledgerhq/app-ethereum/compare/1.12.2...1.13.0) - 2024-11-26 ### Added diff --git a/Makefile b/Makefile index 12d3243bc..1178cee91 100644 --- a/Makefile +++ b/Makefile @@ -36,9 +36,9 @@ endif include ./makefile_conf/chain/$(CHAIN).mk APPVERSION_M = 1 -APPVERSION_N = 13 +APPVERSION_N = 14 APPVERSION_P = 0 -APPVERSION = $(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P) +APPVERSION = $(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)-dev # Application source files APP_SOURCE_PATH += src src_features src_plugins From dde0f3909d4a401bea5c475b53e82605eb564c62 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 4 Dec 2024 18:13:32 +0100 Subject: [PATCH 02/66] Updated plugin SDK submodule --- ethereum-plugin-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ethereum-plugin-sdk b/ethereum-plugin-sdk index 26662539b..059eddf08 160000 --- a/ethereum-plugin-sdk +++ b/ethereum-plugin-sdk @@ -1 +1 @@ -Subproject commit 26662539b1cd62ae7ef4826d66690dad80cb9bab +Subproject commit 059eddf085ef276324793c59351af7ab4636e1f3 From d12f31054f1382bfc6d38443f91e5dee07163ab4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Dec 2024 09:44:29 +0100 Subject: [PATCH 03/66] [auto-update] Update Ragger snapshots (#685) * [auto-update] Update Ragger snapshots * Regenerate clone tests snapshots --------- Co-authored-by: github-actions[bot] Co-authored-by: Francois Beutin --- .../flex/blind-signed_approval/00000.png | Bin 15425 -> 0 bytes .../flex/blind-signed_approval/00001.png | Bin 12446 -> 0 bytes .../erc1155_setApprovalForAll_137/00006.png | Bin 12446 -> 0 bytes .../flex/erc1155_setApprovalForAll_5/00006.png | Bin 12446 -> 0 bytes .../snapshots/flex/erc721_approve_1/00006.png | Bin 12446 -> 0 bytes .../00007.png | Bin 12446 -> 0 bytes .../flex/erc721_safeTransferFrom_1/00006.png | Bin 12446 -> 0 bytes .../flex/erc721_setApprovalForAll_137/00006.png | Bin 12446 -> 0 bytes .../flex/erc721_setApprovalForAll_5/00006.png | Bin 12446 -> 0 bytes .../flex/erc721_transferFrom_1/00006.png | Bin 12446 -> 0 bytes .../nanos/blind-signed_approval/00000.png | Bin 428 -> 0 bytes .../nanos/blind-signed_approval/00001.png | Bin 419 -> 0 bytes .../nanos/blind-signed_approval/00002.png | Bin 349 -> 0 bytes .../nanosp/blind-signed_approval/00000.png | Bin 587 -> 0 bytes .../nanosp/blind-signed_approval/00001.png | Bin 381 -> 0 bytes .../erc1155_safeBatchTransferFrom_1/00006.png | Bin 494 -> 504 bytes .../erc1155_safeBatchTransferFrom_1/00007.png | Bin 434 -> 436 bytes .../erc1155_safeBatchTransferFrom_1/00009.png | Bin 381 -> 382 bytes .../erc1155_safeBatchTransferFrom_137/00006.png | Bin 494 -> 504 bytes .../erc1155_safeBatchTransferFrom_137/00008.png | Bin 425 -> 426 bytes .../erc1155_safeBatchTransferFrom_137/00010.png | Bin 381 -> 382 bytes .../erc1155_safeBatchTransferFrom_5/00006.png | Bin 494 -> 504 bytes .../erc1155_safeBatchTransferFrom_5/00008.png | Bin 434 -> 436 bytes .../erc1155_safeBatchTransferFrom_5/00010.png | Bin 381 -> 382 bytes .../00007.png | Bin 322 -> 331 bytes .../00008.png | Bin 434 -> 436 bytes .../00010.png | Bin 366 -> 367 bytes .../00011.png | Bin 381 -> 382 bytes .../nanosp/erc1155_safeTransferFrom_1/00007.png | Bin 322 -> 331 bytes .../nanosp/erc1155_safeTransferFrom_1/00008.png | Bin 434 -> 436 bytes .../nanosp/erc1155_safeTransferFrom_1/00010.png | Bin 381 -> 382 bytes .../erc1155_safeTransferFrom_137/00007.png | Bin 322 -> 331 bytes .../erc1155_safeTransferFrom_137/00009.png | Bin 425 -> 426 bytes .../erc1155_safeTransferFrom_137/00011.png | Bin 381 -> 382 bytes .../nanosp/erc1155_safeTransferFrom_5/00007.png | Bin 322 -> 331 bytes .../nanosp/erc1155_safeTransferFrom_5/00009.png | Bin 434 -> 436 bytes .../nanosp/erc1155_safeTransferFrom_5/00011.png | Bin 381 -> 382 bytes .../erc1155_setApprovalForAll_1/00004.png | Bin 594 -> 592 bytes .../erc1155_setApprovalForAll_1/00006.png | Bin 434 -> 436 bytes .../erc1155_setApprovalForAll_1/00008.png | Bin 381 -> 382 bytes .../erc1155_setApprovalForAll_137/00004.png | Bin 532 -> 533 bytes .../erc1155_setApprovalForAll_137/00007.png | Bin 425 -> 426 bytes .../erc1155_setApprovalForAll_137/00009.png | Bin 381 -> 382 bytes .../erc1155_setApprovalForAll_5/00004.png | Bin 532 -> 533 bytes .../erc1155_setApprovalForAll_5/00007.png | Bin 434 -> 436 bytes .../erc1155_setApprovalForAll_5/00009.png | Bin 381 -> 382 bytes .../snapshots/nanosp/erc721_approve_1/00004.png | Bin 561 -> 562 bytes .../snapshots/nanosp/erc721_approve_1/00007.png | Bin 434 -> 436 bytes .../snapshots/nanosp/erc721_approve_1/00009.png | Bin 381 -> 382 bytes .../nanosp/erc721_approve_137/00004.png | Bin 448 -> 450 bytes .../nanosp/erc721_approve_137/00008.png | Bin 425 -> 426 bytes .../nanosp/erc721_approve_137/00010.png | Bin 381 -> 382 bytes .../snapshots/nanosp/erc721_approve_5/00004.png | Bin 485 -> 486 bytes .../snapshots/nanosp/erc721_approve_5/00008.png | Bin 434 -> 436 bytes .../snapshots/nanosp/erc721_approve_5/00010.png | Bin 381 -> 382 bytes .../00004.png | Bin 550 -> 550 bytes .../00007.png | Bin 434 -> 436 bytes .../00009.png | Bin 366 -> 367 bytes .../00010.png | Bin 381 -> 382 bytes .../nanosp/erc721_safeTransferFrom_1/00004.png | Bin 550 -> 550 bytes .../nanosp/erc721_safeTransferFrom_1/00007.png | Bin 434 -> 436 bytes .../nanosp/erc721_safeTransferFrom_1/00009.png | Bin 381 -> 382 bytes .../erc721_safeTransferFrom_137/00008.png | Bin 425 -> 426 bytes .../erc721_safeTransferFrom_137/00010.png | Bin 381 -> 382 bytes .../nanosp/erc721_safeTransferFrom_5/00008.png | Bin 434 -> 436 bytes .../nanosp/erc721_safeTransferFrom_5/00010.png | Bin 381 -> 382 bytes .../nanosp/erc721_setApprovalForAll_1/00004.png | Bin 552 -> 553 bytes .../nanosp/erc721_setApprovalForAll_1/00006.png | Bin 434 -> 436 bytes .../nanosp/erc721_setApprovalForAll_1/00008.png | Bin 381 -> 382 bytes .../erc721_setApprovalForAll_137/00004.png | Bin 436 -> 436 bytes .../erc721_setApprovalForAll_137/00007.png | Bin 425 -> 426 bytes .../erc721_setApprovalForAll_137/00009.png | Bin 381 -> 382 bytes .../nanosp/erc721_setApprovalForAll_5/00004.png | Bin 469 -> 468 bytes .../nanosp/erc721_setApprovalForAll_5/00007.png | Bin 434 -> 436 bytes .../nanosp/erc721_setApprovalForAll_5/00009.png | Bin 381 -> 382 bytes .../nanosp/erc721_transferFrom_1/00004.png | Bin 550 -> 550 bytes .../nanosp/erc721_transferFrom_1/00007.png | Bin 434 -> 436 bytes .../nanosp/erc721_transferFrom_1/00009.png | Bin 381 -> 382 bytes .../nanosp/erc721_transferFrom_137/00008.png | Bin 425 -> 426 bytes .../nanosp/erc721_transferFrom_137/00010.png | Bin 381 -> 382 bytes .../nanosp/erc721_transferFrom_5/00008.png | Bin 434 -> 436 bytes .../nanosp/erc721_transferFrom_5/00010.png | Bin 381 -> 382 bytes .../ragger/snapshots/nanosp/get_pk_1/00003.png | Bin 381 -> 382 bytes .../snapshots/nanosp/get_pk_137/00003.png | Bin 381 -> 382 bytes .../ragger/snapshots/nanosp/get_pk_2/00003.png | Bin 381 -> 382 bytes .../ragger/snapshots/nanosp/get_pk_5/00003.png | Bin 381 -> 382 bytes .../snapshots/nanosp/get_pk_None/00003.png | Bin 381 -> 382 bytes .../nanosp/get_pk_rejected_60/00003.png | Bin 366 -> 367 bytes .../nanosp/get_pk_rejected_60/00004.png | Bin 381 -> 382 bytes .../nanosp/get_pk_rejected_700/00003.png | Bin 366 -> 367 bytes .../nanosp/get_pk_rejected_700/00004.png | Bin 381 -> 382 bytes .../test_blind_sign_not_enabled_error/00000.png | Bin 587 -> 587 bytes .../test_blind_sign_not_enabled_error/00001.png | Bin 381 -> 382 bytes .../nanosp/test_blind_sign_rejected/00005.png | Bin 440 -> 442 bytes .../nanosp/test_blind_sign_rejected/00006.png | Bin 512 -> 512 bytes .../nanosp/test_blind_sign_rejected/00007.png | Bin 366 -> 367 bytes .../nanosp/test_blind_sign_rejected/00008.png | Bin 381 -> 382 bytes .../nanosp/test_blind_sign_signed/00005.png | Bin 440 -> 442 bytes .../nanosp/test_blind_sign_signed/00006.png | Bin 512 -> 512 bytes .../nanosp/test_blind_sign_signed/00007.png | Bin 381 -> 382 bytes .../snapshots/nanosp/test_clone_thundercore | 1 - .../nanosp/test_clone_thundercore/00000.png | Bin 0 -> 414 bytes .../nanosp/test_clone_thundercore/00001.png | Bin 0 -> 715 bytes .../nanosp/test_clone_thundercore/00002.png | Bin 0 -> 410 bytes .../nanosp/test_clone_thundercore/00003.png | Bin 0 -> 719 bytes .../nanosp/test_clone_thundercore/00004.png | Bin 0 -> 414 bytes .../nanosp/test_clone_thundercore/00005.png | Bin 0 -> 472 bytes .../test_clone_thundercore/00006.png} | Bin .../test_eip712_advanced_filtering/00007.png | Bin 381 -> 382 bytes .../00001.png | Bin 431 -> 436 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00001.png | Bin 489 -> 487 bytes .../00005.png | Bin 381 -> 382 bytes .../00001.png | Bin 489 -> 487 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../test_eip712_filtering_empty_array/00002.png | Bin 390 -> 389 bytes .../test_eip712_filtering_empty_array/00004.png | Bin 381 -> 382 bytes tests/ragger/snapshots/nanosp/test_get_eth2_pk | 1 - .../snapshots/nanosp/test_get_eth2_pk/00000.png | Bin 0 -> 477 bytes .../snapshots/nanosp/test_get_eth2_pk/00001.png | Bin 0 -> 913 bytes .../snapshots/nanosp/test_get_eth2_pk/00002.png | Bin 0 -> 829 bytes .../snapshots/nanosp/test_get_eth2_pk/00003.png | Bin 0 -> 364 bytes .../snapshots/nanosp/test_get_eth2_pk/00004.png | Bin 0 -> 382 bytes .../ragger/snapshots/nanosp/test_legacy_chainid | 1 - .../nanosp/test_legacy_chainid/00000.png | Bin 0 -> 414 bytes .../nanosp/test_legacy_chainid/00001.png | Bin 0 -> 760 bytes .../nanosp/test_legacy_chainid/00002.png | Bin 0 -> 410 bytes .../nanosp/test_legacy_chainid/00003.png | Bin 0 -> 719 bytes .../nanosp/test_legacy_chainid/00004.png | Bin 0 -> 424 bytes .../nanosp/test_legacy_chainid/00005.png | Bin 0 -> 424 bytes .../nanosp/test_legacy_chainid/00006.png | Bin 0 -> 472 bytes .../nanosp/test_legacy_chainid/00007.png | Bin 0 -> 382 bytes .../snapshots/nanosp/test_legacy_send_bsc | 1 - .../nanosp/test_legacy_send_bsc/00000.png | Bin 0 -> 414 bytes .../nanosp/test_legacy_send_bsc/00001.png | Bin 0 -> 760 bytes .../nanosp/test_legacy_send_bsc/00002.png | Bin 0 -> 432 bytes .../nanosp/test_legacy_send_bsc/00003.png | Bin 0 -> 719 bytes .../nanosp/test_legacy_send_bsc/00004.png | Bin 0 -> 373 bytes .../nanosp/test_legacy_send_bsc/00005.png | Bin 0 -> 440 bytes .../nanosp/test_legacy_send_bsc/00006.png | Bin 0 -> 472 bytes .../nanosp/test_legacy_send_bsc/00007.png | Bin 0 -> 382 bytes .../nanosp/test_personal_sign_metamask | 1 - .../test_personal_sign_metamask/00000.png | Bin 0 -> 418 bytes .../test_personal_sign_metamask/00001.png | Bin 0 -> 623 bytes .../test_personal_sign_metamask/00002.png | Bin 0 -> 457 bytes .../test_personal_sign_metamask/00003.png | Bin 0 -> 382 bytes .../nanosp/test_personal_sign_non_ascii | 1 - .../test_personal_sign_non_ascii/00000.png | Bin 0 -> 418 bytes .../test_personal_sign_non_ascii/00001.png | Bin 0 -> 917 bytes .../test_personal_sign_non_ascii/00002.png | Bin 0 -> 526 bytes .../test_personal_sign_non_ascii/00003.png | Bin 0 -> 457 bytes .../test_personal_sign_non_ascii/00004.png | Bin 0 -> 382 bytes .../snapshots/nanosp/test_personal_sign_opensea | 1 - .../nanosp/test_personal_sign_opensea/00000.png | Bin 0 -> 418 bytes .../nanosp/test_personal_sign_opensea/00001.png | Bin 0 -> 857 bytes .../nanosp/test_personal_sign_opensea/00002.png | Bin 0 -> 829 bytes .../nanosp/test_personal_sign_opensea/00003.png | Bin 0 -> 723 bytes .../nanosp/test_personal_sign_opensea/00004.png | Bin 0 -> 849 bytes .../nanosp/test_personal_sign_opensea/00005.png | Bin 0 -> 626 bytes .../nanosp/test_personal_sign_opensea/00006.png | Bin 0 -> 618 bytes .../nanosp/test_personal_sign_opensea/00007.png | Bin 0 -> 912 bytes .../nanosp/test_personal_sign_opensea/00008.png | Bin 0 -> 692 bytes .../nanosp/test_personal_sign_opensea/00009.png | Bin 0 -> 457 bytes .../nanosp/test_personal_sign_opensea/00010.png | Bin 0 -> 382 bytes .../snapshots/nanosp/test_personal_sign_reject | 1 - .../nanosp/test_personal_sign_reject/00000.png | Bin 0 -> 418 bytes .../nanosp/test_personal_sign_reject/00001.png | Bin 0 -> 503 bytes .../nanosp/test_personal_sign_reject/00002.png | Bin 0 -> 457 bytes .../nanosp/test_personal_sign_reject/00003.png | Bin 0 -> 499 bytes .../nanosp/test_personal_sign_reject/00004.png | Bin 0 -> 382 bytes .../ragger/snapshots/nanosp/test_sign_eip_2930 | 1 - .../nanosp/test_sign_eip_2930/00000.png | Bin 0 -> 414 bytes .../nanosp/test_sign_eip_2930/00001.png | Bin 0 -> 702 bytes .../nanosp/test_sign_eip_2930/00002.png | Bin 0 -> 370 bytes .../nanosp/test_sign_eip_2930/00003.png | Bin 0 -> 714 bytes .../nanosp/test_sign_eip_2930/00004.png | Bin 0 -> 409 bytes .../nanosp/test_sign_eip_2930/00005.png | Bin 0 -> 418 bytes .../nanosp/test_sign_eip_2930/00006.png | Bin 0 -> 472 bytes .../nanosp/test_sign_eip_2930/00007.png | Bin 0 -> 382 bytes .../snapshots/nanosp/test_sign_limit_nonce | 1 - .../nanosp/test_sign_limit_nonce/00000.png | Bin 0 -> 414 bytes .../nanosp/test_sign_limit_nonce/00001.png | Bin 0 -> 760 bytes .../nanosp/test_sign_limit_nonce/00002.png | Bin 0 -> 478 bytes .../nanosp/test_sign_limit_nonce/00003.png | Bin 0 -> 719 bytes .../nanosp/test_sign_limit_nonce/00004.png | Bin 0 -> 399 bytes .../nanosp/test_sign_limit_nonce/00005.png | Bin 0 -> 472 bytes .../nanosp/test_sign_limit_nonce/00006.png | Bin 0 -> 382 bytes .../snapshots/nanosp/test_sign_nonce_display | 1 - .../nanosp/test_sign_nonce_display/00000.png | Bin 0 -> 414 bytes .../nanosp/test_sign_nonce_display/00001.png | Bin 0 -> 760 bytes .../nanosp/test_sign_nonce_display/00002.png | Bin 0 -> 419 bytes .../nanosp/test_sign_nonce_display/00003.png | Bin 0 -> 719 bytes .../nanosp/test_sign_nonce_display/00004.png | Bin 0 -> 306 bytes .../nanosp/test_sign_nonce_display/00005.png | Bin 0 -> 436 bytes .../nanosp/test_sign_nonce_display/00006.png | Bin 0 -> 472 bytes .../nanosp/test_sign_nonce_display/00007.png | Bin 0 -> 382 bytes .../test_sign_parameter_selector/00014.png | Bin 440 -> 442 bytes .../test_sign_parameter_selector/00015.png | Bin 512 -> 512 bytes .../test_sign_parameter_selector/00016.png | Bin 381 -> 382 bytes tests/ragger/snapshots/nanosp/test_sign_reject | 1 - .../snapshots/nanosp/test_sign_reject/00000.png | Bin 0 -> 414 bytes .../snapshots/nanosp/test_sign_reject/00001.png | Bin 0 -> 760 bytes .../snapshots/nanosp/test_sign_reject/00002.png | Bin 0 -> 419 bytes .../snapshots/nanosp/test_sign_reject/00003.png | Bin 0 -> 719 bytes .../snapshots/nanosp/test_sign_reject/00004.png | Bin 0 -> 436 bytes .../snapshots/nanosp/test_sign_reject/00005.png | Bin 0 -> 472 bytes .../snapshots/nanosp/test_sign_reject/00006.png | Bin 0 -> 367 bytes .../snapshots/nanosp/test_sign_reject/00007.png | Bin 0 -> 382 bytes tests/ragger/snapshots/nanosp/test_sign_simple | 1 - .../snapshots/nanosp/test_sign_simple/00000.png | Bin 0 -> 414 bytes .../snapshots/nanosp/test_sign_simple/00001.png | Bin 0 -> 760 bytes .../snapshots/nanosp/test_sign_simple/00002.png | Bin 0 -> 419 bytes .../snapshots/nanosp/test_sign_simple/00003.png | Bin 0 -> 719 bytes .../snapshots/nanosp/test_sign_simple/00004.png | Bin 0 -> 436 bytes .../snapshots/nanosp/test_sign_simple/00005.png | Bin 0 -> 472 bytes .../snapshots/nanosp/test_sign_simple/00006.png | Bin 0 -> 382 bytes .../nanosp/test_trusted_name_v1/00003.png | Bin 446 -> 443 bytes .../nanosp/test_trusted_name_v1/00004.png | Bin 434 -> 436 bytes .../nanosp/test_trusted_name_v1/00006.png | Bin 381 -> 382 bytes .../test_trusted_name_v1_non_mainnet/00003.png | Bin 446 -> 443 bytes .../test_trusted_name_v1_non_mainnet/00005.png | Bin 434 -> 436 bytes .../test_trusted_name_v1_non_mainnet/00007.png | Bin 381 -> 382 bytes .../00005.png | Bin 420 -> 424 bytes .../00007.png | Bin 381 -> 382 bytes .../test_trusted_name_v1_verbose/00003.png | Bin 446 -> 443 bytes .../test_trusted_name_v1_verbose/00005.png | Bin 434 -> 436 bytes .../test_trusted_name_v1_verbose/00007.png | Bin 381 -> 382 bytes .../test_trusted_name_v1_wrong_addr/00004.png | Bin 434 -> 436 bytes .../test_trusted_name_v1_wrong_addr/00006.png | Bin 381 -> 382 bytes .../nanosp/test_trusted_name_v2/00003.png | Bin 446 -> 443 bytes .../nanosp/test_trusted_name_v2/00004.png | Bin 434 -> 436 bytes .../nanosp/test_trusted_name_v2/00006.png | Bin 381 -> 382 bytes .../00005.png | Bin 420 -> 424 bytes .../00007.png | Bin 381 -> 382 bytes .../nanox/blind-signed_approval/00000.png | Bin 587 -> 0 bytes .../nanox/blind-signed_approval/00001.png | Bin 381 -> 0 bytes .../erc1155_safeBatchTransferFrom_1/00006.png | Bin 494 -> 504 bytes .../erc1155_safeBatchTransferFrom_1/00007.png | Bin 434 -> 436 bytes .../erc1155_safeBatchTransferFrom_1/00009.png | Bin 381 -> 382 bytes .../erc1155_safeBatchTransferFrom_137/00006.png | Bin 494 -> 504 bytes .../erc1155_safeBatchTransferFrom_137/00008.png | Bin 425 -> 426 bytes .../erc1155_safeBatchTransferFrom_137/00010.png | Bin 381 -> 382 bytes .../erc1155_safeBatchTransferFrom_5/00006.png | Bin 494 -> 504 bytes .../erc1155_safeBatchTransferFrom_5/00008.png | Bin 434 -> 436 bytes .../erc1155_safeBatchTransferFrom_5/00010.png | Bin 381 -> 382 bytes .../00007.png | Bin 322 -> 331 bytes .../00008.png | Bin 434 -> 436 bytes .../00010.png | Bin 366 -> 367 bytes .../00011.png | Bin 381 -> 382 bytes .../nanox/erc1155_safeTransferFrom_1/00007.png | Bin 322 -> 331 bytes .../nanox/erc1155_safeTransferFrom_1/00008.png | Bin 434 -> 436 bytes .../nanox/erc1155_safeTransferFrom_1/00010.png | Bin 381 -> 382 bytes .../erc1155_safeTransferFrom_137/00007.png | Bin 322 -> 331 bytes .../erc1155_safeTransferFrom_137/00009.png | Bin 425 -> 426 bytes .../erc1155_safeTransferFrom_137/00011.png | Bin 381 -> 382 bytes .../nanox/erc1155_safeTransferFrom_5/00007.png | Bin 322 -> 331 bytes .../nanox/erc1155_safeTransferFrom_5/00009.png | Bin 434 -> 436 bytes .../nanox/erc1155_safeTransferFrom_5/00011.png | Bin 381 -> 382 bytes .../nanox/erc1155_setApprovalForAll_1/00004.png | Bin 594 -> 592 bytes .../nanox/erc1155_setApprovalForAll_1/00006.png | Bin 434 -> 436 bytes .../nanox/erc1155_setApprovalForAll_1/00008.png | Bin 381 -> 382 bytes .../erc1155_setApprovalForAll_137/00004.png | Bin 532 -> 533 bytes .../erc1155_setApprovalForAll_137/00007.png | Bin 425 -> 426 bytes .../erc1155_setApprovalForAll_137/00009.png | Bin 381 -> 382 bytes .../nanox/erc1155_setApprovalForAll_5/00004.png | Bin 532 -> 533 bytes .../nanox/erc1155_setApprovalForAll_5/00007.png | Bin 434 -> 436 bytes .../nanox/erc1155_setApprovalForAll_5/00009.png | Bin 381 -> 382 bytes .../snapshots/nanox/erc721_approve_1/00004.png | Bin 561 -> 562 bytes .../snapshots/nanox/erc721_approve_1/00007.png | Bin 434 -> 436 bytes .../snapshots/nanox/erc721_approve_1/00009.png | Bin 381 -> 382 bytes .../nanox/erc721_approve_137/00004.png | Bin 448 -> 450 bytes .../nanox/erc721_approve_137/00008.png | Bin 425 -> 426 bytes .../nanox/erc721_approve_137/00010.png | Bin 381 -> 382 bytes .../snapshots/nanox/erc721_approve_5/00004.png | Bin 485 -> 486 bytes .../snapshots/nanox/erc721_approve_5/00008.png | Bin 434 -> 436 bytes .../snapshots/nanox/erc721_approve_5/00010.png | Bin 381 -> 382 bytes .../00004.png | Bin 550 -> 550 bytes .../00007.png | Bin 434 -> 436 bytes .../00009.png | Bin 366 -> 367 bytes .../00010.png | Bin 381 -> 382 bytes .../nanox/erc721_safeTransferFrom_1/00004.png | Bin 550 -> 550 bytes .../nanox/erc721_safeTransferFrom_1/00007.png | Bin 434 -> 436 bytes .../nanox/erc721_safeTransferFrom_1/00009.png | Bin 381 -> 382 bytes .../nanox/erc721_safeTransferFrom_137/00008.png | Bin 425 -> 426 bytes .../nanox/erc721_safeTransferFrom_137/00010.png | Bin 381 -> 382 bytes .../nanox/erc721_safeTransferFrom_5/00008.png | Bin 434 -> 436 bytes .../nanox/erc721_safeTransferFrom_5/00010.png | Bin 381 -> 382 bytes .../nanox/erc721_setApprovalForAll_1/00004.png | Bin 552 -> 553 bytes .../nanox/erc721_setApprovalForAll_1/00006.png | Bin 434 -> 436 bytes .../nanox/erc721_setApprovalForAll_1/00008.png | Bin 381 -> 382 bytes .../erc721_setApprovalForAll_137/00004.png | Bin 436 -> 436 bytes .../erc721_setApprovalForAll_137/00007.png | Bin 425 -> 426 bytes .../erc721_setApprovalForAll_137/00009.png | Bin 381 -> 382 bytes .../nanox/erc721_setApprovalForAll_5/00004.png | Bin 469 -> 468 bytes .../nanox/erc721_setApprovalForAll_5/00007.png | Bin 434 -> 436 bytes .../nanox/erc721_setApprovalForAll_5/00009.png | Bin 381 -> 382 bytes .../nanox/erc721_transferFrom_1/00004.png | Bin 550 -> 550 bytes .../nanox/erc721_transferFrom_1/00007.png | Bin 434 -> 436 bytes .../nanox/erc721_transferFrom_1/00009.png | Bin 381 -> 382 bytes .../nanox/erc721_transferFrom_137/00008.png | Bin 425 -> 426 bytes .../nanox/erc721_transferFrom_137/00010.png | Bin 381 -> 382 bytes .../nanox/erc721_transferFrom_5/00008.png | Bin 434 -> 436 bytes .../nanox/erc721_transferFrom_5/00010.png | Bin 381 -> 382 bytes tests/ragger/snapshots/nanox/get_pk_1/00003.png | Bin 381 -> 382 bytes .../ragger/snapshots/nanox/get_pk_137/00003.png | Bin 381 -> 382 bytes tests/ragger/snapshots/nanox/get_pk_2/00003.png | Bin 381 -> 382 bytes tests/ragger/snapshots/nanox/get_pk_5/00003.png | Bin 381 -> 382 bytes .../snapshots/nanox/get_pk_None/00003.png | Bin 381 -> 382 bytes .../nanox/get_pk_rejected_60/00003.png | Bin 366 -> 367 bytes .../nanox/get_pk_rejected_60/00004.png | Bin 381 -> 382 bytes .../nanox/get_pk_rejected_700/00003.png | Bin 366 -> 367 bytes .../nanox/get_pk_rejected_700/00004.png | Bin 381 -> 382 bytes .../test_blind_sign_not_enabled_error/00000.png | Bin 587 -> 587 bytes .../test_blind_sign_not_enabled_error/00001.png | Bin 381 -> 382 bytes .../nanox/test_blind_sign_rejected/00005.png | Bin 440 -> 442 bytes .../nanox/test_blind_sign_rejected/00006.png | Bin 512 -> 512 bytes .../nanox/test_blind_sign_rejected/00007.png | Bin 366 -> 367 bytes .../nanox/test_blind_sign_rejected/00008.png | Bin 381 -> 382 bytes .../nanox/test_blind_sign_signed/00005.png | Bin 440 -> 442 bytes .../nanox/test_blind_sign_signed/00006.png | Bin 512 -> 512 bytes .../nanox/test_blind_sign_signed/00007.png | Bin 381 -> 382 bytes .../nanox/test_clone_thundercore/00004.png | Bin 410 -> 414 bytes .../nanox/test_clone_thundercore/00006.png | Bin 381 -> 382 bytes .../test_eip712_advanced_filtering/00007.png | Bin 381 -> 382 bytes .../00001.png | Bin 431 -> 436 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00001.png | Bin 489 -> 487 bytes .../00005.png | Bin 381 -> 382 bytes .../00001.png | Bin 489 -> 487 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../00005.png | Bin 381 -> 382 bytes .../test_eip712_filtering_empty_array/00002.png | Bin 390 -> 389 bytes .../test_eip712_filtering_empty_array/00004.png | Bin 381 -> 382 bytes .../snapshots/nanox/test_get_eth2_pk/00000.png | Bin 477 -> 477 bytes .../snapshots/nanox/test_get_eth2_pk/00001.png | Bin 904 -> 913 bytes .../snapshots/nanox/test_get_eth2_pk/00002.png | Bin 820 -> 829 bytes .../snapshots/nanox/test_get_eth2_pk/00004.png | Bin 381 -> 382 bytes .../nanox/test_legacy_chainid/00005.png | Bin 420 -> 424 bytes .../nanox/test_legacy_chainid/00007.png | Bin 381 -> 382 bytes .../nanox/test_legacy_send_bsc/00005.png | Bin 438 -> 440 bytes .../nanox/test_legacy_send_bsc/00007.png | Bin 381 -> 382 bytes .../nanox/test_personal_sign_metamask/00003.png | Bin 381 -> 382 bytes .../test_personal_sign_non_ascii/00004.png | Bin 381 -> 382 bytes .../nanox/test_personal_sign_opensea/00001.png | Bin 857 -> 857 bytes .../nanox/test_personal_sign_opensea/00002.png | Bin 832 -> 829 bytes .../nanox/test_personal_sign_opensea/00003.png | Bin 720 -> 723 bytes .../nanox/test_personal_sign_opensea/00004.png | Bin 850 -> 849 bytes .../nanox/test_personal_sign_opensea/00006.png | Bin 621 -> 618 bytes .../nanox/test_personal_sign_opensea/00010.png | Bin 381 -> 382 bytes .../nanox/test_personal_sign_reject/00001.png | Bin 500 -> 503 bytes .../nanox/test_personal_sign_reject/00004.png | Bin 381 -> 382 bytes .../nanox/test_sign_eip_2930/00005.png | Bin 416 -> 418 bytes .../nanox/test_sign_eip_2930/00007.png | Bin 381 -> 382 bytes .../nanox/test_sign_limit_nonce/00004.png | Bin 399 -> 399 bytes .../nanox/test_sign_limit_nonce/00006.png | Bin 381 -> 382 bytes .../nanox/test_sign_nonce_display/00005.png | Bin 434 -> 436 bytes .../nanox/test_sign_nonce_display/00007.png | Bin 381 -> 382 bytes .../test_sign_parameter_selector/00014.png | Bin 440 -> 442 bytes .../test_sign_parameter_selector/00015.png | Bin 512 -> 512 bytes .../test_sign_parameter_selector/00016.png | Bin 381 -> 382 bytes .../snapshots/nanox/test_sign_reject/00004.png | Bin 434 -> 436 bytes .../snapshots/nanox/test_sign_reject/00006.png | Bin 366 -> 367 bytes .../snapshots/nanox/test_sign_reject/00007.png | Bin 381 -> 382 bytes .../snapshots/nanox/test_sign_simple/00004.png | Bin 434 -> 436 bytes .../snapshots/nanox/test_sign_simple/00006.png | Bin 381 -> 382 bytes .../nanox/test_trusted_name_v1/00003.png | Bin 446 -> 443 bytes .../nanox/test_trusted_name_v1/00004.png | Bin 434 -> 436 bytes .../nanox/test_trusted_name_v1/00006.png | Bin 381 -> 382 bytes .../test_trusted_name_v1_non_mainnet/00003.png | Bin 446 -> 443 bytes .../test_trusted_name_v1_non_mainnet/00005.png | Bin 434 -> 436 bytes .../test_trusted_name_v1_non_mainnet/00007.png | Bin 381 -> 382 bytes .../00005.png | Bin 420 -> 424 bytes .../00007.png | Bin 381 -> 382 bytes .../test_trusted_name_v1_verbose/00003.png | Bin 446 -> 443 bytes .../test_trusted_name_v1_verbose/00005.png | Bin 434 -> 436 bytes .../test_trusted_name_v1_verbose/00007.png | Bin 381 -> 382 bytes .../test_trusted_name_v1_wrong_addr/00004.png | Bin 434 -> 436 bytes .../test_trusted_name_v1_wrong_addr/00006.png | Bin 381 -> 382 bytes .../nanox/test_trusted_name_v2/00003.png | Bin 446 -> 443 bytes .../nanox/test_trusted_name_v2/00004.png | Bin 434 -> 436 bytes .../nanox/test_trusted_name_v2/00006.png | Bin 381 -> 382 bytes .../00005.png | Bin 420 -> 424 bytes .../00007.png | Bin 381 -> 382 bytes .../stax/blind-signed_approval/00000.png | Bin 13105 -> 0 bytes .../stax/blind-signed_approval/00001.png | Bin 10883 -> 0 bytes .../snapshots/stax/test_sign_reject/00006.png | Bin 10883 -> 0 bytes .../snapshots/stax/test_sign_simple/00005.png | Bin 10883 -> 0 bytes .../stax/test_trusted_name_v1/00005.png | Bin 10883 -> 0 bytes .../test_trusted_name_v1_non_mainnet/00005.png | Bin 10883 -> 0 bytes .../test_trusted_name_v1_wrong_addr/00005.png | Bin 10883 -> 0 bytes 407 files changed, 13 deletions(-) delete mode 100644 tests/ragger/snapshots/flex/blind-signed_approval/00000.png delete mode 100644 tests/ragger/snapshots/flex/blind-signed_approval/00001.png delete mode 100644 tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00006.png delete mode 100644 tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00006.png delete mode 100644 tests/ragger/snapshots/flex/erc721_approve_1/00006.png delete mode 100644 tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00007.png delete mode 100644 tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00006.png delete mode 100644 tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00006.png delete mode 100644 tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00006.png delete mode 100644 tests/ragger/snapshots/flex/erc721_transferFrom_1/00006.png delete mode 100644 tests/ragger/snapshots/nanos/blind-signed_approval/00000.png delete mode 100644 tests/ragger/snapshots/nanos/blind-signed_approval/00001.png delete mode 100644 tests/ragger/snapshots/nanos/blind-signed_approval/00002.png delete mode 100644 tests/ragger/snapshots/nanosp/blind-signed_approval/00000.png delete mode 100644 tests/ragger/snapshots/nanosp/blind-signed_approval/00001.png delete mode 120000 tests/ragger/snapshots/nanosp/test_clone_thundercore create mode 100644 tests/ragger/snapshots/nanosp/test_clone_thundercore/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_clone_thundercore/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_clone_thundercore/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_clone_thundercore/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_clone_thundercore/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_clone_thundercore/00005.png rename tests/ragger/snapshots/{nanox/test_clone_thundercore/00007.png => nanosp/test_clone_thundercore/00006.png} (100%) delete mode 120000 tests/ragger/snapshots/nanosp/test_get_eth2_pk create mode 100644 tests/ragger/snapshots/nanosp/test_get_eth2_pk/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_get_eth2_pk/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_get_eth2_pk/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_get_eth2_pk/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_get_eth2_pk/00004.png delete mode 120000 tests/ragger/snapshots/nanosp/test_legacy_chainid create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_chainid/00007.png delete mode 120000 tests/ragger/snapshots/nanosp/test_legacy_send_bsc create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00007.png delete mode 120000 tests/ragger/snapshots/nanosp/test_personal_sign_metamask create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00003.png delete mode 120000 tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00004.png delete mode 120000 tests/ragger/snapshots/nanosp/test_personal_sign_opensea create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00007.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00008.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00009.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00010.png delete mode 120000 tests/ragger/snapshots/nanosp/test_personal_sign_reject create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_reject/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_reject/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_reject/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_reject/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_personal_sign_reject/00004.png delete mode 120000 tests/ragger/snapshots/nanosp/test_sign_eip_2930 create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_eip_2930/00007.png delete mode 120000 tests/ragger/snapshots/nanosp/test_sign_limit_nonce create mode 100644 tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00006.png delete mode 120000 tests/ragger/snapshots/nanosp/test_sign_nonce_display create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_nonce_display/00007.png delete mode 120000 tests/ragger/snapshots/nanosp/test_sign_reject create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_reject/00007.png delete mode 120000 tests/ragger/snapshots/nanosp/test_sign_simple create mode 100644 tests/ragger/snapshots/nanosp/test_sign_simple/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_simple/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_simple/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_simple/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_simple/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_simple/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_simple/00006.png delete mode 100644 tests/ragger/snapshots/nanox/blind-signed_approval/00000.png delete mode 100644 tests/ragger/snapshots/nanox/blind-signed_approval/00001.png delete mode 100644 tests/ragger/snapshots/stax/blind-signed_approval/00000.png delete mode 100644 tests/ragger/snapshots/stax/blind-signed_approval/00001.png delete mode 100644 tests/ragger/snapshots/stax/test_sign_reject/00006.png delete mode 100644 tests/ragger/snapshots/stax/test_sign_simple/00005.png delete mode 100644 tests/ragger/snapshots/stax/test_trusted_name_v1/00005.png delete mode 100644 tests/ragger/snapshots/stax/test_trusted_name_v1_non_mainnet/00005.png delete mode 100644 tests/ragger/snapshots/stax/test_trusted_name_v1_wrong_addr/00005.png diff --git a/tests/ragger/snapshots/flex/blind-signed_approval/00000.png b/tests/ragger/snapshots/flex/blind-signed_approval/00000.png deleted file mode 100644 index 2f1680805d0536575f4db82339ccd031f46a5d74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15425 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00006.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_137/00006.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00006.png b/tests/ragger/snapshots/flex/erc1155_setApprovalForAll_5/00006.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc721_approve_1/00006.png b/tests/ragger/snapshots/flex/erc721_approve_1/00006.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00007.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1-rejected/00007.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00006.png b/tests/ragger/snapshots/flex/erc721_safeTransferFrom_1/00006.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00006.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_137/00006.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00006.png b/tests/ragger/snapshots/flex/erc721_setApprovalForAll_5/00006.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/flex/erc721_transferFrom_1/00006.png b/tests/ragger/snapshots/flex/erc721_transferFrom_1/00006.png deleted file mode 100644 index f5b3e29a3010f64fc17949c9d6b60103653b1408..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12446 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 S67c^HXbkmCbgQp9J^Wumv$ER& diff --git a/tests/ragger/snapshots/nanos/blind-signed_approval/00000.png b/tests/ragger/snapshots/nanos/blind-signed_approval/00000.png deleted file mode 100644 index c2420afe1d5b2ea19c999ee43f90c67f120d4f5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmV;d0aN~oP)CI>TUk!C8`c(mGx8WRa z!xd`|I)kHai-|mfH_EU=@WQ<8?vt;iutXgsJ7fsT#RT=*@-kDbFv|(3aIfXRyfj@+?msfv|9!ih8`J$fW)Vn zz~CO>;T|BN_mLd%e%vjPJ%D;eMaiRY#At6&Lsw*_J&nWB{N+Jii(`R~LM#+7vH7^1 zF{YKPgOW#*A8m0f)G#fTs8dpVu7-&qzkS-3oiTU-^*<9k78P5Y>WHD!W4f~aS-%if z=ZR@VlnSwV`CZM!$c^HXr@$^f3+e?K9T@e1AEk+s4NtSE;t^;oLOod9f%9u_+g!V> zg-|*Hr>)vEHnNj9aru-OX(LJU#UxzW#2tv5bk|2oN7xMoGovT4Cs$JRS3(FO58w+7 Wi7X{&VtL~L0000&Y zgBND@G|SJC_g~fqbc0^sIaWU`>wufAelSi!%!3qtam)=vPiZv&K!Fpv#O{SmfokLJ zp87upO%wsYQqK)YLE>ZPF2NT+9(#mV<19*cgK44&97!^oMk`-llLWqi3*b+7J6;)f#rg;Z6 zj%lA#1coqYV>KeY%+@-9sUzLLDq<^u`9V=p&V$8RXc!x+7OAG zw)^arJc+=D-0$)sldm|!=|2NF`s5CFA)bPavHM@p0`xf59mjD7@&#R+4xnH^xfuWe N002ovPDHLkV1g%Zy?y`y diff --git a/tests/ragger/snapshots/nanos/blind-signed_approval/00002.png b/tests/ragger/snapshots/nanos/blind-signed_approval/00002.png deleted file mode 100644 index ce795f34e8569e986af689fded3b59c9a8af2961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmV-j0iyniP)O41}p;-~WL<=z+0=1Om1tEU@3H#qtw22}5*_5JCvCo4!52c$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4 zEs9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}_*k1^mvtO~`RE00000NkvXXu0mjf-kqOA diff --git a/tests/ragger/snapshots/nanosp/blind-signed_approval/00000.png b/tests/ragger/snapshots/nanosp/blind-signed_approval/00000.png deleted file mode 100644 index 11ea8a56bc60bd449386bb9fca08e76fedf58e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 587 zcmV-R0<`^!P)S}D{b#1o0q#G`|wuQS5382)wtbsZ$x!T z8b7$9HnG=lzlVLFx<${P6!qgz(YnI4qx6{=X_;q@`%ClIMm7U(NG4Lm_Q&#J1ZZ3e zyXyH$BR&LW=)3%m+QHAV#7M(%)%mQ=lVY6Ov82SGvAkBByJ8GzOnN}LRoi1@c3Sd@ zL)eHhZS?cAU9F$w-_DX#Mxd#s0eK$qpLo}IL8C3j{YD5OgsdbZV@<^j`&rM9)YB+7 zYZH)Z)TncR&?8brFCy+mswCOpR2L`emdEhH)?%IhOMz3CwxUy->rLA(r-*3Ow~Z_@ zEARM~*Qt|!hyA2_K(bE$kty;OzTxY+fMyp-fU^ztj3sY2!02En$sw;X-IP*99945Y ztDBzg0sh&>qbwR`mngtaky5_P{U4`s1;0 z?{f>9Zfbf|_00eLCwPudd#p2Mzfg8-=Z~Y&(Z3(6-dSPln_e}2 z&8bJe=5=w3_V0Wxpw!uqXV@ zTyg#0l&4R7|Ayyoo}1J3WZRs6lez;p_x-s3`O4ERHjEo5Zk@S4@1z`Oka)v{pj(C~ z>TB;CrkB0D2@>;k^>bP0l+XkKqsFS~ diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_1/00006.png b/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_1/00006.png index 1a9d80bd066e15d136f5819e9f35e4a92c240708..d95bc56a1ddaf5ebf25b99d283201138f7422944 100644 GIT binary patch delta 478 zcmV<40U`eG1NZ}wB!9n2L_t(|ob8!Wa)lraMQx`$VgE~FFa2;HlZJo{B%+;jz7+8W z6ATfL0{{R30N{4M)+KVzswJhgs8%Z|D=Q`@tiOPqa~%nRnanfb< z=Y%S!WtPduo1Sz^P1%ylIcI599@ir3QZ2PIX36)ugh}m=GJo8Z(s`Ud99AA%p{0Dr zKz36@YF(02zG*7t4KQ=aWm*p%z+;Je11>4^$bH2NQVv>~Ljq8b^_6vng?pJ4^#-)E z|M96V91TMQ{1%j_$5aiz5{M%W2vs{Iv2LB0nd2t(tok~>Sa@_8DWAs$@DvAOFU^+r=4%f$ZqdDoG@aM$Ex=#S^|12u8F}+~M-sSg$ z5?t4D2!NSD9!SLI=z0v^w-qr+UFSU0ihctoLb|e4PFLJGZqX|SoxhToW2mKi{U4q~ z{s&DbF1DKvAdDov{BUv6p^$!e}JG6eK^Ad%j$Z z1qF;5W!nG%0D#lIT%zQhRY^)|F`A8_T3KmgqV)&JIop}=s-p@=;tcA9a%`pLH#BE3 znA9yP7zqkl5y;7aU5S2`GE<{%Wq3jhEB000000000000000g!uzCDT0GJIRe)J0000< KMNUMnLSTZEt>5JU diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_1/00007.png b/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_1/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_137/00006.png b/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_137/00006.png index 1a9d80bd066e15d136f5819e9f35e4a92c240708..d95bc56a1ddaf5ebf25b99d283201138f7422944 100644 GIT binary patch delta 478 zcmV<40U`eG1NZ}wB!9n2L_t(|ob8!Wa)lraMQx`$VgE~FFa2;HlZJo{B%+;jz7+8W z6ATfL0{{R30N{4M)+KVzswJhgs8%Z|D=Q`@tiOPqa~%nRnanfb< z=Y%S!WtPduo1Sz^P1%ylIcI599@ir3QZ2PIX36)ugh}m=GJo8Z(s`Ud99AA%p{0Dr zKz36@YF(02zG*7t4KQ=aWm*p%z+;Je11>4^$bH2NQVv>~Ljq8b^_6vng?pJ4^#-)E z|M96V91TMQ{1%j_$5aiz5{M%W2vs{Iv2LB0nd2t(tok~>Sa@_8DWAs$@DvAOFU^+r=4%f$ZqdDoG@aM$Ex=#S^|12u8F}+~M-sSg$ z5?t4D2!NSD9!SLI=z0v^w-qr+UFSU0ihctoLb|e4PFLJGZqX|SoxhToW2mKi{U4q~ z{s&DbF1DKvAdDov{BUv6p^$!e}JG6eK^Ad%j$Z z1qF;5W!nG%0D#lIT%zQhRY^)|F`A8_T3KmgqV)&JIop}=s-p@=;tcA9a%`pLH#BE3 znA9yP7zqkl5y;7aU5S2`GE<{%Wq3jhEB000000000000000g!uzCDT0GJIRe)J0000< KMNUMnLSTZEt>5JU diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_137/00008.png b/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_137/00008.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_137/00010.png b/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_5/00006.png b/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_5/00006.png index 1a9d80bd066e15d136f5819e9f35e4a92c240708..d95bc56a1ddaf5ebf25b99d283201138f7422944 100644 GIT binary patch delta 478 zcmV<40U`eG1NZ}wB!9n2L_t(|ob8!Wa)lraMQx`$VgE~FFa2;HlZJo{B%+;jz7+8W z6ATfL0{{R30N{4M)+KVzswJhgs8%Z|D=Q`@tiOPqa~%nRnanfb< z=Y%S!WtPduo1Sz^P1%ylIcI599@ir3QZ2PIX36)ugh}m=GJo8Z(s`Ud99AA%p{0Dr zKz36@YF(02zG*7t4KQ=aWm*p%z+;Je11>4^$bH2NQVv>~Ljq8b^_6vng?pJ4^#-)E z|M96V91TMQ{1%j_$5aiz5{M%W2vs{Iv2LB0nd2t(tok~>Sa@_8DWAs$@DvAOFU^+r=4%f$ZqdDoG@aM$Ex=#S^|12u8F}+~M-sSg$ z5?t4D2!NSD9!SLI=z0v^w-qr+UFSU0ihctoLb|e4PFLJGZqX|SoxhToW2mKi{U4q~ z{s&DbF1DKvAdDov{BUv6p^$!e}JG6eK^Ad%j$Z z1qF;5W!nG%0D#lIT%zQhRY^)|F`A8_T3KmgqV)&JIop}=s-p@=;tcA9a%`pLH#BE3 znA9yP7zqkl5y;7aU5S2`GE<{%Wq3jhEB000000000000000g!uzCDT0GJIRe)J0000< KMNUMnLSTZEt>5JU diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_5/00008.png b/tests/ragger/snapshots/nanosp/erc1155_safeBatchTransferFrom_5/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1-rejected/00007.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1-rejected/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1-rejected/00008.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1-rejected/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#4x7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1/00007.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1/00008.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_1/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_137/00007.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_137/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_137/00009.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_137/00009.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_137/00011.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_137/00011.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_5/00007.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_5/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_5/00009.png b/tests/ragger/snapshots/nanosp/erc1155_safeTransferFrom_5/00009.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_1/00004.png index c5b41a3543c5055da141113c5b81f92bef0777c7..bec2deba1bfa5a702720c8bd2c0168ca58c2cfb2 100644 GIT binary patch delta 567 zcmV-70?7T+1kePKB!3r4L_t(|ob8%Xa)lraMQx`$VgE~VFa2=pFabguh){dZ*OP`6 zLx6boH~;_u00186W8B4go}wkCWbATVmMu%ThLMlK(lWy5xQmq1J(~RYpW{w~GNt19 zigRsA>hnBPO63jbE%_?Rjj#5WrEsViuVumtsFJT!M?$3^M1S{d4lI^O7UKM`Eo1#M zj*t~l&FEicoc;cdmd5SHoiT0#x1cU!KM^sq#6q{Mo|bwZJQ@0nkS(aZN&Ogz7{gIi z2a08$2g*SbLDUMkGTK+M<$Xsi#c?f+l`JXif^F;O9T8JvoXb^2RY726!jtfZwCYg+ z0LYnh1_bT7gMX!7sT$2a45mBukE7c%#qD7C>BZ<2hp|#bOMSE`nz}=ux~V)*l|HMN z#|pWkgOY3FfvEdKG`1c`E!nMfpEBmE69;R=IHSyPTeh-K@l);Y7)f-#ubBY**(GF| zmVna=Q}u1nZ#@`?>H{faF>(bsN~8g@tOMW>hYHs`GXdrgA(xFq1dwYy!pC%gBN`-gS3oE}3J;tP!ckB|Vp^I6z z0;)CWy)Ywn6;q?6>M*931poj500000000000001Z2j6I&3+`9QV@3b~002ovPDHLk FV1h!U3xogw delta 569 zcmV-90>=H&1kwbMB!3x6L_t(|ob8%Xa>XDBMbl1q;{KPEz4Rl~jDw04Mbq@0uNRBd zhlqOfjspMy003Y)ALB00^As&9C1aP{vTWJHHH>@=mX;Ad$6ch9?$P9*{~UJ`lqnU* zSDb50QlICUQYyc2-jc79-1us5Sqg`W@m?mZfGYVqbtF{!L4S0==D=ckWFgM~+A`K3 z;|N&+)r|gC#@WBW(b8C6+!^C0umt5)qc7@-h>;~0x@C2@)bn6v=r2M_P*Acvh9Rm@ zcMN%#HIosw0;XYFcYpAxSE@#HH-qU8{p0AiOmREdefnW^io;kbqNP4s6iwZsPu*1RQ>D-9 z=EM*vs$U}j`PB{3Ah-MR^Cx1P(wGf zZ3R@%pfYzw>MEv2N!4M@Srz~Q000000000000000;2nGe29*o$miXX@00000NkvXX Hu0mjf%Dxe* diff --git a/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_1/00006.png b/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_1/00006.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_137/00004.png index e3e9c918d8475c2718d9deffd732d7220a8af754..8c20b1cba2c0984ed88cd89ba819434a4e0ba3b2 100644 GIT binary patch delta 507 zcmVm*H1hM;xr3k%sW^Xe zReORu=bTciUs$HdQ6e*!^j=O?p^^Dn8%98r9H$cjm0ncw(tih@oR?@~`PW`%`)iz# z5zvh2p@{RpzcZ(EdYO)xX@OJFTWUU0ZRBYSJ7;sXwBz8DO<#meLG?@8%Rt04T-ENt z$SLE%SV$s7jeru-b2~O!b|t4;u2p6uO6q;VvHRu|sV;H$4rRvq%f61?Gjxm*ppHCmKd8jsfzvbQnn61HJiTAE>lsS4MO{TWFA^>hXw8Cg zQ$h43<6Joc?}Gd}J@d@=_6l8B{cHYrUqzgJ$#bk`_1T;IXuEf`N;+UdqtT|@kq(%%vkx$8^DKlR xZyK3C2u1S(0000000000000000001C{sHC6#w14|d%gew002ovPDHLkV1mGP^c?^I delta 506 zcmVI4cK)aj0iT6KJ@3J3e8iGjCO4~`^`a^h*Ks64n^JlF z<(ZBo^}g?=l=g+?h+HL7xQ_QEl|e`NSr)7S6S+<&5~_Sq>VGu`5y?%sSpM1*_P^$l zvI5ME9?H1*`v)b1*ZjiXXzV^D4M2%tID}s z$*=WN=G?#hcI=v^?G<)N9czz;g^*YslGemArpCj41Zr!R&4Z zAKi-e{_K=Sg2v5PJH|c5iG+H24!)4C$L3r~046Y;Htk0OFvrRmz$lBW5DanRWMYsC w?gan<00000000000000000000002niAA`ciByI3)c>n+a07*qoM6N<$f_gRXs{jB1 diff --git a/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_137/00007.png b/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_137/00007.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_137/00009.png b/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_137/00009.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_5/00004.png index e3e9c918d8475c2718d9deffd732d7220a8af754..8c20b1cba2c0984ed88cd89ba819434a4e0ba3b2 100644 GIT binary patch delta 507 zcmVm*H1hM;xr3k%sW^Xe zReORu=bTciUs$HdQ6e*!^j=O?p^^Dn8%98r9H$cjm0ncw(tih@oR?@~`PW`%`)iz# z5zvh2p@{RpzcZ(EdYO)xX@OJFTWUU0ZRBYSJ7;sXwBz8DO<#meLG?@8%Rt04T-ENt z$SLE%SV$s7jeru-b2~O!b|t4;u2p6uO6q;VvHRu|sV;H$4rRvq%f61?Gjxm*ppHCmKd8jsfzvbQnn61HJiTAE>lsS4MO{TWFA^>hXw8Cg zQ$h43<6Joc?}Gd}J@d@=_6l8B{cHYrUqzgJ$#bk`_1T;IXuEf`N;+UdqtT|@kq(%%vkx$8^DKlR xZyK3C2u1S(0000000000000000001C{sHC6#w14|d%gew002ovPDHLkV1mGP^c?^I delta 506 zcmVI4cK)aj0iT6KJ@3J3e8iGjCO4~`^`a^h*Ks64n^JlF z<(ZBo^}g?=l=g+?h+HL7xQ_QEl|e`NSr)7S6S+<&5~_Sq>VGu`5y?%sSpM1*_P^$l zvI5ME9?H1*`v)b1*ZjiXXzV^D4M2%tID}s z$*=WN=G?#hcI=v^?G<)N9czz;g^*YslGemArpCj41Zr!R&4Z zAKi-e{_K=Sg2v5PJH|c5iG+H24!)4C$L3r~046Y;Htk0OFvrRmz$lBW5DanRWMYsC w?gan<00000000000000000000002niAA`ciByI3)c>n+a07*qoM6N<$f_gRXs{jB1 diff --git a/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_5/00007.png b/tests/ragger/snapshots/nanosp/erc1155_setApprovalForAll_5/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_approve_1/00004.png b/tests/ragger/snapshots/nanosp/erc721_approve_1/00004.png index 02c6fc77c678018d9c7aa18109073ea834a0aece..acfaef10ac328ac445333bacd9d5c376f358866b 100644 GIT binary patch delta 361 zcmdnUvWaDa3ggd-s+;O}t*Bd+^yFswwv^3^I={PS-E7KIe|!DFk)>A`t>SiFUhb}D z^i%di&dQ5B@7}pF>8Ypgn=`u}x^7wdPdTLK@54I%$=VEydgix?KY8(AgMpz%bN!i1 zl2Y;)ByCl!TSH}R+>dU)!T#m5)zt@6WajKSW56dS=lOj7q=~CL-fi8dC=gq(wD;f4 zk1<=Nq;jmE+I_g6a$@n!seZ^z}&@@8Yu7omAbv@ZzG+?Al8ze{4Q7SEo=^asRqCCrcx*h%T7r zu(#lE=?3i!e}3JF@he+cHTB)4t)C`5EegwxooaZ!&T~aY)U@@%YhOng&2_#$?Ng;@ z^0Lbx@=V*qH>X?4PiWSEX1wdd_Dh^bmODfaaWh~61(NmG4zWb|`v!s~Jzf1=);T3K F0RUYnuu}j4 delta 360 zcmdnQvXNzi3geH7s+;Ond{2ki2O55QV;#NerogmX*Rwf};8gX8mKK#W6J>O4CY_5{RSp-tn_cUyu*;>Y{;%=lomr+P zH_A@cKG=V9g1hn8Hzrp}}GyxT6>D?7b2***nj9vFmgGFptk4(mSmqA89$&#YRqky=jHEgK1;c!(Xox z!WaDfx^d^6H%?!*?k>%Ks(5;~+FRk?n4RCeosM4KR5Ld#_V}ciGP|}-IqxlLJh!cU zwdI~!wwHf4$kZ6lzu3BOs^5f@2bT)OF<=1=r++Y)er1VpHoN!$B<<B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_approve_137/00004.png b/tests/ragger/snapshots/nanosp/erc721_approve_137/00004.png index 4ef9c7d272ed0950728f083763881e6d9648ea48..91b78f3d4aac17d0966cfc0a25cdcba1c73aaa22 100644 GIT binary patch delta 424 zcmV;Z0ayOO1HuE4B!7uXL_t(|obA|2lEWYjKvB|_o9O;W;x4_QLeYXSnK**}ZOuKhrHmB=$A^ypho7Fz#O&edpYB z`7ib?YVW;>5PnFm3XxmC$hLwxYn1TCRI<=81<~XdStO6 zn0-X8EJ1ma^~b=%TdSL@Dm2=>d1ax+&wye{9c|m3n|h>w$%8v*y^_UfQT<2M`1TL? zcP-ul7&ZS-*ngmR=TQK_A@bwRE(e|yU SC750S0000F1DKvCN1PT2pF*h@c{FsdL}V3G)W&sWA3 zsl-Ee90C9U0PuES(<4(#>Pn2!IHW|@SKcZAca_YWGx?q#8DlKD%Fi3gIp=x*$n1v@ zewKfuWmBh=VvO|}l2_!$l)-Y=>PYp4o#4?b$_mM)lDW+--hccFXi~|I4v!CNc&^hD z8N@`$zxIPWz38%vi87^?C!o2bhxUcN7-M7!>%^uqiyRnElF?=NUW`@MMr{7=2# z6R?W&H8^|$@{2joYv6hT^4#5j|K)rQ{_vKl<)O3r8qViU_#zWOi53o1y6I^}K1=nP z)lH3}9MPUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanosp/erc721_approve_137/00010.png b/tests/ragger/snapshots/nanosp/erc721_approve_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_approve_5/00004.png b/tests/ragger/snapshots/nanosp/erc721_approve_5/00004.png index 994363ff0dde82f765349429e090fd47359e956e..1738e51b115fd6101b30544786b9c39f955e25ef 100644 GIT binary patch delta 408 zcmV;J0cZZ@1LgyeBmu3FB_#xGge?-0P8WaK)x|8nlArFD-uvTP<=;0FuQ}#@OZJ^} zzr%a9+|(fi?|u3V$s_W{l)*AaThMb%Ms3{x8U1Z3~%ru)J^7-QrSR)|;6V#g@{Q@F;Lpej{QRE{k7T{(X; zTM#b0M2###=^)F?z`#?hld3Az+Pr#XpuuZEwxqVUto5F!!0zv+Yk6ll|1vVY!FL zN~=e9Bdj~D8Y%xR@4>Bc-4ZnWr)+<^sjy`ZHtdEPcZz10g18ZzzC5_iE6Hxxd4HL{ zmCL@Tn@T?c3vL0m+@-G@&kh>(b+~2`uB3PN&4>$ delta 407 zcmV;I0cif_1LXsdBmu0EB_#w01eRlwP8WZ-tIjO$$xnAn@BPtN`S*>)KF7Ro$-Z;$ zcla4Ci#mkhy-%+pc|%RiBROeco`#04*j?)t9 zL?Yy;<={dss*a*#n9|5AAiJWQ)`fjA#>gYA5U;Mqj#2!laE&iPQnqKRo~RsI)?I%& zGFuQXdy5)bf+j8Yj&7(b)Y`myWT3(KfNV)^ZCjn2a%6Z*gN?IZ7)5JQ{UR#A_H^$x z_zFO){wLuJI{Q5e0C*0|^R4j=+ui$D&;xF>bGIT=g}pHMnb5QCPZg8>)N;b|86GRG z9@&ks?yzd4{I|RZx5jl#(CkOqbW?v}%N(pOLC(BWG`keUjo9?%!EIhicDv5|%k-^W z_C4KH`U+UE1k~*=ecgC=(5UZ(Yi`1o^v<6A?49u2oQ`@yI+%bcGw@}(2*R3gyr!LV zfSpwcl_WCB!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1-rejected/00004.png b/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1-rejected/00004.png index b1d7a7b57272ba2cd4d82030ecfb02fc77f2cbc3..41e5dad2e132395a454c134a8f0eac68f4019f9f 100644 GIT binary patch delta 497 zcmV9B9pz2 zYNhxc(CJ}Mn~1QKmy7i$DHd^OiyJ|DY+CE}tf>`e+77Vpoqs}9VU_A4cZ%~~Ru;15 zYo;*3fo!-DcA6vAZSx9PU%71h!crj zY)(G1#+!_cB7dBrpn9A4XPglikIuN_^3AI^-E`tq13_uc|KOpfr`b@w9PIhiy!IC_ zcaq%!af2$_o^h*nnMfq&h#mjtyVwEE-d>VDUQf&Ckka?!SeEnpYz%K?$uu;(>Egv2 zn7D1;iJ2c{hEbniHe_8F^$t*nKywD^KVGbWIvgB#@@f>aULxNbmGM;MQp-l===u){ zRZlPSeRk_UkxZwX+EzJl70h%R+3l9_Zt+a#1A6eqe8wsCty~nD9xR3O0ssI200000 n00000000000000004(DV7(NDt?QeVx00000NkvXXu0mjfO@HtJ delta 497 zcmV!y%k@(~n8mh5IGcL?oW#m&dkv?HjE!-%Z=Qz(;=yPLiiSvW~Hpx!KUFNgly*%s=e zTp3yLxbp{-(|Y6f1poj5_%_OaX4wp_Cu}-RMPIyC9c=YEp|}-@HcCO(RY<5R}&J4<2fI8V%LTp*?@P*Y@J& zPHK06-=KbUnGm<600000NkvXXu0mjfy4CF% diff --git a/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1-rejected/00007.png b/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1-rejected/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#4x7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1/00004.png b/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1/00004.png index b1d7a7b57272ba2cd4d82030ecfb02fc77f2cbc3..41e5dad2e132395a454c134a8f0eac68f4019f9f 100644 GIT binary patch delta 497 zcmV9B9pz2 zYNhxc(CJ}Mn~1QKmy7i$DHd^OiyJ|DY+CE}tf>`e+77Vpoqs}9VU_A4cZ%~~Ru;15 zYo;*3fo!-DcA6vAZSx9PU%71h!crj zY)(G1#+!_cB7dBrpn9A4XPglikIuN_^3AI^-E`tq13_uc|KOpfr`b@w9PIhiy!IC_ zcaq%!af2$_o^h*nnMfq&h#mjtyVwEE-d>VDUQf&Ckka?!SeEnpYz%K?$uu;(>Egv2 zn7D1;iJ2c{hEbniHe_8F^$t*nKywD^KVGbWIvgB#@@f>aULxNbmGM;MQp-l===u){ zRZlPSeRk_UkxZwX+EzJl70h%R+3l9_Zt+a#1A6eqe8wsCty~nD9xR3O0ssI200000 n00000000000000004(DV7(NDt?QeVx00000NkvXXu0mjfO@HtJ delta 497 zcmV!y%k@(~n8mh5IGcL?oW#m&dkv?HjE!-%Z=Qz(;=yPLiiSvW~Hpx!KUFNgly*%s=e zTp3yLxbp{-(|Y6f1poj5_%_OaX4wp_Cu}-RMPIyC9c=YEp|}-@HcCO(RY<5R}&J4<2fI8V%LTp*?@P*Y@J& zPHK06-=KbUnGm<600000NkvXXu0mjfy4CF% diff --git a/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1/00007.png b/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_1/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_137/00008.png b/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_137/00008.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_137/00010.png b/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_5/00008.png b/tests/ragger/snapshots/nanosp/erc721_safeTransferFrom_5/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_1/00004.png index d22cc8c5756218f07e6961c9c18622d8bde97782..d142517b63b12fa6ebc70bccf4549f039fa998c4 100644 GIT binary patch delta 528 zcmV+r0`L8(1gQj&B!BQpL_t(|ob8!ilEWYffU`S$6Yqbd++`m!+o7O{Mq0b`eNQPx zf(rhS;{X5v004M7U-wO%=cy#6lwgyGrj@*f%MIy6L~@7k`zA^$4{zl2$MFaP8&Y}v z@FL_H-8FZB2%YqE3BJ*@2pvoVr`F}MB5zRvkvHZ8C?ElOo zB?GDvJrr^A{s%RK%gc1cOp~|-by4ey8l%Wq_?p$-(vO2z4*f;S5@b8+Zvz=V9OiW3 zXv#QnHj)goGT@5nxf7dgdq-1k*Gk!m5_>M#_T0Q9YD$80`7W|fK@eoYO?X3E=TQIv zh;lx&%I1)K!hh!I-8iVM#vyV;yo)-_EwI?Ia|xHs!Oa>*OX!yigLbOST*SJ!5=UY5 z702@#CVu_#tE5#wWgNr{7_!Wzo`bG>eX#3K_1PD8Gs$K^+@SKdW!$#vb|m6+#Eu_) zoeZeXZI{vIRh9~-i)E^Qu=DL#l2QvAO}hAC4OxDDZGU-!ElLscqspG-&7#f#wFuZ3 z+mC`>h3ZGg>g(hxWZ%+#wKYEExol;2t zhj;U5IUg_w|CrBMh5jp@L1qq8VR!)m000000000000000000000002e_yu&T@p+Tj S9(Vu%00{s|MNUMnLSTZ|fBrZC delta 527 zcmV+q0`UE*1gHd%B!BNoL_t(|ob8!Wa>O7AK+{fd;{A{0UHXw}hDAj*l65=pePvxl zR3J)@0{{R30N`=H?yJZ-tCp0Kv&$t}w!DSY3~7U>gua}qSnZ>7Pe&dZE5?#lS_XRl7fPqeZmZtg}OG# zF3)U6R0NzJJ$GW0eeX!B*R>KZt&+RddL`_3Zr%~KCC z$*-)^In+L(bAR-1>=ah(;JG2*MIGiAXl&>?8<*_C%^F6l(JmJ{^;DU;h;?rzhQR0$ z$Lkr!fBmtmq*XhmANUIxvdpEPou*oIDDzMC*>3DcQW*h$h05BN^0HTVA|9JPdTi(G zL_l?KyNsq+St^(=mZ|!|&bMDlNG)hI==_T{r1|;U@_z(dlp^Ful|6~uMI8Yu36uku z9|gMt)sK$V;baynN9hh-Dj%}EYSPuw=xe_u)OuQ$?-Q;2ShAev)V7-QR>mx+GP~U- zyqi7C`G7t6$9zT>`mb~rnLP-FD%PDHLkV1k0;{gVIy diff --git a/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_1/00006.png b/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_1/00006.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_137/00004.png index b5fdf8b834bdaec025bf766d219b2500f35c4588..3b1d96b76ecde4ca5b26dbf0b8b5e7cd77cd77c1 100644 GIT binary patch delta 400 zcmV;B0dM}a1GEE>E`PGZAPj)vdd8h(|4U*o=Yf$ypctXCf%(5D#k9jET;wI0x?l!0<@0nPq2#4_JdS}T^2oY4|Me`m|9{nv$qZ;_^j8_DZ@)59 zxx5T#%rL_x=%ZpiDf&p$7yZcQZrRU+Uv_~8}WbvUZiK_@cLgU&``!D`^f!%CWqQ)hP%{7yJ`;=1ye?+!|xBtHoBK&8)W% u?}Y9J0000000000000000002Y`~!K6QvV(Q&z=AP00{s|MNUMnLSTZ7TgLYQ delta 400 zcmV;B0dM}a1GEE>E`N^0APhj!%&0qI|4U*o^MQ&yJW?0p#Gre=+SG{*m`8IQ0002M z?SAGT5o0W_gbA>?f2=jG%gs7uPu%kI&dqK+|!5b6fY zD{_{|;B>tgSv>G0_*oasfF?Ol2MQ{@6}P7`&_o`hi{-Dq;D7V4c1&hKv!cJMIDPw- zk;>&|xMGGGEgnZuMObz9`KsXnus)M%8$cDh}s)9Xfx~W u!#kmS0RR91000000000000000Gk+I^QvX#O%)$Tw00{s|MNUMnLSTZyRKZ{X diff --git a/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_137/00007.png b/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_137/00007.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_137/00009.png b/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_137/00009.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_5/00004.png index 63ae03f4fb18901ee5eff26301a9e495c15997e2..45f944e0566e685d0f7ea14605dcd49b8553baed 100644 GIT binary patch delta 442 zcmV;r0Y(1R1JnbMB!8PpL_t(|obB0Bl7k=&fMK_@H{t$A;x2t)*2yG*S!n<}|M%3= zNEHGi9tQvb05ILpcojKkRgzM29&$$7k|oM%$aCd2CwQ$7jDRXRPH!Ys`lAjneShGIJVX=AUt7WbuW>>~ zKsBTPm2v*-cSbs=m)jY0Ti_IQNzEs!jXZ79kF4G;`*|?4>5Gsl$X;asHV|`0`#U8~?ume_T{w(I5{sV;H$+6~$zeXw9R)VV@~ delta 443 zcmV;s0Yv`P1JwhNB!8SqL_t(|obB0Lj>8}fK+#M!J7NDzVlVwb6Ilil57dTK_k6X~ zp@etHaR2}S0O5Y-v&cECl$4V3k~6YSS)vp}mcf!T<29c}O6e?({QNj)C#buWpI^VM zEuA{&oKmW9SfwuYO!c zK(j~xtH;^z-xz6}UWR+jFvlrKYSzA*PgEUQ>f$=GxmsTLgUG5cT&5tW&OT5KH4ELA zL0%Hm7+xcw^ysl2o4j@=QZ3gixGt4!t=^Kb+rD{6s!5D(xr)~=2u2@x65dd6KMDYN zy!lhJefCAq-hTys!Ri`x6me?qPnr)ky;DyW)BM$v;dKsQtDZg7L(^o~ZKV9#yDHMY zQ;_!)Y<)nxqz$5{pu_x1&wDB;2R`*XgWxG>!3fyrwPk(i)_gtZN{@hmF3>!rlqtPL zqp=KQ7U7%f^=|xCul=^tz3YJLpaF`;jfd4m7GnN!Pc$pr04rx9+*C4c;EL)600000 l00000000000002oyaDEKZg}qx3F-g<002ovPDHLkV1fq_(iQ*! diff --git a/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_5/00007.png b/tests/ragger/snapshots/nanosp/erc721_setApprovalForAll_5/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_transferFrom_1/00004.png b/tests/ragger/snapshots/nanosp/erc721_transferFrom_1/00004.png index b1d7a7b57272ba2cd4d82030ecfb02fc77f2cbc3..41e5dad2e132395a454c134a8f0eac68f4019f9f 100644 GIT binary patch delta 497 zcmV9B9pz2 zYNhxc(CJ}Mn~1QKmy7i$DHd^OiyJ|DY+CE}tf>`e+77Vpoqs}9VU_A4cZ%~~Ru;15 zYo;*3fo!-DcA6vAZSx9PU%71h!crj zY)(G1#+!_cB7dBrpn9A4XPglikIuN_^3AI^-E`tq13_uc|KOpfr`b@w9PIhiy!IC_ zcaq%!af2$_o^h*nnMfq&h#mjtyVwEE-d>VDUQf&Ckka?!SeEnpYz%K?$uu;(>Egv2 zn7D1;iJ2c{hEbniHe_8F^$t*nKywD^KVGbWIvgB#@@f>aULxNbmGM;MQp-l===u){ zRZlPSeRk_UkxZwX+EzJl70h%R+3l9_Zt+a#1A6eqe8wsCty~nD9xR3O0ssI200000 n00000000000000004(DV7(NDt?QeVx00000NkvXXu0mjfO@HtJ delta 497 zcmV!y%k@(~n8mh5IGcL?oW#m&dkv?HjE!-%Z=Qz(;=yPLiiSvW~Hpx!KUFNgly*%s=e zTp3yLxbp{-(|Y6f1poj5_%_OaX4wp_Cu}-RMPIyC9c=YEp|}-@HcCO(RY<5R}&J4<2fI8V%LTp*?@P*Y@J& zPHK06-=KbUnGm<600000NkvXXu0mjfy4CF% diff --git a/tests/ragger/snapshots/nanosp/erc721_transferFrom_1/00007.png b/tests/ragger/snapshots/nanosp/erc721_transferFrom_1/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_transferFrom_137/00008.png b/tests/ragger/snapshots/nanosp/erc721_transferFrom_137/00008.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanosp/erc721_transferFrom_137/00010.png b/tests/ragger/snapshots/nanosp/erc721_transferFrom_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/erc721_transferFrom_5/00008.png b/tests/ragger/snapshots/nanosp/erc721_transferFrom_5/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/get_pk_1/00003.png b/tests/ragger/snapshots/nanosp/get_pk_1/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/get_pk_137/00003.png b/tests/ragger/snapshots/nanosp/get_pk_137/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/get_pk_2/00003.png b/tests/ragger/snapshots/nanosp/get_pk_2/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/get_pk_5/00003.png b/tests/ragger/snapshots/nanosp/get_pk_5/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/get_pk_None/00003.png b/tests/ragger/snapshots/nanosp/get_pk_None/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/get_pk_rejected_60/00003.png b/tests/ragger/snapshots/nanosp/get_pk_rejected_60/00003.png index e90cd9db37ed7e4c669da0b1abe6e4a823770f3c..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmaFI^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/get_pk_rejected_700/00003.png b/tests/ragger/snapshots/nanosp/get_pk_rejected_700/00003.png index e90cd9db37ed7e4c669da0b1abe6e4a823770f3c..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmaFI^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_not_enabled_error/00000.png b/tests/ragger/snapshots/nanosp/test_blind_sign_not_enabled_error/00000.png index 11ea8a56bc60bd449386bb9fca08e76fedf58e0e..0446ee7541178d6fb0859fdf2bdc3ed0e9327a31 100644 GIT binary patch delta 537 zcmV+!0_Oe81j_`FJ%2?E7~|OFajSbiMwvj2Wrx=#DG@>lA%qY@2qAR)N>Fa3+oQwkwV)PSY4=8lu2918g zO~AhaH373p7!Jq;w6pGPU4#N&0>(8DbPm80Fk5lr<^U`K1%GkPgS!wSgb+dqAs^&V z>do%LVkcN3SpRCS@~5@yh`VS9o$ZHlKM_~T-luK8-3{r7w{3mVR4EmW>rIbFM3-9Q zof~2kwSM{S_I=_OJ$h0!jz3B23d@c%W@4sgo;7YSja!@9bhy#7kRpyhwhtpfK-ez)0R&h z+(wjXqnqTHlkhmnznv|ojBrPlkmmvaiFbV$G}}_#Z-fv+$W9_M)>6#SpSA2rEsbKc zHvy4Gl{)ta-6KVeB4RBPCCTxoxHy?@d1gN7TCCCkR)64ZOH0uy&Gn{jmr+Di>gz_f zm~HRamDi<{c8BeRdO)yF{E;Q?D}2M(a}LeUlK^8I;u%Zatb^IXPLM9IKHZd3gdb6J zJ*%6Z?g94M#-c1LX16H7Mv=08m+fZ>v&9JYkIUJpxpD}4n0Kk6Ku~ifgb+dqA%qY@ bJp2Ne$r2>|KQXu!00000NkvXXu0mjfxT*bt delta 537 zcmV+!0_Oe81j_`FJ%5cn!5GITk6YdIG0FsDEIYg|DTNS12qA!mwiJ3|J_KdxyMO$S+QHAV#7M(%)%mQ=lVY6Ov82SGvAkBByJ8GzOnN}LRoi1@c3Sd@ zL)eHhZS?cAU9F$w-_DX#Mxd#s0eK$qpLo}IL8C3j{YD5OgsdbZV@<^j`&rM9)YB+7 zYZH)Z)TncR&?8brFCy+mswCOpR2L`emdEhH)?%IhOMih=mbRi(n(Iy5E~kiS)VGZ+ zF)Q!*mDj10euw>}dO)&H{*fv26~5u?xqxODNr1Br^^7HNHo)j$C&?kNG2N6>L>yIf zJ*%6Z?g9SU#-l76W|t_yPLWc+%l@;3(PD)9$K@;$ZW|ne9_C$YC=k?K2_b|KLI@#* bkO;r6t`Z_;`<}Qg00000NkvXXu0mjf4J{2F diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_not_enabled_error/00001.png b/tests/ragger/snapshots/nanosp/test_blind_sign_not_enabled_error/00001.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00005.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00005.png index 0fd18b2546098eca4689efc2d7d980ecd90f8485..4eaf735961538f500dfd6bba0d2c87f16d191cba 100644 GIT binary patch delta 416 zcmV;R0bl;O1G)o{B!7WPL_t(|obA|Aa)clZfMK@Nn{fXl+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYR0Lmc% delta 414 zcmV;P0b%~S1Goc_B!7QNL_t(|obA|Al7k=&fML4Rn{fXlvG<5T0bKG z$EA;B2lvFB?q~6M9(kAc?DTmVW=cd#Hp>U=IK#$z&U$>wA78wD^kDzGhR*mF8gLryC-JU+wuY0hTY!R8|QJJ zF8gNf;K4qn(0?w@znnMjco;W}bL~4_wD9M@2|JIAr!S>G{>1EGXZ{2@f8Owz>)DSQ@FMEK({-Ln?l=Sz1@1nJGm&NVubY^c4`}yzH8WG2OoY1Pt5cAInj+7)FhMr zWd^Ax`-?FLk*GqE_#ci$dI10c000000000000000fEUaB0wGjqp7tYhp#T5?07*qo IM6N<$f@tW;0RR91 diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00006.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00006.png index 03d02892ed0c7fde414723d5b9d68acb4ea92252..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 427 zcmV;c0aX5g1b_sPKRS}J!Qo-0=X_-pM~EvUW04R500000000000B*4F`@Zk1qiEoJ zbpSo_C4J&^5|Gu8F|LiI31=Hz((krk3sU0_#}?Hb|2cMsmJc zQ+I6lSk7OGbz(`kXZ}{|u9Q6wKw*C}p$g?ef17b~J|l=RT4hyOCCg>uZXI2J{ru3w zxZ6>B-qeuO)AyJMFB7w2=H5;?_|O-p{z%TQ7Pt(Ig|y*as-w6tuO1FUBi*dR?(7|Ho& zP2I8GW4V4M)`=xOp7~R$yHfT%0EPX^gesIL{cXm{^^73KXq8oA9a%05ckAqb>gz=h z;~q!pc~etP+XqbyEd}ZCIYrpcqTA8kgOF81UZ>cJYAi+GiMhBlif@`O*tsU%2gt&$ zjPi6;W69W8u{EA!C$a2@(JR03H~3_*r*Pyvlj#Jdmhc21RULp z+~7!bFaI$5^p|jrj;8}otx16Fan=tmerh|KCk@ml&j0`b00000008h&`~dQK Vg-F+c2Mz!L002ovPDHLkV1k^0$X@^e diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00007.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00007.png index e90cd9db37ed7e4c669da0b1abe6e4a823770f3c..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmaFI^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00005.png index 0fd18b2546098eca4689efc2d7d980ecd90f8485..4eaf735961538f500dfd6bba0d2c87f16d191cba 100644 GIT binary patch delta 416 zcmV;R0bl;O1G)o{B!7WPL_t(|obA|Aa)clZfMK@Nn{fXl+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYR0Lmc% delta 414 zcmV;P0b%~S1Goc_B!7QNL_t(|obA|Al7k=&fML4Rn{fXlvG<5T0bKG z$EA;B2lvFB?q~6M9(kAc?DTmVW=cd#Hp>U=IK#$z&U$>wA78wD^kDzGhR*mF8gLryC-JU+wuY0hTY!R8|QJJ zF8gNf;K4qn(0?w@znnMjco;W}bL~4_wD9M@2|JIAr!S>G{>1EGXZ{2@f8Owz>)DSQ@FMEK({-Ln?l=Sz1@1nJGm&NVubY^c4`}yzH8WG2OoY1Pt5cAInj+7)FhMr zWd^Ax`-?FLk*GqE_#ci$dI10c000000000000000fEUaB0wGjqp7tYhp#T5?07*qo IM6N<$f@tW;0RR91 diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00006.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00006.png index 03d02892ed0c7fde414723d5b9d68acb4ea92252..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 427 zcmV;c0aX5g1b_sPKRS}J!Qo-0=X_-pM~EvUW04R500000000000B*4F`@Zk1qiEoJ zbpSo_C4J&^5|Gu8F|LiI31=Hz((krk3sU0_#}?Hb|2cMsmJc zQ+I6lSk7OGbz(`kXZ}{|u9Q6wKw*C}p$g?ef17b~J|l=RT4hyOCCg>uZXI2J{ru3w zxZ6>B-qeuO)AyJMFB7w2=H5;?_|O-p{z%TQ7Pt(Ig|y*as-w6tuO1FUBi*dR?(7|Ho& zP2I8GW4V4M)`=xOp7~R$yHfT%0EPX^gesIL{cXm{^^73KXq8oA9a%05ckAqb>gz=h z;~q!pc~etP+XqbyEd}ZCIYrpcqTA8kgOF81UZ>cJYAi+GiMhBlif@`O*tsU%2gt&$ zjPi6;W69W8u{EA!C$a2@(JR03H~3_*r*Pyvlj#Jdmhc21RULp z+~7!bFaI$5^p|jrj;8}otx16Fan=tmerh|KCk@ml&j0`b00000008h&`~dQK Vg-F+c2Mz!L002ovPDHLkV1k^0$X@^e diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00007.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_clone_thundercore b/tests/ragger/snapshots/nanosp/test_clone_thundercore deleted file mode 120000 index 1de979b17..000000000 --- a/tests/ragger/snapshots/nanosp/test_clone_thundercore +++ /dev/null @@ -1 +0,0 @@ -../nanox/test_clone_thundercore \ No newline at end of file diff --git a/tests/ragger/snapshots/nanosp/test_clone_thundercore/00000.png b/tests/ragger/snapshots/nanosp/test_clone_thundercore/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*00002MbiP(QAd+*g|2>Xl zl_$6Iv)TcJPmO!wd$j`{oNFTIToy^ZtQp19Ed%FVxu@@oaOKUtk zN@r+{oyAU*t74p#33gT9p_g?zz;-vy{5FBv^(CO3yyi%CP(}s49O`sKIV?>H+t;~> zS;f2gwJ8jKSLeymO-+m?=1R30SgAaoJBJ%^4RA7~7R4?+*ZT%=4%a524vnYaG*{I6 zI9={4-Px3vrOi4(H;!yyTHNWBJwb2|M}N|$4Q@gVGNL~XCe(=jWRQcEpbD+T2r_bT zD>S?=H8csEFkRH7EvBp}4a)9HX@$;^Cb#ChtCb?HjowiCb>7LOQ5&HM|K&74#pn%hpvI2Lr%XI+jp z2elJ0@I_bYwa(a}V+B{gT&k>l>YnLacL^FIY6iG6kh8C|l8l{icLMHyz%mEc^T~4Q ziIIST+bLF7)c1(ahgoc+so>U@ez{bcSFalY00000Z)UqMx2ba4!+nDh2#;G|{+o`#2S z{PGX|?LQLx?VzOE?1qSF&z%47Pj2h*nb5J41E}l6)~vN#ue}Il`Oz!a(BZ-Tca!A_ z?PTqd^;19i6h(E3ESdZ%czMbEMgJN% z7XP}w&IaiE2zzb)v~M+coto}D_Gy{z6Wek*;?B1#Tdo}5@jm*f;@!31Gwkb@1Z3Un z`DGreR#>|H<%#tZ9=X1Wbt_+2Z+g18KYbz8C0LFu5er9?Emgh|MNFpd-j!kZ6$-xq1gqkb@LJ@ zbpA7%8zB7m=!|BMl!YFX6^z-ZEA0UW5i&TC`j3IH=7nfRycGR-RG!o! z@B3FjkNxEhH|;?w$O)?SlkTCtNq%*?VYT=svBCeU;LGe0W`?Z1d#yj&P*Sn;os7{9Wmm#>1NgLnSTN zO}O>-8llmcN4#b`6a5YDh7|zgM#rlaGp~(0rO9-X@|vpU)Ejt%PG*J8Gk0TRoT&MU z8jf2G72qj`b-nK-9Dp&+ZzAip zPtGjwm+mo?tioEacaEXDrIO?En{KhDKjJ*d@D7|FUNWc<_h;1dleko~!{d zei@jH|L{lc)NGdl{FV3EUP{`*h714z0002MAHQxY;Fp7Qj;{a!002ovPDHLkV1oP2 BT)F@N literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_clone_thundercore/00004.png b/tests/ragger/snapshots/nanosp/test_clone_thundercore/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..2ef74c46c3859da496d2803a50b37725c4875bc0 GIT binary patch literal 414 zcmV;P0b%}$P)Jg&x@KV z5h>X$Z>-~}gY~30e47JLEJ6LANc*)vT90y06QK^J4mPj)uR+)XG{vO9a?>DFXJ;wL zquSNX?z{%UC1^gyrxr#{qLJCC`jZ}5g6dLJs5fdmWlfyzWOXq1CJX=ouqLN&sM@VO zY+)Ktr~ONZBSsgt|49Gy_o&eWFvg8;-Khg(#+i|uJh2(Kl*c^@`)eMmox5_&?SPpc zhWanXP1ag~KKuUd&&EOv5T5HPw{E>tzk<^HKU~e3YRA+bk;-WH{)B5CM0P8DD;p-6 z?7LA?P4=C!29c;jk+=^>BE0|r0000000000000000Kjd200+S?!G8R_o&W#<07*qo IM6N<$f<^DTLI3~& literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_clone_thundercore/00005.png b/tests/ragger/snapshots/nanosp/test_clone_thundercore/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O00008}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_permit/00001.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_permit/00001.png index bf2b3e7c57440691d7adc45f75211b65f6d1ffaa..bca90d4c2c037046fe51e7c1b23917a29fb7c554 100644 GIT binary patch delta 410 zcmV;L0cHNL1GEE>B!7EJL_t(|obB0Lj>8}fKv6pCPT2pF*vouGLN1s`g9FygJzs4| zfZC805&{4K0I=QbZ1X9l{5i&WuqXdfN=YVQ^W}z>tT;IXu3ugc{2Y;7lv0W@%Hu`U zt|R$)ae{236Ye8Z@MnLMeKIRDSXX@W*ZeugDDxyw$VK^hu76yX7L{!FKGJGSJv@uJ z52?v$9r3{33@{-_`suz5_)0(>FT)7>Ooqq5q3T08h)1h>W~-=Gd8nQ=J~IRW0D!S1 zSXDUFVsY|~)_ty%zgFztJXG_riIq%jwrMY@SnRa+HH$6J@VO7FF13oyyL#hO-Q82W zQSSf_mv!!_Gk>6ei@0%#dhL8elcn?BSYbZ{)Rn!HTY-~qNcIU(r>B!SyV8x;>!U@! z-UoR0&=@Kc@a+qb8TF&}o_k|Zz8hHShSg8#UGDG}=|SsJZ&I6Cy?>Z(0`wY)e&3E2 zJ~`NiyU0ARU~z0He=elDeK?8$#5A~pbvFP~V+h@CUw{N?qHuOp&|M5L5r%iXA* zC0g!IuuWVH_m(O6xxUG3HY#?o&hgc+`ni;1<77|JLt3tt+kd03lEuEZwAxbNo^IT` z!eF#YGDtTArm%PV?!I*73P3$x6Gt#-FfzV|hKulFme%mh)}dDAN43)Aj1T|-0Q$t3 zRpFf$-N_GH&$&*7j~o0 z0Cu-^>4Y=j`hOAe;F9p#`wiVZdcPYZ=Ffm|XP@Lzkfa;d`~Za0Gs&DC=|=1Cqd~d; z56JALd&sAw-ixs!1|Y71(Z9B0hffTa z;VHBe>+nttF8}}l000000000000000@S1P8Q)jdnM-H#|00000NkvXXu0mjfB88}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_unlimited/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_unlimited/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-False-True/00001.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-False-True/00001.png index 2d21c88f4a392150f204ce79a8374586dcfdc0f4..d724e18731af977ca74a1919deae03ddfe23aeb9 100644 GIT binary patch delta 445 zcmV;u0Yd)i1Lp&fB!8|+L_t(|obB0BvV$NDKvDaqJ7NDzVlVH*nM@`?po)ZP@A+yG z0RxJ{aR2}S0L#5%tIs*h@03ztOMX$#S$DwV(_{v}Tol?^Mq%+7NNteR)QGZj&V(*YzTgu^S;@(y5 zj8@7Hwz~tS&?7y%EggGxKpC%z5!|ygc6<%3PQr(pTB|u*hgyXn#Z0qj4*>uGd?oKS zwDl%e%^CX+H{JkejmY^MY2*uj@8_>E;`8I4V`hHer^{-iFbPlzSjuh)84xZwqbldOLRjtn_X{+GO!Swjgqr9t nMju4tDHN#_Wcri80TmTLfN6wXt19ZE00000NkvXXu0mjfmSNi~ delta 463 zcmV;=0WkjO1L*^hB!93;L_t(|obB0Lj>8}fK+(*oJ7NDzVlVT7WLX9bZ3sr4d%jvA zKn!`obpZeX0Neen1^=~B7QHGh?C_6ljWr=FfB?nBMN z=%t+CxGP`@J=3H6GH})a)bUyv!7~Tr#MjW~L-Ve5&32t|H7#2U zs&AU%dmWRc=k+$js9jcJ7THOJSWXnTR+cxuMB0(oJfbTDLn4^`SbS+bc0Ovw`qi$ z=x@dtMB*+KX%J+_;8BDZ0000000000000000001Z%pZc^gk20f)dv6o002ovPDHLk FV1jyu+;{*0 diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-False-True/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-False-True/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-True-False/00001.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-True-False/00001.png index 2d21c88f4a392150f204ce79a8374586dcfdc0f4..d724e18731af977ca74a1919deae03ddfe23aeb9 100644 GIT binary patch delta 445 zcmV;u0Yd)i1Lp&fB!8|+L_t(|obB0BvV$NDKvDaqJ7NDzVlVH*nM@`?po)ZP@A+yG z0RxJ{aR2}S0L#5%tIs*h@03ztOMX$#S$DwV(_{v}Tol?^Mq%+7NNteR)QGZj&V(*YzTgu^S;@(y5 zj8@7Hwz~tS&?7y%EggGxKpC%z5!|ygc6<%3PQr(pTB|u*hgyXn#Z0qj4*>uGd?oKS zwDl%e%^CX+H{JkejmY^MY2*uj@8_>E;`8I4V`hHer^{-iFbPlzSjuh)84xZwqbldOLRjtn_X{+GO!Swjgqr9t nMju4tDHN#_Wcri80TmTLfN6wXt19ZE00000NkvXXu0mjfmSNi~ delta 463 zcmV;=0WkjO1L*^hB!93;L_t(|obB0Lj>8}fK+(*oJ7NDzVlVT7WLX9bZ3sr4d%jvA zKn!`obpZeX0Neen1^=~B7QHGh?C_6ljWr=FfB?nBMN z=%t+CxGP`@J=3H6GH})a)bUyv!7~Tr#MjW~L-Ve5&32t|H7#2U zs&AU%dmWRc=k+$js9jcJ7THOJSWXnTR+cxuMB0(oJfbTDLn4^`SbS+bc0Ovw`qi$ z=x@dtMB*+KX%J+_;8BDZ0000000000000000001Z%pZc^gk20f)dv6o002ovPDHLk FV1jyu+;{*0 diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-True-False/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_missing_token-True-False/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_account/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_account_contract/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_account_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_contract/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_contract_account/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_account_with_contract_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_account/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_account_contract/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_account_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_contract/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_contract_account/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_trusted_name_contract_with_contract_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_eip712_filtering_empty_array/00002.png b/tests/ragger/snapshots/nanosp/test_eip712_filtering_empty_array/00002.png index f070aac76a3152f761900266742d9af3cf259e2e..89bd0a702fe23a4113a5e5790be259006202a03d 100644 GIT binary patch delta 273 zcmZo;Ze^aJBJbnr;uumf=k3j0zC#K;4T&cAT7Ju~EdSWfd5|epCwii@qU4>b#mle1 z;hQtD-SpUueb45HK1`i{uDFc7ZDOr`ebp!3*frDMgq7C*|JTwrw_c+?s^s;&`@b2c znra(cR?f6J7`gU{MnG8f-gQ|SOGE0_o+qwtD2mVWJ&@NJR=iku*V=~CV8Q3-m`g9+ z*zSK{^zf#e0m|3!>lPTOF3)?jtzvR%xI@OChf-PvmEF@XYagiR3fX$@hB9jp$Fuy) zJvnES2mN|M~o?51YK7Tkd9FKC#xmzV4H5?3!tB!b;T(D+aRqWLZUMv6koI4!F_;lZuSq*oY);>G8?Zq~xYrd{A*8EpI zlkeNrhVz_GbMB3)-+tiWlsUUL-hQO;dR;?7!vDRt5m(EzoL`DQuxDKrmHuWTlN-zD z?U~2C71waZ|6)JO7a{s-%G(8!DU04O6UtijzQ=GzXKcnYzX_7f3pw-|P=Uc2X^q+J UJ3|He9)To0UHx3vIVCg!0E-uVq5uE@ diff --git a/tests/ragger/snapshots/nanosp/test_eip712_filtering_empty_array/00004.png b/tests/ragger/snapshots/nanosp/test_eip712_filtering_empty_array/00004.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_get_eth2_pk b/tests/ragger/snapshots/nanosp/test_get_eth2_pk deleted file mode 120000 index dc7c37197..000000000 --- a/tests/ragger/snapshots/nanosp/test_get_eth2_pk +++ /dev/null @@ -1 +0,0 @@ -../nanox/test_get_eth2_pk \ No newline at end of file diff --git a/tests/ragger/snapshots/nanosp/test_get_eth2_pk/00000.png b/tests/ragger/snapshots/nanosp/test_get_eth2_pk/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..e94258e5bdbd63fc9943b10b8aa7353a1b52c2fa GIT binary patch literal 477 zcmV<30V4j1P)$aW@d))-Y#3fm~JrSLCp+*eFdA&0?)uL!4ruoW7E4*&{1oYLLt%{3FW&(Gr`3Lg)p+*n%eP{C7xaLwy3PdT1$tMn zS2t?(o!uHeA5dEzQOxx~6XMT3_vpF?t3ZENELR6bgkxp-?CkuH#Rn@$>l{ ze|Ha=pE9H3fBmF(ZeQ-#bO-tlBDf z!krobb$>?ApdMT%rA(U>J`3UWEuX82E}oG>b-?EX*9!6Q#XY2!@L5fdBkK= zpN-oyxxHJRN&;`d%weON8OyXL^#v@0T+zP~JDEUL!VW2><3hs-Js+;#j63mqz6HA~jKP%?>@cgWS~wqB?5qg~IdkI1}a zdK;m-0?pMPck@p(SAb-OHO0%>0MJv7<>k>_GI*1s!WaOs*yTv5{T&?=CKp|xq53C# z^qdFCk$4WLAN^tfXtlS)s-y&eK!&^6I)IZqTE5dy{6;Ah3WY+UQ1}dN-wnmvGAu~~ zZ=^^WXF~dP5H>Yh56tR(GR8UtqeS}TPY07NA;G6QV3IGS{fW|L5u&ZD8E^1+{dgBjv%yKjm*{s@?r(uh6J!6h{sz@Fyc|>|s{rfsyy~v7{B#hHn)8gwM z_=LNmTax5a046?4>esj#{jGo`|Eq$V(Z}+#$;3yMnfqHba=rrq-O*Bd?HeNQuZ<*QKOO{*T$wuI=bhpnivBHT*f3l1|ftHLI@$p`O~TVd_J## zJ{}J&DFm*CrU2G6TMuhtg|oV+5I1_&P~dO5=A_g7RY^@x)B56BSXs2<$!PgJ|H?Hz zW-s-k25VLbUx#Fx7$`Se4|kaNQP`6v8+JgRH(T#VYd@y-n7*#*ky__~&j+6sws`ZVlJ~fv!+6%& zoXYV1b zThO*z-K$m8uK^z|hoOup_7dlUnimcQK(h1oXEN6(%EX0L$$C2b2NZyxZLe4`7h z3FoWim6!xBD7pN#*!g|)nS^#&eg~K{PwSgx>>$HXQO7jyeD(q|5TczALo>DVy(*7U zT-Dhm6S<^=Yh+sg7>227{ljn$-U+?XI|+=;Ik**VUN;-+1!PwN9K8Vz<&^4Bkz6O7 z#oaC^U$rW8AOSc7A=08a>!8bzuswRi#x>Hq_gU z;42>GehjtE&64d3%iX>u@o6^TJ$GDCvfWIJH@TpUC&cpO$1hE^z*zlmsPKk;U$n}Z zAZ_EgLOp8}knu$s%5}W}W+Uak)hedm0m*P$6Ru ziV#8wA%u9``}+V8AeO(N2@(mbNy@_Q{BK2{{y}B}ryPdxAtS00000NkvXX Hu0mjfO^<@a literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_get_eth2_pk/00003.png b/tests/ragger/snapshots/nanosp/test_get_eth2_pk/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..53ae65195fbea5b281a1bc1a80351dbf1cd79ff8 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-%ba4!+nDh2#AYZeBfa}G~ z%X2sUSKTFSd4J{-YHcY(QO5;J{<~e9q=7F?O4)!WO}6UUdH! zS+Hz=(4})vCM2-VD4nt3W%LdvkyzeG%km#`1t_mu*zR}#jNB{EKZnW}g5-=Bym-_% z`=7%C>zxJL|9msNSMXnbQRayy^)nr>EU7olTHqoc^vG(B%bo(Id*|kR{84!`z2x6n zZ`;PkbrPvd6U}A>Y0chs_tyHmLi6kw6c{>JvYiQ=+MTFTx8d*9^V|R0+_75oZt9or zLetinU!`YMvFyLCb8XxElhO0{v2rTkNR$jMW7~4}*8a52+MC^J%KMbxPN-JRb2RNP zEsp0ebAPS3=e2G53#Z$XZAI6Yd=YsAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ovpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*943k!O7CvXDNA(u9=9tyO}$6OaoWvMQ%&ij*J> zl=ZU%X*t5H@*wD^SR=l=0Xsm{&E6}nzA;+X0vEDl&AL^9W`#51P1c*X?Q zY9<2v@+2|=wU=SJv7TF(#qx>GKLtLr39`mqg<>bQW;HIU%hLYMm_cUrFGC46qkl2X z!JV)Q-ANzX*>xh{!>}Lx2ba4!+nDh2#U|)*@Ps77^ zY59l#_FvikrkPW5ZAgjRDU1K#RrnUH44NRw2-LN2+NxDq-(ppMoZZJLI8o|X=J|xV z&;L%ZWsY4H<#qE=2>-UnQHkGuZlC&+yen&U>PdOVXTCYz(Qj@s2e18CRnfVv(pGQj z6Sw%V3WnLi8$SrftIUtt;KlXp4#z%?N|r4vZ>oQnvk$vud@|L0$pSOY`B|H+yMJ*i zXZ+i$%+J7}aQ*z5?wNOI?|32o?cD77O|o*EolH${tG;|*7s12%t-dK~Lz;PMS@x{Z z{p)9b^4)Nx{f6|{dolk@x1F$_w?X{LXNLfpm%e?AEbpaHV3U6o^2t!$Jt!bX=8oIk zncefIHSL-8y7{Hz#Wx}%>W{41{%QZzJ$P6DM5~C(Tvi`j`+xs^Vm4pDEiGHJ@79N! zC3zD%|Cv}XRQomgBahLcGR-RG!o! z@B3FjkNxEhH|;?w$O)?SlkTCtNq%*?VYT=svBCeU;LGe0W`?Z1d#yj&P*Sn;os7{9Wmm#>1NgLnSTN zO}O>-8llmcN4#b`6a5YDh7|zgM#rlaGp~(0rO9-X@|vpU)Ejt%PG*J8Gk0TRoT&MU z8jf2G72qj`b-nK-9Dp&+ZzAip zPtGjwm+mo?tioEacaEXDrIO?En{KhDKjJ*d@D7|FUNWc<_h;1dleko~!{d zei@jH|L{lc)NGdl{FV3EUP{`*h714z0002MAHQxY;Fp7Qj;{a!002ovPDHLkV1oP2 BT)F@N literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_legacy_chainid/00004.png b/tests/ragger/snapshots/nanosp/test_legacy_chainid/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..10989ee8d5f621ef4e137cd0fb7665db1ca79dd4 GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|`Jmba4!+nDh2#Zr))9o`%Hr zw|sZ}pSZ)j-o>@WU!B|R)xGE8U1knu7PGZMx@P?T7-ey+!lp&w((%VPiI zQovR1ReWZjM6uri1-DtVF7J_itg-yh)!PLRJ!}YZJm!!+w!0*!;85j=i-?T*9>g{$DX;X8zF4yIc_l8}PpMLN3#_PMx zFZ^+izC0(e@5{6Ox44boiQE3~pHaKqwfNiit@-*MB1?VNx!1dXy?wEHdhMU&vu!UD zYOIz&d+3I&v0@V)W?7nQZdyzo)vo-s- z<xH&N?) Okg%t#pUXO@geCwzgu2cE literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_legacy_chainid/00005.png b/tests/ragger/snapshots/nanosp/test_legacy_chainid/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..ab030ef1f89502eb6e59f73f21551b7d37015f63 GIT binary patch literal 424 zcmV;Z0ayNsP);F9|ZG#OG6-595004In|1NXR+eS*M*Ya`9 zFXQ-oMjybL{!reF$N|VXr<9tLS6)x&EvNMqnV&8?&N%o?%+vii_ctT$WY3Pyiy_H(~C9_2etggTVj*nH|g24Mrx6cc^sN+(lCdnwz! z+ST;#JO;rfXgQYmf7wU1!nmF5+&BoY^FaQ9+Jvpt0_U`=5 zUH!w}!h=|kT7#CsLhQ`J{0HM3{NC!p-CBc-NCY67ecQ zely@Y*`Ha)Fke)xaJv$uvmZF~#B%`jBJf~$k=R^MSvT(v-T&0>=1Ud*(M(IO430#{ zIm?@{K2`7Lx=AMcZj4lueP@h8B&tv(uEUW?F8}}l000000000000000u*@$RrAjJd S2{-ou00006P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ovpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*943k!O7CvXDNA(u9=9tyO}$6OaoWvMQ%&ij*J> zl=ZU%X*t5H@*wD^SR=l=0Xsm{&E6}nzA;+X0vEDl&AL^9W`#51P1c*X?Q zY9<2v@+2|=wU=SJv7TF(#qx>GKLtLr39`mqg<>bQW;HIU%hLYMm_cUrFGC46qkl2X z!JV)Q-ANzX*>xh{!>}LOEgrfij^4izxvB002L$lu}BG9z}q^=mDgZ zQVspGIoM~upV0&8Dy8I{k1*B3QLYutE3%d9M|CBuMTuVl>PeIzkJ!nAs#d=p-a_tqTN>1wEyxzX1#XjRJ&VtPRa7*R3q2KD2m*k7XIBUfO$lR)qg`MZ| z^aa97G}uMH&Q|Ihcy@0ssI2000000000000000 a)BFRn?HPb-cGR-RG!o! z@B3FjkNxEhH|;?w$O)?SlkTCtNq%*?VYT=svBCeU;LGe0W`?Z1d#yj&P*Sn;os7{9Wmm#>1NgLnSTN zO}O>-8llmcN4#b`6a5YDh7|zgM#rlaGp~(0rO9-X@|vpU)Ejt%PG*J8Gk0TRoT&MU z8jf2G72qj`b-nK-9Dp&+ZzAip zPtGjwm+mo?tioEacaEXDrIO?En{KhDKjJ*d@D7|FUNWc<_h;1dleko~!{d zei@jH|L{lc)NGdl{FV3EUP{`*h714z0002MAHQxY;Fp7Qj;{a!002ovPDHLkV1oP2 BT)F@N literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00004.png b/tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..0d6794d381dd56fddb8b75546d15fca47325dad1 GIT binary patch literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_WIba4!+nDh2VtWc8ykK4r; zJ0`!Y_q^H7-!t=){EEeDy7xY}$cjGmmR_I)(!M+TN@r-PwTI@-<8N<#X0kbdqom*V zuSMwAS+OUTe=)g)zRsMHJ~wDn|Ir<9)Qf6$Zpz&E3-SMRW2wPot_?0aUf$|^PwbO0 z3h4Z$epWF3AgjfRj3v)a!jBc63fuq7$mz)T1@k`KUflmfEQG~&M)k!hpAK$UtJpld zvP<9LtkcQe0d^Mu_>E#NewfY3z;Ga*^EPj-_s5>Dm^^cuI<}9 zuA|qN6$!mBx}5HMcY^1AU*)VzE18z(otOHpoE#4l N_jL7hS?83{1ORT1qcs2k literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00005.png b/tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..3448ce1580cb7b143513a46a4bcb65ed08db8197 GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Gba4!+nDh2#Zc&Q@PebCi z%d-pqD;G}xS8!&7fZdu2J2t=ne7cF%*JPapNLRwURQpt~mp3{Lw?+N4eRj6+&EG2d z177kX)KXn zPdR$t{b%uxIX5eV*Y2LSrRLB1%h!w!6jUzQY-4`ebpJ*BNx$DeG?uy7a#b|ock%~Y zhK=8Se_WbA?f3lDX~q^y_Hv$homt0s+&4hKYo&E{pgh}Y+mF=;!VA3*2+w2j516)K z>-Kv4Bd&Z_)~Dx{&Rn%SElO?qgmw2k;|w|Ur!Q$to6xyWQuT_zopr0FgJz0RR91 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00006.png b/tests/ragger/snapshots/nanosp/test_legacy_send_bsc/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~omJ?#Oxw%;_^Ys<-T|Cs5B7}NFL@iFyk|V);Im2G0C|(HC2jzEfU~?w*Ah1X zJ-}Jsq-*)^0~V9D2PD1fxAOIX!N{}5pacK_u%75w&sCYN_@$6OE_A3mxX^)KqjxRG zjhOBhO~crYdxhh)u80IZyt+C1$b$WJqyq>y7xWvPo>!PknR|Z6YOQ+L!ZpAaT$9A9 zNuJ0vLQVF=84p2C$*IEKB4#xYmB!DQL?rB3 zAAJb2r{(c#*%`8Q8D>oHbMTDqDC-ck4FCIpZ(HL{CIA2c000*80_1uw*i4W}-v9sr M07*qoM6N<$f@HkIAOHXW literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00001.png b/tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..b0936ada5d600a2f398037370b7ad5ff34aa6977 GIT binary patch literal 623 zcmV-#0+9WQP)39XR#>o^mt?2nZ%5ApigX0001>&X<+ql+tq$W2}wb zz_+ylxAS9dKu9UY7~kbzOuffXTFi|UgUypQ@tXmUYhsM7rwV7~Bk_+w{GOj9t5Cx} z16W>P2$_+`ARp=UqpU&=;{fEvhb=^OrRR=&7B6*WEfO?x^rtc|N>J19#gtHgWQs~P zXyy@|mZ0#r*o8$cjMS=1A&pf5_EUsJh>$)mO3=-iJqasQyB`GrfED~~r%I%Z(~7pA zd724JW}XAQ?O@*Q8DhhO*wYdy4&GUIr1^M7RS2`}nSpB-QH|6XR$a5hs<#Me2@<+m z?3DaRVYVm1CqxxuWeKbqD}B8UCFos5Li2r*b%C;kH+MJ6?BrB0Xm5voJ;CMfUYL!+ z`ekltMbNhJCt_uPnE^cup=V1Ry%<3zyH5^@k|nS$(oS^~mnq4#TEZLk`p?3ug@&eI z6@b7RX>0dw0SFFba1|b_&^@5b~>{-P4a^}?kvlswhoP8%udyus+21h%Ka(k6k z-Sd+jsr~B%s5Kgg+LKMmJz|BH=ct8yOXBelv*wyyTlC77si}Qh4)+&T~gO{?uUkG zTDUC(*!won#OB-3(YtBo7fQz-)#Q&A!PMpz3O%n|+fjfT!4#E}eZd``R7A6>%04 z&A!Rq0acf7-Rx_VTk-<{0APxR-Amm`Z_ezOhUqW=r@`mED)n>^wO4fWLn<5k8hwp+ z*c7VQlDSFeL7Ml1+K3Zc$L1++d!-5U?%MEvn{hd75c|*Sy20_M8!B3Zc2Y_%-kP`W z6B3uv5sEp6+7}?3cGS-jo%#RmC+k+Iq6=2ZCt{yO@|m#fhCEXc001~`+bXE-Sq__* zaSL|sh|S-mJG0AswVnF_Z;Zqai5F&=srY7G+YlXo%RjEI;O00000NkvXXu0mjf&CAl) literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00003.png b/tests/ragger/snapshots/nanosp/test_personal_sign_metamask/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~omJ?#Oxw%;_^Ys<-T|Cs5B7}NFL@iFyk|V);Im2G0C|(HC2jzEfU~?w*Ah1X zJ-}Jsq-*)^0~V9D2PD1fxAOIX!N{}5pacK_u%75w&sCYN_@$6OE_A3mxX^)KqjxRG zjhOBhO~crYdxhh)u80IZyt+C1$b$WJqyq>y7xWvPo>!PknR|Z6YOQ+L!ZpAaT$9A9 zNuJ0vLQVF=84p2C$*IEKB4#xYmB!DQL?rB3 zAAJb2r{(c#*%`8Q8D>oHbMTDqDC-ck4FCIpZ(HL{CIA2c000*80_1uw*i4W}-v9sr M07*qoM6N<$f@HkIAOHXW literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00001.png b/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..c965f50bdbd52971c0bcc750f986189b69f7944f GIT binary patch literal 917 zcmV;G18V$rhQ5<&cQy)N9dFl{NLnQ#lVt6qECz00W<)UA8-C(wT|O{W@6)A2^0+{L{X zl)e@_Sk&N5v=|$2ZiptjThQptY(uJ~jgx36j173D)BOqFP_Z9!;4sYQo)-YR@7j?i7>FGL71M^s z@*M9uGIJT;h?UvK%DB5Ev2j^1&CjmA>(iBVx=WHt8}H*rx8(=rXx{!QdY!uUP+y^I zFcboqm2maeI`sV1+V-ebouY#)h*@w69Tbb7ni$&=n5NO-)yo zYMyx@rBM|faP`x~A5Qbyb4Oksn*h6ftng{&!-;26BzJ=Z+?3q0(^*;n%_UQf(K4JZ|o0+;9c2rP4Bn;7iXI;U!!QxiCvMRN>s|Z1CTa3kgR*S5vwaw zwi}Jjs5%b@E-J4%{@?sjF7KYg37Gi)vJ89hmAurtiJ@LhB%NW4JK^M~m``gt?LZ6W}(!i6`5l rAEx6^e;&%%kWUUFgb+dqAzt7w>l<_qfS-u+00000NkvXXu0mjf+n}@U literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00002.png b/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..234ab0661a9c533aa75edb6b4ff34b7ea8ac9d1b GIT binary patch literal 526 zcmV+p0`dKcP)+QSY)YY#%IMl6p}Sm0Q-K z;OVn$odIP)sgV*-TbCSvQWN*Oj(>@IINxDSnlVdefU4ZFGc)Sw_$gxG63!`NRyj+; zbn`o)PCjZPYDanS9gZbosN}19~@mb#ivxe=&;XgA4 zZDyq)06@^bH9%}4iZ?bmv~P{#sCtTX)T$gQw?3zbuYSjl zy&$nUdj7CJ&?4hKSk2nd|19cIa%MnV-yg8?xm7n{wiW|{_QG1 z##+8=Z3ooZCS81(;P%nGTiXHRwdX^#uuFEpQ(gMQuo$&sr zsr|CdAQSy&FF(Ck%gYr2{L`K6yXH`000000000000000005Tx1>gSAUP|QF Q1^@s607*qoM6N<$f{|(aK>z>% literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00003.png b/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ffedd90f5279e10fd67907e6122c12c1bbafd7 GIT binary patch literal 457 zcmV;)0XF`LP)Bo7fQz-)#Q&A!PMpz3O%n|+fjfT!4#E}eZd``R7A6>%04 z&A!Rq0acf7-Rx_VTk-<{0APxR-Amm`Z_ezOhUqW=r@`mED)n>^wO4fWLn<5k8hwp+ z*c7VQlDSFeL7Ml1+K3Zc$L1++d!-5U?%MEvn{hd75c|*Sy20_M8!B3Zc2Y_%-kP`W z6B3uv5sEp6+7}?3cGS-jo%#RmC+k+Iq6=2ZCt{yO@|m#fhCEXc001~`+bXE-Sq__* zaSL|sh|S-mJG0AswVnF_Z;Zqai5F&=srY7G+YlXo%RjEI;O00000NkvXXu0mjf&CAl) literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/nanosp/test_personal_sign_non_ascii/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~omJ?#Oxw%;_^Ys<-T|Cs5B7}NFL@iFyk|V);Im2G0C|(HC2jzEfU~?w*Ah1X zJ-}Jsq-*)^0~V9D2PD1fxAOIX!N{}5pacK_u%75w&sCYN_@$6OE_A3mxX^)KqjxRG zjhOBhO~crYdxhh)u80IZyt+C1$b$WJqyq>y7xWvPo>!PknR|Z6YOQ+L!ZpAaT$9A9 zNuJ0vLQVF=84p2C$*IEKB4#xYmB!DQL?rB3 zAAJb2r{(c#*%`8Q8D>oHbMTDqDC-ck4FCIpZ(HL{CIA2c000*80_1uw*i4W}-v9sr M07*qoM6N<$f@HkIAOHXW literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00001.png b/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..4f59a8d40d40f058565352fec5378b58657989fe GIT binary patch literal 857 zcmV-f1E&0mP)2!?G>cQX55((I)Vp3JcVKX^e+!}pXJ1q5}JF)0N>5ClOG1i^B?=8C)TJAb&Y zODfsUecz=q*+RDDG5)DgwH@bsqO7-|^eO%NP zo3jyh!X*IZ;=?XPbflM#%L9|TQgR249Q}GMj!Tg0_v$CG{$Q$=s?khF+Mt9cmM%f* zHQ2$R1|`x`P)TD|RN7fDOLL2syvy|Rr3wj%5NI{1bexYn2b{J>O+E=PM%s@CK@bG} zfZc_<7d(giFVn>~HR(}P>Qe=+34mRTWmE5JfU#BoK@24NrE?aW#jNrcKzJ@>6GTn> zA1PO=9uHN4tqpZ6tFcd~0{B3`vUTjDq=stEaqaASV7JzH26(XLiDFS&WxUyjO~&^J z!1dI#`$O(hw$|Gg%_ws-$Q`s zt*W%OAzhT7If0yT;9lN?z1T%u$?m1O zM)mOR5#Vl_exq&0IA&9_s^abW)HT@qGIT8kA6V4XW_PBOW*?<1i#TDxHU#RZZM0Kq z8LTp6aul}(pMgwOdux6aSZGi2s;s`4mCV_W1w!n){Dg0~7sTEcZIvJi$xo)~v9aHi zY-K0_-F_U8fh5GwQ%(%M4=6W6Qn#D3p~g&S-%leL-_`u5ja)M$ucbEfad$&clo#p~IAu%fw6ASAh_QPNnwYeFtxC!yC|fAy zQ)yvG7c6$F0%zU|Rl%7~P)$uDvZ8P+%Xl{$pjJ~m2yBq(oB@7Kwg@+78lIX{ZiQyr zazXYhk7a!)CJNtjD>M_Sh|RRk0PxO_rZ8Loc~Olfwopi00000NkvXXu0mjfLzRsu literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00002.png b/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..c094bc635527457d7bebad0d5e3b82f5865e43c5 GIT binary patch literal 829 zcmV-D1H$}?P)~eq~6PU=!#{yNduy(;d@ABj3R?bx4*frq9}@@D2k#;=PS_Gec#V7 ztu?M?JNJE0-Fwy%2Nng-#(hT=iVbt|R62aBx1W4r1JC3ybVRPmN9e$!K~2 z?A;!(xN8IaasOTc8Hbe|tV(Kna#LtJ+gzIZW6=9#mhS-DSZ7WFY1;47NNjyuwE*S_ z2JUO}PSMXtTuE{lYD=fvQqAEG2v5DY*0_PMY~r3~m%u>stwC>a()ka)z5QL-AXoI$ zAVOWyPo~yjCsl=ZG6{06!BULjUA-!tP;m&#+vaQ!qM~+q^fh<{BCQl5D3N0a?(}as zyx?<_pkHF&WCxU^dQZU)aAOppoOcq?H28fgaB`i^#tr(VLDUplUVTmF&QAT`P%>-A zD`6KCUyXiO88e?OsX21tZ^Rb0LHZg@B@c?_>d1_q5g2< zrCH_#eaKO`C`}bv+^5IEBMG}$mtvpVE@3XXemJ}q)nww&x}~u(ag9S`$>3(vY4+{$}^6&eo@^| zeF!^kVttVdA8sUtOfVyO2p8`-p`aTmF>W)p07X$0MX`zh89A6NKiuVs00000NkvXX Hu0mjfxiX2i literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00003.png b/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3efb771058d85eefb392980a0c0fe891508995 GIT binary patch literal 723 zcmV;^0xbQBP)3`I#-ZsPkN$#=pai+<2Vj2 z<#x{VjLszA0&_2B9mm1Tr0S#i479aAB%l$Jo^nY^(MUhP18pVZFcBRU$5cZ~(4%Gy zZKw0KReG2@1JcwMBSnIhrx>F(FJm{6vhoz3D7sD7(t(|H$qW!lP8&0W&-AJXwwvH2 zsp((}N@!OKIb#X=my>%8-eT(txh<4&@S^~Z*+RF!VZ2K$Zp znYRRm|G{nyY9mEk2Z%MX3DUZ!U1FT1Y&65Jf^><|Lq@IscKdnPIbgvxYUD|HGTMF= z006*Sm@M7Af})D|Bd-_wahs$yrwPu_*<5j9(vxUc7i+csDEfR6 zQ>BO%a2}W^coKP32iTf+#INxM%z#>WaMxeKX$K7d=xjsYsJR<~g|DbYa#NyK%9}Gx zjinIYeYbkVbFNvg^Jv7APoA;4?F811bm%I`gqh(qYoxf2r~NM zQdS9XzuZg=eIT+$N|LA@yNq*LUS|C*(|DY6rk0rg)Fe_n z%irh(Hr9d~&MvpF_?(U30oo1tVy&fCn2kFiwD!SLtoRZZHOr!q=~Oy*?=S!W0001R z8`w&QFg*%e1iit@#=D{RWz9T`7bX^*S3*g1njOuQ=)7UXc2cZ3TTd;@hYc4%jRI{~ zOAQ^g=uE8xnjM?*QiR_LaUgF;=Y^6>#5j-QNd6<% z)~vb$uB}2`-4w4nJMVfnR3RnBidxEcQyBmN0002Ii$5vRsw`GH#F+p9002ovPDHLk FV1kF7Om+YO literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00004.png b/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..657edb55590d85ffa7c604df86a3e203c8c84688 GIT binary patch literal 849 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00010.png b/tests/ragger/snapshots/nanosp/test_personal_sign_opensea/00010.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~omJ?#Oxw%;_^Ys<-T|Cs5B7}NFL@iFyk|V);Im2G0C|(HC2jzEfU~?w*Ah1X zJ-}Jsq-*)^0~V9D2PD1fxAOIX!N{}5pacK_u%75w&sCYN_@$6OE_A3mxX^)KqjxRG zjhOBhO~crYdxhh)u80IZyt+C1$b$WJqyq>y7xWvPo>!PknR|Z6YOQ+L!ZpAaT$9A9 zNuJ0vLQVF=84p2C$*IEKB4#xYmB!DQL?rB3 zAAJb2r{(c#*%`8Q8D>oHbMTDqDC-ck4FCIpZ(HL{CIA2c000*80_1uw*i4W}-v9sr M07*qoM6N<$f@HkIAOHXW literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_reject/00001.png b/tests/ragger/snapshots/nanosp/test_personal_sign_reject/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..717f3a5bac5957ea60d4ba4c2c5276a2a15c7761 GIT binary patch literal 503 zcmV2M1_fq%w zZ(xfvpP)qB>paZeW&9moeGw~e>x)+;@yJnA;W)0@v(#SJ@-As-^Q+|>P3iTuoxbjS ztHuh*^OE~ITA!?n4OMo-?pw{8*6P?-t6WTdw<6N1S6|^`9~}ZxQ={MYW6PDN{zAY%HUBI~4K-shfD>fK tpew=)0000000000000000001V^8>!&mq6`OZlM4G002ovPDHLkV1iod?C}5q literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_reject/00002.png b/tests/ragger/snapshots/nanosp/test_personal_sign_reject/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ffedd90f5279e10fd67907e6122c12c1bbafd7 GIT binary patch literal 457 zcmV;)0XF`LP)Bo7fQz-)#Q&A!PMpz3O%n|+fjfT!4#E}eZd``R7A6>%04 z&A!Rq0acf7-Rx_VTk-<{0APxR-Amm`Z_ezOhUqW=r@`mED)n>^wO4fWLn<5k8hwp+ z*c7VQlDSFeL7Ml1+K3Zc$L1++d!-5U?%MEvn{hd75c|*Sy20_M8!B3Zc2Y_%-kP`W z6B3uv5sEp6+7}?3cGS-jo%#RmC+k+Iq6=2ZCt{yO@|m#fhCEXc001~`+bXE-Sq__* zaSL|sh|S-mJG0AswVnF_Z;Zqai5F&=srY7G+YlXo%RjEI;O00000NkvXXu0mjf&CAl) literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_personal_sign_reject/00003.png b/tests/ragger/snapshots/nanosp/test_personal_sign_reject/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..121cfd59ed87f6935ffbcbe5fea8982825511b0a GIT binary patch literal 499 zcmVgX9g;)ZTl>^=ArsAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ovpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*c&zur@%X+Ij*PoU?OAnNg* zN4T4^dIr3nrv^aEjK}fR0F?i==%L;R00000_*iT;)ZFLw$(CoqpczYBSToEP$uRcJ ztaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwhbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LC zP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i`oC6%pQ!0Ot9jpY87oIi(s6^i{4cLy zA-WUMlU`vlZlCnX1CXT60J`)%1xHF!x`*ovo98o=HPtlC(^7+T&A(x6M5(A$S7q|GGnDg)R$w? zwIEtIsEPZraFNGyBuhLxWl|Pp@suMi08S~*k7;o3XjA5*OUBbbB)yPT6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|w zv-^1e9@x@hHadr!g=N7Kw93CK@Zb6UJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHD ke)={P000000Dw};FJ0{81JjCfLI3~&07*qoM6N<$f~{Cmb^rhX literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_eip_2930/00002.png b/tests/ragger/snapshots/nanosp/test_sign_eip_2930/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0c6c3d0820968b165f4b1361d27963d1154f53 GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_WLba4!+nDh2#w9p|19*4k^ zJDk7cgT6gtR~F{HaQ()SZ}arGEWH*GG;0|PP}7}h9UUFtBP}Yb<~w+4UcE5ijIHq4 z@29m)&PtPt^%7V0URq~evj5`VS&vQHFYT`UIG^$C)D`yAZoG8c9DR4!58++axzFd+ zE}pN%ptPbvx20-E~@`Fn5Z1>C1brZ+Vk1 z{oQ8F&%kit`r+R!`@;U-z2vlA>SAoRUzT-QaEns_$Kt6!mbhJcYpS{OmhV!*hl&bE zns5Ak6!Swd%W>NVoBMCQoOlkLdVMkN1NV+huC8Xrf@^#Yr>{)wS7z6IFZK1)mP+28 z%e;PNbN~Nn)M>gYaYE<6Osj=zztod?Y$mqa6v}^dsbBVK#9gvTmCKQ24IVH`{#$j^9)x5G{Ao%7000000N`;xP8$&8zHf5m zx~?OZ{A=#}=8;Is*J%URP~(v=d(PezcjP7Rb?|^ejUeYL+8$ zwClP^P3V=x0ot{wHzQLMVgcZ%RMfg@HgonBQOY+NM0XZRi`uyT+%r-)sdTP(ExR7b z%+x4P-{G~)J;LYe#fh}+eGQqknma>fQ==%O zx=K;{_rXpD)VyERH`Th}+RhT)%!lFnrLJg-eVu}0C>P1#POF?^tw(YY2U(_u`hBrV zw(N~yj{p2Fda`KS0ccanoJ`#E`M1+%8&TUblijl{oEz!FPHj?Q9Tejf$&kb4BVJ6M zj~T{J(i1lBQ>XAH8tHe=xEeZ>dc%dny!1I4zCt=X`kgZ#fQ1h?MD_`g4+yS)=hy*g zZxidFPRUR_!s*ptQ-JiKYody$JYsOjIRF3v005wp=1qA;F%2E@h^#=F&bdzOFs w8!u|7<`o$r%ACET6#X+O00000004mU4VfUn+a literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_eip_2930/00004.png b/tests/ragger/snapshots/nanosp/test_sign_eip_2930/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..b2dc741ab2fa1f5dbd4f21b4a219293f0f430ffb GIT binary patch literal 409 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|>w}ba4!+nDh2#bl+hG9*4kk z6YIqP-bwnO1+OkLT<;f^bE|q^&?S`w=7}jgKqw~ z!m|Edn)Xli1D6&|*&T4xqMm)`xfQ=p1Ksmr^^Q^chsBk{r`OHYFX?Q(FFD1o2PHr>k)X`r@^@+NM!ST-ZwWlB#Ayg z)gQ0DzO*EcaqiYV5t0GFSp%i?A8vZOA|(FKow#g)dq0dd>iFAdIp0Xii7qKxVbm4N zw$0nV-R#^!_8ZmWx9%#Oc=BK^hd$6r$l!xn{kxy6fjYqjH$cLku6{1-oD!M+-pIO}2evV&l1od zyYBU7Kd@o#UH&61@rp{B(QDKHExgMY)U5Kn!d_~h>N@9f($8g3|HH3awkEyW|Ezr5b2qL^VT1Bf3rg}Jz>7!-WpY# z9o0F;civU~^S`+CDXYYvSFhI1)c=}jaJSvh@%I9T*)ywmdoH_t`e}3k*V4Gf$M)w0 z{$6|7&;La86P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ovpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*943k!O7CvXDNA(u9=9tyO}$6OaoWvMQ%&ij*J> zl=ZU%X*t5H@*wD^SR=l=0Xsm{&E6}nzA;+X0vEDl&AL^9W`#51P1c*X?Q zY9<2v@+2|=wU=SJv7TF(#qx>GKLtLr39`mqg<>bQW;HIU%hLYMm_cUrFGC46qkl2X z!JV)Q-ANzX*>xh{!>}L*5)(7+S_ba*qn?xk%T*6d0%62`WyGLKu+^4yfJ}pZ82x$Hi^^YZXdZRh59^L&F z`trJ+bB>LEnxO-VL$R^ni*?L-c>PXI2Q<>t6*ptmt3)*Fi&;Dtv zSf&F8vw1TI{9AKAh7=Tx4hYtEz_i0w-l7|F$xi!M|9DH-3^LKbO()bu|7P?-B(hK> z=HW;-ya%eG&N?!C=qva5Vsw zH07k_w3mVy0mqaTd?OiVaJ4HPa7pQjIsu$`h9m`Da_cK-XQH=t%CFobZ>eYZZU6uP zsMc5;s_ADt`yawFZF-cEa_mAVMFb-S;jEE2C-Wl(1)~FkEj$PK@6!PQ003cGR-RG!o! z@B3FjkNxEhH|;?w$O)?SlkTCtNq%*?VYT=svBCeU;LGe0W`?Z1d#yj&P*Sn;os7{9Wmm#>1NgLnSTN zO}O>-8llmcN4#b`6a5YDh7|zgM#rlaGp~(0rO9-X@|vpU)Ejt%PG*J8Gk0TRoT&MU z8jf2G72qj`b-nK-9Dp&+ZzAip zPtGjwm+mo?tioEacaEXDrIO?En{KhDKjJ*d@D7|FUNWc<_h;1dleko~!{d zei@jH|L{lc)NGdl{FV3EUP{`*h714z0002MAHQxY;Fp7Qj;{a!002ovPDHLkV1oP2 BT)F@N literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00004.png b/tests/ragger/snapshots/nanosp/test_sign_limit_nonce/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..3edd720b3ddc46fe8f1bb3671725cc4dcc486857 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|^T4Ds>{Es8rARoQuyY9v0-_6`Mi9$xTU7nwQ*N`Iz3LN{Y;W| zmtCX&_u&4U1xLiL#0zKIes}+>aoj}kRluu+&DZy{C9-DB@~nTh%yHShxl42UtHO4UEl-uOx|Fg%!L7UukR>g1{o zl}}&Jf8G;*w(dHo+qcSHvU@+>IREn4uUlu_^LGBB$*1?bUzA@q_J7&OSB?iuG(!3EPEE{xy@346NwxvX6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ovpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*943k!O7CvXDNA(u9=9tyO}$6OaoWvMQ%&ij*J> zl=ZU%X*t5H@*wD^SR=l=0Xsm{&E6}nzA;+X0vEDl&AL^9W`#51P1c*X?Q zY9<2v@+2|=wU=SJv7TF(#qx>GKLtLr39`mqg<>bQW;HIU%hLYMm_cUrFGC46qkl2X z!JV)Q-ANzX*>xh{!>}LJi|~V9=3yolY74077P_eCQ1kZ006+(N-3q3yl3Iy*LwmX zgpfmTwg&sG_se?%O(~@q;}NEOaa`vH>Tk+k)qSd4mCd~P?||w_EPp&=S6)=j@?VET zl-=`njL|pxVTT1coQj2v_$K+}f?ZP3b0c_@^A0FevrO(Sa<8~&lFPP8L1j`t)kS@a z$`?kb``7L~0001AKL%rzM?JN8pw=7I(`2i9BkMw)#_Cu>t1`8^KTPYa-Khepy=IE0 zRU5Tsb^MntEk7J=@j+~b){`qYmhUreR0~p5M5o#1A%^##4EN-O?=xC}$$vxU<+DS~ zhj?Zh2D#{CQ;?K%edqOHZcGR-RG!o! z@B3FjkNxEhH|;?w$O)?SlkTCtNq%*?VYT=svBCeU;LGe0W`?Z1d#yj&P*Sn;os7{9Wmm#>1NgLnSTN zO}O>-8llmcN4#b`6a5YDh7|zgM#rlaGp~(0rO9-X@|vpU)Ejt%PG*J8Gk0TRoT&MU z8jf2G72qj`b-nK-9Dp&+ZzAip zPtGjwm+mo?tioEacaEXDrIO?En{KhDKjJ*d@D7|FUNWc<_h;1dleko~!{d zei@jH|L{lc)NGdl{FV3EUP{`*h714z0002MAHQxY;Fp7Qj;{a!002ovPDHLkV1oP2 BT)F@N literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_nonce_display/00004.png b/tests/ragger/snapshots/nanosp/test_sign_nonce_display/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..45b4d1304ed884c173097a3aa6a7ec6ceb2c41e2 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*Qa?Ri978JRyuA^)?vR22>xEyB z{C53U-8lXG#g>o-w=!B5&ifpC(&S)wkM3!puDf^L{2w@aW$uo+Zd!k5-TGJgUs&qy z)_!5R73B4mfBy~noog)Ty}y;eY>`e=X4!##vTrZ1nXVO{*ER9cw}(o44#rOxJ<~X% zK2>vRz{UKgZ42@_u2yd9uufQcXw_zGug^890*>Mf%KjZR34b;(xSxT+AZ*R$3zPf! z>YMC8#UJ^6xb5BLpI1!ulfq5oxwGVSvK{|k;dSSJR4b-1L$j=~c7^3>!{^HU37t#m%7Yb_5+TX8T!0CKteHTc?)78&qol`;+03z0i Al>h($ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_nonce_display/00005.png b/tests/ragger/snapshots/nanosp/test_sign_nonce_display/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_nonce_display/00006.png b/tests/ragger/snapshots/nanosp/test_sign_nonce_display/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~o+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYR0Lmc% delta 414 zcmV;P0b%~S1Goc_B!7QNL_t(|obA|Al7k=&fML4Rn{fXlvG<5T0bKG z$EA;B2lvFB?q~6M9(kAc?DTmVW=cd#Hp>U=IK#$z&U$>wA78wD^kDzGhR*mF8gLryC-JU+wuY0hTY!R8|QJJ zF8gNf;K4qn(0?w@znnMjco;W}bL~4_wD9M@2|JIAr!S>G{>1EGXZ{2@f8Owz>)DSQ@FMEK({-Ln?l=Sz1@1nJGm&NVubY^c4`}yzH8WG2OoY1Pt5cAInj+7)FhMr zWd^Ax`-?FLk*GqE_#ci$dI10c000000000000000fEUaB0wGjqp7tYhp#T5?07*qo IM6N<$f@tW;0RR91 diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00015.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00015.png index 03d02892ed0c7fde414723d5b9d68acb4ea92252..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 427 zcmV;c0aX5g1b_sPKRS}J!Qo-0=X_-pM~EvUW04R500000000000B*4F`@Zk1qiEoJ zbpSo_C4J&^5|Gu8F|LiI31=Hz((krk3sU0_#}?Hb|2cMsmJc zQ+I6lSk7OGbz(`kXZ}{|u9Q6wKw*C}p$g?ef17b~J|l=RT4hyOCCg>uZXI2J{ru3w zxZ6>B-qeuO)AyJMFB7w2=H5;?_|O-p{z%TQ7Pt(Ig|y*as-w6tuO1FUBi*dR?(7|Ho& zP2I8GW4V4M)`=xOp7~R$yHfT%0EPX^gesIL{cXm{^^73KXq8oA9a%05ckAqb>gz=h z;~q!pc~etP+XqbyEd}ZCIYrpcqTA8kgOF81UZ>cJYAi+GiMhBlif@`O*tsU%2gt&$ zjPi6;W69W8u{EA!C$a2@(JR03H~3_*r*Pyvlj#Jdmhc21RULp z+~7!bFaI$5^p|jrj;8}otx16Fan=tmerh|KCk@ml&j0`b00000008h&`~dQK Vg-F+c2Mz!L002ovPDHLkV1k^0$X@^e diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00016.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00016.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_sign_reject b/tests/ragger/snapshots/nanosp/test_sign_reject deleted file mode 120000 index 2f1476fcc..000000000 --- a/tests/ragger/snapshots/nanosp/test_sign_reject +++ /dev/null @@ -1 +0,0 @@ -../nanox/test_sign_reject \ No newline at end of file diff --git a/tests/ragger/snapshots/nanosp/test_sign_reject/00000.png b/tests/ragger/snapshots/nanosp/test_sign_reject/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*943k!O7CvXDNA(u9=9tyO}$6OaoWvMQ%&ij*J> zl=ZU%X*t5H@*wD^SR=l=0Xsm{&E6}nzA;+X0vEDl&AL^9W`#51P1c*X?Q zY9<2v@+2|=wU=SJv7TF(#qx>GKLtLr39`mqg<>bQW;HIU%hLYMm_cUrFGC46qkl2X z!JV)Q-ANzX*>xh{!>}LJi|~V9=3yolY74077P_eCQ1kZ006+(N-3q3yl3Iy*LwmX zgpfmTwg&sG_se?%O(~@q;}NEOaa`vH>Tk+k)qSd4mCd~P?||w_EPp&=S6)=j@?VET zl-=`njL|pxVTT1coQj2v_$K+}f?ZP3b0c_@^A0FevrO(Sa<8~&lFPP8L1j`t)kS@a z$`?kb``7L~0001AKL%rzM?JN8pw=7I(`2i9BkMw)#_Cu>t1`8^KTPYa-Khepy=IE0 zRU5Tsb^MntEk7J=@j+~b){`qYmhUreR0~p5M5o#1A%^##4EN-O?=xC}$$vxU<+DS~ zhj?Zh2D#{CQ;?K%edqOHZcGR-RG!o! z@B3FjkNxEhH|;?w$O)?SlkTCtNq%*?VYT=svBCeU;LGe0W`?Z1d#yj&P*Sn;os7{9Wmm#>1NgLnSTN zO}O>-8llmcN4#b`6a5YDh7|zgM#rlaGp~(0rO9-X@|vpU)Ejt%PG*J8Gk0TRoT&MU z8jf2G72qj`b-nK-9Dp&+ZzAip zPtGjwm+mo?tioEacaEXDrIO?En{KhDKjJ*d@D7|FUNWc<_h;1dleko~!{d zei@jH|L{lc)NGdl{FV3EUP{`*h714z0002MAHQxY;Fp7Qj;{a!002ovPDHLkV1oP2 BT)F@N literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_reject/00004.png b/tests/ragger/snapshots/nanosp/test_sign_reject/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_reject/00005.png b/tests/ragger/snapshots/nanosp/test_sign_reject/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000mk(P&x zcT9d)@0qS|$KsSbNr-#W%wP5XT^o-W@4P6*2-F1u4sK~_&$jxT+J=`u=*pY=)+>Gn z>xSIu%0i9u+Gyz=2HXl&l0U-imE=}i7XUt^qp>e9V`Usf)*3;1()vg^V0Y3r}b&bTyJrd_h&(z0sPi7S%@4(y9d z<=DRU^|nlI-Oyi7dJPwM*!?$lx$Ty_QgR~qf}T5NGtTqeF5B=rc)#r5+`IdKEn?c4 zoDq9GIj?!{{g&_HeDhmMIOl2V2gEn!`Dbv>I&K6CH85z%%;$NqS3T!i_BRmU)78&q Iol`;+0H%YN%>V!Z literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_reject/00007.png b/tests/ragger/snapshots/nanosp/test_sign_reject/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ovpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*943k!O7CvXDNA(u9=9tyO}$6OaoWvMQ%&ij*J> zl=ZU%X*t5H@*wD^SR=l=0Xsm{&E6}nzA;+X0vEDl&AL^9W`#51P1c*X?Q zY9<2v@+2|=wU=SJv7TF(#qx>GKLtLr39`mqg<>bQW;HIU%hLYMm_cUrFGC46qkl2X z!JV)Q-ANzX*>xh{!>}LJi|~V9=3yolY74077P_eCQ1kZ006+(N-3q3yl3Iy*LwmX zgpfmTwg&sG_se?%O(~@q;}NEOaa`vH>Tk+k)qSd4mCd~P?||w_EPp&=S6)=j@?VET zl-=`njL|pxVTT1coQj2v_$K+}f?ZP3b0c_@^A0FevrO(Sa<8~&lFPP8L1j`t)kS@a z$`?kb``7L~0001AKL%rzM?JN8pw=7I(`2i9BkMw)#_Cu>t1`8^KTPYa-Khepy=IE0 zRU5Tsb^MntEk7J=@j+~b){`qYmhUreR0~p5M5o#1A%^##4EN-O?=xC}$$vxU<+DS~ zhj?Zh2D#{CQ;?K%edqOHZcGR-RG!o! z@B3FjkNxEhH|;?w$O)?SlkTCtNq%*?VYT=svBCeU;LGe0W`?Z1d#yj&P*Sn;os7{9Wmm#>1NgLnSTN zO}O>-8llmcN4#b`6a5YDh7|zgM#rlaGp~(0rO9-X@|vpU)Ejt%PG*J8Gk0TRoT&MU z8jf2G72qj`b-nK-9Dp&+ZzAip zPtGjwm+mo?tioEacaEXDrIO?En{KhDKjJ*d@D7|FUNWc<_h;1dleko~!{d zei@jH|L{lc)NGdl{FV3EUP{`*h714z0002MAHQxY;Fp7Qj;{a!002ovPDHLkV1oP2 BT)F@N literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_simple/00004.png b/tests/ragger/snapshots/nanosp/test_sign_simple/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_sign_simple/00005.png b/tests/ragger/snapshots/nanosp/test_sign_simple/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~oQ@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v1_non_mainnet/00003.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v1_non_mainnet/00003.png index a74d347ceda28460e696a38a0448e8a7a6d8ee8c..f04bd00e0d5dcbb28683d5232e3b6ed812c74372 100644 GIT binary patch delta 417 zcmV;S0bc&T1G@u|B!7ZQL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v1_unknown_chain/00005.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v1_unknown_chain/00005.png index c2a8d9070217b86acf192795163728ca4e81aad5..ab030ef1f89502eb6e59f73f21551b7d37015f63 100644 GIT binary patch delta 398 zcmV;90dfAM1E>R#B!6#7L_t(|obB0Bl7k=&fZ=qfH{t$A;x7B($WRg}wvxE(|2-*f zgAEcDMF0Q*0Cx}nE_2S?MoOvI@^Q>B zpDsGiIQUG=)BQO2HzVz2&yLQEnW>y}$!7Us9mi~}J6-T^-ha4a3DR>y_H(~C9_2et zggTVj*nH|g24Mrx6cc^sN+(lCdnwz!+ST;#JO;rfXgQYmf z7wU1!nmF5+&BoY^FaQ9+Jvpt0_U`=5UH!w}!h=|kT7#CsLhQ`J{0HM3{NCv-3bJ`(XNL4GsfI@zCD#xP%0tZ=&$q_ZD5^Tcxi^dj(J zcahj!Pgytb4&DFM?dD4r{n1QIt_+Su$2rTJus&7q=DJBH`)-U>lYM85K_seBB(B4e sNG|{Y0000000000000000Ir$aar}KppTL#=P~Nl10Z`SHQg!jl`{lglw45UI z)5XRa2cL;~xi9DbW~80$*|B+PW=d6aHuD$DIL*eg(*?igz<(V}kew5&c#pc$FZ(8E~KMANI8^4N-!Yu-OlsdEz+$b`f~6yGU%V zr>vWIr=EYx_U4}|_Rvg=76xZx<6Pw+tWVW@xNefkzMDp>$-XnjAQDw568GUqq!$1H o00000000000000009fV+qQFNgYXzR200000NkvXXt^-0~g6}WBAOHXW diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v1_unknown_chain/00007.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v1_unknown_chain/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v1_verbose/00003.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v1_verbose/00003.png index a74d347ceda28460e696a38a0448e8a7a6d8ee8c..f04bd00e0d5dcbb28683d5232e3b6ed812c74372 100644 GIT binary patch delta 417 zcmV;S0bc&T1G@u|B!7ZQL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v1_wrong_addr/00004.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v1_wrong_addr/00004.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v2/00003.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v2/00003.png index a74d347ceda28460e696a38a0448e8a7a6d8ee8c..f04bd00e0d5dcbb28683d5232e3b6ed812c74372 100644 GIT binary patch delta 417 zcmV;S0bc&T1G@u|B!7ZQL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v2_wrong_chainid/00005.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v2_wrong_chainid/00005.png index c2a8d9070217b86acf192795163728ca4e81aad5..ab030ef1f89502eb6e59f73f21551b7d37015f63 100644 GIT binary patch delta 398 zcmV;90dfAM1E>R#B!6#7L_t(|obB0Bl7k=&fZ=qfH{t$A;x7B($WRg}wvxE(|2-*f zgAEcDMF0Q*0Cx}nE_2S?MoOvI@^Q>B zpDsGiIQUG=)BQO2HzVz2&yLQEnW>y}$!7Us9mi~}J6-T^-ha4a3DR>y_H(~C9_2et zggTVj*nH|g24Mrx6cc^sN+(lCdnwz!+ST;#JO;rfXgQYmf z7wU1!nmF5+&BoY^FaQ9+Jvpt0_U`=5UH!w}!h=|kT7#CsLhQ`J{0HM3{NCv-3bJ`(XNL4GsfI@zCD#xP%0tZ=&$q_ZD5^Tcxi^dj(J zcahj!Pgytb4&DFM?dD4r{n1QIt_+Su$2rTJus&7q=DJBH`)-U>lYM85K_seBB(B4e sNG|{Y0000000000000000Ir$aar}KppTL#=P~Nl10Z`SHQg!jl`{lglw45UI z)5XRa2cL;~xi9DbW~80$*|B+PW=d6aHuD$DIL*eg(*?igz<(V}kew5&c#pc$FZ(8E~KMANI8^4N-!Yu-OlsdEz+$b`f~6yGU%V zr>vWIr=EYx_U4}|_Rvg=76xZx<6Pw+tWVW@xNefkzMDp>$-XnjAQDw568GUqq!$1H o00000000000000009fV+qQFNgYXzR200000NkvXXt^-0~g6}WBAOHXW diff --git a/tests/ragger/snapshots/nanosp/test_trusted_name_v2_wrong_chainid/00007.png b/tests/ragger/snapshots/nanosp/test_trusted_name_v2_wrong_chainid/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/blind-signed_approval/00000.png b/tests/ragger/snapshots/nanox/blind-signed_approval/00000.png deleted file mode 100644 index 11ea8a56bc60bd449386bb9fca08e76fedf58e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 587 zcmV-R0<`^!P)S}D{b#1o0q#G`|wuQS5382)wtbsZ$x!T z8b7$9HnG=lzlVLFx<${P6!qgz(YnI4qx6{=X_;q@`%ClIMm7U(NG4Lm_Q&#J1ZZ3e zyXyH$BR&LW=)3%m+QHAV#7M(%)%mQ=lVY6Ov82SGvAkBByJ8GzOnN}LRoi1@c3Sd@ zL)eHhZS?cAU9F$w-_DX#Mxd#s0eK$qpLo}IL8C3j{YD5OgsdbZV@<^j`&rM9)YB+7 zYZH)Z)TncR&?8brFCy+mswCOpR2L`emdEhH)?%IhOMz3CwxUy->rLA(r-*3Ow~Z_@ zEARM~*Qt|!hyA2_K(bE$kty;OzTxY+fMyp-fU^ztj3sY2!02En$sw;X-IP*99945Y ztDBzg0sh&>qbwR`mngtaky5_P{U4`s1;0 z?{f>9Zfbf|_00eLCwPudd#p2Mzfg8-=Z~Y&(Z3(6-dSPln_e}2 z&8bJe=5=w3_V0Wxpw!uqXV@ zTyg#0l&4R7|Ayyoo}1J3WZRs6lez;p_x-s3`O4ERHjEo5Zk@S4@1z`Oka)v{pj(C~ z>TB;CrkB0D2@>;k^>bP0l+XkKqsFS~ diff --git a/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_1/00006.png b/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_1/00006.png index 1a9d80bd066e15d136f5819e9f35e4a92c240708..d95bc56a1ddaf5ebf25b99d283201138f7422944 100644 GIT binary patch delta 478 zcmV<40U`eG1NZ}wB!9n2L_t(|ob8!Wa)lraMQx`$VgE~FFa2;HlZJo{B%+;jz7+8W z6ATfL0{{R30N{4M)+KVzswJhgs8%Z|D=Q`@tiOPqa~%nRnanfb< z=Y%S!WtPduo1Sz^P1%ylIcI599@ir3QZ2PIX36)ugh}m=GJo8Z(s`Ud99AA%p{0Dr zKz36@YF(02zG*7t4KQ=aWm*p%z+;Je11>4^$bH2NQVv>~Ljq8b^_6vng?pJ4^#-)E z|M96V91TMQ{1%j_$5aiz5{M%W2vs{Iv2LB0nd2t(tok~>Sa@_8DWAs$@DvAOFU^+r=4%f$ZqdDoG@aM$Ex=#S^|12u8F}+~M-sSg$ z5?t4D2!NSD9!SLI=z0v^w-qr+UFSU0ihctoLb|e4PFLJGZqX|SoxhToW2mKi{U4q~ z{s&DbF1DKvAdDov{BUv6p^$!e}JG6eK^Ad%j$Z z1qF;5W!nG%0D#lIT%zQhRY^)|F`A8_T3KmgqV)&JIop}=s-p@=;tcA9a%`pLH#BE3 znA9yP7zqkl5y;7aU5S2`GE<{%Wq3jhEB000000000000000g!uzCDT0GJIRe)J0000< KMNUMnLSTZEt>5JU diff --git a/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_1/00007.png b/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_1/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_137/00006.png b/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_137/00006.png index 1a9d80bd066e15d136f5819e9f35e4a92c240708..d95bc56a1ddaf5ebf25b99d283201138f7422944 100644 GIT binary patch delta 478 zcmV<40U`eG1NZ}wB!9n2L_t(|ob8!Wa)lraMQx`$VgE~FFa2;HlZJo{B%+;jz7+8W z6ATfL0{{R30N{4M)+KVzswJhgs8%Z|D=Q`@tiOPqa~%nRnanfb< z=Y%S!WtPduo1Sz^P1%ylIcI599@ir3QZ2PIX36)ugh}m=GJo8Z(s`Ud99AA%p{0Dr zKz36@YF(02zG*7t4KQ=aWm*p%z+;Je11>4^$bH2NQVv>~Ljq8b^_6vng?pJ4^#-)E z|M96V91TMQ{1%j_$5aiz5{M%W2vs{Iv2LB0nd2t(tok~>Sa@_8DWAs$@DvAOFU^+r=4%f$ZqdDoG@aM$Ex=#S^|12u8F}+~M-sSg$ z5?t4D2!NSD9!SLI=z0v^w-qr+UFSU0ihctoLb|e4PFLJGZqX|SoxhToW2mKi{U4q~ z{s&DbF1DKvAdDov{BUv6p^$!e}JG6eK^Ad%j$Z z1qF;5W!nG%0D#lIT%zQhRY^)|F`A8_T3KmgqV)&JIop}=s-p@=;tcA9a%`pLH#BE3 znA9yP7zqkl5y;7aU5S2`GE<{%Wq3jhEB000000000000000g!uzCDT0GJIRe)J0000< KMNUMnLSTZEt>5JU diff --git a/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_137/00008.png b/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_137/00008.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_137/00010.png b/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_5/00006.png b/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_5/00006.png index 1a9d80bd066e15d136f5819e9f35e4a92c240708..d95bc56a1ddaf5ebf25b99d283201138f7422944 100644 GIT binary patch delta 478 zcmV<40U`eG1NZ}wB!9n2L_t(|ob8!Wa)lraMQx`$VgE~FFa2;HlZJo{B%+;jz7+8W z6ATfL0{{R30N{4M)+KVzswJhgs8%Z|D=Q`@tiOPqa~%nRnanfb< z=Y%S!WtPduo1Sz^P1%ylIcI599@ir3QZ2PIX36)ugh}m=GJo8Z(s`Ud99AA%p{0Dr zKz36@YF(02zG*7t4KQ=aWm*p%z+;Je11>4^$bH2NQVv>~Ljq8b^_6vng?pJ4^#-)E z|M96V91TMQ{1%j_$5aiz5{M%W2vs{Iv2LB0nd2t(tok~>Sa@_8DWAs$@DvAOFU^+r=4%f$ZqdDoG@aM$Ex=#S^|12u8F}+~M-sSg$ z5?t4D2!NSD9!SLI=z0v^w-qr+UFSU0ihctoLb|e4PFLJGZqX|SoxhToW2mKi{U4q~ z{s&DbF1DKvAdDov{BUv6p^$!e}JG6eK^Ad%j$Z z1qF;5W!nG%0D#lIT%zQhRY^)|F`A8_T3KmgqV)&JIop}=s-p@=;tcA9a%`pLH#BE3 znA9yP7zqkl5y;7aU5S2`GE<{%Wq3jhEB000000000000000g!uzCDT0GJIRe)J0000< KMNUMnLSTZEt>5JU diff --git a/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_5/00008.png b/tests/ragger/snapshots/nanox/erc1155_safeBatchTransferFrom_5/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1-rejected/00007.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1-rejected/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1-rejected/00008.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1-rejected/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#4x7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1/00007.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1/00008.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_1/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_137/00007.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_137/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_137/00009.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_137/00009.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_137/00011.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_137/00011.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_5/00007.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_5/00007.png index 55ce94fdd721fdfb8ade0be25c4531a0cbd21c0e..d6113cffb49fef70c69431965c9750bf59d282a2 100644 GIT binary patch delta 304 zcmV-00nh%z0?PuBB!3b~L_t(|obA|Q4uUWYhT&q`Bzq5Nglo{BpytoM(6^xV*+y~$D*7Fu5@GoR zfL7vX08KoKQ0Mxq^v6&n7VWk6Po=H_El7+41e0hx`#)2&IJnzfKPIW&B$NGVHd0OY zC!+>RbRi|4!zoIn7XSbN00000000000000080HP$D7D<_PYvGy0000T22B!3A>L_t(|obA|Aj)E`{08ljEg!><D*fD z!{Sd?gDh^nhMF=K%Jtyq{n`95J!kNz260#%zliWIRAQSNaeoD@8m)C~rN#>AGj!WY zI>MK^Mgew}yG=?fKySf)XR=5^Z0>RJuOfec>(ml6l3t7hEqtN{s6f$PecDH z9s%XP$=Q|ukPfj8r7HW#A(XCx7L-f@22*G`$CK15KD=$MKU37(B+LF`R#Gkd2UCMg tx=<$H;Y`vC03ZMW000000002HxdVtzyZh>_ji>+s002ovPDHLkV1ke}h{yl{ diff --git a/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_5/00009.png b/tests/ragger/snapshots/nanox/erc1155_safeTransferFrom_5/00009.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_1/00004.png index c5b41a3543c5055da141113c5b81f92bef0777c7..bec2deba1bfa5a702720c8bd2c0168ca58c2cfb2 100644 GIT binary patch delta 567 zcmV-70?7T+1kePKB!3r4L_t(|ob8%Xa)lraMQx`$VgE~VFa2=pFabguh){dZ*OP`6 zLx6boH~;_u00186W8B4go}wkCWbATVmMu%ThLMlK(lWy5xQmq1J(~RYpW{w~GNt19 zigRsA>hnBPO63jbE%_?Rjj#5WrEsViuVumtsFJT!M?$3^M1S{d4lI^O7UKM`Eo1#M zj*t~l&FEicoc;cdmd5SHoiT0#x1cU!KM^sq#6q{Mo|bwZJQ@0nkS(aZN&Ogz7{gIi z2a08$2g*SbLDUMkGTK+M<$Xsi#c?f+l`JXif^F;O9T8JvoXb^2RY726!jtfZwCYg+ z0LYnh1_bT7gMX!7sT$2a45mBukE7c%#qD7C>BZ<2hp|#bOMSE`nz}=ux~V)*l|HMN z#|pWkgOY3FfvEdKG`1c`E!nMfpEBmE69;R=IHSyPTeh-K@l);Y7)f-#ubBY**(GF| zmVna=Q}u1nZ#@`?>H{faF>(bsN~8g@tOMW>hYHs`GXdrgA(xFq1dwYy!pC%gBN`-gS3oE}3J;tP!ckB|Vp^I6z z0;)CWy)Ywn6;q?6>M*931poj500000000000001Z2j6I&3+`9QV@3b~002ovPDHLk FV1h!U3xogw delta 569 zcmV-90>=H&1kwbMB!3x6L_t(|ob8%Xa>XDBMbl1q;{KPEz4Rl~jDw04Mbq@0uNRBd zhlqOfjspMy003Y)ALB00^As&9C1aP{vTWJHHH>@=mX;Ad$6ch9?$P9*{~UJ`lqnU* zSDb50QlICUQYyc2-jc79-1us5Sqg`W@m?mZfGYVqbtF{!L4S0==D=ckWFgM~+A`K3 z;|N&+)r|gC#@WBW(b8C6+!^C0umt5)qc7@-h>;~0x@C2@)bn6v=r2M_P*Acvh9Rm@ zcMN%#HIosw0;XYFcYpAxSE@#HH-qU8{p0AiOmREdefnW^io;kbqNP4s6iwZsPu*1RQ>D-9 z=EM*vs$U}j`PB{3Ah-MR^Cx1P(wGf zZ3R@%pfYzw>MEv2N!4M@Srz~Q000000000000000;2nGe29*o$miXX@00000NkvXX Hu0mjf%Dxe* diff --git a/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_1/00006.png b/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_1/00006.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_137/00004.png index e3e9c918d8475c2718d9deffd732d7220a8af754..8c20b1cba2c0984ed88cd89ba819434a4e0ba3b2 100644 GIT binary patch delta 507 zcmVm*H1hM;xr3k%sW^Xe zReORu=bTciUs$HdQ6e*!^j=O?p^^Dn8%98r9H$cjm0ncw(tih@oR?@~`PW`%`)iz# z5zvh2p@{RpzcZ(EdYO)xX@OJFTWUU0ZRBYSJ7;sXwBz8DO<#meLG?@8%Rt04T-ENt z$SLE%SV$s7jeru-b2~O!b|t4;u2p6uO6q;VvHRu|sV;H$4rRvq%f61?Gjxm*ppHCmKd8jsfzvbQnn61HJiTAE>lsS4MO{TWFA^>hXw8Cg zQ$h43<6Joc?}Gd}J@d@=_6l8B{cHYrUqzgJ$#bk`_1T;IXuEf`N;+UdqtT|@kq(%%vkx$8^DKlR xZyK3C2u1S(0000000000000000001C{sHC6#w14|d%gew002ovPDHLkV1mGP^c?^I delta 506 zcmVI4cK)aj0iT6KJ@3J3e8iGjCO4~`^`a^h*Ks64n^JlF z<(ZBo^}g?=l=g+?h+HL7xQ_QEl|e`NSr)7S6S+<&5~_Sq>VGu`5y?%sSpM1*_P^$l zvI5ME9?H1*`v)b1*ZjiXXzV^D4M2%tID}s z$*=WN=G?#hcI=v^?G<)N9czz;g^*YslGemArpCj41Zr!R&4Z zAKi-e{_K=Sg2v5PJH|c5iG+H24!)4C$L3r~046Y;Htk0OFvrRmz$lBW5DanRWMYsC w?gan<00000000000000000000002niAA`ciByI3)c>n+a07*qoM6N<$f_gRXs{jB1 diff --git a/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_137/00007.png b/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_137/00007.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_137/00009.png b/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_137/00009.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_5/00004.png index e3e9c918d8475c2718d9deffd732d7220a8af754..8c20b1cba2c0984ed88cd89ba819434a4e0ba3b2 100644 GIT binary patch delta 507 zcmVm*H1hM;xr3k%sW^Xe zReORu=bTciUs$HdQ6e*!^j=O?p^^Dn8%98r9H$cjm0ncw(tih@oR?@~`PW`%`)iz# z5zvh2p@{RpzcZ(EdYO)xX@OJFTWUU0ZRBYSJ7;sXwBz8DO<#meLG?@8%Rt04T-ENt z$SLE%SV$s7jeru-b2~O!b|t4;u2p6uO6q;VvHRu|sV;H$4rRvq%f61?Gjxm*ppHCmKd8jsfzvbQnn61HJiTAE>lsS4MO{TWFA^>hXw8Cg zQ$h43<6Joc?}Gd}J@d@=_6l8B{cHYrUqzgJ$#bk`_1T;IXuEf`N;+UdqtT|@kq(%%vkx$8^DKlR xZyK3C2u1S(0000000000000000001C{sHC6#w14|d%gew002ovPDHLkV1mGP^c?^I delta 506 zcmVI4cK)aj0iT6KJ@3J3e8iGjCO4~`^`a^h*Ks64n^JlF z<(ZBo^}g?=l=g+?h+HL7xQ_QEl|e`NSr)7S6S+<&5~_Sq>VGu`5y?%sSpM1*_P^$l zvI5ME9?H1*`v)b1*ZjiXXzV^D4M2%tID}s z$*=WN=G?#hcI=v^?G<)N9czz;g^*YslGemArpCj41Zr!R&4Z zAKi-e{_K=Sg2v5PJH|c5iG+H24!)4C$L3r~046Y;Htk0OFvrRmz$lBW5DanRWMYsC w?gan<00000000000000000000002niAA`ciByI3)c>n+a07*qoM6N<$f_gRXs{jB1 diff --git a/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_5/00007.png b/tests/ragger/snapshots/nanox/erc1155_setApprovalForAll_5/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_approve_1/00004.png b/tests/ragger/snapshots/nanox/erc721_approve_1/00004.png index 02c6fc77c678018d9c7aa18109073ea834a0aece..acfaef10ac328ac445333bacd9d5c376f358866b 100644 GIT binary patch delta 361 zcmdnUvWaDa3ggd-s+;O}t*Bd+^yFswwv^3^I={PS-E7KIe|!DFk)>A`t>SiFUhb}D z^i%di&dQ5B@7}pF>8Ypgn=`u}x^7wdPdTLK@54I%$=VEydgix?KY8(AgMpz%bN!i1 zl2Y;)ByCl!TSH}R+>dU)!T#m5)zt@6WajKSW56dS=lOj7q=~CL-fi8dC=gq(wD;f4 zk1<=Nq;jmE+I_g6a$@n!seZ^z}&@@8Yu7omAbv@ZzG+?Al8ze{4Q7SEo=^asRqCCrcx*h%T7r zu(#lE=?3i!e}3JF@he+cHTB)4t)C`5EegwxooaZ!&T~aY)U@@%YhOng&2_#$?Ng;@ z^0Lbx@=V*qH>X?4PiWSEX1wdd_Dh^bmODfaaWh~61(NmG4zWb|`v!s~Jzf1=);T3K F0RUYnuu}j4 delta 360 zcmdnQvXNzi3geH7s+;Ond{2ki2O55QV;#NerogmX*Rwf};8gX8mKK#W6J>O4CY_5{RSp-tn_cUyu*;>Y{;%=lomr+P zH_A@cKG=V9g1hn8Hzrp}}GyxT6>D?7b2***nj9vFmgGFptk4(mSmqA89$&#YRqky=jHEgK1;c!(Xox z!WaDfx^d^6H%?!*?k>%Ks(5;~+FRk?n4RCeosM4KR5Ld#_V}ciGP|}-IqxlLJh!cU zwdI~!wwHf4$kZ6lzu3BOs^5f@2bT)OF<=1=r++Y)er1VpHoN!$B<<B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_approve_137/00004.png b/tests/ragger/snapshots/nanox/erc721_approve_137/00004.png index 4ef9c7d272ed0950728f083763881e6d9648ea48..91b78f3d4aac17d0966cfc0a25cdcba1c73aaa22 100644 GIT binary patch delta 424 zcmV;Z0ayOO1HuE4B!7uXL_t(|obA|2lEWYjKvB|_o9O;W;x4_QLeYXSnK**}ZOuKhrHmB=$A^ypho7Fz#O&edpYB z`7ib?YVW;>5PnFm3XxmC$hLwxYn1TCRI<=81<~XdStO6 zn0-X8EJ1ma^~b=%TdSL@Dm2=>d1ax+&wye{9c|m3n|h>w$%8v*y^_UfQT<2M`1TL? zcP-ul7&ZS-*ngmR=TQK_A@bwRE(e|yU SC750S0000F1DKvCN1PT2pF*h@c{FsdL}V3G)W&sWA3 zsl-Ee90C9U0PuES(<4(#>Pn2!IHW|@SKcZAca_YWGx?q#8DlKD%Fi3gIp=x*$n1v@ zewKfuWmBh=VvO|}l2_!$l)-Y=>PYp4o#4?b$_mM)lDW+--hccFXi~|I4v!CNc&^hD z8N@`$zxIPWz38%vi87^?C!o2bhxUcN7-M7!>%^uqiyRnElF?=NUW`@MMr{7=2# z6R?W&H8^|$@{2joYv6hT^4#5j|K)rQ{_vKl<)O3r8qViU_#zWOi53o1y6I^}K1=nP z)lH3}9MPUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanox/erc721_approve_137/00010.png b/tests/ragger/snapshots/nanox/erc721_approve_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_approve_5/00004.png b/tests/ragger/snapshots/nanox/erc721_approve_5/00004.png index 994363ff0dde82f765349429e090fd47359e956e..1738e51b115fd6101b30544786b9c39f955e25ef 100644 GIT binary patch delta 408 zcmV;J0cZZ@1LgyeBmu3FB_#xGge?-0P8WaK)x|8nlArFD-uvTP<=;0FuQ}#@OZJ^} zzr%a9+|(fi?|u3V$s_W{l)*AaThMb%Ms3{x8U1Z3~%ru)J^7-QrSR)|;6V#g@{Q@F;Lpej{QRE{k7T{(X; zTM#b0M2###=^)F?z`#?hld3Az+Pr#XpuuZEwxqVUto5F!!0zv+Yk6ll|1vVY!FL zN~=e9Bdj~D8Y%xR@4>Bc-4ZnWr)+<^sjy`ZHtdEPcZz10g18ZzzC5_iE6Hxxd4HL{ zmCL@Tn@T?c3vL0m+@-G@&kh>(b+~2`uB3PN&4>$ delta 407 zcmV;I0cif_1LXsdBmu0EB_#w01eRlwP8WZ-tIjO$$xnAn@BPtN`S*>)KF7Ro$-Z;$ zcla4Ci#mkhy-%+pc|%RiBROeco`#04*j?)t9 zL?Yy;<={dss*a*#n9|5AAiJWQ)`fjA#>gYA5U;Mqj#2!laE&iPQnqKRo~RsI)?I%& zGFuQXdy5)bf+j8Yj&7(b)Y`myWT3(KfNV)^ZCjn2a%6Z*gN?IZ7)5JQ{UR#A_H^$x z_zFO){wLuJI{Q5e0C*0|^R4j=+ui$D&;xF>bGIT=g}pHMnb5QCPZg8>)N;b|86GRG z9@&ks?yzd4{I|RZx5jl#(CkOqbW?v}%N(pOLC(BWG`keUjo9?%!EIhicDv5|%k-^W z_C4KH`U+UE1k~*=ecgC=(5UZ(Yi`1o^v<6A?49u2oQ`@yI+%bcGw@}(2*R3gyr!LV zfSpwcl_WCB!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1-rejected/00004.png b/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1-rejected/00004.png index b1d7a7b57272ba2cd4d82030ecfb02fc77f2cbc3..41e5dad2e132395a454c134a8f0eac68f4019f9f 100644 GIT binary patch delta 497 zcmV9B9pz2 zYNhxc(CJ}Mn~1QKmy7i$DHd^OiyJ|DY+CE}tf>`e+77Vpoqs}9VU_A4cZ%~~Ru;15 zYo;*3fo!-DcA6vAZSx9PU%71h!crj zY)(G1#+!_cB7dBrpn9A4XPglikIuN_^3AI^-E`tq13_uc|KOpfr`b@w9PIhiy!IC_ zcaq%!af2$_o^h*nnMfq&h#mjtyVwEE-d>VDUQf&Ckka?!SeEnpYz%K?$uu;(>Egv2 zn7D1;iJ2c{hEbniHe_8F^$t*nKywD^KVGbWIvgB#@@f>aULxNbmGM;MQp-l===u){ zRZlPSeRk_UkxZwX+EzJl70h%R+3l9_Zt+a#1A6eqe8wsCty~nD9xR3O0ssI200000 n00000000000000004(DV7(NDt?QeVx00000NkvXXu0mjfO@HtJ delta 497 zcmV!y%k@(~n8mh5IGcL?oW#m&dkv?HjE!-%Z=Qz(;=yPLiiSvW~Hpx!KUFNgly*%s=e zTp3yLxbp{-(|Y6f1poj5_%_OaX4wp_Cu}-RMPIyC9c=YEp|}-@HcCO(RY<5R}&J4<2fI8V%LTp*?@P*Y@J& zPHK06-=KbUnGm<600000NkvXXu0mjfy4CF% diff --git a/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1-rejected/00007.png b/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1-rejected/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#4x7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1/00004.png b/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1/00004.png index b1d7a7b57272ba2cd4d82030ecfb02fc77f2cbc3..41e5dad2e132395a454c134a8f0eac68f4019f9f 100644 GIT binary patch delta 497 zcmV9B9pz2 zYNhxc(CJ}Mn~1QKmy7i$DHd^OiyJ|DY+CE}tf>`e+77Vpoqs}9VU_A4cZ%~~Ru;15 zYo;*3fo!-DcA6vAZSx9PU%71h!crj zY)(G1#+!_cB7dBrpn9A4XPglikIuN_^3AI^-E`tq13_uc|KOpfr`b@w9PIhiy!IC_ zcaq%!af2$_o^h*nnMfq&h#mjtyVwEE-d>VDUQf&Ckka?!SeEnpYz%K?$uu;(>Egv2 zn7D1;iJ2c{hEbniHe_8F^$t*nKywD^KVGbWIvgB#@@f>aULxNbmGM;MQp-l===u){ zRZlPSeRk_UkxZwX+EzJl70h%R+3l9_Zt+a#1A6eqe8wsCty~nD9xR3O0ssI200000 n00000000000000004(DV7(NDt?QeVx00000NkvXXu0mjfO@HtJ delta 497 zcmV!y%k@(~n8mh5IGcL?oW#m&dkv?HjE!-%Z=Qz(;=yPLiiSvW~Hpx!KUFNgly*%s=e zTp3yLxbp{-(|Y6f1poj5_%_OaX4wp_Cu}-RMPIyC9c=YEp|}-@HcCO(RY<5R}&J4<2fI8V%LTp*?@P*Y@J& zPHK06-=KbUnGm<600000NkvXXu0mjfy4CF% diff --git a/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1/00007.png b/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_1/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_137/00008.png b/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_137/00008.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_137/00010.png b/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_5/00008.png b/tests/ragger/snapshots/nanox/erc721_safeTransferFrom_5/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_1/00004.png b/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_1/00004.png index d22cc8c5756218f07e6961c9c18622d8bde97782..d142517b63b12fa6ebc70bccf4549f039fa998c4 100644 GIT binary patch delta 528 zcmV+r0`L8(1gQj&B!BQpL_t(|ob8!ilEWYffU`S$6Yqbd++`m!+o7O{Mq0b`eNQPx zf(rhS;{X5v004M7U-wO%=cy#6lwgyGrj@*f%MIy6L~@7k`zA^$4{zl2$MFaP8&Y}v z@FL_H-8FZB2%YqE3BJ*@2pvoVr`F}MB5zRvkvHZ8C?ElOo zB?GDvJrr^A{s%RK%gc1cOp~|-by4ey8l%Wq_?p$-(vO2z4*f;S5@b8+Zvz=V9OiW3 zXv#QnHj)goGT@5nxf7dgdq-1k*Gk!m5_>M#_T0Q9YD$80`7W|fK@eoYO?X3E=TQIv zh;lx&%I1)K!hh!I-8iVM#vyV;yo)-_EwI?Ia|xHs!Oa>*OX!yigLbOST*SJ!5=UY5 z702@#CVu_#tE5#wWgNr{7_!Wzo`bG>eX#3K_1PD8Gs$K^+@SKdW!$#vb|m6+#Eu_) zoeZeXZI{vIRh9~-i)E^Qu=DL#l2QvAO}hAC4OxDDZGU-!ElLscqspG-&7#f#wFuZ3 z+mC`>h3ZGg>g(hxWZ%+#wKYEExol;2t zhj;U5IUg_w|CrBMh5jp@L1qq8VR!)m000000000000000000000002e_yu&T@p+Tj S9(Vu%00{s|MNUMnLSTZ|fBrZC delta 527 zcmV+q0`UE*1gHd%B!BNoL_t(|ob8!Wa>O7AK+{fd;{A{0UHXw}hDAj*l65=pePvxl zR3J)@0{{R30N`=H?yJZ-tCp0Kv&$t}w!DSY3~7U>gua}qSnZ>7Pe&dZE5?#lS_XRl7fPqeZmZtg}OG# zF3)U6R0NzJJ$GW0eeX!B*R>KZt&+RddL`_3Zr%~KCC z$*-)^In+L(bAR-1>=ah(;JG2*MIGiAXl&>?8<*_C%^F6l(JmJ{^;DU;h;?rzhQR0$ z$Lkr!fBmtmq*XhmANUIxvdpEPou*oIDDzMC*>3DcQW*h$h05BN^0HTVA|9JPdTi(G zL_l?KyNsq+St^(=mZ|!|&bMDlNG)hI==_T{r1|;U@_z(dlp^Ful|6~uMI8Yu36uku z9|gMt)sK$V;baynN9hh-Dj%}EYSPuw=xe_u)OuQ$?-Q;2ShAev)V7-QR>mx+GP~U- zyqi7C`G7t6$9zT>`mb~rnLP-FD%PDHLkV1k0;{gVIy diff --git a/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_1/00006.png b/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_1/00006.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_137/00004.png b/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_137/00004.png index b5fdf8b834bdaec025bf766d219b2500f35c4588..3b1d96b76ecde4ca5b26dbf0b8b5e7cd77cd77c1 100644 GIT binary patch delta 400 zcmV;B0dM}a1GEE>E`PGZAPj)vdd8h(|4U*o=Yf$ypctXCf%(5D#k9jET;wI0x?l!0<@0nPq2#4_JdS}T^2oY4|Me`m|9{nv$qZ;_^j8_DZ@)59 zxx5T#%rL_x=%ZpiDf&p$7yZcQZrRU+Uv_~8}WbvUZiK_@cLgU&``!D`^f!%CWqQ)hP%{7yJ`;=1ye?+!|xBtHoBK&8)W% u?}Y9J0000000000000000002Y`~!K6QvV(Q&z=AP00{s|MNUMnLSTZ7TgLYQ delta 400 zcmV;B0dM}a1GEE>E`N^0APhj!%&0qI|4U*o^MQ&yJW?0p#Gre=+SG{*m`8IQ0002M z?SAGT5o0W_gbA>?f2=jG%gs7uPu%kI&dqK+|!5b6fY zD{_{|;B>tgSv>G0_*oasfF?Ol2MQ{@6}P7`&_o`hi{-Dq;D7V4c1&hKv!cJMIDPw- zk;>&|xMGGGEgnZuMObz9`KsXnus)M%8$cDh}s)9Xfx~W u!#kmS0RR91000000000000000Gk+I^QvX#O%)$Tw00{s|MNUMnLSTZyRKZ{X diff --git a/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_137/00007.png b/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_137/00007.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_137/00009.png b/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_137/00009.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_5/00004.png b/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_5/00004.png index 63ae03f4fb18901ee5eff26301a9e495c15997e2..45f944e0566e685d0f7ea14605dcd49b8553baed 100644 GIT binary patch delta 442 zcmV;r0Y(1R1JnbMB!8PpL_t(|obB0Bl7k=&fMK_@H{t$A;x2t)*2yG*S!n<}|M%3= zNEHGi9tQvb05ILpcojKkRgzM29&$$7k|oM%$aCd2CwQ$7jDRXRPH!Ys`lAjneShGIJVX=AUt7WbuW>>~ zKsBTPm2v*-cSbs=m)jY0Ti_IQNzEs!jXZ79kF4G;`*|?4>5Gsl$X;asHV|`0`#U8~?ume_T{w(I5{sV;H$+6~$zeXw9R)VV@~ delta 443 zcmV;s0Yv`P1JwhNB!8SqL_t(|obB0Lj>8}fK+#M!J7NDzVlVwb6Ilil57dTK_k6X~ zp@etHaR2}S0O5Y-v&cECl$4V3k~6YSS)vp}mcf!T<29c}O6e?({QNj)C#buWpI^VM zEuA{&oKmW9SfwuYO!c zK(j~xtH;^z-xz6}UWR+jFvlrKYSzA*PgEUQ>f$=GxmsTLgUG5cT&5tW&OT5KH4ELA zL0%Hm7+xcw^ysl2o4j@=QZ3gixGt4!t=^Kb+rD{6s!5D(xr)~=2u2@x65dd6KMDYN zy!lhJefCAq-hTys!Ri`x6me?qPnr)ky;DyW)BM$v;dKsQtDZg7L(^o~ZKV9#yDHMY zQ;_!)Y<)nxqz$5{pu_x1&wDB;2R`*XgWxG>!3fyrwPk(i)_gtZN{@hmF3>!rlqtPL zqp=KQ7U7%f^=|xCul=^tz3YJLpaF`;jfd4m7GnN!Pc$pr04rx9+*C4c;EL)600000 l00000000000002oyaDEKZg}qx3F-g<002ovPDHLkV1fq_(iQ*! diff --git a/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_5/00007.png b/tests/ragger/snapshots/nanox/erc721_setApprovalForAll_5/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_transferFrom_1/00004.png b/tests/ragger/snapshots/nanox/erc721_transferFrom_1/00004.png index b1d7a7b57272ba2cd4d82030ecfb02fc77f2cbc3..41e5dad2e132395a454c134a8f0eac68f4019f9f 100644 GIT binary patch delta 497 zcmV9B9pz2 zYNhxc(CJ}Mn~1QKmy7i$DHd^OiyJ|DY+CE}tf>`e+77Vpoqs}9VU_A4cZ%~~Ru;15 zYo;*3fo!-DcA6vAZSx9PU%71h!crj zY)(G1#+!_cB7dBrpn9A4XPglikIuN_^3AI^-E`tq13_uc|KOpfr`b@w9PIhiy!IC_ zcaq%!af2$_o^h*nnMfq&h#mjtyVwEE-d>VDUQf&Ckka?!SeEnpYz%K?$uu;(>Egv2 zn7D1;iJ2c{hEbniHe_8F^$t*nKywD^KVGbWIvgB#@@f>aULxNbmGM;MQp-l===u){ zRZlPSeRk_UkxZwX+EzJl70h%R+3l9_Zt+a#1A6eqe8wsCty~nD9xR3O0ssI200000 n00000000000000004(DV7(NDt?QeVx00000NkvXXu0mjfO@HtJ delta 497 zcmV!y%k@(~n8mh5IGcL?oW#m&dkv?HjE!-%Z=Qz(;=yPLiiSvW~Hpx!KUFNgly*%s=e zTp3yLxbp{-(|Y6f1poj5_%_OaX4wp_Cu}-RMPIyC9c=YEp|}-@HcCO(RY<5R}&J4<2fI8V%LTp*?@P*Y@J& zPHK06-=KbUnGm<600000NkvXXu0mjfy4CF% diff --git a/tests/ragger/snapshots/nanox/erc721_transferFrom_1/00007.png b/tests/ragger/snapshots/nanox/erc721_transferFrom_1/00007.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_transferFrom_137/00008.png b/tests/ragger/snapshots/nanox/erc721_transferFrom_137/00008.png index 1ccbde5244da511626a3c7909d30d648ebe979c7..8fe838747ed36cb66ca037ab0fa5d72e6c006deb 100644 GIT binary patch delta 400 zcmV;B0dM}P1F8d%B!6*9L_t(|obA|Al7k=&fZ^;;Z^HeL#9j7*kzpYqt&-63|DGJQ z(Iy%Z5dZ)Hz}%1hDPxRjBZSZ!`8ejqIQCxN7jUO9%6sNnfEZ&4p}KkH|LvS|T0SE4 zk4qb89DF9`?S75VHzOS6$WEIVHB&LhoXz~hGLAY}o^-*#Ie)QZ3u>PUIqv;lJ@PSC zgff&mSnaj1fm;EpX42ld(#h1jXUW^W-c_C5xCYKGXgcFhWvj{5 z7xg%0Rh)FNI_Ucn1^@tfriH7az3E+V<#If;9DJ#^yG}<2E3(o|Prr3;I=KumULpA4 z=QA7XMb3}hXn)7WxJTLUOW0S{1`Sr|))rv%HafGOF>}}zYYVVv-jg=1_DiAi*mry-Vj?NV-WT`(~6>lYL{$ov{BUv6ntDGL(C*By{}0Cx;$` zC(($A00000>K^)2dhf%5bFMXVI_8gY^u4Sv;7Wg#_sFsU-h1aT?HqENJ|gpv zOBtshd?x1Qp33vha0fZEQ|6_bDeryEW;`*CQyokvUGU!w?0?vT%4b53d%snW_%~UE zG*opk`&GXNW(CNaNqOf=BU9hb5|3NGE1O-p2F5LDKE+=Zrkcb~X07^MTRc!R)N+n)R1uXe*|y>7Rr2E?sXSXeOELtEr@#>?@-Nmgqv321%v{ tOOajx000000000000000003Z_H}5tokpvXou>b%700>D%PDHLkV1ib6z>NR^ diff --git a/tests/ragger/snapshots/nanox/erc721_transferFrom_137/00010.png b/tests/ragger/snapshots/nanox/erc721_transferFrom_137/00010.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/erc721_transferFrom_5/00008.png b/tests/ragger/snapshots/nanox/erc721_transferFrom_5/00008.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/get_pk_1/00003.png b/tests/ragger/snapshots/nanox/get_pk_1/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/get_pk_137/00003.png b/tests/ragger/snapshots/nanox/get_pk_137/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/get_pk_2/00003.png b/tests/ragger/snapshots/nanox/get_pk_2/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/get_pk_5/00003.png b/tests/ragger/snapshots/nanox/get_pk_5/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/get_pk_None/00003.png b/tests/ragger/snapshots/nanox/get_pk_None/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/get_pk_rejected_60/00003.png b/tests/ragger/snapshots/nanox/get_pk_rejected_60/00003.png index e90cd9db37ed7e4c669da0b1abe6e4a823770f3c..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmaFI^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/get_pk_rejected_700/00003.png b/tests/ragger/snapshots/nanox/get_pk_rejected_700/00003.png index e90cd9db37ed7e4c669da0b1abe6e4a823770f3c..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmaFI^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_not_enabled_error/00000.png b/tests/ragger/snapshots/nanox/test_blind_sign_not_enabled_error/00000.png index 11ea8a56bc60bd449386bb9fca08e76fedf58e0e..0446ee7541178d6fb0859fdf2bdc3ed0e9327a31 100644 GIT binary patch delta 537 zcmV+!0_Oe81j_`FJ%2?E7~|OFajSbiMwvj2Wrx=#DG@>lA%qY@2qAR)N>Fa3+oQwkwV)PSY4=8lu2918g zO~AhaH373p7!Jq;w6pGPU4#N&0>(8DbPm80Fk5lr<^U`K1%GkPgS!wSgb+dqAs^&V z>do%LVkcN3SpRCS@~5@yh`VS9o$ZHlKM_~T-luK8-3{r7w{3mVR4EmW>rIbFM3-9Q zof~2kwSM{S_I=_OJ$h0!jz3B23d@c%W@4sgo;7YSja!@9bhy#7kRpyhwhtpfK-ez)0R&h z+(wjXqnqTHlkhmnznv|ojBrPlkmmvaiFbV$G}}_#Z-fv+$W9_M)>6#SpSA2rEsbKc zHvy4Gl{)ta-6KVeB4RBPCCTxoxHy?@d1gN7TCCCkR)64ZOH0uy&Gn{jmr+Di>gz_f zm~HRamDi<{c8BeRdO)yF{E;Q?D}2M(a}LeUlK^8I;u%Zatb^IXPLM9IKHZd3gdb6J zJ*%6Z?g94M#-c1LX16H7Mv=08m+fZ>v&9JYkIUJpxpD}4n0Kk6Ku~ifgb+dqA%qY@ bJp2Ne$r2>|KQXu!00000NkvXXu0mjfxT*bt delta 537 zcmV+!0_Oe81j_`FJ%5cn!5GITk6YdIG0FsDEIYg|DTNS12qA!mwiJ3|J_KdxyMO$S+QHAV#7M(%)%mQ=lVY6Ov82SGvAkBByJ8GzOnN}LRoi1@c3Sd@ zL)eHhZS?cAU9F$w-_DX#Mxd#s0eK$qpLo}IL8C3j{YD5OgsdbZV@<^j`&rM9)YB+7 zYZH)Z)TncR&?8brFCy+mswCOpR2L`emdEhH)?%IhOMih=mbRi(n(Iy5E~kiS)VGZ+ zF)Q!*mDj10euw>}dO)&H{*fv26~5u?xqxODNr1Br^^7HNHo)j$C&?kNG2N6>L>yIf zJ*%6Z?g9SU#-l76W|t_yPLWc+%l@;3(PD)9$K@;$ZW|ne9_C$YC=k?K2_b|KLI@#* bkO;r6t`Z_;`<}Qg00000NkvXXu0mjf4J{2F diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_not_enabled_error/00001.png b/tests/ragger/snapshots/nanox/test_blind_sign_not_enabled_error/00001.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00005.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00005.png index 0fd18b2546098eca4689efc2d7d980ecd90f8485..4eaf735961538f500dfd6bba0d2c87f16d191cba 100644 GIT binary patch delta 416 zcmV;R0bl;O1G)o{B!7WPL_t(|obA|Aa)clZfMK@Nn{fXl+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYR0Lmc% delta 414 zcmV;P0b%~S1Goc_B!7QNL_t(|obA|Al7k=&fML4Rn{fXlvG<5T0bKG z$EA;B2lvFB?q~6M9(kAc?DTmVW=cd#Hp>U=IK#$z&U$>wA78wD^kDzGhR*mF8gLryC-JU+wuY0hTY!R8|QJJ zF8gNf;K4qn(0?w@znnMjco;W}bL~4_wD9M@2|JIAr!S>G{>1EGXZ{2@f8Owz>)DSQ@FMEK({-Ln?l=Sz1@1nJGm&NVubY^c4`}yzH8WG2OoY1Pt5cAInj+7)FhMr zWd^Ax`-?FLk*GqE_#ci$dI10c000000000000000fEUaB0wGjqp7tYhp#T5?07*qo IM6N<$f@tW;0RR91 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00006.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00006.png index 03d02892ed0c7fde414723d5b9d68acb4ea92252..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 427 zcmV;c0aX5g1b_sPKRS}J!Qo-0=X_-pM~EvUW04R500000000000B*4F`@Zk1qiEoJ zbpSo_C4J&^5|Gu8F|LiI31=Hz((krk3sU0_#}?Hb|2cMsmJc zQ+I6lSk7OGbz(`kXZ}{|u9Q6wKw*C}p$g?ef17b~J|l=RT4hyOCCg>uZXI2J{ru3w zxZ6>B-qeuO)AyJMFB7w2=H5;?_|O-p{z%TQ7Pt(Ig|y*as-w6tuO1FUBi*dR?(7|Ho& zP2I8GW4V4M)`=xOp7~R$yHfT%0EPX^gesIL{cXm{^^73KXq8oA9a%05ckAqb>gz=h z;~q!pc~etP+XqbyEd}ZCIYrpcqTA8kgOF81UZ>cJYAi+GiMhBlif@`O*tsU%2gt&$ zjPi6;W69W8u{EA!C$a2@(JR03H~3_*r*Pyvlj#Jdmhc21RULp z+~7!bFaI$5^p|jrj;8}otx16Fan=tmerh|KCk@ml&j0`b00000008h&`~dQK Vg-F+c2Mz!L002ovPDHLkV1k^0$X@^e diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00007.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00007.png index e90cd9db37ed7e4c669da0b1abe6e4a823770f3c..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmaFI^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00005.png index 0fd18b2546098eca4689efc2d7d980ecd90f8485..4eaf735961538f500dfd6bba0d2c87f16d191cba 100644 GIT binary patch delta 416 zcmV;R0bl;O1G)o{B!7WPL_t(|obA|Aa)clZfMK@Nn{fXl+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYR0Lmc% delta 414 zcmV;P0b%~S1Goc_B!7QNL_t(|obA|Al7k=&fML4Rn{fXlvG<5T0bKG z$EA;B2lvFB?q~6M9(kAc?DTmVW=cd#Hp>U=IK#$z&U$>wA78wD^kDzGhR*mF8gLryC-JU+wuY0hTY!R8|QJJ zF8gNf;K4qn(0?w@znnMjco;W}bL~4_wD9M@2|JIAr!S>G{>1EGXZ{2@f8Owz>)DSQ@FMEK({-Ln?l=Sz1@1nJGm&NVubY^c4`}yzH8WG2OoY1Pt5cAInj+7)FhMr zWd^Ax`-?FLk*GqE_#ci$dI10c000000000000000fEUaB0wGjqp7tYhp#T5?07*qo IM6N<$f@tW;0RR91 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00006.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00006.png index 03d02892ed0c7fde414723d5b9d68acb4ea92252..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 427 zcmV;c0aX5g1b_sPKRS}J!Qo-0=X_-pM~EvUW04R500000000000B*4F`@Zk1qiEoJ zbpSo_C4J&^5|Gu8F|LiI31=Hz((krk3sU0_#}?Hb|2cMsmJc zQ+I6lSk7OGbz(`kXZ}{|u9Q6wKw*C}p$g?ef17b~J|l=RT4hyOCCg>uZXI2J{ru3w zxZ6>B-qeuO)AyJMFB7w2=H5;?_|O-p{z%TQ7Pt(Ig|y*as-w6tuO1FUBi*dR?(7|Ho& zP2I8GW4V4M)`=xOp7~R$yHfT%0EPX^gesIL{cXm{^^73KXq8oA9a%05ckAqb>gz=h z;~q!pc~etP+XqbyEd}ZCIYrpcqTA8kgOF81UZ>cJYAi+GiMhBlif@`O*tsU%2gt&$ zjPi6;W69W8u{EA!C$a2@(JR03H~3_*r*Pyvlj#Jdmhc21RULp z+~7!bFaI$5^p|jrj;8}otx16Fan=tmerh|KCk@ml&j0`b00000008h&`~dQK Vg-F+c2Mz!L002ovPDHLkV1k^0$X@^e diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00007.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_clone_thundercore/00004.png b/tests/ragger/snapshots/nanox/test_clone_thundercore/00004.png index 16fbf15df7986a0212aaa5f907b31d5e14568697..2ef74c46c3859da496d2803a50b37725c4875bc0 100644 GIT binary patch delta 387 zcmV-}0et?N1D*qrB!6W|L_t(|obB0Bl7k=&fML3`H{t$A%3b!sk)aSGZZ&b2|9f(% z4Q-HE)06-J004I{|0zXeJIFbYMt&Xh!#MuFqd&lv{!reF$ORCQoO5&WruWNv%W1tu z=C?~9#|}Od^KxI#^UcV+v}dQ!i<&7BDcLMDFXJ;wLquSNX?z{%UC1^gyrxr#{qLJCC`jZ}5g6dLJ zs5fdmWlfyzWOXq1CJX=ouqLN&sM@VOY+)Ktr~ONZBSsgt|49Gy_o&eWFvg8;-Khg( z#+i|uJh2(KlzhiM3Hxgvs-3%X%k6-f9)|ia#ZA^)fIj>F?a#(S3lN^`DYtIDQ@?`J z`#)UGnQF(>9+Apu_Wp!x9Yl63d@CC!ne4k!Qcd=qu?CT-LXo%+MF1DKvCMsPT2pFw3mK(%n%*|r$%ziJzpN; z2uBztRzd&(007K=*-t4V$3cv-H}Y}JU&gWb^1gsO{h_=ko(mu%F~;KN4ez(}k<)yO z%x{-Ejvjm_=Iy?X=bI5v;ml5*mu99!BxN(bF^|(6%qLy&X@3TuSc2+35zc$Rw;t)7 zB0?UjIas`EzXom#P!yB;&JCSRU7aNz_i9%$yYU)0m!SC+Us{-E5|zw))t~Ud5|o#k z3{wnReAu*xYDh=bfC;Q zGqT7Nn{iut+<23)y`ukP+?CsI2MpV7M_-5%v_zeK`}SvHqXlr!^^~Ps@6xZJ@cs{1 zab~k)s*gyfH+y};y#|rZ3g6DUNhbSd8mT7x##jSSR3T4%4|^iL000000000000000 d0002MGCz>qE5YWBy}|$h002ovPDHLkV1fj$wL|~_ diff --git a/tests/ragger/snapshots/nanox/test_clone_thundercore/00006.png b/tests/ragger/snapshots/nanox/test_clone_thundercore/00006.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00007.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_permit/00001.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_permit/00001.png index bf2b3e7c57440691d7adc45f75211b65f6d1ffaa..bca90d4c2c037046fe51e7c1b23917a29fb7c554 100644 GIT binary patch delta 410 zcmV;L0cHNL1GEE>B!7EJL_t(|obB0Lj>8}fKv6pCPT2pF*vouGLN1s`g9FygJzs4| zfZC805&{4K0I=QbZ1X9l{5i&WuqXdfN=YVQ^W}z>tT;IXu3ugc{2Y;7lv0W@%Hu`U zt|R$)ae{236Ye8Z@MnLMeKIRDSXX@W*ZeugDDxyw$VK^hu76yX7L{!FKGJGSJv@uJ z52?v$9r3{33@{-_`suz5_)0(>FT)7>Ooqq5q3T08h)1h>W~-=Gd8nQ=J~IRW0D!S1 zSXDUFVsY|~)_ty%zgFztJXG_riIq%jwrMY@SnRa+HH$6J@VO7FF13oyyL#hO-Q82W zQSSf_mv!!_Gk>6ei@0%#dhL8elcn?BSYbZ{)Rn!HTY-~qNcIU(r>B!SyV8x;>!U@! z-UoR0&=@Kc@a+qb8TF&}o_k|Zz8hHShSg8#UGDG}=|SsJZ&I6Cy?>Z(0`wY)e&3E2 zJ~`NiyU0ARU~z0He=elDeK?8$#5A~pbvFP~V+h@CUw{N?qHuOp&|M5L5r%iXA* zC0g!IuuWVH_m(O6xxUG3HY#?o&hgc+`ni;1<77|JLt3tt+kd03lEuEZwAxbNo^IT` z!eF#YGDtTArm%PV?!I*73P3$x6Gt#-FfzV|hKulFme%mh)}dDAN43)Aj1T|-0Q$t3 zRpFf$-N_GH&$&*7j~o0 z0Cu-^>4Y=j`hOAe;F9p#`wiVZdcPYZ=Ffm|XP@Lzkfa;d`~Za0Gs&DC=|=1Cqd~d; z56JALd&sAw-ixs!1|Y71(Z9B0hffTa z;VHBe>+nttF8}}l000000000000000@S1P8Q)jdnM-H#|00000NkvXXu0mjfB88}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_unlimited/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_unlimited/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-False-True/00001.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-False-True/00001.png index 2d21c88f4a392150f204ce79a8374586dcfdc0f4..d724e18731af977ca74a1919deae03ddfe23aeb9 100644 GIT binary patch delta 445 zcmV;u0Yd)i1Lp&fB!8|+L_t(|obB0BvV$NDKvDaqJ7NDzVlVH*nM@`?po)ZP@A+yG z0RxJ{aR2}S0L#5%tIs*h@03ztOMX$#S$DwV(_{v}Tol?^Mq%+7NNteR)QGZj&V(*YzTgu^S;@(y5 zj8@7Hwz~tS&?7y%EggGxKpC%z5!|ygc6<%3PQr(pTB|u*hgyXn#Z0qj4*>uGd?oKS zwDl%e%^CX+H{JkejmY^MY2*uj@8_>E;`8I4V`hHer^{-iFbPlzSjuh)84xZwqbldOLRjtn_X{+GO!Swjgqr9t nMju4tDHN#_Wcri80TmTLfN6wXt19ZE00000NkvXXu0mjfmSNi~ delta 463 zcmV;=0WkjO1L*^hB!93;L_t(|obB0Lj>8}fK+(*oJ7NDzVlVT7WLX9bZ3sr4d%jvA zKn!`obpZeX0Neen1^=~B7QHGh?C_6ljWr=FfB?nBMN z=%t+CxGP`@J=3H6GH})a)bUyv!7~Tr#MjW~L-Ve5&32t|H7#2U zs&AU%dmWRc=k+$js9jcJ7THOJSWXnTR+cxuMB0(oJfbTDLn4^`SbS+bc0Ovw`qi$ z=x@dtMB*+KX%J+_;8BDZ0000000000000000001Z%pZc^gk20f)dv6o002ovPDHLk FV1jyu+;{*0 diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-False-True/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-False-True/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-True-False/00001.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-True-False/00001.png index 2d21c88f4a392150f204ce79a8374586dcfdc0f4..d724e18731af977ca74a1919deae03ddfe23aeb9 100644 GIT binary patch delta 445 zcmV;u0Yd)i1Lp&fB!8|+L_t(|obB0BvV$NDKvDaqJ7NDzVlVH*nM@`?po)ZP@A+yG z0RxJ{aR2}S0L#5%tIs*h@03ztOMX$#S$DwV(_{v}Tol?^Mq%+7NNteR)QGZj&V(*YzTgu^S;@(y5 zj8@7Hwz~tS&?7y%EggGxKpC%z5!|ygc6<%3PQr(pTB|u*hgyXn#Z0qj4*>uGd?oKS zwDl%e%^CX+H{JkejmY^MY2*uj@8_>E;`8I4V`hHer^{-iFbPlzSjuh)84xZwqbldOLRjtn_X{+GO!Swjgqr9t nMju4tDHN#_Wcri80TmTLfN6wXt19ZE00000NkvXXu0mjfmSNi~ delta 463 zcmV;=0WkjO1L*^hB!93;L_t(|obB0Lj>8}fK+(*oJ7NDzVlVT7WLX9bZ3sr4d%jvA zKn!`obpZeX0Neen1^=~B7QHGh?C_6ljWr=FfB?nBMN z=%t+CxGP`@J=3H6GH})a)bUyv!7~Tr#MjW~L-Ve5&32t|H7#2U zs&AU%dmWRc=k+$js9jcJ7THOJSWXnTR+cxuMB0(oJfbTDLn4^`SbS+bc0Ovw`qi$ z=x@dtMB*+KX%J+_;8BDZ0000000000000000001Z%pZc^gk20f)dv6o002ovPDHLk FV1jyu+;{*0 diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-True-False/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_missing_token-True-False/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_account/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_account_contract/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_account_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_contract/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_contract_account/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_account_with_contract_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_account/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_account_contract/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_account_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_contract/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_contract/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_contract_account/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_trusted_name_contract_with_contract_account/00005.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_eip712_filtering_empty_array/00002.png b/tests/ragger/snapshots/nanox/test_eip712_filtering_empty_array/00002.png index f070aac76a3152f761900266742d9af3cf259e2e..89bd0a702fe23a4113a5e5790be259006202a03d 100644 GIT binary patch delta 273 zcmZo;Ze^aJBJbnr;uumf=k3j0zC#K;4T&cAT7Ju~EdSWfd5|epCwii@qU4>b#mle1 z;hQtD-SpUueb45HK1`i{uDFc7ZDOr`ebp!3*frDMgq7C*|JTwrw_c+?s^s;&`@b2c znra(cR?f6J7`gU{MnG8f-gQ|SOGE0_o+qwtD2mVWJ&@NJR=iku*V=~CV8Q3-m`g9+ z*zSK{^zf#e0m|3!>lPTOF3)?jtzvR%xI@OChf-PvmEF@XYagiR3fX$@hB9jp$Fuy) zJvnES2mN|M~o?51YK7Tkd9FKC#xmzV4H5?3!tB!b;T(D+aRqWLZUMv6koI4!F_;lZuSq*oY);>G8?Zq~xYrd{A*8EpI zlkeNrhVz_GbMB3)-+tiWlsUUL-hQO;dR;?7!vDRt5m(EzoL`DQuxDKrmHuWTlN-zD z?U~2C71waZ|6)JO7a{s-%G(8!DU04O6UtijzQ=GzXKcnYzX_7f3pw-|P=Uc2X^q+J UJ3|He9)To0UHx3vIVCg!0E-uVq5uE@ diff --git a/tests/ragger/snapshots/nanox/test_eip712_filtering_empty_array/00004.png b/tests/ragger/snapshots/nanox/test_eip712_filtering_empty_array/00004.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_get_eth2_pk/00000.png b/tests/ragger/snapshots/nanox/test_get_eth2_pk/00000.png index bb3289d6bce137120f459344465baa35f7c87d99..e94258e5bdbd63fc9943b10b8aa7353a1b52c2fa 100644 GIT binary patch delta 35 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 diff --git a/tests/ragger/snapshots/nanox/test_get_eth2_pk/00004.png b/tests/ragger/snapshots/nanox/test_get_eth2_pk/00004.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_legacy_chainid/00005.png b/tests/ragger/snapshots/nanox/test_legacy_chainid/00005.png index c2a8d9070217b86acf192795163728ca4e81aad5..ab030ef1f89502eb6e59f73f21551b7d37015f63 100644 GIT binary patch delta 398 zcmV;90dfAM1E>R#B!6#7L_t(|obB0Bl7k=&fZ=qfH{t$A;x7B($WRg}wvxE(|2-*f zgAEcDMF0Q*0Cx}nE_2S?MoOvI@^Q>B zpDsGiIQUG=)BQO2HzVz2&yLQEnW>y}$!7Us9mi~}J6-T^-ha4a3DR>y_H(~C9_2et zggTVj*nH|g24Mrx6cc^sN+(lCdnwz!+ST;#JO;rfXgQYmf z7wU1!nmF5+&BoY^FaQ9+Jvpt0_U`=5UH!w}!h=|kT7#CsLhQ`J{0HM3{NCv-3bJ`(XNL4GsfI@zCD#xP%0tZ=&$q_ZD5^Tcxi^dj(J zcahj!Pgytb4&DFM?dD4r{n1QIt_+Su$2rTJus&7q=DJBH`)-U>lYM85K_seBB(B4e sNG|{Y0000000000000000Ir$aar}KppTL#=P~Nl10Z`SHQg!jl`{lglw45UI z)5XRa2cL;~xi9DbW~80$*|B+PW=d6aHuD$DIL*eg(*?igz<(V}kew5&c#pc$FZ(8E~KMANI8^4N-!Yu-OlsdEz+$b`f~6yGU%V zr>vWIr=EYx_U4}|_Rvg=76xZx<6Pw+tWVW@xNefkzMDp>$-XnjAQDw568GUqq!$1H o00000000000000009fV+qQFNgYXzR200000NkvXXt^-0~g6}WBAOHXW diff --git a/tests/ragger/snapshots/nanox/test_legacy_chainid/00007.png b/tests/ragger/snapshots/nanox/test_legacy_chainid/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_legacy_send_bsc/00005.png b/tests/ragger/snapshots/nanox/test_legacy_send_bsc/00005.png index cf48bdfc09c9c8340a3204953f086fb349680319..3448ce1580cb7b143513a46a4bcb65ed08db8197 100644 GIT binary patch delta 375 zcmV--0f_##1Goc_B!7QNL_t(|obB0da)clZfMK@Nn{fXlahLvZ%&-tXtdO{~@AJ!o z1x+-r7yWtAM5;Py;ONmi~*omxH{Rs~&L3ybW z>Vvu;vSOTLXSLDyAq)Tj@SQfUhN>%+#m`6ibGV$@c~h;smb85Q&(qd2z;Jn>vphG` zHNVk6lKb!BGglnmgw+*L`(yAu0I~N?_|lh_`=4c&GdQHZ3CQbdeh$Y?P%nz9J9|+d z2FpG1d%#z5OTZJJ1W!q^D-;On VJo`r)>#6_%002ovPDHLkV1oI_y9odQ delta 373 zcmV-*0gC>(1GWQ@B!7KLL_t(|obB0da)clZfMMF%n{fXlahLvZ%uom)u8_F1@AJ!| z1x+Nb7y{p~BAoYrD<5)9 z(L>&q+F0zh&w*P4ieggVxuFrMtE0$vt9BKm8|T2e1kH!|QexB~b|ULlf5HPxP+n@p z8&jd^=ZLS`==%@`008(-8&^Zs70TjGNB$fxXLjCH>s?D)KK|!vYZ+j;JkVL5o7pwL z(La;>@8L5X-c^Lv6;S(g@I3*s_f7cHmzMjVWtKBIrM(Hr>uG)s$0Vp1#ngkns1JkX zp7=fBtGFfL2~UD2C`-`V>E91=k%P{`a%5em>RmG}lS9a^-bG$92rsvjc>yaFk_0*X TLAFOJ00000NkvXXu0mjfue`d( diff --git a/tests/ragger/snapshots/nanox/test_legacy_send_bsc/00007.png b/tests/ragger/snapshots/nanox/test_legacy_send_bsc/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih 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 index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih 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 e1159c546617a6e946c84a81db8a5d6208235572..4f59a8d40d40f058565352fec5378b58657989fe 100644 GIT binary patch delta 66 zcmcb~c9U&`JhN5w|H{B#wQT`Gx_?z(YH`Qrx6V6S_IR7LL#Jwnv0#G&N0Y*hBl@#t VH}q8moqxsv1fH&bF6*2UngEq|8d?AV delta 66 zcmcb~c9U&`JhRp8f0c~y8a7Rn&|ki3*D9y$(F@Zz-rez*Eg*^WmJf>pN0S1F*+=d< W5gYp6eDpid00f?{elF{r5}E+;*Bn#; 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 3f76142926aaffd685f653055f16cf8b14830e52..c094bc635527457d7bebad0d5e3b82f5865e43c5 100644 GIT binary patch delta 806 zcmV+>1KIq*2E7K5B!2`+L_t(|ob8%hax5VThC8RS6ZgNQ-phIDie*ur10U?o5 zfv;@ho@ST8K=Q3YZ*bE2552wpUDzO3^wS_hUC~db)?g=9g?2Ita;?EqjNx6qDx6Sp z2+G^$Y!9NMc6jtPcmyJ?6d@>)V+Zc^Z#cZ*bCaN7V&7y3l%sl2!47a^6rh}U63{gG zeJXHroqx^74f>@))D&7?eNE-gPW|6dGHb@^A}pVE@3XXemJ} zq)nww&x}~u(ag9S`$>3(vY4+{$}^6&eo@^|eF!^kVttVdA8sUtOfVyO2p8`-p`aTm kF&}O-wE#s?6h*O#{~0-$EI-`ki2wiq07*qoM6N<$f+}cz>% delta 809 zcmV+^1J?Y#2EYc8B!34#vlF3@Gh=^^|L)O9|iL%Wy3 z_`~Ss*4p?H3w!tp)YW;ygfx_lDZ|LcdyN#va9_pxcS`CB=zl>+dJ1@C9BIE?$U&ow zyu=vtZ_NhDDsYpQoB)z;v~V);Nq_Z&8SZ|xD2k#`;=KlJPsH4Pp|cSi-t}C| zu99+E9GuUpLX4}naFbn-)acY#M$-bYi#=9xj}7q0{bvP49PZ@cuB1kiTS6mjGihp% zq2DL7`~=wMI%5j7ru`<3#OAkE8({We;JGHBDf)>`IDe_lI6cW(wQp5^HisJ!9(r%J zaT8zZ#FA!{z(n${L9cKk{6Tkbp9|~c@_rhGtIPYz)E?}lvd~T@POd#ziqXBRcZF+I z9D?#`bG8LhUOU|T8axdmZ6z#pB1ZwP`Zp9WxNZ{qm)JJh0OhPMDd+)aj1{%>nFLe~ z{+~8DIe%fZazp>p(9{%0Uj0nv$xeMYl#H4&xXe$l3>^x1_*CpG}j zN_Z6)llo#7`TE~i8Gvz}0DQsWE=SuE52;AsiFSQlca z1#bx7^={~a)CLqqQ52!v|I-Ia$z0RIkXs-}5Pwzc=iq5Ycr;iFF>`%E);@CMkn33r zEmE$&6I9_wrmP24k=f{*U))Fi`PI+zG)*}J#*G>OzWNC=#yVg{KGEnLFDeH82WCY} z3R=O7EMM+m~;`<-TcgcbdMQK6|#$f-q>M#gd z42EwK0ssI20002f`59>IJkR*!I1Vl4cFyyR&LrOgb1!Bc$HB{_>ZAA!w6#7Ypb?Uu za!EF(FJm{6vhoz3 zD7sD7(t(|H$qW!lP8&0W&-AJXwwvH2sp((}N@!OKIb#X=my z>%8-eT(txh<4&@S^~Z*+RF!VZ2K$ZpnYRRm|G{nyY9mEk2Z%MX3DUZ!U1FT1Y&65J zf^><|Lq@Isc7OYM*EwLpHEQHZcrx046aWCgTbL}}yn>>N_ax@+f;5q`crN3KMC#B) zI&qt%HKz&A&)HmYVbYUmR~Kuw{V4i;5mTjz6>uJyCwLNhR0r6acEqpo1K2R?3?*OpT=w-hH=v#D8`koIv>mUStok{w5)KH@jCQt}6`ruMl32(pLRxDh5mFOFaQ7m003|s*h+>lJqlX{y}`-GyP@`F%{+@2CKjAm zLP>L)9nF;JykW$4Qmi;zPc6!a4HrO-0&Q1I4IQ-TOsxZ&9h>n|gx?8qAa6(Kg_29e zIFI5;{v+O5Yc=>&)N->L`T#jI^gTt_5~N+$tTeg;uB}2`-4w4nJMVfnR3RnBidxEc hQyBmN0002Ii$5vRsw`GH#F+p9002ovPDHLkV1n*EOS}L8 delta 696 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 Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_reject/00001.png b/tests/ragger/snapshots/nanox/test_personal_sign_reject/00001.png index 380d883f380b04daf71662177b5c4c009996097c..717f3a5bac5957ea60d4ba4c2c5276a2a15c7761 100644 GIT binary patch delta 477 zcmV<30V4kN1NQ@vB!9k1L_t(|obB0Lc7z}dfMGkQJ7NDzVlRELo!!AeWQ+m^*Wtz$Pa%={Hlbi~3~8R;0LC6#fsn|~N)@&KgCr2M1_fq%wZ(xfvpP)qB>paZeW&9moeGw~e>x)+;@yJnA z;W)0@v(#SJ@_#OAXY;G&8%^o;wVl51d#lC@$n%o>I$EEsiVanE!|q$nn%3&rSF2o1 zeYYagsaId&Vji&nz3t-ejWp{x0Aj(Os&Hk4-i}m59F2Y!w^vW;z7?T;?W(V^2yM6g z;>wUK;KsG)?lKw`nukPuU~tdoCGL-Kq+aN delta 474 zcmV<00VV$T1M~xsB!9a}L_t(|obB0Ll7k=+Kv5?(J7NDzVlVSyLNVRY5Rr#^&sTy( zNCRDn+Xest01Wptt6}f`{=qqyD|v#~><&EL@9Yk2-h1a9FMGue$vZItA)inv>{37k(1i7`Us zEs=trY}%9XV7dJ$0HDnO7YdU#i?=$zf1{e4ynPbQud|su#U;;zlE?bu5lL)0YAS@! zHD{K&hqdt4cz@-PoKpIfN#9Lxt418G8Y@8OrQ+jgeX>e6^ldkaJ*>&7m3OOOOnr|c z;@MYUp)nO0KR31Y&ziEKW()=>1er1Ditqve000000000000000007 diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_reject/00004.png b/tests/ragger/snapshots/nanox/test_personal_sign_reject/00004.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_sign_eip_2930/00005.png b/tests/ragger/snapshots/nanox/test_sign_eip_2930/00005.png index 1039cd005cc6a8dde590a139eaa39c1852e93379..f1733ce4439048d91290ca00d4fe3ab236547921 100644 GIT binary patch delta 392 zcmV;30eAkO1EK?vB!6j1L_t(|obB0Bl7k=&fML3`H{t$A%3b!sk)aR}S4i0H|2;Wq zLz^H94FLcE05JEm?@~mLgBWA0<<~JE#_u+ixG`~g0 zZAsBn8xc?8%ubybHB%yzvY9@Z$59*eP8a-|3x7LKLG?Wm&avOBN4lnn zkcUzmi?jAMa4SGDnbadUG%|I!mvr2kyNce8Yv4Quji>llVbmmcGV3+}gbk;le5y&* z2X#MXMV#YewbAz>3;+P|nbz)x_BUSg#$v@(zYca*s`aTUE&t*5w6$XDzvg$g=SEJA zAM`gWp0C44?0>i!XJDTZy?iA+xO;3f-0ph*Ptm321sMG5>aLkD^?1}UO00000 m00000000000002X`~cuTK;&Gz^(FuS002ovPDHLkU;%;!x4RJl delta 389 zcmV;00eb$T1E2$tB!6c~L_t(|obB0La>F1DKvCMsPT2pFw3mK(%ursIV~}Wb&zA=$ z!jS;mBm@8e0KnXreU~C~9K;xVEpNws7{}hr`vPYALwQd;3m_sf#$xb>-^2OHX+A~t z)1{6x4z7tg-M4Xn8u1j)?9_Q_W=cd-Hq#gLIL*eq(*?ig!heoSP(3HYIre+?NS`Sp z>n^eMhom}U|One|$K!iGywzSJad zOobxOk>6&c?@bs00N^vN-3=XYyyT6=8&mx_ICxX7Pfcn0509t4=lAhr{$P7fb4q_O z-l%x~91H(}-OvCVM1>-j%LmzEbmdFjnvGhfY{!E_(G1nq+YY-a9s zlgywO&E97bq&Ti4T(&g(t;0@F$b-|Ep_^o~Z>EuIvTuwUcw!au#C_Nk=>-4)00000 j00000000000G9ayX=y#=vGGc)00000NkvXXu0mjfl7qUN diff --git a/tests/ragger/snapshots/nanox/test_sign_eip_2930/00007.png b/tests/ragger/snapshots/nanox/test_sign_eip_2930/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_sign_limit_nonce/00004.png b/tests/ragger/snapshots/nanox/test_sign_limit_nonce/00004.png index 50135b20bdea9b416f77e1c9e4de6b001460f7ae..3edd720b3ddc46fe8f1bb3671725cc4dcc486857 100644 GIT binary patch delta 363 zcmV-x0hIoa1CIlcEq_50f-np~(du}U-v3CsiwlNMZPQQ{6NLX(STNND0yHH6006+< z&3{S}SvGRcqmhqeei_H#Bl-vI>5uYWL>53qa?Z`kn_f@nC8zZzGJm=BaqQqTF?V-& zo^M88r8PT!Uerv9NXcgTVjV{vtS9}!zu9oa7Svx8X+8Hx^?xYGG!g1h>R_|izXo9i zXqriX=B7cW-kqgvk9t=#yK@bKThM%p-ztonL?g3N{U;r;1=X#lP;bm8L+zE5da!xr>7VC}SIvIc2}bsLx*fgp*w5+4`r6E{lWo|JxEOaS+i${? z%fH{R+nmo#>SVSHFxkJe~RBKjG9Cvvr+vg9k2z}t)}?kQE1{U`BevF zU%~(Y0N1p!8*1;I)Pv0@PrsfsJ~jJOCm7jhbvs&s+v{{=f6a61WCyk*ZpK~8_Ls18 z`}g~OoAdFcZe+Uv&iD5j>DM!beVOrN9ZJ1MjsNc>p1if_-4hIx zO!lWyQcd6~ diff --git a/tests/ragger/snapshots/nanox/test_sign_limit_nonce/00006.png b/tests/ragger/snapshots/nanox/test_sign_limit_nonce/00006.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_sign_nonce_display/00005.png b/tests/ragger/snapshots/nanox/test_sign_nonce_display/00005.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00014.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00014.png index 0fd18b2546098eca4689efc2d7d980ecd90f8485..4eaf735961538f500dfd6bba0d2c87f16d191cba 100644 GIT binary patch delta 416 zcmV;R0bl;O1G)o{B!7WPL_t(|obA|Aa)clZfMK@Nn{fXl+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYR0Lmc% delta 414 zcmV;P0b%~S1Goc_B!7QNL_t(|obA|Al7k=&fML4Rn{fXlvG<5T0bKG z$EA;B2lvFB?q~6M9(kAc?DTmVW=cd#Hp>U=IK#$z&U$>wA78wD^kDzGhR*mF8gLryC-JU+wuY0hTY!R8|QJJ zF8gNf;K4qn(0?w@znnMjco;W}bL~4_wD9M@2|JIAr!S>G{>1EGXZ{2@f8Owz>)DSQ@FMEK({-Ln?l=Sz1@1nJGm&NVubY^c4`}yzH8WG2OoY1Pt5cAInj+7)FhMr zWd^Ax`-?FLk*GqE_#ci$dI10c000000000000000fEUaB0wGjqp7tYhp#T5?07*qo IM6N<$f@tW;0RR91 diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00015.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00015.png index 03d02892ed0c7fde414723d5b9d68acb4ea92252..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 427 zcmV;c0aX5g1b_sPKRS}J!Qo-0=X_-pM~EvUW04R500000000000B*4F`@Zk1qiEoJ zbpSo_C4J&^5|Gu8F|LiI31=Hz((krk3sU0_#}?Hb|2cMsmJc zQ+I6lSk7OGbz(`kXZ}{|u9Q6wKw*C}p$g?ef17b~J|l=RT4hyOCCg>uZXI2J{ru3w zxZ6>B-qeuO)AyJMFB7w2=H5;?_|O-p{z%TQ7Pt(Ig|y*as-w6tuO1FUBi*dR?(7|Ho& zP2I8GW4V4M)`=xOp7~R$yHfT%0EPX^gesIL{cXm{^^73KXq8oA9a%05ckAqb>gz=h z;~q!pc~etP+XqbyEd}ZCIYrpcqTA8kgOF81UZ>cJYAi+GiMhBlif@`O*tsU%2gt&$ zjPi6;W69W8u{EA!C$a2@(JR03H~3_*r*Pyvlj#Jdmhc21RULp z+~7!bFaI$5^p|jrj;8}otx16Fan=tmerh|KCk@ml&j0`b00000008h&`~dQK Vg-F+c2Mz!L002ovPDHLkV1k^0$X@^e diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00016.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00016.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_sign_reject/00004.png b/tests/ragger/snapshots/nanox/test_sign_reject/00004.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#4x7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V`1PUW-wrFq@_jX}kk$&Q=C{_bC{yxi%I z_H^ILLJV*qDJUp-{om@BJF6JNOIGKE|2m}8FsJzEVy*Ar3abyaMl!6N-kAS2*sK34 z^NtmF3uIQ$mkDi&x~{%H3tZ zvTc^&QHE1ba^rn`=AOG#w&}HTh3wzZyU+KlI&I{gYm>a+wq>>Q5mm+5Cfld1Y|$6? jX68ChzTpP8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_sign_simple/00004.png b/tests/ragger/snapshots/nanox/test_sign_simple/00004.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v1/00003.png b/tests/ragger/snapshots/nanox/test_trusted_name_v1/00003.png index a74d347ceda28460e696a38a0448e8a7a6d8ee8c..f04bd00e0d5dcbb28683d5232e3b6ed812c74372 100644 GIT binary patch delta 417 zcmV;S0bc&T1G@u|B!7ZQL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v1_non_mainnet/00003.png b/tests/ragger/snapshots/nanox/test_trusted_name_v1_non_mainnet/00003.png index a74d347ceda28460e696a38a0448e8a7a6d8ee8c..f04bd00e0d5dcbb28683d5232e3b6ed812c74372 100644 GIT binary patch delta 417 zcmV;S0bc&T1G@u|B!7ZQL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v1_unknown_chain/00005.png b/tests/ragger/snapshots/nanox/test_trusted_name_v1_unknown_chain/00005.png index c2a8d9070217b86acf192795163728ca4e81aad5..ab030ef1f89502eb6e59f73f21551b7d37015f63 100644 GIT binary patch delta 398 zcmV;90dfAM1E>R#B!6#7L_t(|obB0Bl7k=&fZ=qfH{t$A;x7B($WRg}wvxE(|2-*f zgAEcDMF0Q*0Cx}nE_2S?MoOvI@^Q>B zpDsGiIQUG=)BQO2HzVz2&yLQEnW>y}$!7Us9mi~}J6-T^-ha4a3DR>y_H(~C9_2et zggTVj*nH|g24Mrx6cc^sN+(lCdnwz!+ST;#JO;rfXgQYmf z7wU1!nmF5+&BoY^FaQ9+Jvpt0_U`=5UH!w}!h=|kT7#CsLhQ`J{0HM3{NCv-3bJ`(XNL4GsfI@zCD#xP%0tZ=&$q_ZD5^Tcxi^dj(J zcahj!Pgytb4&DFM?dD4r{n1QIt_+Su$2rTJus&7q=DJBH`)-U>lYM85K_seBB(B4e sNG|{Y0000000000000000Ir$aar}KppTL#=P~Nl10Z`SHQg!jl`{lglw45UI z)5XRa2cL;~xi9DbW~80$*|B+PW=d6aHuD$DIL*eg(*?igz<(V}kew5&c#pc$FZ(8E~KMANI8^4N-!Yu-OlsdEz+$b`f~6yGU%V zr>vWIr=EYx_U4}|_Rvg=76xZx<6Pw+tWVW@xNefkzMDp>$-XnjAQDw568GUqq!$1H o00000000000000009fV+qQFNgYXzR200000NkvXXt^-0~g6}WBAOHXW diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v1_unknown_chain/00007.png b/tests/ragger/snapshots/nanox/test_trusted_name_v1_unknown_chain/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v1_verbose/00003.png b/tests/ragger/snapshots/nanox/test_trusted_name_v1_verbose/00003.png index a74d347ceda28460e696a38a0448e8a7a6d8ee8c..f04bd00e0d5dcbb28683d5232e3b6ed812c74372 100644 GIT binary patch delta 417 zcmV;S0bc&T1G@u|B!7ZQL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v1_wrong_addr/00004.png b/tests/ragger/snapshots/nanox/test_trusted_name_v1_wrong_addr/00004.png index 1bcb78761fd15fd94377813eb932cf0245af596a..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 100644 GIT binary patch delta 410 zcmV;L0cHNO1GEE>B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v2/00003.png b/tests/ragger/snapshots/nanox/test_trusted_name_v2/00003.png index a74d347ceda28460e696a38a0448e8a7a6d8ee8c..f04bd00e0d5dcbb28683d5232e3b6ed812c74372 100644 GIT binary patch delta 417 zcmV;S0bc&T1G@u|B!7ZQL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*uH3(3KGE|2=ix zgaWCkxNQIc0D!yK(AJORP)GKCZ^=?&XFDyqy?v{+X}dAP@6guI0d!5Dt=S--{SK7QQ3DN!RY{mcGYPk&FpR{OKv-|RQqbeUC& zzl(PP?070O@}G1Sb873Os|ja-vvkIIE-dZ53t(rVG%wlX?dhwSa0XOvjnuN6U4?t^ ztWtdM5;Wr8cL8x0>o`5}7G&5#x&Z*dts1Xyqc4LIF0;>n5>_Hix-@4uRLX8`mSSXN z>3J=?dAEsO(tqrB-giB4rD0b-G=^mpTUw}m_7vz07?c=o%~9qTpzBSU3~o#ezP8LS zK%?OE_%U4opEuEoeGw>+sE(DwY=_e*vSAaqIWML+=5m>RZMm*u|HBUKVFlQ-LkK>q zLzvx{d#qQ3Cs}V5dXkGtrUpYXy#N3J000000000002%-Q0KhPRXpufGa`+-100000 LNkvXXu0mjfnaRKF delta 420 zcmV;V0bBmN1HJ>0B!7iTL_t(|obB0Bl7k=&fML6{H}U>Q@-F+}l*tgl*fk;A|9k4X z2?bJ7aajNW0Dy2W*VeaftB$PeYRRg?_I50}XZtp2Q+LC|uWRf308UMxu9=h1ehQcK zEkIA1<-_4M>!H*4nJSg80%RjHMF!}s7(Zd(R8%AH{Y(EjPJb`IR{gVG-}E=?beT1X zze;og^mqm{@}Kl7W@qbTs0n94#ru3OXH4Y6Vi#Qi`z$mg^}(FeYB%8w7~C3F%WiWO zK6__X;?FKY9{0XCkY};Z)01dPhMlAv003OdczyG}3}(2@&VLdPmSNJRIlG}!b8E8~ zBO`myYt7BOMStv)Hn;P>>w&8bd+@;+)=adtF!&rP(HY>Bm~G9e%rC&HH)S%|n3#NR znO^{-WK`>jGxaxlr%z!lRA00000000000384T00000xcLJHi9Ri`bEw_` O0000B!7EJL_t(|obA|Al7k=&fML4Rn{fXlahH8?WLOd)Z3)=*|DGJQ zK!Zk12mk;8z;ciEL#C9DgBWA0}S2_?g`BFMRCt|E^k7p52;f#)qiyEnvQjTW+VcCz`SPts&Z+`}^n1bXp5zc$RwI2DJ zs)w>GwXr(8ehs!QK$T47of{gFdUce1+{#_m=!@52a|*JD_@#wWgV>4euKW`&n1aew zlc_K2e#okRj*HdCy)R(^0Dyb)t%mjsFJ)u(#U!_boi9~+YS_}L$jYgH@!quc#nj*C zcgk~?Q&akt|BC2V|F1DKvCMsPT2pF*h@b=W(ZFuMUoTW^X0)U z5P@Z^5C8xG0CPX~L#C9Dix}gmPPWA(+<9tS61s_m_1%cLUPPW6M&rla%w{Fpx} z&q;1cE+k_ue}BamS1iWeiu#wZ@IhAHWpZsY49Y1;eF22C?^eyUElY3RSJYnjO+jr~ z?MtEIwhQ1A>#jNlZJ*he!(1-em#48}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v2_wrong_chainid/00005.png b/tests/ragger/snapshots/nanox/test_trusted_name_v2_wrong_chainid/00005.png index c2a8d9070217b86acf192795163728ca4e81aad5..ab030ef1f89502eb6e59f73f21551b7d37015f63 100644 GIT binary patch delta 398 zcmV;90dfAM1E>R#B!6#7L_t(|obB0Bl7k=&fZ=qfH{t$A;x7B($WRg}wvxE(|2-*f zgAEcDMF0Q*0Cx}nE_2S?MoOvI@^Q>B zpDsGiIQUG=)BQO2HzVz2&yLQEnW>y}$!7Us9mi~}J6-T^-ha4a3DR>y_H(~C9_2et zggTVj*nH|g24Mrx6cc^sN+(lCdnwz!+ST;#JO;rfXgQYmf z7wU1!nmF5+&BoY^FaQ9+Jvpt0_U`=5UH!w}!h=|kT7#CsLhQ`J{0HM3{NCv-3bJ`(XNL4GsfI@zCD#xP%0tZ=&$q_ZD5^Tcxi^dj(J zcahj!Pgytb4&DFM?dD4r{n1QIt_+Su$2rTJus&7q=DJBH`)-U>lYM85K_seBB(B4e sNG|{Y0000000000000000Ir$aar}KppTL#=P~Nl10Z`SHQg!jl`{lglw45UI z)5XRa2cL;~xi9DbW~80$*|B+PW=d6aHuD$DIL*eg(*?igz<(V}kew5&c#pc$FZ(8E~KMANI8^4N-!Yu-OlsdEz+$b`f~6yGU%V zr>vWIr=EYx_U4}|_Rvg=76xZx<6Pw+tWVW@xNefkzMDp>$-XnjAQDw568GUqq!$1H o00000000000000009fV+qQFNgYXzR200000NkvXXt^-0~g6}WBAOHXW diff --git a/tests/ragger/snapshots/nanox/test_trusted_name_v2_wrong_chainid/00007.png b/tests/ragger/snapshots/nanox/test_trusted_name_v2_wrong_chainid/00007.png index 657887225857cf48be8a8daed2cb3e89d4b29ece..a58590b988714545e7960f7f400f360ffc5de41f 100644 GIT binary patch delta 355 zcmV-p0i6E*0{#M!B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1g;M Btzj4-;J5hht#0pj z^#9@1sLK;CE54XuefJROGCRgZUbWXBk9~WeThLU0Q`4iWuO>iVr1K`D#hTWitG2LJbl{xH#~Rq+?=K-+vfC})E&6F z@5lAeSDtRMVcZx!aqGa5zhIs*He8&r_HtpZV5M#|^ ydh?e5zlAMgw-$Yhy2~hY*m8O9PiA<4-2TmASuS-mz3kmhkeH{dpUXO@geCwORjDih diff --git a/tests/ragger/snapshots/stax/blind-signed_approval/00000.png b/tests/ragger/snapshots/stax/blind-signed_approval/00000.png deleted file mode 100644 index 7c13332b6ebd5b2edae1533c8fbb661eb1ff81b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13105 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 diff --git a/tests/ragger/snapshots/stax/blind-signed_approval/00001.png b/tests/ragger/snapshots/stax/blind-signed_approval/00001.png deleted file mode 100644 index b1ff1b3ab3f4dd6e51e46f9c6e0a2b36b8dd1f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10883 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 Ldb{=}?D2mCKHFqS diff --git a/tests/ragger/snapshots/stax/test_sign_reject/00006.png b/tests/ragger/snapshots/stax/test_sign_reject/00006.png deleted file mode 100644 index b1ff1b3ab3f4dd6e51e46f9c6e0a2b36b8dd1f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10883 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 Ldb{=}?D2mCKHFqS diff --git a/tests/ragger/snapshots/stax/test_sign_simple/00005.png b/tests/ragger/snapshots/stax/test_sign_simple/00005.png deleted file mode 100644 index b1ff1b3ab3f4dd6e51e46f9c6e0a2b36b8dd1f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10883 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 Ldb{=}?D2mCKHFqS diff --git a/tests/ragger/snapshots/stax/test_trusted_name_v1/00005.png b/tests/ragger/snapshots/stax/test_trusted_name_v1/00005.png deleted file mode 100644 index b1ff1b3ab3f4dd6e51e46f9c6e0a2b36b8dd1f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10883 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 Ldb{=}?D2mCKHFqS diff --git a/tests/ragger/snapshots/stax/test_trusted_name_v1_non_mainnet/00005.png b/tests/ragger/snapshots/stax/test_trusted_name_v1_non_mainnet/00005.png deleted file mode 100644 index b1ff1b3ab3f4dd6e51e46f9c6e0a2b36b8dd1f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10883 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 Ldb{=}?D2mCKHFqS diff --git a/tests/ragger/snapshots/stax/test_trusted_name_v1_wrong_addr/00005.png b/tests/ragger/snapshots/stax/test_trusted_name_v1_wrong_addr/00005.png deleted file mode 100644 index b1ff1b3ab3f4dd6e51e46f9c6e0a2b36b8dd1f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10883 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 Ldb{=}?D2mCKHFqS From ee16ac2035acad83596fd68ac36287f250b0f0e5 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 5 Dec 2024 14:09:16 +0100 Subject: [PATCH 04/66] Updated plugin SDK submodule --- ethereum-plugin-sdk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ethereum-plugin-sdk b/ethereum-plugin-sdk index 059eddf08..e6fde734e 160000 --- a/ethereum-plugin-sdk +++ b/ethereum-plugin-sdk @@ -1 +1 @@ -Subproject commit 059eddf085ef276324793c59351af7ab4636e1f3 +Subproject commit e6fde734e18010b5ec06fc31a112314f3046f5e0 From db8b2029e614c33a17ebf3ac0b0b8ea465b90af1 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 5 Dec 2024 16:54:41 +0100 Subject: [PATCH 05/66] Unlink NBGL implementations of EIP-712 v0 and full App would not build if full implem was disabled --- src_nbgl/ui_message_signing.c | 19 ++++++++++++++++--- src_nbgl/ui_message_signing.h | 3 +++ src_nbgl/ui_sign_712_v0.c | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src_nbgl/ui_message_signing.c b/src_nbgl/ui_message_signing.c index ff18abb9f..ed4fd8a57 100644 --- a/src_nbgl/ui_message_signing.c +++ b/src_nbgl/ui_message_signing.c @@ -1,12 +1,25 @@ #include "ui_nbgl.h" #include "ui_logic.h" +#include "common_712.h" -void ui_typed_message_review_choice(bool confirm) { +static void ui_typed_message_review_choice_common(bool confirm, + unsigned int (*approve_func)(), + unsigned int (*reject_func)()) { if (confirm) { - ui_712_approve(); + approve_func(); nbgl_useCaseReviewStatus(STATUS_TYPE_MESSAGE_SIGNED, ui_idle); } else { - ui_712_reject(); + reject_func(); nbgl_useCaseReviewStatus(STATUS_TYPE_MESSAGE_REJECTED, ui_idle); } } + +void ui_typed_message_review_choice_v0(bool confirm) { + ui_typed_message_review_choice_common(confirm, ui_712_approve_cb, ui_712_reject_cb); +} + +#ifdef HAVE_EIP712_FULL_SUPPORT +void ui_typed_message_review_choice(bool confirm) { + ui_typed_message_review_choice_common(confirm, ui_712_approve, ui_712_reject); +} +#endif diff --git a/src_nbgl/ui_message_signing.h b/src_nbgl/ui_message_signing.h index cbdb7b22c..8c8c193b7 100644 --- a/src_nbgl/ui_message_signing.h +++ b/src_nbgl/ui_message_signing.h @@ -10,6 +10,9 @@ #define TEXT_SIGN_EIP712 SIGN(TEXT_TYPED_MESSAGE) #define TEXT_BLIND_SIGN_EIP712 BLIND_SIGN(TEXT_TYPED_MESSAGE) +void ui_typed_message_review_choice_v0(bool confirm); +#ifdef HAVE_EIP712_FULL_SUPPORT void ui_typed_message_review_choice(bool confirm); +#endif #endif // UI_MESSAGE_SIGNING_H_ diff --git a/src_nbgl/ui_sign_712_v0.c b/src_nbgl/ui_sign_712_v0.c index 4b8489e51..64bc640f5 100644 --- a/src_nbgl/ui_sign_712_v0.c +++ b/src_nbgl/ui_sign_712_v0.c @@ -39,5 +39,5 @@ void ui_sign_712_v0(void) { NULL, TEXT_BLIND_SIGN_EIP712, NULL, - ui_typed_message_review_choice); + ui_typed_message_review_choice_v0); } From c42801bac43a985c67f18ac5e603fd4003a78462 Mon Sep 17 00:00:00 2001 From: zebastieneth Date: Wed, 11 Dec 2024 15:50:27 +0100 Subject: [PATCH 06/66] Add Zero Network (#690) * Update network.c * Add files via upload * Update network.c * Update network.c --- glyphs/chain_543210_64px.gif | Bin 0 -> 565 bytes src/network.c | 1 + 2 files changed, 1 insertion(+) create mode 100644 glyphs/chain_543210_64px.gif diff --git a/glyphs/chain_543210_64px.gif b/glyphs/chain_543210_64px.gif new file mode 100644 index 0000000000000000000000000000000000000000..d78275bd9767b557f0a748bdc28b8bad913178bf GIT binary patch literal 565 zcmV-50?PeINk%w1VL$*t0P_m~000030|N*M2oMkuJUl#NVq%t-mcYQk<>lq}_V)Yx z`~Uy{000000000000000A^8LV00000A^!_WZDD6+O<`wgV`~m)VQp<;JuogbH8eFe zH2^FC0000$06+i$1paWzNvpj$>&?6WU?`5HQ~&{>u58;D<#@Vu4aebJ@9T|!I^NFr z>jZ@~;xBP%I-iFl@&&CX6raNYAn1C#sVVPE77PxcgFwt?3((nhdp?GH)O1uhuX?BD zZEI^=e136k0|W(&jEz!te{Oaccw&ZkfJm2=nL?W!l~bP;p_-GRosb!&o~Ig2sXL<- ztg0D~k1PcSyu1h+2)(?yJ&qQ01~CS6$8E_a%WchU&m_@o(_+;l*J9aI&sXAC3grpp z;}YFd-$;oB@bU8V^aHUw?R@$|`TPDZ{r(9A5OAQsf(G>=OqgdOLuM5oCUhv#TSPVi z?p36?;vKz@#UBY_yGU&TIR)rYibGkBe4rO~g7RGXc~Lag!fOZOR~0Ko(S5 z1zdZQ2s7|2Loi{)RN&H}pq4CGv|_e+g9Vc$4OVN+TBVi6SP5ZioTW4e>x8r})>?qu zB7j@8Wmm{0B@#&hT#g9zZ52sOfQ)+jaG|p|tH8r^8o$jeQ8M0&rqbB+!sW}qE}hAo z0a3Nelc-1vn0}I=hy(?wg}~_QT0?9eN@`=cJw!K$6G_|T_I-5UaN@|5D__oBLj(Xj DZ%_0{ literal 0 HcmV?d00001 diff --git a/src/network.c b/src/network.c index 521e6d057..906e7e3d0 100644 --- a/src/network.c +++ b/src/network.c @@ -98,6 +98,7 @@ static const network_info_t NETWORK_MAPPING[] = { {.chain_id = 534351, .name = "Scroll Sepolia", .ticker = "ETH"}, {.chain_id = 534352, .name = "Scroll", .ticker = "ETH"}, {.chain_id = 534353, .name = "Scroll Alpha", .ticker = "ETH"}, + {.chain_id = 543210, .name = "Zero", .ticker = "ETH"}, {.chain_id = 5201420, .name = "Electroneum Testnet", .ticker = "ETN"}, {.chain_id = 11155111, .name = "Sepolia", .ticker = "ETH"}, {.chain_id = 11155420, .name = "OP Sepolia", .ticker = "ETH"}, From 728206d4edb81459357eb3baac0367cb62235219 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 11 Dec 2024 16:00:54 +0100 Subject: [PATCH 07/66] Renamed "Address" field in ERC-20 approval to "Approve to" --- src_plugins/erc20/erc20_plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_plugins/erc20/erc20_plugin.c b/src_plugins/erc20/erc20_plugin.c index aea505e31..13daf29f2 100644 --- a/src_plugins/erc20/erc20_plugin.c +++ b/src_plugins/erc20/erc20_plugin.c @@ -201,7 +201,7 @@ void erc20_plugin_call(int message, void *parameters) { strlcpy(msg->title, "Contract", msg->titleLength); strlcpy(msg->msg, context->contract_name, msg->msgLength); } else { - strlcpy(msg->title, "Address", msg->titleLength); + strlcpy(msg->title, "Approve to", msg->titleLength); if (!getEthDisplayableAddress(context->destinationAddress, msg->msg, msg->msgLength, From 22004b29632b48fafaed7fd7b5178fbae26c19aa Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 11 Dec 2024 18:42:05 +0100 Subject: [PATCH 08/66] Changes to the blind-signing flow, now hides the amount but shows the TX hash --- src_bagl/ui_flow_signTx.c | 24 +++++++++++++++++++++++- src_nbgl/ui_approve_tx.c | 21 ++++++++++++++++++--- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/src_bagl/ui_flow_signTx.c b/src_bagl/ui_flow_signTx.c index 6558442e0..1ff7a1901 100644 --- a/src_bagl/ui_flow_signTx.c +++ b/src_bagl/ui_flow_signTx.c @@ -112,6 +112,16 @@ UX_STEP_NOCB(ux_approval_review_step, "Review", "transaction", }); +UX_STEP_NOCB(ux_approval_tx_hash_step, + bnnn_paging, + { +#ifdef TARGET_NANOS + .title = "TX hash", +#else + .title = "Transaction hash", +#endif + .text = strings.common.fullAmount + }); UX_STEP_NOCB( ux_approval_amount_step, bnnn_paging, @@ -237,11 +247,23 @@ void ux_approve_tx(bool fromPlugin) { ux_approval_tx_flow[step++] = &ux_plugin_approval_display_step; ux_approval_tx_flow[step++] = &ux_plugin_approval_after_step; } else { + if (tmpContent.txContent.dataPresent) { +#pragma GCC diagnostic ignored "-Wformat" + snprintf(strings.common.fullAmount, + sizeof(strings.common.fullAmount), + "0x%.*h", + sizeof(tmpCtx.transactionContext.hash), + tmpCtx.transactionContext.hash); +#pragma GCC diagnostic warning "-Wformat" + ux_approval_tx_flow[step++] = &ux_approval_tx_hash_step; + } // We're in a regular transaction, just show the amount and the address if (strings.common.fromAddress[0] != 0) { ux_approval_tx_flow[step++] = &ux_approval_from_step; } - ux_approval_tx_flow[step++] = &ux_approval_amount_step; + if (!tmpContent.txContent.dataPresent) { + ux_approval_tx_flow[step++] = &ux_approval_amount_step; + } #ifdef HAVE_TRUSTED_NAME uint64_t chain_id = get_tx_chain_id(); e_name_type type = TYPE_ACCOUNT; diff --git a/src_nbgl/ui_approve_tx.c b/src_nbgl/ui_approve_tx.c index e42209a57..19d70baa8 100644 --- a/src_nbgl/ui_approve_tx.c +++ b/src_nbgl/ui_approve_tx.c @@ -120,15 +120,30 @@ static uint8_t setTagValuePairs(void) { pairs[nbPairs].value = strings.common.maxFee; nbPairs++; } else { + if (tmpContent.txContent.dataPresent) { +#pragma GCC diagnostic ignored "-Wformat" + snprintf(strings.common.fullAmount, + sizeof(strings.common.fullAmount), + "0x%.*h", + sizeof(tmpCtx.transactionContext.hash), + tmpCtx.transactionContext.hash); +#pragma GCC diagnostic warning "-Wformat" + pairs[nbPairs].item = "Transaction hash"; + pairs[nbPairs].value = strings.common.fullAmount; + nbPairs++; + } + if (strings.common.fromAddress[0] != 0) { pairs[nbPairs].item = "From"; pairs[nbPairs].value = strings.common.fromAddress; nbPairs++; } - pairs[nbPairs].item = "Amount"; - pairs[nbPairs].value = strings.common.fullAmount; - nbPairs++; + if (!tmpContent.txContent.dataPresent) { + pairs[nbPairs].item = "Amount"; + pairs[nbPairs].value = strings.common.fullAmount; + nbPairs++; + } #ifdef HAVE_TRUSTED_NAME uint64_t chain_id = get_tx_chain_id(); From cf07914cb88f4fb3984be1076168e7ea3ec39f95 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 11 Dec 2024 19:03:16 +0100 Subject: [PATCH 09/66] Updated Ragger tests --- .../flex/test_blind_sign_rejected/00002.png | Bin 21053 -> 24507 bytes .../flex/test_blind_sign_rejected/00003.png | Bin 6964 -> 14510 bytes .../flex/test_blind_sign_signed/00002.png | Bin 21053 -> 24507 bytes .../flex/test_blind_sign_signed/00003.png | Bin 6964 -> 14510 bytes .../test_sign_parameter_selector/00011.png | Bin 21053 -> 24507 bytes .../test_sign_parameter_selector/00012.png | Bin 6964 -> 14510 bytes .../nanos/test_blind_sign_rejected/00002.png | Bin 428 -> 474 bytes .../nanos/test_blind_sign_rejected/00003.png | Bin 444 -> 501 bytes .../nanos/test_blind_sign_rejected/00004.png | Bin 363 -> 485 bytes .../nanos/test_blind_sign_rejected/00005.png | Bin 296 -> 440 bytes .../nanos/test_blind_sign_rejected/00006.png | Bin 430 -> 428 bytes .../nanos/test_blind_sign_rejected/00007.png | Bin 464 -> 444 bytes .../nanos/test_blind_sign_rejected/00008.png | Bin 358 -> 363 bytes .../nanos/test_blind_sign_rejected/00009.png | Bin 374 -> 430 bytes .../nanos/test_blind_sign_rejected/00010.png | Bin 459 -> 464 bytes .../nanos/test_blind_sign_rejected/00011.png | Bin 340 -> 358 bytes .../nanos/test_blind_sign_rejected/00012.png | Bin 349 -> 374 bytes .../nanos/test_blind_sign_rejected/00013.png | Bin 0 -> 459 bytes .../nanos/test_blind_sign_rejected/00014.png | Bin 0 -> 340 bytes .../nanos/test_blind_sign_rejected/00015.png | Bin 0 -> 349 bytes .../nanos/test_blind_sign_signed/00002.png | Bin 428 -> 474 bytes .../nanos/test_blind_sign_signed/00003.png | Bin 444 -> 501 bytes .../nanos/test_blind_sign_signed/00004.png | Bin 363 -> 485 bytes .../nanos/test_blind_sign_signed/00005.png | Bin 296 -> 440 bytes .../nanos/test_blind_sign_signed/00006.png | Bin 430 -> 428 bytes .../nanos/test_blind_sign_signed/00007.png | Bin 464 -> 444 bytes .../nanos/test_blind_sign_signed/00008.png | Bin 358 -> 363 bytes .../nanos/test_blind_sign_signed/00009.png | Bin 374 -> 430 bytes .../nanos/test_blind_sign_signed/00010.png | Bin 459 -> 464 bytes .../nanos/test_blind_sign_signed/00011.png | Bin 349 -> 358 bytes .../nanos/test_blind_sign_signed/00012.png | Bin 0 -> 374 bytes .../nanos/test_blind_sign_signed/00013.png | Bin 0 -> 459 bytes .../nanos/test_blind_sign_signed/00014.png | Bin 0 -> 349 bytes .../test_sign_parameter_selector/00014.png | Bin 428 -> 474 bytes .../test_sign_parameter_selector/00015.png | Bin 444 -> 501 bytes .../test_sign_parameter_selector/00016.png | Bin 363 -> 485 bytes .../test_sign_parameter_selector/00017.png | Bin 296 -> 440 bytes .../test_sign_parameter_selector/00018.png | Bin 430 -> 428 bytes .../test_sign_parameter_selector/00019.png | Bin 464 -> 444 bytes .../test_sign_parameter_selector/00020.png | Bin 358 -> 363 bytes .../test_sign_parameter_selector/00021.png | Bin 374 -> 430 bytes .../test_sign_parameter_selector/00022.png | Bin 459 -> 464 bytes .../test_sign_parameter_selector/00023.png | Bin 349 -> 358 bytes .../test_sign_parameter_selector/00024.png | Bin 0 -> 374 bytes .../test_sign_parameter_selector/00025.png | Bin 0 -> 459 bytes .../test_sign_parameter_selector/00026.png | Bin 0 -> 349 bytes .../nanosp/test_blind_sign_rejected/00002.png | Bin 702 -> 965 bytes .../nanosp/test_blind_sign_rejected/00003.png | Bin 353 -> 568 bytes .../nanosp/test_blind_sign_rejected/00004.png | Bin 737 -> 702 bytes .../nanosp/test_blind_sign_rejected/00005.png | Bin 442 -> 737 bytes .../nanosp/test_blind_sign_rejected/00006.png | Bin 512 -> 442 bytes .../nanosp/test_blind_sign_rejected/00007.png | Bin 367 -> 512 bytes .../nanosp/test_blind_sign_rejected/00008.png | Bin 382 -> 367 bytes .../nanosp/test_blind_sign_rejected/00009.png | Bin 0 -> 382 bytes .../nanosp/test_blind_sign_signed/00002.png | Bin 702 -> 965 bytes .../nanosp/test_blind_sign_signed/00003.png | Bin 353 -> 568 bytes .../nanosp/test_blind_sign_signed/00004.png | Bin 737 -> 702 bytes .../nanosp/test_blind_sign_signed/00005.png | Bin 442 -> 737 bytes .../nanosp/test_blind_sign_signed/00006.png | Bin 512 -> 442 bytes .../nanosp/test_blind_sign_signed/00007.png | Bin 382 -> 512 bytes .../nanosp/test_blind_sign_signed/00008.png | Bin 0 -> 382 bytes .../test_sign_parameter_selector/00011.png | Bin 702 -> 965 bytes .../test_sign_parameter_selector/00012.png | Bin 353 -> 568 bytes .../test_sign_parameter_selector/00013.png | Bin 737 -> 702 bytes .../test_sign_parameter_selector/00014.png | Bin 442 -> 737 bytes .../test_sign_parameter_selector/00015.png | Bin 512 -> 442 bytes .../test_sign_parameter_selector/00016.png | Bin 382 -> 512 bytes .../test_sign_parameter_selector/00017.png | Bin 0 -> 382 bytes .../nanox/test_blind_sign_rejected/00002.png | Bin 702 -> 965 bytes .../nanox/test_blind_sign_rejected/00003.png | Bin 353 -> 568 bytes .../nanox/test_blind_sign_rejected/00004.png | Bin 737 -> 702 bytes .../nanox/test_blind_sign_rejected/00005.png | Bin 442 -> 737 bytes .../nanox/test_blind_sign_rejected/00006.png | Bin 512 -> 442 bytes .../nanox/test_blind_sign_rejected/00007.png | Bin 367 -> 512 bytes .../nanox/test_blind_sign_rejected/00008.png | Bin 382 -> 367 bytes .../nanox/test_blind_sign_rejected/00009.png | Bin 0 -> 382 bytes .../nanox/test_blind_sign_signed/00002.png | Bin 702 -> 965 bytes .../nanox/test_blind_sign_signed/00003.png | Bin 353 -> 568 bytes .../nanox/test_blind_sign_signed/00004.png | Bin 737 -> 702 bytes .../nanox/test_blind_sign_signed/00005.png | Bin 442 -> 737 bytes .../nanox/test_blind_sign_signed/00006.png | Bin 512 -> 442 bytes .../nanox/test_blind_sign_signed/00007.png | Bin 382 -> 512 bytes .../nanox/test_blind_sign_signed/00008.png | Bin 0 -> 382 bytes .../test_sign_parameter_selector/00011.png | Bin 702 -> 965 bytes .../test_sign_parameter_selector/00012.png | Bin 353 -> 568 bytes .../test_sign_parameter_selector/00013.png | Bin 737 -> 702 bytes .../test_sign_parameter_selector/00014.png | Bin 442 -> 737 bytes .../test_sign_parameter_selector/00015.png | Bin 512 -> 442 bytes .../test_sign_parameter_selector/00016.png | Bin 382 -> 512 bytes .../test_sign_parameter_selector/00017.png | Bin 0 -> 382 bytes .../stax/test_blind_sign_rejected/00001.png | Bin 9981 -> 9925 bytes .../stax/test_blind_sign_rejected/00002.png | Bin 21343 -> 21829 bytes .../stax/test_blind_sign_rejected/00003.png | Bin 12294 -> 13743 bytes .../stax/test_blind_sign_rejected/00004.png | Bin 9127 -> 12244 bytes .../stax/test_blind_sign_rejected/00005.png | Bin 6164 -> 9127 bytes .../stax/test_blind_sign_rejected/00006.png | Bin 0 -> 6164 bytes .../stax/test_blind_sign_signed/00001.png | Bin 9981 -> 9925 bytes .../stax/test_blind_sign_signed/00002.png | Bin 21343 -> 21829 bytes .../stax/test_blind_sign_signed/00003.png | Bin 12294 -> 13743 bytes .../stax/test_blind_sign_signed/00004.png | Bin 6218 -> 12244 bytes .../stax/test_blind_sign_signed/00005.png | Bin 0 -> 6218 bytes .../test_sign_parameter_selector/00010.png | Bin 9981 -> 9925 bytes .../test_sign_parameter_selector/00011.png | Bin 21343 -> 21829 bytes .../test_sign_parameter_selector/00012.png | Bin 12294 -> 13743 bytes .../test_sign_parameter_selector/00013.png | Bin 6218 -> 12244 bytes .../test_sign_parameter_selector/00014.png | Bin 0 -> 6218 bytes tests/ragger/test_blind_sign.py | 42 +++++++++++------- 107 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_rejected/00013.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_rejected/00014.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_rejected/00015.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_signed/00012.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_signed/00013.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_signed/00014.png create mode 100644 tests/ragger/snapshots/nanos/test_sign_parameter_selector/00024.png create mode 100644 tests/ragger/snapshots/nanos/test_sign_parameter_selector/00025.png create mode 100644 tests/ragger/snapshots/nanos/test_sign_parameter_selector/00026.png create mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00009.png create mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign_signed/00008.png create mode 100644 tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00017.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_rejected/00009.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_signed/00008.png create mode 100644 tests/ragger/snapshots/nanox/test_sign_parameter_selector/00017.png create mode 100644 tests/ragger/snapshots/stax/test_blind_sign_rejected/00006.png create mode 100644 tests/ragger/snapshots/stax/test_blind_sign_signed/00005.png create mode 100644 tests/ragger/snapshots/stax/test_sign_parameter_selector/00014.png diff --git a/tests/ragger/snapshots/flex/test_blind_sign_rejected/00002.png b/tests/ragger/snapshots/flex/test_blind_sign_rejected/00002.png index cf3b20e5b3b494f2cf16b6d562c7a62b326039af..783bb5b6d5b06e4e0811c64a76bab0c910bb02bb 100644 GIT binary patch literal 24507 zcmdpe^;eW#*fk<5Et1kAA>G{}ATdZIEg&#McZVRMq%;i8$j~9(AV`jMNp~|6L+5w< zJkR?6fcIPPFW=&aS;K;J=A8RF*V)&;_MR{5YKnN+6xe8JXn0C*UTdPEJy=FVLw|>f z4*W)-H%}1_%`{l)wT!k`2C{V}2_`;Xi^w=->Ijhz|M%ykTnF7U!9Ia1CKCn`ddPd( z!*iJ0UQt{QfoxCSf&Xpl2E>9+xf{-)JeIw83f=O?Ktp@Meb?@(2Taf*OaMkh!z9M! zM?=HF#-IRZeuR#Ph8Bb#^cd}~fKPY~E!Tn3#;qJqajE0zQ z1~eIP77U+fyO-1apcm-I)2H0HUEDd6Xr*R2K{0vEF&0R!F7Bv1YE>Q*rUD2>FOU4^ zgJMdwWfD8O5lelWK*-#go2a~oHu0km-Gn~hM%yX2P~OiUizCr4ESDKqxE}1{b{ts1 z=!M18nzR&3QES4(t^vQfac!ssmEzeEaAlY?8f%%oq0ZgJTkT7CE&M{Uoz@P~5l$M-OGdZ6%@OfC*%KN+I zIT>T44V(ceG(JvE;A>NBb|);y)q5 zW>m_P?W?no?OoFja*I4(3pZ;p;xs76l91oFf_EgSfg*|)*71{y_6&A#q}mRy*NzGY z^zw^nnWTO}W3qz>Gz!#fjV|1phpUl|*a zkBL=FWm%H5$S<91ndLAR&*f&m1cJhkuxfP401758TS;69GaHF8u<4L5TT`b+lYRf> z*~x?oM?M8pBAGa=6U=dJj6eT6kbhh7sUWN`KZ#D{`K?mcmUfrG7xLXGSV0cYgH!yG z8;|@iAud(yuw^~A-ZBAD$azTQ-+kJb&LP_&-ax}->4FL6UeVtx#WVOXC9txL8vWF^ zocO$@UGL*>6BHp-peBRfI`*0uwsE-fd4@1#$_<=(divnKg~y8#UbmF7j~|zOOW9SF zv%%1?FfNuomFFR~rN16mGh4s?u~ZvIBr;nMm)k?D6!TyoNn9{n>`{vMdS>gR0oNpB zhQfxeWash*LI_Gj1;1NDY&mVH(L4rX9vS4Dj8@VQi?2a!Y;*SGwyg&qZxFtgdWdQC zh*XCO!x?vl?uRoNbUpRpeZjs?j?UE&aB#TiM9Hh9zV4J5Lj&?8{hO+*p={Y!8eB6! z3rpL9vWFc3Gm6kmtZYBCfIT)#n;Pq~KYsbnDr_*5dC*`i5P+Lhjq<;;WCzJSB|{bG z4aTe7(SCFJl7Q)CGn4~OUeDDnEiJ)ZO9y|C=klJ+jXLf%>2kGY>`De=`#dANd_#8B zsrm5l0?rU7j|^BMp+O4j`;BckMGr>m?3H-Ii;b?9;KRgCMiiz7NKEiF^o}>FrDdDg z2CDjEd@Gs4Ndwp=(=*Y>g9QeDfq^K3D2JgW7*)*>xjZzy>j&=9gt%S(fVy=?4^K=l zOji3`+5KDb4lTKg#e@9XC9(I8R zXk6-aD)-th;|Tm3`s7p+Wq{jfwVrqa-g&;4r_~ad|JZ0k6m36p>F?EY$To9C@B|I* z#^HbWqFHQ&u-ji1otgQJhUp}elm$M$tfg(|vwe!7&kyt8=z_*hAlTHgXf7x${y1DtXyaJ0yIur2Kv`Wp&o@*36nBHPi#U zUTWt`7I=FbKueOt4|=o|AWp+J=-X=lroE<_@JSzcqRJUmGdltgJ8niHM=@QFbi2q`A&#NHl+=smCp?2?{1M~GTq=Le z+D!UFiiKD`;tDFAv*0aG1E-4m!*}~KTF}tHn4aZxVv4NQjC4*(F@?Ks?yP=tv|#qs zM%3Cn;ffU5EF#wTS7U{zozK8rQ{139I3(E;{&w-;yhzqheR zrNzog7Incp>wAx`F8w@64}IW}D{R~O1J6NX1I9~#A;yz7DqqWHucH1d53Fz`#+662 zbF~YMtwFVv>LvFI(tx;op9e;AsQDR>iv*0+_iA2f&{W0ZcWfKAsG%7HS8nDLAPE&> zSM)we9<*ZC;2BX32IP|29%`xLy+i$WJxM;__{}!gZ2|hQ{?7zZ!w<^nHQ@zI*oW^w z>^=`zijmZ7B{uI8L@)cZr607}szz72F`D6>nj%{>i+wQCzzQ+{9xaW+;gR@}B4Fni z|0D`lyw&}Ex<0Z3+Si99B&N)t(b#?JuNMDdms&QS0XR(b>2QszMShU+^loL5_*dZG z8tWdYS|3J<5AS^X3X>z()9wUU#iYm*cX1nWk_8w;plZgm#QsaBoMZ!X6k&8R7QC>V zJSL@h)TJH%N3~p5a{1ATWp`rvL`8YMve{8bx)!P*M0w1t2$z#BtrP!1(ahO8oyk7b z{NigSAVB>EE2dKf61#9D`vs2NW03jAH;d*l;KP#6y&m!NvnZb9^p2UZg8d|SLork(i!6ezF<g&OQqlux~T%D<@X|*+Z*a`}jplHSv-eq>euJY+b-f2N&w6IsU!F$jo z82c5O#&qon6)i380p9qB1XfzgFtdT>dGL@w`pkFJQBDVexEZYrDti(c*X-12MX%GE z3a>6(fqJTYLN9Te7QGEpp&8=5MtQ1UOMP7(9i60O!Mhxa=$u+Ie@p#Ehx+opp{?r8 zDnT+{N*NSsqL$W0oB;!nB}{a5-stGeoAXC888rxgE|S#Nac?#8mMg3XnT7riftZw< zxpD@4bZvK<`giG=`)qyz4rlQrZ9)aqr6Qb;ly}%(y9deQG_k15Uxo{Gp)*wkgRQDZ z$R;&Pf4JYdlqhwts-Yi&dBrmbC)HuE9+*d-(d6Q`H~p;>bA?!s2JumZENk zm(K8jYwCp;YBVIVd=H$X8u>Uxe4B-xdQJs6K3_Ua;)RImuxqFsVig9CUn~&A$}RX- zY(R7^cUr?v9E_vH;NuDLVMvETc`E1|H`_>yvMe$D)LuZ~Nb_? zeuhAcWU3N(yycyobF0Y)3F{cY@wXvZDCXZlYMJ;Du@E{uJct1`^f+4vlKcjM4S}H9 zB6|T-YpJ=ftsz)kBg$f|mZPdJ49^3lbTU2l@nDJ*$+Ir*zml!tthVvgq=kOU0g3R1 zDiMKm>Ac>9FZb)8j<=+0(}7Pk-2=*9?Y2CQG!s}n$RwpaSx2BRZGDisY+IYA2A@Tx zY4FxP;h&_r2AS)hfjQVC)*6^2P?xGGqX~)r^kMCU)6i7c7m5e2oTbOFNoFLg$$wIa zb7tWI!zT`W*SB#PHUFR$swz^K@^=ai(pnYaeaFwAo`a5!eK`CUtpUUsX((wyMq(~? z8*)8fDlJ75JBRd;%tlmwbACF=TdikCKk_z`(GILnd%C0{Z>ay72}2f!T^bHx;XK90myDhB`LYvlm&f$mM74+Q_Cg9becZldj~@4nC>gJ)m>cmQ zLRp2n-a&$S7rW_qYi^=Nl*P;uMYx`Ae+UP~YTMxVbYgYq9?s=o`iESyMS%P=@3@W@ z{RF3zU~*eLG3hcXBqbcFO?P%{dHDt@sT$8P>`KwBJ^C}xjPV-Nhjh`})8Sbz0Ueo% z9A*NN9(+x2N(RT8`Z`^^TpDYby(-`XA>$HomgJQdjL1P|r}^2;Pq=zLe=Lyj^$9Tm z#Y$|*<>R`GAK7BB)F$Div~SRLUHZXS8uOUN9U3;GY-Fla*76DdsMy+py`OvP&D2%k zjAPgy4j`sBmwY_;w;v%_jfkSD!-v!DDG-zgE{&LqEf5rj}@VYWFYNlVOd^m=@JfHq2guNr^)(M zR+P>cW_#mvA||Cg%_AtV$SgrPS#Q7HB992?=`jkWM!C=>7~UB zU$sJQ<>sKyEyQ^sHA;614)rnMNV^o{8@%WB!R@ue^$|4u*n6ynVre1n9G$Gf2jAV+eXn8`~RsoKqXM zz>fHHF2-@;)VxqLw3evp#j+0h<+*IgCi07cp(bpECLwuTk}MQR!9R4e=D&EpY%U-7 zbKws@TKzpdiCq28G<+LAJdE@_t@E?x-;ES^;ScA%sMosU#C>gpX=_x<^;2~h^xeB>*Cyvl9KVg)WAt)N_eg94)L_XpE<$t5_#=IoN4svBu*TE$E?`nG{OutDzD zlb=M%V|5PM^OT@GwDN6rLWM+(MY?*o3SG6r=Y8F3`XiEvcx#W+r{hzG7By?NC$d(y zdDv;0&sXO;X>5;iI=8mY&_Upb6xagWX6B8C5rgcSyC>1R78=B7d@XvU$6n&Uyi0Z+ zYWhhg&rURZa$n6yVgP_^@xT*hFI+}%CUrihLO1+9rrPEa;xs48F4`)p57ghqZ$=K& zZ+W-o(;8#NqArrmM&#WnmQ{{iEn#Y#-9X+nnpAKNETrY%(_NaaVUOSw+t5nYW0!J; z987H=x+aAsF(^UdhMO{4C=JKi#>*CBpq!qoOMI&0;lv4$BQ}H4(MlJ*JKVT#)*>lu z8-G6g)c~kzKh6^y;HS`nqM3?;mv{dUJk@dFL3syym>I!Y%y^}~Mm~h1){jUp@v`%A!-ipx8#u;g$02A@q6j>qcsM|)PH9KwzGK^d!QcH`kOzH*+#3hY>2={X(6p2+iZq3*fpM&k5S--jRGqT9Fc zX5}!=8cPgJnBPZ~?^&(Y&KO#HC>;yOY)k?8y}Fqg5xL^Svr{Nw!aAZd+_0#=muCNm zLCK1?f3MZEl|_~t{*Yih#bU`9s!257UT~Fqyx>sWwar@_tdL&MhQxB5di~CNq2+BA zJ6{RiJjWhrK<{d+MJ%GWMWvt~1*Y58V#)(v-F6Q$3&Og`rb z**i!i8g}UDE8(HAMD=z|z|5nSY86M39)>lJ$qyZ@Ps|Gi4zZ(jHTMz*|F|RfTlYXm z9u}exg913_+o~;o!VZPIH`!rgv@Z6Uniw3volCHmK8?1}UE06c#~84+T~uQO74yqW zSO^k$m;d4-$To75W%-vrSmpbss~ zMb=ks)#U{zTtoL}aroOw>!)qc9)xt1vgjsPEHNWy#7 z)YGhFzpm*!s+YWh^w?|q<0omWku*rXDxYJGSKH&>INayc8|(IUTK}My{k35C6``)^ z$FpR~n6*6Sp)J&<-&Bu6O^}uSM-%_T;$5FsU7h?)e^$-;R3rv;>1MO_#7q3*ft6AJ z;456he8}$M?^oWdcM?AJbBc1aKdh1(sz(08ahh1gX?KHR#H9ev`ShsnnZuZVnj4LBuuv@E zO0;(mCus ze4KxYDQL$qvKzb+z!oSA#Z!H#qjjEpw%gHD1&>6;48^8#7?EyY-#S!hCEqrww0tlL zo^J~PHJRjCYxPNFjgG1BqFGN*s(lLsLGq%<=>KpJJ#$-U7?1SZlxHNUdgw&S$)QgK zUU}n<-PvOo_hb-d|F$5Zs{)hm6u7|in3+p7GQon`8s2hqb@p>6oMfVqxjLYnv?4Cz z)zKTPLvC#qTscDFmil9&`8A{)J8pSUeh}*PG~c`3zkjpjDc%8-@lSxBZ&jAH{MJUH zBIoUF>{H|=Of^xTf{?$)0;S(wpI2NR?CU4{91yGc_gG*>Qhi+VVY^i?r->a$lCAlZ zP`(~HyXtht`Qe3yFSTVu()*pXb>QHZKjeWejo4d8ZIPDo_N9ZHZ*4SpXH2zG*3IPz z)V#tctG!K9nK{Y<*dDe&Q$&jQ=dEO`SH1_zT3+lw1|R4$J>!Hb6~_4aa`uv0>>}(}>_p6Nf)S8U#H^BP>>X>bJ<#%t4%rz++6ZLYY{>;rZiC~_*l=Jp9hCWu> z`>k;zVVEv2W}W}H+1e05n??n}5}yUQGuPKj_*CGQfZ zq5>S2y}d|D+XRPk{tcpr&>s)XNCmR5*@kU65C9x0HpR-4!0kFeuit$*Mo^%B{BkN? z8|cDZNaw~Y<^3K zDLL~Z*ra_ZPT~xO4qvXFT$KMU)fGC=9x#j$sPWU!1q~kG8FVdvt3G1)6i-iMuXZ;i zmJxft%Tc~3F0jMmQ{nMjIop}dEc)Ru&JTiyW{7Oxw68mn9D>ms@eERv1z_kV>Iv!* zPI$Z0@>Z)6XEGz^@LNtD7dmm(fSp;kE^fbofZ~#&s$abL299I-hj1>$SOAEMtAX66 zbU(nRd`^Y39Dt)+=-7Np%VKl}@O8-sS+V%sWSdigw_r523c7j?8 zdPOI59MGOUyfum;cIvva^NJk_PFQu&o%9QEsm;VLx*&Qtw2>Gs)ofQo+RY9%s$BfW zt+ z{W6+Wl~E|%>=`yyV=z{(dy!aYqf(gK6E}R!KR+!VC)jV8+Qqxa%yv+d#3T^65uYMx z8EAjvaYo4g$R|2?s`-!I82)r-5tdhrpY?%%`B|C(W2q+^Wq1bE&{6G_=2qmOt>qSP z#T8L2d{MnHAMnl)F={7O_B3g$ajdj_uZ9c^3xK&70UZh*qRDv?)W=brQG7N;yn_L> z$EJFNq}>9dXdN);X^ZtXA|Xfpe}7< zv#L9ucsTbDq#7Wc68q?p2F0-b5@v82_aM+j^O*Mj3^|UOP01x>BiON>oT4=VPP^rF zV?grBt&;?^E5hLpg7!*e!B4+K1b9>`RbMSfvF`gMs7=~va|(>UjSqpZ7klJdPES7A z8{S5!vl&mjwCL!DBrP^C67Q)TuA;%I6%MFT4|3Y_8kb!Lm+pMN{?^V>q>ZPj;vG;* zj05f**AnoYPmIau(ov=OKA4{I^vt}YmdUD$XG^MEjjq;Fso&(R?EXK)?-}cPvUziIPj6rc1=hO9kFV(M5%o$ZPyQ zx2<`A7fNxGx&c78n3I1li^NB{1izW zZ8i9bPI4qpDn%Mt68%pdLchvPQ1OM!PE{{{iyV^o*7J++F+m&PM4<(Ce$oYB6{nCJcNh(Gxs^#Tm-C~yKKK;t7XX<(5~=xFnp@;Q^d z5;gPvd%6J{kq7cl%InI_fu~# zw;c;u51gWh!0EQ&6v5`K^?iz&h?z3nd3Gu&teofbxosLRjK@ryhZJny-e<#eH5Ih7QN~A@#M|KEUjfUjk{Yl z!4KsdWt~u@r-4tLbo#FNWC|JU`z3u+44>#wIoAn+$46cqa3uh5R{bi?s+{R&C)mCR zV1Yuo7djaj_iiS$?_6KE<5A=e)I^Bn{}r_?hmQJo6+U-NQ``-Cl#A3HbGcJ@nyp-bRcEYQ6H05Ggky@6*3`*?p-(++<}<>_h6Wx7-QBOaXc0eZcaLNgSv??j;9z`k-eR4>I#r3(NBK;isGRVX&+IIP9d4i{96ZTz7N}8rP%e*zT z%XwnU=FCwzt)|H;)?hW<-G-TT^a|H6KN=%`~yu-7+iZDgnw z)Y%V~LeI#+~Xpf3bk2cv4ayV(q1 z4n5k~RjOyZxT#`$KX1@!1hpU=IN4hjqT!I;rp@#rOZ{ZanF%q?Q%;pP(Rn{vlquHq za+fbZI5d8=WoJL+{JX&k`O}>xbo`uwo6&-tTu7J3!(`?02}ylRu|qY`PV|1NQ}1v~sM6>htp@}ecx z1wZEV=9_Fmy`rw!y4#D3ue6=jhhncE;e>QmLluRNQD0QjNr{f` zp*#(@A2290*5UvP4gh5Os$$D1)OgvUKHssz7Dr#bcs=`4O6byd;i%0gu&`;Q4f|}r z@5ytA8y20*yE{_W!_!j%9n|?@GNu8`8>-&j+A2$ovQ{5f#IZ-SyRoNacI`DNAh&e) zD;%PuGrd<^%vu&Q%A>q^=yJv^G(SWR_Errju{(nPy20pY|j z^dy7aw)_avf*JjngdR<3YOP$QULUnxA5Q9Ba|Q-~CkfJ8;hi?TAWsD{%jXnZ?>kEB zSemY42rr=Zww{hx0Z4M-w z$y@zccGuL;`bSj<-))|t(i4_&hqq7x?KrTA#e$|8OnxD#zRR@x4cax05DNnQr|z*( z+(a$us`0B1GCF?5BSV}9;kPC=(V2{nUK9%FJ0Z&JwN%b+ZOG^v!R zZmD~u(xEQVe82`f2^T5;fQBB$Ped&YY?xG8&4Zo=pn;0uob8>yv`^ti$bSZ zB3}M&p;2QP1Q4BOJeTtY8Y{hP9?cNCZ|v4X|IIsH%Zw3CI&ld>8s9I_;orIOK77K3 z&SCw)w(Vsi{VQ#oxHyVe`Hjy9avKjGzZ}_|XwwMatdBswP7;`IuwwcR4x*@19cRNs z=w#OzE=2y95#2f5LJd=n-fxZUjk~7{N_OSQR>1(8!{WpCE}ONqobe>N z-?3J_)g%Yr3N;t50nfsi!BKhelFx3p>DN_iQedbw7ln~WSTp(Cmj(lg>Hp4Rh&TA6 ztvuAUQ=2i=jo5eQmTOZ+2(*@QQ3_!5e;NWbgDEw{f8J!oe!yxi{FdfYBmO-9?ZScQ z@ne&&(}J~Wfpj&oB-H_&xP&5aN-UQC=1RL+dTy9;p}42yWs@Ih7w>Cv@q}N9d_tLs zQhecAe$wOZYEPVlZjA!mPUkjKNgj|1B9~o7;AwujE#t;4F(tyLB{Le}xI=J`h_zM( z^{ibtgI$wU8xW#W8cBK@zgBfWzeMo5U%I?OwCdxm0#r|35=W(r3-qBlhA-roL%aDW zwD#y)ar1W4#YmVMdB~a{hgLN?2p*D3_8hu}vk%d8q}fljY*fgEG26`PdTF~vk5jGw z(;E0`T60h7U$^vC_M=qcdN@@@3n_uKeS84|r7~wl`>yRioqa???lx{Skf_Q(@4pfCO{8My|j&q2AGdz+^#abnQ^m>BB3Rb+l` z((n4u#di8PJ)Gf4;2;!Gy~7hoKCw9`i^cYhBy+*YPuBy9{VP&X+;P@B# zL(w+pSrHiyh0t z_u}XL~BBBW^&DP#jHfo9i&J)1Ij)iRz$9`2GJ=ix@A(&v1p|e zRVryY$&y{a`&qvbN6+5-58_qW^62qKFj3J%X`;QO?1OF8Of|FVM((>@@*@16*x=H4{Z`_$b_@t`Y@nVoWa--qqI za!Gx3u+vPmI9;a26mjZ94Vr=@zI)T%|7|qf@5+!QO5X#`0h9QSI>r1aNBXQo{2;lR zQwMpC0W$Z7x{TG_szG?X8GEk(eIBiaPuUtP_!@T$=Ua9O2iwAa7wR%YVlX9C&Pki= z@fSZM1UK$Fr9(=W&?T;`)l|$QK(-nn z5xn*|Sf(fb6&$x~b!vE~oBd{uR9jO|-V23P&u^oaT3y#e@8G0!6CO&b<{r+5p)Jh5 zIy$h)H}OAbDrXj7!dJ6{it<W%*g*Gv1A*Ju7KEJ1=Lah7RCk}3jFE=a}KM^Mv-2xz^AHOl8vG|d90l^eB* z46L@Tf{kIat{Tg@B+$Q}R6a<1F5sZS-T@QalJa{1OX z(d>Cluf@+QLKt)L9`rtf4XS(JRDP)t2&km+b4tv0x~l1XSP?7#OHEZw*k9)6*#xL`Uh3_J&A9 z8uw%ROOtMNpmdPJbY+7N@%pT9xa0yz`j^!~qjRHCTU(o|?cqa7DXChi;};WAejKl^ z4`tUe6z^`FVgfgSNL92G`spm1>BS}Rm+yYFJX@Eqb`Fqo>cP8B3L3AQYu{4$AJ}WT zUYf27w;6G!AVQb=Ay6Awhf1y)m5#l4Oh%Ip)Y?odfU1{2c(kreRD%KE_HZ;-I0hyD zN?@H)o#-$ldbAf;AiwH49w^aLvI1h~KDtrUxRe z*QqIjCe|Jk()6G5n|$5z(;N(nMl7uL$_OY5^|cL0rVe98hnw8L7Qf^(MOld z6;(R%4B|585u^OE^5}!KX*ZpJBUa2D;JcyBE%htm(F23~ZjW6*ceKdY$_`YuEI0sI z^2lr6L5Krx;uCJm%G6G?K3!5&sTfqpAD}_ZUn$8t@{BT*IU=~cWUp!Ov{>Tsm&)c6 z_S6eFz^N4d`w?rJ%+^I3ZXQ!6QG)KkFRuM0mmGxJ9G{z;6&j(m-|AEL*A8Qh z6u+8F4iB+f-qFb6h?a^F%#m@f@qSK=#gm_q!tJXdlk@Kp!wIT0g~iw=gTnoZ4cHWK zr#VETUfmchu0#F$_*yP=Zou5zDmh4C1g4STdQ7d07F=h7IpCBBRmwv%Z`0kf@(qw`mVEJAWKl$~%}qYmN^NS7nU!S=kLoxa_2zKZ+){!utiNc9aM z0v~ur=ooJH?%U9_^hr>L+AGxatOY;O%)T%P)S-0qrg$T~f`1kd_gA~sFWZ6?` zOh9hmx&IK)bR2sk>N$4BJobt?T_I{~YwM+Z%w4N0=TEItta@*$4l@JeWXs+CA^Q}| zG#|`<_hqfLeIcDx)(@b)hXm+`xXy0OQh(e3CjrAnphHMs|}x?S2L$D(;R zc_Ce1FjbL{K!eAC_M`vzIBDBz3`M@kS}$vDhlb$T&F{`UP(lzVBdln|fT;s)pE)^0 z80$SEm_o1mZIg&Tfq}dX*RgrDchQcz=E-8=XJ25;J$`y1qK~Cj=lmP@L|v~=3+KTW znEJ^8oHr<#$iNWJw>6;i&MKh?H@S?Y7R~gYgCoTVLI1HLKCh z+(V8EJ1fGNDF9HjhG_EI)wTSy;?GD7AGa zaf!L!H6Bqkla%Z@x4t8i9Ev%;mk%5joVg8|US~Tso@FlFlHw};o^3x#geQcm*GfDe z(41MHJMmac>_e|_%O#Ql{kzF;>^f@X2KbkOjtMT;6}jxQn4`ZN9v1DX4IoCqcfku1 znsikX_X4=i^sl7Wm8SGHdrhP2q983Z8APVS$j?hZnn``hA^P|DU;=FUH^gp2(&xJP@-w@{B$Z4vC?P>f!;DtO&2ivd2Hbwm?D@LIs<7I)Tly6mn)C(G!UK)h z*t5|lF#NMnVoI!}xyN!DGNPdmEi_;=gp>Dw+d6oe|R1Shin_o0#2q%o*?X# z4Hxn-x?vQ9l3D@Ltp?FH9P*~&@@WDC3u26TYJ7(uS1uV~!A7mGe2u5|lS$-ddJl!t zZrIS!erHKPf^J{8mG5nD-I~QS?3Of@@3377#;ln=4>Q}ozH<`R*6Dt_NfoQ8qrG&l zK`a0wk{{*9wV%_}nAIBrqjeZ!8ssSPAgU%Nbg}A5xz7FHUipe!H${Mx~{5p!Kl%)tRaQ0)_94Y2kL|)TPuc zG4}q5yAk~~qKY4SQ5MhW;7iy~)>ehTXq-4;HcO>ITCZN~7H23G-c5?OKXCyC0Q;}1!v zzjS|W0-aJlYbjSw7M}ME4s4pt-4i`^ZRfoDi0^mIw_FqC7{&5mM+^PoPreO9k ze~1CVhN~D)XJ=;vh*^H}9pFq8JcG>XHc}rfmEDK{(6!-)L|#KDDSi_UX=`tXNT;2g z0E{0aIGRRYBc4G}895q+my&CRwFb+HW=9{n$x9{KUeNCge;X#u^h;^K(B zoJi`h6`(B**mcVHM2Ar`2@V5Ra#YZi!#`2M_3HY`G{Zw;Mi3}=IHWZf(2nX_JaZu% zd(3DUH{KC<c7$J==57k`U}UKS|3XOT&Y))1l|8*?hflTD7N0XmX&m)*tjtTdY8wm##UdL0;Hi!BoJC+fAovUtiiM^Hi%#ia*@e>-7BcZBMf?jUiVlhCBIg#rB zf2{_d^ao3fO1!66cfbP0%c|HHT)+`|;5pq>f50L%BC~gW=hCPSo#w^`aGTDrwv-oP zf1P$WfO9OfsYxD4f~RS|#VOgSwmNm;e4f#dUE5Ah@eEt2G~4oDK8gkdFRj)8^BCmc z!y(YEMpx< zh%|su+FTL=5|p0O+V!>XE+F}6Z);1|*4@fqLA`89EcqPog!!{YIR0T3pVMv=DbyX( z7Lmf*c%*r6G+Y{K<5*eis3Rrj1T@eA32zs^K^W)2R&zCUDdS z>E|(D-P~vw!0;#j(;d04EZ2_NAoghg+71DufsVY?Rz*R|SY6pMK#!!HmD&dk4YFN} zw!fXSO(0Wrk@k2T@Y1H1A5>D@WKvNqL((?Z$X>GEqjKviA;?*5`D8SFeCOoy@^Wi9 zyFKv!?h>`NwzlRZeBtwz; z#C3N$Mu$&HwlUldI9J=3LSOk*CSb`CgB|=`e>t2CmU53MH8e(EDN*$rK!{n!-)Gzy zqTFr>;jA#mgc+QZ5&%5!LV8xf#)#-gJ_B(rVh`ID5RWI@{Ed?)nwZfIzMI^P^G8PA z&Ks+c=~x&k#s6lg)%{EL6m2h~@^ZL58EmoJ0rJT>g4KdpjM+;wT4K!YaIs&wE07G{2T8;vA^uzcwWRU@C3z|u4 za#+=~JirZEF%3ND;(N}rc>U!$(;ZAbv+Q@PLXpyigc8EYNT0aCA*=m&Z37->hsDJT zY<{gKIyQIKqi3L4ScSRq<~GBLInW?(Xv`z|ft zWr}|gx{eo~t#!V!w`Z&EP{rQ7;Bdp%ZhPS4%%IXjT z*yE2R>bCPz`NP-Blt1&aCWabx*t~QwLAi0Jztn#8=S_0o(0f#pCwocF>5yBwiDr6za}gN@hpKvQ2n*No@F}~y#@)@= zGU{VED*#__`63E>-!@X0g{x$H^LhQsIJnN5evNuu4ixHXif(s`zju~eVg*??*?kq zXFGn9CFf5!Ph_ndrfd)1d97C!^B{mxMv-TZ|8Rd4N}n z_5CJllBqrGKA$;4e0b38M-li2m#%5pEb*%Yu2B)`BsIa}e&<)F;AoVg7s zND1+K%G&8N{*W>#pxlF@eTZ9>Ud~n>G-QIz-s^U54YY9=Hss!5uoX8-57*R5+I4!* zw1Sx|=LiFJ%e``C{uIb|Zo}~mLl)6gz>aSKmAjQU5s=-ZD~?>f-w5hTlx}D9V`5j7 zLOQal05iA(Gvt(siHl80&UK*-8HIvO4zkXeNKfQ46z6}ssDjvsOE1JsaG|9nwqUdww5jL7B z_DdKjmSs#$^zsGPifwPkBc-ohMz?-{d<@uKn+2(B{~~t(X|*+*jfnN|dTk3v)`X}! zTUUhR#`QjO0)O=FC(W#>WW8sl^a3C`)MzF(JwZTtAfb)@<0i8u<4p2J7QhvZh9US5 zt^c0ofAYl>iTA#qkEX`>@diuZj`QE7odPxYTV`}n%M4w`2L``5RQqX4fTEGyq`iZUibB2%<0t|bIL`o5x;1UQ1+3Q zr}?-NtZ!l01z4Ddyy?5ZH%ILJ2v&$S*-5MbR4iPiPK8l((M^5ivZUL3rhSRt{>F*b z6%O^cpjbnhGc3Tb#XN3wXwgD=RyE}(D-P_QZS7y{&y{@PKdJL&vrm{lOajswiK zXe7vT%BW8nRo-5h)V3R{5&nwasVg8baL&k%SbpBEn16P~%u>g6$QRJCQzO}XiAn@6Im$jt#s0gl(@?mmKP6S~FYr4b~Cp$w>f2i_dt&`tI>-C}lyjDUO|}gmM+8LDpc$cp zaFI$kq5@Lt1f0|eMaFO<-2NwxY{eH%CN!rG8X}-k9(3i-)TJ?h+F8^d z?j|cEny2uak4qS2vJSDzIaU(WH*~+xUaJ0k-M;pd;;gMI=Jj7qV}gg9|`Z&dM4d+5yHhLu`b>dhtdR=W$m0-l_-j*ScUo9yq%5f1N6^HlvE!u!c_U-bAl24k$K zPb9$A5F`fqrXp%cTd9710)Ttuw0=ox=G>l<56}4L`}7O1D?9Up@%1^|4W`4g>h#&D zF$@ONOQq)X)v<@mq~acn=G>TlV%{)zzN3}kiMjPfzRd|T_7%PL@tE_peKfv^+ow@+ zY)1EhMoo%i9{8^>_#m*ZT-F`9BAy0i3E4oyIWL2k5m1Txbm6l-@@cHNq|*s+#}oY z48qmy1`-Hd4BQNB)woAY1}Oocd=DC@bg2@fljU9&Q5`r}13OxKa<^RuC}cUL9t-y% zpN2vQBArR>h<1MLmfy+#{y%)U5CLwprr=apk%%FjbU8}d;i`D{Z3z_gb9E%lX9nhG1Sw#={-I47oet;@o5`*})TZp%OJ(AUBkaoPtdDm@*g$;NgK z!W?{)4@1`YN6{DjpUPP<*VuEpu^SX9l}na4t$5el{4mse?FRHc5VdQD)7mX*7H9}3 zhm~}vi*{ukf&^GCQ=PA&|Gwqky?clk>>B;$PY=L3SFbkEKGFMKb{1j4B|!qgv6>v&wkir{%e|RYt`;LwO`%SlJ;&X9 zw9(Xwef7CHm8dXl+A{8%lv{il?Lh%1(z#@>-giEzXE@>T;a|z+2Vt8%lcnhPqwlkE$A1&`)aiB8x)hx6}sxD6t<`1w!9i@4BK#%ye2L?4#0-wIK&aV~3TG*D| z|4*<7`8qeFlZ-)`ZK0_D!$zAF_D6QcrTg6nD|MrkWoyrj#pOnRatMk#&Jcj5G?&zZ+~hzF%(yTVjy5-lj0?Y>U(VD#asSFPo|WDIcC=|Fu!opi=+JS= z^C|sD!yFiQsgky2WdP%0Wp7PAw{noGugu82xntdh=DPXl2nnQMOH;_sN+R6CB({AI zC&?X0Ct<4}wnu57lsnNqD9s*SY?7dv#Qsu|-5r@x_E^e8Y=QU>EB3yWBt zqQMRAs0}7frpk#r)-B&=>zcLnhF<6OGd9yf=Di=WeK$8U@$!see8kvMw?%zL71HqX z14Z9sJ(-K27+Tl%_j7IRbpJKC7>QfEO8+DyvRgT>OpseU(V=(SFRbggq#U->#$RTVnS*#3A_2H4tm`q`&=pvOFAm5=kc zYj0rjr+Wj-)4jpl-Vzp+MC!vgN8W_!5@&&vq30zvnRv&}q^dgae-<`@ce||s^j;ZT z;hs%}sKL+&qx6#i1!0tnFyz^TwD<(F@hylN>X` zc*&@=x0<&Vx%d?nc3-@yH=tVSpk(6qE*zKjvY)EXdR#=GD&O!P%-dHjGx3e)UY6XK zg>*99w#Vi4r{(V<&HDa=l$3!Z5ZG=Ye^l9d(nSC=e zpPRS?39Jx1#^KS{-{9YPOB)J!1zn8ttmS({M`&j2hclXW1C&5%nrQ@Mv8<$q;rI2# z0;RsW{+hECX-pC{%##k{vz9>157#Y|P%PE~mY&*Qoq=C-iObLS{I1xgzvuyIvx5v) zftFwzcrIhx_M`=_AdtH0If0;9Z4w`0LDlVlA5hG!BoBo`6~HbK^M7EPIl_xmce1BN zUlon$dvnl8j?wf>?HGxgdiz%jqwKEThu}ry-llJl8vBWPob|N-L_uM;R!B|mI`UD_ zgwi_fJV^hMLwr1xoGU2bFT=`UTQ=kg!I#^7jyrh&HkjVm0(>B8ohA?fU}A4>TwS?Q z^~yp-wJaj-0cxrgA^k=nN?cUVEL9;YJCURb#Pk0@;&Ee zWwhnAWJj&5up?a{-Un8#)h0I1q~{HVx)cGCBSvXmKNEH~(t6*4*eS5U7}>>Sy^UPO z@H&OVq9;I!LT)vUzxh_q0c%x=a-;#ej%(1{+yj7NDNs8cD_q{=<#d8133?V?qOkIj zV?`J&1;4CtpF_NFo1W!X`6J%Zmt}J(gj<-Ytw{*1CejpT4Lwlx`Ff1}oj-+9+E19y z1dp*YazCx&CTKZd=j#c1Dpxv-tZ=onlxQ$S=A_)dysoMI%E2PImm@X%iTi z{g&(h-s@gkbs{Y^od(8etrC1Lz?Flq^%F6aKEZ{A&gD`&iHz=gp}1YZPdMa)X%Xa3 z$F)aG`aIAIkT&~YKyXk`+Cb0>hq~_yiTa2ppCH5 z27tRfn=Tn@PPb+~c`krg)ipUYeBKE zqj=Mf9-cjMx80rt&o$AaMahG|$xJgSrVwb&(Wy92cl@c2o3@8|gL+i0eBsP|y9ZVz zRnk;y{V0>_3Al&*ml6AA!LHR3fqZl}ie1VF36H7n%q@-*)_x-G4ZWYV^ZDk-xw#Om zVoPZ+`U@3>Cq2o$*dMvA;9@3bAhoyQCgNb3I~_h}DnE2Qf3t zhIl8HitfBh`giW}r{gx!0%qbGBKH;Xva6?E$_*9FY&=^cFc-KjPZRK^{=U9BS72W0 z$~GLKf5l6+$fFXlGaB5}`XErgC|$3fzkC2_f=WrssLhR8g?T#eqt90Iph8{8u4%nW z(mXsO!+0R4l6jsQl%>}hGI~|O6gqMG;Ah83zv~ecFf1RUQCv)Y3Gp70@cCvfTiB+X z{V?J>U?Hj`9?5a>`~01^zD_(B!i<9T#e6?+?8I#%x4>A7tMvt0e){BaJjGHP| zBZlqHbK|#WzV87Z-lIXVRI{Aby9Hao62%esFV}SKo~5?Q$BwbtzZhmb&Ra zB9{qXG~9az(jI7KAD*1QlDdD=zmVQvW0K_r>-R**paRNHD#*ZR2`hy+yztc=L zHjz(Lj7`F1IP+%3AVS zzAWZ9S%o6k@>%^&a-@2s_nz#o(mjC=Z=Z%Ez>!PmlH`9-VPzz;a5&(@tj<{mWPu)3 zLzSA8n+0?04TiId?yf;O9hp`}NrNB4pYi)NlSu$0^2 zCCsNMUbY6%-4W~9e*7{qbU-mYqkqY@9u8xpo#==fs4jGnrmHrW(1g~RW|13)DRma4 zKTK?c*ot4<&_uM>2_Utd#z1Dlx(s77SbOhPHWk7VI!$7p_NaAlzCWmF&@a{zBMMr= zFrm~}qQHV$-u^x0F&;Mwcn22m-2Pm9{rHE}E}!|3b}M=diet=OHmx~Y^vV0kXx zJ`upxoJ)aEn`JWFCF5IJ2|TPn_foFypugwa85_%dg$-|ixfZGrHGG(Sl^|n4ZkUAT zTx`%H>8BaoD+OlhVx!@-)>!47k`sj9@rDr#=(go_n8vn((hGWOlBxC9WL{&AU8fOG zKvM%4va860++u#6OY%Q(@7*~<1$2O|>^#3H^m_ivS|10|RS9~<)`XWSEYsLeGSFdb zm0Ib*qwc3Gv8E8LzG>8j%ydUzdqVo(WdshSPI@v zTred_bdt$q5FUrI9q{E8@#)c1lyO6C34thsu6BUrP7e6~fdtXQz7g!*i~~8!$YNN; zI?8!_vFb0Pb^@$Wxtj0* zta!DBN!$0roD;LAFPXDwCT7K;bo~_}Ofidzr-31(L?v*TLu~4QuqZQhi-p3T<@)(e z8s?{c?*PB7Je5*}O+PtYH!8?wfvWte^-dBZc!X$y$%G?+XTc45BCylsyt{9V7_ zi2U{-oc$*NPcHbXDaUR4stwj(#5;lV7t3$aon6*|qyaC6U z2!ITV9-0ZKOSojX4b*;1^jxhfFSE!;a)66{;DtoV6|vXz%|Js%jRC+(=$NOsIT(#n zIsCvLd3{7$LOcwX3)*q)2@8sqbh9_QL`hq3Ktq+3 zJ@W64 z;(3jFUypfLrRWnvEdnFx!@w@Qo-ow3Zv0#U5%io?(AgcTu%QA2+mY{h{J9@9ORjys zf;yLEm98wfwf~dDM9fL`JZ~JpP*H0-CqL?vZ6-Ln;I*n6h98~^)%A^<{plNW$IgB% zwxPZBh2>Ej0dD_CKTUCqBHQOf-=At($z=#%;jO09WIyxv#l)nAv;Q=;yL2{^a5V98cM?dD6u+ zCGFnh&9wdEpdE2$w3pPz=KdU4-myZ`Ih0BFN1_He*Vq0UnDoM)?|~7$2qv-Oas)DM zyZ_!BYg(QBSo0#7t}xsLZ1=M_(j2Rj63X=Vy38l+d0i1pJ>fjeP8Ynecqe_;+L}VI z?(uE!OyLR=8G~V#O^?l%8&eSiPrWSf2NcPUm*O-F>gliU6#Uo)rzhd?msQ-cLuTK2 z@k)rLcZ+rms60J8X$cJnR*?2rfV7tysY90yPD+z)EvdMawV~z9HxaFoz zy(+}Vt#RoMw+|l%4g?P0jl4&8;T$`%!gXf?zqqihJYyIIJilKcp>+hJIay2(pI>CV z6)$eLB~&$Lz}<+QSr4+ECJ8<{8Cmiy*Jktj<^SFapQ6}k{igN92vh}|@l5)fLvQYi zf5;6yeJ%I$S`?m<?1TMM zk^EztJxV7T!p~?W?Kf!#ATCrUt3b;r9yRf6zQ5_3uTbRLpyKOWqDEYeUA&@Jmco&R zd31ib6R8;DrIovzE66XcRh{_wN?owtD?PAx_xS literal 21053 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 QD9re*(01lErk4`_2PNi;rvLx| diff --git a/tests/ragger/snapshots/flex/test_blind_sign_rejected/00003.png b/tests/ragger/snapshots/flex/test_blind_sign_rejected/00003.png index 68b268c9f88e4571d18d6e67d5d4af8ee350d030..fdf1457d2ad976124bef85c866bef939a98f08b9 100644 GIT binary patch literal 14510 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 PWHT}_yH#=H@r(Zj-Ag(M literal 6964 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 diff --git a/tests/ragger/snapshots/flex/test_blind_sign_signed/00002.png b/tests/ragger/snapshots/flex/test_blind_sign_signed/00002.png index cf3b20e5b3b494f2cf16b6d562c7a62b326039af..783bb5b6d5b06e4e0811c64a76bab0c910bb02bb 100644 GIT binary patch literal 24507 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 literal 21053 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 QD9re*(01lErk4`_2PNi;rvLx| diff --git a/tests/ragger/snapshots/flex/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/flex/test_blind_sign_signed/00003.png index 68b268c9f88e4571d18d6e67d5d4af8ee350d030..fdf1457d2ad976124bef85c866bef939a98f08b9 100644 GIT binary patch literal 14510 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 PWHT}_yH#=H@r(Zj-Ag(M literal 6964 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 diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00011.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00011.png index cf3b20e5b3b494f2cf16b6d562c7a62b326039af..783bb5b6d5b06e4e0811c64a76bab0c910bb02bb 100644 GIT binary patch literal 24507 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 literal 21053 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 QD9re*(01lErk4`_2PNi;rvLx| diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00012.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00012.png index 68b268c9f88e4571d18d6e67d5d4af8ee350d030..fdf1457d2ad976124bef85c866bef939a98f08b9 100644 GIT binary patch literal 14510 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 PWHT}_yH#=H@r(Zj-Ag(M literal 6964 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 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00002.png b/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00002.png index 0a6a8234326e5dc018c24ec18fd28da1e89de49a..a6dd2f97d63a1ecc82dbdc51b512274b5aca6cf7 100644 GIT binary patch delta 448 zcmV;x0YCn%1KIO7Ag-xgX{tw)X_QH3jO`A{*T!40mXyu0Kn1UQ zYnpo60bqDVD-zu%WjEng4nP7QY5jYmnA)ws8TY|SJPV!V-N={HT%5W<-KLO8R%YhW)nl&Pwgj|FO}+{}1tA5&Kdp~nI06lF{>Q9|0C ziR&U4^T;9xvlgkYFDslc#+inj8#jf4CWfG?t3rD@x;dkm?9{O$0RMa#VUD3ShnZe% q5{}a}BV3B=>*F|%<2a7vK>h#&t6+m97yrKi0000BL_t(|ob8$04#OY_hS{>c{{!!0yJ%vpASh~S*Z;d(3<4EA zz=!|<0Nj;FjM?vJ@5Otj=A>=2QYha9k^{N$L^sY(5r7q%w;zQeZnuy>oL7idfg&Zv z3{8kBTyUdwcA#Wp?YB8-s^v<|>FbHx0Yye1V=*_Bwp!?3iGK?KjtC+mdPX~NcTRH& z=d|3h%0zKWF@D}>XwYkH8gBoO`EbL^)mNWR9{|nJAFTdW5SALNe=vwaBshg4*)KBd zhVs{#*i)=)Y<d~qtm;<)=O`X0M2%|c&C#q8UN)|FF1D#GT~-KRAcPo zv1)rNv&rBzD_sx=0gcL&$NTkF?>?yRGL;hSTu``}nr6{6{C`JdMFzCOa$?_RmkYa@ zjKj|YnbGW~Opo;0W5>n>9#3}!^|CMxe<1@b#2D~f7!%8>6EoxV07%<-4_ZaJx;7Ib z7xJP{EmL>9035bxtV1f??&tk*u>c^3xAgusp}5+;e=yr} zWYQoQVY)pkAAd`w){YRb&yik}>d8ZwT96-Q7X|zQtFkGk%~|dCv-ZpRSnCLK^GPnfO(at?^G-z_p-GOv&U9G7UyG;Sl5oe zGH1s7gJ5TXY`F6u0?Uf8o&oKL)sBpzNe6X@6(m_%qWkP}I2;a#!{PXU_ysQHaEXQR R{3HMX002ovPDHLkV1nOk;qd?f delta 418 zcmV;T0bTy}1H1!}B!7cRL_t(|ob8y)62l+}MQx}3{}1k>U1Y{d5bz=~Bq?Xr8hJzz zBc&usk|h7iBgX9av-RS=r{+alH9?dw6WXU$@Gl?%n5ua_qCB1FlFBQ@Dg#MLHbX0H z3MU5eJY_RfN?SII70rnFWa4%J$>@1jq$*#xTIe2%3%~)d9e=&J2+wE-rg4SUFDE*L z*9@Pri(q?hlkp-P@}~$`(AU^*4Euk~i+8MCef7)f1E3kY!RlWHW~p=a4<=&}Nmijq zwu{_!L#59+Wm=sn^=%|oic~Aejl)9Ti=6{iEBe z)VoHA6ygjh+kb7Qf_7KfZ^CTu6TgulgNb0h9C_|j9$9H4>gm|I2_x6V_L3Qh6}raOO5))lr`-TR7ToJ)f-|=Y9v4O3XEAL#XnZNDz9Bja0qf>A7X8d z5ZO>Hj`-K^&f;Jh)qz`yR}csQduq(1eZDMQbRr+j?EpNj)h*x>5JA1_{)4v^fxoVO zFLqKqIHQ3a8s)zW5@Z0Yij@Lt9##NIwk4Gua}wZOcSL6J6086$suBJlPEOC(4l zEGa+;A!Jq_F>b$~?I_-7_Pq2~T!_vWgSxdmI0YgAu05}RF&^pe-)Ie=IjrKF^Gh#P$b()uBxHlYRssE z)~;KpWy4ZvQ1w|fN=)!S9>$AZyXIrpY79%m%lg*1Xm#aG?vrqelaVhGCt;6Da%Z3A zj6FeU8yqe*_eogpE-d+$pft6h{x`puR7(>8RhFolp(S9h$?!krYuTr2%34kKSoVm^ iSQ$zPA%qY@002Ka+TylE!E{;x0000K^Rd&AQFUhe(*lmj{1ZqFmXgN#Fya?Xafk+&^nVDj`~>t;b5%3gas6JZ zhPbbuFmAZ(j7Ryb*&CASDL{Q3z-7GI{sh#BKEQ)lO4cq!WV~7H0J$sNg0*zqytX+7 zzJPUU>N2yX#rW!9JX-)ekQWe4wbXDW<7`5#sLUw zwlPNkfyoX~3-@YgnUvKuJ(j!WjPi3rR+??jP6#1{5Ew$7_yGCPNzkcV@jd_m002ov JPDHLkV1fpY%4z@r delta 270 zcmV+p0rCF01E>O!BYyzzNklfX#!FSoU+koCI(&SEn@?+Rk^rvalD zlo)`Q@QCh1cQWmo02^>JR{mCpfPo<>7#a`^a0oh?1LoAC=`}8Ygb+dqAz9b~f1iC? U0V5-h00000Ne4wvM6N<$g7&g@f&c&j diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00006.png b/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00006.png index 424902998fab3fffa73eaab797addbce378d4b14..0a6a8234326e5dc018c24ec18fd28da1e89de49a 100644 GIT binary patch delta 402 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 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00010.png b/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00010.png index 861f858ef407b03d6c1020ecba59972473d37a97..bb4b73f5cd7ea51d239d15deffff489bc98f135b 100644 GIT binary patch delta 438 zcmV;n0ZIPL1JDDIB!8DlL_t(|ob8#*vcn((%bx*GDGy}vWz;$BdgRV7b zAR=ewX_ei@AAkR)n4ANs?}7=n$qV-Cq2)&9v2Y>sz31S`wI4U!0~5J81(97K0!NhHYni{|Da1x^Ty1Af!zN*Z5CnuC z3IPBBz+Ks_9mx2+50~4kN+pUVU7{5Q_-axF6q1Hk;rx!W+GJ%UPiqG%kg6LDfz+l_ z(fm@^)z!h5%LyPi^;Jn=IuC0H?hXUNf*f9dk;$iWQ@;-)I_2#`GPL3g0Uh38?=JD+kf~19{u=gs1-jQWxfPg>em< zTOZ8y1dtw`qC{C)q&)f^^I@?)PEP0?~E_&igM#?#L~IOHR(-<@sYotiy&C*Y&G zII0yeh-p3zW9cv$Q0k>6Y_)5~SfP=mSMUtz)%Ex|-o}7!H9hbQ(8{%C?kQVa?C`*U zj-J(h>P7(Y#xl^nkBhIt`kQe1WT9~g7`&Ns0r)K_0Og4C5BBp0_v3}4{b+)F00000 LNkvXXu0mjfc^a13 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00012.png b/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00012.png index ce795f34e8569e986af689fded3b59c9a8af2961..cc968dc82dc50168f67edb4aa9f28272fea8e868 100644 GIT binary patch delta 347 zcmV-h0i^!j0`>xsB!4|gL_t(|ob8#>4uc>JMRA$`|G_@E2NFhrmV%U`-jh9O#WHR! zgyI|k0D!l$S$2LN&N;X3oTbTCpu>X^U+X_Gj{Arnvv2_7kJ^iS9_fY9Lui~>@&@n1 zk3Xo8+$PP67kL}WTa2IS+#~}$+s-W##f+)?6eg1z3j~0Xm4DKa^3!T*n$UFkSasZk zS1JT-6vG|1us{YdT+t<#)qmi*WyM8!fpzK0ROE&F6Cg!~`qL;#4fQ937+8W?$P(Rk z_&ol<+(Oj=ik-&otB?4`61&7F(~A)GPh37){w+z_M_410L|0xo8m-{1cEYVtHHN<0 zgU)76VJ9ryUQ}u)<5>08PzZoTsKL2g$ tlOGZUz4Ax=K}}zG*L?y200000njfyO@S34eNCW@?002ovPDHLkV1i>ArH=pr delta 322 zcmV-I0lohA0^I_TB!47HL_t(|ob8#-62c%1gsEfS|A9T|fw6-G0=6YAu-~c0@)I@* zLv)T1LI|CfH^_}!yz*BZkv^2=?Hdxc{A*JQ7n8RtPp zK=N5{Easxhaf*%Yv5kPk2P1#Has1IRPeHBs$cs9T66OLVbARr_7zz;OoG=T?BQe() z5gxob-#-pvr56zPj+vZs*7zvc)y3?k1aOLJy=-1h0GG6GZi4}#20ekxLQ8>o4!52c z$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4Es9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}l9*&iR8Ge zKd*A#g|hts1o|(tAJgmv6vU#_lk8afitw!TM{oVTdc(X*wMGI)mQ_&I7PTvEZ%EyQ zd6hV4Se@(%bx*GDGy}vWz;$BdgRV7bAR=ewX_ei@AOEG8oCB!uf(fO#YO-C002ovPDHLkV1fds B&@})6 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00014.png b/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00014.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7e7049cb3e9bcfb1601ec510ee465d38229d4d GIT binary patch literal 340 zcmV-a0jvIrP)b=%MgRq*37h4eRxPbkJCLY|1VIo49_}P}TKpH4$L<8?X{t;p zy+UQc_4@p%0?~E_&igM#?#L~IOHR(-<@sYotiy&C*Y&GII0yeh-p3zW9cv$Q0k>6Y_)5~SfP=m zSMUtz)%Ex|-o}7!H9hbQ(8{%C?kQVa?C`*Uj-J(h>P7(Y#?ZWvi?6}@n{fGLp>YTp myqR(V_$?>^<%seR_VWh!O41}p;-~WL<=z+0=1Om1tEU@3H#qtw22}5*_5JCvCo4!52c$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4 zEs9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}_*k1^mvtO~`RE00000NkvXXu0mjf-kqOA literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00002.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00002.png index 0a6a8234326e5dc018c24ec18fd28da1e89de49a..a6dd2f97d63a1ecc82dbdc51b512274b5aca6cf7 100644 GIT binary patch delta 448 zcmV;x0YCn%1KIO7Ag-xgX{tw)X_QH3jO`A{*T!40mXyu0Kn1UQ zYnpo60bqDVD-zu%WjEng4nP7QY5jYmnA)ws8TY|SJPV!V-N={HT%5W<-KLO8R%YhW)nl&Pwgj|FO}+{}1tA5&Kdp~nI06lF{>Q9|0C ziR&U4^T;9xvlgkYFDslc#+inj8#jf4CWfG?t3rD@x;dkm?9{O$0RMa#VUD3ShnZe% q5{}a}BV3B=>*F|%<2a7vK>h#&t6+m97yrKi0000BL_t(|ob8$04#OY_hS{>c{{!!0yJ%vpASh~S*Z;d(3<4EA zz=!|<0Nj;FjM?vJ@5Otj=A>=2QYha9k^{N$L^sY(5r7q%w;zQeZnuy>oL7idfg&Zv z3{8kBTyUdwcA#Wp?YB8-s^v<|>FbHx0Yye1V=*_Bwp!?3iGK?KjtC+mdPX~NcTRH& z=d|3h%0zKWF@D}>XwYkH8gBoO`EbL^)mNWR9{|nJAFTdW5SALNe=vwaBshg4*)KBd zhVs{#*i)=)Y<d~qtm;<)=O`X0M2%|c&C#q8UN)|FF1D#GT~-KRAcPo zv1)rNv&rBzD_sx=0gcL&$NTkF?>?yRGL;hSTu``}nr6{6{C`JdMFzCOa$?_RmkYa@ zjKj|YnbGW~Opo;0W5>n>9#3}!^|CMxe<1@b#2D~f7!%8>6EoxV07%<-4_ZaJx;7Ib z7xJP{EmL>9035bxtV1f??&tk*u>c^3xAgusp}5+;e=yr} zWYQoQVY)pkAAd`w){YRb&yik}>d8ZwT96-Q7X|zQtFkGk%~|dCv-ZpRSnCLK^GPnfO(at?^G-z_p-GOv&U9G7UyG;Sl5oe zGH1s7gJ5TXY`F6u0?Uf8o&oKL)sBpzNe6X@6(m_%qWkP}I2;a#!{PXU_ysQHaEXQR R{3HMX002ovPDHLkV1nOk;qd?f delta 418 zcmV;T0bTy}1H1!}B!7cRL_t(|ob8y)62l+}MQx}3{}1k>U1Y{d5bz=~Bq?Xr8hJzz zBc&usk|h7iBgX9av-RS=r{+alH9?dw6WXU$@Gl?%n5ua_qCB1FlFBQ@Dg#MLHbX0H z3MU5eJY_RfN?SII70rnFWa4%J$>@1jq$*#xTIe2%3%~)d9e=&J2+wE-rg4SUFDE*L z*9@Pri(q?hlkp-P@}~$`(AU^*4Euk~i+8MCef7)f1E3kY!RlWHW~p=a4<=&}Nmijq zwu{_!L#59+Wm=sn^=%|oic~Aejl)9Ti=6{iEBe z)VoHA6ygjh+kb7Qf_7KfZ^CTu6TgulgNb0h9C_|j9$9H4>gm|I2_x6V_L3Qh6}raOO5))lr`-TR7ToJ)f-|=Y9v4O3XEAL#XnZNDz9Bja0qf>A7X8d z5ZO>Hj`-K^&f;Jh)qz`yR}csQduq(1eZDMQbRr+j?EpNj)h*x>5JA1_{)4v^fxoVO zFLqKqIHQ3a8s)zW5@Z0Yij@Lt9##NIwk4Gua}wZOcSL6J6086$suBJlPEOC(4l zEGa+;A!Jq_F>b$~?I_-7_Pq2~T!_vWgSxdmI0YgAu05}RF&^pe-)Ie=IjrKF^Gh#P$b()uBxHlYRssE z)~;KpWy4ZvQ1w|fN=)!S9>$AZyXIrpY79%m%lg*1Xm#aG?vrqelaVhGCt;6Da%Z3A zj6FeU8yqe*_eogpE-d+$pft6h{x`puR7(>8RhFolp(S9h$?!krYuTr2%34kKSoVm^ iSQ$zPA%qY@002Ka+TylE!E{;x0000K^Rd&AQFUhe(*lmj{1ZqFmXgN#Fya?Xafk+&^nVDj`~>t;b5%3gas6JZ zhPbbuFmAZ(j7Ryb*&CASDL{Q3z-7GI{sh#BKEQ)lO4cq!WV~7H0J$sNg0*zqytX+7 zzJPUU>N2yX#rW!9JX-)ekQWe4wbXDW<7`5#sLUw zwlPNkfyoX~3-@YgnUvKuJ(j!WjPi3rR+??jP6#1{5Ew$7_yGCPNzkcV@jd_m002ov JPDHLkV1fpY%4z@r delta 270 zcmV+p0rCF01E>O!BYyzzNklfX#!FSoU+koCI(&SEn@?+Rk^rvalD zlo)`Q@QCh1cQWmo02^>JR{mCpfPo<>7#a`^a0oh?1LoAC=`}8Ygb+dqAz9b~f1iC? U0V5-h00000Ne4wvM6N<$g7&g@f&c&j diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00006.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00006.png index 424902998fab3fffa73eaab797addbce378d4b14..0a6a8234326e5dc018c24ec18fd28da1e89de49a 100644 GIT binary patch delta 402 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 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00010.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00010.png index 861f858ef407b03d6c1020ecba59972473d37a97..bb4b73f5cd7ea51d239d15deffff489bc98f135b 100644 GIT binary patch delta 438 zcmV;n0ZIPL1JDDIB!8DlL_t(|ob8#*vcn((%bx*GDGy}vWz;$BdgRV7b zAR=ewX_ei@AAkR)n4ANs?}7=n$qV-Cq2)&9v2Y>sz31S`wI4U!0~5J81(97K0!NhHYni{|Da1x^Ty1Af!zN*Z5CnuC z3IPBBz+Ks_9mx2+50~4kN+pUVU7{5Q_-axF6q1Hk;rx!W+GJ%UPiqG%kg6LDfz+l_ z(fm@^)z!h5%LyPi^;Jn=IuC0H?hXUNf*f9dk;$iWQ@;-)I_2#`GPL3g0Uh38?=JD+kf~19{u=gs1-jQWxfPg>em< zTOZ8y1dtw`qC{C)q&)f^^I@?)PEPCfH^_}!yz*BZkv^2=?Hdxc{A*JQ7n8RtPp zK=N5{Easxhaf*%Yv5kPk2P1#Has1IRPeHBs$cs9T66OLVbARr_7zz;OoG=T?BQe() z5gxob-#-pvr56zPj+vZs*7zvc)y3?k1aOLJy=-1h0GG6GZi4}#20ekxLQ8>o4!52c z$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4Es9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}l9*&iw%!jC_wklZHCiWhks$yD(j(JloDK z62*+E`V=OU8Vdw~k(JVs^3!T*n$UFkSasZkS1JT-6vG|1us{YdT+t<#)qmi*WyM8! zfpzK0ROE&F6Cg!~`qL;#4fQ937+8W?$P(Rk_&ol<+(Oj=ik-&otB?4`61&7F(~A)G zPh37){w+z_M_410L|0xo8m-{1cEYVtHHN<0gU)76VJ9ryUTP=fSoPIV2!L>S`9at# zdFT`r=4R8Ge zKd*A#g|hts1o|(tAJgmv6vU#_lk8afitw!TM{oVTdc(X*wMGI)mQ_&I7PTvEZ%EyQ zd6hV4Se@(%bx*GDGy}vWz;$BdgRV7bAR=ewX_ei@AOEG8oCB!uf(fO#YO-C002ovPDHLkV1fds B&@})6 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00014.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00014.png new file mode 100644 index 0000000000000000000000000000000000000000..ce795f34e8569e986af689fded3b59c9a8af2961 GIT binary patch literal 349 zcmV-j0iyniP)O41}p;-~WL<=z+0=1Om1tEU@3H#qtw22}5*_5JCvCo4!52c$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4 zEs9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}_*k1^mvtO~`RE00000NkvXXu0mjf-kqOA literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00014.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00014.png index 0a6a8234326e5dc018c24ec18fd28da1e89de49a..a6dd2f97d63a1ecc82dbdc51b512274b5aca6cf7 100644 GIT binary patch delta 448 zcmV;x0YCn%1KIO7Ag-xgX{tw)X_QH3jO`A{*T!40mXyu0Kn1UQ zYnpo60bqDVD-zu%WjEng4nP7QY5jYmnA)ws8TY|SJPV!V-N={HT%5W<-KLO8R%YhW)nl&Pwgj|FO}+{}1tA5&Kdp~nI06lF{>Q9|0C ziR&U4^T;9xvlgkYFDslc#+inj8#jf4CWfG?t3rD@x;dkm?9{O$0RMa#VUD3ShnZe% q5{}a}BV3B=>*F|%<2a7vK>h#&t6+m97yrKi0000BL_t(|ob8$04#OY_hS{>c{{!!0yJ%vpASh~S*Z;d(3<4EA zz=!|<0Nj;FjM?vJ@5Otj=A>=2QYha9k^{N$L^sY(5r7q%w;zQeZnuy>oL7idfg&Zv z3{8kBTyUdwcA#Wp?YB8-s^v<|>FbHx0Yye1V=*_Bwp!?3iGK?KjtC+mdPX~NcTRH& z=d|3h%0zKWF@D}>XwYkH8gBoO`EbL^)mNWR9{|nJAFTdW5SALNe=vwaBshg4*)KBd zhVs{#*i)=)Y<d~qtm;<)=O`X0M2%|c&C#q8UN)|FF1D#GT~-KRAcPo zv1)rNv&rBzD_sx=0gcL&$NTkF?>?yRGL;hSTu``}nr6{6{C`JdMFzCOa$?_RmkYa@ zjKj|YnbGW~Opo;0W5>n>9#3}!^|CMxe<1@b#2D~f7!%8>6EoxV07%<-4_ZaJx;7Ib z7xJP{EmL>9035bxtV1f??&tk*u>c^3xAgusp}5+;e=yr} zWYQoQVY)pkAAd`w){YRb&yik}>d8ZwT96-Q7X|zQtFkGk%~|dCv-ZpRSnCLK^GPnfO(at?^G-z_p-GOv&U9G7UyG;Sl5oe zGH1s7gJ5TXY`F6u0?Uf8o&oKL)sBpzNe6X@6(m_%qWkP}I2;a#!{PXU_ysQHaEXQR R{3HMX002ovPDHLkV1nOk;qd?f delta 418 zcmV;T0bTy}1H1!}B!7cRL_t(|ob8y)62l+}MQx}3{}1k>U1Y{d5bz=~Bq?Xr8hJzz zBc&usk|h7iBgX9av-RS=r{+alH9?dw6WXU$@Gl?%n5ua_qCB1FlFBQ@Dg#MLHbX0H z3MU5eJY_RfN?SII70rnFWa4%J$>@1jq$*#xTIe2%3%~)d9e=&J2+wE-rg4SUFDE*L z*9@Pri(q?hlkp-P@}~$`(AU^*4Euk~i+8MCef7)f1E3kY!RlWHW~p=a4<=&}Nmijq zwu{_!L#59+Wm=sn^=%|oic~Aejl)9Ti=6{iEBe z)VoHA6ygjh+kb7Qf_7KfZ^CTu6TgulgNb0h9C_|j9$9H4>gm|I2_x6V_L3Qh6}raOO5))lr`-TR7ToJ)f-|=Y9v4O3XEAL#XnZNDz9Bja0qf>A7X8d z5ZO>Hj`-K^&f;Jh)qz`yR}csQduq(1eZDMQbRr+j?EpNj)h*x>5JA1_{)4v^fxoVO zFLqKqIHQ3a8s)zW5@Z0Yij@Lt9##NIwk4Gua}wZOcSL6J6086$suBJlPEOC(4l zEGa+;A!Jq_F>b$~?I_-7_Pq2~T!_vWgSxdmI0YgAu05}RF&^pe-)Ie=IjrKF^Gh#P$b()uBxHlYRssE z)~;KpWy4ZvQ1w|fN=)!S9>$AZyXIrpY79%m%lg*1Xm#aG?vrqelaVhGCt;6Da%Z3A zj6FeU8yqe*_eogpE-d+$pft6h{x`puR7(>8RhFolp(S9h$?!krYuTr2%34kKSoVm^ iSQ$zPA%qY@002Ka+TylE!E{;x0000K^Rd&AQFUhe(*lmj{1ZqFmXgN#Fya?Xafk+&^nVDj`~>t;b5%3gas6JZ zhPbbuFmAZ(j7Ryb*&CASDL{Q3z-7GI{sh#BKEQ)lO4cq!WV~7H0J$sNg0*zqytX+7 zzJPUU>N2yX#rW!9JX-)ekQWe4wbXDW<7`5#sLUw zwlPNkfyoX~3-@YgnUvKuJ(j!WjPi3rR+??jP6#1{5Ew$7_yGCPNzkcV@jd_m002ov JPDHLkV1fpY%4z@r delta 270 zcmV+p0rCF01E>O!BYyzzNklfX#!FSoU+koCI(&SEn@?+Rk^rvalD zlo)`Q@QCh1cQWmo02^>JR{mCpfPo<>7#a`^a0oh?1LoAC=`}8Ygb+dqAz9b~f1iC? U0V5-h00000Ne4wvM6N<$g7&g@f&c&j diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00018.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00018.png index 424902998fab3fffa73eaab797addbce378d4b14..0a6a8234326e5dc018c24ec18fd28da1e89de49a 100644 GIT binary patch delta 402 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 diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00022.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00022.png index 861f858ef407b03d6c1020ecba59972473d37a97..bb4b73f5cd7ea51d239d15deffff489bc98f135b 100644 GIT binary patch delta 438 zcmV;n0ZIPL1JDDIB!8DlL_t(|ob8#*vcn((%bx*GDGy}vWz;$BdgRV7b zAR=ewX_ei@AAkR)n4ANs?}7=n$qV-Cq2)&9v2Y>sz31S`wI4U!0~5J81(97K0!NhHYni{|Da1x^Ty1Af!zN*Z5CnuC z3IPBBz+Ks_9mx2+50~4kN+pUVU7{5Q_-axF6q1Hk;rx!W+GJ%UPiqG%kg6LDfz+l_ z(fm@^)z!h5%LyPi^;Jn=IuC0H?hXUNf*f9dk;$iWQ@;-)I_2#`GPL3g0Uh38?=JD+kf~19{u=gs1-jQWxfPg>em< zTOZ8y1dtw`qC{C)q&)f^^I@?)PEPCfH^_}!yz*BZkv^2=?Hdxc{A*JQ7n8RtPp zK=N5{Easxhaf*%Yv5kPk2P1#Has1IRPeHBs$cs9T66OLVbARr_7zz;OoG=T?BQe() z5gxob-#-pvr56zPj+vZs*7zvc)y3?k1aOLJy=-1h0GG6GZi4}#20ekxLQ8>o4!52c z$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4Es9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}l9*&iw%!jC_wklZHCiWhks$yD(j(JloDK z62*+E`V=OU8Vdw~k(JVs^3!T*n$UFkSasZkS1JT-6vG|1us{YdT+t<#)qmi*WyM8! zfpzK0ROE&F6Cg!~`qL;#4fQ937+8W?$P(Rk_&ol<+(Oj=ik-&otB?4`61&7F(~A)G zPh37){w+z_M_410L|0xo8m-{1cEYVtHHN<0gU)76VJ9ryUTP=fSoPIV2!L>S`9at# zdFT`r=4R8Ge zKd*A#g|hts1o|(tAJgmv6vU#_lk8afitw!TM{oVTdc(X*wMGI)mQ_&I7PTvEZ%EyQ zd6hV4Se@(%bx*GDGy}vWz;$BdgRV7bAR=ewX_ei@AOEG8oCB!uf(fO#YO-C002ovPDHLkV1fds B&@})6 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00026.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00026.png new file mode 100644 index 0000000000000000000000000000000000000000..ce795f34e8569e986af689fded3b59c9a8af2961 GIT binary patch literal 349 zcmV-j0iyniP)O41}p;-~WL<=z+0=1Om1tEU@3H#qtw22}5*_5JCvCo4!52c$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4 zEs9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}_*k1^mvtO~`RE00000NkvXXu0mjf-kqOA literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00002.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00002.png index 1ac2ab07753bb344d9944b4c3935fcd2921d373e..07995577f8ee0657052eecb429f854ee160dfaf4 100644 GIT binary patch delta 944 zcmV;h15fSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6ec&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1fWCQHuZo diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00003.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00003.png index cdcc19d0524cb46d4a31a09ac011df7e8ba5c882..5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684 100644 GIT binary patch delta 543 zcmV+)0^t4O0=NW_B!B-&L_t(|ob8!Oj>I4g0Mo7c3IBf*f0+XkqVWO=OVTq{r-;QE z8w@zd0RR910I;3caU3zmsx*XfhcX`|tuAXa(!JR?#+Ylf^{V!z5ZNY6c&E}_QGRbG z##kqDa&P>^!?)u6GF(HE7Qm}>KImuoQa%LwSNq)MPw~NwU;#uUp;3X zSXGux$=j)u>rr*1I)L0&Ro`sivi2|*zO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCq zQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9slH3GG-*b~9>`ehHO0Dm*eZB zCw!@ejS!T3R)1F%2lWtEZwO_1GC{dxtj3ouWzC}hz$}GWN17vFhUMF%!dKG27FP@T zzf5t!6iomC;EQ=}8%ce>%Cw@BqG_gmWSwoaBp!Cs9rapwV4v-PXDzv(%565aUvVSFKRKY||jro%IuzUyfBlE** z`Q=oo6n-{Rt>7sR=-(6aoK*ML9(~4niUWF3qm5Jh71R!xI}J5E=%)<*WAj?<4xfK6 zgZSSmOBNjx4fB#A+JI?ftiKJ#)L4Hr_~1^6LU+(VTZ1_3{qdf_kci}*OPFe-v}*_R89l1GPID>U z&5QpIXugU1VTqk?G~Mc}t8bx)*LKd?H~J~U0u;Mq(MLQ;K7TnNN(#Df1W$6_0XjAJ z$$g~XEAE-(un;LoC*@s3%u}>KFcyYCcIN>A0Qh=&Pr#<{4$XRlS)wp+KqC}qjRi$oIg0x|6{`-6a8t7P!s*hSOZUFAy1sco(L}h000000000000000003~A YFD5;>5e*Ys8UO$Q07*qoM6N<$g3gGNMgRZ+ diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00004.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00004.png index d704566c063339e01841f374d7a8414c0510c7e8..1ac2ab07753bb344d9944b4c3935fcd2921d373e 100644 GIT binary patch delta 678 zcmV;X0$Kgx1-=E4B!7iTL_t(|ob8-ja>F1DMQNuy@&1>@Ui#sw$3<^s40i7MN+@7i zLJHhCEd>Ao0001h+xePpfJm+N{C3;6S(XgtXSM+bZ}t1Z_iO_K>^V_uJ(8pTA@!jh zR%7)5u>L*2-czJ$KN{Chpy!n!>hYaNxSO(i2E3l920+S;$A9tE0F?i==%L;R00000 z_*iT;)ZFLw$(CoqpczYBSToEP$uRcJtaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwh zbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LCP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i z`oC6%pQ!0OtABalav3W}OVV+Jx%@A$U?I8_(UV?bF>asq$ODk1%>cUeJOxKeQo4uh z3!CRNlQq>e%+p!AP=}F5PGC{rfaqj+|27y`!}~Xb7|aA!XeNe}5rd&n_iAdWvaf2k zQ;H1PoW-KzrLHovwl(HObxK7qQRZZCCncrm@}Bgx8h`z(G_4|M>QkBGt8QLqtf|*J zuY0ERB-~u4vD*`Q=jzBPWl=I?r9{-1W6`xBS~sYP`>}A5$8sb~JUV4k7G?32BP{?< zDb0^*aWsvbEV4dW0%~Ye=Aui+(?8>>kanQ00000@8<4b$}3tXdwPiWG!;{i1p8(ry^vKC zSrx=7qq1+67t&OtS^7tM?_ZBoeyBa-eCV9B`*{Bz*wSG(I)|HuWx*1(%D*b`-}(JM z8p(p6%{J8R>DgR<`X4qF000000Dw};FJ0{81JjCfLI3~& M07*qoM6N<$faqW}N^ delta 713 zcmV;)0yh1=1>psdB!8$$L_t(|ob8-ja>F1DMbl1q!v2@UUi#q~kE`e9VH47OzEVbj zB4MzuoxWa#5JCtcggnmIY6se=wThNf$`VihHMLfqiB0)g?Z6z)d~A0?e6Mz30!Q?Z z&~JBTY@Yxf@x5}eeFAo8`vmAsf3IU;`vkoH?*4m4pAbR_A%EoGlB=P}?VXTfL@j#u z6+>OkbVog7tu^S|WU0SYUyC_o>RtoqKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-` zSSBM2L9DMSma{Nt#C@0}M{6}0*N44}_d1j}i0ZBHN{D(|5Jr^kgwT1N6LzjmOc~v`-SV*R!Neaf8h0KZX%%M*m@$gOzX>T1gUQ z=HOOzc-!6$4QhR_mO<*QKyi%Kg<0Zg>|y#9bfw)i1%FDQM+WL6BBM4*kGL7)UP^2) zieWun3R(#tc{Y_;v)vrw{M@uIMyfN=y+BOt@TAF4C;`aMlLG23p3;|2hs&tK@+z+A zj=FK~G5MSr7q6-FPf%#`P8uXS<{^>x3cNkmP2YB(C&1JEIG);HQ7UZ3`-VIWqL7HYr3*w#-N6nV&7rB~MOExa01X3s= zgb+dqIa&Ejd2uI~3Y>8TCmKQ3wokdL=EW>rLv1Bi-`gZ3*$C88h=>&|3ly9iH vj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m0@;$V00000NkvXXu0mjfQf*fu diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00005.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00005.png index 4eaf735961538f500dfd6bba0d2c87f16d191cba..d704566c063339e01841f374d7a8414c0510c7e8 100644 GIT binary patch delta 714 zcmV;*0yX`*1K|abBYy&@NklXR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDu)I{+de>yL6x z6QK?@Y;4Z1?}M-oXo^Wca+8v&vv(=STJ37?zPJy9OOQXsr#fbsL?g3N^(Q^B1l6Uc z7=Ebjlr?d-i-(P|A7KChfX_5}H`Lx~sT-RmQa}GQmZtqF`(jVKCuY=Y`2=l=WY6o3 z{W#Al`(kb5!GGSR&xD@m3rM2Zmm7g<2K`_(56_2Q?Gaz2ZdCOu!pmtq)$}(Q^OWJ`0yD#F|X(6!fDK) zCYkInGe|YrUyMG8L=}p}cQ_L11poj5000000000002%-Q0B-XGm?~+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTaNkjd%* delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f-`OAh5!Hn diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00007.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00007.png index c4c84cf4c1fba26083e9bc251f7411d894424174..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f|e%cx&QzG delta 340 zcmZo*dCxRKrQXcb#WAE}&f8njT!#!qS{^RmG5KA+XS%)}i&O3-A?`^tf7SbUZ9HPU z^P&_Z0}MF0rKLUF>ThZrUjCpfZ|YmG_!+Dla-%B?HOgzFrFR%`D^yAT2(wp`TWwts zxch-cn7vH8L!rj@%&&*d8*UfyCT!uny^$wj|LeZ`bFO-Sm@>}WT$7Yx7WmJ*Sa^9p zn>=I6vZIBIZhLmmo4--odb`ut>&nevPbAnH9jF)FCB18YjdA*^OZWbLS-IFQ;LqL3 zt_Rbnt-mTe z$%)(xdhV3XIM3sIyKKYj;Qg|HbMNl|wTNkFaz^a&$njUEC3oZ^LZZZRnNJW{S74K>FVdQ&MBb@0AjS2cmMzZ diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00008.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00008.png index a58590b988714545e7960f7f400f360ffc5de41f..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmeyz^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1gD( Bt-$~Q diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00009.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00009.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~oSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6ec&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1fWCQHuZo diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00003.png index cdcc19d0524cb46d4a31a09ac011df7e8ba5c882..5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684 100644 GIT binary patch delta 543 zcmV+)0^t4O0=NW_B!B-&L_t(|ob8!Oj>I4g0Mo7c3IBf*f0+XkqVWO=OVTq{r-;QE z8w@zd0RR910I;3caU3zmsx*XfhcX`|tuAXa(!JR?#+Ylf^{V!z5ZNY6c&E}_QGRbG z##kqDa&P>^!?)u6GF(HE7Qm}>KImuoQa%LwSNq)MPw~NwU;#uUp;3X zSXGux$=j)u>rr*1I)L0&Ro`sivi2|*zO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCq zQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9slH3GG-*b~9>`ehHO0Dm*eZB zCw!@ejS!T3R)1F%2lWtEZwO_1GC{dxtj3ouWzC}hz$}GWN17vFhUMF%!dKG27FP@T zzf5t!6iomC;EQ=}8%ce>%Cw@BqG_gmWSwoaBp!Cs9rapwV4v-PXDzv(%565aUvVSFKRKY||jro%IuzUyfBlE** z`Q=oo6n-{Rt>7sR=-(6aoK*ML9(~4niUWF3qm5Jh71R!xI}J5E=%)<*WAj?<4xfK6 zgZSSmOBNjx4fB#A+JI?ftiKJ#)L4Hr_~1^6LU+(VTZ1_3{qdf_kci}*OPFe-v}*_R89l1GPID>U z&5QpIXugU1VTqk?G~Mc}t8bx)*LKd?H~J~U0u;Mq(MLQ;K7TnNN(#Df1W$6_0XjAJ z$$g~XEAE-(un;LoC*@s3%u}>KFcyYCcIN>A0Qh=&Pr#<{4$XRlS)wp+KqC}qjRi$oIg0x|6{`-6a8t7P!s*hSOZUFAy1sco(L}h000000000000000003~A YFD5;>5e*Ys8UO$Q07*qoM6N<$g3gGNMgRZ+ diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00004.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00004.png index d704566c063339e01841f374d7a8414c0510c7e8..1ac2ab07753bb344d9944b4c3935fcd2921d373e 100644 GIT binary patch delta 678 zcmV;X0$Kgx1-=E4B!7iTL_t(|ob8-ja>F1DMQNuy@&1>@Ui#sw$3<^s40i7MN+@7i zLJHhCEd>Ao0001h+xePpfJm+N{C3;6S(XgtXSM+bZ}t1Z_iO_K>^V_uJ(8pTA@!jh zR%7)5u>L*2-czJ$KN{Chpy!n!>hYaNxSO(i2E3l920+S;$A9tE0F?i==%L;R00000 z_*iT;)ZFLw$(CoqpczYBSToEP$uRcJtaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwh zbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LCP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i z`oC6%pQ!0OtABalav3W}OVV+Jx%@A$U?I8_(UV?bF>asq$ODk1%>cUeJOxKeQo4uh z3!CRNlQq>e%+p!AP=}F5PGC{rfaqj+|27y`!}~Xb7|aA!XeNe}5rd&n_iAdWvaf2k zQ;H1PoW-KzrLHovwl(HObxK7qQRZZCCncrm@}Bgx8h`z(G_4|M>QkBGt8QLqtf|*J zuY0ERB-~u4vD*`Q=jzBPWl=I?r9{-1W6`xBS~sYP`>}A5$8sb~JUV4k7G?32BP{?< zDb0^*aWsvbEV4dW0%~Ye=Aui+(?8>>kanQ00000@8<4b$}3tXdwPiWG!;{i1p8(ry^vKC zSrx=7qq1+67t&OtS^7tM?_ZBoeyBa-eCV9B`*{Bz*wSG(I)|HuWx*1(%D*b`-}(JM z8p(p6%{J8R>DgR<`X4qF000000Dw};FJ0{81JjCfLI3~& M07*qoM6N<$faqW}N^ delta 713 zcmV;)0yh1=1>psdB!8$$L_t(|ob8-ja>F1DMbl1q!v2@UUi#q~kE`e9VH47OzEVbj zB4MzuoxWa#5JCtcggnmIY6se=wThNf$`VihHMLfqiB0)g?Z6z)d~A0?e6Mz30!Q?Z z&~JBTY@Yxf@x5}eeFAo8`vmAsf3IU;`vkoH?*4m4pAbR_A%EoGlB=P}?VXTfL@j#u z6+>OkbVog7tu^S|WU0SYUyC_o>RtoqKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-` zSSBM2L9DMSma{Nt#C@0}M{6}0*N44}_d1j}i0ZBHN{D(|5Jr^kgwT1N6LzjmOc~v`-SV*R!Neaf8h0KZX%%M*m@$gOzX>T1gUQ z=HOOzc-!6$4QhR_mO<*QKyi%Kg<0Zg>|y#9bfw)i1%FDQM+WL6BBM4*kGL7)UP^2) zieWun3R(#tc{Y_;v)vrw{M@uIMyfN=y+BOt@TAF4C;`aMlLG23p3;|2hs&tK@+z+A zj=FK~G5MSr7q6-FPf%#`P8uXS<{^>x3cNkmP2YB(C&1JEIG);HQ7UZ3`-VIWqL7HYr3*w#-N6nV&7rB~MOExa01X3s= zgb+dqIa&Ejd2uI~3Y>8TCmKQ3wokdL=EW>rLv1Bi-`gZ3*$C88h=>&|3ly9iH vj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m0@;$V00000NkvXXu0mjfQf*fu diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00005.png index 4eaf735961538f500dfd6bba0d2c87f16d191cba..d704566c063339e01841f374d7a8414c0510c7e8 100644 GIT binary patch delta 714 zcmV;*0yX`*1K|abBYy&@NklXR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDu)I{+de>yL6x z6QK?@Y;4Z1?}M-oXo^Wca+8v&vv(=STJ37?zPJy9OOQXsr#fbsL?g3N^(Q^B1l6Uc z7=Ebjlr?d-i-(P|A7KChfX_5}H`Lx~sT-RmQa}GQmZtqF`(jVKCuY=Y`2=l=WY6o3 z{W#Al`(kb5!GGSR&xD@m3rM2Zmm7g<2K`_(56_2Q?Gaz2ZdCOu!pmtq)$}(Q^OWJ`0yD#F|X(6!fDK) zCYkInGe|YrUyMG8L=}p}cQ_L11poj5000000000002%-Q0B-XGm?~+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTaNkjd%* delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f-`OAh5!Hn diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00007.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00007.png index a58590b988714545e7960f7f400f360ffc5de41f..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$g0i6I$p8QV delta 355 zcmV-p0i6DT1pWe$B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1j=V BtyBO2 diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00008.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~oSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6ec&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1fWCQHuZo diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00012.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00012.png index cdcc19d0524cb46d4a31a09ac011df7e8ba5c882..5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684 100644 GIT binary patch delta 543 zcmV+)0^t4O0=NW_B!B-&L_t(|ob8!Oj>I4g0Mo7c3IBf*f0+XkqVWO=OVTq{r-;QE z8w@zd0RR910I;3caU3zmsx*XfhcX`|tuAXa(!JR?#+Ylf^{V!z5ZNY6c&E}_QGRbG z##kqDa&P>^!?)u6GF(HE7Qm}>KImuoQa%LwSNq)MPw~NwU;#uUp;3X zSXGux$=j)u>rr*1I)L0&Ro`sivi2|*zO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCq zQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9slH3GG-*b~9>`ehHO0Dm*eZB zCw!@ejS!T3R)1F%2lWtEZwO_1GC{dxtj3ouWzC}hz$}GWN17vFhUMF%!dKG27FP@T zzf5t!6iomC;EQ=}8%ce>%Cw@BqG_gmWSwoaBp!Cs9rapwV4v-PXDzv(%565aUvVSFKRKY||jro%IuzUyfBlE** z`Q=oo6n-{Rt>7sR=-(6aoK*ML9(~4niUWF3qm5Jh71R!xI}J5E=%)<*WAj?<4xfK6 zgZSSmOBNjx4fB#A+JI?ftiKJ#)L4Hr_~1^6LU+(VTZ1_3{qdf_kci}*OPFe-v}*_R89l1GPID>U z&5QpIXugU1VTqk?G~Mc}t8bx)*LKd?H~J~U0u;Mq(MLQ;K7TnNN(#Df1W$6_0XjAJ z$$g~XEAE-(un;LoC*@s3%u}>KFcyYCcIN>A0Qh=&Pr#<{4$XRlS)wp+KqC}qjRi$oIg0x|6{`-6a8t7P!s*hSOZUFAy1sco(L}h000000000000000003~A YFD5;>5e*Ys8UO$Q07*qoM6N<$g3gGNMgRZ+ diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00013.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00013.png index d704566c063339e01841f374d7a8414c0510c7e8..1ac2ab07753bb344d9944b4c3935fcd2921d373e 100644 GIT binary patch delta 678 zcmV;X0$Kgx1-=E4B!7iTL_t(|ob8-ja>F1DMQNuy@&1>@Ui#sw$3<^s40i7MN+@7i zLJHhCEd>Ao0001h+xePpfJm+N{C3;6S(XgtXSM+bZ}t1Z_iO_K>^V_uJ(8pTA@!jh zR%7)5u>L*2-czJ$KN{Chpy!n!>hYaNxSO(i2E3l920+S;$A9tE0F?i==%L;R00000 z_*iT;)ZFLw$(CoqpczYBSToEP$uRcJtaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwh zbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LCP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i z`oC6%pQ!0OtABalav3W}OVV+Jx%@A$U?I8_(UV?bF>asq$ODk1%>cUeJOxKeQo4uh z3!CRNlQq>e%+p!AP=}F5PGC{rfaqj+|27y`!}~Xb7|aA!XeNe}5rd&n_iAdWvaf2k zQ;H1PoW-KzrLHovwl(HObxK7qQRZZCCncrm@}Bgx8h`z(G_4|M>QkBGt8QLqtf|*J zuY0ERB-~u4vD*`Q=jzBPWl=I?r9{-1W6`xBS~sYP`>}A5$8sb~JUV4k7G?32BP{?< zDb0^*aWsvbEV4dW0%~Ye=Aui+(?8>>kanQ00000@8<4b$}3tXdwPiWG!;{i1p8(ry^vKC zSrx=7qq1+67t&OtS^7tM?_ZBoeyBa-eCV9B`*{Bz*wSG(I)|HuWx*1(%D*b`-}(JM z8p(p6%{J8R>DgR<`X4qF000000Dw};FJ0{81JjCfLI3~& M07*qoM6N<$faqW}N^ delta 713 zcmV;)0yh1=1>psdB!8$$L_t(|ob8-ja>F1DMbl1q!v2@UUi#q~kE`e9VH47OzEVbj zB4MzuoxWa#5JCtcggnmIY6se=wThNf$`VihHMLfqiB0)g?Z6z)d~A0?e6Mz30!Q?Z z&~JBTY@Yxf@x5}eeFAo8`vmAsf3IU;`vkoH?*4m4pAbR_A%EoGlB=P}?VXTfL@j#u z6+>OkbVog7tu^S|WU0SYUyC_o>RtoqKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-` zSSBM2L9DMSma{Nt#C@0}M{6}0*N44}_d1j}i0ZBHN{D(|5Jr^kgwT1N6LzjmOc~v`-SV*R!Neaf8h0KZX%%M*m@$gOzX>T1gUQ z=HOOzc-!6$4QhR_mO<*QKyi%Kg<0Zg>|y#9bfw)i1%FDQM+WL6BBM4*kGL7)UP^2) zieWun3R(#tc{Y_;v)vrw{M@uIMyfN=y+BOt@TAF4C;`aMlLG23p3;|2hs&tK@+z+A zj=FK~G5MSr7q6-FPf%#`P8uXS<{^>x3cNkmP2YB(C&1JEIG);HQ7UZ3`-VIWqL7HYr3*w#-N6nV&7rB~MOExa01X3s= zgb+dqIa&Ejd2uI~3Y>8TCmKQ3wokdL=EW>rLv1Bi-`gZ3*$C88h=>&|3ly9iH vj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m0@;$V00000NkvXXu0mjfQf*fu diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00014.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00014.png index 4eaf735961538f500dfd6bba0d2c87f16d191cba..d704566c063339e01841f374d7a8414c0510c7e8 100644 GIT binary patch delta 714 zcmV;*0yX`*1K|abBYy&@NklXR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDu)I{+de>yL6x z6QK?@Y;4Z1?}M-oXo^Wca+8v&vv(=STJ37?zPJy9OOQXsr#fbsL?g3N^(Q^B1l6Uc z7=Ebjlr?d-i-(P|A7KChfX_5}H`Lx~sT-RmQa}GQmZtqF`(jVKCuY=Y`2=l=WY6o3 z{W#Al`(kb5!GGSR&xD@m3rM2Zmm7g<2K`_(56_2Q?Gaz2ZdCOu!pmtq)$}(Q^OWJ`0yD#F|X(6!fDK) zCYkInGe|YrUyMG8L=}p}cQ_L11poj5000000000002%-Q0B-XGm?~+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTaNkjd%* delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f-`OAh5!Hn diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00016.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00016.png index a58590b988714545e7960f7f400f360ffc5de41f..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$g0i6I$p8QV delta 355 zcmV-p0i6DT1pWe$B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1j=V BtyBO2 diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00017.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00017.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~oSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6ec&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1fWCQHuZo diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00003.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00003.png index cdcc19d0524cb46d4a31a09ac011df7e8ba5c882..5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684 100644 GIT binary patch delta 543 zcmV+)0^t4O0=NW_B!B-&L_t(|ob8!Oj>I4g0Mo7c3IBf*f0+XkqVWO=OVTq{r-;QE z8w@zd0RR910I;3caU3zmsx*XfhcX`|tuAXa(!JR?#+Ylf^{V!z5ZNY6c&E}_QGRbG z##kqDa&P>^!?)u6GF(HE7Qm}>KImuoQa%LwSNq)MPw~NwU;#uUp;3X zSXGux$=j)u>rr*1I)L0&Ro`sivi2|*zO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCq zQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9slH3GG-*b~9>`ehHO0Dm*eZB zCw!@ejS!T3R)1F%2lWtEZwO_1GC{dxtj3ouWzC}hz$}GWN17vFhUMF%!dKG27FP@T zzf5t!6iomC;EQ=}8%ce>%Cw@BqG_gmWSwoaBp!Cs9rapwV4v-PXDzv(%565aUvVSFKRKY||jro%IuzUyfBlE** z`Q=oo6n-{Rt>7sR=-(6aoK*ML9(~4niUWF3qm5Jh71R!xI}J5E=%)<*WAj?<4xfK6 zgZSSmOBNjx4fB#A+JI?ftiKJ#)L4Hr_~1^6LU+(VTZ1_3{qdf_kci}*OPFe-v}*_R89l1GPID>U z&5QpIXugU1VTqk?G~Mc}t8bx)*LKd?H~J~U0u;Mq(MLQ;K7TnNN(#Df1W$6_0XjAJ z$$g~XEAE-(un;LoC*@s3%u}>KFcyYCcIN>A0Qh=&Pr#<{4$XRlS)wp+KqC}qjRi$oIg0x|6{`-6a8t7P!s*hSOZUFAy1sco(L}h000000000000000003~A YFD5;>5e*Ys8UO$Q07*qoM6N<$g3gGNMgRZ+ diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00004.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00004.png index d704566c063339e01841f374d7a8414c0510c7e8..1ac2ab07753bb344d9944b4c3935fcd2921d373e 100644 GIT binary patch delta 678 zcmV;X0$Kgx1-=E4B!7iTL_t(|ob8-ja>F1DMQNuy@&1>@Ui#sw$3<^s40i7MN+@7i zLJHhCEd>Ao0001h+xePpfJm+N{C3;6S(XgtXSM+bZ}t1Z_iO_K>^V_uJ(8pTA@!jh zR%7)5u>L*2-czJ$KN{Chpy!n!>hYaNxSO(i2E3l920+S;$A9tE0F?i==%L;R00000 z_*iT;)ZFLw$(CoqpczYBSToEP$uRcJtaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwh zbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LCP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i z`oC6%pQ!0OtABalav3W}OVV+Jx%@A$U?I8_(UV?bF>asq$ODk1%>cUeJOxKeQo4uh z3!CRNlQq>e%+p!AP=}F5PGC{rfaqj+|27y`!}~Xb7|aA!XeNe}5rd&n_iAdWvaf2k zQ;H1PoW-KzrLHovwl(HObxK7qQRZZCCncrm@}Bgx8h`z(G_4|M>QkBGt8QLqtf|*J zuY0ERB-~u4vD*`Q=jzBPWl=I?r9{-1W6`xBS~sYP`>}A5$8sb~JUV4k7G?32BP{?< zDb0^*aWsvbEV4dW0%~Ye=Aui+(?8>>kanQ00000@8<4b$}3tXdwPiWG!;{i1p8(ry^vKC zSrx=7qq1+67t&OtS^7tM?_ZBoeyBa-eCV9B`*{Bz*wSG(I)|HuWx*1(%D*b`-}(JM z8p(p6%{J8R>DgR<`X4qF000000Dw};FJ0{81JjCfLI3~& M07*qoM6N<$faqW}N^ delta 713 zcmV;)0yh1=1>psdB!8$$L_t(|ob8-ja>F1DMbl1q!v2@UUi#q~kE`e9VH47OzEVbj zB4MzuoxWa#5JCtcggnmIY6se=wThNf$`VihHMLfqiB0)g?Z6z)d~A0?e6Mz30!Q?Z z&~JBTY@Yxf@x5}eeFAo8`vmAsf3IU;`vkoH?*4m4pAbR_A%EoGlB=P}?VXTfL@j#u z6+>OkbVog7tu^S|WU0SYUyC_o>RtoqKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-` zSSBM2L9DMSma{Nt#C@0}M{6}0*N44}_d1j}i0ZBHN{D(|5Jr^kgwT1N6LzjmOc~v`-SV*R!Neaf8h0KZX%%M*m@$gOzX>T1gUQ z=HOOzc-!6$4QhR_mO<*QKyi%Kg<0Zg>|y#9bfw)i1%FDQM+WL6BBM4*kGL7)UP^2) zieWun3R(#tc{Y_;v)vrw{M@uIMyfN=y+BOt@TAF4C;`aMlLG23p3;|2hs&tK@+z+A zj=FK~G5MSr7q6-FPf%#`P8uXS<{^>x3cNkmP2YB(C&1JEIG);HQ7UZ3`-VIWqL7HYr3*w#-N6nV&7rB~MOExa01X3s= zgb+dqIa&Ejd2uI~3Y>8TCmKQ3wokdL=EW>rLv1Bi-`gZ3*$C88h=>&|3ly9iH vj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m0@;$V00000NkvXXu0mjfQf*fu diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00005.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00005.png index 4eaf735961538f500dfd6bba0d2c87f16d191cba..d704566c063339e01841f374d7a8414c0510c7e8 100644 GIT binary patch delta 714 zcmV;*0yX`*1K|abBYy&@NklXR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDu)I{+de>yL6x z6QK?@Y;4Z1?}M-oXo^Wca+8v&vv(=STJ37?zPJy9OOQXsr#fbsL?g3N^(Q^B1l6Uc z7=Ebjlr?d-i-(P|A7KChfX_5}H`Lx~sT-RmQa}GQmZtqF`(jVKCuY=Y`2=l=WY6o3 z{W#Al`(kb5!GGSR&xD@m3rM2Zmm7g<2K`_(56_2Q?Gaz2ZdCOu!pmtq)$}(Q^OWJ`0yD#F|X(6!fDK) zCYkInGe|YrUyMG8L=}p}cQ_L11poj5000000000002%-Q0B-XGm?~+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTaNkjd%* delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f-`OAh5!Hn diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00007.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00007.png index c4c84cf4c1fba26083e9bc251f7411d894424174..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f|e%cx&QzG delta 340 zcmZo*dCxRKrQXcb#WAE}&f8njT!#!qS{^RmG5KA+XS%)}i&O3-A?`^tf7SbUZ9HPU z^P&_Z0}MF0rKLUF>ThZrUjCpfZ|YmG_!+Dla-%B?HOgzFrFR%`D^yAT2(wp`TWwts zxch-cn7vH8L!rj@%&&*d8*UfyCT!uny^$wj|LeZ`bFO-Sm@>}WT$7Yx7WmJ*Sa^9p zn>=I6vZIBIZhLmmo4--odb`ut>&nevPbAnH9jF)FCB18YjdA*^OZWbLS-IFQ;LqL3 zt_Rbnt-mTe z$%)(xdhV3XIM3sIyKKYj;Qg|HbMNl|wTNkFaz^a&$njUEC3oZ^LZZZRnNJW{S74K>FVdQ&MBb@0AjS2cmMzZ diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00008.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00008.png index a58590b988714545e7960f7f400f360ffc5de41f..c4c84cf4c1fba26083e9bc251f7411d894424174 100644 GIT binary patch delta 340 zcmeyz^qy&gO1+tx7xZO zaQ6d?FngJFheD0*nO_f^H{34ZP1wSDdm~T6{?~o==UnyvFlC&#xh5&YEbyOqvGDSI zHhIRBWk(Aa-S+IBH-DqF^>(MP*Oi;Uo=C7YI#4gTOM2J*8sqd+m+t-hvU0Iqz@NL5 zT@R*DTYpt{#-+J3?UDtTmQ|ZhT$wCzU|(D+$M&tSw`FqchW>KWYq+?>?!U3iZMWQ& zk`uWX^xP?%ah}KbcG-s4!TV+Z=HA`^YZ24V8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1gD( Bt-$~Q diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00009.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00009.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~oSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6ec&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1fWCQHuZo diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00003.png index cdcc19d0524cb46d4a31a09ac011df7e8ba5c882..5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684 100644 GIT binary patch delta 543 zcmV+)0^t4O0=NW_B!B-&L_t(|ob8!Oj>I4g0Mo7c3IBf*f0+XkqVWO=OVTq{r-;QE z8w@zd0RR910I;3caU3zmsx*XfhcX`|tuAXa(!JR?#+Ylf^{V!z5ZNY6c&E}_QGRbG z##kqDa&P>^!?)u6GF(HE7Qm}>KImuoQa%LwSNq)MPw~NwU;#uUp;3X zSXGux$=j)u>rr*1I)L0&Ro`sivi2|*zO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCq zQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9slH3GG-*b~9>`ehHO0Dm*eZB zCw!@ejS!T3R)1F%2lWtEZwO_1GC{dxtj3ouWzC}hz$}GWN17vFhUMF%!dKG27FP@T zzf5t!6iomC;EQ=}8%ce>%Cw@BqG_gmWSwoaBp!Cs9rapwV4v-PXDzv(%565aUvVSFKRKY||jro%IuzUyfBlE** z`Q=oo6n-{Rt>7sR=-(6aoK*ML9(~4niUWF3qm5Jh71R!xI}J5E=%)<*WAj?<4xfK6 zgZSSmOBNjx4fB#A+JI?ftiKJ#)L4Hr_~1^6LU+(VTZ1_3{qdf_kci}*OPFe-v}*_R89l1GPID>U z&5QpIXugU1VTqk?G~Mc}t8bx)*LKd?H~J~U0u;Mq(MLQ;K7TnNN(#Df1W$6_0XjAJ z$$g~XEAE-(un;LoC*@s3%u}>KFcyYCcIN>A0Qh=&Pr#<{4$XRlS)wp+KqC}qjRi$oIg0x|6{`-6a8t7P!s*hSOZUFAy1sco(L}h000000000000000003~A YFD5;>5e*Ys8UO$Q07*qoM6N<$g3gGNMgRZ+ diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00004.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00004.png index d704566c063339e01841f374d7a8414c0510c7e8..1ac2ab07753bb344d9944b4c3935fcd2921d373e 100644 GIT binary patch delta 678 zcmV;X0$Kgx1-=E4B!7iTL_t(|ob8-ja>F1DMQNuy@&1>@Ui#sw$3<^s40i7MN+@7i zLJHhCEd>Ao0001h+xePpfJm+N{C3;6S(XgtXSM+bZ}t1Z_iO_K>^V_uJ(8pTA@!jh zR%7)5u>L*2-czJ$KN{Chpy!n!>hYaNxSO(i2E3l920+S;$A9tE0F?i==%L;R00000 z_*iT;)ZFLw$(CoqpczYBSToEP$uRcJtaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwh zbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LCP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i z`oC6%pQ!0OtABalav3W}OVV+Jx%@A$U?I8_(UV?bF>asq$ODk1%>cUeJOxKeQo4uh z3!CRNlQq>e%+p!AP=}F5PGC{rfaqj+|27y`!}~Xb7|aA!XeNe}5rd&n_iAdWvaf2k zQ;H1PoW-KzrLHovwl(HObxK7qQRZZCCncrm@}Bgx8h`z(G_4|M>QkBGt8QLqtf|*J zuY0ERB-~u4vD*`Q=jzBPWl=I?r9{-1W6`xBS~sYP`>}A5$8sb~JUV4k7G?32BP{?< zDb0^*aWsvbEV4dW0%~Ye=Aui+(?8>>kanQ00000@8<4b$}3tXdwPiWG!;{i1p8(ry^vKC zSrx=7qq1+67t&OtS^7tM?_ZBoeyBa-eCV9B`*{Bz*wSG(I)|HuWx*1(%D*b`-}(JM z8p(p6%{J8R>DgR<`X4qF000000Dw};FJ0{81JjCfLI3~& M07*qoM6N<$faqW}N^ delta 713 zcmV;)0yh1=1>psdB!8$$L_t(|ob8-ja>F1DMbl1q!v2@UUi#q~kE`e9VH47OzEVbj zB4MzuoxWa#5JCtcggnmIY6se=wThNf$`VihHMLfqiB0)g?Z6z)d~A0?e6Mz30!Q?Z z&~JBTY@Yxf@x5}eeFAo8`vmAsf3IU;`vkoH?*4m4pAbR_A%EoGlB=P}?VXTfL@j#u z6+>OkbVog7tu^S|WU0SYUyC_o>RtoqKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-` zSSBM2L9DMSma{Nt#C@0}M{6}0*N44}_d1j}i0ZBHN{D(|5Jr^kgwT1N6LzjmOc~v`-SV*R!Neaf8h0KZX%%M*m@$gOzX>T1gUQ z=HOOzc-!6$4QhR_mO<*QKyi%Kg<0Zg>|y#9bfw)i1%FDQM+WL6BBM4*kGL7)UP^2) zieWun3R(#tc{Y_;v)vrw{M@uIMyfN=y+BOt@TAF4C;`aMlLG23p3;|2hs&tK@+z+A zj=FK~G5MSr7q6-FPf%#`P8uXS<{^>x3cNkmP2YB(C&1JEIG);HQ7UZ3`-VIWqL7HYr3*w#-N6nV&7rB~MOExa01X3s= zgb+dqIa&Ejd2uI~3Y>8TCmKQ3wokdL=EW>rLv1Bi-`gZ3*$C88h=>&|3ly9iH vj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m0@;$V00000NkvXXu0mjfQf*fu diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00005.png index 4eaf735961538f500dfd6bba0d2c87f16d191cba..d704566c063339e01841f374d7a8414c0510c7e8 100644 GIT binary patch delta 714 zcmV;*0yX`*1K|abBYy&@NklXR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDu)I{+de>yL6x z6QK?@Y;4Z1?}M-oXo^Wca+8v&vv(=STJ37?zPJy9OOQXsr#fbsL?g3N^(Q^B1l6Uc z7=Ebjlr?d-i-(P|A7KChfX_5}H`Lx~sT-RmQa}GQmZtqF`(jVKCuY=Y`2=l=WY6o3 z{W#Al`(kb5!GGSR&xD@m3rM2Zmm7g<2K`_(56_2Q?Gaz2ZdCOu!pmtq)$}(Q^OWJ`0yD#F|X(6!fDK) zCYkInGe|YrUyMG8L=}p}cQ_L11poj5000000000002%-Q0B-XGm?~+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTaNkjd%* delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f-`OAh5!Hn diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00007.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00007.png index a58590b988714545e7960f7f400f360ffc5de41f..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$g0i6I$p8QV delta 355 zcmV-p0i6DT1pWe$B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1j=V BtyBO2 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00008.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~oSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6ec&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1fWCQHuZo diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00012.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00012.png index cdcc19d0524cb46d4a31a09ac011df7e8ba5c882..5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684 100644 GIT binary patch delta 543 zcmV+)0^t4O0=NW_B!B-&L_t(|ob8!Oj>I4g0Mo7c3IBf*f0+XkqVWO=OVTq{r-;QE z8w@zd0RR910I;3caU3zmsx*XfhcX`|tuAXa(!JR?#+Ylf^{V!z5ZNY6c&E}_QGRbG z##kqDa&P>^!?)u6GF(HE7Qm}>KImuoQa%LwSNq)MPw~NwU;#uUp;3X zSXGux$=j)u>rr*1I)L0&Ro`sivi2|*zO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCq zQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9slH3GG-*b~9>`ehHO0Dm*eZB zCw!@ejS!T3R)1F%2lWtEZwO_1GC{dxtj3ouWzC}hz$}GWN17vFhUMF%!dKG27FP@T zzf5t!6iomC;EQ=}8%ce>%Cw@BqG_gmWSwoaBp!Cs9rapwV4v-PXDzv(%565aUvVSFKRKY||jro%IuzUyfBlE** z`Q=oo6n-{Rt>7sR=-(6aoK*ML9(~4niUWF3qm5Jh71R!xI}J5E=%)<*WAj?<4xfK6 zgZSSmOBNjx4fB#A+JI?ftiKJ#)L4Hr_~1^6LU+(VTZ1_3{qdf_kci}*OPFe-v}*_R89l1GPID>U z&5QpIXugU1VTqk?G~Mc}t8bx)*LKd?H~J~U0u;Mq(MLQ;K7TnNN(#Df1W$6_0XjAJ z$$g~XEAE-(un;LoC*@s3%u}>KFcyYCcIN>A0Qh=&Pr#<{4$XRlS)wp+KqC}qjRi$oIg0x|6{`-6a8t7P!s*hSOZUFAy1sco(L}h000000000000000003~A YFD5;>5e*Ys8UO$Q07*qoM6N<$g3gGNMgRZ+ diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00013.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00013.png index d704566c063339e01841f374d7a8414c0510c7e8..1ac2ab07753bb344d9944b4c3935fcd2921d373e 100644 GIT binary patch delta 678 zcmV;X0$Kgx1-=E4B!7iTL_t(|ob8-ja>F1DMQNuy@&1>@Ui#sw$3<^s40i7MN+@7i zLJHhCEd>Ao0001h+xePpfJm+N{C3;6S(XgtXSM+bZ}t1Z_iO_K>^V_uJ(8pTA@!jh zR%7)5u>L*2-czJ$KN{Chpy!n!>hYaNxSO(i2E3l920+S;$A9tE0F?i==%L;R00000 z_*iT;)ZFLw$(CoqpczYBSToEP$uRcJtaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwh zbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LCP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i z`oC6%pQ!0OtABalav3W}OVV+Jx%@A$U?I8_(UV?bF>asq$ODk1%>cUeJOxKeQo4uh z3!CRNlQq>e%+p!AP=}F5PGC{rfaqj+|27y`!}~Xb7|aA!XeNe}5rd&n_iAdWvaf2k zQ;H1PoW-KzrLHovwl(HObxK7qQRZZCCncrm@}Bgx8h`z(G_4|M>QkBGt8QLqtf|*J zuY0ERB-~u4vD*`Q=jzBPWl=I?r9{-1W6`xBS~sYP`>}A5$8sb~JUV4k7G?32BP{?< zDb0^*aWsvbEV4dW0%~Ye=Aui+(?8>>kanQ00000@8<4b$}3tXdwPiWG!;{i1p8(ry^vKC zSrx=7qq1+67t&OtS^7tM?_ZBoeyBa-eCV9B`*{Bz*wSG(I)|HuWx*1(%D*b`-}(JM z8p(p6%{J8R>DgR<`X4qF000000Dw};FJ0{81JjCfLI3~& M07*qoM6N<$faqW}N^ delta 713 zcmV;)0yh1=1>psdB!8$$L_t(|ob8-ja>F1DMbl1q!v2@UUi#q~kE`e9VH47OzEVbj zB4MzuoxWa#5JCtcggnmIY6se=wThNf$`VihHMLfqiB0)g?Z6z)d~A0?e6Mz30!Q?Z z&~JBTY@Yxf@x5}eeFAo8`vmAsf3IU;`vkoH?*4m4pAbR_A%EoGlB=P}?VXTfL@j#u z6+>OkbVog7tu^S|WU0SYUyC_o>RtoqKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-` zSSBM2L9DMSma{Nt#C@0}M{6}0*N44}_d1j}i0ZBHN{D(|5Jr^kgwT1N6LzjmOc~v`-SV*R!Neaf8h0KZX%%M*m@$gOzX>T1gUQ z=HOOzc-!6$4QhR_mO<*QKyi%Kg<0Zg>|y#9bfw)i1%FDQM+WL6BBM4*kGL7)UP^2) zieWun3R(#tc{Y_;v)vrw{M@uIMyfN=y+BOt@TAF4C;`aMlLG23p3;|2hs&tK@+z+A zj=FK~G5MSr7q6-FPf%#`P8uXS<{^>x3cNkmP2YB(C&1JEIG);HQ7UZ3`-VIWqL7HYr3*w#-N6nV&7rB~MOExa01X3s= zgb+dqIa&Ejd2uI~3Y>8TCmKQ3wokdL=EW>rLv1Bi-`gZ3*$C88h=>&|3ly9iH vj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m0@;$V00000NkvXXu0mjfQf*fu diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00014.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00014.png index 4eaf735961538f500dfd6bba0d2c87f16d191cba..d704566c063339e01841f374d7a8414c0510c7e8 100644 GIT binary patch delta 714 zcmV;*0yX`*1K|abBYy&@NklXR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDu)I{+de>yL6x z6QK?@Y;4Z1?}M-oXo^Wca+8v&vv(=STJ37?zPJy9OOQXsr#fbsL?g3N^(Q^B1l6Uc z7=Ebjlr?d-i-(P|A7KChfX_5}H`Lx~sT-RmQa}GQmZtqF`(jVKCuY=Y`2=l=WY6o3 z{W#Al`(kb5!GGSR&xD@m3rM2Zmm7g<2K`_(56_2Q?Gaz2ZdCOu!pmtq)$}(Q^OWJ`0yD#F|X(6!fDK) zCYkInGe|YrUyMG8L=}p}cQ_L11poj5000000000002%-Q0B-XGm?~+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTaNkjd%* delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$f-`OAh5!Hn diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00016.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00016.png index a58590b988714545e7960f7f400f360ffc5de41f..c753939d868658e5976b8216c0c49a9fe6d18f42 100644 GIT binary patch delta 486 zcmVF1DMQO)7VgF0=Ui!g=s*HzLwtB_OmgS!=wP;&cK-+wpmw)_A9002;gjonZ# zYbVN3|J=zoIxL#Nlp`JB5%4zXp^k{5azN(!LWl8mZ1C+Cu;mhJKa>sbXh zNRt#sa=uwpcWn1q&R>ajVoA4W{#NR)lsykXVSh5A3gtn6n{jeJBZx6tWmQ-u%Vpti z9bNtW(8IXfQGa^g)R5EGK@&quLHazW2-{I~JGy%ivP#I~6gyCj<&bw`K3o}xPns^+ zu_m1d$il6Ra(7f?$=FA6xGGi(JCMDg($)XsA+Ho&aCsv3Nss^l0Pw)L&CkMZ6%XOX zY}c2J;jj}aJD1Ad>PH!Gc%H+u6%b#9zbe=+MNMZ|^d{UiXJ&XiWl|I+y1Q#db7L8mLX40RR9100000 c0N|te0pd1?-|mMmb^rhX07*qoM6N<$g0i6I$p8QV delta 355 zcmV-p0i6DT1pWe$B!5LoL_t(|obB0Lj>8}fKv7h6C+vSo*-Jl=BFejIj2*b=t7QrS z431!&0{{R30000000000t2mD1&x+StxcuCugjtw2gZ3x=t=)mIIr82&3gasIFTM9k ztvJ}>Yq8eI6W5XNfa2$NVK)~Iw$m+~VCoJy*I=?9Z*2eG27f1*or0w2C%&Rd-3tH!000000001BFCQGdAO*0P-ogL?002ovPDHLkV1j=V BtyBO2 diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00017.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00017.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 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 U5+yCb=V?radS<#+H{o&r1%KKMWdHyG literal 9981 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 literal 21343 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 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_rejected/00003.png b/tests/ragger/snapshots/stax/test_blind_sign_rejected/00003.png index aaf64ddf964f91cc1302ab183af615405116e41b..fcccc77dfe05f493c076937774d3f67a7fb89198 100644 GIT binary patch literal 13743 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 EFNvt+J^%m! literal 12294 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 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_rejected/00004.png b/tests/ragger/snapshots/stax/test_blind_sign_rejected/00004.png index abc9677f73944caeade633a6929fff70cf6b8fbe..3c89d74c4c3967558ac8b5508063acc38d109a76 100644 GIT binary patch literal 12244 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 literal 9127 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 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_rejected/00006.png b/tests/ragger/snapshots/stax/test_blind_sign_rejected/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..2b66970014ede7bdfb1100bcac80dc9af4b51d28 GIT binary patch literal 6164 zcmeHL`9qRfzju0VF-vErMoUv}x2c?Tq{UoNab`@-nX+thSFkKIH7!yUWqG5;8BKA< z(#(ZPD^xTz7eYjaOdU6@6i^W<2~h|L6uhBcft*& zK_mu@vi5^$McA<3*%|)brcbXvW#bbz z{x9fodv!9)09`XI{GSusm8xxB#;Naf4bSpd}qDY#w-T@3o`cX7o7;*pUNq7Uv?*IQMj{4jBN z{dJa*i6d540g5%EK5^2FHQgddW_O?FH1K33 z5{VVtC`h4rp2zNHP2cD{hd_JRIOJlPKK6t#GAF(nMHx?a&FenvWv^LYsd6Y7oK~rt zCfIA&A194uxW5sL#V;L6f)s*(wf}Ha_6XovreQ zkD(wH_Whxx5#32snj`efr@crzCNpzPkQcVKJK42tD4yt5RmYPxgpwKKkSlS zQ%UTr7C{OK1d{dQih*@Q$stregL^xRF?F_SRr0`@wm`Ou7g-03_va+%!8aSC= z_WAx{#4x(Rp3o~&JyTsBItyk^!*6w+5f#PK1+a!ty6pR~QKcq~93mRih!Gw;ESM>e zzy8w6D3QzMYIUoz2uWvzI~Ba=(Tl4btn&P-BPbL~QQtfAh2x*Ira^o;G9!N`J27Nm z8Ato}vU|&CmASDh!rRMZV`=Gzd$p94Tm9m)xj=|mtdV`-Ly?&k5ExJ>TTrKd#aNO; zg*+50-3mf0h9yBokG~FYiEQA;?yp&;I^=_fgM!U&n|$rg<~^pMtkCV9Ixlb=O$|mVsc)KT_+5T~<@lj16pxl=`30I>EA$`#ID9w5BNU2F5L-QgKQjf#nspP`VOz8`1y&+%4e{hL2Njojr} zg25R2lHy~c$%38Zx6&o1d5-R{>xV}-+Wc*o(X0pHiHj8&g+;k9Fkj?5c|OA96#4aq z`NR_+=0;L~|F>tUG17bUv_aw<^@b|78ovGjnx zFtC9evpjg^T`%Fh&nmi01ik76WfEcqt$8QDg-Qm?$S$(!W;@+oAUb(vBs%Cvw$F(V zMMD!Q)O=caSNm0by3%F{qB}kS@+Rw!HU||nT)FZ+Icx(^jni-5o&N7N`DU|m<6!pl1b+|Xv-X^=~s-Vbh93T)K0J%HeItwdcnm%4+}1STQbmN^=LeK$RVQoi%q_CHHN}-Gdvc5B!W4L9dJ}}E%sHSJgP4X zgYicF(iL{^*q(gd(lTbf%gLvk^Ki*jeojtKkE)!^k$Mih!6-aSOG`EJnGuxEZPW(P z1u5wL$*qyS6x*vY*@QiI`TmK1evMk<$6X_}MZEU*VunQ4(a{mULJDfsmH@OF1BGEv z8(zyJiu%rJMiNLP<1r!;+sx{CHZ$n#{%xDqU8g*It-9785UkUO4?RHJ?iY8;D8 zZ3Yl862*ybyc@nZECKdGzW|};mITt39#Q2@kz93sQ1SqPqCAw zLCBmR8^(TW9HS(M#@V84`?=>1>R#r&kRzA%dOZMqK%p4c=4ccu!pW+{^1hILCA|E@ z(o$RYEGi~=>)#%b2C1lWkU9nc^`r~fk_AANh{J?q54~!t+BcZK-yL2aS~;mn_uTlm zZKw|v76DGsf~0%f6D~B5a|l^VBpncH*RtBLB%eF60TloQ{A|;+{!&axUG%MM3uacJ zk-4<^=JELE?Sx+IJ7m7Rz`t6f$*7%P({@G`Azr5zBOArGjr&dYyNjz%Dn3U{s19XJEY98LB`=lVwB|{tuP8WGopnruX5-->vadP zK$$Fw%*jHbw&(j(?b#Xhg&cT|kr`jDOa}oi&(v(Rx%fEIR1+HbsSH`E3 zU8(l3sEJ;NC`(Ck-O+si>L`ME1sF?7;gc`WP+WF)Qfnk&l^L6>fCBO5h#{&$v-wu0 zXMPTj&)NY$rI}e`Ns)A!x?R;JM@BW|At4oI%mgeEaPZP&kqx22TeF4hfSkMUXp3xE zMi(6;jYxOBy%c~z1Pbo**OPfbSHS486i!W55{U!26QrNZ$enO1KgP+5YTrGS2B4ps zEen2m4!rYo5wIl-5{~3$5NSlFUcyS9 zQX{4wmm_pV(wvV5F(KshqiCC}Isn6;DJ~({7 zC+tdK%=x3@%sTOyQiGdC-XqfJmmn3PyP_LHdsCwsm4Im{w$?Gv0Nu<=G0-WzjH(hU zL8S;<-Z`Z?^*~;`@0oqM(=V^Q=sRqdnKnHlmEw)1_n*FmCkJ|yyh{W2 zWFlxF6c$)-3iF5hS7pU=z~0RH0&8&X35$zO;qNhhck|{*^4*3@tV9Ef!kh@Q_jxs! zW^o+lVq-U6)ucI$N$?Z>C2Ehop;Ri%hGw+6feb>J8Mn^^s1zUx-FvT64wWp&H+ytC zK`PjaW!=$6=dw4vZ)=A)0Uy{AQFMPO9-m%3fDeJv0EF^nfTXH2qZyZ^TbyzM65bt1 zZ3-VPNfV9NJdW;U_X}K_fkvwAFc)ldyYmaP* zZ;tTB`30Y*f_vdBZRKIL#{1AO>-9Ub8316T8bb5BtD1ZpR2DRCpJ5PzTh+h|uuNvS z6VN{asrB&*Fow#ZhJiiW^q-`MeCyV?MBf4a68WEM;YRL(lC|V?EjY0C2m##IlWI$8 z>|sbl5}nwIcsf|aNep2ONiF41zu*#U1SO|esQGJSx*r)WYCX5s?;_||Rv4XeO;>vJ zh=acD2nEnqwGSzNgkxIr(~Ess?U{Hu^`W!6%nT&Aw|S}!C5*4}FFpP67nw|vlK_I^6HqCC#qTiuIL6`}s}7+~lR zT~08MZM8tmriO^#!o66Os8iOKwfbjNP3pU4rrXbd2PJ#CfIYS1-Ime6SIEhMAXJ6y z?Ppq_av>cH4-E;8Wq%Fe(`R;QI{U%cgO(n&N!c!s(=Ga46P~J`nZ|#oYI-M!*MZ~> zAX687@oHO(q#ATWKr&61!GM8F1`<_N+Y zUvM)rK@+zzf-Onx^0?rwVvBhOsTH@_=Qa28AN2&JCOP*M=7vnI*ZQmS_I|7l@IhQ= z!u6Fty8xlG6CYAp9AcM>=>EnHu(CTjT`k7!gk!o;r`#$pmzk3tP?zWWOP!LM(nFH5 zxwQT$1!ij)NczBxD=})dnFz>UiVZ?#%1jB2@p_mwSFouTLYmLfhOi)K=>ou}IM$~g zb)@u6!7)8&n=&yU$0Y+Mio#1xO$Ds{O8+Yj;e)NAhNlk<1IaDXTDmX9{v@kCKg&F~ z3TUzc!I613geDy<1G*&%H8SXab8o^pb#>*!jug8<{>8$(A!k#YNtbPVgZmBosPC+FpGi3 zV7|qrk8hB9xYJg|`=nsauB-J>(xhvxng$mioB5yIS&ISrv6X=`hd6Y19j$ZbDRr%| z?R0Kc4Jayl^Lqfp@IP`~!-gdb^F?##`OV;aak?fzzAsTHxDr^!vy37$tl;x1RP8k5UOIiv!Sag) z19Ja1bQ0?<<^w-(7tILZyvwum!o=g6VoYTY1f}%2!z^{iRWzwX(Q4s+C`M zuQx`o-XIT!3=bn{^-mf@zXAP#8vU#E#PjYghW6d*s=~UprxhPAZkp5SbW&xWqxSgv z0(+0tHe=!PiV^54f=Jb`Y9N#by*%eJde&r7pY&v8?zVq50;wjtDG=iugc(7l3e7Sw zYcd|bdPW3O%U8sUw!A`jg!37ZZxV&)NTnZcBe^Kj|IJH`a^dI7)J%hE&#o=ZWPG+V z^X_hS>CVF`FJ)@rj8^CPdK8?s;A^piQ4(u6e(ls&KMWFdfBrYkm}heNQX zIldD7`xGb7)%kwTPc{XPhN3Xy_A@99UQlu5{G7$3%PuyDotf#z z2QcwXt0i`mfm1r7vllNkYbwT-8n?2c0L@O=e~U`TpufoE4vdmv=s!fAzW}M2LJrKj zIWniJI_yQ7=oWfsL|w=9tcs6|zoA|(Cfc!goY4`?m)1qQ_C|ekB7L75cLzv5GV(L6 zo5YiG!cxJNZxnXSgpZs=cr_4LTEQ9CPVT*>tm!hrK)?^$Lj7-7sCH)Q__eDCOOHvH zwU}`p0bxy=`BNvAB@2><{9 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00001.png b/tests/ragger/snapshots/stax/test_blind_sign_signed/00001.png index d1b475b4c4a72849557dad7c2703a4d7e9715a94..e993bf99875421c39a57b97ff2dd7530f613149e 100644 GIT binary patch literal 9925 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 U5+yCb=V?radS<#+H{o&r1%KKMWdHyG literal 9981 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 literal 21343 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 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/stax/test_blind_sign_signed/00003.png index aaf64ddf964f91cc1302ab183af615405116e41b..fcccc77dfe05f493c076937774d3f67a7fb89198 100644 GIT binary patch literal 13743 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 EFNvt+J^%m! literal 12294 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 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00004.png b/tests/ragger/snapshots/stax/test_blind_sign_signed/00004.png index 392165d4fc71395ae212fb0ca017ebdd204c126b..3c89d74c4c3967558ac8b5508063acc38d109a76 100644 GIT binary patch literal 12244 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 literal 6218 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 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/stax/test_blind_sign_signed/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..392165d4fc71395ae212fb0ca017ebdd204c126b GIT binary patch literal 6218 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00010.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00010.png index d1b475b4c4a72849557dad7c2703a4d7e9715a94..e993bf99875421c39a57b97ff2dd7530f613149e 100644 GIT binary patch literal 9925 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 U5+yCb=V?radS<#+H{o&r1%KKMWdHyG literal 9981 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 literal 21343 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 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00012.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00012.png index aaf64ddf964f91cc1302ab183af615405116e41b..fcccc77dfe05f493c076937774d3f67a7fb89198 100644 GIT binary patch literal 13743 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 EFNvt+J^%m! literal 12294 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 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00013.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00013.png index 392165d4fc71395ae212fb0ca017ebdd204c126b..3c89d74c4c3967558ac8b5508063acc38d109a76 100644 GIT binary patch literal 12244 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 literal 6218 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 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00014.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00014.png new file mode 100644 index 0000000000000000000000000000000000000000..392165d4fc71395ae212fb0ca017ebdd204c126b GIT binary patch literal 6218 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/test_blind_sign.py b/tests/ragger/test_blind_sign.py index cb2568718..99fb59d33 100644 --- a/tests/ragger/test_blind_sign.py +++ b/tests/ragger/test_blind_sign.py @@ -51,8 +51,7 @@ def common_tx_params() -> dict: } -# Token approval, would require loading the "internal plugin" & -# providing the token metadata from the CAL +# Token approval, would require providing the token metadata from the CAL def test_blind_sign(firmware: Firmware, backend: BackendInterface, navigator: Navigator, @@ -81,12 +80,29 @@ def test_blind_sign(firmware: Firmware, # blind signing warning moves += [NavInsID.RIGHT_CLICK] - # review | from | amount | to | fees - moves += [NavInsID.RIGHT_CLICK] * 5 + # review + moves += [NavInsID.RIGHT_CLICK] + # tx hash if firmware == Firmware.NANOS: - # for the two addresses moves += [NavInsID.RIGHT_CLICK] * 4 + else: + moves += [NavInsID.RIGHT_CLICK] * 2 + + # from + if firmware == Firmware.NANOS: + moves += [NavInsID.RIGHT_CLICK] * 3 + else: + moves += [NavInsID.RIGHT_CLICK] + + # to + if firmware == Firmware.NANOS: + moves += [NavInsID.RIGHT_CLICK] * 3 + else: + moves += [NavInsID.RIGHT_CLICK] + + # fees + moves += [NavInsID.RIGHT_CLICK] if not sign: moves += [NavInsID.RIGHT_CLICK] @@ -95,10 +111,7 @@ def test_blind_sign(firmware: Firmware, else: moves += [NavInsID.USE_CASE_CHOICE_REJECT] - if firmware == Firmware.STAX: - moves += [NavInsID.SWIPE_CENTER_TO_LEFT] * 2 - else: - moves += [NavInsID.SWIPE_CENTER_TO_LEFT] * 3 + moves += [NavInsID.SWIPE_CENTER_TO_LEFT] * 3 if sign: moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] @@ -171,21 +184,18 @@ def test_sign_parameter_selector(firmware: Firmware, moves += [NavInsID.RIGHT_CLICK] * 4 + [NavInsID.BOTH_CLICK] # parameter 2 moves += [NavInsID.RIGHT_CLICK] * 3 + [NavInsID.BOTH_CLICK] - # blind signing | review | from | amount | to | fees - moves += [NavInsID.RIGHT_CLICK] * 10 + # blind signing | review | tx hash | from | to | fees + moves += [NavInsID.RIGHT_CLICK] * 13 else: # (verify | parameter) * flows moves += ([NavInsID.RIGHT_CLICK] * 2 + [NavInsID.BOTH_CLICK]) * params # blind signing | review | from | amount | to | fees - moves += [NavInsID.RIGHT_CLICK] * 6 + moves += [NavInsID.RIGHT_CLICK] * 7 moves += [NavInsID.BOTH_CLICK] else: moves += ([NavInsID.SWIPE_CENTER_TO_LEFT] * 2 + [NavInsID.USE_CASE_REVIEW_CONFIRM]) * (1 + params) moves += [NavInsID.USE_CASE_CHOICE_REJECT] - if firmware == Firmware.STAX: - tap_number = 2 - else: - tap_number = 3 + tap_number = 3 moves += [NavInsID.SWIPE_CENTER_TO_LEFT] * tap_number moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] navigator.navigate_and_compare(default_screenshot_path, From f14c164b844a8b3f751af851444acf708fa7de17 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 12 Dec 2024 11:48:01 +0100 Subject: [PATCH 10/66] Fix version comparison in trusted name "not valid after" TLV field handler --- src_features/provideTrustedName/cmd_provide_trusted_name.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src_features/provideTrustedName/cmd_provide_trusted_name.c b/src_features/provideTrustedName/cmd_provide_trusted_name.c index de5aca30e..23d5cf168 100644 --- a/src_features/provideTrustedName/cmd_provide_trusted_name.c +++ b/src_features/provideTrustedName/cmd_provide_trusted_name.c @@ -215,14 +215,13 @@ static bool handle_not_valid_after(const s_tlv_data *data, s_trusted_name_info *trusted_name_info, s_sig_ctx *sig_ctx) { const uint8_t app_version[] = {MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION}; - int i = 0; (void) trusted_name_info; (void) sig_ctx; if (data->length != ARRAYLEN(app_version)) { return false; } - do { + for (int i = 0; i < (int) ARRAYLEN(app_version); ++i) { if (data->value[i] < app_version[i]) { PRINTF("Expired trusted name : %u.%u.%u < %u.%u.%u\n", data->value[0], @@ -233,8 +232,7 @@ static bool handle_not_valid_after(const s_tlv_data *data, app_version[2]); return false; } - i += 1; - } while ((i < (int) ARRAYLEN(app_version)) && (data->value[i] == app_version[i])); + } return true; } From efc812f47333c12cdf410f6f5fe238f676f73792 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 12 Dec 2024 14:02:02 +0100 Subject: [PATCH 11/66] Improve Ragger test for expired trusted name --- tests/ragger/conftest.py | 14 ++++++++++++++ tests/ragger/test_trusted_name.py | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/tests/ragger/conftest.py b/tests/ragger/conftest.py index 086d95e04..2f1eac38c 100644 --- a/tests/ragger/conftest.py +++ b/tests/ragger/conftest.py @@ -3,9 +3,13 @@ from os import path import warnings import glob +import re + +import pytest from ragger.conftest import configuration + ####################### # CONFIGURATION START # ####################### @@ -14,6 +18,7 @@ # ragger.configuration.OPTIONAL_CONFIGURATION # Please refer to ragger/conftest/configuration.py for their descriptions and accepted values + def pytest_addoption(parser): parser.addoption("--with_lib_mode", action="store_true", help="Run the test with Library Mode") @@ -42,6 +47,15 @@ def pytest_addoption(parser): collect_ignore += [f for f in testFiles if "test_clone" in f] +@pytest.fixture(name="app_version") +def app_version_fixture(request) -> tuple[int, int, int]: + with open(Path(__file__).parent.parent.parent / "Makefile") as f: + parsed = dict() + for m in re.findall(r"^APPVERSION_(\w)\s*=\s*(\d*)$", f.read(), re.MULTILINE): + parsed[m[0]] = int(m[1]) + return (parsed["M"], parsed["N"], parsed["P"]) + + ##################### # CONFIGURATION END # ##################### diff --git a/tests/ragger/test_trusted_name.py b/tests/ragger/test_trusted_name.py index fc28718ce..36ea57479 100644 --- a/tests/ragger/test_trusted_name.py +++ b/tests/ragger/test_trusted_name.py @@ -284,10 +284,22 @@ def test_trusted_name_v2_missing_challenge(firmware: Firmware, backend: BackendI assert e.value.status == StatusWord.INVALID_DATA -def test_trusted_name_v2_expired(firmware: Firmware, backend: BackendInterface): +def test_trusted_name_v2_expired(firmware: Firmware, backend: BackendInterface, app_version: tuple[int, int, int]): app_client = EthAppClient(backend) challenge = common(firmware, app_client) + # convert to list and reverse + app_version = list(app_version) + app_version.reverse() + # simulate a previous version number by decrementing the first non-zero value + for idx, v in enumerate(app_version): + if v > 0: + app_version[idx] -= 1 + break + # reverse and convert back + app_version.reverse() + app_version = tuple(app_version) + with pytest.raises(ExceptionRAPDU) as e: app_client.provide_trusted_name_v2(ADDR, NAME, @@ -295,5 +307,5 @@ def test_trusted_name_v2_expired(firmware: Firmware, backend: BackendInterface): TrustedNameSource.ENS, CHAIN_ID, challenge=challenge, - not_valid_after=(0, 1, 2)) + not_valid_after=app_version) assert e.value.status == StatusWord.INVALID_DATA From 26fcd2aae8764db4dd550b1016da12b9b585e923 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 13 Dec 2024 10:35:54 +0100 Subject: [PATCH 12/66] Now shows non-zero amounts in blind-signing flow --- src/shared_context.h | 1 + src_bagl/ui_flow_signTx.c | 9 +++++---- src_nbgl/ui_approve_tx.c | 9 +++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/shared_context.h b/src/shared_context.h index eca0fed11..eaac84fb0 100644 --- a/src/shared_context.h +++ b/src/shared_context.h @@ -131,6 +131,7 @@ typedef struct txStringProperties_s { char maxFee[50]; char nonce[8]; // 10M tx per account ought to be enough for everybody char network_name[NETWORK_STRING_MAX_SIZE + 1]; + char tx_hash[2 + (INT256_LENGTH * 2) + 1]; } txStringProperties_t; #ifdef TARGET_NANOS diff --git a/src_bagl/ui_flow_signTx.c b/src_bagl/ui_flow_signTx.c index 1ff7a1901..2218cf44c 100644 --- a/src_bagl/ui_flow_signTx.c +++ b/src_bagl/ui_flow_signTx.c @@ -120,7 +120,7 @@ UX_STEP_NOCB(ux_approval_tx_hash_step, #else .title = "Transaction hash", #endif - .text = strings.common.fullAmount + .text = strings.common.tx_hash }); UX_STEP_NOCB( ux_approval_amount_step, @@ -249,8 +249,8 @@ void ux_approve_tx(bool fromPlugin) { } else { if (tmpContent.txContent.dataPresent) { #pragma GCC diagnostic ignored "-Wformat" - snprintf(strings.common.fullAmount, - sizeof(strings.common.fullAmount), + snprintf(strings.common.tx_hash, + sizeof(strings.common.tx_hash), "0x%.*h", sizeof(tmpCtx.transactionContext.hash), tmpCtx.transactionContext.hash); @@ -261,7 +261,8 @@ void ux_approve_tx(bool fromPlugin) { if (strings.common.fromAddress[0] != 0) { ux_approval_tx_flow[step++] = &ux_approval_from_step; } - if (!tmpContent.txContent.dataPresent) { + if (!tmpContent.txContent.dataPresent || + !allzeroes(tmpContent.txContent.value.value, tmpContent.txContent.value.length)) { ux_approval_tx_flow[step++] = &ux_approval_amount_step; } #ifdef HAVE_TRUSTED_NAME diff --git a/src_nbgl/ui_approve_tx.c b/src_nbgl/ui_approve_tx.c index 19d70baa8..6431218b9 100644 --- a/src_nbgl/ui_approve_tx.c +++ b/src_nbgl/ui_approve_tx.c @@ -122,14 +122,14 @@ static uint8_t setTagValuePairs(void) { } else { if (tmpContent.txContent.dataPresent) { #pragma GCC diagnostic ignored "-Wformat" - snprintf(strings.common.fullAmount, - sizeof(strings.common.fullAmount), + snprintf(strings.common.tx_hash, + sizeof(strings.common.tx_hash), "0x%.*h", sizeof(tmpCtx.transactionContext.hash), tmpCtx.transactionContext.hash); #pragma GCC diagnostic warning "-Wformat" pairs[nbPairs].item = "Transaction hash"; - pairs[nbPairs].value = strings.common.fullAmount; + pairs[nbPairs].value = strings.common.tx_hash; nbPairs++; } @@ -139,7 +139,8 @@ static uint8_t setTagValuePairs(void) { nbPairs++; } - if (!tmpContent.txContent.dataPresent) { + if (!tmpContent.txContent.dataPresent || + !allzeroes(tmpContent.txContent.value.value, tmpContent.txContent.value.length)) { pairs[nbPairs].item = "Amount"; pairs[nbPairs].value = strings.common.fullAmount; nbPairs++; From 7632baa365d0c19d6bdaf1934a04a42bb3695ee8 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 13 Dec 2024 10:33:15 +0100 Subject: [PATCH 13/66] Updated Ragger tests --- .../00000.png | Bin .../00001.png | Bin .../snapshots/flex/test_blind_sign/00002.png | Bin 0 -> 23592 bytes .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../flex/test_blind_sign_nonzero/00000.png | Bin 0 -> 18507 bytes .../flex/test_blind_sign_nonzero/00001.png | Bin 0 -> 10573 bytes .../flex/test_blind_sign_nonzero/00002.png | Bin 0 -> 23846 bytes .../flex/test_blind_sign_nonzero/00003.png | Bin 0 -> 16046 bytes .../00004.png} | Bin .../00005.png} | Bin .../flex/test_blind_sign_rejected/00002.png | Bin 24507 -> 23592 bytes .../flex/test_blind_sign_signed/00002.png | Bin 24507 -> 0 bytes .../test_sign_parameter_selector/00001.png | Bin 7715 -> 7472 bytes .../test_sign_parameter_selector/00004.png | Bin 11074 -> 13237 bytes .../test_sign_parameter_selector/00006.png | Bin 10363 -> 18507 bytes .../test_sign_parameter_selector/00007.png | Bin 8991 -> 10573 bytes .../test_sign_parameter_selector/00008.png | Bin 11089 -> 23592 bytes .../test_sign_parameter_selector/00009.png | Bin 18507 -> 14510 bytes .../test_sign_parameter_selector/00010.png | Bin 10573 -> 13149 bytes .../test_sign_parameter_selector/00011.png | Bin 24507 -> 6357 bytes .../test_sign_parameter_selector/00012.png | Bin 14510 -> 0 bytes .../00000.png | Bin .../00001.png | Bin .../snapshots/nanos/test_blind_sign/00002.png | Bin 0 -> 479 bytes .../snapshots/nanos/test_blind_sign/00003.png | Bin 0 -> 486 bytes .../snapshots/nanos/test_blind_sign/00004.png | Bin 0 -> 494 bytes .../snapshots/nanos/test_blind_sign/00005.png | Bin 0 -> 440 bytes .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | Bin .../00010.png | Bin .../00011.png | Bin .../00012.png | Bin .../00013.png | Bin .../00014.png | Bin .../nanos/test_blind_sign_nonzero/00000.png | Bin 0 -> 381 bytes .../nanos/test_blind_sign_nonzero/00001.png | Bin 0 -> 374 bytes .../nanos/test_blind_sign_nonzero/00002.png | Bin 0 -> 492 bytes .../nanos/test_blind_sign_nonzero/00003.png | Bin 0 -> 487 bytes .../nanos/test_blind_sign_nonzero/00004.png | Bin 0 -> 467 bytes .../nanos/test_blind_sign_nonzero/00005.png | Bin 0 -> 443 bytes .../nanos/test_blind_sign_nonzero/00006.png | Bin 0 -> 428 bytes .../nanos/test_blind_sign_nonzero/00007.png | Bin 0 -> 444 bytes .../nanos/test_blind_sign_nonzero/00008.png | Bin 0 -> 363 bytes .../nanos/test_blind_sign_nonzero/00009.png | Bin 0 -> 315 bytes .../nanos/test_blind_sign_nonzero/00010.png | Bin 0 -> 430 bytes .../nanos/test_blind_sign_nonzero/00011.png | Bin 0 -> 464 bytes .../00012.png} | Bin .../00013.png} | Bin .../00014.png} | Bin .../00015.png} | Bin .../nanos/test_blind_sign_rejected/00002.png | Bin 474 -> 479 bytes .../nanos/test_blind_sign_rejected/00003.png | Bin 501 -> 486 bytes .../nanos/test_blind_sign_rejected/00004.png | Bin 485 -> 494 bytes .../nanos/test_blind_sign_rejected/00005.png | Bin 440 -> 440 bytes .../nanos/test_blind_sign_signed/00002.png | Bin 474 -> 0 bytes .../nanos/test_blind_sign_signed/00003.png | Bin 501 -> 0 bytes .../nanos/test_blind_sign_signed/00004.png | Bin 485 -> 0 bytes .../nanos/test_blind_sign_signed/00005.png | Bin 440 -> 0 bytes .../test_sign_parameter_selector/00001.png | Bin 380 -> 377 bytes .../test_sign_parameter_selector/00004.png | Bin 445 -> 475 bytes .../test_sign_parameter_selector/00005.png | Bin 484 -> 463 bytes .../test_sign_parameter_selector/00006.png | Bin 322 -> 413 bytes .../test_sign_parameter_selector/00008.png | Bin 360 -> 381 bytes .../test_sign_parameter_selector/00009.png | Bin 447 -> 374 bytes .../test_sign_parameter_selector/00010.png | Bin 365 -> 479 bytes .../test_sign_parameter_selector/00011.png | Bin 341 -> 486 bytes .../test_sign_parameter_selector/00012.png | Bin 381 -> 494 bytes .../test_sign_parameter_selector/00013.png | Bin 374 -> 440 bytes .../test_sign_parameter_selector/00014.png | Bin 474 -> 428 bytes .../test_sign_parameter_selector/00015.png | Bin 501 -> 444 bytes .../test_sign_parameter_selector/00016.png | Bin 485 -> 363 bytes .../test_sign_parameter_selector/00017.png | Bin 440 -> 430 bytes .../test_sign_parameter_selector/00018.png | Bin 428 -> 464 bytes .../test_sign_parameter_selector/00019.png | Bin 444 -> 358 bytes .../test_sign_parameter_selector/00020.png | Bin 363 -> 374 bytes .../test_sign_parameter_selector/00021.png | Bin 430 -> 459 bytes .../test_sign_parameter_selector/00022.png | Bin 464 -> 349 bytes .../00000.png | Bin .../00001.png | Bin .../nanosp/test_blind_sign/00002.png | Bin 0 -> 980 bytes .../nanosp/test_blind_sign/00003.png | Bin 0 -> 574 bytes .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../test_blind_sign_nonzero}/00000.png | Bin .../test_blind_sign_nonzero}/00001.png | Bin .../nanosp/test_blind_sign_nonzero/00002.png | Bin 0 -> 947 bytes .../nanosp/test_blind_sign_nonzero/00003.png | Bin 0 -> 566 bytes .../test_blind_sign_nonzero}/00004.png | Bin .../nanosp/test_blind_sign_nonzero/00005.png | Bin 0 -> 368 bytes .../test_blind_sign_nonzero/00006.png} | Bin .../00007.png} | Bin .../00008.png} | Bin .../00009.png} | Bin .../nanosp/test_blind_sign_rejected/00002.png | Bin 965 -> 980 bytes .../nanosp/test_blind_sign_rejected/00003.png | Bin 568 -> 574 bytes .../nanosp/test_blind_sign_signed/00002.png | Bin 965 -> 0 bytes .../nanosp/test_blind_sign_signed/00003.png | Bin 568 -> 0 bytes .../test_sign_parameter_selector/00001.png | Bin 402 -> 399 bytes .../test_sign_parameter_selector/00004.png | Bin 689 -> 770 bytes .../test_sign_parameter_selector/00006.png | Bin 407 -> 418 bytes .../test_sign_parameter_selector/00007.png | Bin 520 -> 414 bytes .../test_sign_parameter_selector/00008.png | Bin 364 -> 980 bytes .../test_sign_parameter_selector/00009.png | Bin 418 -> 574 bytes .../test_sign_parameter_selector/00010.png | Bin 414 -> 702 bytes .../test_sign_parameter_selector/00011.png | Bin 965 -> 737 bytes .../test_sign_parameter_selector/00012.png | Bin 568 -> 442 bytes .../test_sign_parameter_selector/00013.png | Bin 702 -> 512 bytes .../test_sign_parameter_selector/00014.png | Bin 737 -> 382 bytes .../snapshots/nanox/test_blind_sign/00000.png | Bin 0 -> 418 bytes .../snapshots/nanox/test_blind_sign/00001.png | Bin 0 -> 414 bytes .../snapshots/nanox/test_blind_sign/00002.png | Bin 0 -> 980 bytes .../snapshots/nanox/test_blind_sign/00003.png | Bin 0 -> 574 bytes .../snapshots/nanox/test_blind_sign/00004.png | Bin 0 -> 702 bytes .../snapshots/nanox/test_blind_sign/00005.png | Bin 0 -> 737 bytes .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../nanox/test_blind_sign_nonzero/00000.png | Bin 0 -> 418 bytes .../nanox/test_blind_sign_nonzero/00001.png | Bin 0 -> 414 bytes .../nanox/test_blind_sign_nonzero/00002.png | Bin 0 -> 947 bytes .../nanox/test_blind_sign_nonzero/00003.png | Bin 0 -> 566 bytes .../nanox/test_blind_sign_nonzero/00004.png | Bin 0 -> 702 bytes .../nanox/test_blind_sign_nonzero/00005.png | Bin 0 -> 368 bytes .../nanox/test_blind_sign_nonzero/00006.png | Bin 0 -> 737 bytes .../00007.png} | Bin .../00008.png} | Bin .../00009.png} | Bin .../nanox/test_blind_sign_rejected/00002.png | Bin 965 -> 980 bytes .../nanox/test_blind_sign_rejected/00003.png | Bin 568 -> 574 bytes .../nanox/test_blind_sign_signed/00002.png | Bin 965 -> 0 bytes .../nanox/test_blind_sign_signed/00003.png | Bin 568 -> 0 bytes .../test_sign_parameter_selector/00001.png | Bin 402 -> 399 bytes .../test_sign_parameter_selector/00004.png | Bin 689 -> 770 bytes .../test_sign_parameter_selector/00006.png | Bin 407 -> 418 bytes .../test_sign_parameter_selector/00007.png | Bin 520 -> 414 bytes .../test_sign_parameter_selector/00008.png | Bin 364 -> 980 bytes .../test_sign_parameter_selector/00009.png | Bin 418 -> 574 bytes .../test_sign_parameter_selector/00010.png | Bin 414 -> 702 bytes .../test_sign_parameter_selector/00011.png | Bin 965 -> 737 bytes .../test_sign_parameter_selector/00012.png | Bin 568 -> 442 bytes .../test_sign_parameter_selector/00013.png | Bin 702 -> 512 bytes .../test_sign_parameter_selector/00014.png | Bin 737 -> 382 bytes .../00000.png | Bin .../00001.png | Bin .../snapshots/stax/test_blind_sign/00002.png | Bin 0 -> 20989 bytes .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../stax/test_blind_sign_nonzero/00000.png | Bin 0 -> 15903 bytes .../stax/test_blind_sign_nonzero/00001.png | Bin 0 -> 9925 bytes .../stax/test_blind_sign_nonzero/00002.png | Bin 0 -> 22837 bytes .../00003.png} | Bin .../00004.png} | Bin .../00005.png} | Bin .../stax/test_blind_sign_rejected/00002.png | Bin 21829 -> 20989 bytes .../stax/test_blind_sign_signed/00002.png | Bin 21829 -> 0 bytes .../test_sign_parameter_selector/00001.png | Bin 7148 -> 6987 bytes .../test_sign_parameter_selector/00004.png | Bin 10532 -> 11916 bytes .../test_sign_parameter_selector/00006.png | Bin 9669 -> 15903 bytes .../test_sign_parameter_selector/00007.png | Bin 8342 -> 9925 bytes .../test_sign_parameter_selector/00008.png | Bin 10331 -> 20989 bytes .../test_sign_parameter_selector/00009.png | Bin 15903 -> 13743 bytes .../test_sign_parameter_selector/00010.png | Bin 9925 -> 12244 bytes .../test_sign_parameter_selector/00011.png | Bin 21829 -> 6218 bytes tests/ragger/test_blind_sign.py | 63 +++++++++++------- 172 files changed, 38 insertions(+), 25 deletions(-) rename tests/ragger/snapshots/flex/{test_blind_sign_signed => test_blind_sign}/00000.png (100%) rename tests/ragger/snapshots/flex/{test_blind_sign_signed => test_blind_sign}/00001.png (100%) create mode 100644 tests/ragger/snapshots/flex/test_blind_sign/00002.png rename tests/ragger/snapshots/flex/{test_blind_sign_signed => test_blind_sign}/00003.png (100%) rename tests/ragger/snapshots/flex/{test_blind_sign_signed => test_blind_sign}/00004.png (100%) rename tests/ragger/snapshots/flex/{test_blind_sign_signed => test_blind_sign}/00005.png (100%) create mode 100644 tests/ragger/snapshots/flex/test_blind_sign_nonzero/00000.png create mode 100644 tests/ragger/snapshots/flex/test_blind_sign_nonzero/00001.png create mode 100644 tests/ragger/snapshots/flex/test_blind_sign_nonzero/00002.png create mode 100644 tests/ragger/snapshots/flex/test_blind_sign_nonzero/00003.png rename tests/ragger/snapshots/flex/{test_sign_parameter_selector/00013.png => test_blind_sign_nonzero/00004.png} (100%) rename tests/ragger/snapshots/flex/{test_sign_parameter_selector/00014.png => test_blind_sign_nonzero/00005.png} (100%) delete mode 100644 tests/ragger/snapshots/flex/test_blind_sign_signed/00002.png delete mode 100644 tests/ragger/snapshots/flex/test_sign_parameter_selector/00012.png rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00000.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00001.png (100%) create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign/00002.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign/00003.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign/00004.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign/00005.png rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00006.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00007.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00008.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00009.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00010.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00011.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00012.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00013.png (100%) rename tests/ragger/snapshots/nanos/{test_blind_sign_signed => test_blind_sign}/00014.png (100%) create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00000.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00001.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00002.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00003.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00004.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00005.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00006.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00007.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00008.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00009.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00010.png create mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00011.png rename tests/ragger/snapshots/nanos/{test_sign_parameter_selector/00023.png => test_blind_sign_nonzero/00012.png} (100%) rename tests/ragger/snapshots/nanos/{test_sign_parameter_selector/00024.png => test_blind_sign_nonzero/00013.png} (100%) rename tests/ragger/snapshots/nanos/{test_sign_parameter_selector/00025.png => test_blind_sign_nonzero/00014.png} (100%) rename tests/ragger/snapshots/nanos/{test_sign_parameter_selector/00026.png => test_blind_sign_nonzero/00015.png} (100%) delete mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_signed/00002.png delete mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_signed/00003.png delete mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_signed/00004.png delete mode 100644 tests/ragger/snapshots/nanos/test_blind_sign_signed/00005.png rename tests/ragger/snapshots/nanosp/{test_blind_sign_signed => test_blind_sign}/00000.png (100%) rename tests/ragger/snapshots/nanosp/{test_blind_sign_signed => test_blind_sign}/00001.png (100%) create mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign/00003.png rename tests/ragger/snapshots/nanosp/{test_blind_sign_signed => test_blind_sign}/00004.png (100%) rename tests/ragger/snapshots/nanosp/{test_blind_sign_signed => test_blind_sign}/00005.png (100%) rename tests/ragger/snapshots/nanosp/{test_blind_sign_signed => test_blind_sign}/00006.png (100%) rename tests/ragger/snapshots/nanosp/{test_blind_sign_signed => test_blind_sign}/00007.png (100%) rename tests/ragger/snapshots/nanosp/{test_blind_sign_signed => test_blind_sign}/00008.png (100%) rename tests/ragger/snapshots/{nanox/test_blind_sign_signed => nanosp/test_blind_sign_nonzero}/00000.png (100%) rename tests/ragger/snapshots/{nanox/test_blind_sign_signed => nanosp/test_blind_sign_nonzero}/00001.png (100%) create mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00003.png rename tests/ragger/snapshots/{nanox/test_blind_sign_signed => nanosp/test_blind_sign_nonzero}/00004.png (100%) create mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00005.png rename tests/ragger/snapshots/{nanox/test_blind_sign_signed/00005.png => nanosp/test_blind_sign_nonzero/00006.png} (100%) rename tests/ragger/snapshots/nanosp/{test_sign_parameter_selector/00015.png => test_blind_sign_nonzero/00007.png} (100%) rename tests/ragger/snapshots/nanosp/{test_sign_parameter_selector/00016.png => test_blind_sign_nonzero/00008.png} (100%) rename tests/ragger/snapshots/nanosp/{test_sign_parameter_selector/00017.png => test_blind_sign_nonzero/00009.png} (100%) delete mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign_signed/00002.png delete mode 100644 tests/ragger/snapshots/nanosp/test_blind_sign_signed/00003.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign/00000.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign/00001.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign/00002.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign/00003.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign/00004.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign/00005.png rename tests/ragger/snapshots/nanox/{test_blind_sign_signed => test_blind_sign}/00006.png (100%) rename tests/ragger/snapshots/nanox/{test_blind_sign_signed => test_blind_sign}/00007.png (100%) rename tests/ragger/snapshots/nanox/{test_blind_sign_signed => test_blind_sign}/00008.png (100%) create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00000.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00001.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00002.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00003.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00004.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00005.png create mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00006.png rename tests/ragger/snapshots/nanox/{test_sign_parameter_selector/00015.png => test_blind_sign_nonzero/00007.png} (100%) rename tests/ragger/snapshots/nanox/{test_sign_parameter_selector/00016.png => test_blind_sign_nonzero/00008.png} (100%) rename tests/ragger/snapshots/nanox/{test_sign_parameter_selector/00017.png => test_blind_sign_nonzero/00009.png} (100%) delete mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_signed/00002.png delete mode 100644 tests/ragger/snapshots/nanox/test_blind_sign_signed/00003.png rename tests/ragger/snapshots/stax/{test_blind_sign_signed => test_blind_sign}/00000.png (100%) rename tests/ragger/snapshots/stax/{test_blind_sign_signed => test_blind_sign}/00001.png (100%) create mode 100644 tests/ragger/snapshots/stax/test_blind_sign/00002.png rename tests/ragger/snapshots/stax/{test_blind_sign_signed => test_blind_sign}/00003.png (100%) rename tests/ragger/snapshots/stax/{test_blind_sign_signed => test_blind_sign}/00004.png (100%) rename tests/ragger/snapshots/stax/{test_blind_sign_signed => test_blind_sign}/00005.png (100%) create mode 100644 tests/ragger/snapshots/stax/test_blind_sign_nonzero/00000.png create mode 100644 tests/ragger/snapshots/stax/test_blind_sign_nonzero/00001.png create mode 100644 tests/ragger/snapshots/stax/test_blind_sign_nonzero/00002.png rename tests/ragger/snapshots/stax/{test_sign_parameter_selector/00012.png => test_blind_sign_nonzero/00003.png} (100%) rename tests/ragger/snapshots/stax/{test_sign_parameter_selector/00013.png => test_blind_sign_nonzero/00004.png} (100%) rename tests/ragger/snapshots/stax/{test_sign_parameter_selector/00014.png => test_blind_sign_nonzero/00005.png} (100%) delete mode 100644 tests/ragger/snapshots/stax/test_blind_sign_signed/00002.png diff --git a/tests/ragger/snapshots/flex/test_blind_sign_signed/00000.png b/tests/ragger/snapshots/flex/test_blind_sign/00000.png similarity index 100% rename from tests/ragger/snapshots/flex/test_blind_sign_signed/00000.png rename to tests/ragger/snapshots/flex/test_blind_sign/00000.png diff --git a/tests/ragger/snapshots/flex/test_blind_sign_signed/00001.png b/tests/ragger/snapshots/flex/test_blind_sign/00001.png similarity index 100% rename from tests/ragger/snapshots/flex/test_blind_sign_signed/00001.png rename to tests/ragger/snapshots/flex/test_blind_sign/00001.png diff --git a/tests/ragger/snapshots/flex/test_blind_sign/00002.png b/tests/ragger/snapshots/flex/test_blind_sign/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..e903fe8357b4495349124324a6958c7b39bf84a0 GIT binary patch literal 23592 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_blind_sign_nonzero/00001.png b/tests/ragger/snapshots/flex/test_blind_sign_nonzero/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..a36989ec6657badeae9bc5bc310ff0e1eeed7822 GIT binary patch literal 10573 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 E1JbWOg#Z8m literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_blind_sign_nonzero/00003.png b/tests/ragger/snapshots/flex/test_blind_sign_nonzero/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8ab9f82252ab2c4e011e2e5111a1a9589035ff GIT binary patch literal 16046 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00013.png b/tests/ragger/snapshots/flex/test_blind_sign_nonzero/00004.png similarity index 100% rename from tests/ragger/snapshots/flex/test_sign_parameter_selector/00013.png rename to tests/ragger/snapshots/flex/test_blind_sign_nonzero/00004.png diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00014.png b/tests/ragger/snapshots/flex/test_blind_sign_nonzero/00005.png similarity index 100% rename from tests/ragger/snapshots/flex/test_sign_parameter_selector/00014.png rename to tests/ragger/snapshots/flex/test_blind_sign_nonzero/00005.png diff --git a/tests/ragger/snapshots/flex/test_blind_sign_rejected/00002.png b/tests/ragger/snapshots/flex/test_blind_sign_rejected/00002.png index 783bb5b6d5b06e4e0811c64a76bab0c910bb02bb..e903fe8357b4495349124324a6958c7b39bf84a0 100644 GIT binary patch literal 23592 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 diff --git a/tests/ragger/snapshots/flex/test_blind_sign_signed/00002.png b/tests/ragger/snapshots/flex/test_blind_sign_signed/00002.png deleted file mode 100644 index 783bb5b6d5b06e4e0811c64a76bab0c910bb02bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24507 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 diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00001.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00001.png index b991ceb21d9d12511903774b595171351a7636d8..60801e8a99dde6aebc565ecef8a97975166e65ae 100644 GIT binary patch literal 7472 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 V_6u1D_!6q->E`%n< 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 Xj+{8faRr9IDlSg$KUbf+a_7GQuBEEy diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00004.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00004.png index d1bf336fe8592cfad27845a59e566b71ec2a2b1c..bb15d3482192eac9f34912e2f753c69a912e8008 100644 GIT binary patch literal 13237 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 literal 11074 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 literal 10363 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 diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00007.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00007.png index 5cf8178e8646e9dac74f0c2e144dbd19907c6a2b..a36989ec6657badeae9bc5bc310ff0e1eeed7822 100644 GIT binary patch literal 10573 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 Yb5G{quiXS6zQ|m?482ry;r9Li0z+`^>;M1& diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00008.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00008.png index f030fb1b24a8abb8983306a75e996a6685fb1771..e903fe8357b4495349124324a6958c7b39bf84a0 100644 GIT binary patch literal 23592 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 PvRn`&%WE};w;%i$RbbJ4 diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00009.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00009.png index acbb161dfd465dba1fe0b49424f867d887f47c32..fdf1457d2ad976124bef85c866bef939a98f08b9 100644 GIT binary patch literal 14510 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 PWHT}_yH#=H@r(Zj-Ag(M literal 18507 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 diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00010.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00010.png index a36989ec6657badeae9bc5bc310ff0e1eeed7822..aeb3c483dd7b512a6f44ee012ffa99df34e33a55 100644 GIT binary patch literal 13149 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 literal 10573 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 UPsf12D=dzNgdJ`>c;@PV1L0-a-2eap literal 24507 zcmdpe^;eW#*fk<5Et1kAA>G{}ATdZIEg&#McZVRMq%;i8$j~9(AV`jMNp~|6L+5w< zJkR?6fcIPPFW=&aS;K;J=A8RF*V)&;_MR{5YKnN+6xe8JXn0C*UTdPEJy=FVLw|>f z4*W)-H%}1_%`{l)wT!k`2C{V}2_`;Xi^w=->Ijhz|M%ykTnF7U!9Ia1CKCn`ddPd( z!*iJ0UQt{QfoxCSf&Xpl2E>9+xf{-)JeIw83f=O?Ktp@Meb?@(2Taf*OaMkh!z9M! zM?=HF#-IRZeuR#Ph8Bb#^cd}~fKPY~E!Tn3#;qJqajE0zQ z1~eIP77U+fyO-1apcm-I)2H0HUEDd6Xr*R2K{0vEF&0R!F7Bv1YE>Q*rUD2>FOU4^ zgJMdwWfD8O5lelWK*-#go2a~oHu0km-Gn~hM%yX2P~OiUizCr4ESDKqxE}1{b{ts1 z=!M18nzR&3QES4(t^vQfac!ssmEzeEaAlY?8f%%oq0ZgJTkT7CE&M{Uoz@P~5l$M-OGdZ6%@OfC*%KN+I zIT>T44V(ceG(JvE;A>NBb|);y)q5 zW>m_P?W?no?OoFja*I4(3pZ;p;xs76l91oFf_EgSfg*|)*71{y_6&A#q}mRy*NzGY z^zw^nnWTO}W3qz>Gz!#fjV|1phpUl|*a zkBL=FWm%H5$S<91ndLAR&*f&m1cJhkuxfP401758TS;69GaHF8u<4L5TT`b+lYRf> z*~x?oM?M8pBAGa=6U=dJj6eT6kbhh7sUWN`KZ#D{`K?mcmUfrG7xLXGSV0cYgH!yG z8;|@iAud(yuw^~A-ZBAD$azTQ-+kJb&LP_&-ax}->4FL6UeVtx#WVOXC9txL8vWF^ zocO$@UGL*>6BHp-peBRfI`*0uwsE-fd4@1#$_<=(divnKg~y8#UbmF7j~|zOOW9SF zv%%1?FfNuomFFR~rN16mGh4s?u~ZvIBr;nMm)k?D6!TyoNn9{n>`{vMdS>gR0oNpB zhQfxeWash*LI_Gj1;1NDY&mVH(L4rX9vS4Dj8@VQi?2a!Y;*SGwyg&qZxFtgdWdQC zh*XCO!x?vl?uRoNbUpRpeZjs?j?UE&aB#TiM9Hh9zV4J5Lj&?8{hO+*p={Y!8eB6! z3rpL9vWFc3Gm6kmtZYBCfIT)#n;Pq~KYsbnDr_*5dC*`i5P+Lhjq<;;WCzJSB|{bG z4aTe7(SCFJl7Q)CGn4~OUeDDnEiJ)ZO9y|C=klJ+jXLf%>2kGY>`De=`#dANd_#8B zsrm5l0?rU7j|^BMp+O4j`;BckMGr>m?3H-Ii;b?9;KRgCMiiz7NKEiF^o}>FrDdDg z2CDjEd@Gs4Ndwp=(=*Y>g9QeDfq^K3D2JgW7*)*>xjZzy>j&=9gt%S(fVy=?4^K=l zOji3`+5KDb4lTKg#e@9XC9(I8R zXk6-aD)-th;|Tm3`s7p+Wq{jfwVrqa-g&;4r_~ad|JZ0k6m36p>F?EY$To9C@B|I* z#^HbWqFHQ&u-ji1otgQJhUp}elm$M$tfg(|vwe!7&kyt8=z_*hAlTHgXf7x${y1DtXyaJ0yIur2Kv`Wp&o@*36nBHPi#U zUTWt`7I=FbKueOt4|=o|AWp+J=-X=lroE<_@JSzcqRJUmGdltgJ8niHM=@QFbi2q`A&#NHl+=smCp?2?{1M~GTq=Le z+D!UFiiKD`;tDFAv*0aG1E-4m!*}~KTF}tHn4aZxVv4NQjC4*(F@?Ks?yP=tv|#qs zM%3Cn;ffU5EF#wTS7U{zozK8rQ{139I3(E;{&w-;yhzqheR zrNzog7Incp>wAx`F8w@64}IW}D{R~O1J6NX1I9~#A;yz7DqqWHucH1d53Fz`#+662 zbF~YMtwFVv>LvFI(tx;op9e;AsQDR>iv*0+_iA2f&{W0ZcWfKAsG%7HS8nDLAPE&> zSM)we9<*ZC;2BX32IP|29%`xLy+i$WJxM;__{}!gZ2|hQ{?7zZ!w<^nHQ@zI*oW^w z>^=`zijmZ7B{uI8L@)cZr607}szz72F`D6>nj%{>i+wQCzzQ+{9xaW+;gR@}B4Fni z|0D`lyw&}Ex<0Z3+Si99B&N)t(b#?JuNMDdms&QS0XR(b>2QszMShU+^loL5_*dZG z8tWdYS|3J<5AS^X3X>z()9wUU#iYm*cX1nWk_8w;plZgm#QsaBoMZ!X6k&8R7QC>V zJSL@h)TJH%N3~p5a{1ATWp`rvL`8YMve{8bx)!P*M0w1t2$z#BtrP!1(ahO8oyk7b z{NigSAVB>EE2dKf61#9D`vs2NW03jAH;d*l;KP#6y&m!NvnZb9^p2UZg8d|SLork(i!6ezF<g&OQqlux~T%D<@X|*+Z*a`}jplHSv-eq>euJY+b-f2N&w6IsU!F$jo z82c5O#&qon6)i380p9qB1XfzgFtdT>dGL@w`pkFJQBDVexEZYrDti(c*X-12MX%GE z3a>6(fqJTYLN9Te7QGEpp&8=5MtQ1UOMP7(9i60O!Mhxa=$u+Ie@p#Ehx+opp{?r8 zDnT+{N*NSsqL$W0oB;!nB}{a5-stGeoAXC888rxgE|S#Nac?#8mMg3XnT7riftZw< zxpD@4bZvK<`giG=`)qyz4rlQrZ9)aqr6Qb;ly}%(y9deQG_k15Uxo{Gp)*wkgRQDZ z$R;&Pf4JYdlqhwts-Yi&dBrmbC)HuE9+*d-(d6Q`H~p;>bA?!s2JumZENk zm(K8jYwCp;YBVIVd=H$X8u>Uxe4B-xdQJs6K3_Ua;)RImuxqFsVig9CUn~&A$}RX- zY(R7^cUr?v9E_vH;NuDLVMvETc`E1|H`_>yvMe$D)LuZ~Nb_? zeuhAcWU3N(yycyobF0Y)3F{cY@wXvZDCXZlYMJ;Du@E{uJct1`^f+4vlKcjM4S}H9 zB6|T-YpJ=ftsz)kBg$f|mZPdJ49^3lbTU2l@nDJ*$+Ir*zml!tthVvgq=kOU0g3R1 zDiMKm>Ac>9FZb)8j<=+0(}7Pk-2=*9?Y2CQG!s}n$RwpaSx2BRZGDisY+IYA2A@Tx zY4FxP;h&_r2AS)hfjQVC)*6^2P?xGGqX~)r^kMCU)6i7c7m5e2oTbOFNoFLg$$wIa zb7tWI!zT`W*SB#PHUFR$swz^K@^=ai(pnYaeaFwAo`a5!eK`CUtpUUsX((wyMq(~? z8*)8fDlJ75JBRd;%tlmwbACF=TdikCKk_z`(GILnd%C0{Z>ay72}2f!T^bHx;XK90myDhB`LYvlm&f$mM74+Q_Cg9becZldj~@4nC>gJ)m>cmQ zLRp2n-a&$S7rW_qYi^=Nl*P;uMYx`Ae+UP~YTMxVbYgYq9?s=o`iESyMS%P=@3@W@ z{RF3zU~*eLG3hcXBqbcFO?P%{dHDt@sT$8P>`KwBJ^C}xjPV-Nhjh`})8Sbz0Ueo% z9A*NN9(+x2N(RT8`Z`^^TpDYby(-`XA>$HomgJQdjL1P|r}^2;Pq=zLe=Lyj^$9Tm z#Y$|*<>R`GAK7BB)F$Div~SRLUHZXS8uOUN9U3;GY-Fla*76DdsMy+py`OvP&D2%k zjAPgy4j`sBmwY_;w;v%_jfkSD!-v!DDG-zgE{&LqEf5rj}@VYWFYNlVOd^m=@JfHq2guNr^)(M zR+P>cW_#mvA||Cg%_AtV$SgrPS#Q7HB992?=`jkWM!C=>7~UB zU$sJQ<>sKyEyQ^sHA;614)rnMNV^o{8@%WB!R@ue^$|4u*n6ynVre1n9G$Gf2jAV+eXn8`~RsoKqXM zz>fHHF2-@;)VxqLw3evp#j+0h<+*IgCi07cp(bpECLwuTk}MQR!9R4e=D&EpY%U-7 zbKws@TKzpdiCq28G<+LAJdE@_t@E?x-;ES^;ScA%sMosU#C>gpX=_x<^;2~h^xeB>*Cyvl9KVg)WAt)N_eg94)L_XpE<$t5_#=IoN4svBu*TE$E?`nG{OutDzD zlb=M%V|5PM^OT@GwDN6rLWM+(MY?*o3SG6r=Y8F3`XiEvcx#W+r{hzG7By?NC$d(y zdDv;0&sXO;X>5;iI=8mY&_Upb6xagWX6B8C5rgcSyC>1R78=B7d@XvU$6n&Uyi0Z+ zYWhhg&rURZa$n6yVgP_^@xT*hFI+}%CUrihLO1+9rrPEa;xs48F4`)p57ghqZ$=K& zZ+W-o(;8#NqArrmM&#WnmQ{{iEn#Y#-9X+nnpAKNETrY%(_NaaVUOSw+t5nYW0!J; z987H=x+aAsF(^UdhMO{4C=JKi#>*CBpq!qoOMI&0;lv4$BQ}H4(MlJ*JKVT#)*>lu z8-G6g)c~kzKh6^y;HS`nqM3?;mv{dUJk@dFL3syym>I!Y%y^}~Mm~h1){jUp@v`%A!-ipx8#u;g$02A@q6j>qcsM|)PH9KwzGK^d!QcH`kOzH*+#3hY>2={X(6p2+iZq3*fpM&k5S--jRGqT9Fc zX5}!=8cPgJnBPZ~?^&(Y&KO#HC>;yOY)k?8y}Fqg5xL^Svr{Nw!aAZd+_0#=muCNm zLCK1?f3MZEl|_~t{*Yih#bU`9s!257UT~Fqyx>sWwar@_tdL&MhQxB5di~CNq2+BA zJ6{RiJjWhrK<{d+MJ%GWMWvt~1*Y58V#)(v-F6Q$3&Og`rb z**i!i8g}UDE8(HAMD=z|z|5nSY86M39)>lJ$qyZ@Ps|Gi4zZ(jHTMz*|F|RfTlYXm z9u}exg913_+o~;o!VZPIH`!rgv@Z6Uniw3volCHmK8?1}UE06c#~84+T~uQO74yqW zSO^k$m;d4-$To75W%-vrSmpbss~ zMb=ks)#U{zTtoL}aroOw>!)qc9)xt1vgjsPEHNWy#7 z)YGhFzpm*!s+YWh^w?|q<0omWku*rXDxYJGSKH&>INayc8|(IUTK}My{k35C6``)^ z$FpR~n6*6Sp)J&<-&Bu6O^}uSM-%_T;$5FsU7h?)e^$-;R3rv;>1MO_#7q3*ft6AJ z;456he8}$M?^oWdcM?AJbBc1aKdh1(sz(08ahh1gX?KHR#H9ev`ShsnnZuZVnj4LBuuv@E zO0;(mCus ze4KxYDQL$qvKzb+z!oSA#Z!H#qjjEpw%gHD1&>6;48^8#7?EyY-#S!hCEqrww0tlL zo^J~PHJRjCYxPNFjgG1BqFGN*s(lLsLGq%<=>KpJJ#$-U7?1SZlxHNUdgw&S$)QgK zUU}n<-PvOo_hb-d|F$5Zs{)hm6u7|in3+p7GQon`8s2hqb@p>6oMfVqxjLYnv?4Cz z)zKTPLvC#qTscDFmil9&`8A{)J8pSUeh}*PG~c`3zkjpjDc%8-@lSxBZ&jAH{MJUH zBIoUF>{H|=Of^xTf{?$)0;S(wpI2NR?CU4{91yGc_gG*>Qhi+VVY^i?r->a$lCAlZ zP`(~HyXtht`Qe3yFSTVu()*pXb>QHZKjeWejo4d8ZIPDo_N9ZHZ*4SpXH2zG*3IPz z)V#tctG!K9nK{Y<*dDe&Q$&jQ=dEO`SH1_zT3+lw1|R4$J>!Hb6~_4aa`uv0>>}(}>_p6Nf)S8U#H^BP>>X>bJ<#%t4%rz++6ZLYY{>;rZiC~_*l=Jp9hCWu> z`>k;zVVEv2W}W}H+1e05n??n}5}yUQGuPKj_*CGQfZ zq5>S2y}d|D+XRPk{tcpr&>s)XNCmR5*@kU65C9x0HpR-4!0kFeuit$*Mo^%B{BkN? z8|cDZNaw~Y<^3K zDLL~Z*ra_ZPT~xO4qvXFT$KMU)fGC=9x#j$sPWU!1q~kG8FVdvt3G1)6i-iMuXZ;i zmJxft%Tc~3F0jMmQ{nMjIop}dEc)Ru&JTiyW{7Oxw68mn9D>ms@eERv1z_kV>Iv!* zPI$Z0@>Z)6XEGz^@LNtD7dmm(fSp;kE^fbofZ~#&s$abL299I-hj1>$SOAEMtAX66 zbU(nRd`^Y39Dt)+=-7Np%VKl}@O8-sS+V%sWSdigw_r523c7j?8 zdPOI59MGOUyfum;cIvva^NJk_PFQu&o%9QEsm;VLx*&Qtw2>Gs)ofQo+RY9%s$BfW zt+ z{W6+Wl~E|%>=`yyV=z{(dy!aYqf(gK6E}R!KR+!VC)jV8+Qqxa%yv+d#3T^65uYMx z8EAjvaYo4g$R|2?s`-!I82)r-5tdhrpY?%%`B|C(W2q+^Wq1bE&{6G_=2qmOt>qSP z#T8L2d{MnHAMnl)F={7O_B3g$ajdj_uZ9c^3xK&70UZh*qRDv?)W=brQG7N;yn_L> z$EJFNq}>9dXdN);X^ZtXA|Xfpe}7< zv#L9ucsTbDq#7Wc68q?p2F0-b5@v82_aM+j^O*Mj3^|UOP01x>BiON>oT4=VPP^rF zV?grBt&;?^E5hLpg7!*e!B4+K1b9>`RbMSfvF`gMs7=~va|(>UjSqpZ7klJdPES7A z8{S5!vl&mjwCL!DBrP^C67Q)TuA;%I6%MFT4|3Y_8kb!Lm+pMN{?^V>q>ZPj;vG;* zj05f**AnoYPmIau(ov=OKA4{I^vt}YmdUD$XG^MEjjq;Fso&(R?EXK)?-}cPvUziIPj6rc1=hO9kFV(M5%o$ZPyQ zx2<`A7fNxGx&c78n3I1li^NB{1izW zZ8i9bPI4qpDn%Mt68%pdLchvPQ1OM!PE{{{iyV^o*7J++F+m&PM4<(Ce$oYB6{nCJcNh(Gxs^#Tm-C~yKKK;t7XX<(5~=xFnp@;Q^d z5;gPvd%6J{kq7cl%InI_fu~# zw;c;u51gWh!0EQ&6v5`K^?iz&h?z3nd3Gu&teofbxosLRjK@ryhZJny-e<#eH5Ih7QN~A@#M|KEUjfUjk{Yl z!4KsdWt~u@r-4tLbo#FNWC|JU`z3u+44>#wIoAn+$46cqa3uh5R{bi?s+{R&C)mCR zV1Yuo7djaj_iiS$?_6KE<5A=e)I^Bn{}r_?hmQJo6+U-NQ``-Cl#A3HbGcJ@nyp-bRcEYQ6H05Ggky@6*3`*?p-(++<}<>_h6Wx7-QBOaXc0eZcaLNgSv??j;9z`k-eR4>I#r3(NBK;isGRVX&+IIP9d4i{96ZTz7N}8rP%e*zT z%XwnU=FCwzt)|H;)?hW<-G-TT^a|H6KN=%`~yu-7+iZDgnw z)Y%V~LeI#+~Xpf3bk2cv4ayV(q1 z4n5k~RjOyZxT#`$KX1@!1hpU=IN4hjqT!I;rp@#rOZ{ZanF%q?Q%;pP(Rn{vlquHq za+fbZI5d8=WoJL+{JX&k`O}>xbo`uwo6&-tTu7J3!(`?02}ylRu|qY`PV|1NQ}1v~sM6>htp@}ecx z1wZEV=9_Fmy`rw!y4#D3ue6=jhhncE;e>QmLluRNQD0QjNr{f` zp*#(@A2290*5UvP4gh5Os$$D1)OgvUKHssz7Dr#bcs=`4O6byd;i%0gu&`;Q4f|}r z@5ytA8y20*yE{_W!_!j%9n|?@GNu8`8>-&j+A2$ovQ{5f#IZ-SyRoNacI`DNAh&e) zD;%PuGrd<^%vu&Q%A>q^=yJv^G(SWR_Errju{(nPy20pY|j z^dy7aw)_avf*JjngdR<3YOP$QULUnxA5Q9Ba|Q-~CkfJ8;hi?TAWsD{%jXnZ?>kEB zSemY42rr=Zww{hx0Z4M-w z$y@zccGuL;`bSj<-))|t(i4_&hqq7x?KrTA#e$|8OnxD#zRR@x4cax05DNnQr|z*( z+(a$us`0B1GCF?5BSV}9;kPC=(V2{nUK9%FJ0Z&JwN%b+ZOG^v!R zZmD~u(xEQVe82`f2^T5;fQBB$Ped&YY?xG8&4Zo=pn;0uob8>yv`^ti$bSZ zB3}M&p;2QP1Q4BOJeTtY8Y{hP9?cNCZ|v4X|IIsH%Zw3CI&ld>8s9I_;orIOK77K3 z&SCw)w(Vsi{VQ#oxHyVe`Hjy9avKjGzZ}_|XwwMatdBswP7;`IuwwcR4x*@19cRNs z=w#OzE=2y95#2f5LJd=n-fxZUjk~7{N_OSQR>1(8!{WpCE}ONqobe>N z-?3J_)g%Yr3N;t50nfsi!BKhelFx3p>DN_iQedbw7ln~WSTp(Cmj(lg>Hp4Rh&TA6 ztvuAUQ=2i=jo5eQmTOZ+2(*@QQ3_!5e;NWbgDEw{f8J!oe!yxi{FdfYBmO-9?ZScQ z@ne&&(}J~Wfpj&oB-H_&xP&5aN-UQC=1RL+dTy9;p}42yWs@Ih7w>Cv@q}N9d_tLs zQhecAe$wOZYEPVlZjA!mPUkjKNgj|1B9~o7;AwujE#t;4F(tyLB{Le}xI=J`h_zM( z^{ibtgI$wU8xW#W8cBK@zgBfWzeMo5U%I?OwCdxm0#r|35=W(r3-qBlhA-roL%aDW zwD#y)ar1W4#YmVMdB~a{hgLN?2p*D3_8hu}vk%d8q}fljY*fgEG26`PdTF~vk5jGw z(;E0`T60h7U$^vC_M=qcdN@@@3n_uKeS84|r7~wl`>yRioqa???lx{Skf_Q(@4pfCO{8My|j&q2AGdz+^#abnQ^m>BB3Rb+l` z((n4u#di8PJ)Gf4;2;!Gy~7hoKCw9`i^cYhBy+*YPuBy9{VP&X+;P@B# zL(w+pSrHiyh0t z_u}XL~BBBW^&DP#jHfo9i&J)1Ij)iRz$9`2GJ=ix@A(&v1p|e zRVryY$&y{a`&qvbN6+5-58_qW^62qKFj3J%X`;QO?1OF8Of|FVM((>@@*@16*x=H4{Z`_$b_@t`Y@nVoWa--qqI za!Gx3u+vPmI9;a26mjZ94Vr=@zI)T%|7|qf@5+!QO5X#`0h9QSI>r1aNBXQo{2;lR zQwMpC0W$Z7x{TG_szG?X8GEk(eIBiaPuUtP_!@T$=Ua9O2iwAa7wR%YVlX9C&Pki= z@fSZM1UK$Fr9(=W&?T;`)l|$QK(-nn z5xn*|Sf(fb6&$x~b!vE~oBd{uR9jO|-V23P&u^oaT3y#e@8G0!6CO&b<{r+5p)Jh5 zIy$h)H}OAbDrXj7!dJ6{it<W%*g*Gv1A*Ju7KEJ1=Lah7RCk}3jFE=a}KM^Mv-2xz^AHOl8vG|d90l^eB* z46L@Tf{kIat{Tg@B+$Q}R6a<1F5sZS-T@QalJa{1OX z(d>Cluf@+QLKt)L9`rtf4XS(JRDP)t2&km+b4tv0x~l1XSP?7#OHEZw*k9)6*#xL`Uh3_J&A9 z8uw%ROOtMNpmdPJbY+7N@%pT9xa0yz`j^!~qjRHCTU(o|?cqa7DXChi;};WAejKl^ z4`tUe6z^`FVgfgSNL92G`spm1>BS}Rm+yYFJX@Eqb`Fqo>cP8B3L3AQYu{4$AJ}WT zUYf27w;6G!AVQb=Ay6Awhf1y)m5#l4Oh%Ip)Y?odfU1{2c(kreRD%KE_HZ;-I0hyD zN?@H)o#-$ldbAf;AiwH49w^aLvI1h~KDtrUxRe z*QqIjCe|Jk()6G5n|$5z(;N(nMl7uL$_OY5^|cL0rVe98hnw8L7Qf^(MOld z6;(R%4B|585u^OE^5}!KX*ZpJBUa2D;JcyBE%htm(F23~ZjW6*ceKdY$_`YuEI0sI z^2lr6L5Krx;uCJm%G6G?K3!5&sTfqpAD}_ZUn$8t@{BT*IU=~cWUp!Ov{>Tsm&)c6 z_S6eFz^N4d`w?rJ%+^I3ZXQ!6QG)KkFRuM0mmGxJ9G{z;6&j(m-|AEL*A8Qh z6u+8F4iB+f-qFb6h?a^F%#m@f@qSK=#gm_q!tJXdlk@Kp!wIT0g~iw=gTnoZ4cHWK zr#VETUfmchu0#F$_*yP=Zou5zDmh4C1g4STdQ7d07F=h7IpCBBRmwv%Z`0kf@(qw`mVEJAWKl$~%}qYmN^NS7nU!S=kLoxa_2zKZ+){!utiNc9aM z0v~ur=ooJH?%U9_^hr>L+AGxatOY;O%)T%P)S-0qrg$T~f`1kd_gA~sFWZ6?` zOh9hmx&IK)bR2sk>N$4BJobt?T_I{~YwM+Z%w4N0=TEItta@*$4l@JeWXs+CA^Q}| zG#|`<_hqfLeIcDx)(@b)hXm+`xXy0OQh(e3CjrAnphHMs|}x?S2L$D(;R zc_Ce1FjbL{K!eAC_M`vzIBDBz3`M@kS}$vDhlb$T&F{`UP(lzVBdln|fT;s)pE)^0 z80$SEm_o1mZIg&Tfq}dX*RgrDchQcz=E-8=XJ25;J$`y1qK~Cj=lmP@L|v~=3+KTW znEJ^8oHr<#$iNWJw>6;i&MKh?H@S?Y7R~gYgCoTVLI1HLKCh z+(V8EJ1fGNDF9HjhG_EI)wTSy;?GD7AGa zaf!L!H6Bqkla%Z@x4t8i9Ev%;mk%5joVg8|US~Tso@FlFlHw};o^3x#geQcm*GfDe z(41MHJMmac>_e|_%O#Ql{kzF;>^f@X2KbkOjtMT;6}jxQn4`ZN9v1DX4IoCqcfku1 znsikX_X4=i^sl7Wm8SGHdrhP2q983Z8APVS$j?hZnn``hA^P|DU;=FUH^gp2(&xJP@-w@{B$Z4vC?P>f!;DtO&2ivd2Hbwm?D@LIs<7I)Tly6mn)C(G!UK)h z*t5|lF#NMnVoI!}xyN!DGNPdmEi_;=gp>Dw+d6oe|R1Shin_o0#2q%o*?X# z4Hxn-x?vQ9l3D@Ltp?FH9P*~&@@WDC3u26TYJ7(uS1uV~!A7mGe2u5|lS$-ddJl!t zZrIS!erHKPf^J{8mG5nD-I~QS?3Of@@3377#;ln=4>Q}ozH<`R*6Dt_NfoQ8qrG&l zK`a0wk{{*9wV%_}nAIBrqjeZ!8ssSPAgU%Nbg}A5xz7FHUipe!H${Mx~{5p!Kl%)tRaQ0)_94Y2kL|)TPuc zG4}q5yAk~~qKY4SQ5MhW;7iy~)>ehTXq-4;HcO>ITCZN~7H23G-c5?OKXCyC0Q;}1!v zzjS|W0-aJlYbjSw7M}ME4s4pt-4i`^ZRfoDi0^mIw_FqC7{&5mM+^PoPreO9k ze~1CVhN~D)XJ=;vh*^H}9pFq8JcG>XHc}rfmEDK{(6!-)L|#KDDSi_UX=`tXNT;2g z0E{0aIGRRYBc4G}895q+my&CRwFb+HW=9{n$x9{KUeNCge;X#u^h;^K(B zoJi`h6`(B**mcVHM2Ar`2@V5Ra#YZi!#`2M_3HY`G{Zw;Mi3}=IHWZf(2nX_JaZu% zd(3DUH{KC<c7$J==57k`U}UKS|3XOT&Y))1l|8*?hflTD7N0XmX&m)*tjtTdY8wm##UdL0;Hi!BoJC+fAovUtiiM^Hi%#ia*@e>-7BcZBMf?jUiVlhCBIg#rB zf2{_d^ao3fO1!66cfbP0%c|HHT)+`|;5pq>f50L%BC~gW=hCPSo#w^`aGTDrwv-oP zf1P$WfO9OfsYxD4f~RS|#VOgSwmNm;e4f#dUE5Ah@eEt2G~4oDK8gkdFRj)8^BCmc z!y(YEMpx< zh%|su+FTL=5|p0O+V!>XE+F}6Z);1|*4@fqLA`89EcqPog!!{YIR0T3pVMv=DbyX( z7Lmf*c%*r6G+Y{K<5*eis3Rrj1T@eA32zs^K^W)2R&zCUDdS z>E|(D-P~vw!0;#j(;d04EZ2_NAoghg+71DufsVY?Rz*R|SY6pMK#!!HmD&dk4YFN} zw!fXSO(0Wrk@k2T@Y1H1A5>D@WKvNqL((?Z$X>GEqjKviA;?*5`D8SFeCOoy@^Wi9 zyFKv!?h>`NwzlRZeBtwz; z#C3N$Mu$&HwlUldI9J=3LSOk*CSb`CgB|=`e>t2CmU53MH8e(EDN*$rK!{n!-)Gzy zqTFr>;jA#mgc+QZ5&%5!LV8xf#)#-gJ_B(rVh`ID5RWI@{Ed?)nwZfIzMI^P^G8PA z&Ks+c=~x&k#s6lg)%{EL6m2h~@^ZL58EmoJ0rJT>g4KdpjM+;wT4K!YaIs&wE07G{2T8;vA^uzcwWRU@C3z|u4 za#+=~JirZEF%3ND;(N}rc>U!$(;ZAbv+Q@PLXpyigc8EYNT0aCA*=m&Z37->hsDJT zY<{gKIyQIKqi3L4ScSRq<~GBLInW?(Xv`z|ft zWr}|gx{eo~t#!V!w`Z&EP{rQ7;Bdp%ZhPS4%%IXjT z*yE2R>bCPz`NP-Blt1&aCWabx*t~QwLAi0Jztn#8=S_0o(0f#pCwocF>5yBwiDr6za}gN@hpKvQ2n*No@F}~y#@)@= zGU{VED*#__`63E>-!@X0g{x$H^LhQsIJnN5evNuu4ixHXif(s`zju~eVg*??*?kq zXFGn9CFf5!Ph_ndrfd)1d97C!^B{mxMv-TZ|8Rd4N}n z_5CJllBqrGKA$;4e0b38M-li2m#%5pEb*%Yu2B)`BsIa}e&<)F;AoVg7s zND1+K%G&8N{*W>#pxlF@eTZ9>Ud~n>G-QIz-s^U54YY9=Hss!5uoX8-57*R5+I4!* zw1Sx|=LiFJ%e``C{uIb|Zo}~mLl)6gz>aSKmAjQU5s=-ZD~?>f-w5hTlx}D9V`5j7 zLOQal05iA(Gvt(siHl80&UK*-8HIvO4zkXeNKfQ46z6}ssDjvsOE1JsaG|9nwqUdww5jL7B z_DdKjmSs#$^zsGPifwPkBc-ohMz?-{d<@uKn+2(B{~~t(X|*+*jfnN|dTk3v)`X}! zTUUhR#`QjO0)O=FC(W#>WW8sl^a3C`)MzF(JwZTtAfb)@<0i8u<4p2J7QhvZh9US5 zt^c0ofAYl>iTA#qkEX`>@diuZj`QE7odPxYTV`}n%M4w`2L``5RQqX4fTEGyq`iZUibB2%<0t|bIL`o5x;1UQ1+3Q zr}?-NtZ!l01z4Ddyy?5ZH%ILJ2v&$S*-5MbR4iPiPK8l((M^5ivZUL3rhSRt{>F*b z6%O^cpjbnhGc3Tb#XN3wXwgD=RyE}(D-P_QZS7y{&y{@PKdJL&vrm{lOajswiK zXe7vT%BW8nRo-5h)V3R{5&nwasVg8baL&k%SbpBEn16P~%u>g6$QRJCQzO}XiAn@6Im$jt#s0gl(@?mmKP6S~FYr4b~Cp$w>f2i_dt&`tI>-C}lyjDUO|}gmM+8LDpc$cp zaFI$kq5@Lt1f0|eMaFO<-2NwxY{eH%CN!rG8X}-k9(3i-)TJ?h+F8^d z?j|cEny2uak4qS2vJSDzIaU(WH*~+xUaJ0k-M;pd;;gMI=Jj7qV}gg9|`Z&dM4d+5yHhLu`b>dhtdR=W$m0-l_-j*ScUo9yq%5f1N6^HlvE!u!c_U-bAl24k$K zPb9$A5F`fqrXp%cTd9710)Ttuw0=ox=G>l<56}4L`}7O1D?9Up@%1^|4W`4g>h#&D zF$@ONOQq)X)v<@mq~acn=G>TlV%{)zzN3}kiMjPfzRd|T_7%PL@tE_peKfv^+ow@+ zY)1EhMoo%i9{8^>_#m*ZT-F`9BAy0i3E4oyIWL2k5m1Txbm6l-@@cHNq|*s+#}oY z48qmy1`-Hd4BQNB)woAY1}Oocd=DC@bg2@fljU9&Q5`r}13OxKa<^RuC}cUL9t-y% zpN2vQBArR>h<1MLmfy+#{y%)U5CLwprr=apk%%FjbU8}d;i`D{Z3z_gb9E%lX9nhG1Sw#={-I47oet;@o5`*})TZp%OJ(AUBkaoPtdDm@*g$;NgK z!W?{)4@1`YN6{DjpUPP<*VuEpu^SX9l}na4t$5el{4mse?FRHc5VdQD)7mX*7H9}3 zhm~}vi*{ukf&^GCQ=PA&|Gwqky?clk>>B;$PY=L3SFbkEKGFMKb{1j4B|!qgv6>v&wkir{%e|RYt`;LwO`%SlJ;&X9 zw9(Xwef7CHm8dXl+A{8%lv{il?Lh%1(z#@>-giEzXE@>T;a|z+2Vt8%lcnhPqwlkE$A1&`)aiB8x)hx6}sxD6t<`1w!9i@4BK#%ye2L?4#0-wIK&aV~3TG*D| z|4*<7`8qeFlZ-)`ZK0_D!$zAF_D6QcrTg6nD|MrkWoyrj#pOnRatMk#&Jcj5G?&zZ+~hzF%(yTVjy5-lj0?Y>U(VD#asSFPo|WDIcC=|Fu!opi=+JS= z^C|sD!yFiQsgky2WdP%0Wp7PAw{noGugu82xntdh=DPXl2nnQMOH;_sN+R6CB({AI zC&?X0Ct<4}wnu57lsnNqD9s*SY?7dv#Qsu|-5r@x_E^e8Y=QU>EB3yWBt zqQMRAs0}7frpk#r)-B&=>zcLnhF<6OGd9yf=Di=WeK$8U@$!see8kvMw?%zL71HqX z14Z9sJ(-K27+Tl%_j7IRbpJKC7>QfEO8+DyvRgT>OpseU(V=(SFRbggq#U->#$RTVnS*#3A_2H4tm`q`&=pvOFAm5=kc zYj0rjr+Wj-)4jpl-Vzp+MC!vgN8W_!5@&&vq30zvnRv&}q^dgae-<`@ce||s^j;ZT z;hs%}sKL+&qx6#i1!0tnFyz^TwD<(F@hylN>X` zc*&@=x0<&Vx%d?nc3-@yH=tVSpk(6qE*zKjvY)EXdR#=GD&O!P%-dHjGx3e)UY6XK zg>*99w#Vi4r{(V<&HDa=l$3!Z5ZG=Ye^l9d(nSC=e zpPRS?39Jx1#^KS{-{9YPOB)J!1zn8ttmS({M`&j2hclXW1C&5%nrQ@Mv8<$q;rI2# z0;RsW{+hECX-pC{%##k{vz9>157#Y|P%PE~mY&*Qoq=C-iObLS{I1xgzvuyIvx5v) zftFwzcrIhx_M`=_AdtH0If0;9Z4w`0LDlVlA5hG!BoBo`6~HbK^M7EPIl_xmce1BN zUlon$dvnl8j?wf>?HGxgdiz%jqwKEThu}ry-llJl8vBWPob|N-L_uM;R!B|mI`UD_ zgwi_fJV^hMLwr1xoGU2bFT=`UTQ=kg!I#^7jyrh&HkjVm0(>B8ohA?fU}A4>TwS?Q z^~yp-wJaj-0cxrgA^k=nN?cUVEL9;YJCURb#Pk0@;&Ee zWwhnAWJj&5up?a{-Un8#)h0I1q~{HVx)cGCBSvXmKNEH~(t6*4*eS5U7}>>Sy^UPO z@H&OVq9;I!LT)vUzxh_q0c%x=a-;#ej%(1{+yj7NDNs8cD_q{=<#d8133?V?qOkIj zV?`J&1;4CtpF_NFo1W!X`6J%Zmt}J(gj<-Ytw{*1CejpT4Lwlx`Ff1}oj-+9+E19y z1dp*YazCx&CTKZd=j#c1Dpxv-tZ=onlxQ$S=A_)dysoMI%E2PImm@X%iTi z{g&(h-s@gkbs{Y^od(8etrC1Lz?Flq^%F6aKEZ{A&gD`&iHz=gp}1YZPdMa)X%Xa3 z$F)aG`aIAIkT&~YKyXk`+Cb0>hq~_yiTa2ppCH5 z27tRfn=Tn@PPb+~c`krg)ipUYeBKE zqj=Mf9-cjMx80rt&o$AaMahG|$xJgSrVwb&(Wy92cl@c2o3@8|gL+i0eBsP|y9ZVz zRnk;y{V0>_3Al&*ml6AA!LHR3fqZl}ie1VF36H7n%q@-*)_x-G4ZWYV^ZDk-xw#Om zVoPZ+`U@3>Cq2o$*dMvA;9@3bAhoyQCgNb3I~_h}DnE2Qf3t zhIl8HitfBh`giW}r{gx!0%qbGBKH;Xva6?E$_*9FY&=^cFc-KjPZRK^{=U9BS72W0 z$~GLKf5l6+$fFXlGaB5}`XErgC|$3fzkC2_f=WrssLhR8g?T#eqt90Iph8{8u4%nW z(mXsO!+0R4l6jsQl%>}hGI~|O6gqMG;Ah83zv~ecFf1RUQCv)Y3Gp70@cCvfTiB+X z{V?J>U?Hj`9?5a>`~01^zD_(B!i<9T#e6?+?8I#%x4>A7tMvt0e){BaJjGHP| zBZlqHbK|#WzV87Z-lIXVRI{Aby9Hao62%esFV}SKo~5?Q$BwbtzZhmb&Ra zB9{qXG~9az(jI7KAD*1QlDdD=zmVQvW0K_r>-R**paRNHD#*ZR2`hy+yztc=L zHjz(Lj7`F1IP+%3AVS zzAWZ9S%o6k@>%^&a-@2s_nz#o(mjC=Z=Z%Ez>!PmlH`9-VPzz;a5&(@tj<{mWPu)3 zLzSA8n+0?04TiId?yf;O9hp`}NrNB4pYi)NlSu$0^2 zCCsNMUbY6%-4W~9e*7{qbU-mYqkqY@9u8xpo#==fs4jGnrmHrW(1g~RW|13)DRma4 zKTK?c*ot4<&_uM>2_Utd#z1Dlx(s77SbOhPHWk7VI!$7p_NaAlzCWmF&@a{zBMMr= zFrm~}qQHV$-u^x0F&;Mwcn22m-2Pm9{rHE}E}!|3b}M=diet=OHmx~Y^vV0kXx zJ`upxoJ)aEn`JWFCF5IJ2|TPn_foFypugwa85_%dg$-|ixfZGrHGG(Sl^|n4ZkUAT zTx`%H>8BaoD+OlhVx!@-)>!47k`sj9@rDr#=(go_n8vn((hGWOlBxC9WL{&AU8fOG zKvM%4va860++u#6OY%Q(@7*~<1$2O|>^#3H^m_ivS|10|RS9~<)`XWSEYsLeGSFdb zm0Ib*qwc3Gv8E8LzG>8j%ydUzdqVo(WdshSPI@v zTred_bdt$q5FUrI9q{E8@#)c1lyO6C34thsu6BUrP7e6~fdtXQz7g!*i~~8!$YNN; zI?8!_vFb0Pb^@$Wxtj0* zta!DBN!$0roD;LAFPXDwCT7K;bo~_}Ofidzr-31(L?v*TLu~4QuqZQhi-p3T<@)(e z8s?{c?*PB7Je5*}O+PtYH!8?wfvWte^-dBZc!X$y$%G?+XTc45BCylsyt{9V7_ zi2U{-oc$*NPcHbXDaUR4stwj(#5;lV7t3$aon6*|qyaC6U z2!ITV9-0ZKOSojX4b*;1^jxhfFSE!;a)66{;DtoV6|vXz%|Js%jRC+(=$NOsIT(#n zIsCvLd3{7$LOcwX3)*q)2@8sqbh9_QL`hq3Ktq+3 zJ@W64 z;(3jFUypfLrRWnvEdnFx!@w@Qo-ow3Zv0#U5%io?(AgcTu%QA2+mY{h{J9@9ORjys zf;yLEm98wfwf~dDM9fL`JZ~JpP*H0-CqL?vZ6-Ln;I*n6h98~^)%A^<{plNW$IgB% zwxPZBh2>Ej0dD_CKTUCqBHQOf-=At($z=#%;jO09WIyxv#l)nAv;Q=;yL2{^a5V98cM?dD6u+ zCGFnh&9wdEpdE2$w3pPz=KdU4-myZ`Ih0BFN1_He*Vq0UnDoM)?|~7$2qv-Oas)DM zyZ_!BYg(QBSo0#7t}xsLZ1=M_(j2Rj63X=Vy38l+d0i1pJ>fjeP8Ynecqe_;+L}VI z?(uE!OyLR=8G~V#O^?l%8&eSiPrWSf2NcPUm*O-F>gliU6#Uo)rzhd?msQ-cLuTK2 z@k)rLcZ+rms60J8X$cJnR*?2rfV7tysY90yPD+z)EvdMawV~z9HxaFoz zy(+}Vt#RoMw+|l%4g?P0jl4&8;T$`%!gXf?zqqihJYyIIJilKcp>+hJIay2(pI>CV z6)$eLB~&$Lz}<+QSr4+ECJ8<{8Cmiy*Jktj<^SFapQ6}k{igN92vh}|@l5)fLvQYi zf5;6yeJ%I$S`?m<?1TMM zk^EztJxV7T!p~?W?Kf!#ATCrUt3b;r9yRf6zQ5_3uTbRLpyKOWqDEYeUA&@Jmco&R zd31ib6R8;DrIovzE66XcRh{_wN?owtD?PAx_xS diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/00012.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/00012.png deleted file mode 100644 index fdf1457d2ad976124bef85c866bef939a98f08b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14510 zcmeHuc{H2d+peK#OLfpvgbq}-rkbZ1I;f(kYG@E0%r#Fj)=+P&w55WmSt*K=);vYD zs)k5{l!&p41Tn`H5zga1Yn}gp>s#xr?_1|Q`R7?rcCw$n_r34?zOMV)arev&j~x{` z%Erca%;?Uo`)q9Nf7sYK9vyi5}QqEtxbHrbK`Ys;Leq&o=9N+Tj_-0171>XtXS0{et(izP* zh{Fh9?PEW9a$V?m_m`UZ5QJ6!2~x2PJJ2qQyfwE zc>{g#T0+R%=2*bt*$ELAUM79XUMHnazI}@NqmWek) ze7ILp`mBolPvSUdR9!(M7Ys5m;}<8gI8#~*ZvtK=wrw&P+*0|PZAGQjw%7TSA*h4N zvfp%;G^(6fE|4yz?F49{zl5``+zsVytZ*k*B{@OqsLfYxE4Gi>{-9@%&E`w@94{Lv z-QbeS%YGBfw&D&v8@D}{EUBpHQ*xpe^+`Q1Oz{_g>+M)P$+GekOP2<(G>y z*GEX~Y?!$5s9F*??%u4FKyN?*+jjXncfdMPrM6A;6Y$?P-v_S;v#s!c=66*#cY~4e zurbQsvUL1kjU|zPc-WTBHp<6+LDUd0%HL~S@D5*(utJ>JD+RgpY~ZB%gUQ8KN*b9J zC%auA3BXs%66k4y$Jlac1V(s7n*EDX;4()1^F)+wk89Yr_f#L>pWOVNix=2-v4>sR z?!`xOvladqZ|oVjQuC#!Ex+`uyqgN{;&=doAPYl=KVH#a7O*=)II6y+RS z3kKg%b3;0HOer>B>zJ}=K{Lkb4DeHen%-ykD)mc7r|kEZmzSBWCE3XcjQS%rQv6-n zUqLGse9+%PL4oo4(gb?z)#qSw+k)?4v~IY>UA==BkO*H^fuXF;Pf$a|TRsb$)I=3> z?nGd=BCf+wq+;a9E#E%}hVm{ZVP4WG)cRAPJ6IvFEtemxl9$OtFyYYpdUm3UJHR_I zeyV;;ng+XrkVLO)VZW=I7}>mB7MoiQK2)2;Qxh+Re5Uw@dwpuv)hch$@Vl-;fi3M( z68qDnW)wk@s_HexQjSnc z^APB?S@A7UN6tX*%%6-x$#U*RFkH~!UjC~HQ;6#jS1zV0nsTcb@B?74_yjMdMvZle^R=ZElo89qn zXhmSBL^qij&CX(N1!5@QAGZ-QnsIyvaG^6JBoV*_6UV%_K=*$|QS3!R-w)3`>$;ZnT5L_KtlT$%*-)j>< z0Zy@{huo_c!s61%CBTmqaN3CT;V7kZq-1w>oxCvH?8-X@qI3LAQ-|7LvNhqi=pnZb zI&3;*p8I8V0e34|hUUH1RaE8z`z2=QpZaru=X&a`+GLI}xr-m`c7WmOw%uS~41e@4 z%xQTpwRriy)!&cSr)-3jF6CuDx+cJ>^=aUW`hqO!u~W7hZ{ua0V0_H(>LF< zPscZa)dTZ#t>?8O6yWpmAYloKO4=6E0~#I~IpL*Fc)wTSdFoUz9`-PLz};A%2R_^_ z_s323liP5Z=nYcPa7stgT*W6qr6H1#u5x(+G_IW?j61&6k)X_{8#N?`}}kz z%ur2?g09&%f^3DTa93jtdK=@yFn%*Aa1tXHMw5HV>ni(-Ccwj#zIiFhcm zm9YDIT=nSIr&8vFgQ3Zdhjml3K5e7gG`!<(UCt0Ie&UtjbMZ^ay_XXawKnBH4C5lq z56`Yx6)SItHjUY%NF7tF!QhPN@El~)s4;##{XRBUE%&mZ!)*3Hd)a@xT+Ova(RJ@t zn18d;68qDP^KJensc#ThY1xwC7B3-H4ncQiE{I0MD=kb%f-c zOEmOnBFgL5@`CRJE+9_v`9VkeKu3hl2pH%#tp-MD)L<9eHs05mrHr*wth}jJH#WEG zqr?>*hs^Eoc!-Cg#aIRIjJz}Hg@7CJX8toe?^$$1uo=FpvTP0iz=&Ij zG)#QYT+*(WLQaPjp(QdK(e9`JhCsH+_9uGL=)DVPDniaZ4?g~7KQ*WC{Nz*~OU`#c zmYaLM*UII5gHg8L27EoSZ04r5Bl2la#N{U>oMp6wI9Se?ZhD1xA$+izhm?W{CsYT4 zpP!rpm(0sQ{^;9VX|v9+#V?E$?eL}N+dXFAbugIm+ie5u;Hg!tTgt19`k7!pF(uF) zaZx|>GX|@l`U+yKrbF7#&iiN#EhbY#NJDVVj^4R|`O*>Rm7dk$p30scaTo6A<6i1? zE~$yxL$m+(+fx(dcnPF~Hmmo6&}U!LS7`J`dnjRbcF|diNh3CV!h9EfgDXUmXjot8;J_iv9APo-n=K z_~eNP>nJ+yf{y{^>aTTqe(37181Ehf!9iyAgE-ZfzpEBX5{9(VnWTAzbT$~zwP4TxlovXJy zGU3mm-9*jiX?{bTTVHJ>9+w(f8Om4uX|e(qVrUj&xWY$}-a?%L|KyXwOm zi*h3zFw@_I?#7$pIOTr4a^mOHy76t8mdg0`S}X3FJir?}`Rn>2&Y^4eWdvHO!4&Z3M=Ah_N~2+PDNKkCnm$=B?5+AMAQFvHOpBogLw z^i4%5vYN}a6Z$FKv|sTCwCEYVUQGR5fI9^K56}AScTvBlK%MG#Oibvp#?yPBETp5` zKZy6@O~+y9rtc09ghQ9_ooLX?(cao+%1<9;6zCr^al|9zfp!z3iR~i3LG{BHpf|c} z-Q>SOMDsBAA9!e$SFxRJ__C_)Mur1^R-MsV_A%&`l#!nY5yT^QKedfBG+?=kp8d_H z+{2)GVi})W<{LYaXS3JrwSJO)tWid6&qLL`8QJH9nYelJ7g+&{9P?6F&NQU+n-i?E z4^oL!n7-7XUTw6EXRlH~i5-;G9$)`#f!=*{x<@{QriQ@%<81wEx2!ls^kLNd28|n% zPZIU{`DWwF@vRA(`(4q7!E%xIbj`14CE!l}n9c^VFB%E9%q5*NVT}UkWztYejQcnu znD5<>>!j%0dT}qJ_9AU^bz}nrb;Ehqcegw#VZKo8$SId-(SzY)>s^gYM7QyPvkrkeE>Iio*ooCVjW-3x;7$z+q7w}qU; zKKKUNF#EyN+n=a|;`4)rHR9Hj^y@)J2uW<^B3zs4XjD0%dFl4@R+zhGXm5CLIfpyL zPDZKltUp(^uWqhwY~F{y!_lgf@FrEEr^sucEdzgk-}r>677=<0MlG5&g)VI3Q z&YJbkSGt;eD5?$*r!@99Iu>L&McDp)>wR~XE$ZWc1SJGROM?`&eG}7@+m)5yP!$(o zmaFo=z~4;q(@Ia3(i$t?)x3}Rkbr6CC8dO^foH1Exqn=5qy(!RA3ki? zxd^9~-rY+VpK+dh{$iV>jHpekR$ZTDqg$o68t4q<6=MkP6CUA30m@^bPa73?7>;Wkk2H8uB@{;PyL!a0_A?!X|^^IrI>85{S_G~*l zD;R8}J$55Oi@q+_u^Q|#h#}{Ox@e|$&AkTFcfZBP9C5#Br3sTJxh12g<#5*3uxxP>}Dp;zbh9yI zKc0-;3RlK*`_Zt|>fxjt(-Oj&kJPFTt=pAJ@CpPEZH2-iAs=6I+C&hsiTs+LL0YJ= zTydEo%TD>T-_lgAhoQ|%d5ffs5)eUSep-oDvmb%+t{WM6mReLIOdixeeXBN{b?gv> zYkaqim0X;7SKI_AGAPo!#nd6t*9~*1dlJto29gZ2X%`ncAcdrj&@r#N5+DL_cIbh{ z6Il`76ZJOb3nl$|Q91Xy+sIOtdSC03WZHCAQdCZb+TM}atfUxgze(e&9^H}B$O-t} zwdv*#i2#f5@z%q%doWm*%!thmbA7Co{vF=N4P%paB4+dVK+}YE_x#>z&c~=<#%!hNZU0(y0xVM=)sXzPw3ImK7=foZ zZzOH_C-GwJOW zy3eOMM5@)`vlKEWwi7v^oM9c+P$p~KzIAJ%iEDEWkqS3c0H}#teNaa&g!#!iiTG`1 z7qawL(x`T1aU&Exv5f0GkGt6QY+4VOg7QFKuYGD`ZQPO-SzUI zyu?wdf75a=d}MY^a}X%N`b>bCMW(_B_rU42=;AAmW-B_mYv^Ez8^X}dKU2d2p9PzG zd)EEcGAknJRZ0!_dWzDWN+s;fp-sO|bKxNBle8;g&?kl2q<(fenL_^|@bc#>Z{Lhu zN?E_%*@fYyoWx{LfAg(x{<=ef<&1D$CiTf3Vl{2WpQF(ot6@EvTdn1PY&-W`=`B5h zTYwAmX0XNvG&UaGN!N}J`;?w2fIZ)pY*1VqyFT6R2S+>q6Bh=xEzBP4XJ34~mK15D zn|D*g8rifryzzpG+y!q|0en!*D+d0bj$oE}aJdgu!i>jf3QFj!OPtK7=l&w-v z;G&RRvsb6LCgg|}bzz&YF>f563d=^S+gMN8AV#_^5g(-hZ{U;)hri*j-feUrPx^Q* zFAQa;&5HS#u4+8I#YB(M{CMh?#zqzemEJ*-PB2c3-I?m$sS>J<7%^@l@U!+5(YDQf zy!2E))P{LEa-zacjB)9zdI5D&NjHOC=NlhV??qE%v8~A|oKPO(=5hRCq>_^A~qe zhx5|Uw#mm*H)P}g(rDO{B>w&P*U69F%qldn^B*3C%CA#H>>&e_KG*hjK>TLBGr|zS zz2lUIay>1=$U$8u`+JHmCb@>>)hcR#w~bGQh6)3vKlFoZhDL-oyjG7>{WZ1v!6`lcCN^9Y0HyvOoiDYWzLrl($FG5x zpBZ*)J_0Di{Sq!TSH$={-_B`fmB%{zYw4Xy|GKR;>k9<#tTH~cH)~bzJjCkwUn80B zJH3C%TWjtzi*(uF?N7}0-wx7Mq3`%(V@d|yGR#Ipl=8BP`(s|0O`a~TsA&(aU%O?o zzPfsH`#OGs9r1;QpWi0v6fVNuy+Z&x7iO`9QlBLBovqWFL`Z(aCQ*MYe7TAMzrwv< zdmlvR9BLqcrwbDHG9GecBYBLI=SJQ64J2;^n`~PaB0XAgP;i$hp5~VPI-N z#B4~}{?*)F;ySZI$K$1|y}~?NU~J89f_Fl8ZvA!h9=-=a@ty{U+9i*EXLB~cpjv8rE}pb+W$1%33S>Tq$T6MD?6ZP~uYteDtw zyg?<_XHCCNp=iuF{KF`~RL;J7pM*Oiuh25UnXQjf^1p`jCUirY7NpVi9x}4<=Ci~5m z*6(rGE7y2gEA9$-btxO}x2)V1U99#3m-8`{s6Vi>Wdcf%X(QSu(#Wr1qMQT}ECA-z}Ux*R%-YN7w0M3pK-BD$rj(0b`?`3vt2)yR|ShO!kKe z6;mD1J9I8I=e23$m!s2THGeB33mTqhI7HYgyuo(5j)fAfsmx`wkAn_Fns`ILE3gBo zOiB1C(R!hKJr z{0ItO9$|!giG6fK3TQwPxQW5yOrFhbT%{H+;*9OvI7^y*WaU8Cd5v%w;Pl~5flr5T z-`K{qXiG|Pw`~>ITwFW^mmTovk}tnFAGfh zq2v_IU3@1-OFw5)9b$7(2iuuZFJ)_G{zv67o7s|aQzz)~+?}3L#XU`{+u*q|J#%9i zY17Ep(pe(@7P(Q%7k=8{$>3N;@N(0uioKtz9C<(1i0^=$VsQHo;#1i*JZCOPNcSJG z{*&%oFZ^uQ$BT~!nrdV^rAOL#e5AGXNW`*(2lC}+8!Je(KvG*!S*Z<*1Vw5d_s;|h zRgWG$k{F&cXN~4d?=hD#6oF8nsv@`;<5lF3bTV^ql#T~7q|0ai_-KTOhs);T17YgK z2F)ugBvKl+ZcJT@llYdAnBg?v69+vZiLtS4mPs{wNKjtU8eEE}dcHQ1wY z1hYhV6?>*+*Ha?^kj%JrAuBDv;+&@*5haao;IG;1#%V_h%MS9$=~ZvAgV&DGr*e9v znLJr8+FiA!UG+ew8cF}H>w4MT_T0F{8&Y_97Cmad&wy*iUU2>|fc^He0P?0_z_ICm z%cT_w4_=sj_qU1VK$Ef2xTeUzn4H)d+Llh}m(S}sBFf5P!{8=H&cJ|Q>AlkJo)c2#I7R7?d? zSI5YrGU{Cu_Lk1ooeOHPlTS184*Ci{zJl6@H`SE+G}xWRvp@bAWkyt)hGOsr%_}oo zYPp8R^iXt*oqT!ZRqPrN!S!z2*1lvNr>2g?3aUiSz6?60HW2t+E4zmfBQAArhzb5N z>GOUL)Zv>$EqYvZQm*4&Kq_u;VZS?x*0igy&vx|6(b;jUl?Cs0Wfp!DQ#R1;CTk7Z zU@+z|A2esP^b>Z=Xc-^!29nTG6`O6{(7T^*FC~j#=BSFW6-+O_x^}K@Db?v!@(fu)#&69+YaHQO$$R#Gm z%o+1>)b4YZZ#3KQP$zwD9nqVySM_Qbpq$dlHuf+S^QE1I3h~3Ch>KBmo0anX$#^xy z8aRmJy0p{gY?l6LvR>fb4U9jt6?s2Y-PlJ z+AmoAXw>W_b{J`cN~NX*B;-tl^J6@J?prf(ljoja;CbgWc~ZYRTwi-G%ZdCtAOa5j zo;mlz2^yNw1>c6tK-KnTob;7X@x*sWh)h|_O7|r#O(?9>FUu%RHsm`o zoy^~==iV2Ub17TMRaewcB{LlKwwmk_s=(^9{AY0HcOV)_>muhSfcmj|4?g7Y10a{I z`YCLLsODF+_gH!5pY|sd4J7{X^LZgZJv%MAdQ^IABc}iZk-eNS)mWjBhMn~JYWvC} zfNc-sBp#xAF`!b`UEWZw@v`pjmFXmFAoJCX$1~o^-ls{R-nK>ymmmN6H_5scGq+I} zdc5)>o&0(VuuIK2S*FS+^ZB25a{wsL?K47*E(dWBv40)ElIOGxYbHHRV&j%~<;yXrgglxI}} z-E23SErod4b}j!SCguN9kQPfAi!l{ks=9jR59a- zA~#S6LGICqN?G&bWFzW9O8_{d|H15ZJ==%P=*WvR^^(-2PbF_75GI| zX(^CT?wTT;Kt-_8k=OF^Khz$iYGj*HVp$RAf={urSvLQXu~;?pWM2yo%$1G ztCcsUQQM~6IMh?KI{*2=(P{8%W}D%joPj{n>k0Hxqm@cooB>7_3pR3jB&9dJ8?Ku> zBlE9(p|Uj%d&vl~2p0t7kZRhO&)_?!UY5tDGFXE8JO^-$thj8Q~q8cbeDG_Udw1hNQkqL6y> zNSO*pn15AFamA#A?NSXh<+_$uXz2Uln$oe6!BseAE$`SDsgbBak#@kT2MB2t+yWrD zb5-2llJ&RAA?^3%1YQ-3A+61Z(yK)JAHIv#p3`lU=OgvjHz@69VGR}T0yD+LxXGbb z)cT7z|48ZB+V*a)<+;3GeO6Y-A7bn1YR>f-={)=V|&bA8QTA>24Fy{FL_>$F&!E#Dl8~H z&>CDzeBYxqwGy9yjp2%_GIhb6xociW<(jfT7v~jV8R0+HueW`uRbeF~$_xEqC@iG+ zn*URkn?O+`@*&DfX2ko%n%Id>qjB=1a|RZmj*h9mS{9DYhhBwN$DNx!)QsFW`5&BiV~&lsuJJubw~gz&#*)t%T-WEs^vmRa zzSuEBZsK8iD;{$s9vRs!qjDQCxgNhNGVpY`^XuD{a~j`?y(CebGNO(W$;70C#gYo97Y|)~$)`STkFKtjqglzz>zmDvomidlF>m{WfWF@vJ>0vwP z7dn5effzLM`RF;AOJ**9lu=A9DKn5o6_b~^!a5kT^o(wA5h}L;k@tz$b*Gbu3XU1uv=0=I)9Bmstq@syAy zx~XpF5DxN>EXZ!_}<0)^f{yMA5vkHHu$gI)QsMA$V~L#@E5nx zSYL#_sl*63gRT*w*8hGh+8{Zl}6Of@9}8sv-RutOYsn|OdHvivaUhVju`v_S_o2#xkqM->`O@~=CkZmtNgrvfU#~62CLu@8UjwA8t6Q}G zd-73rIIor|F^tXSNI5D=jyCXYpy_j3bzYThvZ!5cRhCq$$AZHCN%N~zKrF;4pnipuVG~akr;em)2VSLME)lHo_?Zj0z%G# z6JTUACr)W5Q=T_hPSwR91($bKe#DwBLY+sdA<85k`@yx&7gv2SLch4|Q3QNBPK z93Y7rzUZX^fF<67v@sh6M@}uLWa-k@WzQ)(U1%D^!;S9>Z-YsGU(&pVAA=e-a$I|z zSiW*KP~E4B!9ARk_#xA>S1XV;A^x?`s-AP|ew zMZPCGe34H6kOg}HvzlEVkvAd+jJ_%@oe$6|bjv83d;0R+d@%U7g(Kl}zI4Bx%(z4z ziB>~J`GSDT^PDZfvLxdzPK)u!0%~O6=-~1oBWhy>zyX$r-L^Pwgjm>Ox7Zl3ZKGAXf37uj>cuiMfO+yx2t9I6(E*&C-Gs1*@IRSUrS57tEvxOpkK`5&-;dt#sViU@tX#oilez+{IZm;Nk>AQ7pa{-kWYkWn2O&6}J zut@YX&yINaB}7z30SI+2L^}Q{+CJ0R>NFtwvJ}A-F+HALS-tO_g0Cf#4|sq|S(!-L zdkBq$;^wh%+$T31$bhJ->blE%CRadm+yV-vK%XGa{TAtUf@YKobbO;8eWi02$Z5+f zqp?Y)=emwFNR1V^M~mJIL3gc%|E%7g^Z2mSYm?NkBBoQ+sp3X!{P!F}MK_35o#!MF z>?%3~NZnBBTsw}GLU6%^Ze9U~`6jc5;nx7-=P4EjWG<`00au?wAi$DST*wBh0h&nR z0CG4s0#oONJojwEDS|G@$nPF0teW%92}(Dxu#*>}>fbpyiO~H)9(y0&oWYw)p)zM=>p>OH*^;zT|BX;vvd61d-w$60P=yr%39qqH-M<=h zw<5u`N5wR|Zb+|-YkWDVDGQLzhH6esOl%GTbXWuioA@;n;T-}N-z?Z-vZ74s&qU@E z7v6@V%Bg_7wqwc{GeHe$u_?DIOZ^gy?rB;Bd+*IfV1nd&o85oH!@%Os>6QF%?K4gd z&-Z86(~eTb1fKF7ZV9Bmx@oJugX7TJAwMghKJTh2UOdO2HGkeMU1C$UL#J752DTC4{Rk-wj98k3(E z9kV~X5E`wc)$^JVXP`R4lR+Kb7900I-LV(D>*Vh&?BdLMJTmj?Prn7*&rQ5vRj&`U zZ_QQ8Du;Mx^b>_N9Q?oYg{uYW;cM>dWSLcw1SvS1UVxq+i~|$&ban5_iUTHGA!+n9 z?DFoE7OQQ|P`0Dx5_nWGgS-q!Ow0;p2V~l-Qgw^^DD$IVIdi8pyzGA{=H5pZGAxl! z%You0i-=#DT-A;(tvE%uS7dCtn=MMf&^6&C>+;{I!3K2$41`T-US z0E57lC3;w~9p3c3qa^|7TxE~aA)&*Vz zZRZE=0qF_fCHQ=*FWR2x-7A0*hE3%y=4UVgc>>m3i{EBs#f65p?X@^vZY7iXDh+F( z=I03q2>;d9CmC0P_%SurR;zTQ<+7oyVT5P+^XJbaA^-;#rCyyDN0X|%Isea{w%NG_74J<=GC?$4KZFlYj!EM*#**}G+kF(FnHLo zVgar_VyvnxOrERBD2|{2`Y(nA(%}`0T&LoF0+4B$S?AgDYKL9*&*k5+XZ87l0P5J% zOd0A$2{ub8Z3gker`NYV--n-i4pQUAgW0@k;Df%}k`0_g PWHT}_yH#=H@r(Zj-Ag(M diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00000.png b/tests/ragger/snapshots/nanos/test_blind_sign/00000.png similarity index 100% rename from tests/ragger/snapshots/nanos/test_blind_sign_signed/00000.png rename to tests/ragger/snapshots/nanos/test_blind_sign/00000.png diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00001.png b/tests/ragger/snapshots/nanos/test_blind_sign/00001.png similarity index 100% rename from tests/ragger/snapshots/nanos/test_blind_sign_signed/00001.png rename to tests/ragger/snapshots/nanos/test_blind_sign/00001.png diff --git a/tests/ragger/snapshots/nanos/test_blind_sign/00002.png b/tests/ragger/snapshots/nanos/test_blind_sign/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..987e93bcf4c8ebb38470acd50ef6b386722c924f GIT binary patch literal 479 zcmV<50U-W~P)ydimZUdf;2e*kEz;aZqM(mZcm}LOt`exF32wp8BwR(RF7WFyAJLu z6D5uPVXR_gfxCSVNsJgfc0emysE`%yY93cI#(l$>dD=}oJLjfxyZuYP!)ADcTs@P)#my}&h()X1OzpPl!71#g5VHd&yT-6q7=YK-U}m@ zVc_X;boc0#en^$6z5kJ>EHtV9%|iYd;G0xdl=HP;3AbN$b&$~w8`^&{)cxT zn!C)@1Una8T+E&3=`;3cv*HBw;w5oxv&)IYM&|Lez-L}|*GbR%>f^x11Q{=H1oN?Q z7~gOLJaP^AEsT|==){w8dI99x_zZfNa&xY7At&;#Prat@_5j$uqPYoaSi4{L)5Qva z4Bj&P*ThJ5WdCHM1}lkMXeFOX-V8B#brosdpDBatL7n`b4{yqRcX~QFB<0-@(k}(mp8@~ii31|CcLcoS@#dA#yR-`KhuFlcX_l$xK9UtOPl*>2IJHXOYt8mR z6u|r?S&JAvQxluX#ZLWO*Ypl_%-Cv$eXYHzt%$BmpnyxFtTD};iRX3LCau4t04g2e z3$r(RuOzEm$1FVyU(t>p;ES@~32_3*&O6xns{J`I(Hq2e6sC7MXucYisMaUr4}u^F cf*=S4Z#vgzJ2)XJk^lez07*qoM6N<$f??+7dH?_b literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign/00004.png b/tests/ragger/snapshots/nanos/test_blind_sign/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..589b02817edf2a747c279924e00e035a5acccffc GIT binary patch literal 494 zcmV~rPrxH=J;kJQ@Q1yN>h(Z7GW1LcaE?>Nl8_v4}u6eC<0VcOW#88$?M3HJqFunDqB1F}QTcCglXS!N#*UpxvvZiHEEd#Ki$=<`d z_LIxy#h0O5NU*!PkZD*3XypjE3eD+BWbXbX&=G>nlPG;9w$5|)=Seea>t8e-EzKEy kC+vFpK@bE%5Cp+5Z$7VddH$-~WMoXb*H43n45JqILG0UJNmT@S|=+AcPP??0LU_e$kRSD3^Ga-qzBn zTgEze6>3#RsxT10*_u`Z?z3_Np6f!(Z2NaS+b*=Gp{Ca3;Gsw=+{c>B z?|>R{4)Dc$^sL>8_*mmR0mo6{6|5b{&3l_E@DBJLQ}=oLhY*a0V_1_$sGC(kTyFxj zX!ooBWf4lv>N~?ZI1`>iXX5=F&IHk;QFK#$Ogh=jt9wpz!V*VR9bEYdbA`ZV&YGun z1+72CO7YS>ex^exa%qr0ZjlN)3Zm8%Aj-(dw=3vVwko1@)(2bwca-N=?tq9`j*@cm z4rlBNGMv|l1!`y}URt3@m1V}vg3Fxlg6RLKp)*n?ey_VAx?lpD;$``-Bx1ociWU(( iOILpgA%qY@NQ)1vV_V3WUI~=|0000+5+H6Jkvlh zW{rhEn0O=Bou&!;%aZFiv<0A>aAOVMeS)UmPqi^{_6b2#(rE7ipGW(DL2U$^yXX^x bAP5L6zMhlAFQ}?~00000NkvXXu0mjf4j80f literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00001.png b/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00002.png b/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..78312e204c0a07f0db5ad1a39975a58941de1287 GIT binary patch literal 492 zcmV%MGDk70d7m zC%{6E!BHt(^VxVZwg;fL4fmi`ltWra1TK1OnY!Bxz_djx3f(4Q7r~_h;4!?V_pb@X z)%5;mFa~FWRp?A~+{4zuAQVs&T79gXdC7;WR#GusNlU1;8E0h?j*s?y4~A5rNN_mp zPi#O9ofa2=7_#cru%{6#ElK^Q!0A@-zR40Ax)_7VAtlZb9$1{`SSJLc|yrPwf@yukkfb^w6-m6AwImC7lm1NMU=q;4u2LhHguDyrNA i`j8+9f*=Uu|KSD4vU|> zD4sG?5}aI6xR{#e$us(UbHxp)#S3EFVb2#fE9uAA1$!p9t8RLd7k?WLCW!d)Mlc@> z!}t$3z$4{=Kf+izpPG0xrY9ixjgO#Ll#6S{7WqPc>#1dGwFkgykNO6rpl!YAZ#PQ- zQn+OF?}-uWi2h_E2UikR=t@3=yc^Tv)n&f<#2|hb9y)bb2MC*XYa93xb9da80=*`0 z1ix8NJ!(N0Q_IvYtks~uSG^HlTTu*XZY>@oKg39z+FF}>%DlMDsr2lrT_X14z7|^( zP`rTV{nZO`bvkoly>DIpDc)eV7}0x~ep%275F2<=Bl|5(q0k0&Cl3?OH1HQFC*Tq= zv>(D~HZ#}2%*GD45z&smLDPI;=o^qonJ`OdE|ALrJwmMN&DRC(h-o$u^XxJG3W6XA df*=Tfc>}|nXoHpYy#@dP002ovPDHLkV1k(P*`5FZ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00004.png b/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..1a10e1ff0a27854444fd14d9ac7c4866c82057c6 GIT binary patch literal 467 zcmV;^0WAKBP)(07sNrZMwH3(dj6Sr zAF8)ZTnTP2C|uPN$L#G=7&%sCKr33P443^(pzN1*d@ax!kKL5%aeel&@5MZO1hH8d z#(&5FjTnPoS2&e3F*BwIAUzxJL9HlP_ogbcUA*e4W$JDXz~vK-D0GvQZNgRoKmu>+ z{XG#}?cSe^$6zI1g;w(JS9+BvF(G-UZZ&LM&AC z13&LDZ#zIm({?P-_6pl{5E|Nt+$IF9pq`~cdSTuxt<-Mat)002ov JPDHLkV1i3e(^LQe literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00005.png b/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..b6ae4c3a27897b3bdd0a4388bfda7322a38f6db2 GIT binary patch literal 443 zcmV;s0Yv_ZP)UU@jaN+ZMaP2QV&7-RJG^oHLq^p-l>^Zf1SAo&z*( z_p|=82&Sg>2SXpsgi&ZFXCrSywc#c6*UyfYh=URHKT0+!I?<!(6T((Uz9z lUqJOH`Zx(8gb+f=1wNEbE`#y5krMy_002ovPDHLkV1kW6$$ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00006.png b/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..0a6a8234326e5dc018c24ec18fd28da1e89de49a GIT binary patch literal 428 zcmV;d0aN~oP)TU#SBe|DO_-)batR*V(qs%XsYE(%<1ci z+W|#JA7e2$l(t&vUWp3;jtC+mdPX~NcTRH&=d|3h%0zKWF@D}>XwYkH8gBoO`EbL^ z)mNWR9{|nJAFTdW5SALNe=vwaBshg4*)KBdhVs{#*i)=)Y< zd~qtm;<)=O`X0M2%|c&C#q8UN)|FD9E{l6X{5ldb(|`I2 z)`fc`Hf*o{Zs?{o@0WoAtR2vJ;M6uLf5Z90)^cZxu9}Xu2-gfboCE*>0000)MDznn W+64S;g$c3%0000 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00007.png b/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..04f6b02d7bad5d94e5d53b6a53e7ff9ef895499c GIT binary patch literal 444 zcmV;t0Yml)9Ti=6{iEBe)VoHA6ygjh+ij+Tc30SM!ffsnzmXt= ziD11PdG1plS!pBc>DajmBiF_Dk{O8PiBtfUzaDcH;F_%lfUUV6x*ktzk)9+!I4r#& zQs%5FgUt7=l*v7*kRr198~{rI@D1BO9d;KN^wbk)Epi|SptdBf-YkOb`9Vhfsz7aH mz11;Wd)ZBrBuSDaxivqN{w(B1#-Mlr0000kw}ye;I*Pb2KxDKB z&^pe-)Ie=IjrKF^Gh#P$b()uBxHlYRssE)~;KpWy4ZvQ1w|fN=)!S9>$AZyXIrp zY79%m%lg*1Xm#aG?vrqelaVhGCt;6Da%Z3Aj6FeU8yqe*_gL;OEcuq8G_|1qH@}xu zOA`Q9mZ+McC19?}@IU2i*{5pCT21y?_K3?^8A=Etgb+di06#j~;C6wDTlmzW?z2qA>{^L%*EATlrYr}+TJ*>~>= zw9y)+<#U*p@&awK>u+bmitf0TEHrsv|uHFeNCM?im;d*vcLQ z00-!mQ{Gi*xHeXoWjW$M&_y^{0M2G0FV&wwQ)H??jf&J%e=_ueC#*uAY(-9$(_Wof zYtzOWi@wuNxYc4-JJ*>w$~&f&e}%n&m@WNmhRJn|y`bNM8)6jzzJxV9O9V{(o(IeU zJA?PTy$5{@OqTp(3F?ESzJzlCnEC=&f-Y(ki(i#jyn+xy2qAePmYreYADKtuF4o2G?>M7O*7Qq3>`5dYM<4XcvE%%xDgZS6|1m}e3;f` z(t>4C6y{R^Eg4O;?jjM9?j_}4!qtjyi(ttwobL<$ZbUkVljLak#Dh#F_V6-?C+HjN z5Bo7URj$2M&GjxXfSY}ygBPXfHtu%ZW3uU(8x!$@O-kfCXc-n0#<+}4jNp6Gy$B(M5JLO} Y9|Y_wrnvPtzyJUM07*qoM6N<$g3a5(lK=n! literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00011.png b/tests/ragger/snapshots/nanos/test_blind_sign_nonzero/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..bb4b73f5cd7ea51d239d15deffff489bc98f135b GIT binary patch literal 464 zcmV;>0WbcEP)7P^!*>Wi=2g1N4fcvG*Mf=RiYSB7$llf5ClQ+t8AkUsMuf4>-L0(WU(@q zjLHJMw+sv@#0_5Iy2a>qX}OZW(FOo$(H&d@iA^J-#VFR~_ZKw$b{?Y*_$YN|Cs}@b zHk-jTe31jz+*iNF0c)=Ql!&DZ&)`J3$mABD?#UPC%SCVIwM^o$wWFrl(Yw~_rv)8g zsa|gN*F{+BSpAy`AB-fj&`8=vW~ZTcL9O+YU(iN_S)OO%T86Y38i|;pQ8UkV;ED?v zDo*{c7{$2v#D;Vs58yzrd0lLI{@bCgk^+1hN)Fb$?cx^-t|&Nj8VZ^xUKkv<#A7Gs z03`EtvFBD~cv1pyQSe(ABFS%c#FWLwKEaLm0o~K%)J_uFJPL?+xv*_pS7|Xa$IYSS z4mg0MIT8qB)M#kehu)Y%2D;1x*Y2?AbN~mC5~aLq?UQhid15Gd)LoN;wEb2qkZPxD zg=vyzYqTKd)d@svsV7p4?d-xQx8#R2g+mYoK@bGN5AY9{C_;ontdD=}oJLjfxyZuYJa-X6Disl*Gt#A<5yF+?nK_WO>O`XzonFVE@I_k(sV=7Bzg6b*FKS= zY5mAGaQSX*W7;|BCQPPh7o6)}TtKWs+a1ZHQO732pxO3P(-a~e=m~(Rnk>V#%16PDC6dk`lKb_ v21qjGI*ntw&usC_#GnU)AP9mW2(HctwN-iSa#HYF00000NkvXXu0mjfU5VX* delta 448 zcmV;x0YCoV1KIO7Ag-xgX{tw)X_QH3jO`A{*T!40mXyu0Kn1UQ zYnpo60bqDVD-zu%WjEng4nP7QY5jYmnA)ws8TY|SJPV!V-N={HT%5W<-KLO8R%YhW)nl&Pwgj|FO}+{}1tA5&Kdp~nI06lF{>Q9|0C ziR&U4^T;9xvlgkYFDslc#+inj8#jf4CWfG?t3rD@x;dkm?9{O$0RMa#VUD3ShnZe% q5{}a}BV3B=>*F|%<2a7vK>h#&t6+m97yrKi0000Tv=T{Z!-~#*}YTagg z{Hf^x11Q{=H1oN?Q7~gOLJaP^AEsT|==){w8dI99x_zZfNa&xY7 zAt&;#Prat@_5j$uqPYoaSi4{L)5Qva4Bj&P*ThJ5WdCHM1}lkMXeFOX-V8B#brosd zpDBatL7n`b4}WjUe0O>}I3(rW3@lYmr{*ev5z;RO)1LwV;E4kwvUdc$ z?uXdKt7(?0=01`YGEa#Y5;(O=-)qhGKor3IC0UCYJW~^!$;D3nTi5gsbj;Xlg?+8P zsjY~vOQ3*DqO38^oQdak*e0#NqW~%$;0v=idaop_TSdn#JqusajvnBPvfl}D0?5ug z*!ZgbIWW;1#C8;>cR6Uj8kMNlC*u!-AP9mW2n26B*Je97At{mo0000F1D#GT~-KRAcPo zv1)rNv&rBzD_sx=0gcL&$NTkF?>?yRGL;hSTu``}nr6{6{C`JdMFzCOa$?_RmkYa@ zjKj|YnbGW~Opo;0W5>n>9#3}!^|CMxe<1@b#2D~f7!%8>6EoxV07%<-4_ZaJx;7Ib z7xJP{EmL>9035bxtV1f??&tk*u>c^3xAgusp}5+;e=yr} zWYQoQVY)pkAAd`w){YRb&yik}>d8ZwT96-Q7X|zQtFkGk%~|dCv-ZpRSnCLK^GPnfO(at?^G-z_p-GOv&U9G7UyG;Sl5oe zGH1s7gJ5TXY`F6u0?Uf8o&oKL)sBpzNe6X@6(m_%qWkP}I2;a#!{PXU_ysQHaEXQR R{3HMX002ovPDHLkV1g}Z;u`<} diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00004.png b/tests/ragger/snapshots/nanos/test_blind_sign_rejected/00004.png index 1c82aa59f4d47696a60a8f5dd0b8804b8af9f997..589b02817edf2a747c279924e00e035a5acccffc 100644 GIT binary patch delta 468 zcmV;_0W1FH1MUNmB!9I@L_t(|ob8#*a>FnPMdeQO{~w%1vQVoMgy0&zTn}fmi1kDu zu!K_zf*=TjDZHK^zg)r^D3ACoNG%mZ?@mj6B3+A?mJwYz#y4wq{W2p>Ho*7P(PfUu z&#I1xP+JyUYN-lxq0&Yi6X*5(6YoBlyG(4U>|7;qnIR78JAWiFV(jpMv$Ra**zCoD z*q?oTZJ0AJ`;@2W_Uv)&#w=$9@vtzB|KI^FvJFOUVLHx2&sc5%x;9*ct)Oi7rBkq8 z_|!|o)ZGpM-7A_A=oU?O5iVr_ZNOV<|C$J@4(%@{Y_OAvLOc0X@*z~WPF=LhmyHqI z)OjJZM45}p-+z)5Sx9Q9p4d3}QPqE_MY1=o5~bIvKj!#mB2&5Lo=Q`XOBP`lF?Wuz zKS@bdrVoM$Ipj(uillgnIxk=Vx7XBH(1fXyBHot8xB(`&LBvp&OGJ@sNieTebM@y*GivK!G#xF?8GR@0dig;R1VIo4!7pzraOO5))lr`-TR7ToJ)f-|=Y9v4O3XEAL#XnZNDz9Bja0qf>A7X8d z5ZO>Hj`-K^&f;Jh)qz`yR}csQduq(1eZDMQbRr+j?EpNj)h*x>5JA1_{)4v^fxoVO zFLqKqIHQ3a8s)zW5@Z0Yij@Lt9##NIwk4Gua}wZOcSL6J6086$suBJlPE%DZxw2Yhj+p_;I2I$ z{jex^exa%qr0ZjlN)3Zm8%Aj-(dw=3vVwko1@ z)(2bwca-N=?tq9`j*@cm4rlBNGMv|l1!`y}URt3@m1V}vg3Fxlg6RLKp)*n?ey_VA zx?lpD;$``-Bx1ociWU((OILpgA%qY@NQ)1vV_V3WUJePB00000NkvXXu0mjfPsqTh delta 405 zcmV;G0c!rZ1Goc_Eq_50!XOMq(b4-K*o7`|m!BINDP*e#`!Sf7ff-82AA{*u>1t{Qgc-^*ne^TUaE$;ubwb&xa*8Z z`K;L+lIbZxeH_4LyxIN))QCR7gI7w{E<|L!S?d6~E8K#$blkkQIR(Ceb!qB4cmEKA z({>zf(ol6V>xcauU}?La^|wVaHLbrG`ru5Mh0f%(`!G^|D4Vh~Yufq^NmZ3vq;t2% znIUdF!1#lx>VK+VB84Vo86M1k5d$mo2d9w530X)OsF<#0vIFEhq%@FPZB{RjbiK`% zFTkbDHvZVD7L+-o<|LQGK=x??SzA%qY@ocI9w&`Hp#TMqF)00000NkvXXu0mjfbd1J7 diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00002.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00002.png deleted file mode 100644 index a6dd2f97d63a1ecc82dbdc51b512274b5aca6cf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 474 zcmV<00VV#4P)3jO`A{*T!40mXyu0Kn1UQYnpo60bqDVD-zu%WjEng4nP7QY5jYm znA)ws8TY|SJPV!V-N={HT%5W<-KLO8R%Yj0RJ#5#$}rG=V#J$5lcR7btax%6gBb6!(Y~pGU+DF1TqNf@o$fm zsj8Nb1!}3>%y?=aQ&$L~#{udTWlS(pLfV~)>mnEP$RY=`7OAc;E1WOJnTDGiH-&*F zhM=jdLVG#7qnPZ}u_6Hfd>CPlp*4q@UThMM(=;Poit6j*IF92uj^jZ700XOFgCrOK QzW@LL07*qoM6N<$f>f~C9{>OV diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00003.png deleted file mode 100644 index c26bc5381c417bf7ffe5f0635a22f4f4ca222183..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 501 zcmVbf9sH}a*uPnjCI{d#mAj7Z`LSwyDznMpG%H;Y2LX-BlgIn@RqsBi z?lP4U>|9W|n3`tMGyF$mMFzCOa$?_RmkYa@jKj|YnbGW~Opo;0W5>n>9#3}!^|CMx ze<1@b#2D~f7!%8>6EoxV07%<-4_ZaJx;7Ib7xJP{EmL>9035bxtV1f??&tk*u>c^3 zxAgusp}5+;e=yr}WYQoQVY)pkA4{dyju5ZUkzSMP$wQY~ zkRN3i1^fZ4vMHv`S?%_;3T+*!3W9(yVxwA&9Z>g9HcM(X$qJCQ0al1T>;R->QTv5_ zp}@^&z`5j;Q8G}iu%tIdsMMz{FGSam%K%Gc5TOPqhf0(6Bvgq&8LW1B0%2BF4a<>1 z7Zw~c694u`|x_<#5XF63~Dh4B0&00000NkvXXu0mjfGlAnP diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00004.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00004.png deleted file mode 100644 index 1c82aa59f4d47696a60a8f5dd0b8804b8af9f997..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 zcmV5h=lvge7Sn~Tb&$(1iI=8)r;CXSC@3*Br634`AQ-~y`SzDv$N=RLw}SN6 z)6m817T=WiLh>@=3x|HQSNAUo(%=Am4%N%xWRscx0 zC6yd=65w2SX7CcM04%Bz{vS?MLzT-w?`xUlN-TTwO4{GjOjs+3AiF3~e-H#g5ClPx bQcCFyFq~+APa_y@00000NkvXXu0mjfM&Z;v diff --git a/tests/ragger/snapshots/nanos/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/nanos/test_blind_sign_signed/00005.png deleted file mode 100644 index 54014a23cec6252b9b882acbb720e37bc384fcae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmV;p0Z0CcP)K^Rd&AQFUhe(*lmj{1ZqF zmXgN#Fya?Xafk+&^a!y01oTpKRWsOe{a&huxUZftZn*1=NBOMT8!ZPHM6G3$r@9AIg? zp7pmyF*U8f82aE$n1#;dwEHkpekhx=Gi%!V4M|m%TBLKg#+e~*JHYsZsOqX;B84Vo z86M1k5d$mo2d9w530X)OsF<#0vIFEhq%@FPZB{RjbiK`%FTkbDHvZVD7L+-o<|LQG zK=x??SzA%qY@ocI9w&`Hp#Tk$>s0000j2Uu$^Oz&AKhR57M zz>pFlgphw_K@T9M*Ya#YgHI;uJ)R(JOiDennnQbDF`)C7)Su~{Np4hNkJ!ZN^Q z93U6;lU3Q7RaYMI*B4G_Z1KNZA;?duIyO) wl%6Avys@cD_SdR4^`3`+KZFoM2qEFT0oBOj+HnNY$^ZZW07*qoM6N<$f_YS+F8}}l delta 353 zcmV-n0iOQ(0{jAyB!5FmL_t(|ob8#x5`!QNM4?mv|ARf)gEN$}B%qEY)P2)~g@DWk zR>TkpA%r}YXgz=sw)J}*7cEArotd}s{qIwDlAKv5ph|O1R0HzDB65#O0eO?S*rw`b za@UevyCg@UnjVlBrYa1>KC5XPh;;&r`J3d}R&7QX0ZkF5EPtjk*g2I03rZ%?^E9po zSkK}sn63a6?vU>~k5hE;qphUB*sTj@Ud|KHkeBKYKoptk52GSA)gKIV zU?Hl}woQr-r5kf2;(D=cgtT_~N{Eq&{= zpvU9jEJ#OseOe72z9IRNVtNmvYB=fF48|&~m8v{hkf#-(e_BzH+<%67?I{7LIh{EN z*d+kJ1$NqfURX?XEXh%vXNI*x2qA8}fB&*H;e{c`Ghe(vzW|&YDi0V;QwSF-n zu>mKgKp+qZ1bp!KdVf|%NzY_^Nc6QVeqD38b_|qV@9wiBT5#Cei8LoK#hWt*iYu|gvkUnSNnvbW!u4jb$4U4>h0BGi>sid>B-~_^ zt3fw!+>z!%mKQv(>q+>o_W@)D%m$)cV7@01E{s759aHBA*(I#eHu;=!S1*XiCsl%3 zDx1E|wWM4muop4(dN+W4i@?CWaV9F5er=F0(^lJ1jXLHww5%|IE?`+JP$F`NJFuz6 rWH#J_n@M|k-!u>i1OkCT;KBF@4=HR`12lwC00000NkvXXu0mjfY)8-u delta 419 zcmV;U0bKsu1HA)~B!7fSL_t(|ob8y=lEWYfMNOyq{}1j%`;Zx%2)QD`n6&rI&dx3% z5{zg_i4Z~viQ)bF{#==LcxtqZL_W*KpKDC4j*0S+oM`N@u#e*z>rQ7K^fYfI(~Pu* z!J<`%FTbU8`EP+LyfJtO;P*(?N+I~8sx?Y*fePIO9d-bCVSll`V~Qw;#qjmE$lIvT zUg@v^V5je;25XH|7_}GUF*<;M=afS@g%%BPEKjqpRXwQMLat8KcZXg5o*RVwF^?ZG z9lhU(Q44@P{7?3WqokVIKN+sUNLYnNvQ6@&sO3EjOB}|yy`u$Mzcu2H(_TnTHqyBz zSIK>gHMUP;P-eGA#0TB^d zN`XKi5O^vUV|n{l$X<vns9ovhEQd05TJ7kI z?qv@8r!oB@-cNoTz)5(H_uWCbI=nv_u?L=rEaZt_C!=mCS%=l$v?QJE=QJrPN%i8= z6O6%SqRJSu%72u*gZSi*bPw0 zHEfa$tj7`{*Pqh`n$?W^NA%?)CD;uh^BP$Z3a9h`)h_T?1t8|GCojClop3+N9Tf-! f0)apv@H~6~*_TSXx<<4y00000NkvXXu0mjfIAzW% delta 458 zcmV;*0X6>51LOmcB!8<(L_t(|ob8$04#F@9hNsc@e_${4Vy3AaeptuK;`lC1(=wnZ z+TyYlMNt%2iqJz~|# z@NLnrEYL~>`ejI3*I#i_Yis;J*|UzsR$d7TW~;|KFBAFDO@DB}4gd=l%MX|cRH#My zwvCS2KnF~K=qQgZ{#K_6XDcW5T)k%*J`35mnkk3y5*jqXv3z^Vt)d3)NbkQ&xQ0%< zJLWRn&7I?8e14J9U-BjZX}Helry~q?js9e64l=1Il*#WPvuvn#5BrL<8<-|wW_Wrr z?ahpHJHRFJihrreggdO6&?*sT8blNDWMIbfHfFlXnd-p_AE%!ngCx4g7<~z!Gg$3; zB_+LwM_u-WNjkF?c;dl? zD-oU9Vq#VOV diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00006.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00006.png index 37063fdfa78d6bbb9722a301e7b0df50e1a9ddfa..fa46f9012b9b7c53cb5d37a870cfef80cd94c30a 100644 GIT binary patch delta 386 zcmV-|0e$|$0-XbpB!6T{L_t(|ob8y~4#OY_hTCO*{|D|xchSXAK{SeD>i=a~3@B2? z6Way=0AN*iV|&+0Y#+wP4Y|(0d%@wz+q(kShK7?uCxDiRbz0p-_dH0fKk931PKGZF z8d-`qszAdq(%%1KP^V)2owUS}sO3VXkkyKk>l7q~+GaYe0DmQ5_4*ZEm>3KTB`Szo zYdTDT=qTS?%C&`E6ly2qPp}Jl@*HHA4eff((jUpu{g1oBg){}EcOiZhH8>`Z zJ4-UPBpE4YV0)_5KBCGccl%`3m+&l+IP4`H5H|$F;V4Nyr@C7xajmC+c{wEvzf}Fg zl(phpXNIo;PU>jo)glVh-J%^j2d?ox!31#hn@MAYX75^WCfYHAP%P6XT&P&fN>W`b gH30ws004j~KMMUh?6P^htN;K207*qoM6N<$f))(1Z2$lO delta 295 zcmV+?0oeYX1HuB3B!3A>L_t(|ob8#x4#OY_hV8Px{{wqy4=#o%rB10-{lCLvL=ge8 zU7Z5}0I({XvcAI;-Mg}KMGpTnFB+U!8wTXkIPs;>0MK@~MXRUCmd76LO?`FM@#M#X zW|kmL2GBH2q~VuM>Z=@|la@SUrFo~&xRtU!hi7^UrOiBW0)K>rmB&{sp`tJzl%&B* zwRs=_tf6^rDVG*5Q7C;GA8P|vr^_YmREvgiEpIz7Wi?#g*mRb`V`#T$M_a15+325} z>5F*Z*#$t-u#Wf5VO$OGcLp)A1XakAdG6uxC&54lyP@3s2P5waZ^EF3;Y!e)j2r`$ tAY%{!W3)fY_aJ1gZ;b!|0000}aROgbwB3=K**^dP002ovPDHLkV1oK9htvQ7 diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00008.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00008.png index f6e9b1ff68a1c13d734667ba696ceadcb0d90113..54ae35404c32b62809a9efe5eb0526f26b9b65e9 100644 GIT binary patch delta 354 zcmV-o0iFKn0{sGzB!5InL_t(|ob8&y4udcVhUqfj|A9T|!KBintriTRe5cKHX!wB^ z96%5RLGV?Q^8J^&_?o8uBK>^D)RmQ%_-Q`?05rXpCU-u)#b5gYdQ{nvrafu0FjX44 z!bS$%sx#FxpOq(LLjYXvZ{a!iHzWjD<`+0Z3mX|QjN8hSVSfvdW1o`*oZk+Yua_Vq zz;_^C;$=W(E;Q(ZkI?|&eh=_SsR2WP!+4J*xB}83GC%{=PL2-a+L7-6bod};GcS<= zvh%XBw$4j4NJc3`8PJ#^R~LgG64Owr7VPY00A}01=uEUbG(9wBfFS|IAH8ibdlS!} z$$`4yYymZ;ja!XVke3Sn0NMiJNIcU(FlLQ~KbUwU)}5va`pc5*H?#$yn{Z{fvCMKUUO-&j{b z8nzTp!)AZY=Ki%_fB+B1qiGHR&r@5~)?x}3yoLZsP2|<*Uw?$-UaOQ9v%Q6^OHqt> z;{UZ#tg!7RoTVqS^$=d%^<-(T5APvX*Tj};-G=re4Uy`vLmfyN7b_F3=vD!^0I1-% zdw3#&X`{fsT$=Or&`)9W(15zQyz?peljM9Jj{;-10l zT@bNI>>jzxAV$T+K>(E7q!w}e@3w!zK>!q)suc{PK0W6k#)+doxu^gM4uc>JMPZr$|G_@E2bQg)rGPLga!-t5q=H_c zti?G10067v2ls#M-?HE89;~tlGIRiFc^Mv~Um(G;zc0rIhF7MHmml2%M2)%>_}wJW z(Jw&Mp+3DzGQ;|2F)#o@_ejL54R-0>_~U=iO+(!U@s7%k#ecFr8dd=Ruu#)JAN?l# zrFLU`oQ(r?$33AC7s0}pw!fi~(9k^#U9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c z5&)gweYhbTnv#2#t$0X2wST7_1F;LRw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jd zB%3o3Qx19_LR2xxHlkPl0Rzc6k@9aAC-OWPjsyHwlnCPfYATOmcmT@j6W@=)fD20H tP)jt`H%}+!N_lsa=TiXy0001H1;0B!7lUL_t(|ob8y~Zo?o9hMj47{|D~Hb`hzi_{U&slVtlpRaNT~ z#2f+^A%qY@V)%KyK3Asf9_;NQ(a&=6=Q^ja6Ae9Go{6>tR`zjx$A-g{o!<60$+lbC z%HYsK_v2d!*MBRZ@W$9Hz@A4?tA)mou69sj8-y-`gcV>+Sby7oqKT-0m3y@;v?Pv% z0Wem2D>b%uu!%vfm(1*o$X8zIzd&;KWzkDmLN^WLwY=?E3nM@++<(ew=|gh$b8ZmR zkNNovCNcVrIBNi`2>&Phrvp;W>@S96a3dD=}oJLjfxyZuYJa-X6Disl*Gt#A<5yF+?nK_WO>O`XzonFVE@I_k(sV=7Bzg6b*FKS= zY5mAGaQSX*W7;|BCQPPh7o6)}TtKWs+a1ZHQO732pxO3P(-a~e=m~(Rnk>V#%16PDC6dk`lKb_ v21qjGI*ntw&usC_#GnU)AP9mW2(HctwN-iSa#HYF00000NkvXXu0mjfePrE| delta 338 zcmV-Y0j>Vu1MLEkB!4tXL_t(|ob8#>4uc>JMRA$`|G_@E2Nxu?7L-B}?#Z$k3I*Fz z1e^l^05B_yvc7!_bg##51E6pwW(#$S0r4-q|l~>(QJ=O2P)cUT`BJ5O?hOjIzD=%d=TrKG||AgAAyQJB- zqb-kLv(P??=95_8**QScFpu@kVN4C{HwHei1X;+E-q+!MJAY9jtyW&r7<2O`U=4KZ zIOy)#kv0A8giEJ5vpi|F6E4ATZb$S@e=~q`?Ea&hgHd>c1BRwQ2aFiz0@|1I<*?WK kbPdod0RR91000*J02TG{cYOAA0ssI207*qoM6N<$g3~mgYybcN diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00011.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00011.png index 66c411c2ebc833c701039f213ad4ff68cc881146..30cfdd378ef6b4033cdebba67d384af236d1daff 100644 GIT binary patch delta 460 zcmV;-0W<#90_FpdB!8_*L_t(|ob8y=aswdTv=T{Z!-~#*}YTagg z{Hf^x11Q{=H1oN?Q7~gOLJaP^AEsT|==){w8dI99x_zZfNa&xY7 zAt&;#Prat@_5j$uqPYoaSi4{L)5Qva4Bj&P*ThJ5WdCHM1}lkMXeFOX-V8B#brosd zpDBatL7n`b4}WjUe0O>}I3(rW3@lYmr{*ev5z;RO)1LwV;E4kwvUdc$ z?uXdKt7(?0=01`YGEa#Y5;(O=-)qhGKor3IC0UCYJW~^!$;D3nTi5gsbj;Xlg?+8P zsjY~vOQ3*DqO38^oQdak*e0#NqW~%$;0v=idaop_TSdn#JqusajvnBPvfl}D0?5ug z*!ZgbIWW;1#C8;>cR6Uj8kMNlC*u!-AP9mW2n26B*Je97At{mo00004uc>JMe8#E|AT#S4;a$4l#R@IsowLnAtUTG zToFYGA%qY@{$}4~-_Vm7Rt#sf<#$}=)VJ~BlvESR-Jq3=$jydfC?r!$iuAw9oGJ!U-M%Y zMJ+y&Ch%TCM>9}$(GT~2qZ!TIc>6skNTK;?O1Y^i^a^-9EC6{n9}GT=eBR!K!~g&Q M07*qoM6N<$f=7Rrs{jB1 diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00012.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00012.png index 54ae35404c32b62809a9efe5eb0526f26b9b65e9..589b02817edf2a747c279924e00e035a5acccffc 100644 GIT binary patch delta 468 zcmV;_0W1Ff0`3ElB!9I@L_t(|ob8#*a>FnPMdeQO{~w%1vQVoMgy0&zTn}fmi1kDu zu!K_zf*=TjDZHK^zg)r^D3ACoNG%mZ?@mj6B3+A?mJwYz#y4wq{W2p>Ho*7P(PfUu z&#I1xP+JyUYN-lxq0&Yi6X*5(6YoBlyG(4U>|7;qnIR78JAWiFV(jpMv$Ra**zCoD z*q?oTZJ0AJ`;@2W_Uv)&#w=$9@vtzB|KI^FvJFOUVLHx2&sc5%x;9*ct)Oi7rBkq8 z_|!|o)ZGpM-7A_A=oU?O5iVr_ZNOV<|C$J@4(%@{Y_OAvLOc0X@*z~WPF=LhmyHqI z)OjJZM45}p-+z)5Sx9Q9p4d3}QPqE_MY1=o5~bIvKj!#mB2&5Lo=Q`XOBP`lF?Wuz zKS@bdrVoM$Ipj(uillgnIxk=Vx7XBH(1fXyBHot8xB(`&LBvp&OGJ@sNieTebM@y*GivK!G#xF?8GR@0dig;R1VIo4!7pz^D)RmQ%_-Q`?05rXpCU-u)#b5gYdQ{nvrafu0FjX44 z!bS$%sx#FxpOq(LLjYXvZ{a!iHzWjD<`+0Z3mX|QjN8hSVSfvdW1o`*oZk+Yua_Vq zz;_^C;$=W(E;Q(ZkI?|&eh=_SsR2WP!+4J*xB}83GC%{=PL2-a+L7-6bod};GcS<= zvh%XBw$4j4NJc3`8PJ#^R~LgG64Owr7VPY00A}01=uEUbG(9wBfFS|IAH8ibdlS!} z$$`4yYymZ;ja!XVke3Sn0NMiJNIcU(FlLQ~KbUwU)}5va`pc5*H?#$yn{Zq5(H`*%Fs zF0`hhrq<)&qfzk@V`lMF2WEW!31khHp344E)-QO(ArVZDM}GkK9nec{s+x-(k8c%f zh=+H=IN+{59{sb+-X)pd0>sw=+{c>B?|>R{4)Dc$^sL>8_*mmR0mo6{6|5b{&3l_E z@DBJLQ}=oLhY*a0V_1_$sGC(kTyFxjX!ooBWf4lv>N~?ZI1`>iXX5=F&IHk;QFK#$ zOgh=jt9wpz!haG+R2^LT33G+OWzL$Xbp@?I#7gnfJbtD_C~|3#K5mf;ItrrJ6CldS z$hRx#Q?@Fibk+x40C$whNR?&A%!13D?th($07*qo IM6N<$f?*iN9{>OV delta 347 zcmV-h0i^!81NH)tB!4|gL_t(|ob8#>4uc>JMPZr$|G_@E2bQg)rGPLga!-t5q=H_c zti?G10067v2ls#M-?HE89;~tlGIRiFc^Mv~Um(G;zc0rIhF7MHmml2%M2)%>_}wJW z(Jw&Mp+3DzGQ;|2F)#o@_ejL54R-0>_~U=iO+(!U@s7%k#ecFr8dd=Ruu#)JAN?l# zrFLU`oQ(r?$33AC7s0}pw!fi~(9k^#U9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c z5&)gweYhbTnv#2#t$0X2wST7_1F;LRw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jd zB%3o3Qx19_LR2xxHlkPl0Rzc6k@9aAC-OWPjsyHwlnCPfYATOmcmT@j6W@=)fD20H tP)jt`H%}+!N_lsa=TiXy0001HBL_t(|ob8$04#OY_hS{>c{{!!0yJ%vpASh~S*Z;d(3<4EA zz=!|<0Nj;FjM?vJ@5Otj=A>=2QYha9k^{N$L^sY(5r7q%w;zQeZnuy>oL7idfg&Zv z3{8kBTyUdwcA#Wp?YB8-s^v<|>FbHx0Yye1V=*_Bwp!?3iGK?KjtC+mdPX~NcTRH& z=d|3h%0zKWF@D}>XwYkH8gBoO`EbL^)mNWR9{|nJAFTdW5SALNe=vwaBshg4*)KBd zhVs{#*i)=)Y<d~qtm;<)=O`X0M2%|c&C#q8UN)|FO7Ag-xgX{tw)X_QH3jO`A{*T!40mXyu0Kn1UQ zYnpo60bqDVD-zu%WjEng4nP7QY5jYmnA)ws8TY|SJPV!V-N={HT%5W<-KLO8R%YhW)nl&Pwgj|FO}+{}1tA5&Kdp~nI06lF{>Q9|0C ziR&U4^T;9xvlgkYFDslc#+inj8#jf4CWfG?t3rD@x;dkm?9{O$0RMa#VUD3ShnZe% q5{}a}BV3B=>*F|%<2a7vK>h#&t6+m97yrKi0000U1Y{d5bz=~Bq?Xr8hJzz zBc&usk|h7iBgX9av-RS=r{+alH9?dw6WXU$@Gl?%n5ua_qCB1FlFBQ@Dg#MLHbX0H z3MU5eJY_RfN?SII70rnFWa4%J$>@1jq$*#xTIe2%3%~)d9e=&J2+wE-rg4SUFDE*L z*9@Pri(q?hlkp-P@}~$`(AU^*4Euk~i+8MCef7)f1E3kY!RlWHW~p=a4<=&}Nmijq zwu{_!L#59+Wm=sn^=%|oic~Aejl)9Ti=6{iEBe z)VoHA6ygjh+kb7Qf_7KfZ^CTu6TgulgNb0h9C_|j9$9H4>gm|I2_x6V_L3Qh6}F1D#GT~-KRAcPo zv1)rNv&rBzD_sx=0gcL&$NTkF?>?yRGL;hSTu``}nr6{6{C`JdMFzCOa$?_RmkYa@ zjKj|YnbGW~Opo;0W5>n>9#3}!^|CMxe<1@b#2D~f7!%8>6EoxV07%<-4_ZaJx;7Ib z7xJP{EmL>9035bxtV1f??&tk*u>c^3xAgusp}5+;e=yr} zWYQoQVY)pkAAd`w){YRb&yik}>d8ZwT96-Q7X|zQtFkGk%~|dCv-ZpRSnCLK^GPnfO(at?^G-z_p-GOv&U9G7UyG;Sl5oe zGH1s7gJ5TXY`F6u0?Uf8o&oKL)sBpzNe6X@6(m_%qWkP}I2;a#!{PXU_ysQHaEXQR R{3HMX002ovPDHLkV1nOk;qd?f diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00016.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00016.png index 1c82aa59f4d47696a60a8f5dd0b8804b8af9f997..8a8c617ae55f72c6387430f86c2505ede7f558d0 100644 GIT binary patch delta 336 zcmV-W0k8h$1M32iB!4nVL_t(|ob8#x5`!QNM7N#x|3A2g_TUVoAw=pJ5@p{>OC(4l zEGa+;A!Jq_F>b$~?I_-7_Pq2~T!_vWgSxdmI0YgAu05}RF&^pe-)Ie=IjrKF^Gh#P$b()uBxHlYRssE z)~;KpWy4ZvQ1w|fN=)!S9>$AZyXIrpY79%m%lg*1Xm#aG?vrqelaVhGCt;6Da%Z3A zj6FeU8yqe*_eogpE-d+$pft6h{x`puR7(>8RhFolp(S9h$?!krYuTr2%34kKSoVm^ iSQ$zPA%qY@002Ka+TylE!E{;x0000raOO5))lr`-TR7ToJ)f-|=Y9v4O3XEAL#XnZNDz9Bja0qf>A7X8d z5ZO>Hj`-K^&f;Jh)qz`yR}csQduq(1eZDMQbRr+j?EpNj)h*x>5JA1_{)4v^fxoVO zFLqKqIHQ3a8s)zW5@Z0Yij@Lt9##NIwk4Gua}wZOcSL6J6086$suBJlPEePmYreYADKtuF4o2G?>M7O*7Qq z3>`5dYM<4XcvE%%xDgZS6|1m}e3;f`(t>4C6y{R^Eg4O;?jjM9?j_}4!qtjyi(ttw zobL<$ZbUkVlYiuB_r!xtCHC+#hbQP8>ks=eH&w2^RL%7+FMykUqJtNu=r-U!Ef=x>A1DR}j%$vhZ89q9$WfrCkXwwpLrMv*{^0^Lv3(>UMs3H-OP9RqRrd_%= ybx$k*=4crf6UMlVO^o1s(Y**Egb+gf1Rn(KDyF#gHx0l50000S_GAJ^6Q8AbwCuEd#ul~!ZPHM6G3$r@9AIg?p7pmyF*U8f82aE$n1#;dwEHkpekhx=Gi%!V z4M|m%TBLKg#($Y1ZacvEgQ)7NUm}GjWEmdJe-Q&K@&~7o#R*wR7^s-8WwHb0JESy_ zT5VP@k957wmM_4i%r^emsTPzuqvj-+!a(+E0a?!+ws8P{CbG~Dm9w>GJ%`!G0SIcg zF-HG^$qrBp_iAUEl+`pnmb>MQ@^eB~nr+Tb2qA1JDDIB!8DlL_t(|ob8#*vcn(BL_t(|ob8$04#OY_hS{>c{{!!0yJ%vpASh~S*Z;d(3<4EA zz=!|<0Nj;FjM?vJ@5Otj=A>=2QYha9k^{N$L^sY(5r7q%w;zQeZnuy>oL7idfg&Zv z3{8kBTyUdwcA#Wp?YB8-s^v<|>FbHx0Yye1V=*_Bwp!?3iGK?KjtC+mdPX~NcTRH& z=d|3h%0zKWF@D}>XwYkH8gBoO`EbL^)mNWR9{|nJAFTdW5SALNe=vwaBshg4*)KBd zhVs{#*i)=)Y<d~qtm;<)=O`X0M2%|c&C#q8UN)|F7K0!NhHYni{|Da1x^Ty1Af!zN*Z5CnuC z3IPBBz+Ks_9mx2+50~4kN+pUVU7{5Q_-axF6q1Hk;rx!W+GJ%UPiqG%kg6LDfz+l_ z(fm@^)z!h5%LyPi^;Jn=IuC0H?hXUNf*f9dk;$iWQ@;-)I_2#`GPL3g0Uh38?=JD+kf~19{u=gs1-jQWxfPg>em< zTOZ8y1dtw`qC{C)q&)f^^I@?)PEPU1Y{d5bz=~Bq?Xr8hJzz zBc&usk|h7iBgX9av-RS=r{+alH9?dw6WXU$@Gl?%n5ua_qCB1FlFBQ@Dg#MLHbX0H z3MU5eJY_RfN?SII70rnFWa4%J$>@1jq$*#xTIe2%3%~)d9e=&J2+wE-rg4SUFDE*L z*9@Pri(q?hlkp-P@}~$`(AU^*4Euk~i+8MCef7)f1E3kY!RlWHW~p=a4<=&}Nmijq zwu{_!L#59+Wm=sn^=%|oic~Aejl)9Ti=6{iEBe z)VoHA6ygjh+kb7Qf_7KfZ^CTu6TgulgNb0h9C_|j9$9H4>gm|I2_x6V_L3Qh6} diff --git a/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00020.png b/tests/ragger/snapshots/nanos/test_sign_parameter_selector/00020.png index 8a8c617ae55f72c6387430f86c2505ede7f558d0..cc968dc82dc50168f67edb4aa9f28272fea8e868 100644 GIT binary patch delta 347 zcmV-h0i^!x0`>xsB!4|gL_t(|ob8#>4uc>JMRA$`|G_@E2NFhrmV%U`-jh9O#WHR! zgyI|k0D!l$S$2LN&N;X3oTbTCpu>X^U+X_Gj{Arnvv2_7kJ^iS9_fY9Lui~>@&@n1 zk3Xo8+$PP67kL}WTa2IS+#~}$+s-W##f+)?6eg1z3j~0Xm4DKa^3!T*n$UFkSasZk zS1JT-6vG|1us{YdT+t<#)qmi*WyM8!fpzK0ROE&F6Cg!~`qL;#4fQ937+8W?$P(Rk z_&ol<+(Oj=ik-&otB?4`61&7F(~A)GPh37){w+z_M_410L|0xo8m-{1cEYVtHHN<0 zgU)76VJ9ryUQ}u)<5>08PzZoTsKL2g$ tlOGZUz4Ax=K}}zG*L?y200000njfyO@S34eNCW@?002ovPDHLkV1jlNrJVo( delta 336 zcmV-W0k8h{0_y^hB!4nVL_t(|ob8#x5`!QNM7N#x|3A2g_TUVoAw=pJ5@p{>OC(4l zEGa+;A!Jq_F>b$~?I_-7_Pq2~T!_vWgSxdmI0YgAu05}RF&^pe-)Ie=IjrKF^Gh#P$b()uBxHlYRssE z)~;KpWy4ZvQ1w|fN=)!S9>$AZyXIrpY79%m%lg*1Xm#aG?vrqelaVhGCt;6Da%Z3A zj6FeU8yqe*_eogpE-d+$pft6h{x`puR7(>8RhFolp(S9h$?!krYuTr2%34kKSoVm^ iSQ$zPA%qY@002Ka+TylE!E{;x0000(%bx*GDGy}vWz;$BdgRV7b zAR=ewX_ei@AAkR)n4ANs?}7=n$qV-Cq2)&9v2Y>sz31S`wI4U!0~5J81(9ePmYreYADKtuF4o2G?>M7O*7Qq z3>`5dYM<4XcvE%%xDgZS6|1m}e3;f`(t>4C6y{R^Eg4O;?jjM9?j_}4!qtjyi(ttw zobL<$ZbUkVlYiuB_r!xtCHC+#hbQP8>ks=eH&w2^RL%7+FMykUqJtNu=r-U!Ef=x>A1DR}j%$vhZ89q9$WfrCkXwwpLrMv*{^0^Lv3(>UMs3H-OP9RqRrd_%= ybx$k*=4crf6UMlVO^o1s(Y**Egb+gf1Rn(KDyF#gHx0l50000CfH^_}!yz*BZkv^2=?Hdxc{A*JQ7n8RtPp zK=N5{Easxhaf*%Yv5kPk2P1#Has1IRPeHBs$cs9T66OLVbARr_7zz;OoG=T?BQe() z5gxob-#-pvr56zPj+vZs*7zvc)y3?k1aOLJy=-1h0GG6GZi4}#20ekxLQ8>o4!52c z$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4Es9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}l9*&idWGTl2Htm5BS#r(ZKKa4TPIu%~D1cS_1K7B8&-Y1b* zpMO9%z4s|kT*KRl-DoAibkgJ6m#2488@9wW4=)8=XwIQ;P{-$^7)h}YzN(1q^zT~R zl!*`K5gs9_)kY!q3nIFiFjfQ96+n#87McdlWeIJf_)c;MRr^U#)B}{G6~N^^_K{T_ zlD!q0C1zGU(ys(~##DN724LZR@%_%d5~&P*av)1*6&c6#&Z zPoLXF{eTz3G?8;4XU>}B7>nBgsp~5-j`x@j+qyWu;*BnW1>rXR*Xi?G3##2pG=uAQ3 z0EntN)tp!*Q#NW+P6PMaj@jG>r>a}XI1gqrK)+4iw2W2zNN^Z-;Rm-ioo;Og@J!>Aa%iONE6 z!ftTPJgXf5k?rGE9%!mgamD<4tPviZfD?am z+js+!XZ7O@9X%~DOE_>yh&IfK_&aqXt<&E=9{`huPg}2r2EEEcbLZMLjj}c%)#jAYi?ByXfJtg?yh!3x( zD$anKWh#+d8!Ea+oC3s9Y@E5&w6Cwy zElp?Lm+OrHkfcfWVe_-Egt-Y06&UFhkA1&(6yE=eXmRg92K+_^<8_{O>wUoWplw7R z;;^%CDE*|S={RT0eV$cpgL&3Mp-?Ck3WY-9P5c8WWm#r_zE~6h0000S->P){%I2KQY>8g8zE&dF6b;{Vv`o~$Zzktlr^17t_|#6SQ7+Wua?Sbs$1#&q zD#A@@)FFd zd?$(g$7^P-r%>%WJ9_pi*WCNCX0ssIn=Cj*?(|++AFV016`b${K zIt?Fn<@+v<-FtCxO+7Vzg=l2`&V;&h`Ryh2Ar@!oqh?Nj^RYA3d{sY`B3AaXcmvet zU8JuYT;sGQtRm*fT2gn`nT;plB-l^2`lb^Whm=g)UB&ul+@{9o8KY8~n>wTR{Ufq* zE1Ot+0`?)R`3~7DR_16o;JVc&Yh;m4;_t@DNZg`2q7t_<kgD0U1JxM3X?7>zDF8}}l000000000000000000000KhhW0rxWubJzM@{r~^~ M07*qoM6N<$f?;wA2><{9 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00004.png b/tests/ragger/snapshots/nanosp/test_blind_sign/00004.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_blind_sign_signed/00004.png rename to tests/ragger/snapshots/nanosp/test_blind_sign/00004.png diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/nanosp/test_blind_sign/00005.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_blind_sign_signed/00005.png rename to tests/ragger/snapshots/nanosp/test_blind_sign/00005.png diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00006.png b/tests/ragger/snapshots/nanosp/test_blind_sign/00006.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_blind_sign_signed/00006.png rename to tests/ragger/snapshots/nanosp/test_blind_sign/00006.png diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00007.png b/tests/ragger/snapshots/nanosp/test_blind_sign/00007.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_blind_sign_signed/00007.png rename to tests/ragger/snapshots/nanosp/test_blind_sign/00007.png diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00008.png b/tests/ragger/snapshots/nanosp/test_blind_sign/00008.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_blind_sign_signed/00008.png rename to tests/ragger/snapshots/nanosp/test_blind_sign/00008.png diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00000.png b/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00000.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_blind_sign_signed/00000.png rename to tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00000.png diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00001.png b/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00001.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_blind_sign_signed/00001.png rename to tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00001.png diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00002.png b/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..447ac938190aad0af0629e97cb8d1e3d0e0ba43a GIT binary patch literal 947 zcmV;k15EshP)ZYS15v{R!d+zo7ML;g9Q@e$Iz3sRun~16h%=KkMq%5JI`|} zJ&xmzV7_rhm5yYkx?A@=&+)0WA4__AyTMrf^Lo&~kDnjrJkN0|ych{)ny+&DUX0nF zMq>Q@2e>(oqt~BOBW+YSRtX4w@;LfpysNF@NZj!7Qox1o9Qp*$V@hTjOgNqF$Q3+fGG%Tp;=fdOSGm|U)kKjqxDTsZ3i@tR)DO} z#5b+tP~BUxB5`-cEq*Pi0f^$JJ2V*5c>7rHogdbotQtF8P_H~4Q2^>oSUu^E*!;CH?(k$dv%Tf)BzKNs(7;eTg+0Cq)E6h%?|QgScr^Naq~wHZrX zbwvio2WdIAjQOUliunT%&Y)Whltk^VbVnn+%$Naon*~ipBcv{3y_J5Cz%r*5P~z%w zewRFX7cw@|J9ASbZ($690g$M@mARM%dxm6HjN2$<$?4yQ7eFElOl;%~xKGVpdI#J}ZZ8V)Oh+*D z0E~O6yMHz9cO_X1Y^J%NlNc8=HXQ%dYs<`y3Ww?pd3v)ec+4bM_8&t@b!GoyY7E|_ zcA+A(wd>wG?!^g^yc4QsYtfMDiqIw5MZBmwCn%V=S?cqao=wOapkk@0Y zgl~-xJ1Y7Dmc%$rNF{E;YnuDVLgRRZW@RFksxR`gnH&Ij0jld)R>Zs0id1mjLS^-_ z5Z_d>#5mP~L#i6xDkc zbNK{HBqMV&>MU97b}6(Gx6rhvnA2H7byDWUk-P4gM=smMILqMYkW*)K9pTqjW&m7q zg4Yz)y3$5^j0z-HNb-^8H`Ebcyh^H}34=z=sa>MmtuR6I@w5Lazn=Xx>(f8f_%5#B z30$)cYG}!&D+G?A&5$Rtfh+`v#qM VT}$Mwf@J^z002ovPDHLkV1i*;!QcP@ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00003.png b/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e01b902fd7f5007d3d761c295320b08162acdd GIT binary patch literal 566 zcmV-60?GY}P)VPi>^?ds!wFfKj^c9twsOo*v8l`4MSf>R_h@m6gpaii7$PR^Jfn@zVu$#aP0Z zJ!PFD{=lr2SdTPEzii9fyTU7p=i+K5|CcENm|_V40KAybI@OU&A^#OnzU?&^LDr`J zm5zT;8PWL;hHfC7i#c_~mv_W08%D=x5&95&n9(o3cy69cx*6RVu(Sf!2EZ!+Lv#tX zxA>9hwj;UY`K9V#lQjaDFaClo41nYGYjqv*g?i`V?^p!3bou=)D0uRS*v$ZMVaaXi zbatiZ1GE(|@u~m(YP|n2#9$|M zp`CP`ObnKSdjS9d00000000000000000000005Tp3wGt{em1Vu6951J07*qoM6N<$ Eg4CS}cK`qY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00004.png b/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00004.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_blind_sign_signed/00004.png rename to tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00004.png diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00005.png b/tests/ragger/snapshots/nanosp/test_blind_sign_nonzero/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3516cba3767d40474a33f9d89f38a11c8d3bc2 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-&ba4!+nDh2Vw9p|19*2uB zb_jplzvRtPez#K}Hhr0z@&4zbZCiXA8ajYl7`886wJPf_7qkCswvLV^7vit6*ZumP zdbdF@lvnYH!BQukT&P+y1#Guy!~1--8&ns;@?-r z{JlOuj4{SK6<)LigUnYxeJ`xuCy`j6e?T|A_bE?Y!`q16Xn!TZbkgJ6m#2488@9wW z4=)8=XwIQ;P{-$^7)h}YzN(1q^zT~Rl!*`K5gs9_)kY!q3nIFiFjfQ96+n#87Mcdl zWeIJf_)c;MRr^U#)B}{G6~N^^_K{T_lD!q0C1zGU(ys6V{G=FE;iCb)m6VCgWAK?IqAj9j7 zOxC0T&4AY&Np9;;Gl6JP(agqEO;hMhLE!+1syWr1SS3?7YEn)E_u7ux+yhk`>s2IG7%0h3#aB{`qR&e*)Y$%cE=e$h@G{i~*yh&IfK_&aqX zt<&E=9{`huPg}2r2 zEEEcbLZMLjj}c%)#jAYi?ByXfJtg?yh!3x(D$anKWa!(k)GA-Iwc)0Fb0f_F?n0uY|b?4iy;b z6pwwsb`;+KifD1~KL-3p1><#|b?be=^*5kxL>}U>vu`N delta 943 zcmV;g15o_b2gL`FB!7%aL_t(|ob8-ja_k@sL`f<;@&1>@UhaphT#O#A7GV3PqVwg! zAOu1f_e|1SQ4~c{6h%=y&R1)#_by70<9NfF4^FS9Jy~fUw(Y%-cXj=-*H9>>0z-c4)R zlh8e!3b-&_L*L+@UXNxZ%|3KiiMH4Lj(3~0@WDF5BNTVNQJDRLh%RmzqXTXR2q(Nm z^YEr@!kXE9Wpf9&);B%V4ls@~K(}Z76Iq;Udn=wN;jXx)Uk@q(S;FZ~1w&Wf9?QM! z!`qY1%E1X~^N!OwhMqW9$2w}jsczZUPa z@Yh)nz%EaUq9}@A%vV^0kp|BTpxcQ0p*8(-#FVt*oagBormMiXITlZ13iYKl;uuR- z1|`_kdCOD{nG2?ib(^98yeEx(5fc`{D#Hyy$!TiiyMGCzW&RJO17N}=GDzz6bFsE* zcC9}O4kd%@v4A0H4K56SIsm4NIwzPcnb0=85>Ix`8aMMBlxPRC3AZN$rU@r*Z{COr z+L(f2Umj^S^t5|?en(bJBQrp+kuAqiFJNI5Q^xT&%^26F=IVeRQJq@U58zI6&HiH; zQ(d$FFn<+;H>q9dO@c|T7~G1U-dGJa8+$6?RhZHjNuAPjDSI5`{h2suj=gM_p%@i# zm%gZFQLocE!4>~0!az3Z8$YDL*Rvg35CO@_s+;EUZJ=!^(9`X zWPh~Mtj+8YCK{ShKg{Z%f0N$01!Xd^9LDJeI_Q?So@pb~4dVcq`4y)2V&0A8Ib$Eb zBx~`YKnBHEpb;9q9`*U{iGkbNvO0xCu*ktlP*Eja{IJ)IauQ4~c{6h%=y#6PouU>BiD RJFfr$002ovPDHLkV1m^B$dUj6 diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00003.png b/tests/ragger/snapshots/nanosp/test_blind_sign_rejected/00003.png index 5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684..4bc1c688f57d0893d1772ea0106482aa797b431b 100644 GIT binary patch delta 550 zcmV+>0@?kz1il22BYy$~Nkl{%I2KQY>8g8zE&dF6b;{Vv`o~$ zZzktlr^17t_|#6SQ7+Wua?Sbs$1#&qD#A@@6Cn(Ihl{@HmU~XscK|PeCyf6NPH)W{Kso%t*21!Iy-v(XciyL6VN!JW~+mL zHixvS;#Z2hGqvQMp{la4tk~GvwmsdwD%S zBIQdR?3AD)*?(M79MqSvdPAtk&k)on##%fbDeEcXFU(qr^-6Q}%d-4eX z|FUEQmUsdH059gV+kn%4@f$DBMQ!>^SjsvLA9dyXE{@%Mad1sNHGPF>Wc|*Bx^nsL zCG;T{XXvA5PJi>UGt_)lKa?U?_OW;a)aG5JuNz$Bw0|Y6BId|iQg_ywjVItF*iW_k zrV|#2luX-Q#rkI4rpD(Pqf(liI-~aeBeHQTn^=4T_93hJ4%sVK=4dzIy45CYWRXqc z@5abT+@d<761Otsk3%QCbck-i3^LKb4JFh>|7O^OC!q>GNhiqc!Bz+_0000000000 o0000003QGV000000KhhW0rxWubJzM@{r~^~07*qoM6N<$g0eLSjQ{`u delta 544 zcmV+*0^j|<1h@o{BYy$^Nkl z7#j>Y#{mEU006L^*Kr&%#;P=gaECGr4ZRBOL(W!Tv2{+ zCdODUg&Q^TDV0>MoGHs?oAmwT3==}goh#GGHtHBwiJXa?Qh&7!twm%lK(&`O3tv5F z9avSCOv&4+lj~7+qdI`xRaM_?-?H{F7QVBH{OMJ-)-2R<9gmK0&8&mD11crd)#~8y z%~R6U?jyn7shVu z`M*qYz!XgY0N{&xZ5v5_zRI+slcH&+edLp>nX7T0uYc{P=%n8Kj~-FgtyNO^x}I_pp2i^ds}b zYWd|<*uQ zE`#{rDN7a|5)Jc`A=-dxWURjp#nf1TGx*?6h(dSLFfu+^3g!g>000000000000000 i0000002u%PSjI1F4DX@n4bN8q0000Ylw diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00002.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00002.png deleted file mode 100644 index 07995577f8ee0657052eecb429f854ee160dfaf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 965 zcmV;$13LVPP)SUB~RkD*>*H9>>0z-c4)Rlh8e!3b-&_L*L+@UXNxZ%|3KiiMH4L zj(3~0@WDF5BNTVNQJDRLh%RmzqXTXR2q(Nm^YEr@!kXE9Wpf9&);B%V4ls@~K(}Z7 z6Iq;Udn=wN;jXx)Uk@q(S;FZ~1w&Wf9?QM!!`qY1%E1DW0D2iXqS6G9Q2G0wi+lcz1 zHT`nLl(gZT=jj=ytH8K97EfXd^`$i87)w?LCD_z?%Tx`S3#N;8o1y=_Cyjg&6BfZL z!wo^nX=>xU38Q8H52OQN!Xz?C>h*K6wrO^)KMD>dgX^(?A!rRQ41YQRri(f!m@Jvl zHoOu~cFh_$^Ba_C2eJvbCj+JlCvI=vhzZ)5f?;1CX*Kk;dwhOJR!k!^K(CQ4$51a| zVH8uw@ixsE*QVy`fF4nuTGS8VPIAruV;ECiv;Qy^gEy&N=uLu2t{B{kp59muH5+>> z;8mE?7fGGcb18cq2!XPQ)MM05K^GUC6 z8U@JO26qTS@Z((36R84@Fz?cguXDPMISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5 z>K=hJ*lkmj041S^x@6aB1qI-~ooDU=MXqIU8H$ftJD%mmNZj(~0!az3 zZ8$YDL*Rvg35CO@_s+;EUZJ=!^(9`XWVF((&Fl~+8k$f)%<7+ilis)mWiqiG#_0w+ z=$5yhX(Q7O;{cfX6{hxL-i_lqV;{aGYw@7vUv9}EFbzo=c=D%-+rO6(tm|B2cg8z7 zHpQsIW~)#tZeak#ZmTt9?8J8Q_Id6e0{g!r+MSBvUuOQ-(cmzUeJnEqDn=-gbHXh- n1X4Yn7)4POMNt$*Q9Q&yvw&b1p-DTh00000NkvXXu0mjfIUUGh diff --git a/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/nanosp/test_blind_sign_signed/00003.png deleted file mode 100644 index 5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmV-80>}M{P)7#j>Y#{mEU006L^*Kr&%#;P=gaECG< zB&{xMGSa=-H^!K2v-PU>r4ZRBOL(W!Tv2{+CdODUg&Q^TDV0>MoGHs?oAmwT3==}g zoh#GGHtHBwiJXa?Qnd`NMPw~NwU;#uUp;3XSXGux$=j)u>rr*1I)L0&Ro`sivi2|* zzO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCqQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9 zslH3GG-*b~9>`ehHO0Dm*eZBCw!@ejS!T3R#y}U^$=EX2xWOPLAhhB z#+NN+&7%LnEQMG{nj>F^<=dmeSJJ;0R}1;SOmV;zO#lGki+ODuNqxS`w4#%uX{LST zld74kah|V#?WX9Y-u#aqQPr)^zhgA7>YZv#q3a#=e=dXg-ziHL9TE-mk|ElFX=JRw4aL-0e>3>t zPKZKx(l9bUSPJF^0000000000000000000000000SjI1F4DX@n4bN8q00004vxcoWvO{Lca|rew(*m>~S)a z+mT#m1_W5XBQ^d&Sa$AyZ%wx|Ij=9t?OblJzj^hS$Rc*0o!^fbEXWs`Snb38qFi(7 zld`L}PuDoj-#v|QqN(+Q{G8b(GwhyixUHmG-XKxGUsrZ(Sh7nugL&uXxSZ<~B36F# z4$x+DpLgtV!bQ@_TRRSISyny8dQ-?F|OMs_FZt zha37D-Q+j+Fulp|CZDp1E465nkNh03<>tkvS7!Kj?VL4l@5>E0L#}4bocr$m3s=^? zF~%_mHkOw}f61NrIQF%##SKxmx_?m@!td?nU#AsZz{Yn?torpDmYd$I+EGcUc+H(Ru{%%!`U7ZErN57=!OH}KfgTe~DWM4fM+>G? delta 375 zcmeBYp2R#sr9RTr#WAE}&fA-we1{cy94>Bo<-6nm#2wz^6LnfPo?MU+@Gp8Rk7sJL zamj541UR5-rUVCh zZCv@QZO+!9V}6GMUC+t~n0ZZ?Th@Qm=eEZ|&K1|{*S9D?f3xOAmVDO$;pZ_u|*{{cIUHiRgmG+ODk=Md&Z!lUtjIGjN ze~8EEqWm(!tVQ+`mK`plT~|1bEGwq)fBdpZA*Aok9gSpPo6Zpu_lU|AFSG`*PMy+nJ|nIW@g=FB2k!82o-Re~Qtw TaGo?f6C~>C>gTe~DWM4f1lFzy diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00004.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00004.png index 953ecc75920df0efe4bf67a18c2b8e5288f47b43..c980cbfc11d5e020c6529859647d09121d92a864 100644 GIT binary patch delta 746 zcmVF+5f z0tsPbXp&M0A%qY@2ubHF&C_|F?d5SCX|A8lpJaa<^M0PExCx%X-@WeJjMT9?&+|Br z@2~2IpiOJg)~c7ais@Z6yRxee*-wDr_)qzn4v`wqrp;R0Y=6z5HV{qemXn{7>?c5U z5A@c&mxo+{ir6M|p3EMAwr}2S&=RqU_?oe~mCaMo9lRp%m7N1n@9XYFG`fIkYl-)B zEir8fA%qY@NDh59R0|`XR08x)Q3Wfbp0rS$9hq0C1tQQU=&9L)8KhYk#L!1?*}*2> zlNq{owF>0vLVupUX%=iD7^E;ZyMV(sS+Eg%(Jp35sQTWYVSyIZjb>ip1#0t9o5AS? z`&}zzWQcJL z;`(s|aQPTOvwXS`Ggy0hIc&KM1*c11Njt-Ua6y#dV1G-TUX4}N1-FRJ4BH(3 z&OPy>^~`&5lg#X=VWgVbPljW#6V5_A=_HwBa4R~!9W^wlVwwxSp^_3_whpZ$FNB8| zox$*KmqN`;U>Pa7ro3KoWR_s#8NC*}`@r7?Rc_KgpDV_h&uN*KFynQ_%rF{^x#tgt zdbw+z0e@I4jm3lWgvp3UGi%;mjOB_TGx`-8fT4C5DqjorxEX-(A z03Z zF<`D7$5H?Q00000NarIhQmwV$ysj%P^pp8aj(4!`wN^3-p1{}H@O?$v*wk9D>v|n( zKb$tbL4Q`;Y^R9PiQAo*s*rsL5UwA}?{bjRXf}P-dbh2D+<$<$;+~W5lI%NxT%K{Y z;#>}eFix~>GW%rq0QA?Ub%P#{jVIQM&8-}6L3i*Lb#I&;fHtp(jVSs6)1O8DpW7bM z1^@s60087LP(!&YV(27(V?(;p7Qk9WP5cpk@{~e0+_`6`FL&p3p!;fJp zdJg3_m;Y-I7k{rbIm=*mAr@M~Y+Ubf0WK3BdODd^EhrRtSILa(lS3Y1`9AU4(}GUE z4-jSKy@k;9>ZpzQPQoAEusJpW)72;4mi!Oj)R*pScV`A*W$u#>^Bi4s4mtqjPacWFWMAy+3CUQN2~tgveuRcv}F9;s0DdMbGySdkwe^Hd{dr? zokTl{PJab1o$_QtAx_HCyELD|dahqv9=cu0$HU?819lO5{169zudu2;CUM3CFueD* z`8(|0p6+S4U4Qc8TbI@%UO$HUc#_dVI1>f{0002^C**x8znw)50Bqx#%Ak`!_?0Bc z!`AUZ5^p^QXhDa;02~I7p#T5?0002|KfVDb;}XJhpkNs=00000NkvXXu0mjf0C_$p diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00006.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00006.png index ecb060ce389823e25fd05c93c856365529527b8b..d1a0dc3952527239aedb068ba16aa77c0d36114c 100644 GIT binary patch delta 392 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 delta 338 zcmcb@{)TCSay_H5r;B4q#hkY{1NoX21Y9p>UY@(*zv{;6brS>*F|6(VX!vd3da<<& z^B=9qU}Jy-2Oi7kb2e9rvD;h~wg_JHqWibVf@SlAE}eTaA%S&9>5K(0qjxZg#PU8` zmj93|KzZH5cE9^)M~7n-)t{3<=8ie>+8oon0PpNyWrkCjvT zMxtbB8QYe#xAuFdW!B#8PE+2e{B}aMYM!HMcWH4vf0_Ghy*;mO%U?L%mTW7!zT}Je gLwk2dxaSM<^Z(2}wxaN_tR+ay)78&qol`;+0Mh@TYXATM diff --git a/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00009.png b/tests/ragger/snapshots/nanosp/test_sign_parameter_selector/00009.png index d1a0dc3952527239aedb068ba16aa77c0d36114c..4bc1c688f57d0893d1772ea0106482aa797b431b 100644 GIT binary patch delta 550 zcmV+>0@?kd1HJ^1BYy$~Nkl{%I2KQY>8g8zE&dF6b;{Vv`o~$ zZzktlr^17t_|#6SQ7+Wua?Sbs$1#&qD#A@@6Cn(Ihl{@HmU~XscK|PeCyf6NPH)W{Kso%t*21!Iy-v(XciyL6VN!JW~+mL zHixvS;#Z2hGqvQMp{la4tk~GvwmsdwD%S zBIQdR?3AD)*?(M79MqSvdPAtk&k)on##%fbDeEcXFU(qr^-6Q}%d-4eX z|FUEQmUsdH059gV+kn%4@f$DBMQ!>^SjsvLA9dyXE{@%Mad1sNHGPF>Wc|*Bx^nsL zCG;T{XXvA5PJi>UGt_)lKa?U?_OW;a)aG5JuNz$Bw0|Y6BId|iQg_ywjVItF*iW_k zrV|#2luX-Q#rkI4rpD(Pqf(liI-~aeBeHQTn^=4T_93hJ4%sVK=4dzIy45CYWRXqc z@5abT+@d<761Otsk3%QCbck-i3^LKb4JFh>|7O^OC!q>GNhiqc!Bz+_0000000000 o0000003QGV000000KhhW0rxWubJzM@{r~^~07*qoM6N<$f`H5ib^rhX delta 393 zcmV;40e1er1fm0wBYy#DNklr18}UN01iano!+*UAen$uJNVwq!003B1 z{jp8=BwWOr4_x_&_46lPi5%I?%txYr5NnKD&|`2)$y;rw9#4%_JPIZ#i) zrG2JoCbjc;K2-Gt`0f4@!HJ&*dk0LWUZ&F~Kyc^Tj-paez>}Ti_Vxt;0Dwi^tKn!? zejrWaKEO}gvwyn3m#c}srg->QXAO$3`u{&y2%Uu6_5J-<`$Jtc&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1kYjQD6W7 delta 388 zcmV-~0ek+w1)c+tBYy#9NklvpO}&+|8}fC)JNq`>?#dJ%s{^>G zN_4usXQirk{^@^BA?p!es+L2I-Q@_v9RV$S$~qiALyZ9d0DyZ% zyZm2cau!k~eSO}0LDg$K_I9a#!^eH+r@F)Hx3RXr*xSzDroPZ&Nx-cr^vevL28SEz zubd-9DdPM-y8}73C=X;rBXov*Ub7*RUlytt2(E}1f3 ixfB2Z00000_)#wvWHGzIR9+ka0000XR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6e+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYSpUNTt delta 543 zcmV+)0^t3+1Gof`B!B-&L_t(|ob8!Oj>I4g0Mo7c3IBf*f0+XkqVWO=OVTq{r-;QE z8w@zd0RR910I;3caU3zmsx*XfhcX`|tuAXa(!JR?#+Ylf^{V!z5ZNY6c&E}_QGRbG z##kqDa&P>^!?)u6GF(HE7Qm}>KImuoQa%LwSNq)MPw~NwU;#uUp;3X zSXGux$=j)u>rr*1I)L0&Ro`sivi2|*zO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCq zQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9slH3GG-*b~9>`ehHO0Dm*eZB zCw!@ejS!T3R)1F%2lWtEZwO_1GC{dxtj3ouWzC}hz$}GWN17vFhUMF%!dKG27FP@T zzf5t!6iomC;EQ=}8%ce>%Cw@BqG_gmWSwoaBp!Cs9rapwV4v-PXDzv(%565aUvVSFKRKY||jro%IuzUyfBlE** z`Q=oo6n-{Rt>7sR=-(6aoK*ML9(~4niUWF3qm5Jh71R!xI}J5E=%)<*WAj?<4xfK6 zgZSSmOBNjx4fB#A+JI?ftiKJ#)L4Hr_~1^6LU+=Hz((krk3sU0_#}? zHb|2cMsmJcQ+I6lSk7OGbz(`kXZ}{|u9Q6wKw*C}p$g?ef17b~J|l=RT4hyOCCg>u zZXI3y{LsU=+ka7d-qeuO)c&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1hvIM-mZ9&c>_-hT!sn4N;8=O_gAL6Mjp zfMU+wSsDO|%usAO&O-Ssu~wLfU%a)of4+npwWjGzuga<{K6K&zQ5~Arn0E_+D~?Wa zz#9g@S&PAL%w?gibS9Y?h_XAqqCK-a>`hn>fc|Z0&_0yq<&E=K?XaC3g5-{zk2HS4 z+5Yjb_o?cv>|KD^$lAXR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDr18}UN01iano!@UW9M+fjoxZwr>09aG~u}$|RT*R6WT=|Ff^Cw-29NEmwN1}cZ zYm8dZV{l5z&n@)?H24eQ{9ykM+vxB)P*1?6eWqw8wexsBRP_Y-?fw$MiJt{~2TZ13 zrqd=saOc^MqEb)5lbz)D_5}a{fJNP_;b>NVAWh;vz)#z=y1$pJiN2(^b M07*qoM6N<$f=^q!vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*dWGTl2Htm5BS#r(ZKKa4TPIu%~D1cS_1K7B8&-Y1b* zpMO9%z4s|kT*KRl-DoAibkgJ6m#2488@9wW4=)8=XwIQ;P{-$^7)h}YzN(1q^zT~R zl!*`K5gs9_)kY!q3nIFiFjfQ96+n#87McdlWeIJf_)c;MRr^U#)B}{G6~N^^_K{T_ zlD!q0C1zGU(ys(~##DN724LZR@%_%d5~&P*av)1*6&c6#&Z zPoLXF{eTz3G?8;4XU>}B7>nBgsp~5-j`x@j+qyWu;*BnW1>rXR*Xi?G3##2pG=uAQ3 z0EntN)tp!*Q#NW+P6PMaj@jG>r>a}XI1gqrK)+4iw2W2zNN^Z-;Rm-ioo;Og@J!>Aa%iONE6 z!ftTPJgXf5k?rGE9%!mgamD<4tPviZfD?am z+js+!XZ7O@9X%~DOE_>yh&IfK_&aqXt<&E=9{`huPg}2r2EEEcbLZMLjj}c%)#jAYi?ByXfJtg?yh!3x( zD$anKWh#+d8!Ea+oC3s9Y@E5&w6Cwy zElp?Lm+OrHkfcfWVe_-Egt-Y06&UFhkA1&(6yE=eXmRg92K+_^<8_{O>wUoWplw7R z;;^%CDE*|S={RT0eV$cpgL&3Mp-?Ck3WY-9P5c8WWm#r_zE~6h0000S->P){%I2KQY>8g8zE&dF6b;{Vv`o~$Zzktlr^17t_|#6SQ7+Wua?Sbs$1#&q zD#A@@)FFd zd?$(g$7^P-r%>%WJ9_pi*WCNCX0ssIn=Cj*?(|++AFV016`b${K zIt?Fn<@+v<-FtCxO+7Vzg=l2`&V;&h`Ryh2Ar@!oqh?Nj^RYA3d{sY`B3AaXcmvet zU8JuYT;sGQtRm*fT2gn`nT;plB-l^2`lb^Whm=g)UB&ul+@{9o8KY8~n>wTR{Ufq* zE1Ot+0`?)R`3~7DR_16o;JVc&Yh;m4;_t@DNZg`2q7t_<kgD0U1JxM3X?7>zDF8}}l000000000000000000000KhhW0rxWubJzM@{r~^~ M07*qoM6N<$f?;wA2><{9 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign/00004.png b/tests/ragger/snapshots/nanox/test_blind_sign/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac2ab07753bb344d9944b4c3935fcd2921d373e GIT binary patch literal 702 zcmV;v0zv(WP)c&zur@%X+Ij*PoU?OAnNg* zN4T4^dIr3nrv^aEjK}fR0F?i==%L;R00000_*iT;)ZFLw$(CoqpczYBSToEP$uRcJ ztaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwhbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LC zP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i`oC6%pQ!0Ot9jpY87oIi(s6^i{4cLy zA-WUMlU`vlZlCnX1CXT60J`)%1xHF!x`*ovo98o=HPtlC(^7+T&A(x6M5(A$S7q|GGnDg)R$w? zwIEtIsEPZraFNGyBuhLxWl|Pp@suMi08S~*k7;o3XjA5*OUBbbB)yPT6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|w zv-^1e9@x@hHadr!g=N7Kw93CK@Zb6UJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHD ke)={P000000Dw};FJ0{81JjCfLI3~&07*qoM6N<$f~{Cmb^rhX literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign/00005.png b/tests/ragger/snapshots/nanox/test_blind_sign/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..d704566c063339e01841f374d7a8414c0510c7e8 GIT binary patch literal 737 zcmV<70v`Q|P)OkbVog7tu^S|WU0SYUyC_o>Rtoq zKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-`SSBM2L9DMSma{Nt#C@0}M{6}0*N44} z_d1j}i0ii&bs)4Oqw2Xa)^-W zOUJZKLDHaYMrJ%|PJp?5?gQCjS}kW0%!oT66Cipb+ofsKceUR1WHCJh^t_0T$I;ic zPZG1&v!qRNgUskZh7oE;|6!Pem2ekYNfKn{;8t{a+ujWgYJIPkLF%kPag5c4S>kBy zVfqzxrQI|IN}xvu>LVhfHc5}T8RA|_Y%hvoJzWY~2_Jbjl~}Xg9O3-jv@S-fGtj+2 zOziNa$xkQ&$j*}j>MfqqmrjSvsKW9puIP@saqcnsoER6csq;@zX!1@PBs%6Hk@gC_ zJ=RU%cAqD})BHNLK(T_l#b=~rlY3z7x-%D$C&1H^o>w26c*Z?*DKt%Y%NFFFx84m> zph22uNDJbg5J%0H>leA2RZBK5r36waA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb z5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%`1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{ z!qW-xL`rax>gZ3*$C88h=>&|3ly9iHj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m T0@;$V00000NkvXXu0mjf@jO@2 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00006.png b/tests/ragger/snapshots/nanox/test_blind_sign/00006.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_blind_sign_signed/00006.png rename to tests/ragger/snapshots/nanox/test_blind_sign/00006.png diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00007.png b/tests/ragger/snapshots/nanox/test_blind_sign/00007.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_blind_sign_signed/00007.png rename to tests/ragger/snapshots/nanox/test_blind_sign/00007.png diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00008.png b/tests/ragger/snapshots/nanox/test_blind_sign/00008.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_blind_sign_signed/00008.png rename to tests/ragger/snapshots/nanox/test_blind_sign/00008.png diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00000.png b/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..d1a0dc3952527239aedb068ba16aa77c0d36114c GIT binary patch literal 418 zcmV;T0bTxyP)r18}UN01iano!@UW9M+fjoxZwr>09aG~u}$|RT*R6WT=|Ff^Cw-29NEmwN1}cZ zYm8dZV{l5z&n@)?H24eQ{9ykM+vxB)P*1?6eWqw8wexsBRP_Y-?fw$MiJt{~2TZ13 zrqd=saOc^MqEb)5lbz)D_5}a{fJNP_;b>NVAWh;vz)#z=y1$pJiN2(^b M07*qoM6N<$f=^q!vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*ZYS15v{R!d+zo7ML;g9Q@e$Iz3sRun~16h%=KkMq%5JI`|} zJ&xmzV7_rhm5yYkx?A@=&+)0WA4__AyTMrf^Lo&~kDnjrJkN0|ych{)ny+&DUX0nF zMq>Q@2e>(oqt~BOBW+YSRtX4w@;LfpysNF@NZj!7Qox1o9Qp*$V@hTjOgNqF$Q3+fGG%Tp;=fdOSGm|U)kKjqxDTsZ3i@tR)DO} z#5b+tP~BUxB5`-cEq*Pi0f^$JJ2V*5c>7rHogdbotQtF8P_H~4Q2^>oSUu^E*!;CH?(k$dv%Tf)BzKNs(7;eTg+0Cq)E6h%?|QgScr^Naq~wHZrX zbwvio2WdIAjQOUliunT%&Y)Whltk^VbVnn+%$Naon*~ipBcv{3y_J5Cz%r*5P~z%w zewRFX7cw@|J9ASbZ($690g$M@mARM%dxm6HjN2$<$?4yQ7eFElOl;%~xKGVpdI#J}ZZ8V)Oh+*D z0E~O6yMHz9cO_X1Y^J%NlNc8=HXQ%dYs<`y3Ww?pd3v)ec+4bM_8&t@b!GoyY7E|_ zcA+A(wd>wG?!^g^yc4QsYtfMDiqIw5MZBmwCn%V=S?cqao=wOapkk@0Y zgl~-xJ1Y7Dmc%$rNF{E;YnuDVLgRRZW@RFksxR`gnH&Ij0jld)R>Zs0id1mjLS^-_ z5Z_d>#5mP~L#i6xDkc zbNK{HBqMV&>MU97b}6(Gx6rhvnA2H7byDWUk-P4gM=smMILqMYkW*)K9pTqjW&m7q zg4Yz)y3$5^j0z-HNb-^8H`Ebcyh^H}34=z=sa>MmtuR6I@w5Lazn=Xx>(f8f_%5#B z30$)cYG}!&D+G?A&5$Rtfh+`v#qM VT}$Mwf@J^z002ovPDHLkV1i*;!QcP@ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00003.png b/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e01b902fd7f5007d3d761c295320b08162acdd GIT binary patch literal 566 zcmV-60?GY}P)VPi>^?ds!wFfKj^c9twsOo*v8l`4MSf>R_h@m6gpaii7$PR^Jfn@zVu$#aP0Z zJ!PFD{=lr2SdTPEzii9fyTU7p=i+K5|CcENm|_V40KAybI@OU&A^#OnzU?&^LDr`J zm5zT;8PWL;hHfC7i#c_~mv_W08%D=x5&95&n9(o3cy69cx*6RVu(Sf!2EZ!+Lv#tX zxA>9hwj;UY`K9V#lQjaDFaClo41nYGYjqv*g?i`V?^p!3bou=)D0uRS*v$ZMVaaXi zbatiZ1GE(|@u~m(YP|n2#9$|M zp`CP`ObnKSdjS9d00000000000000000000005Tp3wGt{em1Vu6951J07*qoM6N<$ Eg4CS}cK`qY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00004.png b/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac2ab07753bb344d9944b4c3935fcd2921d373e GIT binary patch literal 702 zcmV;v0zv(WP)c&zur@%X+Ij*PoU?OAnNg* zN4T4^dIr3nrv^aEjK}fR0F?i==%L;R00000_*iT;)ZFLw$(CoqpczYBSToEP$uRcJ ztaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwhbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LC zP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i`oC6%pQ!0Ot9jpY87oIi(s6^i{4cLy zA-WUMlU`vlZlCnX1CXT60J`)%1xHF!x`*ovo98o=HPtlC(^7+T&A(x6M5(A$S7q|GGnDg)R$w? zwIEtIsEPZraFNGyBuhLxWl|Pp@suMi08S~*k7;o3XjA5*OUBbbB)yPT6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|w zv-^1e9@x@hHadr!g=N7Kw93CK@Zb6UJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHD ke)={P000000Dw};FJ0{81JjCfLI3~&07*qoM6N<$f~{Cmb^rhX literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00005.png b/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3516cba3767d40474a33f9d89f38a11c8d3bc2 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-&ba4!+nDh2Vw9p|19*2uB zb_jplzvRtPez#K}Hhr0z@&4zbZCiXA8ajYl7`886wJPf_7qkCswvLV^7vit6*ZumP zdbdF@lvnYH!BQukT&P+y1#OkbVog7tu^S|WU0SYUyC_o>Rtoq zKtX*UiveN;a~yD%xUXj!xHtGAm=TvlnhP-`SSBM2L9DMSma{Nt#C@0}M{6}0*N44} z_d1j}i0ii&bs)4Oqw2Xa)^-W zOUJZKLDHaYMrJ%|PJp?5?gQCjS}kW0%!oT66Cipb+ofsKceUR1WHCJh^t_0T$I;ic zPZG1&v!qRNgUskZh7oE;|6!Pem2ekYNfKn{;8t{a+ujWgYJIPkLF%kPag5c4S>kBy zVfqzxrQI|IN}xvu>LVhfHc5}T8RA|_Y%hvoJzWY~2_Jbjl~}Xg9O3-jv@S-fGtj+2 zOziNa$xkQ&$j*}j>MfqqmrjSvsKW9puIP@saqcnsoER6csq;@zX!1@PBs%6Hk@gC_ zJ=RU%cAqD})BHNLK(T_l#b=~rlY3z7x-%D$C&1H^o>w26c*Z?*DKt%Y%NFFFx84m> zph22uNDJbg5J%0H>leA2RZBK5r36waA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb z5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%`1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{ z!qW-xL`rax>gZ3*$C88h=>&|3ly9iHj`J>C5GZhVsEo0+`FR;7gb+dqAtdJ)ou~!m T0@;$V00000NkvXXu0mjf@jO@2 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00015.png b/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00007.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_sign_parameter_selector/00015.png rename to tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00007.png diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00016.png b/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00008.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_sign_parameter_selector/00016.png rename to tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00008.png diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00017.png b/tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00009.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_sign_parameter_selector/00017.png rename to tests/ragger/snapshots/nanox/test_blind_sign_nonzero/00009.png diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00002.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00002.png index 07995577f8ee0657052eecb429f854ee160dfaf4..6fd3376cd2c581b90be09912e2c9cdefc3e97169 100644 GIT binary patch delta 958 zcmV;v13~=72h<0UB!8PpL_t(|ob6m&j^rQ=WJYrn?tdiivLBHU<45@cNz^;8uQXs| zY%oxXy0t=~P$(1%g+k$Re6`lb7^JlK{)REXa9NeMWJlbT9b>Guy!~1--8&ns;@?-r z{JlOuj4{SK6<)LigUnYxeJ`xuCy`j6e?T|A_bE?Y!`q16Xn!TZbkgJ6m#2488@9wW z4=)8=XwIQ;P{-$^7)h}YzN(1q^zT~Rl!*`K5gs9_)kY!q3nIFiFjfQ96+n#87Mcdl zWeIJf_)c;MRr^U#)B}{G6~N^^_K{T_lD!q0C1zGU(ys6V{G=FE;iCb)m6VCgWAK?IqAj9j7 zOxC0T&4AY&Np9;;Gl6JP(agqEO;hMhLE!+1syWr1SS3?7YEn)E_u7ux+yhk`>s2IG7%0h3#aB{`qR&e*)Y$%cE=e$h@G{i~*yh&IfK_&aqX zt<&E=9{`huPg}2r2 zEEEcbLZMLjj}c%)#jAYi?ByXfJtg?yh!3x(D$anKWa!(k)GA-Iwc)0Fb0f_F?n0uY|b?4iy;b z6pwwsb`;+KifD1~KL-3p1><#|b?be=^*5kxL>}U>vu`N delta 943 zcmV;g15o_b2gL`FB!7%aL_t(|ob8-ja_k@sL`f<;@&1>@UhaphT#O#A7GV3PqVwg! zAOu1f_e|1SQ4~c{6h%=y&R1)#_by70<9NfF4^FS9Jy~fUw(Y%-cXj=-*H9>>0z-c4)R zlh8e!3b-&_L*L+@UXNxZ%|3KiiMH4Lj(3~0@WDF5BNTVNQJDRLh%RmzqXTXR2q(Nm z^YEr@!kXE9Wpf9&);B%V4ls@~K(}Z76Iq;Udn=wN;jXx)Uk@q(S;FZ~1w&Wf9?QM! z!`qY1%E1X~^N!OwhMqW9$2w}jsczZUPa z@Yh)nz%EaUq9}@A%vV^0kp|BTpxcQ0p*8(-#FVt*oagBormMiXITlZ13iYKl;uuR- z1|`_kdCOD{nG2?ib(^98yeEx(5fc`{D#Hyy$!TiiyMGCzW&RJO17N}=GDzz6bFsE* zcC9}O4kd%@v4A0H4K56SIsm4NIwzPcnb0=85>Ix`8aMMBlxPRC3AZN$rU@r*Z{COr z+L(f2Umj^S^t5|?en(bJBQrp+kuAqiFJNI5Q^xT&%^26F=IVeRQJq@U58zI6&HiH; zQ(d$FFn<+;H>q9dO@c|T7~G1U-dGJa8+$6?RhZHjNuAPjDSI5`{h2suj=gM_p%@i# zm%gZFQLocE!4>~0!az3Z8$YDL*Rvg35CO@_s+;EUZJ=!^(9`X zWPh~Mtj+8YCK{ShKg{Z%f0N$01!Xd^9LDJeI_Q?So@pb~4dVcq`4y)2V&0A8Ib$Eb zBx~`YKnBHEpb;9q9`*U{iGkbNvO0xCu*ktlP*Eja{IJ)IauQ4~c{6h%=y#6PouU>BiD RJFfr$002ovPDHLkV1m^B$dUj6 diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00003.png b/tests/ragger/snapshots/nanox/test_blind_sign_rejected/00003.png index 5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684..4bc1c688f57d0893d1772ea0106482aa797b431b 100644 GIT binary patch delta 550 zcmV+>0@?kz1il22BYy$~Nkl{%I2KQY>8g8zE&dF6b;{Vv`o~$ zZzktlr^17t_|#6SQ7+Wua?Sbs$1#&qD#A@@6Cn(Ihl{@HmU~XscK|PeCyf6NPH)W{Kso%t*21!Iy-v(XciyL6VN!JW~+mL zHixvS;#Z2hGqvQMp{la4tk~GvwmsdwD%S zBIQdR?3AD)*?(M79MqSvdPAtk&k)on##%fbDeEcXFU(qr^-6Q}%d-4eX z|FUEQmUsdH059gV+kn%4@f$DBMQ!>^SjsvLA9dyXE{@%Mad1sNHGPF>Wc|*Bx^nsL zCG;T{XXvA5PJi>UGt_)lKa?U?_OW;a)aG5JuNz$Bw0|Y6BId|iQg_ywjVItF*iW_k zrV|#2luX-Q#rkI4rpD(Pqf(liI-~aeBeHQTn^=4T_93hJ4%sVK=4dzIy45CYWRXqc z@5abT+@d<761Otsk3%QCbck-i3^LKb4JFh>|7O^OC!q>GNhiqc!Bz+_0000000000 o0000003QGV000000KhhW0rxWubJzM@{r~^~07*qoM6N<$g0eLSjQ{`u delta 544 zcmV+*0^j|<1h@o{BYy$^Nkl z7#j>Y#{mEU006L^*Kr&%#;P=gaECGr4ZRBOL(W!Tv2{+ zCdODUg&Q^TDV0>MoGHs?oAmwT3==}goh#GGHtHBwiJXa?Qh&7!twm%lK(&`O3tv5F z9avSCOv&4+lj~7+qdI`xRaM_?-?H{F7QVBH{OMJ-)-2R<9gmK0&8&mD11crd)#~8y z%~R6U?jyn7shVu z`M*qYz!XgY0N{&xZ5v5_zRI+slcH&+edLp>nX7T0uYc{P=%n8Kj~-FgtyNO^x}I_pp2i^ds}b zYWd|<*uQ zE`#{rDN7a|5)Jc`A=-dxWURjp#nf1TGx*?6h(dSLFfu+^3g!g>000000000000000 i0000002u%PSjI1F4DX@n4bN8q0000Ylw diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00002.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00002.png deleted file mode 100644 index 07995577f8ee0657052eecb429f854ee160dfaf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 965 zcmV;$13LVPP)SUB~RkD*>*H9>>0z-c4)Rlh8e!3b-&_L*L+@UXNxZ%|3KiiMH4L zj(3~0@WDF5BNTVNQJDRLh%RmzqXTXR2q(Nm^YEr@!kXE9Wpf9&);B%V4ls@~K(}Z7 z6Iq;Udn=wN;jXx)Uk@q(S;FZ~1w&Wf9?QM!!`qY1%E1DW0D2iXqS6G9Q2G0wi+lcz1 zHT`nLl(gZT=jj=ytH8K97EfXd^`$i87)w?LCD_z?%Tx`S3#N;8o1y=_Cyjg&6BfZL z!wo^nX=>xU38Q8H52OQN!Xz?C>h*K6wrO^)KMD>dgX^(?A!rRQ41YQRri(f!m@Jvl zHoOu~cFh_$^Ba_C2eJvbCj+JlCvI=vhzZ)5f?;1CX*Kk;dwhOJR!k!^K(CQ4$51a| zVH8uw@ixsE*QVy`fF4nuTGS8VPIAruV;ECiv;Qy^gEy&N=uLu2t{B{kp59muH5+>> z;8mE?7fGGcb18cq2!XPQ)MM05K^GUC6 z8U@JO26qTS@Z((36R84@Fz?cguXDPMISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5 z>K=hJ*lkmj041S^x@6aB1qI-~ooDU=MXqIU8H$ftJD%mmNZj(~0!az3 zZ8$YDL*Rvg35CO@_s+;EUZJ=!^(9`XWVF((&Fl~+8k$f)%<7+ilis)mWiqiG#_0w+ z=$5yhX(Q7O;{cfX6{hxL-i_lqV;{aGYw@7vUv9}EFbzo=c=D%-+rO6(tm|B2cg8z7 zHpQsIW~)#tZeak#ZmTt9?8J8Q_Id6e0{g!r+MSBvUuOQ-(cmzUeJnEqDn=-gbHXh- n1X4Yn7)4POMNt$*Q9Q&yvw&b1p-DTh00000NkvXXu0mjfIUUGh diff --git a/tests/ragger/snapshots/nanox/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/nanox/test_blind_sign_signed/00003.png deleted file mode 100644 index 5ba4dadb0c65ddf9f3d4c535109b2e4dd2de9684..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmV-80>}M{P)7#j>Y#{mEU006L^*Kr&%#;P=gaECG< zB&{xMGSa=-H^!K2v-PU>r4ZRBOL(W!Tv2{+CdODUg&Q^TDV0>MoGHs?oAmwT3==}g zoh#GGHtHBwiJXa?Qnd`NMPw~NwU;#uUp;3XSXGux$=j)u>rr*1I)L0&Ro`sivi2|* zzO#t@=~cDXEYxuwkB)E6tb@4&Dkap_>frCqQ_|G#Bf;INnsR2SqAdB|4v?LD^s9F9 zslH3GG-*b~9>`ehHO0Dm*eZBCw!@ejS!T3R#y}U^$=EX2xWOPLAhhB z#+NN+&7%LnEQMG{nj>F^<=dmeSJJ;0R}1;SOmV;zO#lGki+ODuNqxS`w4#%uX{LST zld74kah|V#?WX9Y-u#aqQPr)^zhgA7>YZv#q3a#=e=dXg-ziHL9TE-mk|ElFX=JRw4aL-0e>3>t zPKZKx(l9bUSPJF^0000000000000000000000000SjI1F4DX@n4bN8q00004vxcoWvO{Lca|rew(*m>~S)a z+mT#m1_W5XBQ^d&Sa$AyZ%wx|Ij=9t?OblJzj^hS$Rc*0o!^fbEXWs`Snb38qFi(7 zld`L}PuDoj-#v|QqN(+Q{G8b(GwhyixUHmG-XKxGUsrZ(Sh7nugL&uXxSZ<~B36F# z4$x+DpLgtV!bQ@_TRRSISyny8dQ-?F|OMs_FZt zha37D-Q+j+Fulp|CZDp1E465nkNh03<>tkvS7!Kj?VL4l@5>E0L#}4bocr$m3s=^? zF~%_mHkOw}f61NrIQF%##SKxmx_?m@!td?nU#AsZz{Yn?torpDmYd$I+EGcUc+H(Ru{%%!`U7ZErN57=!OH}KfgTe~DWM4fM+>G? delta 375 zcmeBYp2R#sr9RTr#WAE}&fA-we1{cy94>Bo<-6nm#2wz^6LnfPo?MU+@Gp8Rk7sJL zamj541UR5-rUVCh zZCv@QZO+!9V}6GMUC+t~n0ZZ?Th@Qm=eEZ|&K1|{*S9D?f3xOAmVDO$;pZ_u|*{{cIUHiRgmG+ODk=Md&Z!lUtjIGjN ze~8EEqWm(!tVQ+`mK`plT~|1bEGwq)fBdpZA*Aok9gSpPo6Zpu_lU|AFSG`*PMy+nJ|nIW@g=FB2k!82o-Re~Qtw TaGo?f6C~>C>gTe~DWM4f1lFzy diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00004.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00004.png index 953ecc75920df0efe4bf67a18c2b8e5288f47b43..c980cbfc11d5e020c6529859647d09121d92a864 100644 GIT binary patch delta 746 zcmVF+5f z0tsPbXp&M0A%qY@2ubHF&C_|F?d5SCX|A8lpJaa<^M0PExCx%X-@WeJjMT9?&+|Br z@2~2IpiOJg)~c7ais@Z6yRxee*-wDr_)qzn4v`wqrp;R0Y=6z5HV{qemXn{7>?c5U z5A@c&mxo+{ir6M|p3EMAwr}2S&=RqU_?oe~mCaMo9lRp%m7N1n@9XYFG`fIkYl-)B zEir8fA%qY@NDh59R0|`XR08x)Q3Wfbp0rS$9hq0C1tQQU=&9L)8KhYk#L!1?*}*2> zlNq{owF>0vLVupUX%=iD7^E;ZyMV(sS+Eg%(Jp35sQTWYVSyIZjb>ip1#0t9o5AS? z`&}zzWQcJL z;`(s|aQPTOvwXS`Ggy0hIc&KM1*c11Njt-Ua6y#dV1G-TUX4}N1-FRJ4BH(3 z&OPy>^~`&5lg#X=VWgVbPljW#6V5_A=_HwBa4R~!9W^wlVwwxSp^_3_whpZ$FNB8| zox$*KmqN`;U>Pa7ro3KoWR_s#8NC*}`@r7?Rc_KgpDV_h&uN*KFynQ_%rF{^x#tgt zdbw+z0e@I4jm3lWgvp3UGi%;mjOB_TGx`-8fT4C5DqjorxEX-(A z03Z zF<`D7$5H?Q00000NarIhQmwV$ysj%P^pp8aj(4!`wN^3-p1{}H@O?$v*wk9D>v|n( zKb$tbL4Q`;Y^R9PiQAo*s*rsL5UwA}?{bjRXf}P-dbh2D+<$<$;+~W5lI%NxT%K{Y z;#>}eFix~>GW%rq0QA?Ub%P#{jVIQM&8-}6L3i*Lb#I&;fHtp(jVSs6)1O8DpW7bM z1^@s60087LP(!&YV(27(V?(;p7Qk9WP5cpk@{~e0+_`6`FL&p3p!;fJp zdJg3_m;Y-I7k{rbIm=*mAr@M~Y+Ubf0WK3BdODd^EhrRtSILa(lS3Y1`9AU4(}GUE z4-jSKy@k;9>ZpzQPQoAEusJpW)72;4mi!Oj)R*pScV`A*W$u#>^Bi4s4mtqjPacWFWMAy+3CUQN2~tgveuRcv}F9;s0DdMbGySdkwe^Hd{dr? zokTl{PJab1o$_QtAx_HCyELD|dahqv9=cu0$HU?819lO5{169zudu2;CUM3CFueD* z`8(|0p6+S4U4Qc8TbI@%UO$HUc#_dVI1>f{0002^C**x8znw)50Bqx#%Ak`!_?0Bc z!`AUZ5^p^QXhDa;02~I7p#T5?0002|KfVDb;}XJhpkNs=00000NkvXXu0mjf0C_$p diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00006.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00006.png index ecb060ce389823e25fd05c93c856365529527b8b..d1a0dc3952527239aedb068ba16aa77c0d36114c 100644 GIT binary patch delta 392 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 delta 338 zcmcb@{)TCSay_H5r;B4q#hkY{1NoX21Y9p>UY@(*zv{;6brS>*F|6(VX!vd3da<<& z^B=9qU}Jy-2Oi7kb2e9rvD;h~wg_JHqWibVf@SlAE}eTaA%S&9>5K(0qjxZg#PU8` zmj93|KzZH5cE9^)M~7n-)t{3<=8ie>+8oon0PpNyWrkCjvT zMxtbB8QYe#xAuFdW!B#8PE+2e{B}aMYM!HMcWH4vf0_Ghy*;mO%U?L%mTW7!zT}Je gLwk2dxaSM<^Z(2}wxaN_tR+ay)78&qol`;+0Mh@TYXATM diff --git a/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00009.png b/tests/ragger/snapshots/nanox/test_sign_parameter_selector/00009.png index d1a0dc3952527239aedb068ba16aa77c0d36114c..4bc1c688f57d0893d1772ea0106482aa797b431b 100644 GIT binary patch delta 550 zcmV+>0@?kd1HJ^1BYy$~Nkl{%I2KQY>8g8zE&dF6b;{Vv`o~$ zZzktlr^17t_|#6SQ7+Wua?Sbs$1#&qD#A@@6Cn(Ihl{@HmU~XscK|PeCyf6NPH)W{Kso%t*21!Iy-v(XciyL6VN!JW~+mL zHixvS;#Z2hGqvQMp{la4tk~GvwmsdwD%S zBIQdR?3AD)*?(M79MqSvdPAtk&k)on##%fbDeEcXFU(qr^-6Q}%d-4eX z|FUEQmUsdH059gV+kn%4@f$DBMQ!>^SjsvLA9dyXE{@%Mad1sNHGPF>Wc|*Bx^nsL zCG;T{XXvA5PJi>UGt_)lKa?U?_OW;a)aG5JuNz$Bw0|Y6BId|iQg_ywjVItF*iW_k zrV|#2luX-Q#rkI4rpD(Pqf(liI-~aeBeHQTn^=4T_93hJ4%sVK=4dzIy45CYWRXqc z@5abT+@d<761Otsk3%QCbck-i3^LKb4JFh>|7O^OC!q>GNhiqc!Bz+_0000000000 o0000003QGV000000KhhW0rxWubJzM@{r~^~07*qoM6N<$f`H5ib^rhX delta 393 zcmV;40e1er1fm0wBYy#DNklr18}UN01iano!+*UAen$uJNVwq!003B1 z{jp8=BwWOr4_x_&_46lPi5%I?%txYr5NnKD&|`2)$y;rw9#4%_JPIZ#i) zrG2JoCbjc;K2-Gt`0f4@!HJ&*dk0LWUZ&F~Kyc^Tj-paez>}Ti_Vxt;0Dwi^tKn!? zejrWaKEO}gvwyn3m#c}srg->QXAO$3`u{&y2%Uu6_5J-<`$Jtc&zur@%X+Ij*PoU?OAnNg*N4T4^dIr3nrv^aEjDN@R)Bu$KwdkSV2LJ#7 z0QgvJHPqba^~siJ!JrvSTUay97RfO7%&c@)?k;*4Va~Fb*~jducT-xV7pzPq*{t77 zsB@^BK0{aw@=IOHLe7&sc^zi-&2yo=I#7(GPCv(tt~e>XN81*?igXujP|f+n0ob<9 zdHTOrg`cSDJAbQr-*Oo%M@!OigSq@KuV5j%6Va1iVKHu>^vDB{q|E@j^gIPeN>aLq z>kFIbGm|ydG|bakx=@FaMowT+-+<_3c>gvSSHt@^gBZ*NRcI!LlM#cVQ1@zTsIsqW zwo{4>*__3q;-#)KvbHtmMRiI=FHz=XZzml}-oGh|FSORKjQ|6*e#?wFJsgQY6A@!SjRo({z;7?dnUiRZ3n5iepT9iQy zfd7jZc7GuI`O&oGr*h8LacMfXV|eDe000000Pp7RU&B)yPT z6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|wv-^1e9@x@hHadr!g=N7Kw93CK@Zb6U zJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHDejxfb6aWAK004ke$}e5);{(%*azX$A N002ovPDHLkV1kYjQD6W7 delta 388 zcmV-~0ek+w1)c+tBYy#9NklvpO}&+|8}fC)JNq`>?#dJ%s{^>G zN_4usXQirk{^@^BA?p!es+L2I-Q@_v9RV$S$~qiALyZ9d0DyZ% zyZm2cau!k~eSO}0LDg$K_I9a#!^eH+r@F)Hx3RXr*xSzDroPZ&Nx-cr^vevL28SEz zubd-9DdPM-y8}73C=X;rBXov*Ub7*RUlytt2(E}1f3 ixfB2Z00000_)#wvWHGzIR9+ka0000XR3qh=}DVDP^XT*J&BS&jB7}tlri}yN|H;C@*?GM*6ODVI;=J9+tC&2VR*uk4z zG&k;XgafBb-hWZyafi;j_<>BC9&vJrkm*auv`j(LplwEGJZVmVxqR*e*ge5*R)R(v)8kvO>u+F=s$)LYDWKIn1hvY7g|XY zWai*jba>m|4Gn62ua-gTtUz&$)rDE&XzXG76?CQDG=Bw3phpJkBO;?VNsqW0;$BK@ zFN$G3T?$$WA9*&FShL+6;r!gRE=H;|(7ixR?C_+?PbdM%&XWS_EuPYsPKV2=!tyGv z=#IK^?lJkC7#FXp^G{G{@=h8gI_4pf_6oc`)=l4bpC`c6{5rHiv4XnAXQX43dtmIk zGZ&C2z<<+{o>w26c*Z?*DKt%Y%NFFFx84m>ph22uNDJbg5J%0H>leA2RZBK5r36wa zA%qY@2sv5#OL=i8mkOM51t%Io)wWN>{RBLb5)?SS7A;Q(X5e(UvgXAsTtjUoR^Q%` z1qr|_b+DdHRnnW@c$~r;{jUg6;Ji=R>3(7{!b8&u@I*>*k?QDA%*T?0_vr+Th?H-r wxsLNLTM#I4cBqW8wE1}%C4>+{2q7fr7oDgDSU4O^y#w!7?iyp_mnBGlm z*ptvboC>%wTtnaBo?ee;B+Wi_R*AOP{El~!Xp%Sy-}F`f`~3|7^4Gj1_&p- zMDy^bY{Ht^d}VV7x7Ig3(+)6>GC;Ry{1aK6YI`f5C*iKRrC$#!09nH6P6b0(-X6=n z>%-fV&C0SIh;hg8`8K$eixH%S2VhZ)8G~yUb zRt6>5)OpKP4Veq3i*=i!|GX!Sd=V2C!79TILCI-qeYd zX?CqY3JxWM>#=|#Xbmn5e>woBi#jKmESbzQgEy&N=uLu2t{B{kp59muH5+>>;8mE?7fGGcb18cq2!XPQ)MM05K^GUC68U@JO26qTS@Z((36R84@Fz?cguXDPM zISQ}$RD`rYde89`*%2xOye``iYOe$D`vWa5>VF=AGuUlYlK>^5hq`3fX$1w~zMW_8 z0Y$E5ZyAb@Sv#KP#Yo)p+fdB@fb2 z<0^`xD2k%^gXGju`~|mpHxx%fNmFM&QUXZ{u5CCqGDF~nfC+`erT5OrDPEztF!d!~ zr+;L$(yYzw5GER$P(RG-pMR6yxCLc0u^h(f20G}Lx1MPu(+%SQnE4f^_F~?R<2hp= zz9eh$pygj~$ssTeNf~(Zr-|FYmk_M$Tw-^|J2*DQsKREeP%3U=0K{&qHDv6>cJcOk z?j8dBzarY5ir`;n{@2mqFpzyLGXg3`C@GP1!Yw%jQazm*MNt$*Q4~c{Jj6e+3E8#%#?_fY?dF^afXfcO>g)&2Y;Seg8FwN?PFi-k8({D zp$;`{Y|gIlgRl;0ib+3mlai^kcPYnO?P~76xDSF$kUzzzI%b$eBePNUCq1wP)upBw zeyHt~HF36!hmElxVE_Pt&op^A)ZS^S8=ECkKmRk9ru`}VVo$p#X4Go=1Z|0A&+Co- zIL|5jVr}EW-hZXg4z4fG8&BMfo5eZyoo*WV^H;*o?c(V}sgFM~`}djO0nWcS+$Q@# z|FZ;@dfgOmtv%4=HshwyrdWqluXq;+g;b2NhqIuhPgMF-!xlUE@EJTYujl8&Y0RJ| znd~n!NHy7Cj6R4&6^g`nI1=dv00000000000000002u%PZu0|}Dr%l06r=?J0000< KMNUMnLSTYSpUNTt delta 543 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 D8oBwh literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00003.png b/tests/ragger/snapshots/stax/test_blind_sign/00003.png similarity index 100% rename from tests/ragger/snapshots/stax/test_blind_sign_signed/00003.png rename to tests/ragger/snapshots/stax/test_blind_sign/00003.png diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00004.png b/tests/ragger/snapshots/stax/test_blind_sign/00004.png similarity index 100% rename from tests/ragger/snapshots/stax/test_blind_sign_signed/00004.png rename to tests/ragger/snapshots/stax/test_blind_sign/00004.png diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00005.png b/tests/ragger/snapshots/stax/test_blind_sign/00005.png similarity index 100% rename from tests/ragger/snapshots/stax/test_blind_sign_signed/00005.png rename to tests/ragger/snapshots/stax/test_blind_sign/00005.png diff --git a/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00000.png b/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..9696ae12345b6098c7b397ffe3c35f540de0f477 GIT binary patch literal 15903 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 PzM!t6^Q`Kr&71!Qw~1h^ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00001.png b/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..e993bf99875421c39a57b97ff2dd7530f613149e GIT binary patch literal 9925 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 U5+yCb=V?radS<#+H{o&r1%KKMWdHyG literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00002.png b/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..e1effabb54bb5c82c425c8522bb9a9fcde85409e GIT binary patch literal 22837 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00012.png b/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00003.png similarity index 100% rename from tests/ragger/snapshots/stax/test_sign_parameter_selector/00012.png rename to tests/ragger/snapshots/stax/test_blind_sign_nonzero/00003.png diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00013.png b/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00004.png similarity index 100% rename from tests/ragger/snapshots/stax/test_sign_parameter_selector/00013.png rename to tests/ragger/snapshots/stax/test_blind_sign_nonzero/00004.png diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00014.png b/tests/ragger/snapshots/stax/test_blind_sign_nonzero/00005.png similarity index 100% rename from tests/ragger/snapshots/stax/test_sign_parameter_selector/00014.png rename to tests/ragger/snapshots/stax/test_blind_sign_nonzero/00005.png diff --git a/tests/ragger/snapshots/stax/test_blind_sign_rejected/00002.png b/tests/ragger/snapshots/stax/test_blind_sign_rejected/00002.png index 648b561d1a75bf337d6cc7512ad6015a797e8f0e..1898206ed9c69c4bb809eb73581394239948925d 100644 GIT binary patch literal 20989 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 D8oBwh literal 21829 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 diff --git a/tests/ragger/snapshots/stax/test_blind_sign_signed/00002.png b/tests/ragger/snapshots/stax/test_blind_sign_signed/00002.png deleted file mode 100644 index 648b561d1a75bf337d6cc7512ad6015a797e8f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21829 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 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00001.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00001.png index 71e083bd467a41dd8fb4e27f75d28c5298b8acb5..971b7e980a5b2c00cc8a53a2a9386becac91f60f 100644 GIT binary patch literal 6987 zcmeHMXUfXArT1*A|R;e>Ac_H5ATQb;r-41<$iw8@7|vOef^i~dTyKu zJYu@qYPFG(k?GN251leHT5`w8Xz7EMOTjmuL7nwRM%F(ZJ+%Ly85NVjXeJ3RXpWrl zs$EjItajPyoYPBp_S}m&_OGoMR-HNEu>aV~t-r3)&$lqU%xwR;<;KyD^Bfglcw^IE z3~I@7Lljj2gTajag^PNrsnLex&6j^(_K%eZ|NnI3T*w&(j+Ibe8z&e-yAs$I1%8NP zyKq4oV^97$+F4 zC~yZlBVlJKm&=V4$TfNrNuE{Ljeq82PN&8ZW|wizUD?sCI;<~&U0zG;KwDi`r)@c6 z#roR4haC4o$383!87`Xt5VY*<3~U9!4fFm@NSRDyG|D{jj~x2NNgfmX2DB&vC5+4m zwty>vZ;0FiPCWYLx&WTHudjvQULrT7ez4o>^^*qDuExy}y}{s3U&iPLRS8K;MX{PXC%CFCa#ynZI(k03`v{E%~i=YuK}%+7t%;uuqp0PqqG#@i9v7otQ#9TO0Ky z#z?8vY7K@?a5HmpjVf1iaEUqd3LF~V%qoda4$3Sw22GO>D#i+C*X^xRl?_^1}OB3`Fd{+=7s3*~fM zC6zOf{%cWr{8iXDAvP)8ybl_EwpGo$RG>2N{)@9Qo8E`IX2*Us3~Nz5sBiKIug1tt zw>id7sXArrHPD%0_a%{ye3=|K^77R(%Ug)qa2J~Ecc6WE;gT@<$_-NiJgWic9O0YG z)jKQ-p65yK-bT1C7e~ny7t1HcR$XgLYR^$5aw8talu4g0>e92W-ZT8P*j=9u+Rh}e zH&Tlgvt7<^WIuwC)?*1-wkc$pCwo_i7H~%GWOecq9~Er=b*;UL{DR?$F%^r$;V>9F z4e8OGJF~V7y<9X=)pN}2f^;8D5vrf}P2EzMLgzskRR8nqc{fRNJ|in_yoAj=L?jX! z)Hhyr9&Y@@r=&~{|4!hxb&eQg(dR-SKD{s9zK(WJDncP9q6T)lNfhZvkBq7O!iFgU zuRa4xsdOju%x-oP2x8qH-gSC@HM}tx2z#Ca@jF@bj|_1h>LYVt=k=6U!~2R?;dhr- zGm@M0t1py;NU7om(lc%v4D*+FuI~Er4Z2K#~?C zP##-j{&c~PV>1WLH~wJ7LJ!vv1Vy!P%}4m9#FZTk$Qq08Y~6ROH?8Se`t&=8|8sXU z3#Uw8n5w^P;(Lo0C+Ho$1ATF>1zuzBoLwSc@ugE!M1<0os1y87-a~<|*9WPRyJa6b zfhaC`e$KEWxh;+%Qm7I(XSZ>+-2Rt#mxDVOzrU(z7EI!RR}9}%Z4UjhGTQ7P8x+Iu zc+z)aY3*ljA!nVer{?A`Ef5qU-jy(lV%RyncOh~`LSb%6c2*Xnxb&Oj*U15WsozIJ zz;1XQFGg#g1%uhU)oMmBt8~~mr-&n$35DI~S~@6S*<43VcD9YKw~D}()bXUlV}0Y( zhB{l-r5-niqz@ZM6&PB${7>e0A^pn9$wm#3mzURRS)BH8LX{cD2MTMDjlulGKkJhHfv4229Uq6D*PCZM6O`!Wqk6esmyGS({}+tNmQAd7ksp{$`uJeIZ8z#9^)OM!vMQ06^wFF4~tNo#0 z=E~wPmzcw`o8>Q>s7gMcuS?+L+PrUmvB?f9^w<208L>A}c7!8q+|lDF*& z`PkX?8BNpjJ~X`KdyBQ20Q-i~QP|tEPaX!o?|D>2?nPVuC$BFivf)iKmGzxMXCEIQ zb>Im~oL;LfU8v-En~glDVV6!DOOowuZIvvMi(=Wf&t5r$lsL{IstsWM32)9SO%7;U zF1zIZsa?#Mpk4dxyE-75C8nU?XCjrOqoY!33RpvWA`mZ;<>V&Mxt zDq=ppiMJqK!P)Y(4J&nwOb?0uxDKY-I5suAMsZi%8zgN^_5rS`qp#s{#`HaK2MY-! z0yre}4%G1W-8^vv8yg1jTpj&gLiU z_FpKkbyIAP70eRx3$H{rs@zEe-F%_@T4*T~;+;FlNa>ln)&InwJaDDA7qArQew#4> zL+G?PM;LQon1BKrGjyuV^fM=agZsw!^TFwN<(7>0V+jlzg)&Xo=$m#sJpF`y>p1%I zVF*I=K-nH(m9bmI*4UocMR#S>x#)fA2`Lfs0~$xp_Mn;BWqIdAegk^b`0+fTbJQlB zam{}uWO=ONZ9Q7s?&fVD^M;V{yUI;If-K> zF9Dqm`9s6>cx97(-IQ?sFIn5wT;yaXSu%0|yh*MHap^Aw$4QeGBd;Y5^ z^|$#klbar^yrO^kc3h45`@Fo6p?Inn-n4E=XqiAva8lauiog9*$XL>KANl4z7{iMd z+!bJ;Lnb67SOz`kNL15!*JTAa7?QjbBOw^baREho<{ui2o$Gjb(IrF_}Q(W4~ zb<$h=MT;Fh{Id9FBMkPRKHud=EQwrc@pt#P3I0aG-;VHiEciPd{%;xK1<~*1SB;)1 zTyt5l;E-QUB7u+0*Ep6&FGlt{ZvJoPk!f*xZH!>Hj+zq`BcQ~T6NRgL#tK{lR8!yD z14Lqb907L&Dr~^xo6Bn-%jW8+W6)iLyXF&dSgb+H*2TvO-lxt(cBse4qpY?qX0$FC zdi0!O3ZT$PkVJO0O4sSoZ%)o+0KPsx>-|o`2IHxE?KUNj7W^M>cfAkl!y7mbmf(9V z3Ut^7zw{Y{q2hG=5IVYbi2cYc@8If@ZxRz&Fy2CZvHqIIxJP=|Fg~p<3lX39{|O$z zt7$mvOys6BfIiy?Adg&_9=zJnnTISEAFBEdS|3smjvY7eAHDQJp#i1?!}ur!v$Jz# zo_VSR?210?Vebj~!jKd!faClS*fp zoSXzJ6p#rvg}#QZZGeH*M`nV9qFvcLy#p-z7bXC z>~xMj)3YnT+7RbUgp~Ay6lz9Y8`I?DDP5&$IY<~UX_Ub4CVu^^2e~cl3 zgcQRXPid>q0!0atnby zF?O(J2t5$~q4YjDWbh&^wILY1tkMLK#gm-C53>_Y%#6rKIDgLeR4V>c+puttXt(J+i8RNV?q?WYy2lRmc-j_v zI06Y_g17y$GOmOlue*ZE3cb$)IjYi9RrVmrH$Wk`#p$rUE{$QJzPj)^BO~MGk%Nqb1aAh(?drB$-32{Se}W3sxIq{r6(`ZY zX|}hV3SVKms=iizyzC6yRq5E7IX=@y>qsxQSgg*jHl$S63YnvBZ=_|2t`}qDz{P@kRImOzwLYwA@Fn6Q?WIKY8p3Cw;W%hFjulh{1`A#Odik_I_C*Ch+ye_G3;jd5IdS`4eS}N)x!9IqP4_j*c2y`j~*WH$LKYC3KUP4_0hLfWpo^Eg%r&9NK5GZ2zR00To;C=+dh}B1N2lhHdPQa{ zr!8l&{j8&kQC|hBbK8{z2`$=e3td>f4GTP{PDJ(AePBlZ@CYH8q%_IQ-|YglV^>Iq z{Q0TiN4@JT)9truH*ABRsy~pMNBwH(lyvD2UFoRvMDl2e_VJnZYt4gU zu*?fQpTkuTL6z0c&Q3;;FP{LXwdVIKENxg{lW6{|T=32p^on^Lk`Ic<9LwU*W@IG< z-4zanLW3mpNKwpd_OX(SJ3LwM(~qj4ypgwZKCiV}`wZ^I^4UQ|vz4|lYD|<+I2ZsH zesvNtCl?%#t$ke}0-3wEv3duc_k@mAfUpE{E=46zW8k26hzr8AN?F3?lwr!ejLf3D zxmO0B*7kOY6fB*_t7oS|nzT|XvUJ-vxkY&PsG@qWuKYk(L3a%lt?*o4Cb;Jq^sdV` z5obBG&VX*rzfstn&zboX+>8I_SV^QierK&F&6IWE1;mTUtB=#2J-x zaAfey3UPG6rJ%gKr$_?~2tMuj0=wr6`_9KYgSNGTOL$4Fz^fcLPeJVA`!?h(zqa|m c(k-sYH4*wXd6cdLf07v;^$R@IbRZ(<-`%^DMF0Q* literal 7148 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 literal 10532 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 PzM!t6^Q`Kr&71!Qw~1h^ literal 9669 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 z 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 Wcf%Fl1ALyf%gn^`O64WDhyMpThr2TX diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00007.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00007.png index 05ddaeec2bfc80f4d426e769ab03c7f124b1c411..e993bf99875421c39a57b97ff2dd7530f613149e 100644 GIT binary patch literal 9925 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 U5+yCb=V?radS<#+H{o&r1%KKMWdHyG literal 8342 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 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00008.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00008.png index e649f0eea76cfa7eff882411916d9933b3d7a422..1898206ed9c69c4bb809eb73581394239948925d 100644 GIT binary patch literal 20989 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 D8oBwh literal 10331 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 diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00009.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00009.png index 9696ae12345b6098c7b397ffe3c35f540de0f477..fcccc77dfe05f493c076937774d3f67a7fb89198 100644 GIT binary patch literal 13743 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 EFNvt+J^%m! literal 15903 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 PzM!t6^Q`Kr&71!Qw~1h^ diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00010.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00010.png index e993bf99875421c39a57b97ff2dd7530f613149e..3c89d74c4c3967558ac8b5508063acc38d109a76 100644 GIT binary patch literal 12244 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 literal 9925 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 U5+yCb=V?radS<#+H{o&r1%KKMWdHyG diff --git a/tests/ragger/snapshots/stax/test_sign_parameter_selector/00011.png b/tests/ragger/snapshots/stax/test_sign_parameter_selector/00011.png index 648b561d1a75bf337d6cc7512ad6015a797e8f0e..392165d4fc71395ae212fb0ca017ebdd204c126b 100644 GIT binary patch literal 6218 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 literal 21829 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 diff --git a/tests/ragger/test_blind_sign.py b/tests/ragger/test_blind_sign.py index 99fb59d33..acc85fec2 100644 --- a/tests/ragger/test_blind_sign.py +++ b/tests/ragger/test_blind_sign.py @@ -1,6 +1,8 @@ from pathlib import Path import json from typing import Optional +import time + import pytest from web3 import Web3 @@ -23,22 +25,27 @@ # TODO: do one test with nonce display -@pytest.fixture(name="sign", params=[True, False]) -def sign_fixture(request) -> bool: +@pytest.fixture(name="reject", params=[False, True]) +def reject_fixture(request) -> bool: return request.param -def common_tx_params() -> dict: +@pytest.fixture(name="amount", params=[0.0, 1.2]) +def amount_fixture(request) -> float: + return request.param + + +def common_tx_params(amount: float) -> dict: with open(f"{ABIS_FOLDER}/erc20.json", encoding="utf-8") as file: contract = Web3().eth.contract( abi=json.load(file), address=None ) - data = contract.encode_abi("approve", [ - # Uniswap Protocol: Permit2 - bytes.fromhex("000000000022d473030f116ddee9f6b43ac78ba3"), - Web3.to_wei("2", "ether") + # this function is not handled by the internal plugin, so won't check if value == 0 + data = contract.encode_abi("balanceOf", [ + bytes.fromhex("d8dA6BF26964aF9D7eEd9e03E53415D37aA96045"), ]) + return { "nonce": 235, "maxFeePerGas": Web3.to_wei(100, "gwei"), @@ -47,7 +54,8 @@ def common_tx_params() -> dict: # Maker: Dai Stablecoin "to": bytes.fromhex("6b175474e89094c44da98b954eedeac495271d0f"), "data": data, - "chainId": 1 + "chainId": 1, + "value": Web3.to_wei(amount, "ether"), } @@ -57,24 +65,28 @@ def test_blind_sign(firmware: Firmware, navigator: Navigator, default_screenshot_path: Path, test_name: str, - sign: bool): + reject: bool, + amount: float): global DEVICE_ADDR app_client = EthAppClient(backend) + if reject and amount > 0.0: + pytest.skip() settings_toggle(firmware, navigator, [SettingID.BLIND_SIGNING]) if DEVICE_ADDR is None: with app_client.get_public_addr(bip32_path=BIP32_PATH, display=False): pass _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) - tx_params = common_tx_params() + tx_params = common_tx_params(amount) try: with app_client.sign(BIP32_PATH, tx_params): - if sign: - test_name += "_signed" - else: + if reject: test_name += "_rejected" + if amount > 0.0: + test_name += "_nonzero" + moves = [] if firmware.is_nano: # blind signing warning @@ -95,6 +107,10 @@ def test_blind_sign(firmware: Firmware, else: moves += [NavInsID.RIGHT_CLICK] + # amount + if amount > 0.0: + moves += [NavInsID.RIGHT_CLICK] + # to if firmware == Firmware.NANOS: moves += [NavInsID.RIGHT_CLICK] * 3 @@ -104,7 +120,7 @@ def test_blind_sign(firmware: Firmware, # fees moves += [NavInsID.RIGHT_CLICK] - if not sign: + if reject: moves += [NavInsID.RIGHT_CLICK] moves += [NavInsID.BOTH_CLICK] @@ -113,7 +129,7 @@ def test_blind_sign(firmware: Firmware, moves += [NavInsID.SWIPE_CENTER_TO_LEFT] * 3 - if sign: + if not reject: moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] else: moves += [NavInsID.USE_CASE_REVIEW_REJECT] @@ -123,10 +139,10 @@ def test_blind_sign(firmware: Firmware, test_name, moves) except ExceptionRAPDU as e: - assert not sign + assert reject assert e.status == StatusWord.CONDITION_NOT_SATISFIED else: - assert sign + assert not reject # verify signature vrs = ResponseParser.signature(app_client.response().data) addr = recover_transaction(tx_params, vrs) @@ -144,7 +160,7 @@ def test_blind_sign_reject_in_risk_review(firmware: Firmware, settings_toggle(firmware, navigator, [SettingID.BLIND_SIGNING]) try: - with app_client.sign(BIP32_PATH, common_tx_params()): + with app_client.sign(BIP32_PATH, common_tx_params(0.0)): moves = [NavInsID.USE_CASE_CHOICE_CONFIRM] navigator.navigate(moves) except ExceptionRAPDU as e: @@ -170,7 +186,7 @@ def test_sign_parameter_selector(firmware: Firmware, settings_toggle(firmware, navigator, [SettingID.BLIND_SIGNING, SettingID.DEBUG_DATA]) - tx_params = common_tx_params() + tx_params = common_tx_params(0.0) data_len = len(bytes.fromhex(tx_params["data"][2:])) params = (data_len - 4) // 32 with app_client.sign(BIP32_PATH, tx_params): @@ -179,11 +195,7 @@ def test_sign_parameter_selector(firmware: Firmware, # verify | selector moves += [NavInsID.RIGHT_CLICK] * 2 + [NavInsID.BOTH_CLICK] if firmware == Firmware.NANOS: - # hardcoded for each because for some params take more pages than others - # parameter 1 - moves += [NavInsID.RIGHT_CLICK] * 4 + [NavInsID.BOTH_CLICK] - # parameter 2 - moves += [NavInsID.RIGHT_CLICK] * 3 + [NavInsID.BOTH_CLICK] + moves += ([NavInsID.RIGHT_CLICK] * 4 + [NavInsID.BOTH_CLICK]) * params # blind signing | review | tx hash | from | to | fees moves += [NavInsID.RIGHT_CLICK] * 13 else: @@ -216,10 +228,11 @@ def test_blind_sign_not_enabled_error(firmware: Firmware, app_client = EthAppClient(backend) try: - with app_client.sign(BIP32_PATH, common_tx_params()): + with app_client.sign(BIP32_PATH, common_tx_params(0.0)): moves = [] if firmware.is_nano: if firmware == Firmware.NANOS: + time.sleep(0.5) # seems to take some time moves += [NavInsID.RIGHT_CLICK] moves += [NavInsID.BOTH_CLICK] else: From 642b2295451c31d88c3901be4e5ccb1f524eb495 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 28 Nov 2024 11:34:48 +0100 Subject: [PATCH 14/66] Renamed trusted name enums --- src_bagl/ui_flow_signTx.c | 2 +- .../cmd_provide_trusted_name.c | 30 +++++++++---------- .../provideTrustedName/trusted_name.h | 23 ++++++++------ src_features/signMessageEIP712/filtering.c | 16 +++++----- src_nbgl/ui_approve_tx.c | 2 +- 5 files changed, 39 insertions(+), 34 deletions(-) diff --git a/src_bagl/ui_flow_signTx.c b/src_bagl/ui_flow_signTx.c index 2218cf44c..cab5e43ed 100644 --- a/src_bagl/ui_flow_signTx.c +++ b/src_bagl/ui_flow_signTx.c @@ -267,7 +267,7 @@ void ux_approve_tx(bool fromPlugin) { } #ifdef HAVE_TRUSTED_NAME uint64_t chain_id = get_tx_chain_id(); - e_name_type type = TYPE_ACCOUNT; + e_name_type type = TN_TYPE_ACCOUNT; if (has_trusted_name(1, &type, &chain_id, tmpContent.txContent.destination)) { ux_approval_tx_flow[step++] = &ux_trusted_name_step; if (N_storage.verbose_trusted_name) { diff --git a/src_features/provideTrustedName/cmd_provide_trusted_name.c b/src_features/provideTrustedName/cmd_provide_trusted_name.c index 23d5cf168..66ccba218 100644 --- a/src_features/provideTrustedName/cmd_provide_trusted_name.c +++ b/src_features/provideTrustedName/cmd_provide_trusted_name.c @@ -132,7 +132,7 @@ bool has_trusted_name(uint8_t types_count, for (int i = 0; i < types_count; ++i) { switch (g_trusted_name_info.struct_version) { case 1: - if (types[i] == TYPE_ACCOUNT) { + if (types[i] == TN_TYPE_ACCOUNT) { // Check if chain ID is known to be Ethereum-compatible (same derivation // path) if ((chain_is_ethereum_compatible(chain_id)) && @@ -378,7 +378,7 @@ static bool handle_trusted_name(const s_tlv_data *data, return false; } if ((trusted_name_info->struct_version == 1) || - (trusted_name_info->name_type == TYPE_ACCOUNT)) { + (trusted_name_info->name_type == TN_TYPE_ACCOUNT)) { // TODO: Remove once other domain name providers are supported if ((data->length < 5) || (strncmp(".eth", (char *) &data->value[data->length - 4], 4) != 0)) { @@ -474,10 +474,10 @@ static bool handle_trusted_name_type(const s_tlv_data *data, return false; } switch (value) { - case TYPE_ACCOUNT: - case TYPE_CONTRACT: + case TN_TYPE_ACCOUNT: + case TN_TYPE_CONTRACT: break; - case TYPE_NFT: + case TN_TYPE_NFT_COLLECTION: default: PRINTF("Error: unsupported trusted name type (%u)!\n", value); return false; @@ -505,13 +505,13 @@ static bool handle_trusted_name_source(const s_tlv_data *data, return false; } switch (value) { - case SOURCE_CAL: - case SOURCE_ENS: + case TN_SOURCE_CAL: + case TN_SOURCE_ENS: break; - case SOURCE_LAB: - case SOURCE_UD: - case SOURCE_FN: - case SOURCE_DNS: + case TN_SOURCE_LAB: + case TN_SOURCE_UD: + case TN_SOURCE_FN: + case TN_SOURCE_DNS: default: PRINTF("Error: unsupported trusted name source (%u)!\n", value); return false; @@ -651,8 +651,8 @@ static bool verify_struct(const s_trusted_name_info *trusted_name_info) { return false; } switch (trusted_name_info->name_type) { - case TYPE_ACCOUNT: - if (trusted_name_info->name_source == SOURCE_CAL) { + case TN_TYPE_ACCOUNT: + if (trusted_name_info->name_source == TN_SOURCE_CAL) { PRINTF("Error: cannot accept an account name from the CAL!\n"); return false; } @@ -661,8 +661,8 @@ static bool verify_struct(const s_trusted_name_info *trusted_name_info) { return false; } break; - case TYPE_CONTRACT: - if (trusted_name_info->name_source != SOURCE_CAL) { + case TN_TYPE_CONTRACT: + if (trusted_name_info->name_source != TN_SOURCE_CAL) { PRINTF("Error: cannot accept a contract name from given source (%u)!\n", trusted_name_info->name_source); return false; diff --git a/src_features/provideTrustedName/trusted_name.h b/src_features/provideTrustedName/trusted_name.h index 142a5b7b0..b8d0694e4 100644 --- a/src_features/provideTrustedName/trusted_name.h +++ b/src_features/provideTrustedName/trusted_name.h @@ -9,18 +9,23 @@ #define TRUSTED_NAME_MAX_LENGTH 30 typedef enum { - TYPE_ACCOUNT = 1, - TYPE_CONTRACT, - TYPE_NFT, + TN_TYPE_ACCOUNT = 1, + TN_TYPE_CONTRACT, + TN_TYPE_NFT_COLLECTION, + _TN_TYPE_COUNT_, } e_name_type; +// because the enum does not start at 0 +#define TN_TYPE_COUNT (_TN_TYPE_COUNT_ - TN_TYPE_ACCOUNT) + typedef enum { - SOURCE_LAB = 0, - SOURCE_CAL, - SOURCE_ENS, - SOURCE_UD, - SOURCE_FN, - SOURCE_DNS, + TN_SOURCE_LAB = 0, + TN_SOURCE_CAL, + TN_SOURCE_ENS, + TN_SOURCE_UD, + TN_SOURCE_FN, + TN_SOURCE_DNS, + TN_SOURCE_COUNT, } e_name_source; bool has_trusted_name(uint8_t types_count, diff --git a/src_features/signMessageEIP712/filtering.c b/src_features/signMessageEIP712/filtering.c index bb43b36a4..b321bb593 100644 --- a/src_features/signMessageEIP712/filtering.c +++ b/src_features/signMessageEIP712/filtering.c @@ -376,8 +376,8 @@ bool filtering_trusted_name(const uint8_t *payload, // sanity check for (int i = 0; i < types_count; ++i) { switch (types[i]) { - case TYPE_ACCOUNT: - case TYPE_CONTRACT: + case TN_TYPE_ACCOUNT: + case TN_TYPE_CONTRACT: break; default: return false; @@ -395,12 +395,12 @@ bool filtering_trusted_name(const uint8_t *payload, // sanity check for (int i = 0; i < sources_count; ++i) { switch (sources[i]) { - case SOURCE_LAB: - case SOURCE_CAL: - case SOURCE_ENS: - case SOURCE_UD: - case SOURCE_FN: - case SOURCE_DNS: + case TN_SOURCE_LAB: + case TN_SOURCE_CAL: + case TN_SOURCE_ENS: + case TN_SOURCE_UD: + case TN_SOURCE_FN: + case TN_SOURCE_DNS: break; default: return false; diff --git a/src_nbgl/ui_approve_tx.c b/src_nbgl/ui_approve_tx.c index 6431218b9..755ddc8db 100644 --- a/src_nbgl/ui_approve_tx.c +++ b/src_nbgl/ui_approve_tx.c @@ -148,7 +148,7 @@ static uint8_t setTagValuePairs(void) { #ifdef HAVE_TRUSTED_NAME uint64_t chain_id = get_tx_chain_id(); - e_name_type type = TYPE_ACCOUNT; + e_name_type type = TN_TYPE_ACCOUNT; tx_approval_context.trusted_name_match = has_trusted_name(1, &type, &chain_id, tmpContent.txContent.destination); if (tx_approval_context.trusted_name_match) { From 97d654a0592e3773027c633ab7b6ffd893163f5a Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 28 Nov 2024 11:41:01 +0100 Subject: [PATCH 15/66] Improved trusted name matching function with sources support --- src_bagl/ui_flow_signTx.c | 4 +- .../cmd_provide_trusted_name.c | 91 +++++++++++++------ .../provideTrustedName/trusted_name.h | 10 +- src_features/signMessageEIP712/ui_logic.c | 2 +- src_nbgl/ui_approve_tx.c | 3 +- 5 files changed, 74 insertions(+), 36 deletions(-) diff --git a/src_bagl/ui_flow_signTx.c b/src_bagl/ui_flow_signTx.c index cab5e43ed..d25e6c34e 100644 --- a/src_bagl/ui_flow_signTx.c +++ b/src_bagl/ui_flow_signTx.c @@ -268,7 +268,9 @@ void ux_approve_tx(bool fromPlugin) { #ifdef HAVE_TRUSTED_NAME uint64_t chain_id = get_tx_chain_id(); e_name_type type = TN_TYPE_ACCOUNT; - if (has_trusted_name(1, &type, &chain_id, tmpContent.txContent.destination)) { + e_name_source source = TN_SOURCE_ENS; + if (get_trusted_name(1, &type, 1, &source, &chain_id, tmpContent.txContent.destination) != + NULL) { ux_approval_tx_flow[step++] = &ux_trusted_name_step; if (N_storage.verbose_trusted_name) { ux_approval_tx_flow[step++] = &ux_approval_to_step; diff --git a/src_features/provideTrustedName/cmd_provide_trusted_name.c b/src_features/provideTrustedName/cmd_provide_trusted_name.c index 66ccba218..15108e0e2 100644 --- a/src_features/provideTrustedName/cmd_provide_trusted_name.c +++ b/src_features/provideTrustedName/cmd_provide_trusted_name.c @@ -110,10 +110,56 @@ static s_tlv_payload g_tlv_payload = {0}; static s_trusted_name_info g_trusted_name_info = {0}; char g_trusted_name[TRUSTED_NAME_MAX_LENGTH + 1]; +static bool matching_type(e_name_type type, uint8_t type_count, const e_name_type *types) { + for (int i = 0; i < type_count; ++i) { + if (type == types[i]) return true; + } + return false; +} + +static bool matching_source(e_name_source source, + uint8_t source_count, + const e_name_source *sources) { + for (int i = 0; i < source_count; ++i) { + if (source == sources[i]) return true; + } + return false; +} + +static bool matching_trusted_name(const s_trusted_name_info *trusted_name, + uint8_t type_count, + const e_name_type *types, + uint8_t source_count, + const e_name_source *sources, + const uint64_t *chain_id, + const uint8_t *addr) { + switch (trusted_name->struct_version) { + case 1: + if (!matching_type(TN_TYPE_ACCOUNT, type_count, types)) { + return false; + } + if (!chain_is_ethereum_compatible(chain_id)) { + return false; + } + break; + case 2: + if (!matching_type(trusted_name->name_type, type_count, types)) { + return false; + } + if (!matching_source(trusted_name->name_source, source_count, sources)) { + return false; + } + if (*chain_id != trusted_name->chain_id) { + return false; + } + break; + } + return memcmp(addr, trusted_name->addr, ADDRESS_LENGTH) == 0; +} + /** * Checks if a trusted name matches the given parameters * - * Does not care about the trusted name source for now. * Always wipes the content of \ref g_trusted_name_info * * @param[in] types_count number of given trusted name types @@ -122,36 +168,23 @@ char g_trusted_name[TRUSTED_NAME_MAX_LENGTH + 1]; * @param[in] addr given address * @return whether there is or not */ -bool has_trusted_name(uint8_t types_count, - const e_name_type *types, - const uint64_t *chain_id, - const uint8_t *addr) { - bool ret = false; +const char *get_trusted_name(uint8_t type_count, + const e_name_type *types, + uint8_t source_count, + const e_name_source *sources, + const uint64_t *chain_id, + const uint8_t *addr) { + const char *ret = NULL; if (g_trusted_name_info.rcv_flags != 0) { - for (int i = 0; i < types_count; ++i) { - switch (g_trusted_name_info.struct_version) { - case 1: - if (types[i] == TN_TYPE_ACCOUNT) { - // Check if chain ID is known to be Ethereum-compatible (same derivation - // path) - if ((chain_is_ethereum_compatible(chain_id)) && - (memcmp(addr, g_trusted_name_info.addr, ADDRESS_LENGTH) == 0)) { - ret = true; - } - } - break; - case 2: - if (types[i] == g_trusted_name_info.name_type) { - if (*chain_id == g_trusted_name_info.chain_id) { - ret = true; - } - } - break; - default: - ret = false; - } - if (ret) break; + if (matching_trusted_name(&g_trusted_name_info, + type_count, + types, + source_count, + sources, + chain_id, + addr)) { + ret = g_trusted_name_info.name; } explicit_bzero(&g_trusted_name_info, sizeof(g_trusted_name_info)); } diff --git a/src_features/provideTrustedName/trusted_name.h b/src_features/provideTrustedName/trusted_name.h index b8d0694e4..8942ffdbe 100644 --- a/src_features/provideTrustedName/trusted_name.h +++ b/src_features/provideTrustedName/trusted_name.h @@ -28,10 +28,12 @@ typedef enum { TN_SOURCE_COUNT, } e_name_source; -bool has_trusted_name(uint8_t types_count, - const e_name_type *types, - const uint64_t *chain_id, - const uint8_t *addr); +const char *get_trusted_name(uint8_t type_count, + const e_name_type *types, + uint8_t source_count, + const e_name_source *sources, + const uint64_t *chain_id, + const uint8_t *addr); uint16_t handle_provide_trusted_name(uint8_t p1, const uint8_t *data, uint8_t length); extern char g_trusted_name[TRUSTED_NAME_MAX_LENGTH + 1]; diff --git a/src_features/signMessageEIP712/ui_logic.c b/src_features/signMessageEIP712/ui_logic.c index d0462f61b..2202bfb80 100644 --- a/src_features/signMessageEIP712/ui_logic.c +++ b/src_features/signMessageEIP712/ui_logic.c @@ -543,7 +543,7 @@ static bool ui_712_format_trusted_name(const uint8_t *data, uint8_t length) { } types_bak >>= 1; } - if (has_trusted_name(types_count, types, &eip712_context->chain_id, data)) { + if (get_trusted_name(types_count, types, 0, NULL, &eip712_context->chain_id, data) != NULL) { strlcpy(strings.tmp.tmp, g_trusted_name, sizeof(strings.tmp.tmp)); } return true; diff --git a/src_nbgl/ui_approve_tx.c b/src_nbgl/ui_approve_tx.c index 755ddc8db..300b4fa7c 100644 --- a/src_nbgl/ui_approve_tx.c +++ b/src_nbgl/ui_approve_tx.c @@ -149,8 +149,9 @@ static uint8_t setTagValuePairs(void) { #ifdef HAVE_TRUSTED_NAME uint64_t chain_id = get_tx_chain_id(); e_name_type type = TN_TYPE_ACCOUNT; + e_name_source source = TN_SOURCE_ENS; tx_approval_context.trusted_name_match = - has_trusted_name(1, &type, &chain_id, tmpContent.txContent.destination); + get_trusted_name(1, &type, 1, &source, &chain_id, tmpContent.txContent.destination); if (tx_approval_context.trusted_name_match) { pairs[nbPairs].item = "To (domain)"; pairs[nbPairs].value = g_trusted_name; From c50649f2dcf07755b8c16c1d33671b93b4e10a15 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 4 Dec 2024 14:59:10 +0100 Subject: [PATCH 16/66] PKI key usage for trusted name fix --- src_features/provideTrustedName/cmd_provide_trusted_name.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_features/provideTrustedName/cmd_provide_trusted_name.c b/src_features/provideTrustedName/cmd_provide_trusted_name.c index 15108e0e2..12a250965 100644 --- a/src_features/provideTrustedName/cmd_provide_trusted_name.c +++ b/src_features/provideTrustedName/cmd_provide_trusted_name.c @@ -609,7 +609,7 @@ static bool verify_signature(const s_sig_ctx *sig_ctx) { TRUSTED_NAME_PUB_KEY, sizeof(TRUSTED_NAME_PUB_KEY), #ifdef HAVE_LEDGER_PKI - CERTIFICATE_PUBLIC_KEY_USAGE_COIN_META, + CERTIFICATE_PUBLIC_KEY_USAGE_TRUSTED_NAME, #endif (uint8_t *) (sig_ctx->input_sig), sig_ctx->input_sig_size)); From c4b2df3edb031116535ac06efe99f89122c956ec Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 28 Nov 2024 11:42:24 +0100 Subject: [PATCH 17/66] EIP-712 trusted name filtering source check + small refactoring --- src_features/signMessageEIP712/filtering.c | 54 ++++++++-------------- src_features/signMessageEIP712/ui_logic.c | 36 +++++++-------- src_features/signMessageEIP712/ui_logic.h | 5 +- tests/ragger/test_eip712.py | 2 +- 4 files changed, 41 insertions(+), 56 deletions(-) diff --git a/src_features/signMessageEIP712/filtering.c b/src_features/signMessageEIP712/filtering.c index b321bb593..5a03e8401 100644 --- a/src_features/signMessageEIP712/filtering.c +++ b/src_features/signMessageEIP712/filtering.c @@ -342,9 +342,9 @@ bool filtering_trusted_name(const uint8_t *payload, uint32_t *path_crc) { uint8_t name_len; const char *name; - uint8_t types_count; + uint8_t type_count; e_name_type *types; - uint8_t sources_count; + uint8_t source_count; e_name_source *sources; uint8_t sig_len; const uint8_t *sig; @@ -365,48 +365,30 @@ bool filtering_trusted_name(const uint8_t *payload, } name = (char *) &payload[offset]; offset += name_len; - if ((offset + sizeof(types_count)) > length) { + if ((offset + sizeof(type_count)) > length) { return false; } - types_count = payload[offset++]; - if ((offset + types_count) > length) { + type_count = payload[offset++]; + if (type_count > TN_TYPE_COUNT) { + return false; + } + if ((offset + type_count) > length) { return false; } types = (e_name_type *) &payload[offset]; - // sanity check - for (int i = 0; i < types_count; ++i) { - switch (types[i]) { - case TN_TYPE_ACCOUNT: - case TN_TYPE_CONTRACT: - break; - default: - return false; - } + offset += type_count; + if ((offset + sizeof(source_count)) > length) { + return false; } - offset += types_count; - if ((offset + sizeof(sources_count)) > length) { + source_count = payload[offset++]; + if (source_count > TN_SOURCE_COUNT) { return false; } - sources_count = payload[offset++]; - if ((offset + sources_count) > length) { + if ((offset + source_count) > length) { return false; } sources = (e_name_source *) &payload[offset]; - // sanity check - for (int i = 0; i < sources_count; ++i) { - switch (sources[i]) { - case TN_SOURCE_LAB: - case TN_SOURCE_CAL: - case TN_SOURCE_ENS: - case TN_SOURCE_UD: - case TN_SOURCE_FN: - case TN_SOURCE_DNS: - break; - default: - return false; - } - } - offset += sources_count; + offset += source_count; // if ((offset + sizeof(sig_len)) > length) { return false; @@ -424,8 +406,8 @@ bool filtering_trusted_name(const uint8_t *payload, } hash_filtering_path((cx_hash_t *) &hash_ctx, discarded, path_crc); hash_nbytes((uint8_t *) name, sizeof(char) * name_len, (cx_hash_t *) &hash_ctx); - hash_nbytes(types, types_count, (cx_hash_t *) &hash_ctx); - hash_nbytes(sources, sources_count, (cx_hash_t *) &hash_ctx); + hash_nbytes(types, type_count, (cx_hash_t *) &hash_ctx); + hash_nbytes(sources, source_count, (cx_hash_t *) &hash_ctx); if (!sig_verif_end(&hash_ctx, sig, sig_len)) { return false; } @@ -438,7 +420,7 @@ bool filtering_trusted_name(const uint8_t *payload, ui_712_set_title(name, name_len); } ui_712_flag_field(true, name_len > 0, false, false, true); - ui_712_set_trusted_name_requirements(types_count, types); + ui_712_set_trusted_name_requirements(type_count, types, source_count, sources); return true; } #endif // HAVE_TRUSTED_NAME diff --git a/src_features/signMessageEIP712/ui_logic.c b/src_features/signMessageEIP712/ui_logic.c index 2202bfb80..901e9c637 100644 --- a/src_features/signMessageEIP712/ui_logic.c +++ b/src_features/signMessageEIP712/ui_logic.c @@ -65,7 +65,10 @@ typedef struct { uint8_t discarded_path_length; char discarded_path[255]; #ifdef HAVE_TRUSTED_NAME - e_name_type name_types; + uint8_t tn_type_count; + uint8_t tn_source_count; + e_name_type tn_types[TN_TYPE_COUNT]; + e_name_source tn_sources[TN_SOURCE_COUNT]; #endif #ifdef SCREEN_SIZE_WALLET char ui_pairs_buffer[(SHARED_CTX_FIELD_1_SIZE + SHARED_CTX_FIELD_2_SIZE) * 2]; @@ -530,20 +533,15 @@ static bool update_amount_join(const uint8_t *data, uint8_t length) { * @return whether it was successful or not */ static bool ui_712_format_trusted_name(const uint8_t *data, uint8_t length) { - uint8_t types_count = 0; - e_name_type types[8]; - uint8_t types_bak = ui_ctx->name_types; - if (length != ADDRESS_LENGTH) { return false; } - for (int i = 0; types_bak > 0; ++i) { - if (types_bak & 1) { - types[types_count++] = i; - } - types_bak >>= 1; - } - if (get_trusted_name(types_count, types, 0, NULL, &eip712_context->chain_id, data) != NULL) { + if (get_trusted_name(ui_ctx->tn_type_count, + ui_ctx->tn_types, + ui_ctx->tn_source_count, + ui_ctx->tn_sources, + &eip712_context->chain_id, + data) != NULL) { strlcpy(strings.tmp.tmp, g_trusted_name, sizeof(strings.tmp.tmp)); } return true; @@ -924,12 +922,14 @@ const char *ui_712_get_discarded_path(uint8_t *length) { } #ifdef HAVE_TRUSTED_NAME -void ui_712_set_trusted_name_requirements(uint8_t types_count, const e_name_type *types) { - // pack into one byte to save on space - ui_ctx->name_types = 0; - for (int i = 0; i < types_count; ++i) { - ui_ctx->name_types |= (1 << types[i]); - } +void ui_712_set_trusted_name_requirements(uint8_t type_count, + const e_name_type *types, + uint8_t source_count, + const e_name_source *sources) { + ui_ctx->tn_type_count = type_count; + memcpy(ui_ctx->tn_types, types, type_count); + ui_ctx->tn_source_count = source_count; + memcpy(ui_ctx->tn_sources, sources, source_count); } #endif diff --git a/src_features/signMessageEIP712/ui_logic.h b/src_features/signMessageEIP712/ui_logic.h index d64e47f32..035c42746 100644 --- a/src_features/signMessageEIP712/ui_logic.h +++ b/src_features/signMessageEIP712/ui_logic.h @@ -52,7 +52,10 @@ bool ui_712_push_new_filter_path(uint32_t path_crc); void ui_712_set_discarded_path(const char *path, uint8_t length); const char *ui_712_get_discarded_path(uint8_t *length); #ifdef HAVE_TRUSTED_NAME -void ui_712_set_trusted_name_requirements(uint8_t types_count, const e_name_type *types); +void ui_712_set_trusted_name_requirements(uint8_t type_count, + const e_name_type *types, + uint8_t source_count, + const e_name_source *sources); #endif #ifdef SCREEN_SIZE_WALLET char *get_ui_pairs_buffer(size_t *size); diff --git a/tests/ragger/test_eip712.py b/tests/ragger/test_eip712.py index 7713883de..6904709cb 100644 --- a/tests/ragger/test_eip712.py +++ b/tests/ragger/test_eip712.py @@ -763,7 +763,7 @@ def test_eip712_advanced_trusted_name(firmware: Firmware, "type": "trusted_name", "name": "Validator", "tn_type": filt_tn_types, - "tn_source": [TrustedNameSource.CAL], + "tn_source": [TrustedNameSource.CAL, TrustedNameSource.ENS], }, "enable": { "type": "raw", From bace3825ab07bb4dfdc681b834094da8b6d865cf Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 28 Nov 2024 11:48:05 +0100 Subject: [PATCH 18/66] Added new unsupported trusted name types and sources --- src_features/provideTrustedName/cmd_provide_trusted_name.c | 4 ++++ src_features/provideTrustedName/trusted_name.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src_features/provideTrustedName/cmd_provide_trusted_name.c b/src_features/provideTrustedName/cmd_provide_trusted_name.c index 12a250965..c0db83344 100644 --- a/src_features/provideTrustedName/cmd_provide_trusted_name.c +++ b/src_features/provideTrustedName/cmd_provide_trusted_name.c @@ -511,6 +511,9 @@ static bool handle_trusted_name_type(const s_tlv_data *data, case TN_TYPE_CONTRACT: break; case TN_TYPE_NFT_COLLECTION: + case TN_TYPE_TOKEN: + case TN_TYPE_WALLET: + case TN_TYPE_CONTEXT_ADDRESS: default: PRINTF("Error: unsupported trusted name type (%u)!\n", value); return false; @@ -545,6 +548,7 @@ static bool handle_trusted_name_source(const s_tlv_data *data, case TN_SOURCE_UD: case TN_SOURCE_FN: case TN_SOURCE_DNS: + case TN_SOURCE_DYNAMIC_RESOLVER: default: PRINTF("Error: unsupported trusted name source (%u)!\n", value); return false; diff --git a/src_features/provideTrustedName/trusted_name.h b/src_features/provideTrustedName/trusted_name.h index 8942ffdbe..ad7d05a7d 100644 --- a/src_features/provideTrustedName/trusted_name.h +++ b/src_features/provideTrustedName/trusted_name.h @@ -12,6 +12,9 @@ typedef enum { TN_TYPE_ACCOUNT = 1, TN_TYPE_CONTRACT, TN_TYPE_NFT_COLLECTION, + TN_TYPE_TOKEN, + TN_TYPE_WALLET, + TN_TYPE_CONTEXT_ADDRESS, _TN_TYPE_COUNT_, } e_name_type; @@ -25,6 +28,7 @@ typedef enum { TN_SOURCE_UD, TN_SOURCE_FN, TN_SOURCE_DNS, + TN_SOURCE_DYNAMIC_RESOLVER, TN_SOURCE_COUNT, } e_name_source; From d6ac35f70ef56359949d49a04352e6d702b66fed Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 28 Nov 2024 14:18:26 +0100 Subject: [PATCH 19/66] Now handle another key id for trusted names coming from CAL Adapted Python client --- .../src/ledger_app_clients/ethereum/client.py | 16 ++++++---- .../cmd_provide_trusted_name.c | 30 +++++++++++-------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/client/src/ledger_app_clients/ethereum/client.py b/client/src/ledger_app_clients/ethereum/client.py index 11325fac4..8fdc693af 100644 --- a/client/src/ledger_app_clients/ethereum/client.py +++ b/client/src/ledger_app_clients/ethereum/client.py @@ -255,7 +255,7 @@ def perform_privacy_operation(self, bip32_path, pubkey)) - def _provide_trusted_name_common(self, payload: bytes) -> RAPDU: + def _provide_trusted_name_common(self, payload: bytes, name_source: TrustedNameSource) -> RAPDU: if self._pki_client is None: print(f"Ledger-PKI Not supported on '{self._firmware.name}'") else: @@ -272,10 +272,16 @@ def _provide_trusted_name_common(self, payload: bytes) -> RAPDU: self._pki_client.send_certificate(PKIPubKeyUsage.PUBKEY_USAGE_COIN_META, bytes.fromhex(cert_apdu)) payload += format_tlv(FieldTag.STRUCT_TYPE, 3) # TrustedName - payload += format_tlv(FieldTag.SIGNER_KEY_ID, 0) # test key + if name_source == TrustedNameSource.CAL: + key_id = 6 + key = Key.CAL + else: + key_id = 3 + key = Key.TRUSTED_NAME + payload += format_tlv(FieldTag.SIGNER_KEY_ID, key_id) # test key payload += format_tlv(FieldTag.SIGNER_ALGO, 1) # secp256k1 payload += format_tlv(FieldTag.DER_SIGNATURE, - sign_data(Key.TRUSTED_NAME, payload)) + sign_data(key, payload)) chunks = self._cmd_builder.provide_trusted_name(payload) for chunk in chunks[:-1]: self._exchange(chunk) @@ -287,7 +293,7 @@ def provide_trusted_name_v1(self, addr: bytes, name: str, challenge: int) -> RAP payload += format_tlv(FieldTag.COIN_TYPE, 0x3c) # ETH in slip-44 payload += format_tlv(FieldTag.TRUSTED_NAME, name) payload += format_tlv(FieldTag.ADDRESS, addr) - return self._provide_trusted_name_common(payload) + return self._provide_trusted_name_common(payload, TrustedNameSource.ENS) def provide_trusted_name_v2(self, addr: bytes, @@ -311,7 +317,7 @@ def provide_trusted_name_v2(self, if not_valid_after is not None: assert len(not_valid_after) == 3 payload += format_tlv(FieldTag.NOT_VALID_AFTER, struct.pack("BBB", *not_valid_after)) - return self._provide_trusted_name_common(payload) + return self._provide_trusted_name_common(payload, name_source) def set_plugin(self, plugin_name: str, diff --git a/src_features/provideTrustedName/cmd_provide_trusted_name.c b/src_features/provideTrustedName/cmd_provide_trusted_name.c index c0db83344..a540c2369 100644 --- a/src_features/provideTrustedName/cmd_provide_trusted_name.c +++ b/src_features/provideTrustedName/cmd_provide_trusted_name.c @@ -63,7 +63,7 @@ typedef enum { NFT_ID = 0x72, } e_tlv_tag; -typedef enum { KEY_ID_TEST = 0x00, KEY_ID_PROD = 0x03 } e_key_id; +typedef enum { TN_KEY_ID_DOMAIN_SVC = 0x03, TN_KEY_ID_CAL = 0x06 } e_tn_key_id; typedef struct { uint8_t *buf; @@ -90,7 +90,7 @@ typedef struct { } s_trusted_name_info; typedef struct { - e_key_id key_id; + e_tn_key_id key_id; uint8_t input_sig_size; const uint8_t *input_sig; cx_sha256_t hash_ctx; @@ -592,16 +592,22 @@ static bool handle_nft_id(const s_tlv_data *data, static bool verify_signature(const s_sig_ctx *sig_ctx) { uint8_t hash[INT256_LENGTH]; cx_err_t error = CX_INTERNAL_ERROR; -#ifdef HAVE_TRUSTED_NAME_TEST_KEY - e_key_id valid_key_id = KEY_ID_TEST; -#else - e_key_id valid_key_id = KEY_ID_PROD; -#endif bool ret_code = false; + const uint8_t *pk; + size_t pk_size; - if (sig_ctx->key_id != valid_key_id) { - PRINTF("Error: Unknown metadata key ID %u\n", sig_ctx->key_id); - return false; + switch (sig_ctx->key_id) { + case TN_KEY_ID_DOMAIN_SVC: + pk = TRUSTED_NAME_PUB_KEY; + pk_size = sizeof(TRUSTED_NAME_PUB_KEY); + break; + case TN_KEY_ID_CAL: + pk = LEDGER_SIGNATURE_PUBLIC_KEY; + pk_size = sizeof(LEDGER_SIGNATURE_PUBLIC_KEY); + break; + default: + PRINTF("Error: Unknown metadata key ID %u\n", sig_ctx->key_id); + return false; } CX_CHECK( @@ -610,8 +616,8 @@ static bool verify_signature(const s_sig_ctx *sig_ctx) { CX_CHECK(check_signature_with_pubkey("Domain Name", hash, sizeof(hash), - TRUSTED_NAME_PUB_KEY, - sizeof(TRUSTED_NAME_PUB_KEY), + pk, + pk_size, #ifdef HAVE_LEDGER_PKI CERTIFICATE_PUBLIC_KEY_USAGE_TRUSTED_NAME, #endif From afc52f20b40f5eb866ca6cea11767fea4d3eab3b Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 6 Dec 2024 18:34:48 +0100 Subject: [PATCH 20/66] Added missing mem_init at app start --- src/main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.c b/src/main.c index c0ebeae74..8706f6bbc 100644 --- a/src/main.c +++ b/src/main.c @@ -36,6 +36,9 @@ #include "crypto_helpers.h" #include "manage_asset_info.h" #include "network_dynamic.h" +#ifdef HAVE_DYN_MEM_ALLOC +#include "mem.h" +#endif tmpCtx_t tmpCtx; txContext_t txContext; @@ -366,6 +369,9 @@ void coin_main(eth_libargs_t *args) { io_init(); ui_idle(); +#ifdef HAVE_DYN_MEM_ALLOC + mem_init(); +#endif #ifdef HAVE_TRUSTED_NAME // to prevent it from having a fixed value at boot From ae626b86ff5d79c2e16d2abd37d9eadee8051af0 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 9 Dec 2024 15:34:57 +0100 Subject: [PATCH 21/66] mem_dealloc can now print a warning --- src/mem.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mem.c b/src/mem.c index 8de2e52ea..cefdb60be 100644 --- a/src/mem.c +++ b/src/mem.c @@ -41,8 +41,8 @@ void mem_reset(void) { * @return Allocated memory pointer; \ref NULL if not enough space left. */ void *mem_alloc(size_t size) { - if ((mem_idx + size) > SIZE_MEM_BUFFER) // Buffer exceeded - { + // Buffer exceeded + if ((mem_idx + size) > sizeof(mem_buffer)) { PRINTF("Error: mem_alloc(%u) failed!\n", size); return NULL; } @@ -56,8 +56,9 @@ void *mem_alloc(size_t size) { * @param[in] size Requested deallocation size in bytes */ void mem_dealloc(size_t size) { - if (size > mem_idx) // More than is already allocated - { + // More than is already allocated + if (size > mem_idx) { + PRINTF("Warning: mem_dealloc(%u) with a value larger than allocated!\n", size); mem_idx = 0; } else { mem_idx -= size; From 084eac505605afe4a00dfe21def9cbea8d6a73d4 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 16 Oct 2024 18:51:43 +0200 Subject: [PATCH 22/66] Small refactoring of the handler of the sign transaction APDU --- src_features/signTx/cmd_signTx.c | 130 ++++++++++++++++++------------- 1 file changed, 76 insertions(+), 54 deletions(-) diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index e74f5971f..9dedf7f4d 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -3,74 +3,96 @@ #include "feature_signTx.h" #include "eth_plugin_interface.h" -uint16_t handleSign(uint8_t p1, - uint8_t p2, - const uint8_t *workBuffer, - uint8_t dataLength, - unsigned int *flags) { - parserStatus_e txResult; - uint16_t sw = APDU_NO_RESPONSE; +typedef enum { + SIGN_MODE_BASIC = 0, +} e_sign_mode; + +static uint16_t handle_first_sign_chunk(const uint8_t *payload, uint8_t length, uint8_t *offset) { + uint8_t length_tmp = length; + uint8_t tx_type; cx_err_t error = CX_INTERNAL_ERROR; - if (p1 == P1_FIRST) { - if (appState != APP_STATE_IDLE) { - reset_app_context(); - } - appState = APP_STATE_SIGNING_TX; + if (appState != APP_STATE_IDLE) { + reset_app_context(); + } + appState = APP_STATE_SIGNING_TX; - workBuffer = parseBip32(workBuffer, &dataLength, &tmpCtx.transactionContext.bip32); - if (workBuffer == NULL) { - return APDU_RESPONSE_INVALID_DATA; - } + if (parseBip32(&payload[*offset], &length_tmp, &tmpCtx.transactionContext.bip32) == NULL) { + return APDU_RESPONSE_INVALID_DATA; + } + *offset += (length - length_tmp); - tmpContent.txContent.dataPresent = false; - dataContext.tokenContext.pluginStatus = ETH_PLUGIN_RESULT_UNAVAILABLE; + tmpContent.txContent.dataPresent = false; + dataContext.tokenContext.pluginStatus = ETH_PLUGIN_RESULT_UNAVAILABLE; - if (initTx(&txContext, &global_sha3, &tmpContent.txContent, customProcessor, NULL) == - false) { - return APDU_RESPONSE_INVALID_DATA; - } - if (dataLength < 1) { - PRINTF("Invalid data\n"); - return APDU_RESPONSE_INVALID_DATA; - } + if (initTx(&txContext, &global_sha3, &tmpContent.txContent, customProcessor, NULL) == false) { + return APDU_RESPONSE_INVALID_DATA; + } + if (*offset >= length) { + PRINTF("Invalid data\n"); + return APDU_RESPONSE_INVALID_DATA; + } - // EIP 2718: TransactionType might be present before the TransactionPayload. - uint8_t txType = *workBuffer; - if (txType >= MIN_TX_TYPE && txType <= MAX_TX_TYPE) { - // Enumerate through all supported txTypes here... - if (txType == EIP2930 || txType == EIP1559) { - error = cx_hash_no_throw((cx_hash_t *) &global_sha3, 0, workBuffer, 1, NULL, 0); - if (error != CX_OK) { - return error; - } - txContext.txType = txType; - workBuffer++; - dataLength--; - } else { - PRINTF("Transaction type %d not supported\n", txType); + // EIP 2718: TransactionType might be present before the TransactionPayload. + tx_type = payload[*offset]; + if (tx_type <= MAX_TX_TYPE) { + switch (tx_type) { + case EIP1559: + case EIP2930: + break; + default: + PRINTF("Transaction type %d not supported\n", tx_type); return APDU_RESPONSE_TX_TYPE_NOT_SUPPORTED; - } - } else { - txContext.txType = LEGACY; } - PRINTF("TxType: %x\n", txContext.txType); - } else if (p1 != P1_MORE) { - return APDU_RESPONSE_INVALID_P1_P2; - } - if (p2 != 0) { - return APDU_RESPONSE_INVALID_P1_P2; + error = cx_hash_no_throw((cx_hash_t *) &global_sha3, 0, &tx_type, sizeof(tx_type), NULL, 0); + if (error != CX_OK) { + return error; + } + txContext.txType = tx_type; + *offset += sizeof(tx_type); + } else { + txContext.txType = LEGACY; } - if ((p1 == P1_MORE) && (appState != APP_STATE_SIGNING_TX)) { - PRINTF("Signature not initialized\n"); - return APDU_RESPONSE_CONDITION_NOT_SATISFIED; + PRINTF("TxType: %x\n", txContext.txType); + return APDU_NO_RESPONSE; +} + +uint16_t handleSign(uint8_t p1, + uint8_t p2, + const uint8_t *workBuffer, + uint8_t dataLength, + unsigned int *flags) { + uint16_t sw = APDU_NO_RESPONSE; + uint8_t offset = 0; + + switch (p2) { + case SIGN_MODE_BASIC: + switch (p1) { + case P1_FIRST: + if ((sw = handle_first_sign_chunk(workBuffer, dataLength, &offset)) != + APDU_NO_RESPONSE) { + return sw; + } + break; + case P1_MORE: + if (appState != APP_STATE_SIGNING_TX) { + PRINTF("Signature not initialized\n"); + return APDU_RESPONSE_CONDITION_NOT_SATISFIED; + } + break; + default: + return APDU_RESPONSE_INVALID_P1_P2; + } + break; + default: + return APDU_RESPONSE_INVALID_P1_P2; } + if (txContext.currentField == RLP_NONE) { PRINTF("Parser not initialized\n"); return APDU_RESPONSE_CONDITION_NOT_SATISFIED; } - txResult = processTx(&txContext, workBuffer, dataLength); - switch (txResult) { + switch (processTx(&txContext, &workBuffer[offset], dataLength - offset)) { case USTREAM_SUSPENDED: break; case USTREAM_FINISHED: From 8536e21028291a47ceb3f83ffcfefb15706d549a Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 17 Oct 2024 14:00:15 +0200 Subject: [PATCH 23/66] Now returns an error RAPDU if the hashing of the TxType failed --- src_features/signTx/cmd_signTx.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index 9dedf7f4d..be917debd 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -10,7 +10,6 @@ typedef enum { static uint16_t handle_first_sign_chunk(const uint8_t *payload, uint8_t length, uint8_t *offset) { uint8_t length_tmp = length; uint8_t tx_type; - cx_err_t error = CX_INTERNAL_ERROR; if (appState != APP_STATE_IDLE) { reset_app_context(); @@ -44,9 +43,9 @@ static uint16_t handle_first_sign_chunk(const uint8_t *payload, uint8_t length, PRINTF("Transaction type %d not supported\n", tx_type); return APDU_RESPONSE_TX_TYPE_NOT_SUPPORTED; } - error = cx_hash_no_throw((cx_hash_t *) &global_sha3, 0, &tx_type, sizeof(tx_type), NULL, 0); - if (error != CX_OK) { - return error; + if (cx_hash_no_throw((cx_hash_t *) &global_sha3, 0, &tx_type, sizeof(tx_type), NULL, 0) != + CX_OK) { + return APDU_RESPONSE_INVALID_DATA; } txContext.txType = tx_type; *offset += sizeof(tx_type); From 33bded6a262851572cffc5a05d22c4a6cdac7933 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 09:32:46 +0100 Subject: [PATCH 24/66] Small change in variable naming --- src_features/signTx/cmd_signTx.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index be917debd..7cc70e638 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -58,8 +58,8 @@ static uint16_t handle_first_sign_chunk(const uint8_t *payload, uint8_t length, uint16_t handleSign(uint8_t p1, uint8_t p2, - const uint8_t *workBuffer, - uint8_t dataLength, + const uint8_t *payload, + uint8_t length, unsigned int *flags) { uint16_t sw = APDU_NO_RESPONSE; uint8_t offset = 0; @@ -68,7 +68,7 @@ uint16_t handleSign(uint8_t p1, case SIGN_MODE_BASIC: switch (p1) { case P1_FIRST: - if ((sw = handle_first_sign_chunk(workBuffer, dataLength, &offset)) != + if ((sw = handle_first_sign_chunk(payload, length, &offset)) != APDU_NO_RESPONSE) { return sw; } @@ -91,7 +91,7 @@ uint16_t handleSign(uint8_t p1, PRINTF("Parser not initialized\n"); return APDU_RESPONSE_CONDITION_NOT_SATISFIED; } - switch (processTx(&txContext, &workBuffer[offset], dataLength - offset)) { + switch (processTx(&txContext, &payload[offset], length - offset)) { case USTREAM_SUSPENDED: break; case USTREAM_FINISHED: From fd3d72b7f371e23fcfafcdbe208e21a6c5acf82b Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 09:34:01 +0100 Subject: [PATCH 25/66] Renamed some functions, removed useless fields from the txContent struct --- src/ethUstream.c | 60 +++++++++++--------------- src/ethUstream.h | 14 +----- src_features/signTx/cmd_signTx.c | 6 +-- src_features/signTx/feature_signTx.h | 5 ++- src_features/signTx/logic_signTx.c | 2 +- src_features/signTx/ui_common_signTx.c | 2 +- 6 files changed, 35 insertions(+), 54 deletions(-) diff --git a/src/ethUstream.c b/src/ethUstream.c index eebf8e993..fb10ee455 100644 --- a/src/ethUstream.c +++ b/src/ethUstream.c @@ -21,9 +21,7 @@ #include "ethUstream.h" #include "rlp_utils.h" #include "common_utils.h" - -#define MAX_INT256 32 -#define MAX_ADDRESS 20 +#include "feature_signTx.h" static bool check_fields(txContext_t *context, const char *name, uint32_t length) { UNUSED(name); // Just for the case where DEBUG is not enabled @@ -56,16 +54,10 @@ static bool check_cmd_length(txContext_t *context, const char *name, uint32_t le return true; } -bool initTx(txContext_t *context, - cx_sha3_t *sha3, - txContent_t *content, - ustreamProcess_t customProcessor, - void *extra) { - memset(context, 0, sizeof(txContext_t)); +bool init_tx(txContext_t *context, cx_sha3_t *sha3, txContent_t *content) { + explicit_bzero(context, sizeof(*context)); context->sha3 = sha3; context->content = content; - context->customProcessor = customProcessor; - context->extra = extra; context->currentField = RLP_NONE + 1; if (cx_keccak_init_no_throw(context->sha3, 256) != CX_OK) { return false; @@ -150,7 +142,7 @@ static bool processAccessList(txContext_t *context) { } static bool processChainID(txContext_t *context) { - if (check_fields(context, "RLP_CHAINID", MAX_INT256) == false) { + if (check_fields(context, "RLP_CHAINID", INT256_LENGTH) == false) { return false; } @@ -170,7 +162,7 @@ static bool processChainID(txContext_t *context) { } static bool processNonce(txContext_t *context) { - if (check_fields(context, "RLP_NONCE", MAX_INT256) == false) { + if (check_fields(context, "RLP_NONCE", INT256_LENGTH) == false) { return false; } @@ -190,7 +182,7 @@ static bool processNonce(txContext_t *context) { } static bool processStartGas(txContext_t *context) { - if (check_fields(context, "RLP_STARTGAS", MAX_INT256) == false) { + if (check_fields(context, "RLP_STARTGAS", INT256_LENGTH) == false) { return false; } @@ -217,7 +209,7 @@ static bool processGasLimit(txContext_t *context) { } static bool processGasprice(txContext_t *context) { - if (check_fields(context, "RLP_GASPRICE", MAX_INT256) == false) { + if (check_fields(context, "RLP_GASPRICE", INT256_LENGTH) == false) { return false; } @@ -239,7 +231,7 @@ static bool processGasprice(txContext_t *context) { } static bool processValue(txContext_t *context) { - if (check_fields(context, "RLP_VALUE", MAX_INT256) == false) { + if (check_fields(context, "RLP_VALUE", INT256_LENGTH) == false) { return false; } @@ -261,7 +253,7 @@ static bool processValue(txContext_t *context) { } static bool processTo(txContext_t *context) { - if (check_fields(context, "RLP_TO", MAX_ADDRESS) == false) { + if (check_fields(context, "RLP_TO", ADDRESS_LENGTH) == false) { return false; } @@ -540,22 +532,20 @@ static parserStatus_e processTxInternal(txContext_t *context) { return status; } } - if (context->customProcessor != NULL) { - customStatus = context->customProcessor(context); - PRINTF("After customprocessor\n"); - switch (customStatus) { - case CUSTOM_NOT_HANDLED: - case CUSTOM_HANDLED: - break; - case CUSTOM_SUSPENDED: - return USTREAM_SUSPENDED; - case CUSTOM_FAULT: - PRINTF("Custom processor aborted\n"); - return USTREAM_FAULT; - default: - PRINTF("Unhandled custom processor status\n"); - return USTREAM_FAULT; - } + customStatus = customProcessor(context); + PRINTF("After customprocessor\n"); + switch (customStatus) { + case CUSTOM_NOT_HANDLED: + case CUSTOM_HANDLED: + break; + case CUSTOM_SUSPENDED: + return USTREAM_SUSPENDED; + case CUSTOM_FAULT: + PRINTF("Custom processor aborted\n"); + return USTREAM_FAULT; + default: + PRINTF("Unhandled custom processor status\n"); + return USTREAM_FAULT; } if (customStatus == CUSTOM_NOT_HANDLED) { PRINTF("Current field: %d\n", context->currentField); @@ -584,8 +574,8 @@ static parserStatus_e processTxInternal(txContext_t *context) { PRINTF("end of here\n"); } -parserStatus_e processTx(txContext_t *context, const uint8_t *buffer, uint32_t length) { - context->workBuffer = buffer; +parserStatus_e process_tx(txContext_t *context, const uint8_t *payload, size_t length) { + context->workBuffer = payload; context->commandLength = length; return processTxInternal(context); } diff --git a/src/ethUstream.h b/src/ethUstream.h index 3548af985..7f491a4d8 100644 --- a/src/ethUstream.h +++ b/src/ethUstream.h @@ -25,8 +25,6 @@ #include "common_utils.h" #include "tx_content.h" -struct txContext_t; - typedef enum customStatus_e { CUSTOM_NOT_HANDLED, CUSTOM_HANDLED, @@ -34,8 +32,6 @@ typedef enum customStatus_e { CUSTOM_FAULT } customStatus_e; -typedef customStatus_e (*ustreamProcess_t)(struct txContext_t *context); - // First variant of every Tx enum. #define RLP_NONE 0 @@ -120,17 +116,11 @@ typedef struct txContext_t { uint32_t rlpBufferPos; const uint8_t *workBuffer; uint32_t commandLength; - ustreamProcess_t customProcessor; txContent_t *content; - void *extra; uint8_t txType; } txContext_t; -bool initTx(txContext_t *context, - cx_sha3_t *sha3, - txContent_t *content, - ustreamProcess_t customProcessor, - void *extra); -parserStatus_e processTx(txContext_t *context, const uint8_t *buffer, uint32_t length); +bool init_tx(txContext_t *context, cx_sha3_t *sha3, txContent_t *content); +parserStatus_e process_tx(txContext_t *context, const uint8_t *buffer, size_t length); parserStatus_e continueTx(txContext_t *context); bool copyTxData(txContext_t *context, uint8_t *out, uint32_t length); diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index 7cc70e638..4eedc40fe 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -24,7 +24,7 @@ static uint16_t handle_first_sign_chunk(const uint8_t *payload, uint8_t length, tmpContent.txContent.dataPresent = false; dataContext.tokenContext.pluginStatus = ETH_PLUGIN_RESULT_UNAVAILABLE; - if (initTx(&txContext, &global_sha3, &tmpContent.txContent, customProcessor, NULL) == false) { + if (init_tx(&txContext, &global_sha3, &tmpContent.txContent) == false) { return APDU_RESPONSE_INVALID_DATA; } if (*offset >= length) { @@ -91,11 +91,11 @@ uint16_t handleSign(uint8_t p1, PRINTF("Parser not initialized\n"); return APDU_RESPONSE_CONDITION_NOT_SATISFIED; } - switch (processTx(&txContext, &payload[offset], length - offset)) { + switch (process_tx(&txContext, &payload[offset], length - offset)) { case USTREAM_SUSPENDED: break; case USTREAM_FINISHED: - sw = finalizeParsing(); + sw = finalize_parsing(); break; case USTREAM_PROCESSING: return APDU_RESPONSE_OK; diff --git a/src_features/signTx/feature_signTx.h b/src_features/signTx/feature_signTx.h index f1c83df42..9deb4173b 100644 --- a/src_features/signTx/feature_signTx.h +++ b/src_features/signTx/feature_signTx.h @@ -1,7 +1,8 @@ #ifndef _SIGN_TX_H_ #define _SIGN_TX_H_ -#include "shared_context.h" +#include +#include "ethUstream.h" // Error codes for swap, to be moved in SDK? #define ERROR_WRONG_AMOUNT 0x01 @@ -27,7 +28,7 @@ typedef enum { } plugin_ui_state_t; customStatus_e customProcessor(txContext_t *context); -uint16_t finalizeParsing(); +uint16_t finalize_parsing(void); void ux_approve_tx(bool fromPlugin); void start_signature_flow(void); diff --git a/src_features/signTx/logic_signTx.c b/src_features/signTx/logic_signTx.c index b50642ebd..ad07bc901 100644 --- a/src_features/signTx/logic_signTx.c +++ b/src_features/signTx/logic_signTx.c @@ -633,7 +633,7 @@ void start_signature_flow(void) { } } -uint16_t finalizeParsing(void) { +uint16_t finalize_parsing(void) { uint16_t sw = APDU_RESPONSE_UNKNOWN; g_use_standard_ui = true; diff --git a/src_features/signTx/ui_common_signTx.c b/src_features/signTx/ui_common_signTx.c index c29f3672e..9e8b4713f 100644 --- a/src_features/signTx/ui_common_signTx.c +++ b/src_features/signTx/ui_common_signTx.c @@ -80,7 +80,7 @@ unsigned int io_seproxyhal_touch_data_ok(void) { case USTREAM_SUSPENDED: break; case USTREAM_FINISHED: - err = finalizeParsing(); + err = finalize_parsing(); break; case USTREAM_PROCESSING: err = io_seproxyhal_send_status(APDU_RESPONSE_OK, 0, false, true); From 526e80341eaef6ca0b1b7b8cc05c983fbe3a8504 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 17 Oct 2024 18:41:18 +0200 Subject: [PATCH 26/66] Moved ethUstream and rlp_utils from the signTx feature folder --- {src => src_features/signTx}/ethUstream.c | 0 {src => src_features/signTx}/ethUstream.h | 0 {src => src_features/signTx}/rlp_utils.c | 0 {src => src_features/signTx}/rlp_utils.h | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {src => src_features/signTx}/ethUstream.c (100%) rename {src => src_features/signTx}/ethUstream.h (100%) rename {src => src_features/signTx}/rlp_utils.c (100%) rename {src => src_features/signTx}/rlp_utils.h (100%) diff --git a/src/ethUstream.c b/src_features/signTx/ethUstream.c similarity index 100% rename from src/ethUstream.c rename to src_features/signTx/ethUstream.c diff --git a/src/ethUstream.h b/src_features/signTx/ethUstream.h similarity index 100% rename from src/ethUstream.h rename to src_features/signTx/ethUstream.h diff --git a/src/rlp_utils.c b/src_features/signTx/rlp_utils.c similarity index 100% rename from src/rlp_utils.c rename to src_features/signTx/rlp_utils.c diff --git a/src/rlp_utils.h b/src_features/signTx/rlp_utils.h similarity index 100% rename from src/rlp_utils.h rename to src_features/signTx/rlp_utils.h From 463a0250f635597977f0519235a128657d13d678 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 18 Oct 2024 11:36:06 +0200 Subject: [PATCH 27/66] Restrict include of signTx header files to where necessary --- src_bagl/ui_flow_signTx.c | 1 - src_features/signMessageEIP712/context_712.h | 2 +- src_features/signMessageEIP712/filtering.c | 1 - src_nbgl/ui_blind_signing.c | 1 - src_plugins/erc1155/erc1155_plugin.h | 1 - src_plugins/erc20/erc20_plugin.c | 1 - src_plugins/erc721/erc721_plugin.h | 1 - 7 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src_bagl/ui_flow_signTx.c b/src_bagl/ui_flow_signTx.c index d25e6c34e..0279ad748 100644 --- a/src_bagl/ui_flow_signTx.c +++ b/src_bagl/ui_flow_signTx.c @@ -2,7 +2,6 @@ #include "ui_callbacks.h" #include "chainConfig.h" #include "common_utils.h" -#include "feature_signTx.h" #include "network.h" #include "eth_plugin_handler.h" #include "ui_plugin.h" diff --git a/src_features/signMessageEIP712/context_712.h b/src_features/signMessageEIP712/context_712.h index 2b020973f..b01707484 100644 --- a/src_features/signMessageEIP712/context_712.h +++ b/src_features/signMessageEIP712/context_712.h @@ -4,7 +4,7 @@ #ifdef HAVE_EIP712_FULL_SUPPORT #include -#include "ethUstream.h" // ADDRESS_LENGTH +#include "common_utils.h" typedef struct { uint8_t contract_addr[ADDRESS_LENGTH]; diff --git a/src_features/signMessageEIP712/filtering.c b/src_features/signMessageEIP712/filtering.c index 5a03e8401..232043679 100644 --- a/src_features/signMessageEIP712/filtering.c +++ b/src_features/signMessageEIP712/filtering.c @@ -2,7 +2,6 @@ #include "filtering.h" #include "hash_bytes.h" -#include "ethUstream.h" // INT256_LENGTH #include "apdu_constants.h" // APDU return codes #include "public_keys.h" #include "manage_asset_info.h" diff --git a/src_nbgl/ui_blind_signing.c b/src_nbgl/ui_blind_signing.c index ba0a40fb8..d5ad753c8 100644 --- a/src_nbgl/ui_blind_signing.c +++ b/src_nbgl/ui_blind_signing.c @@ -1,7 +1,6 @@ #include #include "shared_context.h" #include "ui_callbacks.h" -#include "feature_signTx.h" #include "ui_nbgl.h" #include "apdu_constants.h" #include "context_712.h" diff --git a/src_plugins/erc1155/erc1155_plugin.h b/src_plugins/erc1155/erc1155_plugin.h index d9615dfeb..56908b2e9 100644 --- a/src_plugins/erc1155/erc1155_plugin.h +++ b/src_plugins/erc1155/erc1155_plugin.h @@ -5,7 +5,6 @@ #include #include -#include "ethUstream.h" #include "uint256.h" #include "asset_info.h" #include "eth_plugin_interface.h" diff --git a/src_plugins/erc20/erc20_plugin.c b/src_plugins/erc20/erc20_plugin.c index 13daf29f2..c7a5af884 100644 --- a/src_plugins/erc20/erc20_plugin.c +++ b/src_plugins/erc20/erc20_plugin.c @@ -3,7 +3,6 @@ #include "eth_plugin_handler.h" #include "shared_context.h" #include "plugin_utils.h" -#include "ethUstream.h" #include "common_utils.h" typedef enum { ERC20_TRANSFER = 0, ERC20_APPROVE } erc20Selector_t; diff --git a/src_plugins/erc721/erc721_plugin.h b/src_plugins/erc721/erc721_plugin.h index 42f1df68e..bf1d1edeb 100644 --- a/src_plugins/erc721/erc721_plugin.h +++ b/src_plugins/erc721/erc721_plugin.h @@ -5,7 +5,6 @@ #include #include -#include "ethUstream.h" #include "asset_info.h" #include "eth_plugin_interface.h" From 8b7d4960c86c0024ab944de8fab61493fe4bbc0c Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 20 Nov 2024 17:12:12 +0100 Subject: [PATCH 28/66] New time formatting functions --- src/time_format.c | 52 +++++++++++++++++++++++ src/time_format.h | 11 +++++ src_features/signMessageEIP712/ui_logic.c | 26 +----------- 3 files changed, 65 insertions(+), 24 deletions(-) create mode 100644 src/time_format.c create mode 100644 src/time_format.h diff --git a/src/time_format.c b/src/time_format.c new file mode 100644 index 000000000..ec5a53baa --- /dev/null +++ b/src/time_format.c @@ -0,0 +1,52 @@ +#include +#include "time_format.h" + +static bool get_time_struct(const time_t *timestamp, struct tm *tstruct) { + if (gmtime_r(timestamp, tstruct) == NULL) { + return false; + } + return true; +} + +bool time_format_to_yyyymmdd(const time_t *timestamp, char *out, size_t out_size) { + struct tm tstruct; + + if (!get_time_struct(timestamp, &tstruct)) { + return false; + } + snprintf(out, + out_size, + "%04d-%02d-%02d", + tstruct.tm_year + 1900, + tstruct.tm_mon + 1, + tstruct.tm_mday); + return true; +} + +bool time_format_to_utc(const time_t *timestamp, char *out, size_t out_size) { + struct tm tstruct; + int shown_hour; + + if (!get_time_struct(timestamp, &tstruct)) { + return false; + } + if (tstruct.tm_hour == 0) { + shown_hour = 12; + } else { + shown_hour = tstruct.tm_hour; + if (shown_hour > 12) { + shown_hour -= 12; + } + } + snprintf(out, + out_size, + "%04d-%02d-%02d\n%02d:%02d:%02d %s UTC", + tstruct.tm_year + 1900, + tstruct.tm_mon + 1, + tstruct.tm_mday, + shown_hour, + tstruct.tm_min, + tstruct.tm_sec, + (tstruct.tm_hour < 12) ? "AM" : "PM"); + return true; +} diff --git a/src/time_format.h b/src/time_format.h new file mode 100644 index 000000000..b939c179d --- /dev/null +++ b/src/time_format.h @@ -0,0 +1,11 @@ +#ifndef TIME_FORMAT_H_ +#define TIME_FORMAT_H_ + +#include +#include +#include + +bool time_format_to_yyyymmdd(const time_t *timestamp, char *out, size_t out_size); +bool time_format_to_utc(const time_t *timestamp, char *out, size_t out_size); + +#endif // !TIME_FORMAT_H_ diff --git a/src_features/signMessageEIP712/ui_logic.c b/src_features/signMessageEIP712/ui_logic.c index 901e9c637..d022fcb13 100644 --- a/src_features/signMessageEIP712/ui_logic.c +++ b/src_features/signMessageEIP712/ui_logic.c @@ -21,6 +21,7 @@ #include "filtering.h" #include "trusted_name.h" #include "network.h" +#include "time_format.h" #define AMOUNT_JOIN_FLAG_TOKEN (1 << 0) #define AMOUNT_JOIN_FLAG_VALUE (1 << 1) @@ -556,32 +557,9 @@ static bool ui_712_format_trusted_name(const uint8_t *data, uint8_t length) { * @return whether it was successful or not */ static bool ui_712_format_datetime(const uint8_t *data, uint8_t length) { - struct tm tstruct; - int shown_hour; time_t timestamp = u64_from_BE(data, length); - if (gmtime_r(×tamp, &tstruct) == NULL) { - return false; - } - if (tstruct.tm_hour == 0) { - shown_hour = 12; - } else { - shown_hour = tstruct.tm_hour; - if (shown_hour > 12) { - shown_hour -= 12; - } - } - snprintf(strings.tmp.tmp, - sizeof(strings.tmp.tmp), - "%04d-%02d-%02d\n%02d:%02d:%02d %s UTC", - tstruct.tm_year + 1900, - tstruct.tm_mon + 1, - tstruct.tm_mday, - shown_hour, - tstruct.tm_min, - tstruct.tm_sec, - (tstruct.tm_hour < 12) ? "AM" : "PM"); - return true; + return time_format_to_utc(×tamp, strings.tmp.tmp, sizeof(strings.tmp.tmp)); } /** From b5c69ac05e44612154e9f9d97a23020358ca4fbb Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 09:36:58 +0100 Subject: [PATCH 29/66] Support for new TX sign modes --- makefile_conf/features.mk | 4 ++++ src_features/signTx/cmd_signTx.c | 29 ++++++++++++++++++++++++++--- src_features/signTx/ethUstream.c | 7 ++++++- src_features/signTx/ethUstream.h | 7 ++++++- 4 files changed, 42 insertions(+), 5 deletions(-) diff --git a/makefile_conf/features.mk b/makefile_conf/features.mk index 8d1ab1ea3..ef5b86bdf 100644 --- a/makefile_conf/features.mk +++ b/makefile_conf/features.mk @@ -36,6 +36,10 @@ ifneq ($(TARGET_NAME),TARGET_NANOS) DEFINES += HAVE_EIP712_FULL_SUPPORT endif +ifneq ($(TARGET_NAME),TARGET_NANOS) + DEFINES += HAVE_GENERIC_TX_PARSER +endif + # CryptoAssetsList key CAL_TEST_KEY ?= 0 ifneq ($(CAL_TEST_KEY),0) diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index 4eedc40fe..69fa7b782 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -2,12 +2,18 @@ #include "apdu_constants.h" #include "feature_signTx.h" #include "eth_plugin_interface.h" +#include "apdu_constants.h" typedef enum { SIGN_MODE_BASIC = 0, + SIGN_MODE_STORE = 1, + SIGN_MODE_START_FLOW = 2, } e_sign_mode; -static uint16_t handle_first_sign_chunk(const uint8_t *payload, uint8_t length, uint8_t *offset) { +static uint16_t handle_first_sign_chunk(const uint8_t *payload, + uint8_t length, + uint8_t *offset, + e_sign_mode mode) { uint8_t length_tmp = length; uint8_t tx_type; @@ -24,7 +30,8 @@ static uint16_t handle_first_sign_chunk(const uint8_t *payload, uint8_t length, tmpContent.txContent.dataPresent = false; dataContext.tokenContext.pluginStatus = ETH_PLUGIN_RESULT_UNAVAILABLE; - if (init_tx(&txContext, &global_sha3, &tmpContent.txContent) == false) { + if (init_tx(&txContext, &global_sha3, &tmpContent.txContent, mode == SIGN_MODE_STORE) == + false) { return APDU_RESPONSE_INVALID_DATA; } if (*offset >= length) { @@ -66,9 +73,12 @@ uint16_t handleSign(uint8_t p1, switch (p2) { case SIGN_MODE_BASIC: +#ifdef HAVE_GENERIC_TX_PARSER + case SIGN_MODE_STORE: +#endif switch (p1) { case P1_FIRST: - if ((sw = handle_first_sign_chunk(payload, length, &offset)) != + if ((sw = handle_first_sign_chunk(payload, length, &offset, p2)) != APDU_NO_RESPONSE) { return sw; } @@ -83,6 +93,19 @@ uint16_t handleSign(uint8_t p1, return APDU_RESPONSE_INVALID_P1_P2; } break; +#ifdef HAVE_GENERIC_TX_PARSER + case SIGN_MODE_START_FLOW: + if (appState != APP_STATE_SIGNING_TX) { + PRINTF("Signature not initialized\n"); + return APDU_RESPONSE_CONDITION_NOT_SATISFIED; + } + if (length != 0) { + return APDU_RESPONSE_INVALID_DATA; + } + // TODO: check hash + *flags |= IO_ASYNCH_REPLY; + return APDU_NO_RESPONSE; +#endif default: return APDU_RESPONSE_INVALID_P1_P2; } diff --git a/src_features/signTx/ethUstream.c b/src_features/signTx/ethUstream.c index fb10ee455..a31dce62a 100644 --- a/src_features/signTx/ethUstream.c +++ b/src_features/signTx/ethUstream.c @@ -54,11 +54,16 @@ static bool check_cmd_length(txContext_t *context, const char *name, uint32_t le return true; } -bool init_tx(txContext_t *context, cx_sha3_t *sha3, txContent_t *content) { +bool init_tx(txContext_t *context, cx_sha3_t *sha3, txContent_t *content, bool store_calldata) { explicit_bzero(context, sizeof(*context)); context->sha3 = sha3; context->content = content; context->currentField = RLP_NONE + 1; +#ifdef HAVE_GENERIC_TX_PARSER + context->store_calldata = store_calldata; +#else + UNUSED(store_calldata); +#endif if (cx_keccak_init_no_throw(context->sha3, 256) != CX_OK) { return false; } diff --git a/src_features/signTx/ethUstream.h b/src_features/signTx/ethUstream.h index 7f491a4d8..b30a5940c 100644 --- a/src_features/signTx/ethUstream.h +++ b/src_features/signTx/ethUstream.h @@ -118,9 +118,14 @@ typedef struct txContext_t { uint32_t commandLength; txContent_t *content; uint8_t txType; + bool rlp_size_known; + uint32_t remaining_rlp_size; +#ifdef HAVE_GENERIC_TX_PARSER + bool store_calldata; +#endif } txContext_t; -bool init_tx(txContext_t *context, cx_sha3_t *sha3, txContent_t *content); +bool init_tx(txContext_t *context, cx_sha3_t *sha3, txContent_t *content, bool store_calldata); parserStatus_e process_tx(txContext_t *context, const uint8_t *buffer, size_t length); parserStatus_e continueTx(txContext_t *context); bool copyTxData(txContext_t *context, uint8_t *out, uint32_t length); From 2c96cf88303dab9a5295f10d4065353d38a6aa23 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 21 Oct 2024 18:03:49 +0200 Subject: [PATCH 30/66] Now stores calldata in RAM --- src_features/generic_tx_parser/calldata.c | 65 +++++++++++++++++++++++ src_features/generic_tx_parser/calldata.h | 17 ++++++ src_features/signTx/ethUstream.c | 13 +++++ 3 files changed, 95 insertions(+) create mode 100644 src_features/generic_tx_parser/calldata.c create mode 100644 src_features/generic_tx_parser/calldata.h diff --git a/src_features/generic_tx_parser/calldata.c b/src_features/generic_tx_parser/calldata.c new file mode 100644 index 000000000..0b152f70f --- /dev/null +++ b/src_features/generic_tx_parser/calldata.c @@ -0,0 +1,65 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include "calldata.h" +#include "os_print.h" +#include "mem.h" + +typedef struct { + uint8_t *ptr; + size_t size; + size_t expected_size; +} s_calldata; + +static s_calldata g_calldata = {0}; + +bool calldata_init(size_t size) { + if ((g_calldata.ptr = mem_alloc(size)) == NULL) { + return false; + } + g_calldata.expected_size = size; + return true; +} + +bool calldata_append(const uint8_t *buffer, size_t size) { + if ((g_calldata.size + size) > g_calldata.expected_size) { + return false; + } + memcpy(&g_calldata.ptr[g_calldata.size], buffer, size); + g_calldata.size += size; + return true; +} + +void calldata_cleanup(void) { + mem_dealloc(g_calldata.size); + explicit_bzero(&g_calldata, sizeof(g_calldata)); +} + +static bool has_valid_calldata(const s_calldata *calldata) { + if (calldata->ptr == NULL) { + PRINTF("Error: no calldata!\n"); + return false; + } + if (g_calldata.size != g_calldata.expected_size) { + PRINTF("Error: incomplete calldata!\n"); + return false; + } + return true; +} + +const uint8_t *calldata_get_selector(void) { + if (!has_valid_calldata(&g_calldata) || (g_calldata.size < CALLDATA_SELECTOR_SIZE)) { + return NULL; + } + return g_calldata.ptr; +} + +const uint8_t *calldata_get_chunk(int idx) { + if (!has_valid_calldata(&g_calldata) || + (g_calldata.size < (CALLDATA_SELECTOR_SIZE + ((size_t) idx + 1) * CALLDATA_CHUNK_SIZE))) { + return NULL; + } + return &g_calldata.ptr[CALLDATA_SELECTOR_SIZE + (idx * CALLDATA_CHUNK_SIZE)]; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/calldata.h b/src_features/generic_tx_parser/calldata.h new file mode 100644 index 000000000..5a71a2b2d --- /dev/null +++ b/src_features/generic_tx_parser/calldata.h @@ -0,0 +1,17 @@ +#ifndef CALLDATA_H_ +#define CALLDATA_H_ + +#include +#include +#include + +#define CALLDATA_SELECTOR_SIZE 4 +#define CALLDATA_CHUNK_SIZE 32 + +bool calldata_init(size_t size); +bool calldata_append(const uint8_t *buffer, size_t size); +void calldata_cleanup(void); +const uint8_t *calldata_get_selector(void); +const uint8_t *calldata_get_chunk(int idx); + +#endif // !CALLDATA_H_ diff --git a/src_features/signTx/ethUstream.c b/src_features/signTx/ethUstream.c index a31dce62a..d0bc6dbaa 100644 --- a/src_features/signTx/ethUstream.c +++ b/src_features/signTx/ethUstream.c @@ -22,6 +22,9 @@ #include "rlp_utils.h" #include "common_utils.h" #include "feature_signTx.h" +#ifdef HAVE_GENERIC_TX_PARSER +#include "calldata.h" +#endif static bool check_fields(txContext_t *context, const char *name, uint32_t length) { UNUSED(name); // Just for the case where DEBUG is not enabled @@ -292,6 +295,16 @@ static bool processData(txContext_t *context) { if (copySize == 1 && *context->workBuffer == 0x00) { context->content->dataPresent = false; } +#ifdef HAVE_GENERIC_TX_PARSER + if (context->store_calldata) { + if (context->currentFieldPos == 0) { + if (!calldata_init(context->currentFieldLength)) { + return false; + } + } + calldata_append(context->workBuffer, copySize); + } +#endif if (copyTxData(context, NULL, copySize) == false) { return false; } From 4656df57a749f66820a5bd7d51b4a8545078fc28 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 22 Oct 2024 10:47:04 +0200 Subject: [PATCH 31/66] Now does not start the flow if in store calldata mode --- src_features/signTx/cmd_signTx.c | 2 +- src_features/signTx/feature_signTx.h | 2 +- src_features/signTx/logic_signTx.c | 37 +++++++++++++++++--------- src_features/signTx/ui_common_signTx.c | 2 +- 4 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index 69fa7b782..8e0b427f5 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -118,7 +118,7 @@ uint16_t handleSign(uint8_t p1, case USTREAM_SUSPENDED: break; case USTREAM_FINISHED: - sw = finalize_parsing(); + sw = finalize_parsing(&txContext); break; case USTREAM_PROCESSING: return APDU_RESPONSE_OK; diff --git a/src_features/signTx/feature_signTx.h b/src_features/signTx/feature_signTx.h index 9deb4173b..48ccdb463 100644 --- a/src_features/signTx/feature_signTx.h +++ b/src_features/signTx/feature_signTx.h @@ -28,7 +28,7 @@ typedef enum { } plugin_ui_state_t; customStatus_e customProcessor(txContext_t *context); -uint16_t finalize_parsing(void); +uint16_t finalize_parsing(const txContext_t *context); void ux_approve_tx(bool fromPlugin); void start_signature_flow(void); diff --git a/src_features/signTx/logic_signTx.c b/src_features/signTx/logic_signTx.c index ad07bc901..16c5dc088 100644 --- a/src_features/signTx/logic_signTx.c +++ b/src_features/signTx/logic_signTx.c @@ -13,6 +13,7 @@ #include "manage_asset_info.h" #include "handle_swap_sign_transaction.h" #include "os_math.h" +#include "calldata.h" static bool g_use_standard_ui; @@ -633,7 +634,7 @@ void start_signature_flow(void) { } } -uint16_t finalize_parsing(void) { +uint16_t finalize_parsing(const txContext_t *context) { uint16_t sw = APDU_RESPONSE_UNKNOWN; g_use_standard_ui = true; @@ -641,20 +642,32 @@ uint16_t finalize_parsing(void) { if (sw != APDU_RESPONSE_OK) { return sw; } - // If called from swap, the user has already validated a standard transaction - // And we have already checked the fields of this transaction above - if (G_called_from_swap && g_use_standard_ui) { - ui_idle(); - io_seproxyhal_touch_tx_ok(); +#ifdef HAVE_GENERIC_TX_PARSER + if (context->store_calldata) { + if (calldata_get_selector() == NULL) { + PRINTF("Asked to store calldata but none was provided!\n"); + return APDU_RESPONSE_INVALID_DATA; + } } else { +#else + (void) context; + { +#endif + // If called from swap, the user has already validated a standard transaction + // And we have already checked the fields of this transaction above + if (G_called_from_swap && g_use_standard_ui) { + ui_idle(); + io_seproxyhal_touch_tx_ok(); + } else { #ifdef HAVE_BAGL - // If blind-signing detected, start the warning flow beforehand - if (tmpContent.txContent.dataPresent) { - ui_warning_blind_signing(); - } else + // If blind-signing detected, start the warning flow beforehand + if (tmpContent.txContent.dataPresent) { + ui_warning_blind_signing(); + } else #endif - { - start_signature_flow(); + { + start_signature_flow(); + } } } return APDU_RESPONSE_OK; diff --git a/src_features/signTx/ui_common_signTx.c b/src_features/signTx/ui_common_signTx.c index 9e8b4713f..71fd16a97 100644 --- a/src_features/signTx/ui_common_signTx.c +++ b/src_features/signTx/ui_common_signTx.c @@ -80,7 +80,7 @@ unsigned int io_seproxyhal_touch_data_ok(void) { case USTREAM_SUSPENDED: break; case USTREAM_FINISHED: - err = finalize_parsing(); + err = finalize_parsing(&txContext); break; case USTREAM_PROCESSING: err = io_seproxyhal_send_status(APDU_RESPONSE_OK, 0, false, true); From 0f3272c8789fdb5aa4e12529f3c89211f3c643b9 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 4 Nov 2024 18:45:49 +0100 Subject: [PATCH 32/66] Added bytearray handling to format_tlv function in Python client --- client/src/ledger_app_clients/ethereum/tlv.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/ledger_app_clients/ethereum/tlv.py b/client/src/ledger_app_clients/ethereum/tlv.py index fd5dc109e..e7a5d4a89 100644 --- a/client/src/ledger_app_clients/ethereum/tlv.py +++ b/client/src/ledger_app_clients/ethereum/tlv.py @@ -9,12 +9,14 @@ def der_encode(value: int) -> bytes: return value_bytes -def format_tlv(tag: int, value: Union[int, str, bytes]) -> bytes: +def format_tlv(tag: int, value: Union[int, str, bytes, bytearray]) -> bytes: if isinstance(value, int): # max() to have minimum length of 1 value = value.to_bytes(max(1, (value.bit_length() + 7) // 8), 'big') elif isinstance(value, str): value = value.encode() + elif isinstance(value, bytearray): + value = bytes(value) assert isinstance(value, bytes), f"Unhandled TLV formatting for type : {type(value)}" From b606721041d419270627a4db2e10416a3654b8b9 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 31 Oct 2024 10:34:54 +0100 Subject: [PATCH 33/66] Commonize RLP parsing status handling --- src_features/signTx/cmd_signTx.c | 59 +++++++++++++++++--------- src_features/signTx/feature_signTx.h | 3 ++ src_features/signTx/ui_common_signTx.c | 22 ++-------- 3 files changed, 45 insertions(+), 39 deletions(-) diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index 8e0b427f5..e8645c68d 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -63,6 +63,36 @@ static uint16_t handle_first_sign_chunk(const uint8_t *payload, return APDU_NO_RESPONSE; } +uint16_t handle_parsing_status(parserStatus_e status) { + uint16_t sw = APDU_NO_RESPONSE; + + switch (status) { + case USTREAM_SUSPENDED: + break; + case USTREAM_FINISHED: + sw = finalize_parsing(&txContext); + break; + case USTREAM_PROCESSING: + sw = APDU_RESPONSE_OK; + break; + case USTREAM_FAULT: + if (G_called_from_swap) { + // We have encountered an error while trying to sign a SWAP type transaction + // Return dedicated error code and flag an early exit back to Exchange + G_swap_response_ready = true; + send_swap_error(ERROR_GENERIC, APP_CODE_CALLDATA_ISSUE, NULL, NULL); + // unreachable + os_sched_exit(0); + } + sw = APDU_RESPONSE_INVALID_DATA; + break; + default: + PRINTF("Unexpected parser status\n"); + sw = APDU_RESPONSE_INVALID_DATA; + } + return sw; +} + uint16_t handleSign(uint8_t p1, uint8_t p2, const uint8_t *payload, @@ -114,27 +144,14 @@ uint16_t handleSign(uint8_t p1, PRINTF("Parser not initialized\n"); return APDU_RESPONSE_CONDITION_NOT_SATISFIED; } - switch (process_tx(&txContext, &payload[offset], length - offset)) { - case USTREAM_SUSPENDED: - break; - case USTREAM_FINISHED: - sw = finalize_parsing(&txContext); - break; - case USTREAM_PROCESSING: - return APDU_RESPONSE_OK; - case USTREAM_FAULT: - if (G_called_from_swap) { - // We have encountered an error while trying to sign a SWAP type transaction - // Return dedicated error code and flag an early exit back to Exchange - G_swap_response_ready = true; - send_swap_error(ERROR_GENERIC, APP_CODE_CALLDATA_ISSUE, NULL, NULL); - // unreachable - os_sched_exit(0); - } - return APDU_RESPONSE_INVALID_DATA; - default: - PRINTF("Unexpected parser status\n"); - return APDU_RESPONSE_INVALID_DATA; + parserStatus_e pstatus = process_tx(&txContext, &payload[offset], length - offset); + sw = handle_parsing_status(pstatus); + if ((pstatus == USTREAM_FINISHED) && (sw == APDU_RESPONSE_OK)) { + // don't respond now, will be done after review + sw = APDU_NO_RESPONSE; + } + if (sw != APDU_NO_RESPONSE) { + return sw; } *flags |= IO_ASYNCH_REPLY; diff --git a/src_features/signTx/feature_signTx.h b/src_features/signTx/feature_signTx.h index 48ccdb463..dd953edac 100644 --- a/src_features/signTx/feature_signTx.h +++ b/src_features/signTx/feature_signTx.h @@ -1,6 +1,7 @@ #ifndef _SIGN_TX_H_ #define _SIGN_TX_H_ +#include #include #include "ethUstream.h" @@ -34,4 +35,6 @@ void start_signature_flow(void); void send_swap_error(uint8_t error_code, app_code_t app_code, const char *str1, const char *str2); +uint16_t handle_parsing_status(parserStatus_e status); + #endif // _SIGN_TX_H_ diff --git a/src_features/signTx/ui_common_signTx.c b/src_features/signTx/ui_common_signTx.c index 71fd16a97..6a6cf7ea2 100644 --- a/src_features/signTx/ui_common_signTx.c +++ b/src_features/signTx/ui_common_signTx.c @@ -73,26 +73,12 @@ unsigned int io_seproxyhal_touch_tx_cancel(void) { } unsigned int io_seproxyhal_touch_data_ok(void) { - parserStatus_e txResult = USTREAM_FINISHED; - txResult = continueTx(&txContext); unsigned int err = 0; - switch (txResult) { - case USTREAM_SUSPENDED: - break; - case USTREAM_FINISHED: - err = finalize_parsing(&txContext); - break; - case USTREAM_PROCESSING: - err = io_seproxyhal_send_status(APDU_RESPONSE_OK, 0, false, true); - break; - case USTREAM_FAULT: - err = io_seproxyhal_send_status(APDU_RESPONSE_INVALID_DATA, 0, true, true); - break; - default: - PRINTF("Unexpected parser status\n"); - err = io_seproxyhal_send_status(APDU_RESPONSE_INVALID_DATA, 0, true, true); + parserStatus_e pstatus = continueTx(&txContext); + uint16_t sw = handle_parsing_status(pstatus); + if ((pstatus != USTREAM_SUSPENDED) && (pstatus != USTREAM_FINISHED)) { + err = io_seproxyhal_send_status(sw, 0, sw != APDU_RESPONSE_OK, true); } - return err; } From 6b3e7eca5439672c8993106bd052fc506a10b555 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 31 Oct 2024 11:51:06 +0100 Subject: [PATCH 34/66] Prevent plugin init when in store mode --- src_features/signTx/logic_signTx.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src_features/signTx/logic_signTx.c b/src_features/signTx/logic_signTx.c index 16c5dc088..649d69159 100644 --- a/src_features/signTx/logic_signTx.c +++ b/src_features/signTx/logic_signTx.c @@ -61,12 +61,18 @@ customStatus_e customProcessor(txContext_t *context) { // If contract debugging mode is activated, do not go through the plugin activation // as they wouldn't be displayed if the plugin consumes all data but fallbacks // Still go through plugin activation in Swap context - if (!N_storage.contractDetails || G_called_from_swap) { - eth_plugin_prepare_init(&pluginInit, - context->workBuffer, - context->currentFieldLength); - dataContext.tokenContext.pluginStatus = - eth_plugin_perform_init(tmpContent.txContent.destination, &pluginInit); +#ifdef HAVE_GENERIC_TX_PARSER + if (!context->store_calldata) { +#else + { +#endif + if (!N_storage.contractDetails || G_called_from_swap) { + eth_plugin_prepare_init(&pluginInit, + context->workBuffer, + context->currentFieldLength); + dataContext.tokenContext.pluginStatus = + eth_plugin_perform_init(tmpContent.txContent.destination, &pluginInit); + } } PRINTF("pluginstatus %d\n", dataContext.tokenContext.pluginStatus); eth_plugin_result_t status = dataContext.tokenContext.pluginStatus; From 397d0e665f18c689793d4181304fd731df1a67e7 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 31 Oct 2024 11:56:02 +0100 Subject: [PATCH 35/66] Fix blind signing warning in store mode --- src_features/signTx/logic_signTx.c | 35 ++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src_features/signTx/logic_signTx.c b/src_features/signTx/logic_signTx.c index 649d69159..3c21a3ccd 100644 --- a/src_features/signTx/logic_signTx.c +++ b/src_features/signTx/logic_signTx.c @@ -94,10 +94,16 @@ customStatus_e customProcessor(txContext_t *context) { uint32_t copySize; uint32_t fieldPos = context->currentFieldPos; if (fieldPos == 0) { // not reached if a plugin is available - if (!N_storage.dataAllowed) { - PRINTF("Data field forbidden\n"); - ui_error_blind_signing(); - return CUSTOM_FAULT; +#ifdef HAVE_GENERIC_TX_PARSER + if (!context->store_calldata) { +#else + { +#endif + if (!N_storage.dataAllowed) { + PRINTF("Data field forbidden\n"); + ui_error_blind_signing(); + return CUSTOM_FAULT; + } } if (!N_storage.contractDetails) { return CUSTOM_NOT_HANDLED; @@ -382,7 +388,7 @@ __attribute__((noreturn)) void send_swap_error(uint8_t error_code, finalize_exchange_sign_transaction(false); } -__attribute__((noinline)) static uint16_t finalize_parsing_helper(void) { +__attribute__((noinline)) static uint16_t finalize_parsing_helper(const txContext_t *context) { char displayBuffer[50]; uint8_t decimals = WEI_TO_ETHER; uint64_t chain_id = get_tx_chain_id(); @@ -529,11 +535,18 @@ __attribute__((noinline)) static uint16_t finalize_parsing_helper(void) { } } - if (tmpContent.txContent.dataPresent && !N_storage.dataAllowed) { - PRINTF("Data is present but not allowed\n"); - report_finalize_error(); - ui_error_blind_signing(); - return false; +#ifdef HAVE_GENERIC_TX_PARSER + if (!context->store_calldata) { +#else + (void) context; + { +#endif + if (tmpContent.txContent.dataPresent && !N_storage.dataAllowed) { + PRINTF("Data is present but not allowed\n"); + report_finalize_error(); + ui_error_blind_signing(); + return false; + } } // Prepare destination address and amount to display @@ -644,7 +657,7 @@ uint16_t finalize_parsing(const txContext_t *context) { uint16_t sw = APDU_RESPONSE_UNKNOWN; g_use_standard_ui = true; - sw = finalize_parsing_helper(); + sw = finalize_parsing_helper(context); if (sw != APDU_RESPONSE_OK) { return sw; } From 41cfa3be048deca057a4f0fe4dfc7e65169f47e5 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Thu, 31 Oct 2024 11:56:56 +0100 Subject: [PATCH 36/66] Store mode now sends RAPDU immediately when finished parsing --- src_features/signTx/cmd_signTx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index e8645c68d..df74041aa 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -146,9 +146,11 @@ uint16_t handleSign(uint8_t p1, } parserStatus_e pstatus = process_tx(&txContext, &payload[offset], length - offset); sw = handle_parsing_status(pstatus); - if ((pstatus == USTREAM_FINISHED) && (sw == APDU_RESPONSE_OK)) { - // don't respond now, will be done after review - sw = APDU_NO_RESPONSE; + if (p2 == SIGN_MODE_BASIC) { + if ((pstatus == USTREAM_FINISHED) && (sw == APDU_RESPONSE_OK)) { + // don't respond now, will be done after review + sw = APDU_NO_RESPONSE; + } } if (sw != APDU_NO_RESPONSE) { return sw; From 79f5a6eb7d18e9c244379292bd51013d1297309e Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 3 Dec 2024 18:43:35 +0100 Subject: [PATCH 37/66] New util functions for string and buffer manipulation + SET_BIT macro --- src/utils.c | 31 +++++++++++++++++++++++++++++++ src/utils.h | 11 +++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/utils.c create mode 100644 src/utils.h diff --git a/src/utils.c b/src/utils.c new file mode 100644 index 000000000..012f351ff --- /dev/null +++ b/src/utils.c @@ -0,0 +1,31 @@ +#include +#include "utils.h" + +void buf_shrink_expand(const uint8_t *src, size_t src_size, uint8_t *dst, size_t dst_size) { + size_t src_off; + size_t dst_off; + + if (src_size > dst_size) { + src_off = src_size - dst_size; + dst_off = 0; + } else { + src_off = 0; + dst_off = dst_size - src_size; + explicit_bzero(dst, dst_off); + } + memcpy(&dst[dst_off], &src[src_off], dst_size - dst_off); +} + +void str_cpy_explicit_trunc(const char *src, size_t src_size, char *dst, size_t dst_size) { + size_t off; + const char trunc_marker[] = "..."; + + if (src_size < dst_size) { + memcpy(dst, src, src_size); + dst[src_size] = '\0'; + } else { + off = dst_size - sizeof(trunc_marker); + memcpy(dst, src, off); + memcpy(&dst[off], trunc_marker, sizeof(trunc_marker)); + } +} diff --git a/src/utils.h b/src/utils.h new file mode 100644 index 000000000..20e2c99b2 --- /dev/null +++ b/src/utils.h @@ -0,0 +1,11 @@ +#ifndef UTILS_H_ +#define UTILS_H_ + +#include + +#define SET_BIT(a) (1 << a) + +void buf_shrink_expand(const uint8_t *src, size_t src_size, uint8_t *dst, size_t dst_size); +void str_cpy_explicit_trunc(const char *src, size_t src_size, char *dst, size_t dst_size); + +#endif // !UTILS_H_ From e2dff527b75596c3257b3a776070c0ee8ccb1a96 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 23 Oct 2024 11:41:14 +0200 Subject: [PATCH 38/66] New non feature-specific TLV parser --- src/tlv.c | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/tlv.h | 24 +++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 src/tlv.c create mode 100644 src/tlv.h diff --git a/src/tlv.c b/src/tlv.c new file mode 100644 index 000000000..7cc1cca87 --- /dev/null +++ b/src/tlv.c @@ -0,0 +1,106 @@ +#include +#include +#include "tlv.h" +#include "os_print.h" // PRINTF +#include "read.h" // read_u32_be + +typedef enum { TLV_STATE_TAG, TLV_STATE_LENGTH, TLV_STATE_VALUE } e_tlv_state; + +#define DER_LONG_FORM_FLAG 0x80 // 8th bit set +#define DER_FIRST_BYTE_VALUE_MASK 0x7f + +static bool parse_der_value(const uint8_t *payload, + uint16_t size, + uint16_t *offset, + uint32_t *value) { + uint8_t byte_length; + uint8_t buf[sizeof(*value)]; + + if (value == NULL) { + return false; + } + if (payload[*offset] & DER_LONG_FORM_FLAG) { // long form + byte_length = payload[*offset] & DER_FIRST_BYTE_VALUE_MASK; + *offset += 1; + if ((*offset + byte_length) > size) { + PRINTF("TLV payload too small for DER encoded value\n"); + return false; + } + if ((byte_length > sizeof(buf)) || (byte_length == 0)) { + PRINTF("Unexpectedly long DER-encoded value (%u bytes)\n", byte_length); + return false; + } + memset(buf, 0, (sizeof(buf) - byte_length)); + memcpy(buf + (sizeof(buf) - byte_length), &payload[*offset], byte_length); + *value = read_u32_be(buf, 0); + *offset += byte_length; + } else { // short form + *value = payload[*offset]; + *offset += 1; + } + return true; +} + +/** + * Parse a TLV payload + * + * @param[in] payload pointer to TLV payload + * @param[in] size size of the given payload + * @param[in] handler function to be called for each TLV data + * @param[in,out] context structure passed to the handler function so the context from one handler + * invocation to the next can be kept + * @return whether the parsing (and handling) was successful or not + */ +bool tlv_parse(const uint8_t *payload, uint16_t size, f_tlv_data_handler handler, void *context) { + e_tlv_state state = TLV_STATE_TAG; + uint16_t offset = 0; + uint32_t tmp_value; + s_tlv_data data; + + while (offset < size) { + switch (state) { + case TLV_STATE_TAG: + data.raw = &payload[offset]; + if (!parse_der_value(payload, size, &offset, &tmp_value) || + (tmp_value > UINT8_MAX)) { + return false; + } + data.tag = (uint8_t) tmp_value; + state = TLV_STATE_LENGTH; + break; + + case TLV_STATE_LENGTH: + if (!parse_der_value(payload, size, &offset, &tmp_value) || + (tmp_value > UINT16_MAX)) { + return false; + } + data.length = (uint16_t) tmp_value; + data.value = &payload[offset]; + state = (data.length > 0) ? TLV_STATE_VALUE : TLV_STATE_TAG; + break; + + case TLV_STATE_VALUE: + if ((offset + data.length) > size) { + PRINTF("Error: value would go beyond the TLV payload!\n"); + return false; + } + offset += data.length; + state = TLV_STATE_TAG; + break; + + default: + return false; + } + + // back to TAG, call the handler function + if ((state == TLV_STATE_TAG) && (handler != NULL)) { + data.raw_size = (&payload[offset] - data.raw); + if (!(*handler)(&data, context)) { + PRINTF("Error: failed in handler of tag 0x%02x\n", data.tag); + return false; + } + } + } + // make sure the payload didn't end prematurely + return state == TLV_STATE_TAG; +} diff --git a/src/tlv.h b/src/tlv.h new file mode 100644 index 000000000..c41d67c66 --- /dev/null +++ b/src/tlv.h @@ -0,0 +1,24 @@ +#ifndef TLV_H_ +#define TLV_H_ + +#include +#include + +#define TLV_TAG_ERROR_MSG "Error: Unknown TLV tag (0x%02x)\n" + +typedef struct { + uint8_t tag; // T + uint16_t length; // L + const uint8_t *value; // V + + // in case the handler needs to do some processing on the raw TLV-encoded data (like computing a + // signature) + const uint8_t *raw; + uint16_t raw_size; +} s_tlv_data; + +typedef bool (*f_tlv_data_handler)(const s_tlv_data *, void *); + +bool tlv_parse(const uint8_t *payload, uint16_t size, f_tlv_data_handler handler, void *context); + +#endif // !TLV_H_ From 118d237503c0990aa464506234df8b640a8d6708 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 6 Dec 2024 14:34:46 +0100 Subject: [PATCH 39/66] util function to extract TLV from an APDU --- src/tlv_apdu.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/tlv_apdu.h | 14 ++++++++ 2 files changed, 104 insertions(+) create mode 100644 src/tlv_apdu.c create mode 100644 src/tlv_apdu.h diff --git a/src/tlv_apdu.c b/src/tlv_apdu.c new file mode 100644 index 000000000..a8bc02f76 --- /dev/null +++ b/src/tlv_apdu.c @@ -0,0 +1,90 @@ +#include +#include "tlv_apdu.h" +#include "read.h" +#ifdef HAVE_DYN_MEM_ALLOC +#include "mem.h" +#endif +#include "os_print.h" + +#ifdef HAVE_DYN_MEM_ALLOC +static uint8_t *g_tlv_payload = NULL; +static uint16_t g_tlv_size; +static uint16_t g_tlv_pos; +static bool g_dyn; +#endif + +bool tlv_from_apdu(bool first_chunk, + uint8_t lc, + const uint8_t *payload, + f_tlv_payload_handler handler) { +#ifndef HAVE_DYN_MEM_ALLOC + uint16_t g_tlv_size = 0; + uint16_t g_tlv_pos = 0; +#endif + bool ret = true; + uint8_t offset = 0; + uint8_t chunk_length; + + if (first_chunk) { + if ((offset + sizeof(g_tlv_size)) > lc) { + return false; + } + g_tlv_size = read_u16_be(payload, offset); + offset += sizeof(g_tlv_size); + g_tlv_pos = 0; + if (g_tlv_size > (lc - offset)) { +#ifdef HAVE_DYN_MEM_ALLOC + if (g_tlv_payload != NULL) { + PRINTF("Error: remnants from an incomplete TLV payload!\n"); + mem_dealloc(g_tlv_size); + g_tlv_payload = NULL; + return false; + } + + g_dyn = true; + g_tlv_payload = mem_alloc(g_tlv_size); + } else { + g_dyn = false; +#else + PRINTF( + "Error: cannot handle a TLV payload accross multiple APDUs without dynamic memory " + "allocator\n"); + return false; +#endif + } + } +#ifdef HAVE_DYN_MEM_ALLOC + if (g_dyn && (g_tlv_payload == NULL)) { + return false; + } +#endif + chunk_length = lc - offset; + if ((g_tlv_pos + chunk_length) > g_tlv_size) { + PRINTF("TLV payload bigger than expected!\n"); +#ifdef HAVE_DYN_MEM_ALLOC + if (g_dyn) { + mem_dealloc(g_tlv_size); + g_tlv_payload = NULL; + } +#endif + return false; + } + +#ifdef HAVE_DYN_MEM_ALLOC + if (g_dyn) { + memcpy(g_tlv_payload + g_tlv_pos, payload + offset, chunk_length); + } +#endif + + g_tlv_pos += chunk_length; + + if (g_tlv_pos == g_tlv_size) { +#ifdef HAVE_DYN_MEM_ALLOC + ret = (*handler)(g_dyn ? g_tlv_payload : &payload[offset], g_tlv_size, g_dyn); + g_tlv_payload = NULL; +#else + ret = (*handler)(&payload[offset], g_tlv_size, false); +#endif + } + return ret; +} diff --git a/src/tlv_apdu.h b/src/tlv_apdu.h new file mode 100644 index 000000000..5c831ef0d --- /dev/null +++ b/src/tlv_apdu.h @@ -0,0 +1,14 @@ +#ifndef TLV_APDU_H_ +#define TLV_APDU_H_ + +#include +#include + +typedef bool (*f_tlv_payload_handler)(const uint8_t *payload, uint16_t size, bool to_free); + +bool tlv_from_apdu(bool first_chunk, + uint8_t lc, + const uint8_t *payload, + f_tlv_payload_handler handler); + +#endif // !TLV_APDU_H_ From 67f6e962b784248169cc0151a0981ad2535ec958 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 6 Dec 2024 18:35:09 +0100 Subject: [PATCH 40/66] Provide enum value APDU implementation --- makefile_conf/features.mk | 1 + src/apdu_constants.h | 1 + src/main.c | 7 + .../provide_enum_value/cmd_enum_value.c | 34 ++++ .../provide_enum_value/cmd_enum_value.h | 8 + src_features/provide_enum_value/enum_value.c | 184 ++++++++++++++++++ src_features/provide_enum_value/enum_value.h | 39 ++++ 7 files changed, 274 insertions(+) create mode 100644 src_features/provide_enum_value/cmd_enum_value.c create mode 100644 src_features/provide_enum_value/cmd_enum_value.h create mode 100644 src_features/provide_enum_value/enum_value.c create mode 100644 src_features/provide_enum_value/enum_value.h diff --git a/makefile_conf/features.mk b/makefile_conf/features.mk index ef5b86bdf..b56dc9fee 100644 --- a/makefile_conf/features.mk +++ b/makefile_conf/features.mk @@ -37,6 +37,7 @@ ifneq ($(TARGET_NAME),TARGET_NANOS) endif ifneq ($(TARGET_NAME),TARGET_NANOS) + DEFINES += HAVE_ENUM_VALUE DEFINES += HAVE_GENERIC_TX_PARSER endif diff --git a/src/apdu_constants.h b/src/apdu_constants.h index d523e8184..a91e26c9b 100644 --- a/src/apdu_constants.h +++ b/src/apdu_constants.h @@ -25,6 +25,7 @@ #define INS_EIP712_FILTERING 0x1E #define INS_ENS_GET_CHALLENGE 0x20 #define INS_ENS_PROVIDE_INFO 0x22 +#define INS_PROVIDE_ENUM_VALUE 0x24 #define INS_PROVIDE_NETWORK_CONFIGURATION 0x30 #define P1_CONFIRM 0x01 #define P1_NON_CONFIRM 0x00 diff --git a/src/main.c b/src/main.c index 8706f6bbc..19bd36865 100644 --- a/src/main.c +++ b/src/main.c @@ -39,6 +39,7 @@ #ifdef HAVE_DYN_MEM_ALLOC #include "mem.h" #endif +#include "cmd_enum_value.h" tmpCtx_t tmpCtx; txContext_t txContext; @@ -235,6 +236,12 @@ static uint16_t handleApdu(command_t *cmd, uint32_t *flags, uint32_t *tx) { break; #endif // HAVE_TRUSTED_NAME +#ifdef HAVE_ENUM_VALUE + case INS_PROVIDE_ENUM_VALUE: + sw = handle_enum_value(cmd->p1, cmd->p2, cmd->lc, cmd->data); + break; +#endif // HAVE_ENUM_VALUE + default: sw = APDU_RESPONSE_INVALID_INS; break; diff --git a/src_features/provide_enum_value/cmd_enum_value.c b/src_features/provide_enum_value/cmd_enum_value.c new file mode 100644 index 000000000..33bc68bd8 --- /dev/null +++ b/src_features/provide_enum_value/cmd_enum_value.c @@ -0,0 +1,34 @@ +#ifdef HAVE_ENUM_VALUE + +#include +#include "cmd_enum_value.h" +#include "apdu_constants.h" +#include "read.h" +#include "mem.h" +#include "enum_value.h" +#include "tlv_apdu.h" +#include "tlv.h" + +bool handle_tlv_payload(const uint8_t *payload, uint16_t size, bool to_free) { + s_enum_value_ctx ctx = {0}; + + cx_sha256_init(&ctx.struct_hash); + if (!tlv_parse(payload, size, (f_tlv_data_handler) &handle_enum_value_struct, &ctx)) { + return false; + } + if (to_free) mem_dealloc(sizeof(size)); + if (!verify_enum_value_struct(&ctx)) { + return false; + } + return true; +} + +uint16_t handle_enum_value(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload) { + (void) p2; + if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { + return APDU_RESPONSE_INVALID_DATA; + } + return APDU_RESPONSE_OK; +} + +#endif // HAVE_ENUM_VALUE diff --git a/src_features/provide_enum_value/cmd_enum_value.h b/src_features/provide_enum_value/cmd_enum_value.h new file mode 100644 index 000000000..ea28eb98f --- /dev/null +++ b/src_features/provide_enum_value/cmd_enum_value.h @@ -0,0 +1,8 @@ +#ifndef CMD_ENUM_VALUE_H_ +#define CMD_ENUM_VALUE_H_ + +#include + +uint16_t handle_enum_value(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload); + +#endif // !CMD_ENUM_VALUE_H_ diff --git a/src_features/provide_enum_value/enum_value.c b/src_features/provide_enum_value/enum_value.c new file mode 100644 index 000000000..64cf2fc30 --- /dev/null +++ b/src_features/provide_enum_value/enum_value.c @@ -0,0 +1,184 @@ +#ifdef HAVE_ENUM_VALUE + +#include +#include "enum_value.h" +#include "read.h" +#include "public_keys.h" +#include "utils.h" + +enum { + TAG_VERSION = 0x00, + TAG_CHAIN_ID = 0x01, + TAG_CONTRACT_ADDR = 0x02, + TAG_SELECTOR = 0x03, + TAG_ID = 0x04, + TAG_VALUE = 0x05, + TAG_NAME = 0x06, + TAG_SIGNATURE = 0xff, +}; + +static s_enum_value_entry g_enum_value = {0}; + +static bool handle_version(const s_tlv_data *data, s_enum_value_ctx *context) { + if (data->length != sizeof(context->enum_value.version)) { + return false; + } + context->enum_value.version = data->value[0]; + return true; +} + +static bool handle_chain_id(const s_tlv_data *data, s_enum_value_ctx *context) { + uint8_t buf[sizeof(context->enum_value.entry.chain_id)]; + + if (data->length > sizeof(buf)) { + return false; + } + buf_shrink_expand(data->value, data->length, buf, sizeof(buf)); + context->enum_value.entry.chain_id = read_u64_be(buf, 0); + return true; +} + +static bool handle_contract_addr(const s_tlv_data *data, s_enum_value_ctx *context) { + if (data->length > sizeof(context->enum_value.entry.contract_addr)) { + return false; + } + buf_shrink_expand(data->value, + data->length, + context->enum_value.entry.contract_addr, + sizeof(context->enum_value.entry.contract_addr)); + return true; +} + +static bool handle_selector(const s_tlv_data *data, s_enum_value_ctx *context) { + if (data->length > sizeof(context->enum_value.entry.selector)) { + return false; + } + buf_shrink_expand(data->value, + data->length, + context->enum_value.entry.selector, + sizeof(context->enum_value.entry.selector)); + return true; +} + +static bool handle_id(const s_tlv_data *data, s_enum_value_ctx *context) { + if (data->length != sizeof(context->enum_value.entry.id)) { + return false; + } + context->enum_value.entry.id = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_enum_value_ctx *context) { + if (data->length != sizeof(context->enum_value.entry.value)) { + return false; + } + context->enum_value.entry.value = data->value[0]; + return true; +} + +static bool handle_name(const s_tlv_data *data, s_enum_value_ctx *context) { + str_cpy_explicit_trunc((const char *) data->value, + data->length, + context->enum_value.entry.name, + sizeof(context->enum_value.entry.name)); + return true; +} + +static bool handle_signature(const s_tlv_data *data, s_enum_value_ctx *context) { + if (data->length > sizeof(context->enum_value.signature)) { + return false; + } + context->enum_value.signature_length = data->length; + memcpy(context->enum_value.signature, data->value, data->length); + return true; +} + +bool handle_enum_value_struct(const s_tlv_data *data, s_enum_value_ctx *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_CHAIN_ID: + ret = handle_chain_id(data, context); + break; + case TAG_CONTRACT_ADDR: + ret = handle_contract_addr(data, context); + break; + case TAG_SELECTOR: + ret = handle_selector(data, context); + break; + case TAG_ID: + ret = handle_id(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + case TAG_NAME: + ret = handle_name(data, context); + break; + case TAG_SIGNATURE: + ret = handle_signature(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + if (ret && (data->tag != TAG_SIGNATURE)) { + if (cx_hash_no_throw((cx_hash_t *) &context->struct_hash, + 0, + data->raw, + data->raw_size, + NULL, + 0) != CX_OK) { + return false; + } + } + return ret; +} + +bool verify_enum_value_struct(const s_enum_value_ctx *context) { + uint8_t hash[INT256_LENGTH]; + + if (cx_hash_no_throw((cx_hash_t *) &context->struct_hash, + CX_LAST, + NULL, + 0, + hash, + sizeof(hash)) != CX_OK) { + PRINTF("Could not finalize struct hash!\n"); + return false; + } + // TODO: change to LEDGER_CALLDATA_DESCRIPTOR key once available + if (check_signature_with_pubkey("enum value", + hash, + sizeof(hash), + LEDGER_SIGNATURE_PUBLIC_KEY, + sizeof(LEDGER_SIGNATURE_PUBLIC_KEY), +#ifdef HAVE_LEDGER_PKI + CERTIFICATE_PUBLIC_KEY_USAGE_COIN_META, +#endif + (uint8_t *) context->enum_value.signature, + context->enum_value.signature_length) != CX_OK) { + return false; + } + memcpy(&g_enum_value, &context->enum_value.entry, sizeof(g_enum_value)); + return true; +} + +const char *get_matching_enum_name(const uint64_t *chain_id, + const uint8_t *contract_addr, + const uint8_t *selector, + uint8_t id, + uint8_t value) { + if ((*chain_id == g_enum_value.chain_id) && + (memcmp(contract_addr, g_enum_value.contract_addr, ADDRESS_LENGTH) == 0) && + (memcmp(selector, g_enum_value.selector, SELECTOR_SIZE) == 0) && (id == g_enum_value.id) && + (value == g_enum_value.value)) { + return g_enum_value.name; + } + return NULL; +} + +#endif // HAVE_ENUM_VALUE diff --git a/src_features/provide_enum_value/enum_value.h b/src_features/provide_enum_value/enum_value.h new file mode 100644 index 000000000..0ce6a64c2 --- /dev/null +++ b/src_features/provide_enum_value/enum_value.h @@ -0,0 +1,39 @@ +#ifndef ENUM_VALUE_H_ +#define ENUM_VALUE_H_ + +#include +#include "common_utils.h" // ADDRESS_LENGTH +#include "plugin_utils.h" // SELECTOR_SIZE +#include "tlv.h" +#include "cx.h" + +typedef struct { + uint64_t chain_id; + uint8_t contract_addr[ADDRESS_LENGTH]; + uint8_t selector[SELECTOR_SIZE]; + uint8_t id; + uint8_t value; + char name[21]; +} s_enum_value_entry; + +typedef struct { + uint8_t version; + s_enum_value_entry entry; + uint8_t signature_length; + uint8_t signature[73]; +} s_enum_value; + +typedef struct { + s_enum_value enum_value; + cx_sha256_t struct_hash; +} s_enum_value_ctx; + +bool handle_enum_value_struct(const s_tlv_data *data, s_enum_value_ctx *context); +bool verify_enum_value_struct(const s_enum_value_ctx *context); +const char *get_matching_enum_name(const uint64_t *chain_id, + const uint8_t *contract_addr, + const uint8_t *selector, + uint8_t id, + uint8_t value); + +#endif // !ENUM_VALUE_H_ From c8379050658444e9e24b27d22b5c5189b2f621bf Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 2 Dec 2024 15:41:51 +0100 Subject: [PATCH 41/66] Added provide_enum_value APDU in Python client --- .../src/ledger_app_clients/ethereum/client.py | 6 ++ .../ethereum/command_builder.py | 20 ++++++- .../ledger_app_clients/ethereum/enum_value.py | 59 +++++++++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 client/src/ledger_app_clients/ethereum/enum_value.py diff --git a/client/src/ledger_app_clients/ethereum/client.py b/client/src/ledger_app_clients/ethereum/client.py index 8fdc693af..e6611dee9 100644 --- a/client/src/ledger_app_clients/ethereum/client.py +++ b/client/src/ledger_app_clients/ethereum/client.py @@ -530,3 +530,9 @@ def provide_network_information(self, assert response.status == StatusWord.OK response = self._exchange(chunks[-1]) assert response.status == StatusWord.OK + + def provide_enum_value(self, payload: bytes) -> RAPDU: + chunks = self._cmd_builder.provide_enum_value(payload) + for chunk in chunks[:-1]: + self._exchange(chunk) + return self._exchange(chunks[-1]) diff --git a/client/src/ledger_app_clients/ethereum/command_builder.py b/client/src/ledger_app_clients/ethereum/command_builder.py index c43fe9462..240b8edea 100644 --- a/client/src/ledger_app_clients/ethereum/command_builder.py +++ b/client/src/ledger_app_clients/ethereum/command_builder.py @@ -15,6 +15,7 @@ class InsType(IntEnum): SIGN = 0x04 PERSONAL_SIGN = 0x08 PROVIDE_ERC20_TOKEN_INFORMATION = 0x0a + EXTERNAL_PLUGIN_SETUP = 0x12 PROVIDE_NFT_INFORMATION = 0x14 SET_PLUGIN = 0x16 PERFORM_PRIVACY_OPERATION = 0x18 @@ -24,7 +25,7 @@ class InsType(IntEnum): EIP712_SIGN = 0x0c GET_CHALLENGE = 0x20 PROVIDE_TRUSTED_NAME = 0x22 - EXTERNAL_PLUGIN_SETUP = 0x12 + PROVIDE_ENUM_VALUE = 0x24 PROVIDE_NETWORK_INFORMATION = 0x30 @@ -427,3 +428,20 @@ def provide_network_information(self, icon = icon[0xff:] p1 = P1Type.FOLLOWING_CHUNK return chunks + + def common_tlv_serialize(self, tlv_payload: bytes, ins: InsType) -> list[bytes]: + chunks = list() + payload = struct.pack(">H", len(tlv_payload)) + payload += tlv_payload + p1 = 1 + while len(payload) > 0: + chunks.append(self._serialize(ins, + p1, + 0x00, + payload[:0xff])) + payload = payload[0xff:] + p1 = 0 + return chunks + + def provide_enum_value(self, tlv_payload: bytes) -> list[bytes]: + return self.common_tlv_serialize(tlv_payload, InsType.PROVIDE_ENUM_VALUE) diff --git a/client/src/ledger_app_clients/ethereum/enum_value.py b/client/src/ledger_app_clients/ethereum/enum_value.py new file mode 100644 index 000000000..84febcfa2 --- /dev/null +++ b/client/src/ledger_app_clients/ethereum/enum_value.py @@ -0,0 +1,59 @@ +from enum import IntEnum +from typing import Optional +from .tlv import format_tlv +from .keychain import sign_data, Key + + +class Tag(IntEnum): + VERSION = 0x00 + CHAIN_ID = 0x01 + CONTRACT_ADDR = 0x02 + SELECTOR = 0x03 + ID = 0x04 + VALUE = 0x05 + NAME = 0x06 + SIGNATURE = 0xff + + +class EnumValue: + version: int + chain_id: int + contract_addr: bytes + selector: bytes + id: int + value: int + name: str + signature: Optional[bytes] = None + + def __init__(self, + version: int, + chain_id: int, + contract_addr: bytes, + selector: bytes, + id: int, + value: int, + name: str, + signature: Optional[bytes] = None): + self.version = version + self.chain_id = chain_id + self.contract_addr = contract_addr + self.selector = selector + self.id = id + self.value = value + self.name = name + self.signature = signature + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(Tag.VERSION, self.version) + payload += format_tlv(Tag.CHAIN_ID, self.chain_id) + payload += format_tlv(Tag.CONTRACT_ADDR, self.contract_addr) + payload += format_tlv(Tag.SELECTOR, self.selector) + payload += format_tlv(Tag.ID, self.id) + payload += format_tlv(Tag.VALUE, self.value) + payload += format_tlv(Tag.NAME, self.name) + sig = self.signature + if sig is None: + sig = sign_data(Key.CAL, payload) + payload += format_tlv(Tag.SIGNATURE, sig) + return payload From e7401010368eeef93989268aeb7d63f22b35025a Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 2 Dec 2024 15:42:26 +0100 Subject: [PATCH 42/66] GTP APDU handling --- src/apdu_constants.h | 2 ++ src/main.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/apdu_constants.h b/src/apdu_constants.h index a91e26c9b..22a4eda3d 100644 --- a/src/apdu_constants.h +++ b/src/apdu_constants.h @@ -26,6 +26,8 @@ #define INS_ENS_GET_CHALLENGE 0x20 #define INS_ENS_PROVIDE_INFO 0x22 #define INS_PROVIDE_ENUM_VALUE 0x24 +#define INS_GTP_TRANSACTION_INFO 0x26 +#define INS_GTP_FIELD 0x28 #define INS_PROVIDE_NETWORK_CONFIGURATION 0x30 #define P1_CONFIRM 0x01 #define P1_NON_CONFIRM 0x00 diff --git a/src/main.c b/src/main.c index 19bd36865..636c9a2c3 100644 --- a/src/main.c +++ b/src/main.c @@ -242,6 +242,16 @@ static uint16_t handleApdu(command_t *cmd, uint32_t *flags, uint32_t *tx) { break; #endif // HAVE_ENUM_VALUE +#ifdef HAVE_GENERIC_TX_PARSER + case INS_GTP_TRANSACTION_INFO: + // TODO + break; + + case INS_GTP_FIELD: + // TODO + break; +#endif // HAVE_GENERIC_TX_PARSER + default: sw = APDU_RESPONSE_INVALID_INS; break; From d7cea405af8fe11cc412787d2e5838f9adb50d55 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 26 Nov 2024 14:53:40 +0100 Subject: [PATCH 43/66] Python client can now take an optional mode for the sign operation And removed useless argument from sign functions in client --- client/src/ledger_app_clients/ethereum/client.py | 11 +++++++++-- .../ledger_app_clients/ethereum/command_builder.py | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/client/src/ledger_app_clients/ethereum/client.py b/client/src/ledger_app_clients/ethereum/client.py index e6611dee9..b8a673cef 100644 --- a/client/src/ledger_app_clients/ethereum/client.py +++ b/client/src/ledger_app_clients/ethereum/client.py @@ -77,6 +77,12 @@ class PKIPubKeyUsage(IntEnum): PUBKEY_USAGE_SEED_ID_AUTH = 0x09 +class SignMode(IntEnum): + BASIC = 0x00 + STORE = 0x01 + START_FLOW = 0x02 + + class PKIClient: _CLA: int = 0xB0 _INS: int = 0x06 @@ -211,7 +217,8 @@ def eip712_filtering_raw(self, name: str, sig: bytes, discarded: bool): def sign(self, bip32_path: str, - tx_params: dict): + tx_params: dict, + mode: SignMode = SignMode.BASIC): tx = Web3().eth.account.create().sign_transaction(tx_params).rawTransaction prefix = bytes() suffix = [] @@ -223,7 +230,7 @@ def sign(self, suffix = [int(tx_params["chainId"]), bytes(), bytes()] decoded = rlp.decode(tx)[:-3] # remove already computed signature tx = prefix + rlp.encode(decoded + suffix) - chunks = self._cmd_builder.sign(bip32_path, tx, suffix) + chunks = self._cmd_builder.sign(bip32_path, tx, mode) for chunk in chunks[:-1]: self._exchange(chunk) return self._exchange_async(chunks[-1]) diff --git a/client/src/ledger_app_clients/ethereum/command_builder.py b/client/src/ledger_app_clients/ethereum/command_builder.py index 240b8edea..18a18a47f 100644 --- a/client/src/ledger_app_clients/ethereum/command_builder.py +++ b/client/src/ledger_app_clients/ethereum/command_builder.py @@ -262,7 +262,7 @@ def set_external_plugin(self, plugin_name: str, contract_address: bytes, selecto 0x00, data) - def sign(self, bip32_path: str, rlp_data: bytes, vrs: list) -> list[bytes]: + def sign(self, bip32_path: str, rlp_data: bytes, p2: int) -> list[bytes]: apdus = list() payload = pack_derivation_path(bip32_path) payload += rlp_data @@ -270,7 +270,7 @@ def sign(self, bip32_path: str, rlp_data: bytes, vrs: list) -> list[bytes]: while len(payload) > 0: apdus.append(self._serialize(InsType.SIGN, p1, - 0x00, + p2, payload[:0xff])) payload = payload[0xff:] p1 = P1Type.SIGN_SUBSQT_CHUNK From 60a52c2da32a603cff5bd8d815bdd2e9487d156c Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 2 Dec 2024 15:49:53 +0100 Subject: [PATCH 44/66] Added transaction info APDU to Python client --- .../src/ledger_app_clients/ethereum/client.py | 6 ++ .../ethereum/command_builder.py | 4 ++ client/src/ledger_app_clients/ethereum/gcs.py | 69 +++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 client/src/ledger_app_clients/ethereum/gcs.py diff --git a/client/src/ledger_app_clients/ethereum/client.py b/client/src/ledger_app_clients/ethereum/client.py index b8a673cef..7ce9008db 100644 --- a/client/src/ledger_app_clients/ethereum/client.py +++ b/client/src/ledger_app_clients/ethereum/client.py @@ -543,3 +543,9 @@ def provide_enum_value(self, payload: bytes) -> RAPDU: for chunk in chunks[:-1]: self._exchange(chunk) return self._exchange(chunks[-1]) + + def provide_transaction_info(self, payload: bytes) -> RAPDU: + chunks = self._cmd_builder.provide_transaction_info(payload) + for chunk in chunks[:-1]: + self._exchange(chunk) + return self._exchange(chunks[-1]) diff --git a/client/src/ledger_app_clients/ethereum/command_builder.py b/client/src/ledger_app_clients/ethereum/command_builder.py index 18a18a47f..090833dd8 100644 --- a/client/src/ledger_app_clients/ethereum/command_builder.py +++ b/client/src/ledger_app_clients/ethereum/command_builder.py @@ -26,6 +26,7 @@ class InsType(IntEnum): GET_CHALLENGE = 0x20 PROVIDE_TRUSTED_NAME = 0x22 PROVIDE_ENUM_VALUE = 0x24 + PROVIDE_TRANSACTION_INFO = 0x26 PROVIDE_NETWORK_INFORMATION = 0x30 @@ -445,3 +446,6 @@ def common_tlv_serialize(self, tlv_payload: bytes, ins: InsType) -> list[bytes]: def provide_enum_value(self, tlv_payload: bytes) -> list[bytes]: return self.common_tlv_serialize(tlv_payload, InsType.PROVIDE_ENUM_VALUE) + + def provide_transaction_info(self, tlv_payload: bytes) -> list[bytes]: + return self.common_tlv_serialize(tlv_payload, InsType.PROVIDE_TRANSACTION_INFO) diff --git a/client/src/ledger_app_clients/ethereum/gcs.py b/client/src/ledger_app_clients/ethereum/gcs.py new file mode 100644 index 000000000..124114ef3 --- /dev/null +++ b/client/src/ledger_app_clients/ethereum/gcs.py @@ -0,0 +1,69 @@ +from typing import Optional + +from .tlv import format_tlv +from .keychain import sign_data, Key + + +class TxInfo(): + version: int + chain_id: int + contract_addr: bytes + selector: bytes + fields_hash: bytes + operation_type: str + creator_name: Optional[str] + creator_legal_name: Optional[str] + creator_url: Optional[str] + contract_name: Optional[str] + deploy_date: Optional[int] + signature: Optional[bytes] + + def __init__(self, + version: int, + chain_id: int, + contract_addr: bytes, + selector: bytes, + fields_hash: bytes, + operation_type: str, + creator_name: Optional[str] = None, + creator_legal_name: Optional[str] = None, + creator_url: Optional[str] = None, + contract_name: Optional[str] = None, + deploy_date: Optional[int] = None, + signature: Optional[bytes] = None): + self.version = version + self.chain_id = chain_id + self.contract_addr = contract_addr + self.selector = selector + self.fields_hash = fields_hash + self.operation_type = operation_type + self.creator_name = creator_name + self.creator_legal_name = creator_legal_name + self.creator_url = creator_url + self.contract_name = contract_name + self.deploy_date = deploy_date + self.signature = signature + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.chain_id) + payload += format_tlv(0x02, self.contract_addr) + payload += format_tlv(0x03, self.selector) + payload += format_tlv(0x04, self.fields_hash) + payload += format_tlv(0x05, self.operation_type) + if self.creator_name is not None: + payload += format_tlv(0x06, self.creator_name) + if self.creator_legal_name is not None: + payload += format_tlv(0x07, self.creator_legal_name) + if self.creator_url is not None: + payload += format_tlv(0x08, self.creator_url) + if self.contract_name is not None: + payload += format_tlv(0x09, self.contract_name) + if self.deploy_date is not None: + payload += format_tlv(0x0a, self.deploy_date) + signature = self.signature + if signature is None: + signature = sign_data(Key.CAL, payload) + payload += format_tlv(0xff, signature) + return payload From c83d6a915e8b5351b35646541ac7f2dd065c7818 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 3 Dec 2024 09:48:10 +0100 Subject: [PATCH 45/66] Added field descriptor TLV serialization to the Python client --- client/src/ledger_app_clients/ethereum/gcs.py | 408 ++++++++++++++++++ 1 file changed, 408 insertions(+) diff --git a/client/src/ledger_app_clients/ethereum/gcs.py b/client/src/ledger_app_clients/ethereum/gcs.py index 124114ef3..b48fc6f43 100644 --- a/client/src/ledger_app_clients/ethereum/gcs.py +++ b/client/src/ledger_app_clients/ethereum/gcs.py @@ -1,7 +1,10 @@ from typing import Optional +from enum import IntEnum +import struct from .tlv import format_tlv from .keychain import sign_data, Key +from .client import TrustedNameType, TrustedNameSource class TxInfo(): @@ -67,3 +70,408 @@ def serialize(self) -> bytes: signature = sign_data(Key.CAL, payload) payload += format_tlv(0xff, signature) return payload + + +class ParamType(IntEnum): + RAW = 0x00 + AMOUNT = 0x01 + TOKEN_AMOUNT = 0x02 + NFT = 0x03 + DATETIME = 0x04 + DURATION = 0x05 + UNIT = 0x06 + ENUM = 0x07 + TRUSTED_NAME = 0x08 + CALLDATA = 0x09 + + +class TypeFamily(IntEnum): + UINT = 0x01 + INT = 0x02 + UFIXED = 0x03 + FIXED = 0x04 + ADDRESS = 0x05 + BOOL = 0x06 + BYTES = 0x07 + STRING = 0x08 + + +class PathTuple: + value: int + + def __init__(self, value: int): + self.value = value + + def serialize(self) -> bytes: + return struct.pack(">H", self.value) + + +class PathArray: + weight: int + start: Optional[int] + end: Optional[int] + + def __init__(self, + weight: int = 1, + start: Optional[int] = None, + end: Optional[int] = None): + self.weight = weight + self.start = start + self.end = end + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x01, self.weight) + if self.start is not None: + payload += format_tlv(0x02, struct.pack(">h", self.start)) + if self.end is not None: + payload += format_tlv(0x03, struct.pack(">h", self.end)) + return payload + + +class PathRef: + def __init__(self): + pass + + def serialize(self) -> bytes: + return bytes() + + +class PathLeafType(IntEnum): + ARRAY = 0x01 + TUPLE = 0x02 + STATIC = 0x03 + DYNAMIC = 0x04 + + +class PathLeaf: + type: PathLeafType + + def __init__(self, type: PathLeafType): + self.type = type + + def serialize(self) -> bytes: + return struct.pack("B", self.type) + + +class PathSlice: + start: Optional[int] + end: Optional[int] + + def __init__(self, start: Optional[int] = None, end: Optional[int] = None): + self.start = start + self.end = end + + def serialize(self) -> bytes: + payload = bytearray() + if self.start is not None: + payload += format_tlv(0x01, struct.pack(">h", self.start)) + if self.end is not None: + payload += format_tlv(0x02, struct.pack(">h", self.end)) + return payload + + +PathElement = PathTuple | PathArray | PathRef | PathLeaf | PathSlice + + +class DataPath: + version: int + path: list[PathElement] + + def __init__(self, version: int, path: list[PathElement]): + self.version = version + self.path = path + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + for node in self.path: + if isinstance(node, PathTuple): + tag = 0x01 + elif isinstance(node, PathArray): + tag = 0x02 + elif isinstance(node, PathRef): + tag = 0x03 + elif isinstance(node, PathLeaf): + tag = 0x04 + elif isinstance(node, PathSlice): + tag = 0x05 + else: + assert False, f"Unknown path node type : {type(node)}" + payload += format_tlv(tag, node.serialize()) + return payload + + +class ContainerPath(IntEnum): + FROM = 0x00 + TO = 0x01 + VALUE = 0x02 + + +class Value: + version: int + type_family: TypeFamily + type_size: Optional[int] + data_path: Optional[DataPath] + container_path: Optional[ContainerPath] + constant: Optional[bytes] + + def __init__(self, + version: int, + type_family: TypeFamily, + type_size: Optional[int] = None, + data_path: Optional[DataPath] = None, + container_path: Optional[ContainerPath] = None, + constant: Optional[bytes] = None): + self.version = version + self.type_family = type_family + self.type_size = type_size + self.data_path = data_path + self.container_path = container_path + self.constant = constant + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.type_family) + if self.type_size is not None: + payload += format_tlv(0x02, self.type_size) + if self.data_path is not None: + payload += format_tlv(0x03, self.data_path.serialize()) + if self.container_path is not None: + payload += format_tlv(0x04, self.container_path) + if self.constant is not None: + payload += format_tlv(0x05, self.constant) + return payload + + +class ParamRaw: + version: int + value: Value + + def __init__(self, version: int, value: Value): + self.version = version + self.value = value + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.value.serialize()) + return payload + + +class ParamAmount: + version: int + value: Value + + def __init__(self, version: int, value: Value): + self.version = version + self.value = value + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.value.serialize()) + return payload + + +class ParamTokenAmount: + version: int + value: Value + token: Optional[Value] + native_currency: Optional[list[bytes]] + threshold: Optional[int] + above_threshold_msg: Optional[str] + + def __init__(self, + version: int, + value: Value, + token: Optional[Value] = None, + native_currency: Optional[list[bytes]] = None, + threshold: Optional[int] = None, + above_threshold_msg: Optional[str] = None): + self.version = version + self.value = value + self.token = token + self.native_currency = native_currency + self.threshold = threshold + self.above_threshold_msg = above_threshold_msg + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.value.serialize()) + if self.token is not None: + payload += format_tlv(0x02, self.token.serialize()) + if self.native_currency is not None: + for nat_cur in self.native_currency: + payload += format_tlv(0x03, nat_cur) + if self.threshold is not None: + payload += format_tlv(0x04, self.threshold) + if self.above_threshold_msg is not None: + payload += format_tlv(0x05, self.above_threshold_msg) + return payload + + +class ParamNFT(): + version: int + id: Value + collection: Value + + def __init__(self, version: int, id: Value, collection: Value): + self.version = version + self.id = id + self.collection = collection + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.id.serialize()) + payload += format_tlv(0x02, self.collection.serialize()) + return payload + + +class DatetimeType(IntEnum): + DT_UNIX = 0x00 + DT_BLOCKHEIGHT = 0x01 + + +class ParamDatetime(): + version: int + value: Value + type: DatetimeType + + def __init__(self, version: int, value: Value, type: DatetimeType): + self.version = version + self.value = value + self.type = type + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.value.serialize()) + payload += format_tlv(0x02, self.type) + return payload + + +class ParamDuration(): + version: int + value: Value + + def __init__(self, version: int, value: Value): + self.version = version + self.value = value + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.value.serialize()) + return payload + + +class ParamUnit(): + version: int + value: Value + base: str + decimals: Optional[int] + prefix: Optional[bool] + + def __init__(self, + version: int, + value: Value, + base: str, + decimals: Optional[int] = None, + prefix: Optional[bool] = None): + self.version = version + self.value = value + self.base = base + self.decimals = decimals + self.prefix = prefix + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.value.serialize()) + payload += format_tlv(0x02, self.base) + if self.decimals is not None: + payload += format_tlv(0x03, self.decimals) + if self.prefix is not None: + payload += format_tlv(0x04, self.prefix) + return payload + + +class ParamTrustedName(): + version: int + value: Value + types: list[TrustedNameType] + sources: list[TrustedNameSource] + + def __init__(self, version: int, value: Value, types: list[TrustedNameType], sources: list[TrustedNameSource]): + self.version = version + self.value = value + self.types = types + self.sources = sources + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.value.serialize()) + types = bytearray() + for type in self.types: + types.append(type) + payload += format_tlv(0x02, types) + sources = bytearray() + for source in self.sources: + sources.append(source) + payload += format_tlv(0x03, sources) + return payload + + +class ParamEnum(): + version: int + id: int + value: Value + + def __init__(self, version: int, id: int, value: Value): + self.version = version + self.id = id + self.value = value + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.id) + payload += format_tlv(0x02, self.value.serialize()) + return payload + + +ParamUnion = ParamRaw | \ + ParamAmount | \ + ParamTokenAmount | \ + ParamNFT | \ + ParamDatetime | \ + ParamDuration | \ + ParamUnit | \ + ParamTrustedName | \ + ParamEnum + + +class Field: + version: int + name: str + param_type: ParamType + param: ParamUnion + + def __init__(self, version: int, name: str, param_type: ParamType, param: ParamUnion): + self.version = version + self.name = name + self.param_type = param_type + self.param = param + + def serialize(self) -> bytes: + payload = bytearray() + payload += format_tlv(0x00, self.version) + payload += format_tlv(0x01, self.name) + payload += format_tlv(0x02, self.param_type) + payload += format_tlv(0x03, self.param.serialize()) + return payload From 613bceba58f3a059591e771b7a2bbc9e29b05a71 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 10:57:44 +0100 Subject: [PATCH 46/66] Added new send_raw_async function to Python client --- client/src/ledger_app_clients/ethereum/client.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/client/src/ledger_app_clients/ethereum/client.py b/client/src/ledger_app_clients/ethereum/client.py index 7ce9008db..a26404d74 100644 --- a/client/src/ledger_app_clients/ethereum/client.py +++ b/client/src/ledger_app_clients/ethereum/client.py @@ -136,6 +136,15 @@ def send_raw(self, cla: int, ins: int, p1: int, p2: int, payload: bytes): header.append(len(payload)) return self._exchange(header + payload) + def send_raw_async(self, cla: int, ins: int, p1: int, p2: int, payload: bytes): + header = bytearray() + header.append(cla) + header.append(ins) + header.append(p1) + header.append(p2) + header.append(len(payload)) + return self._exchange_async(header + payload) + def eip712_send_struct_def_struct_name(self, name: str): return self._exchange_async(self._cmd_builder.eip712_send_struct_def_struct_name(name)) From 4d35cd1bbf9e1c95f7dc41c7bdcf531b07921f5a Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 2 Dec 2024 15:45:18 +0100 Subject: [PATCH 47/66] TX info handler --- src/main.c | 8 +- src_features/generic_tx_parser/cmd_tx_info.c | 67 ++++ src_features/generic_tx_parser/cmd_tx_info.h | 9 + src_features/generic_tx_parser/gtp_tx_info.c | 359 +++++++++++++++++++ src_features/generic_tx_parser/gtp_tx_info.h | 49 +++ src_features/signTx/cmd_signTx.c | 8 +- 6 files changed, 498 insertions(+), 2 deletions(-) create mode 100644 src_features/generic_tx_parser/cmd_tx_info.c create mode 100644 src_features/generic_tx_parser/cmd_tx_info.h create mode 100644 src_features/generic_tx_parser/gtp_tx_info.c create mode 100644 src_features/generic_tx_parser/gtp_tx_info.h diff --git a/src/main.c b/src/main.c index 636c9a2c3..8459fb7c8 100644 --- a/src/main.c +++ b/src/main.c @@ -40,6 +40,7 @@ #include "mem.h" #endif #include "cmd_enum_value.h" +#include "cmd_tx_info.h" tmpCtx_t tmpCtx; txContext_t txContext; @@ -77,6 +78,11 @@ void reset_app_context() { #endif memset((uint8_t *) &tmpCtx, 0, sizeof(tmpCtx)); forget_known_assets(); +#ifdef HAVE_GENERIC_TX_PARSER + if (txContext.store_calldata) { + gcs_cleanup(); + } +#endif memset((uint8_t *) &txContext, 0, sizeof(txContext)); memset((uint8_t *) &tmpContent, 0, sizeof(tmpContent)); } @@ -244,7 +250,7 @@ static uint16_t handleApdu(command_t *cmd, uint32_t *flags, uint32_t *tx) { #ifdef HAVE_GENERIC_TX_PARSER case INS_GTP_TRANSACTION_INFO: - // TODO + sw = handle_tx_info(cmd->p1, cmd->p2, cmd->lc, cmd->data); break; case INS_GTP_FIELD: diff --git a/src_features/generic_tx_parser/cmd_tx_info.c b/src_features/generic_tx_parser/cmd_tx_info.c new file mode 100644 index 000000000..ab24cefcd --- /dev/null +++ b/src_features/generic_tx_parser/cmd_tx_info.c @@ -0,0 +1,67 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include "cmd_tx_info.h" +#include "cx.h" +#include "apdu_constants.h" +#include "mem.h" +#include "gtp_tx_info.h" +#include "tlv.h" +#include "tlv_apdu.h" +#include "calldata.h" + +extern cx_sha3_t hash_ctx; + +static bool handle_tlv_payload(const uint8_t *payload, uint16_t size, bool to_free) { + s_tx_info_ctx ctx = {0}; + + ctx.tx_info = g_tx_info; + explicit_bzero(ctx.tx_info, sizeof(*ctx.tx_info)); + cx_sha256_init((cx_sha256_t *) &ctx.struct_hash); + if (!tlv_parse(payload, size, (f_tlv_data_handler) &handle_tx_info_struct, &ctx)) return false; + if (to_free) mem_dealloc(sizeof(size)); + if (!verify_tx_info_struct(&ctx)) { + return false; + } + if (cx_sha3_init_no_throw(&hash_ctx, 256) != CX_OK) { + return false; + } + return true; +} + +uint16_t handle_tx_info(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload) { + (void) p2; + if (appState != APP_STATE_SIGNING_TX) { + PRINTF("App not in TX signing mode!\n"); + return APDU_RESPONSE_CONDITION_NOT_SATISFIED; + } + + if (p1 == P1_FIRST_CHUNK) { + if (g_tx_info != NULL) { + PRINTF("Error: TX info received when one was still in RAM!\n"); + gcs_cleanup(); + return APDU_RESPONSE_CONDITION_NOT_SATISFIED; + } + + if ((g_tx_info = mem_alloc(sizeof(*g_tx_info))) == NULL) { + return APDU_RESPONSE_INSUFFICIENT_MEMORY; + } + } + if (g_tx_info == NULL) { + return APDU_RESPONSE_INVALID_DATA; + } + if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { + return APDU_RESPONSE_INVALID_DATA; + } + return APDU_RESPONSE_OK; +} + +void gcs_cleanup(void) { + if (g_tx_info != NULL) { + mem_dealloc(sizeof(*g_tx_info)); + g_tx_info = NULL; + } + calldata_cleanup(); +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/cmd_tx_info.h b/src_features/generic_tx_parser/cmd_tx_info.h new file mode 100644 index 000000000..a093669b4 --- /dev/null +++ b/src_features/generic_tx_parser/cmd_tx_info.h @@ -0,0 +1,9 @@ +#ifndef CMD_TX_INFO_H_ +#define CMD_TX_INFO_H_ + +#include + +uint16_t handle_tx_info(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload); +void gcs_cleanup(void); + +#endif // !CMD_TX_INFO_H_ diff --git a/src_features/generic_tx_parser/gtp_tx_info.c b/src_features/generic_tx_parser/gtp_tx_info.c new file mode 100644 index 000000000..7913ab08d --- /dev/null +++ b/src_features/generic_tx_parser/gtp_tx_info.c @@ -0,0 +1,359 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include "gtp_tx_info.h" +#include "read.h" +#include "hash_bytes.h" +#include "network.h" // get_tx_chain_id +#include "shared_context.h" // txContext +#include "utils.h" +#include "time_format.h" +#include "calldata.h" +#include "public_keys.h" // LEDGER_SIGNATURE_PUBLIC_KEY + +enum { + BIT_VERSION = 0, + BIT_CHAIN_ID, + BIT_CONTRACT_ADDR, + BIT_SELECTOR, + BIT_FIELDS_HASH, + BIT_OPERATION_TYPE, + BIT_CREATOR_NAME, + BIT_CREATOR_LEGAL_NAME, + BIT_CREATOR_URL, + BIT_CONTRACT_NAME, + BIT_DEPLOY_DATE, + BIT_SIGNATURE, +}; + +enum { + TAG_VERSION = 0x00, + TAG_CHAIN_ID = 0x01, + TAG_CONTRACT_ADDR = 0x02, + TAG_SELECTOR = 0x03, + TAG_FIELDS_HASH = 0x04, + TAG_OPERATION_TYPE = 0x05, + TAG_CREATOR_NAME = 0x06, + TAG_CREATOR_LEGAL_NAME = 0x07, + TAG_CREATOR_URL = 0x08, + TAG_CONTRACT_NAME = 0x09, + TAG_DEPLOY_DATE = 0x0a, + TAG_SIGNATURE = 0xff, +}; + +s_tx_info *g_tx_info = NULL; +cx_sha3_t hash_ctx; + +static bool handle_version(const s_tlv_data *data, s_tx_info_ctx *context) { + if (data->length != sizeof(context->tx_info->version)) { + return false; + } + context->tx_info->version = data->value[0]; + context->set_flags |= SET_BIT(BIT_VERSION); + return true; +} + +static bool handle_chain_id(const s_tlv_data *data, s_tx_info_ctx *context) { + uint64_t chain_id; + uint8_t buf[sizeof(chain_id)]; + + if (data->length > sizeof(buf)) { + return false; + } + buf_shrink_expand(data->value, data->length, buf, sizeof(buf)); + chain_id = read_u64_be(buf, 0); + if (chain_id != get_tx_chain_id()) { + PRINTF("Error: chain ID mismatch!\n"); + return false; + } + context->tx_info->chain_id = chain_id; + context->set_flags |= SET_BIT(BIT_CHAIN_ID); + return true; +} + +static bool handle_contract_addr(const s_tlv_data *data, s_tx_info_ctx *context) { + uint8_t buf[ADDRESS_LENGTH]; + + if (data->length > sizeof(buf)) { + return false; + } + buf_shrink_expand(data->value, data->length, buf, sizeof(buf)); + if (memcmp(buf, txContext.content->destination, sizeof(buf)) != 0) { + PRINTF("Error: contract address mismatch!\n"); + return false; + } + memcpy(context->tx_info->contract_addr, buf, sizeof(buf)); + context->set_flags |= SET_BIT(BIT_CONTRACT_ADDR); + return true; +} + +static bool handle_selector(const s_tlv_data *data, s_tx_info_ctx *context) { + uint8_t buf[CALLDATA_SELECTOR_SIZE]; + const uint8_t *selector; + + if (data->length > sizeof(buf)) { + return false; + } + buf_shrink_expand(data->value, data->length, buf, sizeof(buf)); + if ((selector = calldata_get_selector()) == NULL) { + return false; + } + if (memcmp(selector, buf, sizeof(buf)) != 0) { + PRINTF("Error: selector mismatch!\n"); + return false; + } + memcpy(context->tx_info->selector, buf, sizeof(buf)); + context->set_flags |= SET_BIT(BIT_SELECTOR); + return true; +} + +static bool handle_fields_hash(const s_tlv_data *data, s_tx_info_ctx *context) { + if (data->length > sizeof(context->tx_info->fields_hash)) { + return false; + } + buf_shrink_expand(data->value, + data->length, + context->tx_info->fields_hash, + sizeof(context->tx_info->fields_hash)); + context->set_flags |= SET_BIT(BIT_FIELDS_HASH); + return true; +} + +static bool handle_operation_type(const s_tlv_data *data, s_tx_info_ctx *context) { + str_cpy_explicit_trunc((const char *) data->value, + data->length, + context->tx_info->operation_type, + sizeof(context->tx_info->operation_type)); + context->set_flags |= SET_BIT(BIT_OPERATION_TYPE); + return true; +} + +static bool handle_creator_name(const s_tlv_data *data, s_tx_info_ctx *context) { + str_cpy_explicit_trunc((const char *) data->value, + data->length, + context->tx_info->creator_name, + sizeof(context->tx_info->creator_name)); + context->set_flags |= SET_BIT(BIT_CREATOR_NAME); + return true; +} + +static bool handle_creator_legal_name(const s_tlv_data *data, s_tx_info_ctx *context) { + str_cpy_explicit_trunc((const char *) data->value, + data->length, + context->tx_info->creator_legal_name, + sizeof(context->tx_info->creator_legal_name)); + context->set_flags |= SET_BIT(BIT_CREATOR_LEGAL_NAME); + return true; +} + +static bool handle_creator_url(const s_tlv_data *data, s_tx_info_ctx *context) { + str_cpy_explicit_trunc((const char *) data->value, + data->length, + context->tx_info->creator_url, + sizeof(context->tx_info->creator_url)); + context->set_flags |= SET_BIT(BIT_CREATOR_URL); + return true; +} + +static bool handle_contract_name(const s_tlv_data *data, s_tx_info_ctx *context) { + str_cpy_explicit_trunc((const char *) data->value, + data->length, + context->tx_info->contract_name, + sizeof(context->tx_info->contract_name)); + context->set_flags |= SET_BIT(BIT_CONTRACT_NAME); + return true; +} + +static bool handle_deploy_date(const s_tlv_data *data, s_tx_info_ctx *context) { + uint8_t buf[sizeof(uint32_t)]; + time_t timestamp; + + if (data->length > sizeof(buf)) { + return false; + } + buf_shrink_expand(data->value, data->length, buf, sizeof(buf)); + timestamp = read_u32_be(buf, 0); + if (!time_format_to_yyyymmdd(×tamp, + context->tx_info->deploy_date, + sizeof(context->tx_info->deploy_date))) { + return false; + } + context->set_flags |= SET_BIT(BIT_DEPLOY_DATE); + return true; +} + +static bool handle_signature(const s_tlv_data *data, s_tx_info_ctx *context) { + if (data->length > sizeof(context->tx_info->signature)) { + return false; + } + memcpy(context->tx_info->signature, data->value, data->length); + context->tx_info->signature_len = data->length; + context->set_flags |= SET_BIT(BIT_SIGNATURE); + return true; +} + +bool handle_tx_info_struct(const s_tlv_data *data, s_tx_info_ctx *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_CHAIN_ID: + ret = handle_chain_id(data, context); + break; + case TAG_CONTRACT_ADDR: + ret = handle_contract_addr(data, context); + break; + case TAG_SELECTOR: + ret = handle_selector(data, context); + break; + case TAG_FIELDS_HASH: + ret = handle_fields_hash(data, context); + break; + case TAG_OPERATION_TYPE: + ret = handle_operation_type(data, context); + break; + case TAG_CREATOR_NAME: + ret = handle_creator_name(data, context); + break; + case TAG_CREATOR_LEGAL_NAME: + ret = handle_creator_legal_name(data, context); + break; + case TAG_CREATOR_URL: + ret = handle_creator_url(data, context); + break; + case TAG_CONTRACT_NAME: + ret = handle_contract_name(data, context); + break; + case TAG_DEPLOY_DATE: + ret = handle_deploy_date(data, context); + break; + case TAG_SIGNATURE: + ret = handle_signature(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + if (ret && (data->tag != TAG_SIGNATURE)) { + hash_nbytes(data->raw, data->raw_size, (cx_hash_t *) &context->struct_hash); + } + return ret; +} + +bool verify_tx_info_struct(const s_tx_info_ctx *context) { + uint16_t required_bits = 0; + uint8_t hash[INT256_LENGTH]; + + // check if struct version was provided + required_bits |= SET_BIT(BIT_VERSION); + if ((context->set_flags & required_bits) != required_bits) { + PRINTF("Error: no struct version specified!\n"); + return false; + } + + // verify required fields + switch (context->tx_info->version) { + case 1: + required_bits |= + (SET_BIT(BIT_CHAIN_ID) | SET_BIT(BIT_CONTRACT_ADDR) | SET_BIT(BIT_SELECTOR) | + SET_BIT(BIT_FIELDS_HASH) | SET_BIT(BIT_OPERATION_TYPE) | SET_BIT(BIT_SIGNATURE)); + break; + default: + PRINTF("Error: unsupported tx info version (%u)\n", context->tx_info->version); + return false; + } + + if ((context->set_flags & required_bits) != required_bits) { + PRINTF("Error: missing required field(s)\n"); + return false; + } + + // verify signature + if (cx_hash_no_throw((cx_hash_t *) &context->struct_hash, + CX_LAST, + NULL, + 0, + hash, + sizeof(hash)) != CX_OK) { + PRINTF("Could not finalize struct hash!\n"); + return false; + } + + // TODO: change to LEDGER_CALLDATA_DESCRIPTOR key once available + if (check_signature_with_pubkey("TX info", + hash, + sizeof(hash), + LEDGER_SIGNATURE_PUBLIC_KEY, + sizeof(LEDGER_SIGNATURE_PUBLIC_KEY), +#ifdef HAVE_LEDGER_PKI + CERTIFICATE_PUBLIC_KEY_USAGE_COIN_META, +#endif + (uint8_t *) context->tx_info->signature, + context->tx_info->signature_len) != CX_OK) { + return false; + } + return true; +} + +const char *get_operation_type(void) { + if (g_tx_info->operation_type[0] == '\0') { + return NULL; + } + return g_tx_info->operation_type; +} + +const char *get_creator_name(void) { + if (g_tx_info->creator_name[0] == '\0') { + return NULL; + } + return g_tx_info->creator_name; +} + +const char *get_creator_legal_name(void) { + if (g_tx_info->creator_legal_name[0] == '\0') { + return NULL; + } + return g_tx_info->creator_legal_name; +} + +const char *get_creator_url(void) { + if (g_tx_info->creator_url[0] == '\0') { + return NULL; + } + return g_tx_info->creator_url; +} + +const char *get_contract_name(void) { + if (g_tx_info->contract_name[0] == '\0') { + return NULL; + } + return g_tx_info->contract_name; +} + +const uint8_t *get_contract_addr(void) { + return g_tx_info->contract_addr; +} + +const char *get_deploy_date(void) { + if (g_tx_info->deploy_date[0] == '\0') { + return NULL; + } + return g_tx_info->deploy_date; +} + +cx_hash_t *get_fields_hash_ctx(void) { + return (cx_hash_t *) &hash_ctx; +} + +bool validate_instruction_hash(void) { + uint8_t hash[sizeof(g_tx_info->fields_hash)]; + + if (cx_hash_no_throw((cx_hash_t *) &hash_ctx, CX_LAST, NULL, 0, hash, sizeof(hash)) != CX_OK) { + return false; + } + return memcmp(g_tx_info->fields_hash, hash, sizeof(hash)) == 0; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_tx_info.h b/src_features/generic_tx_parser/gtp_tx_info.h new file mode 100644 index 000000000..443cfb374 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_tx_info.h @@ -0,0 +1,49 @@ +#ifndef GTP_TX_INFO_H_ +#define GTP_TX_INFO_H_ + +#include +#include +#include "cx.h" +#include "common_utils.h" // ADDRESS_LENGTH, INT256_LENGTH +#include "calldata.h" +#include "tlv.h" + +typedef struct { + uint8_t version; + uint64_t chain_id; + uint8_t contract_addr[ADDRESS_LENGTH]; + uint8_t selector[CALLDATA_SELECTOR_SIZE]; + uint8_t fields_hash[INT256_LENGTH]; + char operation_type[31]; + char creator_name[23]; + char creator_legal_name[31]; + char creator_url[27]; + char contract_name[31]; + // YYYY-MM-DD\0 + char deploy_date[4 + 1 + 2 + 1 + 2 + 1]; + uint8_t signature_len; + uint8_t signature[73]; +} s_tx_info; + +typedef struct { + cx_sha256_t struct_hash; + uint16_t set_flags; + s_tx_info *tx_info; +} s_tx_info_ctx; + +extern s_tx_info *g_tx_info; + +bool handle_tx_info_struct(const s_tlv_data *data, s_tx_info_ctx *context); +bool verify_tx_info_struct(const s_tx_info_ctx *context); + +const char *get_operation_type(void); +const char *get_creator_name(void); +const char *get_creator_legal_name(void); +const char *get_creator_url(void); +const char *get_contract_name(void); +const uint8_t *get_contract_addr(void); +const char *get_deploy_date(void); +cx_hash_t *get_fields_hash_ctx(void); +bool validate_instruction_hash(void); + +#endif // !GTP_TX_INFO_H_ diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index df74041aa..1c19c58ad 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -3,6 +3,9 @@ #include "feature_signTx.h" #include "eth_plugin_interface.h" #include "apdu_constants.h" +#ifdef HAVE_GENERIC_TX_PARSER +#include "gtp_tx_info.h" +#endif typedef enum { SIGN_MODE_BASIC = 0, @@ -132,7 +135,10 @@ uint16_t handleSign(uint8_t p1, if (length != 0) { return APDU_RESPONSE_INVALID_DATA; } - // TODO: check hash + if (!validate_instruction_hash()) { + PRINTF("Error: instructions hash mismatch!\n"); + return APDU_RESPONSE_INVALID_DATA; + } *flags |= IO_ASYNCH_REPLY; return APDU_NO_RESPONSE; #endif From 2221ba18bca44d82c0ac31e7fc593840e07236b4 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 18 Dec 2024 15:01:47 +0100 Subject: [PATCH 48/66] GTP Field table implementation --- src_features/generic_tx_parser/cmd_tx_info.c | 3 + .../generic_tx_parser/gtp_field_table.c | 111 ++++++++++++++++++ .../generic_tx_parser/gtp_field_table.h | 19 +++ 3 files changed, 133 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_field_table.c create mode 100644 src_features/generic_tx_parser/gtp_field_table.h diff --git a/src_features/generic_tx_parser/cmd_tx_info.c b/src_features/generic_tx_parser/cmd_tx_info.c index ab24cefcd..76b017207 100644 --- a/src_features/generic_tx_parser/cmd_tx_info.c +++ b/src_features/generic_tx_parser/cmd_tx_info.c @@ -9,6 +9,7 @@ #include "tlv.h" #include "tlv_apdu.h" #include "calldata.h" +#include "gtp_field_table.h" extern cx_sha3_t hash_ctx; @@ -26,6 +27,7 @@ static bool handle_tlv_payload(const uint8_t *payload, uint16_t size, bool to_fr if (cx_sha3_init_no_throw(&hash_ctx, 256) != CX_OK) { return false; } + field_table_init(); return true; } @@ -57,6 +59,7 @@ uint16_t handle_tx_info(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *paylo } void gcs_cleanup(void) { + field_table_cleanup(); if (g_tx_info != NULL) { mem_dealloc(sizeof(*g_tx_info)); g_tx_info = NULL; diff --git a/src_features/generic_tx_parser/gtp_field_table.c b/src_features/generic_tx_parser/gtp_field_table.c new file mode 100644 index 000000000..f8cdf570b --- /dev/null +++ b/src_features/generic_tx_parser/gtp_field_table.c @@ -0,0 +1,111 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include "os_print.h" +#include "gtp_field_table.h" +#include "mem.h" + +// type (1) | key_length (1) | value_length (2) | key ($key_length) | value ($value_length) + +typedef struct { + const uint8_t *start; + size_t size; +} s_field_table; + +static s_field_table g_table; + +void field_table_init(void) { + explicit_bzero(&g_table, sizeof(g_table)); +} + +static const uint8_t *get_next_table_entry(const uint8_t *ptr, s_field_table_entry *entry) { + uint8_t key_len; + uint16_t value_len; + + if (ptr == NULL) { + return NULL; + } + if (entry != NULL) { + memcpy(&entry->type, ptr, sizeof(entry->type)); + } + ptr += sizeof(entry->type); + memcpy(&key_len, ptr, sizeof(key_len)); + ptr += sizeof(key_len); + memcpy(&value_len, ptr, sizeof(value_len)); + ptr += sizeof(value_len); + if (entry != NULL) { + entry->key = (char *) ptr; + } + ptr += key_len; + if (entry != NULL) { + entry->value = (char *) ptr; + } + ptr += value_len; + return ptr; +} + +// after this function, field_table_init() will have to be called before using any other field_table +// function +void field_table_cleanup(void) { + const uint8_t *ptr = g_table.start; + + if (ptr != NULL) { + for (size_t i = 0; i < g_table.size; ++i) { + ptr = get_next_table_entry(ptr, NULL); + } + mem_dealloc(ptr - g_table.start); + g_table.start = NULL; + } +} + +bool add_to_field_table(uint8_t type, const char *key, const char *value) { + int offset = 0; + uint8_t *ptr; + uint8_t key_len = strlen(key) + 1; + uint16_t value_len = strlen(value) + 1; + + if ((key == NULL) || (value == NULL)) { + PRINTF("Error: NULL key/value!\n"); + return false; + } + PRINTF(">>> \"%s\": \"%s\"\n", key, value); + if ((ptr = mem_alloc(sizeof(type) + sizeof(uint8_t) + sizeof(uint16_t) + key_len + + value_len)) == NULL) { + return false; + } + if ((g_table.start == NULL) && (g_table.size == 0)) { + g_table.start = ptr; + } + memcpy(&ptr[offset], &type, sizeof(type)); + offset += sizeof(type); + memcpy(&ptr[offset], &key_len, sizeof(key_len)); + offset += sizeof(key_len); + memcpy(&ptr[offset], &value_len, sizeof(value_len)); + offset += sizeof(value_len); + memcpy(&ptr[offset], key, key_len); + offset += key_len; + memcpy(&ptr[offset], value, value_len); + g_table.size += 1; + return true; +} + +size_t field_table_size(void) { + return g_table.size; +} + +bool get_from_field_table(int index, s_field_table_entry *entry) { + const uint8_t *ptr = g_table.start; + + if ((size_t) index >= g_table.size) { + return false; + } + if (ptr == NULL) { + return false; + } + for (int i = 0; i <= index; ++i) { + ptr = get_next_table_entry(ptr, entry); + } + return true; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_field_table.h b/src_features/generic_tx_parser/gtp_field_table.h new file mode 100644 index 000000000..bfa1cde34 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_field_table.h @@ -0,0 +1,19 @@ +#ifndef GTP_FIELD_TABLE_H_ +#define GTP_FIELD_TABLE_H_ + +#include +#include + +typedef struct { + uint8_t type; + const char *key; + const char *value; +} s_field_table_entry; + +void field_table_init(void); +void field_table_cleanup(void); +bool add_to_field_table(uint8_t type, const char *key, const char *value); +size_t field_table_size(void); +bool get_from_field_table(int index, s_field_table_entry *entry); + +#endif // !GTP_FIELD_TABLE_H_ From 3c10eeebfa4b5c9d87b2aea8695f0052b44d9f18 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 15 Nov 2024 18:12:28 +0100 Subject: [PATCH 49/66] Added empty UI implementations --- src/common_ui.h | 3 +++ src_bagl/ui_gcs.c | 9 +++++++++ src_features/generic_tx_parser/cmd_tx_info.c | 3 +++ src_features/signTx/cmd_signTx.c | 4 ++++ src_nbgl/ui_gcs.c | 9 +++++++++ 5 files changed, 28 insertions(+) create mode 100644 src_bagl/ui_gcs.c create mode 100644 src_nbgl/ui_gcs.c diff --git a/src/common_ui.h b/src/common_ui.h index e29874bbb..06ffc5d10 100644 --- a/src/common_ui.h +++ b/src/common_ui.h @@ -29,6 +29,9 @@ void ui_712_start_unfiltered(void); void ui_712_switch_to_message(void); void ui_712_switch_to_sign(void); +// Generic clear-signing +bool ui_gcs(void); + #include "ui_callbacks.h" #include diff --git a/src_bagl/ui_gcs.c b/src_bagl/ui_gcs.c new file mode 100644 index 000000000..61f2deac6 --- /dev/null +++ b/src_bagl/ui_gcs.c @@ -0,0 +1,9 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +void ui_gcs(void) { +} + +void ui_gcs_cleanup(void) { +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/cmd_tx_info.c b/src_features/generic_tx_parser/cmd_tx_info.c index 76b017207..c5379523c 100644 --- a/src_features/generic_tx_parser/cmd_tx_info.c +++ b/src_features/generic_tx_parser/cmd_tx_info.c @@ -58,7 +58,10 @@ uint16_t handle_tx_info(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *paylo return APDU_RESPONSE_OK; } +void ui_gcs_cleanup(void); + void gcs_cleanup(void) { + ui_gcs_cleanup(); field_table_cleanup(); if (g_tx_info != NULL) { mem_dealloc(sizeof(*g_tx_info)); diff --git a/src_features/signTx/cmd_signTx.c b/src_features/signTx/cmd_signTx.c index 1c19c58ad..0bece7eb7 100644 --- a/src_features/signTx/cmd_signTx.c +++ b/src_features/signTx/cmd_signTx.c @@ -6,6 +6,7 @@ #ifdef HAVE_GENERIC_TX_PARSER #include "gtp_tx_info.h" #endif +#include "common_ui.h" typedef enum { SIGN_MODE_BASIC = 0, @@ -139,6 +140,9 @@ uint16_t handleSign(uint8_t p1, PRINTF("Error: instructions hash mismatch!\n"); return APDU_RESPONSE_INVALID_DATA; } + if (!ui_gcs()) { + return APDU_RESPONSE_INTERNAL_ERROR; + } *flags |= IO_ASYNCH_REPLY; return APDU_NO_RESPONSE; #endif diff --git a/src_nbgl/ui_gcs.c b/src_nbgl/ui_gcs.c new file mode 100644 index 000000000..61f2deac6 --- /dev/null +++ b/src_nbgl/ui_gcs.c @@ -0,0 +1,9 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +void ui_gcs(void) { +} + +void ui_gcs_cleanup(void) { +} + +#endif // HAVE_GENERIC_TX_PARSER From 4cf52d5d9870bb6609ad6b625444e54c22bbf38f Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 19 Nov 2024 17:39:36 +0100 Subject: [PATCH 50/66] get_public_key function is now usable from outside the signTx feature --- src_features/signTx/feature_signTx.h | 2 ++ src_features/signTx/logic_signTx.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src_features/signTx/feature_signTx.h b/src_features/signTx/feature_signTx.h index dd953edac..9f38e1e37 100644 --- a/src_features/signTx/feature_signTx.h +++ b/src_features/signTx/feature_signTx.h @@ -37,4 +37,6 @@ void send_swap_error(uint8_t error_code, app_code_t app_code, const char *str1, uint16_t handle_parsing_status(parserStatus_e status); +uint16_t get_public_key(uint8_t *out, uint8_t outLength); + #endif // _SIGN_TX_H_ diff --git a/src_features/signTx/logic_signTx.c b/src_features/signTx/logic_signTx.c index 3c21a3ccd..740bdbbfb 100644 --- a/src_features/signTx/logic_signTx.c +++ b/src_features/signTx/logic_signTx.c @@ -303,7 +303,7 @@ static uint16_t get_network_as_string(char *out, size_t out_size) { return APDU_RESPONSE_OK; } -static uint16_t get_public_key(uint8_t *out, uint8_t outLength) { +uint16_t get_public_key(uint8_t *out, uint8_t outLength) { uint8_t raw_pubkey[65]; cx_err_t error = CX_INTERNAL_ERROR; From 7b42507fc9f921c21931c134a40ec7c0d7f3b22f Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 18 Dec 2024 11:26:42 +0100 Subject: [PATCH 51/66] GTP field support + param_raw --- src/main.c | 3 +- src_features/generic_tx_parser/cmd_field.c | 51 +++ src_features/generic_tx_parser/cmd_field.h | 8 + .../generic_tx_parser/gtp_data_path.c | 311 ++++++++++++++++++ .../generic_tx_parser/gtp_data_path.h | 60 ++++ src_features/generic_tx_parser/gtp_field.c | 151 +++++++++ src_features/generic_tx_parser/gtp_field.h | 31 ++ .../generic_tx_parser/gtp_field_table.c | 2 +- .../generic_tx_parser/gtp_field_table.h | 5 +- .../generic_tx_parser/gtp_param_raw.c | 188 +++++++++++ .../generic_tx_parser/gtp_param_raw.h | 21 ++ .../generic_tx_parser/gtp_parsed_value.h | 18 + .../generic_tx_parser/gtp_path_array.c | 62 ++++ .../generic_tx_parser/gtp_path_array.h | 22 ++ .../generic_tx_parser/gtp_path_slice.c | 47 +++ .../generic_tx_parser/gtp_path_slice.h | 21 ++ src_features/generic_tx_parser/gtp_value.c | 162 +++++++++ src_features/generic_tx_parser/gtp_value.h | 57 ++++ 18 files changed, 1216 insertions(+), 4 deletions(-) create mode 100644 src_features/generic_tx_parser/cmd_field.c create mode 100644 src_features/generic_tx_parser/cmd_field.h create mode 100644 src_features/generic_tx_parser/gtp_data_path.c create mode 100644 src_features/generic_tx_parser/gtp_data_path.h create mode 100644 src_features/generic_tx_parser/gtp_field.c create mode 100644 src_features/generic_tx_parser/gtp_field.h create mode 100644 src_features/generic_tx_parser/gtp_param_raw.c create mode 100644 src_features/generic_tx_parser/gtp_param_raw.h create mode 100644 src_features/generic_tx_parser/gtp_parsed_value.h create mode 100644 src_features/generic_tx_parser/gtp_path_array.c create mode 100644 src_features/generic_tx_parser/gtp_path_array.h create mode 100644 src_features/generic_tx_parser/gtp_path_slice.c create mode 100644 src_features/generic_tx_parser/gtp_path_slice.h create mode 100644 src_features/generic_tx_parser/gtp_value.c create mode 100644 src_features/generic_tx_parser/gtp_value.h diff --git a/src/main.c b/src/main.c index 8459fb7c8..3e4890801 100644 --- a/src/main.c +++ b/src/main.c @@ -41,6 +41,7 @@ #endif #include "cmd_enum_value.h" #include "cmd_tx_info.h" +#include "cmd_field.h" tmpCtx_t tmpCtx; txContext_t txContext; @@ -254,7 +255,7 @@ static uint16_t handleApdu(command_t *cmd, uint32_t *flags, uint32_t *tx) { break; case INS_GTP_FIELD: - // TODO + sw = handle_field(cmd->p1, cmd->p2, cmd->lc, cmd->data); break; #endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/cmd_field.c b/src_features/generic_tx_parser/cmd_field.c new file mode 100644 index 000000000..ff404e991 --- /dev/null +++ b/src_features/generic_tx_parser/cmd_field.c @@ -0,0 +1,51 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include "cmd_field.h" +#include "cx.h" +#include "apdu_constants.h" +#include "mem.h" +#include "tlv.h" +#include "tlv_apdu.h" +#include "gtp_field.h" +#include "cmd_tx_info.h" +#include "gtp_tx_info.h" + +static bool handle_tlv_payload(const uint8_t *payload, uint16_t size, bool to_free) { + s_field field = {0}; + s_field_ctx ctx = {0}; + + ctx.field = &field; + if (!tlv_parse(payload, size, (f_tlv_data_handler) &handle_field_struct, &ctx)) return false; + if (cx_hash_no_throw(get_fields_hash_ctx(), 0, payload, size, NULL, 0) != CX_OK) return false; + if (to_free) mem_dealloc(size); + if (!verify_field_struct(&ctx)) { + PRINTF("Error: could not verify the field struct!\n"); + return false; + } + if (!format_field(&field)) { + PRINTF("Error while formatting the field\n"); + return false; + } + return true; +} + +uint16_t handle_field(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload) { + (void) p2; + if (appState != APP_STATE_SIGNING_TX) { + PRINTF("App not in TX signing mode!\n"); + return APDU_RESPONSE_CONDITION_NOT_SATISFIED; + } + + if (g_tx_info == NULL) { + PRINTF("Error: Field received without a TX info!\n"); + gcs_cleanup(); + return APDU_RESPONSE_CONDITION_NOT_SATISFIED; + } + + if (!tlv_from_apdu(p1 == P1_FIRST_CHUNK, lc, payload, &handle_tlv_payload)) { + return APDU_RESPONSE_INVALID_DATA; + } + return APDU_RESPONSE_OK; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/cmd_field.h b/src_features/generic_tx_parser/cmd_field.h new file mode 100644 index 000000000..e246b9eb1 --- /dev/null +++ b/src_features/generic_tx_parser/cmd_field.h @@ -0,0 +1,8 @@ +#ifndef CMD_FIELD_H_ +#define CMD_FIELD_H_ + +#include + +uint16_t handle_field(uint8_t p1, uint8_t p2, uint8_t lc, const uint8_t *payload); + +#endif // !CMD_FIELD_H_ diff --git a/src_features/generic_tx_parser/gtp_data_path.c b/src_features/generic_tx_parser/gtp_data_path.c new file mode 100644 index 000000000..9749f0618 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_data_path.c @@ -0,0 +1,311 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include // memcpy / explicit_bzero +#include "os_print.h" +#include "gtp_data_path.h" +#include "read.h" +#include "utils.h" +#include "calldata.h" + +enum { + TAG_VERSION = 0x00, + TAG_TUPLE = 0x01, + TAG_ARRAY = 0x02, + TAG_REF = 0x03, + TAG_LEAF = 0x04, + TAG_SLICE = 0x05, +}; + +static bool handle_version(const s_tlv_data *data, s_data_path_context *context) { + if (data->length != sizeof(context->data_path->version)) { + return false; + } + context->data_path->version = data->value[0]; + return true; +} + +static bool handle_tuple(const s_tlv_data *data, s_data_path_context *context) { + uint8_t buf[sizeof(uint16_t)]; + + if (data->length > sizeof(buf)) { + return false; + } + buf_shrink_expand(data->value, data->length, buf, sizeof(buf)); + context->data_path->elements[context->data_path->size].type = ELEMENT_TYPE_TUPLE; + context->data_path->elements[context->data_path->size].tuple.value = read_u16_be(buf, 0); + + context->data_path->size += 1; + return true; +} + +static bool handle_array(const s_tlv_data *data, s_data_path_context *context) { + s_path_array_context ctx = {0}; + + ctx.args = &context->data_path->elements[context->data_path->size].array; + explicit_bzero(ctx.args, sizeof(*ctx.args)); + if (!tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_array_struct, &ctx)) + return false; + context->data_path->elements[context->data_path->size].type = ELEMENT_TYPE_ARRAY; + context->data_path->size += 1; + return true; +} + +static bool handle_ref(const s_tlv_data *data, s_data_path_context *context) { + if (data->length != 0) { + return false; + } + context->data_path->elements[context->data_path->size].type = ELEMENT_TYPE_REF; + + context->data_path->size += 1; + return true; +} + +static bool handle_leaf(const s_tlv_data *data, s_data_path_context *context) { + if (data->length != sizeof(e_path_leaf_type)) { + return false; + } + context->data_path->elements[context->data_path->size].type = ELEMENT_TYPE_LEAF; + context->data_path->elements[context->data_path->size].leaf.type = data->value[0]; + + context->data_path->size += 1; + return true; +} + +static bool handle_slice(const s_tlv_data *data, s_data_path_context *context) { + s_path_slice_context ctx = {0}; + + ctx.args = &context->data_path->elements[context->data_path->size].slice; + explicit_bzero(ctx.args, sizeof(*ctx.args)); + if (!tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_slice_struct, &ctx)) + return false; + context->data_path->elements[context->data_path->size].type = ELEMENT_TYPE_SLICE; + context->data_path->size += 1; + return true; +} + +bool handle_data_path_struct(const s_tlv_data *data, s_data_path_context *context) { + bool ret; + + if (data->tag != TAG_VERSION) { + if (context->data_path->size >= PATH_MAX_SIZE) { + return false; + } + } + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_TUPLE: + ret = handle_tuple(data, context); + break; + case TAG_ARRAY: + ret = handle_array(data, context); + break; + case TAG_REF: + ret = handle_ref(data, context); + break; + case TAG_LEAF: + ret = handle_leaf(data, context); + break; + case TAG_SLICE: + ret = handle_slice(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +static bool path_tuple(const s_tuple_args *tuple, uint32_t *offset, uint32_t *ref_offset) { + *ref_offset = *offset; + *offset += tuple->value; + return true; +} + +static bool path_ref(uint32_t *offset, uint32_t *ref_offset) { + uint8_t buf[sizeof(uint16_t)]; + const uint8_t *chunk; + + if ((chunk = calldata_get_chunk(*offset)) == NULL) { + return false; + } + buf_shrink_expand(chunk, CALLDATA_CHUNK_SIZE, buf, sizeof(buf)); + *offset = read_u16_be(buf, 0) / CALLDATA_CHUNK_SIZE; + *offset += *ref_offset; + return true; +} + +static bool path_leaf(const s_leaf_args *leaf, + uint32_t *offset, + s_parsed_value_collection *collection) { + uint8_t buf[sizeof(uint16_t)]; + const uint8_t *chunk; + + if (collection->size > MAX_VALUE_COLLECTION_SIZE) { + return false; + } + + switch (leaf->type) { + case LEAF_TYPE_STATIC: + collection->value[collection->size].length = CALLDATA_CHUNK_SIZE; + break; + + case LEAF_TYPE_DYNAMIC: + if ((chunk = calldata_get_chunk(*offset)) == NULL) { + return false; + } + // TODO: properly handle multi-chunk dynamic values once calldata compression + // is implemented + buf_shrink_expand(chunk, CALLDATA_CHUNK_SIZE, buf, sizeof(buf)); + collection->value[collection->size].length = read_u16_be(buf, 0); + *offset += 1; + break; + + default: + return false; + } + if ((chunk = calldata_get_chunk(*offset)) == NULL) { + return false; + } + collection->value[collection->size].ptr = chunk; + collection->size += 1; + return true; +} + +static bool path_slice(const s_slice_args *slice, s_parsed_value_collection *collection) { + uint16_t start; + uint16_t end; + uint16_t value_length; + + if (collection->size == 0) { + return false; + } + + value_length = collection->value[collection->size - 1].length; + if (slice->has_start) { + start = (slice->start < 0) ? ((int16_t) value_length + slice->start) : slice->start; + } else { + start = 0; + } + + if (slice->has_end) { + end = (slice->end < 0) ? ((int16_t) value_length + slice->end) : slice->end; + } else { + end = value_length; + } + + if ((start >= end) || (end > value_length)) { + return false; + } + collection->value[collection->size - 1].ptr += start; + collection->value[collection->size - 1].length = (end - start); + return true; +} + +#define MAX_ARRAYS 8 + +typedef struct { + uint8_t depth; + uint8_t passes_remaining[MAX_ARRAYS]; + uint8_t index; +} s_arrays_info; + +static bool path_array(const s_array_args *array, + uint32_t *offset, + uint32_t *ref_offset, + s_arrays_info *arrays_info) { + uint8_t buf[sizeof(uint16_t)]; + uint16_t array_size; + uint16_t idx; + uint16_t start; + uint16_t end; + const uint8_t *chunk; + + if (arrays_info->index >= MAX_ARRAYS) { + return false; + } + if ((chunk = calldata_get_chunk(*offset)) == NULL) { + return false; + } + buf_shrink_expand(chunk, CALLDATA_CHUNK_SIZE, buf, sizeof(buf)); + array_size = read_u16_be(buf, 0); + + if (array->has_start) { + start = (array->start < 0) ? ((int16_t) array_size + array->start) : array->start; + } else { + start = 0; + } + + if (array->has_end) { + end = (array->end < 0) ? ((int16_t) array_size + array->end) : array->end; + } else { + end = array_size; + } + + *offset += 1; + if (arrays_info->index == arrays_info->depth) { + // new depth + arrays_info->passes_remaining[arrays_info->index] = (end - start); + arrays_info->depth += 1; + } + idx = start + ((end - start) - arrays_info->passes_remaining[arrays_info->index]); + *ref_offset = *offset; + *offset += (idx * array->weight); + arrays_info->index += 1; + return true; +} + +static void arrays_update(s_arrays_info *arrays_info) { + while (arrays_info->depth > 0) { + if ((arrays_info->passes_remaining[arrays_info->depth - 1] -= 1) > 0) { + break; + } + arrays_info->depth -= 1; + } +} + +bool data_path_get(const s_data_path *data_path, s_parsed_value_collection *collection) { + bool ret; + uint32_t offset; + uint32_t ref_offset; + s_arrays_info arinf = {0}; + + do { + arinf.index = 0; + offset = 0; + ref_offset = offset; + for (int i = 0; i < data_path->size; ++i) { + switch (data_path->elements[i].type) { + case ELEMENT_TYPE_TUPLE: + ret = path_tuple(&data_path->elements[i].tuple, &offset, &ref_offset); + break; + + case ELEMENT_TYPE_ARRAY: + ret = path_array(&data_path->elements[i].array, &offset, &ref_offset, &arinf); + break; + + case ELEMENT_TYPE_REF: + ret = path_ref(&offset, &ref_offset); + break; + + case ELEMENT_TYPE_LEAF: + ret = path_leaf(&data_path->elements[i].leaf, &offset, collection); + break; + + case ELEMENT_TYPE_SLICE: + ret = path_slice(&data_path->elements[i].slice, collection); + break; + + default: + ret = false; + } + + if (!ret) return false; + } + arrays_update(&arinf); + } while (arinf.depth > 0); + return true; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_data_path.h b/src_features/generic_tx_parser/gtp_data_path.h new file mode 100644 index 000000000..47f84bc3d --- /dev/null +++ b/src_features/generic_tx_parser/gtp_data_path.h @@ -0,0 +1,60 @@ +#ifndef GTP_DATA_PATH_H_ +#define GTP_DATA_PATH_H_ + +#include +#include +#include +#include "tlv.h" +#include "gtp_parsed_value.h" +#include "gtp_path_array.h" +#include "gtp_path_slice.h" + +#define PATH_MAX_SIZE 16 + +typedef enum { + ELEMENT_TYPE_TUPLE, + ELEMENT_TYPE_ARRAY, + ELEMENT_TYPE_REF, + ELEMENT_TYPE_LEAF, + ELEMENT_TYPE_SLICE, +} e_path_element_type; + +typedef enum { + LEAF_TYPE_ARRAY = 0x01, + LEAF_TYPE_TUPLE = 0x02, + LEAF_TYPE_STATIC = 0x03, + LEAF_TYPE_DYNAMIC = 0x04, +} e_path_leaf_type; + +typedef struct { + uint16_t value; +} s_tuple_args; + +typedef struct { + e_path_leaf_type type; +} s_leaf_args; + +typedef struct { + e_path_element_type type; + union { + s_tuple_args tuple; + s_array_args array; + s_leaf_args leaf; + s_slice_args slice; + }; +} s_path_element; + +typedef struct { + uint8_t version; + uint8_t size; + s_path_element elements[PATH_MAX_SIZE]; +} s_data_path; + +typedef struct { + s_data_path *data_path; +} s_data_path_context; + +bool handle_data_path_struct(const s_tlv_data *data, s_data_path_context *context); +bool data_path_get(const s_data_path *data_path, s_parsed_value_collection *collection); + +#endif // GTP_DATA_PATH_H_ diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c new file mode 100644 index 000000000..3562d7c0d --- /dev/null +++ b/src_features/generic_tx_parser/gtp_field.c @@ -0,0 +1,151 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include "gtp_field.h" +#include "utils.h" +#include "os_print.h" + +enum { + BIT_VERSION = 0, + BIT_NAME, + BIT_PARAM_TYPE, + BIT_PARAM, +}; + +enum { + TAG_VERSION = 0x00, + TAG_NAME = 0x01, + PARAM_TYPE = 0x02, + PARAM = 0x03, +}; + +typedef union { + s_param_raw_context raw_ctx; +} u_param_context; + +static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { + if (data->length != sizeof(context->field->version)) { + return false; + } + context->field->version = data->value[0]; + context->set_flags |= SET_BIT(BIT_VERSION); + return true; +} + +static bool handle_name(const s_tlv_data *data, s_field_ctx *context) { + str_cpy_explicit_trunc((const char *) data->value, + data->length, + context->field->name, + sizeof(context->field->name)); + context->set_flags |= SET_BIT(BIT_NAME); + return true; +} + +static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { + if (data->length != sizeof(context->field->param_type)) { + return false; + } + if (context->set_flags & SET_BIT(BIT_PARAM_TYPE)) { + PRINTF("Error: More than one PARAM_TYPE in a FIELD struct!\n"); + return false; + } + context->field->param_type = data->value[0]; + switch (context->field->param_type) { + case PARAM_TYPE_RAW: + break; + default: + PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); + return false; + } + context->set_flags |= SET_BIT(BIT_PARAM_TYPE); + return true; +} + +static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { + f_tlv_data_handler handler; + u_param_context param_ctx = {0}; + + if (context->set_flags & SET_BIT(BIT_PARAM)) { + PRINTF("Error: More than one PARAM in a FIELD struct!\n"); + return false; + } + if (!(context->set_flags & SET_BIT(BIT_PARAM_TYPE))) { + PRINTF("Error: Received PARAM without a previous PARAM_TYPE!\n"); + return false; + } + switch (context->field->param_type) { + case PARAM_TYPE_RAW: + handler = (f_tlv_data_handler) &handle_param_raw_struct; + param_ctx.raw_ctx.param = &context->field->param_raw; + break; + default: + return false; + } + context->set_flags |= SET_BIT(BIT_PARAM); + return tlv_parse(data->value, data->length, handler, ¶m_ctx); +} + +bool handle_field_struct(const s_tlv_data *data, s_field_ctx *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_NAME: + ret = handle_name(data, context); + break; + case PARAM_TYPE: + ret = handle_param_type(data, context); + break; + case PARAM: + ret = handle_param(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool verify_field_struct(const s_field_ctx *context) { + uint8_t required_bits = 0; + + // check if struct version was provided + required_bits |= SET_BIT(BIT_VERSION); + if ((context->set_flags & required_bits) != required_bits) { + PRINTF("Error: no struct version specified!\n"); + return false; + } + + // verify required fields + switch (context->field->version) { + case 1: + required_bits |= SET_BIT(BIT_NAME) | SET_BIT(BIT_PARAM_TYPE) | SET_BIT(BIT_PARAM); + break; + default: + PRINTF("Error: unsupported field struct version (%u)\n", context->field->version); + return false; + } + + if ((context->set_flags & required_bits) != required_bits) { + PRINTF("Error: missing required field(s)\n"); + return false; + } + return true; +} + +bool format_field(const s_field *field) { + bool ret; + + switch (field->param_type) { + case PARAM_TYPE_RAW: + ret = format_param_raw(&field->param_raw, field->name); + break; + default: + ret = false; + } + return ret; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h new file mode 100644 index 000000000..893d36c16 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_field.h @@ -0,0 +1,31 @@ +#ifndef GTP_FIELD_H_ +#define GTP_FIELD_H_ + +#include +#include +#include "tlv.h" +#include "gtp_param_raw.h" + +typedef enum { + PARAM_TYPE_RAW = 0, +} e_param_type; + +typedef struct { + uint8_t version; + char name[21]; + e_param_type param_type; + union { + s_param_raw param_raw; + }; +} s_field; + +typedef struct { + s_field *field; + uint8_t set_flags; +} s_field_ctx; + +bool handle_field_struct(const s_tlv_data *data, s_field_ctx *context); +bool verify_field_struct(const s_field_ctx *context); +bool format_field(const s_field *field); + +#endif // !GTP_FIELD_H_ diff --git a/src_features/generic_tx_parser/gtp_field_table.c b/src_features/generic_tx_parser/gtp_field_table.c index f8cdf570b..39569710a 100644 --- a/src_features/generic_tx_parser/gtp_field_table.c +++ b/src_features/generic_tx_parser/gtp_field_table.c @@ -58,7 +58,7 @@ void field_table_cleanup(void) { } } -bool add_to_field_table(uint8_t type, const char *key, const char *value) { +bool add_to_field_table(e_param_type type, const char *key, const char *value) { int offset = 0; uint8_t *ptr; uint8_t key_len = strlen(key) + 1; diff --git a/src_features/generic_tx_parser/gtp_field_table.h b/src_features/generic_tx_parser/gtp_field_table.h index bfa1cde34..3b43890df 100644 --- a/src_features/generic_tx_parser/gtp_field_table.h +++ b/src_features/generic_tx_parser/gtp_field_table.h @@ -3,16 +3,17 @@ #include #include +#include "gtp_field.h" typedef struct { - uint8_t type; + e_param_type type; const char *key; const char *value; } s_field_table_entry; void field_table_init(void); void field_table_cleanup(void); -bool add_to_field_table(uint8_t type, const char *key, const char *value); +bool add_to_field_table(e_param_type type, const char *key, const char *value); size_t field_table_size(void); bool get_from_field_table(int index, s_field_table_entry *entry); diff --git a/src_features/generic_tx_parser/gtp_param_raw.c b/src_features/generic_tx_parser/gtp_param_raw.c new file mode 100644 index 000000000..3003835da --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_raw.c @@ -0,0 +1,188 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include "os_print.h" +#include "gtp_param_raw.h" +#include "uint256.h" +#include "read.h" +#include "gtp_field_table.h" +#include "utils.h" +#include "shared_context.h" + +enum { + TAG_VERSION = 0x00, + TAG_VALUE = 0x01, +}; + +static bool handle_version(const s_tlv_data *data, s_param_raw_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_raw_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +bool handle_param_raw_struct(const s_tlv_data *data, s_param_raw_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_uint(const s_value *def, const s_parsed_value *value, char *buf, size_t buf_size) { + uint256_t value256; + + (void) def; + convertUint256BE(value->ptr, value->length, &value256); + return tostring256(&value256, 10, buf, buf_size); +} + +bool format_int(const s_value *def, const s_parsed_value *value, char *buf, size_t buf_size) { + uint8_t tmp[32]; + bool ret; + union { + uint256_t value256; + uint128_t value128; + int64_t value64; + int32_t value32; + int16_t value16; + int8_t value8; + } uv; + + buf_shrink_expand(value->ptr, value->length, tmp, def->type_size); + switch (def->type_size * 8) { + case 256: + convertUint256BE(tmp, def->type_size, &uv.value256); + ret = tostring256_signed(&uv.value256, 10, buf, buf_size); + break; + case 128: + convertUint128BE(tmp, def->type_size, &uv.value128); + ret = tostring128_signed(&uv.value128, 10, buf, buf_size); + break; + case 64: + uv.value64 = read_u64_be(tmp, 0); + ret = snprintf(buf, buf_size, "%" PRId64, uv.value64) > 0; + break; + case 32: + uv.value32 = read_u32_be(tmp, 0); + ret = snprintf(buf, buf_size, "%" PRId32, uv.value32) > 0; + break; + case 16: + uv.value16 = read_u16_be(tmp, 0); + ret = snprintf(buf, buf_size, "%u" PRId16, uv.value16) > 0; + break; + case 8: + uv.value8 = value->ptr[0]; + ret = snprintf(buf, buf_size, "%u" PRId8, uv.value8) > 0; + break; + default: + ret = false; + } + return ret; +} + +static bool format_addr(const s_value *def, + const s_parsed_value *value, + char *buf, + size_t buf_size) { + uint8_t tmp[ADDRESS_LENGTH]; + + (void) def; + buf_shrink_expand(value->ptr, value->length, tmp, sizeof(tmp)); + return getEthDisplayableAddress(tmp, buf, buf_size, chainConfig->chainId); +} + +static bool format_bool(const s_value *def, + const s_parsed_value *value, + char *buf, + size_t buf_size) { + uint8_t tmp; + + (void) def; + buf_shrink_expand(value->ptr, value->length, &tmp, 1); + snprintf(buf, buf_size, "%s", tmp ? "true" : "false"); + return true; +} + +static bool format_bytes(const s_value *def, + const s_parsed_value *value, + char *buf, + size_t buf_size) { + (void) def; +#pragma GCC diagnostic ignored "-Wformat" + snprintf(buf, buf_size, "0x%.*h", value->length, value->ptr); +#pragma GCC diagnostic warning "-Wformat" + if ((2 + (value->length * 2) + 1) > buf_size) { + memmove(&buf[buf_size - 1 - 3], "...", 3); + } + return true; +} + +static bool format_string(const s_value *def, + const s_parsed_value *value, + char *buf, + size_t buf_size) { + (void) def; + str_cpy_explicit_trunc((char *) value->ptr, value->length, buf, buf_size); + return true; +} + +bool format_param_raw(const s_param_raw *param, const char *name) { + bool ret = false; + s_parsed_value_collection collec; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + + if (!value_get(¶m->value, &collec)) { + return false; + } + for (int i = 0; i < collec.size; ++i) { + switch (param->value.type_family) { + case TF_UINT: + ret = format_uint(¶m->value, &collec.value[i], buf, buf_size); + break; + case TF_INT: + ret = format_int(¶m->value, &collec.value[i], buf, buf_size); + break; + case TF_ADDRESS: + ret = format_addr(¶m->value, &collec.value[i], buf, buf_size); + break; + case TF_BOOL: + ret = format_bool(¶m->value, &collec.value[i], buf, buf_size); + break; + case TF_BYTES: + ret = format_bytes(¶m->value, &collec.value[i], buf, buf_size); + break; + case TF_STRING: + ret = format_string(¶m->value, &collec.value[i], buf, buf_size); + break; + case TF_UFIXED: + case TF_FIXED: + default: + ret = false; + } + if (ret) ret = add_to_field_table(PARAM_TYPE_RAW, name, buf); + if (!ret) break; + } + return ret; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_raw.h b/src_features/generic_tx_parser/gtp_param_raw.h new file mode 100644 index 000000000..9f73c5ade --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_raw.h @@ -0,0 +1,21 @@ +#ifndef GTP_PARAM_RAW_H_ +#define GTP_PARAM_RAW_H_ + +#include +#include +#include "tlv.h" +#include "gtp_value.h" + +typedef struct { + uint8_t version; + s_value value; +} s_param_raw; + +typedef struct { + s_param_raw *param; +} s_param_raw_context; + +bool handle_param_raw_struct(const s_tlv_data *data, s_param_raw_context *context); +bool format_param_raw(const s_param_raw *param, const char *name); + +#endif // !GTP_PARAM_RAW_H_ diff --git a/src_features/generic_tx_parser/gtp_parsed_value.h b/src_features/generic_tx_parser/gtp_parsed_value.h new file mode 100644 index 000000000..2f7b4bcfc --- /dev/null +++ b/src_features/generic_tx_parser/gtp_parsed_value.h @@ -0,0 +1,18 @@ +#ifndef GTP_PARSED_VALUE_H_ +#define GTP_PARSED_VALUE_H_ + +#include + +typedef struct { + uint16_t length; + const uint8_t *ptr; +} s_parsed_value; + +#define MAX_VALUE_COLLECTION_SIZE 16 + +typedef struct { + uint8_t size; + s_parsed_value value[MAX_VALUE_COLLECTION_SIZE]; +} s_parsed_value_collection; + +#endif // !GTP_PARSED_VALUE_H_ diff --git a/src_features/generic_tx_parser/gtp_path_array.c b/src_features/generic_tx_parser/gtp_path_array.c new file mode 100644 index 000000000..84ef3af5c --- /dev/null +++ b/src_features/generic_tx_parser/gtp_path_array.c @@ -0,0 +1,62 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include +#include "gtp_path_array.h" +#include "read.h" +#include "os_print.h" +#include "utils.h" + +enum { + TAG_WEIGHT = 0x01, + TAG_START = 0x02, + TAG_END = 0x03, +}; + +static bool handle_weight(const s_tlv_data *data, s_path_array_context *context) { + if (data->length != sizeof(context->args->weight)) { + return false; + } + context->args->weight = data->value[0]; + return true; +} + +static bool handle_start(const s_tlv_data *data, s_path_array_context *context) { + if (data->length != sizeof(context->args->start)) { + return false; + } + context->args->start = read_u16_be(data->value, 0); + context->args->has_start = true; + return true; +} + +static bool handle_end(const s_tlv_data *data, s_path_array_context *context) { + if (data->length != sizeof(context->args->end)) { + return false; + } + context->args->end = read_u16_be(data->value, 0); + context->args->has_end = true; + return true; +} + +bool handle_array_struct(const s_tlv_data *data, s_path_array_context *context) { + bool ret; + + switch (data->tag) { + case TAG_WEIGHT: + ret = handle_weight(data, context); + break; + case TAG_START: + ret = handle_start(data, context); + break; + case TAG_END: + ret = handle_end(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_path_array.h b/src_features/generic_tx_parser/gtp_path_array.h new file mode 100644 index 000000000..acbfe2af2 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_path_array.h @@ -0,0 +1,22 @@ +#ifndef GTP_PATH_ARRAY_H_ +#define GTP_PATH_ARRAY_H_ + +#include +#include +#include "tlv.h" + +typedef struct { + uint8_t weight; + bool has_start; + int16_t start; + bool has_end; + int16_t end; +} s_array_args; + +typedef struct { + s_array_args *args; +} s_path_array_context; + +bool handle_array_struct(const s_tlv_data *data, s_path_array_context *context); + +#endif // !GTP_PATH_ARRAY_H_ diff --git a/src_features/generic_tx_parser/gtp_path_slice.c b/src_features/generic_tx_parser/gtp_path_slice.c new file mode 100644 index 000000000..ee5267ae0 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_path_slice.c @@ -0,0 +1,47 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include "gtp_path_slice.h" +#include "os_print.h" +#include "read.h" + +enum { + TAG_START = 0x01, + TAG_END = 0x02, +}; + +static bool handle_start(const s_tlv_data *data, s_path_slice_context *context) { + if (data->length != sizeof(context->args->start)) { + return false; + } + context->args->start = read_u16_be(data->value, 0); + context->args->has_start = true; + return true; +} + +static bool handle_end(const s_tlv_data *data, s_path_slice_context *context) { + if (data->length != sizeof(context->args->end)) { + return false; + } + context->args->end = read_u16_be(data->value, 0); + context->args->has_end = true; + return true; +} + +bool handle_slice_struct(const s_tlv_data *data, s_path_slice_context *context) { + bool ret; + + switch (data->tag) { + case TAG_START: + ret = handle_start(data, context); + break; + case TAG_END: + ret = handle_end(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_path_slice.h b/src_features/generic_tx_parser/gtp_path_slice.h new file mode 100644 index 000000000..313c6aade --- /dev/null +++ b/src_features/generic_tx_parser/gtp_path_slice.h @@ -0,0 +1,21 @@ +#ifndef GTP_PATH_SLICE_H_ +#define GTP_PATH_SLICE_H_ + +#include +#include +#include "tlv.h" + +typedef struct { + bool has_start; + int16_t start; + bool has_end; + int16_t end; +} s_slice_args; + +typedef struct { + s_slice_args *args; +} s_path_slice_context; + +bool handle_slice_struct(const s_tlv_data *data, s_path_slice_context *context); + +#endif // !GTP_PATH_SLICE_H_ diff --git a/src_features/generic_tx_parser/gtp_value.c b/src_features/generic_tx_parser/gtp_value.c new file mode 100644 index 000000000..bc4c775cc --- /dev/null +++ b/src_features/generic_tx_parser/gtp_value.c @@ -0,0 +1,162 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include "os_print.h" +#include "gtp_value.h" +#include "gtp_data_path.h" +#include "shared_context.h" // txContext +#include "apdu_constants.h" // APDU_RESPONSE_OK +#include "feature_signTx.h" // get_public_key +#include "gtp_parsed_value.h" + +enum { + TAG_VERSION = 0x00, + TAG_TYPE_FAMILY = 0x01, + TAG_TYPE_SIZE = 0x02, + TAG_DATA_PATH = 0x03, + TAG_CONTAINER_PATH = 0x04, + TAG_CONSTANT = 0x05, +}; + +static bool handle_version(const s_tlv_data *data, s_value_context *context) { + if (data->length != sizeof(uint8_t)) { + return false; + } + context->value->version = data->value[0]; + return true; +} + +static bool handle_type_family(const s_tlv_data *data, s_value_context *context) { + if (data->length != sizeof(e_type_family)) { + return false; + } + context->value->type_family = data->value[0]; + return true; +} + +static bool handle_type_size(const s_tlv_data *data, s_value_context *context) { + if (data->length != sizeof(uint8_t)) { + return false; + } + context->value->type_size = data->value[0]; + return (context->value->type_size > 0) && (context->value->type_size <= 32); +} + +static bool handle_data_path(const s_tlv_data *data, s_value_context *context) { + s_data_path_context ctx = {0}; + + ctx.data_path = &context->value->data_path; + explicit_bzero(ctx.data_path, sizeof(*ctx.data_path)); + if (!tlv_parse(data->value, + data->length, + (f_tlv_data_handler) &handle_data_path_struct, + &ctx)) { + return false; + } + context->value->source = SOURCE_CALLDATA; + return true; +} + +static bool handle_container_path(const s_tlv_data *data, s_value_context *context) { + if (data->length != sizeof(e_container_path)) { + return false; + } + context->value->container_path = data->value[0]; + context->value->source = SOURCE_RLP; + return true; +} + +static bool handle_constant(const s_tlv_data *data, s_value_context *context) { + if (data->length > sizeof(context->value->constant.buf)) { + return false; + } + context->value->constant.size = data->length; + memcpy(context->value->constant.buf, data->value, data->length); + context->value->source = SOURCE_CONSTANT; + return true; +} + +bool handle_value_struct(const s_tlv_data *data, s_value_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_TYPE_FAMILY: + ret = handle_type_family(data, context); + break; + case TAG_TYPE_SIZE: + ret = handle_type_size(data, context); + break; + case TAG_DATA_PATH: + ret = handle_data_path(data, context); + break; + case TAG_CONTAINER_PATH: + ret = handle_container_path(data, context); + break; + case TAG_CONSTANT: + ret = handle_constant(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +// have to be declared here since it is not stored anywhere else +static uint8_t from_address[ADDRESS_LENGTH]; + +bool value_get(const s_value *value, s_parsed_value_collection *collection) { + bool ret; + + switch (value->source) { + case SOURCE_CALLDATA: + collection->size = 0; + ret = data_path_get(&value->data_path, collection); + break; + + case SOURCE_RLP: + switch (value->container_path) { + case CP_FROM: + if ((ret = get_public_key(from_address, sizeof(from_address)) == + APDU_RESPONSE_OK)) { + collection->value[0].ptr = from_address; + collection->value[0].length = sizeof(from_address); + collection->size = 1; + } + break; + + case CP_TO: + collection->value[0].ptr = tmpContent.txContent.destination; + collection->value[0].length = tmpContent.txContent.destinationLength; + collection->size = 1; + ret = true; + break; + + case CP_VALUE: + collection->value[0].ptr = tmpContent.txContent.value.value; + collection->value[0].length = tmpContent.txContent.value.length; + collection->size = 1; + ret = true; + break; + + default: + ret = false; + } + break; + + case SOURCE_CONSTANT: + collection->value[0].ptr = value->constant.buf; + collection->value[0].length = value->constant.size; + collection->size = 1; + ret = true; + break; + + default: + ret = false; + } + return ret; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_value.h b/src_features/generic_tx_parser/gtp_value.h new file mode 100644 index 000000000..c6a49b376 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_value.h @@ -0,0 +1,57 @@ +#ifndef GTP_VALUE_H_ +#define GTP_VALUE_H_ + +#include +#include +#include "tlv.h" +#include "gtp_data_path.h" +#include "calldata.h" + +typedef enum { + TF_UINT = 1, + TF_INT, + TF_UFIXED, + TF_FIXED, + TF_ADDRESS, + TF_BOOL, + TF_BYTES, + TF_STRING, +} e_type_family; + +typedef enum { + CP_FROM = 0, + CP_TO, + CP_VALUE, +} e_container_path; + +typedef enum { + SOURCE_CALLDATA, + SOURCE_RLP, + SOURCE_CONSTANT, +} e_value_source; + +typedef struct { + uint8_t size; + uint8_t buf[CALLDATA_CHUNK_SIZE]; +} s_constant; + +typedef struct { + uint8_t version; + e_type_family type_family; + uint8_t type_size; + union { + s_data_path data_path; + e_container_path container_path; + s_constant constant; + }; + e_value_source source; +} s_value; + +typedef struct { + s_value *value; +} s_value_context; + +bool handle_value_struct(const s_tlv_data *data, s_value_context *context); +bool value_get(const s_value *value, s_parsed_value_collection *collection); + +#endif // !GTP_VALUE_H_ From e2b87cf0e01b6012bed59420d5a305949b2ccf25 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 16:03:46 +0100 Subject: [PATCH 52/66] Added GTP param_amount --- src_features/generic_tx_parser/gtp_field.c | 9 +++ src_features/generic_tx_parser/gtp_field.h | 3 + .../generic_tx_parser/gtp_param_amount.c | 75 +++++++++++++++++++ .../generic_tx_parser/gtp_param_amount.h | 21 ++++++ 4 files changed, 108 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_amount.c create mode 100644 src_features/generic_tx_parser/gtp_param_amount.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index 3562d7c0d..ff64fcf6e 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -21,6 +21,7 @@ enum { typedef union { s_param_raw_context raw_ctx; + s_param_amount_context amount_ctx; } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -52,6 +53,7 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { context->field->param_type = data->value[0]; switch (context->field->param_type) { case PARAM_TYPE_RAW: + case PARAM_TYPE_AMOUNT: break; default: PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); @@ -78,6 +80,10 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { handler = (f_tlv_data_handler) &handle_param_raw_struct; param_ctx.raw_ctx.param = &context->field->param_raw; break; + case PARAM_TYPE_AMOUNT: + handler = (f_tlv_data_handler) &handle_param_amount_struct; + param_ctx.amount_ctx.param = &context->field->param_amount; + break; default: return false; } @@ -142,6 +148,9 @@ bool format_field(const s_field *field) { case PARAM_TYPE_RAW: ret = format_param_raw(&field->param_raw, field->name); break; + case PARAM_TYPE_AMOUNT: + ret = format_param_amount(&field->param_amount, field->name); + break; default: ret = false; } diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index 893d36c16..2991eeb29 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -5,9 +5,11 @@ #include #include "tlv.h" #include "gtp_param_raw.h" +#include "gtp_param_amount.h" typedef enum { PARAM_TYPE_RAW = 0, + PARAM_TYPE_AMOUNT, } e_param_type; typedef struct { @@ -16,6 +18,7 @@ typedef struct { e_param_type param_type; union { s_param_raw param_raw; + s_param_amount param_amount; }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_amount.c b/src_features/generic_tx_parser/gtp_param_amount.c new file mode 100644 index 000000000..a7de6918f --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_amount.c @@ -0,0 +1,75 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include "gtp_param_amount.h" +#include "network.h" +#include "common_utils.h" +#include "gtp_field_table.h" +#include "shared_context.h" + +enum { + TAG_VERSION = 0x00, + TAG_VALUE = 0x01, +}; + +static bool handle_version(const s_tlv_data *data, s_param_amount_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_amount_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +bool handle_param_amount_struct(const s_tlv_data *data, s_param_amount_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_param_amount(const s_param_amount *param, const char *name) { + uint64_t chain_id; + const char *ticker; + s_parsed_value_collection collec; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + + if (!value_get(¶m->value, &collec)) { + return false; + } + chain_id = get_tx_chain_id(); + ticker = get_displayable_ticker(&chain_id, chainConfig); + for (int i = 0; i < collec.size; ++i) { + if (!amountToString(collec.value[i].ptr, + collec.value[i].length, + WEI_TO_ETHER, + ticker, + buf, + buf_size)) { + return false; + } + if (!add_to_field_table(PARAM_TYPE_AMOUNT, name, buf)) { + return false; + } + } + return true; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_amount.h b/src_features/generic_tx_parser/gtp_param_amount.h new file mode 100644 index 000000000..e2c9eb81a --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_amount.h @@ -0,0 +1,21 @@ +#ifndef GTP_PARAM_AMOUNT_H_ +#define GTP_PARAM_AMOUNT_H_ + +#include +#include +#include "tlv.h" +#include "gtp_value.h" + +typedef struct { + uint8_t version; + s_value value; +} s_param_amount; + +typedef struct { + s_param_amount *param; +} s_param_amount_context; + +bool handle_param_amount_struct(const s_tlv_data *data, s_param_amount_context *context); +bool format_param_amount(const s_param_amount *param, const char *name); + +#endif // !GTP_PARAM_AMOUNT_H_ From 7513e9847dc17e31560d89d81cc9fb580f6e5530 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 16:05:46 +0100 Subject: [PATCH 53/66] Added GTP param_token_amount --- src_features/generic_tx_parser/gtp_field.c | 9 + src_features/generic_tx_parser/gtp_field.h | 3 + .../gtp_param_token_amount.c | 185 ++++++++++++++++++ .../gtp_param_token_amount.h | 32 +++ 4 files changed, 229 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_token_amount.c create mode 100644 src_features/generic_tx_parser/gtp_param_token_amount.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index ff64fcf6e..c879db03e 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -22,6 +22,7 @@ enum { typedef union { s_param_raw_context raw_ctx; s_param_amount_context amount_ctx; + s_param_token_amount_context token_amount_ctx; } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -54,6 +55,7 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { switch (context->field->param_type) { case PARAM_TYPE_RAW: case PARAM_TYPE_AMOUNT: + case PARAM_TYPE_TOKEN_AMOUNT: break; default: PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); @@ -84,6 +86,10 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { handler = (f_tlv_data_handler) &handle_param_amount_struct; param_ctx.amount_ctx.param = &context->field->param_amount; break; + case PARAM_TYPE_TOKEN_AMOUNT: + handler = (f_tlv_data_handler) &handle_param_token_amount_struct; + param_ctx.token_amount_ctx.param = &context->field->param_token_amount; + break; default: return false; } @@ -151,6 +157,9 @@ bool format_field(const s_field *field) { case PARAM_TYPE_AMOUNT: ret = format_param_amount(&field->param_amount, field->name); break; + case PARAM_TYPE_TOKEN_AMOUNT: + ret = format_param_token_amount(&field->param_token_amount, field->name); + break; default: ret = false; } diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index 2991eeb29..cd92e352c 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -6,10 +6,12 @@ #include "tlv.h" #include "gtp_param_raw.h" #include "gtp_param_amount.h" +#include "gtp_param_token_amount.h" typedef enum { PARAM_TYPE_RAW = 0, PARAM_TYPE_AMOUNT, + PARAM_TYPE_TOKEN_AMOUNT, } e_param_type; typedef struct { @@ -19,6 +21,7 @@ typedef struct { union { s_param_raw param_raw; s_param_amount param_amount; + s_param_token_amount param_token_amount; }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_token_amount.c b/src_features/generic_tx_parser/gtp_param_token_amount.c new file mode 100644 index 000000000..b68df1b31 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_token_amount.c @@ -0,0 +1,185 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include +#include "gtp_param_token_amount.h" +#include "network.h" +#include "utils.h" +#include "gtp_field_table.h" +#include "manage_asset_info.h" + +enum { + TAG_VERSION = 0x00, + TAG_VALUE = 0x01, + TAG_TOKEN = 0x02, + TAG_NATIVE_CURRENCY = 0x03, + TAG_THRESHOLD = 0x04, + TAG_ABOVE_THRESHOLD_MSG = 0x05, +}; + +static bool handle_version(const s_tlv_data *data, s_param_token_amount_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_token_amount_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +static bool handle_token(const s_tlv_data *data, s_param_token_amount_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->token; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + context->param->has_token = true; + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +static bool handle_native_currency(const s_tlv_data *data, s_param_token_amount_context *context) { + if (data->length > ADDRESS_LENGTH) { + return false; + } + if (context->param->native_addr_count == MAX_NATIVE_ADDRS) { + return false; + } + memcpy(&context->param + ->native_addrs[context->param->native_addr_count][ADDRESS_LENGTH - data->length], + data->value, + data->length); + context->param->native_addr_count += 1; + return true; +} + +static bool handle_threshold(const s_tlv_data *data, s_param_token_amount_context *context) { + if (data->length > sizeof(uint256_t)) { + return false; + } + convertUint256BE(data->value, data->length, &context->param->threshold); + return true; +} + +static bool handle_above_threshold_msg(const s_tlv_data *data, + s_param_token_amount_context *context) { + if (data->length >= sizeof(context->param->above_threshold_msg)) { + return false; + } + memcpy(context->param->above_threshold_msg, data->value, data->length); + context->param->above_threshold_msg[data->length] = '\0'; + return true; +} + +bool handle_param_token_amount_struct(const s_tlv_data *data, + s_param_token_amount_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + case TAG_TOKEN: + ret = handle_token(data, context); + break; + case TAG_NATIVE_CURRENCY: + ret = handle_native_currency(data, context); + break; + case TAG_THRESHOLD: + ret = handle_threshold(data, context); + break; + case TAG_ABOVE_THRESHOLD_MSG: + ret = handle_above_threshold_msg(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +static bool match_native(const uint8_t *addr, const s_param_token_amount *param) { + for (int i = 0; i < param->native_addr_count; ++i) { + if (memcmp(addr, param->native_addrs[i], ADDRESS_LENGTH) == 0) { + return true; + } + } + return false; +} + +bool format_param_token_amount(const s_param_token_amount *param, const char *name) { + s_parsed_value_collection collec_value; + s_parsed_value_collection collec_token; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + uint8_t addr_buf[ADDRESS_LENGTH]; + + if (!value_get(¶m->value, &collec_value)) { + return false; + } + if (param->has_token) { + if (!value_get(¶m->token, &collec_token)) { + return false; + } + if (collec_value.size != collec_token.size) { + PRINTF("Error: mismatch between counts of value & token!\n"); + return false; + } + } else { + explicit_bzero(&collec_token, sizeof(collec_token)); + } + uint64_t chain_id = get_tx_chain_id(); + const char *ticker = g_unknown_ticker; + uint8_t decimals = 0; + for (int i = 0; i < collec_value.size; ++i) { + if (param->has_token) { + buf_shrink_expand(collec_token.value[i].ptr, + collec_token.value[i].length, + addr_buf, + sizeof(addr_buf)); + if (match_native(addr_buf, param)) { + ticker = get_displayable_ticker(&chain_id, chainConfig); + decimals = WEI_TO_ETHER; + } else { + const tokenDefinition_t *token; + if ((token = (const tokenDefinition_t *) get_asset_info_by_addr(addr_buf)) != + NULL) { + ticker = token->ticker; + decimals = token->decimals; + } + } + } + uint256_t zero256 = {0}; + uint256_t val256; + + convertUint256BE(collec_value.value[i].ptr, collec_value.value[i].length, &val256); + if (!equal256(¶m->threshold, &zero256) && gte256(&val256, ¶m->threshold)) { + if (param->above_threshold_msg[0] != '\0') { + snprintf(buf, buf_size, "%s %s", param->above_threshold_msg, ticker); + } else { + snprintf(buf, buf_size, "Unlimited %s", ticker); + } + } else { + if (!amountToString(collec_value.value[i].ptr, + collec_value.value[i].length, + decimals, + ticker, + buf, + buf_size)) { + return false; + } + } + if (!add_to_field_table(PARAM_TYPE_AMOUNT, name, buf)) { + return false; + } + } + return true; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_token_amount.h b/src_features/generic_tx_parser/gtp_param_token_amount.h new file mode 100644 index 000000000..fb29a8391 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_token_amount.h @@ -0,0 +1,32 @@ +#ifndef GTP_PARAM_TOKEN_AMOUNT_H_ +#define GTP_PARAM_TOKEN_AMOUNT_H_ + +#include +#include +#include "uint256.h" +#include "tlv.h" +#include "gtp_value.h" +#include "common_utils.h" + +#define MAX_NATIVE_ADDRS 4 + +typedef struct { + uint8_t version; + s_value value; + bool has_token; + s_value token; + uint8_t native_addr_count; + uint8_t native_addrs[MAX_NATIVE_ADDRS][ADDRESS_LENGTH]; + uint256_t threshold; + char above_threshold_msg[21]; +} s_param_token_amount; + +typedef struct { + s_param_token_amount *param; +} s_param_token_amount_context; + +bool handle_param_token_amount_struct(const s_tlv_data *data, + s_param_token_amount_context *context); +bool format_param_token_amount(const s_param_token_amount *param, const char *name); + +#endif // !GTP_PARAM_TOKEN_AMOUNT_H_ From 3dcf42a1d40d94efd735c7b04b6ebbd150bcd11a Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 16:58:34 +0100 Subject: [PATCH 54/66] Added GTP param_nft --- src_features/generic_tx_parser/gtp_field.c | 17 ++++ src_features/generic_tx_parser/gtp_field.h | 5 + .../generic_tx_parser/gtp_param_nft.c | 98 +++++++++++++++++++ .../generic_tx_parser/gtp_param_nft.h | 26 +++++ 4 files changed, 146 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_nft.c create mode 100644 src_features/generic_tx_parser/gtp_param_nft.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index c879db03e..44705d4ac 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -23,6 +23,9 @@ typedef union { s_param_raw_context raw_ctx; s_param_amount_context amount_ctx; s_param_token_amount_context token_amount_ctx; +#ifdef HAVE_NFT_SUPPORT + s_param_nft_context nft_ctx; +#endif } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -56,6 +59,9 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { case PARAM_TYPE_RAW: case PARAM_TYPE_AMOUNT: case PARAM_TYPE_TOKEN_AMOUNT: +#ifdef HAVE_NFT_SUPPORT + case PARAM_TYPE_NFT: +#endif break; default: PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); @@ -90,6 +96,12 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { handler = (f_tlv_data_handler) &handle_param_token_amount_struct; param_ctx.token_amount_ctx.param = &context->field->param_token_amount; break; +#ifdef HAVE_NFT_SUPPORT + case PARAM_TYPE_NFT: + handler = (f_tlv_data_handler) &handle_param_nft_struct; + param_ctx.nft_ctx.param = &context->field->param_nft; + break; +#endif default: return false; } @@ -160,6 +172,11 @@ bool format_field(const s_field *field) { case PARAM_TYPE_TOKEN_AMOUNT: ret = format_param_token_amount(&field->param_token_amount, field->name); break; +#ifdef HAVE_NFT_SUPPORT + case PARAM_TYPE_NFT: + ret = format_param_nft(&field->param_nft, field->name); + break; +#endif default: ret = false; } diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index cd92e352c..1619cad27 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -7,11 +7,13 @@ #include "gtp_param_raw.h" #include "gtp_param_amount.h" #include "gtp_param_token_amount.h" +#include "gtp_param_nft.h" typedef enum { PARAM_TYPE_RAW = 0, PARAM_TYPE_AMOUNT, PARAM_TYPE_TOKEN_AMOUNT, + PARAM_TYPE_NFT, } e_param_type; typedef struct { @@ -22,6 +24,9 @@ typedef struct { s_param_raw param_raw; s_param_amount param_amount; s_param_token_amount param_token_amount; +#ifdef HAVE_NFT_SUPPORT + s_param_nft param_nft; +#endif }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_nft.c b/src_features/generic_tx_parser/gtp_param_nft.c new file mode 100644 index 000000000..9a3d97b01 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_nft.c @@ -0,0 +1,98 @@ +#ifdef HAVE_GENERIC_TX_PARSER +#ifdef HAVE_NFT_SUPPORT + +#include "gtp_param_nft.h" +#include "manage_asset_info.h" +#include "utils.h" +#include "gtp_field_table.h" + +enum { TAG_VERSION = 0x00, TAG_ID = 0x01, TAG_COLLECTION = 0x02 }; + +static bool handle_version(const s_tlv_data *data, s_param_nft_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_id(const s_tlv_data *data, s_param_nft_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->id; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +static bool handle_collection(const s_tlv_data *data, s_param_nft_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->collection; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +bool handle_param_nft_struct(const s_tlv_data *data, s_param_nft_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_ID: + ret = handle_id(data, context); + break; + case TAG_COLLECTION: + ret = handle_collection(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_param_nft(const s_param_nft *param, const char *name) { + s_parsed_value_collection collections; + s_parsed_value_collection ids; + const extraInfo_t *asset; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + uint8_t collection_idx; + uint8_t addr_buf[ADDRESS_LENGTH]; + char tmp[80]; + + if (!value_get(¶m->collection, &collections)) { + return false; + } + if (!value_get(¶m->id, &ids)) { + return false; + } + if (collections.size == 0) { + return false; + } + if ((collections.size != 1) && (collections.size != ids.size)) { + return false; + } + for (int i = 0; i < ids.size; ++i) { + collection_idx = (i >= collections.size) ? 0 : i; + buf_shrink_expand(collections.value[collection_idx].ptr, + collections.value[collection_idx].length, + addr_buf, + sizeof(addr_buf)); + if ((asset = (const extraInfo_t *) get_asset_info_by_addr(addr_buf)) == NULL) { + return false; + } + if (!uint256_to_decimal(ids.value[i].ptr, ids.value[i].length, tmp, sizeof(tmp))) { + return false; + } + snprintf(buf, buf_size, "%s #%s", asset->nft.collectionName, tmp); + if (!add_to_field_table(PARAM_TYPE_NFT, name, buf)) { + return false; + } + } + return true; +} + +#endif // HAVE_NFT_SUPPORT +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_nft.h b/src_features/generic_tx_parser/gtp_param_nft.h new file mode 100644 index 000000000..f7fcfc1ab --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_nft.h @@ -0,0 +1,26 @@ +#ifndef GTP_PARAM_NFT_H_ +#define GTP_PARAM_NFT_H_ + +#ifdef HAVE_NFT_SUPPORT + +#include +#include +#include "tlv.h" +#include "gtp_value.h" + +typedef struct { + uint8_t version; + s_value id; + s_value collection; +} s_param_nft; + +typedef struct { + s_param_nft *param; +} s_param_nft_context; + +bool handle_param_nft_struct(const s_tlv_data *data, s_param_nft_context *context); +bool format_param_nft(const s_param_nft *param, const char *name); + +#endif + +#endif // !GTP_PARAM_NFT_H_ From 4d137b917d736df4bcb52fa495fecb7d6c36e988 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 17:08:35 +0100 Subject: [PATCH 55/66] Added GTP param_datetime --- src_features/generic_tx_parser/gtp_field.c | 9 ++ src_features/generic_tx_parser/gtp_field.h | 3 + .../generic_tx_parser/gtp_param_datetime.c | 104 ++++++++++++++++++ .../generic_tx_parser/gtp_param_datetime.h | 27 +++++ 4 files changed, 143 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_datetime.c create mode 100644 src_features/generic_tx_parser/gtp_param_datetime.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index 44705d4ac..07b3f4247 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -26,6 +26,7 @@ typedef union { #ifdef HAVE_NFT_SUPPORT s_param_nft_context nft_ctx; #endif + s_param_datetime_context datetime_ctx; } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -62,6 +63,7 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { #ifdef HAVE_NFT_SUPPORT case PARAM_TYPE_NFT: #endif + case PARAM_TYPE_DATETIME: break; default: PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); @@ -102,6 +104,10 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { param_ctx.nft_ctx.param = &context->field->param_nft; break; #endif + case PARAM_TYPE_DATETIME: + handler = (f_tlv_data_handler) &handle_param_datetime_struct; + param_ctx.datetime_ctx.param = &context->field->param_datetime; + break; default: return false; } @@ -177,6 +183,9 @@ bool format_field(const s_field *field) { ret = format_param_nft(&field->param_nft, field->name); break; #endif + case PARAM_TYPE_DATETIME: + ret = format_param_datetime(&field->param_datetime, field->name); + break; default: ret = false; } diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index 1619cad27..33a886b39 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -8,12 +8,14 @@ #include "gtp_param_amount.h" #include "gtp_param_token_amount.h" #include "gtp_param_nft.h" +#include "gtp_param_datetime.h" typedef enum { PARAM_TYPE_RAW = 0, PARAM_TYPE_AMOUNT, PARAM_TYPE_TOKEN_AMOUNT, PARAM_TYPE_NFT, + PARAM_TYPE_DATETIME, } e_param_type; typedef struct { @@ -27,6 +29,7 @@ typedef struct { #ifdef HAVE_NFT_SUPPORT s_param_nft param_nft; #endif + s_param_datetime param_datetime; }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_datetime.c b/src_features/generic_tx_parser/gtp_param_datetime.c new file mode 100644 index 000000000..ca3fdade0 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_datetime.c @@ -0,0 +1,104 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include "gtp_param_datetime.h" +#include "gtp_field_table.h" +#include "read.h" +#include "time_format.h" +#include "utils.h" +#include "shared_context.h" + +enum { + TAG_VERSION = 0x00, + TAG_VALUE = 0x01, + TAG_TYPE = 0x02, +}; + +static bool handle_version(const s_tlv_data *data, s_param_datetime_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_datetime_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +static bool handle_type(const s_tlv_data *data, s_param_datetime_context *context) { + if (data->length != sizeof(context->param->type)) { + return false; + } + switch (data->value[0]) { + case DT_UNIX: + case DT_BLOCKHEIGHT: + break; + default: + return false; + } + context->param->type = data->value[0]; + return true; +} + +bool handle_param_datetime_struct(const s_tlv_data *data, s_param_datetime_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + case TAG_TYPE: + ret = handle_type(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_param_datetime(const s_param_datetime *param, const char *name) { + s_parsed_value_collection collec; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + uint8_t time_buf[sizeof(uint32_t)]; + time_t timestamp; + uint256_t block_height; + + if (!value_get(¶m->value, &collec)) { + return false; + } + for (int i = 0; i < collec.size; ++i) { + switch (param->type) { + case DT_UNIX: + buf_shrink_expand(collec.value[i].ptr, + collec.value[i].length, + time_buf, + sizeof(time_buf)); + timestamp = read_u32_be(time_buf, 0); + if (!time_format_to_utc(×tamp, buf, buf_size)) { + return false; + } + break; + case DT_BLOCKHEIGHT: + convertUint256BE(collec.value[i].ptr, collec.value[i].length, &block_height); + if (!tostring256(&block_height, 10, buf, buf_size)) { + return false; + } + break; + } + if (!add_to_field_table(PARAM_TYPE_DATETIME, name, buf)) { + return false; + } + } + return true; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_datetime.h b/src_features/generic_tx_parser/gtp_param_datetime.h new file mode 100644 index 000000000..0d3c955c2 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_datetime.h @@ -0,0 +1,27 @@ +#ifndef GTP_PARAM_DATETIME_H_ +#define GTP_PARAM_DATETIME_H_ + +#include +#include +#include "tlv.h" +#include "gtp_value.h" + +typedef enum { + DT_UNIX = 0, + DT_BLOCKHEIGHT = 1, +} e_datetime_type; + +typedef struct { + uint8_t version; + s_value value; + e_datetime_type type; +} s_param_datetime; + +typedef struct { + s_param_datetime *param; +} s_param_datetime_context; + +bool handle_param_datetime_struct(const s_tlv_data *data, s_param_datetime_context *context); +bool format_param_datetime(const s_param_datetime *param, const char *name); + +#endif // !GTP_PARAM_DATETIME_H_ From ccdf5d4a18d69a3c14e7abee95494584a06f3054 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 17:02:21 +0100 Subject: [PATCH 56/66] Added GTP param_duration --- src_features/generic_tx_parser/gtp_field.c | 9 ++ src_features/generic_tx_parser/gtp_field.h | 3 + .../generic_tx_parser/gtp_param_duration.c | 107 ++++++++++++++++++ .../generic_tx_parser/gtp_param_duration.h | 21 ++++ 4 files changed, 140 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_duration.c create mode 100644 src_features/generic_tx_parser/gtp_param_duration.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index 07b3f4247..aeec3ddcc 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -27,6 +27,7 @@ typedef union { s_param_nft_context nft_ctx; #endif s_param_datetime_context datetime_ctx; + s_param_duration_context duration_ctx; } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -64,6 +65,7 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { case PARAM_TYPE_NFT: #endif case PARAM_TYPE_DATETIME: + case PARAM_TYPE_DURATION: break; default: PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); @@ -108,6 +110,10 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { handler = (f_tlv_data_handler) &handle_param_datetime_struct; param_ctx.datetime_ctx.param = &context->field->param_datetime; break; + case PARAM_TYPE_DURATION: + handler = (f_tlv_data_handler) &handle_param_duration_struct; + param_ctx.duration_ctx.param = &context->field->param_duration; + break; default: return false; } @@ -186,6 +192,9 @@ bool format_field(const s_field *field) { case PARAM_TYPE_DATETIME: ret = format_param_datetime(&field->param_datetime, field->name); break; + case PARAM_TYPE_DURATION: + ret = format_param_duration(&field->param_duration, field->name); + break; default: ret = false; } diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index 33a886b39..f10df171a 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -9,6 +9,7 @@ #include "gtp_param_token_amount.h" #include "gtp_param_nft.h" #include "gtp_param_datetime.h" +#include "gtp_param_duration.h" typedef enum { PARAM_TYPE_RAW = 0, @@ -16,6 +17,7 @@ typedef enum { PARAM_TYPE_TOKEN_AMOUNT, PARAM_TYPE_NFT, PARAM_TYPE_DATETIME, + PARAM_TYPE_DURATION, } e_param_type; typedef struct { @@ -30,6 +32,7 @@ typedef struct { s_param_nft param_nft; #endif s_param_datetime param_datetime; + s_param_duration param_duration; }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_duration.c b/src_features/generic_tx_parser/gtp_param_duration.c new file mode 100644 index 000000000..d55a94e58 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_duration.c @@ -0,0 +1,107 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include "gtp_param_duration.h" +#include "read.h" +#include "gtp_field_table.h" +#include "utils.h" +#include "shared_context.h" + +#define SECONDS_IN_MINUTE 60 +#define MINUTES_IN_HOUR 60 +#define SECONDS_IN_HOUR (SECONDS_IN_MINUTE * MINUTES_IN_HOUR) +#define HOURS_IN_DAY 24 +#define MINUTES_IN_DAY (HOURS_IN_DAY * MINUTES_IN_HOUR) +#define SECONDS_IN_DAY (MINUTES_IN_DAY * SECONDS_IN_MINUTE) + +enum { + TAG_VERSION = 0x00, + TAG_VALUE = 0x01, +}; + +static bool handle_version(const s_tlv_data *data, s_param_duration_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_duration_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +bool handle_param_duration_struct(const s_tlv_data *data, s_param_duration_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_param_duration(const s_param_duration *param, const char *name) { + s_parsed_value_collection collec; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + uint16_t days; + uint8_t hours; + uint8_t minutes; + uint8_t seconds; + uint64_t remaining; + uint8_t raw_buf[sizeof(remaining)]; + int off; + + if (!value_get(¶m->value, &collec)) { + return false; + } + for (int i = 0; i < collec.size; ++i) { + off = 0; + buf_shrink_expand(collec.value[i].ptr, collec.value[i].length, raw_buf, sizeof(raw_buf)); + remaining = read_u64_be(raw_buf, 0); + + days = remaining / SECONDS_IN_DAY; + if (days > 0) { + snprintf(&buf[off], buf_size - off, "%dd", days); + off = strlen(buf); + } + remaining %= SECONDS_IN_DAY; + + hours = remaining / SECONDS_IN_HOUR; + if (hours > 0) { + snprintf(&buf[off], buf_size - off, "%02dh", hours); + off = strlen(buf); + } + remaining %= SECONDS_IN_HOUR; + + minutes = remaining / SECONDS_IN_MINUTE; + if (minutes > 0) { + snprintf(&buf[off], buf_size - off, "%02dm", minutes); + off = strlen(buf); + } + remaining %= SECONDS_IN_MINUTE; + + seconds = (uint8_t) remaining; + if ((seconds > 0) || (off == 0)) { + snprintf(&buf[off], buf_size - off, "%02ds", seconds); + } + + if (!add_to_field_table(PARAM_TYPE_DURATION, name, buf)) { + return false; + } + } + return true; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_duration.h b/src_features/generic_tx_parser/gtp_param_duration.h new file mode 100644 index 000000000..c1fb74632 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_duration.h @@ -0,0 +1,21 @@ +#ifndef GTP_PARAM_DURATION_H_ +#define GTP_PARAM_DURATION_H_ + +#include +#include +#include "tlv.h" +#include "gtp_value.h" + +typedef struct { + uint8_t version; + s_value value; +} s_param_duration; + +typedef struct { + s_param_duration *param; +} s_param_duration_context; + +bool handle_param_duration_struct(const s_tlv_data *data, s_param_duration_context *context); +bool format_param_duration(const s_param_duration *param, const char *name); + +#endif // !GTP_PARAM_DURATION_H_ From 3e375e30001ae420e1dd3859af99d02434371fad Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 17:03:48 +0100 Subject: [PATCH 57/66] Added GTP param_unit --- src_features/generic_tx_parser/gtp_field.c | 9 ++ src_features/generic_tx_parser/gtp_field.h | 3 + .../generic_tx_parser/gtp_param_unit.c | 113 ++++++++++++++++++ .../generic_tx_parser/gtp_param_unit.h | 23 ++++ 4 files changed, 148 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_unit.c create mode 100644 src_features/generic_tx_parser/gtp_param_unit.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index aeec3ddcc..7dceef4d8 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -28,6 +28,7 @@ typedef union { #endif s_param_datetime_context datetime_ctx; s_param_duration_context duration_ctx; + s_param_unit_context unit_ctx; } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -66,6 +67,7 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { #endif case PARAM_TYPE_DATETIME: case PARAM_TYPE_DURATION: + case PARAM_TYPE_UNIT: break; default: PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); @@ -114,6 +116,10 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { handler = (f_tlv_data_handler) &handle_param_duration_struct; param_ctx.duration_ctx.param = &context->field->param_duration; break; + case PARAM_TYPE_UNIT: + handler = (f_tlv_data_handler) &handle_param_unit_struct; + param_ctx.unit_ctx.param = &context->field->param_unit; + break; default: return false; } @@ -195,6 +201,9 @@ bool format_field(const s_field *field) { case PARAM_TYPE_DURATION: ret = format_param_duration(&field->param_duration, field->name); break; + case PARAM_TYPE_UNIT: + ret = format_param_unit(&field->param_unit, field->name); + break; default: ret = false; } diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index f10df171a..db75e954b 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -10,6 +10,7 @@ #include "gtp_param_nft.h" #include "gtp_param_datetime.h" #include "gtp_param_duration.h" +#include "gtp_param_unit.h" typedef enum { PARAM_TYPE_RAW = 0, @@ -18,6 +19,7 @@ typedef enum { PARAM_TYPE_NFT, PARAM_TYPE_DATETIME, PARAM_TYPE_DURATION, + PARAM_TYPE_UNIT, } e_param_type; typedef struct { @@ -33,6 +35,7 @@ typedef struct { #endif s_param_datetime param_datetime; s_param_duration param_duration; + s_param_unit param_unit; }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_unit.c b/src_features/generic_tx_parser/gtp_param_unit.c new file mode 100644 index 000000000..af00f84cb --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_unit.c @@ -0,0 +1,113 @@ +#ifdef HAVE_GENERIC_TX_PARSER + +#include "gtp_param_unit.h" +#include "gtp_field_table.h" +#include "shared_context.h" + +enum { + TAG_VERSION = 0x00, + TAG_VALUE = 0x01, + TAG_BASE = 0x02, + TAG_DECIMALS = 0x03, + TAG_PREFIX = 0x04, +}; + +static bool handle_version(const s_tlv_data *data, s_param_unit_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_unit_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +static bool handle_base(const s_tlv_data *data, s_param_unit_context *context) { + if (data->length >= sizeof(context->param->base)) { + return false; + } + memcpy(context->param->base, data->value, data->length); + context->param->base[data->length] = '\0'; + return true; +} + +static bool handle_decimals(const s_tlv_data *data, s_param_unit_context *context) { + if (data->length != sizeof(context->param->decimals)) { + return false; + } + context->param->decimals = data->value[0]; + return true; +} + +static bool handle_prefix(const s_tlv_data *data, s_param_unit_context *context) { + if (data->length != sizeof(bool)) { + return false; + } + (void) context; + // unused for now + return true; +} + +bool handle_param_unit_struct(const s_tlv_data *data, s_param_unit_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + case TAG_BASE: + ret = handle_base(data, context); + break; + case TAG_DECIMALS: + ret = handle_decimals(data, context); + break; + case TAG_PREFIX: + ret = handle_prefix(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_param_unit(const s_param_unit *param, const char *name) { + s_parsed_value_collection collec; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + char tmp[80]; + size_t off; + + if (!value_get(¶m->value, &collec)) { + return false; + } + for (int i = 0; i < collec.size; ++i) { + if (!uint256_to_decimal(collec.value[i].ptr, collec.value[i].length, tmp, sizeof(tmp))) { + return false; + } + if (!adjustDecimals(tmp, strnlen(tmp, sizeof(tmp)), buf, buf_size, param->decimals)) { + return false; + } + if (param->base[0] == '\0') { + return false; + } + off = strlen(buf); + snprintf(&buf[off], buf_size - off, " %s", param->base); + + if (!add_to_field_table(PARAM_TYPE_UNIT, name, buf)) { + return false; + } + } + return true; +} + +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_unit.h b/src_features/generic_tx_parser/gtp_param_unit.h new file mode 100644 index 000000000..9930ce312 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_unit.h @@ -0,0 +1,23 @@ +#ifndef GTP_PARAM_UNIT_H_ +#define GTP_PARAM_UNIT_H_ + +#include +#include +#include "tlv.h" +#include "gtp_value.h" + +typedef struct { + uint8_t version; + s_value value; + char base[11]; + uint8_t decimals; +} s_param_unit; + +typedef struct { + s_param_unit *param; +} s_param_unit_context; + +bool handle_param_unit_struct(const s_tlv_data *data, s_param_unit_context *context); +bool format_param_unit(const s_param_unit *param, const char *name); + +#endif // !GTP_PARAM_UNIT_H_ From 27a5e993fff3387536467b1789a0aecebae30747 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 17:05:28 +0100 Subject: [PATCH 58/66] Added GTP param_enum --- src_features/generic_tx_parser/gtp_field.c | 17 ++++ src_features/generic_tx_parser/gtp_field.h | 5 + .../generic_tx_parser/gtp_param_enum.c | 91 +++++++++++++++++++ .../generic_tx_parser/gtp_param_enum.h | 26 ++++++ 4 files changed, 139 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_enum.c create mode 100644 src_features/generic_tx_parser/gtp_param_enum.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index 7dceef4d8..09e5e6f50 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -29,6 +29,9 @@ typedef union { s_param_datetime_context datetime_ctx; s_param_duration_context duration_ctx; s_param_unit_context unit_ctx; +#ifdef HAVE_ENUM_VALUE + s_param_enum_context enum_ctx; +#endif } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -68,6 +71,9 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { case PARAM_TYPE_DATETIME: case PARAM_TYPE_DURATION: case PARAM_TYPE_UNIT: +#ifdef HAVE_ENUM_VALUE + case PARAM_TYPE_ENUM: +#endif break; default: PRINTF("Error: Unsupported param type (%u)\n", context->field->param_type); @@ -120,6 +126,12 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { handler = (f_tlv_data_handler) &handle_param_unit_struct; param_ctx.unit_ctx.param = &context->field->param_unit; break; +#ifdef HAVE_ENUM_VALUE + case PARAM_TYPE_ENUM: + handler = (f_tlv_data_handler) &handle_param_enum_struct; + param_ctx.enum_ctx.param = &context->field->param_enum; + break; +#endif default: return false; } @@ -204,6 +216,11 @@ bool format_field(const s_field *field) { case PARAM_TYPE_UNIT: ret = format_param_unit(&field->param_unit, field->name); break; +#ifdef HAVE_ENUM_VALUE + case PARAM_TYPE_ENUM: + ret = format_param_enum(&field->param_enum, field->name); + break; +#endif default: ret = false; } diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index db75e954b..cd608f742 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -11,6 +11,7 @@ #include "gtp_param_datetime.h" #include "gtp_param_duration.h" #include "gtp_param_unit.h" +#include "gtp_param_enum.h" typedef enum { PARAM_TYPE_RAW = 0, @@ -20,6 +21,7 @@ typedef enum { PARAM_TYPE_DATETIME, PARAM_TYPE_DURATION, PARAM_TYPE_UNIT, + PARAM_TYPE_ENUM, } e_param_type; typedef struct { @@ -36,6 +38,9 @@ typedef struct { s_param_datetime param_datetime; s_param_duration param_duration; s_param_unit param_unit; +#ifdef HAVE_ENUM_VALUE + s_param_enum param_enum; +#endif }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_enum.c b/src_features/generic_tx_parser/gtp_param_enum.c new file mode 100644 index 000000000..15d90a2f4 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_enum.c @@ -0,0 +1,91 @@ +#ifdef HAVE_GENERIC_TX_PARSER +#ifdef HAVE_ENUM_VALUE + +#include "gtp_param_enum.h" +#include "network.h" +#include "enum_value.h" +#include "gtp_field_table.h" +#include "calldata.h" +#include "shared_context.h" + +enum { + TAG_VERSION = 0x00, + TAG_ID = 0x01, + TAG_VALUE = 0x02, +}; + +static bool handle_version(const s_tlv_data *data, s_param_enum_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_id(const s_tlv_data *data, s_param_enum_context *context) { + if (data->length != sizeof(context->param->id)) { + return false; + } + context->param->id = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_enum_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +bool handle_param_enum_struct(const s_tlv_data *data, s_param_enum_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_ID: + ret = handle_id(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_param_enum(const s_param_enum *param, const char *name) { + uint64_t chain_id; + s_parsed_value_collection collec; + const char *enum_name; + uint8_t value; + const uint8_t *selector; + + if (!value_get(¶m->value, &collec)) { + return false; + } + chain_id = get_tx_chain_id(); + for (int i = 0; i < collec.size; ++i) { + if (collec.value[i].length == 0) return false; + value = collec.value[i].ptr[collec.value[i].length - 1]; + if ((selector = calldata_get_selector()) == NULL) { + return false; + } + enum_name = get_matching_enum_name(&chain_id, + txContext.content->destination, + selector, + param->id, + value); + if (!add_to_field_table(PARAM_TYPE_ENUM, name, enum_name)) { + return false; + } + } + return true; +} + +#endif // HAVE_ENUM_VALUE +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_enum.h b/src_features/generic_tx_parser/gtp_param_enum.h new file mode 100644 index 000000000..2bfddaa45 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_enum.h @@ -0,0 +1,26 @@ +#ifndef GTP_PARAM_ENUM_H_ +#define GTP_PARAM_ENUM_H_ + +#ifdef HAVE_ENUM_VALUE + +#include +#include +#include "tlv.h" +#include "gtp_value.h" + +typedef struct { + uint8_t version; + uint8_t id; + s_value value; +} s_param_enum; + +typedef struct { + s_param_enum *param; +} s_param_enum_context; + +bool handle_param_enum_struct(const s_tlv_data *data, s_param_enum_context *context); +bool format_param_enum(const s_param_enum *param, const char *name); + +#endif + +#endif // !GTP_PARAM_ENUM_H_ From 3ac3e87bc2e686a2fea9535ea07ace0a74603205 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 17:09:36 +0100 Subject: [PATCH 59/66] Added GTP param_trusted_name --- src_features/generic_tx_parser/gtp_field.c | 17 +++ src_features/generic_tx_parser/gtp_field.h | 5 + .../gtp_param_trusted_name.c | 111 ++++++++++++++++++ .../gtp_param_trusted_name.h | 31 +++++ 4 files changed, 164 insertions(+) create mode 100644 src_features/generic_tx_parser/gtp_param_trusted_name.c create mode 100644 src_features/generic_tx_parser/gtp_param_trusted_name.h diff --git a/src_features/generic_tx_parser/gtp_field.c b/src_features/generic_tx_parser/gtp_field.c index 09e5e6f50..9bec0c2f8 100644 --- a/src_features/generic_tx_parser/gtp_field.c +++ b/src_features/generic_tx_parser/gtp_field.c @@ -32,6 +32,9 @@ typedef union { #ifdef HAVE_ENUM_VALUE s_param_enum_context enum_ctx; #endif +#ifdef HAVE_TRUSTED_NAME + s_param_trusted_name_context trusted_name_ctx; +#endif } u_param_context; static bool handle_version(const s_tlv_data *data, s_field_ctx *context) { @@ -73,6 +76,9 @@ static bool handle_param_type(const s_tlv_data *data, s_field_ctx *context) { case PARAM_TYPE_UNIT: #ifdef HAVE_ENUM_VALUE case PARAM_TYPE_ENUM: +#endif +#ifdef HAVE_TRUSTED_NAME + case PARAM_TYPE_TRUSTED_NAME: #endif break; default: @@ -131,6 +137,12 @@ static bool handle_param(const s_tlv_data *data, s_field_ctx *context) { handler = (f_tlv_data_handler) &handle_param_enum_struct; param_ctx.enum_ctx.param = &context->field->param_enum; break; +#endif +#ifdef HAVE_TRUSTED_NAME + case PARAM_TYPE_TRUSTED_NAME: + handler = (f_tlv_data_handler) &handle_param_trusted_name_struct; + param_ctx.trusted_name_ctx.param = &context->field->param_trusted_name; + break; #endif default: return false; @@ -220,6 +232,11 @@ bool format_field(const s_field *field) { case PARAM_TYPE_ENUM: ret = format_param_enum(&field->param_enum, field->name); break; +#endif +#ifdef HAVE_TRUSTED_NAME + case PARAM_TYPE_TRUSTED_NAME: + ret = format_param_trusted_name(&field->param_trusted_name, field->name); + break; #endif default: ret = false; diff --git a/src_features/generic_tx_parser/gtp_field.h b/src_features/generic_tx_parser/gtp_field.h index cd608f742..2a5002f64 100644 --- a/src_features/generic_tx_parser/gtp_field.h +++ b/src_features/generic_tx_parser/gtp_field.h @@ -12,6 +12,7 @@ #include "gtp_param_duration.h" #include "gtp_param_unit.h" #include "gtp_param_enum.h" +#include "gtp_param_trusted_name.h" typedef enum { PARAM_TYPE_RAW = 0, @@ -22,6 +23,7 @@ typedef enum { PARAM_TYPE_DURATION, PARAM_TYPE_UNIT, PARAM_TYPE_ENUM, + PARAM_TYPE_TRUSTED_NAME, } e_param_type; typedef struct { @@ -40,6 +42,9 @@ typedef struct { s_param_unit param_unit; #ifdef HAVE_ENUM_VALUE s_param_enum param_enum; +#endif +#ifdef HAVE_TRUSTED_NAME + s_param_trusted_name param_trusted_name; #endif }; } s_field; diff --git a/src_features/generic_tx_parser/gtp_param_trusted_name.c b/src_features/generic_tx_parser/gtp_param_trusted_name.c new file mode 100644 index 000000000..5fffb9fe2 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_trusted_name.c @@ -0,0 +1,111 @@ +#ifdef HAVE_GENERIC_TX_PARSER +#ifdef HAVE_TRUSTED_NAME + +#include "gtp_param_trusted_name.h" +#include "network.h" +#include "trusted_name.h" +#include "gtp_field_table.h" +#include "utils.h" +#include "shared_context.h" + +enum { + TAG_VERSION = 0x00, + TAG_VALUE = 0x01, + TAG_TYPES = 0x02, + TAG_SOURCES = 0x03, +}; + +static bool handle_version(const s_tlv_data *data, s_param_trusted_name_context *context) { + if (data->length != sizeof(context->param->version)) { + return false; + } + context->param->version = data->value[0]; + return true; +} + +static bool handle_value(const s_tlv_data *data, s_param_trusted_name_context *context) { + s_value_context ctx = {0}; + + ctx.value = &context->param->value; + explicit_bzero(ctx.value, sizeof(*ctx.value)); + return tlv_parse(data->value, data->length, (f_tlv_data_handler) &handle_value_struct, &ctx); +} + +static bool handle_types(const s_tlv_data *data, s_param_trusted_name_context *context) { + if (data->length > sizeof(context->param->types)) { + return false; + } + memcpy(context->param->types, data->value, data->length); + context->param->type_count = data->length; + return true; +} + +static bool handle_sources(const s_tlv_data *data, s_param_trusted_name_context *context) { + if (data->length > sizeof(context->param->sources)) { + return false; + } + memcpy(context->param->sources, data->value, data->length); + context->param->source_count = data->length; + return true; +} + +bool handle_param_trusted_name_struct(const s_tlv_data *data, + s_param_trusted_name_context *context) { + bool ret; + + switch (data->tag) { + case TAG_VERSION: + ret = handle_version(data, context); + break; + case TAG_VALUE: + ret = handle_value(data, context); + break; + case TAG_TYPES: + ret = handle_types(data, context); + break; + case TAG_SOURCES: + ret = handle_sources(data, context); + break; + default: + PRINTF(TLV_TAG_ERROR_MSG, data->tag); + ret = false; + } + return ret; +} + +bool format_param_trusted_name(const s_param_trusted_name *param, const char *name) { + s_parsed_value_collection values; + char *buf = strings.tmp.tmp; + size_t buf_size = sizeof(strings.tmp.tmp); + uint64_t chain_id; + uint8_t addr[ADDRESS_LENGTH]; + const char *tname; + e_param_type param_type; + + if (!value_get(¶m->value, &values)) { + return false; + } + chain_id = get_tx_chain_id(); + for (int i = 0; i < values.size; ++i) { + buf_shrink_expand(values.value[i].ptr, values.value[i].length, addr, sizeof(addr)); + if ((tname = get_trusted_name(param->type_count, + param->types, + param->source_count, + param->sources, + &chain_id, + addr)) != NULL) { + strlcpy(buf, tname, buf_size); + param_type = PARAM_TYPE_TRUSTED_NAME; + } else { + getEthDisplayableAddress(addr, buf, buf_size, chainConfig->chainId); + param_type = PARAM_TYPE_RAW; + } + if (!add_to_field_table(param_type, name, buf)) { + return false; + } + } + return true; +} + +#endif // HAVE_TRUSTED_NAME +#endif // HAVE_GENERIC_TX_PARSER diff --git a/src_features/generic_tx_parser/gtp_param_trusted_name.h b/src_features/generic_tx_parser/gtp_param_trusted_name.h new file mode 100644 index 000000000..3232d7ad5 --- /dev/null +++ b/src_features/generic_tx_parser/gtp_param_trusted_name.h @@ -0,0 +1,31 @@ +#ifndef GTP_PARAM_TRUSTED_NAME_H_ +#define GTP_PARAM_TRUSTED_NAME_H_ + +#ifdef HAVE_TRUSTED_NAME + +#include +#include +#include "tlv.h" +#include "gtp_value.h" +#include "trusted_name.h" + +typedef struct { + uint8_t version; + s_value value; + uint8_t type_count; + e_name_type types[TN_TYPE_COUNT]; + uint8_t source_count; + e_name_source sources[TN_SOURCE_COUNT]; +} s_param_trusted_name; + +typedef struct { + s_param_trusted_name *param; +} s_param_trusted_name_context; + +bool handle_param_trusted_name_struct(const s_tlv_data *data, + s_param_trusted_name_context *context); +bool format_param_trusted_name(const s_param_trusted_name *param, const char *name); + +#endif + +#endif // !GTP_PARAM_TRUSTED_NAME_H_ From cdaef754334ca025c26d493918d0e0fc4e835c39 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 15 Nov 2024 11:19:30 +0100 Subject: [PATCH 60/66] Max fees & network formatting functions are now accessible from outside the signTx feature --- src_features/signTx/feature_signTx.h | 5 +++++ src_features/signTx/logic_signTx.c | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src_features/signTx/feature_signTx.h b/src_features/signTx/feature_signTx.h index 9f38e1e37..9f0af6371 100644 --- a/src_features/signTx/feature_signTx.h +++ b/src_features/signTx/feature_signTx.h @@ -38,5 +38,10 @@ void send_swap_error(uint8_t error_code, app_code_t app_code, const char *str1, uint16_t handle_parsing_status(parserStatus_e status); uint16_t get_public_key(uint8_t *out, uint8_t outLength); +bool max_transaction_fee_to_string(const txInt256_t *BEGasPrice, + const txInt256_t *BEGasLimit, + char *displayBuffer, + uint32_t displayBufferSize); +uint16_t get_network_as_string(char *out, size_t out_size); #endif // _SIGN_TX_H_ diff --git a/src_features/signTx/logic_signTx.c b/src_features/signTx/logic_signTx.c index 740bdbbfb..1f9085346 100644 --- a/src_features/signTx/logic_signTx.c +++ b/src_features/signTx/logic_signTx.c @@ -260,10 +260,10 @@ static void raw_fee_to_string(uint256_t *rawFee, char *displayBuffer, uint32_t d // Compute the fees, transform it to a string, prepend a ticker to it and copy everything to // `displayBuffer` output -static bool max_transaction_fee_to_string(const txInt256_t *BEGasPrice, - const txInt256_t *BEGasLimit, - char *displayBuffer, - uint32_t displayBufferSize) { +bool max_transaction_fee_to_string(const txInt256_t *BEGasPrice, + const txInt256_t *BEGasLimit, + char *displayBuffer, + uint32_t displayBufferSize) { // Use temporary variables to convert values to uint256_t uint256_t gasPrice = {0}; uint256_t gasLimit = {0}; @@ -287,7 +287,7 @@ static void nonce_to_string(const txInt256_t *nonce, char *out, size_t out_size) tostring256(&nonce_uint256, 10, out, out_size); } -static uint16_t get_network_as_string(char *out, size_t out_size) { +uint16_t get_network_as_string(char *out, size_t out_size) { uint64_t chain_id = get_tx_chain_id(); const char *name = get_network_name_from_chain_id(&chain_id); From f7960b5524f0200c868f3fb782c53e68383348e8 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 13 Nov 2024 19:16:55 +0100 Subject: [PATCH 61/66] BAGL GCS UI implementation --- src_bagl/ui_gcs.c | 438 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 437 insertions(+), 1 deletion(-) diff --git a/src_bagl/ui_gcs.c b/src_bagl/ui_gcs.c index 61f2deac6..ca0505bf7 100644 --- a/src_bagl/ui_gcs.c +++ b/src_bagl/ui_gcs.c @@ -1,6 +1,442 @@ #ifdef HAVE_GENERIC_TX_PARSER -void ui_gcs(void) { +#include "ux.h" +#include "gtp_field_table.h" +#include "gtp_tx_info.h" +#include "feature_signTx.h" +#include "ui_callbacks.h" +#include "network.h" +#include "apdu_constants.h" + +// forward declaration for BAGL step +static void review_contract_info(void); +static void review(int index); +static void dyn_prev(void); +static void dyn_next(void); +static void switch_pre_dyn(void); +static void switch_post_dyn(void); +static void prepare_review_title(void); +static void switch_network(bool forward); +static void network_prev(void); +static void network_next(void); + +static void format_network(void) { + if (get_network_as_string(strings.tmp.tmp, sizeof(strings.tmp.tmp)) != APDU_RESPONSE_OK) { + PRINTF("Error: Could not format the network!\n"); + } +} + +static void format_fees(void) { + if (max_transaction_fee_to_string(&tmpContent.txContent.gasprice, + &tmpContent.txContent.startgas, + strings.tmp.tmp, + sizeof(strings.tmp.tmp)) == false) { + PRINTF("Error: Could not format the max fees!\n"); + } +} + +// clang-format off +UX_STEP_NOCB_INIT( + ui_gcs_review_step, + pnn, + prepare_review_title(), + { + &C_icon_eye, + strings.tmp.tmp2, + strings.tmp.tmp, + } +); +UX_STEP_CB( + ui_gcs_contract_info_btn_step, + pbb, + review_contract_info(), + { + &C_icon_certificate, + "See contract", + "information", + } +); +UX_STEP_CB( + ui_gcs_back_step, + pb, + review(1), + { + &C_icon_back_x, + "Back", + } +); +UX_STEP_INIT( + ui_gcs_switch_pre_network_step, + NULL, + NULL, + { + switch_network(true); + } +); +UX_STEP_INIT( + ui_gcs_network_prev_step, + NULL, + NULL, + { + network_prev(); + } +); +UX_STEP_NOCB_INIT( + ui_gcs_network_step, + bnnn_paging, + format_network(), + { + .title = "Network", + .text = strings.tmp.tmp, + } +); +UX_STEP_INIT( + ui_gcs_network_next_step, + NULL, + NULL, + { + network_next(); + } +); +UX_STEP_INIT( + ui_gcs_switch_post_network_step, + NULL, + NULL, + { + switch_network(false); + } +); +UX_STEP_NOCB_INIT( + ui_gcs_fees_step, + bnnn_paging, + format_fees(), + { + .title = "Max fees", + .text = strings.tmp.tmp, + } +); +UX_STEP_CB( + ui_gcs_accept_step, + pb, + tx_ok_cb(), + { + &C_icon_validate_14, + "Sign transaction", + } +); +UX_STEP_CB( + ui_gcs_reject_step, + pb, + tx_cancel_cb(), + { + &C_icon_crossmark, + "Reject", + } +); + +UX_STEP_INIT( + ui_gcs_dyn_prev_step, + NULL, + NULL, + { + dyn_prev(); + } +); +UX_STEP_NOCB( + ui_gcs_dyn_step, + bnnn_paging, + { + .title = strings.tmp.tmp2, + .text = strings.tmp.tmp, + } +); +UX_STEP_INIT( + ui_gcs_dyn_next_step, + NULL, + NULL, + { + dyn_next(); + } +); + +UX_STEP_INIT( + ui_gcs_switch_pre_dyn_step, + NULL, + NULL, + { + switch_pre_dyn(); + } +); +UX_STEP_INIT( + ui_gcs_switch_post_dyn_step, + NULL, + NULL, + { + switch_post_dyn(); + } +); +// clang-format on + +UX_FLOW(ui_gcs_flow, + &ui_gcs_review_step, + &ui_gcs_contract_info_btn_step, + + // dynamic field handling + &ui_gcs_switch_pre_dyn_step, + &ui_gcs_dyn_prev_step, + &ui_gcs_dyn_step, + &ui_gcs_dyn_next_step, + &ui_gcs_switch_post_dyn_step, + + // network handling + &ui_gcs_switch_pre_network_step, + &ui_gcs_network_prev_step, + &ui_gcs_network_step, + &ui_gcs_network_next_step, + &ui_gcs_switch_post_network_step, + + &ui_gcs_fees_step, + &ui_gcs_accept_step, + &ui_gcs_reject_step); + +UX_FLOW(ui_gcs_contract_info_beg_flow, &ui_gcs_switch_pre_dyn_step); + +UX_FLOW(ui_gcs_dyn_beg_flow, &ui_gcs_dyn_step, &ui_gcs_dyn_next_step); + +UX_FLOW(ui_gcs_dyn_middle_flow, &ui_gcs_dyn_prev_step, &ui_gcs_dyn_step, &ui_gcs_dyn_next_step); + +UX_FLOW(ui_gcs_contract_info_end_flow, &ui_gcs_switch_post_dyn_step, &ui_gcs_back_step); + +typedef enum { + TOP_LEVEL, + TX_INFO, +} e_level; + +static e_level level; +static uint8_t dyn_idx; + +static void prepare_review_title(void) { + const char *op_type; + + snprintf(strings.tmp.tmp2, sizeof(strings.tmp.tmp2), "Review transaction to"); + if ((op_type = get_operation_type()) != NULL) { + snprintf(strings.tmp.tmp, sizeof(strings.tmp.tmp), "%s", op_type); + } +} + +static bool prepare_kv_info(uint8_t idx) { + bool found = false; + uint8_t count = 0; + const char *value; + + const char *value2; + if ((value = get_creator_legal_name()) != NULL) { + count += 1; + if (count == idx) { + snprintf(strings.tmp.tmp2, sizeof(strings.tmp.tmp2), "Contract owner"); + if ((value2 = get_creator_url()) != NULL) { + snprintf(strings.tmp.tmp, sizeof(strings.tmp.tmp), "%s\n%s", value, value2); + } else { + snprintf(strings.tmp.tmp, sizeof(strings.tmp.tmp), "%s", value); + } + found = true; + } + } + + if ((value = get_contract_name()) != NULL) { + count += 1; + if (count == idx) { + snprintf(strings.tmp.tmp2, sizeof(strings.tmp.tmp2), "Contract"); + snprintf(strings.tmp.tmp, sizeof(strings.tmp.tmp), "%s", value); + found = true; + } + } + + const uint8_t *addr = get_contract_addr(); + count += 1; + if (count == idx) { + snprintf(strings.tmp.tmp2, sizeof(strings.tmp.tmp2), "Contract address"); + if (!getEthDisplayableAddress((uint8_t *) addr, + strings.tmp.tmp, + sizeof(strings.tmp.tmp), + chainConfig->chainId)) { + return false; + } + found = true; + } + + if ((value = get_deploy_date()) != NULL) { + count += 1; + if (count == idx) { + snprintf(strings.tmp.tmp2, sizeof(strings.tmp.tmp2), "Deployed on"); + snprintf(strings.tmp.tmp, sizeof(strings.tmp.tmp), "%s", value); + found = true; + } + } + return found; +} + +static bool prepare_key_value(uint8_t idx) { + bool found = false; + s_field_table_entry field; + + switch (level) { + case TX_INFO: + found = prepare_kv_info(idx); + break; + case TOP_LEVEL: + if ((found = get_from_field_table(idx - 1, &field))) { + strncpy(strings.tmp.tmp2, field.key, sizeof(strings.tmp.tmp2)); + strncpy(strings.tmp.tmp, field.value, sizeof(strings.tmp.tmp)); + } + break; + default: + break; + } + return found; +} + +static void dyn_prev(void) { + const ux_flow_step_t *const *flow = NULL; + const ux_flow_step_t *step = NULL; + + dyn_idx -= 1; + if (prepare_key_value(dyn_idx)) { + // found + switch (level) { + case TX_INFO: + flow = (dyn_idx == 1) ? ui_gcs_dyn_beg_flow : ui_gcs_dyn_middle_flow; + break; + case TOP_LEVEL: + flow = ui_gcs_flow; + break; + default: + break; + } + step = &ui_gcs_dyn_step; + } else { + // not found + switch (level) { + case TX_INFO: + flow = ui_gcs_contract_info_end_flow; + step = &ui_gcs_back_step; + break; + case TOP_LEVEL: + flow = ui_gcs_flow; + step = &ui_gcs_contract_info_btn_step; + break; + default: + break; + } + } + ux_flow_init(0, flow, step); +} + +static void dyn_next(void) { + const ux_flow_step_t *const *flow = NULL; + const ux_flow_step_t *step = NULL; + + dyn_idx += 1; + if (prepare_key_value(dyn_idx)) { + // found + switch (level) { + case TX_INFO: + flow = (dyn_idx == 1) ? ui_gcs_dyn_beg_flow : ui_gcs_dyn_middle_flow; + step = &ui_gcs_dyn_step; + break; + case TOP_LEVEL: + flow = ui_gcs_flow; + step = &ui_gcs_dyn_step; + break; + default: + break; + } + } else { + // not found + dyn_idx -= 1; + switch (level) { + case TX_INFO: + flow = ui_gcs_contract_info_end_flow; + step = &ui_gcs_back_step; + break; + case TOP_LEVEL: + flow = ui_gcs_flow; + step = &ui_gcs_switch_pre_network_step; + break; + default: + break; + } + } + ux_flow_init(0, flow, step); +} + +static void switch_pre_dyn(void) { + ux_flow_init(0, ui_gcs_flow, &ui_gcs_dyn_next_step); +} + +static void switch_post_dyn(void) { + const ux_flow_step_t *const *flow = NULL; + const ux_flow_step_t *step = NULL; + + switch (level) { + case TX_INFO: + flow = ui_gcs_dyn_middle_flow; + step = &ui_gcs_dyn_step; + break; + case TOP_LEVEL: + if (dyn_idx == 0) { + // no field has been shown + step = &ui_gcs_contract_info_btn_step; + } else { + // artificially lower the index then ask for the next one + dyn_idx -= 1; + step = &ui_gcs_dyn_next_step; + } + flow = ui_gcs_flow; + break; + default: + break; + } + ux_flow_init(0, flow, step); +} + +static void network_prev(void) { + ux_flow_init(0, ui_gcs_flow, &ui_gcs_switch_post_dyn_step); +} + +static void network_next(void) { + ux_flow_init(0, ui_gcs_flow, &ui_gcs_fees_step); +} + +static void switch_network(bool forward) { + uint64_t chain_id = get_tx_chain_id(); + + if (chain_id != chainConfig->chainId) { + ux_flow_init(0, ui_gcs_flow, &ui_gcs_network_step); + } else { + if (forward) { + network_next(); + } else { + network_prev(); + } + } +} + +static void review_contract_info(void) { + dyn_idx = 0; + level = TX_INFO; + ux_flow_init(0, ui_gcs_dyn_middle_flow, &ui_gcs_dyn_next_step); +} + +static void review(int index) { + dyn_idx = 0; + level = TOP_LEVEL; + ux_flow_init(0, ui_gcs_flow, ui_gcs_flow[index]); +} + +bool ui_gcs(void) { + review(0); + return true; } void ui_gcs_cleanup(void) { From 04c6ce6c9961be7463c78e714fc2a73d82695161 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 22 Nov 2024 16:19:57 +0100 Subject: [PATCH 62/66] NBGL GCS UI implementation --- glyphs/review_info_button.gif | Bin 0 -> 538 bytes src_nbgl/ui_gcs.c | 228 +++++++++++++++++++++++++++++++++- 2 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 glyphs/review_info_button.gif diff --git a/glyphs/review_info_button.gif b/glyphs/review_info_button.gif new file mode 100644 index 0000000000000000000000000000000000000000..82b19e717272c1cd2ac5e439a001232cf55a2be0 GIT binary patch literal 538 zcmZ?wbhEHbbYO5`_{_lo1oidx^XJch@ZiCdCr@6#e*NXkmtVhr{r~?TB!>YMf3kqZ z6#sL3<|d}6`X;7lCTH`dC+6lR+8XGYn1UdK4oD5i1_qXY0w+CJ&pkfHsqH()^p<4YsSxK zYQ8Z~y3`Z(M_SEOLAjxoN6hKQo70X>t!aNH1734Eo1eI%+Y-^kYht%b{OlH`N2h!| zET^d0-3fmlw>3lOti)xG%dxT<_wLNubBXbc_hgyWdy^f6QZ5*LH2Cx9TiT13ejk5_ zxf@JgiA0sniMktD>a=F9D2wS*mN1@c!m|!|$$Wp46Vj>byJjPodH?NLp~;n9n_u&J z?OS>6NNLd0$u65p|7=)!!=;e%SP;(!g=9CwB%gwRHf5h!xSm)|ik|Ruqk4OrsrRCw V%7ed}Iks&J+aS=p*pG$58USU+?wbGr literal 0 HcmV?d00001 diff --git a/src_nbgl/ui_gcs.c b/src_nbgl/ui_gcs.c index 61f2deac6..8f842837d 100644 --- a/src_nbgl/ui_gcs.c +++ b/src_nbgl/ui_gcs.c @@ -1,9 +1,235 @@ #ifdef HAVE_GENERIC_TX_PARSER -void ui_gcs(void) { +#include +#include "ui_nbgl.h" +#include "gtp_tx_info.h" +#include "gtp_field_table.h" +#include "mem.h" +#include "mem_utils.h" +#include "network.h" +#include "ui_callbacks.h" +#include "feature_signTx.h" +#include "apdu_constants.h" + +static nbgl_layoutTagValueList_t g_pair_list; +static size_t g_alloc_size; + +static void review_choice(bool confirm) { + if (confirm) { + io_seproxyhal_touch_tx_ok(); + nbgl_useCaseReviewStatus(STATUS_TYPE_TRANSACTION_SIGNED, ui_idle); + } else { + io_seproxyhal_touch_tx_cancel(); + nbgl_useCaseReviewStatus(STATUS_TYPE_TRANSACTION_REJECTED, ui_idle); + } +} + +static char *_strdup(const char *src) { + char *dst; + size_t length = strlen(src) + 1; + + if ((dst = mem_alloc(length)) != NULL) { + memmove(dst, src, length); + } + return dst; +} + +static bool cleanup_on_error(const void *mem_before) { + mem_dealloc(mem_alloc(0) - mem_before); + return false; +} + +#define MAX_INFO_COUNT 3 + +static bool prepare_infos(nbgl_contentInfoList_t *infos) { + char *tmp_buf = strings.tmp.tmp; + size_t tmp_buf_size = sizeof(strings.tmp.tmp); + size_t off; + uint8_t count = 0; + const char **keys; + const char **values; + nbgl_contentValueExt_t *extensions; + const char *value; + int contract_idx = -1; + + if (((keys = mem_alloc_and_align(sizeof(*keys) * MAX_INFO_COUNT, __alignof__(*keys))) == + NULL) || + ((values = mem_alloc_and_align(sizeof(*values) * MAX_INFO_COUNT, __alignof__(*values))) == + NULL)) { + return false; + } + if ((value = get_creator_legal_name()) != NULL) { + snprintf(tmp_buf, tmp_buf_size, "Contract owner"); + if ((keys[count] = _strdup(tmp_buf)) == NULL) { + return false; + } + snprintf(tmp_buf, tmp_buf_size, "%s", value); + if ((value = get_creator_url()) != NULL) { + off = strlen(tmp_buf); + snprintf(tmp_buf + off, tmp_buf_size - off, "\n%s", value); + } + if ((values[count] = _strdup(tmp_buf)) == NULL) { + return false; + } + count += 1; + } + + if ((value = get_contract_name()) != NULL) { + snprintf(tmp_buf, tmp_buf_size, "Contract"); + if ((keys[count] = _strdup(tmp_buf)) == NULL) { + return false; + } + snprintf(tmp_buf, tmp_buf_size, "%s", value); + if ((values[count] = _strdup(tmp_buf)) == NULL) { + return false; + } + contract_idx = count; + count += 1; + } + + if ((value = get_deploy_date()) != NULL) { + snprintf(tmp_buf, tmp_buf_size, "Deployed on"); + if ((keys[count] = _strdup(tmp_buf)) == NULL) { + return false; + } + snprintf(tmp_buf, tmp_buf_size, "%s", value); + if ((values[count] = _strdup(tmp_buf)) == NULL) { + return false; + } + count += 1; + } + + if ((extensions = mem_alloc_and_align(sizeof(*extensions) * count, __alignof__(*extensions))) == + NULL) { + return false; + } + explicit_bzero(extensions, sizeof(*extensions) * count); + + if (contract_idx != -1) { + if (!getEthDisplayableAddress((uint8_t *) get_contract_addr(), + tmp_buf, + tmp_buf_size, + chainConfig->chainId)) { + return false; + } + if ((extensions[contract_idx].title = _strdup(tmp_buf)) == NULL) { + return false; + } + // Etherscan only for mainnet + if (get_tx_chain_id() == ETHEREUM_MAINNET_CHAINID) { + if ((extensions[contract_idx].explanation = _strdup("Scan to view on Etherscan")) == + NULL) { + return false; + } + snprintf(tmp_buf, + tmp_buf_size, + "https://etherscan.io/address/%s", + extensions[contract_idx].title); + if ((extensions[contract_idx].fullValue = _strdup(tmp_buf)) == NULL) { + return false; + } + } else { + extensions[contract_idx].fullValue = extensions[contract_idx].title; + } + extensions[contract_idx].aliasType = QR_CODE_ALIAS; + } + + infos->nbInfos = count; + infos->infoTypes = keys; + infos->infoContents = values; + infos->infoExtensions = extensions; + infos->withExtensions = true; + return true; +} + +bool ui_gcs(void) { + char *tmp_buf = strings.tmp.tmp; + size_t tmp_buf_size = sizeof(strings.tmp.tmp); + size_t off; + const char *review_title; + const char *sign_title; + nbgl_contentTagValue_t *pairs; + s_field_table_entry entry; + bool show_network; + nbgl_tipBox_t tip_box; + const void *mem_before = mem_alloc(0); + + snprintf(tmp_buf, tmp_buf_size, "Review transaction to %s", get_operation_type()); + if ((review_title = _strdup(tmp_buf)) == NULL) { + return cleanup_on_error(mem_before); + } + snprintf(tmp_buf, tmp_buf_size, "Sign transaction to %s?", get_operation_type()); + if ((sign_title = _strdup(tmp_buf)) == NULL) { + return cleanup_on_error(mem_before); + } + explicit_bzero(&tip_box, sizeof(tip_box)); + tip_box.icon = &C_review_info_button; + tip_box.text = NULL; + tip_box.modalTitle = "Contract information"; + tip_box.type = INFOS_LIST; + if (!prepare_infos(&tip_box.infos)) { + return cleanup_on_error(mem_before); + } + snprintf(tmp_buf, tmp_buf_size, "Interaction with a\nsmart contract"); + off = strlen(tmp_buf); + if (get_creator_name()) { + snprintf(tmp_buf + off, tmp_buf_size - off, " from:\n%s", get_creator_name()); + } + if ((tip_box.text = _strdup(tmp_buf)) == NULL) { + return cleanup_on_error(mem_before); + } + + g_pair_list.nbPairs = field_table_size() + 1; + show_network = get_tx_chain_id() != chainConfig->chainId; + if (show_network) { + g_pair_list.nbPairs += 1; + } + if ((pairs = mem_alloc_and_align(sizeof(*pairs) * g_pair_list.nbPairs, __alignof__(*pairs))) == + NULL) { + return cleanup_on_error(mem_before); + } + explicit_bzero(pairs, sizeof(*pairs) * g_pair_list.nbPairs); + + for (int i = 0; i < (int) field_table_size(); ++i) { + if (!get_from_field_table(i, &entry)) { + return cleanup_on_error(mem_before); + } + pairs[i].item = entry.key; + pairs[i].value = entry.value; + } + + if (show_network) { + pairs[g_pair_list.nbPairs - 2].item = _strdup("Network"); + if (get_network_as_string(tmp_buf, tmp_buf_size) != APDU_RESPONSE_OK) { + return cleanup_on_error(mem_before); + } + pairs[g_pair_list.nbPairs - 2].value = _strdup(tmp_buf); + } + + pairs[g_pair_list.nbPairs - 1].item = _strdup("Max fees"); + if (max_transaction_fee_to_string(&tmpContent.txContent.gasprice, + &tmpContent.txContent.startgas, + tmp_buf, + tmp_buf_size) == false) { + PRINTF("Error: Could not format the max fees!\n"); + } + pairs[g_pair_list.nbPairs - 1].value = _strdup(tmp_buf); + + g_pair_list.pairs = pairs; + nbgl_useCaseAdvancedReview(TYPE_TRANSACTION, + &g_pair_list, + get_tx_icon(), + review_title, + NULL, + sign_title, + &tip_box, + review_choice); + g_alloc_size = mem_alloc(0) - mem_before; + return true; } void ui_gcs_cleanup(void) { + mem_dealloc(g_alloc_size); } #endif // HAVE_GENERIC_TX_PARSER From ee9fd30e6db332b31fea2044477af585d980567c Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 5 Nov 2024 18:02:17 +0100 Subject: [PATCH 63/66] Ragger tests - NFT (ERC-1155) - Poap - 1inch --- tests/ragger/abis/1inch.abi.json | 2062 +++++++++++++++++ tests/ragger/abis/poap.abi.json | 359 +++ .../snapshots/flex/test_1inch/00000.png | Bin 0 -> 13453 bytes .../snapshots/flex/test_1inch/00001.png | Bin 0 -> 18725 bytes .../snapshots/flex/test_1inch/00002.png | Bin 0 -> 6964 bytes .../snapshots/flex/test_1inch/00003.png | Bin 0 -> 11536 bytes .../snapshots/flex/test_1inch/00004.png | Bin 0 -> 6357 bytes .../snapshots/flex/test_1inch/00005.png | Bin 0 -> 12445 bytes .../ragger/snapshots/flex/test_nft/00000.png | Bin 0 -> 13848 bytes .../ragger/snapshots/flex/test_nft/00001.png | Bin 0 -> 19107 bytes .../ragger/snapshots/flex/test_nft/00002.png | Bin 0 -> 20857 bytes .../ragger/snapshots/flex/test_nft/00003.png | Bin 0 -> 9953 bytes .../ragger/snapshots/flex/test_nft/00004.png | Bin 0 -> 10360 bytes .../ragger/snapshots/flex/test_nft/00005.png | Bin 0 -> 12650 bytes .../ragger/snapshots/flex/test_nft/00006.png | Bin 0 -> 6357 bytes .../ragger/snapshots/flex/test_nft/00007.png | Bin 0 -> 12445 bytes .../ragger/snapshots/flex/test_poap/00000.png | Bin 0 -> 13898 bytes .../ragger/snapshots/flex/test_poap/00001.png | Bin 0 -> 17315 bytes .../ragger/snapshots/flex/test_poap/00002.png | Bin 0 -> 10206 bytes .../ragger/snapshots/flex/test_poap/00003.png | Bin 0 -> 28312 bytes .../ragger/snapshots/flex/test_poap/00004.png | Bin 0 -> 11569 bytes .../ragger/snapshots/flex/test_poap/00005.png | Bin 0 -> 6357 bytes .../ragger/snapshots/flex/test_poap/00006.png | Bin 0 -> 12445 bytes .../snapshots/nanosp/test_1inch/00000.png | Bin 0 -> 478 bytes .../snapshots/nanosp/test_1inch/00001.png | Bin 0 -> 530 bytes .../snapshots/nanosp/test_1inch/00002.png | Bin 0 -> 756 bytes .../snapshots/nanosp/test_1inch/00003.png | Bin 0 -> 360 bytes .../snapshots/nanosp/test_1inch/00004.png | Bin 0 -> 450 bytes .../snapshots/nanosp/test_1inch/00005.png | Bin 0 -> 432 bytes .../snapshots/nanosp/test_1inch/00006.png | Bin 0 -> 437 bytes .../snapshots/nanosp/test_1inch/00007.png | Bin 0 -> 382 bytes .../snapshots/nanosp/test_nft/00000.png | Bin 0 -> 567 bytes .../snapshots/nanosp/test_nft/00001.png | Bin 0 -> 530 bytes .../snapshots/nanosp/test_nft/00002.png | Bin 0 -> 702 bytes .../snapshots/nanosp/test_nft/00003.png | Bin 0 -> 344 bytes .../snapshots/nanosp/test_nft/00004.png | Bin 0 -> 557 bytes .../snapshots/nanosp/test_nft/00005.png | Bin 0 -> 562 bytes .../snapshots/nanosp/test_nft/00006.png | Bin 0 -> 622 bytes .../snapshots/nanosp/test_nft/00007.png | Bin 0 -> 651 bytes .../snapshots/nanosp/test_nft/00008.png | Bin 0 -> 289 bytes .../snapshots/nanosp/test_nft/00009.png | Bin 0 -> 303 bytes .../snapshots/nanosp/test_nft/00010.png | Bin 0 -> 301 bytes .../snapshots/nanosp/test_nft/00011.png | Bin 0 -> 302 bytes .../snapshots/nanosp/test_nft/00012.png | Bin 0 -> 430 bytes .../snapshots/nanosp/test_nft/00013.png | Bin 0 -> 432 bytes .../snapshots/nanosp/test_nft/00014.png | Bin 0 -> 437 bytes .../snapshots/nanosp/test_nft/00015.png | Bin 0 -> 382 bytes .../snapshots/nanosp/test_poap/00000.png | Bin 0 -> 511 bytes .../snapshots/nanosp/test_poap/00001.png | Bin 0 -> 530 bytes .../snapshots/nanosp/test_poap/00002.png | Bin 0 -> 361 bytes .../snapshots/nanosp/test_poap/00003.png | Bin 0 -> 393 bytes .../snapshots/nanosp/test_poap/00004.png | Bin 0 -> 754 bytes .../snapshots/nanosp/test_poap/00005.png | Bin 0 -> 629 bytes .../snapshots/nanosp/test_poap/00006.png | Bin 0 -> 925 bytes .../snapshots/nanosp/test_poap/00007.png | Bin 0 -> 948 bytes .../snapshots/nanosp/test_poap/00008.png | Bin 0 -> 632 bytes .../snapshots/nanosp/test_poap/00009.png | Bin 0 -> 432 bytes .../snapshots/nanosp/test_poap/00010.png | Bin 0 -> 437 bytes .../snapshots/nanosp/test_poap/00011.png | Bin 0 -> 382 bytes .../snapshots/nanox/test_1inch/00000.png | Bin 0 -> 478 bytes .../snapshots/nanox/test_1inch/00001.png | Bin 0 -> 530 bytes .../snapshots/nanox/test_1inch/00002.png | Bin 0 -> 756 bytes .../snapshots/nanox/test_1inch/00003.png | Bin 0 -> 360 bytes .../snapshots/nanox/test_1inch/00004.png | Bin 0 -> 450 bytes .../snapshots/nanox/test_1inch/00005.png | Bin 0 -> 432 bytes .../snapshots/nanox/test_1inch/00006.png | Bin 0 -> 437 bytes .../snapshots/nanox/test_1inch/00007.png | Bin 0 -> 382 bytes .../ragger/snapshots/nanox/test_nft/00000.png | Bin 0 -> 567 bytes .../ragger/snapshots/nanox/test_nft/00001.png | Bin 0 -> 530 bytes .../ragger/snapshots/nanox/test_nft/00002.png | Bin 0 -> 702 bytes .../ragger/snapshots/nanox/test_nft/00003.png | Bin 0 -> 344 bytes .../ragger/snapshots/nanox/test_nft/00004.png | Bin 0 -> 557 bytes .../ragger/snapshots/nanox/test_nft/00005.png | Bin 0 -> 562 bytes .../ragger/snapshots/nanox/test_nft/00006.png | Bin 0 -> 622 bytes .../ragger/snapshots/nanox/test_nft/00007.png | Bin 0 -> 651 bytes .../ragger/snapshots/nanox/test_nft/00008.png | Bin 0 -> 289 bytes .../ragger/snapshots/nanox/test_nft/00009.png | Bin 0 -> 303 bytes .../ragger/snapshots/nanox/test_nft/00010.png | Bin 0 -> 301 bytes .../ragger/snapshots/nanox/test_nft/00011.png | Bin 0 -> 302 bytes .../ragger/snapshots/nanox/test_nft/00012.png | Bin 0 -> 430 bytes .../ragger/snapshots/nanox/test_nft/00013.png | Bin 0 -> 432 bytes .../ragger/snapshots/nanox/test_nft/00014.png | Bin 0 -> 437 bytes .../ragger/snapshots/nanox/test_nft/00015.png | Bin 0 -> 382 bytes .../snapshots/nanox/test_poap/00000.png | Bin 0 -> 511 bytes .../snapshots/nanox/test_poap/00001.png | Bin 0 -> 530 bytes .../snapshots/nanox/test_poap/00002.png | Bin 0 -> 361 bytes .../snapshots/nanox/test_poap/00003.png | Bin 0 -> 393 bytes .../snapshots/nanox/test_poap/00004.png | Bin 0 -> 754 bytes .../snapshots/nanox/test_poap/00005.png | Bin 0 -> 629 bytes .../snapshots/nanox/test_poap/00006.png | Bin 0 -> 925 bytes .../snapshots/nanox/test_poap/00007.png | Bin 0 -> 948 bytes .../snapshots/nanox/test_poap/00008.png | Bin 0 -> 632 bytes .../snapshots/nanox/test_poap/00009.png | Bin 0 -> 432 bytes .../snapshots/nanox/test_poap/00010.png | Bin 0 -> 437 bytes .../snapshots/nanox/test_poap/00011.png | Bin 0 -> 382 bytes .../snapshots/stax/test_1inch/00000.png | Bin 0 -> 12478 bytes .../snapshots/stax/test_1inch/00001.png | Bin 0 -> 18763 bytes .../snapshots/stax/test_1inch/00002.png | Bin 0 -> 10775 bytes .../snapshots/stax/test_1inch/00003.png | Bin 0 -> 6218 bytes .../snapshots/stax/test_1inch/00004.png | Bin 0 -> 10991 bytes .../ragger/snapshots/stax/test_nft/00000.png | Bin 0 -> 12738 bytes .../ragger/snapshots/stax/test_nft/00001.png | Bin 0 -> 21556 bytes .../ragger/snapshots/stax/test_nft/00002.png | Bin 0 -> 17882 bytes .../ragger/snapshots/stax/test_nft/00003.png | Bin 0 -> 10580 bytes .../ragger/snapshots/stax/test_nft/00004.png | Bin 0 -> 11722 bytes .../ragger/snapshots/stax/test_nft/00005.png | Bin 0 -> 6218 bytes .../ragger/snapshots/stax/test_nft/00006.png | Bin 0 -> 10991 bytes .../ragger/snapshots/stax/test_poap/00000.png | Bin 0 -> 12769 bytes .../ragger/snapshots/stax/test_poap/00001.png | Bin 0 -> 19955 bytes .../ragger/snapshots/stax/test_poap/00002.png | Bin 0 -> 25661 bytes .../ragger/snapshots/stax/test_poap/00003.png | Bin 0 -> 10926 bytes .../ragger/snapshots/stax/test_poap/00004.png | Bin 0 -> 6218 bytes .../ragger/snapshots/stax/test_poap/00005.png | Bin 0 -> 10991 bytes tests/ragger/test_gcs.py | 544 +++++ 114 files changed, 2965 insertions(+) create mode 100644 tests/ragger/abis/1inch.abi.json create mode 100644 tests/ragger/abis/poap.abi.json create mode 100644 tests/ragger/snapshots/flex/test_1inch/00000.png create mode 100644 tests/ragger/snapshots/flex/test_1inch/00001.png create mode 100644 tests/ragger/snapshots/flex/test_1inch/00002.png create mode 100644 tests/ragger/snapshots/flex/test_1inch/00003.png create mode 100644 tests/ragger/snapshots/flex/test_1inch/00004.png create mode 100644 tests/ragger/snapshots/flex/test_1inch/00005.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00000.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00001.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00002.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00003.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00004.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00005.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00006.png create mode 100644 tests/ragger/snapshots/flex/test_nft/00007.png create mode 100644 tests/ragger/snapshots/flex/test_poap/00000.png create mode 100644 tests/ragger/snapshots/flex/test_poap/00001.png create mode 100644 tests/ragger/snapshots/flex/test_poap/00002.png create mode 100644 tests/ragger/snapshots/flex/test_poap/00003.png create mode 100644 tests/ragger/snapshots/flex/test_poap/00004.png create mode 100644 tests/ragger/snapshots/flex/test_poap/00005.png create mode 100644 tests/ragger/snapshots/flex/test_poap/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_1inch/00007.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00007.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00008.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00009.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00010.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00011.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00012.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00013.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00014.png create mode 100644 tests/ragger/snapshots/nanosp/test_nft/00015.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00000.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00002.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00003.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00004.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00005.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00006.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00007.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00008.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00009.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00010.png create mode 100644 tests/ragger/snapshots/nanosp/test_poap/00011.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00000.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00001.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00002.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00003.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00004.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00005.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00006.png create mode 100644 tests/ragger/snapshots/nanox/test_1inch/00007.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00000.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00001.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00002.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00003.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00004.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00005.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00006.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00007.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00008.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00009.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00010.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00011.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00012.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00013.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00014.png create mode 100644 tests/ragger/snapshots/nanox/test_nft/00015.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00000.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00001.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00002.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00003.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00004.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00005.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00006.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00007.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00008.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00009.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00010.png create mode 100644 tests/ragger/snapshots/nanox/test_poap/00011.png create mode 100644 tests/ragger/snapshots/stax/test_1inch/00000.png create mode 100644 tests/ragger/snapshots/stax/test_1inch/00001.png create mode 100644 tests/ragger/snapshots/stax/test_1inch/00002.png create mode 100644 tests/ragger/snapshots/stax/test_1inch/00003.png create mode 100644 tests/ragger/snapshots/stax/test_1inch/00004.png create mode 100644 tests/ragger/snapshots/stax/test_nft/00000.png create mode 100644 tests/ragger/snapshots/stax/test_nft/00001.png create mode 100644 tests/ragger/snapshots/stax/test_nft/00002.png create mode 100644 tests/ragger/snapshots/stax/test_nft/00003.png create mode 100644 tests/ragger/snapshots/stax/test_nft/00004.png create mode 100644 tests/ragger/snapshots/stax/test_nft/00005.png create mode 100644 tests/ragger/snapshots/stax/test_nft/00006.png create mode 100644 tests/ragger/snapshots/stax/test_poap/00000.png create mode 100644 tests/ragger/snapshots/stax/test_poap/00001.png create mode 100644 tests/ragger/snapshots/stax/test_poap/00002.png create mode 100644 tests/ragger/snapshots/stax/test_poap/00003.png create mode 100644 tests/ragger/snapshots/stax/test_poap/00004.png create mode 100644 tests/ragger/snapshots/stax/test_poap/00005.png create mode 100644 tests/ragger/test_gcs.py diff --git a/tests/ragger/abis/1inch.abi.json b/tests/ragger/abis/1inch.abi.json new file mode 100644 index 000000000..7deb4b632 --- /dev/null +++ b/tests/ragger/abis/1inch.abi.json @@ -0,0 +1,2062 @@ +[ + { + "inputs" : [ + { + "internalType" : "contract IWETH", + "name" : "weth", + "type" : "address" + } + ], + "stateMutability" : "nonpayable", + "type" : "constructor" + }, + { + "inputs" : [], + "name" : "AdvanceEpochFailed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ArbitraryStaticCallFailed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "BadCurveSwapSelector", + "type" : "error" + }, + { + "inputs" : [], + "name" : "BadPool", + "type" : "error" + }, + { + "inputs" : [], + "name" : "BadSignature", + "type" : "error" + }, + { + "inputs" : [], + "name" : "BitInvalidatedOrder", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ETHTransferFailed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ETHTransferFailed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "EnforcedPause", + "type" : "error" + }, + { + "inputs" : [], + "name" : "EpochManagerAndBitInvalidatorsAreIncompatible", + "type" : "error" + }, + { + "inputs" : [], + "name" : "EthDepositRejected", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ExpectedPause", + "type" : "error" + }, + { + "inputs" : [], + "name" : "InsufficientBalance", + "type" : "error" + }, + { + "inputs" : [], + "name" : "InvalidMsgValue", + "type" : "error" + }, + { + "inputs" : [], + "name" : "InvalidMsgValue", + "type" : "error" + }, + { + "inputs" : [], + "name" : "InvalidPermit2Transfer", + "type" : "error" + }, + { + "inputs" : [], + "name" : "InvalidShortString", + "type" : "error" + }, + { + "inputs" : [], + "name" : "InvalidatedOrder", + "type" : "error" + }, + { + "inputs" : [], + "name" : "MakingAmountTooLow", + "type" : "error" + }, + { + "inputs" : [], + "name" : "MismatchArraysLengths", + "type" : "error" + }, + { + "inputs" : [], + "name" : "OrderExpired", + "type" : "error" + }, + { + "inputs" : [], + "name" : "OrderIsNotSuitableForMassInvalidation", + "type" : "error" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "owner", + "type" : "address" + } + ], + "name" : "OwnableInvalidOwner", + "type" : "error" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "account", + "type" : "address" + } + ], + "name" : "OwnableUnauthorizedAccount", + "type" : "error" + }, + { + "inputs" : [], + "name" : "PartialFillNotAllowed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "Permit2TransferAmountTooHigh", + "type" : "error" + }, + { + "inputs" : [], + "name" : "PredicateIsNotTrue", + "type" : "error" + }, + { + "inputs" : [], + "name" : "PrivateOrder", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ReentrancyDetected", + "type" : "error" + }, + { + "inputs" : [], + "name" : "RemainingInvalidatedOrder", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ReservesCallFailed", + "type" : "error" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "result", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + } + ], + "name" : "ReturnAmountIsNotEnough", + "type" : "error" + }, + { + "inputs" : [], + "name" : "SafeTransferFailed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "SafeTransferFromFailed", + "type" : "error" + }, + { + "inputs" : [ + { + "internalType" : "bool", + "name" : "success", + "type" : "bool" + }, + { + "internalType" : "bytes", + "name" : "res", + "type" : "bytes" + } + ], + "name" : "SimulationResults", + "type" : "error" + }, + { + "inputs" : [ + { + "internalType" : "string", + "name" : "str", + "type" : "string" + } + ], + "name" : "StringTooLong", + "type" : "error" + }, + { + "inputs" : [], + "name" : "SwapWithZeroAmount", + "type" : "error" + }, + { + "inputs" : [], + "name" : "TakingAmountExceeded", + "type" : "error" + }, + { + "inputs" : [], + "name" : "TakingAmountTooHigh", + "type" : "error" + }, + { + "inputs" : [], + "name" : "TransferFromMakerToTakerFailed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "TransferFromTakerToMakerFailed", + "type" : "error" + }, + { + "inputs" : [], + "name" : "WrongSeriesNonce", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ZeroAddress", + "type" : "error" + }, + { + "inputs" : [], + "name" : "ZeroMinReturn", + "type" : "error" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : true, + "internalType" : "address", + "name" : "maker", + "type" : "address" + }, + { + "indexed" : false, + "internalType" : "uint256", + "name" : "slotIndex", + "type" : "uint256" + }, + { + "indexed" : false, + "internalType" : "uint256", + "name" : "slotValue", + "type" : "uint256" + } + ], + "name" : "BitInvalidatorUpdated", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [], + "name" : "EIP712DomainChanged", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : true, + "internalType" : "address", + "name" : "maker", + "type" : "address" + }, + { + "indexed" : false, + "internalType" : "uint256", + "name" : "series", + "type" : "uint256" + }, + { + "indexed" : false, + "internalType" : "uint256", + "name" : "newEpoch", + "type" : "uint256" + } + ], + "name" : "EpochIncreased", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : false, + "internalType" : "bytes32", + "name" : "orderHash", + "type" : "bytes32" + } + ], + "name" : "OrderCancelled", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : false, + "internalType" : "bytes32", + "name" : "orderHash", + "type" : "bytes32" + }, + { + "indexed" : false, + "internalType" : "uint256", + "name" : "remainingAmount", + "type" : "uint256" + } + ], + "name" : "OrderFilled", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : true, + "internalType" : "address", + "name" : "previousOwner", + "type" : "address" + }, + { + "indexed" : true, + "internalType" : "address", + "name" : "newOwner", + "type" : "address" + } + ], + "name" : "OwnershipTransferred", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : false, + "internalType" : "address", + "name" : "account", + "type" : "address" + } + ], + "name" : "Paused", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : false, + "internalType" : "address", + "name" : "account", + "type" : "address" + } + ], + "name" : "Unpaused", + "type" : "event" + }, + { + "inputs" : [ + { + "internalType" : "uint96", + "name" : "series", + "type" : "uint96" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + } + ], + "name" : "advanceEpoch", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "offsets", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "and", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "target", + "type" : "address" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "arbitraryStaticCall", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "maker", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "slot", + "type" : "uint256" + } + ], + "name" : "bitInvalidatorForOrder", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "MakerTraits", + "name" : "makerTraits", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "additionalMask", + "type" : "uint256" + } + ], + "name" : "bitsInvalidateForOrder", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "MakerTraits", + "name" : "makerTraits", + "type" : "uint256" + }, + { + "internalType" : "bytes32", + "name" : "orderHash", + "type" : "bytes32" + } + ], + "name" : "cancelOrder", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "MakerTraits[]", + "name" : "makerTraits", + "type" : "uint256[]" + }, + { + "internalType" : "bytes32[]", + "name" : "orderHashes", + "type" : "bytes32[]" + } + ], + "name" : "cancelOrders", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "bytes", + "name" : "predicate", + "type" : "bytes" + } + ], + "name" : "checkPredicate", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "contract IClipperExchange", + "name" : "clipperExchange", + "type" : "address" + }, + { + "internalType" : "Address", + "name" : "srcToken", + "type" : "uint256" + }, + { + "internalType" : "contract IERC20", + "name" : "dstToken", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "inputAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "outputAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "goodUntil", + "type" : "uint256" + }, + { + "internalType" : "bytes32", + "name" : "r", + "type" : "bytes32" + }, + { + "internalType" : "bytes32", + "name" : "vs", + "type" : "bytes32" + } + ], + "name" : "clipperSwap", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "contract IClipperExchange", + "name" : "clipperExchange", + "type" : "address" + }, + { + "internalType" : "address payable", + "name" : "recipient", + "type" : "address" + }, + { + "internalType" : "Address", + "name" : "srcToken", + "type" : "uint256" + }, + { + "internalType" : "contract IERC20", + "name" : "dstToken", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "inputAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "outputAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "goodUntil", + "type" : "uint256" + }, + { + "internalType" : "bytes32", + "name" : "r", + "type" : "bytes32" + }, + { + "internalType" : "bytes32", + "name" : "vs", + "type" : "bytes32" + } + ], + "name" : "clipperSwapTo", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "", + "type" : "address" + }, + { + "internalType" : "address", + "name" : "", + "type" : "address" + }, + { + "internalType" : "address", + "name" : "inCoin", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "dx", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + } + ], + "name" : "curveSwapCallback", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "eip712Domain", + "outputs" : [ + { + "internalType" : "bytes1", + "name" : "fields", + "type" : "bytes1" + }, + { + "internalType" : "string", + "name" : "name", + "type" : "string" + }, + { + "internalType" : "string", + "name" : "version", + "type" : "string" + }, + { + "internalType" : "uint256", + "name" : "chainId", + "type" : "uint256" + }, + { + "internalType" : "address", + "name" : "verifyingContract", + "type" : "address" + }, + { + "internalType" : "bytes32", + "name" : "salt", + "type" : "bytes32" + }, + { + "internalType" : "uint256[]", + "name" : "extensions", + "type" : "uint256[]" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "maker", + "type" : "address" + }, + { + "internalType" : "uint96", + "name" : "series", + "type" : "uint96" + } + ], + "name" : "epoch", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "maker", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "series", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "makerEpoch", + "type" : "uint256" + } + ], + "name" : "epochEquals", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "value", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "eq", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + } + ], + "name" : "ethUnoswap", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + } + ], + "name" : "ethUnoswap2", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex3", + "type" : "uint256" + } + ], + "name" : "ethUnoswap3", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "to", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + } + ], + "name" : "ethUnoswapTo", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "to", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + } + ], + "name" : "ethUnoswapTo2", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "to", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex3", + "type" : "uint256" + } + ], + "name" : "ethUnoswapTo3", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "components" : [ + { + "internalType" : "uint256", + "name" : "salt", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "maker", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "receiver", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "makerAsset", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "takerAsset", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "makingAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "takingAmount", + "type" : "uint256" + }, + { + "internalType" : "MakerTraits", + "name" : "makerTraits", + "type" : "uint256" + } + ], + "internalType" : "struct IOrderMixin.Order", + "name" : "order", + "type" : "tuple" + }, + { + "internalType" : "bytes", + "name" : "signature", + "type" : "bytes" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "TakerTraits", + "name" : "takerTraits", + "type" : "uint256" + } + ], + "name" : "fillContractOrder", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "bytes32", + "name" : "", + "type" : "bytes32" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "components" : [ + { + "internalType" : "uint256", + "name" : "salt", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "maker", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "receiver", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "makerAsset", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "takerAsset", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "makingAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "takingAmount", + "type" : "uint256" + }, + { + "internalType" : "MakerTraits", + "name" : "makerTraits", + "type" : "uint256" + } + ], + "internalType" : "struct IOrderMixin.Order", + "name" : "order", + "type" : "tuple" + }, + { + "internalType" : "bytes", + "name" : "signature", + "type" : "bytes" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "TakerTraits", + "name" : "takerTraits", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "args", + "type" : "bytes" + } + ], + "name" : "fillContractOrderArgs", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "bytes32", + "name" : "", + "type" : "bytes32" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "components" : [ + { + "internalType" : "uint256", + "name" : "salt", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "maker", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "receiver", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "makerAsset", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "takerAsset", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "makingAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "takingAmount", + "type" : "uint256" + }, + { + "internalType" : "MakerTraits", + "name" : "makerTraits", + "type" : "uint256" + } + ], + "internalType" : "struct IOrderMixin.Order", + "name" : "order", + "type" : "tuple" + }, + { + "internalType" : "bytes32", + "name" : "r", + "type" : "bytes32" + }, + { + "internalType" : "bytes32", + "name" : "vs", + "type" : "bytes32" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "TakerTraits", + "name" : "takerTraits", + "type" : "uint256" + } + ], + "name" : "fillOrder", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "bytes32", + "name" : "", + "type" : "bytes32" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "components" : [ + { + "internalType" : "uint256", + "name" : "salt", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "maker", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "receiver", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "makerAsset", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "takerAsset", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "makingAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "takingAmount", + "type" : "uint256" + }, + { + "internalType" : "MakerTraits", + "name" : "makerTraits", + "type" : "uint256" + } + ], + "internalType" : "struct IOrderMixin.Order", + "name" : "order", + "type" : "tuple" + }, + { + "internalType" : "bytes32", + "name" : "r", + "type" : "bytes32" + }, + { + "internalType" : "bytes32", + "name" : "vs", + "type" : "bytes32" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "TakerTraits", + "name" : "takerTraits", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "args", + "type" : "bytes" + } + ], + "name" : "fillOrderArgs", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + }, + { + "internalType" : "bytes32", + "name" : "", + "type" : "bytes32" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "value", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "gt", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "components" : [ + { + "internalType" : "uint256", + "name" : "salt", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "maker", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "receiver", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "makerAsset", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "takerAsset", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "makingAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "takingAmount", + "type" : "uint256" + }, + { + "internalType" : "MakerTraits", + "name" : "makerTraits", + "type" : "uint256" + } + ], + "internalType" : "struct IOrderMixin.Order", + "name" : "order", + "type" : "tuple" + } + ], + "name" : "hashOrder", + "outputs" : [ + { + "internalType" : "bytes32", + "name" : "", + "type" : "bytes32" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint96", + "name" : "series", + "type" : "uint96" + } + ], + "name" : "increaseEpoch", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "value", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "lt", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "not", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "offsets", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "or", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [], + "name" : "owner", + "outputs" : [ + { + "internalType" : "address", + "name" : "", + "type" : "address" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [], + "name" : "pause", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "paused", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "bytes", + "name" : "permit", + "type" : "bytes" + }, + { + "internalType" : "bytes", + "name" : "action", + "type" : "bytes" + } + ], + "name" : "permitAndCall", + "outputs" : [], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "maker", + "type" : "address" + }, + { + "internalType" : "bytes32", + "name" : "orderHash", + "type" : "bytes32" + } + ], + "name" : "rawRemainingInvalidatorForOrder", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "maker", + "type" : "address" + }, + { + "internalType" : "bytes32", + "name" : "orderHash", + "type" : "bytes32" + } + ], + "name" : "remainingInvalidatorForOrder", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [], + "name" : "renounceOwnership", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "contract IERC20", + "name" : "token", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + } + ], + "name" : "rescueFunds", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "target", + "type" : "address" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "simulate", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "contract IAggregationExecutor", + "name" : "executor", + "type" : "address" + }, + { + "components" : [ + { + "internalType" : "contract IERC20", + "name" : "srcToken", + "type" : "address" + }, + { + "internalType" : "contract IERC20", + "name" : "dstToken", + "type" : "address" + }, + { + "internalType" : "address payable", + "name" : "srcReceiver", + "type" : "address" + }, + { + "internalType" : "address payable", + "name" : "dstReceiver", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturnAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "flags", + "type" : "uint256" + } + ], + "internalType" : "struct GenericRouter.SwapDescription", + "name" : "desc", + "type" : "tuple" + }, + { + "internalType" : "bytes", + "name" : "data", + "type" : "bytes" + } + ], + "name" : "swap", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "spentAmount", + "type" : "uint256" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "newOwner", + "type" : "address" + } + ], + "name" : "transferOwnership", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "int256", + "name" : "amount0Delta", + "type" : "int256" + }, + { + "internalType" : "int256", + "name" : "amount1Delta", + "type" : "int256" + }, + { + "internalType" : "bytes", + "name" : "", + "type" : "bytes" + } + ], + "name" : "uniswapV3SwapCallback", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "token", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + } + ], + "name" : "unoswap", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "token", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + } + ], + "name" : "unoswap2", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "token", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex3", + "type" : "uint256" + } + ], + "name" : "unoswap3", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "to", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "token", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + } + ], + "name" : "unoswapTo", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "to", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "token", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + } + ], + "name" : "unoswapTo2", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "Address", + "name" : "to", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "token", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "amount", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "minReturn", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex2", + "type" : "uint256" + }, + { + "internalType" : "Address", + "name" : "dex3", + "type" : "uint256" + } + ], + "name" : "unoswapTo3", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "returnAmount", + "type" : "uint256" + } + ], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "unpause", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "stateMutability" : "payable", + "type" : "receive" + } +] diff --git a/tests/ragger/abis/poap.abi.json b/tests/ragger/abis/poap.abi.json new file mode 100644 index 000000000..dba0f0f47 --- /dev/null +++ b/tests/ragger/abis/poap.abi.json @@ -0,0 +1,359 @@ +[ + { + "inputs" : [ + { + "internalType" : "address", + "name" : "_poapContractAddress", + "type" : "address" + }, + { + "internalType" : "address", + "name" : "_validSigner", + "type" : "address" + }, + { + "internalType" : "address payable", + "name" : "_feeReceiver", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "_migrationFee", + "type" : "uint256" + } + ], + "stateMutability" : "nonpayable", + "type" : "constructor" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : true, + "internalType" : "address", + "name" : "previousFeeReceiver", + "type" : "address" + }, + { + "indexed" : true, + "internalType" : "address", + "name" : "newFeeReceiver", + "type" : "address" + } + ], + "name" : "FeeReceiverChange", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : true, + "internalType" : "uint256", + "name" : "previousFeeReceiver", + "type" : "uint256" + }, + { + "indexed" : true, + "internalType" : "uint256", + "name" : "newFeeReceiver", + "type" : "uint256" + } + ], + "name" : "MigrationFeeChange", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : true, + "internalType" : "address", + "name" : "previousOwner", + "type" : "address" + }, + { + "indexed" : true, + "internalType" : "address", + "name" : "newOwner", + "type" : "address" + } + ], + "name" : "OwnershipTransferred", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : false, + "internalType" : "address", + "name" : "account", + "type" : "address" + } + ], + "name" : "Paused", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : false, + "internalType" : "address", + "name" : "account", + "type" : "address" + } + ], + "name" : "Unpaused", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : true, + "internalType" : "address", + "name" : "previousValidSigner", + "type" : "address" + }, + { + "indexed" : true, + "internalType" : "address", + "name" : "newValidSigner", + "type" : "address" + } + ], + "name" : "ValidSignerChange", + "type" : "event" + }, + { + "anonymous" : false, + "inputs" : [ + { + "indexed" : false, + "internalType" : "bytes", + "name" : "_signature", + "type" : "bytes" + } + ], + "name" : "VerifiedSignature", + "type" : "event" + }, + { + "inputs" : [], + "name" : "NAME", + "outputs" : [ + { + "internalType" : "string", + "name" : "", + "type" : "string" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [], + "name" : "feeReceiver", + "outputs" : [ + { + "internalType" : "address payable", + "name" : "", + "type" : "address" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [], + "name" : "migrationFee", + "outputs" : [ + { + "internalType" : "uint256", + "name" : "", + "type" : "uint256" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "eventId", + "type" : "uint256" + }, + { + "internalType" : "uint256", + "name" : "tokenId", + "type" : "uint256" + }, + { + "internalType" : "address", + "name" : "receiver", + "type" : "address" + }, + { + "internalType" : "uint256", + "name" : "expirationTime", + "type" : "uint256" + }, + { + "internalType" : "bytes", + "name" : "signature", + "type" : "bytes" + } + ], + "name" : "mintToken", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "payable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "owner", + "outputs" : [ + { + "internalType" : "address", + "name" : "", + "type" : "address" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [], + "name" : "pause", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "paused", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "bytes", + "name" : "", + "type" : "bytes" + } + ], + "name" : "processed", + "outputs" : [ + { + "internalType" : "bool", + "name" : "", + "type" : "bool" + } + ], + "stateMutability" : "view", + "type" : "function" + }, + { + "inputs" : [], + "name" : "renounceOwnership", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "renouncePoapAdmin", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address payable", + "name" : "_feeReceiver", + "type" : "address" + } + ], + "name" : "setFeeReceiver", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "uint256", + "name" : "_migrationFee", + "type" : "uint256" + } + ], + "name" : "setMigrationFee", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "_validSigner", + "type" : "address" + } + ], + "name" : "setValidSigner", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [ + { + "internalType" : "address", + "name" : "newOwner", + "type" : "address" + } + ], + "name" : "transferOwnership", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "unpause", + "outputs" : [], + "stateMutability" : "nonpayable", + "type" : "function" + }, + { + "inputs" : [], + "name" : "validSigner", + "outputs" : [ + { + "internalType" : "address", + "name" : "", + "type" : "address" + } + ], + "stateMutability" : "view", + "type" : "function" + } +] diff --git a/tests/ragger/snapshots/flex/test_1inch/00000.png b/tests/ragger/snapshots/flex/test_1inch/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8112a2694ee580d3f85642aa509a76fad3a963 GIT binary patch literal 13453 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�j5XKAv0RvZC5iCt#}i6 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_1inch/00002.png b/tests/ragger/snapshots/flex/test_1inch/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..68b268c9f88e4571d18d6e67d5d4af8ee350d030 GIT binary patch literal 6964 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_1inch/00003.png b/tests/ragger/snapshots/flex/test_1inch/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e1a36532aa283ea587033f609b876d4c585fe870 GIT binary patch literal 11536 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 UPsf12D=dzNgdJ`>c;@PV1L0-a-2eap literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_1inch/00005.png b/tests/ragger/snapshots/flex/test_1inch/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..dabe7afea35d5f2c73b04e4e20993035bd748cb3 GIT binary patch literal 12445 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
C@t#Tvp=HyI^jbpJL#>@|U^r9zR`=cW=&= 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 Tod^HA2AEtkzglMa_~riq3kDy; literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_nft/00004.png b/tests/ragger/snapshots/flex/test_nft/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..3ade03afd0abc0a54dfba1b4568c55c88cb14912 GIT binary patch literal 10360 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_nft/00005.png b/tests/ragger/snapshots/flex/test_nft/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c5fa98cdcb46c701eefd94873acb56be853447 GIT binary patch literal 12650 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 UPsf12D=dzNgdJ`>c;@PV1L0-a-2eap literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_nft/00007.png b/tests/ragger/snapshots/flex/test_nft/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..dabe7afea35d5f2c73b04e4e20993035bd748cb3 GIT binary patch literal 12445 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_poap/00002.png b/tests/ragger/snapshots/flex/test_poap/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..aa24355a906dec2fa5b120bce49d0ac4c19d65af GIT binary patch literal 10206 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 T59vX&hNrHgtz4t{^yU8o#k81{ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_poap/00004.png b/tests/ragger/snapshots/flex/test_poap/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..1913ce7c46ad82c8fe6aa2b334f486e30163cc43 GIT binary patch literal 11569 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_poap/00005.png b/tests/ragger/snapshots/flex/test_poap/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..be51a9d5595cf5ea25f8f90b684306d30395f329 GIT binary patch literal 6357 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 UPsf12D=dzNgdJ`>c;@PV1L0-a-2eap literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_poap/00006.png b/tests/ragger/snapshots/flex/test_poap/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..dabe7afea35d5f2c73b04e4e20993035bd748cb3 GIT binary patch literal 12445 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 UkeP1^=l}o!07*qoM6N<$f;8OZ$p8QV literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_1inch/00001.png b/tests/ragger/snapshots/nanosp/test_1inch/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..a9deb912bea305dba41ca7a504ec72e5b5fd1fac GIT binary patch literal 530 zcmV+t0`2{YP)UH}U_x4 z@tpJEO78PDyMWW|sqY_pEZ?&WxQHF>5!Fv|J0N{39&z#62;2d2MVAEb0A|2s;)*T_ z+yTsh$;1_167MURQ1hplEsbin>Y(|ynmt+~vW1+pj4Rc)NQtWxWKu`&h7uLQ7aMAr zWBZ_lmLf_;QmxON$l2C>#g7+oA1U>p7gWYbt29LpH9Vyd)u27r6>enM1R_S4y;MP%-# z@Qax>O#uJ^0A5Vr{|6j-j-PUq*TY~4$uP%sx;4AUxEXN7u#{J+h%z#(zNWPns%C@# zyk;||o^xgBdqK(xDW7xBj$HTUh+ zo5XuF&Zi9LC>!jvI-slB`H+l?XLUf@|7Ggz<<%X&dM|V{BLDyZ00000006|`2lQHr U3RG4xf&c&j07*qoM6N<$f`gm$A^-pY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_1inch/00002.png b/tests/ragger/snapshots/nanosp/test_1inch/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..82fbba418b8fbddceca090ba5e95952ec29af2bc GIT binary patch literal 756 zcmV>^4yMNU5myZwk?q&yM@`i{pmgUgcE21*nS`@;k8-(Vorfl`h+w0FTyXLATD(QCiD zFvnJFE5vQ*ly^WiM1;a0S+Z3bKBI~d3xI10A%qY@$TFO4sC#G=$48yXsp_fbWP~19 zOjO#cs@m+f?r23qDJbq9d8?U#mWAQ%5N(KMn)}wEQ zAdlpNkgca>kPwk8r#Q8hh!*;*1JkO;#@6S6>WFpR%n{rjaWy5WD`#0;sLEwX^v zr5vsqPOFJA+re;VHdN;ebK&xhanClwqL3+dYDuA|>xCgkg@i9X5xXNB*B>Jx2pO~n z%nm*Z;!8adJuh&LBfDY50eakLCK?BL=);3S-!W7xO~nr!F5KheSSUC2h(QLm$=uVb z-JN^Hv`@wX-Z6v_LI@%Mhi$)<$7x+FCxSyDE7VdQEwt^}{(1z&X%}cQ_~nmE@0Z#@DyK3jZ3&hr_B^?@QS3Ydr@Y mLtDX}$528DA%qY@Ci4qhUq*mMYg}mn0000RGtYLd`~u(OfzMi6;`-8sQ>Wg1Y{hsp;@ZP?{qIzd z{X168IqBA?-&t=azm}Zvvj4Y}WYJuP*sN_cyk6#qEzFq+w5mb-+uaLE`R?-Be^zV10`oMy}N@eVNRgQC657unyd!WQPx78w= zdEZ{|jj6f&*zPQ4`Poyq!;|TboBbQ_2`4AVZql4m&-W#6^QQMEH#^M^{hq#hj(NMI z+ONwZPQG8%mD#7QaGECNsK)Lr7zcC*GDw(Vp7-QneSuA}F-X|c)z4*}Q$iB}&SsbS literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_1inch/00004.png b/tests/ragger/snapshots/nanosp/test_1inch/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6db3d755f9465e9e9ccddb16507259c1982936 GIT binary patch literal 450 zcmV;z0X_bSP)F4rBsp+LBtRM004mPe$G~(Qo6Qdj1OM( zsjGdsl+r7&YvbGeo&EtuX6Mj_rIHw<=nDDnik>&-_h8)>S6F#od7;Q!#~R+V*6Ekd z+RQ}{FmKiH9*vI4Jgl*<-m}(m(EzXEBBdlogM7D=*Vq{1<}VH<+Dffze=CmYwZxUt-sHtpMPN3&&4xf@+Nv}tUE$Z zLkIp$ec7_qRePtQT{FVl(Wx?B?ya;duA6wBd?fm8#gIvV8zXAc-;6dmiBagJn~-UP srHB^*000000000000000003C#AHp|fw(Q@T-~a#s07*qoM6N<$f{;bh!TfV!9&H?f*TwQL!6n1ey{6006Mu&-zDh+g1*8&ZEeb zW^dsc{Q>4E*}qrni^y+4N-5_o{_HPEzel(61v27BP`zxK$KvOC0Kj*eyccBew6sC7MC#{%#?rJu zWnb)xd)mCgmfvWJWY6o>X}BXo5eZyolY9~^H;*oA4aAR zrM~@%*+0+x4siZ^>NeRI`ky7J)@xC?NAWt?CvZmjVCJo zDK%m@u6_njo5%BW;523!CYkInqokVbFGe3kq6$UgJsgSj0ssI2000000000000000 ar+EQ&UTi;1epT%N0000H)9Sou?uP9KCFrKKF+B( z;dDNobK&3DycRuuINRTY)L*Pr0$5)Gc;%0-)0rFVUG7c?ti&voc!}a z^m_?^%x(_-t=0+IU5P!nJei>HemJV%O^AWi`bi7^_y_{Tz^qV00000 f0000006^Cl!j~X&&{~Bn00000NkvXXu0mjfCg#d| literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_1inch/00007.png b/tests/ragger/snapshots/nanosp/test_1inch/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~omBiSJU000000002Mr|@;RfO%q! zseByAjY?K24=|Ixp?!0QTt+h|R5 zkJCT+T>(X3d+hoXf2W|pG4vt)k3b9n0002sa>fG2m~o+-C-Da511^e0<0W!>ejT~9 zx073Hk#LMLMVLkTEF8y?Ur%Nh<8I@rN?i`G&{qtGi-$A1O^%{m)Rxy(w24uA(Qh*1 z3fNMpKf8WK16`q|mZcH>Vpq0q`6FtrO~vPb7B=oDLu*{0>^D-({muZ?t2hj1zV@cc zL_IB=3Kl0|BAnwHnqR|Y<&yah_3lA>Ob3A0b&#OR}hAbbIw|I6-%G$ zH&0Pj?QTwaYG?Y70{{R3dOnSLS<-40w`iufus3d+ zYpuw=+w)7)j0Ixd1Yw?E6O)3i@T91?m;|k5*p;lr=hp^b#tffgHkVB_x=?(HW{L}= zao4GZ;Z%gK;0orFpeyZ&i$Gjf2Ovn>!gl78prXN|28+$m7UH}U_x4 z@tpJEO78PDyMWW|sqY_pEZ?&WxQHF>5!Fv|J0N{39&z#62;2d2MVAEb0A|2s;)*T_ z+yTsh$;1_167MURQ1hplEsbin>Y(|ynmt+~vW1+pj4Rc)NQtWxWKu`&h7uLQ7aMAr zWBZ_lmLf_;QmxON$l2C>#g7+oA1U>p7gWYbt29LpH9Vyd)u27r6>enM1R_S4y;MP%-# z@Qax>O#uJ^0A5Vr{|6j-j-PUq*TY~4$uP%sx;4AUxEXN7u#{J+h%z#(zNWPns%C@# zyk;||o^xgBdqK(xDW7xBj$HTUh+ zo5XuF&Zi9LC>!jvI-slB`H+l?XLUf@|7Ggz<<%X&dM|V{BLDyZ00000006|`2lQHr U3RG4xf&c&j07*qoM6N<$f`gm$A^-pY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00002.png b/tests/ragger/snapshots/nanosp/test_nft/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac2ab07753bb344d9944b4c3935fcd2921d373e GIT binary patch literal 702 zcmV;v0zv(WP)c&zur@%X+Ij*PoU?OAnNg* zN4T4^dIr3nrv^aEjK}fR0F?i==%L;R00000_*iT;)ZFLw$(CoqpczYBSToEP$uRcJ ztaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwhbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LC zP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i`oC6%pQ!0Ot9jpY87oIi(s6^i{4cLy zA-WUMlU`vlZlCnX1CXT60J`)%1xHF!x`*ovo98o=HPtlC(^7+T&A(x6M5(A$S7q|GGnDg)R$w? zwIEtIsEPZraFNGyBuhLxWl|Pp@suMi08S~*k7;o3XjA5*OUBbbB)yPT6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|w zv-^1e9@x@hHadr!g=N7Kw93CK@Zb6UJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHD ke)={P000000Dw};FJ0{81JjCfLI3~&07*qoM6N<$f~{Cmb^rhX literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00003.png b/tests/ragger/snapshots/nanosp/test_nft/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..330755f9fe2708a83b300dcf1079d27ce076d363 GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|^K@ba4!+nDh2#AYZcrPebCi zH){9(d+a?e=fk7DF6+v)Q~zx(o4MZVFnTirHQm{}$hx4XV}+rMENfF$G&$5Sf9N(ztI1C+7f>U>5nm%9`hUCTvA`4`)lX2#xI;2`>)!Ee*v2F zLBM_b!H1`xsjp$~3zTdgI z@0z3gedeBz^Lc#3P2D-Y9d?%{hc_7C{%d=E+6I;{G9vy~j7pD$rA)i8eSVn5-t&Lo zEbr;xj?G=X&CmSM>tOAx!Bu(}%70kLZFk_A*RaVd<++B((a$^ocAP(W;?e30C(N3B j`0`vUKwd-w4Yz9;d2ILh)?KSF1qpk)`njxgN@xNA?RJ!r literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00004.png b/tests/ragger/snapshots/nanosp/test_nft/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3be0cc448c1f4e40f7d3e5b3771ef9c8f6a41d GIT binary patch literal 557 zcmV+|0@D47P)Nkl|GXmri#b>@rI(8l3)f|723 zi_@*VWOliBHX0e^Rd<79FJif?P*UiZ-4uhL4onVDTFAXca>y1ab1i&HHWs@@mXrOJ zmfY|zJ|~S-uttioxGp~hlLHky$>9~AjGpgn5@6rEoO61e(LbS#hAYk}7L2aeafTZD z#l$P1;%FsjnX=zT{Vl~oADElD_9Lub$09qHC8fWY=Fgr7wJ#$ZlM%rp0Z9^J85AiJ zkYipBKr*!oK|~?Q3=X{zJ*UHu#G=t&)zDpo94f3@#HG=y>I^kB z`K@L-#bk%#aQlRn%P4HW_7V3Rv1^bO>SMb#>22=SNR$o#FWJ&U=M`YoAQg5v1%#_1 zw^FZ8t_~?dErQ9MIuI?6FyfPI(T}R3kFxeW-0kysg3c=-c?NwdQc(vr3Z)gDm8zKh vnayQBH2?qr000000000000000z@EGTXu{zxie%){00000NkvXXu0mjfcUbsN literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00005.png b/tests/ragger/snapshots/nanosp/test_nft/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..d32af33c70806464c001b6ebd09bffa085dfbc43 GIT binary patch literal 562 zcmV-20?qx2P)V~n90}{|ooSSWPa7F@}%ZO!(tmW)IK<9`}7ytkO;5Qkgh9=jXQD?qH4ec~<6O?rS zTbyp?C3DENv(w3>sD?Y7dl4&Lg|b4w?4~&U)G%wF^-y|5)?^EmxfXvU8>`(C&)NP; zOUZml%vmQ5tdSxtq03*vq@m&`Yu*sa?D@VX0rtJiIj7ed{TIr_TnR?;U<|d5Gt|&8 zCS3syM=LqYl>Ij8Zz&GCVQJ>tkFa_jOZ-@tl>RI&o;?q0Uq*3EW(*by$dVbBNh3u9 zN<5bXkUUz2AfYnI($FOdUuT$5!>{C)Cg|Pm>9|16?a1dj<^^sj7M!WzmMt zN>z*-gHKE4`KSc|000000000000000005Tr2CHofjBQ|KeEG@b*Gu*}E^XJ`xA&8bs3!TCl2FN)Z)LPDxuvR(406jEAKCJ3*e!V*&!#MqvlBnOD zv$$Y5a)1HMl(q?LgEI_Zb|ac8;>+1<0M8MNFaQ7m0Kj)LCmTw(IkRFuk_{cKZc8Zf z@ZKa3?o6=RU2ny zLthM?0fx}39%amWOUi4U17EQ>a`hoB@5hK7&6MKX;`$RaP_=hGi-8~%m~ zu?GhOJZJo#i`6ZL)&Aw~g2We{%vzsC|L(E?00000007{_KhS;!EDxWdO8@`>07*qo IM6N<$f}(yGSpWb4 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00007.png b/tests/ragger/snapshots/nanosp/test_nft/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..f79d5f8db9d17edd0e4dca2637112986789e3ddd GIT binary patch literal 651 zcmV;60(AX}P)MUvl5Jb%j0UJ-dE~bZ{l)L<3h01AKZKyh zH^!(=7z;U|0o1Z31wyuDg!(itLozn zHT1>gJ;1TFl1~|!Z?pWC!2uiAo?QD97LQ|@A4`|QWuf})xlnr<)tHP378{^QAuNL; z#RjM`uMLP~>L^4qlpwPWh9bke@@{CO*jaP9g+jSM-POt+Bv=Q_dO)@%QB_Hql74Lz zHGSIZ+1S-ehfdkO9icVj?qJ%ts3zV|T(= z?eAb^A#*=aEw;Ncb|-voLGPb;`kd(3Mwq8XcRx5v+3qz}a895aW+}%1tAa}$eJOh2 zBy5jJ`bXmV7TC(1^1Te{UoBD1xi#ukRy#HU*^G(!;KfnmpdK)32=a~EPbJJW=dFPH l-uS?aV?qcagb+f`<_{U?Ub^`ZJ9+>B002ovPDHLkV1hTBC_(@L literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00008.png b/tests/ragger/snapshots/nanosp/test_nft/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..72505b8634aebfd591d6d9468d4e33b945598c93 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QZGDR978JRyuA_0b;v-3^@7Gb zmEZ9}-yXReUdf8qx$%9`^BPerfp=#abXge~{zYc5-TJL+@82gc)?H-&QNH~J!|G-f9Lnl*iYWNYa^?o z_28<_8fIUepm(>geA%iZn{vO2?}mrj?SH{uJ6-q_G9T;co?o4~(P$Z`-5o_9h65FK zFSoy_SoT6xAmQ%0Yv_k&Z+ZUFY(4Io8RUKoeKZL;AXvd%bj&?iK#lmHM`V!7z+Ge z#yQV7uQ3)*d$oU={Ri&~J+1@yefIwM@&7f^PWkUf_A_5Y-fC4ToVSvA<>GI&{_KRM y|IPRpP5U={rK8I30F_#cNfnGh&qBb1`+pb$Ql_rCAO5%>B;x7n=d#Wzp$Py~9e}6+ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00010.png b/tests/ragger/snapshots/nanosp/test_nft/00010.png new file mode 100644 index 0000000000000000000000000000000000000000..33d608bb92cf2ced27e89843177b32a87b8c2c78 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QeQk>978JRyuBIS*W@6;dSPCt z^~=BdE594bx9}}$n8g#S`@Ci%$C5o)`6mMPKR6YYy>{#I$A698ze~p+xO#UHx5WmT zms_u`70z1wH{tc6!_loL?3iDzxud>gz4_zJFO`?{SEd~>>8g%+-*!*ee9~I~&tDV* zndNj3|5_ltddhDj)4RH!{G0S09&C-T?w vN};V^{Fkv$T;nwH&EbhhxPe}Ug8$F>kAIrFrrv^oD@erC)z4*}Q$iB}7X*Vu literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00011.png b/tests/ragger/snapshots/nanosp/test_nft/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..a15e6bed29481f1a29d0b7605f564885cd79a37f GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QeQn?978JRyuIO=*K8ob8nFG9 zZ_R(@pL($iqF9b7(HBZHE18+4nx5*GC1svKPMZx#!aU1BoXt y?LRYj#nO61(;1%PvrgLCOs-%A`V|5mKdIo z^l0Vg&hNYj`YWGiuZWDxImG_kfPvvaTFm-|FLxh{tb8+9f38JMt8+_~ZOJqlTmAL1 zu~(L#DE|5SeBOziUp6_a9c*56-j+$8WDQ-us&2l~{5z#ds{`sPpBjHW_VdQCBdfRF z?)sl~d!GEW_}zYQa_<`7OfA|nH9a@hk^e@|a)VDSOA^i7w~OAKp}pEgY5v`Nz0dE( zytz}dWsmCl|J$n8msuAZoZ0<>-E0!C?c>Ru`aBx*87zOyV_j|~QMqu^iITiSpR%sL zer>aU;iMdo`ITM?$2K4BsdLyo`Q_i^A-iVXtCvXLAhh~|mz%mVTkyrbz<@&r2TcC2 Wm8yslU7R@+B<$(x=d#Wzp$P!+C&Hls literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00013.png b/tests/ragger/snapshots/nanosp/test_nft/00013.png new file mode 100644 index 0000000000000000000000000000000000000000..89b78dba9daca79bbdc5cdf8ac92ce821fbf46fe GIT binary patch literal 432 zcmV;h0Z;ykP)fV!9&H?f*TwQL!6n1ey{6006Mu&-zDh+g1*8&ZEeb zW^dsc{Q>4E*}qrni^y+4N-5_o{_HPEzel(61v27BP`zxK$KvOC0Kj*eyccBew6sC7MC#{%#?rJu zWnb)xd)mCgmfvWJWY6o>X}BXo5eZyolY9~^H;*oA4aAR zrM~@%*+0+x4siZ^>NeRI`ky7J)@xC?NAWt?CvZmjVCJo zDK%m@u6_njo5%BW;523!CYkInqokVbFGe3kq6$UgJsgSj0ssI2000000000000000 ar+EQ&UTi;1epT%N0000H)9Sou?uP9KCFrKKF+B( z;dDNobK&3DycRuuINRTY)L*Pr0$5)Gc;%0-)0rFVUG7c?ti&voc!}a z^m_?^%x(_-t=0+IU5P!nJei>HemJV%O^AWi`bi7^_y_{Tz^qV00000 f0000006^Cl!j~X&&{~Bn00000NkvXXu0mjfCg#d| literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_nft/00015.png b/tests/ragger/snapshots/nanosp/test_nft/00015.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ozq$nFu%&rLm00000005ujYjps}rIhk^ zjB#NkXSkeza_CDQr@`L@uJ1u@VtxM4u7eynhaMDXY4j5BXTvia$h4hHA}C?O{ZP~ zQ#Rz^-G0>uc7#29^&G^0b2n_e<&PSxY^py0>oIXX8M?;plYOD;+~1i1c@>Aj%Gca7 znHo>4P42p9ulJBEPuKH+YW-FJ+qI~@uCwwMGLaqgD)PhbTmkAK`hS8j)VQ?mC3oo= zQ~TzrMkTvD7I{9-;SUY~0PrF1^{a>jX+f(#V<(TYgw<+^e|B9cG>SH@X8om`OARMt zCmF@gP@I^p;$ka7^XuIc5MC2hqe@dXyR>ex(1Hn=ZYb$*Riai^4xTUpXYSjF4>HRW zCScU99u+v7fX=z)SsU0ltAr1fl002ovPDHLkV1mYF B;~D?} literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_poap/00001.png b/tests/ragger/snapshots/nanosp/test_poap/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..a9deb912bea305dba41ca7a504ec72e5b5fd1fac GIT binary patch literal 530 zcmV+t0`2{YP)UH}U_x4 z@tpJEO78PDyMWW|sqY_pEZ?&WxQHF>5!Fv|J0N{39&z#62;2d2MVAEb0A|2s;)*T_ z+yTsh$;1_167MURQ1hplEsbin>Y(|ynmt+~vW1+pj4Rc)NQtWxWKu`&h7uLQ7aMAr zWBZ_lmLf_;QmxON$l2C>#g7+oA1U>p7gWYbt29LpH9Vyd)u27r6>enM1R_S4y;MP%-# z@Qax>O#uJ^0A5Vr{|6j-j-PUq*TY~4$uP%sx;4AUxEXN7u#{J+h%z#(zNWPns%C@# zyk;||o^xgBdqK(xDW7xBj$HTUh+ zo5XuF&Zi9LC>!jvI-slB`H+l?XLUf@|7Ggz<<%X&dM|V{BLDyZ00000006|`2lQHr U3RG4xf&c&j07*qoM6N<$f`gm$A^-pY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_poap/00002.png b/tests/ragger/snapshots/nanosp/test_poap/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..d68074544480837501beb5766fca462f6a52e0d4 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-xba4!+nDh2VE?=_(PebCi zH)?zTPuy|3ZiYz<|3R0Gi{F1foe_0iX;&Li4};G4jlA;7S8@es%D&*3$TnAY`|E6p z=*|q^Dr`t)~! za&H0~t~_|Wuyn!pttYMvg-rE*veJF+c1Om0M-R)+igo_EF{dod{nX`I|972Zoe_Uu z+GMiNx9KaF%zC5m#;dcDEAo+LPUja;Kp}(6e;C((y+0>ya|t*&JYD@<);T3K0RS?@ Boj(8o literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_poap/00003.png b/tests/ragger/snapshots/nanosp/test_poap/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..d457393f706424941f9770f418f919c42d561be9 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|Gw}pJdo(;RggkJx*&0M>HlhsE#T^qB z&JzDiwhyYegge~&nv`9h@2zq8m)vf4pF^{soO^R?m!sOR(-sTWesxc5_6S+%FLQJpa1sgH-z8J?#(``3)4U1*wM-D=?yT)YCzsaifgqP^4RxVY7-C&%Id9Bcnb0;2r94!qpvwMRXrpOu14*XTmT zgCggEt>&{n03scqAFsP3U1(Or$NKWE7a@cYLdbG*H8d4TOc?;_HkNcmZ`zEs#4}8v z`{K&M-PPVjHOQe~{0ZD&2LeMdy0|bE3(w~GUaBfrRf~J5mLje(j{}>Enmu$LYsC?- zxp_Y~YC)#N=0!q>GY#-4+iFMg?!pXe+JAKbaOr&PS%0B&0A};H>2j|cYKrxmbovj^ zU{y3PL}YnYi*ZM%=Q<#r$Q7Wc9+GgpMXL93ZDB*6nWm|!VMt|fpavt8HNi4s*BX`3*wR;LW~lAurX zcDkgLSl%-=5c98Iw}G4)ca@5-v3WghQ@s`(_e$eQSPUcV#^2i+Rn0SRT3c@+#?!IH zT9D2g+Qj2n_>gy=JWCLrvQri{LDEqa08mQ9NiD8jMj#KFA0`!Qs7Q0QQwFKuSOZh;{G*1t;HB-eDkzn79rx%)PqN##_GOGD8xbV8VoAp1^3wZy0T=F~NJI;q- zpUubn_h6=uv=D5bCYA@Lpr`z^4*bsN`{-7l5&-XoZ=EaFzNkB#_1n-uyB6Efv?j8- k{Pt}qA%qY@2qC4Ee}`W*d%(VAV*mgE07*qoM6N<$f^F+;d;kCd literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_poap/00005.png b/tests/ragger/snapshots/nanosp/test_poap/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..1c86e8202d0a00736775af17f644acfa7f6b0f4b GIT binary patch literal 629 zcmV-*0*d{KP)&kVZp_)oqH(0k@t+hHM zbzRGo=66MypwT3IQEjxb$)M%hS8<6u_pKjTX z`n8zTG9-BH1m(P`ud(=tATR_R00030m(^U*5JpgC{{0dXgI>!v|ZD=Jm;j4rLj@O zE7z#bGh^~~UWZb1qD(~H56e3CPscbBl!_SI=A0h}9Y_6^RD|4T_S_0pE3fa9OK0S* z+e6qg1Il~$zp7E0{Z(JuRh3@aW$crA$9X^}ExW53r$czniC7QD{P4wbhB?dtHR8*) zrhPcBRyLNQ_ByhT`$MmwHm+8V$({lL000000000000000000000AQLw`)Vxl#%ve{ P00000NkvXXu0mjf)C?vx literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_poap/00006.png b/tests/ragger/snapshots/nanosp/test_poap/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..cf2294404fb8ef53cc5e2c9e9247ead4b7f941f0 GIT binary patch literal 925 zcmV;O17iG%P)gvv;Kav=lVmgXz~Y&RT0O?Hjq9%oK!S4tv%>uUp{B*#KD;c-{|- z4T(JI({`K*&!wQxAtiFN!awav7%)r%MNt&R z>rB1_n0gCHiJ=yGiBWI7qL5L6Kv@a&sKhx^FwgY%9{vMgjDt(SNzy+45swx6FeD~L z^w``~MSxb}wQSZ-!&R2@$^H;)>}o+-?_T7NdP!z@)pI}@RGC5Qnl_lGSuT;-2H4pS z&jg{x&Ba3Lr0ZM^@C8(#5>9H_W{0C$mV^&exf)V2B#Q+x0xm4)79vdFau zw_=x6U}Y$H?7lEY!oNe>yHnZ}|hilQirq7(T009;tu}~-A0z7AjQbcn!PVk*!hmOvZ8D-(N zebBEa?!35&vM^!m-qhi>)$iGc$>~u(LJfT;+?HeiR?QV{fLDr0&0T#}+E;_B@d{F} zTs!>Y&t9Eoq0|3&I7|iXIa3rxQ4~c{6#t%Iktl>g{fSdE00000NkvXXu0mjf>u|m~ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_poap/00007.png b/tests/ragger/snapshots/nanosp/test_poap/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..86740bb5ed8f3a4b2a173abbac5240bd19a8ec9c GIT binary patch literal 948 zcmV;l155mgP)sU-$g6- z$0=t8^x3zW88_QwE*jpicq@zz>6X(|e_9Hfj=^;5;j9%4iFxc;wlT>}L6~U{Np!Sd z>(~w_X8^`60eG$9ox`}yr{y>mj8!~q-HvF2xA~c-sSibW+_OtQD~7CwoJ&EUL)NrS zv6FTZ2AD~pD2k$ZoXI;tZ?^Dub9xtS)%P8*ZPwi&#+9v52 zR5ab8VawXC6acrAtM`v#banOqVQLJXq_WVHOgg#7;H~KHMQSLs2lX6at;XCtnk7?J z)hk~LKD_x3guw!I8}f`kHMmr3Eb%N%WA;=aQ|(#0Aj8mXNfG8@rYd2Hq#xm_7jB@GYp2b72rj4S>KgN{VUu-F=6r%cEvdT zgTq*xNzta~>;0sWZZJl&9Gx}eJkdDOOS-`r?f~dCY9>~&Z}B#ie1aAgahy1K9;V@- zBrA-fD2k#eir>we8rsWAwGT+4t6#T4U{k4*@#w)Tub#EwA%oE@d3|(AP-K)PKA5nh z%U51OIr(JAK8TH{^Hq(BJV4><*fm%mX7yOuo>0mQs9RDikbK3pcMCr-UUa6e!Jl}h zkyjd+8}sR zaC!iK1fEdpmFxcHrB-$TNVV^N{SP$en{8SGT$_7hvO4Gm?1EvldQlWbQ4~c{9OWP1 W@ahT?I|*k1000022u0JL?!^5s$-VT$GuDDWi4x;X-u=o%MHECOa~y;aLI@#*Ea%HhP>eA@hY-@w z5Q3L{Ut)|&H=(wua};9{b+Uvlh%uI0ZZ5nkP`|`=ytMk67g42L0b0@IR;6>b{IMMH z@qcZJF7z8AYC!)5d^^g*O6OSst2n$k{+lot8GFxdwJ~&T%)Sid>pCspI*X41$~m2p z6JHFgQLZYZC~YTgkE$(Qa0@|sq5{zc)6{M9JiY=KzPa< zEL%bdc?Q-!puAq`<6ZZNdDt#!RXL|_a2B<-=6E30>_xZ7$z+riT0L^%BeSKbRbONU zPSq@naHqH}e(350-jwt&V))8~8>WYrf0ZLSC(liw^oc6?kVy@qOGno zgGCfF0PyaCo|a)(TeE&3(g4N?n;xnGC%p{nb7QL^mK@ageIePhA-fC&$hYtIo$0+j zPx%Czlg!y)MrEow`-`Cs?u1e3PCAoJ8(hlgOz#fgmY)mGN4^(V{WtVda6WRMJNbtr z5;!+%GQ$)9ma-Kzz|GJAH}jU8ux2tXN(do@5JCtcgb+dqA%qY@2qA=!&*K+3qD(1k SJ|_nN0000fV!9&H?f*TwQL!6n1ey{6006Mu&-zDh+g1*8&ZEeb zW^dsc{Q>4E*}qrni^y+4N-5_o{_HPEzel(61v27BP`zxK$KvOC0Kj*eyccBew6sC7MC#{%#?rJu zWnb)xd)mCgmfvWJWY6o>X}BXo5eZyolY9~^H;*oA4aAR zrM~@%*+0+x4siZ^>NeRI`ky7J)@xC?NAWt?CvZmjVCJo zDK%m@u6_njo5%BW;523!CYkInqokVbFGe3kq6$UgJsgSj0ssI2000000000000000 ar+EQ&UTi;1epT%N0000H)9Sou?uP9KCFrKKF+B( z;dDNobK&3DycRuuINRTY)L*Pr0$5)Gc;%0-)0rFVUG7c?ti&voc!}a z^m_?^%x(_-t=0+IU5P!nJei>HemJV%O^AWi`bi7^_y_{Tz^qV00000 f0000006^Cl!j~X&&{~Bn00000NkvXXu0mjfCg#d| literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_poap/00011.png b/tests/ragger/snapshots/nanosp/test_poap/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~o0{{R3E;qMeEW(A&?Bs^XCz@yyjhBQoYBx}G{^Q7! z)=IdPQdgMG_G=^OEce%9p2EX}*DC#X`dRv_i{a+sj9o@DB3EORb&c56ReIBJI&}n` zveEw?wyPGfBlOhr9K_x^4BIaGrN-J9RiFQPoH(CMjdA;8U#PkE2PdE(#c4A0b#9tW zjptpN+O((EJ^Go)^*o@Nf7SoGCbi%5Y<~+mksb3Y{g)k#0QC_5R}iKOORrje6;Geq zH%~RHzPV$O*W(=i;s5{u03KlL_k#SHRA-_TbJVn@Gn2aNVaBZKRK(4k$)cUR*tYe{ zxlK~VQ~2tT9%?wT7>|I`-s5BIDQGI8XxtAN84K)u)k|C71D=2r00000003_E4R%kG UkeP1^=l}o!07*qoM6N<$f;8OZ$p8QV literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_1inch/00001.png b/tests/ragger/snapshots/nanox/test_1inch/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..a9deb912bea305dba41ca7a504ec72e5b5fd1fac GIT binary patch literal 530 zcmV+t0`2{YP)UH}U_x4 z@tpJEO78PDyMWW|sqY_pEZ?&WxQHF>5!Fv|J0N{39&z#62;2d2MVAEb0A|2s;)*T_ z+yTsh$;1_167MURQ1hplEsbin>Y(|ynmt+~vW1+pj4Rc)NQtWxWKu`&h7uLQ7aMAr zWBZ_lmLf_;QmxON$l2C>#g7+oA1U>p7gWYbt29LpH9Vyd)u27r6>enM1R_S4y;MP%-# z@Qax>O#uJ^0A5Vr{|6j-j-PUq*TY~4$uP%sx;4AUxEXN7u#{J+h%z#(zNWPns%C@# zyk;||o^xgBdqK(xDW7xBj$HTUh+ zo5XuF&Zi9LC>!jvI-slB`H+l?XLUf@|7Ggz<<%X&dM|V{BLDyZ00000006|`2lQHr U3RG4xf&c&j07*qoM6N<$f`gm$A^-pY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_1inch/00002.png b/tests/ragger/snapshots/nanox/test_1inch/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..82fbba418b8fbddceca090ba5e95952ec29af2bc GIT binary patch literal 756 zcmV>^4yMNU5myZwk?q&yM@`i{pmgUgcE21*nS`@;k8-(Vorfl`h+w0FTyXLATD(QCiD zFvnJFE5vQ*ly^WiM1;a0S+Z3bKBI~d3xI10A%qY@$TFO4sC#G=$48yXsp_fbWP~19 zOjO#cs@m+f?r23qDJbq9d8?U#mWAQ%5N(KMn)}wEQ zAdlpNkgca>kPwk8r#Q8hh!*;*1JkO;#@6S6>WFpR%n{rjaWy5WD`#0;sLEwX^v zr5vsqPOFJA+re;VHdN;ebK&xhanClwqL3+dYDuA|>xCgkg@i9X5xXNB*B>Jx2pO~n z%nm*Z;!8adJuh&LBfDY50eakLCK?BL=);3S-!W7xO~nr!F5KheSSUC2h(QLm$=uVb z-JN^Hv`@wX-Z6v_LI@%Mhi$)<$7x+FCxSyDE7VdQEwt^}{(1z&X%}cQ_~nmE@0Z#@DyK3jZ3&hr_B^?@QS3Ydr@Y mLtDX}$528DA%qY@Ci4qhUq*mMYg}mn0000RGtYLd`~u(OfzMi6;`-8sQ>Wg1Y{hsp;@ZP?{qIzd z{X168IqBA?-&t=azm}Zvvj4Y}WYJuP*sN_cyk6#qEzFq+w5mb-+uaLE`R?-Be^zV10`oMy}N@eVNRgQC657unyd!WQPx78w= zdEZ{|jj6f&*zPQ4`Poyq!;|TboBbQ_2`4AVZql4m&-W#6^QQMEH#^M^{hq#hj(NMI z+ONwZPQG8%mD#7QaGECNsK)Lr7zcC*GDw(Vp7-QneSuA}F-X|c)z4*}Q$iB}&SsbS literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_1inch/00004.png b/tests/ragger/snapshots/nanox/test_1inch/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6db3d755f9465e9e9ccddb16507259c1982936 GIT binary patch literal 450 zcmV;z0X_bSP)F4rBsp+LBtRM004mPe$G~(Qo6Qdj1OM( zsjGdsl+r7&YvbGeo&EtuX6Mj_rIHw<=nDDnik>&-_h8)>S6F#od7;Q!#~R+V*6Ekd z+RQ}{FmKiH9*vI4Jgl*<-m}(m(EzXEBBdlogM7D=*Vq{1<}VH<+Dffze=CmYwZxUt-sHtpMPN3&&4xf@+Nv}tUE$Z zLkIp$ec7_qRePtQT{FVl(Wx?B?ya;duA6wBd?fm8#gIvV8zXAc-;6dmiBagJn~-UP srHB^*000000000000000003C#AHp|fw(Q@T-~a#s07*qoM6N<$f{;bh!TfV!9&H?f*TwQL!6n1ey{6006Mu&-zDh+g1*8&ZEeb zW^dsc{Q>4E*}qrni^y+4N-5_o{_HPEzel(61v27BP`zxK$KvOC0Kj*eyccBew6sC7MC#{%#?rJu zWnb)xd)mCgmfvWJWY6o>X}BXo5eZyolY9~^H;*oA4aAR zrM~@%*+0+x4siZ^>NeRI`ky7J)@xC?NAWt?CvZmjVCJo zDK%m@u6_njo5%BW;523!CYkInqokVbFGe3kq6$UgJsgSj0ssI2000000000000000 ar+EQ&UTi;1epT%N0000H)9Sou?uP9KCFrKKF+B( z;dDNobK&3DycRuuINRTY)L*Pr0$5)Gc;%0-)0rFVUG7c?ti&voc!}a z^m_?^%x(_-t=0+IU5P!nJei>HemJV%O^AWi`bi7^_y_{Tz^qV00000 f0000006^Cl!j~X&&{~Bn00000NkvXXu0mjfCg#d| literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_1inch/00007.png b/tests/ragger/snapshots/nanox/test_1inch/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~omBiSJU000000002Mr|@;RfO%q! zseByAjY?K24=|Ixp?!0QTt+h|R5 zkJCT+T>(X3d+hoXf2W|pG4vt)k3b9n0002sa>fG2m~o+-C-Da511^e0<0W!>ejT~9 zx073Hk#LMLMVLkTEF8y?Ur%Nh<8I@rN?i`G&{qtGi-$A1O^%{m)Rxy(w24uA(Qh*1 z3fNMpKf8WK16`q|mZcH>Vpq0q`6FtrO~vPb7B=oDLu*{0>^D-({muZ?t2hj1zV@cc zL_IB=3Kl0|BAnwHnqR|Y<&yah_3lA>Ob3A0b&#OR}hAbbIw|I6-%G$ zH&0Pj?QTwaYG?Y70{{R3dOnSLS<-40w`iufus3d+ zYpuw=+w)7)j0Ixd1Yw?E6O)3i@T91?m;|k5*p;lr=hp^b#tffgHkVB_x=?(HW{L}= zao4GZ;Z%gK;0orFpeyZ&i$Gjf2Ovn>!gl78prXN|28+$m7UH}U_x4 z@tpJEO78PDyMWW|sqY_pEZ?&WxQHF>5!Fv|J0N{39&z#62;2d2MVAEb0A|2s;)*T_ z+yTsh$;1_167MURQ1hplEsbin>Y(|ynmt+~vW1+pj4Rc)NQtWxWKu`&h7uLQ7aMAr zWBZ_lmLf_;QmxON$l2C>#g7+oA1U>p7gWYbt29LpH9Vyd)u27r6>enM1R_S4y;MP%-# z@Qax>O#uJ^0A5Vr{|6j-j-PUq*TY~4$uP%sx;4AUxEXN7u#{J+h%z#(zNWPns%C@# zyk;||o^xgBdqK(xDW7xBj$HTUh+ zo5XuF&Zi9LC>!jvI-slB`H+l?XLUf@|7Ggz<<%X&dM|V{BLDyZ00000006|`2lQHr U3RG4xf&c&j07*qoM6N<$f`gm$A^-pY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00002.png b/tests/ragger/snapshots/nanox/test_nft/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac2ab07753bb344d9944b4c3935fcd2921d373e GIT binary patch literal 702 zcmV;v0zv(WP)c&zur@%X+Ij*PoU?OAnNg* zN4T4^dIr3nrv^aEjK}fR0F?i==%L;R00000_*iT;)ZFLw$(CoqpczYBSToEP$uRcJ ztaMiHE_xSX&a#);$Ly(hQ(B}KtV|@?tlvwhbEum>Ls$#)OI^xB&XYWO9cJ{+bD_LC zP>iEaKgW!&I4QeF+ZMfwbQf$;&H2Lt*tX4i`oC6%pQ!0Ot9jpY87oIi(s6^i{4cLy zA-WUMlU`vlZlCnX1CXT60J`)%1xHF!x`*ovo98o=HPtlC(^7+T&A(x6M5(A$S7q|GGnDg)R$w? zwIEtIsEPZraFNGyBuhLxWl|Pp@suMi08S~*k7;o3XjA5*OUBbbB)yPT6Im6+DWkG)l^4=fqgnb#dhcJ4Q+}vD;(X|w zv-^1e9@x@hHadr!g=N7Kw93CK@Zb6UJ{rm@0gxW}rnO@3gSwY9e;cZ3*UdK6?CIHD ke)={P000000Dw};FJ0{81JjCfLI3~&07*qoM6N<$f~{Cmb^rhX literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00003.png b/tests/ragger/snapshots/nanox/test_nft/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..330755f9fe2708a83b300dcf1079d27ce076d363 GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|^K@ba4!+nDh2#AYZcrPebCi zH){9(d+a?e=fk7DF6+v)Q~zx(o4MZVFnTirHQm{}$hx4XV}+rMENfF$G&$5Sf9N(ztI1C+7f>U>5nm%9`hUCTvA`4`)lX2#xI;2`>)!Ee*v2F zLBM_b!H1`xsjp$~3zTdgI z@0z3gedeBz^Lc#3P2D-Y9d?%{hc_7C{%d=E+6I;{G9vy~j7pD$rA)i8eSVn5-t&Lo zEbr;xj?G=X&CmSM>tOAx!Bu(}%70kLZFk_A*RaVd<++B((a$^ocAP(W;?e30C(N3B j`0`vUKwd-w4Yz9;d2ILh)?KSF1qpk)`njxgN@xNA?RJ!r literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00004.png b/tests/ragger/snapshots/nanox/test_nft/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3be0cc448c1f4e40f7d3e5b3771ef9c8f6a41d GIT binary patch literal 557 zcmV+|0@D47P)Nkl|GXmri#b>@rI(8l3)f|723 zi_@*VWOliBHX0e^Rd<79FJif?P*UiZ-4uhL4onVDTFAXca>y1ab1i&HHWs@@mXrOJ zmfY|zJ|~S-uttioxGp~hlLHky$>9~AjGpgn5@6rEoO61e(LbS#hAYk}7L2aeafTZD z#l$P1;%FsjnX=zT{Vl~oADElD_9Lub$09qHC8fWY=Fgr7wJ#$ZlM%rp0Z9^J85AiJ zkYipBKr*!oK|~?Q3=X{zJ*UHu#G=t&)zDpo94f3@#HG=y>I^kB z`K@L-#bk%#aQlRn%P4HW_7V3Rv1^bO>SMb#>22=SNR$o#FWJ&U=M`YoAQg5v1%#_1 zw^FZ8t_~?dErQ9MIuI?6FyfPI(T}R3kFxeW-0kysg3c=-c?NwdQc(vr3Z)gDm8zKh vnayQBH2?qr000000000000000z@EGTXu{zxie%){00000NkvXXu0mjfcUbsN literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00005.png b/tests/ragger/snapshots/nanox/test_nft/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..d32af33c70806464c001b6ebd09bffa085dfbc43 GIT binary patch literal 562 zcmV-20?qx2P)V~n90}{|ooSSWPa7F@}%ZO!(tmW)IK<9`}7ytkO;5Qkgh9=jXQD?qH4ec~<6O?rS zTbyp?C3DENv(w3>sD?Y7dl4&Lg|b4w?4~&U)G%wF^-y|5)?^EmxfXvU8>`(C&)NP; zOUZml%vmQ5tdSxtq03*vq@m&`Yu*sa?D@VX0rtJiIj7ed{TIr_TnR?;U<|d5Gt|&8 zCS3syM=LqYl>Ij8Zz&GCVQJ>tkFa_jOZ-@tl>RI&o;?q0Uq*3EW(*by$dVbBNh3u9 zN<5bXkUUz2AfYnI($FOdUuT$5!>{C)Cg|Pm>9|16?a1dj<^^sj7M!WzmMt zN>z*-gHKE4`KSc|000000000000000005Tr2CHofjBQ|KeEG@b*Gu*}E^XJ`xA&8bs3!TCl2FN)Z)LPDxuvR(406jEAKCJ3*e!V*&!#MqvlBnOD zv$$Y5a)1HMl(q?LgEI_Zb|ac8;>+1<0M8MNFaQ7m0Kj)LCmTw(IkRFuk_{cKZc8Zf z@ZKa3?o6=RU2ny zLthM?0fx}39%amWOUi4U17EQ>a`hoB@5hK7&6MKX;`$RaP_=hGi-8~%m~ zu?GhOJZJo#i`6ZL)&Aw~g2We{%vzsC|L(E?00000007{_KhS;!EDxWdO8@`>07*qo IM6N<$f}(yGSpWb4 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00007.png b/tests/ragger/snapshots/nanox/test_nft/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..f79d5f8db9d17edd0e4dca2637112986789e3ddd GIT binary patch literal 651 zcmV;60(AX}P)MUvl5Jb%j0UJ-dE~bZ{l)L<3h01AKZKyh zH^!(=7z;U|0o1Z31wyuDg!(itLozn zHT1>gJ;1TFl1~|!Z?pWC!2uiAo?QD97LQ|@A4`|QWuf})xlnr<)tHP378{^QAuNL; z#RjM`uMLP~>L^4qlpwPWh9bke@@{CO*jaP9g+jSM-POt+Bv=Q_dO)@%QB_Hql74Lz zHGSIZ+1S-ehfdkO9icVj?qJ%ts3zV|T(= z?eAb^A#*=aEw;Ncb|-voLGPb;`kd(3Mwq8XcRx5v+3qz}a895aW+}%1tAa}$eJOh2 zBy5jJ`bXmV7TC(1^1Te{UoBD1xi#ukRy#HU*^G(!;KfnmpdK)32=a~EPbJJW=dFPH l-uS?aV?qcagb+f`<_{U?Ub^`ZJ9+>B002ovPDHLkV1hTBC_(@L literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00008.png b/tests/ragger/snapshots/nanox/test_nft/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..72505b8634aebfd591d6d9468d4e33b945598c93 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QZGDR978JRyuA_0b;v-3^@7Gb zmEZ9}-yXReUdf8qx$%9`^BPerfp=#abXge~{zYc5-TJL+@82gc)?H-&QNH~J!|G-f9Lnl*iYWNYa^?o z_28<_8fIUepm(>geA%iZn{vO2?}mrj?SH{uJ6-q_G9T;co?o4~(P$Z`-5o_9h65FK zFSoy_SoT6xAmQ%0Yv_k&Z+ZUFY(4Io8RUKoeKZL;AXvd%bj&?iK#lmHM`V!7z+Ge z#yQV7uQ3)*d$oU={Ri&~J+1@yefIwM@&7f^PWkUf_A_5Y-fC4ToVSvA<>GI&{_KRM y|IPRpP5U={rK8I30F_#cNfnGh&qBb1`+pb$Ql_rCAO5%>B;x7n=d#Wzp$Py~9e}6+ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00010.png b/tests/ragger/snapshots/nanox/test_nft/00010.png new file mode 100644 index 0000000000000000000000000000000000000000..33d608bb92cf2ced27e89843177b32a87b8c2c78 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QeQk>978JRyuBIS*W@6;dSPCt z^~=BdE594bx9}}$n8g#S`@Ci%$C5o)`6mMPKR6YYy>{#I$A698ze~p+xO#UHx5WmT zms_u`70z1wH{tc6!_loL?3iDzxud>gz4_zJFO`?{SEd~>>8g%+-*!*ee9~I~&tDV* zndNj3|5_ltddhDj)4RH!{G0S09&C-T?w vN};V^{Fkv$T;nwH&EbhhxPe}Ug8$F>kAIrFrrv^oD@erC)z4*}Q$iB}7X*Vu literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00011.png b/tests/ragger/snapshots/nanox/test_nft/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..a15e6bed29481f1a29d0b7605f564885cd79a37f GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QeQn?978JRyuIO=*K8ob8nFG9 zZ_R(@pL($iqF9b7(HBZHE18+4nx5*GC1svKPMZx#!aU1BoXt y?LRYj#nO61(;1%PvrgLCOs-%A`V|5mKdIo z^l0Vg&hNYj`YWGiuZWDxImG_kfPvvaTFm-|FLxh{tb8+9f38JMt8+_~ZOJqlTmAL1 zu~(L#DE|5SeBOziUp6_a9c*56-j+$8WDQ-us&2l~{5z#ds{`sPpBjHW_VdQCBdfRF z?)sl~d!GEW_}zYQa_<`7OfA|nH9a@hk^e@|a)VDSOA^i7w~OAKp}pEgY5v`Nz0dE( zytz}dWsmCl|J$n8msuAZoZ0<>-E0!C?c>Ru`aBx*87zOyV_j|~QMqu^iITiSpR%sL zer>aU;iMdo`ITM?$2K4BsdLyo`Q_i^A-iVXtCvXLAhh~|mz%mVTkyrbz<@&r2TcC2 Wm8yslU7R@+B<$(x=d#Wzp$P!+C&Hls literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00013.png b/tests/ragger/snapshots/nanox/test_nft/00013.png new file mode 100644 index 0000000000000000000000000000000000000000..89b78dba9daca79bbdc5cdf8ac92ce821fbf46fe GIT binary patch literal 432 zcmV;h0Z;ykP)fV!9&H?f*TwQL!6n1ey{6006Mu&-zDh+g1*8&ZEeb zW^dsc{Q>4E*}qrni^y+4N-5_o{_HPEzel(61v27BP`zxK$KvOC0Kj*eyccBew6sC7MC#{%#?rJu zWnb)xd)mCgmfvWJWY6o>X}BXo5eZyolY9~^H;*oA4aAR zrM~@%*+0+x4siZ^>NeRI`ky7J)@xC?NAWt?CvZmjVCJo zDK%m@u6_njo5%BW;523!CYkInqokVbFGe3kq6$UgJsgSj0ssI2000000000000000 ar+EQ&UTi;1epT%N0000H)9Sou?uP9KCFrKKF+B( z;dDNobK&3DycRuuINRTY)L*Pr0$5)Gc;%0-)0rFVUG7c?ti&voc!}a z^m_?^%x(_-t=0+IU5P!nJei>HemJV%O^AWi`bi7^_y_{Tz^qV00000 f0000006^Cl!j~X&&{~Bn00000NkvXXu0mjfCg#d| literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_nft/00015.png b/tests/ragger/snapshots/nanox/test_nft/00015.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9hba4!+nDh2#bl+hG9*4k? zQuR0Wo;SViCn%lTo!KM1sAjk5Y(@*V#~rbuHu`7A_H&AxgwHf8y4cdKvg$JbB4n%ez%sZ31aBYd&Oo@(7)_WJ(Znl2o8^PD` zFE`_Y-IS+Kdq0Q2-7r_C=}F(5ev`U`H~)QH|9$1FHE$YjoVax+e0xei%S`SAGlOm! zp7{T3NA-mVOYb&rdU8MdyIHo@@7cE*uj@I+Zu{2i)KMSV-E~ozq$nFu%&rLm00000005ujYjps}rIhk^ zjB#NkXSkeza_CDQr@`L@uJ1u@VtxM4u7eynhaMDXY4j5BXTvia$h4hHA}C?O{ZP~ zQ#Rz^-G0>uc7#29^&G^0b2n_e<&PSxY^py0>oIXX8M?;plYOD;+~1i1c@>Aj%Gca7 znHo>4P42p9ulJBEPuKH+YW-FJ+qI~@uCwwMGLaqgD)PhbTmkAK`hS8j)VQ?mC3oo= zQ~TzrMkTvD7I{9-;SUY~0PrF1^{a>jX+f(#V<(TYgw<+^e|B9cG>SH@X8om`OARMt zCmF@gP@I^p;$ka7^XuIc5MC2hqe@dXyR>ex(1Hn=ZYb$*Riai^4xTUpXYSjF4>HRW zCScU99u+v7fX=z)SsU0ltAr1fl002ovPDHLkV1mYF B;~D?} literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_poap/00001.png b/tests/ragger/snapshots/nanox/test_poap/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..a9deb912bea305dba41ca7a504ec72e5b5fd1fac GIT binary patch literal 530 zcmV+t0`2{YP)UH}U_x4 z@tpJEO78PDyMWW|sqY_pEZ?&WxQHF>5!Fv|J0N{39&z#62;2d2MVAEb0A|2s;)*T_ z+yTsh$;1_167MURQ1hplEsbin>Y(|ynmt+~vW1+pj4Rc)NQtWxWKu`&h7uLQ7aMAr zWBZ_lmLf_;QmxON$l2C>#g7+oA1U>p7gWYbt29LpH9Vyd)u27r6>enM1R_S4y;MP%-# z@Qax>O#uJ^0A5Vr{|6j-j-PUq*TY~4$uP%sx;4AUxEXN7u#{J+h%z#(zNWPns%C@# zyk;||o^xgBdqK(xDW7xBj$HTUh+ zo5XuF&Zi9LC>!jvI-slB`H+l?XLUf@|7Ggz<<%X&dM|V{BLDyZ00000006|`2lQHr U3RG4xf&c&j07*qoM6N<$f`gm$A^-pY literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_poap/00002.png b/tests/ragger/snapshots/nanox/test_poap/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..d68074544480837501beb5766fca462f6a52e0d4 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-xba4!+nDh2VE?=_(PebCi zH)?zTPuy|3ZiYz<|3R0Gi{F1foe_0iX;&Li4};G4jlA;7S8@es%D&*3$TnAY`|E6p z=*|q^Dr`t)~! za&H0~t~_|Wuyn!pttYMvg-rE*veJF+c1Om0M-R)+igo_EF{dod{nX`I|972Zoe_Uu z+GMiNx9KaF%zC5m#;dcDEAo+LPUja;Kp}(6e;C((y+0>ya|t*&JYD@<);T3K0RS?@ Boj(8o literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_poap/00003.png b/tests/ragger/snapshots/nanox/test_poap/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..d457393f706424941f9770f418f919c42d561be9 GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|Gw}pJdo(;RggkJx*&0M>HlhsE#T^qB z&JzDiwhyYegge~&nv`9h@2zq8m)vf4pF^{soO^R?m!sOR(-sTWesxc5_6S+%FLQJpa1sgH-z8J?#(``3)4U1*wM-D=?yT)YCzsaifgqP^4RxVY7-C&%Id9Bcnb0;2r94!qpvwMRXrpOu14*XTmT zgCggEt>&{n03scqAFsP3U1(Or$NKWE7a@cYLdbG*H8d4TOc?;_HkNcmZ`zEs#4}8v z`{K&M-PPVjHOQe~{0ZD&2LeMdy0|bE3(w~GUaBfrRf~J5mLje(j{}>Enmu$LYsC?- zxp_Y~YC)#N=0!q>GY#-4+iFMg?!pXe+JAKbaOr&PS%0B&0A};H>2j|cYKrxmbovj^ zU{y3PL}YnYi*ZM%=Q<#r$Q7Wc9+GgpMXL93ZDB*6nWm|!VMt|fpavt8HNi4s*BX`3*wR;LW~lAurX zcDkgLSl%-=5c98Iw}G4)ca@5-v3WghQ@s`(_e$eQSPUcV#^2i+Rn0SRT3c@+#?!IH zT9D2g+Qj2n_>gy=JWCLrvQri{LDEqa08mQ9NiD8jMj#KFA0`!Qs7Q0QQwFKuSOZh;{G*1t;HB-eDkzn79rx%)PqN##_GOGD8xbV8VoAp1^3wZy0T=F~NJI;q- zpUubn_h6=uv=D5bCYA@Lpr`z^4*bsN`{-7l5&-XoZ=EaFzNkB#_1n-uyB6Efv?j8- k{Pt}qA%qY@2qC4Ee}`W*d%(VAV*mgE07*qoM6N<$f^F+;d;kCd literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_poap/00005.png b/tests/ragger/snapshots/nanox/test_poap/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..1c86e8202d0a00736775af17f644acfa7f6b0f4b GIT binary patch literal 629 zcmV-*0*d{KP)&kVZp_)oqH(0k@t+hHM zbzRGo=66MypwT3IQEjxb$)M%hS8<6u_pKjTX z`n8zTG9-BH1m(P`ud(=tATR_R00030m(^U*5JpgC{{0dXgI>!v|ZD=Jm;j4rLj@O zE7z#bGh^~~UWZb1qD(~H56e3CPscbBl!_SI=A0h}9Y_6^RD|4T_S_0pE3fa9OK0S* z+e6qg1Il~$zp7E0{Z(JuRh3@aW$crA$9X^}ExW53r$czniC7QD{P4wbhB?dtHR8*) zrhPcBRyLNQ_ByhT`$MmwHm+8V$({lL000000000000000000000AQLw`)Vxl#%ve{ P00000NkvXXu0mjf)C?vx literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_poap/00006.png b/tests/ragger/snapshots/nanox/test_poap/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..cf2294404fb8ef53cc5e2c9e9247ead4b7f941f0 GIT binary patch literal 925 zcmV;O17iG%P)gvv;Kav=lVmgXz~Y&RT0O?Hjq9%oK!S4tv%>uUp{B*#KD;c-{|- z4T(JI({`K*&!wQxAtiFN!awav7%)r%MNt&R z>rB1_n0gCHiJ=yGiBWI7qL5L6Kv@a&sKhx^FwgY%9{vMgjDt(SNzy+45swx6FeD~L z^w``~MSxb}wQSZ-!&R2@$^H;)>}o+-?_T7NdP!z@)pI}@RGC5Qnl_lGSuT;-2H4pS z&jg{x&Ba3Lr0ZM^@C8(#5>9H_W{0C$mV^&exf)V2B#Q+x0xm4)79vdFau zw_=x6U}Y$H?7lEY!oNe>yHnZ}|hilQirq7(T009;tu}~-A0z7AjQbcn!PVk*!hmOvZ8D-(N zebBEa?!35&vM^!m-qhi>)$iGc$>~u(LJfT;+?HeiR?QV{fLDr0&0T#}+E;_B@d{F} zTs!>Y&t9Eoq0|3&I7|iXIa3rxQ4~c{6#t%Iktl>g{fSdE00000NkvXXu0mjf>u|m~ literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_poap/00007.png b/tests/ragger/snapshots/nanox/test_poap/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..86740bb5ed8f3a4b2a173abbac5240bd19a8ec9c GIT binary patch literal 948 zcmV;l155mgP)sU-$g6- z$0=t8^x3zW88_QwE*jpicq@zz>6X(|e_9Hfj=^;5;j9%4iFxc;wlT>}L6~U{Np!Sd z>(~w_X8^`60eG$9ox`}yr{y>mj8!~q-HvF2xA~c-sSibW+_OtQD~7CwoJ&EUL)NrS zv6FTZ2AD~pD2k$ZoXI;tZ?^Dub9xtS)%P8*ZPwi&#+9v52 zR5ab8VawXC6acrAtM`v#banOqVQLJXq_WVHOgg#7;H~KHMQSLs2lX6at;XCtnk7?J z)hk~LKD_x3guw!I8}f`kHMmr3Eb%N%WA;=aQ|(#0Aj8mXNfG8@rYd2Hq#xm_7jB@GYp2b72rj4S>KgN{VUu-F=6r%cEvdT zgTq*xNzta~>;0sWZZJl&9Gx}eJkdDOOS-`r?f~dCY9>~&Z}B#ie1aAgahy1K9;V@- zBrA-fD2k#eir>we8rsWAwGT+4t6#T4U{k4*@#w)Tub#EwA%oE@d3|(AP-K)PKA5nh z%U51OIr(JAK8TH{^Hq(BJV4><*fm%mX7yOuo>0mQs9RDikbK3pcMCr-UUa6e!Jl}h zkyjd+8}sR zaC!iK1fEdpmFxcHrB-$TNVV^N{SP$en{8SGT$_7hvO4Gm?1EvldQlWbQ4~c{9OWP1 W@ahT?I|*k1000022u0JL?!^5s$-VT$GuDDWi4x;X-u=o%MHECOa~y;aLI@#*Ea%HhP>eA@hY-@w z5Q3L{Ut)|&H=(wua};9{b+Uvlh%uI0ZZ5nkP`|`=ytMk67g42L0b0@IR;6>b{IMMH z@qcZJF7z8AYC!)5d^^g*O6OSst2n$k{+lot8GFxdwJ~&T%)Sid>pCspI*X41$~m2p z6JHFgQLZYZC~YTgkE$(Qa0@|sq5{zc)6{M9JiY=KzPa< zEL%bdc?Q-!puAq`<6ZZNdDt#!RXL|_a2B<-=6E30>_xZ7$z+riT0L^%BeSKbRbONU zPSq@naHqH}e(350-jwt&V))8~8>WYrf0ZLSC(liw^oc6?kVy@qOGno zgGCfF0PyaCo|a)(TeE&3(g4N?n;xnGC%p{nb7QL^mK@ageIePhA-fC&$hYtIo$0+j zPx%Czlg!y)MrEow`-`Cs?u1e3PCAoJ8(hlgOz#fgmY)mGN4^(V{WtVda6WRMJNbtr z5;!+%GQ$)9ma-Kzz|GJAH}jU8ux2tXN(do@5JCtcgb+dqA%qY@2qA=!&*K+3qD(1k SJ|_nN0000fV!9&H?f*TwQL!6n1ey{6006Mu&-zDh+g1*8&ZEeb zW^dsc{Q>4E*}qrni^y+4N-5_o{_HPEzel(61v27BP`zxK$KvOC0Kj*eyccBew6sC7MC#{%#?rJu zWnb)xd)mCgmfvWJWY6o>X}BXo5eZyolY9~^H;*oA4aAR zrM~@%*+0+x4siZ^>NeRI`ky7J)@xC?NAWt?CvZmjVCJo zDK%m@u6_njo5%BW;523!CYkInqokVbFGe3kq6$UgJsgSj0ssI2000000000000000 ar+EQ&UTi;1epT%N0000H)9Sou?uP9KCFrKKF+B( z;dDNobK&3DycRuuINRTY)L*Pr0$5)Gc;%0-)0rFVUG7c?ti&voc!}a z^m_?^%x(_-t=0+IU5P!nJei>HemJV%O^AWi`bi7^_y_{Tz^qV00000 f0000006^Cl!j~X&&{~Bn00000NkvXXu0mjfCg#d| literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_poap/00011.png b/tests/ragger/snapshots/nanox/test_poap/00011.png new file mode 100644 index 0000000000000000000000000000000000000000..a58590b988714545e7960f7f400f360ffc5de41f GIT binary patch literal 382 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_1inch/00001.png b/tests/ragger/snapshots/stax/test_1inch/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..0560e47b7df836d1d94ae0db297a7871f063a0fa GIT binary patch literal 18763 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 M)_Pj`#46&y0g%n}(*OVf literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_1inch/00002.png b/tests/ragger/snapshots/stax/test_1inch/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..82e93431f29debd3508a00ac5b416ef38e31d574 GIT binary patch literal 10775 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_1inch/00003.png b/tests/ragger/snapshots/stax/test_1inch/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..392165d4fc71395ae212fb0ca017ebdd204c126b GIT binary patch literal 6218 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_1inch/00004.png b/tests/ragger/snapshots/stax/test_1inch/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..339db1b45cb46ceed041751e09147f0574884fa8 GIT binary patch literal 10991 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_nft/00000.png b/tests/ragger/snapshots/stax/test_nft/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..b0958508a753debdff51ca0b9f0559a645a3dd75 GIT binary patch literal 12738 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_nft/00001.png b/tests/ragger/snapshots/stax/test_nft/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..9c132ca3527d19b8aa8ed416e5a3eb42a8a9b913 GIT binary patch literal 21556 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 CV+!2> literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_nft/00002.png b/tests/ragger/snapshots/stax/test_nft/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..5c983c9d1ce0eeeb23207717fb8f4441509d39fa GIT binary patch literal 17882 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 NhN||Xst4BL{}&d(HTeJl literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_nft/00003.png b/tests/ragger/snapshots/stax/test_nft/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..2a281fb07a778e19619b4fd0a5d9cbec264d08c1 GIT binary patch literal 10580 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 z zfxctKA5#<7cpOGT1dwWOgs)67tvuuPu*b!9Ljn8Q^xQnnihW&8b?loDl>clK#A!67 ztE4Wzu&h2S-t1DF%=}jObD9}d=s;V0>;I0%7b-Gfnc7!^$=pqFy!ChgBG;G$W8&fV z2f@*@{i=p;NE=Cj6`=YUO;sJP&f(5Zm(@X_n0@UhwVphQ2)Hy@4Bf~V+(9xfy!p($ z%1;a}Y`b`4H6zv=OkZefl zoKl1XA)+SRDQ4~yMMFHZS-S@gcdbI!`i@1s`8XX~cx#-rM4_`$E~OjMO~f?wP`g*q z@Bb(ycvXoaG>60j`_e3Y`_V+H=!AIm*m*I_%V*})%?nv@r(uO&H-Pf!Uo98~c&*qw z)j5DM2tc25qkzCc0p%tS^-XIz#Ki@_y_ym9Ve5g{T}E6-VKFV-H*t)uY{2A`=*qdq ztj(^y-_l66@Z(Q_zDVzBp(D|S zP3?br$+}n5NJhs)9~N-PsLm!kXN_?zD*%w} zTUsHYjpYY22JIROJwW!nN z`kzUPk^HHK-D&l$bfn9eniICy#)h^wop2ffWGeY4>n6JV+W;F$Vk~Ww6i=WxK6e64 zdBL4_1biNfV5yHA&<2Qq98TMk=BW2ClE?coAb$_R0~qU6zoBQls0SehRwerZ&N(jl z6ajfEr{P`4{=~^B;wQ$y4h3)Frw*(~Tzh%}Fqb1Yyq>YkGg;`Bg~Q2HQMJq+IQG;y zPoM;~cg``r_h+3hZC+tpv{Ms$I0F#U*4Ea0tC{sxmOMP%Y29)pvbJi$;|t|tT5A2p zBFezQ{B8I#{dnCRSR?^Z+UqcD1HEz z&p3Vups;i=awsfr&+lP2BbjMF()}{TnMWxyj{mjOK)4Rv1OCp+jB(q*bCiLE_jiloQLCb$3 zfw>m*90n6?a?AfX4|n?XUK?`d_hcHAEX4nb|EVODuHI+r?)2wh2=u%(O+JAJ_6jEsyfGVl_Tx4e+@hPJ|46U!vi z<}97H?e67(EhAliLrg80Y*(6Tprv12?IxbrpBOA}o^R=1JG1PFg#%cjDx=ZM32SO| zZ=F{iJfTU(*Pb%y9<}!j2aYiyJ?dupnnDSudjCn=c5h(Kxev=HvX?!M84I53Zk}BM zO7=&PjF0Rl3#mIRt4=K}HW=9n9^KNW!;%gP93#9=JgXMe^ZEJFFM-&Yv z>RgJ5YH{_hY=8QB#PhUy?mew|#MUzr1`jUMi9ZH3X>Cg1%b*|5-@c>ysd1Mopc|)L zucD1`c(GZxnCOX!M-a=La=7K`3LLIWgT7%|dit(<$b_d)Z-**_cZ|NfjQjC?KVXor z%}CU3kQkFgtmT@Nj_n7#V3d5a`BOnPW8FUY@$@5{kHpG-;CYW4#s$O5da2E|y7v+WK5=!8 z#mRO7Km&<~-a=rvty{H2^!-eWVFPh;?PAlIer0zegpyG#LFSY}-M2UWjy^xFdqLd1 z|Lke#ZOUxe#ol}mEmAMtCE4TXSis>_>ip{F=DZ-EdA|0f*dYp6J`3y|&lVUD zk1iy?BaiZmGLm|CXybpH`FXoEr+r-rXbaFc11N%l*mg#qR+23_d(-I*^kh>>EekBA z9{q?R-ByPL*1J3J!Nji#*Uuzh?09l>5JH7N z`Amd;1G8~T{(_&j=&qLZM^B0S6Fn!vjr@G;@(g*%%7RL{C`M_-?#%oc^%J-8t5W`a zT)R2BN?`As@ul`&=Wme30(!y@#t2 z5<5vsxF4-?(NEU&_DV;DG9ERZU}guNGB#*$fr?IM{rTVAD7bAby|m}*r|l*~pj#3I NHMP20b=foV{{UOlq~ZVo literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_nft/00004.png b/tests/ragger/snapshots/stax/test_nft/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..67f63f9531670de57ff3dd921a66a9beba11a4a1 GIT binary patch literal 11722 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 DxsW1v literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_nft/00005.png b/tests/ragger/snapshots/stax/test_nft/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..392165d4fc71395ae212fb0ca017ebdd204c126b GIT binary patch literal 6218 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_nft/00006.png b/tests/ragger/snapshots/stax/test_nft/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..339db1b45cb46ceed041751e09147f0574884fa8 GIT binary patch literal 10991 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_poap/00000.png b/tests/ragger/snapshots/stax/test_poap/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..751240cb5c2ecb81f79422466d09dd0a187283a8 GIT binary patch literal 12769 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 R{<^_p3bD9SdD->h{{U-|L`whw literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_poap/00001.png b/tests/ragger/snapshots/stax/test_poap/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..f73962481c41c7f7d3835d34598aa16072c22cd6 GIT binary patch literal 19955 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 Nc)I$ztaD0e0szubWq<$x literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_poap/00002.png b/tests/ragger/snapshots/stax/test_poap/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..829c038b454e177dc5abd922cb2b86d28459fbdd GIT binary patch literal 25661 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

Nf@L1pI{plMVwT5-5UXeY zB7nZX9g0u8Z&Hby$JFBkwZ&Yk-yuEM@4l=LgxWBsZxi=QU4>=1;U*+aItUb z43BF#SUUl()n0Im0|2fnY+q0ht-%i>+V^*N4J_3>j7B`RJ?6DichPP2>ng4Cl;f_# zK8ztdYp1KJl)ZJhUUCr#_k9frs`zoq&O4M=jigS%`$yYMh^e9W^njvP%IK0AY9x2G zZu$#(|4*H{ZA|-ATW&*h7xLB5^iHqM??`0hG>u3k0+Jf=O;Fa<&DKWF49V@C-+xH( zr^L1C z!e(e8Nj>jp6$pzPzD*e<{RkL9O@BJZxeYSRRbdmOhjGhGH6UDIgWb4>wIx4BbyLZI zD>9|X{YdW0pD{lr;d*C1=64bBx|1!jlBhw<>kOh5w;XOgOgm4GyHVo+tHh$$S zY@qJ7&n-Hk%J6xQ3Q$At?0CWlXDv;o-Ze7s9CwK5!|J+hMdHuholY7$`PJnlPBR0U zRJT>H;zqvp%MIr{w$rQ3D>b|zH{G_f262USwC>`LRRQZex3x*xa&+a6O2AkHEwPih z5{Ks-vXi4Je=qM3CIx^6Gy3u6-`~3p*J?u=^;`pDT`?C4LC>Be9G|%L5=roCZcwmZ zgkK|>UdnfSDiK%p$ml6`;6WZ*=Y25r{Cj2Jk20619ZWX|!*Q=LRbA;~X4}&aN1CT; z-OApiv!iOXDZ^D?ES9dGS%m>*UrqKCFOhOr40LpY4SWT>DK8RdnYgO5N-Ki{GQ3ou zSK?h)GxkI092F#A<88?=ns)oy^PV}UxS;@%W$(cKX+FJAKbd)5a>+#uaR}$#L|xO)+*{!r%*b{}{M=&rEG;B*v0P8iY)qM#q9wNOvTQ=4 zGx1XK&hFLA^MM{6>!q%dbs*g61Hb(xLt>3cA0S--&vRQR!^OogdPvlZt$dEvA$q~A zhYa-eJQwvD)|0_j>^)G`PkmFg`XiL(ZGv{w0U{9Y4wK~THq2}MmTCbf){Ub?`XF0f zmW!QyIg>%K0X1Gct$|FZi;4G;sjQA&yD6m%)x!-7CDhhz+(&e~-c{w>N|9<=I%W5- zpI848j!>H@Ns#TCbbIq@6~ABx#Nm#Th3);5h?g^zF4HU+_BzF#5b0%V1CJ5Ps}2&^ zYYDYZ4Ff`M7V>U$Z&wd*J~BHnOxUBN&VONUmovVKU6|2$y#M`En^Z|= z-LCYUD!}@di+1jvV=5S+eEN3r4LW>R!g literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_poap/00004.png b/tests/ragger/snapshots/stax/test_poap/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..392165d4fc71395ae212fb0ca017ebdd204c126b GIT binary patch literal 6218 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_poap/00005.png b/tests/ragger/snapshots/stax/test_poap/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..339db1b45cb46ceed041751e09147f0574884fa8 GIT binary patch literal 10991 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/test_gcs.py b/tests/ragger/test_gcs.py new file mode 100644 index 000000000..a05c0c066 --- /dev/null +++ b/tests/ragger/test_gcs.py @@ -0,0 +1,544 @@ +import struct +import json +import hashlib + +from ragger.backend import BackendInterface +from ragger.firmware import Firmware +from ragger.navigator import Navigator +from ragger.navigator.navigation_scenario import NavigateWithScenario + +import pytest +from web3 import Web3 + +import client.response_parser as ResponseParser +from client.client import EthAppClient, SignMode, TrustedNameType, TrustedNameSource +from client.utils import get_selector_from_data +from client.gcs import * + +from constants import ABIS_FOLDER + + +def test_nft(firmware: Firmware, + backend: BackendInterface, + scenario_navigator: NavigateWithScenario, + test_name: str): + app_client = EthAppClient(backend) + + if firmware == Firmware.NANOS: + pytest.skip("Not supported on LNS") + + with open(f"{ABIS_FOLDER}/erc1155.json", encoding="utf-8") as file: + contract = Web3().eth.contract( + abi=json.load(file), + address=None + ) + recipient_addr = bytes.fromhex("1111111111111111111111111111111111111111") + data = contract.encode_abi("safeBatchTransferFrom", [ + bytes.fromhex("Dad77910DbDFdE764fC21FCD4E74D71bBACA6D8D"), + recipient_addr, + [ + 0xff, + 0xffff, + 0xffffff, + 0xffffffff, + ], + [ + 1, + 2, + 3, + 4, + ], + bytes.fromhex("deadbeef1337cafe"), + ]) + tx_params = { + "nonce": 235, + "maxFeePerGas": Web3.to_wei(100, "gwei"), + "maxPriorityFeePerGas": Web3.to_wei(10, "gwei"), + "gas": 44001, + # OpenSea Shared Storefront + "to": bytes.fromhex("495f947276749ce646f68ac8c248420045cb7b5e"), + "data": data, + "chainId": 1 + } + with app_client.sign("m/44'/60'/0'/0/0", tx_params, SignMode.STORE): + pass + + fields = [ + Field( + 1, + "From", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.ADDRESS, + data_path=DataPath( + 1, + [ + PathTuple(0), + PathLeaf(PathLeafType.STATIC), + ] + ), + ) + ) + ), + Field( + 1, + "To", + ParamType.TRUSTED_NAME, + ParamTrustedName( + 1, + Value( + 1, + TypeFamily.ADDRESS, + data_path=DataPath( + 1, + [ + PathTuple(1), + PathLeaf(PathLeafType.STATIC), + ] + ), + ), + [ + TrustedNameType.ACCOUNT, + ], + [ + TrustedNameSource.UD, + TrustedNameSource.ENS, + TrustedNameSource.FN, + ], + ) + ), + Field( + 1, + "NFTs", + ParamType.NFT, + ParamNFT( + 1, + Value( + 1, + TypeFamily.UINT, + type_size=32, + data_path=DataPath( + 1, + [ + PathTuple(2), + PathRef(), + PathArray(1), + PathLeaf(PathLeafType.STATIC), + ] + ), + ), + Value( + 1, + TypeFamily.ADDRESS, + container_path=ContainerPath.TO + ) + ) + ), + Field( + 1, + "Values", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.UINT, + type_size=32, + data_path=DataPath( + 1, + [ + PathTuple(3), + PathRef(), + PathArray(1), + PathLeaf(PathLeafType.STATIC), + ] + ), + ) + ) + ), + Field( + 1, + "Data", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.BYTES, + data_path=DataPath( + 1, + [ + PathTuple(4), + PathRef(), + PathLeaf(PathLeafType.DYNAMIC), + ] + ), + ) + ) + ), + ] + + # compute instructions hash + inst_hash = hashlib.sha3_256() + for field in fields: + inst_hash.update(field.serialize()) + + tx_info = TxInfo( + 1, + tx_params["chainId"], + tx_params["to"], + get_selector_from_data(tx_params["data"]), + inst_hash.digest(), + "batch transfer NFTs", + ) + + app_client.provide_transaction_info(tx_info.serialize()) + challenge = ResponseParser.challenge(app_client.get_challenge().data) + app_client.provide_trusted_name_v2(recipient_addr, + "gerard.eth", + TrustedNameType.ACCOUNT, + TrustedNameSource.ENS, + tx_params["chainId"], + challenge=challenge) + app_client.provide_nft_metadata("OpenSea Shared Storefront", tx_params["to"], tx_params["chainId"]) + + for field in fields: + payload = field.serialize() + app_client.send_raw(0xe0, 0x28, 0x01, 0x00, struct.pack(">H", len(payload)) + payload) + + with app_client.send_raw_async(0xe0, 0x04, 0x00, 0x02, bytes()): + scenario_navigator.review_approve(test_name=test_name, custom_screen_text="Sign transaction") + + +def test_poap(firmware: Firmware, + backend: BackendInterface, + scenario_navigator: NavigateWithScenario, + test_name: str): + app_client = EthAppClient(backend) + + if firmware == Firmware.NANOS: + pytest.skip("Not supported on LNS") + + with open(f"{ABIS_FOLDER}/poap.abi.json", encoding="utf-8") as file: + contract = Web3().eth.contract( + abi=json.load(file), + address=None + ) + data = contract.encode_abi("mintToken", [ + 175676, + 7163978, + bytes.fromhex("Dad77910DbDFdE764fC21FCD4E74D71bBACA6D8D"), + 1730621615, + bytes.fromhex("8991da687cff5300959810a08c4ec183bb2a56dc82f5aac2b24f1106c2d983ac6f7a6b28700a236724d814000d0fd8c395fcf9f87c4424432ebf30c9479201d71c") + ]) + tx_params = { + "nonce": 235, + "maxFeePerGas": Web3.to_wei(100, "gwei"), + "maxPriorityFeePerGas": Web3.to_wei(10, "gwei"), + "gas": 44001, + # PoapBridge + "to": bytes.fromhex("0bb4D3e88243F4A057Db77341e6916B0e449b158"), + "data": data, + "chainId": 1 + } + with app_client.sign("m/44'/60'/0'/0/0", tx_params, SignMode.STORE): + pass + + fields = [ + Field( + 1, + "Event ID", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.UINT, + type_size=32, + data_path=DataPath( + 1, + [ + PathTuple(0), + PathLeaf(PathLeafType.STATIC), + ] + ), + ) + ) + ), + Field( + 1, + "Token ID", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.UINT, + type_size=32, + data_path=DataPath( + 1, + [ + PathTuple(1), + PathLeaf(PathLeafType.STATIC), + ] + ), + ) + ) + ), + Field( + 1, + "Receiver", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.ADDRESS, + data_path=DataPath( + 1, + [ + PathTuple(2), + PathLeaf(PathLeafType.STATIC), + ] + ), + ) + ) + ), + Field( + 1, + "Expiration time", + ParamType.DATETIME, + ParamDatetime( + 1, + Value( + 1, + TypeFamily.UINT, + type_size=32, + data_path=DataPath( + 1, + [ + PathTuple(3), + PathLeaf(PathLeafType.STATIC), + ] + ), + ), + DatetimeType.DT_UNIX + ) + ), + Field( + 1, + "Signature", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.BYTES, + data_path=DataPath( + 1, + [ + PathTuple(4), + PathRef(), + PathLeaf(PathLeafType.DYNAMIC), + ] + ), + ) + ) + ), + ] + + # compute instructions hash + inst_hash = hashlib.sha3_256() + for field in fields: + inst_hash.update(field.serialize()) + + tx_info = TxInfo( + 1, + tx_params["chainId"], + tx_params["to"], + get_selector_from_data(tx_params["data"]), + inst_hash.digest(), + "mint POAP", + creator_name="POAP", + creator_legal_name="Proof of Attendance Protocol", + creator_url="poap.xyz", + contract_name="PoapBridge", + deploy_date=1646305200 + ) + + app_client.provide_transaction_info(tx_info.serialize()) + + for field in fields: + payload = field.serialize() + app_client.send_raw(0xe0, 0x28, 0x01, 0x00, struct.pack(">H", len(payload)) + payload) + + with app_client.send_raw_async(0xe0, 0x04, 0x00, 0x02, bytes()): + scenario_navigator.review_approve(test_name=test_name, custom_screen_text="Sign transaction") + + +def test_1inch(firmware: Firmware, + backend: BackendInterface, + scenario_navigator: NavigateWithScenario, + test_name: str): + app_client = EthAppClient(backend) + + if firmware == Firmware.NANOS: + pytest.skip("Not supported on LNS") + + with open(f"{ABIS_FOLDER}/1inch.abi.json", encoding="utf-8") as file: + contract = Web3().eth.contract( + abi=json.load(file), + address=None + ) + data = contract.encode_abi("swap", [ + bytes.fromhex("F313B370D28760b98A2E935E56Be92Feb2c4EC04"), + [ + bytes.fromhex("EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"), + bytes.fromhex("A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"), + bytes.fromhex("F313B370D28760b98A2E935E56Be92Feb2c4EC04"), + bytes.fromhex("Dad77910DbDFdE764fC21FCD4E74D71bBACA6D8D"), + Web3.to_wei(0.22, "ether"), + 682119805, + 0, + ], + bytes(), + ]) + tx_params = { + "nonce": 235, + "maxFeePerGas": Web3.to_wei(100, "gwei"), + "maxPriorityFeePerGas": Web3.to_wei(10, "gwei"), + "gas": 44001, + # Aggregation Router V6 + "to": bytes.fromhex("111111125421cA6dc452d289314280a0f8842A65"), + "data": data, + "chainId": 1 + } + with app_client.sign("m/44'/60'/0'/0/0", tx_params, SignMode.STORE): + pass + + fields = [ + Field( + 1, + "Executor", + ParamType.RAW, + ParamRaw( + 1, + Value( + 1, + TypeFamily.ADDRESS, + data_path=DataPath( + 1, + [ + PathTuple(0), + PathLeaf(PathLeafType.STATIC), + ] + ), + ) + ) + ), + Field( + 1, + "Send", + ParamType.TOKEN_AMOUNT, + ParamTokenAmount( + 1, + Value( + 1, + TypeFamily.UINT, + type_size=32, + data_path=DataPath( + 1, + [ + PathTuple(1), + PathTuple(4), + PathLeaf(PathLeafType.STATIC), + ] + ), + ), + token=Value( + 1, + TypeFamily.ADDRESS, + data_path=DataPath( + 1, + [ + PathTuple(1), + PathTuple(0), + PathLeaf(PathLeafType.STATIC), + ] + ), + ), + native_currency=[ + bytes.fromhex("EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"), + ], + ) + ), + Field( + 1, + "Receive", + ParamType.TOKEN_AMOUNT, + ParamTokenAmount( + 1, + Value( + 1, + TypeFamily.UINT, + type_size=32, + data_path=DataPath( + 1, + [ + PathTuple(1), + PathTuple(5), + PathLeaf(PathLeafType.STATIC), + ] + ), + ), + token=Value( + 1, + TypeFamily.ADDRESS, + data_path=DataPath( + 1, + [ + PathTuple(1), + PathTuple(1), + PathLeaf(PathLeafType.STATIC), + ] + ), + ), + native_currency=[ + bytes.fromhex("EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"), + ], + ) + ), + ] + + # compute instructions hash + inst_hash = hashlib.sha3_256() + for field in fields: + inst_hash.update(field.serialize()) + + tx_info = TxInfo( + 1, + tx_params["chainId"], + tx_params["to"], + get_selector_from_data(tx_params["data"]), + inst_hash.digest(), + "swap", + creator_name="1inch", + creator_legal_name="1inch Network", + creator_url="1inch.io", + contract_name="Aggregation Router V6", + deploy_date=1707724800 + ) + + app_client.provide_transaction_info(tx_info.serialize()) + + app_client.provide_token_metadata("USDC", bytes.fromhex("A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"), 6, 1) + + for field in fields: + payload = field.serialize() + app_client.send_raw(0xe0, 0x28, 0x01, 0x00, struct.pack(">H", len(payload)) + payload) + + with app_client.send_raw_async(0xe0, 0x04, 0x00, 0x02, bytes()): + scenario_navigator.review_approve(test_name=test_name, custom_screen_text="Sign transaction") From 6743966a0300b2a94655ffc53d2e9845c8518c27 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 16 Dec 2024 11:13:47 +0100 Subject: [PATCH 64/66] Added new APDUs to doc --- doc/ethapp.adoc | 123 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 121 insertions(+), 2 deletions(-) diff --git a/doc/ethapp.adoc b/doc/ethapp.adoc index a8358a42e..058b89cf3 100644 --- a/doc/ethapp.adoc +++ b/doc/ethapp.adoc @@ -113,15 +113,21 @@ The input data is the RLP encoded transaction (as per https://github.com/ethereu [width="80%"] |============================================================================================================================== -| *CLA* | *INS* | *P1* | *P2* | *Lc* | *Le* +| *CLA* | *INS* | *P1* | *P2* | *Lc* | *Le* | E0 | 04 | 00 : first transaction data block 80 : subsequent transaction data block - | 00 | variable | variable + | 00 : process & start flow + + 01 : store only + + 02 : start flow | variable | variable |============================================================================================================================== 'Input data (first transaction data block)' +If P2 == 0x02, then no data is provided. + [width="80%"] |============================================================================================================================== | *Description* | *Length* @@ -143,6 +149,8 @@ The input data is the RLP encoded transaction (as per https://github.com/ethereu 'Output data' +If P2 == 0x01, then no data is returned. + [width="80%"] |============================================================================================================================== | *Description* | *Length* @@ -1070,6 +1078,117 @@ _Output data_ None +### PROVIDE ENUM VALUE + +_Command_ + +[width="80%"] +|============================================================== +| *CLA* | *INS* | *P1* | *P2* | *LC* +| E0 | 24 | 01 : first chunk + + 00 : following chunk + | 00 | 00 +|============================================================== + +_Input data_ + +##### If P1 == first chunk + +[width="80%"] +|========================================== +| *Description* | *Length (byte)* +| Payload length | 2 +| TLV payload | variable +|========================================== + +##### If P1 == following chunk + +[width="80%"] +|========================================== +| *Description* | *Length (byte)* +| TLV payload | variable +|========================================== + +_Output data_ + +None + + +### TRANSACTION INFO + +_Command_ + +[width="80%"] +|============================================================== +| *CLA* | *INS* | *P1* | *P2* | *LC* +| E0 | 26 | 01 : first chunk + + 00 : following chunk + | 00 | 00 +|============================================================== + +_Input data_ + +##### If P1 == first chunk + +[width="80%"] +|========================================== +| *Description* | *Length (byte)* +| Payload length | 2 +| TLV payload | variable +|========================================== + +##### If P1 == following chunk + +[width="80%"] +|========================================== +| *Description* | *Length (byte)* +| TLV payload | variable +|========================================== + +_Output data_ + +None + + +### TRANSACTION FIELD DESCRIPTION + +_Command_ + +[width="80%"] +|============================================================== +| *CLA* | *INS* | *P1* | *P2* | *LC* +| E0 | 28 | 01 : first chunk + + 00 : following chunk + | 00 | 00 +|============================================================== + +_Input data_ + +##### If P1 == first chunk + +[width="80%"] +|========================================== +| *Description* | *Length (byte)* +| Payload length | 2 +| TLV payload | variable +|========================================== + +##### If P1 == following chunk + +[width="80%"] +|========================================== +| *Description* | *Length (byte)* +| TLV payload | variable +|========================================== + +_Output data_ + +None + + ### PROVIDE NETWORK CONFIGURATION #### Description From fab1153995e74bbdf7902660b1c91022baa01194 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 18 Dec 2024 18:12:05 +0100 Subject: [PATCH 65/66] Updated changelog for 1.14.0 --- CHANGELOG.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 044c1164f..fff895cff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## [1.14.0](https://github.com/ledgerhq/app-ethereum/compare/1.13.0...1.14.0) - 202x-xx-xx +## [1.14.0](https://github.com/ledgerhq/app-ethereum/compare/1.13.0...1.14.0) - 2024-12-19 + +### Added + +- (network) Zero +- Generic clear-signing support + +### Changed + +- Renamed "Address" field in ERC-20 approval flow to "Approve to" +- Blind-signing flow now shows transaction hash (keccak-256 of the RLP without v/r/s) +- Blind-signing flow now hides the amount if it is 0 + +### Fixed + +- Version comparison in trusted name feature +- Key ID & public key used for trusted names coming from CAL +- PKI key usage in trusted name feature ## [1.13.0](https://github.com/ledgerhq/app-ethereum/compare/1.12.2...1.13.0) - 2024-11-26 From c1ccb8bf2caa8ccc534ecfee14fe64cb5dd19e78 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Wed, 18 Dec 2024 18:12:29 +0100 Subject: [PATCH 66/66] Removed -dev version suffix --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 1178cee91..2928b10f6 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ include ./makefile_conf/chain/$(CHAIN).mk APPVERSION_M = 1 APPVERSION_N = 14 APPVERSION_P = 0 -APPVERSION = $(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)-dev +APPVERSION = $(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P) # Application source files APP_SOURCE_PATH += src src_features src_plugins