diff --git a/src_bagl/ui_flow_signMessage.c b/src_bagl/ui_flow_signMessage.c index 97546a3..a6809e7 100644 --- a/src_bagl/ui_flow_signMessage.c +++ b/src_bagl/ui_flow_signMessage.c @@ -7,13 +7,18 @@ static uint8_t ui_pos; static void dummy_pre_cb(void) { if (ui_pos == UI_191_POS_REVIEW) { +#ifdef TARGET_NANOS + skip_rest_of_message(); +#else question_switcher(); +#endif } else { ux_flow_prev(); ui_pos = UI_191_POS_REVIEW; } } +#ifndef TARGET_NANOS static void dummy_post_cb(void) { if (ui_pos == UI_191_POS_QUESTION) { continue_displaying_message(); @@ -22,6 +27,7 @@ static void dummy_post_cb(void) { ui_191_switch_to_message_end(); } } +#endif // clang-format off UX_STEP_NOCB( @@ -46,6 +52,7 @@ UX_STEP_INIT( { dummy_pre_cb(); }); +#ifndef TARGET_NANOS UX_STEP_CB( ux_191_step_theres_more, bn, @@ -61,6 +68,7 @@ UX_STEP_INIT( { dummy_post_cb(); }); +#endif UX_STEP_CB( ux_191_step_sign, pbb, @@ -85,8 +93,10 @@ UX_FLOW(ux_191_flow, &ux_191_step_review, &ux_191_step_message, &ux_191_step_dummy_pre, +#ifndef TARGET_NANOS &ux_191_step_theres_more, &ux_191_step_dummy_post, +#endif &ux_191_step_sign, &ux_191_step_cancel); @@ -100,18 +110,22 @@ void ui_191_switch_to_message(void) { ui_pos = UI_191_POS_REVIEW; } +#ifndef TARGET_NANOS void ui_191_switch_to_message_end(void) { // Force it to a value that will make it automatically do a prev() ui_pos = UI_191_POS_QUESTION; ux_flow_init(0, ux_191_flow, &ux_191_step_dummy_pre); } +#endif void ui_191_switch_to_sign(void) { ux_flow_init(0, ux_191_flow, &ux_191_step_sign); ui_pos = UI_191_POS_END; } +#ifndef TARGET_NANOS void ui_191_switch_to_question(void) { ux_flow_init(0, ux_191_flow, &ux_191_step_theres_more); ui_pos = UI_191_POS_QUESTION; } +#endif diff --git a/src_features/signMessage/cmd_signMessage.c b/src_features/signMessage/cmd_signMessage.c index 77f5ac0..4c257b7 100644 --- a/src_features/signMessage/cmd_signMessage.c +++ b/src_features/signMessage/cmd_signMessage.c @@ -177,13 +177,17 @@ static void feed_display(void) { processed_size += 1; } else { // fill the rest of the UI buffer spaces, to consider the buffer full - while (remaining_ui_buffer_length()) { - sprintf(remaining_ui_buffer(), " "); - } + memset(remaining_ui_buffer(), ' ', remaining_ui_buffer_length()); } } } +#ifdef TARGET_NANOS + if ((remaining_ui_buffer_length() == 0) && (unprocessed_length > 0)) { + sprintf(remaining_ui_buffer() - 3, "..."); + } +#endif + if ((remaining_ui_buffer_length() == 0) || (tmpCtx.messageSigningContext.remainingLength == 0)) { if (!states.ui_started) { @@ -248,6 +252,7 @@ bool handleSignPersonalMessage(uint8_t p1, return true; } +#ifndef TARGET_NANOS /** * Decide whether to show the question to show more of the message or not */ @@ -260,6 +265,7 @@ void question_switcher(void) { ui_191_switch_to_sign(); } } +#endif /** * The user has decided to skip the rest of the message @@ -273,6 +279,7 @@ void skip_rest_of_message(void) { } } +#ifndef TARGET_NANOS /** * The user has decided to see the next chunk of the message */ @@ -282,3 +289,4 @@ void continue_displaying_message(void) { feed_display(); } } +#endif diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00005.png b/tests/zemu/snapshots/nanos_eip191_opensea/00005.png index b1bddfe..1a86e37 100644 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00005.png and b/tests/zemu/snapshots/nanos_eip191_opensea/00005.png differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00006.png b/tests/zemu/snapshots/nanos_eip191_opensea/00006.png index 6b52a09..f5c2d67 100644 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00006.png and b/tests/zemu/snapshots/nanos_eip191_opensea/00006.png differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00007.png b/tests/zemu/snapshots/nanos_eip191_opensea/00007.png index 56b7f7b..d55782f 100644 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00007.png and b/tests/zemu/snapshots/nanos_eip191_opensea/00007.png differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00008.png b/tests/zemu/snapshots/nanos_eip191_opensea/00008.png index d5c4fde..f5c2d67 100644 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00008.png and b/tests/zemu/snapshots/nanos_eip191_opensea/00008.png differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00009.png b/tests/zemu/snapshots/nanos_eip191_opensea/00009.png index 407da90..ce795f3 100644 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00009.png and b/tests/zemu/snapshots/nanos_eip191_opensea/00009.png differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00010.png b/tests/zemu/snapshots/nanos_eip191_opensea/00010.png deleted file mode 100644 index 481c8dc..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00010.png and /dev/null differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00011.png b/tests/zemu/snapshots/nanos_eip191_opensea/00011.png deleted file mode 100644 index ff9dba9..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00011.png and /dev/null differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00012.png b/tests/zemu/snapshots/nanos_eip191_opensea/00012.png deleted file mode 100644 index e179c29..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00012.png and /dev/null differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00013.png b/tests/zemu/snapshots/nanos_eip191_opensea/00013.png deleted file mode 100644 index 6b52a09..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00013.png and /dev/null differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00014.png b/tests/zemu/snapshots/nanos_eip191_opensea/00014.png deleted file mode 100644 index f5c2d67..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00014.png and /dev/null differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00015.png b/tests/zemu/snapshots/nanos_eip191_opensea/00015.png deleted file mode 100644 index d55782f..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00015.png and /dev/null differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00016.png b/tests/zemu/snapshots/nanos_eip191_opensea/00016.png deleted file mode 100644 index f5c2d67..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00016.png and /dev/null differ diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00017.png b/tests/zemu/snapshots/nanos_eip191_opensea/00017.png deleted file mode 100644 index ce795f3..0000000 Binary files a/tests/zemu/snapshots/nanos_eip191_opensea/00017.png and /dev/null differ diff --git a/tests/zemu/src/eip191.test.js b/tests/zemu/src/eip191.test.js index c54b013..c7f25bd 100644 --- a/tests/zemu/src/eip191.test.js +++ b/tests/zemu/src/eip191.test.js @@ -56,7 +56,7 @@ nano_models.forEach(function(model) { if (model.letter == 'S') { - await sim.navigateAndCompareSnapshots('.', model.name + '_eip191_opensea', [1, 5, 1, 6, 0, 1, -1, 0]); + await sim.navigateAndCompareSnapshots('.', model.name + '_eip191_opensea', [1, 5, 1, -1, 0]); } else {