From 9377df3a79bde2fe53418513760b8a173c40e3fe Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:37:35 +0100 Subject: [PATCH 01/14] Move IO functions form main and utils to dedicated io.c file --- src/getPubkey.c | 1 + src/io.c | 100 ++++++++++++++++++++++++++++++++++++++ src/io.h | 21 ++++++++ src/main.c | 87 --------------------------------- src/signMessage.c | 1 + src/signOffchainMessage.c | 1 + src/utils.c | 26 ---------- src/utils.h | 3 -- 8 files changed, 124 insertions(+), 116 deletions(-) create mode 100644 src/io.c create mode 100644 src/io.h diff --git a/src/getPubkey.c b/src/getPubkey.c index e7de168b..beeea27b 100644 --- a/src/getPubkey.c +++ b/src/getPubkey.c @@ -1,6 +1,7 @@ #include "apdu.h" #include "getPubkey.h" #include "os.h" +#include "io.h" #include "ux.h" #include "utils.h" #include "sol/printer.h" diff --git a/src/io.c b/src/io.c new file mode 100644 index 00000000..c222e9ae --- /dev/null +++ b/src/io.c @@ -0,0 +1,100 @@ +/***************************************************************************** + * Ledger App Solana. + * (c) 2023 Ledger SAS. + * + * 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. + *****************************************************************************/ + +#include +#include + +#include "os.h" +#include "ux.h" + +#include "apdu.h" +#include "menu.h" +#include "io.h" + +// override point, but nothing more to do +void io_seproxyhal_display(const bagl_element_t *element) { + io_seproxyhal_display_default((bagl_element_t *) element); +} + +uint8_t io_event(uint8_t channel) { + (void) channel; + + switch (G_io_seproxyhal_spi_buffer[0]) { + case SEPROXYHAL_TAG_BUTTON_PUSH_EVENT: + UX_BUTTON_PUSH_EVENT(G_io_seproxyhal_spi_buffer); + break; + case SEPROXYHAL_TAG_STATUS_EVENT: + if (G_io_apdu_media == IO_APDU_MEDIA_USB_HID && // + !(U4BE(G_io_seproxyhal_spi_buffer, 3) & // + SEPROXYHAL_TAG_STATUS_EVENT_FLAG_USB_POWERED)) { + THROW(ApduReplySdkExceptionIoReset); + } + /* fallthrough */ + case SEPROXYHAL_TAG_DISPLAY_PROCESSED_EVENT: + UX_DISPLAYED_EVENT({}); + break; + case SEPROXYHAL_TAG_TICKER_EVENT: + UX_TICKER_EVENT(G_io_seproxyhal_spi_buffer, {}); + break; + default: + UX_DEFAULT_EVENT(); + break; + } + + if (!io_seproxyhal_spi_is_status_sent()) { + io_seproxyhal_general_status(); + } + + return 1; +} + +uint16_t io_exchange_al(uint8_t channel, uint16_t tx_len) { + switch (channel & ~(IO_FLAGS)) { + case CHANNEL_KEYBOARD: + break; + + // multiplexed io exchange over a SPI channel and + // TLV encapsulated protocol + case CHANNEL_SPI: + if (tx_len) { + io_seproxyhal_spi_send(G_io_apdu_buffer, tx_len); + + if (channel & IO_RESET_AFTER_REPLIED) { + reset(); + } + return 0; // nothing received from the master so far + // (it's a tx transaction) + } else { + return io_seproxyhal_spi_recv(G_io_apdu_buffer, sizeof(G_io_apdu_buffer), 0); + } + + default: + THROW(ApduReplySdkInvalidParameter); + } + return 0; +} + +void sendResponse(uint8_t tx, bool approve, bool display_menu) { + G_io_apdu_buffer[tx++] = approve ? 0x90 : 0x69; + G_io_apdu_buffer[tx++] = approve ? 0x00 : 0x85; + // Send back the response, do not restart the event loop + io_exchange(CHANNEL_APDU | IO_RETURN_AFTER_TX, tx); + if (display_menu) { + // Display back the original UX + ui_idle(); + } +} diff --git a/src/io.h b/src/io.h new file mode 100644 index 00000000..e7c74297 --- /dev/null +++ b/src/io.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +#include "ux.h" +#include "os_io_seproxyhal.h" + +void io_seproxyhal_display(const bagl_element_t *element); + +/** + * IO callback called when an interrupt based channel has received + * data to be processed. + * + * @return 1 if success, 0 otherwise. + * + */ +uint8_t io_event(uint8_t channel); + +uint16_t io_exchange_al(uint8_t channel, uint16_t tx_len); + +void sendResponse(uint8_t tx, bool approve, bool display_menu); diff --git a/src/main.c b/src/main.c index 82341491..df78e30b 100644 --- a/src/main.c +++ b/src/main.c @@ -162,93 +162,6 @@ void app_main(void) { } } -// override point, but nothing more to do -void io_seproxyhal_display(const bagl_element_t *element) { - io_seproxyhal_display_default((bagl_element_t *) element); -} - -unsigned char io_event(unsigned char channel) { - UNUSED(channel); - - // nothing done with the event, throw an error on the transport layer if - // needed - - // can't have more than one tag in the reply, not supported yet. - switch (G_io_seproxyhal_spi_buffer[0]) { - case SEPROXYHAL_TAG_FINGER_EVENT: - UX_FINGER_EVENT(G_io_seproxyhal_spi_buffer); - break; - - case SEPROXYHAL_TAG_BUTTON_PUSH_EVENT: - UX_BUTTON_PUSH_EVENT(G_io_seproxyhal_spi_buffer); - break; - - case SEPROXYHAL_TAG_STATUS_EVENT: - if (G_io_apdu_media == IO_APDU_MEDIA_USB_HID && - !(U4BE(G_io_seproxyhal_spi_buffer, 3) & - SEPROXYHAL_TAG_STATUS_EVENT_FLAG_USB_POWERED)) { - THROW(ApduReplySdkExceptionIoReset); - } - // no break is intentional - default: - UX_DEFAULT_EVENT(); - break; - - case SEPROXYHAL_TAG_DISPLAY_PROCESSED_EVENT: - UX_DISPLAYED_EVENT({}); - break; - - case SEPROXYHAL_TAG_TICKER_EVENT: - UX_TICKER_EVENT(G_io_seproxyhal_spi_buffer, { -#if !defined(TARGET_NANOX) && !defined(TARGET_NANOS2) - if (UX_ALLOWED) { - if (ux_step_count) { - // prepare next screen - ux_step = (ux_step + 1) % ux_step_count; - // redisplay screen - UX_REDISPLAY(); - } - } -#endif // TARGET_NANOX - }); - break; - } - - // close the event if not done previously (by a display or whatever) - if (!io_seproxyhal_spi_is_status_sent()) { - io_seproxyhal_general_status(); - } - - // command has been processed, DO NOT reset the current APDU transport - return 1; -} - -unsigned short io_exchange_al(unsigned char channel, unsigned short tx_len) { - switch (channel & ~(IO_FLAGS)) { - case CHANNEL_KEYBOARD: - break; - - // multiplexed io exchange over a SPI channel and - // TLV encapsulated protocol - case CHANNEL_SPI: - if (tx_len) { - io_seproxyhal_spi_send(G_io_apdu_buffer, tx_len); - - if (channel & IO_RESET_AFTER_REPLIED) { - reset(); - } - return 0; // nothing received from the master so far - // (it's a tx transaction) - } else { - return io_seproxyhal_spi_recv(G_io_apdu_buffer, sizeof(G_io_apdu_buffer), 0); - } - - default: - THROW(ApduReplySdkInvalidParameter); - } - return 0; -} - void app_exit(void) { BEGIN_TRY_L(exit) { TRY_L(exit) { diff --git a/src/signMessage.c b/src/signMessage.c index 32c83591..7a002ba1 100644 --- a/src/signMessage.c +++ b/src/signMessage.c @@ -1,5 +1,6 @@ #include "getPubkey.h" #include "os.h" +#include "io.h" #include "ux.h" #include "cx.h" #include "menu.h" diff --git a/src/signOffchainMessage.c b/src/signOffchainMessage.c index 75af138b..fed49eb3 100644 --- a/src/signOffchainMessage.c +++ b/src/signOffchainMessage.c @@ -1,3 +1,4 @@ +#include "io.h" #include "getPubkey.h" #include "os.h" #include "ux.h" diff --git a/src/utils.c b/src/utils.c index 6a4e0b30..2902a6c6 100644 --- a/src/utils.c +++ b/src/utils.c @@ -123,29 +123,3 @@ int read_derivation_path(const uint8_t *data_buffer, return 0; } -void sendResponse(uint8_t tx, bool approve, bool display_menu) { - G_io_apdu_buffer[tx++] = approve ? 0x90 : 0x69; - G_io_apdu_buffer[tx++] = approve ? 0x00 : 0x85; - // Send back the response, do not restart the event loop - io_exchange(CHANNEL_APDU | IO_RETURN_AFTER_TX, tx); - if (display_menu) { - // Display back the original UX - ui_idle(); - } -} - -unsigned int ui_prepro(const bagl_element_t *element) { - unsigned int display = 1; - if (element->component.userid > 0) { - display = (ux_step == element->component.userid - 1); - if (display) { - if (element->component.userid == 1) { - UX_CALLBACK_SET_INTERVAL(2000); - } else { - UX_CALLBACK_SET_INTERVAL( - MAX(3000, 1000 + bagl_label_roundtrip_duration_ms(element, 7))); - } - } - } - return display; -} diff --git a/src/utils.h b/src/utils.h index a5c2ce56..c726d99d 100644 --- a/src/utils.h +++ b/src/utils.h @@ -19,8 +19,6 @@ typedef enum rlpTxType { TX_FEE } rlpTxType; -unsigned int ui_prepro(const bagl_element_t *element); - void get_public_key(uint8_t *publicKeyArray, const uint32_t *derivationPath, size_t pathLength); uint32_t readUint32BE(uint8_t *buffer); @@ -53,7 +51,6 @@ int read_derivation_path(const uint8_t *data_buffer, uint32_t *derivation_path, uint32_t *derivation_path_length); -void sendResponse(uint8_t tx, bool approve, bool display_menu); // type userid x y w h str rad fill fg bg fid iid txt // touchparams... ] From 0f3c7fd9be473942c397f5be14c463dad2c4c429 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:41:00 +0100 Subject: [PATCH 02/14] Move BAGL UI code for main menu in dedicated file --- ...{solana_logo.gif => icon_solana_16x16.gif} | Bin src/menu.h | 7 ++--- src/{menu.c => ui/menu_bagl.c} | 26 ++++++++++++------ 3 files changed, 19 insertions(+), 14 deletions(-) rename glyphs/{solana_logo.gif => icon_solana_16x16.gif} (100%) rename src/{menu.c => ui/menu_bagl.c} (90%) diff --git a/glyphs/solana_logo.gif b/glyphs/icon_solana_16x16.gif similarity index 100% rename from glyphs/solana_logo.gif rename to glyphs/icon_solana_16x16.gif diff --git a/src/menu.h b/src/menu.h index f313846f..3c1498cb 100644 --- a/src/menu.h +++ b/src/menu.h @@ -1,9 +1,6 @@ +#pragma once + #include "globals.h" #include "glyphs.h" -#ifndef _MENU_H_ -#define _MENU_H_ - void ui_idle(void); - -#endif diff --git a/src/menu.c b/src/ui/menu_bagl.c similarity index 90% rename from src/menu.c rename to src/ui/menu_bagl.c index 7c148e53..5f979815 100644 --- a/src/menu.c +++ b/src/ui/menu_bagl.c @@ -1,13 +1,16 @@ +#ifdef HAVE_BAGL + #include "menu.h" #include "os.h" +#include "glyphs.h" void display_settings(void); void switch_allow_blind_sign_data(void); void switch_pubkey_display_data(void); ////////////////////////////////////////////////////////////////////// -const char* settings_submenu_getter(unsigned int idx); -void settings_submenu_selector(unsigned int idx); +static const char* settings_submenu_getter(unsigned int idx); +static void settings_submenu_selector(unsigned int idx); static const char* allow_blind_sign_data_getter(unsigned int idx); static void allow_blind_sign_data_selector(unsigned int idx); static const char* pubkey_display_data_getter(unsigned int idx); @@ -26,7 +29,7 @@ enum SettingsMenuOption { SettingsMenuOptionBack }; -unsigned int settings_submenu_option_index(enum SettingsMenuOption settings_menu_option) { +static unsigned int settings_submenu_option_index(enum SettingsMenuOption settings_menu_option) { switch (settings_menu_option) { case SettingsMenuOptionAllowBlindSign: case SettingsMenuOptionPubkeyLength: @@ -45,14 +48,14 @@ const char* const settings_submenu_getter_values[] = { "Back", }; -const char* settings_submenu_getter(unsigned int idx) { +static const char* settings_submenu_getter(unsigned int idx) { if (idx < ARRAYLEN(settings_submenu_getter_values)) { return settings_submenu_getter_values[idx]; } return NULL; } -void settings_submenu_selector(unsigned int idx) { +static void settings_submenu_selector(unsigned int idx) { switch (idx) { case 0: ux_menulist_init_select(0, @@ -100,7 +103,7 @@ static const char* allow_blind_sign_data_getter(unsigned int idx) { return NULL; } -void allow_blind_sign_data_selector(unsigned int idx) { +static void allow_blind_sign_data_selector(unsigned int idx) { switch (idx) { case 0: allow_blind_sign_data_change(BlindSignDisabled); @@ -118,7 +121,7 @@ void allow_blind_sign_data_selector(unsigned int idx) { ////////////////////////////////////////////////////////////////////////////////////// // Pubkey display submenu -void pubkey_display_data_change(enum PubkeyDisplay pubkey_display) { +static void pubkey_display_data_change(enum PubkeyDisplay pubkey_display) { uint8_t value; switch (pubkey_display) { case PubkeyDisplayLong: @@ -156,7 +159,7 @@ static void pubkey_display_data_selector(unsigned int idx) { ////////////////////////////////////////////////////////////////////////////////////// // Display mode submenu -void display_mode_data_change(enum DisplayMode display_mode) { +static void display_mode_data_change(enum DisplayMode display_mode) { uint8_t value; switch (display_mode) { case DisplayModeUser: @@ -192,10 +195,11 @@ static void display_mode_data_selector(unsigned int idx) { } ////////////////////////////////////////////////////////////////////// + UX_STEP_NOCB(ux_idle_flow_1_step, pnn, { - &C_solana_logo, + &C_icon_solana_16x16, "Application", "is ready", }); @@ -226,6 +230,8 @@ UX_FLOW(ux_idle_flow, &ux_idle_flow_4_step, FLOW_LOOP); +////////////////////////////////////////////////////////////////////// + void ui_idle(void) { // reserve a display stack slot if none yet if (G_ux.stack_count == 0) { @@ -233,3 +239,5 @@ void ui_idle(void) { } ux_flow_init(0, ux_idle_flow, NULL); } + +#endif From 8a8b727b16ac83a9110c26b1b5880119aea4d35f Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:14:28 +0100 Subject: [PATCH 03/14] Move BAGL UI code for GET_PUBKEY instruction in dedicated file --- src/{getPubkey.c => handle_get_pubkey.c} | 39 +++-------------- src/{getPubkey.h => handle_get_pubkey.h} | 10 +++-- src/main.c | 2 +- src/signMessage.c | 1 - src/signOffchainMessage.c | 1 - src/ui/get_pubkey_bagl.c | 56 ++++++++++++++++++++++++ 6 files changed, 69 insertions(+), 40 deletions(-) rename src/{getPubkey.c => handle_get_pubkey.c} (51%) rename src/{getPubkey.h => handle_get_pubkey.h} (52%) create mode 100644 src/ui/get_pubkey_bagl.c diff --git a/src/getPubkey.c b/src/handle_get_pubkey.c similarity index 51% rename from src/getPubkey.c rename to src/handle_get_pubkey.c index beeea27b..407b2e5f 100644 --- a/src/getPubkey.c +++ b/src/handle_get_pubkey.c @@ -1,52 +1,23 @@ -#include "apdu.h" -#include "getPubkey.h" -#include "os.h" -#include "io.h" -#include "ux.h" #include "utils.h" +#include "globals.h" +#include "handle_get_pubkey.h" #include "sol/printer.h" static uint8_t G_publicKey[PUBKEY_LENGTH]; -static char G_publicKeyStr[BASE58_PUBKEY_LENGTH]; +char G_publicKeyStr[BASE58_PUBKEY_LENGTH]; void reset_getpubkey_globals(void) { MEMCLEAR(G_publicKey); MEMCLEAR(G_publicKeyStr); } -static uint8_t set_result_get_pubkey() { +uint8_t set_result_get_pubkey(void) { memcpy(G_io_apdu_buffer, G_publicKey, PUBKEY_LENGTH); return PUBKEY_LENGTH; } ////////////////////////////////////////////////////////////////////// -UX_STEP_NOCB(ux_display_public_flow_5_step, - bnnn_paging, - { - .title = "Pubkey", - .text = G_publicKeyStr, - }); -UX_STEP_CB(ux_display_public_flow_6_step, - pb, - sendResponse(set_result_get_pubkey(), true, true), - { - &C_icon_validate_14, - "Approve", - }); -UX_STEP_CB(ux_display_public_flow_7_step, - pb, - sendResponse(0, false, true), - { - &C_icon_crossmark, - "Reject", - }); - -UX_FLOW(ux_display_public_flow, - &ux_display_public_flow_5_step, - &ux_display_public_flow_6_step, - &ux_display_public_flow_7_step); - void handle_get_pubkey(volatile unsigned int *flags, volatile unsigned int *tx) { if (!flags || !tx || (G_command.instruction != InsDeprecatedGetPubkey && @@ -62,7 +33,7 @@ void handle_get_pubkey(volatile unsigned int *flags, volatile unsigned int *tx) *tx = set_result_get_pubkey(); THROW(ApduReplySuccess); } else { - ux_flow_init(0, ux_display_public_flow, NULL); + ui_get_public_key(); *flags |= IO_ASYNCH_REPLY; } } diff --git a/src/getPubkey.h b/src/handle_get_pubkey.h similarity index 52% rename from src/getPubkey.h rename to src/handle_get_pubkey.h index 59e0e1fa..6792afe1 100644 --- a/src/getPubkey.h +++ b/src/handle_get_pubkey.h @@ -1,12 +1,16 @@ +#pragma once + #include "os.h" #include "cx.h" #include "globals.h" +#include "sol/printer.h" -#ifndef _GET_PUBKEY_H_ -#define _GET_PUBKEY_H_ +extern char G_publicKeyStr[BASE58_PUBKEY_LENGTH]; void reset_getpubkey_globals(void); void handle_get_pubkey(volatile unsigned int *flags, volatile unsigned int *tx); -#endif +uint8_t set_result_get_pubkey(void); + +void ui_get_public_key(void); diff --git a/src/main.c b/src/main.c index df78e30b..26a26fc8 100644 --- a/src/main.c +++ b/src/main.c @@ -16,7 +16,7 @@ ********************************************************************************/ #include "utils.h" -#include "getPubkey.h" +#include "handle_get_pubkey.h" #include "signMessage.h" #include "signOffchainMessage.h" #include "apdu.h" diff --git a/src/signMessage.c b/src/signMessage.c index 7a002ba1..b8523acf 100644 --- a/src/signMessage.c +++ b/src/signMessage.c @@ -1,4 +1,3 @@ -#include "getPubkey.h" #include "os.h" #include "io.h" #include "ux.h" diff --git a/src/signOffchainMessage.c b/src/signOffchainMessage.c index fed49eb3..c4399264 100644 --- a/src/signOffchainMessage.c +++ b/src/signOffchainMessage.c @@ -1,5 +1,4 @@ #include "io.h" -#include "getPubkey.h" #include "os.h" #include "ux.h" #include "cx.h" diff --git a/src/ui/get_pubkey_bagl.c b/src/ui/get_pubkey_bagl.c new file mode 100644 index 00000000..6a7de0df --- /dev/null +++ b/src/ui/get_pubkey_bagl.c @@ -0,0 +1,56 @@ + +/***************************************************************************** + * Ledger App Solana + * (c) 2023 Ledger SAS. + * + * 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. + *****************************************************************************/ + +#ifdef HAVE_BAGL + +#include "handle_get_pubkey.h" +#include "io.h" +#include "ux.h" + +UX_STEP_NOCB(ux_display_public_flow_5_step, + bnnn_paging, + { + .title = "Pubkey", + .text = G_publicKeyStr, + }); +UX_STEP_CB(ux_display_public_flow_6_step, + pb, + sendResponse(set_result_get_pubkey(), true, true), + { + &C_icon_validate_14, + "Approve", + }); +UX_STEP_CB(ux_display_public_flow_7_step, + pb, + sendResponse(0, false, true), + { + &C_icon_crossmark, + "Reject", + }); + +UX_FLOW(ux_display_public_flow, + &ux_display_public_flow_5_step, + &ux_display_public_flow_6_step, + &ux_display_public_flow_7_step); + + +void ui_get_public_key(void) { + ux_flow_init(0, ux_display_public_flow, NULL); +} + +#endif From ca9f232f060301342b34fee2c58b977db3906d6b Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:09:47 +0100 Subject: [PATCH 04/14] Move BAGL UI code for SIGN_MESSAGE instruction in dedicated file --- src/{signMessage.c => handle_sign_message.c} | 65 ++----------------- src/{signMessage.h => handle_sign_message.h} | 9 +-- src/main.c | 2 +- src/ui/sign_message_bagl.c | 68 ++++++++++++++++++++ 4 files changed, 78 insertions(+), 66 deletions(-) rename src/{signMessage.c => handle_sign_message.c} (77%) rename src/{signMessage.h => handle_sign_message.h} (54%) create mode 100644 src/ui/sign_message_bagl.c diff --git a/src/signMessage.c b/src/handle_sign_message.c similarity index 77% rename from src/signMessage.c rename to src/handle_sign_message.c index b8523acf..b8d6b43c 100644 --- a/src/signMessage.c +++ b/src/handle_sign_message.c @@ -1,20 +1,18 @@ -#include "os.h" #include "io.h" -#include "ux.h" -#include "cx.h" #include "menu.h" #include "utils.h" +#include "handle_swap_sign_transaction.h" + #include "sol/parser.h" #include "sol/printer.h" #include "sol/print_config.h" #include "sol/message.h" #include "sol/transaction_summary.h" -#include "globals.h" -#include "apdu.h" -#include "handle_swap_sign_transaction.h" +#include "handle_sign_message.h" -static uint8_t set_result_sign_message() { + +uint8_t set_result_sign_message(void) { uint8_t signature[SIGNATURE_LENGTH]; cx_ecfp_private_key_t privateKey; BEGIN_TRY { @@ -45,46 +43,6 @@ static uint8_t set_result_sign_message() { return SIGNATURE_LENGTH; } -////////////////////////////////////////////////////////////////////// - -UX_STEP_CB(ux_approve_step, - pb, - sendResponse(set_result_sign_message(), true, true), - { - &C_icon_validate_14, - "Approve", - }); -UX_STEP_CB(ux_reject_step, - pb, - sendResponse(0, false, true), - { - &C_icon_crossmark, - "Reject", - }); -UX_STEP_NOCB_INIT(ux_summary_step, - bnnn_paging, - { - size_t step_index = G_ux.flow_stack[stack_slot].index; - enum DisplayFlags flags = DisplayFlagNone; - if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { - flags |= DisplayFlagLongPubkeys; - } - if (transaction_summary_display_item(step_index, flags)) { - THROW(ApduReplySolanaSummaryUpdateFailed); - } - }, - { - .title = G_transaction_summary_title, - .text = G_transaction_summary_text, - }); - -#define MAX_FLOW_STEPS \ - (MAX_TRANSACTION_SUMMARY_ITEMS + 1 /* approve */ \ - + 1 /* reject */ \ - + 1 /* FLOW_END_STEP */ \ - ) -ux_flow_step_t const *flow_steps[MAX_FLOW_STEPS]; - static int scan_header_for_signer(const uint32_t *derivation_path, uint32_t derivation_path_length, size_t *signer_index, @@ -219,18 +177,7 @@ void handle_sign_message_ui(volatile unsigned int *flags) { THROW(ApduReplySolanaSummaryFinalizeFailed); } } else { - MEMCLEAR(flow_steps); - size_t num_flow_steps = 0; - - for (size_t i = 0; i < num_summary_steps; i++) { - flow_steps[num_flow_steps++] = &ux_summary_step; - } - - flow_steps[num_flow_steps++] = &ux_approve_step; - flow_steps[num_flow_steps++] = &ux_reject_step; - flow_steps[num_flow_steps++] = FLOW_END_STEP; - - ux_flow_init(0, flow_steps, NULL); + start_sign_tx_ui(num_summary_steps); } } else { THROW(ApduReplySolanaSummaryFinalizeFailed); diff --git a/src/signMessage.h b/src/handle_sign_message.h similarity index 54% rename from src/signMessage.h rename to src/handle_sign_message.h index 40eed74d..ccf77352 100644 --- a/src/signMessage.h +++ b/src/handle_sign_message.h @@ -1,12 +1,9 @@ -#include "os.h" -#include "cx.h" -#include "globals.h" +#pragma once -#ifndef _SIGN_MESSAGE_H_ -#define _SIGN_MESSAGE_H_ +uint8_t set_result_sign_message(void); void handle_sign_message_parse_message(volatile unsigned int *tx); void handle_sign_message_ui(volatile unsigned int *flags); -#endif +void start_sign_tx_ui(size_t num_summary_steps); diff --git a/src/main.c b/src/main.c index 26a26fc8..ad5c49bb 100644 --- a/src/main.c +++ b/src/main.c @@ -17,7 +17,7 @@ #include "utils.h" #include "handle_get_pubkey.h" -#include "signMessage.h" +#include "handle_sign_message.h" #include "signOffchainMessage.h" #include "apdu.h" #include "menu.h" diff --git a/src/ui/sign_message_bagl.c b/src/ui/sign_message_bagl.c new file mode 100644 index 00000000..04a27c3b --- /dev/null +++ b/src/ui/sign_message_bagl.c @@ -0,0 +1,68 @@ +#ifdef HAVE_BAGL + +#include "io.h" +#include "utils.h" +#include "sol/parser.h" +#include "sol/printer.h" +#include "sol/print_config.h" +#include "sol/message.h" +#include "sol/transaction_summary.h" +#include "apdu.h" + +#include "handle_sign_message.h" + + +UX_STEP_CB(ux_approve_step, + pb, + sendResponse(set_result_sign_message(), true, true), + { + &C_icon_validate_14, + "Approve", + }); +UX_STEP_CB(ux_reject_step, + pb, + sendResponse(0, false, true), + { + &C_icon_crossmark, + "Reject", + }); +UX_STEP_NOCB_INIT(ux_summary_step, + bnnn_paging, + { + size_t step_index = G_ux.flow_stack[stack_slot].index; + PRINTF("step_index = %d\n", step_index); + enum DisplayFlags flags = DisplayFlagNone; + if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { + flags |= DisplayFlagLongPubkeys; + } + if (transaction_summary_display_item(step_index, flags)) { + THROW(ApduReplySolanaSummaryUpdateFailed); + } + }, + { + .title = G_transaction_summary_title, + .text = G_transaction_summary_text, + }); + +#define MAX_FLOW_STEPS \ + (MAX_TRANSACTION_SUMMARY_ITEMS + 1 /* approve */ \ + + 1 /* reject */ \ + + 1 /* FLOW_END_STEP */ \ + ) +ux_flow_step_t const *flow_steps[MAX_FLOW_STEPS]; + +void start_sign_tx_ui(size_t num_summary_steps) { + MEMCLEAR(flow_steps); + size_t num_flow_steps = 0; + for (size_t i = 0; i < num_summary_steps; i++) { + flow_steps[num_flow_steps++] = &ux_summary_step; + } + + flow_steps[num_flow_steps++] = &ux_approve_step; + flow_steps[num_flow_steps++] = &ux_reject_step; + flow_steps[num_flow_steps++] = FLOW_END_STEP; + + ux_flow_init(0, flow_steps, NULL); +} + +#endif From e4736ace75700edd35839507d62707cf188b7047 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 18:03:26 +0100 Subject: [PATCH 05/14] Factorize functions in utils --- src/handle_sign_message.c | 31 ------------------------ src/handle_sign_message.h | 2 -- src/signOffchainMessage.c | 33 +------------------------ src/utils.c | 30 +++++++++++++++++++++++ src/utils.h | 51 ++++----------------------------------- 5 files changed, 36 insertions(+), 111 deletions(-) diff --git a/src/handle_sign_message.c b/src/handle_sign_message.c index b8d6b43c..9fc70e36 100644 --- a/src/handle_sign_message.c +++ b/src/handle_sign_message.c @@ -12,37 +12,6 @@ #include "handle_sign_message.h" -uint8_t set_result_sign_message(void) { - uint8_t signature[SIGNATURE_LENGTH]; - cx_ecfp_private_key_t privateKey; - BEGIN_TRY { - TRY { - get_private_key_with_seed(&privateKey, - G_command.derivation_path, - G_command.derivation_path_length); - cx_eddsa_sign(&privateKey, - CX_LAST, - CX_SHA512, - G_command.message, - G_command.message_length, - NULL, - 0, - signature, - SIGNATURE_LENGTH, - NULL); - memcpy(G_io_apdu_buffer, signature, SIGNATURE_LENGTH); - } - CATCH_OTHER(e) { - THROW(e); - } - FINALLY { - MEMCLEAR(privateKey); - } - } - END_TRY; - return SIGNATURE_LENGTH; -} - static int scan_header_for_signer(const uint32_t *derivation_path, uint32_t derivation_path_length, size_t *signer_index, diff --git a/src/handle_sign_message.h b/src/handle_sign_message.h index ccf77352..53ea87bb 100644 --- a/src/handle_sign_message.h +++ b/src/handle_sign_message.h @@ -1,7 +1,5 @@ #pragma once -uint8_t set_result_sign_message(void); - void handle_sign_message_parse_message(volatile unsigned int *tx); void handle_sign_message_ui(volatile unsigned int *flags); diff --git a/src/signOffchainMessage.c b/src/signOffchainMessage.c index c4399264..8ab16a16 100644 --- a/src/signOffchainMessage.c +++ b/src/signOffchainMessage.c @@ -19,7 +19,7 @@ static Pubkey G_publicKey; * Checks if data is in UTF-8 format. * Adapted from: https://www.cl.cam.ac.uk/~mgk25/ucs/utf8_check.c */ -bool is_data_utf8(const uint8_t *data, size_t length) { +static bool is_data_utf8(const uint8_t *data, size_t length) { if (!data) { return false; } @@ -79,37 +79,6 @@ static bool is_data_ascii(const uint8_t *data, size_t length) { return true; } -static uint8_t set_result_sign_message() { - uint8_t signature[SIGNATURE_LENGTH]; - cx_ecfp_private_key_t privateKey; - BEGIN_TRY { - TRY { - get_private_key_with_seed(&privateKey, - G_command.derivation_path, - G_command.derivation_path_length); - cx_eddsa_sign(&privateKey, - CX_LAST, - CX_SHA512, - G_command.message, - G_command.message_length, - NULL, - 0, - signature, - SIGNATURE_LENGTH, - NULL); - memcpy(G_io_apdu_buffer, signature, SIGNATURE_LENGTH); - } - CATCH_OTHER(e) { - THROW(e); - } - FINALLY { - MEMCLEAR(privateKey); - } - } - END_TRY; - return SIGNATURE_LENGTH; -} - ////////////////////////////////////////////////////////////////////// UX_STEP_NOCB(ux_sign_msg_text_step, diff --git a/src/utils.c b/src/utils.c index 2902a6c6..f1666608 100644 --- a/src/utils.c +++ b/src/utils.c @@ -123,3 +123,33 @@ int read_derivation_path(const uint8_t *data_buffer, return 0; } +uint8_t set_result_sign_message(void) { + uint8_t signature[SIGNATURE_LENGTH]; + cx_ecfp_private_key_t privateKey; + BEGIN_TRY { + TRY { + get_private_key_with_seed(&privateKey, + G_command.derivation_path, + G_command.derivation_path_length); + cx_eddsa_sign(&privateKey, + CX_LAST, + CX_SHA512, + G_command.message, + G_command.message_length, + NULL, + 0, + signature, + SIGNATURE_LENGTH, + NULL); + memcpy(G_io_apdu_buffer, signature, SIGNATURE_LENGTH); + } + CATCH_OTHER(e) { + THROW(e); + } + FINALLY { + MEMCLEAR(privateKey); + } + } + END_TRY; + return SIGNATURE_LENGTH; +} diff --git a/src/utils.h b/src/utils.h index c726d99d..59b97961 100644 --- a/src/utils.h +++ b/src/utils.h @@ -7,6 +7,8 @@ #ifndef _UTILS_H_ #define _UTILS_H_ +#define ARRAY_COUNT(array) (sizeof(array) / sizeof(array[0])) + // Marker flag for DEPRECATED ADPU exchange format #define DATA_HAS_LENGTH_PREFIX (1 << 15) @@ -51,54 +53,11 @@ int read_derivation_path(const uint8_t *data_buffer, uint32_t *derivation_path, uint32_t *derivation_path_length); +uint8_t set_result_sign_message(void); -// type userid x y w h str rad fill fg bg fid iid txt -// touchparams... ] -#define UI_BUTTONS \ - {{BAGL_RECTANGLE, 0x00, 0, 0, 128, 32, 0, 0, BAGL_FILL, 0x000000, 0xFFFFFF, 0, 0}, \ - NULL, \ - 0, \ - 0, \ - 0, \ - NULL, \ - NULL, \ - NULL}, \ - {{BAGL_ICON, 0x00, 3, 12, 7, 7, 0, 0, 0, 0xFFFFFF, 0x000000, 0, BAGL_GLYPH_ICON_CROSS}, \ - NULL, \ - 0, \ - 0, \ - 0, \ - NULL, \ - NULL, \ - NULL}, \ - { \ - {BAGL_ICON, 0x00, 117, 13, 8, 6, 0, 0, 0, 0xFFFFFF, 0x000000, 0, BAGL_GLYPH_ICON_CHECK}, \ - NULL, 0, 0, 0, NULL, NULL, NULL \ - } - -#define UI_FIRST 1 -#define UI_SECOND 0 - -#define UI_LABELINE(userId, text, isFirst, font, horizontalScrollSpeed) \ - { \ - {BAGL_LABELINE, \ - (userId), \ - 23, \ - (isFirst) ? 12 : 26, \ - 82, \ - 12, \ - (horizontalScrollSpeed) ? BAGL_STROKE_FLAG_ONESHOT | 10 : 0, \ - 0, \ - 0, \ - 0xFFFFFF, \ - 0x000000, \ - (font) | BAGL_FONT_ALIGNMENT_CENTER, \ - horizontalScrollSpeed}, \ - (text), 0, 0, 0, NULL, NULL, NULL \ - } - -#endif +#endif //_UTILS_H_ +// Outdated ? #ifdef TEST #include #define THROW(code) \ From 4a747f064c0d0f1ddbbd58bcf6fafacdde56d7d3 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:04:38 +0100 Subject: [PATCH 06/14] Factorize UX for message and offchain message signing --- ...ssage.c => handle_sign_offchain_message.c} | 70 +-------------- ...ssage.h => handle_sign_offchain_message.h} | 7 +- src/main.c | 2 +- src/ui/sign_message_bagl.c | 86 +++++++++++++++---- 4 files changed, 75 insertions(+), 90 deletions(-) rename src/{signOffchainMessage.c => handle_sign_offchain_message.c} (73%) rename src/{signOffchainMessage.h => handle_sign_offchain_message.h} (61%) diff --git a/src/signOffchainMessage.c b/src/handle_sign_offchain_message.c similarity index 73% rename from src/signOffchainMessage.c rename to src/handle_sign_offchain_message.c index 8ab16a16..2a84e99d 100644 --- a/src/signOffchainMessage.c +++ b/src/handle_sign_offchain_message.c @@ -11,6 +11,8 @@ #include "sol/transaction_summary.h" #include "globals.h" #include "apdu.h" +#include "handle_sign_offchain_message.h" + // Store locally the derived public key content static Pubkey G_publicKey; @@ -81,61 +83,6 @@ static bool is_data_ascii(const uint8_t *data, size_t length) { ////////////////////////////////////////////////////////////////////// -UX_STEP_NOCB(ux_sign_msg_text_step, - bnnn_paging, - { - .title = "Message", - .text = (const char *) G_command.message + OFFCHAIN_MESSAGE_HEADER_LENGTH, - }); -UX_STEP_CB(ux_sign_msg_approve_step, - pb, - sendResponse(set_result_sign_message(), true, true), - { - &C_icon_validate_14, - "Approve", - }); -UX_STEP_CB(ux_sign_msg_reject_step, - pb, - sendResponse(0, false, true), - { - &C_icon_crossmark, - "Reject", - }); -UX_STEP_NOCB_INIT(ux_sign_msg_summary_step, - bnnn_paging, - { - size_t step_index = G_ux.flow_stack[stack_slot].index; - enum DisplayFlags flags = DisplayFlagNone; - if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { - flags |= DisplayFlagLongPubkeys; - } - if (transaction_summary_display_item(step_index, flags)) { - THROW(ApduReplySolanaSummaryUpdateFailed); - } - }, - { - .title = G_transaction_summary_title, - .text = G_transaction_summary_text, - }); - -/* -UX Steps: -- Sign Message - -if expert mode: -- Version -- Format -- Size -- Hash -- Signer -else if utf8: -- Hash - -if ascii: -- message text -*/ -static ux_flow_step_t const *flow_steps[8]; - void handle_sign_offchain_message(volatile unsigned int *flags, volatile unsigned int *tx) { if (!tx || G_command.instruction != InsSignOffchainMessage || G_command.state != ApduStatePayloadComplete) { @@ -201,23 +148,12 @@ void handle_sign_offchain_message(volatile unsigned int *flags, volatile unsigne } enum SummaryItemKind summary_step_kinds[MAX_TRANSACTION_SUMMARY_ITEMS]; - size_t num_flow_steps = 0; size_t num_summary_steps = 0; if (transaction_summary_finalize(summary_step_kinds, &num_summary_steps)) { THROW(ApduReplySolanaSummaryFinalizeFailed); } - for (size_t i = 0; i < num_summary_steps; i++) { - flow_steps[num_flow_steps++] = &ux_sign_msg_summary_step; - } - - if (is_ascii) { - flow_steps[num_flow_steps++] = &ux_sign_msg_text_step; - } - flow_steps[num_flow_steps++] = &ux_sign_msg_approve_step; - flow_steps[num_flow_steps++] = &ux_sign_msg_reject_step; - flow_steps[num_flow_steps++] = FLOW_END_STEP; - ux_flow_init(0, flow_steps, NULL); + start_sign_offchain_message_ui(is_ascii, num_summary_steps); *flags |= IO_ASYNCH_REPLY; } diff --git a/src/signOffchainMessage.h b/src/handle_sign_offchain_message.h similarity index 61% rename from src/signOffchainMessage.h rename to src/handle_sign_offchain_message.h index dbfd23f4..28a35217 100644 --- a/src/signOffchainMessage.h +++ b/src/handle_sign_offchain_message.h @@ -1,10 +1,9 @@ +#pragma once + #include "os.h" #include "cx.h" #include "globals.h" -#ifndef _SIGN_OFFCHAIN_MESSAGE_H_ -#define _SIGN_OFFCHAIN_MESSAGE_H_ - void handle_sign_offchain_message(volatile unsigned int *flags, volatile unsigned int *tx); -#endif +void start_sign_offchain_message_ui(bool is_ascii, size_t num_summary_steps); diff --git a/src/main.c b/src/main.c index ad5c49bb..4bdecb27 100644 --- a/src/main.c +++ b/src/main.c @@ -18,7 +18,7 @@ #include "utils.h" #include "handle_get_pubkey.h" #include "handle_sign_message.h" -#include "signOffchainMessage.h" +#include "handle_sign_offchain_message.h" #include "apdu.h" #include "menu.h" diff --git a/src/ui/sign_message_bagl.c b/src/ui/sign_message_bagl.c index 04a27c3b..8c30dca2 100644 --- a/src/ui/sign_message_bagl.c +++ b/src/ui/sign_message_bagl.c @@ -11,26 +11,19 @@ #include "handle_sign_message.h" +// Display offchain message screen +UX_STEP_NOCB(ux_sign_msg_text_step, + bnnn_paging, + { + .title = "Message", + .text = (const char *) G_command.message + OFFCHAIN_MESSAGE_HEADER_LENGTH, + }); -UX_STEP_CB(ux_approve_step, - pb, - sendResponse(set_result_sign_message(), true, true), - { - &C_icon_validate_14, - "Approve", - }); -UX_STEP_CB(ux_reject_step, - pb, - sendResponse(0, false, true), - { - &C_icon_crossmark, - "Reject", - }); +// Display dynamic transaction item screen UX_STEP_NOCB_INIT(ux_summary_step, bnnn_paging, { size_t step_index = G_ux.flow_stack[stack_slot].index; - PRINTF("step_index = %d\n", step_index); enum DisplayFlags flags = DisplayFlagNone; if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { flags |= DisplayFlagLongPubkeys; @@ -44,12 +37,53 @@ UX_STEP_NOCB_INIT(ux_summary_step, .text = G_transaction_summary_text, }); -#define MAX_FLOW_STEPS \ - (MAX_TRANSACTION_SUMMARY_ITEMS + 1 /* approve */ \ +// Approve and sign screen +UX_STEP_CB(ux_approve_step, + pb, + sendResponse(set_result_sign_message(), true, true), + { + &C_icon_validate_14, + "Approve", + }); + +// Reject signature screen +UX_STEP_CB(ux_reject_step, + pb, + sendResponse(0, false, true), + { + &C_icon_crossmark, + "Reject", + }); + +#define MAX_FLOW_STEPS_ONCHAIN \ + (MAX_TRANSACTION_SUMMARY_ITEMS \ + + 1 /* approve */ \ + 1 /* reject */ \ + 1 /* FLOW_END_STEP */ \ ) -ux_flow_step_t const *flow_steps[MAX_FLOW_STEPS]; +/* +OFFCHAIN UX Steps: +- Sign Message + +if expert mode: +- Version +- Format +- Size +- Hash +- Signer +else if utf8: +- Hash + +if ascii: +- message text +*/ +#define MAX_FLOW_STEPS_OFFCHAIN \ + (7 \ + + 1 /* approve */ \ + + 1 /* reject */ \ + + 1 /* FLOW_END_STEP */ \ + ) +static ux_flow_step_t const *flow_steps[MAX(MAX_FLOW_STEPS_ONCHAIN, MAX_FLOW_STEPS_OFFCHAIN)]; void start_sign_tx_ui(size_t num_summary_steps) { MEMCLEAR(flow_steps); @@ -65,4 +99,20 @@ void start_sign_tx_ui(size_t num_summary_steps) { ux_flow_init(0, flow_steps, NULL); } +void start_sign_offchain_message_ui(bool is_ascii, size_t num_summary_steps) { + MEMCLEAR(flow_steps); + size_t num_flow_steps = 0; + for (size_t i = 0; i < num_summary_steps; i++) { + flow_steps[num_flow_steps++] = &ux_summary_step; + } + if (is_ascii) { + flow_steps[num_flow_steps++] = &ux_sign_msg_text_step; + } + flow_steps[num_flow_steps++] = &ux_approve_step; + flow_steps[num_flow_steps++] = &ux_reject_step; + flow_steps[num_flow_steps++] = FLOW_END_STEP; + + ux_flow_init(0, flow_steps, NULL); +} + #endif From 4924fcebd609760e6002f163dfd851d5ff5c579e Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 18:51:52 +0100 Subject: [PATCH 07/14] Lint --- src/handle_sign_message.c | 1 - src/ui/get_pubkey_bagl.c | 1 - src/ui/sign_message_bagl.c | 12 +++++------- src/utils.h | 2 +- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/handle_sign_message.c b/src/handle_sign_message.c index 9fc70e36..6beea1ce 100644 --- a/src/handle_sign_message.c +++ b/src/handle_sign_message.c @@ -11,7 +11,6 @@ #include "handle_sign_message.h" - static int scan_header_for_signer(const uint32_t *derivation_path, uint32_t derivation_path_length, size_t *signer_index, diff --git a/src/ui/get_pubkey_bagl.c b/src/ui/get_pubkey_bagl.c index 6a7de0df..e9a41e8f 100644 --- a/src/ui/get_pubkey_bagl.c +++ b/src/ui/get_pubkey_bagl.c @@ -48,7 +48,6 @@ UX_FLOW(ux_display_public_flow, &ux_display_public_flow_6_step, &ux_display_public_flow_7_step); - void ui_get_public_key(void) { ux_flow_init(0, ux_display_public_flow, NULL); } diff --git a/src/ui/sign_message_bagl.c b/src/ui/sign_message_bagl.c index 8c30dca2..a0c6bf5e 100644 --- a/src/ui/sign_message_bagl.c +++ b/src/ui/sign_message_bagl.c @@ -56,8 +56,7 @@ UX_STEP_CB(ux_reject_step, }); #define MAX_FLOW_STEPS_ONCHAIN \ - (MAX_TRANSACTION_SUMMARY_ITEMS \ - + 1 /* approve */ \ + (MAX_TRANSACTION_SUMMARY_ITEMS + 1 /* approve */ \ + 1 /* reject */ \ + 1 /* FLOW_END_STEP */ \ ) @@ -77,11 +76,10 @@ else if utf8: if ascii: - message text */ -#define MAX_FLOW_STEPS_OFFCHAIN \ - (7 \ - + 1 /* approve */ \ - + 1 /* reject */ \ - + 1 /* FLOW_END_STEP */ \ +#define MAX_FLOW_STEPS_OFFCHAIN \ + (7 + 1 /* approve */ \ + + 1 /* reject */ \ + + 1 /* FLOW_END_STEP */ \ ) static ux_flow_step_t const *flow_steps[MAX(MAX_FLOW_STEPS_ONCHAIN, MAX_FLOW_STEPS_OFFCHAIN)]; diff --git a/src/utils.h b/src/utils.h index 59b97961..6961b711 100644 --- a/src/utils.h +++ b/src/utils.h @@ -55,7 +55,7 @@ int read_derivation_path(const uint8_t *data_buffer, uint8_t set_result_sign_message(void); -#endif //_UTILS_H_ +#endif //_UTILS_H_ // Outdated ? #ifdef TEST From 702738680989a3f8d22a30be4bb24dcb3f21bf01 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 30 Mar 2023 17:50:32 +0200 Subject: [PATCH 08/14] Review --- src/handle_get_pubkey.c | 1 + src/handle_get_pubkey.h | 2 -- src/handle_sign_message.c | 2 +- src/handle_sign_message.h | 2 -- src/handle_sign_offchain_message.c | 3 +-- src/handle_sign_offchain_message.h | 2 -- src/io.c | 4 ++-- src/main.c | 2 +- src/menu.h | 6 ------ src/ui/menu_bagl.c | 4 +++- src/ui/ui_api.h | 11 +++++++++++ src/utils.c | 1 - 12 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 src/menu.h create mode 100644 src/ui/ui_api.h diff --git a/src/handle_get_pubkey.c b/src/handle_get_pubkey.c index 407b2e5f..f61395e7 100644 --- a/src/handle_get_pubkey.c +++ b/src/handle_get_pubkey.c @@ -2,6 +2,7 @@ #include "globals.h" #include "handle_get_pubkey.h" #include "sol/printer.h" +#include "ui_api.h" static uint8_t G_publicKey[PUBKEY_LENGTH]; char G_publicKeyStr[BASE58_PUBKEY_LENGTH]; diff --git a/src/handle_get_pubkey.h b/src/handle_get_pubkey.h index 6792afe1..99ade210 100644 --- a/src/handle_get_pubkey.h +++ b/src/handle_get_pubkey.h @@ -12,5 +12,3 @@ void reset_getpubkey_globals(void); void handle_get_pubkey(volatile unsigned int *flags, volatile unsigned int *tx); uint8_t set_result_get_pubkey(void); - -void ui_get_public_key(void); diff --git a/src/handle_sign_message.c b/src/handle_sign_message.c index 6beea1ce..dbabeed5 100644 --- a/src/handle_sign_message.c +++ b/src/handle_sign_message.c @@ -1,5 +1,4 @@ #include "io.h" -#include "menu.h" #include "utils.h" #include "handle_swap_sign_transaction.h" @@ -10,6 +9,7 @@ #include "sol/transaction_summary.h" #include "handle_sign_message.h" +#include "ui_api.h" static int scan_header_for_signer(const uint32_t *derivation_path, uint32_t derivation_path_length, diff --git a/src/handle_sign_message.h b/src/handle_sign_message.h index 53ea87bb..57618bb3 100644 --- a/src/handle_sign_message.h +++ b/src/handle_sign_message.h @@ -3,5 +3,3 @@ void handle_sign_message_parse_message(volatile unsigned int *tx); void handle_sign_message_ui(volatile unsigned int *flags); - -void start_sign_tx_ui(size_t num_summary_steps); diff --git a/src/handle_sign_offchain_message.c b/src/handle_sign_offchain_message.c index 2a84e99d..1b5a725d 100644 --- a/src/handle_sign_offchain_message.c +++ b/src/handle_sign_offchain_message.c @@ -2,7 +2,6 @@ #include "os.h" #include "ux.h" #include "cx.h" -#include "menu.h" #include "utils.h" #include "sol/parser.h" #include "sol/printer.h" @@ -12,7 +11,7 @@ #include "globals.h" #include "apdu.h" #include "handle_sign_offchain_message.h" - +#include "ui_api.h" // Store locally the derived public key content static Pubkey G_publicKey; diff --git a/src/handle_sign_offchain_message.h b/src/handle_sign_offchain_message.h index 28a35217..11843430 100644 --- a/src/handle_sign_offchain_message.h +++ b/src/handle_sign_offchain_message.h @@ -5,5 +5,3 @@ #include "globals.h" void handle_sign_offchain_message(volatile unsigned int *flags, volatile unsigned int *tx); - -void start_sign_offchain_message_ui(bool is_ascii, size_t num_summary_steps); diff --git a/src/io.c b/src/io.c index c222e9ae..c3025dff 100644 --- a/src/io.c +++ b/src/io.c @@ -22,12 +22,12 @@ #include "ux.h" #include "apdu.h" -#include "menu.h" +#include "ui_api.h" #include "io.h" // override point, but nothing more to do void io_seproxyhal_display(const bagl_element_t *element) { - io_seproxyhal_display_default((bagl_element_t *) element); + io_seproxyhal_display_default(element); } uint8_t io_event(uint8_t channel) { diff --git a/src/main.c b/src/main.c index 4bdecb27..7bc84e90 100644 --- a/src/main.c +++ b/src/main.c @@ -20,7 +20,7 @@ #include "handle_sign_message.h" #include "handle_sign_offchain_message.h" #include "apdu.h" -#include "menu.h" +#include "ui_api.h" // Swap feature #include "swap_lib_calls.h" diff --git a/src/menu.h b/src/menu.h deleted file mode 100644 index 3c1498cb..00000000 --- a/src/menu.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -#include "globals.h" -#include "glyphs.h" - -void ui_idle(void); diff --git a/src/ui/menu_bagl.c b/src/ui/menu_bagl.c index 5f979815..45e32b63 100644 --- a/src/ui/menu_bagl.c +++ b/src/ui/menu_bagl.c @@ -1,8 +1,10 @@ #ifdef HAVE_BAGL -#include "menu.h" +#include "ux.h" #include "os.h" +#include "globals.h" #include "glyphs.h" +#include "ui_api.h" void display_settings(void); void switch_allow_blind_sign_data(void); diff --git a/src/ui/ui_api.h b/src/ui/ui_api.h new file mode 100644 index 00000000..0c5cc054 --- /dev/null +++ b/src/ui/ui_api.h @@ -0,0 +1,11 @@ +#pragma once + +#include "os.h" + +void ui_idle(void); + +void ui_get_public_key(void); + +void start_sign_tx_ui(size_t num_summary_steps); + +void start_sign_offchain_message_ui(bool is_ascii, size_t num_summary_steps); diff --git a/src/utils.c b/src/utils.c index f1666608..56295ac6 100644 --- a/src/utils.c +++ b/src/utils.c @@ -3,7 +3,6 @@ #include #include #include "utils.h" -#include "menu.h" void get_public_key(uint8_t *publicKeyArray, const uint32_t *derivationPath, size_t pathLength) { cx_ecfp_private_key_t privateKey; From 62b85bb9ce875ee90c26eb24d5eef983db22a8e7 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:41:31 +0100 Subject: [PATCH 09/14] Enable compilation for Stax and port main menu and settings menu --- .github/workflows/ci-workflow.yml | 4 +- Makefile | 42 ++++++---- glyphs/icon_solana_64x64.gif | Bin 0 -> 249 bytes icons/stax_app_solana.gif | Bin 0 -> 125 bytes src/io.c | 19 +++++ src/io.h | 2 + src/main.c | 2 +- src/ui/menu_nbgl.c | 134 ++++++++++++++++++++++++++++++ 8 files changed, 186 insertions(+), 17 deletions(-) create mode 100644 glyphs/icon_solana_64x64.gif create mode 100644 icons/stax_app_solana.gif create mode 100644 src/ui/menu_nbgl.c diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index e592b6e7..d1a183e1 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -14,7 +14,7 @@ jobs: uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1 with: upload_app_binaries_artifact: compiled_app_binaries - run_for_devices: '["nanos", "nanox", "nanosp"]' + run_for_devices: '["nanos", "nanox", "nanosp", "stax"]' ragger_tests: name: Run ragger tests using the reusable workflow @@ -23,7 +23,7 @@ jobs: with: download_app_binaries_artifact: compiled_app_binaries test_dir: tests/python - run_for_devices: '["nanos", "nanox", "nanosp"]' + run_for_devices: '["nanos", "nanox", "nanosp", "stax"]' job_C_test: name: C tests diff --git a/Makefile b/Makefile index 67fd68e7..f3da4db0 100644 --- a/Makefile +++ b/Makefile @@ -29,22 +29,24 @@ endif include $(BOLOS_SDK)/Makefile.defines APP_LOAD_PARAMS = --curve ed25519 -ifeq ($(TARGET_NAME), TARGET_NANOS) -APP_LOAD_PARAMS += --appFlags 0x800 # APPLICATION_FLAG_LIBRARY -else +ifeq ($(TARGET_NAME),$(filter $(TARGET_NAME),TARGET_NANOX TARGET_STAX)) APP_LOAD_PARAMS += --appFlags 0xa00 # APPLICATION_FLAG_LIBRARY + APPLICATION_FLAG_BOLOS_SETTINGS +else +APP_LOAD_PARAMS += --appFlags 0x800 # APPLICATION_FLAG_LIBRARY endif APP_LOAD_PARAMS += --path "44'/501'" APP_LOAD_PARAMS += $(COMMON_LOAD_PARAMS) APPNAME = "Solana" APPVERSION_M = 1 -APPVERSION_N = 3 +APPVERSION_N = 4 APPVERSION_P = 0 APPVERSION = "$(APPVERSION_M).$(APPVERSION_N).$(APPVERSION_P)" ifeq ($(TARGET_NAME),TARGET_NANOS) ICONNAME=icons/nanos_app_solana.gif +else ifeq ($(TARGET_NAME),TARGET_STAX) + ICONNAME=icons/stax_app_solana.gif else ICONNAME=icons/nanox_app_solana.gif endif @@ -59,14 +61,14 @@ DEFINES += APPNAME=\"$(APPNAME)\" DEFINES += APPVERSION=\"$(APPVERSION)\" DEFINES += MAJOR_VERSION=$(APPVERSION_M) MINOR_VERSION=$(APPVERSION_N) PATCH_VERSION=$(APPVERSION_P) DEFINES += OS_IO_SEPROXYHAL -DEFINES += HAVE_BAGL HAVE_UX_FLOW HAVE_SPRINTF +DEFINES += HAVE_SPRINTF DEFINES += HAVE_IO_USB HAVE_L4_USBLIB IO_USB_MAX_ENDPOINTS=6 IO_HID_EP_LENGTH=64 HAVE_USB_APDU DEFINES += USB_SEGMENT_SIZE=64 DEFINES += BLE_SEGMENT_SIZE=32 DEFINES += HAVE_WEBUSB WEBUSB_URL_SIZE_B=0 WEBUSB_URL="" DEFINES += UNUSED\(x\)=\(void\)x -ifeq ($(TARGET_NAME),TARGET_NANOX) +ifeq ($(TARGET_NAME),$(filter $(TARGET_NAME),TARGET_NANOX TARGET_STAX)) DEFINES += HAVE_BLE BLE_COMMAND_TIMEOUT_MS=2000 HAVE_BLE_APDU endif @@ -74,12 +76,20 @@ ifeq ($(TARGET_NAME),TARGET_NANOS) DEFINES += IO_SEPROXYHAL_BUFFER_SIZE_B=128 else DEFINES += IO_SEPROXYHAL_BUFFER_SIZE_B=300 - DEFINES += HAVE_GLO096 - DEFINES += BAGL_WIDTH=128 BAGL_HEIGHT=64 - DEFINES += HAVE_BAGL_ELLIPSIS - DEFINES += HAVE_BAGL_FONT_OPEN_SANS_REGULAR_11PX - DEFINES += HAVE_BAGL_FONT_OPEN_SANS_EXTRABOLD_11PX - DEFINES += HAVE_BAGL_FONT_OPEN_SANS_LIGHT_16PX +endif + +ifeq ($(TARGET_NAME),TARGET_STAX) + DEFINES += NBGL_QRCODE +else + DEFINES += HAVE_BAGL HAVE_UX_FLOW + ifneq ($(TARGET_NAME),TARGET_NANOS) + DEFINES += HAVE_GLO096 + DEFINES += BAGL_WIDTH=128 BAGL_HEIGHT=64 + DEFINES += HAVE_BAGL_ELLIPSIS + DEFINES += HAVE_BAGL_FONT_OPEN_SANS_REGULAR_11PX + DEFINES += HAVE_BAGL_FONT_OPEN_SANS_EXTRABOLD_11PX + DEFINES += HAVE_BAGL_FONT_OPEN_SANS_LIGHT_16PX + endif endif DEBUG = 0 @@ -118,9 +128,13 @@ LDLIBS += -lm -lgcc -lc include $(BOLOS_SDK)/Makefile.glyphs APP_SOURCE_PATH += src -SDK_SOURCE_PATH += lib_stusb lib_stusb_impl lib_ux +SDK_SOURCE_PATH += lib_stusb lib_stusb_impl + +ifneq ($(TARGET_NAME),TARGET_STAX) +SDK_SOURCE_PATH += lib_ux +endif -ifeq ($(TARGET_NAME),TARGET_NANOX) +ifeq ($(TARGET_NAME),$(filter $(TARGET_NAME),TARGET_NANOX TARGET_STAX)) SDK_SOURCE_PATH += lib_blewbxx lib_blewbxx_impl endif diff --git a/glyphs/icon_solana_64x64.gif b/glyphs/icon_solana_64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..cce78f663fc4443ece4c2090f36cd5e472b641c1 GIT binary patch literal 249 zcmV6nN~xml(Is`dj(O4*5;s;b#&y13^_m-)E%rZ{V7kai957@4CIbo6Q9)0RR91x3Ql*w literal 0 HcmV?d00001 diff --git a/icons/stax_app_solana.gif b/icons/stax_app_solana.gif new file mode 100644 index 0000000000000000000000000000000000000000..c957d27b77b0e3c07e387f7b197d5375b635a93b GIT binary patch literal 125 zcmZ?wbh9u|RA5kGXkY+=|NsB%fM}2i15->-Kl|yI^JmQ2(AK#!bm!@}t-LDJ4kXX= z+om|bd+UdcBSmXtciwsUP8wH botype = SWITCHES_LIST; + content->switchesList.nbSwitches = NB_SETTINGS; + content->switchesList.switches = (nbgl_layoutSwitch_t*) G_switches; + } else if (page == 1) { + content->type = INFOS_LIST; + content->infosList.nbInfos = ARRAY_COUNT(info_types); + content->infosList.infoTypes = (const char**) info_types; + content->infosList.infoContents = (const char**) info_contents; + } else { + return false; + } + + return true; +} + +static void settings_controls_callback(int token, uint8_t index) { + UNUSED(index); + uint8_t new_setting; + switch (token) { + case BLIND_SIGNING_TOKEN: + G_switches[BLIND_SIGNING_IDX].initState = !(G_switches[BLIND_SIGNING_IDX].initState); + new_setting = (G_switches[BLIND_SIGNING_IDX].initState == ON_STATE); + nvm_write((void*) &N_storage.settings.allow_blind_sign, &new_setting, sizeof(new_setting)); + break; + case PUBLIC_KEY_LENGTH_TOKEN: + G_switches[PUBLIC_KEY_LENGTH_IDX].initState = !(G_switches[PUBLIC_KEY_LENGTH_IDX].initState); + new_setting = (G_switches[PUBLIC_KEY_LENGTH_IDX].initState == ON_STATE); + nvm_write((void*) &N_storage.settings.pubkey_display, &new_setting, sizeof(new_setting)); + break; + case DISPLAY_MODE_TOKEN: + G_switches[DISPLAY_MODE_IDX].initState = !(G_switches[DISPLAY_MODE_IDX].initState); + new_setting = (G_switches[DISPLAY_MODE_IDX].initState == ON_STATE); + nvm_write((void*) &N_storage.settings.display_mode, &new_setting, sizeof(new_setting)); + break; + default: + PRINTF("Unreachable\n"); + break; + } +} + +static void ui_menu_settings(void) { + G_switches[BLIND_SIGNING_IDX].text = "Blind signing"; + G_switches[BLIND_SIGNING_IDX].subText = "Enable blind signing"; + G_switches[BLIND_SIGNING_IDX].token = BLIND_SIGNING_TOKEN; + G_switches[BLIND_SIGNING_IDX].tuneId = TUNE_TAP_CASUAL; + if (N_storage.settings.allow_blind_sign == BlindSignDisabled) { + G_switches[BLIND_SIGNING_IDX].initState = OFF_STATE; + } else { + G_switches[BLIND_SIGNING_IDX].initState = ON_STATE; + } + + G_switches[PUBLIC_KEY_LENGTH_IDX].text = "Public key length"; + G_switches[PUBLIC_KEY_LENGTH_IDX].subText = "Display short public keys"; + G_switches[PUBLIC_KEY_LENGTH_IDX].token = PUBLIC_KEY_LENGTH_TOKEN; + G_switches[PUBLIC_KEY_LENGTH_IDX].tuneId = TUNE_TAP_CASUAL; + if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { + G_switches[PUBLIC_KEY_LENGTH_IDX].initState = OFF_STATE; + } else { + G_switches[PUBLIC_KEY_LENGTH_IDX].initState = ON_STATE; + } + + G_switches[DISPLAY_MODE_IDX].text = "Display mode"; + G_switches[DISPLAY_MODE_IDX].subText = "Use Expert display mode"; + G_switches[DISPLAY_MODE_IDX].token = DISPLAY_MODE_TOKEN; + G_switches[DISPLAY_MODE_IDX].tuneId = TUNE_TAP_CASUAL; + if (N_storage.settings.display_mode == DisplayModeUser) { + G_switches[DISPLAY_MODE_IDX].initState = OFF_STATE; + } else { + G_switches[DISPLAY_MODE_IDX].initState = ON_STATE; + } + nbgl_useCaseSettings(APPNAME " settings", + 0, + SETTINGS_PAGE_NUMBER, + false, + ui_idle, + settings_nav_callback, + settings_controls_callback); +} + +void ui_idle(void) { + nbgl_useCaseHome(APPNAME, &C_icon_solana_64x64, "This app confirms actions on\nthe " APPNAME " network.", true, ui_menu_settings, quit_app_callback); +} + +#endif From 57ae51b261547d2d3aa34ce4b454ee23d573fdc7 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:14:54 +0100 Subject: [PATCH 10/14] Add Stax screen for GET_PUBLIC_KEY instruction --- src/ui/get_pubkey_nbgl.c | 42 ++++++++++++++++++ .../test_solana_get_public_key_ok/00000.png | Bin 0 -> 7033 bytes .../test_solana_get_public_key_ok/00001.png | Bin 0 -> 3004 bytes .../00000.png | Bin 0 -> 7033 bytes .../00001.png | Bin 0 -> 3955 bytes 5 files changed, 42 insertions(+) create mode 100644 src/ui/get_pubkey_nbgl.c create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_ok/00000.png create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_ok/00001.png create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_refused/00000.png create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_refused/00001.png diff --git a/src/ui/get_pubkey_nbgl.c b/src/ui/get_pubkey_nbgl.c new file mode 100644 index 00000000..658238c2 --- /dev/null +++ b/src/ui/get_pubkey_nbgl.c @@ -0,0 +1,42 @@ + +/***************************************************************************** + * Ledger App Solana + * (c) 2023 Ledger SAS. + * + * 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. + *****************************************************************************/ + +#ifdef HAVE_NBGL + +#include "handle_get_pubkey.h" +#include "io.h" +#include "sol/printer.h" +#include "nbgl_use_case.h" +#include "ui_api.h" + + +static void callback_match(bool match) { + if (match) { + sendResponse(set_result_get_pubkey(), true, false); + nbgl_useCaseStatus("ADDRESS\nVERIFIED", true, ui_idle); + } else { + sendResponse(0, false, false); + nbgl_useCaseStatus("Address verification\ncancelled", false, ui_idle); + } +} + +void ui_get_public_key(void) { + nbgl_useCaseAddressConfirmation(G_publicKeyStr, callback_match); +} + +#endif diff --git a/tests/python/snapshots/stax/test_solana_get_public_key_ok/00000.png b/tests/python/snapshots/stax/test_solana_get_public_key_ok/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a86e046d603b4a7bd12f92373c7efe66fa2e13 GIT binary patch literal 7033 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 literal 0 HcmV?d00001 From b7e1b73720554b2690d34f1c70eece6d97e218e6 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 23 Mar 2023 17:18:56 +0100 Subject: [PATCH 11/14] Add Stax screen for SIGN_MESSAGE instruction --- src/ui/sign_message_nbgl.c | 110 ++++++++++++++++++ .../00000.png | Bin 0 -> 5501 bytes .../00001.png | Bin 0 -> 6916 bytes .../00002.png | Bin 0 -> 5843 bytes .../00003.png | Bin 0 -> 3077 bytes .../00000.png | Bin 0 -> 5501 bytes .../00001.png | Bin 0 -> 6833 bytes .../00002.png | Bin 0 -> 5843 bytes .../00003.png | Bin 0 -> 3077 bytes .../00000.png | Bin 0 -> 5501 bytes .../00001.png | Bin 0 -> 6916 bytes .../00002.png | Bin 0 -> 5843 bytes .../00003.png | Bin 0 -> 4828 bytes .../00004.png | Bin 0 -> 3518 bytes 14 files changed, 110 insertions(+) create mode 100644 src/ui/sign_message_nbgl.c create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00000.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00001.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00002.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00003.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00000.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00001.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00002.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00003.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_refused/00000.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_refused/00001.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_refused/00002.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_refused/00003.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_refused/00004.png diff --git a/src/ui/sign_message_nbgl.c b/src/ui/sign_message_nbgl.c new file mode 100644 index 00000000..2eae0bd8 --- /dev/null +++ b/src/ui/sign_message_nbgl.c @@ -0,0 +1,110 @@ +#ifdef HAVE_NBGL + +#include "io.h" +#include "sol/parser.h" +#include "sol/printer.h" +#include "sol/print_config.h" +#include "sol/message.h" +#include "sol/transaction_summary.h" +#include "glyphs.h" +#include "apdu.h" +#include "utils.h" +#include "ui_api.h" + +#include "nbgl_page.h" +#include "nbgl_use_case.h" + +#include "handle_sign_message.h" + + +// Layout of the review flow +static nbgl_layoutTagValueList_t layout; +// Used by NBGL to display the reference the pair number N +static nbgl_layoutTagValue_t current_pair; + +// We will display at most 4 items on a Stax review screen +#define MAX_SIMULTANEOUS_DISPLAYED_SLOTS 4 +typedef struct dynamic_slot_s { + char title[sizeof(G_transaction_summary_title)]; + char text[sizeof(G_transaction_summary_text)]; +} dynamic_slot_t; +static dynamic_slot_t displayed_slots[MAX_SIMULTANEOUS_DISPLAYED_SLOTS]; + +// Final review screen of the message signing flow +static const nbgl_pageInfoLongPress_t review_final_long_press = { + .text = "Sign message on\nSolana network?", + .icon = &C_icon_solana_64x64, + .longPressText = "Hold to sign", + .longPressToken = 0, + .tuneId = TUNE_TAP_CASUAL, +}; + +// Callback called when the user confirms the message rejection +static void rejectChoice(void) { + sendResponse(0, false, false); + nbgl_useCaseStatus("message\nrejected", false, ui_idle); +} + +// If the user asks for message rejection, ask for confirmation +static void rejectUseCaseChoice(void) { + nbgl_useCaseConfirm("Reject message?", NULL, "Yes, reject", "Go back to message", rejectChoice); +} + +// Callback called on the final review screen +static void review_final_callback(bool confirmed) { + if (confirmed) { + sendResponse(set_result_sign_message(), true, false); + nbgl_useCaseStatus("MESSAGE\nSIGNED", true, ui_idle); + } else { + rejectUseCaseChoice(); + } +} + +// function called by NBGL to get the current_pair indexed by "index" +// current_pair will point at values stored in displayed_slots[] +// this will enable displaying at most sizeof(displayed_slots) values simultaneously +static nbgl_layoutTagValue_t *get_single_action_review_pair(uint8_t index) { + dynamic_slot_t *slot = &displayed_slots[index % sizeof(displayed_slots)]; + enum DisplayFlags flags = DisplayFlagNone; + if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { + flags |= DisplayFlagLongPubkeys; + } + if (transaction_summary_display_item(index, flags)) { + THROW(ApduReplySolanaSummaryUpdateFailed); + } + memcpy(&slot->title, &G_transaction_summary_title, sizeof(slot->title)); + memcpy(&slot->text, &G_transaction_summary_text, sizeof(slot->text)); + current_pair.item = slot->title; + current_pair.value = slot->text; + return ¤t_pair; +} + +// NBGL library has to know how many steps will be displayed +static size_t transaction_steps_number; + +// Prepare the review layout structure and starts the review use_case +static void start_review(void) { + layout.nbMaxLinesForValue = 0; + layout.smallCaseForValue = true; + layout.wrapping = true; + layout.pairs = NULL; // to indicate that callback should be used + layout.callback = get_single_action_review_pair; + layout.startIndex = 0; + layout.nbPairs = transaction_steps_number; + + nbgl_useCaseStaticReview(&layout, &review_final_long_press, "Reject message", review_final_callback); +} + +void start_sign_tx_ui(size_t num_summary_steps) { + // Save steps number for later + transaction_steps_number = num_summary_steps; + // start display + nbgl_useCaseReviewStart(&C_icon_solana_64x64, + "Review message to\nsign on Solana\nnetwork", + "", + "Reject message", + start_review, + rejectUseCaseChoice); +} + +#endif diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00000.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bb2c85c072b71490860e1cf212cb031b719d14 GIT binary patch literal 5501 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00001.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..9950a8eb78f94ab07f549adab0c8b1022a03cc7e GIT binary patch literal 6916 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 Cn`I;b literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00002.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..01803014db6f817b0161cc2a5e2b87f851c8ca5e GIT binary patch literal 5843 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00000.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bb2c85c072b71490860e1cf212cb031b719d14 GIT binary patch literal 5501 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00001.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..19022044a22686cec9b136a5731de380a4b899d6 GIT binary patch literal 6833 zcmeI1c{JNyx5t&Xs-}+7s-b;a)oSsy6;njoYUyOC7BLht6EPNzv7VOnDW$EFBB%~1 z386xap{SCYNf4yQn4=*gBFXi<_xSW~@2gs>B^&&YYl zh5uV4sH)y^)31^?V7e!OL{}CHIP@4z-gUP_3Four$ zyv@qh1fM@1-yrI;=U>Nc^_3RqK zijj+PfvA*rtVpbF=L8%9wFieaQaqAQyOtyAo~5r_R3zc)ZyqchOUtkH(H0+^Y;OpM zV)X1H0@X!Nlg-mGLN@$%hOe66Z&ETr|Gpax-_N6SE&AxTQd#kGj2E`Pj^iyz1W{BDKA5{BET&;uvjKeK(x*7sTK_6fM0@J4oQmnMRYNTKJjh=;#ba zywbsO5A^ZjeJRWEnaVvJH;U5`I_v=4PSn9=q+#9=1{BiurZi?>SDi2F3v$R9dj=63XTR@KDu1>9G1qxNzd0|Q78R;meMcyYKlW=gI z-4g4#dkF?+^q+*Ue{6CY+T6?d;yr0_c6ZKXL-LHs8qiBt(%J04zqgb4=_RzK^$iX` zy2PQ(gIhtsbU!vfXMZNdYLznYZKx9t{EUk?`JA;BBP+g}vbExCx5#9p#XkqBivxf5 zwF92Z_ST+U^zVIq?C|`{6XQ#vv~+8rWPiytad)KM5ZK$Q>UmbGj^>ENO=N6F7G?U5 zU>`pM+EF9mM&&X8jJPIdi1Tfd$q7?%bfk5-%UTY7q%Bnp-p(kms=W(OUBL#+!h;?! zfP^V3WNL37L80fb=txcEgBrea}dyYPGD=hc@1U5IzAuU){fD&KXj?KNbl+&k;7yMK7mf(k(m ztgi!aYzMV?nULQ)L4^G((1Q4g<-D)ea89O6 zoBbLf_MTNA+*)%XMO9YK{_B;U0M#M7ksjiA-4fhN0cuJ=rC~zq!RF~{*)j!vw{t%{ zxsN*1cLGrG+eK}!r(4_27noS^*$F*%@Y{zBXx&UyM$TDK=d^4<3zs)MzEHk?Q0`PqW>e-%l-1@P2Woh3@9*B473Rs0HMFEGN7UQ>{9BYC99SK?5(stYp+glJRt6l> z$0Lh@{9tGob>);I1&}GMEEAaSGWR-$Z#x>xCVn7kH?H}zZsoeNcsv?Fdi88R@(Fx+ zH)e7BAi4mE!?9Ur8BK+lBBl24h$meSzdiX7WAv2(8{IEG>oQf*=&A4D`vA3Ta4xYy zZ4C#wx5#x3OHDwqSQ1Z8TJK#9n|GCl?_UW@-)zwbjMxHZmuqiwT3XRcUC>Tpc}OX) zsQCOqMK4fEIS$+z-5Yh0=eT->wAn&2@T5>w%`$E5yu`X^)_J^b9gYgQB$Epg^Pkz= z7O(pUpqHg$cQx;WUQRqwAGmfrk2c;h3;QqJ(@A_o?6!Js(RqBwF9FC>(_O04Zwnmm z+BaqBc)}6V=j34to!G7Jv^QO)*FF7Q-B&f}OQ}hFu`Q!(oC)0;kMea9ca)R_Id^O& z>0tqF$$IGHW?FK^3%I^t&l03VGV&rQ-%_YVSvAXf=%^G^J?f{(0|KqoHC9LZ>rLnV zrYfR{tk1yC*kk!B5em9Hg8;l7^mdbJG`r($@t(@f1z%!f=#wwf&ipJ`9YOyme5fZ z#?(77mLTzczy1~5%0oVh71ujVNCAA(7Tmo_NoXj{`hd5W(Kl8tDK-`=S?5-kv2h`# z34!B_8?Jr&8b}=9evQQsT{srB+LL4O@#0xa0X!GHs$DzsG@K2}KaJ%%%E4(oVl}9^ zXzT&W5HdU!{y->jA|kdwRuiGKhTathCD~w5LGs0!=)euCawCzs1 zv^hBZIzGAcjU0$EO9idHA0=^;h#E@5Y~_R^ndZC7(HaIQf@;s^a^6gVzE>TZqZm4$ zZHs704n}(5vb0qpbJ63mx&b$ctLovHxuy!)Gg?k{qcz%@&lk6}j7xCE^n&)WaK01g zJ~5;;-cl8#q?izd^MrcyfE}`+4BHZqXWk>k;Hi;U>{)0mITdaAt zEbIEK2Ab|Ee5de_Sgt(J*o{X0l^nEjaVJLW@XP4SbY<_TkPOmO#BO`E@vzYzgL zC3e@Tb?E^r0`E+pB!u9k0JH*}94q30Ml z4w0T`0e_ss(Ay0rMqNvvJP7tv9}B^GF9lC)CO80#hdv^0y0P3^@OK~>8zj3rD_{&S z7b7867DjN%>wEcFTwQ8Lc~+$x{MFT8jj{@gFMy{OAI%WzB(zAb{aQQ$sq(o_NC^P# z?S+8JnhWknx91u+oj7x7uKt{vwV{#xaEzU?4yLkI4}@R8X4!-k29;`n>c)qaR$&Qk zb+1tMJ$H_eSq?0P~SA|QDE^40OR9;L`K+sSkQ`l<9?aG%V2EQurV7RhM@Xvtel${ z%%Ak=EdTx*s$3QYfL2 z@tNfO!)X{TY@Ssd>Xe$zn!^-EqV;Q^a8-qDRp;wQzvmZZ6NXq4%VxNvcUkkBq(?d4 z{8YU^(6}XHjE_uvT>eISjf*8CyP(>F`#5QY1vFa2ciQMmiW@wK zxBUWZ)MB2<6$Ey?TsJ1*rRE*UAdzCq>xWchPknir?D!_3fa<?+H!BQTfl2DKka7f>n0~-AvijV z>NFrt724H5RIt&=7)gNsxaHifM0q^nOXJ z>YDfppX8Hp{`&6J*Gb`#^s!y6lmQ$7r z5^!o3cKu>qi{}9-^5bD;^2^`jF{1x^5anNp2mSw2{vqAl3Jwt)8|vyZ?{FcJNG6q2 zAGVf4BiQP5uqeznMr%K%NCzP#fopgfEo2I(Ge#z2=lC07n&{2Ed68f$i5jplA zTy&&;czxbJ%gFh~!W1fza#a<6xK<}+*)^U1+nu@a$V1}OYNGJtGk*7UFWX!=rO@IU zG*y@YTgrWowOSe5N#S`#%g?&MLUUM@*9G-mZ+ksIk2uQwhL2xotvhtQ?kJ+&_jDgR znK4SG`F^**hytcDJWI&bhKb0?D2RKnVnjd1V%q^+bY_A5j_V@H;Bkr4<0`Sh=j}!A zrQfM(x7~4_@v^FZ>NTE+;R{PNLi&AZ^cG<<-lEMUn6)t_uS{0>50H68<%er^R`Ms* z-`=_Dqbaudf&IIrO5;9V^2SCnqO5oo=He_7iAy^?#2Ye}mZQ{KSp;Rkl!> zoCvf}7)5MuC*`Q%faeNve?p?Ua~31ChTtB%GZrGcurKAA?J+gc%stpkBTNqIhuxwZ zxOK?Iv(NweE&`sQ9v_YLOj|h5e0i0&mzN(D;XR`nRJ}T!;z;*9=!T0NX{NUMwvz1Mjbui=#P*Z__Q%`eEPz*rHQ*sAN>g%n=bnI zmt$`hu0O#3?ok4{43bsRoP%ZMzC4*ic8z|8K8MvbbSkSqW`$3a(Y*Hoc2Mo)Pxrij z-wpE2facjM{oW@1<}2neqw^R7=kY%)+FNFJ-r5%%lHDF*m08=^V*N!T<$`bSy?e-- z;Idu~*C`!cz~n(F>aDE!8ZOjM0oIX^@c{%|1W90BQ$2%8p-z|l1KJRyPurR-rWHX> zi^THqC$1L^Q!Ltj6!nAA(#4;goT^`WDJw zu`)SW6ruFt$bAt{l8X~P_jk2XxQGjvPmbGMURxNFIKQ^ZoZBJNyB~NY3ARI5OzL+v z@OkOxou0cD_F7flSBw|`xc9&R^!QZ*C&nDmcxhNqR;G^t$`i+gLaM?f`=?&OVyQD6 zgmP%fGXAgFdKio^c;b^qY9) zZP17cbH%i^Le&Yrrlk6yiu>Pd3Or;OcC<#qXVo76q+4vjT*ZL&EC=D%=MqkfmA;U>fZeo_@Yj^iH~tU@4B(Mtd}Q# z=G}(HaH;cotxJ5l4&h^PkLt@FAdE1!*_91w6g{lWOLiRUzM%sve6{6BblHJcRtDau z{6j+i?I-g;IpLBpq=Qb9nW2lB)YN zw!}9ip!%X&bMY0L;}a^-wKpg$BWi;(^NBFLv#aWaarMy>mo7chXsLsbS&7Sm-3s6B zq?3J?QenCyE8Yd>BD`Z@>G1ujc1e~_VyRoD=&NA{iijg%K1x>f>qv&tAFw5NddW-L zgJ4skr`Cs0q_?*?cU7WT1xg*u+?5A6RD8gui1M2cM6FcfTYrtFUdcKkhasThAE#@c z>WignmQp2E;=@C;a;Hi`^%0@*t&fqu;_(+BxqOvxuE&1&dK)NG3don^4xczabKa@z zFUJO5{`9!;3*lV9x41s=$|~W?I)WI3%6%<1TcW996irU(Gw7U~s})QACH8D;^nT!% zQfJ5gz)9tx-6hVwdx7Of0T%#bsV;Ut!6wc1W#*^IH`A^R2HI4CC%G~6+1e6C&$xe{ z^E)9`dYZJIC`f8*smfc)jw9XDvyFY>%oVM$Qowz=Jql9m8VuuX*mauMA_0V0o|Ll#tL08qA>LEv)@;4e_V9#0C8?86uTRl-d z7_Dr(w|TI)3?s9#haGYR+vmBETV`|oYcYRJJQ0k zVNV=5f>7)D-FTy8{F`W=_fToOn5)za0OWg2tYc)jB8!Ien`eGI-sBzCLERLUfB z2}UU}GR%xWK(#oA(H+1H^vhQo+c6>*Nf)z$ouWCA5m>;)&~s`NPaS6nspr?{UuBf@ zy|dtqaofO7gIU%&`xDJBciFcb;<|&!y8S@wv7kymO`W8rbj_YY{WftMULEG22^~yl+felzqb309U&&uGCwR?>$BaMBLC??~=fHRZb#9tDklXtFmrJ3ppvG7S zeX*$u=fffUP`|s_$^0kX%{p+lkdbbiqSV3v)_~WaeR9P+jaaJMq;q^04g>GcX(* zYc9w@cgWxWJm5FMPB^B#dS*biKIBy>SjqqEYaW|DW-t2gu)4L53I>FNg| zghoJA_1VCbye0o1^6)7Ir#*f;(WmGvb1fyTu|RWU&EUJc6u;hj1awKqJ&wlCtnqXJ z9GhEjP>}Mo;=woL1aUZbOKxe|eY8{gF|5f@t-ar~K ztKt@d=@y&a#{&j_*%du!7Fl|37n;uuov%~v!L>9!3B}Vn5y=m6Td@4NuNC$ITYBIO zwpAl-R~=Ov%?H%RZjr1bqsNNl5@OkbWe5UYdbVOQ62h3TGwjK4F~;UK*~Xd~N`kt% zc5+%%14P+9e!XYVEcrH`MXuqU`4o>cT-Ov@vTh?~#^SgeH@n!0AHilw0V=ATHSvq< z>I_Q>F~8heCq=1D?tr`wG34Duqa+COA?5vK&C(-iaL(i@&))afs~WfF?vV~MVGno) z2P1lTHn~|EdbK~CNFG-i;~UH|86)WOy$4S;f+e%vktZ#_YK@{nS%G0f>!nDIC%E~- zLf&4P{ZcABj}MXVCew8ewN;j8NJScM(A+KD1s7DWp`(#Uxc}0}v`^9R(bL$ol4IYT zT$Tlx(@96yrdbX}wV?Fd964fSMg3rdgir;)MRV@;O~`1m+xUG!S*9T+9NXoNcQNZ2 ztTw1sIs%U?#-nl;yzPy;Sn-^*MI&*~(iNmOE|J`rpYT0eL^rCcXkhN~8bonE z(aQVN1SVR+i^+8O%{NCS7P&zmrqdBHFT}hvx;@}FI5Q0e+cJ@*dnsOGP?!45QtVWs z;kv8=`facm%|dXkjGdVoyk>yTyjoC6igMrTs`?TfLUk#VcuT8u*LGY zyf5$oh8_NamxWos+1#vZWHi^9=CtllorAaMS$xI$f?VH&!{iJl`z}o+w{#Msn+w-U zb}{iR^duk$?tsNL5wa8+cNL2 zTS3cb;oW#i#^yCmL(u5)SX)i^o;UnT>j}?^+f_ap=_U4Iui3AQqLIo>8Zn;Jze-6N zpy}|C_P0#%=h%%i61WxD3t9G%3DJTlZfK4AZ^Op*0qH*Usf@)}L4zTyk0-I>paMy= zNvq}dAu5JKTO5`;P*F6+i{|s!rWds6^}I|gL^v->A?`FVB8!nNjI9flZUlj#p zQu#{!wvpT@dT^5X!+(|~{^OhSZ{U{y$+ec4OZWK8WQ*GXQ5XZ&KDH#}KwR>U(_}TZ z{|@^1 zk#ESdLqj$e1N(uyL$8*%t@T^gib;7Yp~{ztsC;b{DPEe{H#7FbBgeyX!Ni)<{>VXF zA2{U#ui+Wpg2jsqW@lU*4!_TkIm zpVJ7M`Ot!H_YnM$c|Y>BAoUHjJma=cX4jKXj{p8jJij+dM;^_Gb`DTW#{RP|UeQ81?j+ zko2LaIg?s*Gf1j`=B7{nc+!M}~ys;Xa8E|0r0>dTqZ z2dgI94h3nxy_Hz{V`13)dz)Ym6VRe!?!?o~=KubN;zhM;;hnO;^$u5cQuCu8SFXrI z-Cx!q!pupp*;- z*363T15UMy=hduPZRb$SOT`+_64KDB7pGo!oA~s{i_;(Z^?8U2{dD~rE={Q%W?A}c zUijh>aVZ`p3YVr@1hb^p2lSm3U0x8{Rx*ylI-qg3S6WIhOpjs`sptdVJNBat1ZX`V zG<{4h;xZ*4X8EUAHO0Q1Atn{i%C2DC;HZQ5F34rGCT4IBs`27f-A}f*O(v&$@57pJ z-D-W4MBd)W--Tl9%lAw-xlGj0G`K(>TUy^(TNogTdRYVvqr*hhMUv@F@~7m!Gw=|6Gt(HeVC&SP;4YlUBh|EIKSX( z7NE}uZVvTtSX_hqrO8Ni@(+`CcoT0a)5)QP1`pvV_vni0{rr(#jN)7&P z7I#CId8(DCRjjzo1l2y%hwfGtb*UY#nueDrcpB8Ysj@$x!U{_o)(jiC!vS$2yH*4w zYLidN*3S%{) zpy*h`@=Wwvzolxc&ebj19mSRd%&(TK)BIgW%mF$v3z#yJ0oaFgzvSu z<)sPS=hjv8wz8PriAz}UoLBA9%-f@#7LYZ^8$t)~Zi*Oi&%}OqYuKF3DkZ1I-Mwl4 z@UsjU*I%svC~Ni<22?SqNAkTpE$i0U(H0HCkGHjgOuM{xoh5XwYFy5jg(Zo9JWZMz zTr=JWAC@@m{(dp6z^+Otb-|}wjmX^~YS_$$1VElF^2LgjC;_)g za0r}pN-TZyX3tL#IThLV3V7@)I5)lh;^}p-qIEfsTz`LmfBoNIrA!uk_J6ZuXxPcZ zeL_G-!FfXi&p{@mQO;->jHZKu$P16(?=AcD_3PIuZ|9tUzC4HB&aw8+%tS`XCe{=V zu?ZV*o36=T=X}uYTF=(>*#A+7c?jp)p1XG5FFrS4C~7gxZUdX57~#;C05h_%!(FBL z_lKME+b5`t@7R4N_Obc$=Wkw!zRuhKdikH7H)bS!Jbr=UUtMkHvuEpfU+UYPR_(`W zIXBJ6+)XTE^E)r=ce7$=B<@|f^m5nhK-;2aKfiu8t&`hTa(Cg|nEe);uBA?0n7U7V z#+|K^5gn4(Homdm@-DCbncwv_zmumf|3B+lWWMtTzE@Q}lKI=!mWMz7?>Z&eY1vxI zpQ{cE&rIC7|MtsEPur(%KK*(BwVam60&5OSO2ta|>@qDaxOa+ej*#5-?{C+#I~i;` zbz$kp*S9MlbK4i*ZI1Z$JjuQ3=*utv-^HBaxiG6VQSjiS{`YHo_7v89s=Jf?n(yxW z-6aK|dPB;$mwo40DZEB`m)z><;bLp|rCpyszn-z&SyWaKjRVUmjx;WQy`}P~p z;sc^L>+u*KPP&zR{onI7)}Q}w{H&fa*?*^k?*_ZOvsOP|w`Q~9K`V{N@_C%smRH|> zdGC_%-P+nG>+Umu7g$+*aqj;fd!F|uR`075?z(QQekYyLX>_>Cc`|e93t9i-YkTir zIsBSW_WXr!?fC%y*t%r=KISt5`(1H=_v|_=SNnBJd}Wbj|MzNRKh8$7var95Z`3cB2Q$wr&#U2h ze(LYN*owc`U+KhN-0ZfSMLX@!?JaTUBJ(%hZ?0*7u=;=4p1$BilTJz=@7~v$zy9yO zkdHGA51-m0m!Pcfs2s0by!*qP$YW0qN!KucJ{&D)KxXZ7=U3O0v0&v|g@wU@U< z$h=C3aM>VXoUT{a681@Pj?g~-hZP4L-!U6ZmK5_Z_;>w>(S3WFhb}%#7O|{;&cQ5K z_Hc^9;~Km8`&@hKYL_eDIydL^&l)D_`JO)a_GD*v|P^zFF!-=#lFEN`jYUjCx5=FrnM6HL!+xOe<(=uh5nrGNdu zCQ3J5{gAnxHQqOI@f@K|Tb<{MuBz`&FnwdXj!#rvV9mUb=`ZJ+t&d)pTK#un#Cg*- zJqycsoj1I>N!fBD*&|K(19w`aT-sx0_x;TvxkTgolu)ODBG zoQ9mAQ8G7zBl9SG-?bXs_2(52)qGul$m}qzf=k|>9kI^#;I~(g&k<3Wkd>lF8x*6B is?mleDUIu%dWL4(BG0u&O$NZ`J%gvKpUXO@geCyuJ#2~q literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00000.png b/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bb2c85c072b71490860e1cf212cb031b719d14 GIT binary patch literal 5501 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00001.png b/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..9950a8eb78f94ab07f549adab0c8b1022a03cc7e GIT binary patch literal 6916 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 Cn`I;b literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00002.png b/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..01803014db6f817b0161cc2a5e2b87f851c8ca5e GIT binary patch literal 5843 zcmds*`#;nD|Hl!Ltj6!nAA(#4;goT^`WDJw zu`)SW6ruFt$bAt{l8X~P_jk2XxQGjvPmbGMURxNFIKQ^ZoZBJNyB~NY3ARI5OzL+v z@OkOxou0cD_F7flSBw|`xc9&R^!QZ*C&nDmcxhNqR;G^t$`i+gLaM?f`=?&OVyQD6 zgmP%fGXAgFdKio^c;b^qY9) zZP17cbH%i^Le&Yrrlk6yiu>Pd3Or;OcC<#qXVo76q+4vjT*ZL&EC=D%=MqkfmA;U>fZeo_@Yj^iH~tU@4B(Mtd}Q# z=G}(HaH;cotxJ5l4&h^PkLt@FAdE1!*_91w6g{lWOLiRUzM%sve6{6BblHJcRtDau z{6j+i?I-g;IpLBpq=Qb9nW2lB)YN zw!}9ip!%X&bMY0L;}a^-wKpg$BWi;(^NBFLv#aWaarMy>mo7chXsLsbS&7Sm-3s6B zq?3J?QenCyE8Yd>BD`Z@>G1ujc1e~_VyRoD=&NA{iijg%K1x>f>qv&tAFw5NddW-L zgJ4skr`Cs0q_?*?cU7WT1xg*u+?5A6RD8gui1M2cM6FcfTYrtFUdcKkhasThAE#@c z>WignmQp2E;=@C;a;Hi`^%0@*t&fqu;_(+BxqOvxuE&1&dK)NG3don^4xczabKa@z zFUJO5{`9!;3*lV9x41s=$|~W?I)WI3%6%<1TcW996irU(Gw7U~s})QACH8D;^nT!% zQfJ5gz)9tx-6hVwdx7Of0T%#bsV;Ut!6wc1W#*^IH`A^R2HI4CC%G~6+1e6C&$xe{ z^E)9`dYZJIC`f8*smfc)jw9XDvyFY>%oVM$Qowz=Jql9m8VuuX*mauMA_0V0o|Ll#tL08qA>LEv)@;4e_V9#0C8?86uTRl-d z7_Dr(w|TI)3?s9#haGYR+vmBETV`|oYcYRJJQ0k zVNV=5f>7)D-FTy8{F`W=_fToOn5)za0OWg2tYc)jB8!Ien`eGI-sBzCLERLUfB z2}UU}GR%xWK(#oA(H+1H^vhQo+c6>*Nf)z$ouWCA5m>;)&~s`NPaS6nspr?{UuBf@ zy|dtqaofO7gIU%&`xDJBciFcb;<|&!y8S@wv7kymO`W8rbj_YY{WftMULEG22^~yl+felzqb309U&&uGCwR?>$BaMBLC??~=fHRZb#9tDklXtFmrJ3ppvG7S zeX*$u=fffUP`|s_$^0kX%{p+lkdbbiqSV3v)_~WaeR9P+jaaJMq;q^04g>GcX(* zYc9w@cgWxWJm5FMPB^B#dS*biKIBy>SjqqEYaW|DW-t2gu)4L53I>FNg| zghoJA_1VCbye0o1^6)7Ir#*f;(WmGvb1fyTu|RWU&EUJc6u;hj1awKqJ&wlCtnqXJ z9GhEjP>}Mo;=woL1aUZbOKxe|eY8{gF|5f@t-ar~K ztKt@d=@y&a#{&j_*%du!7Fl|37n;uuov%~v!L>9!3B}Vn5y=m6Td@4NuNC$ITYBIO zwpAl-R~=Ov%?H%RZjr1bqsNNl5@OkbWe5UYdbVOQ62h3TGwjK4F~;UK*~Xd~N`kt% zc5+%%14P+9e!XYVEcrH`MXuqU`4o>cT-Ov@vTh?~#^SgeH@n!0AHilw0V=ATHSvq< z>I_Q>F~8heCq=1D?tr`wG34Duqa+COA?5vK&C(-iaL(i@&))afs~WfF?vV~MVGno) z2P1lTHn~|EdbK~CNFG-i;~UH|86)WOy$4S;f+e%vktZ#_YK@{nS%G0f>!nDIC%E~- zLf&4P{ZcABj}MXVCew8ewN;j8NJScM(A+KD1s7DWp`(#Uxc}0}v`^9R(bL$ol4IYT zT$Tlx(@96yrdbX}wV?Fd964fSMg3rdgir;)MRV@;O~`1m+xUG!S*9T+9NXoNcQNZ2 ztTw1sIs%U?#-nl;yzPy;Sn-^*MI&*~(iNmOE|J`rpYT0eL^rCcXkhN~8bonE z(aQVN1SVR+i^+8O%{NCS7P&zmrqdBHFT}hvx;@}FI5Q0e+cJ@*dnsOGP?!45QtVWs z;kv8=`facm%|dXkjGdVoyk>yTyjoC6igMrTs`?TfLUk#VcuT8u*LGY zyf5$oh8_NamxWos+1#vZWHi^9=CtllorAaMS$xI$f?VH&!{iJl`z}o+w{#Msn+w-U zb}{iR^duk$?tsNL5wa8+cNL2 zTS3cb;oW#i#^yCmL(u5)SX)i^o;UnT>j}?^+f_ap=_U4Iui3AQqLIo>8Zn;Jze-6N zpy}|C_P0#%=h%%i61WxD3t9G%3DJTlZfK4AZ^Op*0qH*Usf@)}L4zTyk0-I>paMy= zNvq}dAu5JKTO5`;P*F6+i{|s!rWds6^}I|gL^v->A?`FVB8!nNjI9flZUlj#p zQu#{!wvpT@dT^5X!+(|~{^OhSZ{U{y$+ec4OZWK8WQ*GXQ5XZ&KDH#}KwR>U(_}TZ z{|@^1 zk#ESdLqj$e1N(uyL$8*%t@T^gib;7Yp~{ztsC;b{DPEe{H#7FbBgeyX!Ni)<{>VXF zA2{U#ui+Wpg2jsqW@lU*4!_TkIm zpVJ7M`Ot!H_YnM$c|Y>BAoUHjJma=cX4jKXj{p8jJij+dM;^_Gb`DTW#{RP|UeQ81?j+ zko2LaIg?s*Gf1j`=B7{nc+!M}~ys;Xa8E|0r0>dTqZ z2dgI94h3nxy_Hz{V`13)dz)Ym6VRe!?!?o~=KubN;zhM;;hnO;^$u5cQuCu8SFXrI z-Cx!q!pupp*;- z*363T15UMy=hduPZRb$SOT`+_64KDB7pGo!oA~s{i_;(Z^?8U2{dD~rE={Q%W?A}c zUijh>aVZ`p3YVr@1hb^p2lSm3U0x8{Rx*ylI-qg3S6WIhOpjs`sptdVJNBat1ZX`V zG<{4h;xZ*4X8EUAHO0Q1Atn{i%C2DC;HZQ5F34rGCT4IBs`27f-A}f*O(v&$@57pJ z-D-W4MBd)W--Tl9%lAw-xlGj0G`K(>TUy^(TNogTdRYVvqr*hhMUv@F@~7m!Gw=|6Gt(HeVC&SP;4YlUBh|EIKSX( z7NE}uZVvTtSX_hqrO8Ni@(+`CcoT0a)5)QP1`pvV_vni0{rr(#jN)7&P z7I#CId8(DCRjjzo1l2y%hwfGtb*UY#nueDrcpB8Ysj@$x!U{_o)(jiC!vS$2yH*4w zYLidN*3S%{) zpy*h`@=Wwvzolxc&ebj19mSRd%&(TK)BIgW%mF$v3z#yJ0oaFgzvSu z<)sPS=hjv8wz8PriAz}UoLBA9%-f@#7LYZ^8$t)~Zi*Oi&%}OqYuKF3DkZ1I-Mwl4 z@UsjU*I%svC~Ni<22?SqNAkTpE$i0U(H0HCkGHjgOuM{xoh5XwYFy5jg(Zo9JWZMz zTr=JWAC@@m{(dp6z^+Otb-|}wjmX^~YS_$$1VElF^2LgjC;_5)nqS*> z!#Gs0YMwG7|EvT~G9A1(?{v6L?T1DD0uPBr^X4-LSPdd;1(Wdrgdgjvn#!K&BHw2o z4hZt0I&{rIhQwLG9{lV@XpOAOi+%p)eViJEUkB4C-ukYWgJE8FZjU}XPp~k-}Tikn((vpKqTT5uxGm1h2fpvZeiqD zA?CM8yr~#eeaaau38{ck6hXa^0ot2seDZ;2!`J=)E6M&>Hntoo>hq6l;qpi3)$o;S z=JeHytSa>0pwAn!4TFb~#Wc^xdh>X9#chb$L7TNr?z{q~Vg(3s(iM>uqR~i?((PhuyfL~K zSxj432ECl!NC9}nVtS#%8&{T)fjCN0k}V$!gDb2g8+E0uVN zAwC7Clx@{E63aLHTWwHv+S;D{>hC_#bqAmuhSt|z=2ka&E=p+$v*lo!BF=`V+YJ~Y zotj&FacHgKNiL6=H%m-HueZ|k3ZJilSvK9q!L-O)*y|9!t{;R%KQVPNLG;Ji(q&DH z7hRmu5NPC5`NaJCpDbu~TaxKc_~=+87S(rd81hv!3S$cFehFzFj zZ@$l*zNlH^n*Bk#d;t_1m)Gkz=ljcCmOh?;n-9NUxr|;PxuIxz#0LJS+qAdR>v+l8 zIV*3l>4rg@T|H=0XXN-B7s+C7?@r0F5%v&Gep0FcnzV44wVJ14w4_YR>YFmq{_94edZ5;7v+Cy=`WBbYlOAB%Ks!>d#$He2gX+;m;AB^!d=W*<_QzrzHt zYR8q0xM~TP3WKFIas2Z;rg*TmKkFr5M`Lq2=<}2VTGYB>ldBqFnq)r(y1rFk&(zrC zx~1$K%|*(=yNDji$pxmyUc>!8*QW#*_v^*7n-7+~W2YgTz7gm{`X5#$(ZUTH2@OPS zLHrS&tT%o-H>d+;h5Q1MVuy+vI*=x`G6Hej_(&%T;hJ+;rq`erj7w)!2d4q@MppOK zK3w-5&9{fgM!X$xE^B94y@&kU)DB#7#yAtVK} zYx<;>X>0mfG!}&pf9Wy76ik1WOk^0u>r5;Wo?-r$HUGy&o-k@{A7eGqGJ9fg!_y&d z)EbBpw(j-IPr+{@GYC{qZG}8L+A+)03A65~_g)C)=d=x53v`{`PvA0KjhO@-lmG}6 zS+{?Gp3}Juh%fgO4^yW6(QN%444Zz+`4P9JjJXQ}uEhaNXD&=YQGwF=RXbm)LF55> zJuD|DzS*lx`Nrp>(seu9HJt|XxZN@g_sS(KZsYkJUdE<^4T?4$-jdl&IW)SjdrdyX zkL#G!CRsA}XNh)`jn&Z(7n)%sZgga6&7^I&cd#P3U#Efc@VHmH^v9c8k_Nl#systd zbRVYr#Y-oiIe=69FWIiUBb&yh%~|dcc3PV%)RZ_+^uHBJYDOE}6_cKeSIP1Z5^ zVo7EAC-ax>6^PHbWT<;ED55I=ybcy+Af7ceVuvuuy>GEkjEuEJ9%L+IhK(R3AbskK zK_;Zc1Lbp3uyl_R0h>pB@0V9R4D5zB68f4d;B;|4c3&tnI6f#i>{RYy7nJ|(7yg0j z+Vt=+MC`e={)p3Y+4O1AP|2u01q0|<(^(fy5{8TpiRbi*4;xN0mMNzb8$BjfAIwGu zFUY?>O`1ZWQO>jJy6D7ZT-D-zu0}gh2Pyh^IB1w1<<}#Rb|YhSRC(EF9$wLw816sP z6XqUavu7B0=2&r5lNrD1 z!(>uTp+{$gL_C>%rZ^Z0^}p`#q;)}W=6bfT=*#GzCBMZkIM(pW9Q_|x>H9}@kSs=3 zgIU$>GRPO5hSr#r?I#NV2Iaq4lDjDU$T?DffEjOS^R|MvRwSf5yN(gvwvpwp|AS_u$aO;-@hP z*^ev>6v!=13Hp2?fk8e4&lPR>vxos-JZGx26rR!u9 z^Pt1%^RtEdiwqi#9|KXPLJ6v)zQ~DtHmzwA?s6_K!mrglY2DE!MTYtIkXH)YIUOYl zJ`wtZp)D-XphY{I?8mbcxw6HuI7|!?GdO1RRwUiP?h0ogZO^3z+Lo z@Ck|BfUA#1rELvIv&1rRxZz;DEb|J{=XK(&DJ50}+)0{Qy+C}N>TlPxex`YeV@FP}%eNQZonw&~CkOzl>S%cX7I8(pXHx5~LKb{eu*ep~$eT=$BpJrm zHGZGJlNu0qALubV2t<<&(srPfg@ELWC0p`)*JRCEKWL1YqDG<xaMJL6SuFzHh6bOU_?`U##+!2y^wy^Z9=FZA*zr##p zmRSXEgG-w?XD3i)+psroR4l77rj)8Jqvcd?0wHPTjW@VcKh1pM;spR%H#he((2r z%dP}n(mQN=7z6_81^D}ffItWCfj}C62WzMikKq0`HC`0p;~ADkT^C-xO&ig;I62ui z3%J$>uH|0lq{dEOEU=GUr9K*Nfz!TBPPe}2kgrniMCU7Ix^GsMo0Hlg#^3M zf}!`UuosIz1)n(hq=WzAE(}@Zg8EBGMNYfxGNO`cy;!6J-5$Ar?R7|hjV*TURl|?X z%nptg3uv_d$Ns-8W&vYk;p`&)TJC~=_N{nqQb#ikJ>4wDhT16v(XNZ;e%Ni9jJ=gjEwFMH+O-@F1hx9&H|P<=!8vWs6ZTQ8(yvhb$;wNx>k8q z2m1Zvv*>pBYP|H(0Ka@>+@l%e5F@R{GjD8O;*xqI9HzURRKP`sdtwampma%#a+E&e z-|k+7Pp$C$?#12C4^Bgk+5DE~=*e(r4b#s3z9#;%NT{*K!s_yndpvQM#8i{a84Bvv zQ^uTbC2HA zY6jK?AXq@j^h1#sq7MwEWaLIEqAnqK>bq^Qy_<^%FEmrckQ((f$z2As13d8O<~M>8!H6$gmD*O>p&5LGs~#0i zPpA}oCDCq!3W4-}YYAO{u1`64uaAZ-p6f5i6{lp|Wx-g)#OPq&sAx+@?NLaQ$O^1AIiVEDR1+ZpAcm6>|(MlS;Qze@dWprTs&r>%1B5Vg09?Hni7^@Q{n{O zs^b;XW$DP&lgj*`tC(qL4jL?*&V(vRE2Ind+#zKW18F+J->A4&zm+tX*FRpR`EVDf z&I*1Ckz@-m&_=|9%KC&Hu_ewHAefH?59+^jbf)vWiF?`U@ywlfs+p+cvwPBNGS>(O z6~dhVJh3<+s9fJq6Xg5W*({pXe!&~xN*sm6@#WeEDRnww5Ae)iHrDY42#`E^=!JfD z)9zP{dEWh^DIo=cOTKB6qWS^n)_#l@!3G*7GLOL`Kp}U_JY5QIQ|p%?oN?^#MqyI! zi)G*$iC_z(6j`9suWScJznTXRe3rs%q84O+o;10h4_K{eVP7B(}qU0 zca>jY5-QhXX6lfjv1?uy@)n{cSv{WZeQP7lFvz0grouY-6^Yw9ecqX`R-ZGBXghE7 z#---Ep=)02X0`9aD4g9ySQ1bYWyCRt|Ne$Vdj7OC?8j59dbQX8V2sE*D{kKdZ%0QJ ze&!6bWJ4&e_&PR}ESq`pS18)+gWAzg37KiBgi-CP1ybT$ys%sPd{S<%?X?f%k<{oJ35Un-l@ zROz6(F~u)|V%cE~KQ!lbcp>MmQ3)hAs98R@Fm@gDQ)sUs;1RLG#qLs0p&c z?Z$*TA!``7azme*^HuzQv>Wn7u=pqN40>>|x Date: Thu, 23 Mar 2023 17:04:59 +0100 Subject: [PATCH 12/14] Add Stax screen for SIGN_OFFCHAIN_MESSAGE instruction --- src/ui/sign_message_nbgl.c | 69 +++++++++++++----- .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8014 bytes .../00002.png | Bin 0 -> 8026 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 5438 bytes .../00002.png | Bin 0 -> 8981 bytes .../00003.png | Bin 0 -> 4382 bytes .../00004.png | Bin 0 -> 6174 bytes .../00005.png | Bin 0 -> 3077 bytes .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8014 bytes .../00002.png | Bin 0 -> 8026 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 5438 bytes .../00002.png | Bin 0 -> 8981 bytes .../00003.png | Bin 0 -> 4382 bytes .../00004.png | Bin 0 -> 6174 bytes .../00005.png | Bin 0 -> 4828 bytes .../00006.png | Bin 0 -> 3518 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 5281 bytes .../00002.png | Bin 0 -> 6170 bytes .../00003.png | Bin 0 -> 3077 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 5281 bytes .../00002.png | Bin 0 -> 6170 bytes .../00003.png | Bin 0 -> 4828 bytes .../00004.png | Bin 0 -> 3518 bytes .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8014 bytes .../00002.png | Bin 0 -> 8005 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8005 bytes .../00002.png | Bin 0 -> 8016 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 5457 bytes .../00002.png | Bin 0 -> 8854 bytes .../00003.png | Bin 0 -> 6172 bytes .../00004.png | Bin 0 -> 3077 bytes .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8014 bytes .../00002.png | Bin 0 -> 8005 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8005 bytes .../00002.png | Bin 0 -> 8016 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 5457 bytes .../00002.png | Bin 0 -> 8854 bytes .../00003.png | Bin 0 -> 6172 bytes .../00004.png | Bin 0 -> 4828 bytes .../00005.png | Bin 0 -> 3518 bytes .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8014 bytes .../00002.png | Bin 0 -> 8005 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 7029 bytes .../00002.png | Bin 0 -> 6170 bytes .../00003.png | Bin 0 -> 3077 bytes .../00000.png | Bin 0 -> 5748 bytes .../00001.png | Bin 0 -> 8014 bytes .../00002.png | Bin 0 -> 8005 bytes .../00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 0 -> 5756 bytes .../00001.png | Bin 0 -> 7029 bytes .../00002.png | Bin 0 -> 6170 bytes .../00003.png | Bin 0 -> 4828 bytes .../00004.png | Bin 0 -> 3518 bytes 75 files changed, 50 insertions(+), 19 deletions(-) create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00004.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00005.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00004.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00005.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00006.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00004.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00004.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00004.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00005.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00000.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00001.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00002.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00003.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00004.png diff --git a/src/ui/sign_message_nbgl.c b/src/ui/sign_message_nbgl.c index 2eae0bd8..7582cee1 100644 --- a/src/ui/sign_message_nbgl.c +++ b/src/ui/sign_message_nbgl.c @@ -15,6 +15,7 @@ #include "nbgl_use_case.h" #include "handle_sign_message.h" +#include "handle_sign_offchain_message.h" // Layout of the review flow @@ -31,13 +32,7 @@ typedef struct dynamic_slot_s { static dynamic_slot_t displayed_slots[MAX_SIMULTANEOUS_DISPLAYED_SLOTS]; // Final review screen of the message signing flow -static const nbgl_pageInfoLongPress_t review_final_long_press = { - .text = "Sign message on\nSolana network?", - .icon = &C_icon_solana_64x64, - .longPressText = "Hold to sign", - .longPressToken = 0, - .tuneId = TUNE_TAP_CASUAL, -}; +static nbgl_pageInfoLongPress_t review_final_long_press; // Callback called when the user confirms the message rejection static void rejectChoice(void) { @@ -60,28 +55,35 @@ static void review_final_callback(bool confirmed) { } } +// NBGL library has to know how many steps will be displayed +static size_t transaction_steps_number; +static bool last_step_is_ascii; + // function called by NBGL to get the current_pair indexed by "index" // current_pair will point at values stored in displayed_slots[] // this will enable displaying at most sizeof(displayed_slots) values simultaneously static nbgl_layoutTagValue_t *get_single_action_review_pair(uint8_t index) { - dynamic_slot_t *slot = &displayed_slots[index % sizeof(displayed_slots)]; - enum DisplayFlags flags = DisplayFlagNone; - if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { - flags |= DisplayFlagLongPubkeys; - } - if (transaction_summary_display_item(index, flags)) { - THROW(ApduReplySolanaSummaryUpdateFailed); + dynamic_slot_t *slot = &displayed_slots[index % ARRAY_COUNT(displayed_slots)]; + // Final step is special for ASCII messages + if (index == transaction_steps_number - 1 && last_step_is_ascii) { + strlcpy(slot->title, "Message", sizeof(slot->title)); + strlcpy(slot->text, (const char *) G_command.message + OFFCHAIN_MESSAGE_HEADER_LENGTH, sizeof(slot->text)); + } else { + enum DisplayFlags flags = DisplayFlagNone; + if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { + flags |= DisplayFlagLongPubkeys; + } + if (transaction_summary_display_item(index, flags)) { + THROW(ApduReplySolanaSummaryUpdateFailed); + } + memcpy(&slot->title, &G_transaction_summary_title, sizeof(slot->title)); + memcpy(&slot->text, &G_transaction_summary_text, sizeof(slot->text)); } - memcpy(&slot->title, &G_transaction_summary_title, sizeof(slot->title)); - memcpy(&slot->text, &G_transaction_summary_text, sizeof(slot->text)); current_pair.item = slot->title; current_pair.value = slot->text; return ¤t_pair; } -// NBGL library has to know how many steps will be displayed -static size_t transaction_steps_number; - // Prepare the review layout structure and starts the review use_case static void start_review(void) { layout.nbMaxLinesForValue = 0; @@ -96,8 +98,15 @@ static void start_review(void) { } void start_sign_tx_ui(size_t num_summary_steps) { + review_final_long_press.text = "Sign message on\nSolana network?"; + review_final_long_press.icon = &C_icon_solana_64x64; + review_final_long_press.longPressText = "Hold to sign"; + review_final_long_press.longPressToken = 0; + review_final_long_press.tuneId = TUNE_TAP_CASUAL; + // Save steps number for later transaction_steps_number = num_summary_steps; + last_step_is_ascii = false; // start display nbgl_useCaseReviewStart(&C_icon_solana_64x64, "Review message to\nsign on Solana\nnetwork", @@ -107,4 +116,26 @@ void start_sign_tx_ui(size_t num_summary_steps) { rejectUseCaseChoice); } +void start_sign_offchain_message_ui(bool is_ascii, size_t num_summary_steps) { + review_final_long_press.text = "Sign Off-Chain message\non Solana network?"; + review_final_long_press.icon = &C_icon_solana_64x64; + review_final_long_press.longPressText = "Hold to sign"; + review_final_long_press.longPressToken = 0; + review_final_long_press.tuneId = TUNE_TAP_CASUAL; + + // Save steps number for later + transaction_steps_number = num_summary_steps; + last_step_is_ascii = is_ascii; + if (is_ascii) { + ++transaction_steps_number; + } + // start display + nbgl_useCaseReviewStart(&C_icon_solana_64x64, + "Review off-chain\nmessage to sign on\nSolana network", + "", + "Reject message", + start_review, + rejectUseCaseChoice); +} + #endif diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_1/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b2d1b3ff09eab7c6d9788b667fbdf33e51daf6 GIT binary patch literal 8014 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ccea86307f28beda8843f4a261b9dd730e37b50 GIT binary patch literal 5756 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..9ede3a5036528ec5da7ec7d748b13910e99aa902 GIT binary patch literal 8981 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 BMArZS literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00005.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee4a7591e30872e3f11fa536eb3db2a16a852df GIT binary patch literal 3077 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz_fsa2`FOazh^ZA1NRwE7srr_IdAVq7d>)g za0r}pN-TZyX3tL#IThLV3V7@)I5)lh;^}p-qIEfsTz`LmfBoNIrA!uk_J6ZuXxPcZ zeL_G-!FfXi&p{@mQO;->jHZKu$P16(?=AcD_3PIuZ|9tUzC4HB&aw8+%tS`XCe{=V zu?ZV*o36=T=X}uYTF=(>*#A+7c?jp)p1XG5FFrS4C~7gxZUdX57~#;C05h_%!(FBL z_lKME+b5`t@7R4N_Obc$=Wkw!zRuhKdikH7H)bS!Jbr=UUtMkHvuEpfU+UYPR_(`W zIXBJ6+)XTE^E)r=ce7$=B<@|f^m5nhK-;2aKfiu8t&`hTa(Cg|nEe);uBA?0n7U7V z#+|K^5gn4(Homdm@-DCbncwv_zmumf|3B+lWWMtTzE@Q}lKI=!mWMz7?>Z&eY1vxI zpQ{cE&rIC7|MtsEPur(%KK*(BwVam60&5OSO2ta|>@qDaxOa+ej*#5-?{C+#I~i;` zbz$kp*S9MlbK4i*ZI1Z$JjuQ3=*utv-^HBaxiG6VQSjiS{`YHo_7v89s=Jf?n(yxW z-6aK|dPB;$mwo40DZEB`m)z><;bLp|rCpyszn-z&SyWaKjRVUmjx;WQy`}P~p z;sc^L>+u*KPP&zR{onI7)}Q}w{H&fa*?*^k?*_ZOvsOP|w`Q~9K`V{N@_C%smRH|> zdGC_%-P+nG>+Umu7g$+*aqj;fd!F|uR`075?z(QQekYyLX>_>Cc`|e93t9i-YkTir zIsBSW_WXr!?fC%y*t%r=KISt5`(1H=_v|_=SNnBJd}Wbj|MzNRKh8$7var95Z`3cB2Q$wr&#U2h ze(LYN*owc`U+KhN-0ZfSMLX@!?JaTUBJ(%hZ?0*7u=;=4p1$BilTJz=@7~v$zy9yO zkdHGA51-m0m!Pcfs2s0by!*qP$YW0qN!KucJ{&D)KxXZ7=U3O0v0&v|g@wU@U< z$h=C3aM>VXoUT{a681@Pj?g~-hZP4L-!U6ZmK5_Z_;>w>(S3WFhb}%#7O|{;&cQ5K z_Hc^9;~Km8`&@hKYL_eDIydL^&l)D_`JO)a_GD*v|P^zFF!-=#lFEN`jYUjCx5=FrnM6HL!+xOe<(=uh5nrGNdu zCQ3J5{gAnxHQqOI@f@K|Tb<{MuBz`&FnwdXj!#rvV9mUb=`ZJ+t&d)pTK#un#Cg*- zJqycsoj1I>N!fBD*&|K(19w`aT-sx0_x;TvxkTgolu)ODBG zoQ9mAQ8G7zBl9SG-?bXs_2(52)qGul$m}qzf=k|>9kI^#;I~(g&k<3Wkd>lF8x*6B is?mleDUIu%dWL4(BG0u&O$NZ`J%gvKpUXO@geCyuJ#2~q literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_1/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b2d1b3ff09eab7c6d9788b667fbdf33e51daf6 GIT binary patch literal 8014 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ccea86307f28beda8843f4a261b9dd730e37b50 GIT binary patch literal 5756 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..9ede3a5036528ec5da7ec7d748b13910e99aa902 GIT binary patch literal 8981 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 BMArZS literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00005.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..fb86ef274b058e75e73d74e164702b72aa73bc42 GIT binary patch literal 4828 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..76d638072dd0927d12cf1ea41f1e3a4f039fc5e6 GIT binary patch literal 6170 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee4a7591e30872e3f11fa536eb3db2a16a852df GIT binary patch literal 3077 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz_fsa2`FOazh^ZA1NRwE7srr_IdAVq7d>)g za0r}pN-TZyX3tL#IThLV3V7@)I5)lh;^}p-qIEfsTz`LmfBoNIrA!uk_J6ZuXxPcZ zeL_G-!FfXi&p{@mQO;->jHZKu$P16(?=AcD_3PIuZ|9tUzC4HB&aw8+%tS`XCe{=V zu?ZV*o36=T=X}uYTF=(>*#A+7c?jp)p1XG5FFrS4C~7gxZUdX57~#;C05h_%!(FBL z_lKME+b5`t@7R4N_Obc$=Wkw!zRuhKdikH7H)bS!Jbr=UUtMkHvuEpfU+UYPR_(`W zIXBJ6+)XTE^E)r=ce7$=B<@|f^m5nhK-;2aKfiu8t&`hTa(Cg|nEe);uBA?0n7U7V z#+|K^5gn4(Homdm@-DCbncwv_zmumf|3B+lWWMtTzE@Q}lKI=!mWMz7?>Z&eY1vxI zpQ{cE&rIC7|MtsEPur(%KK*(BwVam60&5OSO2ta|>@qDaxOa+ej*#5-?{C+#I~i;` zbz$kp*S9MlbK4i*ZI1Z$JjuQ3=*utv-^HBaxiG6VQSjiS{`YHo_7v89s=Jf?n(yxW z-6aK|dPB;$mwo40DZEB`m)z><;bLp|rCpyszn-z&SyWaKjRVUmjx;WQy`}P~p z;sc^L>+u*KPP&zR{onI7)}Q}w{H&fa*?*^k?*_ZOvsOP|w`Q~9K`V{N@_C%smRH|> zdGC_%-P+nG>+Umu7g$+*aqj;fd!F|uR`075?z(QQekYyLX>_>Cc`|e93t9i-YkTir zIsBSW_WXr!?fC%y*t%r=KISt5`(1H=_v|_=SNnBJd}Wbj|MzNRKh8$7var95Z`3cB2Q$wr&#U2h ze(LYN*owc`U+KhN-0ZfSMLX@!?JaTUBJ(%hZ?0*7u=;=4p1$BilTJz=@7~v$zy9yO zkdHGA51-m0m!Pcfs2s0by!*qP$YW0qN!KucJ{&D)KxXZ7=U3O0v0&v|g@wU@U< z$h=C3aM>VXoUT{a681@Pj?g~-hZP4L-!U6ZmK5_Z_;>w>(S3WFhb}%#7O|{;&cQ5K z_Hc^9;~Km8`&@hKYL_eDIydL^&l)D_`JO)a_GD*v|P^zFF!-=#lFEN`jYUjCx5=FrnM6HL!+xOe<(=uh5nrGNdu zCQ3J5{gAnxHQqOI@f@K|Tb<{MuBz`&FnwdXj!#rvV9mUb=`ZJ+t&d)pTK#un#Cg*- zJqycsoj1I>N!fBD*&|K(19w`aT-sx0_x;TvxkTgolu)ODBG zoQ9mAQ8G7zBl9SG-?bXs_2(52)qGul$m}qzf=k|>9kI^#;I~(g&k<3Wkd>lF8x*6B is?mleDUIu%dWL4(BG0u&O$NZ`J%gvKpUXO@geCyuJ#2~q literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ccea86307f28beda8843f4a261b9dd730e37b50 GIT binary patch literal 5756 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..76d638072dd0927d12cf1ea41f1e3a4f039fc5e6 GIT binary patch literal 6170 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..fb86ef274b058e75e73d74e164702b72aa73bc42 GIT binary patch literal 4828 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b2d1b3ff09eab7c6d9788b667fbdf33e51daf6 GIT binary patch literal 8014 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 BGNu3k literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_1/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..f367061255b8f2a92e7ad9612e3606f191008cf2 GIT binary patch literal 8005 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 BGNu3k literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_2/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..adb7b792d98577fb80c06acb82593af8e65d8097 GIT binary patch literal 8016 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ccea86307f28beda8843f4a261b9dd730e37b50 GIT binary patch literal 5756 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..d367150cc593aee5e16952fe22a4f541b096e318 GIT binary patch literal 8854 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd058d709cf7ebbd10a5f46a9c5d40b30c37671 GIT binary patch literal 6172 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00004.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee4a7591e30872e3f11fa536eb3db2a16a852df GIT binary patch literal 3077 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz_fsa2`FOazh^ZA1NRwE7srr_IdAVq7d>)g za0r}pN-TZyX3tL#IThLV3V7@)I5)lh;^}p-qIEfsTz`LmfBoNIrA!uk_J6ZuXxPcZ zeL_G-!FfXi&p{@mQO;->jHZKu$P16(?=AcD_3PIuZ|9tUzC4HB&aw8+%tS`XCe{=V zu?ZV*o36=T=X}uYTF=(>*#A+7c?jp)p1XG5FFrS4C~7gxZUdX57~#;C05h_%!(FBL z_lKME+b5`t@7R4N_Obc$=Wkw!zRuhKdikH7H)bS!Jbr=UUtMkHvuEpfU+UYPR_(`W zIXBJ6+)XTE^E)r=ce7$=B<@|f^m5nhK-;2aKfiu8t&`hTa(Cg|nEe);uBA?0n7U7V z#+|K^5gn4(Homdm@-DCbncwv_zmumf|3B+lWWMtTzE@Q}lKI=!mWMz7?>Z&eY1vxI zpQ{cE&rIC7|MtsEPur(%KK*(BwVam60&5OSO2ta|>@qDaxOa+ej*#5-?{C+#I~i;` zbz$kp*S9MlbK4i*ZI1Z$JjuQ3=*utv-^HBaxiG6VQSjiS{`YHo_7v89s=Jf?n(yxW z-6aK|dPB;$mwo40DZEB`m)z><;bLp|rCpyszn-z&SyWaKjRVUmjx;WQy`}P~p z;sc^L>+u*KPP&zR{onI7)}Q}w{H&fa*?*^k?*_ZOvsOP|w`Q~9K`V{N@_C%smRH|> zdGC_%-P+nG>+Umu7g$+*aqj;fd!F|uR`075?z(QQekYyLX>_>Cc`|e93t9i-YkTir zIsBSW_WXr!?fC%y*t%r=KISt5`(1H=_v|_=SNnBJd}Wbj|MzNRKh8$7var95Z`3cB2Q$wr&#U2h ze(LYN*owc`U+KhN-0ZfSMLX@!?JaTUBJ(%hZ?0*7u=;=4p1$BilTJz=@7~v$zy9yO zkdHGA51-m0m!Pcfs2s0by!*qP$YW0qN!KucJ{&D)KxXZ7=U3O0v0&v|g@wU@U< z$h=C3aM>VXoUT{a681@Pj?g~-hZP4L-!U6ZmK5_Z_;>w>(S3WFhb}%#7O|{;&cQ5K z_Hc^9;~Km8`&@hKYL_eDIydL^&l)D_`JO)a_GD*v|P^zFF!-=#lFEN`jYUjCx5=FrnM6HL!+xOe<(=uh5nrGNdu zCQ3J5{gAnxHQqOI@f@K|Tb<{MuBz`&FnwdXj!#rvV9mUb=`ZJ+t&d)pTK#un#Cg*- zJqycsoj1I>N!fBD*&|K(19w`aT-sx0_x;TvxkTgolu)ODBG zoQ9mAQ8G7zBl9SG-?bXs_2(52)qGul$m}qzf=k|>9kI^#;I~(g&k<3Wkd>lF8x*6B is?mleDUIu%dWL4(BG0u&O$NZ`J%gvKpUXO@geCyuJ#2~q literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b2d1b3ff09eab7c6d9788b667fbdf33e51daf6 GIT binary patch literal 8014 zcmd6MXHZjN*DWF-f})^+f)vH5bVZ7E6)A!g5fTVpklwpMh!GG4BTAJnMrslWy%#}6 zx)4GSNEZS`fe=Ut`J&!C^WB;I@BO@Uf1E%2>^aYwXV%_p?X_Q+80jA85a3{9Vmf|T z?~W-G)1lW)Ow8}tnHdok<0d2%lL+tKJGab2v)1ueVF*kro5_%!;o#X1*S~ISQR*Od z9Iro3hoTE5jzquyuFF0bp`JU?Ie(2Qnyd)|F}+J}V;(wbaZ`YqQ%}qOkQ=*{=y4e9 zhx3>x@+^F>pZ$ZE2R1gaOe%#EMkf-9K4|6v{vb#2N+}Ca5>XUJ|7L0C4G8-%bcDyk zu(tq5HO_W4benGEu^=@U;(qj6o{+Q8ZgY1H%cj$4v>sIctr7h(uZ)6OQ|kjrOFg=e znG;!FF&8E@4Q(*pTWOwM!_TGTMbL6qYpPmJI%aXT_;uUmpZ$6I}; zFk=S>)`*V@jdm4n-D z5Q)c=OeS$A=PqGZ!!^^MWuK^Y9>8s`8xb(cA=p!%4GX2rAfS|W#d5K21y#$B)J;xH zn&MF`mw%bjOt3tA=Ov%T#7M3qE>qor%y+}|##7ar)@3yDz?oF=vZR6A0*%VrK_?Jb zlWxVZzWO3os|nZif{OVXj7_b1X_G+ZIxamh)ouyajRv8Xk7py7c5)B1071(EPC(Mu z!aZ1JNHFfO$}8i^8IPkVii(}HRz9w=uQOXoHJ_|8y~q?`F>00JX%qszMm2K)Eo$|# zq%fi6dB*Sg$QrZC_xYZ}^D>coz0g2o|Ef?YPb@02N9b0Y{wzW3#IPm7ZsB_f)v4>_3 z(X1aBk0aJajQGIpnHfKi1?H<*t1AoNOStVJAxM7=3t#Uk<3s6zNB$q+d0+6^?DF#R zsymY>Rq0sA{I9wO0j9|*9_D{hK=U&=UM8>`O&3q4A9seahG10+3j|kFt(iGD5LRY= z-nCkuN2TgsxPhesdI)Rk-kw{wB{S!cAnP}0_a?rg9BXteIEUx9cQ|(SXZzv=KAl5K zZ%ti5IH429q*60dpp$N{jA`LR$u{jde2!z4l5T(Yb;Ie$HuTo)TO%EikATv!D2KGw6i;4@Rv!T`<})R)Ue3*&**W8|-i=Cp zf!-W1KTOU81o%qE7>{PiShuLc!SlZJC+{?ZdZT8}EQRaeP!A`|nAq-4-{$h9-19O3 zYFcVU56yobjJw?BeBS_((;U;P6SJ72iCIaK##Skaz5|M(#;M5?Tb9`3^6~3GdoNB< zC5~{6SFg0=mFpYCKdZXYBs<>_IjDG^5q)F|v)%IQ58ZGji2X5tPb{Iave?+;<~bU( z8r>Re^XZOW0qUGfKy#oUSuqox=I0->9bNUNvca(0s z$z$A=T1Vz36JZ4h%yTIknRa(4HrOyE1QU!^=~t+l&fVe1&LtgD1~69gH39daY40Np zxE7Fnbd8mU;cZVR^?&)V$mIN|6$9_Kd$UiYHE&{f5bLSQb}dd=I1r_SXGVh7 z5)FMpIt+RgkN3o} zLp$Dq5TFMrY7Ms2zDysb~A_y$W|1s60`rKr5DF|C_RhYQPi z6&{X4KN50V5k2MH(YflR0 z8*A%YOPtb4;vN}#+(I5xfl6uQ4v=nr8rtrhiGwSKS)9Ti?#R%%fQsyfd{y3eZ@7Nq?CfoR;|3p? zmu?c+(PDc$b@NBts{P_i1^jhX%|Pc!H0L5GYO_`+Ry`rry_rzwfe4q*t^!o6r?>h| zkG*_wio!_)cOa|U`4O-BItPrjTO-X{!iJ5!|AH0bDz1h;t4#u9q0Z{(jTyktE`*o)8*PCz1WY4}YqFpdCo zs<$(TUdD`FRox2es=A+*;mcba?TMtGUKCcC<kA<%Y{=Iu}qtHVG`;UhA zu4JQlB~uRKwFFkgL>wBW8jyqSE`e=-vo%P%v!(Qjsd>mhOQXQ&z% z%eV4sMTKruH;hz`0(QmnmzpQ>=;A8Pwrnf1Kd4Mzb;}WE+L%Q#N4ZpH~_uhS*hlmaSt^IiHc=_$;yU#ojq(aNs!v`&GCE@oHE-dxp3Hsm^lqnvz?mbd?b!sLA`e@ZetsGRyNN^p= z5XgkTb*$Vpa3gsKoBA}2xPJ3100Jg$z@gySjz>8&=ZIi>x8FizyD-e$UoK71rr9`E z(W-y?f#0JeX*@29IT9*0cv1~sDxi$drmMM{V$WYPLWpBMJjj<=vl&MVKE5%bwOYZ9v(~Qoh zytZd}*iT3Myp9D?pY1gEL4J1<3H*qwC*8b!DHH5jyYC%B(}woD{%D$KF!>XYE?FX7jV^s5sfwx7FfJZfbd zRc^PHi%&_P#}t$7-V_yW$Wqu*H-pu)n?6-NBhnS_G~D_8`~^M#3A1GB*JbFwXLIwe zU5%1_(T6q;31=``?aFh@*>GgIZTX0p=cIBDT~DxuRc z`A)V=fr?t)X$JfedBElMU{TC>Z!kT0J5USHE>(vfYg91tbE@5I-ITNFI=PwqH+U;- z>G=#*zJr!hoV7Y9-?dx*^r#J;_~&1hjXHo$(wwd4_G z>CrYKk$cJ$#v2=nBWOxHfYM`yTqiYHH@sf=QSNQ!Hyu$@x{ti_>?>3+XuHTY_`qX( zw)@_=Yr5MWf|vd!3j4l0R~}aab%;spj241)V_3mASc^YWiGk`qAMh zJZgG!2bMjL81qX`b0Vj~tcY-+8EGL%KC#cJ@F7_cp$CBCkEiQXa2Q8^s z>wD)?hn=ppAbh~zyG6^JTu$6G0;o7|NL$-CbIo}d&JERY-2pD>3Ps z9i-d0G(QipC|iC(#9Nd1&k5Z$Fut0wVgl{AO4swh8qIqR^9;LHOmMex1j(Z{FMHYM zuI?m9<-IShjc&{_ZEjk+RANoG4Y~pyB1guk`DSI8(bwWOna| ziVyhO16yA;8wP)mn4X%edbr4YqlUjyQdnknVEYT^p*g4Khfkwhdl72FAdq8i&Xzd$ zl6M%Til%-yfD~AJH{|;lmJzm5W8e)n6;8^WD@zU$(?08WR1D=+nv3!c-A)b~6574_ zTOa*{@qd>w7%`+H4#zaM<8y`$x_4IZqx64TlmBu%6C`i=H`y112Ce^_nEv3zIeb^yKrGezjbtt z5}Hfax)h&X-1hX-G-CEw=sEUxjvij_$(AXH2_Cn)B!WEryMPZV3lRFb%UXqWPL9q% z0S9G=cMT0byk-L^z9Tq)!q8=B0{|b6>9nppEQQIbZ>6g#$xXJ+%}Ee*KGh~Q?yB(5YP)cUR;zX!C5XZ0f$qBs zhOk6*ugu8YuuX~W-Rd;C(g;Zda|tQFr_Xo69aQB9H#&m8%d28iI=B{yYjOngXk&Y= z8s+?}=P=S{q`$Xw_v~K9AW(;3q?t~0>jF9>LAL9oa+!kJ+3Ki@tK3xwDf3@LV)70n z_f0hgRWgx*ss?E#wU+DoPFY`mEG2fv#h6@R8*!~0Twk~rb@(GIZE=~=`jTqxV|0!x zOl)+=N=smKpIl0N2UCzT7B+wRqFH&jHt4dlb-tawkj4OgXaQ1DpzmBQSPj_hq8jPY zBGZ17h>0Pm3$S-bbHG@1NDkVLF-?NuhlvPys#5et6c9!t&2aI{QHj?LQhk1nF|SKC zdr(|Ig*%~LSle&v{$%i{B)1E3d zE1RJup$$0+_|4o>Dd5}olXjo@bzwnhdfXlDAn2g3y;r%(uWLwd+enyk)@faD9L$+7P~B z!OFLw828L(1?y^$^Ny6>s8wK!`Tt<9Qa{$QwWro}GoB)~0)!*)Sv3YxLpEkaH3G_H z9in+B7^6+tQoHWnbIsecL*)13dVTDidScz|grNCK4VEj`YhxpYk6vj&=|pPw#8MW1 zNUoCAs7E&If_U)|C1<0=MVi`9cpfbfL+*xY= zKK4^;^j8Ba1Qtb7%fjCsgi8ju&^UWEAC%{x&>d0o^VgM#bS*Of{Fz}Th;1@RIe3*C zi=F@eVNm^Zcd;CLJuDpoHI}p{u*;N<^~~Qm8|w?G`z!{<0@ny>L352bO5jp9qTkwgiajnaC>tR6bOTKW|DxFjX8{cb>pDu zu9A{^6JY7vuPoWeQ84xlmJw595mjbjf39ef9imb)GRC9+qtlG@;)yl<@;N4&ITtF$ zrPiPfnM|H>?P?Hel?>!S4pz0x8kkFuPXX5L4(v+{`c|U1#$|{<{hqz{E$r$ zW@?hJ2UxErZpL<2x){t-;X*Il1Ks%hL3O@+<6hb0ckZ4@UF#1w(vGzIfT;|w4k!}a zQIw#&_czC=&wvT_^CFX9liA71C+%OfT{zhxIT91*~$z#~b(M(dwK$4*-irE%}| z(LH4V19gwCidM^2OM_n8ac&Fs%uCKn`!B3(M=lV<7aFShyk=y%P{<51u+kmmfcg7s zttyH&z)02ltVJ1ccZ?&tMCaTsfs1+ybI-qtj>rPU-LX;p>#u_ zWc%asKY#xqws$joWf$+D-?`~ET-oGgo+B|sH-AsM7Kp+rSC6e9czsj}G z(O;D`rIXGd3`yK~t`@~;WM}CwCtXK6+gG3QfkGfcgq#k^(ktf{FEtRKZ!Kr`*V(o9 zQfM>?O;y{ux=!+#dV3hDdwN5;X->CZ7Ys=bOgFdr(WWw@PBdsqYg2Vg8IE-U{%8}} z2}!7uIFB}^F7(C;TXf`Xya56};EqRlI-7H%3a)1W@Yu^}#bxfOfwgG`bOpKRkhmO@ z(iHxbdnA{%ajizeZ?uYH!HAX0Gepqek9n_P4ny7;?+amNEEx`hcZAGEK?hp;PA5G4$HmsiTQG06e*Lo+$=8`FHynJZ)P$EX?~B9hBKxQGTDV6{XQo2WL`;Y4)!%JOAGnJ=Z)0yr)p6!c zw5;8}@20T8fy!@rV;SQ#(iZ^+AAiB@(d^>{Jf9vUDDoDl^|{TR()m@NQef=tb)XL> zv_^zaOJ66j(JBm5t4a(A?#LVSMC zQKhMmv{S3xf91c()3w5sX6l^oLfXAY$^yfOT?nS~DwP%Bj*9B&#>;52A zfx-j%4KoTXs3(35*7I3<@^?u+Xl%Xj#Ml)LUc`6@bE`(w*IBCGLD)TXr(70=GfZDF z>xh@k!^^V#wQheZ3r%mY`3=jCwuX<|sP4r%w!g3>{d9L#Z`X(1GxMYk{|#w@kK?_M zVueoq_bOR}rBKp_C4d@1e~wxG_EufTVufuQ&Q`nf7x%dg4VdkH^pwykLo3buf3wno zS_7j3rsqxxfi<=NhO&SiSATb{oXK#ZlY>iKDj+G(KW`dJ^1@ngP$rs9(kc$nB9(u8 z#2EsA(~9u=+qx1GqWVwSc^t`W_BlFZqp{!8#GF^ct^1nos44u$1^KTGUumDLy_Q&9 z)jw&&gVq4O7~vXR4M@4M?(1hyTNyv+mk}x9j|ay$5#JC-z*UeF+!j!8#6vPY(%8C`wa95VBqZnew7{(UH*k#Ky zjK-J|m30t?$&4A#-1U9Eey``x-|KmL{`mZJKG$`wnd@`TdB5N1JU25j;N}$KWMN_9 zzH4~ff`#R;e^^*pOE_4W7Io7$C<}|&iMzLTts)B72~IgsX}qi%vVYaB>g8SW9T9i5 z;FE(pN582)7Ol>=#Z#nn?8m5*W9Mxv})p>3P>LPa;$blG8NZ266Ac50^AitLP@!Lku}W#ev0b98L` zhw2g5Gtk<)g-DV1*cOZZ71TV5u<()~R;}njQqyY#XiAWJ*TaNGs2J0UX?k>f-5@oV zBGBC4LEaIkMa@z-Dy09R+&Ct9-&$Ftx1HkFeq&xm!{T${Z7GK@ME>d5WaNg|P4!`w z2YY2v&Lnv93_R&lLC3XCnxjyd_He$I4W>z>y4!+iY>HTU)ynB;r|@VXry_E2k$r^JoxDVZk)(SGRC6N5@Y}wT6dl~hKc)Vl{C-As@IiV9wGi8sPn%p{{ zXMLb~!{Q66$Z6~8Mt{xv=7*!eC+TuXC&*OONPp2;4G2Y>DDmtDY)8geHMtf2CZ-Aj z-F6x|3TcCe2F2oxT(c=6H=~r6Y1HU4o?cU$6Wb?~wP-)~kUprxN+@2r2r&0ze3uTn z(3CK>UIhKr?gkdN=w5X`F%%d&l7qBZBtd;j#YB`frmoZFV`3$HIiRW8ls7pbWxD2; z$NOE%Ev564K^`?{nqD=3gWG!;76#yHzb-xG+i5(UjaNsr`0`pPzQMLqB2(Frxb!5= zJmEAmNKXsAFb1bbo0;x19?;+!A7!56|;ows9v*N z8tmHbi)7_ug`VcFnU;ExqHGVf@Z@ioaIE@HVvK6Ly(iDU^{X8b&8Uy%?9SAPC__2d zRGm3Y*SBrLufvwk23hxxR$iL!UFiYp8ebt;ie5@M2T+E(r(nPEUDRjk1q)+2VeH|^ zo4RbTA;k3iX{WL9nTmUUF}aP}8jbZg0c`CuT1WE)vEJr|7O(ksNRr(Pp-P$E#Ha^eF;V?AB;VPrnLlecmgXGj;C zu|(4=m08wpn--oayw!{Uewjezl> zZ{cav!jr8M2|w!4iH!k|Ref4|XLe4qa>>3UKJF$5PGUb()#BKu&As1eHxt;83OJ4s z=Tw5D^+q_Pn_+9H@de3?|3kpJdLZ@ckih_gs1cfj0Ri=dtZhs#tYtiY>Z*h5R%%h* zarhty7f0!!*xR73*-8I1D(`KZXeNg*n1E(NQ*xO*BRHqzg3O&8pZrXfh(y+p@GB*; zM5(oCLmQyFd)TlTwcN{Z${mJ@i3_v<3sQKYPM1*PI2nz3evn;B-<<$rsm{S+rE5?x zKjqeX(ul|AB2h-Pa-N#%QIH>G!qBUVjg7@ftuJ-sYC9h0ktcww@-u*iR0Gv~rx`%O z-$K=I#R|H9YD zxz&F?m+FYJ#TX>?ntl+wk*s4J{_Uc8;qte;6k`Kt6+?=~75~nqBV*3fO$lIcE-x!? za1#CHUzg90g}SOBg8T9}1cCS^FW;``3v58DLuq%hff0llI@>Ug$}ySAnh_nI0}(%y zDlXSg@A`6sCwN_63>IX9i&7Z}S7UZ_6h&`GJ2$?ek1wWnyH~Z-ohg=QK27X$tZ7te zU%@ZpRH%V&%kF6NJk+=*(%RTXZL53N!=%uH>9BBNFG6#JLc>j6Ct)089tB^+mw05Y5oR@j>S>@9}DmZ-U|Z_6_VzLYI=l?K$^ z8m?0K=o4uau`y4hg3qk6Kni!+yJdT&?4%IRhr9c;5@!dmT~}N^>_d!m_=Y(mL#F=; zR(q+S(O4JVDcF>K3p=DUA%wHeC)}oPW306gjcX3KL=JR!ofS3@`sBY^cH!MsQLf$w zg9pyO%J4$$hfc}-TEa+U_4H4-G~+E+C`myp^^JIVjg)tG9pI55o&Ym-YmVJy3{Jj{ zaI4Xev)&t%R#8zER(OKkHuB!}53>kt!9E;&R0fp9JK0CrCzBL212X~}(804iPWRI~ z05|e5>2TsPqXHSP&C2GwXGYJJgiYDL`-h|a)rMxF`ZmG-4edtFPqZENao5>_%G7P7 z(hZNlcOy}$$50y5@G_t)-SZY9py`qZL)HM>k>Vm}*%96>?SZvB&M2_qfmfwX3weUm zimc=AFF{{y-v0P85odgFNV52Pzf1Tv+BJbP4JAZ*4Y2$?l?~&+=N%cAhdlWur+Cmm z06qy{CjszS*L2+$yqNV3hmf@+bjFRFq>i1F65<@NVHtN zMJ<~PN&N;wk+>`g!dL|jdatm3gc$n;v`oN7qPasKpDECZ*G#-ZP|6tZVVMaP+8iml zH1&zrmh!9>80Zofn(*|2Wq4CUNBK~7ptr8dUryRI&nzrC?eEvabkMEh}AMi#Y5rU7;N6a2Kn z*Yd-HP9`YC#bmk_k9z5Ee5-D#oDhL_#DCTwM@Yq7z zF!dW6jmC|NW%g6ANpbO2TA;Rf$aYY`M0i+>duI~0QWagLFAifaf=HJNqHcy*GdOz5 zm-e(x84O0bPH^vo#O`N-OtJ*-{=_f(5xX%OttFa?tGCa$`zfs%l}>kFYyC{-+J3KC z%5Sr%!CP?)yN0%UJu=Xq-Rp^WpSfMIYZ{2(ZFi{rHt0Ml`pe)7s0vW`Yv6={ag#_uEl7l|JQ8Fm-nIG0GUv5RK`NMOII|}53 zWGjQrRL>=}z8HKsD?KMKN5_6kOSDiRn^9J2ML#3eX0=FZS;;nq;bkG5v-k_GgL(9W zpYtz+<^OrtNQT3anNH5oLkrQRh zvIw4;wzU_b&1JLNO_c-xL>ss?bY$zgMUHyjGhtKrgjctAP|x>_nDj#YJ?`0@3|$2) zs*8^=e!gZtI6uyCZEq7@LTHbkLAQP&?cY#;np5n$=xr98;gDw-EFS{x?-1e{t$<5~ zraPH8FwWOMiMfWifKiOKjPDH{K&M(0^&IVn9o9TSu-=7e(8-c z-y7hG?pb3arYbz<4bOqAuJAa%>6rOK9pFqhcu>@Sedfq$xb6Ip>xrkas?(;x>zekd z>MJ}47sUUJx<3$3n%|EucH(~Of0%UtM=m(-)GROSpXeogox}07_*Bvj2>3&8&p0+4 zOO1+hVV@jFRxWs{oz+M{ldc~VB~!fZWh4wCj#1j+1|=g`-H1|_nS1G@ti7+HduBtH zw^IBA?LFiQ;l!fKj`)uD(s>Zt>!=ygzTlb%aK58O#?TJpXKaE4fI&~@V*5MCybt4V z73+&jUpc{NvsWFzkZ1kipDA)qkSfyo5L0*g6u~Y~o@CMXs)2QF*9AP9jx2%2iZ~9=Zg0@taT|7GHe?t0C6O0>=A zP*;e{s+XSE<7`i_6^mU}C@Sj(<{ZIMvBq{8kQt{U6ril}WcbU?C3X7t&f2be1Xs?( zEVI&ec(iS);`;H2ZY#=&r0)Zz@d~wS$L1WuUv=BfumSg;Fic)=4&-0TvksgT_$arj zak_yfJHIq1xq0^7)V;EZLZ4lmxTu1xbQDn&Xyp=&7P>!Shq6V_A zAj5K!7V|bcRpzIgO@+${PIE+6$Mi|7BI;l~QwThYDFLT5aJ|?xW1IlF^ha4#Uv0Zu z!M19Vs41K2^w-(~1}3|g*YX^7`fFNgN6Y`iLVRTLe0=CjGtoTxj&3N<@$(;)}Yz zUUeVd|E6o_)FdN}%#{EC>Zwz5xf}m$f-32Lgr+EtYx4c*E6=IxL-h^5O|f4Y>pg)R zyG&BuvPYpb6@U0)30lZBYbM7$1#rlRqN zS5y74UmRxpOogFERegI!>uR0_1lMA07ZROlW5n@K6d24_(py-O$?V!}2Jsr16KCp~4UXJu2 zYUvnOUd>^jLYa15c(59E5F3;h2OpJO2d{fwDTwut#V-f&tSPOHGgx;89heMLG>bqt ze;p7I`4cewcK!xv3%nZ3|o zI-TY7V$P{QIX*aGPAh24&oJV#L5X^nUnm6;i7a)Y@nZ&vs76 zx)jhbBqssTGJ0NzHea;^fNA(Ut_^AOv4!-sbhD`CG#^qwvn;w}& zU{Fn^^Oos-o0DYhZ!6S=Xnza{HqfJKFC%~bs}MI&6_iBurt@g>tpcIFxnJvi=G>U7 z{9;B@_->W6+O2xMK(Y~7h&*Ii+QAv3Y_c;F+|zG~>{mUkwTB(Wqwi z0CKagO%GHCfo>oH?7;M`z4fr6wPF&#&EFZpM+o8Mouz_|W@q$pB+3~aoBRE)UDxFbwm=KAYN@@2pwbkjywsw zZ%Q$Q@=dI=f>e>IY``hOk*p2x*T90El%i3Rvr6?lic!+3JnLwpRtLwLKPu`)wS}Wf zH3*n8d`;?}EBDZEXGYY9;Z#1`ZpYuwxEj3TEvf^*F@$rm``Gw_i8Eh#N}LCzHA z{(%s1R{LyxI)YeEe>5+u{!uLuG?v(JckxJCi2hBT<*wi@CjWCjc^_q zI4BB7E2;4YCNxZ{ofTylqlj1p@X9TQPxx@0wZ*i*w0rK3m7rVMbJw!^RtCBQFXe?Q zpmTtFB^~yg!g<+-o=$xy%csob5mgL@x~z8Z*LDRiccJv$z|2;6Pp1->u;;IUz347M z*Mw}MTA$r>**rV6IKX~tEXs9#{g(r_-63z45K-GFG2%$x0ay@7vpVV1ku{7&6zy_U zuZuX6^(9ab*HNWVvmc4trZR2(&y`YY7sKU#EYKuq9(S_ptG0~Jw2Iyz@1yTo zPc~i=`x|kN-J8EBvtr6j6Cta#T0EoDjtcr6H4}2h+j;tH!Jh4ToKg%yE)_Z%0eV z9oWb33#`90Vx}AVc8^1ftYD7V)oc2lTV+#YBxaTW;r1ROsia>m+0$L#m7_ps-daq;DNbWiyq{nUT* z)LZ35_xe^u{VZ|m>9YSu$)nyD|6e|frp&5c&eKWGHo0|s)pK6IT&(oi>dYHch#Ak3 z_UNXt<#f;r=EJiwY*WIVi5Lj%90#u&&omJ#d(Ess$?P|j5J`v5Jtlbo-!_5-YHCRu z#k`l@8%8?oLBX!52EPnYKB(%y6*gJcwdybo8A~>LH;K%;N)v_@L&zV{B5YXv!}6U7 zLh9Mi`eQy7TrJOZp+)c=5t1x|m?Jv&-%6}9LOVmpe&fmJgwy8fR?v#&5`7}dHNEV- zSX|f@hn}6=XtE>_eUwZ3OYVNr#{c@rx$p2VbI;IVnUGU!%<(wO-8&|?;kR7l{|kWV BGNu3k literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_1/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..f367061255b8f2a92e7ad9612e3606f191008cf2 GIT binary patch literal 8005 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 BGNu3k literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_2/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..adb7b792d98577fb80c06acb82593af8e65d8097 GIT binary patch literal 8016 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ccea86307f28beda8843f4a261b9dd730e37b50 GIT binary patch literal 5756 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..d367150cc593aee5e16952fe22a4f541b096e318 GIT binary patch literal 8854 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd058d709cf7ebbd10a5f46a9c5d40b30c37671 GIT binary patch literal 6172 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00004.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..fb86ef274b058e75e73d74e164702b72aa73bc42 GIT binary patch literal 4828 zcmeHLX*e6&y4FDriT0F@QmSL@y#*yTMx@nhn^K{sXljTdYN)YhMWb|=UD~Rl(#SsA zQWX`{kT!-;QUv=H5p&cKZ4gCdFrDn)=l;6?&vT!9_rG_I&$qtsd)N1_^}ycll7hUt zyp)ub0^;(8Yf@6X9!W{<{zG=Rq{kddEtir~e1W)d&MEf!;yAjn_{#1yhsDYgRE|Z? zJ1tVRt=>5)nqS*> z!#Gs0YMwG7|EvT~G9A1(?{v6L?T1DD0uPBr^X4-LSPdd;1(Wdrgdgjvn#!K&BHw2o z4hZt0I&{rIhQwLG9{lV@XpOAOi+%p)eViJEUkB4C-ukYWgJE8FZjU}XPp~k-}Tikn((vpKqTT5uxGm1h2fpvZeiqD zA?CM8yr~#eeaaau38{ck6hXa^0ot2seDZ;2!`J=)E6M&>Hntoo>hq6l;qpi3)$o;S z=JeHytSa>0pwAn!4TFb~#Wc^xdh>X9#chb$L7TNr?z{q~Vg(3s(iM>uqR~i?((PhuyfL~K zSxj432ECl!NC9}nVtS#%8&{T)fjCN0k}V$!gDb2g8+E0uVN zAwC7Clx@{E63aLHTWwHv+S;D{>hC_#bqAmuhSt|z=2ka&E=p+$v*lo!BF=`V+YJ~Y zotj&FacHgKNiL6=H%m-HueZ|k3ZJilSvK9q!L-O)*y|9!t{;R%KQVPNLG;Ji(q&DH z7hRmu5NPC5`NaJCpDbu~TaxKc_~=+87S(rd81hv!3S$cFehFzFj zZ@$l*zNlH^n*Bk#d;t_1m)Gkz=ljcCmOh?;n-9NUxr|;PxuIxz#0LJS+qAdR>v+l8 zIV*3l>4rg@T|H=0XXN-B7s+C7?@r0F5%v&Gep0FcnzV44wVJ14w4_YR>YFmq{_94edZ5;7v+Cy=`WBbYlOAB%Ks!>d#$He2gX+;m;AB^!d=W*<_QzrzHt zYR8q0xM~TP3WKFIas2Z;rg*TmKkFr5M`Lq2=<}2VTGYB>ldBqFnq)r(y1rFk&(zrC zx~1$K%|*(=yNDji$pxmyUc>!8*QW#*_v^*7n-7+~W2YgTz7gm{`X5#$(ZUTH2@OPS zLHrS&tT%o-H>d+;h5Q1MVuy+vI*=x`G6Hej_(&%T;hJ+;rq`erj7w)!2d4q@MppOK zK3w-5&9{fgM!X$xE^B94y@&kU)DB#7#yAtVK} zYx<;>X>0mfG!}&pf9Wy76ik1WOk^0u>r5;Wo?-r$HUGy&o-k@{A7eGqGJ9fg!_y&d z)EbBpw(j-IPr+{@GYC{qZG}8L+A+)03A65~_g)C)=d=x53v`{`PvA0KjhO@-lmG}6 zS+{?Gp3}Juh%fgO4^yW6(QN%444Zz+`4P9JjJXQ}uEhaNXD&=YQGwF=RXbm)LF55> zJuD|DzS*lx`Nrp>(seu9HJt|XxZN@g_sS(KZsYkJUdE<^4T?4$-jdl&IW)SjdrdyX zkL#G!CRsA}XNh)`jn&Z(7n)%sZgga6&7^I&cd#P3U#Efc@VHmH^v9c8k_Nl#systd zbRVYr#Y-oiIe=69FWIiUBb&yh%~|dcc3PV%)RZ_+^uHBJYDOE}6_cKeSIP1Z5^ zVo7EAC-ax>6^PHbWT<;ED55I=ybcy+Af7ceVuvuuy>GEkjEuEJ9%L+IhK(R3AbskK zK_;Zc1Lbp3uyl_R0h>pB@0V9R4D5zB68f4d;B;|4c3&tnI6f#i>{RYy7nJ|(7yg0j z+Vt=+MC`e={)p3Y+4O1AP|2u01q0|<(^(fy5{8TpiRbi*4;xN0mMNzb8$BjfAIwGu zFUY?>O`1ZWQO>jJy6D7ZT-D-zu0}gh2Pyh^IB1w1<<}#Rb|YhSRC(EF9$wLw816sP z6XqUavu7B0=2&r5lNrD1 z!(>uTp+{$gL_C>%rZ^Z0^}p`#q;)}W=6bfT=*#GzCBMZkIM(pW9Q_|x>H9}@kSs=3 zgIU$>GRPO5hSr#r?I#NV2Iaq4lDjDU$T?DffEjOS^R|MvRwSf5yN(gvwvpwp|AS_u$aO;-@hP z*^ev>6v!=13Hp2?fk8e4&lPR>vxos-JZGx26rR!u9 z^Pt1%^RtEdiwqi#9|KXPLJ6v)zQ~DtHmzwA?s6_K!mrglY2DE!MTYtIkXH)YIUOYl zJ`wtZp)D-XphY{I?8mbcxw6HuI7|!?GdO1RRwUiP?h0ogZO^3z+Lo z@Ck|BfUA#1rELvIv&1rRxZz;DEb|J{=XK(&DJ50}+)0{Qy+C}N>TlPxex`YeV@FP}%eNQZonw&~CkOzl>S%cX7I8(pXHx5~LKb{eu*ep~$eT=$BpJrm zHGZGJlNu0qALubV2t<<&(srPfg@ELWC0p`)*JRCEKWL1YqDG<xaMJL6SuFzHh6bOU_?`U##+!2y^wy^Z9=FZA*zr##p zmRSXEgG-w?XD3i)+psroR4l77rj)8Jqvcd?0wHPTjW@VcKh1pM;spR%H#he((2r z%dP}n(mQN=7z6_81^D}ffItWCfj}C62WzMikKq0`HC`0p;~ADkT^C-xO&ig;I62ui z3%J$>uH|0lq{dEOEU=GUr9K*Nfz!TBPPe}2kgrniMCU7Ix^GsMo0Hlg#^3M zf}!`UuosIz1)n(hq=WzAE(}@Zg8EBGMNYfxGNO`cy;!6J-5$Ar?R7|hjV*TURl|?X z%nptg3uv_d$Ns-8W&vYk;p`&)TJC~=_N{nqQb#ikJ>4wDhT16v(XNZ;e%Ni9jJ=gjEwFMH+O-@F1hx9&H|P<=!8vWs6ZTQ8(yvhb$;wNx>k8q z2m1Zvv*>pBYP|H(0Ka@>+@l%e5F@R{GjD8O;*xqI9HzURRKP`sdtwampma%#a+E&e z-|k+7Pp$C$?#12C4^Bgk+5DE~=*e(r4b#s3z9#;%NT{*K!s_yndpvQM#8i{a84Bvv zQ^uTbC2HA zY6jK?AXq@j^h1#sq7MwEWaLIEqAnqK>bq^Qy_<^%FEmrckQ((f$z2As13d8O<~M>8!H6$gmD*O>p&5LGs~#0i zPpA}oCDCq!3W4-}YYAO{u1`64uaAZ-p6f5i6{lp|Wx-g)#OPq&sAx+@?NLaQ$O^1AIiVEDR1+ZpAcm6>|(MlS;Qze@dWprTs&r>%1B5Vg09?Hni7^@Q{n{O zs^b;XW$DP&lgj*`tC(qL4jL?*&V(vRE2Ind+#zKW18F+J->A4&zm+tX*FRpR`EVDf z&I*1Ckz@-m&_=|9%KC&Hu_ewHAefH?59+^jbf)vWiF?`U@ywlfs+p+cvwPBNGS>(O z6~dhVJh3<+s9fJq6Xg5W*({pXe!&~xN*sm6@#WeEDRnww5Ae)iHrDY42#`E^=!JfD z)9zP{dEWh^DIo=cOTKB6qWS^n)_#l@!3G*7GLOL`Kp}U_JY5QIQ|p%?oN?^#MqyI! zi)G*$iC_z(6j`9suWScJznTXRe3rs%q84O+o;10h4_K{eVP7B(}qU0 zca>jY5-QhXX6lfjv1?uy@)n{cSv{WZeQP7lFvz0grouY-6^Yw9ecqX`R-ZGBXghE7 z#---Ep=)02X0`9aD4g9ySQ1bYWyCRt|Ne$Vdj7OC?8j59dbQX8V2sE*D{kKdZ%0QJ ze&!6bWJ4&e_&PR}ESq`pS18)+gWAzg37KiBgi-CP1ybT$ys%sPd{S<%?X?f%k<{oJ35Un-l@ zROz6(F~u)|V%cE~KQ!lbcp>MmQ3)hAs98R@Fm@gDQ)sUs;1RLG#qLs0p&c z?Z$*TA!``7azme*^HuzQv>Wn7u=pqN40>>|xdoW|*-YhQ@NHo^!7EzxTS%`#yi1>s;s0@BO>)>-W7spYQ!$KFJsDt;NL@ z#RLQd#BI)*x# zwMl^v{E671F9^7+20yXqfB0#u_NTzDs*O!94d3n4q+N_4$3K=0h<(z*Q-@21lsl=f zD3p$F6MMo%fr7mFI79dw8iI?XR`S2jf}z5`Z)ncM&EMwqYiIFDH(XBx+I#&#&DdD2blGXh(Q{rEIVy0$C*p zP#pA(HG<;p6P%x9tHb+W0zJ~*pd?p}P)~9Zv@o2%sR=#7hP^NVMw4S_YTe#YmSz1(t(Jef^&8 zA^`TpgBKThYR6i4dhxwfRx)4>%(ayGB?%FYqLYW_a(-$a0@XgjX77W!%x#YceGmj- zg6mz8$nkU>u|-{Ntfzove5}rvkGoDNGn=cuVet%0GLGnYsI;Z^2qP4|z%#$WGeI`- zZ-~&*Z%Ft;7~xYh)-}Q1A-9!xp45V9&xm~@^_Qev>VS*ZWX1J3w@o{q-`)E2v{1%%WoW*dDlx zI4OhD`(SqSm*sCAS*1C^An zmy9t!Ylsgo^WcXfGkXy6?&qr#^VuWt{&I-$1tYxW)1SK1B0$5k8s95$d?smDVt&8- zevc^D`3{Oy;FQ6{GJE{SfH8qCPwY!1pjkX`^mjj>?a$~oofp!7c+b*U+t>7Q)eFnUX z+INz@zG5f)LDM2Y86AfXhVY4O!IT$PUY|Z7`(?@BEwj4LI0>Hy2&Qab(~}Zc*(GCxBdcd1NNey_Ze zAYk8NxVuBu(Zldke5h!F>tiXJ4{{UpuQY@{D?PMmAApZix{hiTO7)2*Oab|}{FLp$y}ed^?n8>y zp^s%i#>b7_F15q>ArkMu`oykq_yS=#BquMdbt-w6D9}1x!=3>>^>38yzu~dbad^pF z^d=gIY|Y1~7;JWpr*{BOG_W7!Qm$enbwoMdVrBw`l7*lFrr<&_Hf*TbYEqj7=6kg6`q(l%|4#G6#vkUuts@Xp{L^> zQ;rG^AIH|9N90@uSrU+ZhiG4Ro|A4Y_HA4@phDm=>G4QKZDW@%?_io~X+tcD=H@U! zHnr5NgTDx)+Zq@ShfM0vjmo+5-Fd0%6P3XUhYx>XW<-a~$N?x5;T*?Q0^3_pZ?ay8S%_OqgjM{jHQlfNFa(?xYWZIYrieXlAcDP%=%g% zf0?}F7~$z|M^KsKHmHh;8-!)YhnbSUBX}OqgAzQeTVC^&K_m%y^F!tQ%NMH-1guD5 zqO`Ck*uL?MI$OEg48-`!&ZY_VSFf?2-@ne8cqJ5e&Uio4qRMUP0Wmnzw5w1o22 z?sy|^J64bdvGr)rPw8dWXQN4ldbuQgo$lp{^aa>7JIr%yU}+~_%f7sl?!;Tm#^St^ zqE3@?imZFcA)5nCwB(pvUF!edM4xI|4!JeN+thKLTV9XTrENz?b*tN5DoUulZm#Sw z@#%QBH1LgBLbZ7tZ*%q5K=h_a-~#{U{4I80w`33{Q!my$!Wv#Vj1#Vk%VFft zZ#UeK_p?lPQza@lY%!9DxeQgbyo-%8lK)Z``=-dkGkaj}9)U~NBdzQ%$sk(h#Tavn z$||>Sv^BpPk7G{pSJz%^y!Gk4fa|cKS!OqHEK9s<9+0M{71KI71b+Wm6V}}T_U;^K zQB9wwiv!uH6}`(h_X3n_Sf0%ryCmtSipeDf8x2S#prTTGg_#bp93 z+Y3?Uk$fZBF@j({)L$Nay7rh(SlRNeka4S{7|t5zo7q5~7Ti-2cX_Kzx<<4MEEyVGKc7e*7bA$buFV^fc6&C{=ZTVw9OBnz1pMu(UuA?6Ly zl-G=q#i45vT6EEhR^^_a$7LB_;hkk}qxGAeLLN~2l`>rDWVTb$pajMUIY|lkTXN3@ z-xdzhhQ>%_>KYH*O{Tpouia4RKvG-h9oSxtADJ@5_c+Ocf}YAQC8|ndNM$S6Rw4gp zH~wSOu5n#T)y?*F^=MVA^?I;M-%!G7V~;mJyAj-7MmA;FWlEi7(X>8=4ZVD=A!c&@ z#&oi9o;C#)JV&8K^fu$CF91NLFJa)?!$AX6LLcyJuQz2$Ju?VhYt!q2LuO2Abn#%H zAnS~EZZ*xtkn-)05!#WH=?%Fah##d*EpxIPC66>VOIA)R7qSaStqJy#bJ0_=Guvtu zSL9sin)y$zbqRyMFth0R5!ueWdV^I|SLjWoX2s(cUZdf}n*e^7QwU#6bB~`7;ie>l zf#(*x>88Wy)=8A@E8nIivTB|nas!tXRYw2 zeypAH{SptS%Z*Enbx+0C^6dDR0^C&KcugWSIngFPni_DsE{^lYB6Wu5GNwOzDV+GT zH6wbA=MjV8LC}N70J*irPX*o*|1=Q)g<1b^XdM0y$>IOqxFw(99xpKZOLcKk-8t5k zpRg6Xq88MDgCHwrZ*;s}k>m1;oW*jcT9$iD zT!;mRmRX!%klHLB%Egsk#U~?d_Ei^vW!$={?c{V#f7if~`XxvyXV#(y;~Ss zQW3gJQ^>AtB16*zZ$%goLzVhg*-K_v5(Ok3Cw(d+ZTw?|OkneZmL_nW-IHoeclkVd zPz}bqxF3}8Mfq+RjIgI-;&!i!j{EkUbHGv3M@Y|PO;4Ii@j;?P4AZ} zZCEcKjE4Ngk!T#x%7ZrUAC#!U;#~&~`Lh?b4CI*=56MT}CLahym3889mTMLTS|np7 zPofSd9yL{a&E~VRajOB{{zaWB51YI}E|hRh7n8`3j<$(WRezP;iTs3Xj^?fpjkP9D z_ARy2p=p=XFJjt_c0Xfn>AU2FeMNhwpTV4kVqcYzH6LwnU9~y&EON%n>I8oj(9yf= zyuG9jk}2K)vpEnsslJV`)y^CLh#aSkHMxvib|hvgQVd_hHck=P*OsO`2PX%ow4e7& zkn5k+WiDqXT<{}MbrVvNw0qrwPyC!iL;94c<8clMhrDX+kXQDRRtnf+;d*~3c7|U^ z4=3~62<}IsYq`Z2MCNA&QW0-Ev(4q$8%iNB z7Fse)z#ebn=m5J*64*&igYFHX{G6E2izqh>ezThJ>N+HC^!AaCG=RM(xm- zkjTKFnuz+EZ7$EJHBB<(B+z^;mh<8_lj`u@t_$$O=Cj3oD(R&N1t0RR+)arE{%Dyh zlX&%k5H5Umff=COS%TCklmGbKiH~FAA+3l1J9*CGE#Y=nof1 z+7!8l+8G6|l*GCv`jUH`%LnmG@$mR6AHd5Mzc7Xk^Q%ePs%M_>$)c^PvhDP*Leces zz^QrytOEb-TvTZA52~;~jW5NxuQw#oPHVr?_NQ_cZp<%y|4uB~M$h*911>LHr29{f zH6Dj6k6@_P871~IWM*pBO2F(xjE4OA-sI!s6x(}n8c4w*HPUGW)Vcl z)9gD=H6z6yugFYs6$lyQZRAmOo0@3!U}a(_Wyxgx_P;ID{v&5@Sb_r($3L^o7<@HZ Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b2d1b3ff09eab7c6d9788b667fbdf33e51daf6 GIT binary patch literal 8014 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 BGNu3k literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_1/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ccea86307f28beda8843f4a261b9dd730e37b50 GIT binary patch literal 5756 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 Uc`^=<(|8`;H@#PL*CqB}0JG0DZvX%Q literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..76d638072dd0927d12cf1ea41f1e3a4f039fc5e6 GIT binary patch literal 6170 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee4a7591e30872e3f11fa536eb3db2a16a852df GIT binary patch literal 3077 zcmeAS@N?(olHy`uVBq!ia0y~yV4T3fz_fsa2`FOazh^ZA1NRwE7srr_IdAVq7d>)g za0r}pN-TZyX3tL#IThLV3V7@)I5)lh;^}p-qIEfsTz`LmfBoNIrA!uk_J6ZuXxPcZ zeL_G-!FfXi&p{@mQO;->jHZKu$P16(?=AcD_3PIuZ|9tUzC4HB&aw8+%tS`XCe{=V zu?ZV*o36=T=X}uYTF=(>*#A+7c?jp)p1XG5FFrS4C~7gxZUdX57~#;C05h_%!(FBL z_lKME+b5`t@7R4N_Obc$=Wkw!zRuhKdikH7H)bS!Jbr=UUtMkHvuEpfU+UYPR_(`W zIXBJ6+)XTE^E)r=ce7$=B<@|f^m5nhK-;2aKfiu8t&`hTa(Cg|nEe);uBA?0n7U7V z#+|K^5gn4(Homdm@-DCbncwv_zmumf|3B+lWWMtTzE@Q}lKI=!mWMz7?>Z&eY1vxI zpQ{cE&rIC7|MtsEPur(%KK*(BwVam60&5OSO2ta|>@qDaxOa+ej*#5-?{C+#I~i;` zbz$kp*S9MlbK4i*ZI1Z$JjuQ3=*utv-^HBaxiG6VQSjiS{`YHo_7v89s=Jf?n(yxW z-6aK|dPB;$mwo40DZEB`m)z><;bLp|rCpyszn-z&SyWaKjRVUmjx;WQy`}P~p z;sc^L>+u*KPP&zR{onI7)}Q}w{H&fa*?*^k?*_ZOvsOP|w`Q~9K`V{N@_C%smRH|> zdGC_%-P+nG>+Umu7g$+*aqj;fd!F|uR`075?z(QQekYyLX>_>Cc`|e93t9i-YkTir zIsBSW_WXr!?fC%y*t%r=KISt5`(1H=_v|_=SNnBJd}Wbj|MzNRKh8$7var95Z`3cB2Q$wr&#U2h ze(LYN*owc`U+KhN-0ZfSMLX@!?JaTUBJ(%hZ?0*7u=;=4p1$BilTJz=@7~v$zy9yO zkdHGA51-m0m!Pcfs2s0by!*qP$YW0qN!KucJ{&D)KxXZ7=U3O0v0&v|g@wU@U< z$h=C3aM>VXoUT{a681@Pj?g~-hZP4L-!U6ZmK5_Z_;>w>(S3WFhb}%#7O|{;&cQ5K z_Hc^9;~Km8`&@hKYL_eDIydL^&l)D_`JO)a_GD*v|P^zFF!-=#lFEN`jYUjCx5=FrnM6HL!+xOe<(=uh5nrGNdu zCQ3J5{gAnxHQqOI@f@K|Tb<{MuBz`&FnwdXj!#rvV9mUb=`ZJ+t&d)pTK#un#Cg*- zJqycsoj1I>N!fBD*&|K(19w`aT-sx0_x;TvxkTgolu)ODBG zoQ9mAQ8G7zBl9SG-?bXs_2(52)qGul$m}qzf=k|>9kI^#;I~(g&k<3Wkd>lF8x*6B is?mleDUIu%dWL4(BG0u&O$NZ`J%gvKpUXO@geCyuJ#2~q literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00001.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b2d1b3ff09eab7c6d9788b667fbdf33e51daf6 GIT binary patch literal 8014 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 BGNu3k literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_1/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00000.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ccea86307f28beda8843f4a261b9dd730e37b50 GIT binary patch literal 5756 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 Uc`^=<(|8`;H@#PL*CqB}0JG0DZvX%Q literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00002.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..76d638072dd0927d12cf1ea41f1e3a4f039fc5e6 GIT binary patch literal 6170 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 literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00003.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..fb86ef274b058e75e73d74e164702b72aa73bc42 GIT binary patch literal 4828 zcmeHLX*e6&y4FDriT0F@QmSL@y#*yTMx@nhn^K{sXljTdYN)YhMWb|=UD~Rl(#SsA zQWX`{kT!-;QUv=H5p&cKZ4gCdFrDn)=l;6?&vT!9_rG_I&$qtsd)N1_^}ycll7hUt zyp)ub0^;(8Yf@6X9!W{<{zG=Rq{kddEtir~e1W)d&MEf!;yAjn_{#1yhsDYgRE|Z? zJ1tVRt=>5)nqS*> z!#Gs0YMwG7|EvT~G9A1(?{v6L?T1DD0uPBr^X4-LSPdd;1(Wdrgdgjvn#!K&BHw2o z4hZt0I&{rIhQwLG9{lV@XpOAOi+%p)eViJEUkB4C-ukYWgJE8FZjU}XPp~k-}Tikn((vpKqTT5uxGm1h2fpvZeiqD zA?CM8yr~#eeaaau38{ck6hXa^0ot2seDZ;2!`J=)E6M&>Hntoo>hq6l;qpi3)$o;S z=JeHytSa>0pwAn!4TFb~#Wc^xdh>X9#chb$L7TNr?z{q~Vg(3s(iM>uqR~i?((PhuyfL~K zSxj432ECl!NC9}nVtS#%8&{T)fjCN0k}V$!gDb2g8+E0uVN zAwC7Clx@{E63aLHTWwHv+S;D{>hC_#bqAmuhSt|z=2ka&E=p+$v*lo!BF=`V+YJ~Y zotj&FacHgKNiL6=H%m-HueZ|k3ZJilSvK9q!L-O)*y|9!t{;R%KQVPNLG;Ji(q&DH z7hRmu5NPC5`NaJCpDbu~TaxKc_~=+87S(rd81hv!3S$cFehFzFj zZ@$l*zNlH^n*Bk#d;t_1m)Gkz=ljcCmOh?;n-9NUxr|;PxuIxz#0LJS+qAdR>v+l8 zIV*3l>4rg@T|H=0XXN-B7s+C7?@r0F5%v&Gep0FcnzV44wVJ14w4_YR>YFmq{_94edZ5;7v+Cy=`WBbYlOAB%Ks!>d#$He2gX+;m;AB^!d=W*<_QzrzHt zYR8q0xM~TP3WKFIas2Z;rg*TmKkFr5M`Lq2=<}2VTGYB>ldBqFnq)r(y1rFk&(zrC zx~1$K%|*(=yNDji$pxmyUc>!8*QW#*_v^*7n-7+~W2YgTz7gm{`X5#$(ZUTH2@OPS zLHrS&tT%o-H>d+;h5Q1MVuy+vI*=x`G6Hej_(&%T;hJ+;rq`erj7w)!2d4q@MppOK zK3w-5&9{fgM!X$xE^B94y@&kU)DB#7#yAtVK} zYx<;>X>0mfG!}&pf9Wy76ik1WOk^0u>r5;Wo?-r$HUGy&o-k@{A7eGqGJ9fg!_y&d z)EbBpw(j-IPr+{@GYC{qZG}8L+A+)03A65~_g)C)=d=x53v`{`PvA0KjhO@-lmG}6 zS+{?Gp3}Juh%fgO4^yW6(QN%444Zz+`4P9JjJXQ}uEhaNXD&=YQGwF=RXbm)LF55> zJuD|DzS*lx`Nrp>(seu9HJt|XxZN@g_sS(KZsYkJUdE<^4T?4$-jdl&IW)SjdrdyX zkL#G!CRsA}XNh)`jn&Z(7n)%sZgga6&7^I&cd#P3U#Efc@VHmH^v9c8k_Nl#systd zbRVYr#Y-oiIe=69FWIiUBb&yh%~|dcc3PV%)RZ_+^uHBJYDOE}6_cKeSIP1Z5^ zVo7EAC-ax>6^PHbWT<;ED55I=ybcy+Af7ceVuvuuy>GEkjEuEJ9%L+IhK(R3AbskK zK_;Zc1Lbp3uyl_R0h>pB@0V9R4D5zB68f4d;B;|4c3&tnI6f#i>{RYy7nJ|(7yg0j z+Vt=+MC`e={)p3Y+4O1AP|2u01q0|<(^(fy5{8TpiRbi*4;xN0mMNzb8$BjfAIwGu zFUY?>O`1ZWQO>jJy6D7ZT-D-zu0}gh2Pyh^IB1w1<<}#Rb|YhSRC(EF9$wLw816sP z6XqUavu7B0=2&r5lNrD1 z!(>uTp+{$gL_C>%rZ^Z0^}p`#q;)}W=6bfT=*#GzCBMZkIM(pW9Q_|x>H9}@kSs=3 zgIU$>GRPO5hSr#r?I#NV2Iaq4lDjDU$T?DffEjOS^R|MvRwSf5yN(gvwvpwp|AS_u$aO;-@hP z*^ev>6v!=13Hp2?fk8e4&lPR>vxos-JZGx26rR!u9 z^Pt1%^RtEdiwqi#9|KXPLJ6v)zQ~DtHmzwA?s6_K!mrglY2DE!MTYtIkXH)YIUOYl zJ`wtZp)D-XphY{I?8mbcxw6HuI7|!?GdO1RRwUiP?h0ogZO^3z+Lo z@Ck|BfUA#1rELvIv&1rRxZz;DEb|J{=XK(&DJ50}+)0{Qy+C}N>TlPxex`YeV@FP}%eNQZonw&~CkOzl>S%cX7I8(pXHx5~LKb{eu*ep~$eT=$BpJrm zHGZGJlNu0qALubV2t<<&(srPfg@ELWC0p`)*JRCEKWL1YqDG<xaMJL6SuFzHh6bOU_?`U##+!2y^wy^Z9=FZA*zr##p zmRSXEgG-w?XD3i)+psroR4l77rj)8Jqvcd?0wHPTjW@VcKh1pM;spR%H#he((2r z%dP}n(mQN=7z6_81^D}ffItWCfj}C62WzMikKq0`HC`0p;~ADkT^C-xO&ig;I62ui z3%J$>uH|0lq{dEOEU=GUr9K*Nfz!TBPPe}2kgrniMCU7Ix^GsMo0Hlg#^3M zf}!`UuosIz1)n(hq=WzAE(}@Zg8EBGMNYfxGNO`cy;!6J-5$Ar?R7|hjV*TURl|?X z%nptg3uv_d$Ns-8W&vYk;p`&)TJC~=_N{nqQb#ikJ>4wDhT16v(XNZ;e%Ni9jJ=gjEwFMH+O-@F1hx9&H|P<=!8vWs6ZTQ8(yvhb$;wNx>k8q z2m1Zvv*>pBYP|H(0Ka@>+@l%e5F@R{GjD8O;*xqI9HzURRKP`sdtwampma%#a+E&e z-|k+7Pp$C$?#12C4^Bgk+5DE~=*e(r4b#s3z9#;%NT{*K!s_yndpvQM#8i{a84Bvv zQ^uTbC2HA zY6jK?AXq@j^h1#sq7MwEWaLIEqAnqK>bq^Qy_<^%FEmrckQ((f$z2As13d8O<~M>8!H6$gmD*O>p&5LGs~#0i zPpA}oCDCq!3W4-}YYAO{u1`64uaAZ-p6f5i6{lp|Wx-g)#OPq&sAx+@?NLaQ$O^1AIiVEDR1+ZpAcm6>|(MlS;Qze@dWprTs&r>%1B5Vg09?Hni7^@Q{n{O zs^b;XW$DP&lgj*`tC(qL4jL?*&V(vRE2Ind+#zKW18F+J->A4&zm+tX*FRpR`EVDf z&I*1Ckz@-m&_=|9%KC&Hu_ewHAefH?59+^jbf)vWiF?`U@ywlfs+p+cvwPBNGS>(O z6~dhVJh3<+s9fJq6Xg5W*({pXe!&~xN*sm6@#WeEDRnww5Ae)iHrDY42#`E^=!JfD z)9zP{dEWh^DIo=cOTKB6qWS^n)_#l@!3G*7GLOL`Kp}U_JY5QIQ|p%?oN?^#MqyI! zi)G*$iC_z(6j`9suWScJznTXRe3rs%q84O+o;10h4_K{eVP7B(}qU0 zca>jY5-QhXX6lfjv1?uy@)n{cSv{WZeQP7lFvz0grouY-6^Yw9ecqX`R-ZGBXghE7 z#---Ep=)02X0`9aD4g9ySQ1bYWyCRt|Ne$Vdj7OC?8j59dbQX8V2sE*D{kKdZ%0QJ ze&!6bWJ4&e_&PR}ESq`pS18)+gWAzg37KiBgi-CP1ybT$ys%sPd{S<%?X?f%k<{oJ35Un-l@ zROz6(F~u)|V%cE~KQ!lbcp>MmQ3)hAs98R@Fm@gDQ)sUs;1RLG#qLs0p&c z?Z$*TA!``7azme*^HuzQv>Wn7u=pqN40>>|x Date: Thu, 23 Mar 2023 18:52:08 +0100 Subject: [PATCH 13/14] Lint --- src/ui/get_pubkey_nbgl.c | 1 - src/ui/menu_nbgl.c | 18 ++++++++++++++---- src/ui/sign_message_nbgl.c | 10 +++++++--- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/ui/get_pubkey_nbgl.c b/src/ui/get_pubkey_nbgl.c index 658238c2..468f1265 100644 --- a/src/ui/get_pubkey_nbgl.c +++ b/src/ui/get_pubkey_nbgl.c @@ -24,7 +24,6 @@ #include "nbgl_use_case.h" #include "ui_api.h" - static void callback_match(bool match) { if (match) { sendResponse(set_result_get_pubkey(), true, false); diff --git a/src/ui/menu_nbgl.c b/src/ui/menu_nbgl.c index 37581f65..ba9c95c0 100644 --- a/src/ui/menu_nbgl.c +++ b/src/ui/menu_nbgl.c @@ -70,12 +70,17 @@ static void settings_controls_callback(int token, uint8_t index) { case BLIND_SIGNING_TOKEN: G_switches[BLIND_SIGNING_IDX].initState = !(G_switches[BLIND_SIGNING_IDX].initState); new_setting = (G_switches[BLIND_SIGNING_IDX].initState == ON_STATE); - nvm_write((void*) &N_storage.settings.allow_blind_sign, &new_setting, sizeof(new_setting)); + nvm_write((void*) &N_storage.settings.allow_blind_sign, + &new_setting, + sizeof(new_setting)); break; case PUBLIC_KEY_LENGTH_TOKEN: - G_switches[PUBLIC_KEY_LENGTH_IDX].initState = !(G_switches[PUBLIC_KEY_LENGTH_IDX].initState); + G_switches[PUBLIC_KEY_LENGTH_IDX].initState = + !(G_switches[PUBLIC_KEY_LENGTH_IDX].initState); new_setting = (G_switches[PUBLIC_KEY_LENGTH_IDX].initState == ON_STATE); - nvm_write((void*) &N_storage.settings.pubkey_display, &new_setting, sizeof(new_setting)); + nvm_write((void*) &N_storage.settings.pubkey_display, + &new_setting, + sizeof(new_setting)); break; case DISPLAY_MODE_TOKEN: G_switches[DISPLAY_MODE_IDX].initState = !(G_switches[DISPLAY_MODE_IDX].initState); @@ -128,7 +133,12 @@ static void ui_menu_settings(void) { } void ui_idle(void) { - nbgl_useCaseHome(APPNAME, &C_icon_solana_64x64, "This app confirms actions on\nthe " APPNAME " network.", true, ui_menu_settings, quit_app_callback); + nbgl_useCaseHome(APPNAME, + &C_icon_solana_64x64, + "This app confirms actions on\nthe " APPNAME " network.", + true, + ui_menu_settings, + quit_app_callback); } #endif diff --git a/src/ui/sign_message_nbgl.c b/src/ui/sign_message_nbgl.c index 7582cee1..1bc47472 100644 --- a/src/ui/sign_message_nbgl.c +++ b/src/ui/sign_message_nbgl.c @@ -17,7 +17,6 @@ #include "handle_sign_message.h" #include "handle_sign_offchain_message.h" - // Layout of the review flow static nbgl_layoutTagValueList_t layout; // Used by NBGL to display the reference the pair number N @@ -67,7 +66,9 @@ static nbgl_layoutTagValue_t *get_single_action_review_pair(uint8_t index) { // Final step is special for ASCII messages if (index == transaction_steps_number - 1 && last_step_is_ascii) { strlcpy(slot->title, "Message", sizeof(slot->title)); - strlcpy(slot->text, (const char *) G_command.message + OFFCHAIN_MESSAGE_HEADER_LENGTH, sizeof(slot->text)); + strlcpy(slot->text, + (const char *) G_command.message + OFFCHAIN_MESSAGE_HEADER_LENGTH, + sizeof(slot->text)); } else { enum DisplayFlags flags = DisplayFlagNone; if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { @@ -94,7 +95,10 @@ static void start_review(void) { layout.startIndex = 0; layout.nbPairs = transaction_steps_number; - nbgl_useCaseStaticReview(&layout, &review_final_long_press, "Reject message", review_final_callback); + nbgl_useCaseStaticReview(&layout, + &review_final_long_press, + "Reject message", + review_final_callback); } void start_sign_tx_ui(size_t num_summary_steps) { From 6af939a11accd2596501176429e6d382859c2493 Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Thu, 30 Mar 2023 18:32:40 +0200 Subject: [PATCH 14/14] Review --- src/io.c | 1 + src/ui/get_pubkey_nbgl.c | 33 +++++++++--- src/ui/menu_nbgl.c | 51 +++++++++--------- src/ui/sign_message_nbgl.c | 22 ++++---- tests/python/apps/solana_utils.py | 4 +- .../00006.png | Bin 0 -> 5748 bytes .../00006.png | Bin 3518 -> 3536 bytes .../00007.png | Bin 0 -> 5748 bytes .../00004.png | Bin 0 -> 5748 bytes .../00004.png | Bin 3518 -> 3536 bytes .../00005.png | Bin 0 -> 5748 bytes .../00005.png | Bin 0 -> 5748 bytes .../00005.png | Bin 3518 -> 3536 bytes .../00006.png | Bin 0 -> 5748 bytes .../00004.png | Bin 0 -> 5748 bytes .../00004.png | Bin 3518 -> 3536 bytes .../00005.png | Bin 0 -> 5748 bytes .../test_solana_get_public_key_ok/00000.png | Bin 7033 -> 4435 bytes .../test_solana_get_public_key_ok/00001.png | Bin 3004 -> 7033 bytes .../test_solana_get_public_key_ok/00002.png | Bin 0 -> 3004 bytes .../test_solana_get_public_key_ok/00003.png | Bin 0 -> 5748 bytes .../00000.png | Bin 7033 -> 4435 bytes .../00001.png | Bin 3955 -> 7033 bytes .../00002.png | Bin 0 -> 3955 bytes .../00003.png | Bin 0 -> 5748 bytes .../00004.png | Bin 0 -> 5748 bytes .../00004.png | Bin 0 -> 5748 bytes .../00004.png | Bin 3518 -> 3536 bytes .../00005.png | Bin 0 -> 5748 bytes tests/python/test_solana.py | 14 ++++- 30 files changed, 80 insertions(+), 45 deletions(-) create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00006.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00007.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00004.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00005.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00005.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00006.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00004.png create mode 100644 tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00005.png create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_ok/00002.png create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_ok/00003.png create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_refused/00002.png create mode 100644 tests/python/snapshots/stax/test_solana_get_public_key_refused/00003.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00004.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00004.png create mode 100644 tests/python/snapshots/stax/test_solana_simple_transfer_refused/00005.png diff --git a/src/io.c b/src/io.c index 907a6595..2a2dcf79 100644 --- a/src/io.c +++ b/src/io.c @@ -53,6 +53,7 @@ uint8_t io_event(uint8_t channel) { THROW(ApduReplySdkExceptionIoReset); } /* fallthrough */ + __attribute__((fallthrough)); case SEPROXYHAL_TAG_DISPLAY_PROCESSED_EVENT: #ifdef HAVE_BAGL UX_DISPLAYED_EVENT({}); diff --git a/src/ui/get_pubkey_nbgl.c b/src/ui/get_pubkey_nbgl.c index 468f1265..16eae42a 100644 --- a/src/ui/get_pubkey_nbgl.c +++ b/src/ui/get_pubkey_nbgl.c @@ -24,18 +24,37 @@ #include "nbgl_use_case.h" #include "ui_api.h" -static void callback_match(bool match) { - if (match) { - sendResponse(set_result_get_pubkey(), true, false); - nbgl_useCaseStatus("ADDRESS\nVERIFIED", true, ui_idle); +static void confirm_address_approval(void) { + // display a success status page and go back to main + sendResponse(set_result_get_pubkey(), true, false); + nbgl_useCaseStatus("ADDRESS\nVERIFIED", true, ui_idle); +} + +static void confirm_address_rejection(void) { + // display a status page and go back to main + sendResponse(0, false, false); + nbgl_useCaseStatus("Address verification\ncancelled", false, ui_idle); +} + +static void review_choice(bool confirm) { + if (confirm) { + confirm_address_approval(); } else { - sendResponse(0, false, false); - nbgl_useCaseStatus("Address verification\ncancelled", false, ui_idle); + confirm_address_rejection(); } } +static void continue_review(void) { + nbgl_useCaseAddressConfirmation(G_publicKeyStr, review_choice); +} + void ui_get_public_key(void) { - nbgl_useCaseAddressConfirmation(G_publicKeyStr, callback_match); + nbgl_useCaseReviewStart(&C_icon_solana_64x64, + "Verify Solana\naddress", + NULL, + "Cancel", + continue_review, + confirm_address_rejection); } #endif diff --git a/src/ui/menu_nbgl.c b/src/ui/menu_nbgl.c index ba9c95c0..5c9d510a 100644 --- a/src/ui/menu_nbgl.c +++ b/src/ui/menu_nbgl.c @@ -48,14 +48,30 @@ enum { #define SETTINGS_PAGE_NUMBER 2 static bool settings_nav_callback(uint8_t page, nbgl_pageContent_t* content) { if (page == 0) { + // Read again the NVM as the value might have changed following a user touch + if (N_storage.settings.allow_blind_sign == BlindSignDisabled) { + G_switches[BLIND_SIGNING_IDX].initState = OFF_STATE; + } else { + G_switches[BLIND_SIGNING_IDX].initState = ON_STATE; + } + if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { + G_switches[PUBLIC_KEY_LENGTH_IDX].initState = OFF_STATE; + } else { + G_switches[PUBLIC_KEY_LENGTH_IDX].initState = ON_STATE; + } + if (N_storage.settings.display_mode == DisplayModeUser) { + G_switches[DISPLAY_MODE_IDX].initState = OFF_STATE; + } else { + G_switches[DISPLAY_MODE_IDX].initState = ON_STATE; + } content->type = SWITCHES_LIST; content->switchesList.nbSwitches = NB_SETTINGS; - content->switchesList.switches = (nbgl_layoutSwitch_t*) G_switches; + content->switchesList.switches = G_switches; } else if (page == 1) { content->type = INFOS_LIST; content->infosList.nbInfos = ARRAY_COUNT(info_types); - content->infosList.infoTypes = (const char**) info_types; - content->infosList.infoContents = (const char**) info_contents; + content->infosList.infoTypes = info_types; + content->infosList.infoContents = info_contents; } else { return false; } @@ -68,23 +84,22 @@ static void settings_controls_callback(int token, uint8_t index) { uint8_t new_setting; switch (token) { case BLIND_SIGNING_TOKEN: - G_switches[BLIND_SIGNING_IDX].initState = !(G_switches[BLIND_SIGNING_IDX].initState); - new_setting = (G_switches[BLIND_SIGNING_IDX].initState == ON_STATE); + // Write in NVM the opposit of what the current toggle is + new_setting = (G_switches[BLIND_SIGNING_IDX].initState != ON_STATE); nvm_write((void*) &N_storage.settings.allow_blind_sign, &new_setting, sizeof(new_setting)); break; case PUBLIC_KEY_LENGTH_TOKEN: - G_switches[PUBLIC_KEY_LENGTH_IDX].initState = - !(G_switches[PUBLIC_KEY_LENGTH_IDX].initState); - new_setting = (G_switches[PUBLIC_KEY_LENGTH_IDX].initState == ON_STATE); + // Write in NVM the opposit of what the current toggle is + new_setting = (G_switches[PUBLIC_KEY_LENGTH_IDX].initState != ON_STATE); nvm_write((void*) &N_storage.settings.pubkey_display, &new_setting, sizeof(new_setting)); break; case DISPLAY_MODE_TOKEN: - G_switches[DISPLAY_MODE_IDX].initState = !(G_switches[DISPLAY_MODE_IDX].initState); - new_setting = (G_switches[DISPLAY_MODE_IDX].initState == ON_STATE); + // Write in NVM the opposit of what the current toggle is + new_setting = (G_switches[DISPLAY_MODE_IDX].initState != ON_STATE); nvm_write((void*) &N_storage.settings.display_mode, &new_setting, sizeof(new_setting)); break; default: @@ -98,31 +113,17 @@ static void ui_menu_settings(void) { G_switches[BLIND_SIGNING_IDX].subText = "Enable blind signing"; G_switches[BLIND_SIGNING_IDX].token = BLIND_SIGNING_TOKEN; G_switches[BLIND_SIGNING_IDX].tuneId = TUNE_TAP_CASUAL; - if (N_storage.settings.allow_blind_sign == BlindSignDisabled) { - G_switches[BLIND_SIGNING_IDX].initState = OFF_STATE; - } else { - G_switches[BLIND_SIGNING_IDX].initState = ON_STATE; - } G_switches[PUBLIC_KEY_LENGTH_IDX].text = "Public key length"; G_switches[PUBLIC_KEY_LENGTH_IDX].subText = "Display short public keys"; G_switches[PUBLIC_KEY_LENGTH_IDX].token = PUBLIC_KEY_LENGTH_TOKEN; G_switches[PUBLIC_KEY_LENGTH_IDX].tuneId = TUNE_TAP_CASUAL; - if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { - G_switches[PUBLIC_KEY_LENGTH_IDX].initState = OFF_STATE; - } else { - G_switches[PUBLIC_KEY_LENGTH_IDX].initState = ON_STATE; - } G_switches[DISPLAY_MODE_IDX].text = "Display mode"; G_switches[DISPLAY_MODE_IDX].subText = "Use Expert display mode"; G_switches[DISPLAY_MODE_IDX].token = DISPLAY_MODE_TOKEN; G_switches[DISPLAY_MODE_IDX].tuneId = TUNE_TAP_CASUAL; - if (N_storage.settings.display_mode == DisplayModeUser) { - G_switches[DISPLAY_MODE_IDX].initState = OFF_STATE; - } else { - G_switches[DISPLAY_MODE_IDX].initState = ON_STATE; - } + nbgl_useCaseSettings(APPNAME " settings", 0, SETTINGS_PAGE_NUMBER, diff --git a/src/ui/sign_message_nbgl.c b/src/ui/sign_message_nbgl.c index 1bc47472..f207020c 100644 --- a/src/ui/sign_message_nbgl.c +++ b/src/ui/sign_message_nbgl.c @@ -36,7 +36,7 @@ static nbgl_pageInfoLongPress_t review_final_long_press; // Callback called when the user confirms the message rejection static void rejectChoice(void) { sendResponse(0, false, false); - nbgl_useCaseStatus("message\nrejected", false, ui_idle); + nbgl_useCaseStatus("Message\nrejected", false, ui_idle); } // If the user asks for message rejection, ask for confirmation @@ -62,13 +62,13 @@ static bool last_step_is_ascii; // current_pair will point at values stored in displayed_slots[] // this will enable displaying at most sizeof(displayed_slots) values simultaneously static nbgl_layoutTagValue_t *get_single_action_review_pair(uint8_t index) { - dynamic_slot_t *slot = &displayed_slots[index % ARRAY_COUNT(displayed_slots)]; + uint8_t slot = index % ARRAY_COUNT(displayed_slots); // Final step is special for ASCII messages if (index == transaction_steps_number - 1 && last_step_is_ascii) { - strlcpy(slot->title, "Message", sizeof(slot->title)); - strlcpy(slot->text, + strlcpy(displayed_slots[slot].title, "Message", sizeof(displayed_slots[slot].title)); + strlcpy(displayed_slots[slot].text, (const char *) G_command.message + OFFCHAIN_MESSAGE_HEADER_LENGTH, - sizeof(slot->text)); + sizeof(displayed_slots[slot].text)); } else { enum DisplayFlags flags = DisplayFlagNone; if (N_storage.settings.pubkey_display == PubkeyDisplayLong) { @@ -77,11 +77,15 @@ static nbgl_layoutTagValue_t *get_single_action_review_pair(uint8_t index) { if (transaction_summary_display_item(index, flags)) { THROW(ApduReplySolanaSummaryUpdateFailed); } - memcpy(&slot->title, &G_transaction_summary_title, sizeof(slot->title)); - memcpy(&slot->text, &G_transaction_summary_text, sizeof(slot->text)); + memcpy(&displayed_slots[slot].title, + &G_transaction_summary_title, + sizeof(displayed_slots[slot].title)); + memcpy(&displayed_slots[slot].text, + &G_transaction_summary_text, + sizeof(displayed_slots[slot].text)); } - current_pair.item = slot->title; - current_pair.value = slot->text; + current_pair.item = displayed_slots[slot].title; + current_pair.value = displayed_slots[slot].text; return ¤t_pair; } diff --git a/tests/python/apps/solana_utils.py b/tests/python/apps/solana_utils.py index f282b425..91c62e31 100644 --- a/tests/python/apps/solana_utils.py +++ b/tests/python/apps/solana_utils.py @@ -118,9 +118,9 @@ def _navigation_helper(navigator, device_name: str, accept: bool, snapshots_name navigate_instruction = NavInsID.USE_CASE_REVIEW_TAP text = "Hold to sign" if accept: - validation_instructions = [NavInsID.USE_CASE_REVIEW_CONFIRM] + validation_instructions = [NavInsID.USE_CASE_REVIEW_CONFIRM, NavInsID.USE_CASE_STATUS_DISMISS] else: - validation_instructions = [NavInsID.USE_CASE_REVIEW_REJECT, NavInsID.USE_CASE_CHOICE_CONFIRM] + validation_instructions = [NavInsID.USE_CASE_REVIEW_REJECT, NavInsID.USE_CASE_CHOICE_CONFIRM, NavInsID.USE_CASE_STATUS_DISMISS] navigator.navigate_until_text_and_compare(navigate_instruction, diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00006.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_ok_2/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00006.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_expert_refused_2/00006.png index 3dc66da08d14cacbabd733ab1906795ee9e36565..895f14b8c194bdb06649c9324fe86fbd0c242691 100644 GIT binary patch delta 1737 zcmV;)1~&P=8_*k&Bte%+L_t(|obBCFa;wG`K+)(`rkF`)l6oJmIF2l!X|Sa&t@U-w zm&Vvt+I7GnUH<<2@4x=~>kojZ_rFIU0Kh1-5et?AlMoA_fBt;*0q`O&m&?lkUa!|* zI}%=)U@>n!QcGKk7t;ib8RMy1S}R*j5G?jNlB)0fku7#{(VZR6s@2c!kk@9yV#r8Y zmd2&^wMH$*2^QN{iZc?LuiGr`>Tmw}vd12o`tzTCJ9Lu36kA zSj?NqiV|^zU~y}3y!zN|SAbTQ7_t~4SZvt*Ti#$B&ii=5iB4>usFxw8%JS+ zU~z(pM{{6;U~$yM!_P2Buvj$xeDaa^Yu7ba2p0c3%sot*L+6aK=;SAxZ)k$c&F zE)M4se=KGke8(8gVvb<3=9G7gIrv^Q@JX=vkGbcQCmzl5AT$#Miw&Fe)WpNj&J&p< zSlk-?0Gp4^b`3!*OMdy25Q!2j=1nw3hB!j7xZ{^UCD3@qAi?6kUu%|HF;1}9;q+#? z(9SM`#iCvB*S^=0_kHJW2^MRX@^P?POUu=YUUh=ShLvVbWNT%WTCwTRM;`zI*Xwnu zGGD)bWE@i~MhF%|K7z8Ip1JcxsbZW{LUuSkE^5UtCM@~RCrw}a8AxZoK7u|uAfeMd*j6WZJ0Nio8Tt5DByX ziCaRKU;!C|_3TDQC*u`wLa=}gelYoF9EZhuU1VIr0o{zrM}L zflYj`xnBiO!i2?)y)($jAa>SajE|+{n6RGR#00c=v(3q3@9Y0ZdvRpv$A1+(mSC~y z=GxHaYk2SW>vny+@&6*tDPh2W`Z><{i*uqNH{W_>LfN(b!NZ$ofQm9Greks}GXdvRyvwubfXA9d@d8b+D08g5?y4}9yZn*nO% zO4HKzH+Lt92%7|p8E4(rFt@i4o43gGdIT$D*v-h6W6Su!>kkIsJ>~rR-14r&`-$zx*KXdqw)a=TlMt*o^6@&{b;r}vlBHD>+pkn(bIuz7 zMuW#GRZmW^p3&SxCws3z!Jl$G$G1Q76aB=q(>ycRuz(B`7CjSxCEzufun1fKOWz+( z`d*F+i=M$hFRIn+F=3JP)7Rs9P9`j>B|G=*1U!JAASibCM+PsgvC=Z z<}gCA-kLhl;*=1`5G)|WDdDrbxwtd(hUGW!8oYAeH+bb}e1|Km?k?Q>8PPv_Fg!oO zD%t!nn3WG@n0tNB?QrQhj~vPL!5mr0vk|O}@l4!o^ZBvtdtaP$J6xIpzkY1Q=hr{~ zF+N!BfBos!kH-gswYY{=GIw(KJqja^@9<{fky&Q?U{=nc%~nMwtc=79Y<*CA;E%9$ zJSMCb6V@x(JfGS-WSzdlBc=~Vj9!mm@%mOKyTsheC#Qrj<@A~2sfLuNIv5_pgau@n zuwKgPCpb@a#`IJN!$X*`fDFOn^{rg|a$T%Nf3RM`$V~>9e>`M|M@%1#Q^?mNSe$9| zzVqK{+}&?I_(h(XV7-XJCsf9Vj^jI=yNz>wR@!?ocOPclbv!&3e+>#m7tTE;GyT)8ACISVS_JE*e1FfZuV4SQ9Zs(rd766Sr(4>yi(EN^_3S2I zFH}!*H`Wgw`RNBETOqDt0U3e?WH=>!Q?4{qWWvHl95Mv!-KiBJP6^+XPElmSv(XCH f0+SF6SQg{|l421He`N!l00000NkvXXu0mjfwiSM3 literal 3518 zcmeHK>pR%H#he((2r z%dP}n(mQN=7z6_81^D}ffItWCfj}C62WzMikKq0`HC`0p;~ADkT^C-xO&ig;I62ui z3%J$>uH|0lq{dEOEU=GUr9K*Nfz!TBPPe}2kgrniMCU7Ix^GsMo0Hlg#^3M zf}!`UuosIz1)n(hq=WzAE(}@Zg8EBGMNYfxGNO`cy;!6J-5$Ar?R7|hjV*TURl|?X z%nptg3uv_d$Ns-8W&vYk;p`&)TJC~=_N{nqQb#ikJ>4wDhT16v(XNZ;e%Ni9jJ=gjEwFMH+O-@F1hx9&H|P<=!8vWs6ZTQ8(yvhb$;wNx>k8q z2m1Zvv*>pBYP|H(0Ka@>+@l%e5F@R{GjD8O;*xqI9HzURRKP`sdtwampma%#a+E&e z-|k+7Pp$C$?#12C4^Bgk+5DE~=*e(r4b#s3z9#;%NT{*K!s_yndpvQM#8i{a84Bvv zQ^uTbC2HA zY6jK?AXq@j^h1#sq7MwEWaLIEqAnqK>bq^Qy_<^%FEmrckQ((f$z2As13d8O<~M>8!H6$gmD*O>p&5LGs~#0i zPpA}oCDCq!3W4-}YYAO{u1`64uaAZ-p6f5i6{lp|Wx-g)#OPq&sAx+@?NLaQ$O^1AIiVEDR1+ZpAcm6>|(MlS;Qze@dWprTs&r>%1B5Vg09?Hni7^@Q{n{O zs^b;XW$DP&lgj*`tC(qL4jL?*&V(vRE2Ind+#zKW18F+J->A4&zm+tX*FRpR`EVDf z&I*1Ckz@-m&_=|9%KC&Hu_ewHAefH?59+^jbf)vWiF?`U@ywlfs+p+cvwPBNGS>(O z6~dhVJh3<+s9fJq6Xg5W*({pXe!&~xN*sm6@#WeEDRnww5Ae)iHrDY42#`E^=!JfD z)9zP{dEWh^DIo=cOTKB6qWS^n)_#l@!3G*7GLOL`Kp}U_JY5QIQ|p%?oN?^#MqyI! zi)G*$iC_z(6j`9suWScJznTXRe3rs%q84O+o;10h4_K{eVP7B(}qU0 zca>jY5-QhXX6lfjv1?uy@)n{cSv{WZeQP7lFvz0grouY-6^Yw9ecqX`R-ZGBXghE7 z#---Ep=)02X0`9aD4g9ySQ1bYWyCRt|Ne$Vdj7OC?8j59dbQX8V2sE*D{kKdZ%0QJ ze&!6bWJ4&e_&PR}ESq`pS18)+gWAzg37KiBgi-CP1ybT$ys%sPd{S<%?X?f%k<{oJ35Un-l@ zROz6(F~u)|V%cE~KQ!lbcp>MmQ3)hAs98R@Fm@gDQ)sUs;1RLG#qLs0p&c z?Z$*TA!``7azme*^HuzQv>Wn7u=pqN40>>|xdoW|*-YhQ@NHo^!7EzxTS%`#yi1>s;s0@BO>)>-W7spYQ!$KFJsDt;NL@ z#RLQd#BI)*x# zwMl^v{E671F9^7+20yXqfB0#u_NTzDs*O!94d3n4q+N_4$3K=0h<(z*Q-@21lsl=f zD3p$F6MMo%fr7mFI79dw8iI?XR`S2jf}z5`Z)ncM&EMwqYiIFDH(XBx+I#&#&DdD2blGXh(Q{rEIVy0$C*p zP#pA(HG<;p6P%x9tHb+W0zJ~*pd?p}P)~9Zv@o2%sR=#7hP^NVMw4S_YTe#YmSz1(t(Jef^&8 zA^`TpgBKThYR6i4dhxwfRx)4>%(ayGB?%FYqLYW_a(-$a0@XgjX77W!%x#YceGmj- zg6mz8$nkU>u|-{Ntfzove5}rvkGoDNGn=cuVet%0GLGnYsI;Z^2qP4|z%#$WGeI`- zZ-~&*Z%Ft;7~xYh)-}Q1A-9!xp45V9&xm~@^_Qev>VS*ZWX1J3w@o{q-`)E2v{1%%WoW*dDlx zI4OhD`(SqSm*sCAS*1C^An zmy9t!Ylsgo^WcXfGkXy6?&qr#^VuWt{&I-$1tYxW)1SK1B0$5k8s95$d?smDVt&8- zevc^D`3{Oy;FQ6{GJE{SfH8qCPwY!1pjkX`^mjj>?a$~oofp!7c+b*U+t>7Q)eFnUX z+INz@zG5f)LDM2Y86AfXhVY4O!IT$PUY|Z7`(?@BEwj4LI0>Hy2&Qab(~}Zc*(GCxBdcd1NNey_Ze zAYk8NxVuBu(Zldke5h!F>tiXJ4{{UpuQY@{D?PMmAApZix{hiTO7)2*Oab|}{FLp$y}ed^?n8>y zp^s%i#>b7_F15q>ArkMu`oykq_yS=#BquMdbt-w6D9}1x!=3>>^>38yzu~dbad^pF z^d=gIY|Y1~7;JWpr*{BOG_W7!Qm$enbwoMdVrBw`l7*lFrr<&_Hf*TbYEqj7=6kg6`q(l%|4#G6#vkUuts@Xp{L^> zQ;rG^AIH|9N90@uSrU+ZhiG4Ro|A4Y_HA4@phDm=>G4QKZDW@%?_io~X+tcD=H@U! zHnr5NgTDx)+Zq@ShfM0vjmo+5-Fd0%6P3XUhYx>XW<-a~$N?x5;T*?Q0^3_pZ?ay8S%_OqgjM{jHQlfNFa(?xYWZIYrieXlAcDP%=%g% zf0?}F7~$z|M^KsKHmHh;8-!)YhnbSUBX}OqgAzQeTVC^&K_m%y^F!tQ%NMH-1guD5 zqO`Ck*uL?MI$OEg48-`!&ZY_VSFf?2-@ne8cqJ5e&Uio4qRMUP0Wmnzw5w1o22 z?sy|^J64bdvGr)rPw8dWXQN4ldbuQgo$lp{^aa>7JIr%yU}+~_%f7sl?!;Tm#^St^ zqE3@?imZFcA)5nCwB(pvUF!edM4xI|4!JeN+thKLTV9XTrENz?b*tN5DoUulZm#Sw z@#%QBH1LgBLbZ7tZ*%q5K=h_a-~#{U{4I80w`33{Q!my$!Wv#Vj1#Vk%VFft zZ#UeK_p?lPQza@lY%!9DxeQgbyo-%8lK)Z``=-dkGkaj}9)U~NBdzQ%$sk(h#Tavn z$||>Sv^BpPk7G{pSJz%^y!Gk4fa|cKS!OqHEK9s<9+0M{71KI71b+Wm6V}}T_U;^K zQB9wwiv!uH6}`(h_X3n_Sf0%ryCmtSipeDf8x2S#prTTGg_#bp93 z+Y3?Uk$fZBF@j({)L$Nay7rh(SlRNeka4S{7|t5zo7q5~7Ti-2cX_Kzx<<4MEEyVGKc7e*7bA$buFV^fc6&C{=ZTVw9OBnz1pMu(UuA?6Ly zl-G=q#i45vT6EEhR^^_a$7LB_;hkk}qxGAeLLN~2l`>rDWVTb$pajMUIY|lkTXN3@ z-xdzhhQ>%_>KYH*O{Tpouia4RKvG-h9oSxtADJ@5_c+Ocf}YAQC8|ndNM$S6Rw4gp zH~wSOu5n#T)y?*F^=MVA^?I;M-%!G7V~;mJyAj-7MmA;FWlEi7(X>8=4ZVD=A!c&@ z#&oi9o;C#)JV&8K^fu$CF91NLFJa)?!$AX6LLcyJuQz2$Ju?VhYt!q2LuO2Abn#%H zAnS~EZZ*xtkn-)05!#WH=?%Fah##d*EpxIPC66>VOIA)R7qSaStqJy#bJ0_=Guvtu zSL9sin)y$zbqRyMFth0R5!ueWdV^I|SLjWoX2s(cUZdf}n*e^7QwU#6bB~`7;ie>l zf#(*x>88Wy)=8A@E8nIivTB|nas!tXRYw2 zeypAH{SptS%Z*Enbx+0C^6dDR0^C&KcugWSIngFPni_DsE{^lYB6Wu5GNwOzDV+GT zH6wbA=MjV8LC}N70J*irPX*o*|1=Q)g<1b^XdM0y$>IOqxFw(99xpKZOLcKk-8t5k zpRg6Xq88MDgCHwrZ*;s}k>m1;oW*jcT9$iD zT!;mRmRX!%klHLB%Egsk#U~?d_Ei^vW!$={?c{V#f7if~`XxvyXV#(y;~Ss zQW3gJQ^>AtB16*zZ$%goLzVhg*-K_v5(Ok3Cw(d+ZTw?|OkneZmL_nW-IHoeclkVd zPz}bqxF3}8Mfq+RjIgI-;&!i!j{EkUbHGv3M@Y|PO;4Ii@j;?P4AZ} zZCEcKjE4Ngk!T#x%7ZrUAC#!U;#~&~`Lh?b4CI*=56MT}CLahym3889mTMLTS|np7 zPofSd9yL{a&E~VRajOB{{zaWB51YI}E|hRh7n8`3j<$(WRezP;iTs3Xj^?fpjkP9D z_ARy2p=p=XFJjt_c0Xfn>AU2FeMNhwpTV4kVqcYzH6LwnU9~y&EON%n>I8oj(9yf= zyuG9jk}2K)vpEnsslJV`)y^CLh#aSkHMxvib|hvgQVd_hHck=P*OsO`2PX%ow4e7& zkn5k+WiDqXT<{}MbrVvNw0qrwPyC!iL;94c<8clMhrDX+kXQDRRtnf+;d*~3c7|U^ z4=3~62<}IsYq`Z2MCNA&QW0-Ev(4q$8%iNB z7Fse)z#ebn=m5J*64*&igYFHX{G6E2izqh>ezThJ>N+HC^!AaCG=RM(xm- zkjTKFnuz+EZ7$EJHBB<(B+z^;mh<8_lj`u@t_$$O=Cj3oD(R&N1t0RR+)arE{%Dyh zlX&%k5H5Umff=COS%TCklmGbKiH~FAA+3l1J9*CGE#Y=nof1 z+7!8l+8G6|l*GCv`jUH`%LnmG@$mR6AHd5Mzc7Xk^Q%ePs%M_>$)c^PvhDP*Leces zz^QrytOEb-TvTZA52~;~jW5NxuQw#oPHVr?_NQ_cZp<%y|4uB~M$h*911>LHr29{f zH6Dj6k6@_P871~IWM*pBO2F(xjE4OA-sI!s6x(}n8c4w*HPUGW)Vcl z)9gD=H6z6yugFYs6$lyQZRAmOo0@3!U}a(_Wyxgx_P;ID{v&5@Sb_r($3L^o7<@HZ Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00004.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_ok/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00004.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_ascii_refused/00004.png index 3dc66da08d14cacbabd733ab1906795ee9e36565..895f14b8c194bdb06649c9324fe86fbd0c242691 100644 GIT binary patch delta 1737 zcmV;)1~&P=8_*k&Bte%+L_t(|obBCFa;wG`K+)(`rkF`)l6oJmIF2l!X|Sa&t@U-w zm&Vvt+I7GnUH<<2@4x=~>kojZ_rFIU0Kh1-5et?AlMoA_fBt;*0q`O&m&?lkUa!|* zI}%=)U@>n!QcGKk7t;ib8RMy1S}R*j5G?jNlB)0fku7#{(VZR6s@2c!kk@9yV#r8Y zmd2&^wMH$*2^QN{iZc?LuiGr`>Tmw}vd12o`tzTCJ9Lu36kA zSj?NqiV|^zU~y}3y!zN|SAbTQ7_t~4SZvt*Ti#$B&ii=5iB4>usFxw8%JS+ zU~z(pM{{6;U~$yM!_P2Buvj$xeDaa^Yu7ba2p0c3%sot*L+6aK=;SAxZ)k$c&F zE)M4se=KGke8(8gVvb<3=9G7gIrv^Q@JX=vkGbcQCmzl5AT$#Miw&Fe)WpNj&J&p< zSlk-?0Gp4^b`3!*OMdy25Q!2j=1nw3hB!j7xZ{^UCD3@qAi?6kUu%|HF;1}9;q+#? z(9SM`#iCvB*S^=0_kHJW2^MRX@^P?POUu=YUUh=ShLvVbWNT%WTCwTRM;`zI*Xwnu zGGD)bWE@i~MhF%|K7z8Ip1JcxsbZW{LUuSkE^5UtCM@~RCrw}a8AxZoK7u|uAfeMd*j6WZJ0Nio8Tt5DByX ziCaRKU;!C|_3TDQC*u`wLa=}gelYoF9EZhuU1VIr0o{zrM}L zflYj`xnBiO!i2?)y)($jAa>SajE|+{n6RGR#00c=v(3q3@9Y0ZdvRpv$A1+(mSC~y z=GxHaYk2SW>vny+@&6*tDPh2W`Z><{i*uqNH{W_>LfN(b!NZ$ofQm9Greks}GXdvRyvwubfXA9d@d8b+D08g5?y4}9yZn*nO% zO4HKzH+Lt92%7|p8E4(rFt@i4o43gGdIT$D*v-h6W6Su!>kkIsJ>~rR-14r&`-$zx*KXdqw)a=TlMt*o^6@&{b;r}vlBHD>+pkn(bIuz7 zMuW#GRZmW^p3&SxCws3z!Jl$G$G1Q76aB=q(>ycRuz(B`7CjSxCEzufun1fKOWz+( z`d*F+i=M$hFRIn+F=3JP)7Rs9P9`j>B|G=*1U!JAASibCM+PsgvC=Z z<}gCA-kLhl;*=1`5G)|WDdDrbxwtd(hUGW!8oYAeH+bb}e1|Km?k?Q>8PPv_Fg!oO zD%t!nn3WG@n0tNB?QrQhj~vPL!5mr0vk|O}@l4!o^ZBvtdtaP$J6xIpzkY1Q=hr{~ zF+N!BfBos!kH-gswYY{=GIw(KJqja^@9<{fky&Q?U{=nc%~nMwtc=79Y<*CA;E%9$ zJSMCb6V@x(JfGS-WSzdlBc=~Vj9!mm@%mOKyTsheC#Qrj<@A~2sfLuNIv5_pgau@n zuwKgPCpb@a#`IJN!$X*`fDFOn^{rg|a$T%Nf3RM`$V~>9e>`M|M@%1#Q^?mNSe$9| zzVqK{+}&?I_(h(XV7-XJCsf9Vj^jI=yNz>wR@!?ocOPclbv!&3e+>#m7tTE;GyT)8ACISVS_JE*e1FfZuV4SQ9Zs(rd766Sr(4>yi(EN^_3S2I zFH}!*H`Wgw`RNBETOqDt0U3e?WH=>!Q?4{qWWvHl95Mv!-KiBJP6^+XPElmSv(XCH f0+SF6SQg{|l421He`N!l00000NkvXXu0mjfwiSM3 literal 3518 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00005.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_ok_3/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00005.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_expert_refused_3/00005.png index 3dc66da08d14cacbabd733ab1906795ee9e36565..895f14b8c194bdb06649c9324fe86fbd0c242691 100644 GIT binary patch delta 1737 zcmV;)1~&P=8_*k&Bte%+L_t(|obBCFa;wG`K+)(`rkF`)l6oJmIF2l!X|Sa&t@U-w zm&Vvt+I7GnUH<<2@4x=~>kojZ_rFIU0Kh1-5et?AlMoA_fBt;*0q`O&m&?lkUa!|* zI}%=)U@>n!QcGKk7t;ib8RMy1S}R*j5G?jNlB)0fku7#{(VZR6s@2c!kk@9yV#r8Y zmd2&^wMH$*2^QN{iZc?LuiGr`>Tmw}vd12o`tzTCJ9Lu36kA zSj?NqiV|^zU~y}3y!zN|SAbTQ7_t~4SZvt*Ti#$B&ii=5iB4>usFxw8%JS+ zU~z(pM{{6;U~$yM!_P2Buvj$xeDaa^Yu7ba2p0c3%sot*L+6aK=;SAxZ)k$c&F zE)M4se=KGke8(8gVvb<3=9G7gIrv^Q@JX=vkGbcQCmzl5AT$#Miw&Fe)WpNj&J&p< zSlk-?0Gp4^b`3!*OMdy25Q!2j=1nw3hB!j7xZ{^UCD3@qAi?6kUu%|HF;1}9;q+#? z(9SM`#iCvB*S^=0_kHJW2^MRX@^P?POUu=YUUh=ShLvVbWNT%WTCwTRM;`zI*Xwnu zGGD)bWE@i~MhF%|K7z8Ip1JcxsbZW{LUuSkE^5UtCM@~RCrw}a8AxZoK7u|uAfeMd*j6WZJ0Nio8Tt5DByX ziCaRKU;!C|_3TDQC*u`wLa=}gelYoF9EZhuU1VIr0o{zrM}L zflYj`xnBiO!i2?)y)($jAa>SajE|+{n6RGR#00c=v(3q3@9Y0ZdvRpv$A1+(mSC~y z=GxHaYk2SW>vny+@&6*tDPh2W`Z><{i*uqNH{W_>LfN(b!NZ$ofQm9Greks}GXdvRyvwubfXA9d@d8b+D08g5?y4}9yZn*nO% zO4HKzH+Lt92%7|p8E4(rFt@i4o43gGdIT$D*v-h6W6Su!>kkIsJ>~rR-14r&`-$zx*KXdqw)a=TlMt*o^6@&{b;r}vlBHD>+pkn(bIuz7 zMuW#GRZmW^p3&SxCws3z!Jl$G$G1Q76aB=q(>ycRuz(B`7CjSxCEzufun1fKOWz+( z`d*F+i=M$hFRIn+F=3JP)7Rs9P9`j>B|G=*1U!JAASibCM+PsgvC=Z z<}gCA-kLhl;*=1`5G)|WDdDrbxwtd(hUGW!8oYAeH+bb}e1|Km?k?Q>8PPv_Fg!oO zD%t!nn3WG@n0tNB?QrQhj~vPL!5mr0vk|O}@l4!o^ZBvtdtaP$J6xIpzkY1Q=hr{~ zF+N!BfBos!kH-gswYY{=GIw(KJqja^@9<{fky&Q?U{=nc%~nMwtc=79Y<*CA;E%9$ zJSMCb6V@x(JfGS-WSzdlBc=~Vj9!mm@%mOKyTsheC#Qrj<@A~2sfLuNIv5_pgau@n zuwKgPCpb@a#`IJN!$X*`fDFOn^{rg|a$T%Nf3RM`$V~>9e>`M|M@%1#Q^?mNSe$9| zzVqK{+}&?I_(h(XV7-XJCsf9Vj^jI=yNz>wR@!?ocOPclbv!&3e+>#m7tTE;GyT)8ACISVS_JE*e1FfZuV4SQ9Zs(rd766Sr(4>yi(EN^_3S2I zFH}!*H`Wgw`RNBETOqDt0U3e?WH=>!Q?4{qWWvHl95Mv!-KiBJP6^+XPElmSv(XCH f0+SF6SQg{|l421He`N!l00000NkvXXu0mjfwiSM3 literal 3518 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00004.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_ok_2/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00004.png b/tests/python/snapshots/stax/test_ledger_sign_offchain_message_utf8_refused_2/00004.png index 3dc66da08d14cacbabd733ab1906795ee9e36565..895f14b8c194bdb06649c9324fe86fbd0c242691 100644 GIT binary patch delta 1737 zcmV;)1~&P=8_*k&Bte%+L_t(|obBCFa;wG`K+)(`rkF`)l6oJmIF2l!X|Sa&t@U-w zm&Vvt+I7GnUH<<2@4x=~>kojZ_rFIU0Kh1-5et?AlMoA_fBt;*0q`O&m&?lkUa!|* zI}%=)U@>n!QcGKk7t;ib8RMy1S}R*j5G?jNlB)0fku7#{(VZR6s@2c!kk@9yV#r8Y zmd2&^wMH$*2^QN{iZc?LuiGr`>Tmw}vd12o`tzTCJ9Lu36kA zSj?NqiV|^zU~y}3y!zN|SAbTQ7_t~4SZvt*Ti#$B&ii=5iB4>usFxw8%JS+ zU~z(pM{{6;U~$yM!_P2Buvj$xeDaa^Yu7ba2p0c3%sot*L+6aK=;SAxZ)k$c&F zE)M4se=KGke8(8gVvb<3=9G7gIrv^Q@JX=vkGbcQCmzl5AT$#Miw&Fe)WpNj&J&p< zSlk-?0Gp4^b`3!*OMdy25Q!2j=1nw3hB!j7xZ{^UCD3@qAi?6kUu%|HF;1}9;q+#? z(9SM`#iCvB*S^=0_kHJW2^MRX@^P?POUu=YUUh=ShLvVbWNT%WTCwTRM;`zI*Xwnu zGGD)bWE@i~MhF%|K7z8Ip1JcxsbZW{LUuSkE^5UtCM@~RCrw}a8AxZoK7u|uAfeMd*j6WZJ0Nio8Tt5DByX ziCaRKU;!C|_3TDQC*u`wLa=}gelYoF9EZhuU1VIr0o{zrM}L zflYj`xnBiO!i2?)y)($jAa>SajE|+{n6RGR#00c=v(3q3@9Y0ZdvRpv$A1+(mSC~y z=GxHaYk2SW>vny+@&6*tDPh2W`Z><{i*uqNH{W_>LfN(b!NZ$ofQm9Greks}GXdvRyvwubfXA9d@d8b+D08g5?y4}9yZn*nO% zO4HKzH+Lt92%7|p8E4(rFt@i4o43gGdIT$D*v-h6W6Su!>kkIsJ>~rR-14r&`-$zx*KXdqw)a=TlMt*o^6@&{b;r}vlBHD>+pkn(bIuz7 zMuW#GRZmW^p3&SxCws3z!Jl$G$G1Q76aB=q(>ycRuz(B`7CjSxCEzufun1fKOWz+( z`d*F+i=M$hFRIn+F=3JP)7Rs9P9`j>B|G=*1U!JAASibCM+PsgvC=Z z<}gCA-kLhl;*=1`5G)|WDdDrbxwtd(hUGW!8oYAeH+bb}e1|Km?k?Q>8PPv_Fg!oO zD%t!nn3WG@n0tNB?QrQhj~vPL!5mr0vk|O}@l4!o^ZBvtdtaP$J6xIpzkY1Q=hr{~ zF+N!BfBos!kH-gswYY{=GIw(KJqja^@9<{fky&Q?U{=nc%~nMwtc=79Y<*CA;E%9$ zJSMCb6V@x(JfGS-WSzdlBc=~Vj9!mm@%mOKyTsheC#Qrj<@A~2sfLuNIv5_pgau@n zuwKgPCpb@a#`IJN!$X*`fDFOn^{rg|a$T%Nf3RM`$V~>9e>`M|M@%1#Q^?mNSe$9| zzVqK{+}&?I_(h(XV7-XJCsf9Vj^jI=yNz>wR@!?ocOPclbv!&3e+>#m7tTE;GyT)8ACISVS_JE*e1FfZuV4SQ9Zs(rd766Sr(4>yi(EN^_3S2I zFH}!*H`Wgw`RNBETOqDt0U3e?WH=>!Q?4{qWWvHl95Mv!-KiBJP6^+XPElmSv(XCH f0+SF6SQg{|l421He`N!l00000NkvXXu0mjfwiSM3 literal 3518 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_get_public_key_ok/00000.png b/tests/python/snapshots/stax/test_solana_get_public_key_ok/00000.png index c4a86e046d603b4a7bd12f92373c7efe66fa2e13..d770a3d3a5be3339e61023369fa22d9766ed7050 100644 GIT binary patch literal 4435 zcmeI0X;_l!8pkoy+{)Bkuo`D_3>7lXA>lhd#dV^IY$BJ^%lG|DWIe-nn3B zy;DYA1^@u;v^i_(004;H1pv1FCbdoU#>Adh0stte+gP4<49}h$b`9m!ZnHZ5u{sC1BOE?MaegI4=}aWo1gwW7Za_2Rhdlj=P&r%{i55hS7KEH|2e3OI8ao z=#WaXDIiA5)oAaAj2t)Em)Ww1KJn|j2f+fdw;;NA;REFL5Vh-8q_vdtBRzfex8n2( z&;62l%@z}ugqBeX%%W~b>yoHpye72kTshikcKzePln?mEtP9LesU%nX8r>kDHW=wj zRalwhog;J#MQ|qD1ANSaR2ULjHg*uH>XdN@AMhNb3PQg5qX6+e@?oK}yFw|~#8jnY z*Vw1#Da(V&4tcw-w@7_$%DVVB??2X4vtTNsBV29_lh#PN-EH{p97(S@B$muKzT!+K zcInxY(tG^KFAmZtqBE_u=-wk@b*N0Mo%Fm!#+gs2NQIMLDg{cVNi!>R^~|UDYdaJn z149e^&8o@P2S*Htoz0z%Zz+6jeXO*9=!V%dnMNY19OE2j7jt|5llYh=!Ad-)<@mHB zB%nxH^d;Mpzzd+75VP=LLJQ3(9POShyiBg*MTRl6 zg27ojs_~c@+neZl=1bB{1P&*AQ%v=fLCB4g=AW*IpUpn|Me=Q5B^TLn{;Lh)oKMJX zJm8ZJDSYAeJ{!4L0`M(;Dc;aHsR8{a|`cgREZiX>v2uOg)ONBdbOHU58?d0*-}s9LzWwXwk91W(*M z1*QkA(#F6QtE@>U-Pw8QC2RGCu!6LSv9wH%w94_!a~~GizPAuLUeG8HG*mnlkDr#G z-yXBSmf;9+n@-U)z}9#G9E;ZZ~Lh$>XV0m!a#cL!OOSvPG@o@;tiI zebu3~UZEl6wey=p
  • {V7KI`qv=8_BaMnA{Ptuw#&#_grKio11tA++8{ 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_get_public_key_refused/00000.png b/tests/python/snapshots/stax/test_solana_get_public_key_refused/00000.png index c4a86e046d603b4a7bd12f92373c7efe66fa2e13..d770a3d3a5be3339e61023369fa22d9766ed7050 100644 GIT binary patch literal 4435 zcmeI0X;_l!8pkoy+{)Bkuo`D_3>7lXA>lhd#dV^IY$BJ^%lG|DWIe-nn3B zy;DYA1^@u;v^i_(004;H1pv1FCbdoU#>Adh0stte+gP4<49}h$b`9m!ZnHZ5u{sC1BOE?MaegI4=}aWo1gwW7Za_2Rhdlj=P&r%{i55hS7KEH|2e3OI8ao z=#WaXDIiA5)oAaAj2t)Em)Ww1KJn|j2f+fdw;;NA;REFL5Vh-8q_vdtBRzfex8n2( z&;62l%@z}ugqBeX%%W~b>yoHpye72kTshikcKzePln?mEtP9LesU%nX8r>kDHW=wj zRalwhog;J#MQ|qD1ANSaR2ULjHg*uH>XdN@AMhNb3PQg5qX6+e@?oK}yFw|~#8jnY z*Vw1#Da(V&4tcw-w@7_$%DVVB??2X4vtTNsBV29_lh#PN-EH{p97(S@B$muKzT!+K zcInxY(tG^KFAmZtqBE_u=-wk@b*N0Mo%Fm!#+gs2NQIMLDg{cVNi!>R^~|UDYdaJn z149e^&8o@P2S*Htoz0z%Zz+6jeXO*9=!V%dnMNY19OE2j7jt|5llYh=!Ad-)<@mHB zB%nxH^d;Mpzzd+75VP=LLJQ3(9POShyiBg*MTRl6 zg27ojs_~c@+neZl=1bB{1P&*AQ%v=fLCB4g=AW*IpUpn|Me=Q5B^TLn{;Lh)oKMJX zJm8ZJDSYAeJ{!4L0`M(;Dc;aHsR8{a|`cgREZiX>v2uOg)ONBdbOHU58?d0*-}s9LzWwXwk91W(*M z1*QkA(#F6QtE@>U-Pw8QC2RGCu!6LSv9wH%w94_!a~~GizPAuLUeG8HG*mnlkDr#G z-yXBSmf;9+n@-U)z}9#G9E;ZZ~Lh$>XV0m!a#cL!OOSvPG@o@;tiI zebu3~UZEl6wey=p
  • {V7KI`qv=8_BaMnA{Ptuw#&#_grKio11tA++8{ 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 diff --git a/tests/python/snapshots/stax/test_solana_get_public_key_refused/00002.png b/tests/python/snapshots/stax/test_solana_get_public_key_refused/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9a39cbaab947053eab9d1ff6e805c476952cea GIT binary patch literal 3955 zcmeHKSu`8!7EaL`O4DAIM!9j+)UyONlM?Mkbug3`(dLp;)zMf(L*kU8=C)dT1nJU) zDrsV_5UCQBlGYG4B_+glVhE8CA-T@$eYxvCopaafc0FZg5AhUY{^JuLC0D!P_PNy%&6)jD9J}d2!IrUZO92Q|^i(ALs zcXi9wd#QUff)LdPdwcFQ?M}v<0;*IZCQ>C^d&ALE@v;g4tcN(2irS-|wD-CK=!y1^ z;D-i3>fpb>g|3wqCV<&F7wIQraRpnoM$_4fAU;E+HLqnVbU0@G0u-F>$k?oSue{+UE;O|L$FC|&{7w6DT95j1i5)eCKXzpR5$NZh7B z6Xgdv5CJGjlgpHXE9s-bkeouW*?VP&3{(wgxjKX^y2R%HoCjqng3P;cb0b>ve}n30 zTU;R6I^wJ{IxP?WVMkLX)ido>-exDCP8JcU^rYEVH```*7sp*DjHa(ZK z`IE&iq&#GxVi$EW`q(b+)no@0KcvPjZ#R1riJnubT;>B+x2M{|gV5!;Ria#>zv)@h z`<38+FT-6+G&Gq|`SCF)5~6-VJl-_Ur>t!6URqd|uy~g-7~T+Aj9UG0zD~ck!R$OC z?q3_RVSqiO+~`U(ytFL@R_?Q_ZtAvTFB;A9H#o1xZq>b>+`%sOxf_^Dv(mXlSnYf0 zCYPxmU#sWsstV;`-0A36rwm60Q1=sE{|~2Qe{%doBN;Qf{XGYve|E6BGo=CWxZjL~ zOE46FYQzN_Co_ar{IqAw_mcf~2|?hdNOq$8$mSb!8xaR%Vxsski>b`zo6pZhu0lI~ z=M(jA9<{7E0^Q{CzG7n^=2_3o;x;I6O%$gpd9t)5f#B@#y*1w7`?p^eJPH`Hg1b$? zgd7E0kM;|kch=pBDFjh@lDs|0d+NPNE!1h69vzuNO1{4lWFuJvW!kYW1Uq(47?WXy zY}V7tvB!ClLPIyW0vMb^Zkfe93@l|P2Nk5Qv~CMF7Mt3-rG+~JUdwm&e4qN-VjvxF zBjgl+`tgdmrE z*KKIJsXRks%n(pKekr5;xedbm9oPdudHS}=vY?eizhF^)J-9ij}g1H%( zUGPX}1G5nXQ;iq)TVSt)>TZcvy%Tp>Wm2^GV%v_IUGf_btb}=&<-e z5v~R&k-Tdw3E^dH@ExDuK*Za9`AYscE(n+cT2T=oZh`pbG{d)v{9ig&(kFNiTDmKRT}R@jD1v6?7<%7Oc@3`d9_ENNycayA^dJVOPL%vZXX!$X4m?aaD1)=Q6|9!r2i!`i(J^3! zQVNM1ywvgffNUc7gJ;Nlb^Pzc?XWL{_LQGfRD)b5?HzCLtQDj}v&YHX=B~*8(FyWX z!@cV1eaJeid($}EXi_6nK3Se);8P#HIH^8MheU3|cZTml5{!QZx6Cgy>v@wILgcEf zHM@u@1%r52|Lfn7bt&Ys^z|`N%z>NlA@2{ zwd`U&PLq+w*14r++EgFMn7R+$9|YQ}xY$@Dyc8ST<1W_1nVZ4k$H6;!l4qqY&~XxB#sKwHr9z%c*dZm zSqDtpyc*9Pd+}hiIe#awdcpg#=W`UrDEHGL!x4864c3c-M=R|56m)xPv5*`EZSTE` zu7)Xfh!0ga9x2LhX69lffC zBERf7!SRnztVNpw3#82c7WIb6Et;oBW3(D~wC91gfi7acR&esI59BgEuC*VN!dO2N zW*^^yHDaAV5LukJ3tsNh#{d>&*`>xBlcI*#=c|CM6Js!q?!Qob`12do4+ejQG2#Er dg)FJ8l1<9KdAvVkcbNv9b9Q%n_YYLkzX2_!OaTA@ literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_get_public_key_refused/00003.png b/tests/python/snapshots/stax/test_solana_get_public_key_refused/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00004.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_1/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00004.png b/tests/python/snapshots/stax/test_solana_simple_transfer_ok_2/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b6afe9b02121c91c85c2b2eca9facabda64200 GIT binary patch literal 5748 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00004.png b/tests/python/snapshots/stax/test_solana_simple_transfer_refused/00004.png index 3dc66da08d14cacbabd733ab1906795ee9e36565..895f14b8c194bdb06649c9324fe86fbd0c242691 100644 GIT binary patch delta 1737 zcmV;)1~&P=8_*k&Bte%+L_t(|obBCFa;wG`K+)(`rkF`)l6oJmIF2l!X|Sa&t@U-w zm&Vvt+I7GnUH<<2@4x=~>kojZ_rFIU0Kh1-5et?AlMoA_fBt;*0q`O&m&?lkUa!|* zI}%=)U@>n!QcGKk7t;ib8RMy1S}R*j5G?jNlB)0fku7#{(VZR6s@2c!kk@9yV#r8Y zmd2&^wMH$*2^QN{iZc?LuiGr`>Tmw}vd12o`tzTCJ9Lu36kA zSj?NqiV|^zU~y}3y!zN|SAbTQ7_t~4SZvt*Ti#$B&ii=5iB4>usFxw8%JS+ zU~z(pM{{6;U~$yM!_P2Buvj$xeDaa^Yu7ba2p0c3%sot*L+6aK=;SAxZ)k$c&F zE)M4se=KGke8(8gVvb<3=9G7gIrv^Q@JX=vkGbcQCmzl5AT$#Miw&Fe)WpNj&J&p< zSlk-?0Gp4^b`3!*OMdy25Q!2j=1nw3hB!j7xZ{^UCD3@qAi?6kUu%|HF;1}9;q+#? z(9SM`#iCvB*S^=0_kHJW2^MRX@^P?POUu=YUUh=ShLvVbWNT%WTCwTRM;`zI*Xwnu zGGD)bWE@i~MhF%|K7z8Ip1JcxsbZW{LUuSkE^5UtCM@~RCrw}a8AxZoK7u|uAfeMd*j6WZJ0Nio8Tt5DByX ziCaRKU;!C|_3TDQC*u`wLa=}gelYoF9EZhuU1VIr0o{zrM}L zflYj`xnBiO!i2?)y)($jAa>SajE|+{n6RGR#00c=v(3q3@9Y0ZdvRpv$A1+(mSC~y z=GxHaYk2SW>vny+@&6*tDPh2W`Z><{i*uqNH{W_>LfN(b!NZ$ofQm9Greks}GXdvRyvwubfXA9d@d8b+D08g5?y4}9yZn*nO% zO4HKzH+Lt92%7|p8E4(rFt@i4o43gGdIT$D*v-h6W6Su!>kkIsJ>~rR-14r&`-$zx*KXdqw)a=TlMt*o^6@&{b;r}vlBHD>+pkn(bIuz7 zMuW#GRZmW^p3&SxCws3z!Jl$G$G1Q76aB=q(>ycRuz(B`7CjSxCEzufun1fKOWz+( z`d*F+i=M$hFRIn+F=3JP)7Rs9P9`j>B|G=*1U!JAASibCM+PsgvC=Z z<}gCA-kLhl;*=1`5G)|WDdDrbxwtd(hUGW!8oYAeH+bb}e1|Km?k?Q>8PPv_Fg!oO zD%t!nn3WG@n0tNB?QrQhj~vPL!5mr0vk|O}@l4!o^ZBvtdtaP$J6xIpzkY1Q=hr{~ zF+N!BfBos!kH-gswYY{=GIw(KJqja^@9<{fky&Q?U{=nc%~nMwtc=79Y<*CA;E%9$ zJSMCb6V@x(JfGS-WSzdlBc=~Vj9!mm@%mOKyTsheC#Qrj<@A~2sfLuNIv5_pgau@n zuwKgPCpb@a#`IJN!$X*`fDFOn^{rg|a$T%Nf3RM`$V~>9e>`M|M@%1#Q^?mNSe$9| zzVqK{+}&?I_(h(XV7-XJCsf9Vj^jI=yNz>wR@!?ocOPclbv!&3e+>#m7tTE;GyT)8ACISVS_JE*e1FfZuV4SQ9Zs(rd766Sr(4>yi(EN^_3S2I zFH}!*H`Wgw`RNBETOqDt0U3e?WH=>!Q?4{qWWvHl95Mv!-KiBJP6^+XPElmSv(XCH f0+SF6SQg{|l421He`N!l00000NkvXXu0mjfwiSM3 literal 3518 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 Oz~-#|netNz%zpw0Ry$z; literal 0 HcmV?d00001 diff --git a/tests/python/test_solana.py b/tests/python/test_solana.py index 2d8c42e4..82b1c254 100644 --- a/tests/python/test_solana.py +++ b/tests/python/test_solana.py @@ -22,9 +22,14 @@ def test_solana_get_public_key_ok(self, backend, navigator, test_name): ROOT_SCREENSHOT_PATH, test_name) else: + instructions = [ + NavInsID.USE_CASE_REVIEW_TAP, + NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CONFIRM, + NavInsID.USE_CASE_STATUS_DISMISS + ] navigator.navigate_and_compare(ROOT_SCREENSHOT_PATH, test_name, - [NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CONFIRM]) + instructions) assert sol.get_async_response().data == from_public_key @@ -40,9 +45,14 @@ def test_solana_get_public_key_refused(self, backend, navigator, test_name): ROOT_SCREENSHOT_PATH, test_name) else: + instructions = [ + NavInsID.USE_CASE_REVIEW_TAP, + NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CANCEL, + NavInsID.USE_CASE_STATUS_DISMISS + ] navigator.navigate_and_compare(ROOT_SCREENSHOT_PATH, test_name, - [NavInsID.USE_CASE_ADDRESS_CONFIRMATION_CANCEL]) + instructions) assert sol.get_async_response().status == ErrorType.USER_CANCEL