From d39b4ac16e067169ec7f3dcb050d7be2ea48aa88 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 19 Feb 2024 14:04:44 +0100 Subject: [PATCH 1/2] fix: cip14 import --- src/routes/assets/asset/index.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/routes/assets/asset/index.ts b/src/routes/assets/asset/index.ts index 5128e400..2b832531 100644 --- a/src/routes/assets/asset/index.ts +++ b/src/routes/assets/asset/index.ts @@ -93,10 +93,13 @@ async function route(fastify: FastifyInstance) { // retrieve off-chain metadata const metadata = await fetchAssetMetadata(request.params.asset); - const fingerprint = AssetFingerprint.fromParts( - Uint8Array.from(Buffer.from(rows[0].policy_id, 'hex')), - Uint8Array.from(Buffer.from(rows[0].asset_name ?? '', 'hex')), - ).fingerprint(); + // @ts-expect-error .default necessary due to some ESM import weirdness + const fingerprint = AssetFingerprint.default + .fromParts( + Uint8Array.from(Buffer.from(rows[0].policy_id, 'hex')), + Uint8Array.from(Buffer.from(rows[0].asset_name ?? '', 'hex')), + ) + .fingerprint(); return reply.send({ ...rows[0], From 2859009a8073342e68aa2eb11f2b01851624e98d Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 19 Feb 2024 15:54:09 +0100 Subject: [PATCH 2/2] chore: move from cip14lib to own func for AssetFingerprint --- ...lake2b-npm-2.1.3-62a57db1c9-55a6ed7123.zip | Bin 0 -> 3320 bytes .../b4a-npm-1.6.6-140a53bc1d-c46a27e3ac.zip | Bin 0 -> 12600 bytes ...lake2b-npm-2.1.4-3a13da4cf0-cd598c96d4.zip | Bin 0 -> 55468 bytes ...b-wasm-npm-2.4.0-ba85ae7e93-1839dd0693.zip | Bin 0 -> 13943 bytes ...assert-npm-2.0.0-06b51d4a59-b1d366f952.zip | Bin 0 -> 4396 bytes package.json | 3 +- src/routes/assets/asset/index.ts | 13 +- src/utils/cip14.ts | 59 ++++++++ test/unit/tests/utils/cip14.ts | 139 ++++++++++++++++++ yarn-project.nix | 15 +- yarn.lock | 46 +++++- 11 files changed, 259 insertions(+), 16 deletions(-) create mode 100644 .yarn/cache/@types-blake2b-npm-2.1.3-62a57db1c9-55a6ed7123.zip create mode 100644 .yarn/cache/b4a-npm-1.6.6-140a53bc1d-c46a27e3ac.zip create mode 100644 .yarn/cache/blake2b-npm-2.1.4-3a13da4cf0-cd598c96d4.zip create mode 100644 .yarn/cache/blake2b-wasm-npm-2.4.0-ba85ae7e93-1839dd0693.zip create mode 100644 .yarn/cache/nanoassert-npm-2.0.0-06b51d4a59-b1d366f952.zip create mode 100644 src/utils/cip14.ts create mode 100644 test/unit/tests/utils/cip14.ts diff --git a/.yarn/cache/@types-blake2b-npm-2.1.3-62a57db1c9-55a6ed7123.zip b/.yarn/cache/@types-blake2b-npm-2.1.3-62a57db1c9-55a6ed7123.zip new file mode 100644 index 0000000000000000000000000000000000000000..cb395611711bb1bb8c7ef34da32548abd3375d4f GIT binary patch literal 3320 zcmai%c|4TcAIFCwO!!eFM1-tk-^s4YGWL+Nlrdy5GxjyIOv9DzS>no;$RJx%mY4`x zBFT2gmSw~gk&tn9Z*IT5Ue$SC&vVWn=kq@2InVii&*w3N0cpU1uSKhTi2k3(w+GW+ zjm99HFQG69KM!XgDYKt;{R;S@tCnw&=Pwo9KT*Iv9NnE|;oruh2GIXAEt_b0tx#$J zz>fw15crMK$Uqlrat>;5(Sx3rW@*|GJ)3<|bhPn(56wBe@pOlbvkLARONCCHM|Cl# zS&q5J?XG@*-265d7a$jW95j|GnsHAU&liv$fHBp@&XZ{k$AZ|$W#AK+vM~jIuM&c) z6e%9MPY(?PqE_ZUFbhwZ^sjMpH_A-Lzho-Y%w)`u@(+%_u|h>fX0bgzLZXrIEzY3# zQf1bM2G{;7Fes1q(*(vxML>P@#2u2&FrzXuqYMjQycm_Z z=mKs|8pja*pQTKhDLI6!t}62^j}WcsbB0)t@FiaY7V-6QX4_*D)|5o2XM;IV9I^`% z{k-L@SrNC9&78BFBsChj-cN~ba9ry4E9ct+cMnS_6VD$j_Td`ebmu?4t?ICY9T1ud zj)oX@T{C7c(M>Gi(hDfa_%kaQMry6t6jI=+qub~!wEMVhDw)4L0`o}=q? zR_3`Tt-*G`x{3UtDpr0C&{%x9ln5y-;p#Q>U_xG!d!tiqlxwc_sxkgE=or2wIH|>C z;pVv8Q-(INM!Nb#*2`0M#nzl3G;61gffj@_H;J~xa~t~E%XN_Xdj#HPM5gow)-;n(P{3Lnp*I+vd}i@zm4|DXnbrt=JT zIJVEIhEh?76|lr`QM5sjUeH^2`Y$ot0JR;ue(tNqV{S2!z<(`+m0z4RC#B7TxQ}szq$H z^E$2;JG$^RpF4^s`*>bk_$Svm0xuQ2J^fI65Ha>8suYQ`G%@UmUDvzwg5+A0tDmZ2 z?0`L$psqr_V>3hTCEqKOohNbjO7e~vPwQ?^3+rs`rk13pfzoXkP97CayWY1e)OJ(q zZVzg+p&LhF1r;(+2+<>X8EkbTvEE_ldglV|%bB+iR~4#|E+$Il-7J!MU0u+zp&R8aI&a{5D0NQ;G>(&EU-;g+;}vB@G?^iVgj^K*`^i2!}W zD(*)Y6vd@v^oc%w^>?OC?<%JCiX<&1HN%RcS~^!&!sAJ;o-Qgf7FTs4)@Ay|U9z`U zWk>^{vW!&QQTiwOpOY{%GHq-rib6%QbS&xPmSijL{>_I7D_U&TL+qt-G>If1%4g^KkYU+dVs2i4wCQ?R^C!5!;9& zDt1%np~nsKXR|o)j+veuT#e@P_*-u$-*{ktd@gc7I2#o}bdqxAtN1~n57sTvW zBIz=zBwc9>2htdKtB(nFP}iP({JNiQ4pKAjKuJJ%aK|``!Lnqh|->NHsQiW{wbHGgnmm+(_o#}lG0J&a}+E0qgI+i z(*-4KSU0ColC7Dy((=`C^L)Ovl9kKy$WG||Uo5Ci2w2yuDmCE3<_nt2=k26DwPu_#=4-3XV&P@cK zPem8DmDPk#z4-EOz2cJ48iC|{h!jg&b{{m4+GR*LtCtHAavALpYqYImA}>m z$zhS?ksbfd55ZefnY%FBiRe*wuQ#8(`V`{^)o0MbWOrpmBNrlsK12?Z``I>CMX4Ur z{;?76VdvZ2-@VbKy;HREWTGNSNeDhsZ9`(W*+mC#mPG$iH^5mr&eZe>x!}^Xbzf??3#m}mNqdtf_3UdbjT#`gUU>6Tw9*J zOf}v-2L0}Rl5M4*soan*%JL)W;f>4s@a;vl|Nyx%PVWOI;e#|(gEpAWYd%64s5C9PQO~&zb zbaHpR;w zc1f?vd_6Yy&b9GucYL5*n?H)$s9Hm9QB*~ndi1R9Uo$2%(Y@kr(!L}CpJtBj8McO_ zd|fn&mG~!D*|G)`D7afPa~nGidS#@Xqla!hvI<)8Y(p?iU)1FF^t*vT8oq52V@4(x zFgj%y$#voyrUp8DTR+~p$$B0Z5-iGr#O12JZ2Ql!NtSH-bQfvJQc4c;NO6^jl0 zE{z$Cidqx+b342DvHmH`+Fz?59P6*7{{r`=kb~0y%~eO3iy0RX`Hr|z;+qT=!@;_F)4iK|VRzIQc3oU=z~2#kD| zGhCC2+q&FVgr}2My4;DQ5MqI7RtW|Gr!PNh&RaJnq}ts|>~B2KWXO<^CinO@cydv4 z9vTi!TUE9@nbZ#EqRg|O!|LTT<$d`5bi=zx?UHUux_n(_48V0PGgxmj1RuG7?wXy&e{*n7D$`+{|DcQz1q<4Sr~ZGUc8EzmJo1Ml_2 zsn-olcVlcVfwFE|Sazfw3*6dY`eao%hQmn#+8v6ZFuFY}q37t|#^|o3* zmwL23W?%XD3@e7q==0bE#yE3{up71Ypz!43SjSR+if4OG$zCJq{ zWKTX5xY8<{0nP{kC8LuI|H4kRdJ0-$cov8c$AdT?J@lo?J5{~8L7Z}=g=$-(qSDwN zc+YMpbeifJO`KV&yTlmY{3n`7_V2OJqbd0xzuiKUQ2{x5KipgF7kxdXk=Hqt(X+Z8 z!`c*p*At<18Gd6LFc72dJ-Yv#+9wzfRcT>L-3*r%_S9Cl<~aygw?WG*;E{8iOu^Uu zRnM3sAPF8ZBhGtG{*I<>fm5?Vqe<)=_D0w13#F}j&j*`(5(|PgfVw2He`ckVFj@Fo zDN?kemBXHxSFyR%!<5k( zaEWF-cNjrl6=ZJ&W=Z@&6}npA5q`AY!3zlSkvA=SNtx~-ZM@{(;fZ~H6u6S|@w1+d z0KTEntAeKD5aRKy6QScc5){m=eri)#n#bZxVrx>U%&-B>SqLv&$>HF}BTlL$(!FQa zW|Vgh(DzFWFzPLvX?X+sAQiUx+p z{nRL1>z~aNu|w75dBQR3yMiZVMWw*Tuhrda$IGS^F5hpe@=Lvm5M)kiBNr?`#SA=^ z8>-Q}epQ&4k%_15AK!FA6f&^}D#z2*_ofW&O?#7Yz)e&8A}3 zS3ezO$hO=!b?l6-MTk;`cxQp=?--!BG!nXPVehCbxodpVaRX&0Z0C}U5aNcXBaKzx zO`pvuj@o|3ziB`74n>K(r3Fm--AsJ~W?39xi|`kwFo)9Cf<825Wze-k?Ni+qt9FDA zJ-1hU?+67Pn{~mu|4vFl0i6P0Q*dgwgfGQ_Opz2nG`Z{)-ZpB?wwG>&=GohhiFxg``f;Sf$YNZ){Z8L^v^`vua-O2nxX^v$cplbAKOn{D`d3`G>rUJx>Ay< zT0nh@iyfG;S6Z1X9r;xVoD|Z93QMvBFhcqn4M(pAx>goe(7&sA#d;Sn>qsx*fbcVp zU>D?qar4sq^dOti{_z#M`@(=F{xr0J=faGqS7dI4b*xH%f@9Vgg*c{OPeD5aMom=k zFZL9WUeC}j`^v|M_zDbHU5q6Us8JCNIVT>)pV6CYgI?2k4%NvHUx_^qz*EY6dmw{S zjA1d}VYsZJ=tgEwWq2YV^1`l;!iY04(};a)EVJJARD@K8xEOzf5@U5U7#1VA5L<2# z2~2lj;{bc2IiY*%>UEoS*>tIAGfLH{vMGf2{@Jj+)e}iU(QG#`fmFZ9W65c1ZVUEF zM6$r8^poedev6DnkX(t6IOIKq1R9W^kxvf=X@Ic0rYTn-v7^k%H;TWFY_6?UbK&r9 z37$uYF8b&&N!T6;)tY?I9`M~#_r*M@HRoG$&mS*jAUz!O$vUJ9wH1h$W@V<>qcbV0*n&Q3$i zq?pw`o3Y5eoLa6CxtK5K_<}AsHm=UyKHmI6yWRvN-_zWDkqg(B1w7qMQ5>jLH=OxocAi;Ts+^}F9=VdZjhXKF7{9*&^DeD6nJFT#*eID~@aA4JW59&jDX-?mz zgj!iO-l~u`H7dG)$W!;`q_HeHL>MV_+LjI5w?;TGs(moG4>5vVUsdj~%;l2W;PR_D zD$T(iIPS-E0z{s9oRS?WO5(rBYo6gk=SX;)S4V5gx@nmFU|+$YwY9RsLRM%bdvIYY zMjP#~YOvH(-rQ}nQVt`;6z7$`3g`mlx4D7-@^m*tabHE&;V+bpR$O?VF}!`q4h z*KK*}h4%%F9^#y4%l|uO-BFL!>8KBviONN04Yav5K>Np(vttqA7kLj$?Wouu!Ct1Y zG)SfSi2!`fA02gr(kw!Hh5M9py^*^tIZsSwUIA^})0-{g6FEbddjqYh?-#*Gau^qk zTC*dFv5xn6aqf1mUWYT0@3wcg&+O{j^z~{6Cv<%o{eH?bs0&7QGizuFxpQm)1h-x0 ziV`jQlIidhixKj9$`IbW`ctLKiX+DJhiJ0wzg)e(xPqzccj{DsUuV?t>wG=(a@7yd zsXqVy3aiEBtJ$Uh{Y{qi+Rn4PP4DM11U&POn zTtDPYt2Wo%Ox!cLk}dG;hT>+tBObz*(8E4Snpd=Kv!BY@T)Z%!VPo+(wfIEb%%ure zO`u)>e~+`u2)}nLmQQqvVnAHNB4wzr!*d2ip*G zaN+Y65X9l9-h&8Z>oo-xgI>h^b?CKQvnDSbT|FpCIteztLfns+PuVFjP_({RUKy1*uEc2TaXM!BRTf~|o>W80Hu;0NAF7|IXLCHZq zz3;^WeLsZ%WZP!ZRY%TXlCpk#gf{W#7V&89jXFTMw`0PhT!3s85z<@pjE8eg!60`3 zxL$JP z3NO44n3>zok~yT17v9_)HL}vajEcZDsdpreLBmnY@3dOIC(0cFMPoU zWU4p1`U_H1gM-OOuP7VXBTgK!Z|g<5c3CT`FxTK@U^KpS{q8Wp<;gQMR*f~Vi)U87 zU}cplIDmXl-_RBmrr_y8A=uy%Fa|%I&7^Y84Rzu~lod&%0zX*~n1?@;8_^%at{4No z7~acXi8-68@OA}X{w|8uW%#4 zBXM~_T22*KSiTY32s&oLRucAoE~Fw>+Ya~Bb0fv2tGieAL)07K-$Q!Le~QswA{Vs~>)K#Q+BY2>(sQ(An71lF7;$6whkkPl6KS?mKAP%O<|OilDaO_CwS3<7aY- z`n*6^W}mv2nh@0YwD8thb>X}TNWuBl z^)+PyV#~P(*ZP(@My|E_>$C309Nb^I+R_b_; zFXVV?)w1_>b?HC3eMFujDm!hXX#G3~;!hwm7E^b?7rVAeqPUgd^7G4{)I~BlS)xd8+R(Ia1BK-+(Zp2Z)6~M}Npv)S&QQ2O`GQp~^!Lb3W7aa9 zSlfERMcH%x1nd(9B7MPo7G;2@4mOjbfWdz!TEkkr=RCKjGyLnvtI2KCDjz_;syg&^U4KXr@ncEJs7&SCS<+Z4kD21S< zJC&~6k2ycJl1*vcwlt*|xw5`s2~$MToN8)o<{D_kP!{#-&{%hsRN6Trk|lz0>e`3f z1HJWydEH6Vg>I+M_$`c)PuGLEP$#xpGxp2Jvay$|OO;0MG2lKGxrDsxcCnT8+O^Vu zin(dANDg|~3Ax&0He!aCimFU?6j_$}%H+;Xg4i9&9hB87b|L-%|93ro|Krwp?;QYO z!2|%{|C62?IoZ2An>zhc(s?{<`_+-lcHcqhL-Fk+Ln(E&e)EUvZ6E&t3^2UH7XzI4 z(poEDl?r1ECzYIE&)3sGIot|M%SDoX!)A0p;BVk-5Vec!CZP!eBL zn*-Yf`j33)R!OFLtM8q*L`OX#Zbt+kS&U`?C&#;eVg5ikHf^&Huu$;eio#v3s6sq` zX6LgVUH8_&p)fE6a~T4KNE4QqG>UH~oeF4r67I9!O= z35Xs{Lzb^7bqf4L0AetPqWngz7LdW7R;U4+bNBY_-!CW-`EEJ)CCP6$Iv1&*lnNw zs9-UF(H#j#hjq>WV(mOH)u-=P^YD!0SM}@QZuKw^YxOu8hS~mqpT8yZW z5DG>X`{6g)BFe&fk5IUxJi9OEm!Kfa}gAV2LOQ+{qX$qB^i7K@?> zSSUXVZa)W%cYH4~upEr!7sI3n%dbHP7Df02uC{nBf?43-Elr55SgpuyO8_1q!5`s{ zKJbah=<@@{1HksQbnNSz`#0RcHe&7ufdBQxiVx`%pj(g z0!dAQ4|CNA1msF{_8f~c@GVk0%e`4K&p(>@inQlQ4OfE=sbmw|BD}CG^qf_V%W4#C zqA{Bp1}2<60b9{}C zlFGg%j}>!aqAHd6%RfL)qXJ!uuW?bF_n+1?QbR+ul-_Fgk{@9sT$M~dO!DK25*(J2 zK!uKB`zAXUA+FcM!9)st3S8b~lmcwywGJYMF#D@~0e&yyNzT*-Cfvbf9$1c&fGyFl5MFt z*W_^Iz0>WXu|jTle=Apv1?vQCVnH#JHqesN+QZT}ibXe9b#6W&AzlDufaML+0w{kg zmQdkNzF<l@a-FmXtu29O)wG)xO{!FgQ5ndl2H1{;eIK;`Qzfz- zsjK<#cgRy|k*IqwGkjk@%zJWu zmV1Nwl1~3heUKbHhG3=PacP~LYq-Wx{bQBZdIWk8XEA_P{!WKbP$l9m#0 zsJ{4uz;4~(P+%a^qNoCH?A;Uq^STT+&Fr*`w2;E>8=3b0Twqf~#ERL%N0g3YJWcT- z$0+K4ddeV!Mkg_Dnrb=BJqNWzo47n``fK3oEiGRccBhe&wBy&Q#rjZ!SbTLVom?4k z?1^l34W$PX_$g$vk2=*xDMR6elp;sScNRcgTH;C)gV3_B%O5#*Nh(ix>){8{&9esL z$0h~W-5-V2@eqpYX6tb@6SF?mIQ8C{yBSf1^}ealG;)1}dgjk7Ke#W8ry{N+WCSUr zN4tA~Sa!^OCHLL$THA z($qpej(2;yJcGY$86Pyy+}@UvtJC>x6B)&%@?5lvF`ly5`uyZPe%1P{{n=oo4OUm9 zZS&?-k=^FD`!2hP5S8odYOdho1st5#ogwmuF{xRvuHSI>2^+gYBaF78*7tcqy+XvYirl~%BlRKTQs#HLPbFsPf$g3Peyd+1b)WA| zG4A-$7q^xp$zN=j;^iW+Sg;2!(H59u4BYF*K^9}54hv0J#Gm?byvd2ao1V@4n7%o? zv^e!c$zwkm07yw`i`7hq#AHkx9smC92pK`C=DhopA6TOEe`9yVmVZb*- zM}I>;x5GS5=6)n;21;<9);LQF@k~ErN}#2V`;t7DW!LcVT_taW@H&pBU_nQ+SrnfE zqn2$GfgT!wzODgUgubSK!0JmN&`A~zb8Bhs>7Bu`Jgp^!$7~u_fRLid;eow38Xm0N zqtz}^7d!^C))|oCCiaBDvqY7i)j4Tx%Q~X4_SA|ZX0-6!g0A?i!HR)p(GmP}G`$91 zi$Bzxh_MXIS$vABcQ4BFOyXwMK+ekM&1cK(VfN+9&42(cz6YO=-w#m3p;1q&ByeA*9tYSgI!q@~?K7ilKFIKe@*|yu_2|BqBEpy2 zeExNWvGmYmWB)dM2jeRY!RP6L;!6GW@?b`N(p;RNA8&aN={z|FIDP{N!Lgr(04$)Q zQ<5lMiW8*qfxX8S1w8iRO4KS(5UX~Km6%h}1hc|JtQVmH`kh6zhZ_{pT#Tt_F!@mD z%K1Na#bV{==h;%jN`{PNP@3;1hN8>UI=%0Nk@7*!5Y8Gf>t_-gzcLg8Itp7?Xg;0S zH|9j*_xs5?xV=~nq&7;?h8&^`F?EA{HkV*chjqid$bZ*{U|ZACv|ll;H39&D`%kfg zrJc!tbfG9^JaUxjGZh;_uFvWb)?g;;~KP1Na`G^F~fi!xy zVtk(SCP(bE{;|YxC@IjsxuAve-VXTx%0T6hm1G*otRvkYWluRvvA3a@f4+ zNjiOk5)5$&PyB2&sl4nOmSHrDf8=>am$L6SLAuD4`BnL;`ftd4gbrlYQ1SB^Qo-9O zqws4#zbj^=fE;W>=tQ(E`aWBynOqxsBI~SGSVk&Ssl{`|W0!Avl{2a3uZ3JS?i7Y> z#M)hW87q3kOtY2<%Jiuk@LO>K?LWibVGY<&YsQRxf<;9G7MHT)(E<_O$QSYZdlUQH zo0N4>4~3nQBn1;dSOW;32^U{1Jp0Cy%6l0meEAk?+DsDs`&5FnJ*78dfIWOqwat`U zv_iufs73k`r-HmUShf!*^B{~Iq)h?a%|;K{CEHX8w^hJqtv=HG6K{Z`E2`(0!k3K* zzb@#m@qYaGw}ev~ly-O|3>ItW5ig6p%UH{*Sad8K<_29oJ-vB^?U`RWZ98)LqbALp zUFd;0*`^5kn^H-v1vOLTFIEBcC~aAE1~*yn@`)X<{DB2O;TPLa$>oL8zIZKJ2E-Rq z5T;m0hCTCh0K0;XHPaf?cQ;QWoGps>7CHK5l2kp9{rMrx|p$Y*_i$^aIOh*3jHhyq2~{nUAaY#6>U-^g;j~u)ehU? zZcA+@phL8zV({SG4ae=^PnIQAF&m4wJ7dD!^0NZ2fsFq z8Cs6(yWeYwfbKVHotD5uK^a==L0h%Vy!u5qqbeNKQGvO8;n(}qWUt-N<0~5nPwh^y zi96Rqs+v57D=IFALE%Y=eJdRac$vaIrOzUY-eNW5owTzu=Ax>Dywem~jxhaV0TyNR z{pV9NXwPaiGRgpFCma|j=Tf#M&AL|u(ttMWY5EL~_>G1gIzB1OPo2Owr*=J* zC_&R|uF%PF+#<5+?Nb5`@Jce_rU@K`9_d4oQ%XIXQ3FZ;o*@VFLE^qjQ&ck|;c^u= z8^WIv^-6#BAP#y)BnnN$)NG6mjENX0K6eMEl?{T4*fE*}P!Xsh;=4cKS+fvzrKKeh z5hottW{e?n>Oz_4{$QHXXAx}3ZVOZ{XFxC-QALaL`w$e#0`&4!@BEOY41<^w;DKZg zl5<=1NgajS;baY61PHG3TkgU~98a^I3O8XMwSIXno}9u}fJiK$$Y*K=zAKbEjiK?i zL<2KNR$%{_(i9RKZYIRJ9ppNxbEX8e{cFJ0Lu(a8# zFHTBI;aABNmc6k2^sO6Fu_WdP3@Oj3>z19k z<3odiPD^Op-d@$!ieh@|cd(9CQ*P#$)r6F>=Y!-v~T{2O(ktuQl0(y{xW7 zh}FpZ+O13i6+s-;H8>V5POPl%y^wIy^kf&4R(2fJxVH=VGpXnBb@FGp$gFlV*aV{t z+vIY^yO25htu!Lqq3^1G?Bz3HE0BhA?hR^%k>yBR9>VRtEi}YPz)%l|X(RAD+4!v^ zMmiru?Ti%JQ!jYe;IxJCgL-GZv4^?QBs@ET1sdYEs!OxBROQty?sgt;IOIL86=T8Y z>X!OUgh)mGLd%V@Vn}4BF3bz2#8Jh%L@OLt!`M$5t|6LAn-DprZb2za+ksy6tKGs! zXKZRCgooLoUQ%t%fio<3uc<{>$O3&B-;u3=&VZoJu90I#sgbih8cx*mkM0yy-(|iI zWUJubVgLP0vsV?)R{Lf6I{)oF-@(w>+R*$Dqi1giQvQ$G>pa&G6JH64H6g6+wo0nu+dxA*`L~%(*@- zH!2MaT11lEUAA8S<&mojX`O`wJ^*mYw(U|OVYw4FzXedNdHW)W7ae%zT9a=@`Nk|~ zoskq?Yr`qibnru7pv(Fum$c00OV`{5@TX9}mgOet{%GdOI4TPKDMV-1hy0GzfC)K` z>R0{6UIJ_lDjx~1@nT~RyoUpqMdR!H*^j;r5*3aa9FKNi*J#ABo1%-FBLlgb%*Wg| z^DQy7Qf?L4FJ}TIRk>En^-AjNtL3>3`lgRYFC}`{GpgYzjQD71 z3~S#Lzl=eo9$|xsP2a$gW}svX47ny+CKw)+X1yQZpN=>fLz#HvYRzUWpmXRJ#BsTZ zpNElR9}IH;eLbAo&(S-6S-w;h008fwET6Ktu$Y`UldZ`YjbC=}Jxb@X20~nax&NL` z775MmeiJPU$r9GcJ_aNTC5XYyRGG5OV_mNFWW_=*Vn@k*OBa<0P()^;1QHDd& z3PQzrfGx5~gXGnN=MxO*+f=;}JU9dIG-XoNSk~N_*Yej9BdU1>oe&muM3Y0T@G-x) zDtH1x;714#I8R0f;j%vak~`&A_qvZJT=R=eJkFKmNB*nF(xuce0`fQp;a_^taa$s)wg;ioSJXJ%#8`plPC#C!%i;; zwLa04jXK#iKA6z5zqFx*=CLHfhUJ_08?H;0QXKEB(O5B^#mI}zsD$cJ=8A5G4)$&c zPWz|+!LhIW!isnW+n zqS`B@%XT<)yA6Ks80ZaE7r91ABBt2abB{0mSlIpeweRaR|8*iC-aWmIy{~S?_GRu` zF^@CUE(JmgX(FISKvJ#pIDA8!4tiKTXn(6^pA6S+q3%K1wTn2Q#>^z2N#^*)-)8U8 zRvzxK3f9xk)A{+;3w5_bQ5TbG}+=0bSYkSj?$lheDK|%ra{lgRA zba%ZH5)bedLPyhQhr!tB4S{O?InddcW@fY>CG9XKDzQXtRuk>*YP1*KHGAhX!9A`I zRN|%DPTbupxK!`ONZU~+o+|pCWB0cXxt0cZEo!4ixt8Ylz8Pqw9vjHJGp;DKC}{B) zIL`5gaGp^VHN?ReC4Uu{J5@K1^CCRR>|^~B{z;Pe3UnbLwQ*kEX6_d=*p757XMV@& zEWhyp-z=RSCQ$l}7&=qhc zB%^Q0NfTLBOC&R_`02eny6uo7tO9oTI)`=ue%~yNE%&!0554K0s;^4GN9uGgvJy5f z+&A2pU$GPzxFE#8mtp_<@c+|Jh5xwyR+RnkqJNZS|JhE3>3==`P4vHtwEs)|&)nqi zW!is=7Y1nkllXrZZU0~6|09w7XFC;s{Z#_~zXtJNY308UQ!fBi35D#gFU{_x&^C;je^ x{6zwz`3KVf@16XP`h6??3l&fM52*jySQTZUekJMw0K{LvtY2Gk2;(1b{|^kOjeGzA literal 0 HcmV?d00001 diff --git a/.yarn/cache/blake2b-npm-2.1.4-3a13da4cf0-cd598c96d4.zip b/.yarn/cache/blake2b-npm-2.1.4-3a13da4cf0-cd598c96d4.zip new file mode 100644 index 0000000000000000000000000000000000000000..2c58aca449061bd90b3ce94ec3f2ec849850a89e GIT binary patch literal 55468 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 literal 0 HcmV?d00001 diff --git a/.yarn/cache/blake2b-wasm-npm-2.4.0-ba85ae7e93-1839dd0693.zip b/.yarn/cache/blake2b-wasm-npm-2.4.0-ba85ae7e93-1839dd0693.zip new file mode 100644 index 0000000000000000000000000000000000000000..34bb69e9c1228d43c8baa1901446ec8e9a84c828 GIT binary patch literal 13943 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 { + test('Fingerprint is correctly generated', () => { + expect( + createFingerprint('7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', ''), + ).toEqual('asset1rjklcrnsdzqp65wjgrg55sy9723kw09mlgvlc3'); + + expect( + createFingerprint('7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc37e', ''), + ).toEqual('asset1nl0puwxmhas8fawxp8nx4e2q3wekg969n2auw3'); + + expect( + createFingerprint('1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', ''), + ).toEqual('asset1uyuxku60yqe57nusqzjx38aan3f2wq6s93f6ea'); + + expect( + createFingerprint('7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', '504154415445'), + ).toEqual('asset13n25uv0yaf5kus35fm2k86cqy60z58d9xmde92'); + + expect( + createFingerprint('1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', '504154415445'), + ).toEqual('asset1hv4p5tv2a837mzqrst04d0dcptdjmluqvdx9k3'); + + expect( + createFingerprint( + '1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', + '7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', + ), + ).toEqual('asset1aqrdypg669jgazruv5ah07nuyqe0wxjhe2el6f'); + + expect( + createFingerprint( + '7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', + '1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', + ), + ).toEqual('asset17jd78wukhtrnmjh3fngzasxm8rck0l2r4hhyyt'); + + expect( + createFingerprint( + '7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', + '0000000000000000000000000000000000000000000000000000000000000000', + ), + ).toEqual('asset1pkpwyknlvul7az0xx8czhl60pyel45rpje4z8w'); + }); + + function roundtripFromHash(policyId: string, assetName: string): string { + const fingerprint = AssetFingerprint.fromParts( + Buffer.from(policyId, 'hex'), + Buffer.from(assetName, 'hex'), + ); + + const hash = Buffer.from(fingerprint.hash(), 'hex'); + + const reconstructed = AssetFingerprint.fromHash(hash); + + return reconstructed.fingerprint(); + } + test('Can generate fingerprint with hash', () => { + expect( + roundtripFromHash('7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', ''), + ).toEqual('asset1rjklcrnsdzqp65wjgrg55sy9723kw09mlgvlc3'); + + expect( + roundtripFromHash('7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc37e', ''), + ).toEqual('asset1nl0puwxmhas8fawxp8nx4e2q3wekg969n2auw3'); + + expect( + roundtripFromHash('1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', ''), + ).toEqual('asset1uyuxku60yqe57nusqzjx38aan3f2wq6s93f6ea'); + + expect( + roundtripFromHash('7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', '504154415445'), + ).toEqual('asset13n25uv0yaf5kus35fm2k86cqy60z58d9xmde92'); + + expect( + roundtripFromHash('1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', '504154415445'), + ).toEqual('asset1hv4p5tv2a837mzqrst04d0dcptdjmluqvdx9k3'); + + expect( + roundtripFromHash( + '1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', + '7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', + ), + ).toEqual('asset1aqrdypg669jgazruv5ah07nuyqe0wxjhe2el6f'); + + expect( + roundtripFromHash( + '7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', + '1e349c9bdea19fd6c147626a5260bc44b71635f398b67c59881df209', + ), + ).toEqual('asset17jd78wukhtrnmjh3fngzasxm8rck0l2r4hhyyt'); + + expect( + roundtripFromHash( + '7eae28af2208be856f7a119668ae52a49b73725e326dc16579dcc373', + '0000000000000000000000000000000000000000000000000000000000000000', + ), + ).toEqual('asset1pkpwyknlvul7az0xx8czhl60pyel45rpje4z8w'); + }); + + test('can get hash from bech32', () => { + expect( + AssetFingerprint.fromBech32('asset1rjklcrnsdzqp65wjgrg55sy9723kw09mlgvlc3').hash(), + ).toEqual('1cadfc0e7068801d51d240d14a4085f2a3673cbb'); + + expect( + AssetFingerprint.fromBech32('asset1nl0puwxmhas8fawxp8nx4e2q3wekg969n2auw3').hash(), + ).toEqual('9fde1e38dbbf6074f5c609e66ae5408bb3641745'); + + expect( + AssetFingerprint.fromBech32('asset1uyuxku60yqe57nusqzjx38aan3f2wq6s93f6ea').hash(), + ).toEqual('e1386b734f20334f4f9000a4689fbd9c52a70350'); + }); + + test('can get checksum from bech32', () => { + expect( + AssetFingerprint.fromBech32('asset1rjklcrnsdzqp65wjgrg55sy9723kw09mlgvlc3').checksum(), + ).toEqual('lgvlc3'); + + expect( + AssetFingerprint.fromBech32('asset1nl0puwxmhas8fawxp8nx4e2q3wekg969n2auw3').checksum(), + ).toEqual('n2auw3'); + + expect( + AssetFingerprint.fromBech32('asset1uyuxku60yqe57nusqzjx38aan3f2wq6s93f6ea').checksum(), + ).toEqual('93f6ea'); + }); +}); diff --git a/yarn-project.nix b/yarn-project.nix index ee6d6036..d6d21476 100644 --- a/yarn-project.nix +++ b/yarn-project.nix @@ -120,6 +120,7 @@ let cacheEntries = { "@emurgo/cardano-serialization-lib-nodejs@npm:11.5.0" = { filename = "@emurgo-cardano-serialization-lib-nodejs-npm-11.5.0-8c2e047031-f9e271704e.zip"; sha512 = "f9e271704ef12eb018bc0a15b8c6f83c61db694a422674267be6c546a9a89dd8b200781aca3f97dd5bb4291b0c84f6c60177fcf7e550964188a4ed6a8efd0316"; }; +"@types/blake2b@npm:2.1.3" = { filename = "@types-blake2b-npm-2.1.3-62a57db1c9-55a6ed7123.zip"; sha512 = "55a6ed7123a7adc82cc51131644b6c035c28142d028fbc23fe06251c76583ee3303d73204e21de8ea075ef84a04c4ed424754f5035fed20730a85272620a0de3"; }; "@types/config@npm:3.3.1" = { filename = "@types-config-npm-3.3.1-2b50dd112c-dc6604a6bb.zip"; sha512 = "dc6604a6bb90179ea7fbe5a3de23301999dd5b115f9999f9e48db412b7c86224919bd9af8915e7ed8734bd5f729fcbcc0eb5adf37fe2422bccd98deae1063530"; }; "@types/node@npm:20.6.2" = { filename = "@types-node-npm-20.6.2-bff5d8378f-96fe530387.zip"; sha512 = "96fe5303872640a173f3fd43e289a451776ed5b8f0090094447c6790b43f23fb607eea8268af0829cef4d132e5afa0bfa4cd871aa7412e9042a414a698e9e971"; }; "@types/pg-format@npm:1.0.2" = { filename = "@types-pg-format-npm-1.0.2-0aaeabb5e6-1638dc13fe.zip"; sha512 = "1638dc13fef4aa947a959188d5d539039dd772254f83b7299823839fc761e6fee089129c0f2b3c3a9bdd631eee4cc443663698c35bafd101de3658b0511a13d8"; }; @@ -136,9 +137,9 @@ cacheEntries = { "cross-env@npm:7.0.3" = { filename = "cross-env-npm-7.0.3-96d81820f4-26f2f3ea2a.zip"; sha512 = "26f2f3ea2ab32617f57effb70d329c2070d2f5630adc800985d8b30b56e8bf7f5f439dd3a0358b79cee6f930afc23cf8e23515f17ccfb30092c6b62c6b630a79"; }; "make-coverage-badge@npm:1.2.0" = { filename = "make-coverage-badge-npm-1.2.0-e0e8851735-c25de95d9e.zip"; sha512 = "c25de95d9ee66b67da93cdaf6ce2f9bf1d40287e3a61cea765f54e3ba0cc8c7ab0f8e51c48f33978ec4764812fd90c64405415a88698c5ac62b042e69d7073ce"; }; "rimraf@npm:5.0.1" = { filename = "rimraf-npm-5.0.1-26fb251a1d-bafce85391.zip"; sha512 = "bafce85391349a2d960847980bf9b5caa2a8887f481af630f1ea27e08288217293cec72d75e9a2ba35495c212789f66a7f3d23366ba6197026ab71c535126857"; }; -"@emurgo/cip14-js@npm:3.0.1" = { filename = "@emurgo-cip14-js-npm-3.0.1-6011030ea2-9eaf312410.zip"; sha512 = "9eaf3124108e8c252a745de9ef1f334ab26a32271077b00fe0ea2a06e40838dd435165dac523ebd4d851ae7a94d8c56766dabc372aabffedd36551c798c607c5"; }; "@fastify/cors@npm:8.3.0" = { filename = "@fastify-cors-npm-8.3.0-6f830323f3-f487b5a882.zip"; sha512 = "f487b5a8823264c3db58e99df020e38ada524514d60f2c5c2e01b994519545e2fc9481006d98e485b40e536b9b89f72af9061d9377b8e93f6ce07b14d40164a2"; }; "JSONStream@npm:1.3.5" = { filename = "JSONStream-npm-1.3.5-1987f2e6dd-2605fa1242.zip"; sha512 = "2605fa124260c61bad38bb65eba30d2f72216a78e94d0ab19b11b4e0327d572b8d530c0c9cc3b0764f727ad26d39e00bf7ebad57781ca6368394d73169c59e46"; }; +"blake2b@npm:2.1.4" = { filename = "blake2b-npm-2.1.4-3a13da4cf0-cd598c96d4.zip"; sha512 = "cd598c96d459017714b7f9cb8892ef2b0a94f362e26e6baa46b7b8b189af0006ce25ab1713e3ec1484eb18ce7ebe1eb24e07d01e42ab1147067de2419c7f6158"; }; "eslint-plugin-prettier@npm:5.0.0" = { filename = "eslint-plugin-prettier-npm-5.0.0-2f21113cba-84e88744b9.zip"; sha512 = "84e88744b9050f2d5ef31b94e85294dda16f3a53c2449f9d33eac8ae6264889b459bf35a68e438fb6b329c2a1d6491aac4bfa00d86317e7009de3dad0311bec6"; }; "supertest@npm:6.3.3" = { filename = "supertest-npm-6.3.3-2e2b5bc83a-38239e517f.zip"; sha512 = "38239e517f7ba62b7a139a79c5c48d55f8d67b5ff4b6e51d5b07732ca8bbc4a28ffa1b10916fbb403dd013a054dbf028edc5850057d9a43aecbff439d494673e"; }; "@blockfrost/openapi@npm:0.1.60" = { filename = "@blockfrost-openapi-npm-0.1.60-64f77da01a-2ab66de532.zip"; sha512 = "2ab66de532917fef3f1e88ab0cbb4259f79ba9b73fd865cd815f1e836d596de4394ece2914bd8b5ac8f0d38a7f7e11226a6a21ec298a4becf4d273e40abb08f4"; }; @@ -151,9 +152,9 @@ cacheEntries = { "@typescript-eslint/parser@npm:6.7.2" = { filename = "@typescript-eslint-parser-npm-6.7.2-9be494f6f9-9e93d3eb43.zip"; sha512 = "9e93d3eb432ed5457a852e25a31782d07518f728966cd477620175ae64db9be04f5d8e605f3561dbfe9a365f209a83b2a3788efb9b3cf33669c8bca17f1bcf6f"; }; "json5@npm:2.2.3" = { filename = "json5-npm-2.2.3-9962c55073-2a7436a933.zip"; sha512 = "2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349"; }; "mri@npm:1.1.4" = { filename = "mri-npm-1.1.4-d22a399f26-e65b9aed3b.zip"; sha512 = "e65b9aed3b9e423ad4c11f529ab1b9280f65dce8fb476d0da236b5c570ad3322fbbcd2393180855f1474f8b0f982d76ad398766fbd47b8a5ab4069e325d0268e"; }; -"bech32@npm:2.0.0" = { filename = "bech32-npm-2.0.0-ad98b7dd79-fa15acb270.zip"; sha512 = "fa15acb270b59aa496734a01f9155677b478987b773bf701f465858bf1606c6a970085babd43d71ce61895f1baa594cb41a2cd1394bd2c6698f03cc2d811300e"; }; "jsonparse@npm:1.3.1" = { filename = "jsonparse-npm-1.3.1-b6fde74828-6514a7be46.zip"; sha512 = "6514a7be4674ebf407afca0eda3ba284b69b07f9958a8d3113ef1005f7ec610860c312be067e450c569aab8b89635e332cee3696789c750692bb60daba627f4d"; }; "through@npm:2.3.8" = { filename = "through-npm-2.3.8-df5f72a16e-a38c3e0598.zip"; sha512 = "a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd"; }; +"nanoassert@npm:2.0.0" = { filename = "nanoassert-npm-2.0.0-06b51d4a59-b1d366f952.zip"; sha512 = "b1d366f9524405f3337192d32dda6ac0b02374e4d0550c9aad33480caf2eb3c84c06f18f41f4c5404c14f6fc1ae6b84692b4375166dcb9f2d04a2ea9b9bccba0"; }; "sinon@npm:16.0.0" = { filename = "sinon-npm-16.0.0-35cca97c91-fbcad39d16.zip"; sha512 = "fbcad39d1610c669bb37ce2d325f2ac666ff5187935d09d1e757e11c50d07b8556b7dfa322eb38ad6ace8a18912224cc502e990779bc3d0954244a1ae8391984"; }; "methods@npm:1.1.2" = { filename = "methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip"; sha512 = "0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a"; }; "@blockfrost/blockfrost-js@npm:5.4.0" = { filename = "@blockfrost-blockfrost-js-npm-5.4.0-32c36ce5a9-76bdd7e1b4.zip"; sha512 = "76bdd7e1b4d5b386db0db66be648123b22d03808b66f42f85bf0899cc67170922cec6b9b289fd797db1a27c752b20c931a7586f5b4a0bdce2c2c07599c2bc4eb"; }; @@ -168,12 +169,12 @@ cacheEntries = { "proxy-from-env@npm:1.1.0" = { filename = "proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip"; sha512 = "ed7fcc2ba0a33404958e34d95d18638249a68c430e30fcb6c478497d72739ba64ce9810a24f53a7d921d0c065e5b78e3822759800698167256b04659366ca4d4"; }; "prettier-linter-helpers@npm:1.0.0" = { filename = "prettier-linter-helpers-npm-1.0.0-6925131a7e-00ce8011cf.zip"; sha512 = "00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392"; }; "cbor@npm:8.1.0" = { filename = "cbor-npm-8.1.0-c1a4d6266a-a90338435d.zip"; sha512 = "a90338435dc7b45cc01461af979e3bb6ddd4f2a08584c437586039cd5f2235014c06e49d664295debbfb3514d87b2f06728092ab6aa6175e2e85e9cd7dc0c1fd"; }; -"blake2b@npm:2.1.3" = { filename = "blake2b-npm-2.1.3-b5b61ec9ad-e652234249.zip"; sha512 = "e652234249cbdb3345488d52b5e76e8572b8e5333f3f0d5e716772b7c5d2142f433c3fe86130e92117329532e1d1235cdaa89f40bbca27a8ae528bef428241ef"; }; "@sentry/node@npm:7.69.0" = { filename = "@sentry-node-npm-7.69.0-5b1090f2f6-97210ced96.zip"; sha512 = "97210ced968a3d968fd9d93e67e1f3c9613b99b223f87fad944e6e94db40ebc10a7c339c848e0529c5ded69f94f1f689b4a6df1da4df1aad6663a752ac591d03"; }; "@types/qs@npm:6.9.7" = { filename = "@types-qs-npm-6.9.7-4a3e6ca0d0-7fd6f9c250.zip"; sha512 = "7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba"; }; "fast-deep-equal@npm:3.1.3" = { filename = "fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip"; sha512 = "e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d"; }; "json-schema-traverse@npm:1.0.0" = { filename = "json-schema-traverse-npm-1.0.0-fb3684f4f0-02f2f466cd.zip"; sha512 = "02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad"; }; "require-from-string@npm:2.0.2" = { filename = "require-from-string-npm-2.0.2-8557e0db12-a03ef68954.zip"; sha512 = "a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b"; }; +"blake2b-wasm@npm:2.4.0" = { filename = "blake2b-wasm-npm-2.4.0-ba85ae7e93-1839dd0693.zip"; sha512 = "1839dd0693681228d81f781dd8680a6803a629ca374aed5ac02fa649ce40a67a85eb49eeb2ec6aeb7ef3ef5aa169b3579b50eabf7afa360d190338bc3e8666bd"; }; "cross-spawn@npm:7.0.3" = { filename = "cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip"; sha512 = "671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52"; }; "synckit@npm:0.8.5" = { filename = "synckit-npm-0.8.5-40a594eb38-8a9560e5d8.zip"; sha512 = "8a9560e5d8f3d94dc3cf5f7b9c83490ffa30d320093560a37b88f59483040771fd1750e76b9939abfbb1b5a23fd6dfbae77f6b338abffe7cae7329cd9b9bb86b"; }; "pg@npm:8.11.3" = { filename = "pg-npm-8.11.3-94865204fd-8af9468b89.zip"; sha512 = "8af9468b8969fa0d73a6b349216c8cbc953d938fcae5594f2d24043060e9226a072c8085fc4230172b5576fcab4c39c8563c655f271dc2a9209b6ad5370cafe5"; }; @@ -190,6 +191,7 @@ cacheEntries = { "@emurgo/cardano-serialization-lib-nodejs@npm:11.4.0" = { filename = "@emurgo-cardano-serialization-lib-nodejs-npm-11.4.0-98e9c716e3-2033f63352.zip"; sha512 = "2033f633521283026f9e418613eb1840d44705119826f615c14b9a6adba995e8d66f5678fc5bb752cf2695db937c67d395795c533fe46ded2f7ca0e8973a45eb"; }; "bottleneck@npm:2.19.5" = { filename = "bottleneck-npm-2.19.5-2c6092aa17-c5eef1bbea.zip"; sha512 = "c5eef1bbea12cef1f1405e7306e7d24860568b0f7ac5eeab706a86762b3fc65ef6d1c641c8a166e4db90f412fc5c948fc5ce8008a8cd3d28c7212ef9c3482bda"; }; "node-match-path@npm:0.6.3" = { filename = "node-match-path-npm-0.6.3-0c492cdac8-d515bc069f.zip"; sha512 = "d515bc069f293688109c058ee02567528fdaa856290d362b80a2254734975014e4eefcdcc5164a8adfd5560aa870e277c97fe8be648074d5088056cf61553c7c"; }; +"bech32@npm:2.0.0" = { filename = "bech32-npm-2.0.0-ad98b7dd79-fa15acb270.zip"; sha512 = "fa15acb270b59aa496734a01f9155677b478987b773bf701f465858bf1606c6a970085babd43d71ce61895f1baa594cb41a2cd1394bd2c6698f03cc2d811300e"; }; "yaml@npm:2.3.1" = { filename = "yaml-npm-2.3.1-743f5688d1-2c7bc9a7cd.zip"; sha512 = "2c7bc9a7cd4c9f40d3b0b0a98e370781b68b8b7c4515720869aced2b00d92f5da1762b4ffa947f9e795d6cd6b19f410bd4d15fdd38aca7bd96df59bd9486fb54"; }; "obliterator@npm:2.0.4" = { filename = "obliterator-npm-2.0.4-b21b355294-f28ad35b6d.zip"; sha512 = "f28ad35b6d812089315f375dc3e6e5f9bebf958ebe4b10ccd471c7115cbcf595e74bdac4783ae758e5b1f47e3096427fdb37cfa7bed566b132df92ff317b9a7c"; }; "@types/express-serve-static-core@npm:4.17.33" = { filename = "@types-express-serve-static-core-npm-4.17.33-0366bd5654-dce580d16b.zip"; sha512 = "dce580d16b85f207445af9d4053d66942b27d0c72e86153089fa00feee3e96ae336b7bedb31ed4eea9e553c99d6dd356ed6e0928f135375d9f862a1a8015adf2"; }; @@ -206,11 +208,11 @@ cacheEntries = { "cbor@npm:9.0.0" = { filename = "cbor-npm-9.0.0-aa1b41b42c-f24f0ab21d.zip"; sha512 = "f24f0ab21d2a7b93fff890504efe1a4fee84ca69252485e4491ebf1513caedcdc858bf1b82a642251ab119144fd350bd81a52d8adf11cbf42629abce68239210"; }; "prom-client@npm:14.2.0" = { filename = "prom-client-npm-14.2.0-67b29e14e5-d4c04e5761.zip"; sha512 = "d4c04e57616c72643dd02862d0d4bde09cf8869a19d0aef5e7b785e6e27d02439b66cdc165e3492f62d579fa91579183820870cc757a09b99399d2d02f46b9f1"; }; "nofilter@npm:3.1.0" = { filename = "nofilter-npm-3.1.0-3c5ba47d92-58aa85a5b4.zip"; sha512 = "58aa85a5b4b35cbb6e42de8a8591c5e338061edc9f3e7286f2c335e9e9b9b8fa7c335ae45daa8a1f3433164dc0b9a3d187fa96f9516e04a17a1f9ce722becc4f"; }; -"nanoassert@npm:1.1.0" = { filename = "nanoassert-npm-1.1.0-1da45b4766-f360fe639d.zip"; sha512 = "f360fe639db8edc422de9f5a8a7d384ba9c11e9c6fac149f7ad3b0a94e4ec9d5aa44ce55b3e4c7682658efad792604fc96c336b0e80a3590744104ba58af80c7"; }; "@sentry/types@npm:7.69.0" = { filename = "@sentry-types-npm-7.69.0-76b51593a9-aaa40a43ca.zip"; sha512 = "aaa40a43cab358e10c2566d62966eff61925fb2605c146967bf9eb8acb4a883d4ca7c8a5eee1915271da08f27ddf1ed7dc520a8617f229ce70c7d00557173cc4"; }; "cookie@npm:0.4.1" = { filename = "cookie-npm-0.4.1-cc5e2ebb42-bd7c47f5d9.zip"; sha512 = "bd7c47f5d94ab70ccdfe8210cde7d725880d2fcda06d8e375afbdd82de0c8d3b73541996e9ce57d35f67f672c4ee6d60208adec06b3c5fc94cebb85196084cf8"; }; "lru_map@npm:0.3.3" = { filename = "lru_map-npm-0.3.3-a038bb3418-ca9dd43c65.zip"; sha512 = "ca9dd43c65ed7a4f117c548028101c5b6855e10923ea9d1f635af53ad20c5868ff428c364d454a7b57fe391b89c704982275410c3c5099cca5aeee00d76e169a"; }; "tslib@npm:2.6.2" = { filename = "tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip"; sha512 = "329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad"; }; +"b4a@npm:1.6.6" = { filename = "b4a-npm-1.6.6-140a53bc1d-c46a27e3ac.zip"; sha512 = "c46a27e3ac9c84426ae728f0fc46a6ae7703a7bc03e771fa0bef4827fd7cf3bb976d1a3d5afff54606248372ab8fdf595bd0114406690edf37f14d120630cf7f"; }; "path-key@npm:3.1.1" = { filename = "path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip"; sha512 = "55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020"; }; "buffer-writer@npm:2.0.0" = { filename = "buffer-writer-npm-2.0.0-5cd2ef55bc-11736b48bb.zip"; sha512 = "11736b48bb75106c52ca8ec9f025e7c1b3b25ce31875f469d7210eabd5c576c329e34f6b805d4a8d605ff3f0db1e16342328802c4c963e9c826b0e43a4e631c2"; }; "packet-reader@npm:1.0.0" = { filename = "packet-reader-npm-1.0.0-e93c92246b-0b7516f0cb.zip"; sha512 = "0b7516f0cbf3e322aad591bed29ba544220088c53943145c0d9121a6f59182ad811f7fd6785a8979a34356aca69d97653689029964c5998dc02645633d88ffd7"; }; @@ -218,8 +220,8 @@ cacheEntries = { "pg-connection-string@npm:2.6.2" = { filename = "pg-connection-string-npm-2.6.2-43a4a40be5-22265882c3.zip"; sha512 = "22265882c3b6f2320785378d0760b051294a684989163d5a1cde4009e64e84448d7bf67d9a7b9e7f69440c3ee9e2212f9aa10dd17ad6773f6143c6020cebbcb5"; }; "pg-pool@npm:3.6.1" = { filename = "pg-pool-npm-3.6.1-477c9660b9-8a6513e6f7.zip"; sha512 = "8a6513e6f74a794708c9dd16d2ccda0debadc56435ec2582de2b2e35b01315550c5dab8a0a9a2a16f4adce45523228f5739940fb7687ec7e9c300f284eb08fd1"; }; "pg-protocol@npm:1.6.0" = { filename = "pg-protocol-npm-1.6.0-089a4b1d3c-e12662d2de.zip"; sha512 = "e12662d2de2011e0c3a03f6a09f435beb1025acdc860f181f18a600a5495dc38a69d753bbde1ace279c8c442536af9c1a7c11e1d0fe3fad3aa1348b28d9d2683"; }; +"@emurgo/cip14-js@npm:3.0.1" = { filename = "@emurgo-cip14-js-npm-3.0.1-6011030ea2-9eaf312410.zip"; sha512 = "9eaf3124108e8c252a745de9ef1f334ab26a32271077b00fe0ea2a06e40838dd435165dac523ebd4d851ae7a94d8c56766dabc372aabffedd36551c798c607c5"; }; "jest-extended@npm:3.2.4" = { filename = "jest-extended-npm-3.2.4-b882af7fa5-16e4f300d9.zip"; sha512 = "16e4f300d9c5bf110f7f3422e49e06c968a99a44cede2b2821ddd480c33b3d9cd4dc58035b2f022e6018247da8f887295d6c2499647675dedb6e305142604e7d"; }; -"blake2b-wasm@npm:1.1.7" = { filename = "blake2b-wasm-npm-1.1.7-ac747aaa82-be5ebacdd2.zip"; sha512 = "be5ebacdd25076ae5fcaf1c60c37096c85490a36ee1f8e78d5c4c2fb8ccad0fe0e22cecadba6fcf6ed7d91c1aed9c55980811fe064fafb4ccd80ac34a8a326ea"; }; "@vitest/coverage-v8@npm:1.2.2" = { filename = "@vitest-coverage-v8-npm-1.2.2-38d2f25b60-0f0fc98b17.zip"; sha512 = "0f0fc98b17cd4d9c292f3f381b676fb8f5b1480d261541a676d1a307e2c9f39a9d59fb497f963b18802b4f7065ace3fdc5e6f9f95d9379560aa4ac5f09f6918e"; }; "punycode@npm:2.1.1" = { filename = "punycode-npm-2.1.1-26eb3e15cf-823bf443c6.zip"; sha512 = "823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8"; }; "shebang-command@npm:2.0.0" = { filename = "shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip"; sha512 = "6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa"; }; @@ -315,6 +317,7 @@ cacheEntries = { "strip-json-comments@npm:3.1.1" = { filename = "strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip"; sha512 = "492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443"; }; "@sinonjs/commons@npm:2.0.0" = { filename = "@sinonjs-commons-npm-2.0.0-3716f24f20-5023ba17ed.zip"; sha512 = "5023ba17edf2b85ed58262313b8e9b59e23c6860681a9af0200f239fe939e2b79736d04a260e8270ddd57196851dde3ba754d7230be5c5234e777ae2ca8af137"; }; "@cspotcode/source-map-support@npm:0.8.1" = { filename = "@cspotcode-source-map-support-npm-0.8.1-964f2de99d-5718f26708.zip"; sha512 = "5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa"; }; +"blake2b@npm:2.1.3" = { filename = "blake2b-npm-2.1.3-b5b61ec9ad-e652234249.zip"; sha512 = "e652234249cbdb3345488d52b5e76e8572b8e5333f3f0d5e716772b7c5d2142f433c3fe86130e92117329532e1d1235cdaa89f40bbca27a8ae528bef428241ef"; }; "assert-options@npm:0.8.1" = { filename = "assert-options-npm-0.8.1-ed3051eefd-aaf86a9c6a.zip"; sha512 = "aaf86a9c6a330e43172544ce2cc2b59bf8b4338dd0933d852e9b7efbae7b801944671e7dd6cc172d0dcfc88713009d88dca56cc34c8d4ba7fc5aeb1cf3e9bcef"; }; "pg-minify@npm:1.6.3" = { filename = "pg-minify-npm-1.6.3-fef1d2601d-5b9868f2b9.zip"; sha512 = "5b9868f2b90b9629455db6e13c35b1228b65803bbf9fc1a02d49fe147b55bb20eed53d368bf8f9f8127a2e740697b20702702e58f4846d9f5f3749d840a14c99"; }; "spex@npm:3.3.0" = { filename = "spex-npm-3.3.0-833f63faad-c2797eae65.zip"; sha512 = "c2797eae658e0f97b92775a9a87cd6d615e87693b4d5abfd3120543391e3eeab2755ab101489752f3ff47c1e0623737a604c5411e8f9bca7714d4e0427c182c0"; }; @@ -396,6 +399,7 @@ cacheEntries = { "proxy-addr@npm:2.0.7" = { filename = "proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip"; sha512 = "29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74"; }; "chokidar@npm:3.5.3" = { filename = "chokidar-npm-3.5.3-c5f9b0a56a-b49fcde401.zip"; sha512 = "b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c"; }; "postgres-interval@npm:1.2.0" = { filename = "postgres-interval-npm-1.2.0-ca6414744d-746b71f938.zip"; sha512 = "746b71f93805ae33b03528e429dc624706d1f9b20ee81bf743263efb6a0cd79ae02a642a8a480dbc0f09547b4315ab7df6ce5ec0be77ed700bac42730f5c76b2"; }; +"nanoassert@npm:1.1.0" = { filename = "nanoassert-npm-1.1.0-1da45b4766-f360fe639d.zip"; sha512 = "f360fe639db8edc422de9f5a8a7d384ba9c11e9c6fac149f7ad3b0a94e4ec9d5aa44ce55b3e4c7682658efad792604fc96c336b0e80a3590744104ba58af80c7"; }; "obuf@npm:1.1.2" = { filename = "obuf-npm-1.1.2-8db5fae8dd-41a2ba310e.zip"; sha512 = "41a2ba310e7b6f6c3b905af82c275bf8854896e2e4c5752966d64cbcd2f599cfffd5932006bcf3b8b419dfdacebb3a3912d5d94e10f1d0acab59876c8757f27f"; }; "html-escaper@npm:2.0.2" = { filename = "html-escaper-npm-2.0.2-38e51ef294-d2df2da3ad.zip"; sha512 = "d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974"; }; "@fastify/ajv-compiler@npm:3.5.0" = { filename = "@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-5e5b16469f.zip"; sha512 = "5e5b16469f8d586473d0b32e3a9cf38c0d86ef2a6fb7ea12ed7f3665642bd8eb2dde9adcc317814369cb5a58210bfdac35996fa87d1cc23e88bbc799f0b128b0"; }; @@ -403,6 +407,7 @@ cacheEntries = { "find-my-way@npm:7.6.2" = { filename = "find-my-way-npm-7.6.2-5f2c0ab9d8-56c02350ab.zip"; sha512 = "56c02350aba2cc4cff82b3e00171cf4db72756b8ca5f0e41562d21f89cf29512b9e83b6e29ab352303ca9d0dcbfcd8c93f50d52dc92f1eeecc4bc991404ef533"; }; "light-my-request@npm:5.11.0" = { filename = "light-my-request-npm-5.11.0-d6f35c2a2c-f639edb466.zip"; sha512 = "f639edb4664534bfcc87aff3fc36e7199ef5b04c399ce51a87481786d23ad1d439a71a5beeada5d0fe607c9d6efccbcd1bef265f31397e130f4077d43cc6d45f"; }; "atomic-sleep@npm:1.0.0" = { filename = "atomic-sleep-npm-1.0.0-17d8a762a3-b95275afb2.zip"; sha512 = "b95275afb2f80732f22f43a60178430c468906a415a7ff18bcd0feeebc8eec3930b51250aeda91a476062a90e07132b43a1794e8d8ffcf9b650e8139be75fa36"; }; +"blake2b-wasm@npm:1.1.7" = { filename = "blake2b-wasm-npm-1.1.7-ac747aaa82-be5ebacdd2.zip"; sha512 = "be5ebacdd25076ae5fcaf1c60c37096c85490a36ee1f8e78d5c4c2fb8ccad0fe0e22cecadba6fcf6ed7d91c1aed9c55980811fe064fafb4ccd80ac34a8a326ea"; }; "jest-matcher-utils@npm:29.3.1" = { filename = "jest-matcher-utils-npm-29.3.1-5d9d00434d-311e8d9f1e.zip"; sha512 = "311e8d9f1e935216afc7dd8c6acf1fbda67a7415e1afb1bf72757213dfb025c1f2dc5e2c185c08064a35cdc1f2d8e40c57616666774ed1b03e57eb311c20ec77"; }; "istanbul-lib-coverage@npm:3.2.0" = { filename = "istanbul-lib-coverage-npm-3.2.0-93f84b2c8c-a2a545033b.zip"; sha512 = "a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9"; }; "source-map@npm:0.6.1" = { filename = "source-map-npm-0.6.1-1a3621db16-59ce8640cf.zip"; sha512 = "59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2"; }; diff --git a/yarn.lock b/yarn.lock index 17e1235b..e335e151 100644 --- a/yarn.lock +++ b/yarn.lock @@ -207,7 +207,7 @@ __metadata: languageName: node linkType: hard -"@emurgo/cip14-js@npm:3.0.1, @emurgo/cip14-js@npm:^3.0.1": +"@emurgo/cip14-js@npm:3.0.1": version: 3.0.1 resolution: "@emurgo/cip14-js@npm:3.0.1" dependencies: @@ -1106,6 +1106,13 @@ __metadata: languageName: node linkType: hard +"@types/blake2b@npm:^2.1.3": + version: 2.1.3 + resolution: "@types/blake2b@npm:2.1.3" + checksum: 55a6ed7123a7adc82cc51131644b6c035c28142d028fbc23fe06251c76583ee3303d73204e21de8ea075ef84a04c4ed424754f5035fed20730a85272620a0de3 + languageName: node + linkType: hard + "@types/body-parser@npm:*": version: 1.19.2 resolution: "@types/body-parser@npm:1.19.2" @@ -2119,6 +2126,13 @@ __metadata: languageName: node linkType: hard +"b4a@npm:^1.0.1": + version: 1.6.6 + resolution: "b4a@npm:1.6.6" + checksum: c46a27e3ac9c84426ae728f0fc46a6ae7703a7bc03e771fa0bef4827fd7cf3bb976d1a3d5afff54606248372ab8fdf595bd0114406690edf37f14d120630cf7f + languageName: node + linkType: hard + "balanced-match@npm:^1.0.0": version: 1.0.0 resolution: "balanced-match@npm:1.0.0" @@ -2179,6 +2193,16 @@ __metadata: languageName: node linkType: hard +"blake2b-wasm@npm:^2.4.0": + version: 2.4.0 + resolution: "blake2b-wasm@npm:2.4.0" + dependencies: + b4a: ^1.0.1 + nanoassert: ^2.0.0 + checksum: 1839dd0693681228d81f781dd8680a6803a629ca374aed5ac02fa649ce40a67a85eb49eeb2ec6aeb7ef3ef5aa169b3579b50eabf7afa360d190338bc3e8666bd + languageName: node + linkType: hard + "blake2b@npm:2.1.3": version: 2.1.3 resolution: "blake2b@npm:2.1.3" @@ -2189,6 +2213,16 @@ __metadata: languageName: node linkType: hard +"blake2b@npm:^2.1.4": + version: 2.1.4 + resolution: "blake2b@npm:2.1.4" + dependencies: + blake2b-wasm: ^2.4.0 + nanoassert: ^2.0.0 + checksum: cd598c96d459017714b7f9cb8892ef2b0a94f362e26e6baa46b7b8b189af0006ce25ab1713e3ec1484eb18ce7ebe1eb24e07d01e42ab1147067de2419c7f6158 + languageName: node + linkType: hard + "blessed@npm:0.1.81": version: 0.1.81 resolution: "blessed@npm:0.1.81" @@ -2207,10 +2241,10 @@ __metadata: "@blockfrost/blockfrost-utils": 2.8.0 "@blockfrost/openapi": 0.1.60 "@emurgo/cardano-serialization-lib-nodejs": 11.5.0 - "@emurgo/cip14-js": ^3.0.1 "@fastify/cors": ^8.3.0 "@fastify/postgres": ^5.2.0 "@sentry/node": ^7.69.0 + "@types/blake2b": ^2.1.3 "@types/config": 3.3.1 "@types/express": ^4.17.17 "@types/node": ^20.6.2 @@ -2224,6 +2258,7 @@ __metadata: JSONStream: ^1.3.5 ajv: ^8.12.0 axios: ^1.5.0 + blake2b: ^2.1.4 config: 3.3.9 crc: ^4.3.2 cross-env: ^7.0.3 @@ -6244,6 +6279,13 @@ __metadata: languageName: node linkType: hard +"nanoassert@npm:^2.0.0": + version: 2.0.0 + resolution: "nanoassert@npm:2.0.0" + checksum: b1d366f9524405f3337192d32dda6ac0b02374e4d0550c9aad33480caf2eb3c84c06f18f41f4c5404c14f6fc1ae6b84692b4375166dcb9f2d04a2ea9b9bccba0 + languageName: node + linkType: hard + "nanoid@npm:^3.3.7": version: 3.3.7 resolution: "nanoid@npm:3.3.7"