diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 0b240304..c9fd3208 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -13,7 +13,7 @@ jobs: name: Analyse strategy: matrix: - sdk: ["$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK"] + sdk: ["$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK", "$STAX_SDK"] runs-on: ubuntu-latest container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-legacy:latest diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 717b31a2..628fb876 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -49,11 +49,11 @@ jobs: cd ./app/rust cargo clippy --version cargo clippy --all-features --all-targets || true -# - name: audit -# run: | -# cd ./app/rust -# cargo audit --version -# cargo audit + # - name: audit + # run: | + # cd ./app/rust + # cargo audit --version + # cargo audit - name: run tests run: | cd ./app/rust @@ -89,7 +89,7 @@ jobs: - run: | echo "LNS app size: ${{needs.build_ledger.outputs.size}} KiB" [ ${{needs.build_ledger.outputs.size}} -le $NANOS_LIMIT_SIZE ] - + build_ledger_val: needs: configure runs-on: ubuntu-latest @@ -294,7 +294,7 @@ jobs: COIN=val make zemu_test build_package_nanos: - needs: [ configure, build, build_ledger, test_zemu ] + needs: [configure, build, build_ledger, test_zemu] if: ${{ github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest container: @@ -332,7 +332,7 @@ jobs: prerelease: false build_package_nanos_plus: - needs: [ configure, build, build_ledger, test_zemu ] + needs: [configure, build, build_ledger, test_zemu] if: ${{ github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest container: @@ -370,14 +370,14 @@ jobs: prerelease: false build_package_validator: - needs: [ configure, build, build_ledger_val, test_zemu_val ] + needs: [configure, build, build_ledger_val, test_zemu_val] if: ${{ github.ref == 'refs/heads/main' }} runs-on: ubuntu-latest container: image: zondax/ledger-app-builder:latest options: --user ${{ needs.configure.outputs.uid_gid }} env: - BOLOS_SDK: /opt/nanosplus-secure-sdk + BOLOS_SDK: /opt/nanos-secure-sdk steps: - name: Checkout uses: actions/checkout@v3 @@ -394,10 +394,10 @@ jobs: - name: Set tag id: nanos_val - run: echo ::set-output name=tag_name::$(./app/pkg/installer_nanos_validator.sh version) + run: echo "tag_name=$(./app/pkg/installer_nanos_validator.sh version)" >> $GITHUB_OUTPUT - - name: Update Release - id: create_release_1 + - name: Create Release + id: create_release_0 uses: softprops/action-gh-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token diff --git a/.gitmodules b/.gitmodules index ac677fc9..3201d1ee 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,6 @@ [submodule "deps/picohash"] path = deps/picohash url = https://github.com/kazuho/picohash +[submodule "deps/stax-secure-sdk"] + path = deps/stax-secure-sdk + url = https://github.com/LedgerHQ/ledger-secure-sdk.git diff --git a/Makefile b/Makefile index fdce14a2..f8f68e20 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,7 @@ TESTS_JS_PACKAGE = "@zondax/ledger-oasis" TESTS_JS_DIR = $(CURDIR)/js ifeq ($(BOLOS_SDK),) +ZXLIB_COMPILE_STAX ?= 1 include $(CURDIR)/deps/ledger-zxlib/dockerized_build.mk else default: diff --git a/app/Makefile b/app/Makefile index dfa8724f..206ccd99 100755 --- a/app/Makefile +++ b/app/Makefile @@ -50,8 +50,8 @@ APPNAME = "OasisVal" APPPATH = "43'/474'" APPCURVE = --curve ed25519 -ifeq ($(TARGET_NAME),TARGET_NANOX) -$(error "Oasis Validator App is not supported in Nano X") +ifneq ($(TARGET_NAME),TARGET_NANOS) +$(error "Oasis Validator App only available for Nano S") endif else diff --git a/app/Makefile.version b/app/Makefile.version index c78cb6cd..91cfbc26 100644 --- a/app/Makefile.version +++ b/app/Makefile.version @@ -1,3 +1,3 @@ APPVERSION_M=2 -APPVERSION_N=5 -APPVERSION_P=10 +APPVERSION_N=6 +APPVERSION_P=0 diff --git a/app/glyphs/digit_dot.gif b/app/glyphs/digit_dot.gif deleted file mode 100644 index f8f79606..00000000 Binary files a/app/glyphs/digit_dot.gif and /dev/null differ diff --git a/app/glyphs/icon_back.gif b/app/glyphs/icon_back.gif deleted file mode 100644 index a2a7e6d4..00000000 Binary files a/app/glyphs/icon_back.gif and /dev/null differ diff --git a/app/glyphs/icon_close.gif b/app/glyphs/icon_close.gif deleted file mode 100644 index 12d24a12..00000000 Binary files a/app/glyphs/icon_close.gif and /dev/null differ diff --git a/app/glyphs/icon_crossmark.gif b/app/glyphs/icon_crossmark.gif deleted file mode 100644 index 2dcf9d9e..00000000 Binary files a/app/glyphs/icon_crossmark.gif and /dev/null differ diff --git a/app/glyphs/icon_dashboard.gif b/app/glyphs/icon_dashboard.gif deleted file mode 100644 index 33d9b0a7..00000000 Binary files a/app/glyphs/icon_dashboard.gif and /dev/null differ diff --git a/app/glyphs/icon_eye.gif b/app/glyphs/icon_eye.gif deleted file mode 100644 index df4bb829..00000000 Binary files a/app/glyphs/icon_eye.gif and /dev/null differ diff --git a/app/glyphs/icon_stax_32.gif b/app/glyphs/icon_stax_32.gif new file mode 100644 index 00000000..6aaed483 Binary files /dev/null and b/app/glyphs/icon_stax_32.gif differ diff --git a/app/glyphs/icon_stax_64.gif b/app/glyphs/icon_stax_64.gif new file mode 100644 index 00000000..cdc8ecf8 Binary files /dev/null and b/app/glyphs/icon_stax_64.gif differ diff --git a/app/glyphs/icon_validate.gif b/app/glyphs/icon_validate.gif deleted file mode 100644 index 5d1bc5ac..00000000 Binary files a/app/glyphs/icon_validate.gif and /dev/null differ diff --git a/app/glyphs/icon_validate_14.gif b/app/glyphs/icon_validate_14.gif deleted file mode 100644 index ccb5cabe..00000000 Binary files a/app/glyphs/icon_validate_14.gif and /dev/null differ diff --git a/app/glyphs/icon_warning.gif b/app/glyphs/icon_warning.gif deleted file mode 100644 index 08bd4a73..00000000 Binary files a/app/glyphs/icon_warning.gif and /dev/null differ diff --git a/app/rust/.cargo/.package-cache-mutate b/app/rust/.cargo/.package-cache-mutate new file mode 100644 index 00000000..e69de29b diff --git a/app/src/apdu_handler.c b/app/src/apdu_handler.c index 1caa0121..24913606 100644 --- a/app/src/apdu_handler.c +++ b/app/src/apdu_handler.c @@ -364,7 +364,9 @@ __Z_INLINE void handleSignSecp256k1(volatile uint32_t *flags, volatile uint32_t #if defined(APP_CONSUMER) CHECK_APP_CANARY() view_review_init(tx_getItem, tx_getNumItems, app_sign_secp256k1); +#ifndef TARGET_STAX view_inspect_init(tx_getInnerItem, tx_getNumInnerItems, tx_canInspectItem); +#endif view_review_show(REVIEW_TXN); *flags |= IO_ASYNCH_REPLY; #endif @@ -393,7 +395,9 @@ __Z_INLINE void handleSignEd25519(volatile uint32_t *flags, volatile uint32_t *t #if defined(APP_CONSUMER) CHECK_APP_CANARY() view_review_init(tx_getItem, tx_getNumItems, app_sign_ed25519); +#ifndef TARGET_STAX view_inspect_init(tx_getInnerItem, tx_getNumInnerItems, tx_canInspectItem); +#endif view_review_show(REVIEW_TXN); *flags |= IO_ASYNCH_REPLY; #elif defined(APP_VALIDATOR) @@ -473,7 +477,9 @@ __Z_INLINE void handleSignSr25519(volatile uint32_t *flags, volatile uint32_t *t #if defined(APP_CONSUMER) CHECK_APP_CANARY() view_review_init(tx_getItem, tx_getNumItems, app_sign_sr25519); +#ifndef TARGET_STAX view_inspect_init(tx_getInnerItem, tx_getNumInnerItems, tx_canInspectItem); +#endif view_review_show(REVIEW_TXN); *flags |= IO_ASYNCH_REPLY; #endif diff --git a/app/src/common/tx.c b/app/src/common/tx.c index cc59f4fe..d08aea85 100644 --- a/app/src/common/tx.c +++ b/app/src/common/tx.c @@ -22,7 +22,7 @@ #include "zxmacros.h" #include "parser_common.h" -#if defined(TARGET_NANOX) || defined(TARGET_NANOS2) +#if defined(TARGET_NANOX) || defined(TARGET_NANOS2) || defined(TARGET_STAX) #define RAM_BUFFER_SIZE 8192 #define FLASH_BUFFER_SIZE 16384 #elif defined(TARGET_NANOS) @@ -38,7 +38,7 @@ typedef struct { uint8_t buffer[FLASH_BUFFER_SIZE]; } storage_t; -#if defined(TARGET_NANOS) || defined(TARGET_NANOX) || defined(TARGET_NANOS2) +#if defined(TARGET_NANOS) || defined(TARGET_NANOX) || defined(TARGET_NANOS2) || defined(TARGET_STAX) storage_t NV_CONST N_appdata_impl __attribute__ ((aligned(64))); #define N_appdata (*(NV_VOLATILE storage_t *)PIC(&N_appdata_impl)) #endif diff --git a/app/src/consumer/parser_consumer.c b/app/src/consumer/parser_consumer.c index d47faee5..d6c9c968 100644 --- a/app/src/consumer/parser_consumer.c +++ b/app/src/consumer/parser_consumer.c @@ -40,7 +40,7 @@ static const char *blindSignWarning = const char addressV0_Secp256k1_ethContext[40] = "oasis-runtime-sdk/address: secp256k1eth"; -#if defined(TARGET_NANOX) || defined(TARGET_NANOS2) +#if defined(TARGET_NANOX) || defined(TARGET_NANOS2) || defined(TARGET_STAX) // For some reason NanoX requires this function void __assert_fail(__Z_UNUSED const char * assertion, __Z_UNUSED const char * file, __Z_UNUSED unsigned int line, __Z_UNUSED const char * function){ while(1) {}; @@ -72,14 +72,14 @@ parser_error_t parser_parse(parser_context_t *ctx, const uint8_t *data, size_t d CHECK_PARSER_ERR(parser_init(ctx, data, dataLen)) return _readEth(ctx, ð_tx_obj); } - + CHECK_PARSER_ERR(parser_init(ctx, data, dataLen)) CHECK_PARSER_ERR(_readContext(ctx, &parser_tx_obj)) CHECK_PARSER_ERR(_extractContextSuffix(&parser_tx_obj)) // Read after we determine context CHECK_PARSER_ERR(_read(ctx, &parser_tx_obj)); -#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) +#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) || defined(TARGET_STAX) if ((parser_tx_obj.oasis.runtime.call.method >= contractsInstantiate) && (parser_tx_obj.type == runtimeType) && !app_mode_expert()) { return parser_required_expert_mode; @@ -287,7 +287,7 @@ parser_error_t parser_printInnerField(ui_field_t *ui_field) { uint8_t elements_print = 0; elements_print = (type == CborMapType ? 2 : 1); - + for (int i = 0; i< ui_field->displayIdx; i++) { if (type == CborMapType) { cbor_value_advance(¤t); diff --git a/app/src/consumer/parser_impl_con.c b/app/src/consumer/parser_impl_con.c index e02b609b..523b3c43 100644 --- a/app/src/consumer/parser_impl_con.c +++ b/app/src/consumer/parser_impl_con.c @@ -18,7 +18,7 @@ #include "parser_txdef_con.h" #include "sha512.h" #include "zxformat.h" -#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) +#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) || defined(TARGET_STAX) #include "cx.h" #else #include "picohash.h" @@ -165,7 +165,7 @@ const char *parser_getErrorDescription(parser_error_t err) { } } -#if !defined(TARGET_NANOS) && !defined(TARGET_NANOS2) && !defined(TARGET_NANOX) +#if !defined(TARGET_NANOS) && !defined(TARGET_NANOS2) && !defined(TARGET_NANOX) && !defined(TARGET_STAX) parser_error_t parser_picoHash(uint8_t *src, size_t srcLen, uint8_t *dest, size_t destLen) { if(destLen < KECCAK256_HASH_LEN) { return parser_unexpected_buffer_size; @@ -1379,7 +1379,7 @@ __Z_INLINE parser_error_t _readRuntimeEncrypted(parser_tx_t *v, CborValue *rootI CHECK_CBOR_ERR(_cbor_value_get_string_chunk(&dataField, (const void **) &buffer, &buffer_size, NULL)) MEMZERO(&v->oasis.runtime.call.body.encrypted.data_hash, sizeof(v->oasis.runtime.call.body.encrypted.data_hash)); -#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) +#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) || defined(TARGET_STAX) cx_sha256_t ctx; memset(&ctx, 0, sizeof(ctx)); cx_sha256_init_no_throw(&ctx); @@ -1428,7 +1428,7 @@ __Z_INLINE parser_error_t _readRuntimeEvmBody(parser_tx_t *v, CborValue *rootIte CHECK_CBOR_ERR(_cbor_value_get_string_chunk(&dataField, (const void **) &buffer, &buffer_size, NULL)) MEMZERO(&v->oasis.runtime.call.body.evm.data_hash, sizeof(v->oasis.runtime.call.body.evm.data_hash)); -#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) +#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) || defined(TARGET_STAX) cx_sha256_t ctx; memset(&ctx, 0, sizeof(ctx)); cx_sha256_init_no_throw(&ctx); diff --git a/app/src/parser_impl_eth.c b/app/src/parser_impl_eth.c index 50eb144a..8366ab13 100644 --- a/app/src/parser_impl_eth.c +++ b/app/src/parser_impl_eth.c @@ -258,7 +258,7 @@ parser_error_t _getItemEth(const parser_context_t *ctx, uint8_t displayIdx, // we need to get keccak hash of the transaction data uint8_t hash[32] = {0}; -#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) +#if defined(TARGET_NANOS) || defined(TARGET_NANOS2) || defined(TARGET_NANOX) || defined(TARGET_STAX) keccak_digest(ctx->buffer, ctx->bufferLen, hash, 32); #endif // now get the hex string of the hash diff --git a/app/src/validator/parser_validator.c b/app/src/validator/parser_validator.c index 7574a599..693d47ad 100644 --- a/app/src/validator/parser_validator.c +++ b/app/src/validator/parser_validator.c @@ -28,7 +28,7 @@ #include "coin.h" #include "vote_fsm.h" -#if defined(TARGET_NANOX) || defined(TARGET_NANOS2) +#if defined(TARGET_NANOX) || defined(TARGET_NANOS2) || defined(TARGET_STAX) // For some reason NanoX requires this function void __assert_fail(const char * assertion, const char * file, unsigned int line, const char * function){ while(1) {}; diff --git a/app/stax_icon.gif b/app/stax_icon.gif new file mode 100644 index 00000000..6aaed483 Binary files /dev/null and b/app/stax_icon.gif differ diff --git a/deps/nanosplus-secure-sdk b/deps/nanosplus-secure-sdk index 2123272d..1a112fe4 160000 --- a/deps/nanosplus-secure-sdk +++ b/deps/nanosplus-secure-sdk @@ -1 +1 @@ -Subproject commit 2123272d3091c7ec0894e336e7a2c0216bd25a78 +Subproject commit 1a112fe4473f90379f6d7bc6c5c1b68550ec4a20 diff --git a/deps/nanox-secure-sdk b/deps/nanox-secure-sdk index 2123272d..1a112fe4 160000 --- a/deps/nanox-secure-sdk +++ b/deps/nanox-secure-sdk @@ -1 +1 @@ -Subproject commit 2123272d3091c7ec0894e336e7a2c0216bd25a78 +Subproject commit 1a112fe4473f90379f6d7bc6c5c1b68550ec4a20 diff --git a/deps/stax-secure-sdk b/deps/stax-secure-sdk new file mode 160000 index 00000000..51f89859 --- /dev/null +++ b/deps/stax-secure-sdk @@ -0,0 +1 @@ +Subproject commit 51f89859ade48e0a479032324de122a5c26a424e diff --git a/ledger_app.toml b/ledger_app.toml index 278d3304..10d2a7bf 100644 --- a/ledger_app.toml +++ b/ledger_app.toml @@ -1,7 +1,7 @@ [app] build_directory = "./app/" sdk = "C" -devices = ["nanos", "nanox", "nanos+"] +devices = ["nanos", "nanox", "nanos+", "stax"] [tests] unit_directory = "" diff --git a/tests_zemu/snapshots/s-adr0008-0-mainmenu/00004.png b/tests_zemu/snapshots/s-adr0008-0-mainmenu/00004.png index 9c54e4f6..0c10a963 100644 Binary files a/tests_zemu/snapshots/s-adr0008-0-mainmenu/00004.png and b/tests_zemu/snapshots/s-adr0008-0-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/s-adr0008-0-mainmenu/00007.png b/tests_zemu/snapshots/s-adr0008-0-mainmenu/00007.png index a4fbbac9..3ad12346 100644 Binary files a/tests_zemu/snapshots/s-adr0008-0-mainmenu/00007.png and b/tests_zemu/snapshots/s-adr0008-0-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/s-adr0008-0-mainmenu/00010.png b/tests_zemu/snapshots/s-adr0008-0-mainmenu/00010.png index 9c54e4f6..0c10a963 100644 Binary files a/tests_zemu/snapshots/s-adr0008-0-mainmenu/00010.png and b/tests_zemu/snapshots/s-adr0008-0-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/s-adr0008-5-mainmenu/00004.png b/tests_zemu/snapshots/s-adr0008-5-mainmenu/00004.png index 9c54e4f6..0c10a963 100644 Binary files a/tests_zemu/snapshots/s-adr0008-5-mainmenu/00004.png and b/tests_zemu/snapshots/s-adr0008-5-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/s-adr0008-5-mainmenu/00007.png b/tests_zemu/snapshots/s-adr0008-5-mainmenu/00007.png index a4fbbac9..3ad12346 100644 Binary files a/tests_zemu/snapshots/s-adr0008-5-mainmenu/00007.png and b/tests_zemu/snapshots/s-adr0008-5-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/s-adr0008-5-mainmenu/00010.png b/tests_zemu/snapshots/s-adr0008-5-mainmenu/00010.png index 9c54e4f6..0c10a963 100644 Binary files a/tests_zemu/snapshots/s-adr0008-5-mainmenu/00010.png and b/tests_zemu/snapshots/s-adr0008-5-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00000.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00000.png deleted file mode 100644 index dda534bc..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00001.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00001.png deleted file mode 100644 index 20932ef1..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00002.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00002.png deleted file mode 100644 index 51e267c6..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00003.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00003.png deleted file mode 100644 index 8387e1af..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00004.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00004.png deleted file mode 100644 index 78ad03a5..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00005.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00005.png deleted file mode 100644 index 52ece6f2..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00006.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00006.png deleted file mode 100644 index df163fb7..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00007.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00007.png deleted file mode 100644 index 077ddbca..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00008.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00008.png deleted file mode 100644 index 29eb324f..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00009.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00009.png deleted file mode 100644 index 1ff98916..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00010.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00010.png deleted file mode 100644 index 506027e5..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00011.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00011.png deleted file mode 100644 index 2ecdd596..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00012.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00012.png deleted file mode 100644 index 408d7867..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00013.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00013.png deleted file mode 100644 index c1e80f24..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00014.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00014.png deleted file mode 100644 index 1eb74c06..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00015.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00015.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00000.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00000.png deleted file mode 100644 index af976ba9..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00001.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00001.png deleted file mode 100644 index 20932ef1..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00002.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00002.png deleted file mode 100644 index 51e267c6..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00003.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00003.png deleted file mode 100644 index 8387e1af..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00004.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00004.png deleted file mode 100644 index 78ad03a5..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00005.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00005.png deleted file mode 100644 index 52ece6f2..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00006.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00006.png deleted file mode 100644 index df163fb7..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00007.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00007.png deleted file mode 100644 index f5b7517b..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00008.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00008.png deleted file mode 100644 index 29eb324f..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00009.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00009.png deleted file mode 100644 index 1ff98916..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00010.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00010.png deleted file mode 100644 index 506027e5..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00011.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00011.png deleted file mode 100644 index 2ecdd596..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00012.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00012.png deleted file mode 100644 index 408d7867..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00013.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00013.png deleted file mode 100644 index c1e80f24..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00014.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00014.png deleted file mode 100644 index 1eb74c06..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00015.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00015.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00016.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00016.png deleted file mode 100644 index 2f7aa27e..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_instantiate/00016.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00000.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00000.png deleted file mode 100644 index 9d56193c..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00001.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00001.png deleted file mode 100644 index 20932ef1..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00002.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00002.png deleted file mode 100644 index 51e267c6..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00003.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00003.png deleted file mode 100644 index 8387e1af..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00004.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00004.png deleted file mode 100644 index 78ad03a5..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00005.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00005.png deleted file mode 100644 index 52ece6f2..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00006.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00006.png deleted file mode 100644 index df163fb7..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00007.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00007.png deleted file mode 100644 index 077ddbca..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00008.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00008.png deleted file mode 100644 index 29eb324f..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00009.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00009.png deleted file mode 100644 index 1ff98916..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00010.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00010.png deleted file mode 100644 index 506027e5..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00011.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00011.png deleted file mode 100644 index 8acf5d15..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00012.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00012.png deleted file mode 100644 index 2ecdd596..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00013.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00013.png deleted file mode 100644 index 408d7867..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00014.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00014.png deleted file mode 100644 index c1e80f24..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00015.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00015.png deleted file mode 100644 index 1eb74c06..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00016.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00016.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00016.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00017.png b/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00017.png deleted file mode 100644 index 2f7aa27e..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_upgrade/00017.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00009.png b/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00009.png deleted file mode 100644 index a80774b6..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00010.png b/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00010.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00011.png b/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00011.png deleted file mode 100644 index 2f7aa27e..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_sr25519_consensus_withdraw/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_sr25519_runtime_evm/00017.png b/tests_zemu/snapshots/s-adr0014-sign_sr25519_runtime_evm/00017.png deleted file mode 100644 index 006c26ab..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_sr25519_runtime_evm/00017.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_sr25519_runtime_evm/00018.png b/tests_zemu/snapshots/s-adr0014-sign_sr25519_runtime_evm/00018.png deleted file mode 100644 index 2f7aa27e..00000000 Binary files a/tests_zemu/snapshots/s-adr0014-sign_sr25519_runtime_evm/00018.png and /dev/null differ diff --git a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00003.png b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00003.png index 52e82253..158ad269 100644 Binary files a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00003.png and b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00003.png differ diff --git a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00005.png b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00005.png index d576978d..ef0bc3f9 100644 Binary files a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00005.png and b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00005.png differ diff --git a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00006.png b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00006.png index 006c26ab..02eb25d6 100644 Binary files a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00006.png and b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00006.png differ diff --git a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00007.png b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00007.png index 2f7aa27e..006c26ab 100644 Binary files a/tests_zemu/snapshots/s-cast_vote_yes_testnet/00007.png and b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00007.png differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00016.png b/tests_zemu/snapshots/s-cast_vote_yes_testnet/00008.png similarity index 100% rename from tests_zemu/snapshots/s-adr0014-sign_ed25519_contracts_call/00016.png rename to tests_zemu/snapshots/s-cast_vote_yes_testnet/00008.png diff --git a/tests_zemu/snapshots/s-mainmenu/00004.png b/tests_zemu/snapshots/s-mainmenu/00004.png index 9c54e4f6..0c10a963 100644 Binary files a/tests_zemu/snapshots/s-mainmenu/00004.png and b/tests_zemu/snapshots/s-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/s-mainmenu/00007.png b/tests_zemu/snapshots/s-mainmenu/00007.png index a4fbbac9..3ad12346 100644 Binary files a/tests_zemu/snapshots/s-mainmenu/00007.png and b/tests_zemu/snapshots/s-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/s-mainmenu/00010.png b/tests_zemu/snapshots/s-mainmenu/00010.png index 9c54e4f6..0c10a963 100644 Binary files a/tests_zemu/snapshots/s-mainmenu/00010.png and b/tests_zemu/snapshots/s-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00003.png b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00003.png index a929fb71..a9eb3897 100644 Binary files a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00003.png and b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00003.png differ diff --git a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00004.png b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00004.png index 52e82253..158ad269 100644 Binary files a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00004.png and b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00004.png differ diff --git a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00006.png b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00006.png index d576978d..ef0bc3f9 100644 Binary files a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00006.png and b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00006.png differ diff --git a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00007.png b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00007.png index 006c26ab..02eb25d6 100644 Binary files a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00007.png and b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00007.png differ diff --git a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00008.png b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00008.png index 2f7aa27e..006c26ab 100644 Binary files a/tests_zemu/snapshots/s-sign_basic_allow_testnet/00008.png and b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00008.png differ diff --git a/tests_zemu/snapshots/s-adr0014-sign_secp256k1_consensus_withdraw/00009.png b/tests_zemu/snapshots/s-sign_basic_allow_testnet/00009.png similarity index 100% rename from tests_zemu/snapshots/s-adr0014-sign_secp256k1_consensus_withdraw/00009.png rename to tests_zemu/snapshots/s-sign_basic_allow_testnet/00009.png diff --git a/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00004.png b/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00004.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00004.png and b/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00007.png b/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00007.png index 3922fb6c..c7703726 100644 Binary files a/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00007.png and b/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00010.png b/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00010.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00010.png and b/tests_zemu/snapshots/sp-adr0008-0-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00004.png b/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00004.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00004.png and b/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00007.png b/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00007.png index 3922fb6c..c7703726 100644 Binary files a/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00007.png and b/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00010.png b/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00010.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00010.png and b/tests_zemu/snapshots/sp-adr0008-5-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00000.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00000.png deleted file mode 100644 index 08ae79b8..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00001.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00001.png deleted file mode 100644 index e4f84ada..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00002.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00002.png deleted file mode 100644 index 469297a5..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00003.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00003.png deleted file mode 100644 index 0e4a5954..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00004.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00004.png deleted file mode 100644 index b77212d1..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00005.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00005.png deleted file mode 100644 index 468ff510..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00006.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00006.png deleted file mode 100644 index b8d29742..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00007.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00007.png deleted file mode 100644 index 6eb50a1f..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00008.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00008.png deleted file mode 100644 index b544552a..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00009.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00009.png deleted file mode 100644 index b1989d34..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00010.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00010.png deleted file mode 100644 index 7a70e83c..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00011.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00011.png deleted file mode 100644 index f5e9c050..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00012.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00012.png deleted file mode 100644 index ce08bbc6..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00013.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00013.png deleted file mode 100644 index dfaacb2f..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00014.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00014.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00000.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00000.png deleted file mode 100644 index 08ae79b8..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00001.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00001.png deleted file mode 100644 index 89b1a343..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00002.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00002.png deleted file mode 100644 index 469297a5..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00003.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00003.png deleted file mode 100644 index 0e4a5954..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00004.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00004.png deleted file mode 100644 index b77212d1..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00005.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00005.png deleted file mode 100644 index 468ff510..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00006.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00006.png deleted file mode 100644 index 840af319..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00007.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00007.png deleted file mode 100644 index 6eb50a1f..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00008.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00008.png deleted file mode 100644 index b544552a..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00009.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00009.png deleted file mode 100644 index b1989d34..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00010.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00010.png deleted file mode 100644 index 7a70e83c..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00011.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00011.png deleted file mode 100644 index f5e9c050..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00012.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00012.png deleted file mode 100644 index ce08bbc6..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00013.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00013.png deleted file mode 100644 index dfaacb2f..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00014.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00014.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00000.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00000.png deleted file mode 100644 index 08ae79b8..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00001.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00001.png deleted file mode 100644 index 7e8d9d5a..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00002.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00002.png deleted file mode 100644 index 469297a5..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00003.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00003.png deleted file mode 100644 index 0e4a5954..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00004.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00004.png deleted file mode 100644 index b77212d1..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00005.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00005.png deleted file mode 100644 index 468ff510..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00006.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00006.png deleted file mode 100644 index b8d29742..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00007.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00007.png deleted file mode 100644 index 6eb50a1f..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00008.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00008.png deleted file mode 100644 index b544552a..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00009.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00009.png deleted file mode 100644 index b1989d34..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00010.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00010.png deleted file mode 100644 index 6b4906eb..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00011.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00011.png deleted file mode 100644 index 7a70e83c..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00012.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00012.png deleted file mode 100644 index f5e9c050..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00013.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00013.png deleted file mode 100644 index ce08bbc6..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00014.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00014.png deleted file mode 100644 index dfaacb2f..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00015.png b/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00015.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_sr25519_consensus_withdraw/00010.png b/tests_zemu/snapshots/sp-adr0014-sign_sr25519_consensus_withdraw/00010.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_sr25519_consensus_withdraw/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_sr25519_runtime_evm/00015.png b/tests_zemu/snapshots/sp-adr0014-sign_sr25519_runtime_evm/00015.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_sr25519_runtime_evm/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_sr25519_runtime_evm/00016.png b/tests_zemu/snapshots/sp-adr0014-sign_sr25519_runtime_evm/00016.png deleted file mode 100644 index 781a78eb..00000000 Binary files a/tests_zemu/snapshots/sp-adr0014-sign_sr25519_runtime_evm/00016.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00001.png b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00001.png index e0a957d5..214af31f 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00001.png and b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00001.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00005.png b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00005.png index f5e9c050..d775d25b 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00005.png and b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00005.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00006.png b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00006.png index fc82154a..2518d76b 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00006.png and b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00006.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00007.png b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00007.png index 9a3ff20a..ac63c8e1 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00007.png and b/tests_zemu/snapshots/sp-cast_vote_yes_mainnet/00007.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00001.png b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00001.png index e0a957d5..214af31f 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00001.png and b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00001.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00004.png b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00004.png index c982e86b..52214979 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00004.png and b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00004.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00005.png b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00005.png index f5e9c050..d775d25b 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00005.png and b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00005.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00006.png b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00006.png index 76410f07..36eba7f0 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00006.png and b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00006.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00007.png b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00007.png index 1e4be699..e53e4bdb 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00007.png and b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00007.png differ diff --git a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00008.png b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00008.png index 781a78eb..1e4be699 100644 Binary files a/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00008.png and b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00008.png differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00015.png b/tests_zemu/snapshots/sp-cast_vote_yes_testnet/00009.png similarity index 100% rename from tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_call/00015.png rename to tests_zemu/snapshots/sp-cast_vote_yes_testnet/00009.png diff --git a/tests_zemu/snapshots/sp-mainmenu/00004.png b/tests_zemu/snapshots/sp-mainmenu/00004.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00004.png and b/tests_zemu/snapshots/sp-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00007.png b/tests_zemu/snapshots/sp-mainmenu/00007.png index 3922fb6c..c7703726 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00007.png and b/tests_zemu/snapshots/sp-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00010.png b/tests_zemu/snapshots/sp-mainmenu/00010.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00010.png and b/tests_zemu/snapshots/sp-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/sp-show_address_secp256k1/00000.png b/tests_zemu/snapshots/sp-show_address_secp256k1/00000.png deleted file mode 100644 index 08ae79b8..00000000 Binary files a/tests_zemu/snapshots/sp-show_address_secp256k1/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-show_address_secp256k1/00001.png b/tests_zemu/snapshots/sp-show_address_secp256k1/00001.png deleted file mode 100644 index 701f039f..00000000 Binary files a/tests_zemu/snapshots/sp-show_address_secp256k1/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-show_address_secp256k1/00002.png b/tests_zemu/snapshots/sp-show_address_secp256k1/00002.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/sp-show_address_secp256k1/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-show_address_secp256k1/00003.png b/tests_zemu/snapshots/sp-show_address_secp256k1/00003.png deleted file mode 100644 index 781a78eb..00000000 Binary files a/tests_zemu/snapshots/sp-show_address_secp256k1/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00002.png b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00002.png index 390fee91..55a3738f 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00002.png and b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00002.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00003.png b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00003.png index 9d1dd67b..67812888 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00003.png and b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00003.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00005.png b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00005.png index f5e9c050..d775d25b 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00005.png and b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00005.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00006.png b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00006.png index fc82154a..2518d76b 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00006.png and b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00006.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00007.png b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00007.png index 9a3ff20a..ac63c8e1 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00007.png and b/tests_zemu/snapshots/sp-sign_basic_allow_mainnet/00007.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00002.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00002.png index 390fee91..55a3738f 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00002.png and b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00002.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00003.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00003.png index 21ad27d0..67812888 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00003.png and b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00003.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00004.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00004.png index c982e86b..52214979 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00004.png and b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00004.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00005.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00005.png index f5e9c050..d775d25b 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00005.png and b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00005.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00006.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00006.png index 76410f07..36eba7f0 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00006.png and b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00006.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00007.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00007.png index 1e4be699..e53e4bdb 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00007.png and b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00007.png differ diff --git a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00008.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00008.png index 781a78eb..1e4be699 100644 Binary files a/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00008.png and b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00008.png differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00015.png b/tests_zemu/snapshots/sp-sign_basic_allow_testnet/00009.png similarity index 100% rename from tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_instantiate/00015.png rename to tests_zemu/snapshots/sp-sign_basic_allow_testnet/00009.png diff --git a/tests_zemu/snapshots/st-add_escrow/00000.png b/tests_zemu/snapshots/st-add_escrow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-add_escrow/00000.png differ diff --git a/tests_zemu/snapshots/st-add_escrow/00001.png b/tests_zemu/snapshots/st-add_escrow/00001.png new file mode 100644 index 00000000..005d1519 Binary files /dev/null and b/tests_zemu/snapshots/st-add_escrow/00001.png differ diff --git a/tests_zemu/snapshots/st-add_escrow/00002.png b/tests_zemu/snapshots/st-add_escrow/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-add_escrow/00002.png differ diff --git a/tests_zemu/snapshots/st-add_escrow/00003.png b/tests_zemu/snapshots/st-add_escrow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-add_escrow/00003.png differ diff --git a/tests_zemu/snapshots/st-add_escrow/00004.png b/tests_zemu/snapshots/st-add_escrow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-add_escrow/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-add_escrow/00000.png b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-add_escrow/00001.png b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00001.png new file mode 100644 index 00000000..005d1519 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-add_escrow/00002.png b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-add_escrow/00003.png b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-add_escrow/00004.png b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-add_escrow/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00000.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00001.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00001.png new file mode 100644 index 00000000..cd4349a6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00002.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00003.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00004.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_abstain/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00000.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00001.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00001.png new file mode 100644 index 00000000..f06b7d49 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00002.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00003.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00004.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_no/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00000.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00001.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00001.png new file mode 100644 index 00000000..ff6607fa Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00002.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00003.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00004.png b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-cast_vote_yes/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-mainmenu/00000.png b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00000.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-mainmenu/00001.png b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00001.png new file mode 100644 index 00000000..621af6b5 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-mainmenu/00002.png b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00002.png new file mode 100644 index 00000000..1c4c5316 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-mainmenu/00003.png b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00003.png new file mode 100644 index 00000000..0375260f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-mainmenu/00004.png b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00004.png new file mode 100644 index 00000000..1c4c5316 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-mainmenu/00005.png b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-mainmenu/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00000.png b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00001.png b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00001.png new file mode 100644 index 00000000..f4e619e5 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00002.png b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00002.png new file mode 100644 index 00000000..165a077c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00003.png b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00004.png b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-reclaim_escrow/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-show_address/00000.png b/tests_zemu/snapshots/st-adr0008-0-show_address/00000.png new file mode 100644 index 00000000..c6c24d44 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-show_address/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-show_address/00001.png b/tests_zemu/snapshots/st-adr0008-0-show_address/00001.png new file mode 100644 index 00000000..f8b1d2fc Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-show_address/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-show_address/00002.png b/tests_zemu/snapshots/st-adr0008-0-show_address/00002.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-show_address/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00001.png new file mode 100644 index 00000000..34c50229 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00002.png new file mode 100644 index 00000000..c1ffcd11 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00003.png new file mode 100644 index 00000000..3fb5f82f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00004.png new file mode 100644 index 00000000..301193c6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00005.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00005.png new file mode 100644 index 00000000..cb1a7ca2 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00006.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00006.png new file mode 100644 index 00000000..353214f3 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00007.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00007.png new file mode 100644 index 00000000..5867fe9d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00008.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00008.png new file mode 100644 index 00000000..9f0d9ec7 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00008.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00009.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00009.png new file mode 100644 index 00000000..ad5ca9e6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00009.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend/00010.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00010.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend/00010.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00001.png new file mode 100644 index 00000000..e3068bf5 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00002.png new file mode 100644 index 00000000..4f793fdb Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00003.png new file mode 100644 index 00000000..8ced3f0b Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00004.png new file mode 100644 index 00000000..c1b090c9 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00005.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00005.png new file mode 100644 index 00000000..10eb96db Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00006.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00007.png b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_amend_issue_130/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00001.png new file mode 100644 index 00000000..390fce95 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00002.png new file mode 100644 index 00000000..f81dbe19 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00001.png new file mode 100644 index 00000000..b794f613 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_allow/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00001.png new file mode 100644 index 00000000..0403e961 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_basic_withdraw/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00001.png new file mode 100644 index 00000000..329e4727 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00002.png new file mode 100644 index 00000000..3893a7b2 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_deregister_entity/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00001.png new file mode 100644 index 00000000..58a7ecf6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_descriptor/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00001.png new file mode 100644 index 00000000..fb55ec29 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00002.png new file mode 100644 index 00000000..e28d0a4f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00001.png new file mode 100644 index 00000000..2937e81e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00002.png new file mode 100644 index 00000000..fd61caa3 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00003.png new file mode 100644 index 00000000..d8831015 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00005.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_long/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00001.png new file mode 100644 index 00000000..d1cad2e6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00002.png new file mode 100644 index 00000000..e28d0a4f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_entity_metadata_utf8/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00001.png new file mode 100644 index 00000000..51e6e953 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00002.png new file mode 100644 index 00000000..2fbc058c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00003.png new file mode 100644 index 00000000..8a7f3d12 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00004.png new file mode 100644 index 00000000..9f4dfa01 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00005.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00005.png new file mode 100644 index 00000000..08c500b7 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00006.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00007.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00000.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00001.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00001.png new file mode 100644 index 00000000..3c40f6e0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00002.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00002.png new file mode 100644 index 00000000..7e7c933c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00003.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00004.png b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-sign_register_entity_no_nodes/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00000.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00001.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00001.png new file mode 100644 index 00000000..b34c4de1 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00002.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00003.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00004.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_cancel_upgrade/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00000.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00001.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00001.png new file mode 100644 index 00000000..f670a56d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00002.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00002.png new file mode 100644 index 00000000..fdd39e1e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00003.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00003.png new file mode 100644 index 00000000..4090630b Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00004.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00005.png b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-submit_proposal_upgrade/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-transfer/00000.png b/tests_zemu/snapshots/st-adr0008-0-transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-transfer/00001.png b/tests_zemu/snapshots/st-adr0008-0-transfer/00001.png new file mode 100644 index 00000000..390fce95 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-transfer/00002.png b/tests_zemu/snapshots/st-adr0008-0-transfer/00002.png new file mode 100644 index 00000000..165a077c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-transfer/00003.png b/tests_zemu/snapshots/st-adr0008-0-transfer/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-0-transfer/00004.png b/tests_zemu/snapshots/st-adr0008-0-transfer/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-0-transfer/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-add_escrow/00000.png b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-add_escrow/00001.png b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00001.png new file mode 100644 index 00000000..005d1519 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-add_escrow/00002.png b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-add_escrow/00003.png b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-add_escrow/00004.png b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-add_escrow/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00000.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00001.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00001.png new file mode 100644 index 00000000..cd4349a6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00002.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00003.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00004.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_abstain/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00000.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00001.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00001.png new file mode 100644 index 00000000..f06b7d49 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00002.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00003.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00004.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_no/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00000.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00001.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00001.png new file mode 100644 index 00000000..ff6607fa Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00002.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00003.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00004.png b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-cast_vote_yes/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-mainmenu/00000.png b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00000.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-mainmenu/00001.png b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00001.png new file mode 100644 index 00000000..621af6b5 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-mainmenu/00002.png b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00002.png new file mode 100644 index 00000000..1c4c5316 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-mainmenu/00003.png b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00003.png new file mode 100644 index 00000000..0375260f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-mainmenu/00004.png b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00004.png new file mode 100644 index 00000000..1c4c5316 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-mainmenu/00005.png b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-mainmenu/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00000.png b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00001.png b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00001.png new file mode 100644 index 00000000..f4e619e5 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00002.png b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00002.png new file mode 100644 index 00000000..165a077c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00003.png b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00004.png b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-reclaim_escrow/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-show_address/00000.png b/tests_zemu/snapshots/st-adr0008-5-show_address/00000.png new file mode 100644 index 00000000..c6c24d44 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-show_address/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-show_address/00001.png b/tests_zemu/snapshots/st-adr0008-5-show_address/00001.png new file mode 100644 index 00000000..d7cafe06 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-show_address/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-show_address/00002.png b/tests_zemu/snapshots/st-adr0008-5-show_address/00002.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-show_address/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00001.png new file mode 100644 index 00000000..34c50229 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00002.png new file mode 100644 index 00000000..c1ffcd11 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00003.png new file mode 100644 index 00000000..3fb5f82f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00004.png new file mode 100644 index 00000000..301193c6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00005.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00005.png new file mode 100644 index 00000000..cb1a7ca2 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00006.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00006.png new file mode 100644 index 00000000..353214f3 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00007.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00007.png new file mode 100644 index 00000000..5867fe9d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00008.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00008.png new file mode 100644 index 00000000..9f0d9ec7 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00008.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00009.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00009.png new file mode 100644 index 00000000..ad5ca9e6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00009.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend/00010.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00010.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend/00010.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00001.png new file mode 100644 index 00000000..e3068bf5 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00002.png new file mode 100644 index 00000000..4f793fdb Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00003.png new file mode 100644 index 00000000..8ced3f0b Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00004.png new file mode 100644 index 00000000..c1b090c9 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00005.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00005.png new file mode 100644 index 00000000..10eb96db Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00006.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00007.png b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_amend_issue_130/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00001.png new file mode 100644 index 00000000..390fce95 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00002.png new file mode 100644 index 00000000..f81dbe19 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00001.png new file mode 100644 index 00000000..b794f613 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_allow/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00001.png new file mode 100644 index 00000000..0403e961 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_basic_withdraw/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00001.png new file mode 100644 index 00000000..329e4727 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00002.png new file mode 100644 index 00000000..3893a7b2 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_deregister_entity/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00001.png new file mode 100644 index 00000000..58a7ecf6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_descriptor/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00001.png new file mode 100644 index 00000000..fb55ec29 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00002.png new file mode 100644 index 00000000..e28d0a4f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00001.png new file mode 100644 index 00000000..2937e81e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00002.png new file mode 100644 index 00000000..fd61caa3 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00003.png new file mode 100644 index 00000000..d8831015 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00005.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_long/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00001.png new file mode 100644 index 00000000..d1cad2e6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00002.png new file mode 100644 index 00000000..e28d0a4f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_entity_metadata_utf8/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00001.png new file mode 100644 index 00000000..51e6e953 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00002.png new file mode 100644 index 00000000..2fbc058c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00003.png new file mode 100644 index 00000000..8a7f3d12 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00004.png new file mode 100644 index 00000000..9f4dfa01 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00005.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00005.png new file mode 100644 index 00000000..08c500b7 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00006.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00007.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00000.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00001.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00001.png new file mode 100644 index 00000000..3c40f6e0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00002.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00002.png new file mode 100644 index 00000000..7e7c933c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00003.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00004.png b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-sign_register_entity_no_nodes/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00000.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00001.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00001.png new file mode 100644 index 00000000..b34c4de1 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00002.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00003.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00004.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_cancel_upgrade/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00000.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00001.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00001.png new file mode 100644 index 00000000..f670a56d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00002.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00002.png new file mode 100644 index 00000000..fdd39e1e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00003.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00003.png new file mode 100644 index 00000000..4090630b Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00004.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00005.png b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-submit_proposal_upgrade/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-transfer/00000.png b/tests_zemu/snapshots/st-adr0008-5-transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-transfer/00001.png b/tests_zemu/snapshots/st-adr0008-5-transfer/00001.png new file mode 100644 index 00000000..390fce95 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-transfer/00002.png b/tests_zemu/snapshots/st-adr0008-5-transfer/00002.png new file mode 100644 index 00000000..165a077c Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-transfer/00003.png b/tests_zemu/snapshots/st-adr0008-5-transfer/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0008-5-transfer/00004.png b/tests_zemu/snapshots/st-adr0008-5-transfer/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0008-5-transfer/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts--array-map/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts--array-map/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts--array-map/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00001.png new file mode 100644 index 00000000..fa7c6b5f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00002.png new file mode 100644 index 00000000..28265fd2 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00003.png new file mode 100644 index 00000000..3956c2eb Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00005.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-array-map/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00001.png new file mode 100644 index 00000000..ed062726 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00002.png new file mode 100644 index 00000000..1b73f5e8 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00003.png new file mode 100644 index 00000000..b7d77254 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00005.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-empty-data/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-types/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-types/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed15519_contracts-types/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00001.png new file mode 100644 index 00000000..bc6fd8e3 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00002.png new file mode 100644 index 00000000..e88622fd Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_accounts_transfer/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00001.png new file mode 100644 index 00000000..043f405e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00002.png new file mode 100644 index 00000000..26530996 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_delegate/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00001.png new file mode 100644 index 00000000..f18cbc0f Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00002.png new file mode 100644 index 00000000..e88622fd Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_deposit/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00001.png new file mode 100644 index 00000000..4501a473 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00002.png new file mode 100644 index 00000000..43c6205a Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00003.png new file mode 100644 index 00000000..b7d77254 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00005.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_undelegate/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00001.png new file mode 100644 index 00000000..999a4eff Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00002.png new file mode 100644 index 00000000..4217889e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_consensus_withdraw/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00001.png new file mode 100644 index 00000000..20426c2d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00002.png new file mode 100644 index 00000000..7beab639 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00003.png new file mode 100644 index 00000000..56d8ccc9 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00004.png new file mode 100644 index 00000000..642436b6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00005.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00005.png new file mode 100644 index 00000000..73324d3d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00006.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00007.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_encrypted/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00000.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00001.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00001.png new file mode 100644 index 00000000..18b8054b Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00002.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00002.png new file mode 100644 index 00000000..7beab639 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00003.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00003.png new file mode 100644 index 00000000..af07a338 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00004.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00004.png new file mode 100644 index 00000000..2447223e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00005.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00005.png new file mode 100644 index 00000000..84161085 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00006.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00007.png b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_ed25519_runtime_evm/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00000.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00001.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00001.png new file mode 100644 index 00000000..bc6fd8e3 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00002.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00002.png new file mode 100644 index 00000000..e88622fd Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00003.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00004.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_accounts_transfer/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00000.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00001.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00001.png new file mode 100644 index 00000000..999a4eff Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00002.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00002.png new file mode 100644 index 00000000..4217889e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00003.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00004.png b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_secp256k1_consensus_withdraw/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00000.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00001.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00001.png new file mode 100644 index 00000000..999a4eff Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00002.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00002.png new file mode 100644 index 00000000..4217889e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00003.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00004.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_consensus_withdraw/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00000.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00001.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00001.png new file mode 100644 index 00000000..20426c2d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00002.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00002.png new file mode 100644 index 00000000..7beab639 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00003.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00003.png new file mode 100644 index 00000000..56d8ccc9 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00004.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00004.png new file mode 100644 index 00000000..642436b6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00005.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00005.png new file mode 100644 index 00000000..73324d3d Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00006.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00007.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_encrypted/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00000.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00001.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00001.png new file mode 100644 index 00000000..18b8054b Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00002.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00002.png new file mode 100644 index 00000000..7beab639 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00003.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00003.png new file mode 100644 index 00000000..af07a338 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00004.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00004.png new file mode 100644 index 00000000..2447223e Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00004.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00005.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00005.png new file mode 100644 index 00000000..84161085 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00005.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00006.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00006.png differ diff --git a/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00007.png b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014-sign_sr25519_runtime_evm/00007.png differ diff --git a/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00000.png b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00000.png new file mode 100644 index 00000000..c6c24d44 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00001.png b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00001.png new file mode 100644 index 00000000..197840f6 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00002.png b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00002.png new file mode 100644 index 00000000..2affd9ee Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00003.png b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_get_polkadot_path/00003.png differ diff --git a/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00000.png b/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00000.png new file mode 100644 index 00000000..c6c24d44 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00001.png b/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00001.png new file mode 100644 index 00000000..29de822b Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00002.png b/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00002.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_show_address_secp256k1/00002.png differ diff --git a/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00000.png b/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00000.png new file mode 100644 index 00000000..c6c24d44 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00000.png differ diff --git a/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00001.png b/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00001.png new file mode 100644 index 00000000..57297191 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00001.png differ diff --git a/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00002.png b/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00002.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-adr0014_show_address_sr25519/00002.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_abstain/00000.png b/tests_zemu/snapshots/st-cast_vote_abstain/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_abstain/00000.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_abstain/00001.png b/tests_zemu/snapshots/st-cast_vote_abstain/00001.png new file mode 100644 index 00000000..cd4349a6 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_abstain/00001.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_abstain/00002.png b/tests_zemu/snapshots/st-cast_vote_abstain/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_abstain/00002.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_abstain/00003.png b/tests_zemu/snapshots/st-cast_vote_abstain/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_abstain/00003.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_abstain/00004.png b/tests_zemu/snapshots/st-cast_vote_abstain/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_abstain/00004.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_no/00000.png b/tests_zemu/snapshots/st-cast_vote_no/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_no/00000.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_no/00001.png b/tests_zemu/snapshots/st-cast_vote_no/00001.png new file mode 100644 index 00000000..f06b7d49 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_no/00001.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_no/00002.png b/tests_zemu/snapshots/st-cast_vote_no/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_no/00002.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_no/00003.png b/tests_zemu/snapshots/st-cast_vote_no/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_no/00003.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_no/00004.png b/tests_zemu/snapshots/st-cast_vote_no/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_no/00004.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes/00000.png b/tests_zemu/snapshots/st-cast_vote_yes/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes/00000.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes/00001.png b/tests_zemu/snapshots/st-cast_vote_yes/00001.png new file mode 100644 index 00000000..ff6607fa Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes/00001.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes/00002.png b/tests_zemu/snapshots/st-cast_vote_yes/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes/00002.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes/00003.png b/tests_zemu/snapshots/st-cast_vote_yes/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes/00003.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes/00004.png b/tests_zemu/snapshots/st-cast_vote_yes/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes/00004.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00000.png b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00000.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00001.png b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00001.png new file mode 100644 index 00000000..ff6607fa Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00001.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00002.png b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00002.png new file mode 100644 index 00000000..3a6d37dc Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00002.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00003.png b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00003.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00004.png b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_mainnet/00004.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_testnet/00000.png b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00000.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_testnet/00001.png b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00001.png new file mode 100644 index 00000000..ff6607fa Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00001.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_testnet/00002.png b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00002.png new file mode 100644 index 00000000..1349d264 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00002.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_testnet/00003.png b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00003.png differ diff --git a/tests_zemu/snapshots/st-cast_vote_yes_testnet/00004.png b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-cast_vote_yes_testnet/00004.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_deposit/00000.png b/tests_zemu/snapshots/st-eth-asset_deposit/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_deposit/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_deposit/00001.png b/tests_zemu/snapshots/st-eth-asset_deposit/00001.png new file mode 100644 index 00000000..ae965178 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_deposit/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_deposit/00002.png b/tests_zemu/snapshots/st-eth-asset_deposit/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_deposit/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_deposit/00003.png b/tests_zemu/snapshots/st-eth-asset_deposit/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_deposit/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_transfer/00000.png b/tests_zemu/snapshots/st-eth-asset_transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_transfer/00001.png b/tests_zemu/snapshots/st-eth-asset_transfer/00001.png new file mode 100644 index 00000000..ae965178 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_transfer/00002.png b/tests_zemu/snapshots/st-eth-asset_transfer/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-asset_transfer/00003.png b/tests_zemu/snapshots/st-eth-asset_transfer/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-asset_transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer/00000.png b/tests_zemu/snapshots/st-eth-basic_transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer/00001.png b/tests_zemu/snapshots/st-eth-basic_transfer/00001.png new file mode 100644 index 00000000..af01eb5b Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer/00002.png b/tests_zemu/snapshots/st-eth-basic_transfer/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer/00003.png b/tests_zemu/snapshots/st-eth-basic_transfer/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00000.png b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00001.png b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00001.png new file mode 100644 index 00000000..3d652844 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00002.png b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00003.png b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-basic_transfer_no_eip155/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00000.png b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00001.png b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00001.png new file mode 100644 index 00000000..429fef53 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00002.png b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00003.png b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-contract_deploy_no_eip155/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00000.png b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00001.png b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00001.png new file mode 100644 index 00000000..7c058fd5 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00002.png b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00003.png b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_approve_for_all/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00000.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00001.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00001.png new file mode 100644 index 00000000..b3e691a2 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00002.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00003.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00000.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00001.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00001.png new file mode 100644 index 00000000..de3875e8 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00002.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00003.png b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-erc721_safe_transfer_from_data/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_call/00000.png b/tests_zemu/snapshots/st-eth-legacy_contract_call/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_call/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_call/00001.png b/tests_zemu/snapshots/st-eth-legacy_contract_call/00001.png new file mode 100644 index 00000000..a29969a4 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_call/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_call/00002.png b/tests_zemu/snapshots/st-eth-legacy_contract_call/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_call/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_call/00003.png b/tests_zemu/snapshots/st-eth-legacy_contract_call/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_call/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00000.png b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00001.png b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00001.png new file mode 100644 index 00000000..82f3e64c Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00002.png b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00003.png b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_contract_deploy/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_transfer/00000.png b/tests_zemu/snapshots/st-eth-legacy_transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_transfer/00001.png b/tests_zemu/snapshots/st-eth-legacy_transfer/00001.png new file mode 100644 index 00000000..a0a202c5 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_transfer/00002.png b/tests_zemu/snapshots/st-eth-legacy_transfer/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-legacy_transfer/00003.png b/tests_zemu/snapshots/st-eth-legacy_transfer/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-legacy_transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-eth-transfer/00000.png b/tests_zemu/snapshots/st-eth-transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-eth-transfer/00001.png b/tests_zemu/snapshots/st-eth-transfer/00001.png new file mode 100644 index 00000000..b0039573 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-eth-transfer/00002.png b/tests_zemu/snapshots/st-eth-transfer/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-eth-transfer/00003.png b/tests_zemu/snapshots/st-eth-transfer/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-eth-transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-mainmenu/00000.png b/tests_zemu/snapshots/st-mainmenu/00000.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-mainmenu/00000.png differ diff --git a/tests_zemu/snapshots/st-mainmenu/00001.png b/tests_zemu/snapshots/st-mainmenu/00001.png new file mode 100644 index 00000000..621af6b5 Binary files /dev/null and b/tests_zemu/snapshots/st-mainmenu/00001.png differ diff --git a/tests_zemu/snapshots/st-mainmenu/00002.png b/tests_zemu/snapshots/st-mainmenu/00002.png new file mode 100644 index 00000000..1c4c5316 Binary files /dev/null and b/tests_zemu/snapshots/st-mainmenu/00002.png differ diff --git a/tests_zemu/snapshots/st-mainmenu/00003.png b/tests_zemu/snapshots/st-mainmenu/00003.png new file mode 100644 index 00000000..0375260f Binary files /dev/null and b/tests_zemu/snapshots/st-mainmenu/00003.png differ diff --git a/tests_zemu/snapshots/st-mainmenu/00004.png b/tests_zemu/snapshots/st-mainmenu/00004.png new file mode 100644 index 00000000..1c4c5316 Binary files /dev/null and b/tests_zemu/snapshots/st-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/st-mainmenu/00005.png b/tests_zemu/snapshots/st-mainmenu/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-mainmenu/00005.png differ diff --git a/tests_zemu/snapshots/st-reclaim_escrow/00000.png b/tests_zemu/snapshots/st-reclaim_escrow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-reclaim_escrow/00000.png differ diff --git a/tests_zemu/snapshots/st-reclaim_escrow/00001.png b/tests_zemu/snapshots/st-reclaim_escrow/00001.png new file mode 100644 index 00000000..f4e619e5 Binary files /dev/null and b/tests_zemu/snapshots/st-reclaim_escrow/00001.png differ diff --git a/tests_zemu/snapshots/st-reclaim_escrow/00002.png b/tests_zemu/snapshots/st-reclaim_escrow/00002.png new file mode 100644 index 00000000..165a077c Binary files /dev/null and b/tests_zemu/snapshots/st-reclaim_escrow/00002.png differ diff --git a/tests_zemu/snapshots/st-reclaim_escrow/00003.png b/tests_zemu/snapshots/st-reclaim_escrow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-reclaim_escrow/00003.png differ diff --git a/tests_zemu/snapshots/st-reclaim_escrow/00004.png b/tests_zemu/snapshots/st-reclaim_escrow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-reclaim_escrow/00004.png differ diff --git a/tests_zemu/snapshots/st-show_address/00000.png b/tests_zemu/snapshots/st-show_address/00000.png new file mode 100644 index 00000000..c6c24d44 Binary files /dev/null and b/tests_zemu/snapshots/st-show_address/00000.png differ diff --git a/tests_zemu/snapshots/st-show_address/00001.png b/tests_zemu/snapshots/st-show_address/00001.png new file mode 100644 index 00000000..80413aeb Binary files /dev/null and b/tests_zemu/snapshots/st-show_address/00001.png differ diff --git a/tests_zemu/snapshots/st-show_address/00002.png b/tests_zemu/snapshots/st-show_address/00002.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-show_address/00002.png differ diff --git a/tests_zemu/snapshots/st-show_eth_address/00000.png b/tests_zemu/snapshots/st-show_eth_address/00000.png new file mode 100644 index 00000000..c6c24d44 Binary files /dev/null and b/tests_zemu/snapshots/st-show_eth_address/00000.png differ diff --git a/tests_zemu/snapshots/st-show_eth_address/00001.png b/tests_zemu/snapshots/st-show_eth_address/00001.png new file mode 100644 index 00000000..13cea09a Binary files /dev/null and b/tests_zemu/snapshots/st-show_eth_address/00001.png differ diff --git a/tests_zemu/snapshots/st-show_eth_address/00002.png b/tests_zemu/snapshots/st-show_eth_address/00002.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-show_eth_address/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00000.png b/tests_zemu/snapshots/st-sign_amend/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00001.png b/tests_zemu/snapshots/st-sign_amend/00001.png new file mode 100644 index 00000000..34c50229 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00002.png b/tests_zemu/snapshots/st-sign_amend/00002.png new file mode 100644 index 00000000..c1ffcd11 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00003.png b/tests_zemu/snapshots/st-sign_amend/00003.png new file mode 100644 index 00000000..3fb5f82f Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00004.png b/tests_zemu/snapshots/st-sign_amend/00004.png new file mode 100644 index 00000000..301193c6 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00005.png b/tests_zemu/snapshots/st-sign_amend/00005.png new file mode 100644 index 00000000..cb1a7ca2 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00005.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00006.png b/tests_zemu/snapshots/st-sign_amend/00006.png new file mode 100644 index 00000000..353214f3 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00006.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00007.png b/tests_zemu/snapshots/st-sign_amend/00007.png new file mode 100644 index 00000000..5867fe9d Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00007.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00008.png b/tests_zemu/snapshots/st-sign_amend/00008.png new file mode 100644 index 00000000..9f0d9ec7 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00008.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00009.png b/tests_zemu/snapshots/st-sign_amend/00009.png new file mode 100644 index 00000000..ad5ca9e6 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00009.png differ diff --git a/tests_zemu/snapshots/st-sign_amend/00010.png b/tests_zemu/snapshots/st-sign_amend/00010.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend/00010.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00000.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00001.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00001.png new file mode 100644 index 00000000..e3068bf5 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00002.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00002.png new file mode 100644 index 00000000..4f793fdb Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00003.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00003.png new file mode 100644 index 00000000..8ced3f0b Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00004.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00004.png new file mode 100644 index 00000000..c1b090c9 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00005.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00005.png new file mode 100644 index 00000000..10eb96db Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00005.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00006.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00006.png differ diff --git a/tests_zemu/snapshots/st-sign_amend_issue_130/00007.png b/tests_zemu/snapshots/st-sign_amend_issue_130/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_amend_issue_130/00007.png differ diff --git a/tests_zemu/snapshots/st-sign_basic/00000.png b/tests_zemu/snapshots/st-sign_basic/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_basic/00001.png b/tests_zemu/snapshots/st-sign_basic/00001.png new file mode 100644 index 00000000..390fce95 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_basic/00002.png b/tests_zemu/snapshots/st-sign_basic/00002.png new file mode 100644 index 00000000..f81dbe19 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_basic/00003.png b/tests_zemu/snapshots/st-sign_basic/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_basic/00004.png b/tests_zemu/snapshots/st-sign_basic/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow/00000.png b/tests_zemu/snapshots/st-sign_basic_allow/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow/00001.png b/tests_zemu/snapshots/st-sign_basic_allow/00001.png new file mode 100644 index 00000000..b794f613 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow/00002.png b/tests_zemu/snapshots/st-sign_basic_allow/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow/00003.png b/tests_zemu/snapshots/st-sign_basic_allow/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow/00004.png b/tests_zemu/snapshots/st-sign_basic_allow/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00000.png b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00001.png b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00001.png new file mode 100644 index 00000000..b794f613 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00002.png b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00002.png new file mode 100644 index 00000000..2224c27f Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00003.png b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00004.png b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_mainnet/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_testnet/00000.png b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_testnet/00001.png b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00001.png new file mode 100644 index 00000000..b794f613 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_testnet/00002.png b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00002.png new file mode 100644 index 00000000..25322f04 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_testnet/00003.png b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_allow_testnet/00004.png b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_allow_testnet/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_withdraw/00000.png b/tests_zemu/snapshots/st-sign_basic_withdraw/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_withdraw/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_withdraw/00001.png b/tests_zemu/snapshots/st-sign_basic_withdraw/00001.png new file mode 100644 index 00000000..0403e961 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_withdraw/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_withdraw/00002.png b/tests_zemu/snapshots/st-sign_basic_withdraw/00002.png new file mode 100644 index 00000000..96d89a77 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_withdraw/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_withdraw/00003.png b/tests_zemu/snapshots/st-sign_basic_withdraw/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_withdraw/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_basic_withdraw/00004.png b/tests_zemu/snapshots/st-sign_basic_withdraw/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_basic_withdraw/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_deregister_entity/00000.png b/tests_zemu/snapshots/st-sign_deregister_entity/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_deregister_entity/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_deregister_entity/00001.png b/tests_zemu/snapshots/st-sign_deregister_entity/00001.png new file mode 100644 index 00000000..329e4727 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_deregister_entity/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_deregister_entity/00002.png b/tests_zemu/snapshots/st-sign_deregister_entity/00002.png new file mode 100644 index 00000000..3893a7b2 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_deregister_entity/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_deregister_entity/00003.png b/tests_zemu/snapshots/st-sign_deregister_entity/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_deregister_entity/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_deregister_entity/00004.png b/tests_zemu/snapshots/st-sign_deregister_entity/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_deregister_entity/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_descriptor/00000.png b/tests_zemu/snapshots/st-sign_entity_descriptor/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_descriptor/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_descriptor/00001.png b/tests_zemu/snapshots/st-sign_entity_descriptor/00001.png new file mode 100644 index 00000000..58a7ecf6 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_descriptor/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_descriptor/00002.png b/tests_zemu/snapshots/st-sign_entity_descriptor/00002.png new file mode 100644 index 00000000..f372c920 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_descriptor/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_descriptor/00003.png b/tests_zemu/snapshots/st-sign_entity_descriptor/00003.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_descriptor/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata/00000.png b/tests_zemu/snapshots/st-sign_entity_metadata/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata/00001.png b/tests_zemu/snapshots/st-sign_entity_metadata/00001.png new file mode 100644 index 00000000..fb55ec29 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata/00002.png b/tests_zemu/snapshots/st-sign_entity_metadata/00002.png new file mode 100644 index 00000000..e28d0a4f Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata/00003.png b/tests_zemu/snapshots/st-sign_entity_metadata/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata/00004.png b/tests_zemu/snapshots/st-sign_entity_metadata/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_long/00000.png b/tests_zemu/snapshots/st-sign_entity_metadata_long/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_long/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_long/00001.png b/tests_zemu/snapshots/st-sign_entity_metadata_long/00001.png new file mode 100644 index 00000000..2937e81e Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_long/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_long/00002.png b/tests_zemu/snapshots/st-sign_entity_metadata_long/00002.png new file mode 100644 index 00000000..fd61caa3 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_long/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_long/00003.png b/tests_zemu/snapshots/st-sign_entity_metadata_long/00003.png new file mode 100644 index 00000000..d8831015 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_long/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_long/00004.png b/tests_zemu/snapshots/st-sign_entity_metadata_long/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_long/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_long/00005.png b/tests_zemu/snapshots/st-sign_entity_metadata_long/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_long/00005.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00000.png b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00001.png b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00001.png new file mode 100644 index 00000000..d1cad2e6 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00002.png b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00002.png new file mode 100644 index 00000000..e28d0a4f Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00003.png b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00004.png b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_entity_metadata_utf8/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00000.png b/tests_zemu/snapshots/st-sign_register_entity/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00001.png b/tests_zemu/snapshots/st-sign_register_entity/00001.png new file mode 100644 index 00000000..51e6e953 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00002.png b/tests_zemu/snapshots/st-sign_register_entity/00002.png new file mode 100644 index 00000000..2fbc058c Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00003.png b/tests_zemu/snapshots/st-sign_register_entity/00003.png new file mode 100644 index 00000000..8a7f3d12 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00004.png b/tests_zemu/snapshots/st-sign_register_entity/00004.png new file mode 100644 index 00000000..9f4dfa01 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00004.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00005.png b/tests_zemu/snapshots/st-sign_register_entity/00005.png new file mode 100644 index 00000000..08c500b7 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00005.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00006.png b/tests_zemu/snapshots/st-sign_register_entity/00006.png new file mode 100644 index 00000000..d31c7303 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00006.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity/00007.png b/tests_zemu/snapshots/st-sign_register_entity/00007.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity/00007.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00000.png b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00000.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00001.png b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00001.png new file mode 100644 index 00000000..3c40f6e0 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00001.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00002.png b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00002.png new file mode 100644 index 00000000..7e7c933c Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00002.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00003.png b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00003.png differ diff --git a/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00004.png b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-sign_register_entity_no_nodes/00004.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00000.png b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00000.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00001.png b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00001.png new file mode 100644 index 00000000..b34c4de1 Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00001.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00002.png b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00002.png new file mode 100644 index 00000000..79720473 Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00002.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00003.png b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00003.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00004.png b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_cancel_upgrade/00004.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_upgrade/00000.png b/tests_zemu/snapshots/st-submit_proposal_upgrade/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_upgrade/00000.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_upgrade/00001.png b/tests_zemu/snapshots/st-submit_proposal_upgrade/00001.png new file mode 100644 index 00000000..f670a56d Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_upgrade/00001.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_upgrade/00002.png b/tests_zemu/snapshots/st-submit_proposal_upgrade/00002.png new file mode 100644 index 00000000..fdd39e1e Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_upgrade/00002.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_upgrade/00003.png b/tests_zemu/snapshots/st-submit_proposal_upgrade/00003.png new file mode 100644 index 00000000..4090630b Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_upgrade/00003.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_upgrade/00004.png b/tests_zemu/snapshots/st-submit_proposal_upgrade/00004.png new file mode 100644 index 00000000..92e123b4 Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_upgrade/00004.png differ diff --git a/tests_zemu/snapshots/st-submit_proposal_upgrade/00005.png b/tests_zemu/snapshots/st-submit_proposal_upgrade/00005.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-submit_proposal_upgrade/00005.png differ diff --git a/tests_zemu/snapshots/st-transfer/00000.png b/tests_zemu/snapshots/st-transfer/00000.png new file mode 100644 index 00000000..0bf918c0 Binary files /dev/null and b/tests_zemu/snapshots/st-transfer/00000.png differ diff --git a/tests_zemu/snapshots/st-transfer/00001.png b/tests_zemu/snapshots/st-transfer/00001.png new file mode 100644 index 00000000..390fce95 Binary files /dev/null and b/tests_zemu/snapshots/st-transfer/00001.png differ diff --git a/tests_zemu/snapshots/st-transfer/00002.png b/tests_zemu/snapshots/st-transfer/00002.png new file mode 100644 index 00000000..165a077c Binary files /dev/null and b/tests_zemu/snapshots/st-transfer/00002.png differ diff --git a/tests_zemu/snapshots/st-transfer/00003.png b/tests_zemu/snapshots/st-transfer/00003.png new file mode 100644 index 00000000..2eebc9da Binary files /dev/null and b/tests_zemu/snapshots/st-transfer/00003.png differ diff --git a/tests_zemu/snapshots/st-transfer/00004.png b/tests_zemu/snapshots/st-transfer/00004.png new file mode 100644 index 00000000..2bbcf917 Binary files /dev/null and b/tests_zemu/snapshots/st-transfer/00004.png differ diff --git a/tests_zemu/snapshots/x-adr0008-0-mainmenu/00004.png b/tests_zemu/snapshots/x-adr0008-0-mainmenu/00004.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/x-adr0008-0-mainmenu/00004.png and b/tests_zemu/snapshots/x-adr0008-0-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/x-adr0008-0-mainmenu/00007.png b/tests_zemu/snapshots/x-adr0008-0-mainmenu/00007.png index 3922fb6c..c7703726 100644 Binary files a/tests_zemu/snapshots/x-adr0008-0-mainmenu/00007.png and b/tests_zemu/snapshots/x-adr0008-0-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/x-adr0008-0-mainmenu/00010.png b/tests_zemu/snapshots/x-adr0008-0-mainmenu/00010.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/x-adr0008-0-mainmenu/00010.png and b/tests_zemu/snapshots/x-adr0008-0-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/x-adr0008-5-mainmenu/00004.png b/tests_zemu/snapshots/x-adr0008-5-mainmenu/00004.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/x-adr0008-5-mainmenu/00004.png and b/tests_zemu/snapshots/x-adr0008-5-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/x-adr0008-5-mainmenu/00007.png b/tests_zemu/snapshots/x-adr0008-5-mainmenu/00007.png index 3922fb6c..c7703726 100644 Binary files a/tests_zemu/snapshots/x-adr0008-5-mainmenu/00007.png and b/tests_zemu/snapshots/x-adr0008-5-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/x-adr0008-5-mainmenu/00010.png b/tests_zemu/snapshots/x-adr0008-5-mainmenu/00010.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/x-adr0008-5-mainmenu/00010.png and b/tests_zemu/snapshots/x-adr0008-5-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00000.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00000.png deleted file mode 100644 index 08ae79b8..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00001.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00001.png deleted file mode 100644 index e4f84ada..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00002.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00002.png deleted file mode 100644 index 469297a5..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00003.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00003.png deleted file mode 100644 index 0e4a5954..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00004.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00004.png deleted file mode 100644 index b77212d1..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00005.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00005.png deleted file mode 100644 index 468ff510..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00006.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00006.png deleted file mode 100644 index b8d29742..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00007.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00007.png deleted file mode 100644 index 6eb50a1f..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00008.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00008.png deleted file mode 100644 index b544552a..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00009.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00009.png deleted file mode 100644 index b1989d34..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00010.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00010.png deleted file mode 100644 index 7a70e83c..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00011.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00011.png deleted file mode 100644 index f5e9c050..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00012.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00012.png deleted file mode 100644 index ce08bbc6..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00013.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00013.png deleted file mode 100644 index dfaacb2f..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00014.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00014.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00015.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00015.png deleted file mode 100644 index 781a78eb..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_call/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00000.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00000.png deleted file mode 100644 index 08ae79b8..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00001.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00001.png deleted file mode 100644 index 89b1a343..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00002.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00002.png deleted file mode 100644 index 469297a5..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00003.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00003.png deleted file mode 100644 index 0e4a5954..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00004.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00004.png deleted file mode 100644 index b77212d1..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00005.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00005.png deleted file mode 100644 index 468ff510..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00006.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00006.png deleted file mode 100644 index 840af319..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00007.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00007.png deleted file mode 100644 index 6eb50a1f..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00008.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00008.png deleted file mode 100644 index b544552a..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00009.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00009.png deleted file mode 100644 index b1989d34..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00010.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00010.png deleted file mode 100644 index 7a70e83c..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00011.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00011.png deleted file mode 100644 index f5e9c050..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00012.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00012.png deleted file mode 100644 index ce08bbc6..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00013.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00013.png deleted file mode 100644 index dfaacb2f..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00014.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00014.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00015.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00015.png deleted file mode 100644 index 781a78eb..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_instantiate/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00000.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00000.png deleted file mode 100644 index 08ae79b8..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00000.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00001.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00001.png deleted file mode 100644 index 7e8d9d5a..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00001.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00002.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00002.png deleted file mode 100644 index 469297a5..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00002.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00003.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00003.png deleted file mode 100644 index 0e4a5954..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00003.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00004.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00004.png deleted file mode 100644 index b77212d1..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00004.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00005.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00005.png deleted file mode 100644 index 468ff510..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00005.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00006.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00006.png deleted file mode 100644 index b8d29742..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00006.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00007.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00007.png deleted file mode 100644 index 6eb50a1f..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00007.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00008.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00008.png deleted file mode 100644 index b544552a..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00008.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00009.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00009.png deleted file mode 100644 index b1989d34..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00009.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00010.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00010.png deleted file mode 100644 index 6b4906eb..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00011.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00011.png deleted file mode 100644 index 7a70e83c..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00012.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00012.png deleted file mode 100644 index f5e9c050..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00012.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00013.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00013.png deleted file mode 100644 index ce08bbc6..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00013.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00014.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00014.png deleted file mode 100644 index dfaacb2f..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00014.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00015.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00015.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00016.png b/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00016.png deleted file mode 100644 index 781a78eb..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_ed25519_contracts_upgrade/00016.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_sr25519_consensus_withdraw/00010.png b/tests_zemu/snapshots/x-adr0014-sign_sr25519_consensus_withdraw/00010.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_sr25519_consensus_withdraw/00010.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_sr25519_consensus_withdraw/00011.png b/tests_zemu/snapshots/x-adr0014-sign_sr25519_consensus_withdraw/00011.png deleted file mode 100644 index 781a78eb..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_sr25519_consensus_withdraw/00011.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_sr25519_runtime_evm/00015.png b/tests_zemu/snapshots/x-adr0014-sign_sr25519_runtime_evm/00015.png deleted file mode 100644 index 1e4be699..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_sr25519_runtime_evm/00015.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-adr0014-sign_sr25519_runtime_evm/00016.png b/tests_zemu/snapshots/x-adr0014-sign_sr25519_runtime_evm/00016.png deleted file mode 100644 index 781a78eb..00000000 Binary files a/tests_zemu/snapshots/x-adr0014-sign_sr25519_runtime_evm/00016.png and /dev/null differ diff --git a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00004.png b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00004.png index c982e86b..52214979 100644 Binary files a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00004.png and b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00004.png differ diff --git a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00006.png b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00006.png index 76410f07..36eba7f0 100644 Binary files a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00006.png and b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00006.png differ diff --git a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00007.png b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00007.png index 1e4be699..e53e4bdb 100644 Binary files a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00007.png and b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00007.png differ diff --git a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00008.png b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00008.png index 781a78eb..1e4be699 100644 Binary files a/tests_zemu/snapshots/x-cast_vote_yes_testnet/00008.png and b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00008.png differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00016.png b/tests_zemu/snapshots/x-cast_vote_yes_testnet/00009.png similarity index 100% rename from tests_zemu/snapshots/sp-adr0014-sign_ed25519_contracts_upgrade/00016.png rename to tests_zemu/snapshots/x-cast_vote_yes_testnet/00009.png diff --git a/tests_zemu/snapshots/x-mainmenu/00004.png b/tests_zemu/snapshots/x-mainmenu/00004.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00004.png and b/tests_zemu/snapshots/x-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00007.png b/tests_zemu/snapshots/x-mainmenu/00007.png index 3922fb6c..c7703726 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00007.png and b/tests_zemu/snapshots/x-mainmenu/00007.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00010.png b/tests_zemu/snapshots/x-mainmenu/00010.png index da61f035..c3693a47 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00010.png and b/tests_zemu/snapshots/x-mainmenu/00010.png differ diff --git a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00003.png b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00003.png index e681f9f4..67812888 100644 Binary files a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00003.png and b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00003.png differ diff --git a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00004.png b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00004.png index c982e86b..52214979 100644 Binary files a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00004.png and b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00004.png differ diff --git a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00006.png b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00006.png index 76410f07..36eba7f0 100644 Binary files a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00006.png and b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00006.png differ diff --git a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00007.png b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00007.png index 1e4be699..e53e4bdb 100644 Binary files a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00007.png and b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00007.png differ diff --git a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00008.png b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00008.png index 781a78eb..1e4be699 100644 Binary files a/tests_zemu/snapshots/x-sign_basic_allow_testnet/00008.png and b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00008.png differ diff --git a/tests_zemu/snapshots/sp-adr0014-sign_sr25519_consensus_withdraw/00011.png b/tests_zemu/snapshots/x-sign_basic_allow_testnet/00009.png similarity index 100% rename from tests_zemu/snapshots/sp-adr0014-sign_sr25519_consensus_withdraw/00011.png rename to tests_zemu/snapshots/x-sign_basic_allow_testnet/00009.png diff --git a/tests_zemu/tests/adr0008.0.oasis.test.ts b/tests_zemu/tests/adr0008.0.oasis.test.ts index b0a06c6a..e2bf339f 100644 --- a/tests_zemu/tests/adr0008.0.oasis.test.ts +++ b/tests_zemu/tests/adr0008.0.oasis.test.ts @@ -14,7 +14,7 @@ * limitations under the License. ******************************************************************************* */ -import Zemu, { DEFAULT_START_OPTIONS } from "@zondax/zemu"; +import Zemu, { ButtonKind, DEFAULT_START_OPTIONS } from "@zondax/zemu"; // @ts-ignore import { OasisApp } from "@zondax/ledger-oasis"; import { models } from "./common"; @@ -34,7 +34,12 @@ describe("Standard-Adr0008-0-Oasis", function () { test.concurrent.each(models)("get address", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); const path = "m/44'/474'/0'"; diff --git a/tests_zemu/tests/adr0008.0.test.ts b/tests_zemu/tests/adr0008.0.test.ts index af01dede..babdac53 100644 --- a/tests_zemu/tests/adr0008.0.test.ts +++ b/tests_zemu/tests/adr0008.0.test.ts @@ -14,7 +14,11 @@ * limitations under the License. ******************************************************************************* */ -import Zemu, { DEFAULT_START_OPTIONS } from "@zondax/zemu"; +import Zemu, { + ButtonKind, + DEFAULT_START_OPTIONS, + zondaxMainmenuNavigation, +} from "@zondax/zemu"; // @ts-ignore import { OasisApp } from "@zondax/ledger-oasis"; import { models } from "./common"; @@ -37,23 +41,27 @@ jest.setTimeout(150000); const path = "m/44'/474'/0'"; describe("Standard-Adr0008-0", function () { - test.concurrent.each(models)("can start and stop container", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - } finally { - await sim.close(); - } - }); + test.concurrent.each(models)( + "can start and stop container", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("main menu", async function (m) { const sim = new Zemu(m.path); try { + const mainmenuNavigation = zondaxMainmenuNavigation(m.name); await sim.start({ ...defaultOptions, model: m.name }); await sim.navigateAndCompareSnapshots( ".", `${m.prefix.toLowerCase()}-adr0008-0-mainmenu`, - [1, 0, 0, 4, -5] + mainmenuNavigation.schedule, ); } finally { await sim.close(); @@ -108,7 +116,12 @@ describe("Standard-Adr0008-0", function () { test.concurrent.each(models)("show address", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); const respRequest = app.showAddressAndPubKey_ed25519(path); @@ -116,7 +129,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-show_address` + `${m.prefix.toLowerCase()}-adr0008-0-show_address`, ); const resp = await respRequest; @@ -147,7 +160,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omRmcm9tVQAGaeylE0pICHuqRvArp3IYjeXN22ZhbW91bnRAZW5vbmNlAGZtZXRob2Rwc3Rha2luZy5XaXRoZHJhdw==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -161,7 +174,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_basic_withdraw` + `${m.prefix.toLowerCase()}-adr0008-0-sign_basic_withdraw`, ); let resp = await signatureRequest; @@ -192,7 +205,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omtiZW5lZmljaWFyeVUA8PesI5mFWUkMVHwStQ6Fieb4bsFtYW1vdW50X2NoYW5nZUBlbm9uY2UBZm1ldGhvZG1zdGFraW5nLkFsbG93", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -206,7 +219,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_basic_allow` + `${m.prefix.toLowerCase()}-adr0008-0-sign_basic_allow`, ); let resp = await signatureRequest; @@ -230,7 +243,7 @@ describe("Standard-Adr0008-0", function () { it("hash", async function () { const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omd4ZmVyX3RvWCBkNhaFWEyIEubmS3EVtRLTanD3U+vDV5fke4Obyq83CWt4ZmVyX3Rva2Vuc0Blbm9uY2UAZm1ldGhvZHBzdGFraW5nLlRyYW5zZmVy", - "base64" + "base64", ); const context = "oasis-core/consensus: tx for chain testing"; const hasher = sha512.sha512_256.update(context); @@ -238,7 +251,7 @@ describe("Standard-Adr0008-0", function () { const hash = Buffer.from(hasher.hex(), "hex"); console.log(hash.toString("hex")); expect(hash.toString("hex")).toEqual( - "86f53ebf15a09c4cd1cf7a52b8b381d74a2142996aca20690d2e750c1d262ec0" + "86f53ebf15a09c4cd1cf7a52b8b381d74a2142996aca20690d2e750c1d262ec0", ); }); @@ -252,7 +265,7 @@ describe("Standard-Adr0008-0", function () { const context = "oasis-core/consensus: tx for chain testing"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJ0b1UAxzzAAUY0NJFbo/OXUb63wJBbRetmYW1vdW50QGVub25jZQBmbWV0aG9kcHN0YWtpbmcuVHJhbnNmZXI=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -266,7 +279,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_basic` + `${m.prefix.toLowerCase()}-adr0008-0-sign_basic`, ); let resp = await signatureRequest; @@ -297,7 +310,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oWd1cGdyYWRlpGF2AWVlcG9jaBv//////////mZ0YXJnZXSjcmNvbnNlbnN1c19wcm90b2NvbKJlbWlub3IMZXBhdGNoAXVydW50aW1lX2hvc3RfcHJvdG9jb2yjZW1ham9yAWVtaW5vcgJlcGF0Y2gDeBpydW50aW1lX2NvbW1pdHRlZV9wcm90b2NvbKJlbWFqb3IYKmVwYXRjaAFnaGFuZGxlcnJkZXNjcmlwdG9yLWhhbmRsZXJlbm9uY2UAZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -311,7 +324,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-submit_proposal_upgrade` + `${m.prefix.toLowerCase()}-adr0008-0-submit_proposal_upgrade`, ); let resp = await signatureRequest; @@ -332,50 +345,53 @@ describe("Standard-Adr0008-0", function () { } }); - test.concurrent.each(models)("submit proposal - cancel upgrade", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "submit proposal - cancel upgrade", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oW5jYW5jZWxfdXBncmFkZaFrcHJvcG9zYWxfaWQb//////////9lbm9uY2UBZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", - "base64" - ); + const context = + "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; + const txBlob = Buffer.from( + "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oW5jYW5jZWxfdXBncmFkZaFrcHJvcG9zYWxfaWQb//////////9lbm9uY2UBZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-0-submit_proposal_cancel_upgrade` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-0-submit_proposal_cancel_upgrade`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("add escrow", async function (m) { const sim = new Zemu(m.path); @@ -388,7 +404,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omZhbW91bnRCA+hnYWNjb3VudFUAWjuJqnaIaHy9a5gyaOTU0hR4ladlbm9uY2UAZm1ldGhvZHFzdGFraW5nLkFkZEVzY3Jvdw==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -402,7 +418,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-add_escrow` + `${m.prefix.toLowerCase()}-adr0008-0-add_escrow`, ); let resp = await signatureRequest; @@ -434,7 +450,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmiZnNoYXJlc0BnYWNjb3VudFUAcFT2Pq0X0FM7dpOkrzN8jWLiu4Blbm9uY2UBZm1ldGhvZHVzdGFraW5nLlJlY2xhaW1Fc2Nyb3c=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -448,7 +464,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-reclaim_escrow` + `${m.prefix.toLowerCase()}-adr0008-0-reclaim_escrow`, ); let resp = await signatureRequest; @@ -480,7 +496,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmiYnRvVQDHPMABRjQ0kVuj85dRvrfAkFtF62ZhbW91bnRAZW5vbmNlCmZtZXRob2Rwc3Rha2luZy5UcmFuc2Zlcg==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -494,7 +510,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-transfer` + `${m.prefix.toLowerCase()}-adr0008-0-transfer`, ); let resp = await signatureRequest; @@ -526,7 +542,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZABkdm90ZQNlbm9uY2UBZm1ldGhvZHNnb3Zlcm5hbmNlLkNhc3RWb3Rl", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -540,7 +556,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-cast_vote_abstain` + `${m.prefix.toLowerCase()}-adr0008-0-cast_vote_abstain`, ); let resp = await signatureRequest; @@ -571,7 +587,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBoAmJaAZHZvdGUBZW5vbmNlAWZtZXRob2RzZ292ZXJuYW5jZS5DYXN0Vm90ZQ==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -585,7 +601,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-cast_vote_yes` + `${m.prefix.toLowerCase()}-adr0008-0-cast_vote_yes`, ); let resp = await signatureRequest; @@ -616,7 +632,7 @@ describe("Standard-Adr0008-0", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBv//////////2R2b3RlAmVub25jZQFmbWV0aG9kc2dvdmVybmFuY2UuQ2FzdFZvdGU=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -630,7 +646,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-cast_vote_no` + `${m.prefix.toLowerCase()}-adr0008-0-cast_vote_no`, ); let resp = await signatureRequest; @@ -660,7 +676,7 @@ describe("Standard-Adr0008-0", function () { const context = "oasis-core/consensus: tx for chain testing"; let invalidMessage = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omd4ZmVyX3RvWCBkNhaFWEyIEubmS3EVtRLTanD3U+vDV5fke4Obyq83CWt4ZmVyX3Rva2Vuc0Blbm9uY2UAZm1ldGhvZHBzdGFraW5nLlRyYW5zZmVy", - "base64" + "base64", ); invalidMessage = Buffer.concat([invalidMessage, Buffer.from("1")]); @@ -675,7 +691,7 @@ describe("Standard-Adr0008-0", function () { expect(responseSign.return_code).toEqual(0x6984); expect(responseSign.error_message).toEqual( - "Data is invalid : Unexpected field" + "Data is invalid : Unexpected field", ); } finally { await sim.close(); @@ -691,7 +707,7 @@ describe("Standard-Adr0008-0", function () { const context = "oasis-core/consensus: tx for chain testing amend"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmhaWFtZW5kbWVudKJlcmF0ZXOFomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoZmJvdW5kc4WjZXN0YXJ0GQPoaHJhdGVfbWF4QicQaHJhdGVfbWluQicQo2VzdGFydBkD6GhyYXRlX21heEInEGhyYXRlX21pbkInEKNlc3RhcnQZA+hocmF0ZV9tYXhCJxBocmF0ZV9taW5CJxCjZXN0YXJ0GQPoaHJhdGVfbWF4QicQaHJhdGVfbWluQicQo2VzdGFydBkD6GhyYXRlX21heEInEGhyYXRlX21pbkInEGVub25jZRkD6GZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -706,7 +722,7 @@ describe("Standard-Adr0008-0", function () { await sim.compareSnapshotsAndApprove( ".", `${m.prefix.toLowerCase()}-adr0008-0-sign_amend`, - true + true, ); let resp = await signatureRequest; @@ -727,50 +743,53 @@ describe("Standard-Adr0008-0", function () { } }); - test.concurrent.each(models)("sign amend schedule - issue #130", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign amend schedule - issue #130", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-core/consensus: tx for chain testing amend"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcxkD6GZhbW91bnRCB9BkYm9keaFpYW1lbmRtZW50omVyYXRlc4WiZHJhdGVCw1Blc3RhcnQYIKJkcmF0ZUKcQGVzdGFydBgoomRyYXRlQnUwZXN0YXJ0GDCiZHJhdGVCYahlc3RhcnQYOKJkcmF0ZUJOIGVzdGFydBhAZmJvdW5kc4KjZXN0YXJ0GCBocmF0ZV9tYXhCw1BocmF0ZV9taW5CJxCjZXN0YXJ0GEBocmF0ZV9tYXhCdTBocmF0ZV9taW5CJxBlbm9uY2UYKmZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", - "base64" - ); + const context = "oasis-core/consensus: tx for chain testing amend"; + const txBlob = Buffer.from( + "pGNmZWWiY2dhcxkD6GZhbW91bnRCB9BkYm9keaFpYW1lbmRtZW50omVyYXRlc4WiZHJhdGVCw1Blc3RhcnQYIKJkcmF0ZUKcQGVzdGFydBgoomRyYXRlQnUwZXN0YXJ0GDCiZHJhdGVCYahlc3RhcnQYOKJkcmF0ZUJOIGVzdGFydBhAZmJvdW5kc4KjZXN0YXJ0GCBocmF0ZV9tYXhCw1BocmF0ZV9taW5CJxCjZXN0YXJ0GEBocmF0ZV9tYXhCdTBocmF0ZV9taW5CJxBlbm9uY2UYKmZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_amend_issue_130`, - true - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-0-sign_amend_issue_130`, + true, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign entity metadata", async function (m) { const sim = new Zemu(m.path); @@ -782,7 +801,7 @@ describe("Standard-Adr0008-0", function () { const txBlob = Buffer.from( "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d656e4d7920656e74697479206e616d6565656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -796,7 +815,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_metadata` + `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_metadata`, ); let resp = await signatureRequest; @@ -817,51 +836,54 @@ describe("Standard-Adr0008-0", function () { } }); - test.concurrent.each(models)("sign register entity with nodes", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign register entity with nodes", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; + const context = + "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcxkD6GZhbW91bnRCEJJkYm9keaJpc2lnbmF0dXJlomlzaWduYXR1cmVYQOMUbqcZ88wjPfkp9/poVJJKrxD/UN7qvEQQi5O5D7IFD7ujuBsfaCkbuXtFUMIrlAbsC9RuvLPcsPQqm5jIWApqcHVibGljX2tleVgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6NzdW50cnVzdGVkX3Jhd192YWx1ZVjao2F2AmJpZFgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6Nlbm9kZXOFWCB45nhPM7JsZvqGq/ODtQGz93xlsv51iRbAQP+5dCy/ZVggnc1QiTMP4HFSTpiEiEtnFDRtYxKRc85PTTR8SlH1g8JYIKx4PngeJJhJb+tTC7IR/BWh5mTB+uJOLY04HFA3DwGcWCCZkWVMaW1btF+krrmppVsALHVwxbj5pu0nj6HgADbN91ggobWw+PHovNp7UxCZ0yw8lbbs5jTvV5vY3zu7yrVxVD9lbm9uY2Ub//////////9mbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", - "base64" - ); + const txBlob = Buffer.from( + "pGNmZWWiY2dhcxkD6GZhbW91bnRCEJJkYm9keaJpc2lnbmF0dXJlomlzaWduYXR1cmVYQOMUbqcZ88wjPfkp9/poVJJKrxD/UN7qvEQQi5O5D7IFD7ujuBsfaCkbuXtFUMIrlAbsC9RuvLPcsPQqm5jIWApqcHVibGljX2tleVgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6NzdW50cnVzdGVkX3Jhd192YWx1ZVjao2F2AmJpZFgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6Nlbm9kZXOFWCB45nhPM7JsZvqGq/ODtQGz93xlsv51iRbAQP+5dCy/ZVggnc1QiTMP4HFSTpiEiEtnFDRtYxKRc85PTTR8SlH1g8JYIKx4PngeJJhJb+tTC7IR/BWh5mTB+uJOLY04HFA3DwGcWCCZkWVMaW1btF+krrmppVsALHVwxbj5pu0nj6HgADbN91ggobWw+PHovNp7UxCZ0yw8lbbs5jTvV5vY3zu7yrVxVD9lbm9uY2Ub//////////9mbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_register_entity` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-0-sign_register_entity`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign entity descriptor", async function (m) { const sim = new Zemu(m.path); @@ -873,7 +895,7 @@ describe("Standard-Adr0008-0", function () { const txBlob = Buffer.from( "a2617602626964582097e72e6e83ec39eb98d7e9189513aba662a08a210b9974b0f7197458483c7161", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -887,7 +909,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_descriptor` + `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_descriptor`, ); let resp = await signatureRequest; @@ -908,51 +930,54 @@ describe("Standard-Adr0008-0", function () { } }); - test.concurrent.each(models)("sign register entity without nodes", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign register entity without nodes", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; + const context = + "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omlzaWduYXR1cmWiaXNpZ25hdHVyZVhACXa0AUpgRcGA0PHYSaX7p+tMiVqo6NkQH5TY9WuGz84SuZCYpzoNsijTTzCQYp5Xc6T9b2Ew9TIoz9E7JvvSBmpwdWJsaWNfa2V5WCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo3N1bnRydXN0ZWRfcmF3X3ZhbHVlWCmiYXYCYmlkWCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo2Vub25jZQBmbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", - "base64" - ); + const txBlob = Buffer.from( + "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omlzaWduYXR1cmWiaXNpZ25hdHVyZVhACXa0AUpgRcGA0PHYSaX7p+tMiVqo6NkQH5TY9WuGz84SuZCYpzoNsijTTzCQYp5Xc6T9b2Ew9TIoz9E7JvvSBmpwdWJsaWNfa2V5WCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo3N1bnRydXN0ZWRfcmF3X3ZhbHVlWCmiYXYCYmlkWCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo2Vub25jZQBmbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_register_entity_no_nodes` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-0-sign_register_entity_no_nodes`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign deregister entity", async function (m) { const sim = new Zemu(m.path); @@ -966,7 +991,7 @@ describe("Standard-Adr0008-0", function () { const txBlob = Buffer.from( "a363666565a2636761731903e866616d6f756e744207d0656e6f6e6365182a666d6574686f64781972656769737472792e44657265676973746572456e74697479", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -980,7 +1005,7 @@ describe("Standard-Adr0008-0", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_deregister_entity` + `${m.prefix.toLowerCase()}-adr0008-0-sign_deregister_entity`, ); let resp = await signatureRequest; @@ -1001,130 +1026,139 @@ describe("Standard-Adr0008-0", function () { } }); - test.concurrent.each(models)("sign entity metadata - utf8", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign entity metadata - utf8", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const path = "m/44'/474'/0'"; - const context = "oasis-metadata-registry: entity"; + const path = "m/44'/474'/0'"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "A76176016375726C7568747470733A2F2F6D792E656E746974792F75726C646E616D656868C3A96CC3A86E6565656D61696C6D6D7940656E746974792E6F72676673657269616C01676B657962617365716D795F6B6579626173655F68616E646C656774776974746572716D795F747769747465725F68616E646C65", - "hex" - ); + const txBlob = Buffer.from( + "A76176016375726C7568747470733A2F2F6D792E656E746974792F75726C646E616D656868C3A96CC3A86E6565656D61696C6D6D7940656E746974792E6F72676673657269616C01676B657962617365716D795F6B6579626173655F68616E646C656774776974746572716D795F747769747465725F68616E646C65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_metadata_utf8` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_metadata_utf8`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); - test.concurrent.each(models)("sign entity metadata - long url", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign entity metadata - long url", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-metadata-registry: entity"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "a76176016375726c783f68747470733a2f2f6d792e656e746974792f75726c2f746869732f69732f736f6d652f766572792f6c6f6e672f76616c69642f75726c2f75702f746f2f3634646e616d6578315468697320697320736f6d652076657279206c6f6e6720656e74697479206e616d65206275742076616c6964202835302965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" - ); + const txBlob = Buffer.from( + "a76176016375726c783f68747470733a2f2f6d792e656e746974792f75726c2f746869732f69732f736f6d652f766572792f6c6f6e672f76616c69642f75726c2f75702f746f2f3634646e616d6578315468697320697320736f6d652076657279206c6f6e6720656e74697479206e616d65206275742076616c6964202835302965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_metadata_long` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-0-sign_entity_metadata_long`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); - test.concurrent.each(models)("sign entity metadata - long name", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); + test.concurrent.each(models)( + "sign entity metadata - long name", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-metadata-registry: entity"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d6578335468697320697320736f6d6520746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f206c6f6e6720656e74697479206e616d65202835312965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" - ); + const txBlob = Buffer.from( + "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d6578335468697320697320736f6d6520746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f206c6f6e6720656e74697479206e616d65202835312965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x6984); - expect(resp.error_message).toEqual( - "Data is invalid : Invalid name length (max 50 characters)" - ); - } finally { - await sim.close(); - } - }); + expect(resp.return_code).toEqual(0x6984); + expect(resp.error_message).toEqual( + "Data is invalid : Invalid name length (max 50 characters)", + ); + } finally { + await sim.close(); + } + }, + ); }); describe("Issue #68", function () { @@ -1139,7 +1173,7 @@ describe("Issue #68", function () { const context = "oasis-core/consensus: tx for chain testing"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJ0b1UAxzzAAUY0NJFbo/OXUb63wJBbRetmYW1vdW50QGVub25jZQBmbWV0aG9kcHN0YWtpbmcuVHJhbnNmZXI=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -1153,7 +1187,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_basic` + `${m.prefix.toLowerCase()}-adr0008-0-sign_basic`, ); let resp = await signatureRequest; @@ -1171,7 +1205,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-0-sign_basic` + `${m.prefix.toLowerCase()}-adr0008-0-sign_basic`, ); let respBis = await signatureRequestBis; @@ -1182,6 +1216,6 @@ describe("Issue #68", function () { } finally { await sim.close(); } - } + }, ); }); diff --git a/tests_zemu/tests/adr0008.5.test.ts b/tests_zemu/tests/adr0008.5.test.ts index 009d24da..002d356d 100644 --- a/tests_zemu/tests/adr0008.5.test.ts +++ b/tests_zemu/tests/adr0008.5.test.ts @@ -14,7 +14,11 @@ * limitations under the License. ******************************************************************************* */ -import Zemu, { DEFAULT_START_OPTIONS } from "@zondax/zemu"; +import Zemu, { + ButtonKind, + DEFAULT_START_OPTIONS, + zondaxMainmenuNavigation, +} from "@zondax/zemu"; // @ts-ignore import { OasisApp } from "@zondax/ledger-oasis"; import { models } from "./common"; @@ -37,23 +41,27 @@ jest.setTimeout(150000); const path = "m/44'/474'/5'"; describe("Standard-Adr0008-5", function () { - test.concurrent.each(models)("can start and stop container", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - } finally { - await sim.close(); - } - }); + test.concurrent.each(models)( + "can start and stop container", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("main menu", async function (m) { const sim = new Zemu(m.path); try { + const mainmenuNavigation = zondaxMainmenuNavigation(m.name); await sim.start({ ...defaultOptions, model: m.name }); await sim.navigateAndCompareSnapshots( ".", `${m.prefix.toLowerCase()}-adr0008-5-mainmenu`, - [1, 0, 0, 4, -5] + mainmenuNavigation.schedule, ); } finally { await sim.close(); @@ -108,7 +116,12 @@ describe("Standard-Adr0008-5", function () { test.concurrent.each(models)("show address", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); const respRequest = app.showAddressAndPubKey_ed25519(path); @@ -116,7 +129,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-show_address` + `${m.prefix.toLowerCase()}-adr0008-5-show_address`, ); const resp = await respRequest; @@ -147,7 +160,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omRmcm9tVQAGaeylE0pICHuqRvArp3IYjeXN22ZhbW91bnRAZW5vbmNlAGZtZXRob2Rwc3Rha2luZy5XaXRoZHJhdw==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -161,7 +174,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_basic_withdraw` + `${m.prefix.toLowerCase()}-adr0008-5-sign_basic_withdraw`, ); let resp = await signatureRequest; @@ -192,7 +205,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omtiZW5lZmljaWFyeVUA8PesI5mFWUkMVHwStQ6Fieb4bsFtYW1vdW50X2NoYW5nZUBlbm9uY2UBZm1ldGhvZG1zdGFraW5nLkFsbG93", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -206,7 +219,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_basic_allow` + `${m.prefix.toLowerCase()}-adr0008-5-sign_basic_allow`, ); let resp = await signatureRequest; @@ -230,7 +243,7 @@ describe("Standard-Adr0008-5", function () { it("hash", async function () { const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omd4ZmVyX3RvWCBkNhaFWEyIEubmS3EVtRLTanD3U+vDV5fke4Obyq83CWt4ZmVyX3Rva2Vuc0Blbm9uY2UAZm1ldGhvZHBzdGFraW5nLlRyYW5zZmVy", - "base64" + "base64", ); const context = "oasis-core/consensus: tx for chain testing"; const hasher = sha512.sha512_256.update(context); @@ -238,7 +251,7 @@ describe("Standard-Adr0008-5", function () { const hash = Buffer.from(hasher.hex(), "hex"); console.log(hash.toString("hex")); expect(hash.toString("hex")).toEqual( - "86f53ebf15a09c4cd1cf7a52b8b381d74a2142996aca20690d2e750c1d262ec0" + "86f53ebf15a09c4cd1cf7a52b8b381d74a2142996aca20690d2e750c1d262ec0", ); }); @@ -252,7 +265,7 @@ describe("Standard-Adr0008-5", function () { const context = "oasis-core/consensus: tx for chain testing"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJ0b1UAxzzAAUY0NJFbo/OXUb63wJBbRetmYW1vdW50QGVub25jZQBmbWV0aG9kcHN0YWtpbmcuVHJhbnNmZXI=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -266,7 +279,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_basic` + `${m.prefix.toLowerCase()}-adr0008-5-sign_basic`, ); let resp = await signatureRequest; @@ -297,7 +310,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oWd1cGdyYWRlpGF2AWVlcG9jaBv//////////mZ0YXJnZXSjcmNvbnNlbnN1c19wcm90b2NvbKJlbWlub3IMZXBhdGNoAXVydW50aW1lX2hvc3RfcHJvdG9jb2yjZW1ham9yAWVtaW5vcgJlcGF0Y2gDeBpydW50aW1lX2NvbW1pdHRlZV9wcm90b2NvbKJlbWFqb3IYKmVwYXRjaAFnaGFuZGxlcnJkZXNjcmlwdG9yLWhhbmRsZXJlbm9uY2UAZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -311,7 +324,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-submit_proposal_upgrade` + `${m.prefix.toLowerCase()}-adr0008-5-submit_proposal_upgrade`, ); let resp = await signatureRequest; @@ -332,50 +345,53 @@ describe("Standard-Adr0008-5", function () { } }); - test.concurrent.each(models)("submit proposal - cancel upgrade", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "submit proposal - cancel upgrade", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oW5jYW5jZWxfdXBncmFkZaFrcHJvcG9zYWxfaWQb//////////9lbm9uY2UBZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", - "base64" - ); + const context = + "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; + const txBlob = Buffer.from( + "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oW5jYW5jZWxfdXBncmFkZaFrcHJvcG9zYWxfaWQb//////////9lbm9uY2UBZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-5-submit_proposal_cancel_upgrade` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-5-submit_proposal_cancel_upgrade`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("add escrow", async function (m) { const sim = new Zemu(m.path); @@ -388,7 +404,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omZhbW91bnRCA+hnYWNjb3VudFUAWjuJqnaIaHy9a5gyaOTU0hR4ladlbm9uY2UAZm1ldGhvZHFzdGFraW5nLkFkZEVzY3Jvdw==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -402,7 +418,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-add_escrow` + `${m.prefix.toLowerCase()}-adr0008-5-add_escrow`, ); let resp = await signatureRequest; @@ -434,7 +450,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmiZnNoYXJlc0BnYWNjb3VudFUAcFT2Pq0X0FM7dpOkrzN8jWLiu4Blbm9uY2UBZm1ldGhvZHVzdGFraW5nLlJlY2xhaW1Fc2Nyb3c=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -448,7 +464,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-reclaim_escrow` + `${m.prefix.toLowerCase()}-adr0008-5-reclaim_escrow`, ); let resp = await signatureRequest; @@ -480,7 +496,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmiYnRvVQDHPMABRjQ0kVuj85dRvrfAkFtF62ZhbW91bnRAZW5vbmNlCmZtZXRob2Rwc3Rha2luZy5UcmFuc2Zlcg==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -494,7 +510,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-transfer` + `${m.prefix.toLowerCase()}-adr0008-5-transfer`, ); let resp = await signatureRequest; @@ -526,7 +542,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZABkdm90ZQNlbm9uY2UBZm1ldGhvZHNnb3Zlcm5hbmNlLkNhc3RWb3Rl", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -540,7 +556,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-cast_vote_abstain` + `${m.prefix.toLowerCase()}-adr0008-5-cast_vote_abstain`, ); let resp = await signatureRequest; @@ -571,7 +587,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBoAmJaAZHZvdGUBZW5vbmNlAWZtZXRob2RzZ292ZXJuYW5jZS5DYXN0Vm90ZQ==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -585,7 +601,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-cast_vote_yes` + `${m.prefix.toLowerCase()}-adr0008-5-cast_vote_yes`, ); let resp = await signatureRequest; @@ -616,7 +632,7 @@ describe("Standard-Adr0008-5", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBv//////////2R2b3RlAmVub25jZQFmbWV0aG9kc2dvdmVybmFuY2UuQ2FzdFZvdGU=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -630,7 +646,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-cast_vote_no` + `${m.prefix.toLowerCase()}-adr0008-5-cast_vote_no`, ); let resp = await signatureRequest; @@ -660,7 +676,7 @@ describe("Standard-Adr0008-5", function () { const context = "oasis-core/consensus: tx for chain testing"; let invalidMessage = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omd4ZmVyX3RvWCBkNhaFWEyIEubmS3EVtRLTanD3U+vDV5fke4Obyq83CWt4ZmVyX3Rva2Vuc0Blbm9uY2UAZm1ldGhvZHBzdGFraW5nLlRyYW5zZmVy", - "base64" + "base64", ); invalidMessage = Buffer.concat([invalidMessage, Buffer.from("1")]); @@ -675,7 +691,7 @@ describe("Standard-Adr0008-5", function () { expect(responseSign.return_code).toEqual(0x6984); expect(responseSign.error_message).toEqual( - "Data is invalid : Unexpected field" + "Data is invalid : Unexpected field", ); } finally { await sim.close(); @@ -691,7 +707,7 @@ describe("Standard-Adr0008-5", function () { const context = "oasis-core/consensus: tx for chain testing amend"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmhaWFtZW5kbWVudKJlcmF0ZXOFomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoZmJvdW5kc4WjZXN0YXJ0GQPoaHJhdGVfbWF4QicQaHJhdGVfbWluQicQo2VzdGFydBkD6GhyYXRlX21heEInEGhyYXRlX21pbkInEKNlc3RhcnQZA+hocmF0ZV9tYXhCJxBocmF0ZV9taW5CJxCjZXN0YXJ0GQPoaHJhdGVfbWF4QicQaHJhdGVfbWluQicQo2VzdGFydBkD6GhyYXRlX21heEInEGhyYXRlX21pbkInEGVub25jZRkD6GZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -706,7 +722,7 @@ describe("Standard-Adr0008-5", function () { await sim.compareSnapshotsAndApprove( ".", `${m.prefix.toLowerCase()}-adr0008-5-sign_amend`, - true + true, ); let resp = await signatureRequest; @@ -727,50 +743,53 @@ describe("Standard-Adr0008-5", function () { } }); - test.concurrent.each(models)("sign amend schedule - issue #130", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign amend schedule - issue #130", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-core/consensus: tx for chain testing amend"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcxkD6GZhbW91bnRCB9BkYm9keaFpYW1lbmRtZW50omVyYXRlc4WiZHJhdGVCw1Blc3RhcnQYIKJkcmF0ZUKcQGVzdGFydBgoomRyYXRlQnUwZXN0YXJ0GDCiZHJhdGVCYahlc3RhcnQYOKJkcmF0ZUJOIGVzdGFydBhAZmJvdW5kc4KjZXN0YXJ0GCBocmF0ZV9tYXhCw1BocmF0ZV9taW5CJxCjZXN0YXJ0GEBocmF0ZV9tYXhCdTBocmF0ZV9taW5CJxBlbm9uY2UYKmZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", - "base64" - ); + const context = "oasis-core/consensus: tx for chain testing amend"; + const txBlob = Buffer.from( + "pGNmZWWiY2dhcxkD6GZhbW91bnRCB9BkYm9keaFpYW1lbmRtZW50omVyYXRlc4WiZHJhdGVCw1Blc3RhcnQYIKJkcmF0ZUKcQGVzdGFydBgoomRyYXRlQnUwZXN0YXJ0GDCiZHJhdGVCYahlc3RhcnQYOKJkcmF0ZUJOIGVzdGFydBhAZmJvdW5kc4KjZXN0YXJ0GCBocmF0ZV9tYXhCw1BocmF0ZV9taW5CJxCjZXN0YXJ0GEBocmF0ZV9tYXhCdTBocmF0ZV9taW5CJxBlbm9uY2UYKmZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_amend_issue_130`, - true - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-5-sign_amend_issue_130`, + true, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign entity metadata", async function (m) { const sim = new Zemu(m.path); @@ -782,7 +801,7 @@ describe("Standard-Adr0008-5", function () { const txBlob = Buffer.from( "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d656e4d7920656e74697479206e616d6565656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -796,7 +815,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_metadata` + `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_metadata`, ); let resp = await signatureRequest; @@ -817,51 +836,54 @@ describe("Standard-Adr0008-5", function () { } }); - test.concurrent.each(models)("sign register entity with nodes", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign register entity with nodes", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; + const context = + "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcxkD6GZhbW91bnRCEJJkYm9keaJpc2lnbmF0dXJlomlzaWduYXR1cmVYQOMUbqcZ88wjPfkp9/poVJJKrxD/UN7qvEQQi5O5D7IFD7ujuBsfaCkbuXtFUMIrlAbsC9RuvLPcsPQqm5jIWApqcHVibGljX2tleVgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6NzdW50cnVzdGVkX3Jhd192YWx1ZVjao2F2AmJpZFgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6Nlbm9kZXOFWCB45nhPM7JsZvqGq/ODtQGz93xlsv51iRbAQP+5dCy/ZVggnc1QiTMP4HFSTpiEiEtnFDRtYxKRc85PTTR8SlH1g8JYIKx4PngeJJhJb+tTC7IR/BWh5mTB+uJOLY04HFA3DwGcWCCZkWVMaW1btF+krrmppVsALHVwxbj5pu0nj6HgADbN91ggobWw+PHovNp7UxCZ0yw8lbbs5jTvV5vY3zu7yrVxVD9lbm9uY2Ub//////////9mbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", - "base64" - ); + const txBlob = Buffer.from( + "pGNmZWWiY2dhcxkD6GZhbW91bnRCEJJkYm9keaJpc2lnbmF0dXJlomlzaWduYXR1cmVYQOMUbqcZ88wjPfkp9/poVJJKrxD/UN7qvEQQi5O5D7IFD7ujuBsfaCkbuXtFUMIrlAbsC9RuvLPcsPQqm5jIWApqcHVibGljX2tleVgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6NzdW50cnVzdGVkX3Jhd192YWx1ZVjao2F2AmJpZFgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6Nlbm9kZXOFWCB45nhPM7JsZvqGq/ODtQGz93xlsv51iRbAQP+5dCy/ZVggnc1QiTMP4HFSTpiEiEtnFDRtYxKRc85PTTR8SlH1g8JYIKx4PngeJJhJb+tTC7IR/BWh5mTB+uJOLY04HFA3DwGcWCCZkWVMaW1btF+krrmppVsALHVwxbj5pu0nj6HgADbN91ggobWw+PHovNp7UxCZ0yw8lbbs5jTvV5vY3zu7yrVxVD9lbm9uY2Ub//////////9mbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_register_entity` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-5-sign_register_entity`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign entity descriptor", async function (m) { const sim = new Zemu(m.path); @@ -873,7 +895,7 @@ describe("Standard-Adr0008-5", function () { const txBlob = Buffer.from( "a2617602626964582097e72e6e83ec39eb98d7e9189513aba662a08a210b9974b0f7197458483c7161", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -887,7 +909,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_descriptor` + `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_descriptor`, ); let resp = await signatureRequest; @@ -908,51 +930,54 @@ describe("Standard-Adr0008-5", function () { } }); - test.concurrent.each(models)("sign register entity without nodes", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign register entity without nodes", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; + const context = + "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omlzaWduYXR1cmWiaXNpZ25hdHVyZVhACXa0AUpgRcGA0PHYSaX7p+tMiVqo6NkQH5TY9WuGz84SuZCYpzoNsijTTzCQYp5Xc6T9b2Ew9TIoz9E7JvvSBmpwdWJsaWNfa2V5WCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo3N1bnRydXN0ZWRfcmF3X3ZhbHVlWCmiYXYCYmlkWCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo2Vub25jZQBmbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", - "base64" - ); + const txBlob = Buffer.from( + "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omlzaWduYXR1cmWiaXNpZ25hdHVyZVhACXa0AUpgRcGA0PHYSaX7p+tMiVqo6NkQH5TY9WuGz84SuZCYpzoNsijTTzCQYp5Xc6T9b2Ew9TIoz9E7JvvSBmpwdWJsaWNfa2V5WCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo3N1bnRydXN0ZWRfcmF3X3ZhbHVlWCmiYXYCYmlkWCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo2Vub25jZQBmbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_register_entity_no_nodes` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-5-sign_register_entity_no_nodes`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign deregister entity", async function (m) { const sim = new Zemu(m.path); @@ -966,7 +991,7 @@ describe("Standard-Adr0008-5", function () { const txBlob = Buffer.from( "a363666565a2636761731903e866616d6f756e744207d0656e6f6e6365182a666d6574686f64781972656769737472792e44657265676973746572456e74697479", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -980,7 +1005,7 @@ describe("Standard-Adr0008-5", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_deregister_entity` + `${m.prefix.toLowerCase()}-adr0008-5-sign_deregister_entity`, ); let resp = await signatureRequest; @@ -1001,130 +1026,139 @@ describe("Standard-Adr0008-5", function () { } }); - test.concurrent.each(models)("sign entity metadata - utf8", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign entity metadata - utf8", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const path = "m/44'/474'/5'"; - const context = "oasis-metadata-registry: entity"; + const path = "m/44'/474'/5'"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "A76176016375726C7568747470733A2F2F6D792E656E746974792F75726C646E616D656868C3A96CC3A86E6565656D61696C6D6D7940656E746974792E6F72676673657269616C01676B657962617365716D795F6B6579626173655F68616E646C656774776974746572716D795F747769747465725F68616E646C65", - "hex" - ); + const txBlob = Buffer.from( + "A76176016375726C7568747470733A2F2F6D792E656E746974792F75726C646E616D656868C3A96CC3A86E6565656D61696C6D6D7940656E746974792E6F72676673657269616C01676B657962617365716D795F6B6579626173655F68616E646C656774776974746572716D795F747769747465725F68616E646C65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_metadata_utf8` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_metadata_utf8`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); - test.concurrent.each(models)("sign entity metadata - long url", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign entity metadata - long url", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-metadata-registry: entity"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "a76176016375726c783f68747470733a2f2f6d792e656e746974792f75726c2f746869732f69732f736f6d652f766572792f6c6f6e672f76616c69642f75726c2f75702f746f2f3634646e616d6578315468697320697320736f6d652076657279206c6f6e6720656e74697479206e616d65206275742076616c6964202835302965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" - ); + const txBlob = Buffer.from( + "a76176016375726c783f68747470733a2f2f6d792e656e746974792f75726c2f746869732f69732f736f6d652f766572792f6c6f6e672f76616c69642f75726c2f75702f746f2f3634646e616d6578315468697320697320736f6d652076657279206c6f6e6720656e74697479206e616d65206275742076616c6964202835302965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_metadata_long` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0008-5-sign_entity_metadata_long`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); - test.concurrent.each(models)("sign entity metadata - long name", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); + test.concurrent.each(models)( + "sign entity metadata - long name", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-metadata-registry: entity"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d6578335468697320697320736f6d6520746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f206c6f6e6720656e74697479206e616d65202835312965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" - ); + const txBlob = Buffer.from( + "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d6578335468697320697320736f6d6520746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f206c6f6e6720656e74697479206e616d65202835312965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x6984); - expect(resp.error_message).toEqual( - "Data is invalid : Invalid name length (max 50 characters)" - ); - } finally { - await sim.close(); - } - }); + expect(resp.return_code).toEqual(0x6984); + expect(resp.error_message).toEqual( + "Data is invalid : Invalid name length (max 50 characters)", + ); + } finally { + await sim.close(); + } + }, + ); }); describe("Issue #68", function () { @@ -1139,7 +1173,7 @@ describe("Issue #68", function () { const context = "oasis-core/consensus: tx for chain testing"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJ0b1UAxzzAAUY0NJFbo/OXUb63wJBbRetmYW1vdW50QGVub25jZQBmbWV0aG9kcHN0YWtpbmcuVHJhbnNmZXI=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -1153,7 +1187,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_basic` + `${m.prefix.toLowerCase()}-adr0008-5-sign_basic`, ); let resp = await signatureRequest; @@ -1171,7 +1205,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-adr0008-5-sign_basic` + `${m.prefix.toLowerCase()}-adr0008-5-sign_basic`, ); let respBis = await signatureRequestBis; @@ -1182,6 +1216,6 @@ describe("Issue #68", function () { } finally { await sim.close(); } - } + }, ); }); diff --git a/tests_zemu/tests/adr0014.test.ts b/tests_zemu/tests/adr0014.test.ts index fd59de47..b09f3b00 100644 --- a/tests_zemu/tests/adr0014.test.ts +++ b/tests_zemu/tests/adr0014.test.ts @@ -14,7 +14,7 @@ * limitations under the License. ******************************************************************************* */ -import Zemu, { DEFAULT_START_OPTIONS } from "@zondax/zemu"; +import Zemu, { ButtonKind, DEFAULT_START_OPTIONS } from "@zondax/zemu"; // @ts-ignore import { OasisApp } from "@zondax/ledger-oasis"; import { models } from "./common"; @@ -68,7 +68,12 @@ describe("Standard-Adr0014", function () { test.concurrent.each(models)("show Secp256k1 address", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); const respRequest = app.showAddressAndPubKey_secp256k1(secp256k1_path); @@ -99,13 +104,16 @@ describe("Standard-Adr0014", function () { test.concurrent.each(models)("get polkadot path", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "Path" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const respRequest = app.showAddressAndPubKey_secp256k1(polkadot_path); @@ -436,9 +444,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -496,9 +502,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -575,7 +579,12 @@ describe("Standard-Adr0014", function () { test.concurrent.each(models)("show Sr25519 address", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); const respRequest = app.showAddressAndPubKey_sr25519(path); @@ -613,9 +622,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -674,9 +681,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -735,9 +740,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -794,9 +797,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -851,9 +852,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -885,6 +884,11 @@ describe("Standard-Adr0014", function () { [2, 0, 0, 1, 0, 2, 0, 2, 0, 8, 0], false, ); + } else if (m.name == "stax") { + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0014-sign_ed15519_contracts-array-map`, + ); } else { await sim.navigateAndCompareSnapshots( ".", @@ -919,9 +923,7 @@ describe("Standard-Adr0014", function () { const app = new OasisApp(sim.getTransport()); // Change to expert mode so we can skip fields - await sim.clickRight(); - await sim.clickBoth(); - await sim.clickLeft(); + await sim.toggleExpertMode(); const meta = Buffer.from( "ompydW50aW1lX2lkeEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlMmVhYTk5ZmMwMDhmODdmbWNoYWluX2NvbnRleHR4QGJiM2Q3NDhkZWY1NWJkZmI3OTdhMmFjNTNlZTZlZTE0MWU1NGNkMmFiMmRjMjM3NWY0YTA3MDNhMTc4ZTZlNTU=", @@ -952,6 +954,11 @@ describe("Standard-Adr0014", function () { [2, 0, 0, 5, 0, 0, -1, 0, 8, 0], false, ); + } else if (m.name == "stax") { + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-adr0014-sign_ed15519_contracts-array-map`, + ); } else { await sim.navigateAndCompareSnapshots( ".", diff --git a/tests_zemu/tests/common.ts b/tests_zemu/tests/common.ts index 7d06603e..8263a4fa 100644 --- a/tests_zemu/tests/common.ts +++ b/tests_zemu/tests/common.ts @@ -5,6 +5,7 @@ const Resolve = require("path").resolve; const APP_PATH_S = Resolve("../app/output/app_s.elf"); const APP_PATH_X = Resolve("../app/output/app_x.elf"); const APP_PATH_SP = Resolve("../app/output/app_s2.elf"); +const APP_PATH_ST = Resolve("../app/output/app_stax.elf"); export const ETH_PATH = "m/44'/60'/0'/0'/5"; export const EXPECTED_PUBLIC_KEY = "024f1dd50f180bfd546339e75410b127331469837fa618d950f7cfb8be351b0020"; @@ -18,4 +19,5 @@ export const models: IDeviceModel[] = [ { name: "nanos", prefix: "S", path: APP_PATH_S }, { name: "nanox", prefix: "X", path: APP_PATH_X }, { name: "nanosp", prefix: "SP", path: APP_PATH_SP }, + { name: "stax", prefix: "ST", path: APP_PATH_ST }, ]; diff --git a/tests_zemu/tests/eth_legacy.test.ts b/tests_zemu/tests/eth_legacy.test.ts index acd33fca..a68f9e7d 100644 --- a/tests_zemu/tests/eth_legacy.test.ts +++ b/tests_zemu/tests/eth_legacy.test.ts @@ -22,7 +22,6 @@ import { Transaction } from "@ethereumjs/tx"; import Common from "@ethereumjs/common"; import { rlp, bufArrToArr } from "ethereumjs-util"; import { ec } from "elliptic"; -const BN = require("bn.js"); const APP_SEED = "equip will roof matter pink blind book anxiety banner elbow sun young"; @@ -33,11 +32,6 @@ const defaultOptions = { custom: `-s "${APP_SEED}"`, }; -type TestData = { - name: string; - op: Buffer; - chainId: number | undefined; -}; const SIGN_TEST_DATA = [ { name: "basic_transfer", @@ -84,7 +78,7 @@ const SIGN_TEST_DATA = [ const rawUnsignedLegacyTransaction = ( params: any, - chainId: number | undefined + chainId: number | undefined, ) => { const txParams = { nonce: "0x00", @@ -95,7 +89,7 @@ const rawUnsignedLegacyTransaction = ( data: params.data !== undefined ? "0x" + params.data : undefined, }; - const chain = Common.forCustomChain(1, { + const chain = Common.custom({ name: "oasis", networkId: 1, chainId, @@ -117,20 +111,20 @@ const rawUnsignedLegacyTransaction = ( function check_legacy_signature( hexTx: string, signature: any, - chainId: number | undefined + chainId: number | undefined, ) { const ethTx = Buffer.from(hexTx, "hex"); - const chain = Common.forCustomChain(1, { + const chain = Common.custom({ name: "oasis", networkId: 1, chainId, }); const tx_options = chainId !== undefined ? { common: chain } : undefined; - const txnBufsDecoded: any = rlp.decode(ethTx).slice(0, 6); + const txnBufsDecoded: any = rlp.decode(ethTx).slice(0, 6); // do not change to subarray const txnBufsMap = [signature.v, signature.r, signature.s].map((a) => - Buffer.from(a.length % 2 == 1 ? "0" + a : a, "hex") + Buffer.from(a.length % 2 == 1 ? "0" + a : a, "hex"), ); const txnBufs = txnBufsDecoded.concat(txnBufsMap); @@ -150,21 +144,18 @@ describe.each(models)("ETH_Legacy", function (m) { await sim.start({ ...defaultOptions, model: m.name }); const app = new OasisApp(sim.getTransport()); - const testcase = `${m.prefix.toLowerCase()}-eth-sign-${data.name}`; - - const currentScreen = sim.snapshot(); const msg = rawUnsignedLegacyTransaction(data.op, data.chainId); console.log("tx: ", msg.toString("hex")); const respReq = app.signETHTransaction( ETH_PATH, msg.toString("hex"), - null + null, ); await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-eth-${data.name}` + `${m.prefix.toLowerCase()}-eth-${data.name}`, ); const resp = await respReq; @@ -190,15 +181,15 @@ describe.each(models)("ETH_Legacy", function (m) { expect(signatureOK).toEqual(true); // alternative verification to be safe - const test = await check_legacy_signature( + const test = check_legacy_signature( msg.toString("hex"), resp, - data.chainId + data.chainId, ); expect(test).toEqual(true); } finally { await sim.close(); } - } + }, ); }); diff --git a/tests_zemu/tests/eth_tests.test.ts b/tests_zemu/tests/eth_tests.test.ts index db3fd0f4..cbd75116 100644 --- a/tests_zemu/tests/eth_tests.test.ts +++ b/tests_zemu/tests/eth_tests.test.ts @@ -14,7 +14,7 @@ * limitations under the License. ******************************************************************************* */ -import Zemu, { DEFAULT_START_OPTIONS } from "@zondax/zemu"; +import Zemu, { ButtonKind, DEFAULT_START_OPTIONS } from "@zondax/zemu"; // @ts-ignore import { OasisApp } from "@zondax/ledger-oasis"; import { @@ -24,7 +24,6 @@ import { EXPECTED_ETH_PK, } from "./common"; import { ec } from "elliptic"; -import Eth from "@ledgerhq/hw-app-eth"; const APP_SEED = "equip will roof matter pink blind book anxiety banner elbow sun young"; @@ -35,66 +34,54 @@ const defaultOptions = { custom: `-s "${APP_SEED}"`, }; -type NftInfo = { - token_address: string; - token_name: string; - chain_id: number; -}; - -type TestData = { - name: string; - op: Buffer; - nft_info: NftInfo | undefined; -}; - const SIGN_TEST_DATA = [ { name: "transfer", op: Buffer.from( "02f782a5168402a8af41843b9aca00850d8c7b50e68303d090944a2962ac08962819a8a17661970e3c0db765565e8817addd0864728ae780c0", - "hex" + "hex", ), }, // works { name: "asset_transfer", op: Buffer.from( "f87c01856d6e2edc00830186a094010000000000000000000000000000000000000280b85441c9cc6fd27e26e70f951869fb09da685a696f0a79d338394f709c6d776d1318765981e69c09f0aa49864d8cc35699545b5e73a00000000000000000000000000000000000000000000000000123456789abcdef82a5168080", - "hex" + "hex", ), }, { name: "asset_deposit", op: Buffer.from( "f87c01856d6e2edc00830186a094010000000000000000000000000000000000000280b85441c9cc6fd27e26e70f951869fb09da685a696f0a79d338394f709c6d776d1318765981e69c09f0aa49864d8cc35699545b5e73a00000000000000000000000000000000000000000000000000123456789abcdef82a5168080", - "hex" + "hex", ), }, { name: "legacy_transfer", op: Buffer.from( "ed01856d6e2edc008252089428ee52a8f3d6e5d15f8b131996950d7f296c7952872bd72a248740008082a5168080", - "hex" + "hex", ), }, { name: "erc721_safe_transfer_from", op: Buffer.from( "02f88f82a516198459682f00850b68b3c16882caf09434bc797f40df0445c8429d485232874b1556172880b86442842e0e00000000000000000000000077944eed8d4a00c8bd413f77744751a4d04ea34a0000000000000000000000005d4994bccdd28afbbc6388fbcaaec69dd44c04560000000000000000000000000000000000000000000000000000000000000201c0", - "hex" + "hex", ), }, { name: "erc721_safe_transfer_from_data", op: Buffer.from( "02f90a7582a5168001018402625a009457f1887a8bf19b14fc0df6fd9b2acc9af147ea8580b90a50b88d4fde0000000000000000000000000565df3f5aad5a45d340b98d1e95f255e238cdc30000000000000000000000009ebfb53fa8526906738856848a27cb11b0285c3f307fa76847d6ec39c1c90ef3b279e83cbf6e0028a6b83e4187615fd74610a22b00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000984cd1d89fb00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000500000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea850000000000000000000000000565df3f5aad5a45d340b98d1e95f255e238cdc3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000008a4e7acab240000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009ebfb53fa8526906738856848a27cb11b0285c3f00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000120f5e9ef7883b4b3fb8cf59abccd6cbb3221e32000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000632db0b000000000000000000000000000000000000000000000000000000000632f026700000000000000000000000000000000000000000000000000000000000000003d6ddb428fb83199f55e5d9db388798de7982e540559fdc8973690a3b311accd0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd2439da2e500000000000000000000000000000000000000000000000000000fd2439da2e50000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea85b8e627e97e5a9c349ce0e7d8ca289210292aaa23c77320258af4030ac9b35adc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000120f5e9ef7883b4b3fb8cf59abccd6cbb3221e320000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cc103a500e000000000000000000000000000000000000000000000000000003cc103a500e00000000000000000000000000a7673ab3b0949a0efcd818c86c71fff7cd645ac70000000000000000000000000000000000000000000000000000000000000041a32300e377fe8acd87ecc64a6d759cbe16e561ee012bba31c0a1c673fc2e80f642b096e4cf17fc31a71af417fe090181f4857177fedd83a8e428603bfb88a8c01b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000307fa76847d6ec39c1c90ef3b279e83cbf6e0028a6b83e4187615fd74610a22b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000117ea1dd9ecc2fc4f863e0f383029c6787ba379f80958abb3fc8bc079f21b514a1cdff5f9224fd75fe6e01e4e0edf41998ccec816bb377663d05fd874c7681e7f3f4217fa579ba41e2f7ac70b632bafd704573470ae765bdd96f5673cc4475ab8fac02a3f70665924a8bde9ad181df13581e883212c1cfa6bf4a425b1760375c121bbd09628c48138b7ddcfad9520da9ad39d97f9a17d48a8239fd52c38108507146e91239dcbdeec3e09e7eb4c8ea3ce3026575cd900cce8a208605810732619241d1b1703af8e17d3fbd76a4c074e7a8518c8ef63539d723a67a20a73abd5b393a595f5aa992d118b650564b2ac4d7e5c01753b7f4a79dd8d67ac158eadae3ea335dfed47134d7a0e65d4911c5d7eb0f99a2b5d8161479922a5150238ea7473b73beb96f9da02359c26071bf9bd1524780ccac98a6e2535330e7b1be7a3d21b29ceb65854902f22ad2eb9099724e8cfe03078f5db93b617c2050249203495594295765be35854719956ab6e36fed9dd9ab629c010525c9d20e9502727a7093f24717dc2d5d9f04333171bb1779f26370aae4912970f5e1b6c4778c0f3c7c672e5dd704d1fdcc69232ba5b996f1fed800b03e24acb02fef4214e0b46d01a515b600a6f5dcc80ac7a3753bff70bf1fb7557ce8dad801fec25bc7667244cc2e08f22981446ab788f9c223957f54016f4bb8870d9919b8316361f7332f5c2f01fad1ec9ac757a737872c4beb7cf800b714b2a0613be1fa3569f1531c23ef423fd29600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f656e732e766973696f6e1fc0", - "hex" + "hex", ), }, { name: "erc721_approve_for_all", op: Buffer.from( "02f87182a51682034a8459682f00850322d538d182b67094bd3f82a81c3f74542736765ce4fd579d177b6bc580b844a22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001c0", - "hex" + "hex", ), }, ]; @@ -123,7 +110,7 @@ describe.each(models)("ETH", function (m) { await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-eth-${data.name}` + `${m.prefix.toLowerCase()}-eth-${data.name}`, ); let resp = await signatureRequest; @@ -146,49 +133,54 @@ describe.each(models)("ETH", function (m) { } finally { await sim.close(); } - } + }, ); }); -// describe("EthAddress", function () { -// test.concurrent.each(models)("get address", async function (m) { -// const sim = new Zemu(m.path); -// try { -// await sim.start({ ...defaultOptions, model: m.name }); -// const app = new OasisApp(sim.getTransport()); - -// const resp = await app.getETHAddress(ETH_PATH, false, true); - -// console.log(resp); +describe("EthAddress", function () { + test.concurrent.each(models)("get address", async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); -// console.log(resp.publicKey.toString("hex")); -// console.log(resp.address); + const resp = await app.getETHAddress(ETH_PATH, false, true); -// expect(resp.publicKey.toString("hex")).toEqual(EXPECTED_ETH_PK); -// expect(resp.address.toString("hex")).toEqual(EXPECTED_ETH_ADDRESS); -// } finally { -// await sim.close(); -// } -// }); + console.log(resp); -// test.concurrent.each(models)("show address", async function (m) { -// const sim = new Zemu(m.path); -// try { -// await sim.start({ ...defaultOptions, model: m.name }); -// const app = new OasisApp(sim.getTransport()); + console.log(resp.publicKey.toString("hex")); + console.log(resp.address); -// const resp = app.getETHAddress(ETH_PATH, true); - -// await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); - -// await sim.compareSnapshotsAndApprove( -// ".", -// `${m.prefix.toLowerCase()}-show_eth_address` -// ); - -// console.log(resp); -// } finally { -// await sim.close(); -// } -// }); -// }); + expect(resp.publicKey.toString("hex")).toEqual(EXPECTED_ETH_PK); + expect(resp.address.toString("hex")).toEqual(EXPECTED_ETH_ADDRESS); + } finally { + await sim.close(); + } + }); + + test.concurrent.each(models)("show address", async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); + const app = new OasisApp(sim.getTransport()); + + const resp = app.getETHAddress(ETH_PATH, true); + + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); + + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-show_eth_address`, + ); + + console.log(resp); + } finally { + await sim.close(); + } + }); +}); diff --git a/tests_zemu/tests/test.ts b/tests_zemu/tests/test.ts index 4ce6b991..9d6978a7 100644 --- a/tests_zemu/tests/test.ts +++ b/tests_zemu/tests/test.ts @@ -14,7 +14,11 @@ * limitations under the License. ******************************************************************************* */ -import Zemu, { DEFAULT_START_OPTIONS } from "@zondax/zemu"; +import Zemu, { + ButtonKind, + DEFAULT_START_OPTIONS, + zondaxMainmenuNavigation, +} from "@zondax/zemu"; // @ts-ignore import { OasisApp } from "@zondax/ledger-oasis"; import { models } from "./common"; @@ -37,23 +41,27 @@ jest.setTimeout(150000); const path = "m/44'/474'/5'/0'/3'"; describe("Standard", function () { - test.concurrent.each(models)("can start and stop container", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - } finally { - await sim.close(); - } - }); + test.concurrent.each(models)( + "can start and stop container", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("main menu", async function (m) { const sim = new Zemu(m.path); try { + const mainmenuNavigation = zondaxMainmenuNavigation(m.name); await sim.start({ ...defaultOptions, model: m.name }); await sim.navigateAndCompareSnapshots( ".", `${m.prefix.toLowerCase()}-mainmenu`, - [1, 0, 0, 4, -5] + mainmenuNavigation.schedule, ); } finally { await sim.close(); @@ -83,7 +91,12 @@ describe("Standard", function () { test.concurrent.each(models)("get Ed25519 address", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); const resp = await app.getAddressAndPubKey_ed25519(path); @@ -108,7 +121,12 @@ describe("Standard", function () { test.concurrent.each(models)("show Ed25519 address", async function (m) { const sim = new Zemu(m.path); try { - await sim.start({ ...defaultOptions, model: m.name }); + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: m.name === "stax" ? "QR" : "", + approveAction: ButtonKind.ApproveTapButton, + }); const app = new OasisApp(sim.getTransport()); const respRequest = app.showAddressAndPubKey_ed25519(path); @@ -116,7 +134,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-show_address` + `${m.prefix.toLowerCase()}-show_address`, ); const resp = await respRequest; @@ -147,7 +165,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omRmcm9tVQAGaeylE0pICHuqRvArp3IYjeXN22ZhbW91bnRAZW5vbmNlAGZtZXRob2Rwc3Rha2luZy5XaXRoZHJhdw==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -161,7 +179,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_basic_withdraw` + `${m.prefix.toLowerCase()}-sign_basic_withdraw`, ); let resp = await signatureRequest; @@ -192,7 +210,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omtiZW5lZmljaWFyeVUA8PesI5mFWUkMVHwStQ6Fieb4bsFtYW1vdW50X2NoYW5nZUBlbm9uY2UBZm1ldGhvZG1zdGFraW5nLkFsbG93", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -206,7 +224,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_basic_allow` + `${m.prefix.toLowerCase()}-sign_basic_allow`, ); let resp = await signatureRequest; @@ -230,7 +248,7 @@ describe("Standard", function () { it("hash", async function () { const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omd4ZmVyX3RvWCBkNhaFWEyIEubmS3EVtRLTanD3U+vDV5fke4Obyq83CWt4ZmVyX3Rva2Vuc0Blbm9uY2UAZm1ldGhvZHBzdGFraW5nLlRyYW5zZmVy", - "base64" + "base64", ); const context = "oasis-core/consensus: tx for chain testing"; const hasher = sha512.sha512_256.update(context); @@ -238,7 +256,7 @@ describe("Standard", function () { const hash = Buffer.from(hasher.hex(), "hex"); console.log(hash.toString("hex")); expect(hash.toString("hex")).toEqual( - "86f53ebf15a09c4cd1cf7a52b8b381d74a2142996aca20690d2e750c1d262ec0" + "86f53ebf15a09c4cd1cf7a52b8b381d74a2142996aca20690d2e750c1d262ec0", ); }); @@ -252,7 +270,7 @@ describe("Standard", function () { const context = "oasis-core/consensus: tx for chain testing"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJ0b1UAxzzAAUY0NJFbo/OXUb63wJBbRetmYW1vdW50QGVub25jZQBmbWV0aG9kcHN0YWtpbmcuVHJhbnNmZXI=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -266,7 +284,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_basic` + `${m.prefix.toLowerCase()}-sign_basic`, ); let resp = await signatureRequest; @@ -297,7 +315,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oWd1cGdyYWRlpGF2AWVlcG9jaBv//////////mZ0YXJnZXSjcmNvbnNlbnN1c19wcm90b2NvbKJlbWlub3IMZXBhdGNoAXVydW50aW1lX2hvc3RfcHJvdG9jb2yjZW1ham9yAWVtaW5vcgJlcGF0Y2gDeBpydW50aW1lX2NvbW1pdHRlZV9wcm90b2NvbKJlbWFqb3IYKmVwYXRjaAFnaGFuZGxlcnJkZXNjcmlwdG9yLWhhbmRsZXJlbm9uY2UAZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -311,7 +329,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-submit_proposal_upgrade` + `${m.prefix.toLowerCase()}-submit_proposal_upgrade`, ); let resp = await signatureRequest; @@ -332,50 +350,53 @@ describe("Standard", function () { } }); - test.concurrent.each(models)("submit proposal - cancel upgrade", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "submit proposal - cancel upgrade", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oW5jYW5jZWxfdXBncmFkZaFrcHJvcG9zYWxfaWQb//////////9lbm9uY2UBZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", - "base64" - ); + const context = + "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; + const txBlob = Buffer.from( + "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5oW5jYW5jZWxfdXBncmFkZaFrcHJvcG9zYWxfaWQb//////////9lbm9uY2UBZm1ldGhvZHgZZ292ZXJuYW5jZS5TdWJtaXRQcm9wb3NhbA==", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-submit_proposal_cancel_upgrade` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-submit_proposal_cancel_upgrade`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("add escrow", async function (m) { const sim = new Zemu(m.path); @@ -388,7 +409,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omZhbW91bnRCA+hnYWNjb3VudFUAWjuJqnaIaHy9a5gyaOTU0hR4ladlbm9uY2UAZm1ldGhvZHFzdGFraW5nLkFkZEVzY3Jvdw==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -402,7 +423,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-add_escrow` + `${m.prefix.toLowerCase()}-add_escrow`, ); let resp = await signatureRequest; @@ -434,7 +455,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmiZnNoYXJlc0BnYWNjb3VudFUAcFT2Pq0X0FM7dpOkrzN8jWLiu4Blbm9uY2UBZm1ldGhvZHVzdGFraW5nLlJlY2xhaW1Fc2Nyb3c=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -448,7 +469,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-reclaim_escrow` + `${m.prefix.toLowerCase()}-reclaim_escrow`, ); let resp = await signatureRequest; @@ -480,7 +501,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain bc1c715319132305795fa86bd32e93291aaacbfb5b5955f3ba78bdba413af9e1"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmiYnRvVQDHPMABRjQ0kVuj85dRvrfAkFtF62ZhbW91bnRAZW5vbmNlCmZtZXRob2Rwc3Rha2luZy5UcmFuc2Zlcg==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -494,7 +515,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-transfer` + `${m.prefix.toLowerCase()}-transfer`, ); let resp = await signatureRequest; @@ -526,7 +547,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZABkdm90ZQNlbm9uY2UBZm1ldGhvZHNnb3Zlcm5hbmNlLkNhc3RWb3Rl", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -540,7 +561,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-cast_vote_abstain` + `${m.prefix.toLowerCase()}-cast_vote_abstain`, ); let resp = await signatureRequest; @@ -571,7 +592,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBoAmJaAZHZvdGUBZW5vbmNlAWZtZXRob2RzZ292ZXJuYW5jZS5DYXN0Vm90ZQ==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -585,7 +606,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-cast_vote_yes` + `${m.prefix.toLowerCase()}-cast_vote_yes`, ); let resp = await signatureRequest; @@ -616,7 +637,7 @@ describe("Standard", function () { "oasis-core/consensus: tx for chain 31baebfc917e608ab5d26d8e072d70627cdef4df342b98bb61fe3683e4e4b2ac"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBv//////////2R2b3RlAmVub25jZQFmbWV0aG9kc2dvdmVybmFuY2UuQ2FzdFZvdGU=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -630,7 +651,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-cast_vote_no` + `${m.prefix.toLowerCase()}-cast_vote_no`, ); let resp = await signatureRequest; @@ -660,7 +681,7 @@ describe("Standard", function () { const context = "oasis-core/consensus: tx for chain testing"; let invalidMessage = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omd4ZmVyX3RvWCBkNhaFWEyIEubmS3EVtRLTanD3U+vDV5fke4Obyq83CWt4ZmVyX3Rva2Vuc0Blbm9uY2UAZm1ldGhvZHBzdGFraW5nLlRyYW5zZmVy", - "base64" + "base64", ); invalidMessage = Buffer.concat([invalidMessage, Buffer.from("1")]); @@ -675,7 +696,7 @@ describe("Standard", function () { expect(responseSign.return_code).toEqual(0x6984); expect(responseSign.error_message).toEqual( - "Data is invalid : Unexpected field" + "Data is invalid : Unexpected field", ); } finally { await sim.close(); @@ -691,7 +712,7 @@ describe("Standard", function () { const context = "oasis-core/consensus: tx for chain testing amend"; const txBlob = Buffer.from( "pGNmZWWiY2dhcxkD6GZhbW91bnRAZGJvZHmhaWFtZW5kbWVudKJlcmF0ZXOFomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoomRyYXRlQicQZXN0YXJ0GQPoZmJvdW5kc4WjZXN0YXJ0GQPoaHJhdGVfbWF4QicQaHJhdGVfbWluQicQo2VzdGFydBkD6GhyYXRlX21heEInEGhyYXRlX21pbkInEKNlc3RhcnQZA+hocmF0ZV9tYXhCJxBocmF0ZV9taW5CJxCjZXN0YXJ0GQPoaHJhdGVfbWF4QicQaHJhdGVfbWluQicQo2VzdGFydBkD6GhyYXRlX21heEInEGhyYXRlX21pbkInEGVub25jZRkD6GZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -706,7 +727,7 @@ describe("Standard", function () { await sim.compareSnapshotsAndApprove( ".", `${m.prefix.toLowerCase()}-sign_amend`, - true + true, ); let resp = await signatureRequest; @@ -727,50 +748,53 @@ describe("Standard", function () { } }); - test.concurrent.each(models)("sign amend schedule - issue #130", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign amend schedule - issue #130", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-core/consensus: tx for chain testing amend"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcxkD6GZhbW91bnRCB9BkYm9keaFpYW1lbmRtZW50omVyYXRlc4WiZHJhdGVCw1Blc3RhcnQYIKJkcmF0ZUKcQGVzdGFydBgoomRyYXRlQnUwZXN0YXJ0GDCiZHJhdGVCYahlc3RhcnQYOKJkcmF0ZUJOIGVzdGFydBhAZmJvdW5kc4KjZXN0YXJ0GCBocmF0ZV9tYXhCw1BocmF0ZV9taW5CJxCjZXN0YXJ0GEBocmF0ZV9tYXhCdTBocmF0ZV9taW5CJxBlbm9uY2UYKmZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", - "base64" - ); + const context = "oasis-core/consensus: tx for chain testing amend"; + const txBlob = Buffer.from( + "pGNmZWWiY2dhcxkD6GZhbW91bnRCB9BkYm9keaFpYW1lbmRtZW50omVyYXRlc4WiZHJhdGVCw1Blc3RhcnQYIKJkcmF0ZUKcQGVzdGFydBgoomRyYXRlQnUwZXN0YXJ0GDCiZHJhdGVCYahlc3RhcnQYOKJkcmF0ZUJOIGVzdGFydBhAZmJvdW5kc4KjZXN0YXJ0GCBocmF0ZV9tYXhCw1BocmF0ZV9taW5CJxCjZXN0YXJ0GEBocmF0ZV9tYXhCdTBocmF0ZV9taW5CJxBlbm9uY2UYKmZtZXRob2R4H3N0YWtpbmcuQW1lbmRDb21taXNzaW9uU2NoZWR1bGU=", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-sign_amend_issue_130`, - true - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-sign_amend_issue_130`, + true, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign entity metadata", async function (m) { const sim = new Zemu(m.path); @@ -782,7 +806,7 @@ describe("Standard", function () { const txBlob = Buffer.from( "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d656e4d7920656e74697479206e616d6565656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -796,7 +820,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_entity_metadata` + `${m.prefix.toLowerCase()}-sign_entity_metadata`, ); let resp = await signatureRequest; @@ -827,7 +851,7 @@ describe("Standard", function () { const txBlob = Buffer.from( "a2617602626964582097e72e6e83ec39eb98d7e9189513aba662a08a210b9974b0f7197458483c7161", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -841,7 +865,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_entity_descriptor` + `${m.prefix.toLowerCase()}-sign_entity_descriptor`, ); let resp = await signatureRequest; @@ -862,97 +886,103 @@ describe("Standard", function () { } }); - test.concurrent.each(models)("sign register entity with nodes", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign register entity with nodes", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; + const context = + "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcxkD6GZhbW91bnRCEJJkYm9keaJpc2lnbmF0dXJlomlzaWduYXR1cmVYQOMUbqcZ88wjPfkp9/poVJJKrxD/UN7qvEQQi5O5D7IFD7ujuBsfaCkbuXtFUMIrlAbsC9RuvLPcsPQqm5jIWApqcHVibGljX2tleVgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6NzdW50cnVzdGVkX3Jhd192YWx1ZVjao2F2AmJpZFgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6Nlbm9kZXOFWCB45nhPM7JsZvqGq/ODtQGz93xlsv51iRbAQP+5dCy/ZVggnc1QiTMP4HFSTpiEiEtnFDRtYxKRc85PTTR8SlH1g8JYIKx4PngeJJhJb+tTC7IR/BWh5mTB+uJOLY04HFA3DwGcWCCZkWVMaW1btF+krrmppVsALHVwxbj5pu0nj6HgADbN91ggobWw+PHovNp7UxCZ0yw8lbbs5jTvV5vY3zu7yrVxVD9lbm9uY2Ub//////////9mbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", - "base64" - ); + const txBlob = Buffer.from( + "pGNmZWWiY2dhcxkD6GZhbW91bnRCEJJkYm9keaJpc2lnbmF0dXJlomlzaWduYXR1cmVYQOMUbqcZ88wjPfkp9/poVJJKrxD/UN7qvEQQi5O5D7IFD7ujuBsfaCkbuXtFUMIrlAbsC9RuvLPcsPQqm5jIWApqcHVibGljX2tleVgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6NzdW50cnVzdGVkX3Jhd192YWx1ZVjao2F2AmJpZFgg3wNS/vFr/qqy6oAqgBzesWUMhZB7C8DnCED4T/NKy6Nlbm9kZXOFWCB45nhPM7JsZvqGq/ODtQGz93xlsv51iRbAQP+5dCy/ZVggnc1QiTMP4HFSTpiEiEtnFDRtYxKRc85PTTR8SlH1g8JYIKx4PngeJJhJb+tTC7IR/BWh5mTB+uJOLY04HFA3DwGcWCCZkWVMaW1btF+krrmppVsALHVwxbj5pu0nj6HgADbN91ggobWw+PHovNp7UxCZ0yw8lbbs5jTvV5vY3zu7yrVxVD9lbm9uY2Ub//////////9mbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-sign_register_entity` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-sign_register_entity`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); - test.concurrent.each(models)("sign register entity without nodes", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign register entity without nodes", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = - "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; + const context = + "oasis-core/consensus: tx for chain 265bbfc4e631486af2d846e8dfb3aa67ab379e18eb911a056e7ab38e3934a9a5"; - const txBlob = Buffer.from( - "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omlzaWduYXR1cmWiaXNpZ25hdHVyZVhACXa0AUpgRcGA0PHYSaX7p+tMiVqo6NkQH5TY9WuGz84SuZCYpzoNsijTTzCQYp5Xc6T9b2Ew9TIoz9E7JvvSBmpwdWJsaWNfa2V5WCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo3N1bnRydXN0ZWRfcmF3X3ZhbHVlWCmiYXYCYmlkWCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo2Vub25jZQBmbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", - "base64" - ); + const txBlob = Buffer.from( + "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omlzaWduYXR1cmWiaXNpZ25hdHVyZVhACXa0AUpgRcGA0PHYSaX7p+tMiVqo6NkQH5TY9WuGz84SuZCYpzoNsijTTzCQYp5Xc6T9b2Ew9TIoz9E7JvvSBmpwdWJsaWNfa2V5WCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo3N1bnRydXN0ZWRfcmF3X3ZhbHVlWCmiYXYCYmlkWCDfA1L+8Wv+qrLqgCqAHN6xZQyFkHsLwOcIQPhP80rLo2Vub25jZQBmbWV0aG9kd3JlZ2lzdHJ5LlJlZ2lzdGVyRW50aXR5", + "base64", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-sign_register_entity_no_nodes` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-sign_register_entity_no_nodes`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); test.concurrent.each(models)("sign deregister entity", async function (m) { const sim = new Zemu(m.path); @@ -965,7 +995,7 @@ describe("Standard", function () { const txBlob = Buffer.from( "a363666565a2636761731903e866616d6f756e744207d0656e6f6e6365182a666d6574686f64781972656769737472792e44657265676973746572456e74697479", - "hex" + "hex", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -979,7 +1009,7 @@ describe("Standard", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_deregister_entity` + `${m.prefix.toLowerCase()}-sign_deregister_entity`, ); let resp = await signatureRequest; @@ -1000,129 +1030,138 @@ describe("Standard", function () { } }); - test.concurrent.each(models)("sign entity metadata - utf8", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign entity metadata - utf8", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-metadata-registry: entity"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "A76176016375726C7568747470733A2F2F6D792E656E746974792F75726C646E616D656868C3A96CC3A86E6565656D61696C6D6D7940656E746974792E6F72676673657269616C01676B657962617365716D795F6B6579626173655F68616E646C656774776974746572716D795F747769747465725F68616E646C65", - "hex" - ); + const txBlob = Buffer.from( + "A76176016375726C7568747470733A2F2F6D792E656E746974792F75726C646E616D656868C3A96CC3A86E6565656D61696C6D6D7940656E746974792E6F72676673657269616C01676B657962617365716D795F6B6579626173655F68616E646C656774776974746572716D795F747769747465725F68616E646C65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-sign_entity_metadata_utf8` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-sign_entity_metadata_utf8`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); - test.concurrent.each(models)("sign entity metadata - long url", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + test.concurrent.each(models)( + "sign entity metadata - long url", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-metadata-registry: entity"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "a76176016375726c783f68747470733a2f2f6d792e656e746974792f75726c2f746869732f69732f736f6d652f766572792f6c6f6e672f76616c69642f75726c2f75702f746f2f3634646e616d6578315468697320697320736f6d652076657279206c6f6e6720656e74697479206e616d65206275742076616c6964202835302965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" - ); + const txBlob = Buffer.from( + "a76176016375726c783f68747470733a2f2f6d792e656e746974792f75726c2f746869732f69732f736f6d652f766572792f6c6f6e672f76616c69642f75726c2f75702f746f2f3634646e616d6578315468697320697320736f6d652076657279206c6f6e6720656e74697479206e616d65206275742076616c6964202835302965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); - await sim.compareSnapshotsAndApprove( - ".", - `${m.prefix.toLowerCase()}-sign_entity_metadata_long` - ); + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); + await sim.compareSnapshotsAndApprove( + ".", + `${m.prefix.toLowerCase()}-sign_entity_metadata_long`, + ); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); - const hasher = sha512.sha512_256.update(context); - hasher.update(txBlob); - const msgHash = Buffer.from(hasher.hex(), "hex"); + const hasher = sha512.sha512_256.update(context); + hasher.update(txBlob); + const msgHash = Buffer.from(hasher.hex(), "hex"); - // Now verify the signature - const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); - expect(valid).toEqual(true); - } finally { - await sim.close(); - } - }); + // Now verify the signature + const valid = ed25519.verify(resp.signature, msgHash, pkResponse.pk); + expect(valid).toEqual(true); + } finally { + await sim.close(); + } + }, + ); - test.concurrent.each(models)("sign entity metadata - long name", async function (m) { - const sim = new Zemu(m.path); - try { - await sim.start({ ...defaultOptions, model: m.name }); + test.concurrent.each(models)( + "sign entity metadata - long name", + async function (m) { + const sim = new Zemu(m.path); + try { + await sim.start({ ...defaultOptions, model: m.name }); - const app = new OasisApp(sim.getTransport()); + const app = new OasisApp(sim.getTransport()); - const context = "oasis-metadata-registry: entity"; + const context = "oasis-metadata-registry: entity"; - const txBlob = Buffer.from( - "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d6578335468697320697320736f6d6520746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f206c6f6e6720656e74697479206e616d65202835312965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", - "hex" - ); + const txBlob = Buffer.from( + "a76176016375726c7568747470733a2f2f6d792e656e746974792f75726c646e616d6578335468697320697320736f6d6520746f6f6f6f6f6f6f6f6f6f6f6f6f6f6f206c6f6e6720656e74697479206e616d65202835312965656d61696c6d6d7940656e746974792e6f72676673657269616c01676b657962617365716d795f6b6579626173655f68616e646c656774776974746572716d795f747769747465725f68616e646c65", + "hex", + ); - const pkResponse = await app.getAddressAndPubKey_ed25519(path); - console.log(pkResponse); - expect(pkResponse.return_code).toEqual(0x9000); - expect(pkResponse.error_message).toEqual("No errors"); + const pkResponse = await app.getAddressAndPubKey_ed25519(path); + console.log(pkResponse); + expect(pkResponse.return_code).toEqual(0x9000); + expect(pkResponse.error_message).toEqual("No errors"); - // do not wait here.. - const signatureRequest = app.sign(path, context, txBlob); + // do not wait here.. + const signatureRequest = app.sign(path, context, txBlob); - let resp = await signatureRequest; - console.log(resp); + let resp = await signatureRequest; + console.log(resp); - expect(resp.return_code).toEqual(0x6984); - expect(resp.error_message).toEqual( - "Data is invalid : Invalid name length (max 50 characters)" - ); - } finally { - await sim.close(); - } - }); + expect(resp.return_code).toEqual(0x6984); + expect(resp.error_message).toEqual( + "Data is invalid : Invalid name length (max 50 characters)", + ); + } finally { + await sim.close(); + } + }, + ); }); describe("Issue #68", function () { @@ -1137,7 +1176,7 @@ describe("Issue #68", function () { const context = "oasis-core/consensus: tx for chain testing"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJ0b1UAxzzAAUY0NJFbo/OXUb63wJBbRetmYW1vdW50QGVub25jZQBmbWV0aG9kcHN0YWtpbmcuVHJhbnNmZXI=", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -1151,7 +1190,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_basic` + `${m.prefix.toLowerCase()}-sign_basic`, ); let resp = await signatureRequest; @@ -1169,7 +1208,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_basic` + `${m.prefix.toLowerCase()}-sign_basic`, ); let respBis = await signatureRequestBis; @@ -1180,7 +1219,7 @@ describe("Issue #68", function () { } finally { await sim.close(); } - } + }, ); test.concurrent.each(models)("sign basic - mainnet", async function (m) { @@ -1193,7 +1232,7 @@ describe("Issue #68", function () { "oasis-core/consensus: tx for chain 53852332637bacb61b91b6411ab4095168ba02a50be4c3f82448438826f23898"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omtiZW5lZmljaWFyeVUA8PesI5mFWUkMVHwStQ6Fieb4bsFtYW1vdW50X2NoYW5nZUBlbm9uY2UBZm1ldGhvZG1zdGFraW5nLkFsbG93", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -1207,7 +1246,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_basic_allow_mainnet` + `${m.prefix.toLowerCase()}-sign_basic_allow_mainnet`, ); let resp = await signatureRequest; @@ -1238,7 +1277,7 @@ describe("Issue #68", function () { "oasis-core/consensus: tx for chain 53852332637bacb61b91b6411ab4095168ba02a50be4c3f82448438826f23898"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBoAmJaAZHZvdGUBZW5vbmNlAWZtZXRob2RzZ292ZXJuYW5jZS5DYXN0Vm90ZQ==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -1252,7 +1291,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-cast_vote_yes_mainnet` + `${m.prefix.toLowerCase()}-cast_vote_yes_mainnet`, ); let resp = await signatureRequest; @@ -1283,7 +1322,7 @@ describe("Issue #68", function () { "oasis-core/consensus: tx for chain 50304f98ddb656620ea817cc1446c401752a05a249b36c9b90dba4616829977a"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omtiZW5lZmljaWFyeVUA8PesI5mFWUkMVHwStQ6Fieb4bsFtYW1vdW50X2NoYW5nZUBlbm9uY2UBZm1ldGhvZG1zdGFraW5nLkFsbG93", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -1297,7 +1336,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-sign_basic_allow_testnet` + `${m.prefix.toLowerCase()}-sign_basic_allow_testnet`, ); let resp = await signatureRequest; @@ -1328,7 +1367,7 @@ describe("Issue #68", function () { "oasis-core/consensus: tx for chain 50304f98ddb656620ea817cc1446c401752a05a249b36c9b90dba4616829977a"; const txBlob = Buffer.from( "pGNmZWWiY2dhcwBmYW1vdW50QGRib2R5omJpZBoAmJaAZHZvdGUBZW5vbmNlAWZtZXRob2RzZ292ZXJuYW5jZS5DYXN0Vm90ZQ==", - "base64" + "base64", ); const pkResponse = await app.getAddressAndPubKey_ed25519(path); @@ -1342,7 +1381,7 @@ describe("Issue #68", function () { await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), 20000); await sim.compareSnapshotsAndApprove( ".", - `${m.prefix.toLowerCase()}-cast_vote_yes_testnet` + `${m.prefix.toLowerCase()}-cast_vote_yes_testnet`, ); let resp = await signatureRequest; diff --git a/tests_zemu/tests/val.test.ts b/tests_zemu/tests/val.test.ts index 0046b410..8c6880e2 100644 --- a/tests_zemu/tests/val.test.ts +++ b/tests_zemu/tests/val.test.ts @@ -1,96 +1,103 @@ -import Zemu, {DEFAULT_START_OPTIONS} from "@zondax/zemu"; +import Zemu, { DEFAULT_START_OPTIONS } from "@zondax/zemu"; // @ts-ignore -import {OasisValidatorApp} from "@zondax/ledger-oasis"; +import { OasisValidatorApp } from "@zondax/ledger-oasis"; import { models } from "./common"; const Resolve = require("path").resolve; const APP_PATH = Resolve("../app/bin/app_val.elf"); -const APP_SEED = "equip will roof matter pink blind book anxiety banner elbow sun young" +const APP_SEED = + "equip will roof matter pink blind book anxiety banner elbow sun young"; const sim_options = { - ...DEFAULT_START_OPTIONS, - logging: true, - startDelay: 3000, - custom: `-s "${APP_SEED}"`, - model: models[0].name, - startText: 'Validator' + ...DEFAULT_START_OPTIONS, + logging: true, + startDelay: 3000, + custom: `-s "${APP_SEED}"`, + model: models[0].name, + startText: "Validator", }; const VOTE_SLEEP = 500; -jest.setTimeout(30000) - -describe('Validator', function () { - it('can start and stop container', async function () { - const sim = new Zemu(APP_PATH); - try { - await sim.start(sim_options); - } finally { - await sim.close(); - } - }); - - it('app version', async function () { - const sim = new Zemu(APP_PATH); - try { - await sim.start(sim_options); - const app = new OasisValidatorApp(sim.getTransport()); - const resp = await app.getVersion(); - - console.log(resp); - - expect(resp.return_code).toEqual(0x9000); - expect(resp.error_message).toEqual("No errors"); - expect(resp).toHaveProperty("test_mode"); - expect(resp).toHaveProperty("major"); - expect(resp).toHaveProperty("minor"); - expect(resp).toHaveProperty("patch"); - } finally { - await sim.close(); - } - }); - - it('Validator vote sign - basic', async function () { - - const sim = new Zemu(APP_PATH); - try { - await sim.start(sim_options); - const app = new OasisValidatorApp(sim.getTransport()); - - const path = [43, 474, 5, 0x80000000, 0x80000003]; - const context = "oasis-core/tendermint"; - - const txBlob0 = Buffer.from("96010802114aa701000000000022480a20843c851b4795252c91b61b7f76615a8bce05b0c0c2d3a3da4af2bf7cef34ba3712240a20155d404d4864d503967e2176cb8fbc030c6c4051402870bfebbd82f8084907c910012a0b089b8fd5f70510e3c9fa2232326136333464323232346435343962383536303338616364396264616434373638346431333236326438376531633062386361", "hex",); - const txBlob1 = Buffer.from("96010802114ba701000000000022480a20843c851b4795252c91b61b7f76615a8bce05b0c0c2d3a3da4af2bf7cef34ba3712240a20155d404d4864d503967e2176cb8fbc030c6c4051402870bfebbd82f8084907c910012a0b089b8fd5f70510e3c9fa2232326136333464323232346435343962383536303338616364396264616434373638346431333236326438376531633062386361", "hex",); - - let signatureRequest = app.sign(path, context, txBlob0); - await Zemu.sleep(VOTE_SLEEP); - - await sim.clickRight(); - await sim.clickRight(); - await sim.clickRight(); - await sim.clickBoth(); - - let signatureResponse = await signatureRequest; - console.log(signatureResponse); - - expect(signatureResponse.return_code).toEqual(0x6985); - expect(signatureResponse.error_message).toEqual("Conditions not satisfied"); - - signatureResponse = await app.sign(path, context, txBlob1); - await Zemu.sleep(VOTE_SLEEP); - console.log(signatureResponse); - expect(signatureResponse.return_code).toEqual(0x9000); - expect(signatureResponse.error_message).toEqual("No errors"); - - signatureResponse = await app.sign(path, context, txBlob1); - await Zemu.sleep(VOTE_SLEEP); - console.log(signatureResponse); - expect(signatureResponse.return_code).toEqual(0x6986); - expect(signatureResponse.error_message).toEqual("Transaction rejected"); - - } finally { - await sim.close(); - } - }); +jest.setTimeout(30000); + +describe("Validator", function () { + it("can start and stop container", async function () { + const sim = new Zemu(APP_PATH); + try { + await sim.start(sim_options); + } finally { + await sim.close(); + } + }); + + it("app version", async function () { + const sim = new Zemu(APP_PATH); + try { + await sim.start(sim_options); + const app = new OasisValidatorApp(sim.getTransport()); + const resp = await app.getVersion(); + + console.log(resp); + + expect(resp.return_code).toEqual(0x9000); + expect(resp.error_message).toEqual("No errors"); + expect(resp).toHaveProperty("test_mode"); + expect(resp).toHaveProperty("major"); + expect(resp).toHaveProperty("minor"); + expect(resp).toHaveProperty("patch"); + } finally { + await sim.close(); + } + }); + + it("Validator vote sign - basic", async function () { + const sim = new Zemu(APP_PATH); + try { + await sim.start(sim_options); + const app = new OasisValidatorApp(sim.getTransport()); + + const path = [43, 474, 5, 0x80000000, 0x80000003]; + const context = "oasis-core/tendermint"; + + const txBlob0 = Buffer.from( + "96010802114aa701000000000022480a20843c851b4795252c91b61b7f76615a8bce05b0c0c2d3a3da4af2bf7cef34ba3712240a20155d404d4864d503967e2176cb8fbc030c6c4051402870bfebbd82f8084907c910012a0b089b8fd5f70510e3c9fa2232326136333464323232346435343962383536303338616364396264616434373638346431333236326438376531633062386361", + "hex", + ); + const txBlob1 = Buffer.from( + "96010802114ba701000000000022480a20843c851b4795252c91b61b7f76615a8bce05b0c0c2d3a3da4af2bf7cef34ba3712240a20155d404d4864d503967e2176cb8fbc030c6c4051402870bfebbd82f8084907c910012a0b089b8fd5f70510e3c9fa2232326136333464323232346435343962383536303338616364396264616434373638346431333236326438376531633062386361", + "hex", + ); + + let signatureRequest = app.sign(path, context, txBlob0); + await Zemu.sleep(VOTE_SLEEP); + + await sim.clickRight(); + await sim.clickRight(); + await sim.clickRight(); + await sim.clickBoth(); + + let signatureResponse = await signatureRequest; + console.log(signatureResponse); + + expect(signatureResponse.return_code).toEqual(0x6985); + expect(signatureResponse.error_message).toEqual( + "Conditions not satisfied", + ); + + signatureResponse = await app.sign(path, context, txBlob1); + await Zemu.sleep(VOTE_SLEEP); + console.log(signatureResponse); + expect(signatureResponse.return_code).toEqual(0x9000); + expect(signatureResponse.error_message).toEqual("No errors"); + + signatureResponse = await app.sign(path, context, txBlob1); + await Zemu.sleep(VOTE_SLEEP); + console.log(signatureResponse); + expect(signatureResponse.return_code).toEqual(0x6986); + expect(signatureResponse.error_message).toEqual("Transaction rejected"); + } finally { + await sim.close(); + } + }); });