From 3518873b5a79144b612992e4a735ce118ca1f568 Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Fri, 28 Jan 2022 18:58:53 +0100 Subject: [PATCH] Updated ERC-721 & ERC-1155 tests --- .../nanos_erc721_approval_for_all/00000.png | Bin 541 -> 0 bytes .../nanos_erc721_approval_for_all/00001.png | Bin 444 -> 0 bytes .../nanos_erc721_approval_for_all/00002.png | Bin 748 -> 0 bytes .../nanos_erc721_approval_for_all/00003.png | Bin 764 -> 0 bytes .../nanos_erc721_approval_for_all/00004.png | Bin 540 -> 0 bytes .../nanos_erc721_approval_for_all/00005.png | Bin 630 -> 0 bytes .../nanos_erc721_approval_for_all/00006.png | Bin 835 -> 0 bytes .../nanos_erc721_approval_for_all/00007.png | Bin 838 -> 0 bytes .../nanos_erc721_approval_for_all/00008.png | Bin 679 -> 0 bytes .../nanos_erc721_approval_for_all/00009.png | Bin 511 -> 0 bytes .../nanos_erc721_approval_for_all/00010.png | Bin 798 -> 0 bytes .../nanos_erc721_approval_for_all/00011.png | Bin 501 -> 0 bytes .../nanos_erc721_approval_for_all/00012.png | Bin 582 -> 0 bytes .../nanos_erc721_approval_for_all/00013.png | Bin 531 -> 0 bytes .../nanos_erc721_safe_transfer/00000.png | Bin 541 -> 0 bytes .../nanos_erc721_safe_transfer/00001.png | Bin 408 -> 0 bytes .../nanos_erc721_safe_transfer/00002.png | Bin 693 -> 0 bytes .../nanos_erc721_safe_transfer/00003.png | Bin 739 -> 0 bytes .../nanos_erc721_safe_transfer/00004.png | Bin 481 -> 0 bytes .../nanos_erc721_safe_transfer/00005.png | Bin 639 -> 0 bytes .../nanos_erc721_safe_transfer/00006.png | Bin 835 -> 0 bytes .../nanos_erc721_safe_transfer/00007.png | Bin 838 -> 0 bytes .../nanos_erc721_safe_transfer/00008.png | Bin 679 -> 0 bytes .../nanos_erc721_safe_transfer/00009.png | Bin 532 -> 0 bytes .../nanos_erc721_safe_transfer/00010.png | Bin 582 -> 0 bytes .../nanos_erc721_safe_transfer/00011.png | Bin 531 -> 0 bytes .../snapshots/nanos_erc721_transfer/00000.png | Bin 541 -> 0 bytes .../snapshots/nanos_erc721_transfer/00001.png | Bin 408 -> 0 bytes .../snapshots/nanos_erc721_transfer/00002.png | Bin 688 -> 0 bytes .../snapshots/nanos_erc721_transfer/00003.png | Bin 698 -> 0 bytes .../snapshots/nanos_erc721_transfer/00004.png | Bin 526 -> 0 bytes .../snapshots/nanos_erc721_transfer/00005.png | Bin 679 -> 0 bytes .../snapshots/nanos_erc721_transfer/00006.png | Bin 840 -> 0 bytes .../snapshots/nanos_erc721_transfer/00007.png | Bin 888 -> 0 bytes .../snapshots/nanos_erc721_transfer/00008.png | Bin 629 -> 0 bytes .../snapshots/nanos_erc721_transfer/00009.png | Bin 511 -> 0 bytes .../snapshots/nanos_erc721_transfer/00010.png | Bin 796 -> 0 bytes .../snapshots/nanos_erc721_transfer/00011.png | Bin 492 -> 0 bytes .../snapshots/nanos_erc721_transfer/00012.png | Bin 582 -> 0 bytes .../snapshots/nanos_erc721_transfer/00013.png | Bin 531 -> 0 bytes .../nanos_erc721_transfer_with_eth/00000.png | Bin 541 -> 0 bytes .../nanos_erc721_transfer_with_eth/00001.png | Bin 408 -> 0 bytes .../nanos_erc721_transfer_with_eth/00002.png | Bin 688 -> 0 bytes .../nanos_erc721_transfer_with_eth/00003.png | Bin 698 -> 0 bytes .../nanos_erc721_transfer_with_eth/00004.png | Bin 526 -> 0 bytes .../nanos_erc721_transfer_with_eth/00005.png | Bin 679 -> 0 bytes .../nanos_erc721_transfer_with_eth/00006.png | Bin 840 -> 0 bytes .../nanos_erc721_transfer_with_eth/00007.png | Bin 888 -> 0 bytes .../nanos_erc721_transfer_with_eth/00008.png | Bin 629 -> 0 bytes .../nanos_erc721_transfer_with_eth/00009.png | Bin 404 -> 0 bytes .../nanos_erc721_transfer_with_eth/00010.png | Bin 511 -> 0 bytes .../nanos_erc721_transfer_with_eth/00011.png | Bin 796 -> 0 bytes .../nanos_erc721_transfer_with_eth/00012.png | Bin 492 -> 0 bytes .../nanos_erc721_transfer_with_eth/00013.png | Bin 582 -> 0 bytes .../nanos_erc721_transfer_with_eth/00014.png | Bin 531 -> 0 bytes .../nanox_erc1155_batch_transfer/00000.png | Bin 0 -> 414 bytes .../nanox_erc1155_batch_transfer/00001.png | Bin 0 -> 380 bytes .../nanox_erc1155_batch_transfer/00002.png | Bin 0 -> 697 bytes .../nanox_erc1155_batch_transfer/00003.png | Bin 0 -> 549 bytes .../nanox_erc1155_batch_transfer/00004.png | Bin 0 -> 828 bytes .../nanox_erc1155_batch_transfer/00005.png | Bin 0 -> 471 bytes .../nanox_erc1155_batch_transfer/00006.png | Bin 0 -> 422 bytes .../nanox_erc1155_batch_transfer/00007.png | Bin 0 -> 472 bytes .../nanox_erc1155_batch_transfer/00008.png | Bin 0 -> 365 bytes .../nanox_erc1155_transfer/00000.png | Bin 0 -> 414 bytes .../nanox_erc1155_transfer/00001.png | Bin 0 -> 338 bytes .../nanox_erc1155_transfer/00002.png | Bin 0 -> 697 bytes .../nanox_erc1155_transfer/00003.png | Bin 0 -> 457 bytes .../nanox_erc1155_transfer/00004.png | Bin 0 -> 828 bytes .../nanox_erc1155_transfer/00005.png | Bin 0 -> 783 bytes .../nanox_erc1155_transfer/00006.png | Bin 0 -> 527 bytes .../nanox_erc1155_transfer/00007.png | Bin 0 -> 294 bytes .../nanox_erc1155_transfer/00008.png | Bin 0 -> 427 bytes .../nanox_erc1155_transfer/00009.png | Bin 0 -> 472 bytes .../nanox_erc1155_transfer/00010.png | Bin 0 -> 365 bytes .../snapshots/nanox_erc721_transfer/00000.png | Bin 0 -> 414 bytes .../snapshots/nanox_erc721_transfer/00001.png | Bin 0 -> 338 bytes .../snapshots/nanox_erc721_transfer/00002.png | Bin 0 -> 697 bytes .../snapshots/nanox_erc721_transfer/00003.png | Bin 0 -> 402 bytes .../snapshots/nanox_erc721_transfer/00004.png | Bin 0 -> 770 bytes .../snapshots/nanox_erc721_transfer/00005.png | Bin 0 -> 363 bytes .../snapshots/nanox_erc721_transfer/00006.png | Bin 0 -> 421 bytes .../snapshots/nanox_erc721_transfer/00007.png | Bin 0 -> 472 bytes .../snapshots/nanox_erc721_transfer/00008.png | Bin 0 -> 365 bytes tests/src/erc1155.test.js | 69 ++++++--- tests/src/erc721.test.js | 144 +++--------------- tests/src/test.fixture.js | 35 ++++- 87 files changed, 104 insertions(+), 144 deletions(-) delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00000.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00001.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00002.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00003.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00004.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00005.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00006.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00007.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00008.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00009.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00010.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00011.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00012.png delete mode 100644 tests/snapshots/nanos_erc721_approval_for_all/00013.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00000.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00001.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00002.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00003.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00004.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00005.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00006.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00007.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00008.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00009.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00010.png delete mode 100644 tests/snapshots/nanos_erc721_safe_transfer/00011.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00000.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00001.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00002.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00003.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00004.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00005.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00006.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00007.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00008.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00009.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00010.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00011.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00012.png delete mode 100644 tests/snapshots/nanos_erc721_transfer/00013.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00000.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00001.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00002.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00003.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00004.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00005.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00006.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00007.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00008.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00009.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00010.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00011.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00012.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00013.png delete mode 100644 tests/snapshots/nanos_erc721_transfer_with_eth/00014.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00000.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00001.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00002.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00003.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00004.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00005.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00006.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00007.png create mode 100644 tests/snapshots/nanox_erc1155_batch_transfer/00008.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00000.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00001.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00002.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00003.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00004.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00005.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00006.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00007.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00008.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00009.png create mode 100644 tests/snapshots/nanox_erc1155_transfer/00010.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00000.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00001.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00002.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00003.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00004.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00005.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00006.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00007.png create mode 100644 tests/snapshots/nanox_erc721_transfer/00008.png diff --git a/tests/snapshots/nanos_erc721_approval_for_all/00000.png b/tests/snapshots/nanos_erc721_approval_for_all/00000.png deleted file mode 100644 index 2994983f84cf76ab587bac356d5afe297c0e0632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcyxba4!+V0?SfW}LV) zm52AlpJ_b2>@)W(0ade0N=>L#7k{_%p*K+Izf)VA1-(C=WRZ-BymEd z+ycg#=gr>vKI=O3DZ$93W?LaYQ1QY>pxO%?Y&v*&<#TnOD>)zbXF6qTB9pT3N&!&M z3dWi9&EBnj=ymuLi`0al9u7OFx80vqnaz8`W+_{Wop8XrwTVif&jYR3;ytm)i1F!7 zQ=gO!i4>qCfqpe|KCDm-Wb*LtR{=T`$TJ28kKEHk+7p0Y?mPqLwy~wK0ofM}OcabW z9iDmf0+pZOF#@XZFL)Sha%TzS%!Lnq%!RyR`IX+l PXlL+r^>bP0l+XkKp5EPW diff --git a/tests/snapshots/nanos_erc721_approval_for_all/00001.png b/tests/snapshots/nanos_erc721_approval_for_all/00001.png deleted file mode 100644 index ef35bb6b074fc8ce4dd6e92d57018616de758cbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcZIx;TbZFupw)*!9GN!TI3w zBfI`LeqCsqc5BM&s))9Eu|3AhNA&M{Ce7^LmApK*d{V?S#RYF}EdsL)DlW>N4q=(H zJj>zPBF34{huI~i>`vHRJa*Ys;d8W+d@$y8w#|@PQfk7_3k8bC zlY4KTJdE-$MQxMMEM%M+%xturEhS^e1WS{c6EP-pfR0n2X??3=7F&uR?+FEGW+R{$ z5K%nA(lqA894Vkeh2o11XBIwOXZCIltl^IiKUQ3vH3mMs8 Xb)8x4E4;V|7%L2(u6{1-oD!MAA_XyOni9b7bPxjY+EhW#wL{!ky#PSy?za&q*Pr9vr)LIg7FE3W**-E z&8_8^9hiB84|@S&tkL_dhjUGU5=JH<#Czg`fr-NAOATk@GZ!$<^lWPj-|}IV)C9?t zj0#KM6KhT=I3NE1;DC1ajoP)$>wVI)D!PDrfI1a6r?STdG8<_FnZ=WNcqgBUpSX~5 z=4`16k(o16ma(P8O>8Jy$2ikB+u_;#42Ng#rV7P*4`Y~(cAG0ZAGTzCx`c7&U1^|X z%0m!q_T+^RQy#jswcVW!7V|eUd2G|ezAUxxQset;1}7DqfuX^BA|_)-irtdLNx%@40NJ*zZ7N$z z9?-~jY$Nb#(dL{~=@ABC!2Kx)>we8BFSX2QK&b%l7v@pvnIv-Z} ztO$%5kfT+c533lP)IfV9dY7_Ikp$C?+bM-cv(2d`=0uy3N{eG``DGrV3*Yy>&-1*``}NgSm!pYz zqC_G=D=YN15NTM7<5JkaXW4Tkl4D$@zO>GPY|j}x!`Dvf=QO!r57J8HDNEzOhLuEe zesOBm%Ny}=ljq!Q>TZ8t)9&SD-?DO~@m-l|*7Iqzur)qndfMDicTy<7MJoKHA{H)$ zAY)IXd{9jp5{U9U>pborMc9sP4erKJ{w(1|SZ~--gpxru-VLL9@w3LJm12~&0VX^) z+q4!R!m4Z|2&>d_C)+aW6Nra0^v49khG@YhBgi;fka3+e17T}H1}j+ia|qz)gS6no z-93gh*BHWPVz~RyRRYwg20=hbO<4ig%nwK@SB19cEy6xtqJ<7XoW8A%%sTgQ_xTGL zhOed6tdWYY-diaDVa2gP3!8yJFlyOw%23~#WmZF1Lj!w zv&BYw*9}|~wC`ww+c6~@ik^T@U)=a;gxqH$^e`i4Xd^y;HOEhuyjl-K#*6pSY0rvH z8xhqQn;iN>NfwcO3+hx;2PX7xK>RNpis7kZg<|hY83ufiu@7K{qPfV=ovET~RolkS c{Qs~mclOoWGxO@l;8#m3%c}Jgmu}ww3zQT`iU0rr diff --git a/tests/snapshots/nanos_erc721_approval_for_all/00004.png b/tests/snapshots/nanos_erc721_approval_for_all/00004.png deleted file mode 100644 index c6051dd1651ad0b66d2619bb2dbf05dece07240e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcy$ba4!+V0?SD~ef$(ikY(f2fr zWr}gO!?Oj9GZ!+>v|k6L5-0t1Wi~SLF$!ijO8@fUjMN06jJ&e3sR9U{@Zmi%=kBqq zCKntIUn#f%gyGWRml}ACPFyemA`=DY!xtLPI5Hct^O`7p4rAs$;bUYn=i;$QklqU) z7N<;Dn3(18%z;f(%I;vZadyPNb?oVC#-@MtjZ8o)8qUnMwOGuS!k3ca@GKhSjQ^cH zyeD{gC!YbCdsqeNh+;RUQ>)oh^40=fya?#Fs|{yX_lEPH&=FU5KCI37bS2}=r-!5_ zRNkt{a!A{0At^P_Y+g!6gdWg$%X`;@SgROku4kD7)Kb&Z#ticEOewyUwl>da3lb+t z0-1j68E1wwom!qHk#Y}c2GA*M*;3kou9BLtv#Hl#{quDb9$u4}i_O+qGg6kdIi`Wa zC?4q8`L7OM1v*gSbF`5&v(bH^xpp^?O*K{6T$BI!vgw~NW~0;9{B|>ent|a9@{Es> z^I?_GVL*J6Wy;fSX49f?N95%u@7&t^^cs-!o4r!@j-{+MPZluN89ZJ6T-G@yGywqh CkKJzo diff --git a/tests/snapshots/nanos_erc721_approval_for_all/00005.png b/tests/snapshots/nanos_erc721_approval_for_all/00005.png deleted file mode 100644 index 653e23c999c363bd888f788d2e5206cd238f83d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfiGAx;TbZFupw)7$oh<;Bqj$ zYvphG9d@UR+FveUJ>6tzaLH%ckHz7WEM&W@j!s=yrP_J9kV7Lp_hRUJl|rjF?(<)| zE-&QJh+q4VbtZqNM2Z-1^BFx;h0Pfb&sy11_FZm$uh4u3h!jl}oDaw4zHvOP@>!FY zd*;GKMPpN)l(sf;AohF~m-}Z6Tgo!FlsHvqW+Nan@i7WM?39+}kTzkalo&_^gbv%@ zt}x-1zxE-KHy);nOn8jePm+|n=bM%h0c3N}{C{;rx%BewC;ynvT$$K! zRyT`>ck-F#rZo|VS4*kQbOc(NcCq1%QyUx5_SQ2OHca^G#dK;dTMFM=#+k0nM&&CR zXGV+XnJN@l85o(|5ek@RqEP&6aiU`Jcc}@LN(=s6YdG_gL2AO!w}*r!rTqBUG0s#M zpEr5o!!HYf^6w7mN=ntm9NwP&V@liIEQe>;TCbn@vw|%pqhfp8W$Bc-&4vC_KyOW0 zn3y2}@_t%Yg(JwT7aMqhLF0N@#n{xxsCwf^j+6`skT?(leK#TU#D#`4Km?RlFh1$S zdjhDaI5A&pf+Wyn3Et|>8{K*1*CkH)2@bF7jT_y8VK{w4;YP|h;gQS;lq*)X?JC3U}Ri0 oIALSO__QQK+^@Y1D7>FR%=cI8$`9Va>FVdQ&MBb@0F*HPPXGV_ diff --git a/tests/snapshots/nanos_erc721_approval_for_all/00006.png b/tests/snapshots/nanos_erc721_approval_for_all/00006.png deleted file mode 100644 index b5efb214648fa4fef42b3ad2da409ccebee7fc99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 zcmXYwe@GKy7{|93m)V_Bn6^u5rY;dFIX4y3noe^=QEM4WX0DETDwH@%C8?QpqGE0{ z)Wfhg%P>oYK_H4CM{&{>^H&bbKZII8&><-)McMOe+>htp_nv#6&+~nrYskq;C;Ul& zi9|x^b*X2-THsRnVQ`;2Tpl5j$o%!G$!DviOJnCNqVy8&SlG6uTVuc65mB%A9gX)C z@$1ROjT@_}dxyU`yULxdUAjwaiQDhDzWn<5h~1M^FB@3BGjG_FDa6CKWB^vJw8QS@MnP#doG}RLp(YL!y<9$^dObCmA6XaxJNL8qo_qA+p&eDwM&uKy! zQ9c@(v52R5h1s>GqKOcqLB(EUXsjBi9!|!L7eGEI6bvGO=;HLCH6LntZ!^x-|@B(33jJ~3b1)7OL-~ffg&21uJ>b-|K^Szo}kWxk&c+?VOx6uyav^=lM zq*T##|D**cPEOd;k@R`czH>P%`j;YTi|!l}xs z<#Iy6387%R+=epGka2Vm+bMkfE>tr65uB21W*tVD7cC*wG>GnH$L12DkG`=Dl%hJk zTB-@!9PWb0bi}tZ6*AO@6Ln%e&8!EaAwkU%YIH1c02a(m+QJjxvetnXC~2NepOH0NZMG-2!0MVD3OamHzN#JXep*W7N+%i~WgsxC$^ zCK>O9%PcA1HY%243$850nkO@3u(gq+CqK2PRNnTtp8kHb|E_9qr5I-tNHLYvGwf%v zV#z7B(XNa!OlYey*zEC)o)qWOxHCBO<4SN3?egW>Og6hAWCYkL{Y4UQu(3+7*hz3n zYob~P9piyvn{B^5em~qBqWtCbwU9OhzN75~+oD^3^tlbpDDjPMC zNx2B}_`z1Bu^VjNLxE(PU$!sX!##wYlE8>_U-L{`givp9Iw9;AMlm5*o~4)+|HMTm znGu@k%_4*s*$9yoeF~^pE(hm1{z(VHrE|Q2py<~x{=#-nGDYuMf0GimOHu`5Z zZ=I4GcR+)+{%S+W5;1d~6gv?KtxPsHmD#6LHkRUY@Pg0-Z=4bzFYmPURgejeVZxZM zR&2fxddOXai9pc{)A0s`+-$QT@h8UQQcCY)L!ZPiyL>w#1FC`i1C7BV?pSrW5C<38 zl?NC_KOceR%dl0f1-c!edflbqd7unCi`+H+zs>Ux=hHZN_uaF0zXQg@;20p=#)1oX zK_|u&C^e0PJloDWy1?^LHIt7sWxX(Iv``Ph1D@CH|7oWC(7aQ6%%+kaOo-8KhXYyi zMe+o+rk1@z7r{M0YlDxLSGAy}JJARFzvIJuDY{N&^yiYt;p~Nlh9bX$Cfg09plV}iIZ+-IJC8Sre!%io2X~w z%xok->E;AUsR=(rn2k&nHcJ}?GlNj`nJW!vHpf)3fuvqb*uF1z|8yK z8)z;Mum44d!)`!0{iK5PVW2HtJVquqms{%{pG8Z}^GkD1%Wy~ox#;HX*7QjWA3jW( z;P`C*goTMfbN251kONfg0`wu!u|Tul0~L6uAeblgY!Xm z$36cWe;(xOj_SzSo^k7n=aRXC_NB_5FQcyTO6TsHc%(#@>C`gaTO~jtDY1Jm+Fk~+ zObO4HNa2%Wn^}MDgTu4KrV5*Zd^r;Z=fi$!*Bj1gubngVjJGL}+su~2HZzvlXnyKb z?QDw)l2Ra4IlXP}nRSWk#wKr4>b#%rj{KoxWb#I8g5?B9wwe5w8+eS^c~2;Oc3_(c zr2kB1lbUezzNA^)r%FJ znSmxYoNTrZa7m? zWMpzj=gx@>26JPWjm)|8PXbv$SLK5Z`T0$XFQu)G-3Vv{&?hz7yeIBNSGqkjfw(ND z>5MV=<)v%q#2)s0)^8GX^wiChdu9XO5vl7leVak-ty4Em-=r*4W=!3+ruF3|v1Q)T jGxTy3cWnW3>KM-WtzW%&o?Ip{Vi`PL{an^LB{Ts5TJzP~ diff --git a/tests/snapshots/nanos_erc721_approval_for_all/00010.png b/tests/snapshots/nanos_erc721_approval_for_all/00010.png deleted file mode 100644 index 595591af309af11f2e49002000011c034c890690..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 798 zcmZ{iZAcSw9LG0DqjYCTPwo;sOTm{_A@ZYgF?Vui?IaN<+m zGKoWrM5Y;}0}~V_uoF7tPi-n?Vag2mD$|-T@{RVJy$=3&fA07_eZJpcOMY%P7K(>T zBofSUIrA#q3_QesIlRBd*2YUDA!~-rjB5_*`gB2!$#9sOrZSdxo3^JT@b7J}<5gFF zEI!^r_<;8>{EduI!i|OOL@ITLj;OGG*n{8d6zVJR_2oEEP*SzEpIS9;U|GH27_8zOV0&_cTTAGgN2PdU4>FSHX3L$WIJfPR(>q60J93n^uE0hPoL1vpN}5|v zSM)l(4DwCSdNx;Q!jyRU!C@(XOw|}i3BC+15jZJb8TU9#+l_iKTbB?qvCv6;q!JWIiNay(>+%j&g4&&l$roUm0+`D^J>&3rPyXp zPibqjSNlBajJMHzpwbgDXAk}lWHvf+;e(iwNzB>a`Rg8fpS)mjlE(<>bfCLGJG8L@ zwRi$u^2`zH4W?6@*;2OMztC`II#AU9V#Aru&FQ=+a>SLL4;wQ+UB@`{?IEcNJFRzQ zJEZNlkd%7I_bw&lh8|FScXL08wTf|OKi|BQ7dEu8NlgP9W6YT93i9BIH7^pPXEkhE z1@u`c`|2zQHc6?l(ha(A5u!||wykN-&1AoQiErCd*&J`{8`HjV>u%YZs*`v21~57q NJYD@<);T3K0RSY7(dz&J diff --git a/tests/snapshots/nanos_erc721_approval_for_all/00012.png b/tests/snapshots/nanos_erc721_approval_for_all/00012.png deleted file mode 100644 index 3158ea690450f2b8c85c12004b002b02e7b02539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfj3Yx;TbZFupw)IO&lagUi8i zu2=uq*Yz9Se)!g*VK4JBV-C&WKWoz`S-k14IyUoMm0IWFIu4EW+>4RtRSIvkw{qJ) z-k{BNYMKd;QTzYAL~p5OZSof#4llR(=qVMJ($*$Ab77)uTE-4V=fhVFPUOsN*u=_P zev*f``Ha_Lh0T`?P5_w@bmoG=iJGR?wG$oFmOfn9wp(f$o7BG*4~6I6nAJ9Y(#_4S zx*0Q4Cd`zYu+#gQ-puxsHA;+6txb81;;$K;SOc`)`Eb{n3mcS-P1XR-G*4O9=9zYy zWlA>hi9IogRX%T%Vw>52vEj_tR;Wnvk2E8bnCKl>8qOS+%J|{VJNeAR_7fKhJRN>6 zWt_R(#K%Y*B*bf?@cHzid?OPZ*R-q|Qfe~~OJ_JdGiQ7n#BAiBxx@R}2R5LKwiNib zwJkq!XF{bkuSv~rHmSN0W~1w3?WueMPz z$jMOtJF#s}Y?8nbo644w2lP(7Qu7&Lh$$GG`0$>%lOd6E?`G%PjEacEho#sgfuXFQ zeWOb_8W?6gy!z_Ez}=wqxl_z;<{4*T7^Tcp+APW)4b*$#gTTy%593WQI2=|m1}X&# zr~*UES~!4j_tt_NTU!sW)0HX9eYhc;yFK@KDXZ;sPq04($@Y}pt$UkYuJ7O_vMLEmi+4c;Fw95@=>aR7Nxv47?$ZTZtr_3n+(gx*XR_$~kWo+{1#Gb1SXD%3= zxUfOl`S7wtWoKq1=fesh37M0pZl2)bJ;7rH6tf4a>N|5`!^DM*Gq+1kkOZQXHnx<$ zq^B8D6K1Bx%Ze~iP)OohG zIi_9y5O&xt%^k>mro%ENocDx`AG1-use^*|uq^-bNuC4jCC(rnYh>Cs(MmB?|tDnm{ Hr-UW|v$x^l diff --git a/tests/snapshots/nanos_erc721_safe_transfer/00000.png b/tests/snapshots/nanos_erc721_safe_transfer/00000.png deleted file mode 100644 index 2994983f84cf76ab587bac356d5afe297c0e0632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcyxba4!+V0?SfW}LV) zm52AlpJ_b2>@)W(0ade0N=>L#7k{_%p*K+Izf)VA1-(C=WRZ-BymEd z+ycg#=gr>vKI=O3DZ$93W?LaYQ1QY>pxO%?Y&v*&<#TnOD>)zbXF6qTB9pT3N&!&M z3dWi9&EBnj=ymuLi`0al9u7OFx80vqnaz8`W+_{Wop8XrwTVif&jYR3;ytm)i1F!7 zQ=gO!i4>qCfqpe|KCDm-Wb*LtR{=T`$TJ28kKEHk+7p0Y?mPqLwy~wK0ofM}OcabW z9iDmf0+pZOF#@XZFL)Sha%TzS%!Lnq%!RyR`IX+l PXlL+r^>bP0l+XkKp5EPW diff --git a/tests/snapshots/nanos_erc721_safe_transfer/00001.png b/tests/snapshots/nanos_erc721_safe_transfer/00001.png deleted file mode 100644 index 6ff345b740b4a214d00be4aa68764e985e20cd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfhh@x;TbZFupx_vG0n3h|9st zVZZ*{|FHYwCYbCiG%a?5!;!M7KNPJ!b&3Pa-fTJTCv@6|r6pDf%#xAH-;_MFtHEHE z$cZ^i9G*>hK*O$na(uRZ`ov^1JyMr zST3=cSUIUTaOn?a%?Uq)x&(82e1P7IPT>P`Rc8vCOtY2@I+Ku`qFLwN<@YSuXvvF| ld0q|?%dSQ&yM~0mF_ySC=ANCH)&UH022WQ%mvv4FO#rmFqe%b& diff --git a/tests/snapshots/nanos_erc721_safe_transfer/00002.png b/tests/snapshots/nanos_erc721_safe_transfer/00002.png deleted file mode 100644 index 795947ce2810997919a4a6465ab9760ea95cc9a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfi44x;TbZFupw)*e4Y!;&O0u z$DRL8pOx8dedBjZ-MU~ljW<;AQT^TtM-t<&aO;&^))K& zoh4yZe)7%5ndMg+&SW^GEoPhz4$lsE^7EdMxi^Q0SKhB?!or6io=HvkS@6i+$VBE|2(yvBP=Fm!)v`9% zXNtVtXQr~HtTWL8`r||nm~wu$j4j3Ou#&M<+nEdrBWa+LSRl^0F(FdQEJf~8!9TcoZEl_qzAG97@@pCS1tsF5YJ3k zsCXVQPJw~e)20XtDUfVUG%%iwfJ)psG}`Z40pk%GolxpOL$Q*|G`j@~Ho)Y_;OXk; Jvd$@?2>?8AAHx6u diff --git a/tests/snapshots/nanos_erc721_safe_transfer/00003.png b/tests/snapshots/nanos_erc721_safe_transfer/00003.png deleted file mode 100644 index ebd34d4d7891cd7fe3ab7f9956d44f782326010d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 739 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfgt1ba4!+V0?S2AOvy^w28qQoWIGJOj;Cxuc*i_+jmfs$&nF|?bEE~W{1oIp@n@^lgq>RoRx-{!JbU88 zhm#sU0S!JZo$c`K@S%3L6ux}Fwl;ol`IHQcJv-S_>~w0>oDV}UrHw5` zk5l7&hC|w7#+mIV3dTTWssM5+$eAZ{fX0QJDr~+83?dksE;ZpMNPXgjpJB{KK&3#m z-J-C&ZMUh9k@MlMGx^sWczEsCC1yyZ%)10+YV&Fv#b-%KvCWLP{5Y2_Wmy}@J;1=q zm;q$pU&lC8UeWomg7FEU6`>%v^MI_5Q8hOGGl>W2)JI1)gWS2St+#DA(0L$b{XpG7 z2LpWw45aoGAXQ5qdh?#Q__!OS(FDj-a^7bafdt8NA+h4}@Ktc^@!t{R;5F#@Y>bP0l+XkKKXo~y diff --git a/tests/snapshots/nanos_erc721_safe_transfer/00004.png b/tests/snapshots/nanos_erc721_safe_transfer/00004.png deleted file mode 100644 index de1b2bc7dadaf87584f0c7db08974b8deee7eb8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 481 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfgw0ba4!+V0?Qpu>bmoj1D!#8ZF*YZw_t}bu| z8JnMy;gELS;N%;r36>c%QhstasP z6*k92FdO+dFK0`c);)RQ!^{sV&WDQ%c~98z?whnQapwxQlzl=0aX@`Ufo znH}g8=9w!KC*3slFR{nJ>5+{K@ z0t^y$XJ9Za0P?jNQ+KXCSd`uT^cuwT(mLC}F~=WYyjW4z_A)T)7(8A5T-G@yGywoW C zgMa?>KV!b0ks~#&c;*=uuawBpNA-Ir9eKHPMR?51RpFB?Z21|VuF~E0YO0Fg`NW5A z>n&_W8B@J^wT8k!wyr(7 zXLaJFpHtdA)3Pd-CQew$ICEv*g|@Oc?q3J|G*g!ii%o31$l6zAa$W;Sv@9HwV8t1WgS(9o%E`q?*b zwYn>RHb`k}t5@2*wRNqj%sd|6{uhU)rDQBfoFti&F(c)lM;p*36BYuwQfxCtC8gA6 z>Q7#nxb)%tlNSt5<~Ta+yxwr;rGwOjo!bl6GtRtx@Wh3J{D)!8M$4NgEqr+GP&ZqO zAG^Bq;qF#(Ba=CN>lkN>b8k<{u#gR5Hrg)s?&O6Juchi@4o^3E1Jv_f?4Hu+)lw4{ zKD;dDCqJR`bgTQNhBH?hczB%;gS-dyvbGV>AKJVpE^JWRe97RX5AWnNaWNK5l2Q|9 zLQqN@TS{0;hC><<0fTMAOh{Pljl40NErm@|if?gZzTTU_!_R=;kykV}QP?al{>>vT z>qg6&_LK~XlzqKCyeHlqY_-jFNOJ|6)z(&S%42i_=-D+u2h=Zx#*IG9lysomyg)Ic zuo=h-)R{ByR%^Pl^Wm;DUWXNmOPEf*%+v*n9eTO)FZ)t6h6&d`l*|SuECx?kKbLh* G2~7Y7wht5l diff --git a/tests/snapshots/nanos_erc721_safe_transfer/00006.png b/tests/snapshots/nanos_erc721_safe_transfer/00006.png deleted file mode 100644 index b5efb214648fa4fef42b3ad2da409ccebee7fc99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 835 zcmXYwe@GKy7{|93m)V_Bn6^u5rY;dFIX4y3noe^=QEM4WX0DETDwH@%C8?QpqGE0{ z)Wfhg%P>oYK_H4CM{&{>^H&bbKZII8&><-)McMOe+>htp_nv#6&+~nrYskq;C;Ul& zi9|x^b*X2-THsRnVQ`;2Tpl5j$o%!G$!DviOJnCNqVy8&SlG6uTVuc65mB%A9gX)C z@$1ROjT@_}dxyU`yULxdUAjwaiQDhDzWn<5h~1M^FB@3BGjG_FDa6CKWB^vJw8QS@MnP#doG}RLp(YL!y<9$^dObCmA6XaxJNL8qo_qA+p&eDwM&uKy! zQ9c@(v52R5h1s>GqKOcqLB(EUXsjBi9!|!L7eGEI6bvGO=;HLCH6LntZ!^x-|@B(33jJ~3b1)7OL-~ffg&21uJ>b-|K^Szo}kWxk&c+?VOx6uyav^=lM zq*T##|D**cPEOd;k@R`czH>P%`j;YTi|!l}xs z<#Iy6387%R+=epGka2Vm+bMkfE>tr65uB21W*tVD7cC*wG>GnH$L12DkG`=Dl%hJk zTB-@!9PWb0bi}tZ6*AO@6Ln%e&8!EaAwkU%YIH1c02a(m+QJjxvetnXC~2NepOH0NZMG-2!0MVD3OamHzN#JXep*W7N+%i~WgsxC$^ zCK>O9%PcA1HY%243$850nkO@3u(gq+CqK2PRNnTtp8kHb|E_9qr5I-tNHLYvGwf%v zV#z7B(XNa!OlYey*zEC)o)qWOxHCBO<4SN3?egW>Og6hAWCYkL{Y4UQu(3+7*hz3n zYob~P9piyvn{B^5em~qBqWtCbwU9OhzN75~+oD^3^tlbpDDjPMC zNx2B}_`z1Bu^VjNLxE(PU$!sX!##wYlE8>_U-L{`givp9Iw9;AMlm5*o~4)+|HMTm znGu@k%_4*s*$9yoeF~^pE(hm1{z(VHrE|Q2py<~x{=#-nGDYuMf0GimOHu`5Z zZ=I4GcR+)+{%S+W5;1d~6gv?KtxPsHmD#6LHkRUY@Pg0-Z=4bzFYmPURgejeVZxZM zR&2fxddOXai9pc{)A0s`+-$QT@h8UQQcCY)L!ZPiyL>w#1FC`i1C7BV?pSrW5C<38 zl?NC_KOceR%dl0f1-c!edflbqd7unCi`+H+zs>Ux=hHZN_uaF0zXQg@;20p=#)1oX zK_|u&C^e0PJloDWy1?^LHIt7sWxX(Iv``Ph1D@CH|7oWC(7aQ6%%+kaOo-8KhXYyi zMe+o+rk1@z7r{M0YlDxLSGAy}JJARFzvIJuDY{N&^yiYt;p~Nlh9bX$Cfg09plV}iIZ+-IJC8Sre!%io2X~w z%xok->E;AUsR=(rn2k&nHcJ}?GlNj`nJW!vHpf)3fuvqb*uF1z|8yK z8)z;Mum44d!)`!0{iK5PVW2HtJVquqms{%{pG8Z}^GkD1%Wy~ox#;HX*7QjWA3jW( z;P`C*goTMfbN251kONfg0`wu!u|Tul0~L6uAezo~SW_IUQDR;h<5_|Wh z?PUY@GykuB*m>sWTA%-ucFvk=oOxrSq|^i;`Z=ww_sp_HWn+_^l)k)& z!6z$36)18$C2mrs=d;c;7aGo7)QxduHacgc1tr?)mp_CV0WDyYlrl4NKJ51F z1#Hp^{7>=P%RsrQ7z~nXat^#x{eetDnm{r-UW|;#}&` diff --git a/tests/snapshots/nanos_erc721_safe_transfer/00010.png b/tests/snapshots/nanos_erc721_safe_transfer/00010.png deleted file mode 100644 index 3158ea690450f2b8c85c12004b002b02e7b02539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfj3Yx;TbZFupw)IO&lagUi8i zu2=uq*Yz9Se)!g*VK4JBV-C&WKWoz`S-k14IyUoMm0IWFIu4EW+>4RtRSIvkw{qJ) z-k{BNYMKd;QTzYAL~p5OZSof#4llR(=qVMJ($*$Ab77)uTE-4V=fhVFPUOsN*u=_P zev*f``Ha_Lh0T`?P5_w@bmoG=iJGR?wG$oFmOfn9wp(f$o7BG*4~6I6nAJ9Y(#_4S zx*0Q4Cd`zYu+#gQ-puxsHA;+6txb81;;$K;SOc`)`Eb{n3mcS-P1XR-G*4O9=9zYy zWlA>hi9IogRX%T%Vw>52vEj_tR;Wnvk2E8bnCKl>8qOS+%J|{VJNeAR_7fKhJRN>6 zWt_R(#K%Y*B*bf?@cHzid?OPZ*R-q|Qfe~~OJ_JdGiQ7n#BAiBxx@R}2R5LKwiNib zwJkq!XF{bkuSv~rHmSN0W~1w3?WueMPz z$jMOtJF#s}Y?8nbo644w2lP(7Qu7&Lh$$GG`0$>%lOd6E?`G%PjEacEho#sgfuXFQ zeWOb_8W?6gy!z_Ez}=wqxl_z;<{4*T7^Tcp+APW)4b*$#gTTy%593WQI2=|m1}X&# zr~*UES~!4j_tt_NTU!sW)0HX9eYhc;yFK@KDXZ;sPq04($@Y}pt$UkYuJ7O_vMLEmi+4c;Fw95@=>aR7Nxv47?$ZTZtr_3n+(gx*XR_$~kWo+{1#Gb1SXD%3= zxUfOl`S7wtWoKq1=fesh37M0pZl2)bJ;7rH6tf4a>N|5`!^DM*Gq+1kkOZQXHnx<$ zq^B8D6K1Bx%Ze~iP)OohG zIi_9y5O&xt%^k>mro%ENocDx`AG1-use^*|uq^-bNuC4jCC(rnYh>Cs(MmB?|tDnm{ Hr-UW|v$x^l diff --git a/tests/snapshots/nanos_erc721_transfer/00000.png b/tests/snapshots/nanos_erc721_transfer/00000.png deleted file mode 100644 index 2994983f84cf76ab587bac356d5afe297c0e0632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcyxba4!+V0?SfW}LV) zm52AlpJ_b2>@)W(0ade0N=>L#7k{_%p*K+Izf)VA1-(C=WRZ-BymEd z+ycg#=gr>vKI=O3DZ$93W?LaYQ1QY>pxO%?Y&v*&<#TnOD>)zbXF6qTB9pT3N&!&M z3dWi9&EBnj=ymuLi`0al9u7OFx80vqnaz8`W+_{Wop8XrwTVif&jYR3;ytm)i1F!7 zQ=gO!i4>qCfqpe|KCDm-Wb*LtR{=T`$TJ28kKEHk+7p0Y?mPqLwy~wK0ofM}OcabW z9iDmf0+pZOF#@XZFL)Sha%TzS%!Lnq%!RyR`IX+l PXlL+r^>bP0l+XkKp5EPW diff --git a/tests/snapshots/nanos_erc721_transfer/00001.png b/tests/snapshots/nanos_erc721_transfer/00001.png deleted file mode 100644 index 6ff345b740b4a214d00be4aa68764e985e20cd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfhh@x;TbZFupx_vG0n3h|9st zVZZ*{|FHYwCYbCiG%a?5!;!M7KNPJ!b&3Pa-fTJTCv@6|r6pDf%#xAH-;_MFtHEHE z$cZ^i9G*>hK*O$na(uRZ`ov^1JyMr zST3=cSUIUTaOn?a%?Uq)x&(82e1P7IPT>P`Rc8vCOtY2@I+Ku`qFLwN<@YSuXvvF| ld0q|?%dSQ&yM~0mF_ySC=ANCH)&UH022WQ%mvv4FO#rmFqe%b& diff --git a/tests/snapshots/nanos_erc721_transfer/00002.png b/tests/snapshots/nanos_erc721_transfer/00002.png deleted file mode 100644 index 36ec626b410aa243eadc783ac3fd5ffb3c2a58dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFff&Sx;TbZFupw)nD;1(!R6p( zvAzFUzq|AAs){)}!^Y!~26NfeAO7c63U7#i?J=JF)kmoPuRy@LTZ=Z&^L(^{pIiP* z&*60(8tYdiIzRK4nlMv}ZDuc9O2&+oWo#*NXFJ1HjZG9jC-a`Tu;F6E83kigh0mw_ z_N;F6e5Ng| zrDQlf3+6qs#>B@cnAvE(o5Rj)4QFm=J3P~rn(#B-RG~QcVHC4byScLSVN=GZix_7f zmIg{DJp{34PhR*i>7i3w+u_+@F=a_9zWh~;Gy7SlWb>Z5bH(7qovRxZKd)p|) zmQv@+Y~&A&C|{t0#Vk|S15E~63yhYwHr|>3z-YN-aPooy&=hT;g03^bQ1byg;)=n^ zHDLE>8#y0VF*aQT6xB8|QP>PL$(HF<;&w5<-P;OoY;8TfPFJQZ7Z|Da3<0qUWyjUt R3IkIjgQu&X%Q~loCIHci8(9DV diff --git a/tests/snapshots/nanos_erc721_transfer/00003.png b/tests/snapshots/nanos_erc721_transfer/00003.png deleted file mode 100644 index b656cdff301084d3d91fc5796c44c5723913bfa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcWGx;TbZFupw)SR@@T;(V}K zGwDC~G4?}Mo$G9+ZcS0TojU2V?!U|0o^#^5tBy`xSEbr{`L#g6x?77@$9X>bB4xJk zvbLYTt3#y=FT2tFOATi(8Km$@O<0(CqK7R-?rf{O>Shy#X>8E0N>IHP1NHK8&^ zd|v3`36^)u9!i=j00nMlIy|e-j7VwY;XPq9srPamGf1_pWJ*RwiS+V(pbk~(<@Kft zpR@FAlqIFw&NKoQ_OvNFGaFg+I;R1R&tRGI9jL5|_rxC|Al?dO=Re-dmg48{*4Fl& zWr{iPi8=Ekn2qwy?wKeQR}~qV?73N??0op;Nua4|kE@ML=FAIWHo7kya4*{-EmHz$ zZuglCiwQp$wz;O6$eg%fkm7cDf+Wy~CT~vMxzcbZ!{OPoHs+ZZ3luh+=s;YdV`LAJ z*vq~B1P{owpulK2GvVh1wiKXQmO%X{bU;2+ES`ME-?V1d89!zt=VuETXD$V!X10`R zY{0PNOUb+WW3p7ng2ahGwM`X@gPD0v{!Epc@N)&X{KX9?cqFC7X6^=ZHv!$Y9H?eO zn<6j}e=35k%)e}q@-EBanXz6?3)Fs~6Ebd0{JEt~cBX4urbF5Z9Z=u_L)Y!F{N)YG zn@#ShY&Lmg@<&U&j(w*7GM(C>74Bv3&a0!m3Q^ f<Y0w#W<@%`Lny!1W75indZDFE*PBj;XN_u?77I3JiI6Vq#Fe@gHZFCD-CC6zKsbz ztg^XgTd^ze37{$&6NTan1}FXm9abyS&qw{})V_Vxw#+l5LDH#^Kd!Jr2n-+b0 zrxMt3BNGK<6CWdIW+Qgq$sqG?a%ilVny_;ZTgpFipj{EXC-&T`xY}^0$k51Sk5Iro zsR@yKYZzxP?_JK8GOc^^!iSlUJ=@xzK9ZVHdFzK4khMr^!cQ-UN}!hh%LNLb13@M? zpK$~_$5aOBKrr*OvZ=!7tmncr<-MOxm%0aX0}KI`0KEou4+Powol%z#ztnK%)9q|BH)I`}0Nf3KmVC=ke%+4a=0t+g>bDpJZXv-WpzY z=;2BZjq0o$6MhCT8#yx@*PJ?v9MUpwoIbTT^G7hq(8UjrOMTl` zl%Mjh?aYM_x<=K}H=++8p1km(+}byuZER9%GacL7JfArmnfMqrgRHw?a3bf#1%s1+ zX7KPz^WIl;KCH5to$+Z5vr#+yrG_&*TZ?&5$jJ5Z@IDud%XWD7VL?hpMeajakhHq< z;qF#(BNG`pplW@wIG`;b7D!E~^mVYj4hoB$6E)tePoFpk_2K1ykIG})D1o?8pOrY~^ z*ZxW6J>dfiFL1B}NqKM>0A(l4Olf0F+2;ccqO?gnTc<{6&Pb_q1$yY>hvmSS**-OT z;?7-dj?aQq?x}uG3FY%}kg=A5{r%=q-f j7BN2m+=m~o{9`OD<=Mer>@gXb02w@8{an^LB{Ts5=zt|t diff --git a/tests/snapshots/nanos_erc721_transfer/00006.png b/tests/snapshots/nanos_erc721_transfer/00006.png deleted file mode 100644 index f7676d0182d5414f820694dccdf67937e849d64c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 840 zcmX9-eMnPL6yKPxlD&isbx)H`G0O_?_pkrh1QRhuGW2{EIklqrej{>jdrT;9E$!+Gca&hPiT?Zw)BB8&_Z z2n2+>Ag2^gGkmh$V%R^$8xsWrQMfuM>x@abI#p7dP`RI)O0Z09hyI|xnvO57I3=#B zhYiNd9j%+$`z+s`RYpf=Rl(A_GNh;T`LZ*rJ40!Sm|PCE48=cMEEAy^f;&oNBE?Vc z^{|j_N|W6v7oqTZGjBLcH2&>dw?Ab7EvPfB~Ju@DP-fgAnqHV zz_F*-diF?Xv`v z)zcp1mII(XF#kS>`RwE^WNSg zF}hmoI>JtB-PY!hY(7SU$@h-!j6KG+Jcigf&d4_sK_{C-XIn5tV>f`Bz07@kAWRC< z5Ey_4_l(5SVO%vqaj@)6Us^pUOC`Ywg(B3+8(eDl$cNZ}v&IS(K4<3d@gv%nToD4` ztJAVJ{yq6-JoN=w%Jx$2E=P(Bb18J58+<|esU0g}Cx9w&K<*;o;yhz;k9l^ORP);f&aCrn2GmjTLImnuZO&-+r91xt8c<#% diff --git a/tests/snapshots/nanos_erc721_transfer/00007.png b/tests/snapshots/nanos_erc721_transfer/00007.png deleted file mode 100644 index 9eeff67dddcada1d76dd22bea2465359806d2435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmYk5ZAcSw9LF~<4%7WL(#$&zraer`C(c=ll$)o{5l$(Erlk%JnGd99nbKa2kQ<`X zsimBcn2HaP2_s0dM6T#wEK!q4vut~DL8$oY$+}D!rB(3@cGtz;`Uaf&ddhjysr4?h>ZJbgc#I0j|j$EHx$37m(HL7jn{?~)J5BeFXliV^O9kF;R4lDUyoaw-s+JoUzoizU6 zvvjv->XFMN0Bc(l4h+iS1rG4>GieuIV9R82=5-cE6@83jf(dX0VzQDK3Any27)<*{ zxo5dTSaF`TzJT&#AtH_QEjYssxC@}P4*(KF{ne5a8Z`^u=xG@3T7+Lo Op)jVK(k4=i@BahK?Q|Rf diff --git a/tests/snapshots/nanos_erc721_transfer/00008.png b/tests/snapshots/nanos_erc721_transfer/00008.png deleted file mode 100644 index c830a35aecb039d4f815a86af2a9acd8282243a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfiG8x;TbZFupx_J5Sl2!TI3f z#vlLX&#=3_h&8pD^yY@NX7|pJ&ihrWotHPR2#BXRd5e0_iYWbHZjq|9t znt6EhFFG7u8ccOP(Z#a{go|3UceZd_Qh2mQq*;4Yv@}wqMzMaFvYtC(MWHP60 z9plW|t^Fw(7H>nCjpR8szDrHG*#q={mPE=jU?|3$@&J9Wuvrplo^ZgnHHdxWI keOQvgz1%t4LiUz@(B*%fu{C=Z0+SPir>mdKI;Vst06OylmH+?% diff --git a/tests/snapshots/nanos_erc721_transfer/00009.png b/tests/snapshots/nanos_erc721_transfer/00009.png deleted file mode 100644 index 11c298f502d78adcf62a35b9cab2e6523a1f34de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfbnTba4!+V0?QpFz>blgY!Xm z$36cWe;(xOj_SzSo^k7n=aRXC_NB_5FQcyTO6TsHc%(#@>C`gaTO~jtDY1Jm+Fk~+ zObO4HNa2%Wn^}MDgTu4KrV5*Zd^r;Z=fi$!*Bj1gubngVjJGL}+su~2HZzvlXnyKb z?QDw)l2Ra4IlXP}nRSWk#wKr4>b#%rj{KoxWb#I8g5?B9wwe5w8+eS^c~2;Oc3_(c zr2kB1lbUezzNA^)r%FJ znSmxYoNTrZa7m? zWMpzj=gx@>26JPWjm)|8PXbv$SLK5Z`T0$XFQu)G-3Vv{&?hz7yeIBNSGqkjfw(ND z>5MV=<)v%q#2)s0)^8GX^wiChdu9XO5vl7leVak-ty4Em-=r*4W=!3+ruF3|v1Q)T jGxTy3cWnW3>KM-WtzW%&o?Ip{Vi`PL{an^LB{Ts5TJzP~ diff --git a/tests/snapshots/nanos_erc721_transfer/00010.png b/tests/snapshots/nanos_erc721_transfer/00010.png deleted file mode 100644 index 0a287c791068a3e3598b4c2155e958006f235d91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmX|9e@GKy7~Wi5BD)0{>Mq319~faN-)=*~aR# zGUZxUIs`GX#eyhSA~)z(7tL9g5J9r{Mg`y9clUnJ_q^}>Ja5MtOA($x zBuFF@+G*?9bHt8``Zduc}1KEq^I`>&m}vEAJZ0k6k} zJ`7J{R(AfzYbFqRHj->z8cM#CU!agK4jp>6bSqPFI}%8{HW?X=Kk#D4%h!=PXlKk; z6rI+pe59Nmz$ixw@<`cpM>gESxn9Acx05O#--S`Di$cqcSM7seQnhgyH`oC`Y~#0e z*{dd+o^lGb9Pw@UF^ZXW=rJ}`Ni`G97K0It5|MLZc5N(jP)Q`Q$=W(T2d~gtKRX4t zR;3}BS*D6$UiND?GYwpN(>)=)UXLn*)+}F!m}(TGu6HIDmdFqvYDh%ncDW1{2HCao zNLetHM@UlL-j^TV;Cq}(7%FxGw)^RDzZ8?S&_5z&yJ?f1tb=ot-6O(fD7RKGekyUkpe0JMPYAKs*&4k)wrDyvrukO} z0CF~!1sTJ!W#KF`6r=hdf&&Xztz9Nn296fA+4ZLAd1`f33fJ5Yebj{W%e?rdg6E0t?alM+q2IDbTUluPLb)HNUSc*` KjN>OR-uwgM6JvY; diff --git a/tests/snapshots/nanos_erc721_transfer/00011.png b/tests/snapshots/nanos_erc721_transfer/00011.png deleted file mode 100644 index 8867437398c01a71e89db6514d605a9344eeba88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfeZRba4!+V0?QpFi+W?!TI3v z#)|*UpPQ{STzI|1nqrSkocnT}Q2k3!q1#bcgw^L(O**oTkMZdhF)*vGnZGJ2x~t(+ z9&huR<~GM?@!3CIo}D&TFgEcqns1`ud|1WURN=Fq`8uCxYg3l7fe_owm5ejr7d=+b zt^g_nq0jD8YBN_RPLc#tt9O2kP04Ub%W!CG^GwV7A;f!vhc}qn$oVky%;{1SDlZtE z__MgpF>TU9#+l_iKTbB?qvCv6;q!JWIiNay(>+%j&g4&&l$roUm0+`D^J>&3rPyXp zPibqjSNlBajJMHzpwbgDXAk}lWHvf+;e(iwNzB>a`Rg8fpS)mjlE(<>bfCLGJG8L@ zwRi$u^2`zH4W?6@*;2OMztC`II#AU9V#Aru&FQ=+a>SLL4;wQ+UB@`{?IEcNJFRzQ zJEZNlkd%7I_bw&lh8|FScXL08wTf|OKg$%LmY67@f4s9Dp3Q97w2LhztYm}k+k{fy z6Kh^2MBh4iN@_yn&4b&vH0NeAo!YhrNU`6(#J6p!Y>v0}jcMPwB`0nu?qiNx35-Ps MPgg&ebxsLQ06PWH3IG5A diff --git a/tests/snapshots/nanos_erc721_transfer/00012.png b/tests/snapshots/nanos_erc721_transfer/00012.png deleted file mode 100644 index 3158ea690450f2b8c85c12004b002b02e7b02539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfj3Yx;TbZFupw)IO&lagUi8i zu2=uq*Yz9Se)!g*VK4JBV-C&WKWoz`S-k14IyUoMm0IWFIu4EW+>4RtRSIvkw{qJ) z-k{BNYMKd;QTzYAL~p5OZSof#4llR(=qVMJ($*$Ab77)uTE-4V=fhVFPUOsN*u=_P zev*f``Ha_Lh0T`?P5_w@bmoG=iJGR?wG$oFmOfn9wp(f$o7BG*4~6I6nAJ9Y(#_4S zx*0Q4Cd`zYu+#gQ-puxsHA;+6txb81;;$K;SOc`)`Eb{n3mcS-P1XR-G*4O9=9zYy zWlA>hi9IogRX%T%Vw>52vEj_tR;Wnvk2E8bnCKl>8qOS+%J|{VJNeAR_7fKhJRN>6 zWt_R(#K%Y*B*bf?@cHzid?OPZ*R-q|Qfe~~OJ_JdGiQ7n#BAiBxx@R}2R5LKwiNib zwJkq!XF{bkuSv~rHmSN0W~1w3?WueMPz z$jMOtJF#s}Y?8nbo644w2lP(7Qu7&Lh$$GG`0$>%lOd6E?`G%PjEacEho#sgfuXFQ zeWOb_8W?6gy!z_Ez}=wqxl_z;<{4*T7^Tcp+APW)4b*$#gTTy%593WQI2=|m1}X&# zr~*UES~!4j_tt_NTU!sW)0HX9eYhc;yFK@KDXZ;sPq04($@Y}pt$UkYuJ7O_vMLEmi+4c;Fw95@=>aR7Nxv47?$ZTZtr_3n+(gx*XR_$~kWo+{1#Gb1SXD%3= zxUfOl`S7wtWoKq1=fesh37M0pZl2)bJ;7rH6tf4a>N|5`!^DM*Gq+1kkOZQXHnx<$ zq^B8D6K1Bx%Ze~iP)OohG zIi_9y5O&xt%^k>mro%ENocDx`AG1-use^*|uq^-bNuC4jCC(rnYh>Cs(MmB?|tDnm{ Hr-UW|v$x^l diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00000.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00000.png deleted file mode 100644 index 2994983f84cf76ab587bac356d5afe297c0e0632..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcyxba4!+V0?SfW}LV) zm52AlpJ_b2>@)W(0ade0N=>L#7k{_%p*K+Izf)VA1-(C=WRZ-BymEd z+ycg#=gr>vKI=O3DZ$93W?LaYQ1QY>pxO%?Y&v*&<#TnOD>)zbXF6qTB9pT3N&!&M z3dWi9&EBnj=ymuLi`0al9u7OFx80vqnaz8`W+_{Wop8XrwTVif&jYR3;ytm)i1F!7 zQ=gO!i4>qCfqpe|KCDm-Wb*LtR{=T`$TJ28kKEHk+7p0Y?mPqLwy~wK0ofM}OcabW z9iDmf0+pZOF#@XZFL)Sha%TzS%!Lnq%!RyR`IX+l PXlL+r^>bP0l+XkKp5EPW diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00001.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00001.png deleted file mode 100644 index 6ff345b740b4a214d00be4aa68764e985e20cd02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfhh@x;TbZFupx_vG0n3h|9st zVZZ*{|FHYwCYbCiG%a?5!;!M7KNPJ!b&3Pa-fTJTCv@6|r6pDf%#xAH-;_MFtHEHE z$cZ^i9G*>hK*O$na(uRZ`ov^1JyMr zST3=cSUIUTaOn?a%?Uq)x&(82e1P7IPT>P`Rc8vCOtY2@I+Ku`qFLwN<@YSuXvvF| ld0q|?%dSQ&yM~0mF_ySC=ANCH)&UH022WQ%mvv4FO#rmFqe%b& diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00002.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00002.png deleted file mode 100644 index 36ec626b410aa243eadc783ac3fd5ffb3c2a58dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFff&Sx;TbZFupw)nD;1(!R6p( zvAzFUzq|AAs){)}!^Y!~26NfeAO7c63U7#i?J=JF)kmoPuRy@LTZ=Z&^L(^{pIiP* z&*60(8tYdiIzRK4nlMv}ZDuc9O2&+oWo#*NXFJ1HjZG9jC-a`Tu;F6E83kigh0mw_ z_N;F6e5Ng| zrDQlf3+6qs#>B@cnAvE(o5Rj)4QFm=J3P~rn(#B-RG~QcVHC4byScLSVN=GZix_7f zmIg{DJp{34PhR*i>7i3w+u_+@F=a_9zWh~;Gy7SlWb>Z5bH(7qovRxZKd)p|) zmQv@+Y~&A&C|{t0#Vk|S15E~63yhYwHr|>3z-YN-aPooy&=hT;g03^bQ1byg;)=n^ zHDLE>8#y0VF*aQT6xB8|QP>PL$(HF<;&w5<-P;OoY;8TfPFJQZ7Z|Da3<0qUWyjUt R3IkIjgQu&X%Q~loCIHci8(9DV diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00003.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00003.png deleted file mode 100644 index b656cdff301084d3d91fc5796c44c5723913bfa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfcWGx;TbZFupw)SR@@T;(V}K zGwDC~G4?}Mo$G9+ZcS0TojU2V?!U|0o^#^5tBy`xSEbr{`L#g6x?77@$9X>bB4xJk zvbLYTt3#y=FT2tFOATi(8Km$@O<0(CqK7R-?rf{O>Shy#X>8E0N>IHP1NHK8&^ zd|v3`36^)u9!i=j00nMlIy|e-j7VwY;XPq9srPamGf1_pWJ*RwiS+V(pbk~(<@Kft zpR@FAlqIFw&NKoQ_OvNFGaFg+I;R1R&tRGI9jL5|_rxC|Al?dO=Re-dmg48{*4Fl& zWr{iPi8=Ekn2qwy?wKeQR}~qV?73N??0op;Nua4|kE@ML=FAIWHo7kya4*{-EmHz$ zZuglCiwQp$wz;O6$eg%fkm7cDf+Wy~CT~vMxzcbZ!{OPoHs+ZZ3luh+=s;YdV`LAJ z*vq~B1P{owpulK2GvVh1wiKXQmO%X{bU;2+ES`ME-?V1d89!zt=VuETXD$V!X10`R zY{0PNOUb+WW3p7ng2ahGwM`X@gPD0v{!Epc@N)&X{KX9?cqFC7X6^=ZHv!$Y9H?eO zn<6j}e=35k%)e}q@-EBanXz6?3)Fs~6Ebd0{JEt~cBX4urbF5Z9Z=u_L)Y!F{N)YG zn@#ShY&Lmg@<&U&j(w*7GM(C>74Bv3&a0!m3Q^ f<Y0w#W<@%`Lny!1W75indZDFE*PBj;XN_u?77I3JiI6Vq#Fe@gHZFCD-CC6zKsbz ztg^XgTd^ze37{$&6NTan1}FXm9abyS&qw{})V_Vxw#+l5LDH#^Kd!Jr2n-+b0 zrxMt3BNGK<6CWdIW+Qgq$sqG?a%ilVny_;ZTgpFipj{EXC-&T`xY}^0$k51Sk5Iro zsR@yKYZzxP?_JK8GOc^^!iSlUJ=@xzK9ZVHdFzK4khMr^!cQ-UN}!hh%LNLb13@M? zpK$~_$5aOBKrr*OvZ=!7tmncr<-MOxm%0aX0}KI`0KEou4+Powol%z#ztnK%)9q|BH)I`}0Nf3KmVC=ke%+4a=0t+g>bDpJZXv-WpzY z=;2BZjq0o$6MhCT8#yx@*PJ?v9MUpwoIbTT^G7hq(8UjrOMTl` zl%Mjh?aYM_x<=K}H=++8p1km(+}byuZER9%GacL7JfArmnfMqrgRHw?a3bf#1%s1+ zX7KPz^WIl;KCH5to$+Z5vr#+yrG_&*TZ?&5$jJ5Z@IDud%XWD7VL?hpMeajakhHq< z;qF#(BNG`pplW@wIG`;b7D!E~^mVYj4hoB$6E)tePoFpk_2K1ykIG})D1o?8pOrY~^ z*ZxW6J>dfiFL1B}NqKM>0A(l4Olf0F+2;ccqO?gnTc<{6&Pb_q1$yY>hvmSS**-OT z;?7-dj?aQq?x}uG3FY%}kg=A5{r%=q-f j7BN2m+=m~o{9`OD<=Mer>@gXb02w@8{an^LB{Ts5=zt|t diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00006.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00006.png deleted file mode 100644 index f7676d0182d5414f820694dccdf67937e849d64c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 840 zcmX9-eMnPL6yKPxlD&isbx)H`G0O_?_pkrh1QRhuGW2{EIklqrej{>jdrT;9E$!+Gca&hPiT?Zw)BB8&_Z z2n2+>Ag2^gGkmh$V%R^$8xsWrQMfuM>x@abI#p7dP`RI)O0Z09hyI|xnvO57I3=#B zhYiNd9j%+$`z+s`RYpf=Rl(A_GNh;T`LZ*rJ40!Sm|PCE48=cMEEAy^f;&oNBE?Vc z^{|j_N|W6v7oqTZGjBLcH2&>dw?Ab7EvPfB~Ju@DP-fgAnqHV zz_F*-diF?Xv`v z)zcp1mII(XF#kS>`RwE^WNSg zF}hmoI>JtB-PY!hY(7SU$@h-!j6KG+Jcigf&d4_sK_{C-XIn5tV>f`Bz07@kAWRC< z5Ey_4_l(5SVO%vqaj@)6Us^pUOC`Ywg(B3+8(eDl$cNZ}v&IS(K4<3d@gv%nToD4` ztJAVJ{yq6-JoN=w%Jx$2E=P(Bb18J58+<|esU0g}Cx9w&K<*;o;yhz;k9l^ORP);f&aCrn2GmjTLImnuZO&-+r91xt8c<#% diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00007.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00007.png deleted file mode 100644 index 9eeff67dddcada1d76dd22bea2465359806d2435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 888 zcmYk5ZAcSw9LF~<4%7WL(#$&zraer`C(c=ll$)o{5l$(Erlk%JnGd99nbKa2kQ<`X zsimBcn2HaP2_s0dM6T#wEK!q4vut~DL8$oY$+}D!rB(3@cGtz;`Uaf&ddhjysr4?h>ZJbgc#I0j|j$EHx$37m(HL7jn{?~)J5BeFXliV^O9kF;R4lDUyoaw-s+JoUzoizU6 zvvjv->XFMN0Bc(l4h+iS1rG4>GieuIV9R82=5-cE6@83jf(dX0VzQDK3Any27)<*{ zxo5dTSaF`TzJT&#AtH_QEjYssxC@}P4*(KF{ne5a8Z`^u=xG@3T7+Lo Op)jVK(k4=i@BahK?Q|Rf diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00008.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00008.png deleted file mode 100644 index c830a35aecb039d4f815a86af2a9acd8282243a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfiG8x;TbZFupx_J5Sl2!TI3f z#vlLX&#=3_h&8pD^yY@NX7|pJ&ihrWotHPR2#BXRd5e0_iYWbHZjq|9t znt6EhFFG7u8ccOP(Z#a{go|3UceZd_Qh2mQq*;4Yv@}wqMzMaFvYtC(MWHP60 z9plW|t^Fw(7H>nCjpR8szDrHG*#q={mPE=jU?|3$@&J9Wuvrplo^ZgnHHdxWI keOQvgz1%t4LiUz@(B*%fu{C=Z0+SPir>mdKI;Vst06OylmH+?% diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00009.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00009.png deleted file mode 100644 index 84d25eba887a7be381cbce094ab78906813023d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmV;F0c-w=P)TZe$KNrE=nNTRJ_ z@F5%8QUru2OM%Qu3S@REZe&PtBXg4inO%w-nJ0TOgA~a8k<5+EE(J0_CUcSknWq}e zK!z0U-woQ*Ud%#<6v*79IFV`JUaUZ-{oY_EGNfof_hL3Or1)=AoX9+xfN+%pnKqFW z$XpGsQXtbNBSVU-!KW0+v`NX3;?v+Q1u|`NGNgDLyvdNFO)dp8Z-Y-Vq-c{$fy^fX z;VK0(kCoyebCO~wb4YO_vrBQ1d9)PBTnPv>OM%QT1v0x7$lRnr<|YL)vl+Cd2?#Sv zv6DGTv6Hz;fy_yYoy?2|vywrE6o(YZAVZ2DkwJzOGa9sSDUeyspe^mij8YtA4l<blgY!Xm z$36cWe;(xOj_SzSo^k7n=aRXC_NB_5FQcyTO6TsHc%(#@>C`gaTO~jtDY1Jm+Fk~+ zObO4HNa2%Wn^}MDgTu4KrV5*Zd^r;Z=fi$!*Bj1gubngVjJGL}+su~2HZzvlXnyKb z?QDw)l2Ra4IlXP}nRSWk#wKr4>b#%rj{KoxWb#I8g5?B9wwe5w8+eS^c~2;Oc3_(c zr2kB1lbUezzNA^)r%FJ znSmxYoNTrZa7m? zWMpzj=gx@>26JPWjm)|8PXbv$SLK5Z`T0$XFQu)G-3Vv{&?hz7yeIBNSGqkjfw(ND z>5MV=<)v%q#2)s0)^8GX^wiChdu9XO5vl7leVak-ty4Em-=r*4W=!3+ruF3|v1Q)T jGxTy3cWnW3>KM-WtzW%&o?Ip{Vi`PL{an^LB{Ts5TJzP~ diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00011.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00011.png deleted file mode 100644 index 0a287c791068a3e3598b4c2155e958006f235d91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmX|9e@GKy7~Wi5BD)0{>Mq319~faN-)=*~aR# zGUZxUIs`GX#eyhSA~)z(7tL9g5J9r{Mg`y9clUnJ_q^}>Ja5MtOA($x zBuFF@+G*?9bHt8``Zduc}1KEq^I`>&m}vEAJZ0k6k} zJ`7J{R(AfzYbFqRHj->z8cM#CU!agK4jp>6bSqPFI}%8{HW?X=Kk#D4%h!=PXlKk; z6rI+pe59Nmz$ixw@<`cpM>gESxn9Acx05O#--S`Di$cqcSM7seQnhgyH`oC`Y~#0e z*{dd+o^lGb9Pw@UF^ZXW=rJ}`Ni`G97K0It5|MLZc5N(jP)Q`Q$=W(T2d~gtKRX4t zR;3}BS*D6$UiND?GYwpN(>)=)UXLn*)+}F!m}(TGu6HIDmdFqvYDh%ncDW1{2HCao zNLetHM@UlL-j^TV;Cq}(7%FxGw)^RDzZ8?S&_5z&yJ?f1tb=ot-6O(fD7RKGekyUkpe0JMPYAKs*&4k)wrDyvrukO} z0CF~!1sTJ!W#KF`6r=hdf&&Xztz9Nn296fA+4ZLAd1`f33fJ5Yebj{W%e?rdg6E0t?alM+q2IDbTUluPLb)HNUSc*` KjN>OR-uwgM6JvY; diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00012.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00012.png deleted file mode 100644 index 8867437398c01a71e89db6514d605a9344eeba88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfeZRba4!+V0?QpFi+W?!TI3v z#)|*UpPQ{STzI|1nqrSkocnT}Q2k3!q1#bcgw^L(O**oTkMZdhF)*vGnZGJ2x~t(+ z9&huR<~GM?@!3CIo}D&TFgEcqns1`ud|1WURN=Fq`8uCxYg3l7fe_owm5ejr7d=+b zt^g_nq0jD8YBN_RPLc#tt9O2kP04Ub%W!CG^GwV7A;f!vhc}qn$oVky%;{1SDlZtE z__MgpF>TU9#+l_iKTbB?qvCv6;q!JWIiNay(>+%j&g4&&l$roUm0+`D^J>&3rPyXp zPibqjSNlBajJMHzpwbgDXAk}lWHvf+;e(iwNzB>a`Rg8fpS)mjlE(<>bfCLGJG8L@ zwRi$u^2`zH4W?6@*;2OMztC`II#AU9V#Aru&FQ=+a>SLL4;wQ+UB@`{?IEcNJFRzQ zJEZNlkd%7I_bw&lh8|FScXL08wTf|OKg$%LmY67@f4s9Dp3Q97w2LhztYm}k+k{fy z6Kh^2MBh4iN@_yn&4b&vH0NeAo!YhrNU`6(#J6p!Y>v0}jcMPwB`0nu?qiNx35-Ps MPgg&ebxsLQ06PWH3IG5A diff --git a/tests/snapshots/nanos_erc721_transfer_with_eth/00013.png b/tests/snapshots/nanos_erc721_transfer_with_eth/00013.png deleted file mode 100644 index 3158ea690450f2b8c85c12004b002b02e7b02539..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 582 zcmeAS@N?(olHy`uVBq!ia0vp^4M42G!3HF6DHW(PFfj3Yx;TbZFupw)IO&lagUi8i zu2=uq*Yz9Se)!g*VK4JBV-C&WKWoz`S-k14IyUoMm0IWFIu4EW+>4RtRSIvkw{qJ) z-k{BNYMKd;QTzYAL~p5OZSof#4llR(=qVMJ($*$Ab77)uTE-4V=fhVFPUOsN*u=_P zev*f``Ha_Lh0T`?P5_w@bmoG=iJGR?wG$oFmOfn9wp(f$o7BG*4~6I6nAJ9Y(#_4S zx*0Q4Cd`zYu+#gQ-puxsHA;+6txb81;;$K;SOc`)`Eb{n3mcS-P1XR-G*4O9=9zYy zWlA>hi9IogRX%T%Vw>52vEj_tR;Wnvk2E8bnCKl>8qOS+%J|{VJNeAR_7fKhJRN>6 zWt_R(#K%Y*B*bf?@cHzid?OPZ*R-q|Qfe~~OJ_JdGiQ7n#BAiBxx@R}2R5LKwiNib zwJkq!XF{bkuSv~rHmSN0W~1w3?WueMPz z$jMOtJF#s}Y?8nbo644w2lP(7Qu7&Lh$$GG`0$>%lOd6E?`G%PjEacEho#sgfuXFQ zeWOb_8W?6gy!z_Ez}=wqxl_z;<{4*T7^Tcp+APW)4b*$#gTTy%593WQI2=|m1}X&# zr~*UES~!4j_tt_NTU!sW)0HX9eYhc;yFK@KDXZ;sPq04($@Y}pt$UkYuJ7O_vMLEmi+4c;Fw95@=>aR7Nxv47?$ZTZtr_3n+(gx*XR_$~kWo+{1#Gb1SXD%3= zxUfOl`S7wtWoKq1=fesh37M0pZl2)bJ;7rH6tf4a>N|5`!^DM*Gq+1kkOZQXHnx<$ zq^B8D6K1Bx%Ze~iP)OohG zIi_9y5O&xt%^k>mro%ENocDx`AG1-use^*|uq^-bNuC4jCC(rnYh>Cs(MmB?|tDnm{ Hr-UW|v$x^l diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00000.png b/tests/snapshots/nanox_erc1155_batch_transfer/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*4jdEx%&iQh`U-~093w7vdJ?lRrqNB>N3JH>PJYu$DY(ZJN4b%%?N zJ!LxUT>tm#>P>%hCTMS|Um13wKlYXz_u17~`%}{9r}LKndz7;}zFF5Sv(qP%@u^By z-L6@u?q9obHf>Vr%?neNA7*M#|7pUOy=_*-$sN_X{_C%4FW9d&_m_21shi6wjXOr~ z+vY8vrF-w*(mNUJw;c|8`~PL~gwB6Py#d01k4iMpz0q3sODN@7g4Q8!psSIA&u2E_ W1#e%AG3I^-346NwxvXM-Po6Gel)=X>%ZgqT2pcrAqxLI@#*kjMGTRv<>Lwf(tm zTb3ptP3MMJ^OLQ>91fRoPCP+31KOXjn;hTS3Vb?rKr(bdGXG%_-nNa4Fd>8xLdd%q zWJCAuoxithPyc&ObyFxsbtR4*wPdK6Dxtd@($FaZyNGd!b`mVLR{t)3f%F?q_28OY zipe@%$!X*4#7@GhY0}R=^$+!@)nur)te`fr(ZvYOYp01D+YwP#?ZLe3uTSc|*Rcw9oNO=)$9wDC67ih54$wqB`Q0=t^(2CQ@-BUFY8?_n3{hO?`<`|g64(GC{%a`!00000pUZl{?pA#`J4$47 zn(c_IM7~qJY(HlCBgJRsd}Gl0LxO(fC(Drg5;r~~wrD2?%$<_OP&I0)Fu1d6#hPIID(cQWpoKuaF zriMa{`UC_@E4j;z`?k2%M5keE=lV-nJC7MkZGcXApINBAjAl%(2o?*VqJ-t5NU;Dd z?pp(p+?s`;q7!7+;8J9GbJWln>3?l^pL^k-bhYvc5^R8JC%||;tt&&y4uhg*Ok4eI z{Ay)DryTco8`EA*bgGpG@2D3hzZ*Itt-K>kpoUIn+6ho=&^;q{71L8MXrAg!Eeiku n000000000000000@D6?fMi~ovoz*H~00000NkvXXu0mjfAny4` literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00004.png b/tests/snapshots/nanox_erc1155_batch_transfer/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..5262c83b9d39c0bf1560ba947748c8c5e32a1b07 GIT binary patch literal 828 zcmV-C1H=4@P)vV*Mef&v9r1 zo}-`Fer@TCrSqn_4GLeM*|>fmuyLce`0}$mi9O1rdCgQciZ&XbKE#Jt!01!9(JAKh z-p_G4@&Z4%0?Ljj_xfR1m$ZJdDLuUoPOpIJA&G~vz12;Hsg+*fvoB#n2qA=!?5wrnr(2muCta5v5dJJXqoBx zHY=>@7BnycEqzD2D4qgycaEEklKRg442LV96HARQt$?HT9EuBP`7!#VgQ+=V_#;$+UjqiFXI{5CYr>~+W$3z%v} zFOgcQX)EnHUUo&wqKMrkyaJ(j1uRU8h zr55pLaBn7$Ys*U!p00j{n$^uTEyNj4DSa8U8=vxiS@~t$?RQ+Ds^3xRvWJIm8;Hf- z22~B|Tp?KjUV(5I8-p(MO^ftAkenFrsK=5Cc(mSGtdMEWkZywa+>@Le?}HxGaZVZ+ z1x?~mN55b_ZT1x+| zcAlgElqZ^Zg`wU@e=n4*);9nlmMY&d0zwEOgb+ghEB*p8B+>Gs%7cpl0000u*>TbXYqG<>K004lyujvs}O66vZ(Hy7! z?X2Lp8hxcIQ-<%fM|<`dh(V@A?(yT(Oejw27-Glf@i)d;p0HsImLoTRZeyP9DZ7z7 zQ+2p)XlvC7DmU|Iedyhq0b=~lui19a;x_|yE6&aBHZtP-=??sfF;1V|D`L*I%M93A zUKLhcOQ#D^F0<8|7NiyOGRRq|O6Ofj%p23UWy(L zPLoXb-3X~B`_8xqPvS20q>ChT4VEIk0000000000000000002MGQaA|Y7zyBXnz0z N002ovPDHLkV1ghk*}wn* literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00006.png b/tests/snapshots/nanox_erc1155_batch_transfer/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..4211264b4f4d4f2c32b6a2a4390c415ed81ba2ab GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|`Jkba4!+nDh2#bl+hG9*4kX zv*vF2uex!1or0^NL^4Oe%HHRzU5^+nYdLPg4%DUdef!3@0!_u|s@G33X|*bGx$(5V zoV~3w;L`bb)(p?(OMUV<6n`f46omMBed5}$`tPs1*rfHIrXQW-j(?gWl)g9pOv8!l z^*Tb2dR87Y@mp5;jlW^iwIDg~!YJ=qaT$|q%1rMlroEEb5ZK0^v#FjtXnE{TSwFvHIsb=HxlQ&3!UCyywD3Ufb&%^PQ*mu2emD z;6#^K)%y?nyRK`i&3vP;ykyoJ{bLeujzniH_nIWxywXD-7+%Q0;H6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000MjqtrV%Nn6esuj!jIMi}Btw`sohxwi1&U@}K{{10Q-!s%eVxF#kF6*2U FngGM>p?d%T literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_transfer/00000.png b/tests/snapshots/nanox_erc1155_transfer/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*UtP)B3TIhpj8YW_nfadA`!U*IEG~b0D$4XW_O@V&N-#jUgn(3 zW+|oioiROpxSVsD?E1QjyKQiP-?KZ=s~z3X5T*c6^_ty*UwBV~YFRI*MZ^_9QUNwa z480U=33}e0AXovG_(L85faMOmq1WwSzQ5Vu)-E4^yo&O?cGInhHNNW6w><_}2YCCD zY6g@I+ROj08nBz=ck>uv?`&Z2^7JfWu$#_+Qh!qIUg_VyXQTiHShiN4gEo6LxaU$6 zZ!_*#xb4z<1{}}gS$Z-(zNwalnfL=w;*B+Sg4zvP`onBQE&ajNU?!{3OeZ0$!KK6t k0000000000005Wy0dz~F66uoCdH?_b07*qoM6N<$g1d>8!2kdN literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_transfer/00002.png b/tests/snapshots/nanox_erc1155_transfer/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ac2d140a0138245861a74a6a8a1173df87aa2e GIT binary patch literal 697 zcmV;q0!ICbP)M-Po6Gel)=X>%ZgqT2pcrAqxLI@#*kjMGTRv<>Lwf(tm zTb3ptP3MMJ^OLQ>91fRoPCP+31KOXjn;hTS3Vb?rKr(bdGXG%_-nNa4Fd>8xLdd%q zWJCAuoxithPyc&ObyFxsbtR4*wPdK6Dxtd@($FaZyNGd!b`mVLR{t)3f%F?q_28OY zipe@%$!X*4#7@GhY0}R=^$+!@)nur)te`fr(ZvYOYp01D+YwP#?ZLe3uTSc|*Rcw9oNO=)$9wDC67ih54$wqB`Q0=t^(2CEaktG3V{g=%Q8yo`yuf z<<^D&y^Hi~3tky8CMg7_ocnJ(*Ggc@>>0~gfV$RXpMP=mNdLVsx4d;>*M+q%_-)i+whh&FFiwH(-JtDev;fI@M zE37tu>VA4I`DbEhab;jk;5Uclg6Dc#Eo&M2)yvz81bMc|RUBR~(eRRc=bcKOr_M+A zv|QG{pRfCKn_cV~E((6!9n&I0~jY-C9Yt{DbU#4DsXwyPr z-}y)7idZ$;*BW)N-jhGsGCO0nAJbw+`QgO&3z(B*wfX|Wt~$(6969y#XvV*Mef&v9r1 zo}-`Fer@TCrSqn_4GLeM*|>fmuyLce`0}$mi9O1rdCgQciZ&XbKE#Jt!01!9(JAKh z-p_G4@&Z4%0?Ljj_xfR1m$ZJdDLuUoPOpIJA&G~vz12;Hsg+*fvoB#n2qA=!?5wrnr(2muCta5v5dJJXqoBx zHY=>@7BnycEqzD2D4qgycaEEklKRg442LV96HARQt$?HT9EuBP`7!#VgQ+=V_#;$+UjqiFXI{5CYr>~+W$3z%v} zFOgcQX)EnHUUo&wqKMrkyaJ(j1uRU8h zr55pLaBn7$Ys*U!p00j{n$^uTEyNj4DSa8U8=vxiS@~t$?RQ+Ds^3xRvWJIm8;Hf- z22~B|Tp?KjUV(5I8-p(MO^ftAkenFrsK=5Cc(mSGtdMEWkZywa+>@Le?}HxGaZVZ+ z1x?~mN55b_ZT1x+| zcAlgElqZ^Zg`wU@e=n4*);9nlmMY&d0zwEOgb+ghEB*p8B+>Gs%7cpl0000?N zx7K<$yRJ*NsD5m-F5=5rb=CabjitAbr`CF(vi5g3kJ4b&-Wf>y&T`g1hu>+DiuUVH zi<=)5By|BYSt%o#Ka`)GFpbyPWG%iMB&4C{aAc!oFM!JN5^?aUd!PiJdJ>E{d*(T_ z19q)}QM=Sy*Lsa=U_0O*-<01#c#XgI7)l5sgpj{DYN$Nt#afEcBc%q}#qFfiS#PTU zQ7^-Dti>K(1VcMSS`494ZBcd8u0=g8PUV0b+dA%4J{@m&3`H(MnYSb))=ECmO&F1` zw#Zw?-Szc{;SeblG0!oO=;gQ=2QHHO3T$N49J;!K`Y_l9sA~8n=((T2`lM|SfVUFt zp5xdKkSnCVG5&h`1$b!WP5!hGmw4X}o;ea7t1l7=8_qFG)yPtBA_N54QbK%1a$VBc98M%w%>B(5CNL9uaZ(}}w zq9wXLr&?qql7Q{G-oRra&R0s%v>4ab*6um{#7hFOmumxx&&fLA^a6~w>T`K-nfZ&2L29lW9Z^hUy<|QaPX$5rP%GD>H&k`IW?N)k~+-JgH?w|d%2OF%%~C43_JNP_~84q^We z2*0{f*(GT2V(;jRy#RY9z3{QjJ$J^Asz^R7Gq6P)CWH_|2qEMV{s3eu$DjML?*sq< N002ovPDHLkV1jYydMy9| literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_transfer/00006.png b/tests/snapshots/nanox_erc1155_transfer/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..40a868db1523fc7cb83d985967d1425255b91210 GIT binary patch literal 527 zcmV+q0`UEbP)Q@-F?zOzNN_F%jMLy|1ic!G(wfHv|9x0001YzT7OOlwyqK$COeo z7Go?&s(N&>s$^AFc~?yJC8U&cmz~$bkEK9sTnLo%`iOG3WqJnRZk9sr=?2#TcycF= zcs?jUK4wmi-&W@0Tws#v+-`LaOY**V0IE3ra^1fRcijak$bTo;*85@A3V138O70T5 zF0VC}9C((kFDyg-8IJL5%TNFS0QjTR4XySOkHMQGPid}JqGPu5TbJ}3XLXCRQ`o&Q z_CBA|JYcI@Zi=q$*gTc#38s{x^WI{f(%jPH{|eTB6Bdi>e2G;?N-Q$N-x3*S%vMmn zKNgrL!#S`3Eh$Ksv7fz+eXAwVJ;^y~jVSXJtn7w*uJ^7ju`4LOYh`a2akBinWdYdA z`=Kal+~y_&kcy-8<6_1h(9PWz&6XKf#fDKH{I2p&Xe~JlZqjrz-gl$oYP|0ZF<1#% zXeAvd6N9Og?)Cd`=q1W-qOtg!T7do|l!bVy$GQK4e$}D;CqCm_{4=gfE9V#wRTMpN z0m~7`Ko@o&UX_AA5dyH7P4@sx(P>HU!>3~a000000000000000008jm`~vwIGqmm) RFV+A6002ovPDHLkV1j06?&1Id literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_transfer/00007.png b/tests/snapshots/nanox_erc1155_transfer/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..c08b576099d7f294b60455ec60a412652be6b72d GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*Qg1z7978JRyuIPb*JL2T8enoS z}PWHVG~9Mhw|xfIDM8*`IYNpBESFVjOQCY>bG7> zxe=ypUVeJsfn~p@TgP8ld>1aaUhw0N?RtLaU%y#D{lq!074}u%v*(Kj%apUO@jAbH zXZAOidt!p=w+z{$8P}d!?o_2eS=xX-F#Or;{C{WGJgc5?fq&KKe|7sFFKL{&FvDS1 zP}dj6wsiCJTPpUs^<9)UxVL%1zopr01Ui*xBvhE literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_transfer/00008.png b/tests/snapshots/nanox_erc1155_transfer/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..69bbc6035cf783400d069649ee23b5751d79e253 GIT binary patch literal 427 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=lrba4!+nDh2#v{17Gk3-LYiew5*c_9PTQ?RT5;ZA3cbC&OGm%CiOlIG4GR(DNy z#xplZ|JZVdOWjs%<}DLsIihc9rK_g4mUsTI?{@lTxH`;M3AUCFCub33yfqn~7#K9WsZvW;x6kzzuWK1 zOM8}J=RVaXD|OM9+H1Qm`&DSJ-g{%=+zkclJF6DQzjfPnZR;i9!#WrGSOZ>PVBqkN zeEZJj@SM5dT%B$fSxw9I{F=7l(-~C{p^VQiC11`k?wDA^85AoXys7gk(_Fs~Z?ru- zpNI&pIv$XCy7@!gL(#jBO`Cnb_y=>EUbL4?PUs9haY^As&%vM;abU0^gNSGRTUYut TADHucI!M^l)z4*}Q$iB};ugRw literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc1155_transfer/00009.png b/tests/snapshots/nanox_erc1155_transfer/00009.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000MjqtrV%Nn6esuj!jIMi}Btw`sohxwi1&U@}K{{10Q-!s%eVxF#kF6*2U FngGM>p?d%T literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc721_transfer/00000.png b/tests/snapshots/nanox_erc721_transfer/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*UtP)B3TIhpj8YW_nfadA`!U*IEG~b0D$4XW_O@V&N-#jUgn(3 zW+|oioiROpxSVsD?E1QjyKQiP-?KZ=s~z3X5T*c6^_ty*UwBV~YFRI*MZ^_9QUNwa z480U=33}e0AXovG_(L85faMOmq1WwSzQ5Vu)-E4^yo&O?cGInhHNNW6w><_}2YCCD zY6g@I+ROj08nBz=ck>uv?`&Z2^7JfWu$#_+Qh!qIUg_VyXQTiHShiN4gEo6LxaU$6 zZ!_*#xb4z<1{}}gS$Z-(zNwalnfL=w;*B+Sg4zvP`onBQE&ajNU?!{3OeZ0$!KK6t k0000000000005Wy0dz~F66uoCdH?_b07*qoM6N<$g1d>8!2kdN literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc721_transfer/00002.png b/tests/snapshots/nanox_erc721_transfer/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..f8ac2d140a0138245861a74a6a8a1173df87aa2e GIT binary patch literal 697 zcmV;q0!ICbP)M-Po6Gel)=X>%ZgqT2pcrAqxLI@#*kjMGTRv<>Lwf(tm zTb3ptP3MMJ^OLQ>91fRoPCP+31KOXjn;hTS3Vb?rKr(bdGXG%_-nNa4Fd>8xLdd%q zWJCAuoxithPyc&ObyFxsbtR4*wPdK6Dxtd@($FaZyNGd!b`mVLR{t)3f%F?q_28OY zipe@%$!X*4#7@GhY0}R=^$+!@)nur)te`fr(ZvYOYp01D+YwP#?ZLe3uTSc|*Rcw9oNO=)$9wDC67ih54$wqB`Q0=t^(2C&*v$ed<2GsRu-QOd6YI^Io8GR~oIe?M8i|=op&m$PVN3+ z*|L4Y^XRjc(edZfS!LF%^r?OQvFhqp?Ptz6R+xS`@bmG~k27+lfX;hZvMj_^v~Xcv zx8C9XXS1I^=6C1_X*qi$%cf$Uc#9sQ~(Q?Qg0kQLcPa`G)0|bapN&o-=0000i=W9V7rIegAy)32F zVmW78Vp=nADe|8}DW&%8^}BI56_9R)6cuYb@Uy0xV{}g%iB7*?CC&WvT+U-r2h5}H z*LrTz!c=*a4TFuZ*95Nb1$7+I5TDNI)Wj%>%WJHuD6~@jauN^EfaoY2=oEIm*L|Fp zEa2;AKpHV}^U0_tQTt6$nmrFz&w%bnY6j!AsLNd({J<&#G^sI(%oV6xB zg7jRhx(Y8^E)Oy{h7Av46z)bwO`Tx}MQP$Od!~2Ut zA3O=7(34;teiG_lEgRZMOJ6e4(>9g43PUoU62+`u9%?}JL2C8>V}W@BP~;`8kc_F` zA)qw-W@}l?W<*)~UC>R+dE$RXoOF(TBNag>pj6n`g3t_|@r7?~kWDpu9+nML&UP9d zKrKp9)vR*Tu=ShOgLM)zU1mD7JA-sECL2n<-;{)M=zc;EKX`?dxk9CCC(KQ000000MxAbr~FtvyG$izt7riio000000KhZ+0`320OjSpSLjV8(07*qoM6N<$g3Fj+ AWB>pF literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc721_transfer/00005.png b/tests/snapshots/nanox_erc721_transfer/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..0b34592c31d788e6da1abc8898b76d4288a283be GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-zba4!+nDh2#E?=_(PebCi zH)?zTPpq2$SHZX??D?4`uJ@l$7YYg5w^0PBCt-(s31ihNEv0W^p|^9Cl7jDi&q;Uo z54}A>_j;^MZrj!`dWWO_X`Fw-WRdfF--aI10`2uLn0{obZ#Y~vJF#M+-^49UG1ED# zwBHMqOrEJw%Ksx=Hm2we&^a@rx-MVX<@1Km@%EHd*_V1sw{17?ezc|kw*I~F-d0=2 z(sBl~jn=kXE$_NtyJsKw$M1&O;lI3>=ZVYyPFirq`eCm0#qIT_uUuDM2>)oCus`|j z-YH5-oX+vS!Hju}sRdo346NwxvXgj(dw?Jx(O1uyRF(z*}30SEXNL>b%fS$_N={s=(>fP*;-Kb zmey)SV!>+Jn|8wE_Ei_u!)oq?2RD|x_x-KxXH!R6gX$OiPG>j;wGOqWpphAG+3TmE za#eSi1>k-4)0000000000000000Jix9XFg{VoFH$! P00000NkvXXu0mjfsA$6N literal 0 HcmV?d00001 diff --git a/tests/snapshots/nanox_erc721_transfer/00007.png b/tests/snapshots/nanox_erc721_transfer/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000MjqtrV%Nn6esuj!jIMi}Btw`sohxwi1&U@}K{{10Q-!s%eVxF#kF6*2U FngGM>p?d%T literal 0 HcmV?d00001 diff --git a/tests/src/erc1155.test.js b/tests/src/erc1155.test.js index 59eeee0..bb78883 100644 --- a/tests/src/erc1155.test.js +++ b/tests/src/erc1155.test.js @@ -1,27 +1,58 @@ import "core-js/stable"; import "regenerator-runtime/runtime"; -import { waitForAppScreen, zemu, txFromEtherscan } from './test.fixture'; -import { TransportStatusError } from "@ledgerhq/errors"; +import Zemu from '@zondax/zemu'; +import { waitForAppScreen, zemu, nano_models, apdu_as_string, send_apdu } from './test.fixture'; -// ------------------- -// TODO: Actually write the tests +const model = nano_models[1]; -test.skip('[Nano S] Transfer 1155', zemu("nanos", async (sim, eth) => { +test('[Nano ' + model.letter + '] Transfer ERC-1155', zemu(model, async (sim, eth) => { - const rawTx = "" - const serializedTx = txFromEtherscan(rawTx); + const set_plugin = apdu_as_string('e01600007401010745524331313535495f947276749ce646f68ac8c248420045cb7b5ef242432a00000000000000010001473045022100ec4377d17e8d98d424bf16b29c691bc1a010825fb5b8a35de0268a9dc22eab2402206701b016fe6718bf519d18cc12e9838e9ef898cc4c143017839023c3260b2d74'); + const provide_nft_info = apdu_as_string('e01400007b0101124f70656e53656120436f6c6c656374696f6e495f947276749ce646f68ac8c248420045cb7b5e0000000000000001000147304502210083e357a828f13d574b1296214a3749c194ab1df1f8a243655c053b1c72f91e0c02201ed93cfac7e87759445c4da2e4bfd6e1cf0405ea37c7293bc965948f51bef5cc'); + const sign_first = apdu_as_string('e004000096058000002c8000003c800000000000000000000000f901090b8520b673dd0082bcb394495f947276749ce646f68ac8c248420045cb7b5e80b8e4f242432a0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596cabf06640f8ca8fc5e0ed471b10befcdf65a33e4300000000'); + const sign_more = apdu_as_string('e00480008b00006a0000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080'); - // with ETH need to test - // const serializedTx = txFromEtherscan("0x02f901350182022f8459682f0085246ad7eb3182de2994424db67b40b15ed85475c3f29dedf601b6ee75b283424242b8c4f242432a000000000000000000000000dcdb88f3754b2841093d9348a2d02df8cf06314c000000000000000000000000df9fb2eff1f2871caeeb94bf262ffba84efddddc0000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000c001a0c4283f86dc852e43e9fd1077b448c63fec76bdeb44dfac977730725e41fa3676a0543b2d2f99f65fb20cd548964eee94b1c1865919f4574c7089d8b95678b667c2"); + const current_screen = sim.getMainMenuSnapshot(); + await send_apdu(eth.transport, set_plugin); + await send_apdu(eth.transport, provide_nft_info); + await send_apdu(eth.transport, sign_first); + send_apdu(eth.transport, sign_more); - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - serializedTx, - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_erc721_transfer_ethereum', [12, 0]); - - await expect(tx).resolves.toEqual({ - }); + await waitForAppScreen(sim, current_screen); + // Go to the reject screen + await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_transfer', [10]); + // Accepting the transaction somehow takes too long for Zemu and takes the same screenshot + // twice, so accept it manually + await sim.clickLeft(); + await sim.clickBoth(); + // Sleep so it has time to send the response APDU + await Zemu.sleep(500); +})); + +test('[Nano ' + model.letter + '] Batch transfer ERC-1155', zemu(model, async (sim, eth) => { + + const set_plugin = apdu_as_string('e01600007401010745524331313535495f947276749ce646f68ac8c248420045cb7b5e2eb2c2d60000000000000001000147304502210087b35cefc53fd94e25404933eb0d5ff08f20ba655d181de3b24ff0099dc3317f02204a216aa9e0b84bef6e20fcb036bd49647bf0cab66732b99b49ec277ffb682aa1'); + const provide_nft_info = apdu_as_string('e0140000820101194f70656e536561205368617265642053746f726566726f6e74495f947276749ce646f68ac8c248420045cb7b5e00000000000000010001473045022100c74cd613a27a9f4887210f5a3a0e12745e1ba0ab3a0d284cb6485d89c3cce4e602205a13e62a91164985cf58a838f8f531c0b91b980d206a5ba8df28270023ef93a3'); + const sign_first = apdu_as_string('e004000096058000002c8000003c800000000000000000000000f9020b0e850d8cfd86008301617d94495f947276749ce646f68ac8c248420045cb7b5e80b901e42eb2c2d60000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c00000000000000000000000000000000000000000000'); + const sign_more_1 = apdu_as_string('e004800096000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000003abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a0000000064def9d99ff495856496c028c0'); + const sign_more_2 = apdu_as_string('e00480009689732473fcd0bbbe000000000000a30000000001abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a00000000640000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000'); + const sign_more_3 = apdu_as_string('e00480006100000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080'); + + const current_screen = sim.getMainMenuSnapshot(); + await send_apdu(eth.transport, set_plugin); + await send_apdu(eth.transport, provide_nft_info); + await send_apdu(eth.transport, sign_first); + await send_apdu(eth.transport, sign_more_1); + await send_apdu(eth.transport, sign_more_2); + send_apdu(eth.transport, sign_more_3); + + await waitForAppScreen(sim, current_screen); + // Go to the reject screen + await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_batch_transfer', [8]); + // Accepting the transaction somehow takes too long for Zemu and takes the same screenshot + // twice, so accept it manually + await sim.clickLeft(); + await sim.clickBoth(); + // Sleep so it has time to send the response APDU + await Zemu.sleep(500); })); diff --git a/tests/src/erc721.test.js b/tests/src/erc721.test.js index 58052f1..2e147c1 100644 --- a/tests/src/erc721.test.js +++ b/tests/src/erc721.test.js @@ -1,130 +1,30 @@ import "core-js/stable"; import "regenerator-runtime/runtime"; -import { waitForAppScreen, zemu, txFromEtherscan } from './test.fixture'; +import Zemu from '@zondax/zemu'; +import { waitForAppScreen, zemu, nano_models, apdu_as_string, send_apdu } from './test.fixture'; -test.skip('[Nano S] Transfer erc721', zemu("nanos", async (sim, eth) => { +const model = nano_models[1]; - // https://etherscan.io/tx/0x73cec4fc07de3a24ba42e8756e13b7ddfa9bd449126c37640881195e8ea9e679 - // Modified to put a bigger token id - const rawTx = "0x02f8d101058459682f0085233da9943e8301865b94bd3531da5cf5857e7cfaa92426877b022e612cf880b86423b872dd0000000000000000000000004cc568b73c0dcf8e90db26d7fd3a6cfadca108a3000000000000000000000000d4c9b20950c3eca38fc1f33f54bdf9694e488799ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a094c8632fe7277aa8c54cea9d81a15911cfa4970a2bf7356d14d04cc5afbcdab7a013a77b8c79e5d9b2b35edb3c44db3bb41b92f5c463ff126bf19d213b2b9ba8b5" - const serializedTx = txFromEtherscan(rawTx); +test('[Nano ' + model.letter + '] Transfer ERC-721', zemu(model, async (sim, eth) => { - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - serializedTx, - ); + const set_plugin = apdu_as_string('e01600007301010645524337323160f80121c31a0d46b5279700f9df786054aa5ee542842e0e0000000000000001000147304502202e2282d7d3ea714da283010f517af469e1d59654aaee0fc438f017aa557eaea50221008b369679381065bbe01135723a4f9adb229295017d37c4d30138b90a51cf6ab6'); + const provide_nft_info = apdu_as_string('e01400007001010752617269626c6560f80121c31a0d46b5279700f9df786054aa5ee500000000000000010001473045022025696986ef5f0ee2f72d9c6e41d7e2bf2e4f06373ab26d73ebe326c7fd4c7a6602210084f6b064d8750ae68ed5dd012296f37030390ec06ff534c5da6f0f4a4460af33'); + const sign_first = apdu_as_string('e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000'); + const sign_more = apdu_as_string('e00480000b0000000000112999018080'); - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_erc721_transfer', [12, 0]); + const current_screen = sim.getMainMenuSnapshot(); + await send_apdu(eth.transport, set_plugin); + await send_apdu(eth.transport, provide_nft_info); + await send_apdu(eth.transport, sign_first); + send_apdu(eth.transport, sign_more); - await expect(tx).resolves.toEqual({ - "r": "59f6a9769cff66eed8be8716c44d39808d1e43f3aa0bb97538e124dba4bc4565", - "s": "662990a841c663a165ba9a83e5cc95c03a999b851e0bd6d296aa70a0f7c96c1a", - "v": "01", - }); -})); - -test.skip('[Nano S] Transfer erc721 with attached ETH', zemu("nanos", async (sim, eth) => { - - const rawTx = "0x02f8d601058459682f0085233da9943e8301865b94bd3531da5cf5857e7cfaa92426877b022e612cf8854242424242b86423b872dd0000000000000000000000004cc568b73c0dcf8e90db26d7fd3a6cfadca108a3000000000000000000000000d4c9b20950c3eca38fc1f33f54bdf9694e4887990000000000000000000000000000000000000000000000000000000000000f21c080a094c8632fe7277aa8c54cea9d81a15911cfa4970a2bf7356d14d04cc5afbcdab7a013a77b8c79e5d9b2b35edb3c44db3bb41b92f5c463ff126bf19d213b2b9ba8b5" - const serializedTx = txFromEtherscan(rawTx); - - - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - serializedTx, - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_erc721_transfer_with_eth', [13, 0]); - - await expect(tx).resolves.toEqual({ - "r": "9c42e10b49f3ee315ab2d5f7ad96f1068c75578734b66504716cc279ead27d47", - "s": "45dde78470ad75ffdb27a799b87e4934e2e10e98dbc6f88bc4a9bc19c4de86bc", - "v": "00", - }); -})); - -test.skip('[Nano S] set approval for all erc721', zemu("nanos", async (sim, eth) => { - - // https://etherscan.io/tx/0x86b936db53c19fddf26b8d145f165e1c7fdff3c0f8b14b7758a38f0400cfd93f - const rawTx = "0x02f8b0010c8459682f00852cfbb00ee682b54294d4e4078ca3495de5b1d4db434bebc5a98619778280b844a22cb4650000000000000000000000002efcb1e8d4472d35356b9747bea8a051eac2e3f50000000000000000000000000000000000000000000000000000000000000001c001a0c5b8c024c15ca1452ce8a13eacfcdc25f1c6f581bb3ce570e82f08f1b792b3aca03be4dba0302ae190618a72eb1202ce3af3e17afd7d8a94345a48cae5cad15541"; - const serializedTx = txFromEtherscan(rawTx); - - - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - serializedTx, - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_erc721_approval_for_all', [12, 0]); - - await expect(tx).resolves.toEqual({ - "r": "8b6a70a1fe76d8e9b1250531a17eb1e367936732d4dfb9befc81a5031b271dc8", - "s": "7658d7151bba0d8504cea2013bead64cb8407dc6be1fca829bb9594b56f679af", - "v": "00", - }); -})); - -// NOT DONE -test.skip('[Nano S] approval erc721', zemu("nanos", async (sim, eth) => { - - // INCORRECT, need to find / create an approval tx - const rawTx = ""; - const serializedTx = txFromEtherscan(rawTx); - - - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - serializedTx, - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_erc721_approval', [12, 0]); - - await expect(tx).resolves.toEqual({ - }); -})); - -test.skip('[Nano S] safe transfer erc721', zemu("nanos", async (sim, eth) => { - - // https://etherscan.io/tx/0x1ee6ce9be1c9fe6f030ff124ba8c88a410223c022816547e4b3fedd3a4d2dc1e - const rawTx = "0xf8cc82028585077359400083061a8094d4e4078ca3495de5b1d4db434bebc5a98619778280b86442842e0e000000000000000000000000c352b534e8b987e036a93539fd6897f53488e56a0000000000000000000000000a9287d9339c175cd3ea0ad4228f734a9f75ee6200000000000000000000000000000000000000000000000000000000000000621ca08250f4b2c8f28c5e4ef621dba4682990d1faf930c8cb6d032c6e7278e8951d92a03c1e1f6d63ed339041f69f24c6c0968ba26f244f779cb4fa7a468f3ba3d3e06e"; - const serializedTx = txFromEtherscan(rawTx); - - - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - serializedTx, - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_erc721_safe_transfer', [10, 0]); - - await expect(tx).resolves.toEqual({ - "r": "b936684d5d0e99e09701021fb73ae9403f2ec79414d822d42c5bd1c0a2118f1a", - "s": "23e517c6cac998f392d179be2fe7c3225f0e0a165b1af85548da5d6acaa73c4f", - "v": "25", - }); -})); - -// NOT DONE -test.skip('[Nano S] safe transfer with data erc721', zemu("nanos", async (sim, eth) => { - - // need to find or create a safe transfer with data on etherscan? - const rawTx = ""; - const serializedTx = txFromEtherscan(rawTx); - - - const tx = eth.signTransaction( - "44'/60'/1'/0/0", - serializedTx, - ); - - await waitForAppScreen(sim); - await sim.navigateAndCompareSnapshots('.', 'nanos_erc721_safe_transfer_with_data', [12, 0]); - - await expect(tx).resolves.toEqual({ - }); + await waitForAppScreen(sim, current_screen); + // Go to the reject screen + await sim.navigateAndCompareSnapshots('.', model.name + '_erc721_transfer', [8]); + // Accepting the transaction somehow takes too long for Zemu and takes the same screenshot + // twice, so accept it manually + await sim.clickLeft(); + await sim.clickBoth(); + // Sleep so it has time to send the response APDU + await Zemu.sleep(500); })); diff --git a/tests/src/test.fixture.js b/tests/src/test.fixture.js index 2251bdc..beffd71 100644 --- a/tests/src/test.fixture.js +++ b/tests/src/test.fixture.js @@ -4,8 +4,10 @@ import {RLP} from "ethers/lib/utils"; const transactionUploadDelay = 60000; -async function waitForAppScreen(sim) { - await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot(), transactionUploadDelay); +async function waitForAppScreen(sim, current_screen = null) { + if (current_screen === null) current_screen = sim.getMainMenuSnapshot(); + + await sim.waitUntilScreenIsNot(current_screen, transactionUploadDelay); } const sim_options_nano = { @@ -30,8 +32,33 @@ const nano_models: DeviceModel[] = [ const TIMEOUT = 1000000; +// useful to take an apdu as a hex string and convert its JS representation +function apdu_as_string(str) { + let buffer = []; + + for (let i = 0; i < str.length; i += 2) { + const str_extract = str.substring(i, i + 2); + buffer[i / 2] = parseInt(str_extract, 16); + } + return { + cla: buffer[0], + ins: buffer[1], + p1: buffer[2], + p2: buffer[3], + data: Buffer.from(buffer.slice(5)) + }; +} + +async function send_apdu(ts, apdu) { + await ts.send(apdu.cla, + apdu.ins, + apdu.p1, + apdu.p2, + apdu.data); +} + // Generates a serializedTransaction from a rawHexTransaction copy pasted from etherscan. -function txFromEtherscan(rawTx) { +function txFromEtherscan(rawTx) { // Remove 0x prefix rawTx = rawTx.slice(2); @@ -89,4 +116,6 @@ module.exports = { nano_models, TIMEOUT, txFromEtherscan, + apdu_as_string, + send_apdu }