Merge pull request #346 from LedgerHQ/apr/feature/full_eip191_lns

Activate full EIP-191 implementation on LNS
This commit is contained in:
apaillier-ledger
2022-10-04 16:05:06 +02:00
committed by GitHub
16 changed files with 9 additions and 25 deletions

View File

@@ -7,18 +7,13 @@ 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();
@@ -27,7 +22,6 @@ static void dummy_post_cb(void) {
ui_191_switch_to_message_end();
}
}
#endif
// clang-format off
UX_STEP_NOCB(
@@ -52,14 +46,21 @@ UX_STEP_INIT(
{
dummy_pre_cb();
});
#ifndef TARGET_NANOS
UX_STEP_CB(
ux_191_step_theres_more,
#ifdef TARGET_NANOS
nn,
#else
nnn,
#endif
skip_rest_of_message(),
{
#ifndef TARGET_NANOS
"Press right to",
"continue message",
#else
"Press right to read",
#endif
"Double-press to skip"
});
UX_STEP_INIT(
@@ -69,7 +70,6 @@ UX_STEP_INIT(
{
dummy_post_cb();
});
#endif
UX_STEP_CB(
ux_191_step_sign,
pbb,
@@ -94,10 +94,8 @@ 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);
@@ -111,22 +109,18 @@ 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

View File

@@ -183,12 +183,6 @@ static void feed_display(void) {
}
}
#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) {
@@ -254,7 +248,6 @@ bool handleSignPersonalMessage(uint8_t p1,
return true;
}
#ifndef TARGET_NANOS
/**
* Decide whether to show the question to show more of the message or not
*/
@@ -267,7 +260,6 @@ void question_switcher(void) {
ui_191_switch_to_sign();
}
}
#endif
/**
* The user has decided to skip the rest of the message
@@ -281,7 +273,6 @@ void skip_rest_of_message(void) {
}
}
#ifndef TARGET_NANOS
/**
* The user has decided to see the next chunk of the message
*/
@@ -291,4 +282,3 @@ void continue_displaying_message(void) {
feed_display();
}
}
#endif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 457 B

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 B

After

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 B

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 448 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

View File

@@ -56,7 +56,7 @@ nano_models.forEach(function(model) {
if (model.letter == 'S')
{
await sim.navigateAndCompareSnapshots('.', model.name + '_eip191_opensea', [1, 5, 1, -1, 0]);
await sim.navigateAndCompareSnapshots('.', model.name + '_eip191_opensea', [1, 5, 1, 6, 0, 1, -1, 0]);
}
else
{