diff --git a/Makefile b/Makefile index 77a4a00..ebb6775 100644 --- a/Makefile +++ b/Makefile @@ -48,6 +48,14 @@ zemu_install: tests_tools_build test_all: make zemu_install + + echo "Testing recovery" + make clean + SUBSTRATE_PARSER_FULL=1 COIN=AVAIL_RECOVERY make + cd tests_zemu && yarn test_recovery && cd .. + + echo "Testing standard" + make clean SUBSTRATE_PARSER_FULL=1 make make clean_build SUBSTRATE_PARSER_FULL=1 SUPPORT_SR25519=1 make buildS diff --git a/app/Makefile.version b/app/Makefile.version index e97e98a..1a6f230 100644 --- a/app/Makefile.version +++ b/app/Makefile.version @@ -3,4 +3,4 @@ APPVERSION_M=1 # This is the `spec_version` field of `Runtime` APPVERSION_N=39 # This is the patch version of this release -APPVERSION_P=0 +APPVERSION_P=1 diff --git a/app/src/apdu_handler.c b/app/src/apdu_handler.c index b377c37..996a935 100644 --- a/app/src/apdu_handler.c +++ b/app/src/apdu_handler.c @@ -43,8 +43,13 @@ void extractHDPath(uint32_t rx, uint32_t offset) { memcpy(hdPath, G_io_apdu_buffer + offset, sizeof(uint32_t) * HDPATH_LEN_DEFAULT); +#ifdef RECOVERY_APP + const bool mainnet = hdPath[0] == HDPATH_0_DEFAULT && + hdPath[1] == HDPATH_1_RECOVERY; +#else const bool mainnet = hdPath[0] == HDPATH_0_DEFAULT && hdPath[1] == HDPATH_1_DEFAULT; +#endif if (!mainnet) { THROW(APDU_CODE_DATA_INVALID); @@ -249,9 +254,15 @@ void handleApdu(volatile uint32_t *flags, volatile uint32_t *tx, uint32_t rx) { { TRY { +#ifdef RECOVERY_APP + if (G_io_apdu_buffer[OFFSET_CLA] != CLA_RECOVERY) { + THROW(APDU_CODE_CLA_NOT_SUPPORTED); + } +#else if (G_io_apdu_buffer[OFFSET_CLA] != CLA) { THROW(APDU_CODE_CLA_NOT_SUPPORTED); } +#endif if (rx < APDU_MIN_LENGTH) { THROW(APDU_CODE_WRONG_LENGTH); diff --git a/app/src/substrate/substrate_coin.h b/app/src/substrate/substrate_coin.h index 52d4184..df35cb4 100644 --- a/app/src/substrate/substrate_coin.h +++ b/app/src/substrate/substrate_coin.h @@ -21,13 +21,14 @@ extern "C" { #define COIN_ADDR_TYPE 42 #define CLA 0xbc +#define CLA_RECOVERY 0xbe #define INS_SIGN_RAW 0x03 #define HDPATH_LEN_DEFAULT 5 #define HDPATH_0_DEFAULT (0x80000000 | 0x2c) #define HDPATH_1_DEFAULT (0x80000000 | 0x2c5) -#define HDPATH_1_RECOVERY (0x80000000 | 0x2c5) +#define HDPATH_1_RECOVERY (0x80000000 | 0x162) #define HDPATH_2_DEFAULT (0x80000000u | 0u) #define HDPATH_3_DEFAULT (0u) diff --git a/deps/ledger-zxlib b/deps/ledger-zxlib index 3d4ec19..fec0d14 160000 --- a/deps/ledger-zxlib +++ b/deps/ledger-zxlib @@ -1 +1 @@ -Subproject commit 3d4ec19264fd20e9608b0c0432b08474d247917c +Subproject commit fec0d14a886c9ce711867022d1eae52e95cdc19b diff --git a/tests_zemu/package.json b/tests_zemu/package.json index 4bf89c0..edf2ddd 100644 --- a/tests_zemu/package.json +++ b/tests_zemu/package.json @@ -15,30 +15,31 @@ ], "scripts": { "clean": "ts-node tests/pullImageKillOld.ts", - "test": "yarn clean && jest --maxConcurrency 3" + "test": "yarn clean && jest --maxConcurrency 3 --testPathIgnorePatterns recovery.test.ts", + "test_recovery": "yarn clean && jest --maxConcurrency 3 recovery.test.ts" }, "dependencies": { - "@zondax/ledger-substrate": "^1.0.0", - "@zondax/zemu": "^0.51.0" + "@zondax/ledger-substrate": "^1.0.1", + "@zondax/zemu": "^0.53.0" }, "devDependencies": { "@types/jest": "^29.5.14", "@types/ledgerhq__hw-transport": "^4.21.8", - "@typescript-eslint/eslint-plugin": "^8.12.2", - "@typescript-eslint/parser": "^8.12.2", + "@typescript-eslint/eslint-plugin": "^8.18.1", + "@typescript-eslint/parser": "^8.18.1", "blakejs": "^1.2.1", "crypto-js": "4.2.0", "ed25519-supercop": "^2.0.1", - "eslint": "^9.13.0", + "eslint": "^9.17.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jest": "^28.8.3", + "eslint-plugin-jest": "^28.9.0", "eslint-plugin-prettier": "^5.2.1", "jest": "29.7.0", "jssha": "^3.3.1", - "prettier": "^3.3.3", + "prettier": "^3.4.2", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", - "typescript": "^5.6.3" + "typescript": "^5.7.2" } } diff --git a/tests_zemu/snapshots/fl-mainmenu/00004.png b/tests_zemu/snapshots/fl-mainmenu/00004.png index 2a9b63c..572bafa 100644 Binary files a/tests_zemu/snapshots/fl-mainmenu/00004.png and b/tests_zemu/snapshots/fl-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/fl-recovery_show_address/00000.png b/tests_zemu/snapshots/fl-recovery_show_address/00000.png new file mode 100644 index 0000000..12cfbb3 Binary files /dev/null and b/tests_zemu/snapshots/fl-recovery_show_address/00000.png differ diff --git a/tests_zemu/snapshots/fl-recovery_show_address/00001.png b/tests_zemu/snapshots/fl-recovery_show_address/00001.png new file mode 100644 index 0000000..7969cc5 Binary files /dev/null and b/tests_zemu/snapshots/fl-recovery_show_address/00001.png differ diff --git a/tests_zemu/snapshots/fl-recovery_show_address/00002.png b/tests_zemu/snapshots/fl-recovery_show_address/00002.png new file mode 100644 index 0000000..c14fdcf Binary files /dev/null and b/tests_zemu/snapshots/fl-recovery_show_address/00002.png differ diff --git a/tests_zemu/snapshots/fl-recovery_show_address_reject/00000.png b/tests_zemu/snapshots/fl-recovery_show_address_reject/00000.png new file mode 100644 index 0000000..12cfbb3 Binary files /dev/null and b/tests_zemu/snapshots/fl-recovery_show_address_reject/00000.png differ diff --git a/tests_zemu/snapshots/fl-recovery_show_address_reject/00001.png b/tests_zemu/snapshots/fl-recovery_show_address_reject/00001.png new file mode 100644 index 0000000..45c08d4 Binary files /dev/null and b/tests_zemu/snapshots/fl-recovery_show_address_reject/00001.png differ diff --git a/tests_zemu/snapshots/fl-recovery_show_address_reject/00002.png b/tests_zemu/snapshots/fl-recovery_show_address_reject/00002.png new file mode 100644 index 0000000..c14fdcf Binary files /dev/null and b/tests_zemu/snapshots/fl-recovery_show_address_reject/00002.png differ diff --git a/tests_zemu/snapshots/s-mainmenu/00004.png b/tests_zemu/snapshots/s-mainmenu/00004.png index 523dceb..87b4804 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/00010.png b/tests_zemu/snapshots/s-mainmenu/00010.png index 523dceb..87b4804 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-recovery_show_address/00000.png b/tests_zemu/snapshots/s-recovery_show_address/00000.png new file mode 100644 index 0000000..b773992 Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address/00000.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address/00001.png b/tests_zemu/snapshots/s-recovery_show_address/00001.png new file mode 100644 index 0000000..36aac07 Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address/00001.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address/00002.png b/tests_zemu/snapshots/s-recovery_show_address/00002.png new file mode 100644 index 0000000..006c26a Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address/00002.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address/00003.png b/tests_zemu/snapshots/s-recovery_show_address/00003.png new file mode 100644 index 0000000..bc690ec Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address/00003.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address_reject/00000.png b/tests_zemu/snapshots/s-recovery_show_address_reject/00000.png new file mode 100644 index 0000000..b773992 Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address_reject/00000.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address_reject/00001.png b/tests_zemu/snapshots/s-recovery_show_address_reject/00001.png new file mode 100644 index 0000000..36aac07 Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address_reject/00001.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address_reject/00002.png b/tests_zemu/snapshots/s-recovery_show_address_reject/00002.png new file mode 100644 index 0000000..006c26a Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address_reject/00002.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address_reject/00003.png b/tests_zemu/snapshots/s-recovery_show_address_reject/00003.png new file mode 100644 index 0000000..ef76636 Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address_reject/00003.png differ diff --git a/tests_zemu/snapshots/s-recovery_show_address_reject/00004.png b/tests_zemu/snapshots/s-recovery_show_address_reject/00004.png new file mode 100644 index 0000000..bc690ec Binary files /dev/null and b/tests_zemu/snapshots/s-recovery_show_address_reject/00004.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer/00002.png b/tests_zemu/snapshots/sp-balances_transfer/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer/00002.png and b/tests_zemu/snapshots/sp-balances_transfer/00002.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer/00003.png b/tests_zemu/snapshots/sp-balances_transfer/00003.png index ceaa411..8e16aad 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer/00003.png and b/tests_zemu/snapshots/sp-balances_transfer/00003.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer/00004.png b/tests_zemu/snapshots/sp-balances_transfer/00004.png index 078a226..a122773 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer/00004.png and b/tests_zemu/snapshots/sp-balances_transfer/00004.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer/00005.png b/tests_zemu/snapshots/sp-balances_transfer/00005.png index f989e7c..cd304eb 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer/00005.png and b/tests_zemu/snapshots/sp-balances_transfer/00005.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer/00006.png b/tests_zemu/snapshots/sp-balances_transfer/00006.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer/00006.png and b/tests_zemu/snapshots/sp-balances_transfer/00006.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer/00007.png b/tests_zemu/snapshots/sp-balances_transfer/00007.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer/00007.png and b/tests_zemu/snapshots/sp-balances_transfer/00007.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer/00009.png b/tests_zemu/snapshots/sp-balances_transfer/00009.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer/00009.png and b/tests_zemu/snapshots/sp-balances_transfer/00009.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00002.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00002.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00002.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00003.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00003.png index ceaa411..8e16aad 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00003.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00003.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00004.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00004.png index 078a226..a122773 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00004.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00004.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00005.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00005.png index f989e7c..cd304eb 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00005.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00005.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00008.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00008.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00008.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00008.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00009.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00009.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00009.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00009.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00012.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00012.png index 6a5be01..4c50ff3 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00012.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00012.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00013.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00013.png index 72276ea..5793ea9 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00013.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00013.png differ diff --git a/tests_zemu/snapshots/sp-balances_transfer_expert/00015.png b/tests_zemu/snapshots/sp-balances_transfer_expert/00015.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-balances_transfer_expert/00015.png and b/tests_zemu/snapshots/sp-balances_transfer_expert/00015.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00000.png b/tests_zemu/snapshots/sp-mainmenu/00000.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00000.png and b/tests_zemu/snapshots/sp-mainmenu/00000.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00001.png b/tests_zemu/snapshots/sp-mainmenu/00001.png index 8472e5d..e10e004 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00001.png and b/tests_zemu/snapshots/sp-mainmenu/00001.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00002.png b/tests_zemu/snapshots/sp-mainmenu/00002.png index f792167..7e236da 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00002.png and b/tests_zemu/snapshots/sp-mainmenu/00002.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00003.png b/tests_zemu/snapshots/sp-mainmenu/00003.png index 8472e5d..e10e004 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00003.png and b/tests_zemu/snapshots/sp-mainmenu/00003.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00004.png b/tests_zemu/snapshots/sp-mainmenu/00004.png index fa6e9bf..a0c99d6 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/00005.png b/tests_zemu/snapshots/sp-mainmenu/00005.png index 1adff7e..b623285 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00005.png and b/tests_zemu/snapshots/sp-mainmenu/00005.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00009.png b/tests_zemu/snapshots/sp-mainmenu/00009.png index 1adff7e..b623285 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00009.png and b/tests_zemu/snapshots/sp-mainmenu/00009.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00010.png b/tests_zemu/snapshots/sp-mainmenu/00010.png index fa6e9bf..a0c99d6 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-mainmenu/00011.png b/tests_zemu/snapshots/sp-mainmenu/00011.png index 8472e5d..e10e004 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00011.png and b/tests_zemu/snapshots/sp-mainmenu/00011.png differ diff --git a/tests_zemu/snapshots/sp-mainmenu/00012.png b/tests_zemu/snapshots/sp-mainmenu/00012.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-mainmenu/00012.png and b/tests_zemu/snapshots/sp-mainmenu/00012.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00001.png b/tests_zemu/snapshots/sp-proxy_proxy/00001.png index 2f55674..0689a5b 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00001.png and b/tests_zemu/snapshots/sp-proxy_proxy/00001.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00002.png b/tests_zemu/snapshots/sp-proxy_proxy/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00002.png and b/tests_zemu/snapshots/sp-proxy_proxy/00002.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00003.png b/tests_zemu/snapshots/sp-proxy_proxy/00003.png index fe700c0..ca86f44 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00003.png and b/tests_zemu/snapshots/sp-proxy_proxy/00003.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00004.png b/tests_zemu/snapshots/sp-proxy_proxy/00004.png index 7e5f055..bae9f8d 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00004.png and b/tests_zemu/snapshots/sp-proxy_proxy/00004.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00006.png b/tests_zemu/snapshots/sp-proxy_proxy/00006.png index 59fc744..3022ef2 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00006.png and b/tests_zemu/snapshots/sp-proxy_proxy/00006.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00009.png b/tests_zemu/snapshots/sp-proxy_proxy/00009.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00009.png and b/tests_zemu/snapshots/sp-proxy_proxy/00009.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00010.png b/tests_zemu/snapshots/sp-proxy_proxy/00010.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00010.png and b/tests_zemu/snapshots/sp-proxy_proxy/00010.png differ diff --git a/tests_zemu/snapshots/sp-proxy_proxy/00012.png b/tests_zemu/snapshots/sp-proxy_proxy/00012.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-proxy_proxy/00012.png and b/tests_zemu/snapshots/sp-proxy_proxy/00012.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign/00001.png b/tests_zemu/snapshots/sp-raw_sign/00001.png index 18a689a..00da269 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign/00001.png and b/tests_zemu/snapshots/sp-raw_sign/00001.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign/00002.png b/tests_zemu/snapshots/sp-raw_sign/00002.png index f10a278..08a5be5 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign/00002.png and b/tests_zemu/snapshots/sp-raw_sign/00002.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign/00004.png b/tests_zemu/snapshots/sp-raw_sign/00004.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign/00004.png and b/tests_zemu/snapshots/sp-raw_sign/00004.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign_hex/00001.png b/tests_zemu/snapshots/sp-raw_sign_hex/00001.png index 18a689a..00da269 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign_hex/00001.png and b/tests_zemu/snapshots/sp-raw_sign_hex/00001.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign_hex/00002.png b/tests_zemu/snapshots/sp-raw_sign_hex/00002.png index a1f936d..21239b8 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign_hex/00002.png and b/tests_zemu/snapshots/sp-raw_sign_hex/00002.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign_hex/00003.png b/tests_zemu/snapshots/sp-raw_sign_hex/00003.png index 9cebc22..90deede 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign_hex/00003.png and b/tests_zemu/snapshots/sp-raw_sign_hex/00003.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign_hex/00004.png b/tests_zemu/snapshots/sp-raw_sign_hex/00004.png index 5310257..63b7743 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign_hex/00004.png and b/tests_zemu/snapshots/sp-raw_sign_hex/00004.png differ diff --git a/tests_zemu/snapshots/sp-raw_sign_hex/00006.png b/tests_zemu/snapshots/sp-raw_sign_hex/00006.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-raw_sign_hex/00006.png and b/tests_zemu/snapshots/sp-raw_sign_hex/00006.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address/00000.png b/tests_zemu/snapshots/sp-recovery_show_address/00000.png new file mode 100644 index 0000000..c963812 Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address/00000.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address/00001.png b/tests_zemu/snapshots/sp-recovery_show_address/00001.png new file mode 100644 index 0000000..9d3de1a Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address/00001.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address/00002.png b/tests_zemu/snapshots/sp-recovery_show_address/00002.png new file mode 100644 index 0000000..1e4be69 Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address/00002.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address/00003.png b/tests_zemu/snapshots/sp-recovery_show_address/00003.png new file mode 100644 index 0000000..c5b72b8 Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address/00003.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address_reject/00000.png b/tests_zemu/snapshots/sp-recovery_show_address_reject/00000.png new file mode 100644 index 0000000..c963812 Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address_reject/00000.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address_reject/00001.png b/tests_zemu/snapshots/sp-recovery_show_address_reject/00001.png new file mode 100644 index 0000000..9d3de1a Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address_reject/00001.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address_reject/00002.png b/tests_zemu/snapshots/sp-recovery_show_address_reject/00002.png new file mode 100644 index 0000000..1e4be69 Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address_reject/00002.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address_reject/00003.png b/tests_zemu/snapshots/sp-recovery_show_address_reject/00003.png new file mode 100644 index 0000000..d9b5efc Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address_reject/00003.png differ diff --git a/tests_zemu/snapshots/sp-recovery_show_address_reject/00004.png b/tests_zemu/snapshots/sp-recovery_show_address_reject/00004.png new file mode 100644 index 0000000..c5b72b8 Binary files /dev/null and b/tests_zemu/snapshots/sp-recovery_show_address_reject/00004.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00001.png b/tests_zemu/snapshots/sp-session_setkeys/00001.png index f49c028..8ec6e28 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00001.png and b/tests_zemu/snapshots/sp-session_setkeys/00001.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00002.png b/tests_zemu/snapshots/sp-session_setkeys/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00002.png and b/tests_zemu/snapshots/sp-session_setkeys/00002.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00003.png b/tests_zemu/snapshots/sp-session_setkeys/00003.png index 87392bf..af9cf66 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00003.png and b/tests_zemu/snapshots/sp-session_setkeys/00003.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00004.png b/tests_zemu/snapshots/sp-session_setkeys/00004.png index 5aecfa4..ddfc76c 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00004.png and b/tests_zemu/snapshots/sp-session_setkeys/00004.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00005.png b/tests_zemu/snapshots/sp-session_setkeys/00005.png index 37db7c7..2050eb6 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00005.png and b/tests_zemu/snapshots/sp-session_setkeys/00005.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00006.png b/tests_zemu/snapshots/sp-session_setkeys/00006.png index ec47e5d..5764bcf 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00006.png and b/tests_zemu/snapshots/sp-session_setkeys/00006.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00007.png b/tests_zemu/snapshots/sp-session_setkeys/00007.png index 6611d98..ac5784b 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00007.png and b/tests_zemu/snapshots/sp-session_setkeys/00007.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00009.png b/tests_zemu/snapshots/sp-session_setkeys/00009.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00009.png and b/tests_zemu/snapshots/sp-session_setkeys/00009.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00010.png b/tests_zemu/snapshots/sp-session_setkeys/00010.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00010.png and b/tests_zemu/snapshots/sp-session_setkeys/00010.png differ diff --git a/tests_zemu/snapshots/sp-session_setkeys/00012.png b/tests_zemu/snapshots/sp-session_setkeys/00012.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-session_setkeys/00012.png and b/tests_zemu/snapshots/sp-session_setkeys/00012.png differ diff --git a/tests_zemu/snapshots/sp-show_address/00001.png b/tests_zemu/snapshots/sp-show_address/00001.png index 54ab809..60211a2 100644 Binary files a/tests_zemu/snapshots/sp-show_address/00001.png and b/tests_zemu/snapshots/sp-show_address/00001.png differ diff --git a/tests_zemu/snapshots/sp-show_address/00003.png b/tests_zemu/snapshots/sp-show_address/00003.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-show_address/00003.png and b/tests_zemu/snapshots/sp-show_address/00003.png differ diff --git a/tests_zemu/snapshots/sp-show_address_reject/00001.png b/tests_zemu/snapshots/sp-show_address_reject/00001.png index 54ab809..60211a2 100644 Binary files a/tests_zemu/snapshots/sp-show_address_reject/00001.png and b/tests_zemu/snapshots/sp-show_address_reject/00001.png differ diff --git a/tests_zemu/snapshots/sp-show_address_reject/00003.png b/tests_zemu/snapshots/sp-show_address_reject/00003.png index de8a291..d9b5efc 100644 Binary files a/tests_zemu/snapshots/sp-show_address_reject/00003.png and b/tests_zemu/snapshots/sp-show_address_reject/00003.png differ diff --git a/tests_zemu/snapshots/sp-show_address_reject/00004.png b/tests_zemu/snapshots/sp-show_address_reject/00004.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-show_address_reject/00004.png and b/tests_zemu/snapshots/sp-show_address_reject/00004.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00002.png b/tests_zemu/snapshots/sp-staking_nominate/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00002.png and b/tests_zemu/snapshots/sp-staking_nominate/00002.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00003.png b/tests_zemu/snapshots/sp-staking_nominate/00003.png index 9d237e2..74d7a65 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00003.png and b/tests_zemu/snapshots/sp-staking_nominate/00003.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00004.png b/tests_zemu/snapshots/sp-staking_nominate/00004.png index 0bff14e..b85e2c4 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00004.png and b/tests_zemu/snapshots/sp-staking_nominate/00004.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00005.png b/tests_zemu/snapshots/sp-staking_nominate/00005.png index 73ed1e1..c7cd723 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00005.png and b/tests_zemu/snapshots/sp-staking_nominate/00005.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00006.png b/tests_zemu/snapshots/sp-staking_nominate/00006.png index f58649d..d459957 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00006.png and b/tests_zemu/snapshots/sp-staking_nominate/00006.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00007.png b/tests_zemu/snapshots/sp-staking_nominate/00007.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00007.png and b/tests_zemu/snapshots/sp-staking_nominate/00007.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00008.png b/tests_zemu/snapshots/sp-staking_nominate/00008.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00008.png and b/tests_zemu/snapshots/sp-staking_nominate/00008.png differ diff --git a/tests_zemu/snapshots/sp-staking_nominate/00010.png b/tests_zemu/snapshots/sp-staking_nominate/00010.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-staking_nominate/00010.png and b/tests_zemu/snapshots/sp-staking_nominate/00010.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00001.png b/tests_zemu/snapshots/sp-utility_batch/00001.png index 73003af..fba9ebd 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00001.png and b/tests_zemu/snapshots/sp-utility_batch/00001.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00002.png b/tests_zemu/snapshots/sp-utility_batch/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00002.png and b/tests_zemu/snapshots/sp-utility_batch/00002.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00003.png b/tests_zemu/snapshots/sp-utility_batch/00003.png index fbf8ea0..9915b49 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00003.png and b/tests_zemu/snapshots/sp-utility_batch/00003.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00004.png b/tests_zemu/snapshots/sp-utility_batch/00004.png index 4de3c66..3b2766d 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00004.png and b/tests_zemu/snapshots/sp-utility_batch/00004.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00005.png b/tests_zemu/snapshots/sp-utility_batch/00005.png index 0c27734..c06cda0 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00005.png and b/tests_zemu/snapshots/sp-utility_batch/00005.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00006.png b/tests_zemu/snapshots/sp-utility_batch/00006.png index 49ee9e3..88ca185 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00006.png and b/tests_zemu/snapshots/sp-utility_batch/00006.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00007.png b/tests_zemu/snapshots/sp-utility_batch/00007.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00007.png and b/tests_zemu/snapshots/sp-utility_batch/00007.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00008.png b/tests_zemu/snapshots/sp-utility_batch/00008.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00008.png and b/tests_zemu/snapshots/sp-utility_batch/00008.png differ diff --git a/tests_zemu/snapshots/sp-utility_batch/00010.png b/tests_zemu/snapshots/sp-utility_batch/00010.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/sp-utility_batch/00010.png and b/tests_zemu/snapshots/sp-utility_batch/00010.png differ diff --git a/tests_zemu/snapshots/st-mainmenu/00004.png b/tests_zemu/snapshots/st-mainmenu/00004.png index 39b754c..e36f0bd 100644 Binary files a/tests_zemu/snapshots/st-mainmenu/00004.png and b/tests_zemu/snapshots/st-mainmenu/00004.png differ diff --git a/tests_zemu/snapshots/st-recovery_show_address/00000.png b/tests_zemu/snapshots/st-recovery_show_address/00000.png new file mode 100644 index 0000000..ce6ffe6 Binary files /dev/null and b/tests_zemu/snapshots/st-recovery_show_address/00000.png differ diff --git a/tests_zemu/snapshots/st-recovery_show_address/00001.png b/tests_zemu/snapshots/st-recovery_show_address/00001.png new file mode 100644 index 0000000..621998a Binary files /dev/null and b/tests_zemu/snapshots/st-recovery_show_address/00001.png differ diff --git a/tests_zemu/snapshots/st-recovery_show_address/00002.png b/tests_zemu/snapshots/st-recovery_show_address/00002.png new file mode 100644 index 0000000..a0fb4e5 Binary files /dev/null and b/tests_zemu/snapshots/st-recovery_show_address/00002.png differ diff --git a/tests_zemu/snapshots/st-recovery_show_address_reject/00000.png b/tests_zemu/snapshots/st-recovery_show_address_reject/00000.png new file mode 100644 index 0000000..ce6ffe6 Binary files /dev/null and b/tests_zemu/snapshots/st-recovery_show_address_reject/00000.png differ diff --git a/tests_zemu/snapshots/st-recovery_show_address_reject/00001.png b/tests_zemu/snapshots/st-recovery_show_address_reject/00001.png new file mode 100644 index 0000000..94c91bb Binary files /dev/null and b/tests_zemu/snapshots/st-recovery_show_address_reject/00001.png differ diff --git a/tests_zemu/snapshots/st-recovery_show_address_reject/00002.png b/tests_zemu/snapshots/st-recovery_show_address_reject/00002.png new file mode 100644 index 0000000..a0fb4e5 Binary files /dev/null and b/tests_zemu/snapshots/st-recovery_show_address_reject/00002.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer/00002.png b/tests_zemu/snapshots/x-balances_transfer/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer/00002.png and b/tests_zemu/snapshots/x-balances_transfer/00002.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer/00003.png b/tests_zemu/snapshots/x-balances_transfer/00003.png index ceaa411..8e16aad 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer/00003.png and b/tests_zemu/snapshots/x-balances_transfer/00003.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer/00004.png b/tests_zemu/snapshots/x-balances_transfer/00004.png index 078a226..a122773 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer/00004.png and b/tests_zemu/snapshots/x-balances_transfer/00004.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer/00005.png b/tests_zemu/snapshots/x-balances_transfer/00005.png index f989e7c..cd304eb 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer/00005.png and b/tests_zemu/snapshots/x-balances_transfer/00005.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer/00006.png b/tests_zemu/snapshots/x-balances_transfer/00006.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer/00006.png and b/tests_zemu/snapshots/x-balances_transfer/00006.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer/00007.png b/tests_zemu/snapshots/x-balances_transfer/00007.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer/00007.png and b/tests_zemu/snapshots/x-balances_transfer/00007.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer/00009.png b/tests_zemu/snapshots/x-balances_transfer/00009.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer/00009.png and b/tests_zemu/snapshots/x-balances_transfer/00009.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00002.png b/tests_zemu/snapshots/x-balances_transfer_expert/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00002.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00002.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00003.png b/tests_zemu/snapshots/x-balances_transfer_expert/00003.png index ceaa411..8e16aad 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00003.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00003.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00004.png b/tests_zemu/snapshots/x-balances_transfer_expert/00004.png index 078a226..a122773 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00004.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00004.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00005.png b/tests_zemu/snapshots/x-balances_transfer_expert/00005.png index f989e7c..cd304eb 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00005.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00005.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00008.png b/tests_zemu/snapshots/x-balances_transfer_expert/00008.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00008.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00008.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00009.png b/tests_zemu/snapshots/x-balances_transfer_expert/00009.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00009.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00009.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00012.png b/tests_zemu/snapshots/x-balances_transfer_expert/00012.png index 6a5be01..4c50ff3 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00012.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00012.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00013.png b/tests_zemu/snapshots/x-balances_transfer_expert/00013.png index 72276ea..5793ea9 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00013.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00013.png differ diff --git a/tests_zemu/snapshots/x-balances_transfer_expert/00015.png b/tests_zemu/snapshots/x-balances_transfer_expert/00015.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-balances_transfer_expert/00015.png and b/tests_zemu/snapshots/x-balances_transfer_expert/00015.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00000.png b/tests_zemu/snapshots/x-mainmenu/00000.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00000.png and b/tests_zemu/snapshots/x-mainmenu/00000.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00001.png b/tests_zemu/snapshots/x-mainmenu/00001.png index 8472e5d..e10e004 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00001.png and b/tests_zemu/snapshots/x-mainmenu/00001.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00002.png b/tests_zemu/snapshots/x-mainmenu/00002.png index f792167..7e236da 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00002.png and b/tests_zemu/snapshots/x-mainmenu/00002.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00003.png b/tests_zemu/snapshots/x-mainmenu/00003.png index 8472e5d..e10e004 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00003.png and b/tests_zemu/snapshots/x-mainmenu/00003.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00004.png b/tests_zemu/snapshots/x-mainmenu/00004.png index fa6e9bf..a0c99d6 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/00005.png b/tests_zemu/snapshots/x-mainmenu/00005.png index 1adff7e..b623285 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00005.png and b/tests_zemu/snapshots/x-mainmenu/00005.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00009.png b/tests_zemu/snapshots/x-mainmenu/00009.png index 1adff7e..b623285 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00009.png and b/tests_zemu/snapshots/x-mainmenu/00009.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00010.png b/tests_zemu/snapshots/x-mainmenu/00010.png index fa6e9bf..a0c99d6 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-mainmenu/00011.png b/tests_zemu/snapshots/x-mainmenu/00011.png index 8472e5d..e10e004 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00011.png and b/tests_zemu/snapshots/x-mainmenu/00011.png differ diff --git a/tests_zemu/snapshots/x-mainmenu/00012.png b/tests_zemu/snapshots/x-mainmenu/00012.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-mainmenu/00012.png and b/tests_zemu/snapshots/x-mainmenu/00012.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00001.png b/tests_zemu/snapshots/x-proxy_proxy/00001.png index 2f55674..0689a5b 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00001.png and b/tests_zemu/snapshots/x-proxy_proxy/00001.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00002.png b/tests_zemu/snapshots/x-proxy_proxy/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00002.png and b/tests_zemu/snapshots/x-proxy_proxy/00002.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00003.png b/tests_zemu/snapshots/x-proxy_proxy/00003.png index fe700c0..ca86f44 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00003.png and b/tests_zemu/snapshots/x-proxy_proxy/00003.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00004.png b/tests_zemu/snapshots/x-proxy_proxy/00004.png index 7e5f055..bae9f8d 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00004.png and b/tests_zemu/snapshots/x-proxy_proxy/00004.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00006.png b/tests_zemu/snapshots/x-proxy_proxy/00006.png index 59fc744..3022ef2 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00006.png and b/tests_zemu/snapshots/x-proxy_proxy/00006.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00009.png b/tests_zemu/snapshots/x-proxy_proxy/00009.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00009.png and b/tests_zemu/snapshots/x-proxy_proxy/00009.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00010.png b/tests_zemu/snapshots/x-proxy_proxy/00010.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00010.png and b/tests_zemu/snapshots/x-proxy_proxy/00010.png differ diff --git a/tests_zemu/snapshots/x-proxy_proxy/00012.png b/tests_zemu/snapshots/x-proxy_proxy/00012.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-proxy_proxy/00012.png and b/tests_zemu/snapshots/x-proxy_proxy/00012.png differ diff --git a/tests_zemu/snapshots/x-raw_sign/00001.png b/tests_zemu/snapshots/x-raw_sign/00001.png index 18a689a..00da269 100644 Binary files a/tests_zemu/snapshots/x-raw_sign/00001.png and b/tests_zemu/snapshots/x-raw_sign/00001.png differ diff --git a/tests_zemu/snapshots/x-raw_sign/00002.png b/tests_zemu/snapshots/x-raw_sign/00002.png index f10a278..08a5be5 100644 Binary files a/tests_zemu/snapshots/x-raw_sign/00002.png and b/tests_zemu/snapshots/x-raw_sign/00002.png differ diff --git a/tests_zemu/snapshots/x-raw_sign/00004.png b/tests_zemu/snapshots/x-raw_sign/00004.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-raw_sign/00004.png and b/tests_zemu/snapshots/x-raw_sign/00004.png differ diff --git a/tests_zemu/snapshots/x-raw_sign_hex/00001.png b/tests_zemu/snapshots/x-raw_sign_hex/00001.png index 18a689a..00da269 100644 Binary files a/tests_zemu/snapshots/x-raw_sign_hex/00001.png and b/tests_zemu/snapshots/x-raw_sign_hex/00001.png differ diff --git a/tests_zemu/snapshots/x-raw_sign_hex/00002.png b/tests_zemu/snapshots/x-raw_sign_hex/00002.png index a1f936d..21239b8 100644 Binary files a/tests_zemu/snapshots/x-raw_sign_hex/00002.png and b/tests_zemu/snapshots/x-raw_sign_hex/00002.png differ diff --git a/tests_zemu/snapshots/x-raw_sign_hex/00003.png b/tests_zemu/snapshots/x-raw_sign_hex/00003.png index 9cebc22..90deede 100644 Binary files a/tests_zemu/snapshots/x-raw_sign_hex/00003.png and b/tests_zemu/snapshots/x-raw_sign_hex/00003.png differ diff --git a/tests_zemu/snapshots/x-raw_sign_hex/00004.png b/tests_zemu/snapshots/x-raw_sign_hex/00004.png index 5310257..63b7743 100644 Binary files a/tests_zemu/snapshots/x-raw_sign_hex/00004.png and b/tests_zemu/snapshots/x-raw_sign_hex/00004.png differ diff --git a/tests_zemu/snapshots/x-raw_sign_hex/00006.png b/tests_zemu/snapshots/x-raw_sign_hex/00006.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-raw_sign_hex/00006.png and b/tests_zemu/snapshots/x-raw_sign_hex/00006.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address/00000.png b/tests_zemu/snapshots/x-recovery_show_address/00000.png new file mode 100644 index 0000000..c963812 Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address/00000.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address/00001.png b/tests_zemu/snapshots/x-recovery_show_address/00001.png new file mode 100644 index 0000000..9d3de1a Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address/00001.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address/00002.png b/tests_zemu/snapshots/x-recovery_show_address/00002.png new file mode 100644 index 0000000..1e4be69 Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address/00002.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address/00003.png b/tests_zemu/snapshots/x-recovery_show_address/00003.png new file mode 100644 index 0000000..c5b72b8 Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address/00003.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address_reject/00000.png b/tests_zemu/snapshots/x-recovery_show_address_reject/00000.png new file mode 100644 index 0000000..c963812 Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address_reject/00000.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address_reject/00001.png b/tests_zemu/snapshots/x-recovery_show_address_reject/00001.png new file mode 100644 index 0000000..9d3de1a Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address_reject/00001.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address_reject/00002.png b/tests_zemu/snapshots/x-recovery_show_address_reject/00002.png new file mode 100644 index 0000000..1e4be69 Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address_reject/00002.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address_reject/00003.png b/tests_zemu/snapshots/x-recovery_show_address_reject/00003.png new file mode 100644 index 0000000..d9b5efc Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address_reject/00003.png differ diff --git a/tests_zemu/snapshots/x-recovery_show_address_reject/00004.png b/tests_zemu/snapshots/x-recovery_show_address_reject/00004.png new file mode 100644 index 0000000..c5b72b8 Binary files /dev/null and b/tests_zemu/snapshots/x-recovery_show_address_reject/00004.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00001.png b/tests_zemu/snapshots/x-session_setkeys/00001.png index f49c028..8ec6e28 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00001.png and b/tests_zemu/snapshots/x-session_setkeys/00001.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00002.png b/tests_zemu/snapshots/x-session_setkeys/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00002.png and b/tests_zemu/snapshots/x-session_setkeys/00002.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00003.png b/tests_zemu/snapshots/x-session_setkeys/00003.png index 87392bf..af9cf66 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00003.png and b/tests_zemu/snapshots/x-session_setkeys/00003.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00004.png b/tests_zemu/snapshots/x-session_setkeys/00004.png index 5aecfa4..ddfc76c 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00004.png and b/tests_zemu/snapshots/x-session_setkeys/00004.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00005.png b/tests_zemu/snapshots/x-session_setkeys/00005.png index 37db7c7..2050eb6 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00005.png and b/tests_zemu/snapshots/x-session_setkeys/00005.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00006.png b/tests_zemu/snapshots/x-session_setkeys/00006.png index ec47e5d..5764bcf 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00006.png and b/tests_zemu/snapshots/x-session_setkeys/00006.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00007.png b/tests_zemu/snapshots/x-session_setkeys/00007.png index 6611d98..ac5784b 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00007.png and b/tests_zemu/snapshots/x-session_setkeys/00007.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00009.png b/tests_zemu/snapshots/x-session_setkeys/00009.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00009.png and b/tests_zemu/snapshots/x-session_setkeys/00009.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00010.png b/tests_zemu/snapshots/x-session_setkeys/00010.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00010.png and b/tests_zemu/snapshots/x-session_setkeys/00010.png differ diff --git a/tests_zemu/snapshots/x-session_setkeys/00012.png b/tests_zemu/snapshots/x-session_setkeys/00012.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-session_setkeys/00012.png and b/tests_zemu/snapshots/x-session_setkeys/00012.png differ diff --git a/tests_zemu/snapshots/x-show_address/00001.png b/tests_zemu/snapshots/x-show_address/00001.png index 54ab809..60211a2 100644 Binary files a/tests_zemu/snapshots/x-show_address/00001.png and b/tests_zemu/snapshots/x-show_address/00001.png differ diff --git a/tests_zemu/snapshots/x-show_address/00003.png b/tests_zemu/snapshots/x-show_address/00003.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-show_address/00003.png and b/tests_zemu/snapshots/x-show_address/00003.png differ diff --git a/tests_zemu/snapshots/x-show_address_reject/00001.png b/tests_zemu/snapshots/x-show_address_reject/00001.png index 54ab809..60211a2 100644 Binary files a/tests_zemu/snapshots/x-show_address_reject/00001.png and b/tests_zemu/snapshots/x-show_address_reject/00001.png differ diff --git a/tests_zemu/snapshots/x-show_address_reject/00003.png b/tests_zemu/snapshots/x-show_address_reject/00003.png index de8a291..d9b5efc 100644 Binary files a/tests_zemu/snapshots/x-show_address_reject/00003.png and b/tests_zemu/snapshots/x-show_address_reject/00003.png differ diff --git a/tests_zemu/snapshots/x-show_address_reject/00004.png b/tests_zemu/snapshots/x-show_address_reject/00004.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-show_address_reject/00004.png and b/tests_zemu/snapshots/x-show_address_reject/00004.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00002.png b/tests_zemu/snapshots/x-staking_nominate/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00002.png and b/tests_zemu/snapshots/x-staking_nominate/00002.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00003.png b/tests_zemu/snapshots/x-staking_nominate/00003.png index 9d237e2..74d7a65 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00003.png and b/tests_zemu/snapshots/x-staking_nominate/00003.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00004.png b/tests_zemu/snapshots/x-staking_nominate/00004.png index 0bff14e..b85e2c4 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00004.png and b/tests_zemu/snapshots/x-staking_nominate/00004.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00005.png b/tests_zemu/snapshots/x-staking_nominate/00005.png index 73ed1e1..c7cd723 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00005.png and b/tests_zemu/snapshots/x-staking_nominate/00005.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00006.png b/tests_zemu/snapshots/x-staking_nominate/00006.png index f58649d..d459957 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00006.png and b/tests_zemu/snapshots/x-staking_nominate/00006.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00007.png b/tests_zemu/snapshots/x-staking_nominate/00007.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00007.png and b/tests_zemu/snapshots/x-staking_nominate/00007.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00008.png b/tests_zemu/snapshots/x-staking_nominate/00008.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00008.png and b/tests_zemu/snapshots/x-staking_nominate/00008.png differ diff --git a/tests_zemu/snapshots/x-staking_nominate/00010.png b/tests_zemu/snapshots/x-staking_nominate/00010.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-staking_nominate/00010.png and b/tests_zemu/snapshots/x-staking_nominate/00010.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00001.png b/tests_zemu/snapshots/x-utility_batch/00001.png index 73003af..fba9ebd 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00001.png and b/tests_zemu/snapshots/x-utility_batch/00001.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00002.png b/tests_zemu/snapshots/x-utility_batch/00002.png index 3a969f2..9cf67e6 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00002.png and b/tests_zemu/snapshots/x-utility_batch/00002.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00003.png b/tests_zemu/snapshots/x-utility_batch/00003.png index fbf8ea0..9915b49 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00003.png and b/tests_zemu/snapshots/x-utility_batch/00003.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00004.png b/tests_zemu/snapshots/x-utility_batch/00004.png index 4de3c66..3b2766d 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00004.png and b/tests_zemu/snapshots/x-utility_batch/00004.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00005.png b/tests_zemu/snapshots/x-utility_batch/00005.png index 0c27734..c06cda0 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00005.png and b/tests_zemu/snapshots/x-utility_batch/00005.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00006.png b/tests_zemu/snapshots/x-utility_batch/00006.png index 49ee9e3..88ca185 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00006.png and b/tests_zemu/snapshots/x-utility_batch/00006.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00007.png b/tests_zemu/snapshots/x-utility_batch/00007.png index 7ab9392..c97a431 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00007.png and b/tests_zemu/snapshots/x-utility_batch/00007.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00008.png b/tests_zemu/snapshots/x-utility_batch/00008.png index 7355e90..aa6b3f9 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00008.png and b/tests_zemu/snapshots/x-utility_batch/00008.png differ diff --git a/tests_zemu/snapshots/x-utility_batch/00010.png b/tests_zemu/snapshots/x-utility_batch/00010.png index e41a994..4b567b2 100644 Binary files a/tests_zemu/snapshots/x-utility_batch/00010.png and b/tests_zemu/snapshots/x-utility_batch/00010.png differ diff --git a/tests_zemu/tests/recovery.test.ts b/tests_zemu/tests/recovery.test.ts new file mode 100644 index 0000000..9e35760 --- /dev/null +++ b/tests_zemu/tests/recovery.test.ts @@ -0,0 +1,119 @@ +/** ****************************************************************************** + * (c) 2020 Zondax GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************* */ + +import Zemu, { ButtonKind, DEFAULT_START_OPTIONS, isTouchDevice } from '@zondax/zemu' +import { newSubstrateApp } from '@zondax/ledger-substrate' +import { APP_SEED, models } from './common' + +const defaultOptions = { + ...DEFAULT_START_OPTIONS, + logging: true, + custom: `-s "${APP_SEED}"`, + X11: false, +} + +const expected_address_recovery = '5HAeMNeM1XzB9ab742XyV8rM4u1wsAUiQQod61n9cjMTrKbn' +const expected_pk_recovery = 'e1b4d72d27b3e91b9b6116555b4ea17138ddc12ca7cdbab30e2e0509bd848419' + +jest.setTimeout(180000) + +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)('get address recovery', async function (m) { + const sim = new Zemu(m.path) + try { + await sim.start({ ...defaultOptions, model: m.name }) + const app = newSubstrateApp(sim.getTransport(), 'AvailRecovery') + + const resp = await app.getAddress(0x80000000, 0x80000000, 0x80000000) + + console.log(resp) + + expect(resp.return_code).toEqual(0x9000) + expect(resp.error_message).toEqual('No errors') + + expect(resp.address).toEqual(expected_address_recovery) + expect(resp.pubKey).toEqual(expected_pk_recovery) + } finally { + await sim.close() + } + }) + + test.concurrent.each(models)('show address recovery', async function (m) { + const sim = new Zemu(m.path) + try { + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: isTouchDevice(m.name) ? 'Confirm' : '', + approveAction: ButtonKind.ApproveTapButton, + }) + const app = newSubstrateApp(sim.getTransport(), 'AvailRecovery') + + const respRequest = app.getAddress(0x80000000, 0x80000000, 0x80000000, true) + // Wait until we are not in the main menu + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()) + await sim.compareSnapshotsAndApprove('.', `${m.prefix.toLowerCase()}-recovery_show_address`) + + const resp = await respRequest + + console.log(resp) + + expect(resp.return_code).toEqual(0x9000) + expect(resp.error_message).toEqual('No errors') + + expect(resp.address).toEqual(expected_address_recovery) + expect(resp.pubKey).toEqual(expected_pk_recovery) + } finally { + await sim.close() + } + }) + + test.concurrent.each(models)('show address recovery - reject', async function (m) { + const sim = new Zemu(m.path) + try { + await sim.start({ + ...defaultOptions, + model: m.name, + approveKeyword: isTouchDevice(m.name) ? 'Confirm' : '', + }) + const app = newSubstrateApp(sim.getTransport(), 'AvailRecovery') + + const respRequest = app.getAddress(0x80000000, 0x80000000, 0x80000000, true) + // Wait until we are not in the main menu + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()) + + await sim.compareSnapshotsAndReject('.', `${m.prefix.toLowerCase()}-recovery_show_address_reject`) + + const resp = await respRequest + console.log(resp) + + expect(resp.return_code).toEqual(0x6986) + expect(resp.error_message).toEqual('Transaction rejected') + + } finally { + await sim.close() + } + }) +})