From 72b1cfc979600e5fd18685c91671ee1b8d643053 Mon Sep 17 00:00:00 2001 From: Carlos Medeiros <104493454+chcmedeiros@users.noreply.github.com> Date: Wed, 20 Nov 2024 06:08:42 -0600 Subject: [PATCH] Token address (#91) * update submodules * add token address replacement * update tests * update snpashots --- app/Makefile.version | 2 +- app/src/parser_print_common.c | 15 +++++++++++++-- deps/ledger-zxlib | 2 +- tests/testvectors.json | 20 +++++++------------- tests_zemu/snapshots/fl-mainmenu/00004.png | Bin 8866 -> 8891 bytes tests_zemu/snapshots/s-mainmenu/00004.png | Bin 417 -> 414 bytes tests_zemu/snapshots/s-mainmenu/00010.png | Bin 417 -> 414 bytes tests_zemu/snapshots/sp-mainmenu/00004.png | Bin 359 -> 366 bytes tests_zemu/snapshots/sp-mainmenu/00010.png | Bin 359 -> 366 bytes tests_zemu/snapshots/st-mainmenu/00004.png | Bin 10742 -> 10763 bytes tests_zemu/snapshots/x-mainmenu/00004.png | Bin 359 -> 366 bytes tests_zemu/snapshots/x-mainmenu/00010.png | Bin 359 -> 366 bytes 12 files changed, 22 insertions(+), 17 deletions(-) diff --git a/app/Makefile.version b/app/Makefile.version index bda91a76..0fbc5027 100644 --- a/app/Makefile.version +++ b/app/Makefile.version @@ -3,4 +3,4 @@ APPVERSION_M=1 # This is the `spec_version` field of `Runtime` APPVERSION_N=0 # This is the patch version of this release -APPVERSION_P=4 +APPVERSION_P=5 diff --git a/app/src/parser_print_common.c b/app/src/parser_print_common.c index 9de872fd..ef54e42c 100644 --- a/app/src/parser_print_common.c +++ b/app/src/parser_print_common.c @@ -30,7 +30,12 @@ #define PREFIX "yay with councils:\n" #define PREFIX_COUNCIL "Council: " #define PREFIX_SPENDING "spending cap: " - +#if defined(LEDGER_SPECIFIC) +#define NAM_MAINNET_ADDRESS "tnam1q9gr66cvu4hrzm0sd5kmlnjje82gs3xlfg3v6nu7" +#else +// Test address to verify the address replacement by NAM +#define NAM_MAINNET_ADDRESS "tnam1qx60d9v036kfqhfnt2lua5uquh3d3hhrzva03gfl" +#endif #define CHECK_PTR_BOUNDS(count, dstLen) \ if((count + 1) >= dstLen) { \ @@ -88,7 +93,13 @@ parser_error_t printAddressAlt(const AddressAlt *addr, char address[110] = {0}; CHECK_ERROR(crypto_encodeAltAddress(addr, address, sizeof(address))) - pageString(outVal, outValLen, (const char*) address, pageIdx, pageCount); + + // Comapare with NAM mainnet address + if (memcmp(address, NAM_MAINNET_ADDRESS, strlen(NAM_MAINNET_ADDRESS)) == 0) { + pageString(outVal, outValLen, "NAM", pageIdx, pageCount); + } else { + pageString(outVal, outValLen, (const char*) address, pageIdx, pageCount); + } return parser_ok; } diff --git a/deps/ledger-zxlib b/deps/ledger-zxlib index 3d4ec192..eebf9d53 160000 --- a/deps/ledger-zxlib +++ b/deps/ledger-zxlib @@ -1 +1 @@ -Subproject commit 3d4ec19264fd20e9608b0c0432b08474d247917c +Subproject commit eebf9d533a497f01e60f7a6f8bd5465b1379882c diff --git a/tests/testvectors.json b/tests/testvectors.json index fe21cd24..360005fa 100644 --- a/tests/testvectors.json +++ b/tests/testvectors.json @@ -22,8 +22,7 @@ "13 | Timeout timestamp : 2532-11-08T20:58:07.450111911Z", "14 | Sender [1/2] : tnam1qx8zhzupfafg98trt6xgknjg0693vxlp9", "14 | Sender [2/2] : spsy7lh", - "15 | Sending Token [1/2] : tnam1qx60d9v036kfqhfnt2lua5uquh3d3hhrz", - "15 | Sending Token [2/2] : va03gfl", + "15 | Sending Token : NAM", "16 | Sending Amount [1/3] : 0.000000000000000000000000000000000000", "16 | Sending Amount [2/3] : 00000000000000000544451787073501541541", "16 | Sending Amount [3/3] : 3993718908291383296", @@ -35,16 +34,14 @@ "17 | Sender [6/8] : dcc4tuy9l2zhyy4e2pfxfh6wsh9l8vutrzqg8s", "17 | Sender [7/8] : mktvf9sjhrlwj0zqlfa7sq3l2tm9fyxgdvcwzf", "17 | Sender [8/8] : z3tyltpnwu7qnddu9a", - "18 | Sending Token [1/2] : tnam1qx60d9v036kfqhfnt2lua5uquh3d3hhrz", - "18 | Sending Token [2/2] : va03gfl", + "18 | Sending Token : NAM", "19 | Sending Amount [1/3] : 0.000000000000000000000000000000000000", "19 | Sending Amount [2/3] : 00000000000000002007665964833536934433", "19 | Sending Amount [3/3] : 9101838474324475904", "20 | Destination [1/3] : znam1q4drwwk8u5v9h27zqyk5ger7tazy86y4s", "20 | Destination [2/3] : sxyxddmntx80p4nrhvtw0xm5egx3prv9y4pj2h", "20 | Destination [3/3] : lzus", - "21 | Receiving Token [1/2] : tnam1qx60d9v036kfqhfnt2lua5uquh3d3hhrz", - "21 | Receiving Token [2/2] : va03gfl", + "21 | Receiving Token : NAM", "22 | Receiving Amount [1/3] : 0.000000000000000000000000000000000000", "22 | Receiving Amount [2/3] : 00000000000000002552117751907038475975", "22 | Receiving Amount [3/3] : 30955573826158592" @@ -70,8 +67,7 @@ "14 | Timeout timestamp : 2532-11-08T20:58:07.450111911Z", "15 | Sender [1/2] : tnam1qx8zhzupfafg98trt6xgknjg0693vxlp9", "15 | Sender [2/2] : spsy7lh", - "16 | Sending Token [1/2] : tnam1qx60d9v036kfqhfnt2lua5uquh3d3hhrz", - "16 | Sending Token [2/2] : va03gfl", + "16 | Sending Token : NAM", "17 | Sending Amount [1/3] : 0.000000000000000000000000000000000000", "17 | Sending Amount [2/3] : 00000000000000000544451787073501541541", "17 | Sending Amount [3/3] : 3993718908291383296", @@ -83,16 +79,14 @@ "18 | Sender [6/8] : dcc4tuy9l2zhyy4e2pfxfh6wsh9l8vutrzqg8s", "18 | Sender [7/8] : mktvf9sjhrlwj0zqlfa7sq3l2tm9fyxgdvcwzf", "18 | Sender [8/8] : z3tyltpnwu7qnddu9a", - "19 | Sending Token [1/2] : tnam1qx60d9v036kfqhfnt2lua5uquh3d3hhrz", - "19 | Sending Token [2/2] : va03gfl", + "19 | Sending Token : NAM", "20 | Sending Amount [1/3] : 0.000000000000000000000000000000000000", "20 | Sending Amount [2/3] : 00000000000000002007665964833536934433", "20 | Sending Amount [3/3] : 9101838474324475904", "21 | Destination [1/3] : znam1q4drwwk8u5v9h27zqyk5ger7tazy86y4s", "21 | Destination [2/3] : sxyxddmntx80p4nrhvtw0xm5egx3prv9y4pj2h", "21 | Destination [3/3] : lzus", - "22 | Receiving Token [1/2] : tnam1qx60d9v036kfqhfnt2lua5uquh3d3hhrz", - "22 | Receiving Token [2/2] : va03gfl", + "22 | Receiving Token : NAM", "23 | Receiving Amount [1/3] : 0.000000000000000000000000000000000000", "23 | Receiving Amount [2/3] : 00000000000000002552117751907038475975", "23 | Receiving Amount [3/3] : 30955573826158592", @@ -50947,4 +50941,4 @@ ], "valid": true } -] \ No newline at end of file +] diff --git a/tests_zemu/snapshots/fl-mainmenu/00004.png b/tests_zemu/snapshots/fl-mainmenu/00004.png index 9e6cd16b9b1b43ac4fd71be08e1cddd0a8f1c3ee..b1f1c18002b08bf2d2f28e33d65d850986b7c6c7 100644 GIT binary patch literal 8891 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 literal 8866 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 B>%IU0 diff --git a/tests_zemu/snapshots/s-mainmenu/00004.png b/tests_zemu/snapshots/s-mainmenu/00004.png index 76b04e76bfda187b60127690f31eb193f7401e8e..bc78cb2cc1fecd81d12c5b06eb97aae08769b92a 100644 GIT binary patch delta 387 zcmV-}0et?U1D*qrB!6W|L_t(|ob8#(7K0!RMX^W!|ASq$3)&PzhyiQB`tIqX4uHN4 zKnwu@0Ki?DoW^;sp8=QeVf=s6SSNM zbUqRTM8LGXe_^W^nJTxL*hI`crOt=JHv*zBGa(vu(LMcO=YPJ~3{d+T_Fzxl);Nm2 zNkixExTm0#67i7v-9qmK3qzidb<*P_vrg9^u2%#8*ZH4F%xvM1t zL>uT*QVlMxFb8Sx+VC*p+Hr6!1$E?K=KtQcpxfhR0OP0N-NM<}m9++JDab#`vQIa) hvkm|N0000On-_8|x9^}zj4J>D002ovPDHLkV1n2BuxbDR delta 390 zcmV;10eSwO1EB+uB!6g0L_t(|ob8#*5`!QNMX{s*|G_Tof;PnvVvrhPyl1+o3PJM% zLI?l=0G`U^G|sku2V8!a@&83*T_pV9yzYL1r!#vGxUJkbDL6vnwy_!cvKTz+)0`-${x+v6d0s~SCQdC(| zbiPsqgt}(S43O@C6iD5)$_6EvKKIVLHvm1WvH>`R^qHlK!~pD>Vgt58MfSH4^_h9? zylav7aiCPZG=G+H2C98ZFL|mI!OAZ!=p}@7Aup{Mubuh` z5N)8Vl4@{ig*h}=X^acDzG+KApqaaCL8oC!Y*?T0GJx?Y_^@zB4bqbqU1s0dQjq`W kv7?(|^$P$10000)-aa3_>F?d<)c^nh07*qoM6N<$f|--OZ2$lO diff --git a/tests_zemu/snapshots/s-mainmenu/00010.png b/tests_zemu/snapshots/s-mainmenu/00010.png index 76b04e76bfda187b60127690f31eb193f7401e8e..bc78cb2cc1fecd81d12c5b06eb97aae08769b92a 100644 GIT binary patch delta 387 zcmV-}0et?U1D*qrB!6W|L_t(|ob8#(7K0!RMX^W!|ASq$3)&PzhyiQB`tIqX4uHN4 zKnwu@0Ki?DoW^;sp8=QeVf=s6SSNM zbUqRTM8LGXe_^W^nJTxL*hI`crOt=JHv*zBGa(vu(LMcO=YPJ~3{d+T_Fzxl);Nm2 zNkixExTm0#67i7v-9qmK3qzidb<*P_vrg9^u2%#8*ZH4F%xvM1t zL>uT*QVlMxFb8Sx+VC*p+Hr6!1$E?K=KtQcpxfhR0OP0N-NM<}m9++JDab#`vQIa) hvkm|N0000On-_8|x9^}zj4J>D002ovPDHLkV1n2BuxbDR delta 390 zcmV;10eSwO1EB+uB!6g0L_t(|ob8#*5`!QNMX{s*|G_Tof;PnvVvrhPyl1+o3PJM% zLI?l=0G`U^G|sku2V8!a@&83*T_pV9yzYL1r!#vGxUJkbDL6vnwy_!cvKTz+)0`-${x+v6d0s~SCQdC(| zbiPsqgt}(S43O@C6iD5)$_6EvKKIVLHvm1WvH>`R^qHlK!~pD>Vgt58MfSH4^_h9? zylav7aiCPZG=G+H2C98ZFL|mI!OAZ!=p}@7Aup{Mubuh` z5N)8Vl4@{ig*h}=X^acDzG+KApqaaCL8oC!Y*?T0GJx?Y_^@zB4bqbqU1s0dQjq`W kv7?(|^$P$10000)-aa3_>F?d<)c^nh07*qoM6N<$f|--OZ2$lO diff --git a/tests_zemu/snapshots/sp-mainmenu/00004.png b/tests_zemu/snapshots/sp-mainmenu/00004.png index 3e80601db770cb6fcef0eeabc86440e8534bac0b..0c895681802f29edf3c0074c8afafd652c963b74 100644 GIT binary patch delta 339 zcmaFP^p0tQO1-J4i(^Q|oVPclg_;a_94@}vG5KA+=iP4kseW&}n_66UJm(JdQqMdk zF^8D}0hHu+ZRb}!!u-DWmqdT-J5`e(dH!!X@7(pSW|CKINy=UJsNm+NUVHECoskYl zRgeBW_(1DTSVR1d_Z3S+u3BctUAj|Q)ja>a3v2z6tuZV~?lH%-{~kZsDzUa8dHb zH@>cWe(j-09X=~%&%2n1`2ACIELXD?(|!=v6Xx*mmUp$@rXIBfwteFPo*A-vHhtT2NLyk^>bP0l+XkK$5xua delta 332 zcmaFI^qgseO1++^i(^Q|oVPcl#hMfZ8WLY^5&pJc<=Z7@)8iQqhYH;O?pNRJFzewW z2_^;vnDHpB`sb7&yAH!s$7^g}Mord|FWa7X;HvE!=?{~Fw0D%yP+t2h%)2}jy zh-jWO*D`-t&T?e?2T6U;tL5jeD7`upyt<}d&&{F!-Dy_^wnvxVy_D9Tf8-^{guL7K z_Fu#$SJcSqbIuUq=2y(q7JiVDbL!2V`}3kE-um??`04*mMXu@>?YC!5==_&AB|!M^ z+=a3v2z6tuZV~?lH%-{~kZsDzUa8dHb zH@>cWe(j-09X=~%&%2n1`2ACIELXD?(|!=v6Xx*mmUp$@rXIBfwteFPo*A-vHhtT2NLyk^>bP0l+XkK$5xua delta 332 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 kx*Y$9bN^ST_5c6? delta 8790 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 delta 332 zcmaFI^qgseO1++^i(^Q|oVPcl#hMfZ8WLY^5&pJc<=Z7@)8iQqhYH;O?pNRJFzewW z2_^;vnDHpB`sb7&yAH!s$7^g}Mord|FWa7X;HvE!=?{~Fw0D%yP+t2h%)2}jy zh-jWO*D`-t&T?e?2T6U;tL5jeD7`upyt<}d&&{F!-Dy_^wnvxVy_D9Tf8-^{guL7K z_Fu#$SJcSqbIuUq=2y(q7JiVDbL!2V`}3kE-um??`04*mMXu@>?YC!5==_&AB|!M^ z+=a3v2z6tuZV~?lH%-{~kZsDzUa8dHb zH@>cWe(j-09X=~%&%2n1`2ACIELXD?(|!=v6Xx*mmUp$@rXIBfwteFPo*A-vHhtT2NLyk^>bP0l+XkK$5xua delta 332 zcmaFI^qgseO1++^i(^Q|oVPcl#hMfZ8WLY^5&pJc<=Z7@)8iQqhYH;O?pNRJFzewW z2_^;vnDHpB`sb7&yAH!s$7^g}Mord|FWa7X;HvE!=?{~Fw0D%yP+t2h%)2}jy zh-jWO*D`-t&T?e?2T6U;tL5jeD7`upyt<}d&&{F!-Dy_^wnvxVy_D9Tf8-^{guL7K z_Fu#$SJcSqbIuUq=2y(q7JiVDbL!2V`}3kE-um??`04*mMXu@>?YC!5==_&AB|!M^ z+=