From fa1cc5c6ecb7cc1557e6de616a20c9336129e9ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Palmer?= Date: Tue, 30 Jan 2024 17:19:00 +0100 Subject: [PATCH] Tests: check app context after some tests --- .../nanos/test_authorize_baking/chain_id.png | Bin 0 -> 285 bytes .../test_authorize_baking/high_watermark.png | Bin 0 -> 333 bytes .../public_key_hash_1.png | Bin 0 -> 559 bytes .../public_key_hash_2.png | Bin 0 -> 569 bytes .../nanos/test_deauthorize/chain_id.png | Bin 0 -> 285 bytes .../nanos/test_deauthorize/high_watermark.png | Bin 0 -> 333 bytes .../test_deauthorize/public_key_hash.png | Bin 0 -> 484 bytes .../nanos/test_reset_app_context/chain_id.png | Bin 0 -> 285 bytes .../test_reset_app_context/high_watermark.png | Bin 0 -> 329 bytes .../public_key_hash.png | Bin 0 -> 484 bytes .../nanos/test_setup_app_context/chain_id.png | Bin 0 -> 421 bytes .../test_setup_app_context/high_watermark.png | Bin 0 -> 329 bytes .../public_key_hash_1.png | Bin 0 -> 559 bytes .../public_key_hash_2.png | Bin 0 -> 569 bytes .../nanos/test_sign_attestation/chain_id.png | Bin 0 -> 285 bytes .../test_sign_attestation/high_watermark.png | Bin 0 -> 352 bytes .../public_key_hash_1.png | Bin 0 -> 559 bytes .../public_key_hash_2.png | Bin 0 -> 569 bytes .../test_sign_attestation_dal/chain_id.png | Bin 0 -> 285 bytes .../high_watermark.png | Bin 0 -> 352 bytes .../public_key_hash_1.png | Bin 0 -> 559 bytes .../public_key_hash_2.png | Bin 0 -> 569 bytes .../nanos/test_sign_block/chain_id.png | Bin 0 -> 285 bytes .../nanos/test_sign_block/high_watermark.png | Bin 0 -> 352 bytes .../test_sign_block/public_key_hash_1.png | Bin 0 -> 559 bytes .../test_sign_block/public_key_hash_2.png | Bin 0 -> 569 bytes .../test_sign_preattestation/chain_id.png | Bin 0 -> 285 bytes .../high_watermark.png | Bin 0 -> 352 bytes .../public_key_hash_1.png | Bin 0 -> 559 bytes .../public_key_hash_2.png | Bin 0 -> 569 bytes .../nanosp/test_authorize_baking/chain_id.png | Bin 0 -> 320 bytes .../test_authorize_baking/high_watermark.png | Bin 0 -> 387 bytes .../test_authorize_baking/public_key_hash.png | Bin 0 -> 792 bytes .../nanosp/test_deauthorize/chain_id.png | Bin 0 -> 320 bytes .../test_deauthorize/high_watermark.png | Bin 0 -> 387 bytes .../test_deauthorize/public_key_hash.png | Bin 0 -> 548 bytes .../test_reset_app_context/chain_id.png | Bin 0 -> 320 bytes .../test_reset_app_context/high_watermark.png | Bin 0 -> 385 bytes .../public_key_hash.png | Bin 0 -> 548 bytes .../test_setup_app_context/chain_id.png | Bin 0 -> 460 bytes .../test_setup_app_context/high_watermark.png | Bin 0 -> 385 bytes .../public_key_hash.png | Bin 0 -> 792 bytes .../nanosp/test_sign_attestation/chain_id.png | Bin 0 -> 320 bytes .../test_sign_attestation/high_watermark.png | Bin 0 -> 416 bytes .../test_sign_attestation/public_key_hash.png | Bin 0 -> 792 bytes .../test_sign_attestation_dal/chain_id.png | Bin 0 -> 320 bytes .../high_watermark.png | Bin 0 -> 416 bytes .../public_key_hash.png | Bin 0 -> 792 bytes .../nanosp/test_sign_block/chain_id.png | Bin 0 -> 320 bytes .../nanosp/test_sign_block/high_watermark.png | Bin 0 -> 416 bytes .../test_sign_block/public_key_hash.png | Bin 0 -> 792 bytes .../test_sign_preattestation/chain_id.png | Bin 0 -> 320 bytes .../high_watermark.png | Bin 0 -> 416 bytes .../public_key_hash.png | Bin 0 -> 792 bytes .../nanox/test_authorize_baking/chain_id.png | Bin 0 -> 320 bytes .../test_authorize_baking/high_watermark.png | Bin 0 -> 387 bytes .../test_authorize_baking/public_key_hash.png | Bin 0 -> 792 bytes .../nanox/test_deauthorize/chain_id.png | Bin 0 -> 320 bytes .../nanox/test_deauthorize/high_watermark.png | Bin 0 -> 387 bytes .../test_deauthorize/public_key_hash.png | Bin 0 -> 548 bytes .../nanox/test_reset_app_context/chain_id.png | Bin 0 -> 320 bytes .../test_reset_app_context/high_watermark.png | Bin 0 -> 385 bytes .../public_key_hash.png | Bin 0 -> 548 bytes .../nanox/test_setup_app_context/chain_id.png | Bin 0 -> 460 bytes .../test_setup_app_context/high_watermark.png | Bin 0 -> 385 bytes .../public_key_hash.png | Bin 0 -> 792 bytes .../nanox/test_sign_attestation/chain_id.png | Bin 0 -> 320 bytes .../test_sign_attestation/high_watermark.png | Bin 0 -> 416 bytes .../test_sign_attestation/public_key_hash.png | Bin 0 -> 792 bytes .../test_sign_attestation_dal/chain_id.png | Bin 0 -> 320 bytes .../high_watermark.png | Bin 0 -> 416 bytes .../public_key_hash.png | Bin 0 -> 792 bytes .../nanox/test_sign_block/chain_id.png | Bin 0 -> 320 bytes .../nanox/test_sign_block/high_watermark.png | Bin 0 -> 416 bytes .../nanox/test_sign_block/public_key_hash.png | Bin 0 -> 792 bytes .../test_sign_preattestation/chain_id.png | Bin 0 -> 320 bytes .../high_watermark.png | Bin 0 -> 416 bytes .../public_key_hash.png | Bin 0 -> 792 bytes .../test_authorize_baking/app_context.png | Bin 0 -> 14438 bytes .../stax/test_deauthorize/app_context.png | Bin 0 -> 12005 bytes .../test_reset_app_context/app_context.png | Bin 0 -> 11800 bytes .../test_setup_app_context/app_context.png | Bin 0 -> 15578 bytes .../test_sign_attestation/app_context.png | Bin 0 -> 14449 bytes .../test_sign_attestation_dal/app_context.png | Bin 0 -> 14449 bytes .../stax/test_sign_block/app_context.png | Bin 0 -> 14449 bytes .../test_sign_preattestation/app_context.png | Bin 0 -> 14449 bytes test/python/test_instructions.py | 138 ++++++++++++------ test/python/utils/navigator.py | 65 ++++++++- 88 files changed, 156 insertions(+), 47 deletions(-) create mode 100644 test/python/snapshots/nanos/test_authorize_baking/chain_id.png create mode 100644 test/python/snapshots/nanos/test_authorize_baking/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_authorize_baking/public_key_hash_1.png create mode 100644 test/python/snapshots/nanos/test_authorize_baking/public_key_hash_2.png create mode 100644 test/python/snapshots/nanos/test_deauthorize/chain_id.png create mode 100644 test/python/snapshots/nanos/test_deauthorize/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_deauthorize/public_key_hash.png create mode 100644 test/python/snapshots/nanos/test_reset_app_context/chain_id.png create mode 100644 test/python/snapshots/nanos/test_reset_app_context/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_reset_app_context/public_key_hash.png create mode 100644 test/python/snapshots/nanos/test_setup_app_context/chain_id.png create mode 100644 test/python/snapshots/nanos/test_setup_app_context/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_setup_app_context/public_key_hash_1.png create mode 100644 test/python/snapshots/nanos/test_setup_app_context/public_key_hash_2.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation/chain_id.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation/public_key_hash_1.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation/public_key_hash_2.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation_dal/chain_id.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation_dal/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation_dal/public_key_hash_1.png create mode 100644 test/python/snapshots/nanos/test_sign_attestation_dal/public_key_hash_2.png create mode 100644 test/python/snapshots/nanos/test_sign_block/chain_id.png create mode 100644 test/python/snapshots/nanos/test_sign_block/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_sign_block/public_key_hash_1.png create mode 100644 test/python/snapshots/nanos/test_sign_block/public_key_hash_2.png create mode 100644 test/python/snapshots/nanos/test_sign_preattestation/chain_id.png create mode 100644 test/python/snapshots/nanos/test_sign_preattestation/high_watermark.png create mode 100644 test/python/snapshots/nanos/test_sign_preattestation/public_key_hash_1.png create mode 100644 test/python/snapshots/nanos/test_sign_preattestation/public_key_hash_2.png create mode 100644 test/python/snapshots/nanosp/test_authorize_baking/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_authorize_baking/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_authorize_baking/public_key_hash.png create mode 100644 test/python/snapshots/nanosp/test_deauthorize/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_deauthorize/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_deauthorize/public_key_hash.png create mode 100644 test/python/snapshots/nanosp/test_reset_app_context/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_reset_app_context/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_reset_app_context/public_key_hash.png create mode 100644 test/python/snapshots/nanosp/test_setup_app_context/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_setup_app_context/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_setup_app_context/public_key_hash.png create mode 100644 test/python/snapshots/nanosp/test_sign_attestation/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_sign_attestation/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_sign_attestation/public_key_hash.png create mode 100644 test/python/snapshots/nanosp/test_sign_attestation_dal/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_sign_attestation_dal/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_sign_attestation_dal/public_key_hash.png create mode 100644 test/python/snapshots/nanosp/test_sign_block/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_sign_block/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_sign_block/public_key_hash.png create mode 100644 test/python/snapshots/nanosp/test_sign_preattestation/chain_id.png create mode 100644 test/python/snapshots/nanosp/test_sign_preattestation/high_watermark.png create mode 100644 test/python/snapshots/nanosp/test_sign_preattestation/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_authorize_baking/chain_id.png create mode 100644 test/python/snapshots/nanox/test_authorize_baking/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_authorize_baking/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_deauthorize/chain_id.png create mode 100644 test/python/snapshots/nanox/test_deauthorize/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_deauthorize/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_reset_app_context/chain_id.png create mode 100644 test/python/snapshots/nanox/test_reset_app_context/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_reset_app_context/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_setup_app_context/chain_id.png create mode 100644 test/python/snapshots/nanox/test_setup_app_context/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_setup_app_context/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_sign_attestation/chain_id.png create mode 100644 test/python/snapshots/nanox/test_sign_attestation/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_sign_attestation/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_sign_attestation_dal/chain_id.png create mode 100644 test/python/snapshots/nanox/test_sign_attestation_dal/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_sign_attestation_dal/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_sign_block/chain_id.png create mode 100644 test/python/snapshots/nanox/test_sign_block/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_sign_block/public_key_hash.png create mode 100644 test/python/snapshots/nanox/test_sign_preattestation/chain_id.png create mode 100644 test/python/snapshots/nanox/test_sign_preattestation/high_watermark.png create mode 100644 test/python/snapshots/nanox/test_sign_preattestation/public_key_hash.png create mode 100644 test/python/snapshots/stax/test_authorize_baking/app_context.png create mode 100644 test/python/snapshots/stax/test_deauthorize/app_context.png create mode 100644 test/python/snapshots/stax/test_reset_app_context/app_context.png create mode 100644 test/python/snapshots/stax/test_setup_app_context/app_context.png create mode 100644 test/python/snapshots/stax/test_sign_attestation/app_context.png create mode 100644 test/python/snapshots/stax/test_sign_attestation_dal/app_context.png create mode 100644 test/python/snapshots/stax/test_sign_block/app_context.png create mode 100644 test/python/snapshots/stax/test_sign_preattestation/app_context.png diff --git a/test/python/snapshots/nanos/test_authorize_baking/chain_id.png b/test/python/snapshots/nanos/test_authorize_baking/chain_id.png new file mode 100644 index 0000000000000000000000000000000000000000..a13210c52a6eb3a2f15d18a824724d6551fb962e GIT binary patch literal 285 zcmV+&0pk9NP)PW&?q5fLd4OA%{Crx26D00000NkvXXu0mjfpvrS# literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_authorize_baking/high_watermark.png b/test/python/snapshots/nanos/test_authorize_baking/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b562f29721186c88fc1a36f15d8cbaff4bcd64 GIT binary patch literal 333 zcmV-T0kZyyP)%X zW9v>~+aFq~Lp_hG!&qUS@^x<^hfD-WRNmEzd&_F2yXu)2Ron8-b|)KCA%>JF_?7Fs zKS-OuJf>x_G*rEH+iIlBhOOOdGhG2g_fzl1>n1PBHK1OowrfdF8H<&L2M f00000fQX2Gqf@}8e`>>)00000NkvXXu0mjfxZ;X> literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_authorize_baking/public_key_hash_1.png b/test/python/snapshots/nanos/test_authorize_baking/public_key_hash_1.png new file mode 100644 index 0000000000000000000000000000000000000000..50537f7545c1cb95e64dedcd23e3b1d04dc9b5ed GIT binary patch literal 559 zcmV+~0?_@5P)ZUPwZNP)>XbRG!X z0Sze|9qs3pEGd z#JP8&v*W*!Z$@<}Yu21djtt#Iddtii=yLPA+th7KH^;}M_dTyb+QG#Q2<)6$1LPK2_Im(> z4JPzcz^K)yWiB61RU{j_#xF5>X(DU?{Zbl+SOMnB_0GeoIm9O8g`thJ?3i7^3NZ0X xm=`p`;m|lbzi;A@4>E-`TqAi|C=?18#RJ!@m~(NYZ)5-f002ovPDHLkV1fe>`k?>- literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_authorize_baking/public_key_hash_2.png b/test/python/snapshots/nanos/test_authorize_baking/public_key_hash_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a30fbd958349d4762e483737696ec94262127b42 GIT binary patch literal 569 zcmV-90>=G`P)sI5;qIy?%dHPC#^tSD6_D zcqN!KcR`Iqq{!7aFOYGhp;aOlZ?=1O0#piEB@Fnga+o$fzV-hRiDHQ`Y?8THmCTm4 z36WnK08E;R)&y8kvr@pdlqfMkc@9)P>O&`^97Lck%gG$8kWY*Nmw;tYhib8_A{DU% z8k!?(o&F}ZTmn{}N|}QpyQ`I_AqQB*ukh*Hehp#{@M=$GAUBd29sSVt4!}JRFeP`} zVoT?MVP;@8NL8K1i3A;iRNIo0F|F%lEH-jfTdYx@?te+E&v`!o5P$2 zbtq^F7DHXU9XVpOHU-94#etnUg=jIE7}7Uk(!(p8i~~0H{xYM(xn8&5-vgb1ynzMh zDAMB%mPeZuuRQ5*kOf}LyfTzKy2sJW2BiZxmEvix;JS)RPVjm#(4By{+?=JK0PPW&?q5fLd4OA%{Crx26D00000NkvXXu0mjfpvrS# literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_deauthorize/high_watermark.png b/test/python/snapshots/nanos/test_deauthorize/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b562f29721186c88fc1a36f15d8cbaff4bcd64 GIT binary patch literal 333 zcmV-T0kZyyP)%X zW9v>~+aFq~Lp_hG!&qUS@^x<^hfD-WRNmEzd&_F2yXu)2Ron8-b|)KCA%>JF_?7Fs zKS-OuJf>x_G*rEH+iIlBhOOOdGhG2g_fzl1>n1PBHK1OowrfdF8H<&L2M f00000fQX2Gqf@}8e`>>)00000NkvXXu0mjfxZ;X> literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_deauthorize/public_key_hash.png b/test/python/snapshots/nanos/test_deauthorize/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..08266a9afca29337f8ee27d98a2176f1e14f3038 GIT binary patch literal 484 zcmV_6OR^CuUyNvP%*8+I=4i?ZX60D03Xv`+ijoY^rBG{zdZ9ctX*URLT8Ncb$BloDn< zL(a!xv&xyS4b2Pri4eJEPWO^j4bJ3W%tC2#Sch$D;=GD!yVpfA^}5Tai-RR@v;gz1 zA0S!V7>{Lr5hK-@HiID@jq|B_kHvy(TO>}@Bv0Z@K!bKA(jY)LB)c}wiQF0rPJ~xz zE>JfU*+9r&ndf*VCbS@fLPFl6-?JZ`eWf@f#XbJ|MGyZTFsWi@*r&PbLURSM^+ay{ z06s~B_-Qx$_W&S6D&<3iiiyV!_zH&Y1)s{eV96m94xSGqxZ3kb{PG8x!k^?SW>FNy awRi(sD^9E>WYbXq0000PW&?q5fLd4OA%{Crx26D00000NkvXXu0mjfpvrS# literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_reset_app_context/high_watermark.png b/test/python/snapshots/nanos/test_reset_app_context/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb4b637a2e9d25f0283faf4deafab7ff42ab831 GIT binary patch literal 329 zcmV-P0k-~$P)R2}vzwKKvv9xEUyErMFsPBO2w<$0hoYP zP+yA>0R&|;(7+S7EChn%K5W5pJIYzT?V$Zx2263d0DC`0fC32M3_6OR^CuUyNvP%*8+I=4i?ZX60D03Xv`+ijoY^rBG{zdZ9ctX*URLT8Ncb$BloDn< zL(a!xv&xyS4b2Pri4eJEPWO^j4bJ3W%tC2#Sch$D;=GD!yVpfA^}5Tai-RR@v;gz1 zA0S!V7>{Lr5hK-@HiID@jq|B_kHvy(TO>}@Bv0Z@K!bKA(jY)LB)c}wiQF0rPJ~xz zE>JfU*+9r&ndf*VCbS@fLPFl6-?JZ`eWf@f#XbJ|MGyZTFsWi@*r&PbLURSM^+ay{ z06s~B_-Qx$_W&S6D&<3iiiyV!_zH&Y1)s{eV96m94xSGqxZ3kb{PG8x!k^?SW>FNy awRi(sD^9E>WYbXq0000T(kuIFE6p;WLW0U`;3x_C@kDAKk0RR91Ovm>A{<6h55VS&dr^d_i zIy-)mx4D8s466~GuQTd*LSfV{qrM$DOIzc*%m6b(Co z=76;mrN#1XC}Fd(BPChH0F2ldQ`z&lGwr6>MTFdk;F1+N=npgn0NjZW!;cVr1LKx4 P00000NkvXXu0mjfa~`>T literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_setup_app_context/high_watermark.png b/test/python/snapshots/nanos/test_setup_app_context/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb4b637a2e9d25f0283faf4deafab7ff42ab831 GIT binary patch literal 329 zcmV-P0k-~$P)R2}vzwKKvv9xEUyErMFsPBO2w<$0hoYP zP+yA>0R&|;(7+S7EChn%K5W5pJIYzT?V$Zx2263d0DC`0fC32M3ZUPwZNP)>XbRG!X z0Sze|9qs3pEGd z#JP8&v*W*!Z$@<}Yu21djtt#Iddtii=yLPA+th7KH^;}M_dTyb+QG#Q2<)6$1LPK2_Im(> z4JPzcz^K)yWiB61RU{j_#xF5>X(DU?{Zbl+SOMnB_0GeoIm9O8g`thJ?3i7^3NZ0X xm=`p`;m|lbzi;A@4>E-`TqAi|C=?18#RJ!@m~(NYZ)5-f002ovPDHLkV1fe>`k?>- literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_setup_app_context/public_key_hash_2.png b/test/python/snapshots/nanos/test_setup_app_context/public_key_hash_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a30fbd958349d4762e483737696ec94262127b42 GIT binary patch literal 569 zcmV-90>=G`P)sI5;qIy?%dHPC#^tSD6_D zcqN!KcR`Iqq{!7aFOYGhp;aOlZ?=1O0#piEB@Fnga+o$fzV-hRiDHQ`Y?8THmCTm4 z36WnK08E;R)&y8kvr@pdlqfMkc@9)P>O&`^97Lck%gG$8kWY*Nmw;tYhib8_A{DU% z8k!?(o&F}ZTmn{}N|}QpyQ`I_AqQB*ukh*Hehp#{@M=$GAUBd29sSVt4!}JRFeP`} zVoT?MVP;@8NL8K1i3A;iRNIo0F|F%lEH-jfTdYx@?te+E&v`!o5P$2 zbtq^F7DHXU9XVpOHU-94#etnUg=jIE7}7Uk(!(p8i~~0H{xYM(xn8&5-vgb1ynzMh zDAMB%mPeZuuRQ5*kOf}LyfTzKy2sJW2BiZxmEvix;JS)RPVjm#(4By{+?=JK0PPW&?q5fLd4OA%{Crx26D00000NkvXXu0mjfpvrS# literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_attestation/high_watermark.png b/test/python/snapshots/nanos/test_sign_attestation/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..d14e7b22b04f3b22b1e97010c22032bb2bc44f36 GIT binary patch literal 352 zcmV-m0iXVfP)@wycR{1neR9cSK`7KJOMX~Mm&2lFTLm`GUQP5AW zul`8V_@zF*7OxFOX;oc?R9R?iH``2S02?5#ROL5!;ErUwvG1RPC^SX%BW5=C)Jd{k z4Ez^i%CbJ_H?z~!>|V4z!gC^KKr)&HTGl?p+@mXUL*=AfJ0*OLis62KK>#wU?F05L zY=`<;1P{O|gFy@;3Cltt1+K$ZXsgH+3(U*ASLe=E%v45>Jqh>ol9R9ZUPwZNP)>XbRG!X z0Sze|9qs3pEGd z#JP8&v*W*!Z$@<}Yu21djtt#Iddtii=yLPA+th7KH^;}M_dTyb+QG#Q2<)6$1LPK2_Im(> z4JPzcz^K)yWiB61RU{j_#xF5>X(DU?{Zbl+SOMnB_0GeoIm9O8g`thJ?3i7^3NZ0X xm=`p`;m|lbzi;A@4>E-`TqAi|C=?18#RJ!@m~(NYZ)5-f002ovPDHLkV1fe>`k?>- literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_attestation/public_key_hash_2.png b/test/python/snapshots/nanos/test_sign_attestation/public_key_hash_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a30fbd958349d4762e483737696ec94262127b42 GIT binary patch literal 569 zcmV-90>=G`P)sI5;qIy?%dHPC#^tSD6_D zcqN!KcR`Iqq{!7aFOYGhp;aOlZ?=1O0#piEB@Fnga+o$fzV-hRiDHQ`Y?8THmCTm4 z36WnK08E;R)&y8kvr@pdlqfMkc@9)P>O&`^97Lck%gG$8kWY*Nmw;tYhib8_A{DU% z8k!?(o&F}ZTmn{}N|}QpyQ`I_AqQB*ukh*Hehp#{@M=$GAUBd29sSVt4!}JRFeP`} zVoT?MVP;@8NL8K1i3A;iRNIo0F|F%lEH-jfTdYx@?te+E&v`!o5P$2 zbtq^F7DHXU9XVpOHU-94#etnUg=jIE7}7Uk(!(p8i~~0H{xYM(xn8&5-vgb1ynzMh zDAMB%mPeZuuRQ5*kOf}LyfTzKy2sJW2BiZxmEvix;JS)RPVjm#(4By{+?=JK0PPW&?q5fLd4OA%{Crx26D00000NkvXXu0mjfpvrS# literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_attestation_dal/high_watermark.png b/test/python/snapshots/nanos/test_sign_attestation_dal/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..d14e7b22b04f3b22b1e97010c22032bb2bc44f36 GIT binary patch literal 352 zcmV-m0iXVfP)@wycR{1neR9cSK`7KJOMX~Mm&2lFTLm`GUQP5AW zul`8V_@zF*7OxFOX;oc?R9R?iH``2S02?5#ROL5!;ErUwvG1RPC^SX%BW5=C)Jd{k z4Ez^i%CbJ_H?z~!>|V4z!gC^KKr)&HTGl?p+@mXUL*=AfJ0*OLis62KK>#wU?F05L zY=`<;1P{O|gFy@;3Cltt1+K$ZXsgH+3(U*ASLe=E%v45>Jqh>ol9R9ZUPwZNP)>XbRG!X z0Sze|9qs3pEGd z#JP8&v*W*!Z$@<}Yu21djtt#Iddtii=yLPA+th7KH^;}M_dTyb+QG#Q2<)6$1LPK2_Im(> z4JPzcz^K)yWiB61RU{j_#xF5>X(DU?{Zbl+SOMnB_0GeoIm9O8g`thJ?3i7^3NZ0X xm=`p`;m|lbzi;A@4>E-`TqAi|C=?18#RJ!@m~(NYZ)5-f002ovPDHLkV1fe>`k?>- literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_attestation_dal/public_key_hash_2.png b/test/python/snapshots/nanos/test_sign_attestation_dal/public_key_hash_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a30fbd958349d4762e483737696ec94262127b42 GIT binary patch literal 569 zcmV-90>=G`P)sI5;qIy?%dHPC#^tSD6_D zcqN!KcR`Iqq{!7aFOYGhp;aOlZ?=1O0#piEB@Fnga+o$fzV-hRiDHQ`Y?8THmCTm4 z36WnK08E;R)&y8kvr@pdlqfMkc@9)P>O&`^97Lck%gG$8kWY*Nmw;tYhib8_A{DU% z8k!?(o&F}ZTmn{}N|}QpyQ`I_AqQB*ukh*Hehp#{@M=$GAUBd29sSVt4!}JRFeP`} zVoT?MVP;@8NL8K1i3A;iRNIo0F|F%lEH-jfTdYx@?te+E&v`!o5P$2 zbtq^F7DHXU9XVpOHU-94#etnUg=jIE7}7Uk(!(p8i~~0H{xYM(xn8&5-vgb1ynzMh zDAMB%mPeZuuRQ5*kOf}LyfTzKy2sJW2BiZxmEvix;JS)RPVjm#(4By{+?=JK0PPW&?q5fLd4OA%{Crx26D00000NkvXXu0mjfpvrS# literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_block/high_watermark.png b/test/python/snapshots/nanos/test_sign_block/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..d14e7b22b04f3b22b1e97010c22032bb2bc44f36 GIT binary patch literal 352 zcmV-m0iXVfP)@wycR{1neR9cSK`7KJOMX~Mm&2lFTLm`GUQP5AW zul`8V_@zF*7OxFOX;oc?R9R?iH``2S02?5#ROL5!;ErUwvG1RPC^SX%BW5=C)Jd{k z4Ez^i%CbJ_H?z~!>|V4z!gC^KKr)&HTGl?p+@mXUL*=AfJ0*OLis62KK>#wU?F05L zY=`<;1P{O|gFy@;3Cltt1+K$ZXsgH+3(U*ASLe=E%v45>Jqh>ol9R9ZUPwZNP)>XbRG!X z0Sze|9qs3pEGd z#JP8&v*W*!Z$@<}Yu21djtt#Iddtii=yLPA+th7KH^;}M_dTyb+QG#Q2<)6$1LPK2_Im(> z4JPzcz^K)yWiB61RU{j_#xF5>X(DU?{Zbl+SOMnB_0GeoIm9O8g`thJ?3i7^3NZ0X xm=`p`;m|lbzi;A@4>E-`TqAi|C=?18#RJ!@m~(NYZ)5-f002ovPDHLkV1fe>`k?>- literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_block/public_key_hash_2.png b/test/python/snapshots/nanos/test_sign_block/public_key_hash_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a30fbd958349d4762e483737696ec94262127b42 GIT binary patch literal 569 zcmV-90>=G`P)sI5;qIy?%dHPC#^tSD6_D zcqN!KcR`Iqq{!7aFOYGhp;aOlZ?=1O0#piEB@Fnga+o$fzV-hRiDHQ`Y?8THmCTm4 z36WnK08E;R)&y8kvr@pdlqfMkc@9)P>O&`^97Lck%gG$8kWY*Nmw;tYhib8_A{DU% z8k!?(o&F}ZTmn{}N|}QpyQ`I_AqQB*ukh*Hehp#{@M=$GAUBd29sSVt4!}JRFeP`} zVoT?MVP;@8NL8K1i3A;iRNIo0F|F%lEH-jfTdYx@?te+E&v`!o5P$2 zbtq^F7DHXU9XVpOHU-94#etnUg=jIE7}7Uk(!(p8i~~0H{xYM(xn8&5-vgb1ynzMh zDAMB%mPeZuuRQ5*kOf}LyfTzKy2sJW2BiZxmEvix;JS)RPVjm#(4By{+?=JK0PPW&?q5fLd4OA%{Crx26D00000NkvXXu0mjfpvrS# literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_preattestation/high_watermark.png b/test/python/snapshots/nanos/test_sign_preattestation/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..d14e7b22b04f3b22b1e97010c22032bb2bc44f36 GIT binary patch literal 352 zcmV-m0iXVfP)@wycR{1neR9cSK`7KJOMX~Mm&2lFTLm`GUQP5AW zul`8V_@zF*7OxFOX;oc?R9R?iH``2S02?5#ROL5!;ErUwvG1RPC^SX%BW5=C)Jd{k z4Ez^i%CbJ_H?z~!>|V4z!gC^KKr)&HTGl?p+@mXUL*=AfJ0*OLis62KK>#wU?F05L zY=`<;1P{O|gFy@;3Cltt1+K$ZXsgH+3(U*ASLe=E%v45>Jqh>ol9R9ZUPwZNP)>XbRG!X z0Sze|9qs3pEGd z#JP8&v*W*!Z$@<}Yu21djtt#Iddtii=yLPA+th7KH^;}M_dTyb+QG#Q2<)6$1LPK2_Im(> z4JPzcz^K)yWiB61RU{j_#xF5>X(DU?{Zbl+SOMnB_0GeoIm9O8g`thJ?3i7^3NZ0X xm=`p`;m|lbzi;A@4>E-`TqAi|C=?18#RJ!@m~(NYZ)5-f002ovPDHLkV1fe>`k?>- literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_sign_preattestation/public_key_hash_2.png b/test/python/snapshots/nanos/test_sign_preattestation/public_key_hash_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a30fbd958349d4762e483737696ec94262127b42 GIT binary patch literal 569 zcmV-90>=G`P)sI5;qIy?%dHPC#^tSD6_D zcqN!KcR`Iqq{!7aFOYGhp;aOlZ?=1O0#piEB@Fnga+o$fzV-hRiDHQ`Y?8THmCTm4 z36WnK08E;R)&y8kvr@pdlqfMkc@9)P>O&`^97Lck%gG$8kWY*Nmw;tYhib8_A{DU% z8k!?(o&F}ZTmn{}N|}QpyQ`I_AqQB*ukh*Hehp#{@M=$GAUBd29sSVt4!}JRFeP`} zVoT?MVP;@8NL8K1i3A;iRNIo0F|F%lEH-jfTdYx@?te+E&v`!o5P$2 zbtq^F7DHXU9XVpOHU-94#etnUg=jIE7}7Uk(!(p8i~~0H{xYM(xn8&5-vgb1ynzMh zDAMB%mPeZuuRQ5*kOf}LyfTzKy2sJW2BiZxmEvix;JS)RPVjm#(4By{+?=JK0P&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_authorize_baking/high_watermark.png b/test/python/snapshots/nanosp/test_authorize_baking/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..3d322dbddaabab79507fb143d6bd64ef0b06462c GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s}ba4!+nDh2VF5e*qo`yt| zdrQ9CUwZeb-&JKx4Ua_6liE5>$qQR^7Mx=QYP!64R<+#mhjWA{o_U^h{LzfBhtHX- zEcw15;h)PA%Vip0<9q{4*X!1_^=GV0I|Lhj0**J{f&k>VRi z_dH!)HNRoj(&x(D&TBZY?{TY}v#a=SUYG`t-5TFIv0|3ZPbb||SJ-;#eefLZsqccH zTAe*JDN4-raMt5^$6HI)ztkN2y2$(Ox1S4tG4HF+?Y-Z!bzbhy++CT)JKtHI)j04m zxN`5gge~1KE-w1^A=^1CX!8@>cM{9)tMqe!WK6SRJdyEVHRfJpXx2& zG$p@C5=k)R+91Ii(ZghOCQiNUZQsJyjPJW<`l?R$`L^6J$oHH2Vm9rMVo{y76{?rG efuVs6?mXjW@?`5cmyvWBB<$(x=d#Wzp$P!@3aw!P literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_authorize_baking/public_key_hash.png b/test/python/snapshots/nanosp/test_authorize_baking/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b2f3cf554b7aa217556d3e6cf141d988316072 GIT binary patch literal 792 zcmV+z1LypSP)&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_deauthorize/high_watermark.png b/test/python/snapshots/nanosp/test_deauthorize/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..3d322dbddaabab79507fb143d6bd64ef0b06462c GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s}ba4!+nDh2VF5e*qo`yt| zdrQ9CUwZeb-&JKx4Ua_6liE5>$qQR^7Mx=QYP!64R<+#mhjWA{o_U^h{LzfBhtHX- zEcw15;h)PA%Vip0<9q{4*X!1_^=GV0I|Lhj0**J{f&k>VRi z_dH!)HNRoj(&x(D&TBZY?{TY}v#a=SUYG`t-5TFIv0|3ZPbb||SJ-;#eefLZsqccH zTAe*JDN4-raMt5^$6HI)ztkN2y2$(Ox1S4tG4HF+?Y-Z!bzbhy++CT)JKtHI)j04m zxN`5gge~1KE-w1^A=^1CX!8@>cM{9)tMqe!WK6SRJdyEVHRfJpXx2& zG$p@C5=k)R+91Ii(ZghOCQiNUZQsJyjPJW<`l?R$`L^6J$oHH2Vm9rMVo{y76{?rG efuVs6?mXjW@?`5cmyvWBB<$(x=d#Wzp$P!@3aw!P literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_deauthorize/public_key_hash.png b/test/python/snapshots/nanosp/test_deauthorize/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..c9472dc429c6f009ac045000e9168eec7b85c048 GIT binary patch literal 548 zcmV+<0^9wGP)7Gr6YHKNpPCY-JI#=N_WChqUMj4Y;TNbtKNBIy!+FO+DhY-p}n%XIUa*Rk}zzWEsG^*4>w_D4y z?2DvKv|?mb-%lAZ0qeVP>@a#HH8BP8C7+p6s>i|778FqiU>uu$_cE$%-P;76SrZ_Z ziLoAIaxL;%%^J1tx=t;>ec!c|&iPotGc5?dg8j=M0N{O;TeQ1cJ+0aI-)goOx0Z7k z)R{r|R{GLydhdVtF5B!ok0P!tD1Wt-qaN{AK(uL@s#GSOp61O#`DGc2c;TTaE+QSF z_#nn4ZVDA6;;1s$wP&Az62CFdbuH*{9d(H+_T73cc8BX8%5^!=`}hkPowCn3E&`ur zqvL2_CDz^_nN3k(ecK&-_*{}tz+Hdo9AwW;t?Pi-s8X(*P+Z7l@`_EP-|Uqm27Idu z8|mF)fgjt1F^THv_8Im*kxW7u;3i}Kp7YCn=inQ7K^OYRG?L65Ooj9U0000000000 m000000000000000Oydt?*W*weAoExN0000&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_reset_app_context/high_watermark.png b/test/python/snapshots/nanosp/test_reset_app_context/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..90633d62552dc9cf0d85e14a7a203be008f3388b GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s{ba4!+nDh2}AYZcrPebCi zH)?zTPuz1_?u^7jR>28bpX&Xk1y|^Hv;nm+=zM?mZf9;Zhog(uetv7YzMFP$s)C)W z{JEa_yX;Cn6(qk^B=mb#%lR*YXG3LG7WkgmPZZbJCt>A3-6ZI9=*WaeKUV3o()|GTacY|m@$-9h8r`F9qywmIDJ=1lU zPw6a8y=b(??7!fWxwjVnmb>1)uH@GBb}9ZJueO^07r5ru_jKROX=g>-UT;~%aNGa! zSF7fmnv2{|-@3eCcBSUopz__<4gRX^jO{Srki@=V(SPq9tv?qqFeEVDTVwNf<#L8| z^WqrxG0zEPNEbOE$yzW?{K3ogTW4jLOn;*v;A3<%{+Ng9&G;UvibtAHI*V@zzhni4 c1`^Qw%&PL5`Qxryg9?zSr>mdKI;Vst0FhLxssI20 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_reset_app_context/public_key_hash.png b/test/python/snapshots/nanosp/test_reset_app_context/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..c9472dc429c6f009ac045000e9168eec7b85c048 GIT binary patch literal 548 zcmV+<0^9wGP)7Gr6YHKNpPCY-JI#=N_WChqUMj4Y;TNbtKNBIy!+FO+DhY-p}n%XIUa*Rk}zzWEsG^*4>w_D4y z?2DvKv|?mb-%lAZ0qeVP>@a#HH8BP8C7+p6s>i|778FqiU>uu$_cE$%-P;76SrZ_Z ziLoAIaxL;%%^J1tx=t;>ec!c|&iPotGc5?dg8j=M0N{O;TeQ1cJ+0aI-)goOx0Z7k z)R{r|R{GLydhdVtF5B!ok0P!tD1Wt-qaN{AK(uL@s#GSOp61O#`DGc2c;TTaE+QSF z_#nn4ZVDA6;;1s$wP&Az62CFdbuH*{9d(H+_T73cc8BX8%5^!=`}hkPowCn3E&`ur zqvL2_CDz^_nN3k(ecK&-_*{}tz+Hdo9AwW;t?Pi-s8X(*P+Z7l@`_EP-|Uqm27Idu z8|mF)fgjt1F^THv_8Im*kxW7u;3i}Kp7YCn=inQ7K^OYRG?L65Ooj9U0000000000 m000000000000000Oydt?*W*weAoExN0000C+W|UfXS-p$%nlW_vv7tIp|;+;;bV{}XQ@*B}G#y`ZwW*#7&MJB~6tWvjrx z!+d04q1`K02bR9!7-A!wvl%D9>aty=w$~|F@5bP|sEjroRcwSv0lN7O#4ShI?XGfE zj#VUTknYTLUDPEu+G*R-gZtgJ6pTlZEv^{muuMTESOEE&>1y4wS?2rk!cU+JV2@S3 z>T6&7wJpZqhL*aJT2e~OkynrQ`>8!MypZ-kwgmCr>`92FYqJ;GFI;&ztp;Sjnv)7@ za3@xwJMAQy8eEF>0ssI2000000000000000m-z>nK5wo|ZNr%W000028bpX&Xk1y|^Hv;nm+=zM?mZf9;Zhog(uetv7YzMFP$s)C)W z{JEa_yX;Cn6(qk^B=mb#%lR*YXG3LG7WkgmPZZbJCt>A3-6ZI9=*WaeKUV3o()|GTacY|m@$-9h8r`F9qywmIDJ=1lU zPw6a8y=b(??7!fWxwjVnmb>1)uH@GBb}9ZJueO^07r5ru_jKROX=g>-UT;~%aNGa! zSF7fmnv2{|-@3eCcBSUopz__<4gRX^jO{Srki@=V(SPq9tv?qqFeEVDTVwNf<#L8| z^WqrxG0zEPNEbOE$yzW?{K3ogTW4jLOn;*v;A3<%{+Ng9&G;UvibtAHI*V@zzhni4 c1`^Qw%&PL5`Qxryg9?zSr>mdKI;Vst0FhLxssI20 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_setup_app_context/public_key_hash.png b/test/python/snapshots/nanosp/test_setup_app_context/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b2f3cf554b7aa217556d3e6cf141d988316072 GIT binary patch literal 792 zcmV+z1LypSP)&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_sign_attestation/high_watermark.png b/test/python/snapshots/nanosp/test_sign_attestation/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 zcmV;R0bl-!P)741i&JraQ_0m*if~gHy_ofZRmr{NGc{2*hwxodW;>0H%92*F28HIVU2S-%@}~=qwsp2 z!RQpxtwrVG--gtrddXYvF--3y%Z0dr87lx8?Qg;*%#8v7u!wulfIFmK>zY3&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_sign_attestation_dal/high_watermark.png b/test/python/snapshots/nanosp/test_sign_attestation_dal/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 zcmV;R0bl-!P)741i&JraQ_0m*if~gHy_ofZRmr{NGc{2*hwxodW;>0H%92*F28HIVU2S-%@}~=qwsp2 z!RQpxtwrVG--gtrddXYvF--3y%Z0dr87lx8?Qg;*%#8v7u!wulfIFmK>zY3&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_sign_block/high_watermark.png b/test/python/snapshots/nanosp/test_sign_block/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 zcmV;R0bl-!P)741i&JraQ_0m*if~gHy_ofZRmr{NGc{2*hwxodW;>0H%92*F28HIVU2S-%@}~=qwsp2 z!RQpxtwrVG--gtrddXYvF--3y%Z0dr87lx8?Qg;*%#8v7u!wulfIFmK>zY3&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_sign_preattestation/high_watermark.png b/test/python/snapshots/nanosp/test_sign_preattestation/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 zcmV;R0bl-!P)741i&JraQ_0m*if~gHy_ofZRmr{NGc{2*hwxodW;>0H%92*F28HIVU2S-%@}~=qwsp2 z!RQpxtwrVG--gtrddXYvF--3y%Z0dr87lx8?Qg;*%#8v7u!wulfIFmK>zY3&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_authorize_baking/high_watermark.png b/test/python/snapshots/nanox/test_authorize_baking/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..3d322dbddaabab79507fb143d6bd64ef0b06462c GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s}ba4!+nDh2VF5e*qo`yt| zdrQ9CUwZeb-&JKx4Ua_6liE5>$qQR^7Mx=QYP!64R<+#mhjWA{o_U^h{LzfBhtHX- zEcw15;h)PA%Vip0<9q{4*X!1_^=GV0I|Lhj0**J{f&k>VRi z_dH!)HNRoj(&x(D&TBZY?{TY}v#a=SUYG`t-5TFIv0|3ZPbb||SJ-;#eefLZsqccH zTAe*JDN4-raMt5^$6HI)ztkN2y2$(Ox1S4tG4HF+?Y-Z!bzbhy++CT)JKtHI)j04m zxN`5gge~1KE-w1^A=^1CX!8@>cM{9)tMqe!WK6SRJdyEVHRfJpXx2& zG$p@C5=k)R+91Ii(ZghOCQiNUZQsJyjPJW<`l?R$`L^6J$oHH2Vm9rMVo{y76{?rG efuVs6?mXjW@?`5cmyvWBB<$(x=d#Wzp$P!@3aw!P literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_authorize_baking/public_key_hash.png b/test/python/snapshots/nanox/test_authorize_baking/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b2f3cf554b7aa217556d3e6cf141d988316072 GIT binary patch literal 792 zcmV+z1LypSP)&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_deauthorize/high_watermark.png b/test/python/snapshots/nanox/test_deauthorize/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..3d322dbddaabab79507fb143d6bd64ef0b06462c GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s}ba4!+nDh2VF5e*qo`yt| zdrQ9CUwZeb-&JKx4Ua_6liE5>$qQR^7Mx=QYP!64R<+#mhjWA{o_U^h{LzfBhtHX- zEcw15;h)PA%Vip0<9q{4*X!1_^=GV0I|Lhj0**J{f&k>VRi z_dH!)HNRoj(&x(D&TBZY?{TY}v#a=SUYG`t-5TFIv0|3ZPbb||SJ-;#eefLZsqccH zTAe*JDN4-raMt5^$6HI)ztkN2y2$(Ox1S4tG4HF+?Y-Z!bzbhy++CT)JKtHI)j04m zxN`5gge~1KE-w1^A=^1CX!8@>cM{9)tMqe!WK6SRJdyEVHRfJpXx2& zG$p@C5=k)R+91Ii(ZghOCQiNUZQsJyjPJW<`l?R$`L^6J$oHH2Vm9rMVo{y76{?rG efuVs6?mXjW@?`5cmyvWBB<$(x=d#Wzp$P!@3aw!P literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_deauthorize/public_key_hash.png b/test/python/snapshots/nanox/test_deauthorize/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..c9472dc429c6f009ac045000e9168eec7b85c048 GIT binary patch literal 548 zcmV+<0^9wGP)7Gr6YHKNpPCY-JI#=N_WChqUMj4Y;TNbtKNBIy!+FO+DhY-p}n%XIUa*Rk}zzWEsG^*4>w_D4y z?2DvKv|?mb-%lAZ0qeVP>@a#HH8BP8C7+p6s>i|778FqiU>uu$_cE$%-P;76SrZ_Z ziLoAIaxL;%%^J1tx=t;>ec!c|&iPotGc5?dg8j=M0N{O;TeQ1cJ+0aI-)goOx0Z7k z)R{r|R{GLydhdVtF5B!ok0P!tD1Wt-qaN{AK(uL@s#GSOp61O#`DGc2c;TTaE+QSF z_#nn4ZVDA6;;1s$wP&Az62CFdbuH*{9d(H+_T73cc8BX8%5^!=`}hkPowCn3E&`ur zqvL2_CDz^_nN3k(ecK&-_*{}tz+Hdo9AwW;t?Pi-s8X(*P+Z7l@`_EP-|Uqm27Idu z8|mF)fgjt1F^THv_8Im*kxW7u;3i}Kp7YCn=inQ7K^OYRG?L65Ooj9U0000000000 m000000000000000Oydt?*W*weAoExN0000&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_reset_app_context/high_watermark.png b/test/python/snapshots/nanox/test_reset_app_context/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..90633d62552dc9cf0d85e14a7a203be008f3388b GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s{ba4!+nDh2}AYZcrPebCi zH)?zTPuz1_?u^7jR>28bpX&Xk1y|^Hv;nm+=zM?mZf9;Zhog(uetv7YzMFP$s)C)W z{JEa_yX;Cn6(qk^B=mb#%lR*YXG3LG7WkgmPZZbJCt>A3-6ZI9=*WaeKUV3o()|GTacY|m@$-9h8r`F9qywmIDJ=1lU zPw6a8y=b(??7!fWxwjVnmb>1)uH@GBb}9ZJueO^07r5ru_jKROX=g>-UT;~%aNGa! zSF7fmnv2{|-@3eCcBSUopz__<4gRX^jO{Srki@=V(SPq9tv?qqFeEVDTVwNf<#L8| z^WqrxG0zEPNEbOE$yzW?{K3ogTW4jLOn;*v;A3<%{+Ng9&G;UvibtAHI*V@zzhni4 c1`^Qw%&PL5`Qxryg9?zSr>mdKI;Vst0FhLxssI20 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_reset_app_context/public_key_hash.png b/test/python/snapshots/nanox/test_reset_app_context/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..c9472dc429c6f009ac045000e9168eec7b85c048 GIT binary patch literal 548 zcmV+<0^9wGP)7Gr6YHKNpPCY-JI#=N_WChqUMj4Y;TNbtKNBIy!+FO+DhY-p}n%XIUa*Rk}zzWEsG^*4>w_D4y z?2DvKv|?mb-%lAZ0qeVP>@a#HH8BP8C7+p6s>i|778FqiU>uu$_cE$%-P;76SrZ_Z ziLoAIaxL;%%^J1tx=t;>ec!c|&iPotGc5?dg8j=M0N{O;TeQ1cJ+0aI-)goOx0Z7k z)R{r|R{GLydhdVtF5B!ok0P!tD1Wt-qaN{AK(uL@s#GSOp61O#`DGc2c;TTaE+QSF z_#nn4ZVDA6;;1s$wP&Az62CFdbuH*{9d(H+_T73cc8BX8%5^!=`}hkPowCn3E&`ur zqvL2_CDz^_nN3k(ecK&-_*{}tz+Hdo9AwW;t?Pi-s8X(*P+Z7l@`_EP-|Uqm27Idu z8|mF)fgjt1F^THv_8Im*kxW7u;3i}Kp7YCn=inQ7K^OYRG?L65Ooj9U0000000000 m000000000000000Oydt?*W*weAoExN0000C+W|UfXS-p$%nlW_vv7tIp|;+;;bV{}XQ@*B}G#y`ZwW*#7&MJB~6tWvjrx z!+d04q1`K02bR9!7-A!wvl%D9>aty=w$~|F@5bP|sEjroRcwSv0lN7O#4ShI?XGfE zj#VUTknYTLUDPEu+G*R-gZtgJ6pTlZEv^{muuMTESOEE&>1y4wS?2rk!cU+JV2@S3 z>T6&7wJpZqhL*aJT2e~OkynrQ`>8!MypZ-kwgmCr>`92FYqJ;GFI;&ztp;Sjnv)7@ za3@xwJMAQy8eEF>0ssI2000000000000000m-z>nK5wo|ZNr%W000028bpX&Xk1y|^Hv;nm+=zM?mZf9;Zhog(uetv7YzMFP$s)C)W z{JEa_yX;Cn6(qk^B=mb#%lR*YXG3LG7WkgmPZZbJCt>A3-6ZI9=*WaeKUV3o()|GTacY|m@$-9h8r`F9qywmIDJ=1lU zPw6a8y=b(??7!fWxwjVnmb>1)uH@GBb}9ZJueO^07r5ru_jKROX=g>-UT;~%aNGa! zSF7fmnv2{|-@3eCcBSUopz__<4gRX^jO{Srki@=V(SPq9tv?qqFeEVDTVwNf<#L8| z^WqrxG0zEPNEbOE$yzW?{K3ogTW4jLOn;*v;A3<%{+Ng9&G;UvibtAHI*V@zzhni4 c1`^Qw%&PL5`Qxryg9?zSr>mdKI;Vst0FhLxssI20 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_setup_app_context/public_key_hash.png b/test/python/snapshots/nanox/test_setup_app_context/public_key_hash.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b2f3cf554b7aa217556d3e6cf141d988316072 GIT binary patch literal 792 zcmV+z1LypSP)&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_sign_attestation/high_watermark.png b/test/python/snapshots/nanox/test_sign_attestation/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 zcmV;R0bl-!P)741i&JraQ_0m*if~gHy_ofZRmr{NGc{2*hwxodW;>0H%92*F28HIVU2S-%@}~=qwsp2 z!RQpxtwrVG--gtrddXYvF--3y%Z0dr87lx8?Qg;*%#8v7u!wulfIFmK>zY3&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_sign_attestation_dal/high_watermark.png b/test/python/snapshots/nanox/test_sign_attestation_dal/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 zcmV;R0bl-!P)741i&JraQ_0m*if~gHy_ofZRmr{NGc{2*hwxodW;>0H%92*F28HIVU2S-%@}~=qwsp2 z!RQpxtwrVG--gtrddXYvF--3y%Z0dr87lx8?Qg;*%#8v7u!wulfIFmK>zY3&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_sign_block/high_watermark.png b/test/python/snapshots/nanox/test_sign_block/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 zcmV;R0bl-!P)741i&JraQ_0m*if~gHy_ofZRmr{NGc{2*hwxodW;>0H%92*F28HIVU2S-%@}~=qwsp2 z!RQpxtwrVG--gtrddXYvF--3y%Z0dr87lx8?Qg;*%#8v7u!wulfIFmK>zY3&R*@DEc;OCdW5JEglf*RU;#An+5(`+ce z_;#QI`M%yBC>%@-VHmwD@_i>5K9~0lh8=r0;jgCA{N(+B7XI178#7L3brB>*fD~hy zto_%QUMQ53gk5&t2P}991-?_qtzmKXWGr6@Oxb#yVS(di1pEWz*%g2<95W}zuYvgU*JZY1Dj{oH8P7V|Aowu_BM5TIvE=?D~Ta7t|p|2wcy@$cQn^o`|r^p zd)O7=g9w*x?`Am6h1p@iG4$dxTPGL<27>9e@GnO%?!v1#6yc#;xdfS(ZZ^)PNfTfQ z5^}EgmHm+W=0JEJ*o8!8kYvrlQG9xl8p@oDho`jgu`BF_)sVRgE-rk;U(ZODsxZ5jQ8>-7S=z!P57*L;>c9Klj}T% zi3uRT4y(!+zvvda@Km?UI?DU+aHlf!%Cs0VzYV=jNZB0Gcdw!dbK9$U%Z07~Q@;(p z=mVR-mrez|^ZJNk?!&AsX)|RzCMB>#J6jfm6|j7e0#(E4mp-|8bYmY%s*HyGz3&a_tk zVP)OGo1bRj{c3gxYsG@{V>iSepDK#pAC;|{`ZYvjemeVyS)pvF`=4%;SRB@@-1K{D zitL6>)4#Y(Dm}0w-*lq=hvh=z52TdD7QBCX_Dt?^R(1x459<~@XZ-%nk0VU`afH$j z3BA?xzHems-W~Z*Zu!i%G|v~SmCiMNOOdb1^SaD9`Pa|zX+dkP6^fR}Cw%y+^6$<1 z>n!!%cRw^8x7GjGo#P^5|3b3!+ltfI6k1=ucbfRO`~JfXOT>YJ00sZfm|N6!$?~jV QNe78|y85}Sb4q9e0LMg&z5oCK literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_sign_preattestation/high_watermark.png b/test/python/snapshots/nanox/test_sign_preattestation/high_watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..b12898fa2467bf50d31cecdfe217fcd3ac404ac3 GIT binary patch literal 416 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 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_deauthorize/app_context.png b/test/python/snapshots/stax/test_deauthorize/app_context.png new file mode 100644 index 0000000000000000000000000000000000000000..aa2dec0d86eaf64e54c68344a015a5f68386ad3c GIT binary patch literal 12005 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 N#L(<=<=@Wt{sZ`7yd3}l literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_reset_app_context/app_context.png b/test/python/snapshots/stax/test_reset_app_context/app_context.png new file mode 100644 index 0000000000000000000000000000000000000000..c7e6da3b6de60b11e39b75a51fec57b575b8eca8 GIT binary patch literal 11800 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 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_setup_app_context/app_context.png b/test/python/snapshots/stax/test_setup_app_context/app_context.png new file mode 100644 index 0000000000000000000000000000000000000000..876686f3731fc65551cad20703f457af443c7678 GIT binary patch literal 15578 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 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_sign_attestation/app_context.png b/test/python/snapshots/stax/test_sign_attestation/app_context.png new file mode 100644 index 0000000000000000000000000000000000000000..0e29f84cc1f4eeacb606b32fbfb0ce755654803c GIT binary patch literal 14449 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 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_sign_attestation_dal/app_context.png b/test/python/snapshots/stax/test_sign_attestation_dal/app_context.png new file mode 100644 index 0000000000000000000000000000000000000000..0e29f84cc1f4eeacb606b32fbfb0ce755654803c GIT binary patch literal 14449 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 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_sign_block/app_context.png b/test/python/snapshots/stax/test_sign_block/app_context.png new file mode 100644 index 0000000000000000000000000000000000000000..0e29f84cc1f4eeacb606b32fbfb0ce755654803c GIT binary patch literal 14449 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 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_sign_preattestation/app_context.png b/test/python/snapshots/stax/test_sign_preattestation/app_context.png new file mode 100644 index 0000000000000000000000000000000000000000..0e29f84cc1f4eeacb606b32fbfb0ce755654803c GIT binary patch literal 14449 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 literal 0 HcmV?d00001 diff --git a/test/python/test_instructions.py b/test/python/test_instructions.py index d07c2ed2..c38f55d3 100644 --- a/test/python/test_instructions.py +++ b/test/python/test_instructions.py @@ -11,6 +11,7 @@ Preattestation, Attestation, AttestationDal, + Fitness, BlockHeader, Block, DEFAULT_CHAIN_ID @@ -18,8 +19,7 @@ from utils.navigator import TezosNavigator, Instructions from common import ( DEFAULT_ACCOUNT, - TESTS_ROOT_DIR, - EMPTY_PATH + TESTS_ROOT_DIR ) @@ -75,24 +75,34 @@ def test_authorize_baking( account.check_public_key(public_key) + tezos_navigator.check_app_context( + account, + chain_id=DEFAULT_CHAIN_ID, + main_hwm=Hwm(0), + test_hwm=Hwm(0), + path=test_name + ) + @pytest.mark.parametrize("account", [DEFAULT_ACCOUNT]) def test_deauthorize( account: Account, client: TezosClient, - tezos_navigator: TezosNavigator) -> None: + tezos_navigator: TezosNavigator, + test_name: Path) -> None: """Test the DEAUTHORIZE instruction.""" tezos_navigator.authorize_baking(account) client.deauthorize() - # get_auth_key_with_curve raise EXC_REFERENCED_DATA_NOT_FOUND - - path = client.get_auth_key() - - assert path == EMPTY_PATH, \ - f"Expected the empty path {EMPTY_PATH} but got {path}" + tezos_navigator.check_app_context( + None, + chain_id=DEFAULT_CHAIN_ID, + main_hwm=Hwm(0), + test_hwm=Hwm(0), + path=test_name + ) @pytest.mark.parametrize("account", [DEFAULT_ACCOUNT]) def test_get_auth_key( @@ -160,35 +170,25 @@ def test_get_public_key_prompt( account.check_public_key(public_key) -def test_reset_app_context( - client: TezosClient, - tezos_navigator: TezosNavigator, - test_name: Path) -> None: +def test_reset_app_context(tezos_navigator: TezosNavigator, test_name: Path) -> None: """Test the RESET instruction.""" reset_level: int = 1 tezos_navigator.reset_app_context(reset_level, path=test_name) - received_main_chain_id, received_main_hwm, received_test_hwm = client.get_all_hwm() - - main_hwm = Hwm(reset_level) - test_hwm = Hwm(reset_level) - - assert received_main_chain_id == DEFAULT_CHAIN_ID, \ - f"Expected main chain id {DEFAULT_CHAIN_ID} but got {received_main_chain_id}" - - assert received_main_hwm == main_hwm, \ - f"Expected main hmw {main_hwm} but got {received_main_hwm}" - - assert received_test_hwm == test_hwm, \ - f"Expected test hmw {test_hwm} but got {received_test_hwm}" + tezos_navigator.check_app_context( + None, + chain_id=DEFAULT_CHAIN_ID, + main_hwm=Hwm(reset_level), + test_hwm=Hwm(reset_level), + path=test_name + ) @pytest.mark.parametrize("account", [DEFAULT_ACCOUNT]) def test_setup_app_context( account: Account, - client: TezosClient, tezos_navigator: TezosNavigator, test_name: Path) -> None: """Test the SETUP instruction.""" @@ -207,16 +207,13 @@ def test_setup_app_context( account.check_public_key(public_key) - received_main_chain_id, received_main_hwm, received_test_hwm = client.get_all_hwm() - - assert received_main_chain_id == main_chain_id, \ - f"Expected main chain id {main_chain_id} but got {received_main_chain_id}" - - assert received_main_hwm == main_hwm, \ - f"Expected main hmw {main_hwm} but got {received_main_hwm}" - - assert received_test_hwm == test_hwm, \ - f"Expected test hmw {test_hwm} but got {received_test_hwm}" + tezos_navigator.check_app_context( + account, + chain_id=main_chain_id, + main_hwm=main_hwm, + test_hwm=test_hwm, + path=test_name + ) @pytest.mark.parametrize("account", [DEFAULT_ACCOUNT]) @@ -279,7 +276,8 @@ def test_sign_preattestation( account: Account, with_hash: bool, client: TezosClient, - tezos_navigator: TezosNavigator) -> None: + tezos_navigator: TezosNavigator, + test_name: Path) -> None: """Test the SIGN(_WITH_HASH) instruction on preattestation.""" main_chain_id = DEFAULT_CHAIN_ID @@ -293,7 +291,10 @@ def test_sign_preattestation( test_hwm ) - preattestation = Preattestation().forge(chain_id=main_chain_id) + preattestation = Preattestation( + op_level=1, + op_round=2 + ).forge(chain_id=main_chain_id) if with_hash: signature = client.sign_message(account, preattestation) @@ -304,6 +305,14 @@ def test_sign_preattestation( f"Expected hash {preattestation.hash.hex()} but got {preattestation_hash.hex()}" account.check_signature(signature, bytes(preattestation)) + tezos_navigator.check_app_context( + account, + chain_id=main_chain_id, + main_hwm=Hwm(1, 2), + test_hwm=Hwm(0, 0), + path=test_name + ) + @pytest.mark.parametrize("account", [DEFAULT_ACCOUNT]) @pytest.mark.parametrize("with_hash", [False, True]) @@ -311,7 +320,8 @@ def test_sign_attestation( account: Account, with_hash: bool, client: TezosClient, - tezos_navigator: TezosNavigator) -> None: + tezos_navigator: TezosNavigator, + test_name: Path) -> None: """Test the SIGN(_WITH_HASH) instruction on attestation.""" main_chain_id = DEFAULT_CHAIN_ID @@ -325,7 +335,10 @@ def test_sign_attestation( test_hwm ) - attestation = Attestation().forge(chain_id=main_chain_id) + attestation = Attestation( + op_level=1, + op_round=2 + ).forge(chain_id=main_chain_id) if with_hash: signature = client.sign_message(account, attestation) @@ -336,6 +349,14 @@ def test_sign_attestation( f"Expected hash {attestation.hash.hex()} but got {attestation_hash.hex()}" account.check_signature(signature, bytes(attestation)) + tezos_navigator.check_app_context( + account, + chain_id=main_chain_id, + main_hwm=Hwm(1, 2), + test_hwm=Hwm(0, 0), + path=test_name + ) + @pytest.mark.parametrize("account", [DEFAULT_ACCOUNT]) @pytest.mark.parametrize("with_hash", [False, True]) @@ -343,7 +364,8 @@ def test_sign_attestation_dal( account: Account, with_hash: bool, client: TezosClient, - tezos_navigator: TezosNavigator) -> None: + tezos_navigator: TezosNavigator, + test_name: Path) -> None: """Test the SIGN(_WITH_HASH) instruction on attestation.""" main_chain_id = DEFAULT_CHAIN_ID @@ -357,7 +379,10 @@ def test_sign_attestation_dal( test_hwm ) - attestation = AttestationDal().forge(chain_id=main_chain_id) + attestation = AttestationDal( + op_level=1, + op_round=2 + ).forge(chain_id=main_chain_id) if with_hash: signature = client.sign_message(account, attestation) @@ -368,7 +393,13 @@ def test_sign_attestation_dal( f"Expected hash {attestation.hash.hex()} but got {attestation_hash.hex()}" account.check_signature(signature, bytes(attestation)) - + tezos_navigator.check_app_context( + account, + chain_id=main_chain_id, + main_hwm=Hwm(1, 2), + test_hwm=Hwm(0, 0), + path=test_name + ) @pytest.mark.parametrize("account", [DEFAULT_ACCOUNT]) @@ -377,7 +408,8 @@ def test_sign_block( account: Account, with_hash: bool, client: TezosClient, - tezos_navigator: TezosNavigator) -> None: + tezos_navigator: TezosNavigator, + test_name: Path) -> None: """Test the SIGN(_WITH_HASH) instruction on block.""" main_chain_id = DEFAULT_CHAIN_ID @@ -391,7 +423,12 @@ def test_sign_block( test_hwm ) - block = Block(header=BlockHeader(level=1)).forge(chain_id=main_chain_id) + block = Block( + header=BlockHeader( + level=1, + fitness=Fitness(current_round=2) + ) + ).forge(chain_id=main_chain_id) if with_hash: signature = client.sign_message(account, block) @@ -402,6 +439,15 @@ def test_sign_block( f"Expected hash {block.hash.hex()} but got {block_hash.hex()}" account.check_signature(signature, bytes(block)) + tezos_navigator.check_app_context( + account, + chain_id=main_chain_id, + main_hwm=Hwm(1, 2), + test_hwm=Hwm(0, 0), + path=test_name + ) + + # Data generated by the old application itself HMAC_TEST_SET = [ (DEFAULT_ACCOUNT, diff --git a/test/python/utils/navigator.py b/test/python/utils/navigator.py index e397891d..bc51ab59 100644 --- a/test/python/utils/navigator.py +++ b/test/python/utils/navigator.py @@ -17,7 +17,7 @@ ) from ragger.navigator import Navigator, NavInsID, NavIns -from common import TESTS_ROOT_DIR +from common import TESTS_ROOT_DIR, EMPTY_PATH from utils.client import TezosClient, Hwm from utils.account import Account @@ -172,6 +172,69 @@ def _assert_screen(self, path: Path) -> None: golden_run=self._golden_run ), f"Screen does not match golden {path}." + def check_app_context(self, + account: Optional[Account], + chain_id: str, + main_hwm: Hwm, + test_hwm: Hwm, + path: Path) -> None: + """Check that the app context.""" + path = Path(path) + + received_chain_id, received_main_hwm, received_test_hwm = self.client.get_all_hwm() + + # get_auth_key_with_curve raise EXC_REFERENCED_DATA_NOT_FOUND + received_path = self.client.get_auth_key() + + assert received_chain_id == chain_id, \ + f"Expected main chain id {chain_id} but got {received_chain_id}" + assert received_main_hwm == main_hwm, \ + f"Expected main hmw {main_hwm} but got {received_main_hwm}" + assert received_test_hwm == test_hwm, \ + f"Expected test hmw {test_hwm} but got {received_test_hwm}" + + if account is None: + # get_auth_key_with_curve raise EXC_REFERENCED_DATA_NOT_FOUND + received_path = self.client.get_auth_key() + assert received_path == EMPTY_PATH, \ + f"Expected the empty path {EMPTY_PATH} but got {received_path}" + else: + received_sig_scheme, received_path = self.client.get_auth_key_with_curve() + assert received_path == account.path, \ + f"Expected path {account.path} but got {received_path}" + assert received_sig_scheme == account.sig_scheme, \ + f"Expected signature scheme {account.sig_scheme.name} "\ + f"but got {received_sig_scheme.name}" + + if self.firmware.is_nano: + self.navigator.navigate( + [NavInsID.RIGHT_CLICK] * 2, + screen_change_before_first_instruction=False + ) + self._assert_screen(path / "chain_id.png") + self.backend.right_click() + self.backend.wait_for_screen_change() + if account is not None and self.firmware.device == "nanos": + self._assert_screen(path / "public_key_hash_1.png") + self.backend.right_click() + self.backend.wait_for_screen_change() + self._assert_screen(path / "public_key_hash_2.png") + else: + self._assert_screen(path / "public_key_hash.png") + self.backend.right_click() + self.backend.wait_for_screen_change() + self._assert_screen(path / "high_watermark.png") + self.navigator.navigate( + [NavInsID.LEFT_CLICK] * 4, + screen_change_before_first_instruction=False + ) + else: + self.home.settings() + self.backend.wait_for_screen_change() + self._assert_screen(path / "app_context.png") + self.settings.multi_page_exit() + self.backend.wait_for_screen_change() + def authorize_baking(self, account: Optional[Account], **kwargs) -> bytes: """Send an authorize baking request and navigate until accept""" if 'instructions' not in kwargs: