From f7cddabad60e8fb35735288d76f4e61d192fe928 Mon Sep 17 00:00:00 2001 From: Daksh Date: Fri, 31 May 2024 13:26:17 -0400 Subject: [PATCH] Add Safety comment, set MAX_KEY to range exclusive --- CHANGELOG.md | 4 +- assets/dusk_wallet_core.wasm | Bin 771457 -> 772124 bytes src/compat/allow.rs | 108 ----------------------------------- src/compat/crypto.rs | 49 +++++++++------- src/ffi.rs | 14 ++--- src/utils.rs | 8 --- tests/wallet.rs | 7 +-- 7 files changed, 42 insertions(+), 148 deletions(-) delete mode 100644 src/compat/allow.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 90e4b84..5c2f56d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add support for phoenix_core methods - Add support for stake contract functions - Add support for transfer contract functions +- Update dependencies for new phoenix_core ### Changed - Change the whole api to support `wasm32-unkonwn-unknown` @@ -22,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix the input selecting algorithm from custom new one to old wallet-core to fix wrong picking of notes - Fix the execute to work with only one public spend key and one `Transaction` - Fix double rkyv serialization bug #113 +- Fix memory allocation bug with `mem::forget` ## [Old Changelog below] @@ -133,6 +135,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Expose `NodeClient` and `Store` through FFI - Define FFI and compile it only for WASM +[#113]: https://github.com/dusk-network/wallet-core/issues/113 [#58]: https://github.com/dusk-network/wallet-core/issues/58 [#55]: https://github.com/dusk-network/wallet-core/issues/55 [#53]: https://github.com/dusk-network/wallet-core/issues/53 @@ -141,7 +144,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#44]: https://github.com/dusk-network/wallet-core/issues/44 [#41]: https://github.com/dusk-network/wallet-core/issues/41 [#40]: https://github.com/dusk-network/wallet-core/issues/40 -[#113]: https://github.com/dusk-network/wallet-core/issues/113 [#34]: https://github.com/dusk-network/wallet-core/issues/34 [#31]: https://github.com/dusk-network/wallet-core/issues/31 [#25]: https://github.com/dusk-network/wallet-core/issues/25 diff --git a/assets/dusk_wallet_core.wasm b/assets/dusk_wallet_core.wasm index 76afe2ee8c50b3ce9cb252bfcafd4fabff954007..3532630f3119c408a329c8b1f59895493f25b6b0 100755 GIT binary patch delta 112540 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

q2FE`Xp$qv?+J-RrJJ3%IR6aNHDpKXBE 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 y7ZJFjy&vXC(tci)zl@MkMQ7X(eIi-8BWfNKe delta 112364 zcmdSC2YggT_dmQdcQ?D~H>CI7kc3bZYLLE26Obm-qzfnk=_pu8PcS{Q3PoL-geBLN`@11(uoH=vm+_{VM(#Pkf=T(_i zql;O|&K|dQ+GDKx_@KLi41Z>`#f(3TkJVx^TP)0EwlHQvGGjI~^R?J4HvCy|Ytuq_ zN3);V?57Rn0xS|nyq}J#^{Gu@v%*+iXeXOlmUmxJ4)8I>xK67>L zwArTJGMCGiouf};8U8FG5BlR4y%STYt&D|5`YKUjp=H7>p<$NjFiVWQ!M*zi_xRsj zhAtMaKM`dq6~EddOE4>=t+!;P`V%wCn0cZkna!*y9PE@_HklMlaBv|0d^P41p6X|J zB$>*ZlWpA0IZ2cm{}XLOQhZZDdoU9ht)5R*wv7nJBzXZiC~g4>EEet$LR&2Ul3xDY zh8~#NglEnZi3}zaPvrPB@l<9BFP8>#%QkE#8#iPknRx_BAwhv8K!ZP` zs1N=r7Mu35Po;h~U*toKBvXl%D67~|iUbi^sTd8kDLBoaNmz#ajIaz3)R(QHL6bQGWsoX?HT5T1G~pp9P0rX8{- zM9LN*_JGoyo=QC__~)zLu|{Xxd`R{b)U<&1L`;AHzzI7-UXq0HK^Z`w;p?X$*$))9 zMM!d^B!tLT)#h8xH?Deh5E*~|Xa~$hn`V>E5{_TR*Vh*b+(b-L6q5}C0cp;xp(sjC zr6yXpVITkvlTs_Qwk;g(`=X@H2G&~e5BI({e+-IR$g|nBW45QW|L_SNJ!Ist{zFFf z(yv2?j_N*P_%g9krj_NgR#L%GwO!-z@ zpTUENKG|nff72>!sGi$rQ2$hN8eMa>$t#MVNcsG%dqnzrdxo*Urq=M8H(6#$_|6>Ysx+wB*fz0+zNFrt6|UeEM@ z#Ay4)iig_K&{;m5w)zbjJ$UfI0R#Jw7-{;z%A5-G>qSUv9sLsq ztqeS5nH_lD`i)H}7i(_dY-PT=&_j-0->P^R;b-ZB^jqz;6S;vK(3*8)}q zEC^T21biB>BJfhc>cF*uI|Ka=ZHT`c*g~*rEJB+R5XxTH@&hWc z&0532IPEI#=s6*%JY(6skyCZ%h2o-J|Fl8m9OVWA(B18q2MS$2jC9&2$t z+wl{CA6A~5G8O7oL01;Lxm6$@ltzHl(kzgnghkDhU0R$h%V7z?xJIH`PsA-6q>H(h z58XIbty{=Awp{x-q(1vYi!4)#{jZ?|RY8zq(8)w^=mzM}xk%O(Y%43N=iJK%C2^gS zM3yv=g>6)~zCx`ME$L!TVkkE_3kdFII^SaKCJ>Zm)#7HEs<*5;%d}><3tlaAiIw@8 z*c$^@1!dVy&a^BwPsbeU8J23i>Tt2 zq&S!HEaxolhQ&GGl0|&h8=(v>EWCW?Yf$ShM3*aGh&rPHl!5Cui7R)0$_c@!EOm~i zs>$|sItg6(>!?bKFlWHvtR%67u{aBAELXIe;j7qX?Lzq7a4nb6^H(Kt0nK@yrE1y_ z5z*muh*6+N8qZSzs-N>}h&oq`kE|FcDW%Snj8vRgO<8(9=Xn#*=oeWvd&yL4)TRng z5p}+Cf1HY^@h)}-QB)Tgspm~u>O$8&@Ir}>NdeBSN|w6F(}>;2d46D)dS1dTVMWjA z-)UEO8EhhGvVAae)I2$Uy-R(=iWKuPcU_ z#YzBm*`)5$_D9uWXSKhg#0ErCN)aDr~*>Tudge zn`55AH9odx{3?kzWSc}Emw+S=(Zs)2vFfMV(AX+2`pJAKr`y`b*oJJ0_I+#$-#1;f z8^_|H-m0ynovJxk%Ze^UYX*P=#ZnX!h(~alLcs4ups?jwkGfSPR4NmUCW@|^2 zA7^VcdrBDU*Gw6L>&g^ogaMP8RH@lHr80E58QA}k60d`s6ztp*L0L8KZT`!kv)d#~mEjFzVSkfu2BhuHW zJ&gMw(mFFuYhHdGsC~2ielYTl3J$hKJ6B;eUp!R|U(C|P%_S@m#GY3%xw;%Q{!vnk z$qV|A9PG5IrDWVN%M9)NijfwXEr!=LN0|Zan_5bx#cX%MyOqi^wnzJ_ax?a}R=G+K zwnNLULhM*wr6F6UeN}~o%s)Mot<)Y)Z^m|M)6!E3yY!lDwf41fAF4SrYOvV_oifI- z;A6x+lYb~+LqEF$Z$5nmc~Nye=BTGR0BXp#`__2`8zinast$WXZl(50x$1?^$hXo&RIMH|j-cKi5eN z{IGc6F{dTn%2Myp;cptG3nR95uUnEx=d>ktiAZnPElQ-ImOfgwdWmkLx`g**t#3UN z-aYk5cyH9J;SmiT{aOz8g|^q3?5^n&stXSmDs5-hbRq5%$nawl z@iHVZ|IzIRbh%g zNB59@Bvt24tyzl-mEF1r@>pX09)>-q8^wmQUD6^m@JE*{NeRBv!jW>sGl*axyM}Nj z&uwiQPvsu*0C9sEK-|)LJd%2UAWpjtcms$nk7NY?Tm*>kA8`!+L;^98M)G2or5@LX zn#}kU#_e7tFEd8?Wtf{TK(Bf3)ssfq-#lr~38?2PnS2#)s2&jFJhu|YQt5g3!SrNT zwM}hO+|;xiXpA4PEv=haQcbht+NibAh3~8j8oImBj+HorC964*7n+93~ zg1qy8k@;p%zE41)Ctp!Fx$0R00+0?au;Ez1PZ=-gZM_?($>C!+SH)6Z@l-WAZxro1 z(9bKI%1zZ~Kb8y(3LmS7>#fH|0FS3SmMtqm4>0><1%8(ecV2+Yf_d77*`ZF;HgS)O_yovQ=HU`}o^gWmAwd33c35aAOf@fe9FZWhz=gt!kcHypdk74!K7R>IE=3 zCYaNw77qjB%!xTSS3CZA6gvL$@oMb67S-udHbWcGsVbYU&F@qZ=?6Mh56_cq-~kqY z_&lf<+MBKgbWSXzBS!8HcXIvCRC#FU2vnZbc}$or0(x>K8->hz-7;P3h3cT1h=lI+ zK3yuK^2{#LfMQ*jlpvkw?zTVek`gSFsEWjThNgB+HvpujyaDXk)q!T7?b;g4tNmRE zqT$NjV%SWrMYpV&B~qA_@`~D6X&-2Xd8}g90fTt5cD!3m-6;}dbAZhsIsSD_8TiT2 z3%IhZ9tOgn9W-wDLkE|%_Jg9*E|G<6@~5ScbAxwJdQzcGqP>Dy zgQD8V#{Ko2<0T89D3L^P0$8(JD0KsYj*+O0a+=}R(N2y@4x4WoqVAN4lax!O-qO+s zx8^@j^*HCM%pR$Vm#Ueq+NHq**c)22XKJ$D+KbP$<$K0!?cWL2Ev59Zv_1Xtr91-At_Qk*r9s%N`UZ? zh8+t0B-7Rc6bx3$NoLZ!#3H0us>M}emfV~m9n92y5}<5eo(E)7F-%svwhZHGk@{1#(Ky> zz)}Cy1}WRiTI$Gh5%6Z`5GF3YFEJUT<;6$#g#khqgNvM0D@rFODS1#<-LI39ypT*i zARoxtfac(LbZ_vW`SRSR6U^>SutDNXyg5>{kFl}~Ui|%g;D1Kohhj!64!-v3ka%rc z6@Sej;e zJx3?9LT%jWn(VZ;eRNs4G|!K2!_H{so~>??LMH`6Tkvc#dC)36M-^K>m&~qcL!YDV zyUEWrQ9sa8bdAija%6r!t@M#;^I0A{MEzizL~Y-gn#BSBNCJF#aH1@y18toxDXeHm zpD)ke(r!IphrOevzmSgpd%aKr*J&>_3e-0dO%Oo!{50*xGiBLVUb3Jyf6=bp8S1MI zd(lz#9S_4+#_FSlhKKr}2@nDd5$GaJr^{mplLRi0g+u(^7pJoPg4QqfSFjVdEvGhX zzFu#`DHl}sEY9 zn%DrCt(({p*S{uqb!{Jb#>Mgw^>)GFNnIEu=iuaIcD&%*$(_0ZIe3U1GY z97~6>y|&!#DeyG3mo_{c(+*(O_tmtFP{UoVF45Qdm_U|k<#THq4u24YpjT&U&*Vln z&^H0NGY5ica)JySB%3Q=%a|Kg-c|huvQf*9+NvvU zIrdX1%}Qz7@VTMx#!jO&!xAWovdyxyEA@Rs-K}l$u4w>x*+@hGfGxg(PgH$ZM|nn; zcjtRcY2t==6I%MbD(n}n=e#&vUzisg?`jPaPcSuJcj@H1)l0sAJ4kl;Lj#}3wV3&_ z3GQN$2rBk+{_?MO&z`bZBa2rJmJ=n_kF?Ri}W7TEK0 zZNU*v5Pn=JLs3_2?<}e1Z%8cdkcr{XTk2``mZq}TH& zS9kXcivYc9`!=@FJFJAC_SN`Y?e3Z=Z2m>9ZRwLw`qf_>x~;3WZ|ytS92&o_D%yOj zK&}|Kph+!%OSIN%dyKnPC=F^gV=G#fnI~UQG42A_C$V)}#`+oJhsAO;(FJ$7R(-?! z{{+_ZY_Zm7(<>6%nm%%q;9P-yGZgT@0&+Wm9H=dSBeY=HwnzSDTLng27VMv_e&Zon zFPGnV9(ycLyjjD8F_yn#*m)K$@)CF~*s$+Q7Ngk!UP%v5H;@fS@>OnFJtq2sjGq8#6iqAj_cTymR*6y80VDKz_ zr#(BUU3+%}3k4jeAS1IUS(v|)Ja$TkVM|)ak zOxc%MG~+w%jeUvPMaq6pz6Gktpzc1Ah)GqmWhJSaFx6d{@;~+Df48EP{EMFaMQ>7m znWFVCQ+~Ft%Pw!G0^vmqeC}yrZ#@lsv8ogRu6gBeEv19&p8S{BQ+{O8_HVqLlK^^45+C101tL5Jzy$RRZRmbt z>P&gvEU%~J^#^$kK0vwY2a0j_n$}%ryeO}W57b1V_Yah3heW=^8m@<!Lw4^T8&# z-a6PBqSpF7x~_bWQofPbDu*a#(jiJYcBm?J{-1Q!8(4ohQG4=mb!3e{R$V)4+*Q*u zj?_R}pQB;g*ds03A??5scb`L!`)PqkACuWlqOX#G(yjq;{Ko74r1tjFnry9h>u5D~ z3ym)tc5ih?yKW-IWb*EtiHeNKAOIL+eRxdoQ_c_V?WB<{RQS1kMKlB|AY)?@F<-w2g=nq^Npmn1V&9<_JlN@?>aoj-(9o zo@nELiR&fljWOlgiT3wbsSyO4U_N@2hMd2{#2d*qvGn<9DS4pU2{uV4VEJLy69cdEb1 zpiYzeyH@db4A|W4HpM#)zFh-|=iiQnsPDNQn|)fZ5hKy39UM+OIG*4h>5nZIr==6a z75*bb;HYyK|0oR|0A7!thM`tWMl8|_K+JPgNep!FZ4ZctuMI`&@bF2;voo{8=7I%>T2JuR%$0 z_{5(L(R$!t@$3_=;$Kg)Ked^Eg_rwUM_!%nn#84>NFwo>1VU2r8|~O%F=1Cc3Evsj zu4%XbssQgn@?Ba4LKd?11(SbwrexE8tG8wtBU`RTv zW3rL^S3bdlq*!KhUXeqW{JNYT+jE}H#z|5qG06J`Vr~+u+j+sPyKSI*=U!%w*tf#L z*puv_n8;XHmM<}f`2IQOLiO354 z;_6m$N?{4?4{=>#ol}kFuN4~$MnD9jUj3ZeSq?utZPV74rn4AiX30T!h)78RcAr6Z zAN5bM#Ef{`zrm&+gLZ#6`}gEG@UHb0WO*#hGUz+ zhF&6@AjbKzu4!I0$%)iqDN2+KxVDfX?)tIRw28EMa8rdygza*L9LLE?pdhvglKfyW z{UsjtXD_fxVw1|^xj`Z}SzvR(p;IWPuu%YjKw9rW))E-34`e+fB{0sMfu&%ai85V+ zfaPt`J`}qGLhK3xmQxAK_<+0@@Y00Naw!MVmAnuxAlg%q07ZNg4V{R?%}TOD zHGmSe#DZW})|(tR;LxKvtpqtJLwpeoa^(IW$T2|7SFw#Ty(mp)h;LLkO+-ovXfj7M z4Pkct3=)Z91|l^0m z8x81XMNFuhuA)K|3lvjBSq7UaN$WqR7-iX;qINKg6H#FZcg@pD*FB7NNt-2s3N%Jc zQQ7d*WrKFhrEElrTVbp(HnTg2dj!OxQ47Q-*WQzVn*QDoMJZ#X$gveucs!hi!psnt zBUp1#BrTE+#ScbBoY)>Ig-J@td{Hrqm5ZGsClO9&G*gWSn7wcepApYQv37Pz3o;}W z1lPD|2c}!3pn%n%MX}^6vJ^%y5gM<6kXEz0OUDFophh|JiaP1h?0J`i7;!+(ylh>! z?22Y>!}Kvnb<7knjSFfZ=zbW`m>I+1>J^{Iu*UdFiG}jJEwW?TE%0Mh9CU2Hcr%Wr z8d^hYW!lKf7uVw0AoiB%63=?Dx5b{ z51NIfJ%)-m=6G2NiI}l=i?Ru9Ctff5EP=HLDCvpNr)Nc*MChrlVtgVfoKI{6*D%H7 zDv1CBL-^E{0&Bn)Y?VNy!$7v0ewr2TM$atj0s$f?817Ukz)03qHSwo|rJ$d(Nho!x z@X;ie#iLz4G(NZ0(vZ@RCQndyzds{Zc<* zy(Wg2W3gkzl|m6R#uYGeOC#y)oOvCreZ;5Hk+*%m8!7a z{K6}u&tx7h?pDE2(nMf7;NKw9)3MFDQDmpHBcQ`08FJXq&R}EN?ZSYntPTVDn^$9x zvrS@2HPm=tyi*Od$}jw;8VhEDx<#ZoFJpJ-tgzHzPbEu(iGs(VpckVC;H2ouq9yZc zu!y3S3kzy6D|2m6$XFf4`GrrGb2oNp#Oa!>e|nK7q-bGWFxpl|e4X6Xm7+vr8g}9( z(XSRX%^PA-EtbS~innXADnN1ga27f*6I?$jQZw0hq+Fn%&4qcj!6Q6wcu3CuUp)jt zye*d3VKeYkr7i};Z85Aa!*-N7SeLcer;iwnC#ZR|bN7d)Eaw-bt1H)I-CP?_zR0&(xuEhI-VrxCH`?h$$9wgwl__H2cj7e)@efA=rA{($b@N=R8 z8;76P4cT+ZJJ1je&KH#%u}Fwd(?+ZbBvG*~ki#J8Uqb#rRd{c&< zx6PtzbEp7llIBvYzt@~i0&I`Akg)Y{Az=%71fuvu3ke(U?_!fWq$Or2O_XcNUIqZK zw`8N(T#?uc?$z6(Rx4ILSYN9!W3BR*7}o*ZlY>RVSoZVAN_k^1XQze>y300+ujHdQOp1p!PsPya4#)YtzGF130n??<|&=?{y08Q)@6Z;DTPgN#3lyS8j2X zflspN_;r$%FdWM(Ya=r84|62!3M)-1>&3%QLJhAkeCA02j4n6#lkor859rJlb^61Y zyD7%?mk_S#&z{mDY_9`1xd>d*K(SIOI^3}`P07>3JR*xMKCkA3P%n@s{*i4kk9K`I=Mj683YDgyjL7aW?%I7>W zY!DVvvQAmCYY;%+EdCnATErVlQdV&IqA<36^_TCk*)N_P%to{K3O^nUlE$<(Rq5Gi-8O3hK$?Xb?oOJKR zNZ%1=WObKF7>zZ_3bAlBvq$J}r&=fynU=G1L5?D)N3&k+ipY4D#o*`Evlzquo@EVi zzv5ZwADPqvKS|HIo+^tMo&$VWM7~$j?|PDbjH^_t7%>J6yCRn9Nyo;pVSX;k!gy7uz=MTb)Lt_C=&T3y1&R$#1GH229bAlg9|AcrWq?#Q@$3sM zr)W*>+rU&IUIMXx60=?cu(#xo;NxKCy!jGqE%IJsR_&+QME0due2Q2!4h-{#VX|19 zT>`91IV?&$^mdSM+F-JN(;yU2iw z)mVt3l3Y=ZACIZw*3@~gP%xYr{t6bhuZX)Z!#*>fCU`%IUta-2dX8xCxyOpqyUz3? zPcyxqI-qja1k9e3#hwYQH+~W(GMe@qPGpVL*L0)7w=DDW#O9mWeRM~-$nhY zY#Ze4##D?e2r{%R&zUIRUdYNJ_{kEcN=F173J@ENFm;*O_oGjQ=#1>gnaNR4tw%GhCdqlur-q9=dIdOLe^Aqpq!8Y}@@sZcPQE$`i zBK3^aMOu;6@nXuHA`Oif&(1B9P+RPs0Vw*-gURIS&q#et6iFQ~8qfDs-aMb3)vL7C z)?E!2y~>*d<}G6J!hc~2`Chb;ISdj`HAVxUHBkh=WEmlvFO@PFvK0K!)x!@2J!m)M zNH*zKG?lLki>H>dIT+!0ma=E@GjbVQjh~q1m>cp%-{lP3-$E>BRk4?SWI3zi3O*Ok z7#<}e@>y(EJ$jxMi}hzs1EmUZ#e*}aJEULq%?AmliJkdS?78AfK8p^~8}WMAK={AL zqTRh!e2vxDgVPbxAmUbH7$16#g{8>|ahUURxoPZABh;M?d{VU-!I<$0DCcoJzn*_&GE6A5!?PiA}RZ|*Q5yFgDv&eGB((%6}4`Vlb zI@G=E|KkpQw|Y91-t~Wh;eWPba+oIWZe=y&)=b3sfD?xz{fxaD5DKv$H2=2S#uAO8 zj=42wLXLddP2_B2O{^cw{jvXuE47tyad{gK&YC8^*~V(Z7m`?j5p`QMC}3qvsXd~A zwT7qUodO^BAtRWuR1oz*L)?96JsfBRK7l_J*EGm8rkpnX|`S2k(w6MmMNlrR5 z_5eb5VLBUI$f_mE7Xd&vX~5^YmE?@6Z-}FXu+qO3!xPLEvad}b!oicF?xG?w zpzl?gWVXvKzyp+ucm7F2^WdQ}Ien1<2fKI1G8wdi18>NB-|K2;%Oolee?EEGT&+_G z07ndv`YxgB6wS(-%ZMX8mP-veVvvMF4k3y!GO5d@>4=VK0}7V_{RInXa2z`XmF}=OIb!(feLS6ZkG%!6 zq7;h1LAW^XL-9<5j*osSiRJ@3?snntCapLA&OL9qh=@(ncU@&ae9c8G_(^t&y}MX= znwyY^Wfdz3nd~92hmgWq)*K@ucf$)}k-7NLt_ozGn zCMIA_i-n!^NJgqD$)s*4Lh?quk^XL*sRLMUQnyj6Zhh0Pg8G&S-NP!x>aUsrAb4D{ zyqB#Rjf+`tum~|^5AzSbL$9k*o`e;)Fnrt7_ps=wk{zQBYJATgmXcU9R|l)2g1sdb z;SO)JxH3CwW$b=$h9DK`NY5@=8OSQ?Hi>!4y)l=iw*ReCn`EhSrM6XGl2Kw)NX76* zP@_@{ZWlkj&63JXLZVPw>4l_l6KVE~2JbNYlaj{LK5@P!g+ftvvZILyAy@FXkb6_? zdk1UpP2$6M;HUUPIQGIDe7o?#UW^@=>ybNm;A|S{KXB&I`Z(@g*45=E@7hq$iI_v!sk$PTAA)tgMT|ZS*T5F> z-C@iHTSUVnEE9w9xg&7FY!crcVKD*v9zEfpZWJL$q0ouYj#94|f*U;(9 zV%Bkx_?)=%m9)Q|KeER~{S%lO&xk%MuUmRg`$F#KXDv z({XU11a}%!12(7Hy$`=esaXEwzLQ1dDR?Ih01Pc$41oDE5K_4>0RN24SpwE9}<7bViVQ6%oL!%!Co{vwqy|Sy=k5-s-Jb?-9|*5V+r*Qs!N*xHemwf z%-0|UlW9j+QJRmDhNUuib6Td^0QB&4EVQED1bj!xIxn*VjN%r9nad@MEvT^h9LxT1 zGIRJxl9nV$qTMIV7Fkq^JmkH%6#X+M(pV7(K9= zRW!Qvj}S%tc&un}ncXjd{C={t{h|wmHe&x37S+&Ob}p|b^dS>+6zj5cRi?RRr-U%X ze9rpZLm2)gsEx09K%Mg! zeZFS)Y;S^&pGbWd9gIZ>s6H6)tf6xL1~$^rauyx5`p9$-T8SZ?c^IulvG!42XuAfn zP_M#eUApci4psc-9}CmvuXNmhWxby$rhp}A#uB3llZ@4ck*1?>EG%5;8yI+IkNEEp z4p2G<|9mi}f9qmgpJEEfEnD}Qw*G~}N%&rNEESGNsoq=R{EMzO{NU=U$9)Ze_CK+I zD*r)0y2#i@+`PrYjhRF)2%J~toZ(U)%wX(%Id*A8R{fcEz6WFfrDzVjrGxb=d-^f& z5m|J!=qj%0e5Z@#LOBz-=0Lm{E(LnEObrC&_Yui|33L2c;d|O zEYuKV7qA}Lx;L=@Lbd{bcgfb{zHYsAzj^at(&f$_+25?Y#W?!AwDCfVC>i$%)@K6A zyBUQhG#MhbP`=3m)&IXyHji>nHnLPU1?z|c ze(36dqHHdhJzZ^BNnPFFB>oq&SKsRCYPX!|$dJ7^R?=$v(~tjCt7)09><<=d8}V`g zPb)IXZ;(o^=p=7AdWy_)MU4S{k}qlu=#%_msUBTQQ=jDBNJ@eB>20T(|A55YRggkJ zc`>U2v4%)oT>VT&-1eIt6t@Fee7 zSeg2*c$G>_6K}@w@(9(v9K&O<&GttOFN>$dSl(A}DNKvo5f&j2Y60{`fLS88#_{OV zz?>zr;}E*&AIF1g=ym8#IHpb}$DE9h^{-l#EJYe#Egp?4fu%-m7Ds&U5n_EZ_Z5R3+z+9l&pG(3VA_A@Re6nG zl^qZb z+S>(q-B~OvC!54ixcI9ak8rmO&%6G9eOb{ojXR9CwM|=bRDhV1##0b}^i~?EeOr8( z#+&gECTSt7F(m%)2LY7VdT$ym?qvK^NpaNTgT>F4sJe)*4C-MkyE2c~{wxR(Pgj;Q zgJ;iq1Rjc&6+c%7B1ZX>ug4ijA;|h-WEGx-K*f1g__BY5mY7-zfcaJYl<>OL2fjCbo({{=ubYXhJ9<#;gvYLeKxjfL_r|2fmy5-}@-hT}gF z7_qDZNV6k9LfgB{Y{7Re)C1yV9iGg0PSUDw4YkqHSx}fuMQ~j{Kp#G#VrpGZ=NT-o z%bU2OE&~2e)I~CU@Kx*ah6uPAUXQPX7rt!+Za24b|J+i5c! zKrIfh&r>3H$&FzT#R!ZNQtB z?B=3;+oD)Ed#IcG5qnDS;qwN(v-J;$@Ey|kjb*4|Cw;dC)TCvEG$&1V%#^71n@r{E0@0>1r$xQ9fZK(7oQH{5C-X8QekCS^ zT#<7Y$DhPJ%>8_29FD^p5Gs1EK(SgH9eP}mIe+4oC`@KHSs9Jm&0K@xHcsn3hywsFaSkCY@ zykSrP-t&^_xNc{nZ6!nxn43ZMEEMIMaeLH!y-_+R*HaAN+7Z2)@l1CvPRsSq%@a49 zBVOomGf2{W5!4)_zgVO+=QZ6Gd`qn`y*Yo>T?7ZL7HP8(ZPsFls!Dr=Pr%Q{NBC>_ zY1b0W%ooF3@=B5U6x>I_Mc5LL!p3(UQxpc`a`D6lUPoMS$@^ov*xZ_@isxJLAU*UX zK+=oo@~4>J3R*l@?53Z5ak&+kuxwsyzDci@j=;T3tuf`y6es8KWF;9pdX7iI8l2qu zC?->b%Q=(5>Q5f!{%C2#WM0;vzBF@SA;d&|ReUm;$BOhekjfdNOB>1E=iBfMFminx zo(i_&DJdA|>qy_q$`w>g2&F9`7h+&r{sMmbwBxb!+VS4{Z5>ov+zy&nh$HP}6F1tS zc_E_P^XFp?g7`Rd@EWcA;TB1U*wmimbYJm(t`vrA?IEZaMUxJ^9#}uVLvhyA8#+GD zv#7aP?CikP-E5Mq_sX637=Or}DW%VoxlFWwjAyxX{fNV!+&s#S6F)r0+dyg>bcECx zNy9txChl5NE)0q$}J3goDU|c8Q+Ny4sw$~(nI{wi9d;~UY(@~<>){8 zoniYd7kfMN*TMKfU3d*cQm|Pi!Bu}0o4bH$x#DaWNaQl%-<2QJi>8V{yK-Mds&9=~ zA}ohNEkjspKv*8>22Rfw&v%2(V+c#$bnYVplNCA*XIX+$F8Hi2DC6Zw4hRsvl9f2o z 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 m$M99Ry=aO52xiZ!%l4idknj<4gw%#)>$ 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%0DP|_sOxv; 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 i64 { - let types::GetAllowCallDataArgs { - seed, - rng_seed, - sender_index, - refund, - owner_index, - counter, - gas_limit, - gas_price, - } = match utils::take_args(args, len) { - Some(a) => a, - None => return utils::fail(), - }; - - let rng_seed = match utils::sanitize_rng_seed(rng_seed) { - Some(s) => s, - None => return utils::fail(), - }; - - let seed = match utils::sanitize_seed(seed) { - Some(s) => s, - None => return utils::fail(), - }; - - let refund: PublicKey = match utils::bs58_to_pk(&refund) { - Some(a) => a, - None => return utils::fail(), - }; - - let stake_sk = derive_stake_sk(&seed, owner_index); - let staker_pk = StakePublicKey::from(&stake_sk); - - let owner_sk = derive_stake_sk(&seed, sender_index); - let owner_pk = StakePublicKey::from(&owner_sk); - - let rng = &mut utils::rng(rng_seed); - - let msg = allow_signature_message(counter, staker_pk); - let signature = owner_sk.sign(&owner_pk, &msg); - - let blinder = JubJubScalar::random(&mut *rng); - let note = Note::obfuscated(rng, &refund, 0, blinder); - let (mut fee, crossover) = note - .try_into() - .expect("Obfuscated notes should always yield crossovers"); - - fee.gas_limit = gas_limit; - fee.gas_price = gas_price; - - let allow = Allow { - public_key: staker_pk, - owner: owner_pk, - signature, - }; - - let contract = bs58::encode(rusk_abi::STAKE_CONTRACT).into_string(); - let method = String::from("allow"); - let payload = match rkyv::to_bytes::<_, MAX_LEN>(&allow).ok() { - Some(a) => a.to_vec(), - None => return utils::fail(), - }; - - let crossover = match rkyv::to_bytes::(&crossover) { - Ok(a) => a.to_vec(), - Err(_) => return utils::fail(), - }; - - let blinder = match rkyv::to_bytes::(&blinder) { - Ok(a) => a.to_vec(), - Err(_) => return utils::fail(), - }; - - let fee = match rkyv::to_bytes::(&fee) { - Ok(a) => a.to_vec(), - Err(_) => return utils::fail(), - }; - - // reusing this type - utils::into_ptr(types::GetAllowCallDataResponse { - contract, - method, - payload, - blinder, - crossover, - fee, - }) -} diff --git a/src/compat/crypto.rs b/src/compat/crypto.rs index 26f7f32..9ccff82 100644 --- a/src/compat/crypto.rs +++ b/src/compat/crypto.rs @@ -29,14 +29,16 @@ const TREE_LEAF_SIZE: usize = size_of::(); /// if its true then nullifier of that note if sent with it #[no_mangle] pub fn check_note_ownership(args: i32, len: i32) -> i64 { - let args = utils::take_args_raw(args, len); + // SAFETY: We assume the caller has passed a valid pointer and len as the + // function arguments else we might get undefined behavior + let args = unsafe { core::slice::from_raw_parts(args as _, len as _) }; let seed = &args[..64]; let leaves: &[u8] = &args[64..]; - let seed = match seed.try_into().ok() { - Some(s) => s, - None => return utils::fail(), + let seed = match seed.try_into() { + Ok(s) => s, + Err(_) => return utils::fail(), }; let mut leaf_chunk = leaves.chunks_exact(TREE_LEAF_SIZE); @@ -46,24 +48,31 @@ pub fn check_note_ownership(args: i32, len: i32) -> i64 { let mut nullifiers = Vec::new(); let mut block_heights = Vec::new(); let mut public_spend_keys = Vec::new(); + let mut view_keys = Vec::with_capacity(MAX_KEY); + let mut secret_keys = Vec::with_capacity(MAX_KEY); + + for idx in 0..MAX_KEY { + let idx = idx as u64; + let view_key = key::derive_vk(&seed, idx); + let sk = key::derive_sk(&seed, idx as _); + view_keys.push(view_key); + secret_keys.push(sk); + } for leaf_bytes in leaf_chunk.by_ref() { - let TreeLeaf { block_height, note } = - match rkyv::from_bytes(leaf_bytes).ok() { - Some(a) => a, - None => { - return utils::fail(); - } - }; + let TreeLeaf { block_height, note } = match rkyv::from_bytes(leaf_bytes) + { + Ok(a) => a, + Err(_) => { + return utils::fail(); + } + }; last_pos = core::cmp::max(last_pos, *note.pos()); - for idx in 0..=MAX_KEY { - let idx = idx as u64; - let view_key = key::derive_vk(&seed, idx); - - if view_key.owns(¬e) { - let sk = key::derive_sk(&seed, idx); + for idx in 0..MAX_KEY { + if view_keys[idx].owns(¬e) { + let sk = secret_keys[idx]; let nullifier = note.gen_nullifier(&sk); let nullifier_found = @@ -77,9 +86,9 @@ pub fn check_note_ownership(args: i32, len: i32) -> i64 { bs58::encode(PublicKey::from(sk).to_bytes()).into_string(); let raw_note: Vec = - match rkyv::to_bytes::(¬e).ok() { - Some(n) => n.to_vec(), - None => return utils::fail(), + match rkyv::to_bytes::(¬e) { + Ok(n) => n.to_vec(), + Err(_) => return utils::fail(), }; notes.push(raw_note.to_owned()); diff --git a/src/ffi.rs b/src/ffi.rs index f22002e..e3e2846 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -92,7 +92,7 @@ pub fn balance(args: i32, len: i32) -> i64 { Err(_) => return utils::fail(), }; - let mut keys = unsafe { [mem::zeroed(); MAX_KEY + 1] }; + let mut keys = unsafe { [mem::zeroed(); MAX_KEY] }; let mut values = Vec::with_capacity(notes.len()); let mut keys_len = 0; let mut sum = 0u64; @@ -100,7 +100,7 @@ pub fn balance(args: i32, len: i32) -> i64 { 'outer: for note in notes { // we iterate all the available keys until one can successfully decrypt // the note. if all fails, returns false - for idx in 0..=MAX_KEY { + for idx in 0..MAX_KEY { if keys_len == idx { keys[idx] = key::derive_vk(&seed, idx as u64); keys_len += 1; @@ -355,7 +355,7 @@ pub fn public_keys(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let keys = (0..=MAX_KEY) + let keys = (0..MAX_KEY) .map(|idx| key::derive_pk(&seed, idx as u64)) .map(|pk| bs58::encode(pk.to_bytes()).into_string()) .collect(); @@ -382,7 +382,7 @@ pub fn view_keys(args: i32, len: i32) -> i64 { None => return utils::fail(), }; - let keys: Vec<_> = (0..=MAX_KEY) + let keys: Vec<_> = (0..MAX_KEY) .map(|idx| key::derive_vk(&seed, idx as u64)) .collect(); @@ -416,14 +416,14 @@ pub fn nullifiers(args: i32, len: i32) -> i64 { }; let mut nullifiers = Vec::with_capacity(notes.len()); - let mut sks = unsafe { [mem::zeroed(); MAX_KEY + 1] }; - let mut vks = unsafe { [mem::zeroed(); MAX_KEY + 1] }; + let mut sks = unsafe { [mem::zeroed(); MAX_KEY] }; + let mut vks = unsafe { [mem::zeroed(); MAX_KEY] }; let mut keys_len = 0; 'outer: for note in notes { // we iterate all the available view key until one can successfully // decrypt the note. if any fails, returns false - for idx in 0..=MAX_KEY { + for idx in 0..MAX_KEY { if keys_len == idx { sks[idx] = key::derive_sk(&seed, idx as u64); vks[idx] = ViewKey::from(&sks[idx]); diff --git a/src/utils.rs b/src/utils.rs index 77405c1..bbccded 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -63,14 +63,6 @@ where serde_json::from_str(&args).ok() } -/// reads the raw bytes at the pointer for the length and returns what it reason -pub fn take_args_raw<'a>(args: i32, len: i32) -> &'a [u8] { - let args = args as *mut u8; - let len = len as usize; - - unsafe { core::slice::from_raw_parts(args, len) } -} - /// Sanitizes arbitrary bytes into well-formed seed. pub fn sanitize_seed(bytes: Vec) -> Option<[u8; RNG_SEED]> { (bytes.len() == RNG_SEED).then(|| { diff --git a/tests/wallet.rs b/tests/wallet.rs index 0b5d077..12cfce3 100644 --- a/tests/wallet.rs +++ b/tests/wallet.rs @@ -100,7 +100,7 @@ fn execute_works() { "openings": openings, "output": { "note_type": "Obfuscated", - "receiver": &keys[1], + "receiver": &keys[0], "ref_id": 15, "value": 10, }, @@ -200,7 +200,7 @@ fn public_keys_works() { PublicKey::from_bytes(&key_array).unwrap(); } - assert_eq!(keys.len(), MAX_KEY + 1); + assert_eq!(keys.len(), MAX_KEY); } #[test] @@ -336,8 +336,7 @@ mod node { .into_iter() .map(|value| { let obfuscated = (rng.next_u32() & 1) == 1; - let idx = rng.next_u64() - % (if MAX_KEY == 0 { 1 } else { MAX_KEY }) as u64; + let idx = rng.next_u64() % (MAX_KEY) as u64; let sk = key::derive_sk(seed, idx); let pk = PublicKey::from(&sk);