From e9ecf2e109e72f2e4f98d57b5fdb04f5296a75aa Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 3 Oct 2022 16:57:02 +0200 Subject: [PATCH 1/2] Activate full EIP-191 implementation on LNS + with adequate wording --- src_bagl/ui_flow_signMessage.c | 22 ++++++++-------------- src_features/signMessage/cmd_signMessage.c | 10 ---------- 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/src_bagl/ui_flow_signMessage.c b/src_bagl/ui_flow_signMessage.c index e4b38fd..545c221 100644 --- a/src_bagl/ui_flow_signMessage.c +++ b/src_bagl/ui_flow_signMessage.c @@ -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 diff --git a/src_features/signMessage/cmd_signMessage.c b/src_features/signMessage/cmd_signMessage.c index 4b4008f..1c764b1 100644 --- a/src_features/signMessage/cmd_signMessage.c +++ b/src_features/signMessage/cmd_signMessage.c @@ -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 From d78bece8d243b03f5653625f4aa0c4c47756ddc4 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 4 Oct 2022 14:27:22 +0200 Subject: [PATCH 2/2] Fix Zemu tests --- .../snapshots/nanos_eip191_opensea/00005.png | Bin 457 -> 478 bytes .../snapshots/nanos_eip191_opensea/00006.png | Bin 407 -> 462 bytes .../snapshots/nanos_eip191_opensea/00007.png | Bin 449 -> 463 bytes .../snapshots/nanos_eip191_opensea/00008.png | Bin 407 -> 426 bytes .../snapshots/nanos_eip191_opensea/00009.png | Bin 349 -> 404 bytes .../snapshots/nanos_eip191_opensea/00010.png | Bin 0 -> 448 bytes .../snapshots/nanos_eip191_opensea/00011.png | Bin 0 -> 470 bytes .../snapshots/nanos_eip191_opensea/00012.png | Bin 0 -> 406 bytes .../snapshots/nanos_eip191_opensea/00013.png | Bin 0 -> 462 bytes .../snapshots/nanos_eip191_opensea/00014.png | Bin 0 -> 407 bytes .../snapshots/nanos_eip191_opensea/00015.png | Bin 0 -> 449 bytes .../snapshots/nanos_eip191_opensea/00016.png | Bin 0 -> 407 bytes .../snapshots/nanos_eip191_opensea/00017.png | Bin 0 -> 349 bytes tests/zemu/src/eip191.test.js | 2 +- 14 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00010.png create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00011.png create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00012.png create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00013.png create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00014.png create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00015.png create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00016.png create mode 100644 tests/zemu/snapshots/nanos_eip191_opensea/00017.png diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00005.png b/tests/zemu/snapshots/nanos_eip191_opensea/00005.png index 1a86e377a60d743f4264c7a54fb603066da0906b..b1bddfeb436638f9617d76879acea9e049076a23 100644 GIT binary patch delta 452 zcmV;#0XzQ51KtCWB!8tzL_t(|ob8#*c7!kphU1+2{txWJS=gp2{2G3^~XCAJ3s?781Z2*G5iYURjtaEvs&@}~>p0#YkNl00x4A)tXC5^&g zl*yp&=D11XtAlaJwhL76Xi)W{w`X3?6QHHjiDEwkUm3>-SUcAPd;l>AJ^83CG#w{S z)^B^yP?OXDeSa(_`8p8xujRGDy>CIPM9Ew~h{3ZGtPQ}jyM73=j7Wx4&QKNujJ>j? zqKBB_^5sJ+AL;^<@NMOKqrI*kV@Q?)jlPk`%3 zK8sGN!U|>l=~NBX3!G0d;D<^ppxkiy|8%wqEBQyNZawlwNfMfxWneF!l=ydx)3*ti uP52UiAvQ+vR$<5wGEX8VAP9osxx4{|Ra$+bZhj5`0000O7AhRsg%{tui(_K=Qs;D@C~MK^rYLt+pq zA}X6w5ClQ+RJOkA&m*Ojwq0u(#(DgXd)aV7Y}2aPe2Yg z5}W!fY>|3Bn#&j2Bk&bIz*pX0r|LZZ{-93fYip)i0c8u%%YTxvQ73^bg!!kN(@Ta- zK;GGSP9QC0)8l&}&pcf7Qkm!FZ2*EFMU-IN_O(1ta7{s_XDyp>5>i$v!*!NpNu%(C zG8uH-91lr+Z7}ZGc7f&{4XR%B^UBM40km|wQ0!;mk#T;2wQKzYUqH-(CtsC?mg9qy zTirHqGNcSpkAMGx3My*lwaLBTlp7Z@cxi$~0$6|7Z$p+5$#BYL%3^@ASC(`>uS<1A zT|g49R<1YN`|5^ST554EMZh>B<#uzlol>b4%5=lK8md=1 zA7DW16;M{^`E&ZT2`l+WDs%EiNfMfxWneF!l%(C5KPXH@zYtshkm{X+9#2d_5Cp+< Zc>~+`M5mIN?+O3_002ovPDHLkV1hsT&lCUv diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00006.png b/tests/zemu/snapshots/nanos_eip191_opensea/00006.png index f5c2d6774a86d59f5cad0974eb03748765433d08..f872acc966fb2563e1c5de855b72147ebcc2c609 100644 GIT binary patch delta 436 zcmV;l0Zaau1I`1GB!87jL_t(|ob8$04#FS|hSBKzKd={iv1B%-Ej@5@_KPtCOX-vOC^h9z%k-J>ecSHHc#0U&P^VuPT zb0QxXsMrMMmI>5-k@+yjy`wJ`M`q`Wa>Jdci3*6K&~yExG1M`QfGHB(PVSI@~RX{O)c83Rp{NF<-1iA#%OmL_t(|ob8!G5`!QNMT1lCe_$7OK_`t6FajEcyp>f)>HkTP z0ALt~Va$rt9st0;{g2)H`{`D#;Y`N99SoR{kM;l}Xa>aI_!PlJf!F8CqCEfr;Dn~2 z#CYI67y@krsHRh*Z2$;77X{;(33tDmYc&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD= zg%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y51_40w#ON-)XL64x@JligSXK^F9>U5TpZCD zR;l1-dd45KJ$3D%x0-pyBlNc)fY48@)K%(1ej}ma6_3!d0Z1I_R5%~Jv6Lw%*j1$7 z_ge=gC`Cq;eEm6nY`nvxN8cIXLpu}HnKSv_1-z4eh0&f~d#fFnpgGW92RzBBy;Z|7 aj8eX+dC!iXSYf>Y0000U8lEHft~Pa|6HtMGIf?{Tiz$9AR35U}QC$a1cv*Od56*zU}N%(fWh3 zYHD9()udOT+_CjHbRVd2b>Pc8r}G9#<#eNWKf<<*>%+`;uOILLd<`slR2ABeOpv>; z0W8z9zPRu5XMcqddgp9PTSi;j8&R_EfCcDz)uRKa=EK*_N!j#IoX?kcuBkGC9XG{A}#~M||W-VyMzeq}-El-qH z*okyfLuJ8o9iJ^vgtfk3-7m=iR%oo=gatG{>10yjqb|m*3L7o1j8(FDn+sU-51D_$ f7r=2G=YRPEfjU?+9`Ex500000NkvXXu0mjfuC>j3 delta 423 zcmV;Y0a*Ue1Hl83B!7rWL_t(|ob8&+5`!QNMWIvw|ASrFg%x867y?3Ca;6JM5t$pw z%Q|NmhGEQ#AH4wQw)H&r%Y%=2X!1JVgP*Thnm&v+013G#w$=INyadmq!5y|#J6@v~ zK;f6~&t28rZ2$=y2#qIiSBd%^P&6!@QLlSIWPrTmu5|10c7L&s>OD`O!Ud7)^nCSV zm48R~fHVz_gJJ3!JB$;A73W%!0pdWH0?92?e|oM4;Hw|TmLUMNuLZb};ok^+|xiwFd1}a)rFBE)`xpff&pC(>OcSi33 zPQ<&-toCh`ir8`YG?Q(ksdQ&h4}&!Q)A~Sx3z{1R{~!y>Kz^Aq48t%Q@d5O+z+!)U RBVhml002ovPDHLkV1lt6!6pCz diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00008.png b/tests/zemu/snapshots/nanos_eip191_opensea/00008.png index f5c2d6774a86d59f5cad0974eb03748765433d08..d5c4fde635b43d9bdf246bf35def68777080c917 100644 GIT binary patch delta 400 zcmV;B0dM}71F8d%B!6*9L_t(|ob8&;5`-WKfN5uY{|D~S9=35Dew3U@j5qtw6W#j>_L0#)jJ0!Jzyd@JMzT~DnvRN-r;EW{ z2G3z_wQsW!n}6M@XfG4VrIsfZvaeCJGpgy8vTtpYsdFQ>9?Qb=baqzTM%Cs%jP8co zqw%R>xmzm$v@_b)D+R6|_F=66RNLMD7##qqdC7i1kUlD)0l=-^L_t(|ob8!G5`!QNMT1lCe_$7OK_`t6FajEcyp>f)>HkTP z0ALt~Va$rt9st0;{g2)H`{`D#;Y`N99SoR{kM;l}Xa>aI_!PlJf!F8CqCEfr;Dn~2 z#CYI67y@krsHRh*Z2$;77X{;(33tDmYc&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD= zg%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y51_40w#ON-)XL64x@JligSXK^F9>U5TpZCD zR;l1-dd45KJ$3D%x0-pyBlNc)fY48@)K%(1ej}ma6_3!d0Z1I_R5%~Jv6Lw%*j1$7 z_ge=gC`Cq;eEm6nY`nvxN8cIXLpu}HnKSv_1-z4eh0&f~d#fFnpgGW92RzBBy;Z|7 aj8eX+dC!iXSYf>Y0000%XWSoJMrBXj>p;ob#c|nYktWRuGe4l zu?5)6cx!W;o!k2w39=|MHnvru!LTUgW(Tw-?aBpFqE99UM1LEgl-yopnBstCJ12u< z0w@9Iz}CU0!IDEop4EB)6xCtmFK!&l;sDbS)LK?^2p1+~wQaD>Ru`uQw=B$MX*gDw z^bV9Kw!Xpb9TlQhSRHvg2S5s^f!2P7yfXTS7;UTxJb?6pC69_i;kYpJ93PNczEXYH zooDizySN3FU~3FQOp})}aZ1i`_aG8u#A}8sDUY;UMWCxU9A9%v$Axvg8xiqKTOVFDnNs=TCfH^_}!yz*BZkv^2=?Hdxc{A*JQ7n8RtPp zK=N5{Easxhaf*%Yv5kPk2P1#Has1IRPeHBs$cs9T66OLVbARr_7zz;OoG=T?BQe() z5gxob-#-pvr56zPj+vZs*7zvc)y3?k1aOLJy=-1h0GG6GZi4}#20ekxLQ8>o4!52c z$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4Es9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}l9*&i=H2tc({?|)zy?ZTN1^7lg`4sTUck`NG*;4~FQQ541f{MPBW8ZAAQ@iexUO;z|9 z!#8N$1hCehm)(zehB}~`pe@_;$hJtml&R-sSU7fKTONvH8q`vlOV;s>pbuq=wfqAG zV!ZW?2!Ji{&4rK7^`ABqnwkx=0OB3cBAw<0)PnLaO~=$IbYwGk(?IN%?pdC<32zRA zMptZf!gf-G4Pu-F;2!ANgeM_oK^ZzGoJ+Aa%|9r%`nf90!N9p=`vpR~%j10T-=jnF z zc>B4Yn(c!v$9@{~MHfa-KwezA^OjrIBE9u!eq(`RnTEC$>{9GoJSeW%6r?98w=6VG z1V9U1x$xFF3dLg7A*z%OFCV&0!1g&iLvsSMpe#(2G94P~d8y3v8r=YnJYnoDExgo- zBZj6RII@;aI0-2WmZ3gjT~aNyB&xLE9FO`)zkzYbwijsrqQTV*KVCVU7eGs=3$6W( zbf%pgrnPHz;17s77|CB{q2(wH@+x!Sl=rWGSylR971wTbQK2(;4`RA7$sTa%Ergza z6FD)#7wK6El`Nj=F2VYz*8_xDcD)p}$=i=u`wekaN0CB}{Wa4f0$RcPG@cEWS-k2h zmDH!ERA@oROG`7{xN;ZglI14xNO)b{^wMT!)KDk%W~003P$k8~avl1OKW8{9W>w5P-G zex~Q;JkqvTh2m&8MlV3#T>0ZIkD{dZ)}#5xg5)w!?OL+ea^GS>F_kL}5n4vQnI;2D zNx5^&M`IK$Y9v?4q+)vYA!Grz{r54vCJ+g!!n`Q+&~VF3Ri4*q2PE=>iH}@)sfZJX zmY_1SmY;B{l&n&R+briII^wa1=WFP>Xw)IS0plOruHgQn!PJWmubj>cpq0~w_I^e@ zGR}|S?OGpj1F!}oxm6Wfj*B4Awgz7QwApcw#%$r0@oK_M5_FX2x=>VTuw(DAD$0Juwjz37DF@qWCA=5p)#-Jt41vvO&XnEI zClQ_jN;{JaYumim^0e4dTCm310RR910KngT0Ju6Fb@P;L+yDRo07*qoM6N<$f~J(a A&;S4c literal 0 HcmV?d00001 diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00013.png b/tests/zemu/snapshots/nanos_eip191_opensea/00013.png new file mode 100644 index 0000000000000000000000000000000000000000..f872acc966fb2563e1c5de855b72147ebcc2c609 GIT binary patch literal 462 zcmV;<0WtoGP)5-k@+yjy`wJ`M`q`W za>JdciaicN>)1L%yG&qX-_)T2gWm93*rdw@$2T@ zk8icZ9xwPXEyxO|-uRjal~>L`^Z@@a3b4%#Ky=YQ-OB4UhlUwIt}UFnD5r8#XLm2r zWOKdpsuW61+O1XS-JRvTRTIW&cTGWmLk>WaB+38s0k}YQ_Qk-wEC2ui07*qoM6N<$ Ef-xf10{{R3 literal 0 HcmV?d00001 diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00014.png b/tests/zemu/snapshots/nanos_eip191_opensea/00014.png new file mode 100644 index 0000000000000000000000000000000000000000..f5c2d6774a86d59f5cad0974eb03748765433d08 GIT binary patch literal 407 zcmV;I0cie-P)H|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00015.png b/tests/zemu/snapshots/nanos_eip191_opensea/00015.png new file mode 100644 index 0000000000000000000000000000000000000000..d55782f429e629a5ae929916914befa14613edba GIT binary patch literal 449 zcmV;y0Y3hTP)9Z)nZ zoKdfPKxBZtOD`O!Ud7)^nCSVm48R~fHVz_gJJ3!JB$;A z73W%!0pdWH0?92?e|oM4;Hw|TH|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/zemu/snapshots/nanos_eip191_opensea/00017.png b/tests/zemu/snapshots/nanos_eip191_opensea/00017.png new file mode 100644 index 0000000000000000000000000000000000000000..ce795f34e8569e986af689fded3b59c9a8af2961 GIT binary patch literal 349 zcmV-j0iyniP)O41}p;-~WL<=z+0=1Om1tEU@3H#qtw22}5*_5JCvCo4!52c$FXo$VhXU?0M$^Bekqgf%Ka;M*^X|4 zEs9YCQ(xfJKmNC#+8dY%2&wT+>D^<3C%}_*k1^mvtO~`RE00000NkvXXu0mjf-kqOA literal 0 HcmV?d00001 diff --git a/tests/zemu/src/eip191.test.js b/tests/zemu/src/eip191.test.js index c7f25bd..c54b013 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, -1, 0]); + await sim.navigateAndCompareSnapshots('.', model.name + '_eip191_opensea', [1, 5, 1, 6, 0, 1, -1, 0]); } else {