From c4049fc03911234bbfe61c9f38a007a353bf595d Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Mon, 6 May 2024 11:39:23 +0200 Subject: [PATCH] Removed old substitutions in EIP-712 test and renamed it message JSON directly in test --- .../address_substitution.json | 29 ---------- .../00001.png | Bin 6401 -> 0 bytes .../00002.png | Bin 5736 -> 0 bytes .../00004.png | Bin 5264 -> 0 bytes .../00002.png | Bin 5971 -> 0 bytes .../00000.png | Bin .../test_eip712_advanced_filtering/00001.png | Bin 0 -> 7547 bytes .../test_eip712_advanced_filtering/00002.png | Bin 0 -> 12340 bytes .../00003.png | Bin .../test_eip712_advanced_filtering/00004.png | Bin 0 -> 11918 bytes .../00005.png | Bin .../00006.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin 0 -> 6664 bytes .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | Bin .../00010.png | Bin .../00011.png | Bin .../00012.png | Bin .../00001.png | Bin 414 -> 0 bytes .../00002.png | Bin 338 -> 0 bytes .../00004.png | Bin 324 -> 0 bytes .../00002.png | Bin 371 -> 0 bytes .../00000.png | Bin .../test_eip712_advanced_filtering/00001.png | Bin 0 -> 478 bytes .../test_eip712_advanced_filtering/00002.png | Bin 0 -> 715 bytes .../00003.png | Bin .../test_eip712_advanced_filtering/00004.png | Bin 0 -> 770 bytes .../00005.png | Bin .../00006.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin 0 -> 396 bytes .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | Bin .../00010.png | Bin .../00011.png | Bin .../00012.png | Bin .../00001.png | Bin 414 -> 0 bytes .../00002.png | Bin 338 -> 0 bytes .../00004.png | Bin 324 -> 0 bytes .../00002.png | Bin 371 -> 0 bytes .../00000.png | Bin .../test_eip712_advanced_filtering/00001.png | Bin 0 -> 478 bytes .../test_eip712_advanced_filtering/00002.png | Bin 0 -> 715 bytes .../00003.png | Bin .../test_eip712_advanced_filtering/00004.png | Bin 0 -> 770 bytes .../00005.png | Bin .../00006.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin 0 -> 396 bytes .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | Bin .../00010.png | Bin .../00011.png | Bin .../00012.png | Bin .../00001.png | Bin 7742 -> 0 bytes .../00002.png | Bin 7133 -> 0 bytes .../00004.png | Bin 6667 -> 0 bytes .../00002.png | Bin 7358 -> 0 bytes .../00000.png | Bin .../test_eip712_advanced_filtering/00001.png | Bin 0 -> 8734 bytes .../test_eip712_advanced_filtering/00002.png | Bin 0 -> 12707 bytes .../00003.png | Bin .../test_eip712_advanced_filtering/00004.png | Bin 0 -> 13042 bytes .../00005.png | Bin .../00006.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin 0 -> 7967 bytes .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | Bin .../00010.png | Bin .../00011.png | Bin .../00012.png | Bin tests/ragger/test_eip712.py | 54 ++++++++++++------ 98 files changed, 36 insertions(+), 47 deletions(-) delete mode 100644 tests/ragger/eip712_input_files/address_substitution.json delete mode 100644 tests/ragger/snapshots/flex/test_eip712_address_substitution/00001.png delete mode 100644 tests/ragger/snapshots/flex/test_eip712_address_substitution/00002.png delete mode 100644 tests/ragger/snapshots/flex/test_eip712_address_substitution/00004.png delete mode 100644 tests/ragger/snapshots/flex/test_eip712_address_substitution_verbose/00002.png rename tests/ragger/snapshots/flex/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00000.png (100%) create mode 100644 tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00001.png create mode 100644 tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00002.png rename tests/ragger/snapshots/flex/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00003.png (100%) create mode 100644 tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00004.png rename tests/ragger/snapshots/flex/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00005.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00006.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00000.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00001.png (100%) create mode 100644 tests/ragger/snapshots/flex/test_eip712_advanced_filtering_verbose/00002.png rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00003.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00004.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00005.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00006.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00007.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00008.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00009.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00010.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00011.png (100%) rename tests/ragger/snapshots/flex/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00012.png (100%) delete mode 100644 tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00001.png delete mode 100644 tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00002.png delete mode 100644 tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00004.png delete mode 100644 tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00002.png rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00000.png (100%) create mode 100644 tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00001.png create mode 100644 tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00002.png rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00003.png (100%) create mode 100644 tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00004.png rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00005.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00006.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00000.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00001.png (100%) create mode 100644 tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00002.png rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00003.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00004.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00005.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00006.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00007.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00008.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00009.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00010.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00011.png (100%) rename tests/ragger/snapshots/nanosp/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00012.png (100%) delete mode 100644 tests/ragger/snapshots/nanox/test_eip712_address_substitution/00001.png delete mode 100644 tests/ragger/snapshots/nanox/test_eip712_address_substitution/00002.png delete mode 100644 tests/ragger/snapshots/nanox/test_eip712_address_substitution/00004.png delete mode 100644 tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00002.png rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00000.png (100%) create mode 100644 tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00001.png create mode 100644 tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00002.png rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00003.png (100%) create mode 100644 tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00004.png rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00005.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00006.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00000.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00001.png (100%) create mode 100644 tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00002.png rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00003.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00004.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00005.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00006.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00007.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00008.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00009.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00010.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00011.png (100%) rename tests/ragger/snapshots/nanox/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00012.png (100%) delete mode 100644 tests/ragger/snapshots/stax/test_eip712_address_substitution/00001.png delete mode 100644 tests/ragger/snapshots/stax/test_eip712_address_substitution/00002.png delete mode 100644 tests/ragger/snapshots/stax/test_eip712_address_substitution/00004.png delete mode 100644 tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00002.png rename tests/ragger/snapshots/stax/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00000.png (100%) create mode 100644 tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00001.png create mode 100644 tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00002.png rename tests/ragger/snapshots/stax/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00003.png (100%) create mode 100644 tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00004.png rename tests/ragger/snapshots/stax/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00005.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution => test_eip712_advanced_filtering}/00006.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00000.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00001.png (100%) create mode 100644 tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00002.png rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00003.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00004.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00005.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00006.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00007.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00008.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00009.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00010.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00011.png (100%) rename tests/ragger/snapshots/stax/{test_eip712_address_substitution_verbose => test_eip712_advanced_filtering_verbose}/00012.png (100%) diff --git a/tests/ragger/eip712_input_files/address_substitution.json b/tests/ragger/eip712_input_files/address_substitution.json deleted file mode 100644 index 3cff494..0000000 --- a/tests/ragger/eip712_input_files/address_substitution.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "domain": { - "chainId": 1, - "name": "Token test", - "verifyingContract": "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", - "version": "1" - }, - "message": { - "from": "0xaAaAaAaaAaAaAaaAaAAAAAAAAaaaAaAaAaaAaaAa", - "to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", - "amount": "117", - "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F" - }, - "primaryType": "Transfer", - "types": { - "EIP712Domain": [ - { "name": "name", "type": "string" }, - { "name": "version", "type": "string" }, - { "name": "chainId", "type": "uint256" }, - { "name": "verifyingContract", "type": "address" } - ], - "Transfer": [ - { "name": "from", "type": "address" }, - { "name": "to", "type": "address" }, - { "name": "amount", "type": "uint256" }, - { "name": "token", "type": "address" } - ] - } -} diff --git a/tests/ragger/snapshots/flex/test_eip712_address_substitution/00001.png b/tests/ragger/snapshots/flex/test_eip712_address_substitution/00001.png deleted file mode 100644 index 6bdc1e04431ce0c874a3e5faec79fec9ea534631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6401 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 Y7)mIh`0?662N`n04}HAuXw=RB0C3+>7ytkO diff --git a/tests/ragger/snapshots/flex/test_eip712_address_substitution/00004.png b/tests/ragger/snapshots/flex/test_eip712_address_substitution/00004.png deleted file mode 100644 index a8988ceb0187ccc76cf81dae6de4120986cf9eb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5264 zcmeI0{Ug)s|HtR1)-C7LA&z8yPbr;5N@y55(NPCEot+^}H%PhHW@aqum?-O{llzv5-lN<+vGVX|WiFnKf%>w%Lu(yYnA>zdwAw=ZACscwO)Jb-k|F&2>GV*Ns#D z$2V`V*Z=~7Hv9f?>?aUNZvq6;4_c=W^c-f^90!3+5WdH}e#VrG$HefdQ3heMkLqtw zvgO?Rpra&1TfGy5TmEfmqj#eCZp4Wl)<2$bVG*A6`~mrDNIJtT7p+WttxGBxk55J4 zN#KgnuqrdqbyY|GxE{#=>x)-U>2Ln(M77@0^^Tr4S!>r>4}$I+TI{&%X>fhZ|NG!0 zJZ#c^v{~G`@Olpdez>fETodlcUdr$&>nD@3G9Sal()o+eV$ zCF-to(%D;}UCNuDX5NAKW;%Cf@Tzc@S39E(S9Chv#Ba@Uh&p(nNq*NXAn!$narV$WKD|;d#Bq&ML~!^p zN;_}Ae&Wf#bywJqjQbtJY&d+3$3s>MNij}keo6B?rlrfNZDT#+1gA2(1ejZdZ3@}` z@&c@?*YR_~pS3RNwz1n?H8y`VJ|SPqjpCqsXBJ-%r?a7uA9Dj}Nciv-wXv}=xWm-v z`-)nYM4d?;38e?EneZOkIY$wp+rp9@!>#6nO}Z{Mh17Ed&dHtZT3Ua95?# ze%L9FJkjnP+mV@&;ihmmDnD$2v2V$;>ct$a?vm_=Is4)01N`OQMqK<)=gLE27|pcr zG(VdqHhy(^X27chL!SKbh9WYm8EF>hXF!^H3T<+W+v;_M1o|rd?dGNYf#>NV!vdpS z1+3p9cCbysE4UzmEDa84U|$dj1b&zKc^=VY&Fvk|gDgKiVmBk3S@@bd5?eg-NYolr zN)b7g^>@m}-JWd+_TJvB*fHsn>ShavIT@}@A7d&f&NY~uowt0VFgGJu*0VuB+}<`f zrTDOX!IO}bB<=h5<>RFO#m=4)M%s-oSqJD|?@V$FZh;Dd?1v6A7GIpb-*qKJnwW_W zG>Hs`(SG1#T)hJ~2_OYIzQnV4uu!@cOJ-$vYsm_^;Z+^5+rP3BSd#L)!}BKF-Xs&Z z^0Sy8G?{EcqlP@~4kr>*!)PH-3!>WzJ8wxeaJ|soSi>+A?=TLLNMzP#y+gUTTXb7< zzuEnLcVP#S=26)eq@k}ctr;m-jThtE#==kLv{JSW_^PS{#fdF~LxQdPIMUqS0s~0V zY?hrtAdq_?9rgcS=rBpacWiDl1jwVswvCkz?T;e@O^QBdMz$gt`ZOQ%5+ zQK9~rLfhZpuM*siJo0fA)e!Vj92TFDP}`}Mi#VzUpfYBXRZ~&X)DbqD%|)-D=)XpC zS)ud9XrLI>3JH5#0`gHzX|~r&JT1MW-9Q=Zm1QN*=m@owEG&e}$$V1%FLes;-m9!- zVBZ4*88H*6wGR9$3>SKD2Hob4Im$u#u`O?=ArI3&i@7vDSfSRcgnVIjI&?iXyuOw_ zI9r`%|7ORT zVyX!ZvI7P5=_XJ^vVnWWjLRWEhl)4F{ZafE>8*|rV@io5$FCaS-8LsI%{!C@tK^yg zXrRquhlA*$@zu4_F;&5D9V$ADeMW4-iQ;5~j2q2yOmu+2dF|SvSMat4&j3OM$I2gw9Q>P~y zkf)x4wNGdUlpiiu*CIq7Y2YU@)qp2UL~^l0EiKXC9QxZEPu|#=pWxeqJq2od6>L)D zzNwCE5pcpXe&grN^bMc08uiB<`^94Mm2%hiCu4IhRB+XKFUQ1N^a#`A92EF>%dLBz z{ZgL&teSW|_&{iS%)Vuf5(k4w#@%nJJFjA)-|=Fd_@i_(xnNJH9_*ulw>W>4)o&Xh zxLZeVO$3vQ!YycS?Wo>wq8EnNd`<%5y;i2eb?`i#9bxnpnRQ<>2(f4C*zb+D1a{+> z<9$W5|2fiC?@QeIw#)+$k{74Vu3GY%x#F1;g9-L7|0K|}p$ zTEUv-4mOJslGhInOINQ`M5QEQ>q1@Xb^GR!rvNMgD36f5^)@W+KypxwYGGcEKkhmy z#>&bnuLgs`yvXy}xOBfcPP<>@{EaBoq$}1*Jz6n&c^K6mWSc{*uNhj!$&ErU(6|-2 zm$toRpka$rg=*dMGFrJ$DHQe?%a9Y*0}}bu*K$Becn8KhmDSkf3@ri7V#ieXvDi!8X4_sB zPG{7nw%ASQ{RWlQ)R`Yg23Lz(VZ~_|OJ^4r;vb!1JNmITJrk);WhGcTdcN=1#cdgp zSum$vY9!gk4DHzert&tF_BCZRYB58)Mj9@PM7Upv%d=9_{Al_Hk@% zdsQV6YM`amDaIpR0mudH-Gf}@Gl`SVPLj7DN}TiEqcHN*mfnFs3c#ck{kE}q4S_4?)5~RjAlYuTJmF&he1ocHx0jdKR^+v+ss4xUvu2j0j#^H2) z{&}fzpD(2pDkB^fKx=fzG6r7I_SCwN{--SS2tPm=>*R{*Q9c%~tty+sh|xN&f+tlR z3%rg>TL(RB>1L6 zQhs%<$e{p#v6i_o+U!n!zOb2F(v4l&nD#8Zo{*qF{wq{QH?q(+W$8{DZF!Gs=SgZ? zED7yloDA3Gl#~=rU*Y((3Sq9!o$fN>F~8z7$k2N}g(v*U7-|->?K&1Es?$o~3#s+m zD^(FLD#F~I zKvX)oH>9@?TxbZoNetk4L8_is+Rm$)*Dj9lj#J6z@@l`}D{ugu-HoMj{WyJbH165E zqo^@Jo&i++lWW*0u1C@XSc27(ARd{U_PsLdo?sUN!Y$L(kBwW^wcF$s7A;O}O4 zYwknZSBLenUvi1HtK6u@IHyX0u!O{l`?~IgH&vVrKe+uD2;MaN5pSBcUZZm;m`!dt zFX%+Eyo_gMDonE?(RWUI8t}JJC{#|2$2y&<=M?eY&2Q!g+iq2BbxP~MP#c1bJ`bx( zpmBvCb8oz(IY9b@o{JQWcMTosF*Pj)1cQ2>-kJ&`|Zk zw$yjc;-&G)%;Hu3S*VLJWIj|=>oX|uLs$pkpS4`-9A3ICj)7l2iNN-r6-?bpf07v1?W1PQc~B^#$(7@XK*4Jh=G>xnYUl&R_SzYH yG#-!S$eT1|r)z6gnm3`ThIAaXmf#Aw4~VP!j_%vxi;ftEXpS<#)j6r?fjVK7{#nh*fv& zk@pFMQ=9JZ{|&sJZ`x<#ZsciXqW{D9oBsIfh{>a`=34LfewcID#J47M(pYX%TIAqo0?iXI;wOM_xiYjXfu9h!ft8R@)-aLk?iP%Z`|L zLaK#@1)Se>DAYKunU_FvdV)vAiC_#Kk0gF$j{hsRVelbOs`!yYxlkShCw00^Mz@?d z^4_M5FDFwdi!@2%Ngf7jWVNL*_%azv16H`%mMD^?V8KXDO-cdpwnb|r8Un;udwFe8f%alnw4 zKLTpRFEEzNN>>yf=Q3q({?1PsaxDZwPLGZ)$kWnk(CwP*%-zZa+78SHbd6Qv1G!ut z=kL?^oSn7f#S8z!(j?!b)cM%1CqVB5H0S zj21S$n?mvM*e=9G48G|dS$-L&x))@VciTocc|M8VQE;H?eXl90%r>k2)urunLA+Y@ zBat6?8KxLOuWso8cAE}&K*=Or(*8NH;~LYQ zGml@_p`b<-fovJ`L&wVk?z7$~t5+Uo8-31Hb{@Y@p#bZO0>bb&H}xRXtMzKWCFWPJ z`b|oQTXnF`nj$(L*RlThWbV%2)&0rlfh$-ye!<2x492^9D#I=p-(Ei&^{uB(VCc@$ z&Zt>&$*r7|9h-g?8y@etB#qxjh$;Q`;xSJi^&cX4Pp)R~$ zn?*&!45uUg28CkPt(?Ezk)0n~w982CbuGx|toWNAWMFAFdaXyB{^kF3{`OnosyeXn zVdYuGvFP_}NDC`}(O%!@SlT%lKiepE^`D-ZnX$yKUW_Wx`$F=2Qwt(~>LApZ?fCV} zRM=aS8B(=eOCS)YK$^i|Fd+kh1@i{DgOxRXaXd^OLKyGL`h|7QsfoeRUa8Q3wifAf z1wNP2h=O7r4JUa|y39BBFXQ@vWCd{#$vQfkmhzc!#9nT54Oqd632K>G$~z)mc}Cry z>``&V9ur~5oKImeTU#BGj_dLh>!(<h!Pbz1-V3ax)b5w5f*;K)~E8B z>{b-ie(s6t<)}Bq7|$5Epp+84;Ba%s?y@71m^SBcK;({aNxsx)p*y>U3dOQ=@?Lrc zo6Tk|HyfVTG`KCO)#~XHZcu7eeQ5Li-EG~vHK`G*W2&mOv@~~}x)rawjBL${h^!2$ z9nc`uW65D$;|ywdU|`?~?cyP*afF(-xPqL4tLDnNQToD6$E<}p<;?*L|Gwr})#Xnw z$?lDi?D0>vOT~=b7k7;x({R$ER5Aie)!5jWLZOiKEdzBS(}mOP^C^X4izK5U#Uq&W zdPp`4MpxA>P`Rcu@J?m7l)Iwor=LBKcf}5b`=-COLKv`MFy=_)3=WUOd1pcxekR-w zN&86UC%6$fxi#4#vJI2Eh<7F#Hk>cXbQQ!*&taL~vGS3(eF6)QJ}MqDGB<8Q;1_L> zr_r0SIqz7z7uCJ)^o7`kc}>!@xw5D)zWn^^zKvqG4#hBD<*>a+TtJ*NwF{}FP?#ng z%w{4j0|zvNt}_0dVC{>@N>W93`oN#_qDQ2ROhLNiYjhd0ypj}9li&79Bodi1j0+;( zIx!TcpM%zzU?Pe)JGFEi1OIbu?1DPwuTvEn(($V_IEkCLi$w1Y>a!4gBa)OV^>gf{ znGh7@ur5C+&t9LJ=$F0WM9%GRB5E95yFaGs58ibO_RhpE&iL&w&P}u3lU0bPB*cE& z6TaX*qVp72sLsqk=EgKk!yG3AET-*6?x7>4`wBKE+9yesbF;H4>XiD>I}ehCDi)6g zo#$F1cf8Qb+s-*z3Qm8NrSN#XXifUbSF+Hf>QIX{qnGT7WICo&6pxw@5PmCGU3fJBu)$p+F-j- zh-RW73u2lhYNH0kXk2;QnflP3xz$XSeKqj8Qu)`K>n}Ycj#RQAcq1^AQ|-S^o!lkP zIgpT$P?UAKGtD!C7csi}Dy-E)TzJbcEcbY6P-gh3;j&G@vg$hNT}J|ExT{vFI6nby z!EP$#1r!wjWFwsGl_7r*WLlsgxR+N!4SY66lg*?5u`fi&@Q`(7D%2sd>tYIi-jlUE z>w;58vx|CuY)F!*@vHqqD6ddeb;T3}s%h->FGHIndO+PRf%yi;xDZ45p3z)t!`8ze zJm1PE(_ShBjVSDlJDn+BABfU*MSYAlznyhWL|-Zj&#@D2Y6T)QK7ZQxJ2(UT{QZ`~ z%FYKja?w;OmF-xiZ2?;(zQ>_@*aq%}O-;%~2YjJMv1ml8R0_5|nZKx>oxib>bS~}W z(G7)(PlgrAJ=lqZeJd>6yp>6I`Nesd)h?W0P)3D;IU#()sAZ_ z+0b74;k?6EMGo`sULhmAg398$EKjeveuBJBkbamVB$ZrL7bm7wI|{ukpEd8(dAu9- zu9@g>$QBR|rq7;3``T7`sLR3p?2rwyY?Pz=#Ov%f#*v#G2f+n@ZZCSlVzDm#xTHJ0b~_O`vx054(m93VQhlh6S@_=Ip4#sH3!;wW*QZTg1xbz_#_#TU9K9!{ zKar@$HyoW$T3qELnrjgz(4tpQ&s*Mte|eX;z5mI|Noz*teYsY2V=unmO_(n-T+xX^ zD%GtQRYT~M!R+PgoQThBjh_qm{f#B!|1UxNkF|eC%=pJE|9ItZO2A8@x%g;_|M02= zy~lDPg<@aQo+@8n3Z}F=L(;3Y#{W%r=LoChTDf4^zv5|-TyV8?_4&n>41Pkx;CKo{ zF8I1-5FqrxzyNqpmA}b1aly9$CSUGv;gbBxIo_23IF&+4K%*V2dJULp20vrh{8r1c z@FguTWH@J1>!d&qYv%rCwIENGKhFp7QH`KV>2c-cIQZuib1kiO`ghbTc6N3PyLI}r zWAn#!!Oz0;+o~uO0N=sEmj2w4X|$lG&tY?qo10r~Rv1s23CHWIy@=J#t*yvMC*&VD z3J+K89lK(+u=U6#Ad<0Itq`wcCS5q=bq-(wU#nb+6Y5l9i=B1(mECuMka9RvCwBU= zCx>2_mpqF@5FID9i^IdiK)Z6R(dEP7Da_!%Tk0UdPp2YTuT;jzV~Lor#iORC$vh0! z83xqT@G!X_wZxSK)v7G0agQ?dOMjU~2YTk}vbm#vvq~jKlhPCpr1MheAO$DnVQ|C6 zDQZ?iIk`^ihK`L_g-t_h8ctX$G)Gtx&j!d0WA8gtZwf{M+w2fLrj@jRo?k|q+#KkfIIzc)Y(2$^}6}0&E>qy|V0W^RY zA=5LwAPVjwlTQSul}r`@ZvoU}vDN@u0Zx4|fVF#4F&LkM!{KJW0~%OjNr0Uj?;^Cd z#HJ~NY=VOeM~q)5831xgt0a(t#P#n3VF5f-mzb2a1eW8-DeFeC53g4c18PtZXex;E zKvN~IyiQt92E@1{%-R8;ni_)B9J-lL?rshm4fpLo+#i(7^!8}mZ9b@;ScSibf+ixO z)dOicHDvclMg;&dGwvDy4#=Mo-ri=dR!9k8JC?sM^JT_~mpVIV>&#nEn~F@WeTt16 zf`d^sh!f+y^Qg6BaTt}ydNViqTM2`~NSy3!Xs|)Q?@lWP^6qstpi=u1zx3Y)@vdBc z1Tl8J%lMGBFEX^UR#^PunD}6iSh+qA|5U7+0DDt*4+E}re<$Ah87S{tI-^Vz%YQr*3`xgHCIoQnwz8&h}7g zD)ia{t0}{C?Ov*KWvfDVS85F;eBPMq=!di2o}8Elk*)Twt5EXN07P7Fhz+0!aKA12 zDwPULJy1@zjGQMTWWAdG#=^%HqVED=x@CuM>?w!Uhm4?+Z!Se;Z`iT5eusFpMXs{) zp1=LON+QVI0j&SN;aJgXukov!X4!Ag!w;OQs69-|A#z9do1xKY_U3n+$l_FuF-`~= zJ@MnLhLFZed2NdbSHKCJta-IU%r362t(|t`bnfwYZoZPYAycRY|tZKBMoOeznrCa2l8OZeGF88D)w_G~ckXVV+4({tQ8l zYzeW1)xzWlzg8Z}Iy9uS6Q7TCNEr_gpS4K_MgW}Z+0i^g)F^OMeQ1o>xz15{ zwAL*?)}sRM?QI(w?NsIkK8dksoytJ7QStHDYyGs{b{x}##T9_{Dfkn$13Y}j8``#! zOLYOH*ru-2x2Wt`T81p8C^FjJZl=Ma<)JwIofI>yv&*}j6q!{~n;#jYI>lYQR#Y6i zcMaQZ{z2x2DG^qJ@syYmcw5yJDM-L&2FaAV(yLlw2H7mRR%wBRW< zjF2B=!y%edlA?`p_v6Y{nJ(^ev#)#qr`#&G#(m~BtsVu diff --git a/tests/ragger/snapshots/flex/test_eip712_address_substitution/00000.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00000.png similarity index 100% rename from tests/ragger/snapshots/flex/test_eip712_address_substitution/00000.png rename to tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00000.png diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00001.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..227282ae5041e3fe2c64b3aca50b7f7d42ea1556 GIT binary patch literal 7547 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 GxBmjS5z@Q> literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00002.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..39c6eb03c525ae886e3b912f1ea44b630e4ebdbc GIT binary patch literal 12340 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⪼Hp7*APEwqE-0m>K=KcYnc~#1u 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/flex/test_eip712_address_substitution/00005.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00005.png similarity index 100% rename from tests/ragger/snapshots/flex/test_eip712_address_substitution/00005.png rename to tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00005.png diff --git a/tests/ragger/snapshots/flex/test_eip712_address_substitution/00006.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00006.png similarity index 100% rename from tests/ragger/snapshots/flex/test_eip712_address_substitution/00006.png rename to tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00006.png diff --git a/tests/ragger/snapshots/flex/test_eip712_address_substitution_verbose/00000.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_verbose/00000.png similarity index 100% rename from tests/ragger/snapshots/flex/test_eip712_address_substitution_verbose/00000.png rename to tests/ragger/snapshots/flex/test_eip712_advanced_filtering_verbose/00000.png diff --git a/tests/ragger/snapshots/flex/test_eip712_address_substitution_verbose/00001.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_verbose/00001.png similarity index 100% rename from tests/ragger/snapshots/flex/test_eip712_address_substitution_verbose/00001.png rename to tests/ragger/snapshots/flex/test_eip712_advanced_filtering_verbose/00001.png diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_verbose/00002.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_verbose/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..fcd385eef71f75c375376c81f772f66ff2e6d3fd GIT binary patch literal 6664 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 E0Dqgfm;e9( diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00002.png b/tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00002.png deleted file mode 100644 index e9adb7c1d97fe855b51b4959b8e5dd43beaab5cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>UtP)YMofNAg{IfrMxi2t+`+lJ^#oGcf%E8=PSP0D#*)qIck!T5I!3DJ5i2 zzFMtyS&5{6qj%sOQ$5mM5I@m7aDp-YG5T~@M*0FQ6VFwH^aaQ+eF2u8ey(94eF295 zy??Is0RV`%^9gqP*|Krb7BAJ&bHH>9zcZKjZuxr%eJ-W|O$y`N=5^k9I{&=;Rodm5}8nX0n^CW8N-%Jf6>4hR0ha-s> k0000000000001uY2cQ4mchRd&H2?qr07*qoM6N<$f-Vo4eEP@)+k$jgfEFlcoNftE&eQ%Wz6ixob;E-(t0D#ARjV|D1-}h=HrF1j% z>eY$-j4t5h2y~fn-w~?;SMrt7cBSf8c@5=urj%~pVXW`b1-w>9T&+>vrzxds^3j85 zs{K^-2DH1v)jmV74;spQz000000001hKl2Nk W9;9xsR+eP|0000)WEeC`}SBHgeb3m|77_WsW8pV)h7Ad^^+?CQHqXGa}aZ@Ec(|Gwh*tbk+#e9rtjaxPZ?jncx?V`mm~aw_k~pI4FB!l zw*5W3h~FVrrle=xk<)SpD(?+)lIX0YlB2R MUHx3vIVCg!0N>@Gh5!Hn diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00000.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00000.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00000.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00000.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00001.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..02ab24df7f555a4105a3a6af63b6bf8ba0274c09 GIT binary patch literal 478 zcmV<40U`d0P)F%$ju-s7y^%7b~*oH;@O008)*v9Mgc<}5CHrC@d=ChOl%omKJZ;?6ib zFf$TwcycdDos!zdQ9GKUwBuIXwyZ6eZbi^`CW!T2ySZGpy==6n@FF_{ioY9|Tk%jW zf4f4@3~<)q@0I5qJw|3gz9Qt+;V(PT;y}T>-`aNFkp^!;Gu^e**fx zIB&#ukL*vHIXgW7-CK(NGIgcc&xDN{x_Q(GNcC4`7$!d(%srKk|zMtvnuLDF{&NiwwiL4zYOHace1O|FKc*O zj0$H}@kjh1b0?c-_soK2aknjjnSuA;2-^eh5IC>HO$zK&r4N7{3|VlxoodujR+DSR zQKAkyyU(9jwqouj;Gzne;XcuBc0}2fp_A$TWhkzu_ZPz$WWrS_lM5#^246+G_gW2A z)xKihMAWwSnGC#Is|FY*86}`bi}!Ea=0~2~?F!(d^V4v3(`Q>Je9mgLvj!XlOA%AD z*Zr;nk;3PiaqkA8TSg4oYf8aZyHcx_!EO0+rSgdlcv^s0>u=3~#_Wq3B@!7_L>F@l zSyP%7ILfU6sKSw>pQ(*K97FhAz$4`7T$Tx+Do_Bx#8iJ1A8C_n|Eg|^i<+_!*%EN< z5u-*Sgb+dqc>`&GDUaW|BgJytAREFkC xo(9hfK$rXKXQPI6>iE`^vLzve5JCufBYzOl*p=49?GXR~002ovPDHLkV1fv#Ps;!R literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00003.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00003.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00003.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00003.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00004.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..b79b3d7e67262363d3fdfa3757e9b92eda1e06ec GIT binary patch literal 770 zcmV+d1O5DoP)6N7a@cYLI@$#`C0A28^>{o zmQspiY5n>^{H}K3jWeKM6I_J75@2y%8EsZXw(4u>N@pp>Il@~0t#%-$4zXCH)UTx! zVSMIbj<;EMPe8jXSo=gB?$%~oK4S?=vF&76+5HM=qgl6n!KS@?0$x~@#Xj*_s}LcC z5JJcwBvwO_yKJGfh+9A*)cCqh+p8YM>6@}_PpYp)9Wit-L0#X6HfoDFf_fZq6u+-! z>9{xe!5I;+Lehm85-gRGiGZtV^L00MMBImaw4he(#pPe?;;j$m6u_ddwLa9xywvIO zRE_65odDH)X9Z8Ws4m>&2nQ~gtgXW033+3&8XBfY>>MIw?WNQA3;;<(Ycn$9MLGfM z^mz_sg~?jpg)<`VfJ}hsi7c0@P2bh}(1XKp4`|0lY%I>cs(p|cO1Kj+gUskpLkTsb zKN;p=C0vD85(Jq!c$7B0xpzaITHmT=kUGmz9DQ}+E^*ZNFg%5}(oPM5;^>i%`iRJ= zDd`b6L);7T?L{%%4i|z}!pHj?mSMYkgzIx^UW`;{pnHy(*x^aaPbdM%$`b+{2q7fqKeM1UfvK28!~g&Q07*qoM6N<$g7cqf ADF6Tf literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00005.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00005.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00005.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00006.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00006.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution/00006.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering/00006.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00000.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00000.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00000.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00000.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00001.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00001.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00001.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00001.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00002.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..27384cb8bd9922a0b51da658cafea5ccdaa8b7b7 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|VF-ZuLG9=cSyVDoj{_nivj*^j~FO;jMX8BG~I^ZjYh4mqT9Q z#BHa;^zG-ZX5XNhzAdLy{-O0+q0HSLi8=b}ajV%cEHtkbdT;Rlks0fRoie|KUllwR zted{zwaxR`JIff1zVBXEfAjQbC!p~S@mX*FsO59redoyjPksU4l|3(|ZtU1SqgG_$ zI~UpcH)olib39!p8fMG2_3#S0{2SZNe#o6FoUZ$-^zn%`zb=N={BG*)mX|#9w~ot~)GomFO&k`|Ns-;g<~mU%6~o%@Lesuz_JW_r{i;v2p%?YN}r{{dw~H zit7`zzWlDfmX+)izEwVXcYW&l(|rGI_s^I!_sg!kM*k+CRhj%ZQ){K#@5zD9QzKf# lZh0D+N_2ezg(WgLyoWJwlZ;uA&En%AVNX{-mvv4FO#lPJtYH8E literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00003.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00003.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00003.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00003.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00004.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00004.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00004.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00004.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00005.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00005.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00005.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00005.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00006.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00006.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00006.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00006.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00007.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00007.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00007.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00007.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00008.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00008.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00008.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00008.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00009.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00009.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00009.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00009.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00010.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00010.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00010.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00010.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00011.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00011.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00011.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00011.png diff --git a/tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00012.png b/tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00012.png similarity index 100% rename from tests/ragger/snapshots/nanosp/test_eip712_address_substitution_verbose/00012.png rename to tests/ragger/snapshots/nanosp/test_eip712_advanced_filtering_verbose/00012.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00001.png b/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00001.png deleted file mode 100644 index 5ea6164a8f09cddcab0772b6940ee2ed3ac147f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|>x3ba4!+nDh2#^rmJ7o`%Hg zW!8!Ry-&rRYc`(gv*SgG%F4g{)mgjDCMG4`2I+qqw{g0-psn6gmU}1lg#>3e9F?Dc zC`I~{j8w>`N3%e(L9ni~mkKVA(6YQ14| zlPzlL(_1^&md@4r#v9r9Ufi^C^5?h-U;t-ZAP{Zof^ELT3xk~lc${APg_A2#ZAa|pKOjk$B!@=g85H=Gyd zibWSK-TuqOjD2UA^XylD*S~*Nf2O}-#qoo0E#h+0ZtiV7sPaat{)4FBy)!F5Yf zzszfNF@Bj~)}s9qmK{gd2P|n;nA{vK7zcD3GI(J2|I!43gUT}xi-LqbUHx3vIVCg! E0Dqgfm;e9( diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00002.png b/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00002.png deleted file mode 100644 index e9adb7c1d97fe855b51b4959b8e5dd43beaab5cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmV-Y0j>UtP)YMofNAg{IfrMxi2t+`+lJ^#oGcf%E8=PSP0D#*)qIck!T5I!3DJ5i2 zzFMtyS&5{6qj%sOQ$5mM5I@m7aDp-YG5T~@M*0FQ6VFwH^aaQ+eF2u8ey(94eF295 zy??Is0RV`%^9gqP*|Krb7BAJ&bHH>9zcZKjZuxr%eJ-W|O$y`N=5^k9I{&=;Rodm5}8nX0n^CW8N-%Jf6>4hR0ha-s> k0000000000001uY2cQ4mchRd&H2?qr07*qoM6N<$f-Vo4eEP@)+k$jgfEFlcoNftE&eQ%Wz6ixob;E-(t0D#ARjV|D1-}h=HrF1j% z>eY$-j4t5h2y~fn-w~?;SMrt7cBSf8c@5=urj%~pVXW`b1-w>9T&+>vrzxds^3j85 zs{K^-2DH1v)jmV74;spQz000000001hKl2Nk W9;9xsR+eP|0000)WEeC`}SBHgeb3m|77_WsW8pV)h7Ad^^+?CQHqXGa}aZ@Ec(|Gwh*tbk+#e9rtjaxPZ?jncx?V`mm~aw_k~pI4FB!l zw*5W3h~FVrrle=xk<)SpD(?+)lIX0YlB2R MUHx3vIVCg!0N>@Gh5!Hn diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00000.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00000.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution/00000.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00000.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00001.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..02ab24df7f555a4105a3a6af63b6bf8ba0274c09 GIT binary patch literal 478 zcmV<40U`d0P)F%$ju-s7y^%7b~*oH;@O008)*v9Mgc<}5CHrC@d=ChOl%omKJZ;?6ib zFf$TwcycdDos!zdQ9GKUwBuIXwyZ6eZbi^`CW!T2ySZGpy==6n@FF_{ioY9|Tk%jW zf4f4@3~<)q@0I5qJw|3gz9Qt+;V(PT;y}T>-`aNFkp^!;Gu^e**fx zIB&#ukL*vHIXgW7-CK(NGIgcc&xDN{x_Q(GNcC4`7$!d(%srKk|zMtvnuLDF{&NiwwiL4zYOHace1O|FKc*O zj0$H}@kjh1b0?c-_soK2aknjjnSuA;2-^eh5IC>HO$zK&r4N7{3|VlxoodujR+DSR zQKAkyyU(9jwqouj;Gzne;XcuBc0}2fp_A$TWhkzu_ZPz$WWrS_lM5#^246+G_gW2A z)xKihMAWwSnGC#Is|FY*86}`bi}!Ea=0~2~?F!(d^V4v3(`Q>Je9mgLvj!XlOA%AD z*Zr;nk;3PiaqkA8TSg4oYf8aZyHcx_!EO0+rSgdlcv^s0>u=3~#_Wq3B@!7_L>F@l zSyP%7ILfU6sKSw>pQ(*K97FhAz$4`7T$Tx+Do_Bx#8iJ1A8C_n|Eg|^i<+_!*%EN< z5u-*Sgb+dqc>`&GDUaW|BgJytAREFkC xo(9hfK$rXKXQPI6>iE`^vLzve5JCufBYzOl*p=49?GXR~002ovPDHLkV1fv#Ps;!R literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00003.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00003.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution/00003.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00003.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00004.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..b79b3d7e67262363d3fdfa3757e9b92eda1e06ec GIT binary patch literal 770 zcmV+d1O5DoP)6N7a@cYLI@$#`C0A28^>{o zmQspiY5n>^{H}K3jWeKM6I_J75@2y%8EsZXw(4u>N@pp>Il@~0t#%-$4zXCH)UTx! zVSMIbj<;EMPe8jXSo=gB?$%~oK4S?=vF&76+5HM=qgl6n!KS@?0$x~@#Xj*_s}LcC z5JJcwBvwO_yKJGfh+9A*)cCqh+p8YM>6@}_PpYp)9Wit-L0#X6HfoDFf_fZq6u+-! z>9{xe!5I;+Lehm85-gRGiGZtV^L00MMBImaw4he(#pPe?;;j$m6u_ddwLa9xywvIO zRE_65odDH)X9Z8Ws4m>&2nQ~gtgXW033+3&8XBfY>>MIw?WNQA3;;<(Ycn$9MLGfM z^mz_sg~?jpg)<`VfJ}hsi7c0@P2bh}(1XKp4`|0lY%I>cs(p|cO1Kj+gUskpLkTsb zKN;p=C0vD85(Jq!c$7B0xpzaITHmT=kUGmz9DQ}+E^*ZNFg%5}(oPM5;^>i%`iRJ= zDd`b6L);7T?L{%%4i|z}!pHj?mSMYkgzIx^UW`;{pnHy(*x^aaPbdM%$`b+{2q7fqKeM1UfvK28!~g&Q07*qoM6N<$g7cqf ADF6Tf literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00005.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution/00005.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00005.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution/00006.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00006.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution/00006.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering/00006.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00000.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00000.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00000.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00000.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00001.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00001.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00001.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00001.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00002.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..27384cb8bd9922a0b51da658cafea5ccdaa8b7b7 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|VF-ZuLG9=cSyVDoj{_nivj*^j~FO;jMX8BG~I^ZjYh4mqT9Q z#BHa;^zG-ZX5XNhzAdLy{-O0+q0HSLi8=b}ajV%cEHtkbdT;Rlks0fRoie|KUllwR zted{zwaxR`JIff1zVBXEfAjQbC!p~S@mX*FsO59redoyjPksU4l|3(|ZtU1SqgG_$ zI~UpcH)olib39!p8fMG2_3#S0{2SZNe#o6FoUZ$-^zn%`zb=N={BG*)mX|#9w~ot~)GomFO&k`|Ns-;g<~mU%6~o%@Lesuz_JW_r{i;v2p%?YN}r{{dw~H zit7`zzWlDfmX+)izEwVXcYW&l(|rGI_s^I!_sg!kM*k+CRhj%ZQ){K#@5zD9QzKf# lZh0D+N_2ezg(WgLyoWJwlZ;uA&En%AVNX{-mvv4FO#lPJtYH8E literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00003.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00003.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00003.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00003.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00004.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00004.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00004.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00004.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00005.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00005.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00005.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00005.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00006.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00006.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00006.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00006.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00007.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00007.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00007.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00007.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00008.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00008.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00008.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00008.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00009.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00009.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00009.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00009.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00010.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00010.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00010.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00010.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00011.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00011.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00011.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00011.png diff --git a/tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00012.png b/tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00012.png similarity index 100% rename from tests/ragger/snapshots/nanox/test_eip712_address_substitution_verbose/00012.png rename to tests/ragger/snapshots/nanox/test_eip712_advanced_filtering_verbose/00012.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution/00001.png b/tests/ragger/snapshots/stax/test_eip712_address_substitution/00001.png deleted file mode 100644 index 77c86c83872b379feae0c173821f26c59ba510cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7742 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 Yk~li#&VK>lC0BW#@cp^^Sop911Xsvx&;S4c diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution/00000.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00000.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution/00000.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00000.png diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00001.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..09e7b60660a7c7911c6882e7e0f6b8ee293f90e1 GIT binary patch literal 8734 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00002.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..146f3861895b3325f14bac0302da5b7af13ea5f3 GIT binary patch literal 12707 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution/00005.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00005.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution/00005.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00005.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution/00006.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00006.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution/00006.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00006.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00000.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00000.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00000.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00000.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00001.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00001.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00001.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00001.png diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00002.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..0bbc80f43061270b678fb1c1c84c1fec5e99bf0b GIT binary patch literal 7967 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 literal 0 HcmV?d00001 diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00003.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00003.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00003.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00003.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00004.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00004.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00004.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00004.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00005.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00005.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00005.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00005.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00006.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00006.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00006.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00006.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00007.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00007.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00007.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00007.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00008.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00008.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00008.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00008.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00009.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00009.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00009.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00009.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00010.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00010.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00010.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00010.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00011.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00011.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00011.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00011.png diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00012.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00012.png similarity index 100% rename from tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00012.png rename to tests/ragger/snapshots/stax/test_eip712_advanced_filtering_verbose/00012.png diff --git a/tests/ragger/test_eip712.py b/tests/ragger/test_eip712.py index 6059740..74a1233 100644 --- a/tests/ragger/test_eip712.py +++ b/tests/ragger/test_eip712.py @@ -180,12 +180,12 @@ def test_eip712_new(firmware: Firmware, assert recovered_addr == get_wallet_addr(app_client) -def test_eip712_address_substitution(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, - default_screenshot_path: Path, - test_name: str, - verbose: bool): +def test_eip712_advanced_filtering(firmware: Firmware, + backend: BackendInterface, + navigator: Navigator, + default_screenshot_path: Path, + test_name: str, + verbose: bool): global SNAPS_CONFIG app_client = EthAppClient(backend) @@ -195,25 +195,43 @@ def test_eip712_address_substitution(firmware: Firmware, if verbose: test_name += "_verbose" SNAPS_CONFIG = SnapshotsConfig(test_name) - with open(f"{eip712_json_path()}/address_substitution.json", encoding="utf-8") as file: - data = json.load(file) - app_client.provide_token_metadata("DAI", - bytes.fromhex(data["message"]["token"][2:]), - 18, - 1) - - challenge = ResponseParser.challenge(app_client.get_challenge().data) - app_client.provide_domain_name(challenge, - "vitalik.eth", - bytes.fromhex(data["message"]["to"][2:])) + data = { + "domain": { + "chainId": 1, + "name": "Advanced test", + "verifyingContract": "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", + "version": "1" + }, + "message": { + "from": "0xaAaAaAaaAaAaAaaAaAAAAAAAAaaaAaAaAaaAaaAa", + "to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", + "amount": 117, + "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F" + }, + "primaryType": "Transfer", + "types": { + "EIP712Domain": [ + {"name": "name", "type": "string"}, + {"name": "version", "type": "string"}, + {"name": "chainId", "type": "uint256"}, + {"name": "verifyingContract", "type": "address"} + ], + "Transfer": [ + {"name": "from", "type": "address"}, + {"name": "to", "type": "address"}, + {"name": "amount", "type": "uint256"}, + {"name": "token", "type": "address"} + ] + } + } if verbose: settings_toggle(firmware, navigator, [SettingID.VERBOSE_EIP712]) filters = None else: filters = { - "name": "Token test", + "name": "Advanced Filtering", "fields": { "amount": "Amount", "token": "Token",