From 0b73d1063f9da3446276e9832a1190d7adde249e Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Tue, 12 Dec 2023 12:23:58 +0100 Subject: [PATCH 01/16] src: Improve crypto code using SDK crypto_helpers and LEDGER_ASSERT --- Makefile | 3 ++ src/utils.c | 148 ++++++++++++++-------------------------------------- src/utils.h | 14 ++--- 3 files changed, 46 insertions(+), 119 deletions(-) diff --git a/Makefile b/Makefile index 9a910bff..8e0f9f3b 100644 --- a/Makefile +++ b/Makefile @@ -131,6 +131,9 @@ include $(BOLOS_SDK)/Makefile.glyphs APP_SOURCE_PATH += src SDK_SOURCE_PATH += lib_stusb lib_stusb_impl +# Allow usage of function from lib_standard_app/crypto_helpers.c +APP_SOURCE_FILES += ${BOLOS_SDK}/lib_standard_app/crypto_helpers.c + ifneq ($(TARGET_NAME),TARGET_STAX) SDK_SOURCE_PATH += lib_ux endif diff --git a/src/utils.c b/src/utils.c index a1696bdf..234bcd04 100644 --- a/src/utils.c +++ b/src/utils.c @@ -2,99 +2,39 @@ #include "cx.h" #include #include + +#include "lib_standard_app/crypto_helpers.h" + #include "utils.h" -void get_public_key(uint8_t *publicKeyArray, const uint32_t *derivationPath, size_t pathLength) { - cx_ecfp_private_key_t privateKey; - cx_ecfp_public_key_t publicKey; +void get_public_key(uint8_t publicKeyArray[static PUBKEY_LENGTH], + const uint32_t *derivationPath, + size_t pathLength) { + uint8_t rawPubkey[65]; + cx_err_t cx_err; - get_private_key(&privateKey, derivationPath, pathLength); - BEGIN_TRY { - TRY { - cx_ecfp_generate_pair(CX_CURVE_Ed25519, &publicKey, &privateKey, 1); - } - CATCH_OTHER(e) { - MEMCLEAR(privateKey); - THROW(e); - } - FINALLY { - MEMCLEAR(privateKey); - } + cx_err = bip32_derive_with_seed_get_pubkey_256(HDW_ED25519_SLIP10, + CX_CURVE_Ed25519, + derivationPath, + pathLength, + rawPubkey, + NULL, + CX_SHA512, + NULL, + 0); + + if (CX_OK != cx_err) { + THROW(cx_err); } - END_TRY; for (int i = 0; i < PUBKEY_LENGTH; i++) { - publicKeyArray[i] = publicKey.W[PUBKEY_LENGTH + PRIVATEKEY_LENGTH - i]; + publicKeyArray[i] = rawPubkey[PUBKEY_LENGTH + PRIVATEKEY_LENGTH - i]; } - if ((publicKey.W[PUBKEY_LENGTH] & 1) != 0) { + if ((rawPubkey[PUBKEY_LENGTH] & 1) != 0) { publicKeyArray[PUBKEY_LENGTH - 1] |= 0x80; } } -uint32_t readUint32BE(uint8_t *buffer) { - return ((buffer[0] << 24) | (buffer[1] << 16) | (buffer[2] << 8) | (buffer[3])); -} - -void get_private_key(cx_ecfp_private_key_t *privateKey, - const uint32_t *derivationPath, - size_t pathLength) { - uint8_t privateKeyData[PRIVATEKEY_LENGTH]; - BEGIN_TRY { - TRY { - os_perso_derive_node_bip32_seed_key(HDW_ED25519_SLIP10, - CX_CURVE_Ed25519, - derivationPath, - pathLength, - privateKeyData, - NULL, - NULL, - 0); - cx_ecfp_init_private_key(CX_CURVE_Ed25519, - privateKeyData, - PRIVATEKEY_LENGTH, - privateKey); - } - CATCH_OTHER(e) { - MEMCLEAR(privateKeyData); - THROW(e); - } - FINALLY { - MEMCLEAR(privateKeyData); - } - } - END_TRY; -} - -void get_private_key_with_seed(cx_ecfp_private_key_t *privateKey, - const uint32_t *derivationPath, - uint8_t pathLength) { - uint8_t privateKeyData[PRIVATEKEY_LENGTH]; - BEGIN_TRY { - TRY { - os_perso_derive_node_bip32_seed_key(HDW_ED25519_SLIP10, - CX_CURVE_Ed25519, - derivationPath, - pathLength, - privateKeyData, - NULL, - (unsigned char *) "ed25519 seed", - 12); - cx_ecfp_init_private_key(CX_CURVE_Ed25519, - privateKeyData, - PRIVATEKEY_LENGTH, - privateKey); - } - CATCH_OTHER(e) { - MEMCLEAR(privateKeyData); - THROW(e); - } - FINALLY { - MEMCLEAR(privateKeyData); - } - } - END_TRY; -} - int read_derivation_path(const uint8_t *data_buffer, size_t data_size, uint32_t *derivation_path, @@ -126,32 +66,24 @@ int read_derivation_path(const uint8_t *data_buffer, } uint8_t set_result_sign_message(void) { - uint8_t signature[SIGNATURE_LENGTH]; - cx_ecfp_private_key_t privateKey; - BEGIN_TRY { - TRY { - get_private_key_with_seed(&privateKey, - G_command.derivation_path, - G_command.derivation_path_length); - cx_eddsa_sign(&privateKey, - CX_LAST, - CX_SHA512, - G_command.message, - G_command.message_length, - NULL, - 0, - signature, - SIGNATURE_LENGTH, - NULL); - memcpy(G_io_apdu_buffer, signature, SIGNATURE_LENGTH); - } - CATCH_OTHER(e) { - THROW(e); - } - FINALLY { - MEMCLEAR(privateKey); - } + size_t sigLen = SIGNATURE_LENGTH; + cx_err_t cx_err; + + cx_err = bip32_derive_with_seed_eddsa_sign_hash_256(HDW_ED25519_SLIP10, + CX_CURVE_Ed25519, + G_command.derivation_path, + G_command.derivation_path_length, + CX_SHA512, + G_command.message, + G_command.message_length, + G_io_apdu_buffer, + &sigLen, + NULL, + 0); + + if (CX_OK != cx_err) { + THROW(cx_err); } - END_TRY; + return SIGNATURE_LENGTH; } diff --git a/src/utils.h b/src/utils.h index 6961b711..ad0981c8 100644 --- a/src/utils.h +++ b/src/utils.h @@ -21,17 +21,9 @@ typedef enum rlpTxType { TX_FEE } rlpTxType; -void get_public_key(uint8_t *publicKeyArray, const uint32_t *derivationPath, size_t pathLength); - -uint32_t readUint32BE(uint8_t *buffer); - -void get_private_key(cx_ecfp_private_key_t *privateKey, - const uint32_t *derivationPath, - size_t pathLength); - -void get_private_key_with_seed(cx_ecfp_private_key_t *privateKey, - const uint32_t *derivationPath, - uint8_t pathLength); +void get_public_key(uint8_t publicKeyArray[static PUBKEY_LENGTH], + const uint32_t *derivationPath, + size_t pathLength); /** * Deserialize derivation path from raw bytes. From ad37ff9e090df5c2d1c7253ad84b5653022e419a Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Tue, 12 Dec 2023 12:24:48 +0100 Subject: [PATCH 02/16] src: Cleanup unused parameter from BLE_power() --- src/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index 3717d8d8..c3ed0755 100644 --- a/src/main.c +++ b/src/main.c @@ -210,7 +210,7 @@ void coin_main(void) { #ifdef HAVE_BLE BLE_power(0, NULL); - BLE_power(1, "Nano X"); + BLE_power(1, NULL); #endif // HAVE_BLE app_main(); @@ -247,7 +247,7 @@ static void start_app_from_lib(void) { // grab the current plane mode setting G_io_app.plane_mode = os_setting_get(OS_SETTING_PLANEMODE, NULL, 0); BLE_power(0, NULL); - BLE_power(1, "Nano X"); + BLE_power(1, NULL); #endif // HAVE_BLE app_main(); } From 81983453c81aa49d4d70431cc9f125ad390e0a0d Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Tue, 12 Dec 2023 12:25:05 +0100 Subject: [PATCH 03/16] src: Drop deprectaed check_api_level() --- src/main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main.c b/src/main.c index c3ed0755..ba88e23f 100644 --- a/src/main.c +++ b/src/main.c @@ -253,7 +253,6 @@ static void start_app_from_lib(void) { } static void library_main_helper(libargs_t *args) { - check_api_level(CX_COMPAT_APILEVEL); switch (args->command) { case CHECK_ADDRESS: // ensure result is zero if an exception is thrown From cfac20e115152371809cfa957bd55d5fcbc76d6a Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Thu, 14 Dec 2023 17:20:51 +0100 Subject: [PATCH 04/16] workflows/sonarcloud.yml: Update workflow following app-bitcoin-new example --- .github/workflows/sonarcloud.yml | 73 ++++++++++++-------------------- 1 file changed, 28 insertions(+), 45 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index bc8fe835..690a61dc 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -8,54 +8,37 @@ on: pull_request: jobs: - build: - name: SonarQube analyze + sonarcloud: runs-on: ubuntu-latest container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-legacy:latest + env: - SONAR_SCANNER_VERSION: 4.7.0.2747 - SONAR_SERVER_URL: "https://sonarcloud.io" BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory # Directory where build-wrapper output will be placed steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11 - - name: Download and set up sonar-scanner - env: - SONAR_SCANNER_DOWNLOAD_URL: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${{ env.SONAR_SCANNER_VERSION }}-linux.zip - run: | - apt-get update -y - apt-get upgrade -y - DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata - curl -sL https://deb.nodesource.com/setup_16.x | bash - - apt-get install -y gcovr nodejs unzip lcov - mkdir -p $HOME/.sonar - curl -sSLo $HOME/.sonar/sonar-scanner.zip ${{ env.SONAR_SCANNER_DOWNLOAD_URL }} - unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/ - echo "$HOME/.sonar/sonar-scanner-${{ env.SONAR_SCANNER_VERSION }}-linux/bin" >> $GITHUB_PATH - - name: Download and set up build-wrapper - env: - BUILD_WRAPPER_DOWNLOAD_URL: ${{ env.SONAR_SERVER_URL }}/static/cpp/build-wrapper-linux-x86.zip - run: | - curl -sSLo $HOME/.sonar/build-wrapper-linux-x86.zip ${{ env.BUILD_WRAPPER_DOWNLOAD_URL }} - unzip -o $HOME/.sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/ - echo "$HOME/.sonar/build-wrapper-linux-x86" >> $GITHUB_PATH - - name: Generate code coverage - working-directory: libsol - run: | - make COVERAGE=1 - gcovr --root .. --sonarqube ../coverage.xml - - name: Run build-wrapper - run: | - build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make clean all - - name: Run sonar-scanner - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: | - sonar-scanner --define sonar.host.url="${{ env.SONAR_SERVER_URL }}" --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" + - uses: actions/checkout@v3 + with: + # Disabling shallow clone is recommended for improving relevancy of reporting + fetch-depth: 0 + - name: Install dependencies + run: | + apt-get update -y + apt-get upgrade -y + DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata + apt-get install -y libcmocka-dev gcovr unzip + - name: Install sonar-scanner and build-wrapper + uses: sonarsource/sonarcloud-github-c-cpp@v2 + + - name: Generate code coverage + working-directory: libsol + run: | + make COVERAGE=1 + gcovr --root .. --sonarqube ../coverage.xml + - name: Run build-wrapper + run: | + build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make clean all + - name: Run sonar-scanner + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}" #Consult https://docs.sonarcloud.io/advanced-setup/ci-based-analysis/sonarscanner-cli/ for more information and options From 71d0904b8838bdfc5457b33619eae5ddfe1f8f22 Mon Sep 17 00:00:00 2001 From: Ledger App Tester Bot Date: Wed, 10 Jan 2024 15:13:34 +0000 Subject: [PATCH 05/16] [auto] Update screenshot --- .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00003.png | Bin 308 -> 305 bytes .../00005.png | Bin 856 -> 856 bytes .../00006.png | Bin 449 -> 449 bytes .../00008.png | Bin 487 -> 486 bytes .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00003.png | Bin 308 -> 305 bytes .../00005.png | Bin 856 -> 856 bytes .../00006.png | Bin 449 -> 449 bytes .../00008.png | Bin 365 -> 366 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00001.png | Bin 449 -> 449 bytes .../00003.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00001.png | Bin 449 -> 449 bytes .../00003.png | Bin 365 -> 366 bytes .../00004.png | Bin 487 -> 486 bytes .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00003.png | Bin 305 -> 302 bytes .../00004.png | Bin 816 -> 823 bytes .../00005.png | Bin 856 -> 856 bytes .../00007.png | Bin 487 -> 486 bytes .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00003.png | Bin 305 -> 302 bytes .../00004.png | Bin 816 -> 823 bytes .../00005.png | Bin 856 -> 856 bytes .../00007.png | Bin 365 -> 366 bytes .../00008.png | Bin 487 -> 486 bytes .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00001.png | Bin 816 -> 823 bytes .../00003.png | Bin 487 -> 486 bytes .../00000.png | Bin 487 -> 486 bytes .../00001.png | Bin 379 -> 381 bytes .../00009.png | Bin 487 -> 486 bytes .../00000.png | Bin 458 -> 454 bytes .../00001.png | Bin 816 -> 823 bytes .../00003.png | Bin 365 -> 366 bytes .../00004.png | Bin 487 -> 486 bytes .../test_solana_get_public_key_ok/00000.png | Bin 833 -> 836 bytes .../test_solana_get_public_key_ok/00002.png | Bin 487 -> 486 bytes .../00000.png | Bin 833 -> 836 bytes .../00002.png | Bin 365 -> 366 bytes .../00003.png | Bin 487 -> 486 bytes .../test_solana_simple_transfer_ok_1/00003.png | Bin 487 -> 486 bytes .../test_solana_simple_transfer_ok_2/00001.png | Bin 833 -> 849 bytes .../test_solana_simple_transfer_ok_2/00003.png | Bin 487 -> 486 bytes .../00003.png | Bin 365 -> 366 bytes .../00004.png | Bin 487 -> 486 bytes 70 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_1/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_1/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_1/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_1/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_1/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_1/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_2/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_2/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 zcmV;d0aO0U1I7c8B!7)bL_t(|obB0Ba)clZfMMF%n{fXlahE`QtI!V^KqDSUKi0fDW#k%;Pbpz2hi=@0(9LRO{6xIw0&Fo zT^)dn-3aO{u0M`Cm>$*$yH~*Zovw{!lHDsHIqD$vupDm;(0_uy`or!OAaYQ_M8^C`CzsB}1Aj3)wy1QTSI>w)85vPKvwq>h=09sgVX%EX~AZ#RqP+Jk5)o(bC9fRkEPwGW$TuCAJ5R12_AdYHlGcjiLF2vr8_Mr;6JqBKFyg0ADdagJl`Zt{y=rHu1 z@AW(nEk)#|2hgqU0lICrE>b&63g1`$ zW(VM6cY^we>yNDshKF^9=nc?5)47oh61@SEqYajxmP0py^M9?+IWPM3Q}9W+olDd4 zJHE<%`)fpox@f{0dI)-g1y;fa@yas<0YI1TIlvfp#e&FKAL-=MSv>F`X2-TFo#)j( z;!j3KxSKCtn?dSZgiTVfS%_`_TYbyKras>87Q3|v(NR1Lw2uKNRaLb&clR8fHN;gt zz~1S(i|2T8uzzt8XYigY^!BsRrHFBZ#%`O5Iit4_doJ3W8sPLCc=X}LdG67D#U3%f z>AXOPp|5;yNY2_uP~yi^ao3Ob2kiejPoPt zLZ9m5@~0b~)2W8uO^hOIS3_s{aut#oi{^@%gFFRKe<>!OJ^%m!000000000000000 aFw8$SuSL>bdpLRk0000m?`JP?Cf8+}28*^V4n-w#%w!iwC zUBFRK7eRZ-+hx_Bz8NP}paGfhUX<%CA)l!-xN3}`oHh}0aDSwneDb6ME8usV6H%4i zQ-Nb>zoTAh69xeIOa+diz0KJ_51me&BjhLX-cPmE`x3s`-@IM}IE8-NRGdGBZQ_>x zXzRpFr@!3;ioQ%d%r4}G7ZslW1ukGWWa$s{Bx>morUx^bLNnQiXA&;}0000000000 c0KCl)+RKaA3lB4*rT_o{07*qoM6N<$f)F!(qW}N^ delta 281 zcmV+!0p|X(0<;2S$y(@)mOmjTil$8 zvg95T97FpZ^-h~G0KjKTa18A=Xa6{KI&qE=pTtMEa#{ULxOcPHJYNG?LO*RX&Y#4Z zxTQbZKJnD)w|hX+hpA7q3psI8;rb771BW3?f0!3hOMfsun8_5H$v!-jcmV(a00000 f0002s-~0mT^b(G4q%iLt00000NkvXXu0mjf2Ofe$ diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_2/00005.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_ok_2/00005.png index 1f8bb2dfa8c2c719eff202383908ff2f66cf5a94..0b78204873433ec75596f0a61b17e4ac793e92b2 100644 GIT binary patch delta 824 zcmV-81IPT>2G|CWEq_~*>>vn+bEeKtvi~KymwB+pvfu~7ctxGKvKlatR6lV^@Tw;&O)jJYc2TaniUJ+$QJAiNx; zsiH-(!5cA{dw;2an zlVV(3Z-3KX8apqe26?muP(#{t7_ zkQ(;4Yj?mrdv%iy4a0~_&upoV9GqUuCD57;UEBxVxki_sWTG0C;B?`hgpK8!Cp){F z=(Z93-f3^wF8ssTqPIRjuO!ZfZsx4x>C1R>tbZs7g5WhA@&5rGX_>?h59kYDa(0tf zT$36)l#WHAl2C%8q@)dezH(JMcNGLz8ph>EJyhW}+=UI?TTK#3n7#~!hAU6>iY2j3 z{u*19Xu69OuV%1eA22qz3Y`F+Evsw6Usu|_uxBF%=e@C#UEa2lqf-&}0GHwq%z}MT zYB6k&2k0NpyzXC{`$@i2@5t|3m2G|CWEq_sx>>vn5^QPWTvi~Kym-$GIWdmNp7`40a`It)5iUt9dILAQ< zA%qY@$aMa#?tmnvl&{b8yl&6)T-T#-BBfLgz&G%Jbq5-h9-znOa*^yPN8u~NlddNl zy426=4j5o3$hs?aEfkuyEJkia_u6X!O#6*es@rs$ea!#ZFnUz}kZB3M?B=I5w`o}C-Hwr=D$#y$ofG~Lm7D5QQ37P}U zWn3)~*Y-_*$+eO>;iDhwZa7;PTW;|dW*(`05|R+@p50?{0m}HLh3bMnbgW0sbVcYj zu>^m|25-d7+ww`e*jNQ=G`diw)Pnzz_wbY1)tHh=RPJOsBH z+*VD3`7S064*+Hel496w%cvTvu48Lx;t4U$SNeCtH@jG?e&yPnv%<`f@=$Z*QxT%0 zIWHFKy>kq@5i1$J(3&9OLWUr{z&c((LSem#PzVzGhkv!YH9syko6Cix)%}u3(HNvV zM)#<}eiBthb!*UEoDhJaE^2Tx9D|jNk3z&xL&+S2N13f&oyn-}@S&sYu6* zGP!8 zdbRcdJfyEXT)NiZ4nv*1G}V!S!?mJD;LV0k9)rGIW2lp2mKv4aj1r!No#mS+JG-0c zQ)x>v(>i49|uxW~1Zj)3|e{h<^}5K8Y>{Js_j6&0W~Q?bSm91&=R7O~vIWxMI#N zi@(kmYc$=Z7O$RQ!9HMYZq;-GedJ5jGJl<^_sp7&m^tr_l^pW6g>0RQC=I+8f6PSK z8!=_a)_4H^a29p{Qr&k_o_HX?Yhg+VA%qY@KAT^qW5vuG=Eed50000VBF8ko}lNhra zR$3AcTNd~99J>iO^H)I884F`&q+^hlG{(_x!p-CXNRv-75r5?~Jq_GGdGk ze&}q86jY77_{zvXHj$}1yE(+7DQG(;yD_Pa5-qEU+KNr!d16S65%RZ03VO3?Z^F*B z=TQK7v$6L8GVc<4pZV5#MszUeMNE6WI`VBF8hPgVFC&GL7?mV{Hj!e28c?x4FCWD zaQ8E-;TU835JJ#O-r#q32j1>8y8~N{F@$hTfAQ7vIW3E8C8Dr-vZr-dKnhI=p&BU> zth^-bwj%ENId&6n=C6RNBNoQW$j2Zr>5QY@gqz6&kSCvNB7Z7pdLFnmdCO30BTeyG%c6-EW`8h_N#$mNYyXsqs-&StjXeVfe zMh&OxyjIn-CV#JhyyWIAYu1?`p4~D1ZkH#cc2)l*?O%Lx*X-xB7TSu?{ug_&PP>Wz zUDXH46m&loG?lkd?T*^tlV+X9P5V&YD-~DW)CliCNqOgWCdmmdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_1/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_1/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_1/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_1/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_1/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_1/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_2/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_2/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 zcmV;d0aO0U1I7c8B!7)bL_t(|obB0Ba)clZfMMF%n{fXlahE`QtI!V^KqDSUKi0fDW#k%;Pbpz2hi=@0(9LRO{6xIw0&Fo zT^)dn-3aO{u0M`Cm>$*$yH~*Zovw{!lHDsHIqD$vupDm;(0_uy`or!OAaYQ_M8^C`CzsB}1Aj3)wy1QTSI>w)85vPKvwq>h=09sgVX%EX~AZ#RqP+Jk5)o(bC9fRkEPwGW$TuCAJ5R12_AdYHlGcjiLF2vr8_Mr;6JqBKFyg0ADdagJl`Zt{y=rHu1 z@AW(nEk)#|2hgqU0lICrE>b&63g1`$ zW(VM6cY^we>yNDshKF^9=nc?5)47oh61@SEqYajxmP0py^M9?+IWPM3Q}9W+olDd4 zJHE<%`)fpox@f{0dI)-g1y;fa@yas<0YI1TIlvfp#e&FKAL-=MSv>F`X2-TFo#)j( z;!j3KxSKCtn?dSZgiTVfS%_`_TYbyKras>87Q3|v(NR1Lw2uKNRaLb&clR8fHN;gt zz~1S(i|2T8uzzt8XYigY^!BsRrHFBZ#%`O5Iit4_doJ3W8sPLCc=X}LdG67D#U3%f z>AXOPp|5;yNY2_uP~yi^ao3Ob2kiejPoPt zLZ9m5@~0b~)2W8uO^hOIS3_s{aut#oi{^@%gFFRKe<>!OJ^%m!000000000000000 aFw8$SuSL>bdpLRk0000m?`JP?Cf8+}28*^V4n-w#%w!iwC zUBFRK7eRZ-+hx_Bz8NP}paGfhUX<%CA)l!-xN3}`oHh}0aDSwneDb6ME8usV6H%4i zQ-Nb>zoTAh69xeIOa+diz0KJ_51me&BjhLX-cPmE`x3s`-@IM}IE8-NRGdGBZQ_>x zXzRpFr@!3;ioQ%d%r4}G7ZslW1ukGWWa$s{Bx>morUx^bLNnQiXA&;}0000000000 c0KCl)+RKaA3lB4*rT_o{07*qoM6N<$f)F!(qW}N^ delta 281 zcmV+!0p|X(0<;2S$y(@)mOmjTil$8 zvg95T97FpZ^-h~G0KjKTa18A=Xa6{KI&qE=pTtMEa#{ULxOcPHJYNG?LO*RX&Y#4Z zxTQbZKJnD)w|hX+hpA7q3psI8;rb771BW3?f0!3hOMfsun8_5H$v!-jcmV(a00000 f0002s-~0mT^b(G4q%iLt00000NkvXXu0mjf2Ofe$ diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_2/00005.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_2/00005.png index 1f8bb2dfa8c2c719eff202383908ff2f66cf5a94..0b78204873433ec75596f0a61b17e4ac793e92b2 100644 GIT binary patch delta 824 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 diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_2/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_expert_refused_2/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_ok/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_ok/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 zcmV;d0aO0U1I7c8B!7)bL_t(|obB0Ba)clZfMMF%n{fXlahE`QtI!V^KqDSUKi0fDW#k%;Pbpz2hi=@0(9LRO{6xIw0&Fo zT^)dn-3aO{u0M`Cm>$*$yH~*Zovw{!lHDsHIqD$vupDm;(0_uy`or!OAaYQ_M8^C`CzsB}1Aj3)wy1QTSI>w)85vPKvwq>h=09sgVX%EX~AZ#RqP+Jk5)o(bC9fRkEPwGW$TuCAJ5R12_AdYHlGcjiLF2vr8_Mr;6JqBKFyg0ADdagJl`Zt{y=rHu1 z@AW(nEk)#|2hgqU0lICrE>b&63g1`$ zW(VM6cY^we>yNDshKF^9=nc?5)47oh61@SEqYajxmP0py^M9?+IWPM3Q}9W+olDd4 zJHE<%`)fpox@f{0dI)-g1y;fa@yas<0YI1TIlvfp#e&FKAL-=MSv>F`X2-TFo#)j( z;!j3KxSKCtn?dSZgiTVfS%_`_TYbyKras>87Q3|v(NR1Lw2uKNRaLb&clR8fHN;gt zz~1S(i|2T8uzzt8XYigY^!BsRrHFBZ#%`O5Iit4_doJ3W8sPLCc=X}LdG67D#U3%f z>AXOPp|5;yNY2_uP~yi^ao3Ob2kiejPoPt zLZ9m5@~0b~)2W8uO^hOIS3_s{aut#oi{^@%gFFRKe<>!OJ^%m!000000000000000 aFw8$SuSL>bdpLRk0000VBF8ko}lNhra zR$3AcTNd~99J>iO^H)I884F`&q+^hlG{(_x!p-CXNRv-75r5?~Jq_GGdGk ze&}q86jY77_{zvXHj$}1yE(+7DQG(;yD_Pa5-qEU+KNr!d16S65%RZ03VO3?Z^F*B z=TQK7v$6L8GVc<4pZV5#MszUeMNE6WI`VBF8hPgVFC&GL7?mV{Hj!e28c?x4FCWD zaQ8E-;TU835JJ#O-r#q32j1>8y8~N{F@$hTfAQ7vIW3E8C8Dr-vZr-dKnhI=p&BU> zth^-bwj%ENId&6n=C6RNBNoQW$j2Zr>5QY@gqz6&kSCvNB7Z7pdLFnmdCO30BTeyG%c6-EW`8h_N#$mNYyXsqs-&StjXeVfe zMh&OxyjIn-CV#JhyyWIAYu1?`p4~D1ZkH#cc2)l*?O%Lx*X-xB7TSu?{ug_&PP>Wz zUDXH46m&loG?lkd?T*^tlV+X9P5V&YD-~DW)CliCNqOgWCdmmdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_refused/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_refused/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 zcmV;d0aO0U1I7c8B!7)bL_t(|obB0Ba)clZfMMF%n{fXlahE`QtI!V^KqDSUKi0fDW#k%;Pbpz2hi=@0(9LRO{6xIw0&Fo zT^)dn-3aO{u0M`Cm>$*$yH~*Zovw{!lHDsHIqD$vupDm;(0_uy`or!OAaYQ_M8^C`CzsB}1Aj3)wy1QTSI>w)85vPKvwq>h=09sgVX%EX~AZ#RqP+Jk5)o(bC9fRkEPwGW$TuCAJ5R12_AdYHlGcjiLF2vr8_Mr;6JqBKFyg0ADdagJl`Zt{y=rHu1 z@AW(nEk)#|2hgqU0lICrE>b&63g1`$ zW(VM6cY^we>yNDshKF^9=nc?5)47oh61@SEqYajxmP0py^M9?+IWPM3Q}9W+olDd4 zJHE<%`)fpox@f{0dI)-g1y;fa@yas<0YI1TIlvfp#e&FKAL-=MSv>F`X2-TFo#)j( z;!j3KxSKCtn?dSZgiTVfS%_`_TYbyKras>87Q3|v(NR1Lw2uKNRaLb&clR8fHN;gt zz~1S(i|2T8uzzt8XYigY^!BsRrHFBZ#%`O5Iit4_doJ3W8sPLCc=X}LdG67D#U3%f z>AXOPp|5;yNY2_uP~yi^ao3Ob2kiejPoPt zLZ9m5@~0b~)2W8uO^hOIS3_s{aut#oi{^@%gFFRKe<>!OJ^%m!000000000000000 aFw8$SuSL>bdpLRk0000VBF8ko}lNhra zR$3AcTNd~99J>iO^H)I884F`&q+^hlG{(_x!p-CXNRv-75r5?~Jq_GGdGk ze&}q86jY77_{zvXHj$}1yE(+7DQG(;yD_Pa5-qEU+KNr!d16S65%RZ03VO3?Z^F*B z=TQK7v$6L8GVc<4pZV5#MszUeMNE6WI`VBF8hPgVFC&GL7?mV{Hj!e28c?x4FCWD zaQ8E-;TU835JJ#O-r#q32j1>8y8~N{F@$hTfAQ7vIW3E8C8Dr-vZr-dKnhI=p&BU> zth^-bwj%ENId&6n=C6RNBNoQW$j2Zr>5QY@gqz6&kSCvNB7Z7pdLFnmdCO30BTeyG%c6-EW`8h_N#$mNYyXsqs-&StjXeVfe zMh&OxyjIn-CV#JhyyWIAYu1?`p4~D1ZkH#cc2)l*?O%Lx*X-xB7TSu?{ug_&PP>Wz zUDXH46m&loG?lkd?T*^tlV+X9P5V&YD-~DW)CliCNqOgWCdm`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? jX68ChzTpPV-0__5jB!4tXL_t(|obB3M4uUWggyExcC+vSoXD>c9AxK+NNJwY!|DH5f zQqS}jFaiJo000000001hjLgi;YoBU*&+fn#%_`fKzAy`5S(fr*SMK%g+Q5Zb0MW|8 zxB3zBn%#km>IKKK`r$YOie0%)s~^4rJcerky-nDTWdPe|_^ zZ|I#keKYt8ATuqF6U|Oq^!$k3*m)GHKOY&)M+Wne0sf27-O%mi8#z;!_V%Yw9qR+d z`<^TcKC}GH?!b`dv zk6Zv{vkh9gndMc6<}wUO9Xc(j|DNyg+>kf~aQ< ke*gdg00000007+Y3sw)mR9g3FCIA2c07*qoM6N<$f+Jg>jsO4v diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_refused/00004.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_ascii_refused/00004.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_1/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_1/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_1/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_1/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_1/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_1/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_2/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_2/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_2/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_2/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_2/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_2/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_3/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_ok_3/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 zcmV;d0aO0U1I7c8B!7)bL_t(|obB0Ba)clZfMMF%n{fXlahE`QtI!V^KqDSUKi0fDW#k%;Pbpz2hi=@0(9LRO{6xIw0&Fo zT^)dn-3aO{u0M`Cm>$*$yH~*Zovw{!lHDsHIqD$vupDm;(0_uy`or!OAaYQ_M8^C`CzsB}1Aj3)wy1QTSI>w)85vPKvwq>h=09sgVX%EX~AZ#RqP+Jk5)o(bC9fRkEPwGW$TuCAJ5R12_AdYHlGcjiLF2vr8_Mr;6JqBKFyg0ADdagJl`Zt{y=rHu1 z@AW(nEk)#|2hgqU0lICrE>b&63g1`$ zW(VM6cY^we>yNDshKF^9=nc?5)47oh61@SEqYajxmP0py^M9?+IWPM3Q}9W+olDd4 zJHE<%`)fpox@f{0dI)-g1y;fa@yas<0YI1TIlvfp#e&FKAL-=MSv>F`X2-TFo#)j( z;!j3KxSKCtn?dSZgiTVfS%_`_TYbyKras>87Q3|v(NR1Lw2uKNRaLb&clR8fHN;gt zz~1S(i|2T8uzzt8XYigY^!BsRrHFBZ#%`O5Iit4_doJ3W8sPLCc=X}LdG67D#U3%f z>AXOPp|5;yNY2_uP~yi^ao3Ob2kiejPoPt zLZ9m5@~0b~)2W8uO^hOIS3_s{aut#oi{^@%gFFRKe<>!OJ^%m!000000000000000 aFw8$SuSL>bdpLRk0000DTs1~epEeP3aDSwneDZV!I^eO*MpPy5 zU4b=pJW=225C#DFOa<1^jlN>;z9CyW=UIPs$c^ML%D)L$S8oI@!{-MhD91Q?D$XJ! zD47DB%=x=GZXWz{T2F#3@eI}7O|tAyvy*DspG*xhnL?SI!0+002ovPDHLkV1it_dISIf delta 278 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 delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_1/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_1/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_1/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_1/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_1/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_1/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_2/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_2/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_2/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_2/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_2/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_2/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_3/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_3/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 zcmV;d0aO0U1I7c8B!7)bL_t(|obB0Ba)clZfMMF%n{fXlahE`QtI!V^KqDSUKi0fDW#k%;Pbpz2hi=@0(9LRO{6xIw0&Fo zT^)dn-3aO{u0M`Cm>$*$yH~*Zovw{!lHDsHIqD$vupDm;(0_uy`or!OAaYQ_M8^C`CzsB}1Aj3)wy1QTSI>w)85vPKvwq>h=09sgVX%EX~AZ#RqP+Jk5)o(bC9fRkEPwGW$TuCAJ5R12_AdYHlGcjiLF2vr8_Mr;6JqBKFyg0ADdagJl`Zt{y=rHu1 z@AW(nEk)#|2hgqU0lICrE>b&63g1`$ zW(VM6cY^we>yNDshKF^9=nc?5)47oh61@SEqYajxmP0py^M9?+IWPM3Q}9W+olDd4 zJHE<%`)fpox@f{0dI)-g1y;fa@yas<0YI1TIlvfp#e&FKAL-=MSv>F`X2-TFo#)j( z;!j3KxSKCtn?dSZgiTVfS%_`_TYbyKras>87Q3|v(NR1Lw2uKNRaLb&clR8fHN;gt zz~1S(i|2T8uzzt8XYigY^!BsRrHFBZ#%`O5Iit4_doJ3W8sPLCc=X}LdG67D#U3%f z>AXOPp|5;yNY2_uP~yi^ao3Ob2kiejPoPt zLZ9m5@~0b~)2W8uO^hOIS3_s{aut#oi{^@%gFFRKe<>!OJ^%m!000000000000000 aFw8$SuSL>bdpLRk0000DTs1~epEeP3aDSwneDZV!I^eO*MpPy5 zU4b=pJW=225C#DFOa<1^jlN>;z9CyW=UIPs$c^ML%D)L$S8oI@!{-MhD91Q?D$XJ! zD47DB%=x=GZXWz{T2F#3@eI}7O|tAyvy*DspG*xhnL?SI!0+002ovPDHLkV1it_dISIf delta 278 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 diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_3/00008.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_expert_refused_3/00008.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_1/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_1/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_1/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_1/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_1/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_1/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_2/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_ok_2/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 zcmV;d0aO0U1I7c8B!7)bL_t(|obB0Ba)clZfMMF%n{fXlahE`QtI!V^KqDSUKi0fDW#k%;Pbpz2hi=@0(9LRO{6xIw0&Fo zT^)dn-3aO{u0M`Cm>$*$yH~*Zovw{!lHDsHIqD$vupDm;(0_uy`or!OAaYQ_M8^C`CzsB}1Aj3)wy1QTSI>w)85vPKvwq>h=09sgVX%EX~AZ#RqP+Jk5)o(bC9fRkEPwGW$TuCAJ5R12_AdYHlGcjiLF2vr8_Mr;6JqBKFyg0ADdagJl`Zt{y=rHu1 z@AW(nEk)#|2hgqU0lICrE>b&63g1`$ zW(VM6cY^we>yNDshKF^9=nc?5)47oh61@SEqYajxmP0py^M9?+IWPM3Q}9W+olDd4 zJHE<%`)fpox@f{0dI)-g1y;fa@yas<0YI1TIlvfp#e&FKAL-=MSv>F`X2-TFo#)j( z;!j3KxSKCtn?dSZgiTVfS%_`_TYbyKras>87Q3|v(NR1Lw2uKNRaLb&clR8fHN;gt zz~1S(i|2T8uzzt8XYigY^!BsRrHFBZ#%`O5Iit4_doJ3W8sPLCc=X}LdG67D#U3%f z>AXOPp|5;yNY2_uP~yi^ao3Ob2kiejPoPt zLZ9m5@~0b~)2W8uO^hOIS3_s{aut#oi{^@%gFFRKe<>!OJ^%m!000000000000000 aFw8$SuSL>bdpLRk0000->M)fnnPFI;CV3w&iW%R_s0jJdLzL z&pEe|v)l5JbuY{c0mJY__8&Ud5fU-?hbZ zf0H3ZBc4uUy^k6s`w~$?H#}Le6Rw*hdxnV<#8LilDXD+SAj3;7$@Ft@1os3-PEV87}Bt7hfYAP&4VSLE)8`i z4x{_Bd;QLMq(1jbI~yo^_2`3ba)5?4`EuCw4jkdX>VM=B-gh}-6oQjS`29&>4&LO$ zv(V;rf{Z!16&_wo4eho!-l)17LtDs8Y@6IAO?0$h`$T0z+!i?PbZf4`vq}tY%V=&} z)@%};Zq!xHg2&;}nw-u~*t2bM-oHcG_f)%E9I{EA?Cy0%nW(Lx`E1v0>8PPj?a&^Q zF^qr&7Jpmg3$ui1N3`kb(Ypd>;8}G>&A%zbPHOLAm7;SXlYR*JG=$T8QIA>zA7*jM z-($?T^S&E;-yF;v4>a!_$T%0KQB6ztU9+)3kPwJc?&y<-9}gII((i*me~)prlam{} zTtvW0e-mfT^#?M$9l31I`UyB9^hYdE008({h=2Z77;UJPkgI;SNZ4M(6zsor++1>1(EC?3<=spKxBRNM5SRDEoeygsF1DMbl1q;{7j)z4XHqM%4=;unp-wADsjn z0TRe?oxWZG000000DwvE+`%7EeU02jKK6b)w_Y^U|`DU1hUpKy@+mvYK|bV1Kg!ILN4M!Rjf9aprV6 z$E}Aj0000009cbR|FYCl*cR~I7qWAZ6aZ#z4Vyv`D^Ikm4#)aROXwwbCeQUmIZ|4O zOsX44?jP)i)1rSV*PP#$Dw8lR-Dz&lNw}VmoH$#tDR0=rRRpfVgnj zTz#tAC4YMsT)eq8J~2zEc2t{@7DFpw5Sda()cor*?1=WBRw=v}GRK=sQhIWEhw&eQRs^SwQe=LY%aQW z1+aV_pKDIV>vYO{xcj%E_4BNh(iMpXS>iwCrD_-vFJ&auCxmdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_1/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_1/00000.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_1/00001.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_1/00001.png index ab88bd3a6d7427c33b0466c09511a2947d76e558..d885fe67b493f41a049111c376b0642375e01aed 100644 GIT binary patch delta 354 zcmV-o0iFK)0{sGzB!5InL_t(|obB0BZo?oDMN!(Vu>U2omwuokG=NjZDv#&f^A|fo zcwh!YQUU+~0000000000OqEhfDe7L_@~!T`n?l@uhv7@zfp@IJopavYllv?)U>a!0 z=qJYv=%;@T`gp~NWd=NnUj|g;GGI6NE6WU+F2cSqLY8W{+kZabInnoe61$Dqi{5%Y zjHzXiiT*Z|P!s*l7y~7$kP_>#65&0L{wU)9QCe-m^e95?k2|UGHM{-S1#t#UCvV7! z>sYrhw4>?%C*yhbv{_;H9B~*IW_L;{=iCRh-parFkJHw!|FP-st{T}!JOJ(C!w0cYVvkG0+b{?_aCIIGpnOlMY#gt5qt5i(y?I7va^#(B>hF z@bex13VT)w`at@f@CMTo1ONa4000000D#Z%15@hKeRM__*8l(j07*qoM6N<$f}|Fz A_5c6? delta 352 zcmey%^qXmdO1+b(i(^Q|oVPa}`wlAzxCE+&Km6zZNH21M;|j*}8q+jR{md7Cqj2X! zLV*_p95k#9^3rs@+Z7%6imgWD$ldMIbys+Q9MQUC`TVTz&htjh%Nomi>Wa=Z)cv@= zpkLKZ$M}KgAEO0Q(;0VfjE_t^P$KxPR&Z0u;k)1J8P9j_yFU3w?vZ~PYp)-k5ydw1 zMZPho>Baj!b^%FZK}oV`lgdcaU2$gtc wlOkBR?{IwL*X#q+FTZawpW){S4~!pt`A0>siX4>8Z~}>Wy85}Sb4q9e0Ho}sr~m)} diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_1/00009.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_1/00009.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_2/00000.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_2/00000.png index 8b6d9e79b8b90cbf2aa71b5ab9553c5b0315860c..21398f44e2ceb4bf67394a5e46828ad087994214 100644 GIT binary patch delta 428 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 diff --git a/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_2/00004.png b/tests/python/snapshots/nanosp/test_ledger_sign_offchain_message_utf8_refused_2/00004.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_solana_get_public_key_ok/00000.png b/tests/python/snapshots/nanosp/test_solana_get_public_key_ok/00000.png index c233f738c84370546ab28ce180162b2f804b37f0..e08f5fb170d9c7f3e7fbd77e462d0ff93b7ecbee 100644 GIT binary patch delta 813 zcmV+|1JeA#2E+!CB!3G@L_t(|ob8)ilH4E+MM)|<>HROsd&!3@gwhKM^N@S)`IvIM zLC6B}xa}zg000000D$fMI_*FyrCit5e*Ansc1cn|y!jS>pLXCsFOA?s{+xC|rH*Sp zz-z|Xsn8}Cx057q5@moNF=}KUtMR=HU)NPHN}A}GR2@JfIDb~9jq-glV0I^orl1w$ zk=U#gQ63UyzyNK0+p%x=WuEz`&Q)ROl(ML~ z`BDUN^p0lK`_;NJ*~##Y)&>hVohgW~X?AGHRA~Qn#eWx1z6gihi&pnrp2fnfg~sA! zexSt72{1so&VxQU38H@zME@kaqt9gw?UYYy*%rjYqCx)#!ERJ*y8CnoB2KPFDW>#1 zBeD#?=`k36_->;{2Mh19hX3jM9k4E5 z!`y)ur;(7Kcccb1IJ;KJpjQpu+y}#2W5`dkP|XrJLxdM$XL+r#7@bfP!!Z(n@AS9p zH~un?_-(JxJHfl5he`Ag8asLNS`h#Md<`%APk;HgO81?+);M{0lULj$4JBn@Q)mcE zqA5+Z5%2HZm9E_di8~GF_M;uD;; z!GUwYTy0fM0{+SusU?29Gwzi$2QhKon`=3gZ3js$MYIE4n}0+V>_yVpnGCRhIE$u# r8z$~2dZ*oyKWk$O000000KS{Q_(rjv8ddEO00000NkvXXu0mjf+{22A delta 810 zcmV+_1J(S*2Ehi9B!37=L_t(|ob8)ilH4E+MM)|<>HROsd&!3@gp$NX!o1vb&&L#Y zgTO)pBzsaKgb+dqA!Iqfb`Kz>l&+;9Zi{Li~iy-z3_{rZ^9T+IojMWc@z`9mN^zD z;}vBdP6&YN+7IVoC)EB1bQ$e9F`qX5;?DTi)7ydrh z4;}B%i{ZDSn>pwoG?ww?n<7F8`6gcWpYmms=6^SLrEu}>rf#?xm3q(Y3B=5OZ>;2yw{7I;R77duwe`nLguN&`w#NhTi?gWvm+F3! o@*~6(`LhnDgb+dqA>_OH3w_zKol($U$^ZZW07*qoM6N<$g1J|j*#H0l diff --git a/tests/python/snapshots/nanosp/test_solana_get_public_key_ok/00002.png b/tests/python/snapshots/nanosp/test_solana_get_public_key_ok/00002.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_solana_get_public_key_refused/00000.png b/tests/python/snapshots/nanosp/test_solana_get_public_key_refused/00000.png index c233f738c84370546ab28ce180162b2f804b37f0..e08f5fb170d9c7f3e7fbd77e462d0ff93b7ecbee 100644 GIT binary patch delta 813 zcmV+|1JeA#2E+!CB!3G@L_t(|ob8)ilH4E+MM)|<>HROsd&!3@gwhKM^N@S)`IvIM zLC6B}xa}zg000000D$fMI_*FyrCit5e*Ansc1cn|y!jS>pLXCsFOA?s{+xC|rH*Sp zz-z|Xsn8}Cx057q5@moNF=}KUtMR=HU)NPHN}A}GR2@JfIDb~9jq-glV0I^orl1w$ zk=U#gQ63UyzyNK0+p%x=WuEz`&Q)ROl(ML~ z`BDUN^p0lK`_;NJ*~##Y)&>hVohgW~X?AGHRA~Qn#eWx1z6gihi&pnrp2fnfg~sA! zexSt72{1so&VxQU38H@zME@kaqt9gw?UYYy*%rjYqCx)#!ERJ*y8CnoB2KPFDW>#1 zBeD#?=`k36_->;{2Mh19hX3jM9k4E5 z!`y)ur;(7Kcccb1IJ;KJpjQpu+y}#2W5`dkP|XrJLxdM$XL+r#7@bfP!!Z(n@AS9p zH~un?_-(JxJHfl5he`Ag8asLNS`h#Md<`%APk;HgO81?+);M{0lULj$4JBn@Q)mcE zqA5+Z5%2HZm9E_di8~GF_M;uD;; z!GUwYTy0fM0{+SusU?29Gwzi$2QhKon`=3gZ3js$MYIE4n}0+V>_yVpnGCRhIE$u# r8z$~2dZ*oyKWk$O000000KS{Q_(rjv8ddEO00000NkvXXu0mjf+{22A delta 810 zcmV+_1J(S*2Ehi9B!37=L_t(|ob8)ilH4E+MM)|<>HROsd&!3@gp$NX!o1vb&&L#Y zgTO)pBzsaKgb+dqA!Iqfb`Kz>l&+;9Zi{Li~iy-z3_{rZ^9T+IojMWc@z`9mN^zD z;}vBdP6&YN+7IVoC)EB1bQ$e9F`qX5;?DTi)7ydrh z4;}B%i{ZDSn>pwoG?ww?n<7F8`6gcWpYmms=6^SLrEu}>rf#?xm3q(Y3B=5OZ>;2yw{7I;R77duwe`nLguN&`w#NhTi?gWvm+F3! o@*~6(`LhnDgb+dqA>_OH3w_zKol($U$^ZZW07*qoM6N<$g1J|j*#H0l diff --git a/tests/python/snapshots/nanosp/test_solana_get_public_key_refused/00002.png b/tests/python/snapshots/nanosp/test_solana_get_public_key_refused/00002.png index c9222461cdd3ea49c300c4820e3704d33b9a3838..e90cd9db37ed7e4c669da0b1abe6e4a823770f3c 100644 GIT binary patch delta 339 zcmaFM^p0tQO1-J4i(^Q|oVPclR~<4CX?>`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? jX68ChzTpPV-0__5jB!4tXL_t(|obB3M4uUWggyExcC+vSoXD>c9AxK+NNJwY!|DH5f zQqS}jFaiJo000000001hjLgi;YoBU*&+fn#%_`fKzAy`5S(fr*SMK%g+Q5Zb0MW|8 zxB3zBn%#km>IKKK`r$YOie0%)s~^4rJcerky-nDTWdPe|_^ zZ|I#keKYt8ATuqF6U|Oq^!$k3*m)GHKOY&)M+Wne0sf27-O%mi8#z;!_V%Yw9qR+d z`<^TcKC}GH?!b`dv zk6Zv{vkh9gndMc6<}wUO9Xc(j|DNyg+>kf~aQ< ke*gdg00000007+Y3sw)mR9g3FCIA2c07*qoM6N<$f+Jg>jsO4v diff --git a/tests/python/snapshots/nanosp/test_solana_get_public_key_refused/00003.png b/tests/python/snapshots/nanosp/test_solana_get_public_key_refused/00003.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_solana_simple_transfer_ok_1/00003.png b/tests/python/snapshots/nanosp/test_solana_simple_transfer_ok_1/00003.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_solana_simple_transfer_ok_2/00001.png b/tests/python/snapshots/nanosp/test_solana_simple_transfer_ok_2/00001.png index 0a1457d9f65ad23b2a9f271c486c1c4d5879fe01..5ee5f17674a3f4cf037cd142696423420ebc4769 100644 GIT binary patch delta 826 zcmV-A1I7Ho2GItPB!3u5L_t(|ob8-ja^xTkMM=VlcuRxC(b zY0MPSy_1^JGk>}?y$A|NZZA$L0&SEE(P110sVSdLsN%sCcHf8YL@KFNLdB!xWeOz( z(I`P911+WW(`eIYt?NZ`Efv7-MPgY9dN7lNTjy>y6unUiWli^Tk&E03o476j;1NK( zntjUjNd`@8#-bRPq(+-`O1xxx z+Vm&|ae$V4>nko*#A^&IOGB$2K<O7EMV(aNr0;(u?vjNo6w!>ppwN1YlueAp zEckX`SCS-2k|arzEaz*z%Th|ce!t(o>_SHMflsHDa<@^vh`_GGywA1br;o0ZEc12@lw5sC&Wk7tRiuBAb;9)@#rX=i0KnRZ)WQeNt`ZDh?p6R0hlE zK1_{B8Y)#XYJasOpBIl50ZvIZapdILX6LSZONje`JocgC6(v;C7X4(>THiPq9V6_?w-lzmLD0q3oMV^GMJhTkJ8BoxxB0Rp- z@B(6*u_#?TNQ+q<5+{d8-Xj;um1#86!w&_C^I{KMqkqAwW(U}5EA^^LQ;s|nIkM?* z=#YMJg`@G*DwJ4I8aeymQE>Ar--dz=^1f4zB98rQL7)2Iyj%bq*=}+bCrhZN__0ig zDFQD}=QJ6kwJB2>t39eBbTPHy=$0ac+JfM25jEX|6lCn0TNwKRZS}WCLift@C;lrN z!MEUA7=KpWys^v-d3p(sK-pS%lV`xp746rcu&k5A(4oU%1wwW0h73#GzW{m%aMpcA z$66CeoIA&N3F-D)c+^n&8}2p|2vGrNag?NsDZ_tyIj6mn^yT%L65blhj<_{l&@ZuH z{Mbl?^kE4~Nf-G-W;5NtlAOLNN|Gc=cCq@G@_$%mB)8{A74|ak?(I9pS;ymusB)%7 zBf@#Rw3ldG=UBg#S0VRc94Ufq?)ZJMGzN4vhY%z!_NU0M$p#kBm~)n( oemdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! diff --git a/tests/python/snapshots/nanosp/test_solana_simple_transfer_refused/00003.png b/tests/python/snapshots/nanosp/test_solana_simple_transfer_refused/00003.png index c9222461cdd3ea49c300c4820e3704d33b9a3838..e90cd9db37ed7e4c669da0b1abe6e4a823770f3c 100644 GIT binary patch delta 339 zcmaFM^p0tQO1-J4i(^Q|oVPclR~<4CX?>`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? jX68ChzTpPV-0__5jB!4tXL_t(|obB3M4uUWggyExcC+vSoXD>c9AxK+NNJwY!|DH5f zQqS}jFaiJo000000001hjLgi;YoBU*&+fn#%_`fKzAy`5S(fr*SMK%g+Q5Zb0MW|8 zxB3zBn%#km>IKKK`r$YOie0%)s~^4rJcerky-nDTWdPe|_^ zZ|I#keKYt8ATuqF6U|Oq^!$k3*m)GHKOY&)M+Wne0sf27-O%mi8#z;!_V%Yw9qR+d z`<^TcKC}GH?!b`dv zk6Zv{vkh9gndMc6<}wUO9Xc(j|DNyg+>kf~aQ< ke*gdg00000007+Y3sw)mR9g3FCIA2c07*qoM6N<$f+Jg>jsO4v diff --git a/tests/python/snapshots/nanosp/test_solana_simple_transfer_refused/00004.png b/tests/python/snapshots/nanosp/test_solana_simple_transfer_refused/00004.png index 890ae49f7a7224d9dbb5a530c3a117f4a3fe650b..a3b562a7e68c7f974e6a5890ef35ac673882b86e 100644 GIT binary patch delta 77 zcmaFP{ET^m3gg<1s*Q{emW*L7tBSJ@-(30c8Ox4qEWDv__$&6agl|~Jb=E?n_3!ng c3=r`7Gk=wbX${97|0Ixrr>mdKI;Vst0NH6BfdBvi delta 78 zcmaFH{G54$3gfzss*Q|}7bkDHz};LL8GQAA3|mZgQ=8T|_C4`U+7ZD=GdP<#H~!xx e!2kvcb^jO@x~*3H^PDCK67Y2Ob6Mw<&;$VMu^n#! From 33e3cc8c691d18c1030500a20418edbc0e7fe8d1 Mon Sep 17 00:00:00 2001 From: Ledger App Tester Bot Date: Wed, 21 Feb 2024 13:36:52 +0000 Subject: [PATCH 06/16] [auto] Update screenshot --- .../00005.png | Bin 5084 -> 5599 bytes .../00003.png | Bin 5084 -> 5599 bytes .../00004.png | Bin 5084 -> 5599 bytes .../00003.png | Bin 5084 -> 5599 bytes .../test_solana_get_public_key_ok/00002.png | Bin 4615 -> 5035 bytes .../00003.png | Bin 5467 -> 6108 bytes .../00003.png | Bin 5467 -> 6108 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00005.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00005.png index c1a8fd4eb09009370b79a8e7d92355e84bad3426..1c2d6cd43fb93981b52926d5707a7f063f78e5a2 100644 GIT binary patch delta 3723 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

wKy{|_0DHogD85vH~cTD^%qNmefCfC7r zj)5%;RvJ~~?N{#u9$@|peFGyUWwbwz`EUm73iRK8m9a>Dcc4EJGboY;BfbadrtbmH z8^2f`W&9QkeZ7#FwgoX*d4VmX7sm|XYNmN}}ZnT2Cq)2t(I-lx>f2NE0%b#kn% ztOSzP+1Xi%q#44#abk6C4I0~XS#QQ&G=rwQmi6In>snh|XAv;Dfjf@)^e3R1QVmsQ=E0v)fU@-hxEi=`WlM4a-I6rpW%#zp_gM0F2 zZgKuY>Es2K4<{z132uQ0YH0e@0kz7rDrRMpUEhVx!gtmP0sX{X&iw=5=h#a zym-mOx(v&M;DYJr|CLIUCnKI+ygSLm1?Jk;m4QqakPGb^_K^SV(3tP^v^T~8AZ~0g zm3iP;CS}ITrKKyFMrkI&^GH4yrog4#b9935F9Q4hGU#fjU9Cx zs0btp4!XNqQoEGe0k`mQVwCnpc(=4@`cM%fxm?~8gJkJAlnBnVo{0$N59Hz2OqD`G z0V4f+$A4Z)r<(eXQfd}--}u+#b4wkK%42T&pRU}xJNmS33`Hq^rvdxr!2J+48}K)R ktfgkO@#zz1{SUwfl4of=uquf6u!XYbE<%RDFc z+}?G18|9ayKb8}6@wF3cE7yR> z9H1q4WMI=!`R|jY&Q@v1gaiM&`w&(7DmBQ>Va=@6a#e4==6NM^zZH2c^B-$% zt^6!2v8Yw8xTCiFy^st;%|kw0ellXyZEb(w8GqQ0w>I_a7_dXSA@=fjwj0r)EySAe-K4z-ob9^kw4^uL{+Gp=AUAj1 zWJHf^&xh2fOK*bOB>|m_$T(nAfTW>QYwTv!c@hxn8%kNomE*{RwMkxWW0x22{xHr8HZqI`u4_--PB}+|%CEzI+KpjL_tqIhm7au#R)us2ScJ zb>%s7eqrI%s0C1|R4im|qlbqFpFUqF$`twaM>w{0(ZxldRzEz^bdgA;d0jz}*Df9} zxmA*-(iIl=f_J`rJ`o=_zUL4GwKb*ze|-Xxf|4eC$?k!wc^X5cf-Lvw&XtcScuIC!t)Xeu#1mV$g>MF z3()lmgcxhRk@Ao)%zaf%aJUO=&bm`?6Spis)wUvgCr_@pxR@eoAH3*C7776KgSN?0 zg`opSVIc*t-(+sBZw=C|j@vOX8kvnk-jG2In?u}JC|14N$g&qK?TaN;jN8u+(A z)2nu6l~~G&MhaEj6D92|7ZS2>AECkZsCy~b@WYWLXOT>l@sk&S65W>AHmEH&)n+m?e%38`Uj(f+(>2hT1;Slq=uosrl-{IgL}ujN_HM_DeF@R zlsPDxHZFGnx}eO4t=CA)LMbjS4%!zG->M8wqC33;oG<`NHk8IBQM*rxSquh)pzp-; z%!C>8S1~}(Rnl@(#-G&2RNR6anPdo>X2}^$<&&IH~r@?L2G#LwB38lCzXky!}Dl^ht~E z}<@4+h3EaE*Z_fbbud{tedd0jM<84R~-! z!ek?2{;Smk>pfp6Nj!EWLMwE7m^CC)C2>A}lm)g%?s!A12rvS?=9pMv_q2Q0T8AWI z^vj|lZUVoWD&idE0_``<(X1G2D`2sFLZmv&`6vXE8st+a^{$f~?xR_68QYmZm>-0$ z{5)Jd5#TFX7FzYp>+&GM6BdpnOA{_IZyXfaZuasgbXu0A-!%vreb=GJ7n6a9g>w8;2VB5}1J8H~x8Uz2HTiVojuqLzqK@EoA~5iGXsuMd8dWF zxdM-RxJ2>wDTf3x3EZlkJ1g#3?FUBreJrsSZmDDiC|1Zob^x+dKURp@f&*d3F}V=GbybQTRz>aQn{FbzS~BU+);T?B&bnLz!bO zNU>S+@Q;)*XKMKjC_#_~8vjp@{ND{m;RBd!U^7NO1-s|c#9{9zS=Tl;p{HawJ0F`M z2fhum@D_);rm6bJ8u+MRKOymMU`p6MDwhNpr;r)ywBe@U0eJVh!ulKmm%nFti>tJ< z^)b&l9xXrrqlfqsnCJ_iJITr>f)E@J4e?)DZF@ANj;gu*+_^W&gYF^HtEzFra6~JG zToIV=9(NzR&Je@K*EBY*;IeWow5}|2wWc+GZyyzMwRb)Ml-se#r@csIz!PX~-Ux%E&(H5n);8H8tpv$HyavCSGwyx^cZJ#KFm?Thw zQVObScg2dmL|p|+CHjLFV~UnLWho}kTf39rI{qEd-;F5nL9!*0)FC4cGGro&14(ST z7xnG=lb9F%VEqN@PoYrgeWOTz)ZUy`yglP-{5zEn-+U89`^^EC7Hn>NCVFbvZ_qd9 zsak;;MYy&2s-{{-H8PvK`&#^qt1^GA26?B<8AD639O)TD->|NuqXXs_Jpb<5ueuG@ z;k$Lq-F0i1j}`SL{nA=|AYzE@9GhmBhk!c(>ImwPj=CS{+1kQO_8|+s?MBj=%SYTN zcN0!5hZpM&7sV{Q-Vu!+W?7AKtLslIef3v<;^M`*n#QrBG5q&JZbE>Q>SgJEJM;Ot z^`7O)*FDy~;3a2IUVaX~-KFfG|APlWxoF3tRvv?#d}~|Yt7yBUS5iWFH_s&;0q*Is z!7B{kD7NGV@-0-pyU{DQXDDya|rjhiZ!)iI!I%;&flo`_-SR zS1;{E`wmnN9xdM92)hBv{ogB+BY743;lZEtCwB;m)`m3lNLh;z*1*WBhJ;p!wZ5#} zRiac)=V9Y-YcXfi6Yg^%BBdJ8RE}*e(vN8|QBhIuSe{D@xL#$bLP*=zscndK!uGfN z)~#Cmg}x1fW0XOuqR5gflS;<{4L3w4kEKavGK2KX=bvwy+w{EtG^U}Lu&XU*l%I)z z1c(&IHq)LNPV|r;flSy`zBLqt+0gW}a_VMANUT>I-hY>T7=Tjvh18;`?>(0ligU{% z>9)SSRtIFdXebXq-Bs~*)IJeQ3vPxpSq>M%oSVW+{syAhR!#54e+GyHYnPcg74slwY^&sbpA*!JFM_P~DT!}CxZ0XR_Y6Yr%mQxH{ z*MECUMYPrS?XOAweB+|_jA=Q2?xF8TsDux>WLwc-^{vOms{@i1)%Unc-4=Ncmr0kb zJM-UNdXwW8g|iG>ZP5~J>zsa<@#^SOGm7Cfuq`QZ>P{~roB96qmgHA{SuUFN6hzIi=O zIw8Z6TMwP-pGg_^zxQ=brOI?R=BQ0{tW%_F8xjwbPi^i=#*1bc24_;(?0%$ZO z`H-?pJ(tmZ4nP0&OIN3Q?&(BN@1d5aE;aRBm0>5P8^=&@pyOMzmC10-s6#Vwye|6>zUVIfVaQDjUfnI5ETBs( zw)H~2gJ$Q8OR_yxO_w#@v@*CDkee#NaQD zH--u@re$0=yrEm;$e&eyn&E^i*Ug*5jz+eV1DNw7F304!APL9KofUDng!gw|xg(*6Jb7xjp)cKwIA%jLw?_vO@ zU`%t7euIi2`Vdwz*`3c7Elh4x6oVDrj37EK;J6oj2`nBjGV`7a4LBG|6{^P>P?Y#r zCUG=V7rYbts58XcP$z?mU>?DxtDSr)lgUgVF?MCo*0<2;blveqfq=lp3GG_yKk~%Y zvQRn)JHQj>qGMx&EQ@#%%#-Q74GuKMoZ;Hze5uXQt~HA;3O zIN)g}li8p1Y*%^3eMYEaqutz%q50Q!GpWuE(#w4!zBZKx&_G3hg*TB}P3<|0QmM}x zsdPeEp5@*A6U^2?8(;53V4>RTfR)wNb_8*}8>XP$34CBS!;PbRN03MR>svTHOV~T= zV;(4Ts*xi?dM4}To|Ugn6f=z5(wLo}+dpn$MolL;Oh6yy)qau2pcl9HbQSNMx|et1 z6VVR%V06@LAq|Q}VvIDhI~9ryRd?P?7nHayjB&J|VW zWF4qgnu*F*7aS=tA*lGbo7*WAbJt&EO6RpTvX@dPM6yL zn|}2+S}A<<*%j|QI?l?yA(ktPUvih#1--pdUNABrGs7J0)XM7yW>>N2UJlZBRhimb zv8V(}pw+cWTRK#Nd*b9eW?B&v6s)?xp5z0Ea1u=r_5N|rsi1(M)b#XrI(=Qt8yFuC zDB5NAc%nlpm-|7=eb+DRHZPQV_TXC`XKFPvsCNP%5AA~x5s~vUh3mRADMR7>t$h*43z)@LPHVQ7@%{5BjG``ovCl(-u<&BJ?QH3d8#4xLdnl$Ty-Q{s-N&l}XijQC)|V(rGyd&-b8DVz>O%|2}n zPC)P7ajDri38pk6T2q}cYt{2x$JC8zl?hQ5SG!ARUk7Pwf$X+}Ln536=lXE9kq8 zdVh@Ba|A!_9`78Jz2!Gl%o^_K?`7?aKWl4HJCz4EE)>f~(orn=*WR0fil|*&trxhl zj;o?S*#g_DHd;FZur)OI+-{_k!xFS0h@7dZPHuLEWKjcF18dkfL~>7V$x~?{Lv?{t*toDDa^HZKa#(?i^WCB7Z%;2#BsEK5V$R$>DWHBenyW(7xedRuSkK2&-iX7zLG!c)4lDL*YcOUSRbyAV z;^a01pUl1g=4rB9rTiBYEh_z#xVjL?)ABGV)}AU?sMd(BBYad;Utw8TUj(_@UYg(# z+vb*#RzFj*em4^U>|IicF?vP%kEYtbZyfGNAh!U+?gDE@qN7os+ojg9;Ci2zgEt&2 zD*5wx1;^RN#dcc))Ya9*#DwBJo9HNn{@Py5iuRslMxNL=IXyG@zQFozqN62p4r+`c z1o(RoG1|jG+OgjLi4M07ty_n4_7RlKIPd!2)};{Z8jTb%1s%#Ifk2Q>jW_A{lCc5D zwMu_s_if(^zjPj_h}?zm5X(EFZpG)C&E%OQ^M^z-`-K9rSWJdn^x6ju?Iw1polzVw z9C|yG@J97$Kdehw_9>QE%hf{|;qD2$Cr}&c&}ne~x;^M0ug1J&bGRdkOASREZ3bz+ zEEPyHZ|K1Kr@!NW01o0G_|E?dN?b`0qAS%Ig2a;j>)VxjffXT>?aQ+*)ltk4YXeL- ziyHd)c6<85Nds;Fxtk!*44YKx-SykJeOToCSUW;wDH4fva=pUktDCziHgm!HgCcv% z7M@Lxw(-5D6vXRrU(6alX(1aUbnguoYv^LOWhDvtz$sYsd-O05Pk|AeS_y1suTwt~ zTrlZ0wz4ulZZ`}Kx%oA=bnEuI0N*KF)QNo+NxLrt({IG4ZPbquWJk)&!GG>$Kp(E| zp*0sbU22S<1oMnU04XW5m6b#QSmzC3Z`HMZCimw9AA&u!bpxgl&5m;;y`)zWlMbC* zfW_tICen+QrKP2nm6gTs0d`=S$B&a2

wKy{|_0DHogD85vH~cTD^%qNmefCfC7r zj)5%;RvJ~~?N{#u9$@|peFGyUWwbwz`EUm73iRK8m9a>Dcc4EJGboY;BfbadrtbmH z8^2f`W&9QkeZ7#FwgoX*d4VmX7sm|XYNmN}}ZnT2Cq)2t(I-lx>f2NE0%b#kn% ztOSzP+1Xi%q#44#abk6C4I0~XS#QQ&G=rwQmi6In>snh|XAv;Dfjf@)^e3R1QVmsQ=E0v)fU@-hxEi=`WlM4a-I6rpW%#zp_gM0F2 zZgKuY>Es2K4<{z132uQ0YH0e@0kz7rDrRMpUEhVx!gtmP0sX{X&iw=5=h#a zym-mOx(v&M;DYJr|CLIUCnKI+ygSLm1?Jk;m4QqakPGb^_K^SV(3tP^v^T~8AZ~0g zm3iP;CS}ITrKKyFMrkI&^GH4yrog4#b9935F9Q4hGU#fjU9Cx zs0btp4!XNqQoEGe0k`mQVwCnpc(=4@`cM%fxm?~8gJkJAlnBnVo{0$N59Hz2OqD`G z0V4f+$A4Z)r<(eXQfd}--}u+#b4wkK%42T&pRU}xJNmS33`Hq^rvdxr!2J+48}K)R ktfgkO@#zz1{SUwfl4of=uquf6u!XYbE<%RDFc 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

wKy{|_0DHogD85vH~cTD^%qNmefCfC7r zj)5%;RvJ~~?N{#u9$@|peFGyUWwbwz`EUm73iRK8m9a>Dcc4EJGboY;BfbadrtbmH z8^2f`W&9QkeZ7#FwgoX*d4VmX7sm|XYNmN}}ZnT2Cq)2t(I-lx>f2NE0%b#kn% ztOSzP+1Xi%q#44#abk6C4I0~XS#QQ&G=rwQmi6In>snh|XAv;Dfjf@)^e3R1QVmsQ=E0v)fU@-hxEi=`WlM4a-I6rpW%#zp_gM0F2 zZgKuY>Es2K4<{z132uQ0YH0e@0kz7rDrRMpUEhVx!gtmP0sX{X&iw=5=h#a zym-mOx(v&M;DYJr|CLIUCnKI+ygSLm1?Jk;m4QqakPGb^_K^SV(3tP^v^T~8AZ~0g zm3iP;CS}ITrKKyFMrkI&^GH4yrog4#b9935F9Q4hGU#fjU9Cx zs0btp4!XNqQoEGe0k`mQVwCnpc(=4@`cM%fxm?~8gJkJAlnBnVo{0$N59Hz2OqD`G z0V4f+$A4Z)r<(eXQfd}--}u+#b4wkK%42T&pRU}xJNmS33`Hq^rvdxr!2J+48}K)R ktfgkO@#zz1{SUwfl4of=uquf6u!XYbE<%RDFc z+}?G18|9ayKb8}6@wF3cE7yR> z9H1q4WMI=!`R|jY&Q@v1gaiM&`w&(7DmBQ>Va=@6a#e4==6NM^zZH2c^B-$% zt^6!2v8Yw8xTCiFy^st;%|kw0ellXyZEb(w8GqQ0w>I_a7_dXSA@=fjwj0r)EySAe-K4z-ob9^kw4^uL{+Gp=AUAj1 zWJHf^&xh2fOK*bOB>|m_$T(nAfTW>QYwTv!c@hxn8%kNomE*{RwMkxWW0x22{xHr8HZqI`u4_--PB}+|%CEzI+KpjL_tqIhm7au#R)us2ScJ zb>%s7eqrI%s0C1|R4im|qlbqFpFUqF$`twaM>w{0(ZxldRzEz^bdgA;d0jz}*Df9} zxmA*-(iIl=f_J`rJ`o=_zUL4GwKb*ze|-Xxf|4eC$?k!wc^X5cf-Lvw&XtcScuIC!t)Xeu#1mV$g>MF z3()lmgcxhRk@Ao)%zaf%aJUO=&bm`?6Spis)wUvgCr_@pxR@eoAH3*C7776KgSN?0 zg`opSVIc*t-(+sBZw=C|j@vOX8kvnk-jG2In?u}JC|14N$g&qK?TaN;jN8u+(A z)2nu6l~~G&MhaEj6D92|7ZS2>AECkZsCy~b@WYWLXOT>l@sk&S65W>AHmEH&)n+m?e%38`Uj(f+(>2hT1;Slq=uosrl-{IgL}ujN_HM_DeF@R zlsPDxHZFGnx}eO4t=CA)LMbjS4%!zG->M8wqC33;oG<`NHk8IBQM*rxSquh)pzp-; z%!C>8S1~}(Rnl@(#-G&2RNR6anPdo>X2}^$<&&IH~r@?L2G#LwB38lCzXky!}Dl^ht~E z}<@4+h3EaE*Z_fbbud{tedd0jM<84R~-! z!ek?2{;Smk>pfp6Nj!EWLMwE7m^CC)C2>A}lm)g%?s!A12rvS?=9pMv_q2Q0T8AWI z^vj|lZUVoWD&idE0_``<(X1G2D`2sFLZmv&`6vXE8st+a^{$f~?xR_68QYmZm>-0$ z{5)Jd5#TFX7FzYp>+&GM6BdpnOA{_IZyXfaZuasgbXu0A-!%vreb=GJ7n6a9g>w8;2VB5}1J8H~x8Uz2HTiVojuqLzqK@EoA~5iGXsuMd8dWF zxdM-RxJ2>wDTf3x3EZlkJ1g#3?FUBreJrsSZmDDiC|1Zob^x+dKURp@f&*d3F}V=GbybQTRz>aQn{FbzS~BU+);T?B&bnLz!bO zNU>S+@Q;)*XKMKjC_#_~8vjp@{ND{m;RBd!U^7NO1-s|c#9{9zS=Tl;p{HawJ0F`M z2fhum@D_);rm6bJ8u+MRKOymMU`p6MDwhNpr;r)ywBe@U0eJVh!ulKmm%nFti>tJ< z^)b&l9xXrrqlfqsnCJ_iJITr>f)E@J4e?)DZF@ANj;gu*+_^W&gYF^HtEzFra6~JG zToIV=9(NzR&Je@K*EBY*;IeWow5}|2wWc+GZyyzMwRb)Ml-se#r@csIz!PX~-Ux%E&(H5n);8H8tpv$HyavCSGwyx^cZJ#KFm?Thw zQVObScg2dmL|p|+CHjLFV~UnLWho}kTf39rI{qEd-;F5nL9!*0)FC4cGGro&14(ST z7xnG=lb9F%VEqN@PoYrgeWOTz)ZUy`yglP-{5zEn-+U89`^^EC7Hn>NCVFbvZ_qd9 zsak;;MYy&2s-{{-H8PvK`&#^qt1^GA26?B<8AD639O)TD->|NuqXXs_Jpb<5ueuG@ z;k$Lq-F0i1j}`SL{nA=|AYzE@9GhmBhk!c(>ImwPj=CS{+1kQO_8|+s?MBj=%SYTN zcN0!5hZpM&7sV{Q-Vu!+W?7AKtLslIef3v<;^M`*n#QrBG5q&JZbE>Q>SgJEJM;Ot z^`7O)*FDy~;3a2IUVaX~-KFfG|APlWxoF3tRvv?#d}~|Yt7yBUS5iWFH_s&;0q*Is z!7B{kD7NGV@-0-pyU{DQXDDya|rjhiZ!)iI!I%;&flo`_-SR zS1;{E`wmnN9xdM92)hBv{ogB+BY743;lZEtCwB;m)`m3lNLh;z*1*WBhJ;p!wZ5#} zRiac)=V9Y-YcXfi6Yg^%BBdJ8RE}*e(vN8|QBhIuSe{D@xL#$bLP*=zscndK!uGfN z)~#Cmg}x1fW0XOuqR5gflS;<{4L3w4kEKavGK2KX=bvwy+w{EtG^U}Lu&XU*l%I)z z1c(&IHq)LNPV|r;flSy`zBLqt+0gW}a_VMANUT>I-hY>T7=Tjvh18;`?>(0ligU{% z>9)SSRtIFdXebXq-Bs~*)IJeQ3vPxpSq>M%oSVW+{syAhR!#54e+GyHYnPcg74slwY^&sbpA*!JFM_P~DT!}CxZ0XR_Y6Yr%mQxH{ z*MECUMYPrS?XOAweB+|_jA=Q2?xF8TsDux>WLwc-^{vOms{@i1)%Unc-4=Ncmr0kb zJM-UNdXwW8g|iG>ZP5~J>zsa<@#^SOGm7Cfuq`QZ>P{~roB96qmgHA{SuUFN6hzIi=O zIw8Z6TMwP-pGg_^zxQ=brOI?R=BQ0{tW%_F8xjwbPi^i=#*1bc24_;(?0%$ZO z`H-?pJ(tmZ4nP0&OIN3Q?&(BN@1d5aE;aRBm0>5P8^=&@pyOMzmC10-s6#Vwye|6>zUVIfVaQDjUfnI5ETBs( zw)H~2gJ$Q8OR_yxO_w#@v@*CDkee#NaQD zH--u@re$0=yrEm;$e&eyn&E^i*Ug*5jz+eV1DNw7F304!APL9KofUDng!gw|xg(*6Jb7xjp)cKwIA%jLw?_vO@ zU`%t7euIi2`Vdwz*`3c7Elh4x6oVDrj37EK;J6oj2`nBjGV`7a4LBG|6{^P>P?Y#r zCUG=V7rYbts58XcP$z?mU>?DxtDSr)lgUgVF?MCo*0<2;blveqfq=lp3GG_yKk~%Y zvQRn)JHQj>qGMx&EQ@#%%#-Q74GuKMoZ;Hze5uXQt~HA;3O zIN)g}li8p1Y*%^3eMYEaqutz%q50Q!GpWuE(#w4!zBZKx&_G3hg*TB}P3<|0QmM}x zsdPeEp5@*A6U^2?8(;53V4>RTfR)wNb_8*}8>XP$34CBS!;PbRN03MR>svTHOV~T= zV;(4Ts*xi?dM4}To|Ugn6f=z5(wLo}+dpn$MolL;Oh6yy)qau2pcl9HbQSNMx|et1 z6VVR%V06@LAq|Q}VvIDhI~9ryRd?P?7nHayjB&J|VW zWF4qgnu*F*7aS=tA*lGbo7*WAbJt&EO6RpTvX@dPM6yL zn|}2+S}A<<*%j|QI?l?yA(ktPUvih#1--pdUNABrGs7J0)XM7yW>>N2UJlZBRhimb zv8V(}pw+cWTRK#Nd*b9eW?B&v6s)?xp5z0Ea1u=r_5N|rsi1(M)b#XrI(=Qt8yFuC zDB5NAc%nlpm-|7=eb+DRHZPQV_TXC`XKFPvsCNP%5AA~x5s~vUh3mRADMR7>t$h*43z)@LPHVQ7@%{5BjG``ovCl(-u<&BJ?QH3d8#4xLdnl$Ty-Q{s-N&l}XijQC)|V(rGyd&-b8DVz>O%|2}n zPC)P7ajDri38pk6T2q}cYt{2x$JC8zl?hQ5SG!ARUk7Pwf$X+}Ln536=lXE9kq8 zdVh@Ba|A!_9`78Jz2!Gl%o^_K?`7?aKWl4HJCz4EE)>f~(orn=*WR0fil|*&trxhl zj;o?S*#g_DHd;FZur)OI+-{_k!xFS0h@7dZPHuLEWKjcF18dkfL~>7V$x~?{Lv?{t*toDDa^HZKa#(?i^WCB7Z%;2#BsEK5V$R$>DWHBenyW(7xedRuSkK2&-iX7zLG!c)4lDL*YcOUSRbyAV z;^a01pUl1g=4rB9rTiBYEh_z#xVjL?)ABGV)}AU?sMd(BBYad;Utw8TUj(_@UYg(# z+vb*#RzFj*em4^U>|IicF?vP%kEYtbZyfGNAh!U+?gDE@qN7os+ojg9;Ci2zgEt&2 zD*5wx1;^RN#dcc))Ya9*#DwBJo9HNn{@Py5iuRslMxNL=IXyG@zQFozqN62p4r+`c z1o(RoG1|jG+OgjLi4M07ty_n4_7RlKIPd!2)};{Z8jTb%1s%#Ifk2Q>jW_A{lCc5D zwMu_s_if(^zjPj_h}?zm5X(EFZpG)C&E%OQ^M^z-`-K9rSWJdn^x6ju?Iw1polzVw z9C|yG@J97$Kdehw_9>QE%hf{|;qD2$Cr}&c&}ne~x;^M0ug1J&bGRdkOASREZ3bz+ zEEPyHZ|K1Kr@!NW01o0G_|E?dN?b`0qAS%Ig2a;j>)VxjffXT>?aQ+*)ltk4YXeL- ziyHd)c6<85Nds;Fxtk!*44YKx-SykJeOToCSUW;wDH4fva=pUktDCziHgm!HgCcv% z7M@Lxw(-5D6vXRrU(6alX(1aUbnguoYv^LOWhDvtz$sYsd-O05Pk|AeS_y1suTwt~ zTrlZ0wz4ulZZ`}Kx%oA=bnEuI0N*KF)QNo+NxLrt({IG4ZPbquWJk)&!GG>$Kp(E| zp*0sbU22S<1oMnU04XW5m6b#QSmzC3Z`HMZCimw9AA&u!bpxgl&5m;;y`)zWlMbC* zfW_tICen+QrKP2nm6gTs0d`=S$B&a2

wKy{|_0DHogD85vH~cTD^%qNmefCfC7r zj)5%;RvJ~~?N{#u9$@|peFGyUWwbwz`EUm73iRK8m9a>Dcc4EJGboY;BfbadrtbmH z8^2f`W&9QkeZ7#FwgoX*d4VmX7sm|XYNmN}}ZnT2Cq)2t(I-lx>f2NE0%b#kn% ztOSzP+1Xi%q#44#abk6C4I0~XS#QQ&G=rwQmi6In>snh|XAv;Dfjf@)^e3R1QVmsQ=E0v)fU@-hxEi=`WlM4a-I6rpW%#zp_gM0F2 zZgKuY>Es2K4<{z132uQ0YH0e@0kz7rDrRMpUEhVx!gtmP0sX{X&iw=5=h#a zym-mOx(v&M;DYJr|CLIUCnKI+ygSLm1?Jk;m4QqakPGb^_K^SV(3tP^v^T~8AZ~0g zm3iP;CS}ITrKKyFMrkI&^GH4yrog4#b9935F9Q4hGU#fjU9Cx zs0btp4!XNqQoEGe0k`mQVwCnpc(=4@`cM%fxm?~8gJkJAlnBnVo{0$N59Hz2OqD`G z0V4f+$A4Z)r<(eXQfd}--}u+#b4wkK%42T&pRU}xJNmS33`Hq^rvdxr!2J+48}K)R ktfgkO@#zz1{SUwfl4of=uquf6u!XYbE<%RDFc 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 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00003.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00003.png index cd2f52759f160c3e2cf6822395ea675b8c84a851..a21279c8a0a89933b09833df3871d1ab2b36adf5 100644 GIT binary patch literal 6108 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 W57z9=w~$rf`uSMM(Z(YQ*Z&KmHGSIv diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00003.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00003.png index cd2f52759f160c3e2cf6822395ea675b8c84a851..a21279c8a0a89933b09833df3871d1ab2b36adf5 100644 GIT binary patch literal 6108 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 W57z9=w~$rf`uSMM(Z(YQ*Z&KmHGSIv From 93ae038906e6af11e3680baf9456b11a9ac02871 Mon Sep 17 00:00:00 2001 From: Maciek Malik Date: Thu, 22 Feb 2024 14:00:39 +0100 Subject: [PATCH 07/16] Add support for Token2022 instructions(extensions). Added: * token2022 program id * ProgramIdToken2022 enum value * switch case to handle token2022 in message and transaction_printer * extension names to the token instruction tag enum --- libsol/common_byte_strings.h | 4 ++ libsol/include/spl/token.h | 81 ++++++++++++++++++++++++++++++ libsol/instruction.c | 4 ++ libsol/instruction.h | 1 + libsol/message.c | 3 ++ libsol/spl_token2022_instruction.c | 14 ++++++ libsol/spl_token2022_instruction.h | 14 ++++++ libsol/spl_token_instruction.c | 43 ++++++++++++++++ libsol/transaction_printers.c | 3 ++ 9 files changed, 167 insertions(+) create mode 100644 libsol/spl_token2022_instruction.c create mode 100644 libsol/spl_token2022_instruction.h diff --git a/libsol/common_byte_strings.h b/libsol/common_byte_strings.h index b38c675b..67e246c4 100644 --- a/libsol/common_byte_strings.h +++ b/libsol/common_byte_strings.h @@ -48,6 +48,10 @@ 0x06, 0xdd, 0xf6, 0xe1, 0xd7, 0x65, 0xa1, 0x93, 0xd9, 0xcb, 0xe1, 0x46, 0xce, 0xeb, 0x79, \ 0xac, 0x1c, 0xb4, 0x85, 0xed, 0x5f, 0x5b, 0x37, 0x91, 0x3a, 0x8c, 0xf5, 0x85, 0x7e, 0xff, \ 0x00, 0xa9 +#define PROGRAM_ID_SPL_TOKEN_2022 /* TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb */ \ + 0x06, 0xdd, 0xf6, 0xe1, 0xee, 0x75, 0x8f, 0xde, 0x18, 0x42, 0x5d, 0xbc, 0xe4, 0x6c, 0xcd, \ + 0xda, 0xb6, 0x1a, 0xfc, 0x4d, 0x83, 0xb9, 0x0d, 0x27, 0xfe, 0xbd, 0xf9, 0x28, 0xd8, 0xa1, \ + 0x8b, 0xfc #define PROGRAM_ID_SYSTEM BYTES32_BS58_1 #define PROGRAM_ID_STAKE /* "Stake11111111111111111111111111111111111111" */ \ 0x06, 0xa1, 0xd8, 0x17, 0x91, 0x37, 0x54, 0x2a, 0x98, 0x34, 0x37, 0xbd, 0xfe, 0x2a, 0x7a, \ diff --git a/libsol/include/spl/token.h b/libsol/include/spl/token.h index 857ceff0..f4245f02 100644 --- a/libsol/include/spl/token.h +++ b/libsol/include/spl/token.h @@ -100,6 +100,8 @@ typedef struct Token_COption_Pubkey { /** * Instructions supported by the token program. + * List is compliant with the program source code at: + * https://github.com/solana-labs/solana-program-library/blob/master/token/program-2022/src/instruction.rs */ typedef enum Token_TokenInstruction_Tag { /** @@ -439,6 +441,85 @@ typedef enum Token_TokenInstruction_Tag { * 0. `[writable]` The native token account to sync with its underlying lamports. */ Token_TokenInstruction_SyncNative, + + /** + * The common instruction prefix for Transfer Fee extension instructions. + * See `extension::transfer_fee::instruction::TransferFeeInstruction` for + * further details about the extended instructions that share this + * instruction prefix + */ + Token_TokenExtensionInstruction_TransferFeeExtension = 26, + + /** + * The common instruction prefix for Confidential Transfer extension instructions. + * See `extension::confidential_transfer::instruction::ConfidentialTransferInstruction` for + * further details about the extended instructions that share this + * instruction prefix + */ + Token_TokenExtensionInstruction_ConfidentialTransferExtension = 27, + + /** + * The common instruction prefix for Default Account State extension instructions. + * See `extension::default_account_state::instruction::DefaultAccountStateInstruction` for + * further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_DefaultAccountStateExtension = 28, + + /** + * The common instruction prefix for Memo Transfer account extension instructions. + * See `extension::memo_transfer::instruction::RequiredMemoTransfersInstruction` for + * further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_MemoTransferExtension = 30, + + /** + * The common instruction prefix for Interest Bearing extension instructions. + * See `extension::interest_bearing_mint::instruction::InterestBearingMintInstruction` for + * further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_InterestBearingMintExtension = 33, + + /** + * The common instruction prefix for CPI Guard account extension instructions. + * See `extension::cpi_guard::instruction::CpiGuardInstruction` for + * further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_CpiGuardExtension = 34, + + /** + * The common instruction prefix for transfer hook extension instructions. + * See `extension::transfer_hook::instruction::TransferHookInstruction` + * for further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_TransferHookExtension = 36, + + /** + * The common instruction prefix for the confidential transfer fee extension instructions. + * See `extension::confidential_transfer_fee::instruction::ConfidentialTransferFeeInstruction` + * for further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_ConfidentialTransferFeeExtension = 37, + + /** + * The common instruction prefix for metadata pointer extension instructions. + * See `extension::metadata_pointer::instruction::MetadataPointerInstruction` + * for further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_MetadataPointerExtension = 39, + + /** + * The common instruction prefix for group pointer extension instructions. + * See `extension::group_pointer::instruction::GroupPointerInstruction` + * for further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_GroupPointerExtension = 40, + + /** + * The common instruction prefix for group member pointer extension instructions. + * See `extension::group_member_pointer::instruction::GroupMemberPointerInstruction` + * for further details about the extended instructions that share this instruction prefix + */ + Token_TokenExtensionInstruction_GroupMemberPointerExtension = 41 } Token_TokenInstruction_Tag; typedef struct Token_TokenInstruction_Token_InitializeMint_Body { diff --git a/libsol/instruction.c b/libsol/instruction.c index fa9f2c70..db885191 100644 --- a/libsol/instruction.c +++ b/libsol/instruction.c @@ -2,6 +2,7 @@ #include "serum_assert_owner_instruction.h" #include "spl_memo_instruction.h" #include "spl_token_instruction.h" +#include "spl_token2022_instruction.h" #include "compute_budget_instruction.h" #include "stake_instruction.h" #include "system_instruction.h" @@ -18,6 +19,8 @@ enum ProgramId instruction_program_id(const Instruction* instruction, const Mess return ProgramIdVote; } else if (memcmp(program_id, &spl_token_program_id, PUBKEY_SIZE) == 0) { return ProgramIdSplToken; + } else if(memcmp(program_id, &spl_token2022_program_id, PUBKEY_SIZE) == 0) { + return ProgramIdToken2022; } else if (memcmp(program_id, &spl_associated_token_account_program_id, PUBKEY_SIZE) == 0) { return ProgramIdSplAssociatedTokenAccount; } else if (is_serum_assert_owner_program_id(program_id)) { @@ -50,6 +53,7 @@ bool instruction_info_matches_brief(const InstructionInfo* info, const Instructi return true; case ProgramIdComputeBudget: return (brief->compute_budget == info->compute_budget.kind); + case ProgramIdToken2022: case ProgramIdSplToken: return (brief->spl_token == info->spl_token.kind); case ProgramIdStake: diff --git a/libsol/instruction.h b/libsol/instruction.h index 34edd94d..17169647 100644 --- a/libsol/instruction.h +++ b/libsol/instruction.h @@ -15,6 +15,7 @@ enum ProgramId { ProgramIdSystem, ProgramIdVote, ProgramIdSplToken, + ProgramIdToken2022, ProgramIdSplAssociatedTokenAccount, ProgramIdSplMemo, ProgramIdSerumAssertOwner, diff --git a/libsol/message.c b/libsol/message.c index 77180c36..443ecc1c 100644 --- a/libsol/message.c +++ b/libsol/message.c @@ -57,6 +57,7 @@ int process_message_body(const uint8_t* message_body, info->kind = program_id; break; } + case ProgramIdToken2022: case ProgramIdSplToken: if (parse_spl_token_instructions(&instruction, header, &info->spl_token) == 0) { info->kind = program_id; @@ -99,6 +100,8 @@ int process_message_body(const uint8_t* message_body, case ProgramIdUnknown: display_instruction_info[display_instruction_count++] = info; break; + //Currently we don't display these instructions + case ProgramIdToken2022: // Ignored instructions case ProgramIdSerumAssertOwner: case ProgramIdSplMemo: diff --git a/libsol/spl_token2022_instruction.c b/libsol/spl_token2022_instruction.c new file mode 100644 index 00000000..5feae07c --- /dev/null +++ b/libsol/spl_token2022_instruction.c @@ -0,0 +1,14 @@ +#include "spl_token2022_instruction.h" +#include "sol/print_config.h" +#include "common_byte_strings.h" + + +const Pubkey spl_token2022_program_id = {{PROGRAM_ID_SPL_TOKEN_2022}}; + + +/** + * Use current printers from spl token when single instruction is passed + */ +int print_token2022_info(const SplTokenInfo* info, const PrintConfig* print_config){ + return print_spl_token_info(info, print_config); +} \ No newline at end of file diff --git a/libsol/spl_token2022_instruction.h b/libsol/spl_token2022_instruction.h new file mode 100644 index 00000000..716bedf6 --- /dev/null +++ b/libsol/spl_token2022_instruction.h @@ -0,0 +1,14 @@ +#pragma once + +#include "sol/parser.h" +#include "sol/print_config.h" +#include "sol/transaction_summary.h" +#include "spl/token.h" +#include "instruction.h" + +#define SplTokenExtensionKind(b) Token_TokenExtensionInstruction_##b + +extern const Pubkey spl_token2022_program_id; + + +int print_token2022_info(const SplTokenInfo* info, const PrintConfig* print_config); diff --git a/libsol/spl_token_instruction.c b/libsol/spl_token_instruction.c index 91d8c4d8..be8e3ad7 100644 --- a/libsol/spl_token_instruction.c +++ b/libsol/spl_token_instruction.c @@ -3,6 +3,7 @@ #include "sol/parser.h" #include "sol/transaction_summary.h" #include "spl_token_instruction.h" +#include "spl_token2022_instruction.h" #include "token_info.h" #include "util.h" @@ -26,6 +27,19 @@ static int parse_spl_token_instruction_kind(Parser* parser, SplTokenInstructionK case SplTokenKind(FreezeAccount): case SplTokenKind(ThawAccount): case SplTokenKind(SyncNative): + + //Token2022 extensions + case SplTokenExtensionKind(TransferFeeExtension): + case SplTokenExtensionKind(ConfidentialTransferExtension): + case SplTokenExtensionKind(DefaultAccountStateExtension): + case SplTokenExtensionKind(MemoTransferExtension): + case SplTokenExtensionKind(InterestBearingMintExtension): + case SplTokenExtensionKind(CpiGuardExtension): + case SplTokenExtensionKind(TransferHookExtension): + case SplTokenExtensionKind(ConfidentialTransferFeeExtension): + case SplTokenExtensionKind(MetadataPointerExtension): + case SplTokenExtensionKind(GroupPointerExtension): + case SplTokenExtensionKind(GroupMemberPointerExtension): *kind = (SplTokenInstructionKind) maybe_kind; return 0; // Deprecated instructions @@ -392,6 +406,21 @@ int parse_spl_token_instructions(const Instruction* instruction, return parse_burn_spl_token_instruction(&parser, instruction, header, &info->burn); case SplTokenKind(SyncNative): return parse_sync_native_spl_token_instruction(instruction, header, &info->sync_native); + + //Currently we do not need to parse these extensions in any way + case SplTokenExtensionKind(TransferFeeExtension): + case SplTokenExtensionKind(ConfidentialTransferExtension): + case SplTokenExtensionKind(DefaultAccountStateExtension): + case SplTokenExtensionKind(MemoTransferExtension): + case SplTokenExtensionKind(InterestBearingMintExtension): + case SplTokenExtensionKind(CpiGuardExtension): + case SplTokenExtensionKind(TransferHookExtension): + case SplTokenExtensionKind(ConfidentialTransferFeeExtension): + case SplTokenExtensionKind(MetadataPointerExtension): + case SplTokenExtensionKind(GroupPointerExtension): + case SplTokenExtensionKind(GroupMemberPointerExtension): + return 0; + // Deprecated instructions case SplTokenKind(Transfer): case SplTokenKind(Approve): @@ -724,6 +753,20 @@ int print_spl_token_info(const SplTokenInfo* info, const PrintConfig* print_conf return print_spl_token_burn_info(&info->burn, print_config); case SplTokenKind(SyncNative): return print_spl_token_sync_native_info(&info->sync_native, print_config); + + //For now, we don't display any information about the extensions + case SplTokenExtensionKind(TransferFeeExtension): + case SplTokenExtensionKind(ConfidentialTransferExtension): + case SplTokenExtensionKind(DefaultAccountStateExtension): + case SplTokenExtensionKind(MemoTransferExtension): + case SplTokenExtensionKind(InterestBearingMintExtension): + case SplTokenExtensionKind(CpiGuardExtension): + case SplTokenExtensionKind(TransferHookExtension): + case SplTokenExtensionKind(ConfidentialTransferFeeExtension): + case SplTokenExtensionKind(MetadataPointerExtension): + case SplTokenExtensionKind(GroupPointerExtension): + case SplTokenExtensionKind(GroupMemberPointerExtension): + // Deprecated instructions case SplTokenKind(Transfer): case SplTokenKind(Approve): diff --git a/libsol/transaction_printers.c b/libsol/transaction_printers.c index c140ba61..451093a3 100644 --- a/libsol/transaction_printers.c +++ b/libsol/transaction_printers.c @@ -4,6 +4,7 @@ #include "sol/transaction_summary.h" #include "transaction_printers.h" #include "util.h" +#include "spl_token2022_instruction.h" const InstructionBrief nonce_brief[] = { SYSTEM_IX_BRIEF(SystemAdvanceNonceAccount), @@ -544,6 +545,8 @@ static int print_transaction_nonce_processed(const PrintConfig* print_config, return print_stake_info(&(infos[0]->stake), print_config); case ProgramIdVote: return print_vote_info(&(infos[0]->vote), print_config); + case ProgramIdToken2022: + return print_token2022_info(&(infos[0]->spl_token), print_config); case ProgramIdSplToken: return print_spl_token_info(&(infos[0]->spl_token), print_config); case ProgramIdSplAssociatedTokenAccount: From 527df19d1f42d0b87b7378624f1685e34d821da6 Mon Sep 17 00:00:00 2001 From: Maciek Malik Date: Thu, 22 Feb 2024 14:02:15 +0100 Subject: [PATCH 08/16] Added Token2022 unit tests --- libsol/spl_token2022_instruction_test.c | 847 ++++++++++++++++++++++++ 1 file changed, 847 insertions(+) create mode 100644 libsol/spl_token2022_instruction_test.c diff --git a/libsol/spl_token2022_instruction_test.c b/libsol/spl_token2022_instruction_test.c new file mode 100644 index 00000000..f0ead84b --- /dev/null +++ b/libsol/spl_token2022_instruction_test.c @@ -0,0 +1,847 @@ +#include "common_byte_strings.h" +#include "instruction.h" +#include "spl_token2022_instruction.c" +#include +#include +#include +#include "util.h" + +/* + * This file is almost a copy of the spl_token_instruction_test.c file. + * It's main purpose is to test the compatibility of spl_token2022 instructions. + */ + +#define BLOCKHASH BYTES32_BS58_1 +#define MINT_ACCOUNT BYTES32_BS58_2 +#define TOKEN_ACCOUNT BYTES32_BS58_3 +#define OWNER_ACCOUNT BYTES32_BS58_4 +#define MULTISIG_ACCOUNT OWNER_ACCOUNT +#define SIGNER1 BYTES32_BS58_5 +#define SIGNER2 BYTES32_BS58_6 +#define SIGNER3 BYTES32_BS58_7 +#define DEST_ACCOUNT BYTES32_BS58_8 +#define DELEGATE DEST_ACCOUNT +#define NEW_OWNER DEST_ACCOUNT + +void test_parse_spl_token_create_token() { + uint8_t message[] = {2, + 0, + 3, + 5, + OWNER_ACCOUNT, + MINT_ACCOUNT, + SYSVAR_RENT, + PROGRAM_ID_SYSTEM, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 2, + 3, + 2, + 0, + 1, + 52, + 0, + 0, + 0, + 0, + 245, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + PROGRAM_ID_SPL_TOKEN_2022, + 4, + 2, + 1, + 2, + 35, + 0, + 9, + OWNER_ACCOUNT, + 0}; + + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SystemCreateAccount (ignored) + assert(instruction_validate(&instruction, &header) == 0); + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenInitializeMint + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(InitializeMint)); + + const SplTokenInitializeMintInfo* init_mint = &info.initialize_mint; + + const Pubkey mint_account = {{MINT_ACCOUNT}}; + assert_pubkey_equal(init_mint->mint_account, &mint_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(init_mint->mint_authority, &owner); + + assert(init_mint->decimals == 9); + + assert(init_mint->freeze_authority == NULL); +} + +void test_parse_spl_token_create_account() { + uint8_t message[] = { + 0x02, + 0x00, + 0x03, + 0x06, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + MINT_ACCOUNT, + SYSVAR_RENT, + PROGRAM_ID_SYSTEM, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 0x02, + // SystemCreateAccount + 0x04, + 0x02, + 0x00, + 0x01, + 0x34, + 0x00, + 0x00, + 0x00, + 0x00, + 0x80, + 0x56, + 0x1a, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + PROGRAM_ID_SPL_TOKEN_2022, + // SplToken2022InitializeAccount + 0x05, + 0x04, + 0x01, + 0x02, + 0x00, + 0x03, + 0x01, + 0x01, + }; + + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SystemCreateAccount (ignored) + assert(instruction_validate(&instruction, &header) == 0); + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenInitializeAccount + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(InitializeAccount)); + const SplTokenInitializeAccountInfo* init_acc = &info.initialize_account; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(init_acc->token_account, &token_account); + + const Pubkey mint_account = {{MINT_ACCOUNT}}; + assert_pubkey_equal(init_acc->mint_account, &mint_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(init_acc->owner, &owner); +} + + +void test_parse_spl_token_create_account2() { + uint8_t message[] = {0x02, + 0x00, + 0x04, + 0x06, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + MINT_ACCOUNT, + SYSVAR_RENT, + PROGRAM_ID_SYSTEM, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 0x02, + // SystemCreateAccount + 0x04, + 0x02, + 0x00, + 0x01, + 0x34, + 0x00, + 0x00, + 0x00, + 0x00, + 0x80, + 0x56, + 0x1a, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x78, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + PROGRAM_ID_SPL_TOKEN_2022, + // SplTokenInitializeAccount2 + 0x05, + 0x03, + 0x01, + 0x02, + 0x03, + 0x21, + 0x10, + OWNER_ACCOUNT}; + + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SystemCreateAccount (ignored) + assert(instruction_validate(&instruction, &header) == 0); + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenInitializeAccount2 + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(InitializeAccount2)); + const SplTokenInitializeAccountInfo* init_acc = &info.initialize_account; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(init_acc->token_account, &token_account); + + const Pubkey mint_account = {{MINT_ACCOUNT}}; + assert_pubkey_equal(init_acc->mint_account, &mint_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(init_acc->owner, &owner); +} + + +void test_parse_spl_token_create_multisig() { + uint8_t message[] = {2, + 0, + 5, + 8, + OWNER_ACCOUNT, + MULTISIG_ACCOUNT, + SYSVAR_RENT, + SIGNER1, + SIGNER2, + SIGNER3, + PROGRAM_ID_SYSTEM, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 2, + // SystemCreateAccount + 6, + 2, + 0, + 1, + 52, + 0, + 0, + 0, + 0, + 245, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 40, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + PROGRAM_ID_SPL_TOKEN_2022, + // SplTokenInitializeMultisig + 7, + 5, + 1, + 2, + 3, + 4, + 5, + 2, + 2, + 2}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SystemCreateAccount (ignored) + assert(instruction_validate(&instruction, &header) == 0); + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenInitializeMultisig + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(InitializeMultisig)); + const SplTokenInitializeMultisigInfo* init_ms = &info.initialize_multisig; + + assert(init_ms->body.m == 2); + + const Pubkey multisig_account = {{MULTISIG_ACCOUNT}}; + assert_pubkey_equal(init_ms->multisig_account, &multisig_account); + + assert(init_ms->signers.count == 3); + const Pubkey* signer = init_ms->signers.first; + const Pubkey signer1 = {{SIGNER1}}; + assert_pubkey_equal(signer++, &signer1); + const Pubkey signer2 = {{SIGNER2}}; + assert_pubkey_equal(signer++, &signer2); + const Pubkey signer3 = {{SIGNER3}}; + assert_pubkey_equal(signer++, &signer3); +} + + +void test_parse_spl_token_transfer() { + uint8_t message[] = {1, + 0, + 2, + 5, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + DEST_ACCOUNT, + MINT_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 1, + 4, + 4, + 1, + 3, + 2, + 0, + 10, + 12, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenTransfer2 + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(TransferChecked)); + const SplTokenTransferInfo* tr_info = &info.transfer; + + assert(tr_info->body.amount == 42); + assert(tr_info->body.decimals == 9); + + const Pubkey src_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(tr_info->src_account, &src_account); + + const Pubkey dest_account = {{DEST_ACCOUNT}}; + assert_pubkey_equal(tr_info->dest_account, &dest_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(tr_info->sign.single.signer, &owner); + + const Pubkey mint_account = {{MINT_ACCOUNT}}; + assert_pubkey_equal(tr_info->mint_account, &mint_account); +} + + +void test_parse_spl_token_approve() { + uint8_t message[] = {1, + 0, + 2, + 4, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + DEST_ACCOUNT, + BLOCKHASH, + 1, + 2, + 4, + 1, + 2, + 3, + 0, + 10, + 13, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenApprove2 + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(ApproveChecked)); + const SplTokenApproveInfo* ap_info = &info.approve; + + assert(ap_info->body.amount == 42); + assert(ap_info->body.decimals == 9); + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(ap_info->token_account, &token_account); + + const Pubkey delegate = {{DELEGATE}}; + assert_pubkey_equal(ap_info->delegate, &delegate); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(ap_info->sign.single.signer, &owner); + + const Pubkey mint_account = {{PROGRAM_ID_SPL_TOKEN_2022}}; + assert_pubkey_equal(ap_info->mint_account, &mint_account); +} + + +void test_parse_spl_token_revoke() { + uint8_t message[] = {1, + 0, + 2, + 3, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 1, + 2, + 2, + 1, + 0, + 1, + 5}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenRevoke + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(Revoke)); + const SplTokenRevokeInfo* re_info = &info.revoke; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(re_info->token_account, &token_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(re_info->sign.single.signer, &owner); +} + + +void test_parse_spl_token_set_authority() { + uint8_t message[] = {1, + 0, + 1, + 3, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 1, + 2, + 2, + 1, + 0, + 35, + 6, + 2, + 1, + NEW_OWNER}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenSetAuthority + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(SetAuthority)); + const SplTokenSetAuthorityInfo* so_info = &info.set_owner; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(so_info->account, &token_account); + + assert(so_info->authority_type == Token_AuthorityType_AccountOwner); + + const Pubkey new_owner = {{NEW_OWNER}}; + assert_pubkey_equal(so_info->new_authority, &new_owner); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(so_info->sign.single.signer, &owner); +} + + +void test_parse_spl_token_mint_to() { + uint8_t message[] = {1, + 0, + 0, + 3, + OWNER_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + TOKEN_ACCOUNT, + BLOCKHASH, + 1, + 1, + 3, + 1, + 2, + 0, + 10, + 14, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenMintTo2 + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(MintToChecked)); + const SplTokenMintToInfo* mt_info = &info.mint_to; + + assert(mt_info->body.amount == 42); + assert(mt_info->body.decimals == 9); + + const Pubkey mint_account = {{PROGRAM_ID_SPL_TOKEN_2022}}; + assert_pubkey_equal(mt_info->mint_account, &mint_account); + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(mt_info->token_account, &token_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(mt_info->sign.single.signer, &owner); +} + + +void test_parse_spl_token_burn() { + uint8_t message[] = {1, + 0, + 0, + 4, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + MINT_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 1, + 3, + 3, + 1, + 2, + 0, + 10, + 15, + 42, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenBurn + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(BurnChecked)); + const SplTokenBurnInfo* bn_info = &info.burn; + + assert(bn_info->body.amount == 42); + assert(bn_info->body.decimals == 9); + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(bn_info->token_account, &token_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(bn_info->sign.single.signer, &owner); + + const Pubkey mint_account = {{MINT_ACCOUNT}}; + assert_pubkey_equal(bn_info->mint_account, &mint_account); +} + +void test_parse_spl_token_close_account() { + uint8_t message[] = { + 0x01, + 0x00, + 0x01, + 0x03, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 0x01, + // SplTokenCloseAccount + 0x02, + 0x03, + 0x01, + 0x00, + 0x00, + 0x01, + 0x09, + }; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenCloseAccount + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(CloseAccount)); + const SplTokenCloseAccountInfo* close_acc = &info.close_account; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(close_acc->token_account, &token_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(close_acc->dest_account, &owner); + + assert_pubkey_equal(close_acc->sign.single.signer, &owner); +} + +void test_parse_spl_token_freeze_account() { + uint8_t message[] = {1, + 0, + 2, + 4, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + MINT_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 1, + 3, + 3, + 1, + 2, + 0, + 1, + 10}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenFreezeAccount + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(FreezeAccount)); + const SplTokenFreezeAccountInfo* freeze_account = &info.freeze_account; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(freeze_account->token_account, &token_account); + + const Pubkey mint_account = {{MINT_ACCOUNT}}; + assert_pubkey_equal(freeze_account->mint_account, &mint_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(freeze_account->sign.single.signer, &owner); +} + +void test_parse_spl_token_thaw_account() { + uint8_t message[] = {1, + 0, + 2, + 4, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + MINT_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 1, + 3, + 3, + 1, + 2, + 0, + 1, + 11}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenThawAccount + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(ThawAccount)); + const SplTokenThawAccountInfo* thaw_account = &info.thaw_account; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(thaw_account->token_account, &token_account); + + const Pubkey mint_account = {{MINT_ACCOUNT}}; + assert_pubkey_equal(thaw_account->mint_account, &mint_account); + + const Pubkey owner = {{OWNER_ACCOUNT}}; + assert_pubkey_equal(thaw_account->sign.single.signer, &owner); +} + +void test_parse_spl_token_sync_native() { + uint8_t message[] = {1, + 0, + 1, + 4, + OWNER_ACCOUNT, + TOKEN_ACCOUNT, + PROGRAM_ID_SPL_TOKEN_2022, + BLOCKHASH, + 1, + 2, + 1, + 1, + 1, + 17}; + Parser parser = {message, sizeof(message)}; + MessageHeader header; + assert(parse_message_header(&parser, &header) == 0); + + Instruction instruction; + assert(parse_instruction(&parser, &instruction) == 0); // SplTokenSyncNative + assert(instruction_validate(&instruction, &header) == 0); + + SplTokenInfo info; + assert(parse_spl_token_instructions(&instruction, &header, &info) == 0); + assert(parser.buffer_length == 0); + + assert(info.kind == SplTokenKind(SyncNative)); + const SplTokenSyncNativeInfo* sync_native = &info.sync_native; + + const Pubkey token_account = {{TOKEN_ACCOUNT}}; + assert_pubkey_equal(sync_native->token_account, &token_account); +} + + +int main(){ + + test_parse_spl_token_create_token(); + test_parse_spl_token_create_account(); + test_parse_spl_token_create_account2(); + test_parse_spl_token_create_multisig(); + test_parse_spl_token_transfer(); + test_parse_spl_token_approve(); + test_parse_spl_token_revoke(); + test_parse_spl_token_set_authority(); + test_parse_spl_token_mint_to(); + test_parse_spl_token_burn(); + test_parse_spl_token_close_account(); + test_parse_spl_token_freeze_account(); + test_parse_spl_token_thaw_account(); + + printf("passed\n"); + return 0; +} \ No newline at end of file From 2d4f80536d99bdd5feec028ff77fe3bb43fccac0 Mon Sep 17 00:00:00 2001 From: Sarah Gliner <105934250+sgliner-ledger@users.noreply.github.com> Date: Tue, 27 Feb 2024 17:24:10 +0100 Subject: [PATCH 09/16] [auto] Update screenshot --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 98b720fe..f2fb620f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,5 +4,5 @@ - [ ] Target branch is `develop` - [ ] Application version has been bumped - From 5d6fdac269dd4c70d933dcd2917e27b7d746b9df Mon Sep 17 00:00:00 2001 From: Maciek Malik Date: Mon, 18 Mar 2024 22:49:39 +0100 Subject: [PATCH 10/16] Fix invalid handling of the Token2022 instructions. Remove separate Token2022 program id. --- libsol/instruction.c | 3 +-- libsol/instruction.h | 1 - libsol/message.c | 3 --- libsol/spl_token2022_instruction.c | 9 --------- libsol/spl_token2022_instruction.h | 2 -- libsol/transaction_printers.c | 3 --- 6 files changed, 1 insertion(+), 20 deletions(-) diff --git a/libsol/instruction.c b/libsol/instruction.c index db885191..4c8709a9 100644 --- a/libsol/instruction.c +++ b/libsol/instruction.c @@ -20,7 +20,7 @@ enum ProgramId instruction_program_id(const Instruction* instruction, const Mess } else if (memcmp(program_id, &spl_token_program_id, PUBKEY_SIZE) == 0) { return ProgramIdSplToken; } else if(memcmp(program_id, &spl_token2022_program_id, PUBKEY_SIZE) == 0) { - return ProgramIdToken2022; + return ProgramIdSplToken;//Treat the Token2022 exactly the same as the SplToken } else if (memcmp(program_id, &spl_associated_token_account_program_id, PUBKEY_SIZE) == 0) { return ProgramIdSplAssociatedTokenAccount; } else if (is_serum_assert_owner_program_id(program_id)) { @@ -53,7 +53,6 @@ bool instruction_info_matches_brief(const InstructionInfo* info, const Instructi return true; case ProgramIdComputeBudget: return (brief->compute_budget == info->compute_budget.kind); - case ProgramIdToken2022: case ProgramIdSplToken: return (brief->spl_token == info->spl_token.kind); case ProgramIdStake: diff --git a/libsol/instruction.h b/libsol/instruction.h index 17169647..34edd94d 100644 --- a/libsol/instruction.h +++ b/libsol/instruction.h @@ -15,7 +15,6 @@ enum ProgramId { ProgramIdSystem, ProgramIdVote, ProgramIdSplToken, - ProgramIdToken2022, ProgramIdSplAssociatedTokenAccount, ProgramIdSplMemo, ProgramIdSerumAssertOwner, diff --git a/libsol/message.c b/libsol/message.c index 443ecc1c..77180c36 100644 --- a/libsol/message.c +++ b/libsol/message.c @@ -57,7 +57,6 @@ int process_message_body(const uint8_t* message_body, info->kind = program_id; break; } - case ProgramIdToken2022: case ProgramIdSplToken: if (parse_spl_token_instructions(&instruction, header, &info->spl_token) == 0) { info->kind = program_id; @@ -100,8 +99,6 @@ int process_message_body(const uint8_t* message_body, case ProgramIdUnknown: display_instruction_info[display_instruction_count++] = info; break; - //Currently we don't display these instructions - case ProgramIdToken2022: // Ignored instructions case ProgramIdSerumAssertOwner: case ProgramIdSplMemo: diff --git a/libsol/spl_token2022_instruction.c b/libsol/spl_token2022_instruction.c index 5feae07c..8d882d9d 100644 --- a/libsol/spl_token2022_instruction.c +++ b/libsol/spl_token2022_instruction.c @@ -1,14 +1,5 @@ -#include "spl_token2022_instruction.h" #include "sol/print_config.h" #include "common_byte_strings.h" const Pubkey spl_token2022_program_id = {{PROGRAM_ID_SPL_TOKEN_2022}}; - - -/** - * Use current printers from spl token when single instruction is passed - */ -int print_token2022_info(const SplTokenInfo* info, const PrintConfig* print_config){ - return print_spl_token_info(info, print_config); -} \ No newline at end of file diff --git a/libsol/spl_token2022_instruction.h b/libsol/spl_token2022_instruction.h index 716bedf6..d30e7505 100644 --- a/libsol/spl_token2022_instruction.h +++ b/libsol/spl_token2022_instruction.h @@ -10,5 +10,3 @@ extern const Pubkey spl_token2022_program_id; - -int print_token2022_info(const SplTokenInfo* info, const PrintConfig* print_config); diff --git a/libsol/transaction_printers.c b/libsol/transaction_printers.c index 451093a3..c140ba61 100644 --- a/libsol/transaction_printers.c +++ b/libsol/transaction_printers.c @@ -4,7 +4,6 @@ #include "sol/transaction_summary.h" #include "transaction_printers.h" #include "util.h" -#include "spl_token2022_instruction.h" const InstructionBrief nonce_brief[] = { SYSTEM_IX_BRIEF(SystemAdvanceNonceAccount), @@ -545,8 +544,6 @@ static int print_transaction_nonce_processed(const PrintConfig* print_config, return print_stake_info(&(infos[0]->stake), print_config); case ProgramIdVote: return print_vote_info(&(infos[0]->vote), print_config); - case ProgramIdToken2022: - return print_token2022_info(&(infos[0]->spl_token), print_config); case ProgramIdSplToken: return print_spl_token_info(&(infos[0]->spl_token), print_config); case ProgramIdSplAssociatedTokenAccount: From 211877988f2229927e6be41e35f254114c605785 Mon Sep 17 00:00:00 2001 From: Maciek Malik <142581992+0xMMBD@users.noreply.github.com> Date: Fri, 29 Mar 2024 16:57:42 +0100 Subject: [PATCH 11/16] Add compute budget support (#7) * Added support for compute budget instructions: * request heap frame * set compute unit price * request units * set compute unit limit * added unit tests Co-authored-by: Piotr Swierzy --- libsol/common_byte_strings.h | 5 ++ libsol/compute_budget_instruction.c | 99 ++++++++++++++++++++++ libsol/compute_budget_instruction.h | 45 ++++++++++ libsol/compute_budget_instruction_test.c | 73 ++++++++++++++++ libsol/instruction.c | 5 ++ libsol/instruction.h | 4 + libsol/instruction_test.c | 76 +++++++++++++++++ libsol/message.c | 11 ++- libsol/message_test.c | 103 ++++++++++++++++++++++- libsol/transaction_printers.c | 16 ++++ libsol/transaction_summary.c | 1 - libsol/transaction_summary_test.c | 1 + 12 files changed, 435 insertions(+), 4 deletions(-) create mode 100644 libsol/compute_budget_instruction.c create mode 100644 libsol/compute_budget_instruction.h create mode 100644 libsol/compute_budget_instruction_test.c diff --git a/libsol/common_byte_strings.h b/libsol/common_byte_strings.h index 7afeeda1..b38c675b 100644 --- a/libsol/common_byte_strings.h +++ b/libsol/common_byte_strings.h @@ -77,6 +77,11 @@ 0x7c, 0x7c, 0x35, 0xb5, 0xdd, 0xbc, 0x92, 0xbb, 0x81, 0xe4, 0x1f, 0xa8, 0x40, 0x41, 0x05, \ 0x44, 0x8d +#define PROGRAM_ID_COMPUTE_BUDGET /* "ComputeBudget111111111111111111111111111111" */ \ + 0x03, 0x06, 0x46, 0x6f, 0xe5, 0x21, 0x17, 0x32, 0xff, 0xec, 0xad, 0xba, 0x72, 0xc3, \ + 0x9b, 0xe7, 0xbc, 0x8c, 0xe5, 0xbb, 0xc5, 0xf7, 0x12, 0x6b, 0x2c, 0x43, 0x9b, 0x3a, 0x40, 0x00, \ + 0x00, 0x00 + // Sysvars #define SYSVAR_RENT /* "SysvarRent111111111111111111111111111111111" */ \ diff --git a/libsol/compute_budget_instruction.c b/libsol/compute_budget_instruction.c new file mode 100644 index 00000000..bb06dd4a --- /dev/null +++ b/libsol/compute_budget_instruction.c @@ -0,0 +1,99 @@ +#include "compute_budget_instruction.h" +#include "sol/transaction_summary.h" + +const Pubkey compute_budget_program_id = {{PROGRAM_ID_COMPUTE_BUDGET}}; + +static int parse_compute_budget_instruction_kind(Parser* parser, + enum ComputeBudgetInstructionKind* kind) { + uint8_t maybe_kind; + BAIL_IF(parse_u8(parser, &maybe_kind)); + switch (maybe_kind) { + case ComputeBudgetRequestHeapFrame: + case ComputeBudgetChangeUnitLimit: + case ComputeBudgetChangeUnitPrice: + case ComputeBudgetSetLoadedAccountsDataSizeLimit: + *kind = (enum ComputeBudgetInstructionKind) maybe_kind; + return 0; + default: + return 1; + } +} + +static int parse_request_heap_frame_instruction(Parser* parser, + ComputeBudgetRequestHeapFrameInfo* info) { + BAIL_IF(parse_u32(parser, &info->bytes)); + + return 0; +} + +static int parse_unit_limit_instruction(Parser* parse, ComputeBudgetChangeUnitLimitInfo* info) { + BAIL_IF(parse_u32(parse, &info->units)); + + return 0; +} + +static int parse_unit_price_instruction(Parser* parse, ComputeBudgetChangeUnitPriceInfo* info) { + BAIL_IF(parse_u64(parse, &info->units)); + + return 0; +} + +static int parse_loaded_accounts_data_size_limit(Parser* parse, ComputeBudgetSetLoadedAccountsDataSizeLimitInfo* info) { + BAIL_IF(parse_u32(parse, &info->units)); + + return 0; +} + +static int print_compute_budget_unit_price(ComputeBudgetChangeUnitPriceInfo* info, const PrintConfig* print_config) { + UNUSED(print_config); + + SummaryItem* item; + + item = transaction_summary_general_item(); + summary_item_set_u64(item, "Unit price", info->units); + + return 0; +} + +static int print_compute_budget_unit_limit(ComputeBudgetChangeUnitLimitInfo* info, const PrintConfig* print_config) { + UNUSED(print_config); + + SummaryItem* item; + + item = transaction_summary_general_item(); + summary_item_set_u64(item, "Unit limit", info->units); + + return 0; +} + +int print_compute_budget(ComputeBudgetInfo* info, const PrintConfig* print_config) { + switch (info->kind) { + case ComputeBudgetChangeUnitLimit: + return print_compute_budget_unit_limit(&info->change_unit_limit, print_config); + case ComputeBudgetChangeUnitPrice: + return print_compute_budget_unit_price(&info->change_unit_price, print_config); + case ComputeBudgetRequestHeapFrame: + case ComputeBudgetSetLoadedAccountsDataSizeLimit: + break; + } + return 1; +} + +int parse_compute_budget_instructions(const Instruction* instruction, ComputeBudgetInfo* info) { + Parser parser = {instruction->data, instruction->data_length}; + + BAIL_IF(parse_compute_budget_instruction_kind(&parser, &info->kind)); + + switch (info->kind) { + case ComputeBudgetRequestHeapFrame: + return parse_request_heap_frame_instruction(&parser, &info->request_heap_frame); + case ComputeBudgetChangeUnitLimit: + return parse_unit_limit_instruction(&parser, &info->change_unit_limit); + case ComputeBudgetChangeUnitPrice: + return parse_unit_price_instruction(&parser, &info->change_unit_price); + case ComputeBudgetSetLoadedAccountsDataSizeLimit: + return parse_loaded_accounts_data_size_limit(&parser, &info->set_loaded_accounts_data_size_limit); + default: + return 1; + } +} diff --git a/libsol/compute_budget_instruction.h b/libsol/compute_budget_instruction.h new file mode 100644 index 00000000..3648da0c --- /dev/null +++ b/libsol/compute_budget_instruction.h @@ -0,0 +1,45 @@ +#pragma once + +#include "common_byte_strings.h" +#include "util.h" +#include "sol/parser.h" +#include "sol/print_config.h" + +extern const Pubkey compute_budget_program_id; + +enum ComputeBudgetInstructionKind { + ComputeBudgetRequestHeapFrame = 1, + ComputeBudgetChangeUnitLimit, + ComputeBudgetChangeUnitPrice, + ComputeBudgetSetLoadedAccountsDataSizeLimit +}; + +typedef struct ComputeBudgetRequestHeapFrameInfo { + uint32_t bytes; +} ComputeBudgetRequestHeapFrameInfo; + +typedef struct ComputeBudgetChangeUnitLimitInfo { + uint32_t units; +} ComputeBudgetChangeUnitLimitInfo; + +typedef struct ComputeBudgetChangeUnitPriceInfo { + uint64_t units; +} ComputeBudgetChangeUnitPriceInfo; + +typedef struct ComputeBudgetSetLoadedAccountsDataSizeLimitInfo{ + uint32_t units; +} ComputeBudgetSetLoadedAccountsDataSizeLimitInfo; + +typedef struct ComputeBudgetInfo { + enum ComputeBudgetInstructionKind kind; + union { + ComputeBudgetRequestHeapFrameInfo request_heap_frame; + ComputeBudgetChangeUnitLimitInfo change_unit_limit; + ComputeBudgetChangeUnitPriceInfo change_unit_price; + ComputeBudgetSetLoadedAccountsDataSizeLimitInfo set_loaded_accounts_data_size_limit; + }; +} ComputeBudgetInfo; + +int parse_compute_budget_instructions(const Instruction* instruction, ComputeBudgetInfo* info); + +int print_compute_budget(ComputeBudgetInfo* info, const PrintConfig* print_config); diff --git a/libsol/compute_budget_instruction_test.c b/libsol/compute_budget_instruction_test.c new file mode 100644 index 00000000..26e51644 --- /dev/null +++ b/libsol/compute_budget_instruction_test.c @@ -0,0 +1,73 @@ +#include "compute_budget_instruction.c" +#include "sol/parser.h" +#include +#include + +void test_parse_compute_budget_instruction_kind() { + uint8_t message[] = {1, 2, 3, 4}; + + enum ComputeBudgetInstructionKind instruction_kind_target; + + Parser parser = {message, sizeof(message)}; + + // ComputeBudgetRequestHeapFrame + assert(parse_compute_budget_instruction_kind(&parser, &instruction_kind_target) == 0); + assert(instruction_kind_target == ComputeBudgetRequestHeapFrame); + + // ComputeBudgetChangeUnitLimit + assert(parse_compute_budget_instruction_kind(&parser, &instruction_kind_target) == 0); + assert(instruction_kind_target == ComputeBudgetChangeUnitLimit); + + // ComputeBudgetChangeUnitPrice + assert(parse_compute_budget_instruction_kind(&parser, &instruction_kind_target) == 0); + assert(instruction_kind_target == ComputeBudgetChangeUnitPrice); + + // ComputeBudgetSetLoadedAccountsDataSizeLimit + assert(parse_compute_budget_instruction_kind(&parser, &instruction_kind_target) == 0); + assert(instruction_kind_target == ComputeBudgetSetLoadedAccountsDataSizeLimit); + + // Buffer empty, should fail + // parse_u8 should return 1 + assert(parse_compute_budget_instruction_kind(&parser, &instruction_kind_target) == 1); +} + +/** + * Buffer with invalid data should return error and not modify passed *kind pointer + */ +void test_parse_compute_budget_instruction_kind_invalid() { + uint8_t message[] = {0x21, 0x37}; + + enum ComputeBudgetInstructionKind instruction_kind_target = 0; + + Parser parser = {message, sizeof(message)}; + + // instruction kind not found with given value + assert(parse_compute_budget_instruction_kind(&parser, &instruction_kind_target) == 1); + assert(instruction_kind_target == 0); // instruction_kind_target is not modified +} + +/** + * Test parsing instruction kind. + * Code execution should not get to the switch statement + */ +void test_parse_compute_budget_instructions_invalid_kind() { + uint8_t message[] = {5}; + + Instruction instruction = {.data = message, + .data_length = sizeof(message), + .accounts_length = 0}; + ComputeBudgetInfo info; + + int result = parse_compute_budget_instructions(&instruction, &info); + + assert(result == 1); // Invalid instruction kind for ComputeBudget program +} + +int main() { + test_parse_compute_budget_instruction_kind(); + test_parse_compute_budget_instruction_kind_invalid(); + test_parse_compute_budget_instructions_invalid_kind(); + + printf("passed\n"); + return 0; +} \ No newline at end of file diff --git a/libsol/instruction.c b/libsol/instruction.c index 1ea7a84e..fa9f2c70 100644 --- a/libsol/instruction.c +++ b/libsol/instruction.c @@ -2,6 +2,7 @@ #include "serum_assert_owner_instruction.h" #include "spl_memo_instruction.h" #include "spl_token_instruction.h" +#include "compute_budget_instruction.h" #include "stake_instruction.h" #include "system_instruction.h" #include "util.h" @@ -23,6 +24,8 @@ enum ProgramId instruction_program_id(const Instruction* instruction, const Mess return ProgramIdSerumAssertOwner; } else if (memcmp(program_id, &spl_memo_program_id, PUBKEY_SIZE) == 0) { return ProgramIdSplMemo; + } else if (memcmp(program_id, &compute_budget_program_id, PUBKEY_SIZE) == 0) { + return ProgramIdComputeBudget; } return ProgramIdUnknown; @@ -45,6 +48,8 @@ bool instruction_info_matches_brief(const InstructionInfo* info, const Instructi return true; case ProgramIdSplMemo: return true; + case ProgramIdComputeBudget: + return (brief->compute_budget == info->compute_budget.kind); case ProgramIdSplToken: return (brief->spl_token == info->spl_token.kind); case ProgramIdStake: diff --git a/libsol/instruction.h b/libsol/instruction.h index b0d4fe40..34edd94d 100644 --- a/libsol/instruction.h +++ b/libsol/instruction.h @@ -6,6 +6,7 @@ #include "stake_instruction.h" #include "system_instruction.h" #include "vote_instruction.h" +#include "compute_budget_instruction.h" #include enum ProgramId { @@ -17,6 +18,7 @@ enum ProgramId { ProgramIdSplAssociatedTokenAccount, ProgramIdSplMemo, ProgramIdSerumAssertOwner, + ProgramIdComputeBudget }; typedef struct InstructionInfo { @@ -27,6 +29,7 @@ typedef struct InstructionInfo { StakeInfo stake; SystemInfo system; VoteInfo vote; + ComputeBudgetInfo compute_budget; }; } InstructionInfo; @@ -41,6 +44,7 @@ typedef struct InstructionBrief { enum SystemInstructionKind system; enum StakeInstructionKind stake; enum VoteInstructionKind vote; + enum ComputeBudgetInstructionKind compute_budget; }; } InstructionBrief; diff --git a/libsol/instruction_test.c b/libsol/instruction_test.c index 5ab0b128..63838f28 100644 --- a/libsol/instruction_test.c +++ b/libsol/instruction_test.c @@ -1,6 +1,8 @@ #include "common_byte_strings.h" #include "instruction.h" #include "sol/parser.h" +#include "spl_memo_instruction.h" +#include "compute_budget_instruction.h" #include "stake_instruction.h" #include "system_instruction.h" #include "util.h" @@ -8,6 +10,34 @@ #include #include +void test_instruction_program_id_compute_budget() { + Pubkey program_id; + memcpy(&program_id, &compute_budget_program_id, PUBKEY_SIZE); + Instruction instruction = {0, NULL, 0, NULL, 0}; + { + MessageHeader header = {false, 0, {0, 0, 0, 1}, &program_id, NULL, 1}; + assert(instruction_program_id(&instruction, &header) == ProgramIdComputeBudget); + } + { + MessageHeader header = {true, 0, {0, 0, 0, 1}, &program_id, NULL, 1}; + assert(instruction_program_id(&instruction, &header) == ProgramIdComputeBudget); + } +} + +void test_instruction_program_id_spl_memo() { + Pubkey program_id; + memcpy(&program_id, &spl_memo_program_id, PUBKEY_SIZE); + Instruction instruction = {0, NULL, 0, NULL, 0}; + { + MessageHeader header = {false, 0, {0, 0, 0, 1}, &program_id, NULL, 1}; + assert(instruction_program_id(&instruction, &header) == ProgramIdSplMemo); + } + { + MessageHeader header = {true, 0, {0, 0, 0, 1}, &program_id, NULL, 1}; + assert(instruction_program_id(&instruction, &header) == ProgramIdSplMemo); + } +} + void test_instruction_program_id_system() { Pubkey program_id; memcpy(&program_id, &system_program_id, PUBKEY_SIZE); @@ -110,6 +140,48 @@ void test_static_brief_initializer_macros() { assert(memcmp(&stake_test, &stake_expect, sizeof(InstructionBrief)) == 0); } +void test_instruction_info_matches_brief_constants(){ + { + InstructionInfo info = {.kind = ProgramIdSerumAssertOwner}; + InstructionBrief brief_pass = {.program_id = ProgramIdSerumAssertOwner}; + assert(instruction_info_matches_brief(&info, &brief_pass)); + } + + { + InstructionInfo info = {.kind = ProgramIdSplAssociatedTokenAccount}; + InstructionBrief brief_pass = {.program_id = ProgramIdSplAssociatedTokenAccount}; + assert(instruction_info_matches_brief(&info, &brief_pass)); + } + + { + InstructionInfo info = {.kind = ProgramIdSplMemo}; + InstructionBrief brief_pass = {.program_id = ProgramIdSplMemo}; + assert(instruction_info_matches_brief(&info, &brief_pass)); + } +} + +void test_instruction_compute_budget_matches_brief(){ + InstructionInfo info = { + .kind = ProgramIdComputeBudget, + .compute_budget = { + .kind = ComputeBudgetChangeUnitLimit, + .change_unit_price = {.units = 0xAABBCCDD} + } + }; + + { + InstructionBrief brief_pass = {.program_id = ProgramIdComputeBudget, + .compute_budget = ComputeBudgetChangeUnitLimit}; + assert(instruction_info_matches_brief(&info, &brief_pass)); + } + + { + InstructionBrief brief_fail = {.program_id = ProgramIdComputeBudget, + .compute_budget = ComputeBudgetRequestHeapFrame}; + assert(!instruction_info_matches_brief(&info, &brief_fail)); + } +} + void test_instruction_info_matches_brief() { InstructionInfo info = { .kind = ProgramIdSystem, @@ -218,6 +290,10 @@ int main() { test_instruction_info_matches_brief(); test_instruction_infos_match_briefs(); test_instruction_accounts_iterator_next(); + test_instruction_program_id_spl_memo(); + test_instruction_program_id_compute_budget(); + test_instruction_info_matches_brief_constants(); + test_instruction_compute_budget_matches_brief(); printf("passed\n"); return 0; diff --git a/libsol/message.c b/libsol/message.c index 620ea244..77180c36 100644 --- a/libsol/message.c +++ b/libsol/message.c @@ -1,5 +1,4 @@ #include "instruction.h" -#include "serum_assert_owner_instruction.h" #include "sol/parser.h" #include "sol/message.h" #include "sol/print_config.h" @@ -10,6 +9,7 @@ #include "vote_instruction.h" #include "transaction_printers.h" #include "util.h" +#include "compute_budget_instruction.h" #include #define MAX_INSTRUCTIONS 4 @@ -53,7 +53,7 @@ int process_message_body(const uint8_t* message_body, break; } case ProgramIdSplMemo: { - // SPL Memo only has one instruction and we ignore it for now + // SPL Memo only has one instruction, and we ignore it for now info->kind = program_id; break; } @@ -80,6 +80,12 @@ int process_message_body(const uint8_t* message_body, } break; } + case ProgramIdComputeBudget: { + if (parse_compute_budget_instructions(&instruction, &info->compute_budget) == 0) { + info->kind = program_id; + } + break; + } case ProgramIdUnknown: break; } @@ -89,6 +95,7 @@ int process_message_body(const uint8_t* message_body, case ProgramIdSystem: case ProgramIdStake: case ProgramIdVote: + case ProgramIdComputeBudget: case ProgramIdUnknown: display_instruction_info[display_instruction_count++] = info; break; diff --git a/libsol/message_test.c b/libsol/message_test.c index 709e816d..aedd0c4a 100644 --- a/libsol/message_test.c +++ b/libsol/message_test.c @@ -1,7 +1,8 @@ #include "common_byte_strings.h" -#include "message.c" #include "sol/parser.h" +#include "sol/print_config.h" #include "sol/transaction_summary.h" +#include "message.c" #include "util.h" #include #include @@ -147,6 +148,102 @@ static void process_message_body_and_sanity_check(const uint8_t* message, size_t } } +/** + * Transfer 6 lamports with compute budget limit instruction + */ +void test_process_message_body_transfer_with_compute_budget_limit(){ + + + uint8_t message[] = { + 2, 0, 2, + 5, 21, 114, 229, 47, 44, 94, 126, 102, 188, 25, 172, 108, 211, 11, 109, 105, 110, 167, 153, 207, 230, 215, 132, 84, 42, 183, 216, 183, 254, 49, 91, 92, 151, 92, 21, 68, 212, 0, 50, 152, 29, 184, 10, 237, 93, 26, 195, 28, 41, 242, 83, 160, 179, 163, 125, 22, 218, 2, 189, 250, 180, 15, 129, 237, 121, 159, 134, 35, 112, 111, 25, 35, 23, 57, 215, 23, 85, 213, 131, 83, 179, 66, 3, 70, 50, 124, 61, 59, 195, 97, 48, 196, 191, 215, 90, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 6, 70, 111, 229, 33, 23, 50, 255, 236, 173, 186, 114, 195, 155, 231, 188, 140, 229, 187, 197, 247, 18, 107, 44, 67, 155, 58, 64, 0, 0, 0, 218, 136, 223, 51, 158, 165, 31, 125, 51, 95, 141, 189, 233, 28, 179, 134, 163, 220, 32, 253, 196, 249, 160, 163, 50, 179, 54, 211, 231, 31, 42, 94, 2, + //compute budget - unit limit + 4, 0, 5, 2, + 205, 171, 0, 0, // New compute budget limit + //system - transfer + 3, 2, 1, 2, 12, 2, 0, 0, 0, + 6, // Transfer 6 lamports + 0, 0, 0, 0, 0, 0, 0 + }; + + process_message_body_and_sanity_check(message, sizeof(message), 5); +} + +/** + * Transfer 6 lamports with compute budget limit and unit price instructions + */ +void test_process_message_body_transfer_with_compute_budget_limit_and_unit_price(){ + + uint8_t message[] = { + 2, 0, 2, + 5, 21, 114, 229, 47, 44, 94, 126, 102, 188, 25, 172, 108, 211, 11, 109, 105, 110, 167, 153, 207, 230, 215, 132, 84, 42, 183, 216, 183, 254, 49, 91, 92, 151, 92, 21, 68, 212, 0, 50, 152, 29, 184, 10, 237, 93, 26, 195, 28, 41, 242, 83, 160, 179, 163, 125, 22, 218, 2, 189, 250, 180, 15, 129, 237, 121, 159, 134, 35, 112, 111, 25, 35, 23, 57, 215, 23, 85, 213, 131, 83, 179, 66, 3, 70, 50, 124, 61, 59, 195, 97, 48, 196, 191, 215, 90, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 6, 70, 111, 229, 33, 23, 50, 255, 236, 173, 186, 114, 195, 155, 231, 188, 140, 229, 187, 197, 247, 18, 107, 44, 67, 155, 58, 64, 0, 0, 0, 218, 136, 223, 51, 158, 165, 31, 125, 51, 95, 141, 189, 233, 28, 179, 134, 163, 220, 32, 253, 196, 249, 160, 163, 50, 179, 54, 211, 231, 31, 42, 94, 3, + //compute budget - unit limit + 4, 0, 5, 2, + 205, 171, 0, 0, // New compute budget limit + 4, 0, 9, 3, + 16, 0, 0, 0, 0, 0, 0, 0, // Unit price 16 lamports + //system - transfer + 3, 2, 1, 2, 12, 2, 0, 0, 0, + 6, // Transfer 6 lamports + 0, 0, 0, 0, 0, 0, 0 + }; + + process_message_body_and_sanity_check(message, sizeof(message), 6); + +} + +/* + * Transfer 5 lamports with additional request units instruction + * Should fail - RequestUnits is deprecated and not supported + */ +void test_process_message_body_transfer_with_request_units(){ + + uint8_t message[] = { + 2, 0, 2, + 5, 21, 114, 229, 47, 44, 94, 126, 102, 188, 25, 172, 108, 211, 11, 109, 105, 110, 167, 153, 207, 230, 215, 132, 84, 42, 183, 216, 183, 254, 49, 91, 92, 151, 92, 21, 68, 212, 0, 50, 152, 29, 184, 10, 237, 93, 26, 195, 28, 41, 242, 83, 160, 179, 163, 125, 22, 218, 2, 189, 250, 180, 15, 129, 237, 190, 59, 47, 250, 178, 1, 186, 135, 5, 102, 210, 129, 210, 83, 78, 169, 121, 6, 224, 25, 147, 92, 26, 51, 146, 176, 173, 69, 99, 246, 206, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 6, 70, 111, 229, 33, 23, 50, 255, 236, 173, 186, 114, 195, 155, 231, 188, 140, 229, 187, 197, 247, 18, 107, 44, 67, 155, 58, 64, 0, 0, 0, 250, 188, 80, 35, 70, 214, 185, 174, 0, 85, 72, 57, 132, 27, 182, 217, 110, 155, 200, 108, 152, 84, 26, 168, 236, 225, 222, 143, 69, 140, 60, 201, 2, + //compute budget - unit limit + 4, 0, 9, 0, + 2, 0, 0, 0, // Units (lamports) = 2 + 1, 0, 0, 0, // Additional fee = 1, + //system - transfer + 3, 2, 1, 2, 12, 2, 0, 0, 0, + 5, // Transfer 5 lamports + 0, 0, 0, 0, 0, 0, 0 + }; + + PrintConfig print_config; + Parser parser = { message, sizeof(message) }; + assert(parse_message_header(&parser, &print_config.header) == 0); + + transaction_summary_reset(); + assert(process_message_body(parser.buffer, parser.buffer_length, &print_config) == 1); + +} + +void test_process_message_body_transfer_with_heap_frame(){ + + uint8_t message[] = { + 2, 0, 2, + 5, 21, 114, 229, 47, 44, 94, 126, 102, 188, 25, 172, 108, 211, 11, 109, 105, 110, 167, 153, 207, 230, 215, 132, 84, 42, 183, 216, 183, 254, 49, 91, 92, 151, 92, 21, 68, 212, 0, 50, 152, 29, 184, 10, 237, 93, 26, 195, 28, 41, 242, 83, 160, 179, 163, 125, 22, 218, 2, 189, 250, 180, 15, 129, 237, 85, 241, 243, 183, 151, 207, 142, 210, 108, 198, 224, 74, 55, 239, 133, 160, 214, 5, 194, 146, 151, 245, 221, 22, 236, 240, 44, 213, 111, 1, 175, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 6, 70, 111, 229, 33, 23, 50, 255, 236, 173, 186, 114, 195, 155, 231, 188, 140, 229, 187, 197, 247, 18, 107, 44, 67, 155, 58, 64, 0, 0, 0, 8, 142, 237, 31, 151, 51, 227, 223, 112, 195, 240, 42, 185, 66, 83, 129, 10, 87, 175, 124, 84, 108, 23, 194, 79, 130, 56, 226, 197, 55, 25, 151, 2, + //compute budget - unit limit + 4, 0, 5, 1, + 204, 214, 90, 29, // Bytes 0x1D 0x5A 0xD6 0xCC + //system - transfer + 3, 2, 1, 2, 12, 2, 0, 0, 0, + 7, // Transfer 7 lamports + 0, 0, 0, 0, 0, 0, 0 + }; + + process_message_body_and_sanity_check(message, sizeof(message), 4); + +} + + + void test_process_message_body_nonced_stake_create_with_seed() { uint8_t message[] = { 2, 1, 4, @@ -1931,6 +2028,10 @@ int main() { test_process_message_body_stake_split_with_seed_v1_1(); test_process_message_body_stake_split_with_seed_v1_2(); test_process_message_body_stake_merge(); + test_process_message_body_transfer_with_compute_budget_limit(); + test_process_message_body_transfer_with_compute_budget_limit_and_unit_price(); + test_process_message_body_transfer_with_request_units(); + test_process_message_body_transfer_with_heap_frame(); printf("passed\n"); return 0; diff --git a/libsol/transaction_printers.c b/libsol/transaction_printers.c index 7fab1aaf..c140ba61 100644 --- a/libsol/transaction_printers.c +++ b/libsol/transaction_printers.c @@ -552,6 +552,7 @@ static int print_transaction_nonce_processed(const PrintConfig* print_config, print_config); case ProgramIdSerumAssertOwner: case ProgramIdSplMemo: + case ProgramIdComputeBudget: case ProgramIdUnknown: break; } @@ -634,5 +635,20 @@ int print_transaction(const PrintConfig* print_config, infos_length--; } + if (infos_length > 1) { + // Iterate over infos and print compute budget instructions and offset pointers + // Handle ComputeBudget instructions first due to tech limitations of the print_transaction_nonce_processed. + // We can get one or 4 ComputeBudget instructions in a single transaction, so we are not able to handle it in a static switch case. + size_t infos_length_initial = infos_length; + for (size_t info_idx = 0; info_idx < infos_length_initial; ++info_idx) { + InstructionInfo* instruction_info = infos[0]; + if (instruction_info->kind == ProgramIdComputeBudget) { + print_compute_budget(&instruction_info->compute_budget, print_config); + infos++; + infos_length--; + } + } + } + return print_transaction_nonce_processed(print_config, infos, infos_length); } diff --git a/libsol/transaction_summary.c b/libsol/transaction_summary.c index a30c78a9..84a33b7a 100644 --- a/libsol/transaction_summary.c +++ b/libsol/transaction_summary.c @@ -208,7 +208,6 @@ static int transaction_summary_update_display_for_item(const SummaryItem* item, // used summary->nonce_account // used summary->nonce_authority // summary->fee_payer - static SummaryItem* transaction_summary_find_item(size_t item_index) { struct TransactionSummary* summary = &G_transaction_summary; size_t current_index = 0; diff --git a/libsol/transaction_summary_test.c b/libsol/transaction_summary_test.c index 3acfa5dc..35883b2d 100644 --- a/libsol/transaction_summary_test.c +++ b/libsol/transaction_summary_test.c @@ -1,4 +1,5 @@ #include "common_byte_strings.h" +#include "sol/transaction_summary.h" #include "transaction_summary.c" #include #include From 437603dc15cab3dab8ce0a0a8e1938568217a9be Mon Sep 17 00:00:00 2001 From: Maciek Malik Date: Tue, 2 Apr 2024 18:09:49 +0200 Subject: [PATCH 12/16] Add warning screen for the user when token2022 extension is present --- libsol/message.c | 18 +++++++++++++++++- libsol/spl_token_instruction.c | 17 ++++++++++++----- libsol/spl_token_instruction.h | 8 +++++++- libsol/transaction_printers.c | 10 ++++++++++ libsol/transaction_printers.h | 2 ++ 5 files changed, 48 insertions(+), 7 deletions(-) diff --git a/libsol/message.c b/libsol/message.c index 77180c36..5c0d4b72 100644 --- a/libsol/message.c +++ b/libsol/message.c @@ -26,6 +26,10 @@ int process_message_body(const uint8_t* message_body, InstructionInfo instruction_info[MAX_INSTRUCTIONS]; explicit_bzero(instruction_info, sizeof(InstructionInfo) * MAX_INSTRUCTIONS); + //Track if given transaction contains token2022 extensions that are not fully supported + //Needed to display user proper warning + SplTokenExtensionsMetadata token_extensions_metadata = {false}; + size_t display_instruction_count = 0; InstructionInfo* display_instruction_info[MAX_INSTRUCTIONS]; @@ -36,6 +40,8 @@ int process_message_body(const uint8_t* message_body, BAIL_IF(instruction_validate(&instruction, header)); InstructionInfo* info = &instruction_info[instruction_count]; + bool ignore_instruction_info = false; + enum ProgramId program_id = instruction_program_id(&instruction, header); switch (program_id) { case ProgramIdSerumAssertOwner: { @@ -58,7 +64,11 @@ int process_message_body(const uint8_t* message_body, break; } case ProgramIdSplToken: - if (parse_spl_token_instructions(&instruction, header, &info->spl_token) == 0) { + if (parse_spl_token_instructions(&instruction, + header, + &info->spl_token, + &token_extensions_metadata, + &ignore_instruction_info) == 0) { info->kind = program_id; } break; @@ -89,6 +99,9 @@ int process_message_body(const uint8_t* message_body, case ProgramIdUnknown: break; } + if(ignore_instruction_info){ + continue; + } switch (info->kind) { case ProgramIdSplAssociatedTokenAccount: case ProgramIdSplToken: @@ -120,5 +133,8 @@ int process_message_body(const uint8_t* message_body, BAIL_IF(instruction_info[i].kind == ProgramIdUnknown); } + if (token_extensions_metadata.generate_extension_warning) { + BAIL_IF(print_spl_token_extension_warning()); + } return print_transaction(print_config, display_instruction_info, display_instruction_count); } diff --git a/libsol/spl_token_instruction.c b/libsol/spl_token_instruction.c index be8e3ad7..e43b5b6a 100644 --- a/libsol/spl_token_instruction.c +++ b/libsol/spl_token_instruction.c @@ -340,7 +340,9 @@ static int parse_sync_native_spl_token_instruction(const Instruction* instructio int parse_spl_token_instructions(const Instruction* instruction, const MessageHeader* header, - SplTokenInfo* info) { + SplTokenInfo* info, + SplTokenExtensionsMetadata* token_extensions_metadata, + bool* ignore_instruction_info) { Parser parser = {instruction->data, instruction->data_length}; BAIL_IF(parse_spl_token_instruction_kind(&parser, &info->kind)); @@ -407,18 +409,23 @@ int parse_spl_token_instructions(const Instruction* instruction, case SplTokenKind(SyncNative): return parse_sync_native_spl_token_instruction(instruction, header, &info->sync_native); - //Currently we do not need to parse these extensions in any way + // Currently we do not need to parse these extensions in any way case SplTokenExtensionKind(TransferFeeExtension): case SplTokenExtensionKind(ConfidentialTransferExtension): - case SplTokenExtensionKind(DefaultAccountStateExtension): case SplTokenExtensionKind(MemoTransferExtension): - case SplTokenExtensionKind(InterestBearingMintExtension): - case SplTokenExtensionKind(CpiGuardExtension): case SplTokenExtensionKind(TransferHookExtension): case SplTokenExtensionKind(ConfidentialTransferFeeExtension): + // Mark that we have encountered not fully supported extension + token_extensions_metadata->generate_extension_warning = true; + __attribute__((fallthrough)); + case SplTokenExtensionKind(DefaultAccountStateExtension): + case SplTokenExtensionKind(InterestBearingMintExtension): + case SplTokenExtensionKind(CpiGuardExtension): case SplTokenExtensionKind(MetadataPointerExtension): case SplTokenExtensionKind(GroupPointerExtension): case SplTokenExtensionKind(GroupMemberPointerExtension): + //Don't generate any screens for the user for any extension + *ignore_instruction_info = true; return 0; // Deprecated instructions diff --git a/libsol/spl_token_instruction.h b/libsol/spl_token_instruction.h index 0c13f0f7..17cca858 100644 --- a/libsol/spl_token_instruction.h +++ b/libsol/spl_token_instruction.h @@ -136,9 +136,15 @@ typedef struct SplTokenInfo { }; } SplTokenInfo; +typedef struct SplTokenExtensionsMetadata{ + bool generate_extension_warning; +} SplTokenExtensionsMetadata; + int parse_spl_token_instructions(const Instruction* instruction, const MessageHeader* header, - SplTokenInfo* info); + SplTokenInfo* info, + SplTokenExtensionsMetadata *token_extensions_metadata, + bool* ignore_instruction_info); int print_spl_token_info(const SplTokenInfo* info, const PrintConfig* print_config); void summary_item_set_multisig_m_of_n(SummaryItem* item, uint8_t m, uint8_t n); diff --git a/libsol/transaction_printers.c b/libsol/transaction_printers.c index c140ba61..a93732f9 100644 --- a/libsol/transaction_printers.c +++ b/libsol/transaction_printers.c @@ -623,6 +623,16 @@ static int print_transaction_nonce_processed(const PrintConfig* print_config, return 1; } +int print_spl_token_extension_warning(){ + + SummaryItem* item = transaction_summary_general_item(); + summary_item_set_string(item, "Extension Warning", "Unsupported extensions found"); + item = transaction_summary_general_item(); + summary_item_set_string(item, "","Verify transaction before signing"); + + return 0; +} + int print_transaction(const PrintConfig* print_config, InstructionInfo* const* infos, size_t infos_length) { diff --git a/libsol/transaction_printers.h b/libsol/transaction_printers.h index c8eb41c9..b710ae6f 100644 --- a/libsol/transaction_printers.h +++ b/libsol/transaction_printers.h @@ -5,3 +5,5 @@ int print_transaction(const PrintConfig* print_config, InstructionInfo* const* infos, size_t infos_length); + +int print_spl_token_extension_warning(); \ No newline at end of file From e73a9cfddc1cb396218a2b30d1b4832768eba22a Mon Sep 17 00:00:00 2001 From: Maciek Malik <142581992+0xMMBD@users.noreply.github.com> Date: Mon, 8 Apr 2024 01:05:02 +0200 Subject: [PATCH 13/16] Added split-stake instruction support (#9) (#10) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added split-stake instruction support for: * SystemTransfer + SystemAllocate + SystemAssign + StakeSplit * SystemTransfer + SystemAllocateWithSeed + StakeSplit Co-authored-by: Maciej Nabiałek --- libsol/stake_instruction.c | 2 +- libsol/stake_instruction.h | 1 + libsol/system_instruction.c | 16 ++++++++++++ libsol/system_instruction.h | 1 + libsol/transaction_printers.c | 46 +++++++++++++++++++++++++++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) diff --git a/libsol/stake_instruction.c b/libsol/stake_instruction.c index a932c93d..02f1fa7f 100644 --- a/libsol/stake_instruction.c +++ b/libsol/stake_instruction.c @@ -459,7 +459,7 @@ static int print_stake_set_lockup_info(const StakeSetLockupInfo* info, return 0; } -static int print_stake_split_info(const StakeSplitInfo* info, const PrintConfig* print_config) { +int print_stake_split_info(const StakeSplitInfo* info, const PrintConfig* print_config) { BAIL_IF(print_stake_split_info1(info, print_config)); return print_stake_split_info2(info, print_config); } diff --git a/libsol/stake_instruction.h b/libsol/stake_instruction.h index 1bdcac6d..0498a8ce 100644 --- a/libsol/stake_instruction.h +++ b/libsol/stake_instruction.h @@ -118,6 +118,7 @@ int print_stake_info(const StakeInfo* info, const PrintConfig* print_config); int print_stake_initialize_info(const char* primary_title, const StakeInitializeInfo* info, const PrintConfig* print_config); +int print_stake_split_info(const StakeSplitInfo* info, const PrintConfig* print_config); int print_stake_split_info1(const StakeSplitInfo* info, const PrintConfig* print_config); diff --git a/libsol/system_instruction.c b/libsol/system_instruction.c index f32ef82a..599bf9c5 100644 --- a/libsol/system_instruction.c +++ b/libsol/system_instruction.c @@ -273,6 +273,22 @@ static int print_system_transfer_info(const SystemTransferInfo* info, return 0; } +int print_system_prefund_for_split(const SystemInfo* info, + const PrintConfig* print_config) { + if (print_config->expert_mode) { + const SystemTransferInfo* transfer_info = &info->transfer; + SummaryItem* item; + + item = transaction_summary_general_item(); + summary_item_set_amount(item, "Prefund", transfer_info->lamports); + + item = transaction_summary_general_item(); + summary_item_set_pubkey(item, "Prefunder", transfer_info->from); + } + + return 0; +} + static int print_system_advance_nonce_account(const SystemAdvanceNonceInfo* info, const PrintConfig* print_config) { SummaryItem* item; diff --git a/libsol/system_instruction.h b/libsol/system_instruction.h index fdc82f00..e87cdfec 100644 --- a/libsol/system_instruction.h +++ b/libsol/system_instruction.h @@ -111,6 +111,7 @@ int print_system_create_account_with_seed_info(const char* primary_title, int print_system_initialize_nonce_info(const char* primary_title, const SystemInitializeNonceInfo* info, const PrintConfig* print_config); +int print_system_prefund_for_split(const SystemInfo* info, const PrintConfig* print_config); int print_system_allocate_with_seed_info(const char* primary_title, const SystemAllocateWithSeedInfo* info, const PrintConfig* print_config); diff --git a/libsol/transaction_printers.c b/libsol/transaction_printers.c index c140ba61..ea1f615c 100644 --- a/libsol/transaction_printers.c +++ b/libsol/transaction_printers.c @@ -87,6 +87,23 @@ const InstructionBrief stake_split_with_seed_brief_v1_2[] = { #define is_stake_split_with_seed_v1_2(infos, infos_length) \ instruction_infos_match_briefs(infos, stake_split_with_seed_brief_v1_2, infos_length) +const InstructionBrief stake_split_brief_v1_3[] = { + SYSTEM_IX_BRIEF(SystemTransfer), + SYSTEM_IX_BRIEF(SystemAllocate), + SYSTEM_IX_BRIEF(SystemAssign), + STAKE_IX_BRIEF(StakeSplit), +}; +#define is_stake_split_v1_3(infos, infos_length) \ + instruction_infos_match_briefs(infos, stake_split_brief_v1_3, infos_length) + +const InstructionBrief stake_split_with_seed_brief_v1_3[] = { + SYSTEM_IX_BRIEF(SystemTransfer), + SYSTEM_IX_BRIEF(SystemAllocateWithSeed), + STAKE_IX_BRIEF(StakeSplit), +}; +#define is_stake_split_with_seed_v1_3(infos, infos_length) \ + instruction_infos_match_briefs(infos, stake_split_with_seed_brief_v1_3, infos_length) + const InstructionBrief stake_authorize_both_brief[] = { STAKE_IX_BRIEF(StakeAuthorize), STAKE_IX_BRIEF(StakeAuthorize), @@ -288,6 +305,28 @@ static int print_stake_split_with_seed(const PrintConfig* print_config, return 0; } +static int print_prefunded_split(const PrintConfig* print_config, + InstructionInfo* const* infos, + size_t infos_length) { + UNUSED(infos_length); + + BAIL_IF(print_system_prefund_for_split(&infos[0]->system, print_config)); + BAIL_IF(print_stake_split_info(&infos[3]->stake.split, print_config)); + + return 0; +} + +static int print_prefunded_split_with_seed(const PrintConfig* print_config, + InstructionInfo* const* infos, + size_t infos_length) { + UNUSED(infos_length); + + BAIL_IF(print_system_prefund_for_split(&infos[0]->system, print_config)); + BAIL_IF(print_stake_split_with_seed(print_config, &infos[1], 2, true)); + + return 0; +} + static int print_stake_authorize_both(const PrintConfig* print_config, InstructionInfo* const* infos, size_t infos_length) { @@ -613,6 +652,13 @@ static int print_transaction_nonce_processed(const PrintConfig* print_config, // System allocate/assign have no interesting info, print // stake split as if it were a single instruction return print_stake_info(&infos[2]->stake, print_config); + } else if(is_stake_split_with_seed_v1_3(infos, infos_length)) { + return print_prefunded_split_with_seed(print_config, infos, infos_length); + } + break; + case 4: + if(is_stake_split_v1_3(infos, infos_length)) { + return print_prefunded_split(print_config, infos, infos_length); } break; From 3dfa53e967c23f6b6f098a467cd64834bf6fa0ec Mon Sep 17 00:00:00 2001 From: Ledger App Tester Bot Date: Mon, 8 Apr 2024 08:06:09 +0000 Subject: [PATCH 14/16] [auto] Update screenshot --- .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16118 -> 15915 bytes .../00003.png | Bin 15993 -> 15790 bytes .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16118 -> 15915 bytes .../00003.png | Bin 15993 -> 15790 bytes .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16118 -> 15915 bytes .../00003.png | Bin 16129 -> 15928 bytes .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16129 -> 15928 bytes .../00003.png | Bin 16003 -> 15801 bytes .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16118 -> 15915 bytes .../00003.png | Bin 16129 -> 15928 bytes .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16129 -> 15928 bytes .../00003.png | Bin 16003 -> 15801 bytes .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16118 -> 15915 bytes .../00003.png | Bin 16129 -> 15928 bytes .../00001.png | Bin 8790 -> 8596 bytes .../00002.png | Bin 16118 -> 15915 bytes .../00003.png | Bin 16129 -> 15928 bytes 24 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00001.png index 12fdb2085ee4266fc3d160e7c14d9c629b7764c5..68c307a6d8e470efe450abd307e66e651f900b10 100644 GIT binary patch literal 8596 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 literal 8790 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 OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00002.png index 1b08a4c679dd9a92e682580eaf1da7d58825685f..df47c275d847cd4672da6e3ea41b64fb7ac41ac2 100644 GIT binary patch literal 15915 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 literal 16118 zcmds;XIK+oyY3ZGK$?vrMo=jtU8Gk*0g;ZBfb=506M8^UK~X@d(xnN65IRUlBSZ)g zAwZ-?q=aG!5Nc>=`1|ftuJdu9ckk;u^Ce`$WF|9fJ>_@b>$QQNCeu02bEi(7V$yo} z!06Pe)9+55qWVZj1?-X6Z!JG{O1VwzfvRzEHgSqrUn4)!V7H)PO5Jy{ibhyfyYu45 zlb2@~>u3a2A3eKRM3cu&2y>cSK)-tSt;t(u^mAHr;`v|VFP^ESqxtBlXiu4vj-kz` zPT9tFQrR+5F+7u^6FxP1z3LSB`G3cbwVdT<(YW8(;?8eJ`vIrhv0I@caRo3zl&>OY zf*9B`wVHFr)FhSAWHByTd|(}tOWFxT`F<7GNt(lUeQ~6NzqYEx3B)ZokE$r z)-;!p>a-WE_*MKMz+9Y9l>U}~n{~10eDmtOpJ5&;utgXh5gB<6^*%vlZ^Qdtx7j`n z^`jH=xC91UZVt3+tQ9Y0SFmSw>m4wW%q)k+#2ybH;Rn0!;^WM2b#tVn=c8_y4p`xL zCL;T5{`fW3x$j4G$WV$DG1^H*-ZQG_>yC#PImu8Jbj`rntgI+nf{qGG>HfCxhKOxH z&k+49qNA~~&F~_AXG?H-MXUo)qK;gKBQ8k!v`lSIju8W$%whab9JsG|NlZVm)z$De zxsv-c{;^u)1ab5BK9&2gBu$mVO>DitJ>>NMki7zvr0C|Q&%)^Tp5L-wms{GhgQ&{= zyET{sMDgU-fli4@$JWHo%%q6Z7iqrC`@PRiQC_~6-i;;(VlkH>)5@V#D}gO#uakM3 z@TAa7osg;RKW;tdX-g%mpSv2$hPM^A=&A$PyMZBZVrqpSlN)Y% z@oIxmeu!ml11E!uvxfmA+69ry_SK$(RC*1}0^@hkHNtUf(&lIK zUO;9Se$D$WDdgeAQ_7}F{~VkPaZO%lrgE2vMXC-E(DOqa3$wBbgpl}Jt21eF;_BDd zk+&)`J#2%&(IpF;O6Z9gAYP7qeuUo{xi>b5F&oe%W-4N?c3pKLGkb4j&mZ1jL}tES zCduYu;=LDu0CA;AtzsQynMoQQ}IBMcUPlElPbvHHIT7(D6iC zuf_@FjE^E0iY<}~)`^-m#4iiPjYm0s?)h*wh`ywt@xV#oK5#E0cDkFYK`k#ZZyO+T>#&UmDHVI_2fyF&We}( z%_*WF{M?S|-ebed%O-CiR-`}$9Au?gnJaObXj?R*c^-T(nY3Sm)rv8#qXh@&%7h1< zA?IVSEnbHn6Zdb}aV#Uns>Ch8_hhbsc9x8OMgI8uUz)Ct{6U1!wuokqQ)`ov39~e+ zYfJX0I{hs#QdOOeI@8HX!*ssdhaxML3>OX7K z{UnamaVk|e?ICpNg*)v-C23T}Z$9hp-x}7*sP6`HW3xb_G z3cS7R#BFMY%c)*&Mv(S%2~x_HFhPv}zjE@1T`pn&aN0LpoH3ao(3!ZW?}Jpo~%=iLwK;`&LLUdQVJ|p4=T?5k@T{zK&`53FXlt# z!B-!IFBq``i+o5u<0C7Z;4lZc{r$yP~|9lk+6*?9WvkTX?d9t{)3r?q=~drN=DddQaiKS?_q zHgW`}Yl*15JZ`865dUn{THX~1#PvTdd^$pMC1N^=qK`357i5FdiT{6D> zQmewM(oC+p`0DC<@FXdy{`l-_)N;^6C7`^R3v2<>6%2NET#WyTWT)e{?-}Y**ED4~ z3>Fa)!O0zC7c8H1R^DDG#p(8;m_*tmJ$0qm!&-~YUTID>%~M{4=GA+X0x-{uG5L~b zt#ECYq8C3?_un@;+m<-Fb6BzhZB|F-4k$OvycpI!YK>OPSmtxDrE6 zH4HcZIYfLsoWzjhTJ0VwS+YJJQy{SUSUsM@s7){=x5QQOnzc7Vp7H)`STjNHvI$R;X7SHLG z6(0Bl_sF{b2VXuR#Ev7)sZ55M&(gTu4d%T+<(2M~F%3@E*I9sA?F6>eKdJI7^#6QX zfah*9kZzKBdpNC|8posU>Y5_e?bWc#i)8;M%hBVD*}lA|t#H?5S|eaVS05PiGG*-8 zfMhFxYvt$k_RkB?c$^_^-M;7CKFyeE=B$sc6F7(8xq9nZBIxQ_c!O;)YEBH1iG*MvRPc!>RO94syuZapt8_N6o zDei4&kag32@GY6qZ!$Y}BKqC>i}xkxX`_b2#%^=)?+mb%H8|(>>XfMgk@jkid0=rW zlJCaa8Q$y06h$cCQaJlF|HcS9;a}Qyq^qKnck4UrIit>mCu%%)pV<<9)=AagKdGm}8&M z$~u|rnQ)iK|%qFwq{WnT~uLTp~mjC>JNt!80( zb@!Dyl~95MbA9?}L>6yPiT3(8dm!{muU+5{D+#m0CCq+C2py*#U-OC{fmoTOt~AGp z)E5YVP*>PrIjfggfXalA7ePTLVJvH(qAYbKIkA^58 zl*{cOwhP2vr&GkB$*lr$0&$kO5td$oxVc;)BaxvUh!sUlCC=UOa!$~D1kU}kdOHby zqny8e$_t4{K&-qQCt$GQsXiENLlN&G-8j)-)h`iBgzCUbVK8Fg6I?wZWI27QK)|RC zrw=3w^4_0jMCN?BvZmpjVha*{xht>*0@C!XnVeO~(Ia^bDv%QdF2dKpu%%%s&B?XJ zhxLDC_0pUuDSp?b+pSE5;OkAGeu`4>KzH;DV~!X~>`;cipUQep{SMULNZoD37t~nd zp+CvL;%8;%P5)@64>A>{rhG(vrBPhwvN)L5>n!#5U*kbiVUH4N$$M#5C zI3iDOXTL4ySrSkDbEDB|xnMO588-;=vDyG;$_tlk77c&@0Xm`VMWilS#0n-Q1!=&t zoAvbvh0*ejZPm+xH=Mc$<{QmC+to?K-P*v-eR^d{6sPJrWC+`B$FEAJ7Cy@J`?VeD z5LMv+;H9Mhh9XI*ma*zjt6<0yp#xRXmZ-(blrrhlS_)S~RE_7c1Y5Xz0$01)$`eQP zrf(=Vl~>F8TdV)`PrD_Q67SxD?*`B-)aW3PCMAnAG6}*2Uq7txxX(5bBF(woqLpWr zOPC;<%Ab3FT|6V`m);^gQIZjC_g*~ToJt!KsCQErOWuPMUdn%wFX47!S3G3q9;D0k zAtv8Fj`?2mCs^^5YbGHimjIvw-)z|gU3r+9tby%I^{>36M{EAM1jEZFCaf`bX--2X zhH3Mihm}#Eeqd*1wUWXT(ew63zk)`Uo6>J?1jtX3c4~x^dEa+`-wU56?NHZ##~Bg$ z#qtL1fiHV8$_1AActh)=+#8*Ny#do9tX=l9zL!ceRpOI<1;^?fD-Rw~H6=_kDW*o) z3g;Q*A;lkfRwg7wNcbXu-F9b^ch@%1nx2^ssp{RNZsVXXIsBKBG;XDS9fzDT zz}3H%9#+96y5e_=ZFDrWm$45F>+mF|yY7?Y_!~O|Fqm8RJJjr;536gYhT-tE&)8g) zwH$tDUSn>?$KZ7aVK1WNco>jdWXekW2uzx*M8nvf}m zT$IN7GQ=V{!%CxhMux5eaRveI&*KYMc(7g1B z8+|2Z4T)KpE7&MDpQeAagO}QU&y~Dm6DnhmBrAI3_1_&;>O-!c-2ZRm3RBg700Qg4 z%d8r*sow}Xr7ZC|92gkJa92CKoapQC(i;~^e(%vU;*2Uo6IEYt+DTvon`c>iYv8^) z#gwMo7e6`amMEP15&Q4#R}KiWdb2Wqr)_h9mMIp`M`L?Nl>YR80ZiN_Vb7crPj8AG zhVJ2Q`Kz9J-wo2MH>(5tT>y9PfQ4c5xR!e!z~AXEB_=k}eJSp^707De&8kx?QdEns zZl(16`iQ11i%CA3Kih5=@wq=I!_7X?u-V>G;*7q|apB(VLa5uPKFa+l6CA|wa-QfJ z@i#K}o%c?ko7EYM1@>irB4PmKqKF~44r(L*Hb|B@s70-tJqBQjIpH5p273_b79)~Z zOC#OUmX*7%VdH~=(>8F_p*}n65jH`PF4}hd=^zNY_V}!+;bqipHL0?l1Qd_H)c~To ztX}i3#N-{JNe4s|B_B4D`!0D-H>Z5}V|}Wo84hA%k}w;bOK3(=EK}tY9H`u1=*Qaz z_snI~Px9FrUfw^nPMDhS@)b6}f?C%+x8|IKA)F9ZFARZPg5JpaSNn7k41mmINAp1W zoH;TK#vF?Txl0NU&92iS*LcpH;+MpqC-<<+dTO6EPs>C4p(em+7A-0efWbmbRJ4sv z_|SK3j878$q8Xq3QlhtIgAM`)RHF(w2?NEw$9NmO4FvxUvBGRd!uA;VY#kGYo>?j? zTirgYc_~UC)RH5AZXPDCiv_qBumxtV5c1lK)eY;$Jht}_|7oi3yk3*kjr?c3T3)_F z@sT|^IQZ^_20F2)wM(rKTeV*7v_O4Y|5G0KF|WqZ>T($6u%x;#N+lz>*-dkT9l$*n zUnHtM^qebg3@>N(Yv}T`?;Bq3@hhS#9vDgewHKaN;ZpSBvQesM?byN5k;S0u^LY_m zY;n689`xkAx*?ANa9=(jy)O_LcdpD1<`K05Vuxe(r1cN>pUTv43S7dqJCwep2v#a?qlh&4~ekYwubGpZjmt?W1`?HyBIPSzQK)Zn^h zS!q^(!>y`(rMa@9s?V$f;JTvI^MckeHH^U)sXg>@QJ)|iZTG7wFBx;!^FWx^9+2o| z_w+xLmTQ1pF}W6Af?evjCTiU0NtpFT1=*n0r!*vm3Bc2e-%=Dq*L2&AECF;tO+%Ya zJwJ{Zk{f;#it(c=mqx!bZQg^WUZ>k+CW$j%y;3CB;M*a^h$QbR7UT%c#%)QIMrtP> zl{0)}&*B5%#PXk;Krz{GXFwdypv;YQ8kLxaWh~t1-V{OsgsZV}*k&Tf9@Z(C3q)O( zN?f^d%A?o|QCmZ>{<2VanRI|rUH}uRJ|iYpKhS1(iPAg0pn#rBYvQTQN=A)k1{Er+ zE+;E8Aq}ipm!qV9hpvs7B>wQ)7YCj82TspvCFh^$!6{Sd#%ye|rPr8gX)TxV_;S}? z_$tFZz)a0pmKDu%l>O{VqZj&Hr1{Ia@~7x1!w!tQ3JY#_8L`H*pShJ6C*ofY%5a<5 zvZ@b$FxvttwMnOhMZ0D`vcaqeZ$fRnnaX67MPVhyakF3xljYoJcei~D%*;F=jy%aF z#CKf;f0#g7ixsv{kQH$(n}K59_h-EtDR?uC)`*9zu))x+xSPp#Of{@_9I#@k-pZSm z(Bz1gsRq>jrONboRFagU{fi27v&&=cZ-IVpRd)_$-N@=+ z@ByYtEFO<9xh9I5y%Tp+E^p++Sxxtt(r%z4TON&g!Vz|T^BoG zYr>t2A*HVF4=~mi3dqT-|umK(T^6JcizlZ1V0DdVTT`)N|g)$+l z$OF%;<2Rt4*Y3UD?&(YlS}GfjT4~lwQdCm8iv8{{PPv6xS$_VDcKpH+^#~pRm9`3% zCk`%+6J_wh%EWLyFpRH7`hxIYje*X2kMg=ZXg57K%FCsB?`!;Rm9=aRnh;@tXu}YQ z0O4hJDj({&jMG9RfF2HI6MgsKd?dG&9yCcpc&{O*M2y!Uy_r&VeW1 zWj`AV&f1?tXZNz7WeXT8;XjU0bbgM>HbBC6v+vz+hAP&>J zbBJBy4Z1Z>%`?}=o+p5_*?IbOY(pYXW%I6$&@Jj!D_rUWj^JLxY!Rm2SN{iDF@(s{ zU(UC5V{2LA{dC4kS%!S(B9aO&LqX*^yMg=JZv(V-H2Imq61nbfL_0%g(-RdMwl%)- zju*{7m|-fM8}LqvQ@7$JuH_WaP)qx(T${2UvNzy4WacR(AmUaAB|P zUfG=T3Ia$!wj6HmUB-Ew=QZh4 z%%^2JWAcw?1Jn)YfDU7iMDm_B>-sH=Sh0wB>z$DF5#Z^-cx{|;GT&aRdHd}>Sw`dn z_-0&zq%KP=k{I|n5@HpU)8YL#b@uySR@zE{e$oT^>zp0l);LJZ1dyzOn!>~+Cvt@F z5BV(+(73F#a1E?&v(D+nA>ArMe69N_#VIo-9|lvzjHJYL8Cb)X+c~cyv{1g*Q_qnM zDa9G2j~C9G-uYb>vP8GnvapEcTr_pj`GE^MkE&j2hP~T>!1S-*1r!jV3s|g=pZ#22 z*Iv)7HMAJO5dCqm_-0;E;Li6}eW4#dPl|%$_3+ybfT{}c0B;HWg`W>~fYN(K#SpsQaf4_;62B6pBhLv)cVI+W{ zK{v#%N$V$`7tp3n`{P=#BF}PpNgrY*bEFwq)XqL)&dV@K4DKoIJA;Dyw$ zL3(U4b`JL$TU`4ayU4BA=`3+fNbv**Ig{~xpANivTZwtf>(m z5r!EfQJwoHA`~iZ#Gi0H3(^43KuL*-DmK$QPXnA`Aarxwwjl zPQuBBjn4ZGvP8F24??UCgHr>6Xc6BtP8;WD5Wue%whaK=-#zOU7@=~nyr>dv8Tr+4 zTeC>K|NX7OMeg3E3p7zj`NJ?STDJ_KtzqDIa)EmV3u&0u53z%Z$&WK1QlvT0ru}Kx zn14va7+GJJKAK^=Ozw_IS1QJM1^?vWx?zyU4DT)*QZ|@tH`%}ET89`hA3nP2#w`TJ zcN6`3-{WLK3NnwBL0nhXmK%WM!Pkr-YADzEM)muq{tlT2mgI7nV26 zm}KbTQN8rh_YeuOjfVXb>88|M{I!etNdDOPnF~}-5S}Tg#D$RQ#Yp1SnGvo)0i3G- zeg*C7D;dfICsrWbKO~eALa1j4ve_HE0AZM5q$bsJ@Xnj?OXIfVYl`ETFHHW~1l*TBc%x(rWM|vLXpYzEc&q?foqaBwfix1j|?Da*gE@dM>n1 zdF|{Ut_OoY`wutTIMMURh8bQyX-$EqRVGXKvO3Xq{8r-3d187)7q5BIw!FV7%)UKL zhhzrH8|ZZ7t*0N`mWhRF8uCsI$*Jk~0vdlI+iStLBVFdK^n~-WXxcPM>zIyvKp(%) zACjAQQey9u$yg4?^>#^J0LTWmq@K3-vxVd;4m}qN%9+2E@pCRC$+gkx^Y$Fs+7)MC1 zrXet+IbzJyv`}%Asw>&n?IQCoX)$e+gLlnwFD7of|53O*Po}Rtoqp%Mq?jj~H{B4x zdy%7i;a-+DLRv|aVWlnHU)QQK_FawzwF8^WRqridLVh{zWZvuL#rVrFR6g~pRTi=S z`}^Tl^)!a40WVt!OQtHs4|tn*X;U+6fTW2$G`)Tz@MgsPI%VdTV3GOs?&y}HzP!{pj*eKV zn#|>EuGez6l%zc}7-~{%=RIV$vD~0IvN~om=N>+q&h){!e)*BR$JD)BW`sP(C%>Dc zdgVaO6U5Pj%sX^cJ?R>Eoo!h+>i*m-lV{25Nqk3YyvLv&BY|GdO}LvPRz1*@Ju1^A z4g$@&h_np&LScFJwJ(cTGaH@%kcS#R)KzhbB_NmG?aF3U_@AsBnW!8w#cV)rSozTs zsV=0qNWa|r{#&5ft;H*oKjfITP1GI0_}MW#hu|0Y0BWWf&y^4}+f}Rt?>-7l*fYJG z$=G3fh77eySOC=j$CUQU%Hq4soD8nFHlC$76f1=(R9SN_Df^`LHiN3@<SC0#_^A zkqBQA@q>dYEbSzqek(JU9KL>-WjNpN(sOPbT4Ot6L5@Kz911 z62z}GC>JEx2y2J%{&cjL+nC$DT3yhC&$xw_3^_f$rk1NGj)2V%q=#sA6Ti$9x0%Z! z8F$KN?Czp2Y(OJ8y@zXoJe1YnO;&7+b@IyU{{#~}Jfw~Mq6wp99rPog@|TB6I@bej z&D+A6s^@adS+4yX-GgF);#PPh(jWHgHglF7c=9VJm#Y-3)PMk8w8{j`<`b-gKDJ-S zgNUSBqcxxWO0|aj_i40wv$D9AEo|4RXN3Px$w#;?K;G?tEXS{37h$kovgM;1Kn%4&_s)k{o21UlwoDC>TlLv#FMaqw zHQ~5|S0|br>g09Y6^^xl!x(e5c!cUc9b4VnCY5NCoGX*x&(a6QXoeNZ4#Y@~LB5+>+Q=qp15&{N;0Z8c5M+}F$p%rd|xV^JucGNQF z(dVu3$rZL>a{NPK7QN4U9!C^(R;c(sf>0hwfFi!)|s-cJr76c+IJIDnB@i9a>xejW8gZs2c`wNy6-|o|yLl_#gsUuP~u2Y#erj&h&YKKV*+7E+7;= z(%@5&)sA1&ch|8d8c5#s&f#^shKY*oY1d3>tg*h&-j5w9z@?`Gl=JjU zk~6_aGyh8__p%v9pS2cc-!p(gTc+d_{1v%IIHRO?e?HuqSx79*Dg6yd-+Cp14kKhm zsPX%i=Has>Nz)kuoVhCZPoKY@h?lpH_=AQf*4z<0hVv}a%kv%r$h%A zNLRi4UU9v{d~vL|i`EymH)qpkJf;3x%5Gx(+ZuO6+t}0xIb0~4LpAyU4t2yqo?l-( z9-Ls0qe)KDjI;=gdjBPtQ1)kag~kJw{I*lVvI}sap`p3*-(bS*V2YJoGTCygNH*cb zoGD|$#5ck|@xjmv&a|^$4g!ip{t_n;s>ZR+-!tk~oUv_L)~UF08j}b>-FOEK^>)_r z#)ELY8PY&^HTD#DqXBo?TTDtMVD5}!8(j}p1Th0F(OZ7$G|t5cm`@z2qNAW)USsqi z*6o*-46F|bW=7vDnxjl~)I7r+;Lk(HwZyV0D4_g$yXPjOZW3e{Harp7;v_KY*1yyK zBZEz0=H++5)9{=(6|jv!^ry&*5ZX3x>nm}^qWv(K5%Q%xx1`~$3Lo2uD_rm4$W1ia zatdwc`${-86{<{NnWc9|>@WZ>@{ra- zmpqwHv}t$n4J4_%b6j$IL3vN2M8dNbPH}FxmiM1?^ZI7dM@V`jvA0t)E$d=EZss4G zU4#C|X)qU`k2$7$$vOv^XCBY8BEipH#Td;Z?g-Gq33JmK&2kUDB~2ImKbuE7=)x&U zJ|8T<3jeqxe7~>wxiB4-wMydF4>3m6;qr!#q10o{E=*zS^aqZ^Sq$JTaDXr{JbU-d zMY2Bo=+_4lmCx!Z3t%RAy$waa4Ex0P*^~$Hf(^R3iL_3iIS=k^%-COA+>T?rZ+qHi zWq-Bg4)cG`+I?ayD0W?DJn{gDxw>I+E^c>b>&(M3N_f%3JR@9v>$onl?0=dJ2AY>k zG`}~x;pDnMTZ$$web@H}JOu6ZbL@xF*FX3a$HYXA?eeH|&H(L@)83KViLt;2S`g9V zVT*6mANoOV-7~GWAj+fYB3J)qGJx;q111Kbx%X;B*LaNcp?m?a)=G0bNx#L>RxMH# z5bqbVJ^ZcG^J=>(6+!^TO(N};5OYpE1?!658#WPX_(GDU$E?1Q@fHaN1EKC{-6wxF zGvVt{5P94ys3CrPx-*7_ls>ri!~AZOKU$uOQ_xD&uJG7R zGjlC&QxJ+0ktBAo{RhZSgU(G8M8^Gq+%({5)UOWEd;qWW`&+lxUVSZptj*6H4L}TGbZ-q{ zw0dgDx)p#=b-L|48(PgFvl4ln=cq zZP7(dfc@F(zJNDtnDSx|aMclxkCd~UOL5UDWZv1HzrQ~$A=YZ)F&n+ORHR?+XJV)@A9cSp~a zRfepXKLZ>ZTfN?N^ZBZLB*#W^9$|odFs@DsU|lki%fpzM0KP5^c^Kzc@_(lvBS>WVH=NjHB_R7Ss92yudh>3a$Em zYZ$qVc}ZoS97ON*3gChgU%#IeDdVVj*(b`p?~&}W*DA-fDzG$we9Du%*B7LDqMtb; z+P?-xv`-L+B>Tyh%-FJX#~01b2z$1E_+Fom($@+q-or>ASM@FZu*~ap2`B)qEGIj4 z_p?m?NoF!DhL#Pe_!<9PB}dJl_)Gv1E#Z$M21BTwmGuRo>p$qJfKl&r&5~~;#Z%Zu zjrEDGHoIjU()hj|v;rUrg_`D-!aa1BLafiz_{E_0Qd}39gQ!U5Y?6ToeJnMfjJV|WD!@uEfd>jel_v7D1e(g`6o3L~!KKbUT_3u8SxRgz3gu&#|0|M)8l1eUXFtcn8l*S@}tY&L58 zeD&#Po6E_eF3IzC9i3+>StEg3Z6fEv)KX(~{prgGJen`JK3y9HSX|Z^xwV@}5JnH% zK0NeyJqSt=4>;Nhgb+TmN=>7Dz|VVR;oJ82^v|6wjooXToj1&wwLPc^;4}xFK;PmmMO4ju79nI#T1WhOzm{Oluga=n8 z0UV_C3I~wat5cu_%*9?iJENkReEH>J&WJPvC?b!#FptlJ{m9jJ3F5TDTsc4(A1)L` zu1JlERgOMCf{q?N03HW`PYePzovg-V1~VDa=CrKJv~(`|*_$saZ95a82@(pLL#T>bUmwCL==>a?>eC||&iUGnDiDa;|@lQ~b5CwlgjB8u7*D#;GQz@3dOvd zhEVX65M?K&t+k#`qxv;xhANmn9Q8=hk*^D!C}sTJnaZ8%2_n2oyc`x=Z`T3GItvk~ zd8TlIlBM>-il3f(ZdFMG*Gw6XxBv(%@`*9?J745i>^y&pt!#ejv)D{BkoNA6{VKs{ z8L0$k+IPxHtE`^40GooCj9Se*WZ=sgZm`+kU3_=lw>xVnzT5N+-jKiF$5z@0xL7LoDVb%Rqa**^Sl8-v*)mmdFAx2n zKkA#gMq>_Z^w5?Z0~}x*A4#1WmiCW-_c1uKkpgIK`7up+3w76hBx=4j*E~Cxzm%{1aK6tX%vP?_k&Tc~@3zEnFxHnT zT=kSVDA@yd8bFpDz7ish9gf!3Ks(;rsz248CV8ncXfryGHs;1+3)0%(vSvt$xKp8* zFv0`(FAWcwQQR|}9^1-UWpstOL|ahoBL!4G9KZ2( z)NWj7Fw58`+cY6w1m5nS=$?1lc$j@(!F3)C$ZU1LjU^wbLyJ{XO%tr5MsN*(-)D5B znI@=5Nlh{!%UoW?Q8**TE3)aS-AB23?k?T6UN8=)JRG0w2;Xn7?1PK_6celFtKg4( zfsJNM+q;ISRAeRGQ#bEVtII@=Q?HEduV=@_lnQ7c&e!>wa)Dqq z#J242@`k{ADV$o1TD8xi4KBZ6Eo2YK!X?Cmxy#1^%akRgiz}gHt)P z2$$zYWLB-2;{MLEs9wv0mrhp5uut6;|M71N_6EWMS}uck?zj`5{A(Wb0r$%fa9^Un zQPq2^|7+Ij388#X=s?oSW7==y6lONjpKkvO8)b18p}$JUTTP&;A~yRg@V^m)*5UA< zxT6ye+s2vxy%iW~we)u0VQA~#;W`x@#<5bJbk1Ds&Zq+u>qbwfpYjgin%M6us!t_6 z9t92&!j!;ExRgO)`<`X6{zzj*lZXEkazo|G%S1!v&8lycCbbPPl7qHfi9LFI+-RT- z?jL4$8C)=k-HRCGxA`R@EYcvSE%Rf@KI_TeS%hfS13VLFazXoD(s-4~%D0B_-bd8h zA;+T|nT-RJJ5%<~K)~$XL61|Hf0^5@a`D#yDjXn)CR^=y)pSy=rLXG+{hPCY{4up^ Yz(bK57E4B8J^Lvwb-f1&HQVU_0pNA^;s5{u diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00003.png index 6b4fe5b6ca511d696c395bd77a76473944a4e052..c2f047ccd871a99f6aa89a2395c2be4da0cafa57 100644 GIT binary patch literal 15790 zcmc(GcQ~7G-?z3(TU!0KYL5;|iCL@WuT?bm3bCn%+M`wws)N>uqNo+MiM?w^DT-=p z#4M?XhNLKwrb2ix_x-%b^ZfN3$NSvJbHDjVa>{jGxvum4j?Xw>ni}h!J;Qf~iHYef z_}*P}CZ=Prn3#^gJ#`!yQ8nqTWMa|?2H(AH8J4@gu-=STosV^i9Q1u`b3Eg*sH{QH zg*s-?ZQxH6v-oZO#}|s3@xnAHFT6MIMPxr*Nb5Ir{^j{Q@7S+={}J95>$1w!Lt@~^ zPcl93J_TZ$x?INuecE%}`RsAF$BO@+fgk6pM%`{wxQ<08*_<#KkN6DW34UBaL41>WS33tt2iwuqTzvsWs0UFm2?N~S$rwxJ76Nr>q8bbsei5G5}1C5-E zdrDAo;W=pTL8J9`FywZ`K~TrSvT*8l-N&ZPXT|9oAsy?qh-=k%QN)e~WWwuXpNSOT z*7@}iBBhO(|6S#`y2*i@(`~uf(4_>RYP{HwWfxjXZFZG*xy${UOQp8z2x`mvo!-( z>cVWSAS>;@t}ZOKAwAb8QWOkUu#{904?8$dELDqF+qHYM%wz7)Zxv)h;i*1Tr$y+yL(ln1 znGe0Pk?KNJgtGqky>3SxAHquVU=hJ238(m$WrNm%QoDVgQ>UQadq9rVHWKEs-!q;( z{LZT-d$E!Pzt3OxO#0Mu#868Q>D}@eR-6&!V-I!c>299W70hE}FiXc5`qZl+lkQJX zQ^3xO-DBl31JnrAG!IlGloydG0Hwd@324UO#xR}k`xV|bd{3Vr_oajqh{01Sck^1Y z89nXzP0u9}uuyW`;z@sp)`O7d9|}fPi_jTQvZZGPO6;$gF7#d>Dp93$h9r7 zXRCy#cW+j{YQ zU-BHFeQN-bd9=qWs#oi`cU>WxHtSnqUpHy<>sGbLG`d%U6*nvn!@mJJVUspU2za=q z_x8+DBz0*DoTK&t!LsVr&Rui0|+8R9;k^tIeIN^fowmm=o>-HUpoMz-=+eaF*_6ZUi46i3(ByzqlKxf z)?B43lO`$hyD&m z3;_|p+uC5v=pwaO5lnTY_bsLMy?q=XuTQW*88MWm1-E_L z8M+h49Qkf8G=J&~aqO?{WMrJGp++Y{ML;?;fuI6Tox}tTP4Hp9)X`;6Q>-p#-Kfi*QxEGg z@7~Ne7R$0V%XeOaJJJ>|Mc$thHcv-hT9BME9ylP=v#ISIv{dYf5Mz{R7{R=VLCka@mtzQaQ?Z0Vr1LteCwDPe8weC*O=CcfV_ znb(J_6j`hw5I9Q4A)fmOsQA*QColw$D#gT<$L*6`6&lUwiVJqY(=@O*9c4!3N92zJ zo$blrj-MKS(rD8Gx#IDuBE0osHW}%#H5KFY%+%h_4)n`2Z9iL_GXvZ&J#$gC10xETv|;a&wQA4jOr|E6WaXu8>Fr@s9y(DP0VFL1#>?GP~y0h%XzL zjVDW=oi4U&SNilw!`Jl?85y7NDj6Fl0)vgOyOEp<+ur%vLg!v*vebS9AGu}80D z=G@MPS#PDBq@ao4dki4IuZI9>9!UJipAT%Vv+W-o3`eizZmxx?`zrAxB!SHBq}}!E zDweVyQn~nNZ%>jCZhkPbBJZ56Tk#5Y@`ROdX^**kisq_jPe_L%y%Ol9bZgfG+jwNq z{5~4W0h;+q+o6$P&o~#+USNFuFx%6OoYqe5vi|-M#r~RlT zm>n>NlHfxrD#!^1oZee%WCdD(p<)N21x{5kGAXk_5fPq1T^f2R)#r~TQntd%3DW@_ zmKbdk+%Z*zw#NukO^3~nMXxpL3DP?e(D#pnvmdYn6FKVU+R39cwiZOf&?x$zB3&>p^!d$^7glOU%jv5Xuk_ODM2g_(?C;n;ho@uHiQL{_?5=UoJX|j zEjV@~{NF#mlZ(qAX}aR%T99g7||)Sch@HpFB5-9x0LGDGrvAn76IjGelN;9ee}K7o(aC| zXF#lUVRmSLZ92Yx}Gceg4ZvL96c$^WH z@R`^shik;1TmV)t{0+S~T&vPY)H92)RqnpB@G-nf zRo`6E(@PbBqee2%ldoAV^czfAc5i>5ynYd+rt_%z8_G0YlG;+FRCo zR+;QwJ~gg@Q}f!^&!@H5L}2h_4QSig?833vSy@N*NCeyvtG7|z;>_bsa!TPDd*`$> zYhOD})naz%0slQ69A{K3OrB+l>$|NgpRc9jZ(k|JLzhMU(4?yl%KLUkQm~N-9)-p0WwV=R&O8fZTE(`}d(i9pmyWa5Eq?pdAXzOSeL6tB}SqD>YJ5Ag9m{VaC z-v38R1#b=R6zE$7k3)4jjDism6~c@r06B$ZNo^_M0huTQ*iJ`{QatJ6{H0uUA@=m^+Im>D>mO#zuO#Z zv0FihZk9Z;*L*8|$jO6*mDIrNVW`&B>cIdIBnX4o1C2AHLInnC46`XEvn$+R&sW_X zx~SJD>-`hFbukRc$u;QV;049QQxxy#O@&HzFTlqok*?WucJ|XosSno7J7w*zRF|Ix z-LH3Vw}z~!Aj$39e!KV$X($8&vuUrHZ!F6owh>hN3N04NaMWx6Uwm{whuT+kNk7P# z-Mr#!*p057fwMTa*?JEflll1$+QY)Ra_-X^S@+q=D_@?nfB(~c2=rUTWihb1lP35= zkw>fxR9MQq=pHzAb-kh6f1YQGuq8WC_VluNeBog?$9(v_B%`ui{0u|hUiF4wl1qO; z6}R2g7YA=@drI;&8Im5|Ba~#$kBDa`gZ3+L0f`unigQ_oJ7&P(DB*Lg)4^0-xQf6s z%Jw{S_og)j$dc2V;~1kQDD8l*wk@SC&^lW8wBRLi@kSgjU@;5KUIvgOX;cO=aWpVacnmoGpDNXMczL_ z_wMPK6=TGo-au@KMKw@ctm&31a{zj$ijvu;hg$5XaS>0()gC#t7QMnov-XxNTsoT+ z*Fd~2Y|qa~U?v-0fZjg;%xLmHnt`irSq^4=f&=|E^J@V)z7p@QfbC~HzLP&lWzTZ+ zZ=avUOWt-9ahpGSzJoXD4e`axNhuO#8zUA9MiT=FWhDoh;?DX22Gxj$FEa5YR9}6s zn)WFull)edR~!+lmj$%dpieTkD&6V|lT@su+@M3qF#pu9f*JM65DWzaQUUh0y z1(~SK8=dMC?7c;)j=p0xAExwMAT&*`12huSk;l#%>oP;^5)8c~#?aS}yTo<+TDC~t zq%%<*DD}IMQCe=d?RfJngt@ERQ$WfSDw7wfZsg~?BM?>&(r_H9)<>UI6XtY*$x3lwf zvE@Y@n~Z_ez(c)O8i|UI&ZNt)ok@5mXC%il z;#KfNJU9}3$2L9NmlCF4oZG!Q7$7iMANg!JItgsj5S&#gdR969Dnx{^C%4`H^)HKg zb2dG*;+B=k>yg1f_v)%cBY9U~mxg)+`$=%rWUASl%;%Y{BZi@fLF!PskJD%cYs}^z zb=QwMf-Glu`2c?3;DrT&Jgi8fGndeRAk) zWh*LWXUH^^rp;EmNO!i-sxHvly_3JWcj2N}UGLQ;2e#H(}heFF_ z*;kgN=#BQvfhzHZI=cKvtH$l??a=+(9@%`;HlDdTS6%F<*xOGqx&CiMCLT-*8xwga zpP;fYeT7NVAAIWHg4GPTnR+Zs56o!0(ND7gSTs6$3xfaRJ*4A&4DZ@f?)i0ty&ib) zREVfURq0R3MPR*<@H1T!%M^89pU4TCB-+6ed z&;M_xvk}t<7hzMvX8=(24@R^{M3X&lS4^D!<_{hKLS>GW9JFulp@?vla@gn*C;H>4 z(#d#PN&SR7o@d^^|6j?`Z>d4v_iuYinh2vmb#LxNcTR1w+jZ0Ko5OZ#(=IbqlBP> zBDU33I$Fb!gf~5W&K11ue!LouKRQG{QTAyx>$#1606|qH62elB@7oY5@PE)!l-AhFY6B2`oPD5GWI?H2p*($I%cdyVe;=MXe8`JY8Hvx7Bls{D9yRANk22Ve%e@( z!@z+)R35*%C;#j<5pI)_pXmOw0R+=vSVJJ`1Qj~urSSkEX(VGT9cBZ85Uf<=#iBj; z$iy69yP4pH4HBa5jYQi4#^>a#guzVyekY{~QJ3?~=u5+prIo-VU^QC0NSxcBXldzN zs$1}lj*bR?uUq5V#ih)V72?rraK;`2*<(aC&VGa)fwGVepU&Vfaj(m|Ej%RwmZ+s+ zetqYDCTy3IT>lxVMcoRVK!$*jgGD<}U@o(H17;X?Z0mfrt)cX9j<}~)dJ?82dxz5~ ztotn6wf^E)Xz%&;-@sMkkMVu->y`si+vrPQpY$y`GY>~$gq1W?iEzfx^oxEyC1l^$ zG*HGo8~qH~-5Es$px#1}sbD@Do%q<)Pe3+%(S0IzJ;V!ixVPse&@i%67-ChPQ+MJu ztZl)UYIN^os*TSPddsdo<1QGK866pDAdaPstXw!M9Y8-)t>4bFS>uDjSMoyv#yJX8 zxzqyuG%G29gq*#NrvZ%Pme{TyPb`pD#m^|#evj0w3^NZsk+_aN6!hf9pKh9B4~guR|TAxznw5%*q?uY9z&$R|3~|%^s->tyEFevG*!RR<8E5 z^_d2D06ZcBn6#mY6)6`U{aRv3M}?qSnuEhMqBRZ|J<(n$zWm*x=6i|64m;$~w^CVW zxaxkrD{=-v@=1V3ve&%~YK$~fhB&XC4(?d6JnDXgk)Hg5Nh-*==FJvVLVMCoV=j?m z6Ea2VR4_`ypeG>Ig=e2KK2hv1%~RCjIs>Q`W-CO-v96ti94i1_vUV1U%gf($st&*? z#urj{)!*hzQsSxd<$-5)ud~;jzU;xNLqeN!R2`dsy6GGKI2<3hcIwTXNDPd9#ZaTs zV}>6R`W7@|5{p~j9uCM=$6|?(?8KdFr(42JiEVs4DQw!86oeO>*BaN3k@DV_bPqhn zxT1xu4qwU7Awr94L%CS+k(M#(#I`L*#lW5IIn#~Pj?&z`eK1tVH9NoqviwV9c#v}J|>n{(FEuv<~T1G11%@>7fslgfx@k4e4~a1JzDe&aoVBtW*W2DSl& z4Z1D+^WkCvz;KQ7X$hPYq;Mp?23mXcgxoi|M9)y))|@C?^pZLlx_dPt8)loYHl;LL zs68)@=~zP@A>EIGR6ZRuLf)}1z7@)2wZ}Z(Lp`bPYZZ$z$PaSCHMVR4>W!fS_o4NprbEFW|N0M}lZ=1kf6;GfXA7KfA|I!e7YqnP*)kVHdecB1{ z+q!+@eo%#M${6Nk*Y-ww-{ysy`0xjB_BU1Y72gos+GWfj>Gn-lkdp3b%?;3*AX5_; z;T7-)vWa9|k1Yqai2Zxo?Je+bceHBW^2S}n{b%a5`!53-!NP7CQXG_BZ7oW3p#0Ke zumkuR(r*`JJn%Cq;t7g4yDnbWIsn!hZqT2L|OglMP4xt95~5-?!>H+PT0BAnVpF`urI6>}V{|4ouM&Ok8bG z{7aPaz(;H!K&+8iqb^Mc&!a}th`UjkP=PY>_yB|Zubf02i872^l`@NW7w5cOm&WWq z19|abIWz$vfdotjv2R&#{{nF83U0FwSonV>xV%zYhc5=@{P}RT9|#2Lib!T`I^!*-`$gHbAcIw=Q)AUMk1CIdDL(2iS`_X7m1A);CX$~xdLK%H3dVzltRuA)|1=OueJlwGMD|> zpM2Ym$OdUO^gOjC*GZ%K1EwO3RDi)`pc&h zRWpO>-A8L)ii?9Vy!qF>@ul+o>`X-UOC(8eZ}<0Inb?fQka4gC$CAcgYtpix#B2JoQ;Si`;*H^S6pHu z*VMa92p4!QXLmroczmMZ+AYKRXeWT{?)wtFARZ62O%^3WXOaiC(=DvZGbTAo&VX!G z*!yJJClsXO?{w*;qdU$XwH;(-`9MJ4J70W^dN*44>|kMY<~f`I2XoFIR1E&slxR;jCGG}Qh(a- zYK*m#gVqUvv2{(D?COviXe$_axWm1&1E|Q+W}cAb6V1kW8u?_JJWmdJG2uO=y6L19 zWBIjoYIm~634?R_X16XJTM(9_HY=8R7Cs zyJe_7^4mHeMN{XtG-GgPw_JFJaRD?M&eYf*9TfsLLBqOMndSW;3NiEONa_#lP5`@Lu#; zf1_6C*y4?)6rbEYst0%g)&>yE*WV5E(G_UwSeYZq_78&rz=62Ff^I{`^4cw(y=uf- z8pu2%>6Ro!Zb73ITiI^p>dXsXi2J!0XMqEH#h(TQcEuZ5fbE&QXSqhjm(6zK?tJ?s z3>}BB9Wa3>EH`o<*o0{21Lg;}M!Dtn|Ihy z{egwdjk&aGv91)Y=g5IyQ{9n5Q!pF!IkQ2z;f9~)7Rf(Rqi(3F14UpN?_T!&baG)W zC|q4g$4mr#l`S7j1n#OnJ_R53ccLp3w)L^ZyF4F+s?duWRGRbRi|Kc=xL11q8f8v!U|i;Gbd+ z{#6T{r}*eh2l95!fEM-VOR}njI|dI-^ucr@&~bM2EaW1MKDNTt^l>xZx_(#iez8Is zhOms$u3UF<;rmGmx0+1?#~uZ~Dx&`6BT_2@rUryE+Pxg3U2|H0mzZ#ncYml?wFqTo zA56H*ETTz7%#bM{WcLF8h70RyaOmgC?%fxZI+RozKOev&pk+&`8cvEiC@JP)k(d>a z9si%Vob2g+o*RCITtDi7=0q*zeI!0}YClZ<0T@rCRx1p|)Tf4D4Gr^hBKg&_PTAdD zQ2T6ts}<&}m!Gx4sIFD`E zXlUcw#GSXFw$wqlnv(P?t7mzqk1yac5xXZ_iIfVHz6#9MRFO5FzVL&b(*3{>>uCtN z$rI$=&!MN);?dkyKGEb#k_8TXxNZ(dg#u*8`b9lpVT}NCx0jwjYV!ix%({zgc_>}5 z>^eW(@z30~+{0&W#_5C2x@r5y&`wzPo(<>oNYQuL-tq0_9sat4vHUDC@=pp==SF&` zy)zUtl2>~m${WJmG5y=qVI+#50)Z{CW$>fU(OO z{r)P1VRYcunDvp=o!w{)H2OcrzWn?mJnCkjrXH{};;qC_^;=s!Av5M(>KwpP8BvOZ zPO2BlvLAZaMxoFL*A;SJ&Zx$o{KnDnF7D*F+JAvx|L>hy1g*gUfSnodXL>w+@JJvI zFUstEQu_3aDLkeO5UEDZz`mdwTN41Q^pDopPq&j@!f+Wr7U1OZqe1-{0*}~--xdH?}kT&UL6mhqEv)z|rVv_;zQ>w^|I%cUN*SK^6KUfCL zJoWOa>vO}yfSu}yp}2h>5Ep_1WS@*h$Q6AUrR=_bVkFNJ-Q}2n4Ls50s(t(X*UeCZ z6kxA#(!lap@&rqq>66X%m6YU;EwH?kDq@g%@*2;rQv!p#p*G6CvjeteZ#Gk9M;aD< zL)+|kxCts5CVMJKcgfR_+lgUURKBCx(+s_SsheQB0ezelzU;4}f-DNHiZ6Uq$lk+k zN9=!F-+M!vy(~MfgyYf>21xBewSZlXC)V>Gkd_7m`1IZlH&h)d90PLPge0I#f~~U{Tm-eEvOFfU_js-bP zht)1Bdskj;UYl40v=}PrMd7^+GltQuK7j}DBFXx4-&1Z0C<599wM)$J30n{O`^FE8 zJ)J*T#oSQH8y3!LdgWU4=rbTI`<-VVkPLqvv~$YRZ7l{jBROU=($X`YR!CTvfbCq4 z(9AEJ7@EmLIv@+n7a!fqGuDMF_^w7_T5({+M3S-{0`JFOg(PpOAm>BQjCiU&csgo2 zIcBBe?!2%W>dHzo3+!^l=@%CjhaQ`}Kj3kL!Clm0X`-xAx6>;E-VRfbFEstDlvZXb zTcMd^IuEo9WtkS?Ccy0?O2p%9rpaqT<}ckoywaCkV+^6tt>hu#m`QT?rWiQ2v_b+i zH%pg(<`Ra%Clr2}{#x$@eRZ>iH(qt_43WLc-3PdQp)?CXSse_hAPFi~B{-}kgB`E} zk#?-S9v)fA`eYT14bu5Y?G0OKQyp!FxfyVMOfkf6OxyH%bGLCbOOX{7EJD&rH>x2k zIo?*&s2PO3-s{HKdqIaQ_u=#GI)Yx$6Gnrq`*1#h8zxaZVPb7E>=IdovSZ#(Mizfp?$pA;ls|-N&rk^L?%0w=b z1b8QA;$-gOdUd%!(GWL;@PGHred2@C;WHtU`u#>nIT7#`Y#ezStKu?iG#{53?`ab4 zj_Ae}f0duKJs|#Oz4_8C`{Uy|f?H_pRqtCDCy~=MOCMXQqL8*CTh3;ghE3IGREsAo zmmC>D^d4X2s-(580gB4_Qk!x#;H(^U<%tC*!u>#u_KmiOAcVdo6^g40B_Fw8l-Jho zIk(lQQ9}`y4}vUhHLMot+h;Xy%-o;qF<<+FNZkY4a~%}XCSwI&vj~th+v>``-d&wd z-hi*{!DtN`pm7e1Xfm9quir>M@L5MKRGNgL${IR+GORRE4_K_QMu6bk@|9>82Tk8S zE{UbI4j?A)#S>Io=K;P;ZO+mh(LBJ9>$jze7^XiJOk)WO5E#j(zHjF3HY*0c|Hw6Y zQhK%ZuaZ}A6o391v@Iu|hEtf#yl54p_{M{s9M}e^-MgXZnFTef2wU&)n*d#~7(9OB z^Qw6|tRh;=Y@m1d0bv_a1 z*%})LU|55-VD242XTgnA2O%={ouc0L58ral`A1l{434NAc3&&RltgKgFIJE&U#$8? z-kNaGO2W19xj*ZushqOn0J*XzAv_fHox2n#y0*ldMuVo^u~YbQch>qBEk#N*#m@x- z@*de=7`ChcWI6=|+yWcC04xsS$gVrs)ip?t)E*k9xP>Je%Nw8 zw=bJKoSabv;O+_4lK{ivBN;4lif+$gd|Q9sT{)o;5NM;H2TdwjJ^aM^$34CwsoA)m zl)oG9b>==jh;NhG8iVJiAgoj2ADvO>@dULwQZvYH-4wAkDbl(z=Mu}AmR7OCVo-u#ex41~M%aukm1Fo!> zYa9H(?bjzgRsh05Ijg)9_o(CM<+{gyMc-XX%h^(8oPgSIOJN!|_#8vv9C1Aqb-G$CX6u@yai zE0zb~C0EK?H)s*_$F~!rNVFB=Bx7U%IP9@ml+i&HMh!{W>kijpgxCz$@8uQ)Mve)e z`^}_ajvjFkEA2I#dxRQZp0WI+BzsE?FhH<Lmf3 zXQ~=ND~}Ff(PG#~N1ic$MrM8`I?y)CbnZ_YCxp=fG8hb?7rPwxX2Nb@)T9iCud}RL zbRq>eHKm`D3+i79+IdK#%wjXy$~_g7L~1eK5$60d9QY21oI~1ygd}fYJOQd@ydC2d zy?3PTgPvYqy;VwS@V*np+TnNy4p^6l4u|~>&og6*6XNCqgGpW+7GXBkn|lCheN)WH zg7=tQlg~$JLDXr`B|Bjg4}OPmxcwqJuBBQ8eE-8;o>&0uJLx+5sZVV$A~UKysas*I zTLs7lv+b4^_kCT!H=ZIb#2aV_)wwiUta)2BZT{t|LLT;x=tU&pUtgL2;0~Uup=s^oc7kxdN5NtE^a7%-& z7SP1iz~~ZGtj}acA*MXAOsy_lD6^GR;3J770C0!f{E2pSt#^CW+ans{)!L*L>8#1B z2H!1lUB<}LP0fc#CMSp5!h_(0{deHQ+as(Q#o7!Jh46ksB3dB0sJ}H`>eQ3Em-Tf) z2P@A~EPA23iZuF)He-_H6xM7@c(S?@KF8(jO}oIl5QC%q{StOIE^^&k0Qcs!co)iR{C95E74Bp;xSd=;6K16>$7+A8}=RUWZg%>vOdXfBedB2 z!ueAteuQ-J5|b&LKa8%(wA@xB;k+0ig&9W+}du5--+YNx4<@lsvZrh>c!}^ z;KDR_+WdgqEq~7Mq)aO4Xe!(<>o(+x1^nD2^3-8<$`3W)-$TgC@ooq)q3O)LlrZ#Y zIso)v0&_ni7z77j5}-BxLE)}~y1I^gAYPr6ow@<~)Mw&zVFT=j-63K7C7{Pps~pX2 zJU~F}$`czHJ97Iqtn?gcZMFG%!_HNw&y^4N$lb$=&tp^4gje+=~)&Fcfhr>fY<)%@wqpYtnzm(Y7ka;w3`E<2+cT4JS1EV0}Yx2 z;A@>9mtJi^d15V0>`5qQv04mB+b*xR3<7mo?n%XVg>ze{Xa(Eb-0Mq^=%X{mhbPSY zeh^G4kQ@wn@DpGFm6cR>A68?eg>%qON{^PPNlM74K>}}e1qXF@s^U~%qC~(V=bfgW z0`3O<0J$~*j7QgxC$^RP;dZZ9_l8_!%}^L^Ik<-+27;(uAO<&qFhWtkl}l1s<%xaG zmJty0O&DA`vBt^#el191WZPdwLE1*f93c|+qZjkF-2Q7Y8E*etlWHnPu84jdoTyyM zNDa@qQm5)UermLp6q#b>(iKpqsD8NM_FEnMj*(khkUP@2!D0_qlR7u zSMYVRod^3VS5XbEsJY)8yT;B4&55o6O;Q|?Klrrj?jpWSQq-wB>U}_tjlD&W&NR)| z$-f$Gf-@_#qJ^Huk?FT&|8zW~_F~vUT{U#|zRIl#A5x{n!u__Enq#A29cK44f|3-av9QmJ@}nyL#+ zYw2x@q4pLp7@*Jq0@jVTd!`*$^j}_Zf^|CKoL>dj60kg zrc7614l>z6262pTtp2$V`tdP}!Y^RQy+#$c-KD}zA96@GeSX@|V@M0OVxC-j1FyNb z?vj_`$*}-%(6+?vQM|4PhgVDQr)+AfX-H0KTNFj$#@th>sYk^>$S&3H`CF+1rC=>< z4-T%Z0*xI73+FM_>YEkH+0jSOvssF8XDOkfKVM(4ru_bOl1u#s z;I!Wk@T_=wPGJ4Ld4ljej}r->54m}^?mPzmpV1|oD_i$4&&l<*l77S=J~lTlY!It+ zQpNFv4F7|TSmy217 zHF77&$vcPCrf|)Cwu}ciG-{6@+>3Zvyh)vQpUSm&+{y6;J{|LvBP&_jCO)a(3U>V+;_m5h*!Xf??Z*%%cN!SjuL)2k&QG#o1P%8I8S zIG6gVD(T`&x_8|W$R1A}TbG~*Q*j4&?M#xePcY$7Pqi)g%(c{&kPf*|G_G*y**`zd zx@l{XrI@Wwg#Z2KtVUIlMZD-C-Enid zTZ|)~s^b0#N_^79cQS^`m-U<@#mbdesxE^rIs<=Y6PxLDX@BGQuMEs9t42idYauJA z2V5+F*gO=)j+4(m;99(6n}qBM=g4}Fx>tGQJk;-6pI zCi;#$CvBZb;K0c!eIva7{j2}Sp^r#7U}lp8J8u=x(^;Z($A!AbuWD(4Ie<;HrDs5z zmY7d*!evcyGL4fm5&t*=uv3%+S1UI>cw>FZ3xw+mEZuM!)5Y|>s7^atd4`hiEe3by z%1f@R`Zuu}NJV`EcCdDvQBUfszW`2C_w9CWQC$D?$0gTE`x8Q-=AZp<->jv+Qu53L z+lj5eSM|Cl>HgW{Y?E2Sr!T6&(zgNI-aTL@A0q{oEjk*VK(*<6nbDr?hJa52~ z(N}v#%EyO_Y1!UaB-b83KVeXX$?nGfXP5(6WX2rU(pZA>xly+M6HUByGDB7u$QeqN zHn#N{ToDXV^$hN0#={PmrryGuDP`P}^7@E*chNa(KIoa&_Q8f9MPG&2T|gNvalj^| z9yZ>plzFTw0`N{tQusulD literal 15993 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 literal 8790 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 OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00002.png index 1b08a4c679dd9a92e682580eaf1da7d58825685f..df47c275d847cd4672da6e3ea41b64fb7ac41ac2 100644 GIT binary patch literal 15915 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 literal 16118 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 Yz(bK57E4B8J^Lvwb-f1&HQVU_0pNA^;s5{u diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00003.png index 6b4fe5b6ca511d696c395bd77a76473944a4e052..c2f047ccd871a99f6aa89a2395c2be4da0cafa57 100644 GIT binary patch literal 15790 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 literal 15993 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 literal 8790 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 OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00002.png index 1b08a4c679dd9a92e682580eaf1da7d58825685f..df47c275d847cd4672da6e3ea41b64fb7ac41ac2 100644 GIT binary patch literal 15915 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 literal 16118 zcmds;XIK+oyY3ZGK$?vrMo=jtU8Gk*0g;ZBfb=506M8^UK~X@d(xnN65IRUlBSZ)g zAwZ-?q=aG!5Nc>=`1|ftuJdu9ckk;u^Ce`$WF|9fJ>_@b>$QQNCeu02bEi(7V$yo} z!06Pe)9+55qWVZj1?-X6Z!JG{O1VwzfvRzEHgSqrUn4)!V7H)PO5Jy{ibhyfyYu45 zlb2@~>u3a2A3eKRM3cu&2y>cSK)-tSt;t(u^mAHr;`v|VFP^ESqxtBlXiu4vj-kz` zPT9tFQrR+5F+7u^6FxP1z3LSB`G3cbwVdT<(YW8(;?8eJ`vIrhv0I@caRo3zl&>OY zf*9B`wVHFr)FhSAWHByTd|(}tOWFxT`F<7GNt(lUeQ~6NzqYEx3B)ZokE$r z)-;!p>a-WE_*MKMz+9Y9l>U}~n{~10eDmtOpJ5&;utgXh5gB<6^*%vlZ^Qdtx7j`n z^`jH=xC91UZVt3+tQ9Y0SFmSw>m4wW%q)k+#2ybH;Rn0!;^WM2b#tVn=c8_y4p`xL zCL;T5{`fW3x$j4G$WV$DG1^H*-ZQG_>yC#PImu8Jbj`rntgI+nf{qGG>HfCxhKOxH z&k+49qNA~~&F~_AXG?H-MXUo)qK;gKBQ8k!v`lSIju8W$%whab9JsG|NlZVm)z$De zxsv-c{;^u)1ab5BK9&2gBu$mVO>DitJ>>NMki7zvr0C|Q&%)^Tp5L-wms{GhgQ&{= zyET{sMDgU-fli4@$JWHo%%q6Z7iqrC`@PRiQC_~6-i;;(VlkH>)5@V#D}gO#uakM3 z@TAa7osg;RKW;tdX-g%mpSv2$hPM^A=&A$PyMZBZVrqpSlN)Y% z@oIxmeu!ml11E!uvxfmA+69ry_SK$(RC*1}0^@hkHNtUf(&lIK zUO;9Se$D$WDdgeAQ_7}F{~VkPaZO%lrgE2vMXC-E(DOqa3$wBbgpl}Jt21eF;_BDd zk+&)`J#2%&(IpF;O6Z9gAYP7qeuUo{xi>b5F&oe%W-4N?c3pKLGkb4j&mZ1jL}tES zCduYu;=LDu0CA;AtzsQynMoQQ}IBMcUPlElPbvHHIT7(D6iC zuf_@FjE^E0iY<}~)`^-m#4iiPjYm0s?)h*wh`ywt@xV#oK5#E0cDkFYK`k#ZZyO+T>#&UmDHVI_2fyF&We}( z%_*WF{M?S|-ebed%O-CiR-`}$9Au?gnJaObXj?R*c^-T(nY3Sm)rv8#qXh@&%7h1< zA?IVSEnbHn6Zdb}aV#Uns>Ch8_hhbsc9x8OMgI8uUz)Ct{6U1!wuokqQ)`ov39~e+ zYfJX0I{hs#QdOOeI@8HX!*ssdhaxML3>OX7K z{UnamaVk|e?ICpNg*)v-C23T}Z$9hp-x}7*sP6`HW3xb_G z3cS7R#BFMY%c)*&Mv(S%2~x_HFhPv}zjE@1T`pn&aN0LpoH3ao(3!ZW?}Jpo~%=iLwK;`&LLUdQVJ|p4=T?5k@T{zK&`53FXlt# z!B-!IFBq``i+o5u<0C7Z;4lZc{r$yP~|9lk+6*?9WvkTX?d9t{)3r?q=~drN=DddQaiKS?_q zHgW`}Yl*15JZ`865dUn{THX~1#PvTdd^$pMC1N^=qK`357i5FdiT{6D> zQmewM(oC+p`0DC<@FXdy{`l-_)N;^6C7`^R3v2<>6%2NET#WyTWT)e{?-}Y**ED4~ z3>Fa)!O0zC7c8H1R^DDG#p(8;m_*tmJ$0qm!&-~YUTID>%~M{4=GA+X0x-{uG5L~b zt#ECYq8C3?_un@;+m<-Fb6BzhZB|F-4k$OvycpI!YK>OPSmtxDrE6 zH4HcZIYfLsoWzjhTJ0VwS+YJJQy{SUSUsM@s7){=x5QQOnzc7Vp7H)`STjNHvI$R;X7SHLG z6(0Bl_sF{b2VXuR#Ev7)sZ55M&(gTu4d%T+<(2M~F%3@E*I9sA?F6>eKdJI7^#6QX zfah*9kZzKBdpNC|8posU>Y5_e?bWc#i)8;M%hBVD*}lA|t#H?5S|eaVS05PiGG*-8 zfMhFxYvt$k_RkB?c$^_^-M;7CKFyeE=B$sc6F7(8xq9nZBIxQ_c!O;)YEBH1iG*MvRPc!>RO94syuZapt8_N6o zDei4&kag32@GY6qZ!$Y}BKqC>i}xkxX`_b2#%^=)?+mb%H8|(>>XfMgk@jkid0=rW zlJCaa8Q$y06h$cCQaJlF|HcS9;a}Qyq^qKnck4UrIit>mCu%%)pV<<9)=AagKdGm}8&M z$~u|rnQ)iK|%qFwq{WnT~uLTp~mjC>JNt!80( zb@!Dyl~95MbA9?}L>6yPiT3(8dm!{muU+5{D+#m0CCq+C2py*#U-OC{fmoTOt~AGp z)E5YVP*>PrIjfggfXalA7ePTLVJvH(qAYbKIkA^58 zl*{cOwhP2vr&GkB$*lr$0&$kO5td$oxVc;)BaxvUh!sUlCC=UOa!$~D1kU}kdOHby zqny8e$_t4{K&-qQCt$GQsXiENLlN&G-8j)-)h`iBgzCUbVK8Fg6I?wZWI27QK)|RC zrw=3w^4_0jMCN?BvZmpjVha*{xht>*0@C!XnVeO~(Ia^bDv%QdF2dKpu%%%s&B?XJ zhxLDC_0pUuDSp?b+pSE5;OkAGeu`4>KzH;DV~!X~>`;cipUQep{SMULNZoD37t~nd zp+CvL;%8;%P5)@64>A>{rhG(vrBPhwvN)L5>n!#5U*kbiVUH4N$$M#5C zI3iDOXTL4ySrSkDbEDB|xnMO588-;=vDyG;$_tlk77c&@0Xm`VMWilS#0n-Q1!=&t zoAvbvh0*ejZPm+xH=Mc$<{QmC+to?K-P*v-eR^d{6sPJrWC+`B$FEAJ7Cy@J`?VeD z5LMv+;H9Mhh9XI*ma*zjt6<0yp#xRXmZ-(blrrhlS_)S~RE_7c1Y5Xz0$01)$`eQP zrf(=Vl~>F8TdV)`PrD_Q67SxD?*`B-)aW3PCMAnAG6}*2Uq7txxX(5bBF(woqLpWr zOPC;<%Ab3FT|6V`m);^gQIZjC_g*~ToJt!KsCQErOWuPMUdn%wFX47!S3G3q9;D0k zAtv8Fj`?2mCs^^5YbGHimjIvw-)z|gU3r+9tby%I^{>36M{EAM1jEZFCaf`bX--2X zhH3Mihm}#Eeqd*1wUWXT(ew63zk)`Uo6>J?1jtX3c4~x^dEa+`-wU56?NHZ##~Bg$ z#qtL1fiHV8$_1AActh)=+#8*Ny#do9tX=l9zL!ceRpOI<1;^?fD-Rw~H6=_kDW*o) z3g;Q*A;lkfRwg7wNcbXu-F9b^ch@%1nx2^ssp{RNZsVXXIsBKBG;XDS9fzDT zz}3H%9#+96y5e_=ZFDrWm$45F>+mF|yY7?Y_!~O|Fqm8RJJjr;536gYhT-tE&)8g) zwH$tDUSn>?$KZ7aVK1WNco>jdWXekW2uzx*M8nvf}m zT$IN7GQ=V{!%CxhMux5eaRveI&*KYMc(7g1B z8+|2Z4T)KpE7&MDpQeAagO}QU&y~Dm6DnhmBrAI3_1_&;>O-!c-2ZRm3RBg700Qg4 z%d8r*sow}Xr7ZC|92gkJa92CKoapQC(i;~^e(%vU;*2Uo6IEYt+DTvon`c>iYv8^) z#gwMo7e6`amMEP15&Q4#R}KiWdb2Wqr)_h9mMIp`M`L?Nl>YR80ZiN_Vb7crPj8AG zhVJ2Q`Kz9J-wo2MH>(5tT>y9PfQ4c5xR!e!z~AXEB_=k}eJSp^707De&8kx?QdEns zZl(16`iQ11i%CA3Kih5=@wq=I!_7X?u-V>G;*7q|apB(VLa5uPKFa+l6CA|wa-QfJ z@i#K}o%c?ko7EYM1@>irB4PmKqKF~44r(L*Hb|B@s70-tJqBQjIpH5p273_b79)~Z zOC#OUmX*7%VdH~=(>8F_p*}n65jH`PF4}hd=^zNY_V}!+;bqipHL0?l1Qd_H)c~To ztX}i3#N-{JNe4s|B_B4D`!0D-H>Z5}V|}Wo84hA%k}w;bOK3(=EK}tY9H`u1=*Qaz z_snI~Px9FrUfw^nPMDhS@)b6}f?C%+x8|IKA)F9ZFARZPg5JpaSNn7k41mmINAp1W zoH;TK#vF?Txl0NU&92iS*LcpH;+MpqC-<<+dTO6EPs>C4p(em+7A-0efWbmbRJ4sv z_|SK3j878$q8Xq3QlhtIgAM`)RHF(w2?NEw$9NmO4FvxUvBGRd!uA;VY#kGYo>?j? zTirgYc_~UC)RH5AZXPDCiv_qBumxtV5c1lK)eY;$Jht}_|7oi3yk3*kjr?c3T3)_F z@sT|^IQZ^_20F2)wM(rKTeV*7v_O4Y|5G0KF|WqZ>T($6u%x;#N+lz>*-dkT9l$*n zUnHtM^qebg3@>N(Yv}T`?;Bq3@hhS#9vDgewHKaN;ZpSBvQesM?byN5k;S0u^LY_m zY;n689`xkAx*?ANa9=(jy)O_LcdpD1<`K05Vuxe(r1cN>pUTv43S7dqJCwep2v#a?qlh&4~ekYwubGpZjmt?W1`?HyBIPSzQK)Zn^h zS!q^(!>y`(rMa@9s?V$f;JTvI^MckeHH^U)sXg>@QJ)|iZTG7wFBx;!^FWx^9+2o| z_w+xLmTQ1pF}W6Af?evjCTiU0NtpFT1=*n0r!*vm3Bc2e-%=Dq*L2&AECF;tO+%Ya zJwJ{Zk{f;#it(c=mqx!bZQg^WUZ>k+CW$j%y;3CB;M*a^h$QbR7UT%c#%)QIMrtP> zl{0)}&*B5%#PXk;Krz{GXFwdypv;YQ8kLxaWh~t1-V{OsgsZV}*k&Tf9@Z(C3q)O( zN?f^d%A?o|QCmZ>{<2VanRI|rUH}uRJ|iYpKhS1(iPAg0pn#rBYvQTQN=A)k1{Er+ zE+;E8Aq}ipm!qV9hpvs7B>wQ)7YCj82TspvCFh^$!6{Sd#%ye|rPr8gX)TxV_;S}? z_$tFZz)a0pmKDu%l>O{VqZj&Hr1{Ia@~7x1!w!tQ3JY#_8L`H*pShJ6C*ofY%5a<5 zvZ@b$FxvttwMnOhMZ0D`vcaqeZ$fRnnaX67MPVhyakF3xljYoJcei~D%*;F=jy%aF z#CKf;f0#g7ixsv{kQH$(n}K59_h-EtDR?uC)`*9zu))x+xSPp#Of{@_9I#@k-pZSm z(Bz1gsRq>jrONboRFagU{fi27v&&=cZ-IVpRd)_$-N@=+ z@ByYtEFO<9xh9I5y%Tp+E^p++Sxxtt(r%z4TON&g!Vz|T^BoG zYr>t2A*HVF4=~mi3dqT-|umK(T^6JcizlZ1V0DdVTT`)N|g)$+l z$OF%;<2Rt4*Y3UD?&(YlS}GfjT4~lwQdCm8iv8{{PPv6xS$_VDcKpH+^#~pRm9`3% zCk`%+6J_wh%EWLyFpRH7`hxIYje*X2kMg=ZXg57K%FCsB?`!;Rm9=aRnh;@tXu}YQ z0O4hJDj({&jMG9RfF2HI6MgsKd?dG&9yCcpc&{O*M2y!Uy_r&VeW1 zWj`AV&f1?tXZNz7WeXT8;XjU0bbgM>HbBC6v+vz+hAP&>J zbBJBy4Z1Z>%`?}=o+p5_*?IbOY(pYXW%I6$&@Jj!D_rUWj^JLxY!Rm2SN{iDF@(s{ zU(UC5V{2LA{dC4kS%!S(B9aO&LqX*^yMg=JZv(V-H2Imq61nbfL_0%g(-RdMwl%)- zju*{7m|-fM8}LqvQ@7$JuH_WaP)qx(T${2UvNzy4WacR(AmUaAB|P zUfG=T3Ia$!wj6HmUB-Ew=QZh4 z%%^2JWAcw?1Jn)YfDU7iMDm_B>-sH=Sh0wB>z$DF5#Z^-cx{|;GT&aRdHd}>Sw`dn z_-0&zq%KP=k{I|n5@HpU)8YL#b@uySR@zE{e$oT^>zp0l);LJZ1dyzOn!>~+Cvt@F z5BV(+(73F#a1E?&v(D+nA>ArMe69N_#VIo-9|lvzjHJYL8Cb)X+c~cyv{1g*Q_qnM zDa9G2j~C9G-uYb>vP8GnvapEcTr_pj`GE^MkE&j2hP~T>!1S-*1r!jV3s|g=pZ#22 z*Iv)7HMAJO5dCqm_-0;E;Li6}eW4#dPl|%$_3+ybfT{}c0B;HWg`W>~fYN(K#SpsQaf4_;62B6pBhLv)cVI+W{ zK{v#%N$V$`7tp3n`{P=#BF}PpNgrY*bEFwq)XqL)&dV@K4DKoIJA;Dyw$ zL3(U4b`JL$TU`4ayU4BA=`3+fNbv**Ig{~xpANivTZwtf>(m z5r!EfQJwoHA`~iZ#Gi0H3(^43KuL*-DmK$QPXnA`Aarxwwjl zPQuBBjn4ZGvP8F24??UCgHr>6Xc6BtP8;WD5Wue%whaK=-#zOU7@=~nyr>dv8Tr+4 zTeC>K|NX7OMeg3E3p7zj`NJ?STDJ_KtzqDIa)EmV3u&0u53z%Z$&WK1QlvT0ru}Kx zn14va7+GJJKAK^=Ozw_IS1QJM1^?vWx?zyU4DT)*QZ|@tH`%}ET89`hA3nP2#w`TJ zcN6`3-{WLK3NnwBL0nhXmK%WM!Pkr-YADzEM)muq{tlT2mgI7nV26 zm}KbTQN8rh_YeuOjfVXb>88|M{I!etNdDOPnF~}-5S}Tg#D$RQ#Yp1SnGvo)0i3G- zeg*C7D;dfICsrWbKO~eALa1j4ve_HE0AZM5q$bsJ@Xnj?OXIfVYl`ETFHHW~1l*TBc%x(rWM|vLXpYzEc&q?foqaBwfix1j|?Da*gE@dM>n1 zdF|{Ut_OoY`wutTIMMURh8bQyX-$EqRVGXKvO3Xq{8r-3d187)7q5BIw!FV7%)UKL zhhzrH8|ZZ7t*0N`mWhRF8uCsI$*Jk~0vdlI+iStLBVFdK^n~-WXxcPM>zIyvKp(%) zACjAQQey9u$yg4?^>#^J0LTWmq@K3-vxVd;4m}qN%9+2E@pCRC$+gkx^Y$Fs+7)MC1 zrXet+IbzJyv`}%Asw>&n?IQCoX)$e+gLlnwFD7of|53O*Po}Rtoqp%Mq?jj~H{B4x zdy%7i;a-+DLRv|aVWlnHU)QQK_FawzwF8^WRqridLVh{zWZvuL#rVrFR6g~pRTi=S z`}^Tl^)!a40WVt!OQtHs4|tn*X;U+6fTW2$G`)Tz@MgsPI%VdTV3GOs?&y}HzP!{pj*eKV zn#|>EuGez6l%zc}7-~{%=RIV$vD~0IvN~om=N>+q&h){!e)*BR$JD)BW`sP(C%>Dc zdgVaO6U5Pj%sX^cJ?R>Eoo!h+>i*m-lV{25Nqk3YyvLv&BY|GdO}LvPRz1*@Ju1^A z4g$@&h_np&LScFJwJ(cTGaH@%kcS#R)KzhbB_NmG?aF3U_@AsBnW!8w#cV)rSozTs zsV=0qNWa|r{#&5ft;H*oKjfITP1GI0_}MW#hu|0Y0BWWf&y^4}+f}Rt?>-7l*fYJG z$=G3fh77eySOC=j$CUQU%Hq4soD8nFHlC$76f1=(R9SN_Df^`LHiN3@<SC0#_^A zkqBQA@q>dYEbSzqek(JU9KL>-WjNpN(sOPbT4Ot6L5@Kz911 z62z}GC>JEx2y2J%{&cjL+nC$DT3yhC&$xw_3^_f$rk1NGj)2V%q=#sA6Ti$9x0%Z! z8F$KN?Czp2Y(OJ8y@zXoJe1YnO;&7+b@IyU{{#~}Jfw~Mq6wp99rPog@|TB6I@bej z&D+A6s^@adS+4yX-GgF);#PPh(jWHgHglF7c=9VJm#Y-3)PMk8w8{j`<`b-gKDJ-S zgNUSBqcxxWO0|aj_i40wv$D9AEo|4RXN3Px$w#;?K;G?tEXS{37h$kovgM;1Kn%4&_s)k{o21UlwoDC>TlLv#FMaqw zHQ~5|S0|br>g09Y6^^xl!x(e5c!cUc9b4VnCY5NCoGX*x&(a6QXoeNZ4#Y@~LB5+>+Q=qp15&{N;0Z8c5M+}F$p%rd|xV^JucGNQF z(dVu3$rZL>a{NPK7QN4U9!C^(R;c(sf>0hwfFi!)|s-cJr76c+IJIDnB@i9a>xejW8gZs2c`wNy6-|o|yLl_#gsUuP~u2Y#erj&h&YKKV*+7E+7;= z(%@5&)sA1&ch|8d8c5#s&f#^shKY*oY1d3>tg*h&-j5w9z@?`Gl=JjU zk~6_aGyh8__p%v9pS2cc-!p(gTc+d_{1v%IIHRO?e?HuqSx79*Dg6yd-+Cp14kKhm zsPX%i=Has>Nz)kuoVhCZPoKY@h?lpH_=AQf*4z<0hVv}a%kv%r$h%A zNLRi4UU9v{d~vL|i`EymH)qpkJf;3x%5Gx(+ZuO6+t}0xIb0~4LpAyU4t2yqo?l-( z9-Ls0qe)KDjI;=gdjBPtQ1)kag~kJw{I*lVvI}sap`p3*-(bS*V2YJoGTCygNH*cb zoGD|$#5ck|@xjmv&a|^$4g!ip{t_n;s>ZR+-!tk~oUv_L)~UF08j}b>-FOEK^>)_r z#)ELY8PY&^HTD#DqXBo?TTDtMVD5}!8(j}p1Th0F(OZ7$G|t5cm`@z2qNAW)USsqi z*6o*-46F|bW=7vDnxjl~)I7r+;Lk(HwZyV0D4_g$yXPjOZW3e{Harp7;v_KY*1yyK zBZEz0=H++5)9{=(6|jv!^ry&*5ZX3x>nm}^qWv(K5%Q%xx1`~$3Lo2uD_rm4$W1ia zatdwc`${-86{<{NnWc9|>@WZ>@{ra- zmpqwHv}t$n4J4_%b6j$IL3vN2M8dNbPH}FxmiM1?^ZI7dM@V`jvA0t)E$d=EZss4G zU4#C|X)qU`k2$7$$vOv^XCBY8BEipH#Td;Z?g-Gq33JmK&2kUDB~2ImKbuE7=)x&U zJ|8T<3jeqxe7~>wxiB4-wMydF4>3m6;qr!#q10o{E=*zS^aqZ^Sq$JTaDXr{JbU-d zMY2Bo=+_4lmCx!Z3t%RAy$waa4Ex0P*^~$Hf(^R3iL_3iIS=k^%-COA+>T?rZ+qHi zWq-Bg4)cG`+I?ayD0W?DJn{gDxw>I+E^c>b>&(M3N_f%3JR@9v>$onl?0=dJ2AY>k zG`}~x;pDnMTZ$$web@H}JOu6ZbL@xF*FX3a$HYXA?eeH|&H(L@)83KViLt;2S`g9V zVT*6mANoOV-7~GWAj+fYB3J)qGJx;q111Kbx%X;B*LaNcp?m?a)=G0bNx#L>RxMH# z5bqbVJ^ZcG^J=>(6+!^TO(N};5OYpE1?!658#WPX_(GDU$E?1Q@fHaN1EKC{-6wxF zGvVt{5P94ys3CrPx-*7_ls>ri!~AZOKU$uOQ_xD&uJG7R zGjlC&QxJ+0ktBAo{RhZSgU(G8M8^Gq+%({5)UOWEd;qWW`&+lxUVSZptj*6H4L}TGbZ-q{ zw0dgDx)p#=b-L|48(PgFvl4ln=cq zZP7(dfc@F(zJNDtnDSx|aMclxkCd~UOL5UDWZv1HzrQ~$A=YZ)F&n+ORHR?+XJV)@A9cSp~a zRfepXKLZ>ZTfN?N^ZBZLB*#W^9$|odFs@DsU|lki%fpzM0KP5^c^Kzc@_(lvBS>WVH=NjHB_R7Ss92yudh>3a$Em zYZ$qVc}ZoS97ON*3gChgU%#IeDdVVj*(b`p?~&}W*DA-fDzG$we9Du%*B7LDqMtb; z+P?-xv`-L+B>Tyh%-FJX#~01b2z$1E_+Fom($@+q-or>ASM@FZu*~ap2`B)qEGIj4 z_p?m?NoF!DhL#Pe_!<9PB}dJl_)Gv1E#Z$M21BTwmGuRo>p$qJfKl&r&5~~;#Z%Zu zjrEDGHoIjU()hj|v;rUrg_`D-!aa1BLafiz_{E_0Qd}39gQ!U5Y?6ToeJnMfjJV|WD!@uEfd>jel_v7D1e(g`6o3L~!KKbUT_3u8SxRgz3gu&#|0|M)8l1eUXFtcn8l*S@}tY&L58 zeD&#Po6E_eF3IzC9i3+>StEg3Z6fEv)KX(~{prgGJen`JK3y9HSX|Z^xwV@}5JnH% zK0NeyJqSt=4>;Nhgb+TmN=>7Dz|VVR;oJ82^v|6wjooXToj1&wwLPc^;4}xFK;PmmMO4ju79nI#T1WhOzm{Oluga=n8 z0UV_C3I~wat5cu_%*9?iJENkReEH>J&WJPvC?b!#FptlJ{m9jJ3F5TDTsc4(A1)L` zu1JlERgOMCf{q?N03HW`PYePzovg-V1~VDa=CrKJv~(`|*_$saZ95a82@(pLL#T>bUmwCL==>a?>eC||&iUGnDiDa;|@lQ~b5CwlgjB8u7*D#;GQz@3dOvd zhEVX65M?K&t+k#`qxv;xhANmn9Q8=hk*^D!C}sTJnaZ8%2_n2oyc`x=Z`T3GItvk~ zd8TlIlBM>-il3f(ZdFMG*Gw6XxBv(%@`*9?J745i>^y&pt!#ejv)D{BkoNA6{VKs{ z8L0$k+IPxHtE`^40GooCj9Se*WZ=sgZm`+kU3_=lw>xVnzT5N+-jKiF$5z@0xL7LoDVb%Rqa**^Sl8-v*)mmdFAx2n zKkA#gMq>_Z^w5?Z0~}x*A4#1WmiCW-_c1uKkpgIK`7up+3w76hBx=4j*E~Cxzm%{1aK6tX%vP?_k&Tc~@3zEnFxHnT zT=kSVDA@yd8bFpDz7ish9gf!3Ks(;rsz248CV8ncXfryGHs;1+3)0%(vSvt$xKp8* zFv0`(FAWcwQQR|}9^1-UWpstOL|ahoBL!4G9KZ2( z)NWj7Fw58`+cY6w1m5nS=$?1lc$j@(!F3)C$ZU1LjU^wbLyJ{XO%tr5MsN*(-)D5B znI@=5Nlh{!%UoW?Q8**TE3)aS-AB23?k?T6UN8=)JRG0w2;Xn7?1PK_6celFtKg4( zfsJNM+q;ISRAeRGQ#bEVtII@=Q?HEduV=@_lnQ7c&e!>wa)Dqq z#J242@`k{ADV$o1TD8xi4KBZ6Eo2YK!X?Cmxy#1^%akRgiz}gHt)P z2$$zYWLB-2;{MLEs9wv0mrhp5uut6;|M71N_6EWMS}uck?zj`5{A(Wb0r$%fa9^Un zQPq2^|7+Ij388#X=s?oSW7==y6lONjpKkvO8)b18p}$JUTTP&;A~yRg@V^m)*5UA< zxT6ye+s2vxy%iW~we)u0VQA~#;W`x@#<5bJbk1Ds&Zq+u>qbwfpYjgin%M6us!t_6 z9t92&!j!;ExRgO)`<`X6{zzj*lZXEkazo|G%S1!v&8lycCbbPPl7qHfi9LFI+-RT- z?jL4$8C)=k-HRCGxA`R@EYcvSE%Rf@KI_TeS%hfS13VLFazXoD(s-4~%D0B_-bd8h zA;+T|nT-RJJ5%<~K)~$XL61|Hf0^5@a`D#yDjXn)CR^=y)pSy=rLXG+{hPCY{4up^ Yz(bK57E4B8J^Lvwb-f1&HQVU_0pNA^;s5{u diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00003.png index e2f647c8c8bab59fa9e7d2242fb995059ecaa7ae..e7471c20ae4114dbe94498389f94389d6817266a 100644 GIT binary patch literal 15928 zcmch;c|4Te|35AiMRb>hqz#G5zBjlf`z~V{#!~h*%h;DF6e5HWvNP7K8EX_WO=BAq zV$#GIlP1PkhT(g;-`~&U_x=68|NTCX`!oNTIm2}>=Q`(gp4)k5W}OLSho9m4YYY!fR;)3E>S zo1-6(&bG3OX&O8_Th5BVylulDK9KbE(T8v$jV+tGXJ_ub-G>|USg z1tzA%YfVfxkNcUOPBU{nQeX!$O<(yRX|PdkiiwHgUAXqB@vVoGJ~YFYX~Z=dRRq;>c}c$q0nt@H*JPV{R>^E7Zyc0x2ST z`A)vvh+GQq#ZxW~pB$9d&osTjCiP0KNl#*)7V*5ay1|?Ak-Gb9FD6sCmy&MhTSPSH zQAs<;`reVF4%q}t6E(-cRB99+H0o$@(SUk^%Zz>yapN>3Q@XuqBJ>(t|4j8gxn z&q(!Rwu75#4=~i9mr>_=?!A%$dU+fiFF1TM{(DH5no#;MA;UFq)u!gSv;>Aa+8hNI za^{Ocg2K@DxlhWo7bAKM@T2f~)KaMfel5f{hjDPAns%MVZe!8^#TRQT!u?GVxzY*( z!NS*&e%{VHjUgXIr!wmcq>;6V#J$6*ef;>xi@g^bB~wFkQA;uk(TuFdZx&t;aodb# z#}-hRy(IcUKp+0O%uNh6QG43W{!b%{PDyv95AyDVsT=tq@G={^qB|0Gkun%C0v7 z_W)Ja&)j1)gdVfU`S!x=WM19tkd9i2-#GWW2+SPV7;pK-uJjFJL z~Q;5oy`S3Ds>9Z%|PR!U^h&NaMy9SBet3v~; zJR4xsST$6$TVe2VE5YHwhE;DfSF@fIj9{!`X`lN2He+#Sld7!s2*F{*%@8;r#A-Dc z>s1&LzkOJv(Nr}3XjGIiw!%@{FYpe<=h581`YB)E$YMm{Dd8Qw4yRl*H3p$xGo*D# zAUV|{m}_^p7HNkTPBnYM^_FbqovEwg3OE&gr_(jZ;2x=*5gtjE{5FiP)HuAXI_AO3g6(r_7>p_TZj<$M zyLx0`9m1<+#z(PWaPgsf@$*aO=We?$sVYExM|v@LeUU1<9V+$;4|8S4UQP-KrL(p0 zpV)}TZ!@Gh$w>8LjBJZ}Z}at&6#~JS7i*I`vC4u|pEOFwYqJAh4=!F2X+!`oG7VU+ zkFV%ueprcYh!XW}srm-CY5XlqHwJSXV(N;EFUuN|PF=ylO{?w|5d#Ae{lGXYtT#0N z+B79TE7iOI5k7x~eLr^LwZ-AGS2SJ<)hu>u#`S#E+36wld(_edT)oj*{9enw8Twxv z6Ov{4&2ze+>a3CmHNOy1OZSba0fNI+Fu}(7M8|R6d%^sd2O`EeE;kGd-W+FhcwGpS<7Od-Jcd=_{|E-@0JGK?wlne4Fvnsus71 zEmK#+e&6d=*W8ckyU0=97s4Ph`o&Srv_z+%%Dq3pqNJ)jEWd9n(NX0<9|I|bPI=7q zQt*Bq)0DHTle&emj@4EfS1*We1golzxFqGx%llv1u>FN*I+6`V8dhp#lQL{rD^(lGzdJR`Jd`U<6R z|LQUShAnKB0%v&ell?Mc30DxezpnYq${GSt0_6JwK1~WNbli1PapCPX%&!dGp4O{C zyIn6-E^|++0j(Q_CUtV{T+=qM*1a_i@0nY($JLYRVPHhn;|wb~Td}6sL*TG}i(X2x z$&Ebd_-m)daEHVB^W6`|FI!}%ou8NZYBF?Cu&p&9JyqrC6o{fVv3e#@u4EC^VaXcq z<3hYl-T!lYqxz! zF1OJ-g%egVoVIxslE)Net0y7OieE(6suT=0ts;9J8qqiyjuwpvmNyN7*Z_wDE4_Q( z?}pU!|FPGfOvxpNLm+8{Um;y?&JHlFQNsSOcBkA=kuq5y(1i6D@o3o-v7Pop=Q`*8 z)Gls-DIr}XRPCe`J2UM*U!vD;%_-6ND=!po=x;0|mL-0=cN|YK5@byy?03}_wENtv zzXuA{w}D_ox}qaI&ker~j{TwRP;UR=Key}nT?WQ(@=kmZG$~LnCvupxo=aF4%Y9(Z zqqg=m+f_xkMzq!CYJK$?kWb--$3v%x@1$RQ3+0fJtCuGmCFG zht(=id`j1VVlnP*I5`z&KJRhy-81U0Pj^_4 zLu_npMb)H;@#I>Fgmv#=$8DGNg{ZxE@y>12v1%T5Ap^`(f7#&3v@q~!AHGvYO6BZu zK#ps~4LwXQvY|{YGj^}HSXe*DwQ90PEP49o1$61?v-;njt1!8?x3j5g+dvTTXG+~PyC1j*+ z&ZlMIFUd%?fU@ddeZIsA{$SX4V5i>qtzd2l|E5eJe!JLjnlt#V*Ddc3g{G-&ryvP0 zdH3%TKa_Lyy>e074lkeO)}v|{41y$z(f?f1xuoBM+wI{(Q8Lz)MmV}TNzZ()&NsJ( z(vt>(XTQQhX4ExgSG%SSmlb83^F;r1)2WKPtu=W?Foj`L%g+k+ntiSgJP9#~YJM#* zOA!oJ-q^LDj5bbk7Bh$7Xl^Ykg(gMBPr3YTIrhuPd^+Y(OF#BvAduA_HT*`#ngOd% zhh3h_74Ft`Fy--h(`@{)>z`?`frbn?e0XeENzGtDB)Rko`_xCAhpewbWx&NOJvB_E zYTr%$%u=zRhELId)gJtCwQa{!M3_@Qu@)DWb^_OEgsx6LlCUvWizBRXIm9tdv(Pk|))!I&)Q^xhwzMSq%CA4a1xp+4ssA#;_-*mE7>=b_c zxylmioA1io+4#jv>9O3ep)JEx@9F5cw(?T3sW4j@&MVABtrNJv^q&J>9Esb;MYdUB zAO8h>Fi<7JQ|fMS4wc}_D+jeNuvgJ+D8c8VRB-q9}qA)$J`7gl4L;NIrRPpX(*I*e%viJ zIAhbF8}>N_|M0sP(L^E%sN|oFVD)ixFs8WUQ3b=CeFtNGB_Dy`!a>!|mWNtT{I_`E z^Jm3L*_ECcU^&ahbh)P0U(~pu`e`7@zeg;2aPhmciEYlk?BRgd$c9E7`HuyypytKp zZ)bkVtx?Wy9YO=ou%7d)^(Je@6gYfg#Zax9Y07C8$(4-k{<*bfH{e5{IHDinn(j#RDXkH0e<_x z+lPxt4!Aagaszp^Zz*=K%Lxv%hAbg}_ZLCUdC~}}DJJ2K#Bhs&ac{m}c+Z{u#%@b( zDPNo!Bzw~jsx$?1!Bo1c!Tc%svOKRcTVWfwG?}_8EpFMTguMesj8aUfs($A3hJGfW zu^fB+vPXu1wn64y|6FuJ*HF{%?JgO00Go_93-(e7?F+QgKjPvji$2a=lTpJ5HUWa< zk2wmP7wmfceiD`f&6h5})yg5CMYetMCkMNwpkuE7aI&p|ycS{y$wn5~9&zRZG*B;3 z|7uBHh{(MPu{_$|>dCWIa5yZvM5nP>RVbZEoq@w>In-T2?F{NKE?`FkmQa9T8!9lJ z60F+OqD$!xy_@0moO=rZR>Os_Z=us&hXa~HlesSwJ))2Zhga*!RyT%_tGB!69dS-A zhBm(uf1t*CVSQ+iYo9he)|%#Vd31%g*>2oCq(VvKBH4nfE&RF9cuhx!BgZeDf-i=-1)h zYaRbt?{h=+-YS8khXf^56JX_0-;`A%G8jdc0AlI zk0goHG?q0(?DXOV<+H6Sq-KI5=WI$m3eB(1zXoHvMnUI5c8vy8+E%zoJpO3NrtWRT zQMFyq1twsldWI(ryamF>bo-7*B*S*7DO1?<`KwUBF`h%q!{A#p0{mW}GIvHAVI(YT z{l<(Hh8K^g-*#!McPI1*DDk(Ts8L<>qklV}Vbxlg3%U_J-6+3lh9f z@g#M(j+mhO9-2!bT>vvUFOQ$he@M={cyKbqb!I)xXi^?S1!FM87J_nsAUA)t!{Xhz z^SmdsZ1!@Cso?a|Y6L=>vjvn@lH3f6{2faRPAF<82Egr`J-+J0|rkU&;8!bTozaU$mgGKDi*JVsRTvxX6>&+jolttpoG z6WR~BY<o1>xnA z$K{$Ot@Q^-ZwHboD>pmsXVf4NNPeYG;|FSY)q}-mUG(-eJQ^&NA_M%eWLssY8ep zo`8kYS(Gv=J$bazmvUjh`Ln6fj(&HAxY)8^g%?q__e`Vnf`OZSx%?_=32qkjGNM=b zYQ2GRM<m*~Pi@J`HT@^-1jW z1{9hGo21y>KkH#Gw!DcY-!7>anxwbu2HfJeVM$>n@7qgWkPw~v^sP3xC}Z=BS?Hk_ z$MOQ*BS@p(S$X$PF=g-UIq#-{Ym1P}2OHFff#$mtb_*v{wu=>ZGXBciz8s-+AE4F# z3#KpD8%(lFS@CLMhr1a>#|J zw}AI&(Eww5kr%iY(etIymX+5@?fRpl%0#Hs#?Sn&+K;e1{eF#=*p-B&0?O#ier8am zuGSgW>&zbCx{C5|wj7u_Vc{^Ik5z`pKL0?E*~Y{VDBnwS#=;9LJ*jZ~wi-|i{5SJ! z5u?;^0fIPq@pK*Z>;Fxh#zjaoAK2>a!CKX_d%cvsgQ}DV6`tE@qZWgtm=*EZ&XejM~%&nmerDx2=U5Gvh*H3u_KBd`ZJL2Y}zf2 zYsifhf26lF4!&2rO}dZxNk0rZ|F@)2u^&(D%$?jPfTY=Wr&HW$a+7%Us+u9vcdNX8 z&3OP+&xq-p@d3o^#Jgenm3{xbhL%^6>VjMV`wg7g*xT!x@qzkZ;=H=#`TOPUs9Q@$ zJpg!nzCs|3g9mjjL{lyBd~4aI6o4i6IN92SRKcej#gfr(WxQD_46$SvHH$b4;;O-) zD0P$r-%Zg3OV>FcMW7!m&M~KO)N|(=3|5KAd)M5Bb#(C|pOU%-k2dvJ_BsC#737ev zY*5Y|2mMrmyOTK&Adtt($%YmZt%Q4iDBg?IrO8F;7CQ}s{TGC)0TiQz>VR-X9= z>+x62<{P9rqw#=zwc!wMc!qU?3`iGLJIJo1Q^J#o5plx@C<<^GPoKn-m_I0fq zXUNvt{K~r?(lzf=rg>(kS4ss1a+F7(w~4p|YqZAhm{d&`l+EhsUQZ(gtaa5AOZ~2M zfrz_NIfXQ^6iSxRxEc(JR=V0El2U5+aSLqfknz@CB@R;TdRHoXr!xBr`{pqUKvFm- zti8Ya1AI10J$;2Z+I_!=a}_UJdboOO{iEB-Is^imq!)#c4HB?y39WPp2iRQ=)}HvM zhMS)KAX6AUXSdpj)|7!boi_!FZVF&sh#OQ4KJAb2oE)r)@D9lZV=n$>gJyo$Femtm z?e#~=ldg$$!7N2xJhOGxw58IxU1QVBtKkBPB}nlp7Vi(V@3jR&B{SR3s?5uZhEDui zDnS?@fo&b^rE0`#p|e6~cc5UESTc3@+xgL4R7I`ORCvRQ=$`{-$I%6$zKK2&Puy;- z+;e=;kC(CL_72nIU+e7~SGvtn=C6+E7f&7tYZOq4i0~ELW}TGJep^IXU)k$jxM&d| zs%2?vcz*cpCSpqMnENl>Gl%)jzYz-?U?nRj z{N8wK%w4jI4tNb%RCvl#3Y%ws`-$3!^(ghr>BHmrYfP^(>iwq0iXt6zt4PJ)?=ME- zxd)|AIOEKpq+L(Y zb^POTM?ifpX2nmYzxYe+`YV^M_JjHSI6yub6=2Xuwi(T!g7pi->qq9uR?Vi&!F-u_ zt|RbZWL@R|!<&OY7L$=3bH;s6#L@NWpu^-3PbwLu7{FcJ-O+kT@B4t)M&Bzg=QLEW zUnH@doT_M0uaC_$?$e4!x6mHDXS$pGEmO3tzN=cbkq~#hFtz4WA22fR9Fqo#pMGxG z$40lzj8r`xuNW{AJ>=aS?Xu?TGkhn$n&G_BM~<2XYTIh>T^KHK9ExkBAMCcah>dBf zB}8Z5_^VN)UXa;aZ7N;%Y3PZM?n`?Iq~Of1bLeM(ZG1~HeMxSNlxy(`e}%bB&uh%i zI=S6IHn_GKg(4DMJ}Eo$cClion^6;(DO$Q zX=oQL$F*1zrPunp&+}RTS#zEW&j@8fz`dgbsDQj5{h&_p7SSK-H>Re4mj97-48FU8 zyxf!v@RB1-7kY^3t8E~ciY1rwnM;TJW2}(L?k`Im4}0Y=2sM}21?ll405oHNOQnf# z)DSWcdB9L0DSxTeZHi53ZeL{ccv57X>Y*sr_M*=lAmc^O#~;KsynU>k2E#!TUZ&rR zJ{C^!>xcvk4OROJ4iC*D+cN<-W`&nEPNw`?V+YsvNMy0q_x|XNAN-Gd(b3^xp`&pE zv@3qNBzZHs4`kSuZkq!D6}O8X^T}@!O11QH#rqWw`k8kdOP9?(8rr?J(7;kSBq>|t zW`UJ78ybC1N9|Y0?XraKDW9VDGh&8pIf9;WF!W+_Y8A5K;^B2R3ytJeQ0DpHAzjL8 z5II?>4cTflVX4PrXZquSw0wxmcj>i1(d%G9r^dktrBewuCfROc-zcFF6WbD~g~m(q zCYMFPcDXXrTn93w@j?&>ihp7tDGmLZ61VZ&z(Y%q@BP`|KOu30JzhBt`&}#6t*xP6 zqJB!WydQBuGv@SH)Pl0VtY9GrcCI{sQ+pNJP}^Zmy6~>S8#L`BhR_<%XGeFq+g4sM zo$WYqmNaU;qG5j_I@D!sPLO55ncN){K-Fc zZkDeb_7xFHkFWa!eKMv*vQ4&RFw{jdspj=RkciHm(~PG8;Jc7I-tuhO{{y$DVq<#< z=#q`8T{|&+A|9}zWBN3N($zxKkZHAb&U!&o$pE<*OWxXJxV1bht?o3U{^VEI-m8e_ z&jeXS)~iTBWbkU0+qFnTZzq0zwI{#!3hrS6F+JL|utanT*bvMg-_3S7)XGO2-eUc- z5hqfZd%*nyg!jtshT3z6L9$oR&;-lCn8`#p7j7R#RO?pb+hC_pZ06pQD*y@t zpgc-e|E%p!lsZ75YmzgF;XK+9NP_b#*F4U;kxQ-9OG}d$(3ap|OKA%)e2w2pHGgc7 zyXR2+N8lm9nkIFk*C>!5*!ol53o-5lI#fUN=Yr-u;|xmy`ddAt7NoM$AbPCE`h*FW z7|MdHMJ5hK;LePQat9RcEUa!M~DHv%8T}rV6?t=Xd#vY0fNK2ZwCdn8RqOhaz`q#SS_C6^t1En&ogK6YMHl%0+L-9&Bsr@&yiUSm2Q4OJ6Mua) zgfMoL_(!*+A+G?eT-qbYjS8PuDt;(5UG^YQiwp)q&JVTr4!5|;H6{F=C(;CdE|kVX zOfihLK{I>{sr3uWF7!6>SAZs%PucDQ0iJko_O!CJ)r8ScA*nS(>KYorkCl-aTXACh z=QTdr$>=Z$c^fxnxi?9gQsDL;G1}H8u&Wo6B(tesj6&PY8BY9i^E5hz&PV=FDG@13 z5=m;OdB7EJ6QFMn_d-qkzHfzrH$9cn)^{_7)gIWS$41=9F zi-)iI2SKzD^z}ZNIED&LuCmAXdP^N**R~{t)&KG5PR_6@lOWgKs2^x z=Ccdj5p7#f-33uSJVN-=+~n$Qi(ir(6#QUf(@!yJC{eRu!eaWj#5)bv+|3!=Vzl4vW*kVbhN1dM; zWxr8}C*+PCh0Y*EXUWIR6u@X0zHg32&L6*j^!~0~J@TwerG1w}<9}>o4Evj^niAeu z;LhdWUIDphn&xUf6(SZFm%C&|nwU~Z<7ZgkKV=fwZm0r`Vhr1V8O4w07dQ)-ZiuDI zE%50@J4R5c3ta$j6xEs?KDtLo)P*`6Sl-htm0GM1D5Ev@!>+Fk&5Qs`z%iJ0m zvlkp79ru4J9b(DI1LWKq5b>ex(Nhrd!e(xn#7-U%d%VU)8-P&y-q1grxLB3)I5gVp z#Gs)lrfx~{Boz#h4$u5msi6Q+@m7GKl-1eq1xByf$$iqVU7?SO;dC01L4)9~PfVH@ z|0yCKS;G8}q!jTy)NDt-FACg-eH)pvy5_?3fYt&qRxKzTb~|lSbpX&pVYmizds-)- zf8CL=f}ujKv8D@TWfSsTq=8uMD&3nrx5V}M?Nta9A+xiFwpI@aAE)@0?~AmlH897y z0=D%l;b*ErmQSiY>3c`7NM*sz1R$UW`1=3s1%L?v=o=4}tAoezeA?zP+}zsM_O|r_ zAYmlpLyRUZd#o8+m(6MstJ{|eJ!-LDIn*fi3)&_Ade67D&CC1z>=jaw4cmJR3??1w z(=yX4N!stCFZd|#F&qwRtzkiEK!m`yzxyYxs&rg|m+_y8N?d^FBrj?2T%x*m_3VCnmX=h&`c-QO3 z{=S`j(-h4FqxK#E(G6b!nnhR#(r<_p1)*0beb2v!9!p0GZEkcilOuS&%%Erj&} zza7B*~IT+q=yC(%cnxzYaUw94|DmJx|+p^s}eLzYR1V6u+x3lV@MM&d4&9aBd6rfKR_*;vNOH|cfuEHEz z!miTNmD6bG1m~}U2G$(4-S=FxeypEntwWc_RTL+|I!Z0SSwh;5l4|J1hd>f5B8-$D zEeW6HR>7|#O(x}&OM&dwykBfg3^c2CcP#|o&dpgj-mx&1rnGJ83%ykq(pd%NX_IQE zsJ0a~c(JM9A2+-M7ufvfk;`#e!Rz|=GGI5ZhjGSV(LYQ097`112jnwlLB1mi+~P;`*BN`O-rbpl>>d_wA#(D_s9DM!tBsTggB)XkUTHn0wO8e=6vUjiyfdLKy+>T z7t-$x>w!kZ;hhYp%#9WNw1bmd6ER%8tLwzEf^}iJrW1ZY03B;d9k2QU0lHvAhjm^h zb_(bR2oeGLz@s(a0MR%dR)(}8UnW?qgmuj)zRn2{MCH@ow;k^_FK0HKXEmFWtlj{; zjRa8gz>cNI!UkYn7;9Y$)L`9tmoU`i5>vS!*)d1kY)Ts@EI$0|qZonH=TU^rV3xkvWAAuJyPsi@>=iy6O*K746o zS@l-+DkL2Qh$d2wAM;dixsH06&IogDfOE5A^Zb(&oyEF9@N2mhvbQaH$0Ea5{hVMp z+4JfcDxfLRc}_z#CgN@--zgfruFxp@;TTy4C*n+gJvi@&le51DI8Ji9UrY&&=q8T% zzg2CArb42_94dK6eu?jj0xs#vK{FEqV2~mC8psHa3Q;&jj5ksbK;#)+XV7}tNn6#2 z*(%=6sWQ(1WWRiaxE7LS06fVdN7n_CU>8ej`v;K{qijGwF?Rj6i2M!c9w83#SHyr+ zoH&4Sqr>sr{v8D}DgaHY-ZmK4bn_7iDx(j#Y<5}>bt7!`-=~s2!i9B!1kN2d+e+(~ z-4kugfP~U^=}1B$*o^_1o<=<*k6Dh4V$@ReY|{5laJ{Cesmd&9ZQRt`?A&w`r(O*Q zc9OK2;U3nr*?M9)z#ezW<|+d-)IZB-8dMxrcrQ=U!HOa0C{?HusGxLTVh}HK!F7XT zsuu7t%+nElDR5LWOXHmvS5|1E`r&mRs~25tUPjM#IUk&^?2)$L{rKieQ&Co=`|9$Q zvT>UdC4w8HP~q*W;Xq8_$(H{9CL@{LW6f9C!}h_`T7A-j+qEb;ZLHCCLak6RoAig3 z%dzbe^@6pLHcU@gpNwMzk&hqzAJWJ6=?g-6(C^Uaz!sl0j)jJGaa?J7$=JE13;7swZX^+{Jp*22yI4) zE#_@xad`;Qd4o67#{_j@M%>q7Wz4eHY?!$Mf4N22?wtOmT!*uwIB;O#$zrN@`XkF9y1*=6h zT78T%rq|ZFa7v^-U?_iLi=nOoN(Eobx3v(K;ozbixS&S<4RMUx&k# z4yxMb0foZ0j~MREm*`xb|M5l1kGME2vOJZaZ;cCA=QKKf(eW8gRm~(ri!^io<=}IqPTh^;3u--z(FNP zCoB6rSLeDsxG8^qDylJN4<82ORfO*M57c7Y7fdp}JS&|qz!57_h;JnBy13z`iinlj zWP&o_S|q&uK8BYl@Do}A_CNs_)wXQ6!E+JmI$X)-hk-k(+_S*W>5r@R2rJZB@SBJo zBeEDyl!TuZ==o6;1W7}V|L7V8LK^XkLjx1Lx#x6DPCnqrek;i3M&I)eTf}-j=P0cr zlc4X~<_!fm*{1sm8y0G8}vwj8zKScKq`+t*J6YPU=E&enuQ z)O^AFA9d%BG<=Mr+Ml@e9Cto17)Kv`A;kcP77=lZvX!+X)uX#n4T#k+FtB&4o18|6 zKMI_`N?0PC()cvujnPT^3=<5qkC>jROR`c6x|#a;TEW;2rVHBUM^QvAw+eZ0$iX)0 z&CX=LWfG-AwHTp)c(b_AQ0(4kU`yfG>7}q~j`?T>&e}Ix6ZQiR=D+cWvE9AuNE)M zYMv2H9|mKv5~$Awl+KwOw;K%hEDB@GAzyz}qGe^?v}D~B^Y z`H`zpYV`xBfMX9)zZJUPCGXb|NACzUe7iW!W;SK_&F|drr<^dAwCfKrL~3W-`%k*w zRQT>!OGa}7N27l$T(F$T)V8W3dEZG*UVl?q|61HmtI%eD=3%=-tg#{8sy^H8vqE&u z7mW#VAEf{%{mEae={(w3hb{cyPsGZo_X0R@u*T$Zk+WW>Q=S{!K}IW(Z|s`?9jpq0 z0Kl7^iN2N zO&so<`&>li?*o=n#J+13eUBiM_3LzmNGZ8^|63s`3o2gBS zN+b;rdOvdBZ}l8RNB{Aau{{BFhaS!vU2VmXB2-_TjHiht$=lNwtPoCK5?XFZL;cq{ zcVy`K15&pyDRsp1(YV}vLC|%(j@v)qbwjx=m^z7K*wQa9(GvB?oaf*tb53HBor|tkr7?K|TLpf{E!e>!_P@}p!wR$L75&_d-(}~S( zvfZhQtH5DjxQDgHG#W=kDq_2|(onUuH?c(uj(_QAj@-D5;~MoHT?~4U=dK%`!;AP# zcS6@zL>X)hd&%5gony(RW{%C5W%HbNfB};DLm+gP zTYq$;4r*2U4P9bht4k;MJvc8nA9wX1?V_sCm)mY^P{99ts9)cLEbUEY@Nv!lkKcpH*S?A!fa4GUwHn|x|2{oC5A54pIuWr5um^)NFJZi&_}k2m7-ev|9is|VlyvA;1ps2Yt>+q6?{ z@+kCfkGfc)RyT7>&KuyFGrsxD^jksY9^CCVm<(t`Qd?2<(7nJ{ZVdYhH5-?>E$Oj4 zaoXh8FLk~zx10*IU8c_-eVj5n`dFjjGW{!#wyrm{CklSrnk4n-{o{9IB3Cb0<>Zt4 z$Av(&brvOmr}5oG=5r40V?w?C?oyoYoFFI>_p1E)gi!Agn_P-JlBH?LKJMc%DL0&| zmA&=HRUP}OGzmB)(!$DnxysRVGf8}HQ6joLOPd=w>siSSQa9=Q`ji_oJ9xpa_dkuI zTy+|>06LXQC0&c^H@u99MX2!|jO4!H{p~V7D4;*F>hH!|lzDC^-DNtHy-sH2Cg)u@ zWAD*^`gKOET0L+)ip_B2CQBppfnKCX1%-xlpU$*S*lcppf;zv^$hJ+n+T`#zbWy}* z`X_r`iJnC2-)_b!{Q^%~2RvM+pNMkQNeMZN)aMtawZsHO@-33(yx#_dM%b9XuzK|Y zxRxw?oqG9s(YtOv>HVvBq0WIW(**~6!N;sdU!m03rb2#TB&i}OT7>H>ipXXY^bh(X zC^2T*kiCv~^HCFDgpJfmt{G&cEuS!p_QC+*C@U<;#?dy>GQx7 zz1r=+fG%xcv3e?;WG1V~a`<1XuavcQieAli%GGq^FN%Tu>6#lfJh%hBwS_g0u+hq} zy@EvhHs@`CAq zJvmF@$)(>rdU6LH87n}RZU_|jF=^FWfDvF2xnpp7m!uy791D`Mc3Ll?yDsc2SExnh znKGJ{)Bq9&oLJp4V+dqLy*`>cRY>bE-_$^}D;Hih!GVT;w#iZ3Uzslyy=wBf1lQhM zT-JEl!p4iQrZb-tx(jr<^Ig-vH0fi)qYAgx{YhYQ&ZKC*1!k-7lxj=6$?RkJ^b4ym znUew@WxTd;fGdKUGg|`%iNwH8kS!PXZ(I}A1G>XBE@b8B%jQ9PR_4{Q>j5iSvb(Y7 zjGoT1`l9QGoYcXQ?$u{)HJL~lNx1JC-kDeR{>csf6lbF^)3nU8{;5B3N1@!*&W_Po z4~|9C$%lh+BGZn>cy~0scey!Q!frL{e4L0+jqKcv1*ZMwWJm~>n#^p-cfGMzyZ{TT zw=qoViOI40waRQ5JTDD(Hn%1hto|w3TDsR;#$_#FbE*Sb)x2B=7F=@{&uLFOREIsf zk?K{^!{zRo@=NzW#c7rW_2*J{TFscyfj|+7>t9yd*AG=yB|Lwe|L_Gk5zeHqZF0Ba Ij#K>q0zaUKsQ>@~ literal 16129 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 literal 8790 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 OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00002.png index e2f647c8c8bab59fa9e7d2242fb995059ecaa7ae..e7471c20ae4114dbe94498389f94389d6817266a 100644 GIT binary patch literal 15928 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 Ij#K>q0zaUKsQ>@~ literal 16129 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 sFMxoSN$OO?&?lW|BbZ2$$-!rD8 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 LgL`#%?4SM*_f8%e literal 16003 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 literal 8790 zcmeHtXIxWRyKhjc(o~dcU`82Hkls{^s0<AZ3SB{91Ox}ANCXrVloBFE zN(fZ}i6JAA1SAPfh!6-Rgn+cW8Q*iyz4z-m^WHBfU-tT~thM*rE6?*U&&q=7p{Ro0*^qTUC%{#0X?Vfo6A9*D0!DpHoYf1~E1^Hcf{(8CpL~ zhz!$Kh&QO#w{r(3nJ7}qcAsJgYb|Uflq+2yZ0eFVwhEwKIFS)OACh+q*rtt>9 zoe|aTdLQzPwFa!Gkla1-S)zizEBCrwQYmFR+Dt2l=nUW6_5S$Soqqi~pK=vZ$>fCf zAJJy!;EcHKErYJXy*E}e;!+PsBgm1$O`*&$5$Y=X*nMlRktsvFXv8Z}>J;Esq| z{ZZevO^D(qnWx;4?J|{2?v(clmPHk-&BXH2CSb{A4ij5ehOj*$-pL3;`A&u?p;`x; z^bc8nUPR9lA~KJbQjVujOf6L=CReRwavr!SbvrsDl%xD@iq!l#MK&~Id0Ep^C6j^Z z2KR8Ahw|5=V^8PPA5|jKgw1Z6{Neeq%lnw;tlj1$LsXWikCJ}dxTXIPwZZEYhIqj-+#iFWp ze^g~X&t_5+g0Qcq_po~(jiso!&oG&9e(D2b4vBZspvTSCz`Jre0oPFK^`8zRAoKk7 z0lzvI4InCMH0SvXxEqXmH`J6%_9XxBkN4Zbp!!OY@!ybNvy2+w_?-u@U!X%!tnWxI zXNl+@IU$Nd$$rbLGM2>2YAkyW>3`esYtHQ8xklyh>Nx>%n=d>x4smkgE}*KY&~8_a zLr5aAT7#%-OW{Qx?p_S4_kU<=T4+6d_&7?6S}7%;q2f~9DDzxJ)DUBv4O_{f2&s#o z=O2lkRy{*2SJ&avQW{!sFp z%M1(HeBmPuSQl)8`@P0RV|Jc97JSE+tJ8JgYw$-Psy$RJjBdZd^Kh#l%$nYZl7rQ~ z3kgbGaUUd=rxo?sJ|V30vM3?RzY(jcQxJJBG_J=XXkKJYfqI9|OP@my{~$htxz<}~ z`c=}}VXnwYg-eg|Ik%j^aW}H8obb>p+0+kwJ}OK~pBvc9!LEmUfQ>PvL#ZDk2`wnD z)usb-~@o$8u*qUqlHINrwYBZ(3b_ z!it#p7sF7jNUgHh@izw#99ZXslO7EnG((%R{~Qpu_zN#GZfursNAk)eTwy?Ttuv_` zH}HK^fsBZuEVyZpUD?+;BsXpr-H89Tket>X!-M|PH8DHjsp>Q&vlB>zoSK zpt>_myHenedP)ajz#Bs2u9=9&H(_b)x+s*kA8)_l-aDy9cWQV&S(n<-bjYhox`3pdkncVm&E^z!;$+wG$NIByA^?Nau+oL5rC6bG#`fTmLS z-_66N_y3*r`Jddp7}8$GZc*Z<9^E_|~q*)Vf+ z^RC><(8l4pg6Me=SlD|S6N?BRnNEyI@NphA~{X6LfRY$FXes!O)rE~1;GS_S01zj+#zfB8Xul?^#%Ws~{-BsIX6 z8{U7?Q_GGQN}7>yDq!UVohc+^Fki);=9eN0GU|>Agg-QqV)wd^z2dfi@b=o?*Bw&8 zDy4ixc;OjH`;!#?O7`jWiKEu;#{K$;8r1-UykbNCGOP+13s>Bs=1*LD;Mr^#o7WWe z7(n5zhrGPSY7Y_ZtPm>~R#${;n9RiQPzz~&*_QD1Y*yoDq>N>ys_n?f96W_|i}E8f z^C(9LIo}tfD&9FI5tW=m3N+5QBY3pJoCO+4t9lH^hv!qHJ*MV^P1nC=4+R*Ks;mIe z|5K+V%GETbNL|m4zaGQgzq%uC44q4^G#t~vaXW&$M$bQnw2BB(G9v$4b@_>qc9C^F zjJ${4glwJ3=@Wry0f0E$>R#qXZs$Saq2(uuOY1wIsJAWw^}`;8tzmly%?ukqEgn@F zeP9i>`M%^O;uO?!M_MpP*vhiomVZYJ(wLnEds;FbNq9Heq-)#$;d`$^RJ;({`_qHs zJ^=o53g_B-^QEAt5T}(Sb4oIy*47R(mZg+8YAG7Tl%imtdVSl}qK0Mnn{r9-tN+wZ%DrjjHf=~76%GI}>b9e-Er6L%L7i24n)Z7$D zGp%qS`^&r)U92r9O(Ug<18=!eapo6KL(IuTsZ3WP2%8uA)+IVF&WOB~NBgRkf3OJ# zOk+BBgcqoR7EU+_5jQjO*Os@w;ys5xKZ<#31F&Ba9s}X2M}02SutC+eXxJEas*88p z6u+Dd^=*a0{q2wO*9kGQ3Z2B40##{dQbgZ;FN0&6293v^Ay;J}g)ceR9TAi7Nw#N| z{Y#=yiga5J69S4g7(0`0SmnYikZOV>JaTTQS!W(4bML`tqy;SsSd6UqAqAm|du2!zFabM3%CT#BY2QJ0^5 zdI@x3twHJq=y~dYo7BI|`$fj`>Y)Ae=~$D^v+JA84Sq2z&XLB8ZABGEAL!OmJ|WPY zb=>UYK#W_cw4fB$tI=Ju`6D1#W1)8J$5#X{Dy}`jsim~WZ3F7v%8Ujm{5fP4dvj}J z;|a{yJeC)J8t^LG;x!s!$}Uo88M*BMozx6fVA)5l!E2vxVsbHkssL5!{2kqj>&Gbo zPLZG6Q@#`&-F3z27OuCtR$0DvD1Za@8cMwaC?Vd^A`QUCw2)(&PSS!a=PTz>0MrP7&q zcr~JSY^x448336Qi^)2HN-nHeVPJjVzKAu#)h0vBzcx|g;qyE$FYZ0 zLGZQx8d1|HtTQ?8W$S~klE9ML91!!aZ2O6njso#?1BD-JYsXW(%?dLNpu0zRYsJHo zo$-vICv`x?Y7mRmik#XoPiN}xcMd&pzADq0qwKaaf?R+JlaD~EXuf$#UVvM8N&z)v zjzewGW`*{pkL6d~I_{||gqE(P>56xjm4RagLCxGB`>3Ifv-!s+H3K9x-117;yu7yu z7y1fJI#MPE4JT;^gX&ipDF5$}gs5rn0+v+JDG=Ngao;f;mRHi13mB|a!(N4%rgvct zpIT+@>Id5xjh{iyi(fnwz2uU-T(ePR*gWJsgvJ>Gk{A9#{?`R?3jpemOP#2QO-~E3 z$8M0NR&Fv6?f?4V!qetl<2|7B|G4+ulJn`;kKx?{wao*~apTy(o5rew|DP-{ASDX- z(Hv=ryb?xLvKK&Y(t<~rG_~I9Pt~8~4kV2MCYUz`TK$js?a-#rAvvwSdAD4hvR~fDCL0HcvI(ZJ7ia?M6SlD!5ugCMjOWuqAOkJHI&DIIcQ zlT#~928!LJNet~_Kt^y>zqwmz#5sxPwy|L2jBjX@uZSeCLHt>{B;-9n>}^CkIs(*E ze%Q>4{QX=Bj8Y}s`dW*+*HOQIshA1GZbE|7o49HpT%m# zm4{TDxAQFZJo(2E9-TH1NcGkD$y$vG#et`Y8p=MMKVit zy7GryugVOy|3MfGNE7S)OSLWLGsz(kdQhRI4;qvobon-k6;?06(R`*Yj=U$5>h{e8lw|g+^*T6de}iv6VWish z1aYaqxs*e~By@W)>b*b(JETizhq`+gsfFt4C4WkJMrOT>^v!GXteYZ@H1!?&o0W}F z?T2;Gg_o8GsY(UO-8}{gAK8KRPg_xDh4_8h{tpR;U-Wl8S)!>(xcl_VI^m3Rz~lrK z@vZ@Xhe0Pa^(;S>CRPWuT&~9Y^F3%KB1YnEM=1)QT2B}Z-%Ruxe3la)bU8fO;W1D( z2y3~r~mdop1XU@Xx3*rd=9m242P1Qc;*N4Q{gDISj6`yQn zy0Fh>S0HSDzxw{zB*=cHcb^l4Rz5JpX8RigSXBcsKfv|N&}|@+SS;53NNdnX^&Bif z+r+`d)|Qrj{gcH0*va%jHDbT!mH#MxkjWVmN_THZ4vCgy{V{iUYK4tDB^pExBH$^x zCh+tZ0e5GbBs>3#{na(EqY!edAR=2~z|2sk@tMmyzKegojUFc(hW1UsP=XKRy~Zw`VA zd^0^0W%c#0J7(QLH@g33JzmhmKJ>mIKhZ1qC?I54l8{NaQB+6%E+-jFffV8L|9!g)fJ75aV0FqR)0tlD25&h4cj`Q#C zc?uM)0-ixDF0VqvX5DEIEeb`!8`KWcvka)WQZCF{ zE~^`rI^5l6&Pi+l`i@MtXE(M2n^kk4@kl^={DY|f1we`MAN#ft((>=uxodjFF6|xN zH-D(&s5Rgus%Th;u3WX0abr%*wg%`N^Q22xE>J<8?mZ3iokvRSZBsn*-(5T3DKfCb zG6mY~kR+?BZB{V_W$hpe}&Qh4?~d#RK4_VJqYrk1w7C+ zPXD`k#!gJ&pFj56h~Np+f3u}{Z`(pUoby<0%JOT77t`hIyUch^5>hj1Qu5;_5+=FtY)Pzc&d#O2du!a2 z;D=g8%0&+sI4=g8uf8*_8Yjo1VK_Q;bx>l#Pj6%FqvYaE;L<4>VT+4Kf9u<8)K$JY zs+gWy2*rm%wJD7HLg9LO`vQlF;n)R{ zS}8J1Igu6cV*6*WXSI(U%g`uwI;`1&Y4R*2Je3H^HBx#ira!V zoKmkMAC-FL=+2NuiXO%w0{7CR&uqNQW?p0@*nMO9e*W4^hjWeQ9tQ$(^q-5dAHGKs zwu!`yle&Y7_oBlv*GOljFA5}(_T3YN7YS!rL zBkZ5DxI&}RVv<=LMW{~j6ZLTB7`fZXbbK@2ri!~ZyLIw&#qqv91h7|QaVUGNaXm?S z($tT4^;@37>8b?8$e6F@ko)eu*IBQn;Mufx-FjuPpMhXq=E_IXlBvs7cIWxZq~}iX zQ6G$f8}2tk(W!3>CZ$fTP^;yQUJjmmX|sWDQRG_efs&Q;a-~U0`IP^{taDPfDRQ02 z6w7XmM!z1A{xWki#;xW_JnV<0RGmV+8{ut+AGOdK-bU(Uh0W`$`ys5^dpa5pto4k< zl&BMd*HPTo{No|6g0qO8II^q)jo{v6qMxbCYlwG?e&0=49Dx%Y&V`M+b{LsmluDV% z^>=BJ=XdkMun)gK#AzPJ7=eY&vGT|5_K$pGed+BHDvt`dLp`g{J{fbpGR+AXp_peN zO^VbjbW%SeQ^D>|x+QU;hS?=T?M;)bur^N%=y@AqR}&j!{q;*>^m;>m098>b2lM)i z-*Qgyo-|yNvSOF(ZUU^vEcsGp$!HWV$kb5ZUnNg<=CMD_M2Z^o^M>D|(Uobe_R!>S zRG%=ugt-K1|GCOf4efd3O;c;pE%Sr)m`-(JsKuA2mUZC+BO^-jW96X$;BRPABooiuxC z_FZ4D4@@wIOmvH5?1 zEd&SPpky2}CWkz1Xi%t(-?@x{@v`mJB}{{sxgR#y--T(M$Z&?8=^kfI@YGzK*q2xn z!-hZh6rK;SNj?yBw+LhUj3xCK-qSUw;JJMDn+!VD$mEduq6_o`#q(5#dEG3xSdp_? z;LU1S{m7jdkHWbnZA6QjKEog1DgaRGCBprEywK?5#RAShbV#&l9(L<<+iN9ZKJb4L OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00002.png index 1b08a4c679dd9a92e682580eaf1da7d58825685f..df47c275d847cd4672da6e3ea41b64fb7ac41ac2 100644 GIT binary patch literal 15915 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 literal 16118 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 Yz(bK57E4B8J^Lvwb-f1&HQVU_0pNA^;s5{u diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00003.png index e2f647c8c8bab59fa9e7d2242fb995059ecaa7ae..e7471c20ae4114dbe94498389f94389d6817266a 100644 GIT binary patch literal 15928 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 Ij#K>q0zaUKsQ>@~ literal 16129 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 literal 8790 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 OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00002.png index e2f647c8c8bab59fa9e7d2242fb995059ecaa7ae..e7471c20ae4114dbe94498389f94389d6817266a 100644 GIT binary patch literal 15928 zcmch;c|4Te|35AiMRb>hqz#G5zBjlf`z~V{#!~h*%h;DF6e5HWvNP7K8EX_WO=BAq zV$#GIlP1PkhT(g;-`~&U_x=68|NTCX`!oNTIm2}>=Q`(gp4)k5W}OLSho9m4YYY!fR;)3E>S zo1-6(&bG3OX&O8_Th5BVylulDK9KbE(T8v$jV+tGXJ_ub-G>|USg z1tzA%YfVfxkNcUOPBU{nQeX!$O<(yRX|PdkiiwHgUAXqB@vVoGJ~YFYX~Z=dRRq;>c}c$q0nt@H*JPV{R>^E7Zyc0x2ST z`A)vvh+GQq#ZxW~pB$9d&osTjCiP0KNl#*)7V*5ay1|?Ak-Gb9FD6sCmy&MhTSPSH zQAs<;`reVF4%q}t6E(-cRB99+H0o$@(SUk^%Zz>yapN>3Q@XuqBJ>(t|4j8gxn z&q(!Rwu75#4=~i9mr>_=?!A%$dU+fiFF1TM{(DH5no#;MA;UFq)u!gSv;>Aa+8hNI za^{Ocg2K@DxlhWo7bAKM@T2f~)KaMfel5f{hjDPAns%MVZe!8^#TRQT!u?GVxzY*( z!NS*&e%{VHjUgXIr!wmcq>;6V#J$6*ef;>xi@g^bB~wFkQA;uk(TuFdZx&t;aodb# z#}-hRy(IcUKp+0O%uNh6QG43W{!b%{PDyv95AyDVsT=tq@G={^qB|0Gkun%C0v7 z_W)Ja&)j1)gdVfU`S!x=WM19tkd9i2-#GWW2+SPV7;pK-uJjFJL z~Q;5oy`S3Ds>9Z%|PR!U^h&NaMy9SBet3v~; zJR4xsST$6$TVe2VE5YHwhE;DfSF@fIj9{!`X`lN2He+#Sld7!s2*F{*%@8;r#A-Dc z>s1&LzkOJv(Nr}3XjGIiw!%@{FYpe<=h581`YB)E$YMm{Dd8Qw4yRl*H3p$xGo*D# zAUV|{m}_^p7HNkTPBnYM^_FbqovEwg3OE&gr_(jZ;2x=*5gtjE{5FiP)HuAXI_AO3g6(r_7>p_TZj<$M zyLx0`9m1<+#z(PWaPgsf@$*aO=We?$sVYExM|v@LeUU1<9V+$;4|8S4UQP-KrL(p0 zpV)}TZ!@Gh$w>8LjBJZ}Z}at&6#~JS7i*I`vC4u|pEOFwYqJAh4=!F2X+!`oG7VU+ zkFV%ueprcYh!XW}srm-CY5XlqHwJSXV(N;EFUuN|PF=ylO{?w|5d#Ae{lGXYtT#0N z+B79TE7iOI5k7x~eLr^LwZ-AGS2SJ<)hu>u#`S#E+36wld(_edT)oj*{9enw8Twxv z6Ov{4&2ze+>a3CmHNOy1OZSba0fNI+Fu}(7M8|R6d%^sd2O`EeE;kGd-W+FhcwGpS<7Od-Jcd=_{|E-@0JGK?wlne4Fvnsus71 zEmK#+e&6d=*W8ckyU0=97s4Ph`o&Srv_z+%%Dq3pqNJ)jEWd9n(NX0<9|I|bPI=7q zQt*Bq)0DHTle&emj@4EfS1*We1golzxFqGx%llv1u>FN*I+6`V8dhp#lQL{rD^(lGzdJR`Jd`U<6R z|LQUShAnKB0%v&ell?Mc30DxezpnYq${GSt0_6JwK1~WNbli1PapCPX%&!dGp4O{C zyIn6-E^|++0j(Q_CUtV{T+=qM*1a_i@0nY($JLYRVPHhn;|wb~Td}6sL*TG}i(X2x z$&Ebd_-m)daEHVB^W6`|FI!}%ou8NZYBF?Cu&p&9JyqrC6o{fVv3e#@u4EC^VaXcq z<3hYl-T!lYqxz! zF1OJ-g%egVoVIxslE)Net0y7OieE(6suT=0ts;9J8qqiyjuwpvmNyN7*Z_wDE4_Q( z?}pU!|FPGfOvxpNLm+8{Um;y?&JHlFQNsSOcBkA=kuq5y(1i6D@o3o-v7Pop=Q`*8 z)Gls-DIr}XRPCe`J2UM*U!vD;%_-6ND=!po=x;0|mL-0=cN|YK5@byy?03}_wENtv zzXuA{w}D_ox}qaI&ker~j{TwRP;UR=Key}nT?WQ(@=kmZG$~LnCvupxo=aF4%Y9(Z zqqg=m+f_xkMzq!CYJK$?kWb--$3v%x@1$RQ3+0fJtCuGmCFG zht(=id`j1VVlnP*I5`z&KJRhy-81U0Pj^_4 zLu_npMb)H;@#I>Fgmv#=$8DGNg{ZxE@y>12v1%T5Ap^`(f7#&3v@q~!AHGvYO6BZu zK#ps~4LwXQvY|{YGj^}HSXe*DwQ90PEP49o1$61?v-;njt1!8?x3j5g+dvTTXG+~PyC1j*+ z&ZlMIFUd%?fU@ddeZIsA{$SX4V5i>qtzd2l|E5eJe!JLjnlt#V*Ddc3g{G-&ryvP0 zdH3%TKa_Lyy>e074lkeO)}v|{41y$z(f?f1xuoBM+wI{(Q8Lz)MmV}TNzZ()&NsJ( z(vt>(XTQQhX4ExgSG%SSmlb83^F;r1)2WKPtu=W?Foj`L%g+k+ntiSgJP9#~YJM#* zOA!oJ-q^LDj5bbk7Bh$7Xl^Ykg(gMBPr3YTIrhuPd^+Y(OF#BvAduA_HT*`#ngOd% zhh3h_74Ft`Fy--h(`@{)>z`?`frbn?e0XeENzGtDB)Rko`_xCAhpewbWx&NOJvB_E zYTr%$%u=zRhELId)gJtCwQa{!M3_@Qu@)DWb^_OEgsx6LlCUvWizBRXIm9tdv(Pk|))!I&)Q^xhwzMSq%CA4a1xp+4ssA#;_-*mE7>=b_c zxylmioA1io+4#jv>9O3ep)JEx@9F5cw(?T3sW4j@&MVABtrNJv^q&J>9Esb;MYdUB zAO8h>Fi<7JQ|fMS4wc}_D+jeNuvgJ+D8c8VRB-q9}qA)$J`7gl4L;NIrRPpX(*I*e%viJ zIAhbF8}>N_|M0sP(L^E%sN|oFVD)ixFs8WUQ3b=CeFtNGB_Dy`!a>!|mWNtT{I_`E z^Jm3L*_ECcU^&ahbh)P0U(~pu`e`7@zeg;2aPhmciEYlk?BRgd$c9E7`HuyypytKp zZ)bkVtx?Wy9YO=ou%7d)^(Je@6gYfg#Zax9Y07C8$(4-k{<*bfH{e5{IHDinn(j#RDXkH0e<_x z+lPxt4!Aagaszp^Zz*=K%Lxv%hAbg}_ZLCUdC~}}DJJ2K#Bhs&ac{m}c+Z{u#%@b( zDPNo!Bzw~jsx$?1!Bo1c!Tc%svOKRcTVWfwG?}_8EpFMTguMesj8aUfs($A3hJGfW zu^fB+vPXu1wn64y|6FuJ*HF{%?JgO00Go_93-(e7?F+QgKjPvji$2a=lTpJ5HUWa< zk2wmP7wmfceiD`f&6h5})yg5CMYetMCkMNwpkuE7aI&p|ycS{y$wn5~9&zRZG*B;3 z|7uBHh{(MPu{_$|>dCWIa5yZvM5nP>RVbZEoq@w>In-T2?F{NKE?`FkmQa9T8!9lJ z60F+OqD$!xy_@0moO=rZR>Os_Z=us&hXa~HlesSwJ))2Zhga*!RyT%_tGB!69dS-A zhBm(uf1t*CVSQ+iYo9he)|%#Vd31%g*>2oCq(VvKBH4nfE&RF9cuhx!BgZeDf-i=-1)h zYaRbt?{h=+-YS8khXf^56JX_0-;`A%G8jdc0AlI zk0goHG?q0(?DXOV<+H6Sq-KI5=WI$m3eB(1zXoHvMnUI5c8vy8+E%zoJpO3NrtWRT zQMFyq1twsldWI(ryamF>bo-7*B*S*7DO1?<`KwUBF`h%q!{A#p0{mW}GIvHAVI(YT z{l<(Hh8K^g-*#!McPI1*DDk(Ts8L<>qklV}Vbxlg3%U_J-6+3lh9f z@g#M(j+mhO9-2!bT>vvUFOQ$he@M={cyKbqb!I)xXi^?S1!FM87J_nsAUA)t!{Xhz z^SmdsZ1!@Cso?a|Y6L=>vjvn@lH3f6{2faRPAF<82Egr`J-+J0|rkU&;8!bTozaU$mgGKDi*JVsRTvxX6>&+jolttpoG z6WR~BY<o1>xnA z$K{$Ot@Q^-ZwHboD>pmsXVf4NNPeYG;|FSY)q}-mUG(-eJQ^&NA_M%eWLssY8ep zo`8kYS(Gv=J$bazmvUjh`Ln6fj(&HAxY)8^g%?q__e`Vnf`OZSx%?_=32qkjGNM=b zYQ2GRM<m*~Pi@J`HT@^-1jW z1{9hGo21y>KkH#Gw!DcY-!7>anxwbu2HfJeVM$>n@7qgWkPw~v^sP3xC}Z=BS?Hk_ z$MOQ*BS@p(S$X$PF=g-UIq#-{Ym1P}2OHFff#$mtb_*v{wu=>ZGXBciz8s-+AE4F# z3#KpD8%(lFS@CLMhr1a>#|J zw}AI&(Eww5kr%iY(etIymX+5@?fRpl%0#Hs#?Sn&+K;e1{eF#=*p-B&0?O#ier8am zuGSgW>&zbCx{C5|wj7u_Vc{^Ik5z`pKL0?E*~Y{VDBnwS#=;9LJ*jZ~wi-|i{5SJ! z5u?;^0fIPq@pK*Z>;Fxh#zjaoAK2>a!CKX_d%cvsgQ}DV6`tE@qZWgtm=*EZ&XejM~%&nmerDx2=U5Gvh*H3u_KBd`ZJL2Y}zf2 zYsifhf26lF4!&2rO}dZxNk0rZ|F@)2u^&(D%$?jPfTY=Wr&HW$a+7%Us+u9vcdNX8 z&3OP+&xq-p@d3o^#Jgenm3{xbhL%^6>VjMV`wg7g*xT!x@qzkZ;=H=#`TOPUs9Q@$ zJpg!nzCs|3g9mjjL{lyBd~4aI6o4i6IN92SRKcej#gfr(WxQD_46$SvHH$b4;;O-) zD0P$r-%Zg3OV>FcMW7!m&M~KO)N|(=3|5KAd)M5Bb#(C|pOU%-k2dvJ_BsC#737ev zY*5Y|2mMrmyOTK&Adtt($%YmZt%Q4iDBg?IrO8F;7CQ}s{TGC)0TiQz>VR-X9= z>+x62<{P9rqw#=zwc!wMc!qU?3`iGLJIJo1Q^J#o5plx@C<<^GPoKn-m_I0fq zXUNvt{K~r?(lzf=rg>(kS4ss1a+F7(w~4p|YqZAhm{d&`l+EhsUQZ(gtaa5AOZ~2M zfrz_NIfXQ^6iSxRxEc(JR=V0El2U5+aSLqfknz@CB@R;TdRHoXr!xBr`{pqUKvFm- zti8Ya1AI10J$;2Z+I_!=a}_UJdboOO{iEB-Is^imq!)#c4HB?y39WPp2iRQ=)}HvM zhMS)KAX6AUXSdpj)|7!boi_!FZVF&sh#OQ4KJAb2oE)r)@D9lZV=n$>gJyo$Femtm z?e#~=ldg$$!7N2xJhOGxw58IxU1QVBtKkBPB}nlp7Vi(V@3jR&B{SR3s?5uZhEDui zDnS?@fo&b^rE0`#p|e6~cc5UESTc3@+xgL4R7I`ORCvRQ=$`{-$I%6$zKK2&Puy;- z+;e=;kC(CL_72nIU+e7~SGvtn=C6+E7f&7tYZOq4i0~ELW}TGJep^IXU)k$jxM&d| zs%2?vcz*cpCSpqMnENl>Gl%)jzYz-?U?nRj z{N8wK%w4jI4tNb%RCvl#3Y%ws`-$3!^(ghr>BHmrYfP^(>iwq0iXt6zt4PJ)?=ME- zxd)|AIOEKpq+L(Y zb^POTM?ifpX2nmYzxYe+`YV^M_JjHSI6yub6=2Xuwi(T!g7pi->qq9uR?Vi&!F-u_ zt|RbZWL@R|!<&OY7L$=3bH;s6#L@NWpu^-3PbwLu7{FcJ-O+kT@B4t)M&Bzg=QLEW zUnH@doT_M0uaC_$?$e4!x6mHDXS$pGEmO3tzN=cbkq~#hFtz4WA22fR9Fqo#pMGxG z$40lzj8r`xuNW{AJ>=aS?Xu?TGkhn$n&G_BM~<2XYTIh>T^KHK9ExkBAMCcah>dBf zB}8Z5_^VN)UXa;aZ7N;%Y3PZM?n`?Iq~Of1bLeM(ZG1~HeMxSNlxy(`e}%bB&uh%i zI=S6IHn_GKg(4DMJ}Eo$cClion^6;(DO$Q zX=oQL$F*1zrPunp&+}RTS#zEW&j@8fz`dgbsDQj5{h&_p7SSK-H>Re4mj97-48FU8 zyxf!v@RB1-7kY^3t8E~ciY1rwnM;TJW2}(L?k`Im4}0Y=2sM}21?ll405oHNOQnf# z)DSWcdB9L0DSxTeZHi53ZeL{ccv57X>Y*sr_M*=lAmc^O#~;KsynU>k2E#!TUZ&rR zJ{C^!>xcvk4OROJ4iC*D+cN<-W`&nEPNw`?V+YsvNMy0q_x|XNAN-Gd(b3^xp`&pE zv@3qNBzZHs4`kSuZkq!D6}O8X^T}@!O11QH#rqWw`k8kdOP9?(8rr?J(7;kSBq>|t zW`UJ78ybC1N9|Y0?XraKDW9VDGh&8pIf9;WF!W+_Y8A5K;^B2R3ytJeQ0DpHAzjL8 z5II?>4cTflVX4PrXZquSw0wxmcj>i1(d%G9r^dktrBewuCfROc-zcFF6WbD~g~m(q zCYMFPcDXXrTn93w@j?&>ihp7tDGmLZ61VZ&z(Y%q@BP`|KOu30JzhBt`&}#6t*xP6 zqJB!WydQBuGv@SH)Pl0VtY9GrcCI{sQ+pNJP}^Zmy6~>S8#L`BhR_<%XGeFq+g4sM zo$WYqmNaU;qG5j_I@D!sPLO55ncN){K-Fc zZkDeb_7xFHkFWa!eKMv*vQ4&RFw{jdspj=RkciHm(~PG8;Jc7I-tuhO{{y$DVq<#< z=#q`8T{|&+A|9}zWBN3N($zxKkZHAb&U!&o$pE<*OWxXJxV1bht?o3U{^VEI-m8e_ z&jeXS)~iTBWbkU0+qFnTZzq0zwI{#!3hrS6F+JL|utanT*bvMg-_3S7)XGO2-eUc- z5hqfZd%*nyg!jtshT3z6L9$oR&;-lCn8`#p7j7R#RO?pb+hC_pZ06pQD*y@t zpgc-e|E%p!lsZ75YmzgF;XK+9NP_b#*F4U;kxQ-9OG}d$(3ap|OKA%)e2w2pHGgc7 zyXR2+N8lm9nkIFk*C>!5*!ol53o-5lI#fUN=Yr-u;|xmy`ddAt7NoM$AbPCE`h*FW z7|MdHMJ5hK;LePQat9RcEUa!M~DHv%8T}rV6?t=Xd#vY0fNK2ZwCdn8RqOhaz`q#SS_C6^t1En&ogK6YMHl%0+L-9&Bsr@&yiUSm2Q4OJ6Mua) zgfMoL_(!*+A+G?eT-qbYjS8PuDt;(5UG^YQiwp)q&JVTr4!5|;H6{F=C(;CdE|kVX zOfihLK{I>{sr3uWF7!6>SAZs%PucDQ0iJko_O!CJ)r8ScA*nS(>KYorkCl-aTXACh z=QTdr$>=Z$c^fxnxi?9gQsDL;G1}H8u&Wo6B(tesj6&PY8BY9i^E5hz&PV=FDG@13 z5=m;OdB7EJ6QFMn_d-qkzHfzrH$9cn)^{_7)gIWS$41=9F zi-)iI2SKzD^z}ZNIED&LuCmAXdP^N**R~{t)&KG5PR_6@lOWgKs2^x z=Ccdj5p7#f-33uSJVN-=+~n$Qi(ir(6#QUf(@!yJC{eRu!eaWj#5)bv+|3!=Vzl4vW*kVbhN1dM; zWxr8}C*+PCh0Y*EXUWIR6u@X0zHg32&L6*j^!~0~J@TwerG1w}<9}>o4Evj^niAeu z;LhdWUIDphn&xUf6(SZFm%C&|nwU~Z<7ZgkKV=fwZm0r`Vhr1V8O4w07dQ)-ZiuDI zE%50@J4R5c3ta$j6xEs?KDtLo)P*`6Sl-htm0GM1D5Ev@!>+Fk&5Qs`z%iJ0m zvlkp79ru4J9b(DI1LWKq5b>ex(Nhrd!e(xn#7-U%d%VU)8-P&y-q1grxLB3)I5gVp z#Gs)lrfx~{Boz#h4$u5msi6Q+@m7GKl-1eq1xByf$$iqVU7?SO;dC01L4)9~PfVH@ z|0yCKS;G8}q!jTy)NDt-FACg-eH)pvy5_?3fYt&qRxKzTb~|lSbpX&pVYmizds-)- zf8CL=f}ujKv8D@TWfSsTq=8uMD&3nrx5V}M?Nta9A+xiFwpI@aAE)@0?~AmlH897y z0=D%l;b*ErmQSiY>3c`7NM*sz1R$UW`1=3s1%L?v=o=4}tAoezeA?zP+}zsM_O|r_ zAYmlpLyRUZd#o8+m(6MstJ{|eJ!-LDIn*fi3)&_Ade67D&CC1z>=jaw4cmJR3??1w z(=yX4N!stCFZd|#F&qwRtzkiEK!m`yzxyYxs&rg|m+_y8N?d^FBrj?2T%x*m_3VCnmX=h&`c-QO3 z{=S`j(-h4FqxK#E(G6b!nnhR#(r<_p1)*0beb2v!9!p0GZEkcilOuS&%%Erj&} zza7B*~IT+q=yC(%cnxzYaUw94|DmJx|+p^s}eLzYR1V6u+x3lV@MM&d4&9aBd6rfKR_*;vNOH|cfuEHEz z!miTNmD6bG1m~}U2G$(4-S=FxeypEntwWc_RTL+|I!Z0SSwh;5l4|J1hd>f5B8-$D zEeW6HR>7|#O(x}&OM&dwykBfg3^c2CcP#|o&dpgj-mx&1rnGJ83%ykq(pd%NX_IQE zsJ0a~c(JM9A2+-M7ufvfk;`#e!Rz|=GGI5ZhjGSV(LYQ097`112jnwlLB1mi+~P;`*BN`O-rbpl>>d_wA#(D_s9DM!tBsTggB)XkUTHn0wO8e=6vUjiyfdLKy+>T z7t-$x>w!kZ;hhYp%#9WNw1bmd6ER%8tLwzEf^}iJrW1ZY03B;d9k2QU0lHvAhjm^h zb_(bR2oeGLz@s(a0MR%dR)(}8UnW?qgmuj)zRn2{MCH@ow;k^_FK0HKXEmFWtlj{; zjRa8gz>cNI!UkYn7;9Y$)L`9tmoU`i5>vS!*)d1kY)Ts@EI$0|qZonH=TU^rV3xkvWAAuJyPsi@>=iy6O*K746o zS@l-+DkL2Qh$d2wAM;dixsH06&IogDfOE5A^Zb(&oyEF9@N2mhvbQaH$0Ea5{hVMp z+4JfcDxfLRc}_z#CgN@--zgfruFxp@;TTy4C*n+gJvi@&le51DI8Ji9UrY&&=q8T% zzg2CArb42_94dK6eu?jj0xs#vK{FEqV2~mC8psHa3Q;&jj5ksbK;#)+XV7}tNn6#2 z*(%=6sWQ(1WWRiaxE7LS06fVdN7n_CU>8ej`v;K{qijGwF?Rj6i2M!c9w83#SHyr+ zoH&4Sqr>sr{v8D}DgaHY-ZmK4bn_7iDx(j#Y<5}>bt7!`-=~s2!i9B!1kN2d+e+(~ z-4kugfP~U^=}1B$*o^_1o<=<*k6Dh4V$@ReY|{5laJ{Cesmd&9ZQRt`?A&w`r(O*Q zc9OK2;U3nr*?M9)z#ezW<|+d-)IZB-8dMxrcrQ=U!HOa0C{?HusGxLTVh}HK!F7XT zsuu7t%+nElDR5LWOXHmvS5|1E`r&mRs~25tUPjM#IUk&^?2)$L{rKieQ&Co=`|9$Q zvT>UdC4w8HP~q*W;Xq8_$(H{9CL@{LW6f9C!}h_`T7A-j+qEb;ZLHCCLak6RoAig3 z%dzbe^@6pLHcU@gpNwMzk&hqzAJWJ6=?g-6(C^Uaz!sl0j)jJGaa?J7$=JE13;7swZX^+{Jp*22yI4) zE#_@xad`;Qd4o67#{_j@M%>q7Wz4eHY?!$Mf4N22?wtOmT!*uwIB;O#$zrN@`XkF9y1*=6h zT78T%rq|ZFa7v^-U?_iLi=nOoN(Eobx3v(K;ozbixS&S<4RMUx&k# z4yxMb0foZ0j~MREm*`xb|M5l1kGME2vOJZaZ;cCA=QKKf(eW8gRm~(ri!^io<=}IqPTh^;3u--z(FNP zCoB6rSLeDsxG8^qDylJN4<82ORfO*M57c7Y7fdp}JS&|qz!57_h;JnBy13z`iinlj zWP&o_S|q&uK8BYl@Do}A_CNs_)wXQ6!E+JmI$X)-hk-k(+_S*W>5r@R2rJZB@SBJo zBeEDyl!TuZ==o6;1W7}V|L7V8LK^XkLjx1Lx#x6DPCnqrek;i3M&I)eTf}-j=P0cr zlc4X~<_!fm*{1sm8y0G8}vwj8zKScKq`+t*J6YPU=E&enuQ z)O^AFA9d%BG<=Mr+Ml@e9Cto17)Kv`A;kcP77=lZvX!+X)uX#n4T#k+FtB&4o18|6 zKMI_`N?0PC()cvujnPT^3=<5qkC>jROR`c6x|#a;TEW;2rVHBUM^QvAw+eZ0$iX)0 z&CX=LWfG-AwHTp)c(b_AQ0(4kU`yfG>7}q~j`?T>&e}Ix6ZQiR=D+cWvE9AuNE)M zYMv2H9|mKv5~$Awl+KwOw;K%hEDB@GAzyz}qGe^?v}D~B^Y z`H`zpYV`xBfMX9)zZJUPCGXb|NACzUe7iW!W;SK_&F|drr<^dAwCfKrL~3W-`%k*w zRQT>!OGa}7N27l$T(F$T)V8W3dEZG*UVl?q|61HmtI%eD=3%=-tg#{8sy^H8vqE&u z7mW#VAEf{%{mEae={(w3hb{cyPsGZo_X0R@u*T$Zk+WW>Q=S{!K}IW(Z|s`?9jpq0 z0Kl7^iN2N zO&so<`&>li?*o=n#J+13eUBiM_3LzmNGZ8^|63s`3o2gBS zN+b;rdOvdBZ}l8RNB{Aau{{BFhaS!vU2VmXB2-_TjHiht$=lNwtPoCK5?XFZL;cq{ zcVy`K15&pyDRsp1(YV}vLC|%(j@v)qbwjx=m^z7K*wQa9(GvB?oaf*tb53HBor|tkr7?K|TLpf{E!e>!_P@}p!wR$L75&_d-(}~S( zvfZhQtH5DjxQDgHG#W=kDq_2|(onUuH?c(uj(_QAj@-D5;~MoHT?~4U=dK%`!;AP# zcS6@zL>X)hd&%5gony(RW{%C5W%HbNfB};DLm+gP zTYq$;4r*2U4P9bht4k;MJvc8nA9wX1?V_sCm)mY^P{99ts9)cLEbUEY@Nv!lkKcpH*S?A!fa4GUwHn|x|2{oC5A54pIuWr5um^)NFJZi&_}k2m7-ev|9is|VlyvA;1ps2Yt>+q6?{ z@+kCfkGfc)RyT7>&KuyFGrsxD^jksY9^CCVm<(t`Qd?2<(7nJ{ZVdYhH5-?>E$Oj4 zaoXh8FLk~zx10*IU8c_-eVj5n`dFjjGW{!#wyrm{CklSrnk4n-{o{9IB3Cb0<>Zt4 z$Av(&brvOmr}5oG=5r40V?w?C?oyoYoFFI>_p1E)gi!Agn_P-JlBH?LKJMc%DL0&| zmA&=HRUP}OGzmB)(!$DnxysRVGf8}HQ6joLOPd=w>siSSQa9=Q`ji_oJ9xpa_dkuI zTy+|>06LXQC0&c^H@u99MX2!|jO4!H{p~V7D4;*F>hH!|lzDC^-DNtHy-sH2Cg)u@ zWAD*^`gKOET0L+)ip_B2CQBppfnKCX1%-xlpU$*S*lcppf;zv^$hJ+n+T`#zbWy}* z`X_r`iJnC2-)_b!{Q^%~2RvM+pNMkQNeMZN)aMtawZsHO@-33(yx#_dM%b9XuzK|Y zxRxw?oqG9s(YtOv>HVvBq0WIW(**~6!N;sdU!m03rb2#TB&i}OT7>H>ipXXY^bh(X zC^2T*kiCv~^HCFDgpJfmt{G&cEuS!p_QC+*C@U<;#?dy>GQx7 zz1r=+fG%xcv3e?;WG1V~a`<1XuavcQieAli%GGq^FN%Tu>6#lfJh%hBwS_g0u+hq} zy@EvhHs@`CAq zJvmF@$)(>rdU6LH87n}RZU_|jF=^FWfDvF2xnpp7m!uy791D`Mc3Ll?yDsc2SExnh znKGJ{)Bq9&oLJp4V+dqLy*`>cRY>bE-_$^}D;Hih!GVT;w#iZ3Uzslyy=wBf1lQhM zT-JEl!p4iQrZb-tx(jr<^Ig-vH0fi)qYAgx{YhYQ&ZKC*1!k-7lxj=6$?RkJ^b4ym znUew@WxTd;fGdKUGg|`%iNwH8kS!PXZ(I}A1G>XBE@b8B%jQ9PR_4{Q>j5iSvb(Y7 zjGoT1`l9QGoYcXQ?$u{)HJL~lNx1JC-kDeR{>csf6lbF^)3nU8{;5B3N1@!*&W_Po z4~|9C$%lh+BGZn>cy~0scey!Q!frL{e4L0+jqKcv1*ZMwWJm~>n#^p-cfGMzyZ{TT zw=qoViOI40waRQ5JTDD(Hn%1hto|w3TDsR;#$_#FbE*Sb)x2B=7F=@{&uLFOREIsf zk?K{^!{zRo@=NzW#c7rW_2*J{TFscyfj|+7>t9yd*AG=yB|Lwe|L_Gk5zeHqZF0Ba Ij#K>q0zaUKsQ>@~ literal 16129 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 sFMxoSN$OO?&?lW|BbZ2$$-!rD8 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 LgL`#%?4SM*_f8%e literal 16003 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 literal 8790 zcmeHtXIxWRyKhjc(o~dcU`82Hkls{^s0<AZ3SB{91Ox}ANCXrVloBFE zN(fZ}i6JAA1SAPfh!6-Rgn+cW8Q*iyz4z-m^WHBfU-tT~thM*rE6?*U&&q=7p{Ro0*^qTUC%{#0X?Vfo6A9*D0!DpHoYf1~E1^Hcf{(8CpL~ zhz!$Kh&QO#w{r(3nJ7}qcAsJgYb|Uflq+2yZ0eFVwhEwKIFS)OACh+q*rtt>9 zoe|aTdLQzPwFa!Gkla1-S)zizEBCrwQYmFR+Dt2l=nUW6_5S$Soqqi~pK=vZ$>fCf zAJJy!;EcHKErYJXy*E}e;!+PsBgm1$O`*&$5$Y=X*nMlRktsvFXv8Z}>J;Esq| z{ZZevO^D(qnWx;4?J|{2?v(clmPHk-&BXH2CSb{A4ij5ehOj*$-pL3;`A&u?p;`x; z^bc8nUPR9lA~KJbQjVujOf6L=CReRwavr!SbvrsDl%xD@iq!l#MK&~Id0Ep^C6j^Z z2KR8Ahw|5=V^8PPA5|jKgw1Z6{Neeq%lnw;tlj1$LsXWikCJ}dxTXIPwZZEYhIqj-+#iFWp ze^g~X&t_5+g0Qcq_po~(jiso!&oG&9e(D2b4vBZspvTSCz`Jre0oPFK^`8zRAoKk7 z0lzvI4InCMH0SvXxEqXmH`J6%_9XxBkN4Zbp!!OY@!ybNvy2+w_?-u@U!X%!tnWxI zXNl+@IU$Nd$$rbLGM2>2YAkyW>3`esYtHQ8xklyh>Nx>%n=d>x4smkgE}*KY&~8_a zLr5aAT7#%-OW{Qx?p_S4_kU<=T4+6d_&7?6S}7%;q2f~9DDzxJ)DUBv4O_{f2&s#o z=O2lkRy{*2SJ&avQW{!sFp z%M1(HeBmPuSQl)8`@P0RV|Jc97JSE+tJ8JgYw$-Psy$RJjBdZd^Kh#l%$nYZl7rQ~ z3kgbGaUUd=rxo?sJ|V30vM3?RzY(jcQxJJBG_J=XXkKJYfqI9|OP@my{~$htxz<}~ z`c=}}VXnwYg-eg|Ik%j^aW}H8obb>p+0+kwJ}OK~pBvc9!LEmUfQ>PvL#ZDk2`wnD z)usb-~@o$8u*qUqlHINrwYBZ(3b_ z!it#p7sF7jNUgHh@izw#99ZXslO7EnG((%R{~Qpu_zN#GZfursNAk)eTwy?Ttuv_` zH}HK^fsBZuEVyZpUD?+;BsXpr-H89Tket>X!-M|PH8DHjsp>Q&vlB>zoSK zpt>_myHenedP)ajz#Bs2u9=9&H(_b)x+s*kA8)_l-aDy9cWQV&S(n<-bjYhox`3pdkncVm&E^z!;$+wG$NIByA^?Nau+oL5rC6bG#`fTmLS z-_66N_y3*r`Jddp7}8$GZc*Z<9^E_|~q*)Vf+ z^RC><(8l4pg6Me=SlD|S6N?BRnNEyI@NphA~{X6LfRY$FXes!O)rE~1;GS_S01zj+#zfB8Xul?^#%Ws~{-BsIX6 z8{U7?Q_GGQN}7>yDq!UVohc+^Fki);=9eN0GU|>Agg-QqV)wd^z2dfi@b=o?*Bw&8 zDy4ixc;OjH`;!#?O7`jWiKEu;#{K$;8r1-UykbNCGOP+13s>Bs=1*LD;Mr^#o7WWe z7(n5zhrGPSY7Y_ZtPm>~R#${;n9RiQPzz~&*_QD1Y*yoDq>N>ys_n?f96W_|i}E8f z^C(9LIo}tfD&9FI5tW=m3N+5QBY3pJoCO+4t9lH^hv!qHJ*MV^P1nC=4+R*Ks;mIe z|5K+V%GETbNL|m4zaGQgzq%uC44q4^G#t~vaXW&$M$bQnw2BB(G9v$4b@_>qc9C^F zjJ${4glwJ3=@Wry0f0E$>R#qXZs$Saq2(uuOY1wIsJAWw^}`;8tzmly%?ukqEgn@F zeP9i>`M%^O;uO?!M_MpP*vhiomVZYJ(wLnEds;FbNq9Heq-)#$;d`$^RJ;({`_qHs zJ^=o53g_B-^QEAt5T}(Sb4oIy*47R(mZg+8YAG7Tl%imtdVSl}qK0Mnn{r9-tN+wZ%DrjjHf=~76%GI}>b9e-Er6L%L7i24n)Z7$D zGp%qS`^&r)U92r9O(Ug<18=!eapo6KL(IuTsZ3WP2%8uA)+IVF&WOB~NBgRkf3OJ# zOk+BBgcqoR7EU+_5jQjO*Os@w;ys5xKZ<#31F&Ba9s}X2M}02SutC+eXxJEas*88p z6u+Dd^=*a0{q2wO*9kGQ3Z2B40##{dQbgZ;FN0&6293v^Ay;J}g)ceR9TAi7Nw#N| z{Y#=yiga5J69S4g7(0`0SmnYikZOV>JaTTQS!W(4bML`tqy;SsSd6UqAqAm|du2!zFabM3%CT#BY2QJ0^5 zdI@x3twHJq=y~dYo7BI|`$fj`>Y)Ae=~$D^v+JA84Sq2z&XLB8ZABGEAL!OmJ|WPY zb=>UYK#W_cw4fB$tI=Ju`6D1#W1)8J$5#X{Dy}`jsim~WZ3F7v%8Ujm{5fP4dvj}J z;|a{yJeC)J8t^LG;x!s!$}Uo88M*BMozx6fVA)5l!E2vxVsbHkssL5!{2kqj>&Gbo zPLZG6Q@#`&-F3z27OuCtR$0DvD1Za@8cMwaC?Vd^A`QUCw2)(&PSS!a=PTz>0MrP7&q zcr~JSY^x448336Qi^)2HN-nHeVPJjVzKAu#)h0vBzcx|g;qyE$FYZ0 zLGZQx8d1|HtTQ?8W$S~klE9ML91!!aZ2O6njso#?1BD-JYsXW(%?dLNpu0zRYsJHo zo$-vICv`x?Y7mRmik#XoPiN}xcMd&pzADq0qwKaaf?R+JlaD~EXuf$#UVvM8N&z)v zjzewGW`*{pkL6d~I_{||gqE(P>56xjm4RagLCxGB`>3Ifv-!s+H3K9x-117;yu7yu z7y1fJI#MPE4JT;^gX&ipDF5$}gs5rn0+v+JDG=Ngao;f;mRHi13mB|a!(N4%rgvct zpIT+@>Id5xjh{iyi(fnwz2uU-T(ePR*gWJsgvJ>Gk{A9#{?`R?3jpemOP#2QO-~E3 z$8M0NR&Fv6?f?4V!qetl<2|7B|G4+ulJn`;kKx?{wao*~apTy(o5rew|DP-{ASDX- z(Hv=ryb?xLvKK&Y(t<~rG_~I9Pt~8~4kV2MCYUz`TK$js?a-#rAvvwSdAD4hvR~fDCL0HcvI(ZJ7ia?M6SlD!5ugCMjOWuqAOkJHI&DIIcQ zlT#~928!LJNet~_Kt^y>zqwmz#5sxPwy|L2jBjX@uZSeCLHt>{B;-9n>}^CkIs(*E ze%Q>4{QX=Bj8Y}s`dW*+*HOQIshA1GZbE|7o49HpT%m# zm4{TDxAQFZJo(2E9-TH1NcGkD$y$vG#et`Y8p=MMKVit zy7GryugVOy|3MfGNE7S)OSLWLGsz(kdQhRI4;qvobon-k6;?06(R`*Yj=U$5>h{e8lw|g+^*T6de}iv6VWish z1aYaqxs*e~By@W)>b*b(JETizhq`+gsfFt4C4WkJMrOT>^v!GXteYZ@H1!?&o0W}F z?T2;Gg_o8GsY(UO-8}{gAK8KRPg_xDh4_8h{tpR;U-Wl8S)!>(xcl_VI^m3Rz~lrK z@vZ@Xhe0Pa^(;S>CRPWuT&~9Y^F3%KB1YnEM=1)QT2B}Z-%Ruxe3la)bU8fO;W1D( z2y3~r~mdop1XU@Xx3*rd=9m242P1Qc;*N4Q{gDISj6`yQn zy0Fh>S0HSDzxw{zB*=cHcb^l4Rz5JpX8RigSXBcsKfv|N&}|@+SS;53NNdnX^&Bif z+r+`d)|Qrj{gcH0*va%jHDbT!mH#MxkjWVmN_THZ4vCgy{V{iUYK4tDB^pExBH$^x zCh+tZ0e5GbBs>3#{na(EqY!edAR=2~z|2sk@tMmyzKegojUFc(hW1UsP=XKRy~Zw`VA zd^0^0W%c#0J7(QLH@g33JzmhmKJ>mIKhZ1qC?I54l8{NaQB+6%E+-jFffV8L|9!g)fJ75aV0FqR)0tlD25&h4cj`Q#C zc?uM)0-ixDF0VqvX5DEIEeb`!8`KWcvka)WQZCF{ zE~^`rI^5l6&Pi+l`i@MtXE(M2n^kk4@kl^={DY|f1we`MAN#ft((>=uxodjFF6|xN zH-D(&s5Rgus%Th;u3WX0abr%*wg%`N^Q22xE>J<8?mZ3iokvRSZBsn*-(5T3DKfCb zG6mY~kR+?BZB{V_W$hpe}&Qh4?~d#RK4_VJqYrk1w7C+ zPXD`k#!gJ&pFj56h~Np+f3u}{Z`(pUoby<0%JOT77t`hIyUch^5>hj1Qu5;_5+=FtY)Pzc&d#O2du!a2 z;D=g8%0&+sI4=g8uf8*_8Yjo1VK_Q;bx>l#Pj6%FqvYaE;L<4>VT+4Kf9u<8)K$JY zs+gWy2*rm%wJD7HLg9LO`vQlF;n)R{ zS}8J1Igu6cV*6*WXSI(U%g`uwI;`1&Y4R*2Je3H^HBx#ira!V zoKmkMAC-FL=+2NuiXO%w0{7CR&uqNQW?p0@*nMO9e*W4^hjWeQ9tQ$(^q-5dAHGKs zwu!`yle&Y7_oBlv*GOljFA5}(_T3YN7YS!rL zBkZ5DxI&}RVv<=LMW{~j6ZLTB7`fZXbbK@2ri!~ZyLIw&#qqv91h7|QaVUGNaXm?S z($tT4^;@37>8b?8$e6F@ko)eu*IBQn;Mufx-FjuPpMhXq=E_IXlBvs7cIWxZq~}iX zQ6G$f8}2tk(W!3>CZ$fTP^;yQUJjmmX|sWDQRG_efs&Q;a-~U0`IP^{taDPfDRQ02 z6w7XmM!z1A{xWki#;xW_JnV<0RGmV+8{ut+AGOdK-bU(Uh0W`$`ys5^dpa5pto4k< zl&BMd*HPTo{No|6g0qO8II^q)jo{v6qMxbCYlwG?e&0=49Dx%Y&V`M+b{LsmluDV% z^>=BJ=XdkMun)gK#AzPJ7=eY&vGT|5_K$pGed+BHDvt`dLp`g{J{fbpGR+AXp_peN zO^VbjbW%SeQ^D>|x+QU;hS?=T?M;)bur^N%=y@AqR}&j!{q;*>^m;>m098>b2lM)i z-*Qgyo-|yNvSOF(ZUU^vEcsGp$!HWV$kb5ZUnNg<=CMD_M2Z^o^M>D|(Uobe_R!>S zRG%=ugt-K1|GCOf4efd3O;c;pE%Sr)m`-(JsKuA2mUZC+BO^-jW96X$;BRPABooiuxC z_FZ4D4@@wIOmvH5?1 zEd&SPpky2}CWkz1Xi%t(-?@x{@v`mJB}{{sxgR#y--T(M$Z&?8=^kfI@YGzK*q2xn z!-hZh6rK;SNj?yBw+LhUj3xCK-qSUw;JJMDn+!VD$mEduq6_o`#q(5#dEG3xSdp_? z;LU1S{m7jdkHWbnZA6QjKEog1DgaRGCBprEywK?5#RAShbV#&l9(L<<+iN9ZKJb4L OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00002.png index 1b08a4c679dd9a92e682580eaf1da7d58825685f..df47c275d847cd4672da6e3ea41b64fb7ac41ac2 100644 GIT binary patch literal 15915 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 literal 16118 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 Yz(bK57E4B8J^Lvwb-f1&HQVU_0pNA^;s5{u diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00003.png index e2f647c8c8bab59fa9e7d2242fb995059ecaa7ae..e7471c20ae4114dbe94498389f94389d6817266a 100644 GIT binary patch literal 15928 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 Ij#K>q0zaUKsQ>@~ literal 16129 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 literal 8790 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 OkhP`V1?)M``2Pj5vM8qj diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00002.png index 1b08a4c679dd9a92e682580eaf1da7d58825685f..df47c275d847cd4672da6e3ea41b64fb7ac41ac2 100644 GIT binary patch literal 15915 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 literal 16118 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 Yz(bK57E4B8J^Lvwb-f1&HQVU_0pNA^;s5{u diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00003.png index e2f647c8c8bab59fa9e7d2242fb995059ecaa7ae..e7471c20ae4114dbe94498389f94389d6817266a 100644 GIT binary patch literal 15928 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 Ij#K>q0zaUKsQ>@~ literal 16129 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 sFMxoSN$O Date: Wed, 24 Apr 2024 10:16:19 +0200 Subject: [PATCH 15/16] Release v1.4.3 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8e0f9f3b..57080871 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ APP_LOAD_PARAMS += $(COMMON_LOAD_PARAMS) APPNAME = "Solana" APPVERSION_M = 1 APPVERSION_N = 4 -APPVERSION_P = 2 +APPVERSION_P = 3 APPVERSION = "$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)" ifeq ($(TARGET_NAME),TARGET_NANOS) From 028cc290fc733f575b2dd3c51c4822712a5d38e6 Mon Sep 17 00:00:00 2001 From: Maciek Malik Date: Thu, 9 May 2024 19:11:06 +0200 Subject: [PATCH 16/16] Add warning to the TransferChecked instruction when Token2022 program is used --- libsol/message.c | 1 + libsol/spl_token_instruction.c | 16 +++++++++++++++- libsol/spl_token_instruction.h | 4 ++++ libsol/transaction_printers.c | 5 +++-- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/libsol/message.c b/libsol/message.c index 5c0d4b72..91fcfd2c 100644 --- a/libsol/message.c +++ b/libsol/message.c @@ -69,6 +69,7 @@ int process_message_body(const uint8_t* message_body, &info->spl_token, &token_extensions_metadata, &ignore_instruction_info) == 0) { + info->spl_token.is_token2022_kind = is_token2022_instruction(&instruction, header); info->kind = program_id; } break; diff --git a/libsol/spl_token_instruction.c b/libsol/spl_token_instruction.c index e43b5b6a..29acf918 100644 --- a/libsol/spl_token_instruction.c +++ b/libsol/spl_token_instruction.c @@ -522,6 +522,7 @@ static int print_spl_token_initialize_multisig_info(const char* primary_title, int print_spl_token_transfer_info(const SplTokenTransferInfo* info, const PrintConfig* print_config, + bool is_token2022_kind, bool primary) { SummaryItem* item; @@ -544,6 +545,14 @@ int print_spl_token_transfer_info(const SplTokenTransferInfo* info, item = transaction_summary_general_item(); summary_item_set_pubkey(item, "To", info->dest_account); + if(is_token2022_kind){ + item = transaction_summary_general_item(); + summary_item_set_string(item, "Extension warning", ""); + + item = transaction_summary_general_item(); + summary_item_set_string(item, "", "Can't check mint extensions - Check explorer"); + } + print_spl_token_sign(&info->sign, print_config); return 0; @@ -751,7 +760,7 @@ int print_spl_token_info(const SplTokenInfo* info, const PrintConfig* print_conf case SplTokenKind(ThawAccount): return print_spl_token_thaw_account_info(&info->thaw_account, print_config); case SplTokenKind(TransferChecked): - return print_spl_token_transfer_info(&info->transfer, print_config, true); + return print_spl_token_transfer_info(&info->transfer, print_config, info->is_token2022_kind, true); case SplTokenKind(ApproveChecked): return print_spl_token_approve_info(&info->approve, print_config); case SplTokenKind(MintToChecked): @@ -820,3 +829,8 @@ const Pubkey* spl_token_option_pubkey_get(const SplTokenOptionPubkey* option_pub } return NULL; } + +bool is_token2022_instruction(const Instruction* instruction, const MessageHeader* header) { + const Pubkey* program_id = &header->pubkeys[instruction->program_id_index]; + return memcmp(program_id, &spl_token2022_program_id, PUBKEY_SIZE) == 0; +} \ No newline at end of file diff --git a/libsol/spl_token_instruction.h b/libsol/spl_token_instruction.h index 17cca858..1c4757d7 100644 --- a/libsol/spl_token_instruction.h +++ b/libsol/spl_token_instruction.h @@ -119,6 +119,7 @@ typedef struct SplTokenSyncNativeInfo { typedef struct SplTokenInfo { SplTokenInstructionKind kind; + bool is_token2022_kind; union { SplTokenInitializeMintInfo initialize_mint; SplTokenInitializeAccountInfo initialize_account; @@ -140,6 +141,8 @@ typedef struct SplTokenExtensionsMetadata{ bool generate_extension_warning; } SplTokenExtensionsMetadata; +bool is_token2022_instruction(const Instruction* instruction, const MessageHeader* header); + int parse_spl_token_instructions(const Instruction* instruction, const MessageHeader* header, SplTokenInfo* info, @@ -156,4 +159,5 @@ const Pubkey* spl_token_option_pubkey_get(const SplTokenOptionPubkey* option_pub int print_spl_token_transfer_info(const SplTokenTransferInfo* info, const PrintConfig* print_config, + bool is_token2022_kind, bool primary); diff --git a/libsol/transaction_printers.c b/libsol/transaction_printers.c index a6feb926..0e3d29da 100644 --- a/libsol/transaction_printers.c +++ b/libsol/transaction_printers.c @@ -563,10 +563,11 @@ static int print_spl_associated_token_account_create_with_transfer(const PrintCo const SplAssociatedTokenAccountCreateInfo* c_info = &infos[0]->spl_associated_token_account.create; - const SplTokenTransferInfo* t_info = &infos[1]->spl_token.transfer; + SplTokenInfo spl_token = infos[1]->spl_token; + const SplTokenTransferInfo* t_info = &spl_token.transfer; print_spl_associated_token_account_create_info(c_info, print_config); - print_spl_token_transfer_info(t_info, print_config, false); + print_spl_token_transfer_info(t_info, print_config, spl_token.is_token2022_kind, false); return 0; }