From 8d5e6a37e629cd75e97835ed283396e64c939db2 Mon Sep 17 00:00:00 2001 From: jonesmarvin8 <83104039+jonesmarvin8@users.noreply.github.com> Date: Tue, 27 Jan 2026 18:24:03 -0500 Subject: [PATCH] various fixes --- artifacts/program_methods/amm.bin | Bin 509004 -> 528088 bytes .../authenticated_transfer.bin | Bin 380164 -> 380148 bytes artifacts/program_methods/pinata.bin | Bin 382740 -> 382760 bytes artifacts/program_methods/pinata_token.bin | Bin 389008 -> 389004 bytes .../privacy_preserving_circuit.bin | Bin 501536 -> 501584 bytes artifacts/program_methods/token.bin | Bin 474960 -> 474984 bytes program_methods/guest/src/bin/amm.rs | 20 +-- programs/amm/core/Cargo.toml | 3 +- programs/amm/core/src/lib.rs | 79 ++-------- programs/amm/src/add.rs | 85 ++++++----- programs/amm/src/lib.rs | 2 +- programs/amm/src/new_definition.rs | 90 +++++------ programs/amm/src/remove.rs | 83 +++++----- programs/amm/src/swap.rs | 65 ++++---- programs/amm/src/tests.rs | 142 +++++++----------- 15 files changed, 253 insertions(+), 316 deletions(-) diff --git a/artifacts/program_methods/amm.bin b/artifacts/program_methods/amm.bin index 0087672445b636eba151a3bed003863d53f693f4..0fe48b45416e59ce928fe9fb01c3073d4c1214be 100644 GIT binary patch delta 196374 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 delta 180039 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

r3eMM{k_IC8oX2d0a+x-yFMqJlgvgp@BcG1h> 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ΞD|jd7P@c@Jz>{Rl++PUPlH=NzebjF!p7zcw~oT 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 diff --git a/artifacts/program_methods/authenticated_transfer.bin b/artifacts/program_methods/authenticated_transfer.bin index 96eea39da34d8b9e18896af9aa8760e288374daf..ceba587843bad5823645274106f54f649c84b181 100644 GIT binary patch delta 73641 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 Ef9wiYBme*a delta 73662 zcmZtP4}6x>|M>CizFTY6)bxj;bXO}&lQ4u~X;SQ)VzQVliV%e%#63!dp)47N5Qb2U zhA@N>LKs4kgrq4fpV;s9zOHk2-aC)q^>}6Lq~>GND^yIW%M z^7_gx?R&-ZKYuPG{fSobx|x+LI_@72W>jwGNB#|!T{8N#+1AwbQ+fIImHGC+>#nVw zWdA$3y0R*xUz8JES-C1>Ks>m-vQd6asm$J;9~V~^%a02yXUmWCD{JM)_{z=lV_aos zCw`2r940@`teh%8iYu$-$7z-I^5c}sw9foExpI*FD6E_)KZaLU$&aCxtK`R!%0~H- zUzy#7A4fk|+~tR~$~SurH6wrjxs2XzV{JwT!B6G+?^hJ*HV7J4TZr~I&Q+s4V;dNfoH>V8T*|JBNh?!((m2|K;Ea$Wbm_KE)cYB~riTgOs5 zrv@o^hh@Rk%8Y$`#BQq`xbNk$A1W8`+dEm)>iAgNxv8z&Rkj|SR@wHT4xLl$g3dR! z4Wb(57j|yflNKmz-7ctXE)Omsw~NiKBxdr@@7(U7PXC|$^E$Wg8Mf_m>&Cb0`rObS z&&RtS!7$SpW@_iw%ttiTL6sT3E{e6UoYw2u)@>$ldtk+LbNW8hs`9Ar2UVu!oEWbw zt}MzK5zqgza&gY+c-Hj z0Z+ushg4<^=o=3PR}LC*N}RnYEzGJc-T%mV{(+SX_dh2dd~#?1zVW*DmD&9-jOX{Q z95|_8eIprH5V;ue*49;;`k3!(uf}cW*p2o^khD{%`q?L*q5KB@bjoL0Tdxj0HhFhy|Az z%Z~tG%KsO(O$4j?DeUwwS9AR|;fSkKSe-4gu2Y_Z@6 z{=e46lfiCuoY_4gQMOo+fg4Fk3l$HJ#G4Zd39`k4qj4TPYUAf)=`h+j<*;;MeKB68 zJO$U|eMyJ~$#`(DDX96N zb(H_5>M(`=+QfrkO5a2{hNSF6I||mD0`YFRc)ut?oPpC%aL4pWT!S-dLS|qBUWX4i zo`YAb{Fia@Fjs#Q-WBaYGHf7&k$2nQb=VoN&2ioXPa2R2vgkk-;n~KJEf$=E=Ma|x zN&E@pFpQtV)x;Af{-<#eu>aCPBL%BSh_+bpKfGD_KRlihcL}rOL3T@GLmPz=@7_!BJUvMe$Zb%y7@*6q~<0J7j;@KvC zhp~;{i5IK-KN^SoFCA>AU?RteA1EGh1q|w_P|D(w4lg&h4PJ@!4sq9ok8$FlL@>t; z;J`MKZT`V{De)yHJ|VK{pAIHcP;zi0%EuRB=^)y;FyUIYi0;8@xrrdf3~;Bh&EJI! zI3&>)4^p{c3?o0aSDolO2*JWs{v<89Qp z@z-&+iocEH)VFJ>0k24^guf^#B%!nEpl914Sfk>7@wcjjQFx<@kH*>5x2NR|xKYJt z;(X%iru}6&si&xhg7iZZ!LIhvG5^_^{IJRvJnD{v(7ZMy^h*%}Z;gxjIKg{MK z2-jd6ufiiwbbhlP>wjILYj7(G8?mjh7Xw+SIxN78Rfm&tjjDeyUZLv0g&XORiDgB_ zgKc<_s=rS<>uaxXxGQ3b-`5wS>U5K`L@DQG={0N?EXO(ppUWfNK`6nAg zx&HHVhXOfIqm5TVIN&_B4;1CbHa;E8d2Brs55smq%ZzQj2Fr!ZdO4O0m%0DPgO?~M zr(iFNWJ-TDwiPyGxe!_ZiseFNy%q0JZou=n5cMEI+UwRavd!;-<-%p||M8#~1#;!G z34QQtOgmu%BaLnRR4i9c>(N-QoYrITBqMp~EWvJTXgch(=oxVA6iVeG^D+wLnQvu0 z^8TMkk6=}DdnMlbi|7%p*2MqiAyu9kr<(dZ<)L$cc|alm_;vDxbobVe;`=B6_$IpQ zg_m_6aMyerUF56_*GCI9yzvpg1Iu~~Z)ErrERP2K2*)yTLv+ou^)JVA&9eSuV{{dk zeU8QB$sqT~=rYXZUkZXNv0QacLQsq4s(6-({}0O3Hxe1Y;c08Y{^(~eT#xva04Fsy**s5gBf^~@+_F6^ijq(ehilO ztp{Vf1DxZjK>-DBYiPRQCvH?MSe|RcDLg^NWe+Ce+QA7^g~vhh5a&zqlA(z}O62+U z1>>kfEO-&GCe9|;m{_oaf*nyo=-2QZHR5-1?g)#rLDuf< zp~~-vJDuzv|B7&V7?=L3GKPXJG+>_(XW)6Nft&Gv#O?E84X#%47x6GUu#blu@d_3H z8GohP??OjwBp&w90QRCFiw5lTVFBK#8W@iAh;zpd_pl7>8M+ELs{Ctkm*I2}Zn5Ax zyj0C-Ij+M||4i9*3Vu}yGx1199BuL7W*n$^1ujz;wL5UB%D)rWDBp$U5ZU&sFo)3e z&j1!sAX8)$?#FUStRKX32&@-lIi}W+VVObeC$P+z^;1|5k@ZqM$?m_L19aPrKn*PLphkUXRaIQ~Cq0SKfpNjqGLW$Ah2oVC5~H z=-*z6~(uG^vkWf?z$WdQA{B!_6Et>OXkd}YZWhf7B#OpCE#e3F6{ zr?`UiaiN-`3$Y&1#n^2PO*0#!`oqkOtlu7WP-51==s%vSsxJdd&ZQvbG&g{G zc)jx7;?XXCFJ5`N^L=>E80SS;5BOp1wuYvkH%I;P2qKF*8T`aClm=Iu5tnkzq(hz) z!c{+bd(=Uii9f?J3QlGVy7L9(IgcM7V`NSHy!f3l27e;(55R_Ivg%ad=O5YnTXQm{+~<1pCq&~ z6~^MA#3T?Ohl_XsDGlSTgDdfl4ZVWm&?&(zTz8hszXh*U9oFDgquc<#!}Z2I|HOlK zd+>ay5)Q?U%BAA*u7h)N_9?Ex+wrM5JgsQ&MVzVP8}T3_6 zQxzuQk(hV(!YQ1C=S)Zhg;)+rDz`~-w8et9cnbOUB|uD|hMH3f%D zLAb?(k8qXpC%9VqGhC}&kL4KK`d?!?#@63rImFf*upDA@{fh@1DUd^86Mn*S46T2` za?GuN!*Wcmw_!P^*4wchLhHYq(N^>yW?s4^F!}b78p>%Q5Ot zvD{p0u^a+>bNL6$A+XMCjE=GO^|(sK>#&@rgE-HnzrS%=QavCHY>G~^Dl?!tEKOMx zrDg!BRLW$Jb3>;DXJMIvsKeGl2erp?B|ONRkz5s*E8*eT&VP9KJA;CC>a;owuRYD3 z=dWBJoPVM7TwGY>*2D_DRK;Jz zSr@tdH}I56&Trv)moz&WtfFA*l;(oqeOz_9^M`nbT2wo6Sy>{e2%mPKPd9?KfB<{A`U>8#}hkSnG2#aOPC*0R3kN@*?YTds`e`pX)i zV3G;TE1|2g+Zviu{uiA#8_mt>C9eH)sV*Z)ZYJ?ovG778i%MLG<+@@$AIo(_7P-W~ z$8z0}&p5(@0lcb|3q_vsR4mtlCB_@DTsR7i`}3s{xo%V&&%?52GO^q(KgY7BtTR(% z;dNw+$v+QsRwbj)f2h!g2Yk6u*w=O|u`HVKG$DR^+gP{;#le4XYnc({|0v{ck%VO zoAM8=zaUQ)Y{CV~KVvy0(H0N3@Si>D!1{OobCU8Ocp47R8V*wT-jQv70?Q6qCwo&+ zt165zwh5!K?2&a5){F9V?6!uc$2hO$5M{=q>&j((he&p4AW3rJsmC%S;Tn?H|9Kr^ z;glpy!XsGLM6U7YxD?xX>yBL6Tm!*mtULG&s}6!AGFrC(5SB$4wa@F{PbttH#CLDm z!6Yn;tlkXhek{j)P%PS`byybJNE7eWDHg7&^~NV+S(Mh(u&k+Ush?y@UZOx&rEOpv zmPKeQEZLI=8F8&?a3_{y9v)+^gsYfqSrfyF%a!pAbx7p8a2+mV#-c68cLUwsll9Mg zzZC3H$9N{z$M|OKwuYubd&k1tuN}ZOSn7xGcrbtpl`jK$2G6)LVVZ~q&tlU){d2c_ zUR97Q+g7g4QX!qFESg#smj=JabBISmAsL-PX`FEfx#wcVqp99sHyc zq=R-@EgRSkyRD%qLs{|YRu3#IpZ#Z9bNQ0+nzao~nF2 zUZOk@RHNj>;Km%SfLW$z_LfSgSW8kvGpqatMdE!q+%EU z5Em?tAwwxUPRwuw>30<`EN8MS*@ZqRPr4!8vFW-lc;+RsKP>1E1^<%_xVTtoegB(*EFTfnb zX3xa325fwl#2G+7^<|HTc8`TKY_AhHcjx?*V5YX_vOQF8XRNdqp%$F zQsa48j_D}l_39AGY1yhz%R`uo-PX|5wvSo=QYaO2NLXE&FgdZ{K+Jd5n|(0W?*kr+ z*E4`{j zA(8wqIAk&d>v4GhA4XM~vhcZ`(lT7JANx;L~@FiH)Kn0co+e36r7S9mG^GpXf zVA;bW<5$%V$RXRHoRos!Dafx%kS-gafM7iXf2sNU~{oa!Zvn4+jUu-0|^R~F) zJ{RxmITIH~aXJ5DK^6s#j5wS!7D+KKRSlep#}m&Ev*W=`yxGnG`OC0=KcL3sM`Pmc zd|W|(iK+j+vAO^9ogxaPL0e%nmH}D+ieER9J=}`j*3i_qYs)911{IeX+jGB`GrBhp zx9IxAYd2d!sZ&;*$TFvgH3y@|*i-QT?Y9q(V&YyJnLL z`(Zsp`>VL*AD}Gxr+WFLRb2AN;O73NLei^nqgUZ3Wyyci%YRzMrGsV4lK;7v|7Abd zKl|Cxw9c#WuU8@by$(AiWr{dE7{>n0-llEu-b%hZsK`M+=mI{|) zoqvUjOa4@4$)E4#-=pG^zc8r^q{8c7g_SBU72Z*n{9nBM-&9=kw<$}0XKws@2aeS^o`9n^b{RXq&?e19kIB$7S~?%pApnj#y7&C+xO{rm8+X#8ThBT<@yl z(*7V_KgoH2luD32I7V42jMEj!AFtw)f4;Kh-{R%prs9%6M>)LzzvfkVLnTOsx0I!W zKfL@uRb28Ll_kH=0WD`N8=Fn8KMhU&T|syr7kd@XRB_24t1KPd>gC_A;*vjCS@K_P z&JVADsln?iK`N|NmI@8c6=dA0!44Id{J)hYKWjkCJ>CzyjSG>r^e+`o_bQxW6T(^z zO=l@f{w-eqZ7MDUnxicFuXy=&CLZp;RCv>?u+6KmUBxB;FJl_mdL zFaLTKm;4))CI3;J)FXOaB}j!O%2MHDtn=5Zxa5DKEcv^<{3aEb{P;m?|E0oy2es^A zf9y7%aFiwg6fgfY6_*Z*l_mc=FTeaCH~;k0&@|nvQ0-NCQpF|zX=Ul)Q!oE>6_@-k zl_mf0q*vh|l^_-VRhA0-9Ncn-_Qh^%XzHmf`Nw+s$EmoqpFCa_NQLvf3KyujRG6eJ z`M2SM@S`#r25+n4D&kiCiqf9NUk#(P%J(TJna$>sUG*ZahXcC{WmjQl^ z=c)GB;+2u*{EG!&P_R)Ye1*$tuzeVf2PyKF=)(#APd2^@jSC)0gc7&It4rMP5*~`z z;&4E$ky2cOX_oAGa4Vh@#_3-QUZ9{*RoH;@l+zF8gTrdqVMpBfxN|35{e*K@EISZw z@gNgdDDQ(8ilgff-+-Xt9hJ}%=P&@{Gx>Lnv)!(Ho`Afb0=TuzsUr?6(uO#2ye^P^Q zRDx7kuPhZ(4r@8ZZLr(;&`MeI2YC4hskpSCi<|qG3dLT9GrbC9l_md1FaIVLmkwqt zOa9|t{*uF7|Lh1K6nYij!^KY~%udFF5AYJ@HC}_Cs`}F2=gKmGKfL@u4{P3k>4R4; zUWG1)x191lvD+G&_Ewe-26_2MskpR%jI!ikkfh+ZvwH=v(yE+>^YBKshj-%>_#TD4 zH6-yj@DyyXY`@|3B?&Vo-rL6s17m{x;Y@LtbbHis6VYcM&f!`r6@6d*SV`MM|iKQ-~0MAxF0aqxWh&OT}IyY<} z9$aA@^$-uHVmV~i*J3$j*4N{snc;Ag@BiIEflRqgn1N-AtY=}FA?sW4W`66%`Zg>x zW<3YXj9FJ=nGx&xSY|*r)<0jRqM$~7m3kqrRek`=B8@hFlO9hpl2^lzV7E0iRV&LX zf6L2X<>GSw@zp3-5WX7T>{a+x#U+2MvUJe?$d&`@fZf*6w7at84`|L0&;QimAeA5; zv&#U=lAWyvq|@~={H$-l;0`j-lKdll}r3E^%uG~K5x`7e3-uc)|m zP^T>U-+1}!O+4IxsqlkWAvmh#l(xcdYiLSUmJWJ*`F&Mf+V7_<`9q_8(?3%>TqQ__ zLS?CNK~%wvAvKt!;*vjES@J8q{5w=!^6w07`j-mNcom-YDmu~ zo&9wKTwO zKP=dLFt5$9oq+;8l0C4#1WSj}77s2p`POAv+Oxh2x2Jvq1v20VjZHimET%v@uoWJ| zvIeZ5z;cMJpTcs8te0Y$V(aH{o$?E~Uin2lkQsu(Y zo3V{=!*WQhw_`a3)_>uN>UO;opFwl|Y!x4j z7ZDFe{24vlc3-Krl zVL1eL)o;c!<>OmL`NfCxT_QTPi}Zv+d{vtn zqu=nXm?-~YHaWz%9?$u&M|8VNkO9qAmI}||Y40S01dYgr>wm^ko3Y?OypXtk9yoAl zWE(#i=S*;GrX)#00R`>IkYh9pFMTHw_XSlvxs!tJG|XF|v*CgXIuf?~7$kSog&9aC-`5K!wKU{>vY8ra)G)t#Arnirbh9*BRS*IhHkG zJsry;v!03N5L(}iWz}0(U^%Or@BepDAdAK(+==D1w7v_=Szuj-<-E3DfaMrl-;d>x zSwD#Ng>EsHEqwlwE8SzJKnmqb_a?5Rfix^rwiPc{Yht_Szi<}$nI=DR5|7y*ngt$2oc)pWZFrdSoyJS3AeZ8t!j|!aJm=!^s{Rpp+DF{~ zqb(L3L%|A_Fa+;V9){Dua(gt}i{IvX4$fNR+P@30_&!|q47YXg1zwe8$~rLund12W z@fVPA2jc_q>Q7t)2jh}Yoe%e%=lNJ%rSc2#zpB5rtUr}-lSv@X#u~tdDt?>iIk-f{ z@4|J;_u@6m58!&`#Uto{(3gp@JL&Lo611Q8ybKqr{1OUaviQ#ehbSQiZ=e> zLDDPu$nz(-o2u{y9YYt5Vt-a=i#0vf3mTSUxuYa>nrdS+|A@aU~J;a;2{bsNXRw`9~j#P*5DfA=_dX^ zV;lbu%Z181Hj>jyIR(pEW#jUv^W`**wq)y|9R+e0*o57%oF>*8SXQ-lXDnxd^&U7^ zc`sb7+zn4u?t!OT%j@4>6fCv{xDQ^UoQ*ds%Rd${$#gHT{|8{V@pnJ4{sV*~hw|F* zgGBTf6L_lrayY+7#96R~N=bRl-s?nOi_t*_1@c<(Oe`IS*M58-mH}FShvh6;OTN_a zaT2c;RsC^TW~8@i?_n%^yua~}Saxub+<&CQT(t*s^BIZtDm~3}F)mQ6_$<6=U4rIi z<8O}R@!upuiOm7ntb>?qcsPI#V#)vCfvxKa5v&nrE@gR_2eJFpsW zRQ?zjZ+7v|Wy&(uh2~2q|RJYHft7=8>rvxoL>SAk`ZGfamcVL2_km;uI)<=68#t*j5ha#mPRz_O?p zoA!5LS#!B!`ThUt`7}U5scEp&V7^Al2=_7_o`&U+$ouuO$5mJlc))Qj{g&sFAuZ#7 zDTnv}QRFQ>@3%RzUM{3T2)~#PW+r8CR;3+ zj|V9)@VvFI4$Yd0vV$8DO}k*nzK& zqy8!QmIB$MXp09MZ~@+r0=bZ+7e%)5j#y^Mx)YWevhIp!-~kj!{d{8^AA*@N(?1DA zDOgDbdu6-S*j6aR>xtVd+XKcn{t%W!X#EJ*7p7|LHhy^x=PXFt3ax_u3i+cG9FuM4 zG#vhaJk_!&$5Tr#Ox;fA6A(PjcoddJS!i62<&b3?Kdm~Hv+6x>Kp#ll?!UYRvnCvo z8_=g-1Ha=&wTFM;ybEo9JoppqJ#JL>rTzb5eJMVg*8xdsz+Txpj^si_2SXT`TxkAN z4agqseOk*7x?{IBG$pX^ptp)k{bTVCwMYw2WB+x*2_zJ3NtiZymE!qiT*83EYd34= z8eB$x0X5`3pm&U;2KYqG^GA4wYJcr%%>O)9@FfYg%HMka!Sg0uXlIZi?9MfM2ldNj z4KbigjqQN0^n7)ag3R9%QJf0bPuxwpFP@^@AIp?STRa$m zWldNggd4-xc2d$h$i-zUemKtMFCs)6_x~d)n4uDm#wlZM0#`0vq2fbut@2Q;PrKpR zZG4dl>$9SaCmZQ6jiea&-(Wcf(jjXmJnjC$(t$lKYd9_CEE!2$E=2!eIZFl_Up9)< zR=qa-6U!cVFzpRGh1ZT8l5&$j>Qr8yo4*MWe*Qm?0@=eHQ{fA&E9_m=(kH7ul=J!` ztPjx?&zIv0bqJ^8^gj~x7GD4OjRgvFqXHR1aHHp0o^Qd0D*q1LWqa6QSbrWaR=&sc z{ml-qzp>y!3MQ!vkK#JzC-Ev~DBAe^A9uOPc^S@9uEE2Umt(y~Uc%uPUH|$0JPPz8 zxkqk33}7Nza?Gz7!7*cxgDxtVT=_Q7}(=8m?Eq0dG;Bi8KFl1Gp9ED9`bHm**;+EL9cm zqhKM6qAhbE&upvkS}a|Nx8w1RuER!LZ5J8w-edUGOvSTtF>(7ycZxC1vGHd*$8i3a zkq~YC-47Bfl+VOj>I(^Du?*1WkHazm>+!f2+a0*W*v9X~uM-cij11tFF|0o+unBb} ze1zi^$R7V{Y~x$;$Hc=+HSxX9h-~BCu*{fs4=jr=+FA#_uwKM{l9JH8@tsbrSMf5= zQ<)Ka9{+)5(XFG7Tn7#u%_mlza@FPr>f8lHgYuvMsdAUim5XF`H(-1%^ob27M@ zf*My4+>Uc5+4GbSkMRx_f7SDwp5Mk9|0Kfhq{H{|Lgh7*-|S>8_)H4aF{{Ua$X@Q({${%hNg~^zrg0V3OcEHiu@a+11NAK;_G*w55oojOPDre z!BL)%!IM;ci07fW3x_z97UYA+({VNV#hB-xSa4iPR1ozL3r_HSBCb^(oQ&&~i|`ud zF?fseSRCw1M9tIRxyA)@|Ca$Q^%9=4h9LkjH4QSL~~9Q zw@$(1$+t6N&HAqmwgVHD2eQY!#AJAnU8zICf}qx#lq=O$Ygv?rlUYu7*q&fwA+qlR2MFU9NVFuYqbpoKUs)#X2k zvy~t9{G{inlN1b66`sST%C)#!`4!J^czz4ltNiyoe}K2Bc=8hpHnK<2%^@EAi+ADh zfrCBF9#6cD+rtBJTAK60o)7nYB+gX%$Ko~4$)KQRK``8NAztq)1fy_iTQ`8wp3n3= z7Ee|A=i>B>?GAGPyPbk1DxnguRj%@UpXWt5t(_atBc7{qLdBoL-55Z+tSPzw)l-n( z-Zk(I&Qku~^G}|C!3$~79>T5@*yBswBF)DIDt-~(h-DG;{1Xr6Q&7H}8^8k3i#$J! zbLhaXkq>du!Cf~7oEMq@XXAm!^I=#{Yc|e525vH=xyH7_;dmnPLrjC`7~A*+ENj4e zBCf#)nEXm(8=sG54aoen@jIXtY@y&#BzwHlI1J-=a8HhTdlUb|*v9|FvL>t>aUMRx zA%ZtS*(rhBn|%>ImTy~tB> z9!c`bs4Z`5$y0Q;@i<;d)$dBWf=7#ao9!R>Hrsuw19>I%BF<)&M_Vj-)${APM8)66 zxgA~p`*@=A8gWt;eC8$8;~X_3U*mzw-(o!@8?f6Nnl?&(^}?g$F#bp-1I%Yt%8c|M z%lrQ_qHJnO!B46I+2d9h@Yyi&LW#2~E;o)k;bU9R*WyKLhstrS@=bW1@+}vz{-hww zbnu3k@Q&yAaFF4q^drxo;9)BMh3Btuv5J3p0qbw7D%eQEYUQ6jZ}r@O2kq_#^q1$I zxJbqS!&^8jc4t52EbEuNkk^&E^E2hC5#xG~VVHZaZcL*Ql`4}vRz{ZDo9*Vcnem4@r`~RhqFvY!1wh%8-4Ls=i zQO}R#jVk|XJdO5Jr2~fiB_5CM^Fhib9AYdp9NzyAq+pOrI0F}%1Zm(VJVV8o;)R$) z9Cq+EUa_a!v?~amk4tGF+V}^n@gh1*3#0t0 z7TjfT7rz4MDPQ9`>G?)n9Oj4jAC5T%WvYP+T(0hBci{V!@5F1B@51Ypt8lKmR4>5# zcTDfcavf;C|3659TnC~p&I*rCJL|`=oMzG1I(Pz)Wf6t%>v4!aGq(Bl_;TVMD3C+g zYD#1qPsMVUnfosfAQa4_U^i1C*VtA#9Ls5EeI%~Ic2P|*w(*HrPD|^Hu$)!amtf8U z(?27;lma;mY(g2%!f^^@4<0bK@rSUiV(Uk+EMn_wJQBB}KAzr(p2%7vzaIg$#E zT(o5X;b}&~4}1tEx7%T+f#GNHkvf(^N&ZbdK*(7T<;R1!v77}N#O2NBS!eUrE%k@X z-^FrPbvN;LrCk5yv^v}r^ig{#4u1&ZO9>)m= zY^U^7oT2=POiTxz!ugB`>#$sSqAebLhikFi%;d_~ z_A0Tu|EE(Rr;V-95zA?1-3iNSXWbR+KU|uL2NG{hf^=}4vCTgoA4)vk#3zfBs=>=B z7>wJSgoVbofd_D*ioa)U;~(J0LN~xQST1Zf{wbEz(E4+nl+(r*d`ZDfd=3S&2Psn{ z+jtu+rz%?uJ<;&F+Ea7~6O+ zEO#^OK3HyM*4bF!zWZah@yY8{*1x`guO81=vAA-j^Kw?6aAr;5%i<&56U{-Y0lB}Q zj#sj1i)mFJP+l~SI^jJc&#&Wp256tMe@#-biUNBUbiJDMbbvdJ_V(Nz=c#xv{3G@4 zQ*I$1dAV!vN<2mRL7XwrwV!;Hf>M?6FaDnn%T%BhJ%>92p z1#{F4ye_6ff3pW$a5=VzXwPZ9+EqRdFH-d{#!Ho}aGmm-c%!wv|G$-ja$A7+x{hnN zase(>9Ztq6%J<^6D*r7!Ma8$_66Jla=jLV1{`1vq3bItfr8rl4A)b1Soie^Hhh@=5 z8!uL|tZM7WaF_pcegexPwehF$X3WP1(eM9%VG3-*S9m0QWc>}6MQXhsPf`8>%M9B1 zCM<{4`e(dIc?*_9WL|&AgWoBrQwe|IHOhZtnPS^uBbH-m{XZ;+%=$kphsc`OIpLIB z^SzI7#+zUNx1m6$+$OZcvTCh&!?LQaGq9|B>&{rt3hOaVL7X;#!|Kx4lbnqVDL3@j1(ExV4F*4yWqZ3X_LbSz#t`rPB z&UtT~%O2Qx54`wFHv_|Qm5PrrwgZ09i$Ci5@f%rx573}}Wcri@nKIj9z2~p-dKF)f zw-U~+IVth0smSZ{% z4^#2SaFy~WI9vJOBn5+1LG}zDDwR*g>xQ}k6nj3)bE(un!R1fDt7xyS8Q>iJF^(B0 zU#4KmiLOE&{zN7Gifh$?_PB{hu#;T=KE@@qD5u#uUi^H|7ve>(elnO$!KbRjd-2Lb z*TDmLts204c(aOsWL&}?$pBJkwv4y;+yOT>*XRD%nS#|<_X@viEyr*S&b`L@A@TpY z0X>Ebl$RKf$O1319gPWeS%e2VAG zaYEIfinC9S+GG9m^?M2?nga2S#oRQ-=}z4GTcG1Be8*T&3P^!>lC zvs)(Y?YTS7Qw{XOtCjb|o0W5nhsC2cG2V+`&}{Z!_IMHnjjDl5@w!oN#8={M)`> zAH-?Ot8u3C-+17uuKq4#p7z59`?@wPOt?s9(*DmrW!aIPgE|#gH(q}T&?0W zj0F`4eR;UI(#VMEe45qb?8t8OO5R9Wk+T(xm;AmV@i zu2L?<3zbLVVOMki-^(;Oje=U0a0A|`8Jk`KBe2!Xl6}V2t=i)!Oa?(Ek<4?Kbc_nTDuN&u^>%f0r zywz>2e_bKgwN!84)`=h_bW)qY%ME%*Ps zOhI)lnxcB0K>Qoe>v5fJfcTF%ZG!9I7o4yByK#;=WCzc2an^q5DO}CuBuRlFQ7wvp1+CDR|DFL zCo1oCC!Zxxb{+1EE0lZVi)06){f`GDD7b_IZcgDIUyZL+4KBu4D1U_4PjMZr#d5oj zHvYzw=Wji4z&YfH`!8K?qF|D0;8#3Fc^jUg{3l+j{Ezr@H-IL*TD{(HTPbhtx_AeC zqul@PlpaCB8kKMizFO_^1-Mvsa0$Lv#qYt>aH^TXm3X1be;2P-{t%BZQ}_Q*DVU)e z{14xx+;1N5hAS80ZDnqc#^7sIdhN8BE4FKB2VRWr4EMMz2p+}utU3`V*Iw;LbTS12r;#0D5zbZ~gXhse1_^Rn&cJfo z+5DS5-|l%Xo~rWa-^KdNzt%OdfCPC)vkflt{D|jjJW}O9g^Sf8eHM4)9g%3``2cTG z`LEx_`p>z}b@(<3xzl?FD`U~6xcz+Agos6S_AbK9 zm_eEkXK;R!g4L?R0$i^4U=dD~yAB?~>y@9tIXAfYGk6Id@YEi5@D+Ym9rM0-&qvALBVj-;4I@PBOcs>r9tc4uyklW z2g`u0EAi=g7zHxGSB!1E4$Hf4va$Z-!J8Dw`+CvF_js_p3ugT;UXI66APw#?w(-BQ zylG|q50-bitpCOGCYN<^PxLMsmitdUXhlJ>N=U_3%58DAayqV6?ug}GF55vTEbnqz zcg6CimUSkU_ne~s8Nfai$eT7MAydt@pz@_y`JQhE6fI@zd}Q z_0eoGoxIy0kk5M9P;3z4;HsKg7uWqdeRd6i@@}`naxE@!lZ#3S3dC#UfJ_E~pLNELO16Fo%Tu)VBUoNXSXVFP z`XetqY{8Qx$U~>~(^#JAte0VV=(MiE^3Z9$9P?D$?3b`SQ`-0|Se_}Z>yi}6L!~Wv z6U!?b>$kBy<5|Cp3`Zp}McjIKRjRJZ5-6m|u^7gy+UwD#{{I%Pi z*lqkH(^!8lcv7kS(;Pj6RdMbtalYY-<+a}qUKog*RQ;5IfB!deU&{`9W4H0|17qDm zKNXh`8i#uIhpRXzbW@>M|6~;pfB%0H1^NNuQqN_0Av2Q6sN_0vKTh1@K3M$KI2ts6 zs>kzoJdk`FZ^Ze=tp8Z>F9qXOLj3;7i>V>+*_0aF1}1o(h-aw!7vmMmm*KQq-2kpK zF5~Eg9em*>tn>UG&QT3)#Kje^!JqLo<*is|EZX8h1J-M32aYy*{@@t>O@Thf-=5Dj z^2|1ns4SX)nk(=!oBTZ=h&n8gI5X65QOf}g@O%)iPy;*+FBFIU)4)*_)TxAg<3T~x zL8TY3^1J}ou*ddh^%mZS?L+DBxKXvg!#L`n0sKut=520Dci|Ok(e-_hCm0p)k29_{ zf0U9r7>xsLJG=pxD=)#txA!DTHvR%aWd8jxC{x(+p_U0#&%@D%0yuuOTh#e+pyX3Y9wycX|6ftN~3hS>*$< z-s3|(55kM-FpXAa56{6hYKG4Dd?8+=;*%d{{pZegQ(Q(unex@1ulIZdu2A_ianYTw zy<2gW@*K~1JmQdLynm$@wR|M8$u>`WXL)-PX{w4eLXE7#B8~;j9>Eh1?zIQXn(1l3G&GaiYAR zYi=(194sA%=QY36u^7vM66DM8cx+c4%9_dGeAav1)pI6R15O6}P~bNHju+M=?y2I^ z!7;d6P3aKNLvgK&pM(d_bBAyw&Tlra|4(aC5DU)md=?(rT!9(EtCY{j^~#exU+TFG zZ?^gJ{{Ph!l-}h=cs-t?Jl*qb&$r@ol|KhJD&K|E=DYUqRc8J33kRw|{1DDm6&}O$ zl$YSe%FFNywJ2-wtIErKUvldo=t`_J#;KEf-TyWJEGz~hw7ToOlcF%M1VwFE1XI8uV z3-I{s-R<~oT%_E9uVp~VZejPl1M(PGLJI8t`*>W9yPNoAyh_FI!S&eIe-rOe@!#+Y zIy}tO&#We{1~3GdUC-`B&t=1Z>NC=#^uJrBY4b1~<2bN=C2PHS8LNG#U{<799&1v^|pkdISj(S%z(7=q=rvmT1Gl!s$ED{Qwnp$RVsSwjJJqUmz|+ zkoZf+VO(DSzCwYlYFnWW%c`}06F1^LD3AuW8rygS?r?+qrIKz>MYi!CSQfQ)FFeVJ z^`9E_p}=kY5lXCY$KPMv^0#36t9*GR8-`0><}H_2(Mzp`#!;L6zJTY&cq;j9a{uFZ zyC}#}BYYMwj1t25a=cP`1Al&p4;MjmEQrUy~VfV znLl}TeHvc(hHL)}ocX5u{QqnUMy_-T<4pt9XNv_Fc)rB*r8t`oqb(L(iKi%Ei))n2 zBS-r$9o*z4%*I<(h1>9ycU%W|;%eo)@fziYxL}pbf6()zp_4A*aSF;+g{Sd4<>zp> zcU^uhUj3f)E4bi&=QljRUb+qF^;=L4G*l@n9$3vD!8GA0GIDbE{`sI?Z!? zT%z(bJa@*)6)GW<0_}b9dKFLLIUl+K^uaaC`+Gjn^TBwt%0K)W*8j?nT!VQeG%64F zJk;}WoV&)=AA$2fc0LtPQ!e&=)-$X>olr``5>;UWUZ;E^&iT}JFxhjN=d17>l|RjM zGD*P-l`zBeEWBF9EAU3;xj1vJ8_;~u3q0SCi&TE{VG3%#a1B)Byc^vU&?h)Yc^4j3 z@A6|yTRPQqTRchScWCKkusa16Dq#o5=JD-ZTO)bns$qVh-JZeP3hPQ`^Km*Qcn!USBVd?B8#JQG@_X7p7?A2?wXMChR+#FBseSi+Dfc)+=yA{XXDp zSk@GqT>s<28x+W*i?(?17Pe0)@_@1myRD(=eQ98U&2JTCUl@z7_3{A1n^sjku*eSO zQc2wB65?EGx5OfMyEGOKh|ho6f8ND9ivk&OYbuEE$8yZFO@&7<j|iiOfJ+DE`%Iyh2sj?DX5ct7PC&$7)upW+O2W)-? zmMITEC8Pd_SZ2t^cb~$)6V==vum6iEkUh2y-i_rD*a}}_*+U!O%Dq7L(E6G(J`us( zd%^*)z;cMJ|HEhK6$i0ym9=i*5!ejA>q z>MzGtD!u_PVgUBN;PmIYkVONM=O2Fen}T8r?0doI;5llUt+WQdK-opF; zb^tpmSfwgty~u$6a~1mGHJmol77udp`dRKD7#wYE<72R#HP$6q7P05Ypid^a@tu};Ckgda8eeDO}LW+S!C9CVOeC>Rah38^#Ux5%KCmR zXMy#DSXR09Vl0c!`mqwC)z z6_+dPmoIYu=|%P}3ECTQty+Ye@T4ZUD1XJ%l(%{Q({m$UqVoSudIiBttZJ3e8c&MZ zJ&pzK@FL}op1XM76R%hK-8?6IP_RuUWa0F<>#!d#R36~@5YLC<*((1ioSWj>%f}VY z$>4Yj^f4TU-PX`_64u9X6EDqVK>6|LZh1VnW0}$&vB3*88Vsd&+?=6)ZdF-@$(=zlV1!e}H%4sDB2qh5|We zc7&f|IcCxElUt&1~*6Z+S+=&8N+fTc_Eaad-E%S7m#@L#ub z|F_TSt0<5uwF&L7j)hZZ<0G(4nT^lIa>&B-m=4xrIb`8OD&F%N{+)0YUyfzb^)>_8 zLw4Bizg(FPp_uPAPvS8>e)1KGE~Zo=?HaOjY4@3PviI;PJ}i zaPID|gY)n(<%>K|@q9TRsq&}3!v2@2g6l{qSH2NfDbMm;;rR}{ROQd}d^diLMHs%# z$4YtQ73O~}1qnGO6#PcQq}$wAEHhta5#nqUAA)CK`_Os`F8P0@oeO*w)t$%Z=1xKg zph1H~M4dpuSTNqXb7$_1rEOGVT}uI5wj#xn`xG!diU^44#8(@)sGux^78Ma_DlEp8 z6?L^n2_g@9*LM|_s;g)>T~t6c`}@zFxpVF@kkHO2AM|_vkMlqO^O(8w>=R_3;@Z!m<5#6f|)KUxC+g zd=%Wuap-yMJUA`__v{-qpa-~y<5J@CK;9>xZK+>=fpjK#I=4_L;6)q{1g`*}!MbE5 zV<5Hy>2fgjvA5ypJ-8L@?<;J^o*cjbZ$Ux-p9TiEgBwQ$+z8$c2kyK_1y3;cD|ix2 zW60;H!3V)TP(Wj9KVx715x5=l!6c{s|0ykAfv?a9+{~RsDhCh37$|}QIlP!L5F1|K z*WwLQBI18(!C5lsp9UiRnT&zh3Z&UB-XJHksbDS&XjFS!fpjBy5!l~fH!=3*tHCrV zeO?QuLF@D5;I}zm2aeqp$k&7AyIn^82;dnMe6k==cn*BQ!hl=Am|&rOrh1#SZ` zc6LU=er$$M=B`av4|(E<*s`hA$+5D>+^crT~5UO7Jf^ zZUWQSP}o)^twuqxwY9GW^C?`7%WTv_oX~Vf4}mA<B}4O%c&{|pu505!DYC3-4m^L_y1R*K=BKZ@|EB;9F~&;cqh0KtT6r>JpSCE z0_mlEE)=*J+`#Gg;uzx}k4K_lKBv$J+{$r3a1#Q6svA%(@sJ>Z%fJUX9wqP?fv*4` zz29x1_xt}A6zu(p?+_mx0?Vk-|1tR(VLPC|kp2ryUEuRmU=v(`0?ObA zjD7is;0s*2+kWhPHhBfULK%1%6uL17KVt05F9I(a6;xOYz8Ly_nf`RfzW%k~agcXs z@&_5S^{+sB7zNblzQGFcJkDSTV_&`-Ok=|5KZD&aatrXrB(VIeK>ilVk@CTiQ$~tj z_L%K|@j84IY=?q>H9W@HuOJRS3^|5?>mbS4muJA#r#?>v(7!{0>y`9lLoIVBkoZzp8 zlT!mXY)1d{4qxIF$U&Rn;2<4YhZ%`FD*xK5MY(f5c2i2ScIk-}A zFrJfB029ExeUg)t{hfmS0!~i$_u7Jk#hd~;ctLQ`%E`&WCc%CSCnx(a1p7mrob2td z1qa`93gqD2t@$Y&3J$im_VdAf2BMst?5`5+>o_?Au-j9DgDj^&4i*Xy7IAWFfg{-8 z&&kPtqhS9sC&&25&18au?VJKRI4n3g%E>8!cEP@2TaX{JKM%~$st6~?_{Vua6!0lD zI0bT$0Q1u{EAS+6eXh!9j@Z!WWNhs&)M(gpvwALZ=b^*1bC#3_)2Dd2%d1j`CM?Z8my!?xQgT3z+*VR1MFtVTmP}t zq9E9?)PngImhSfgs)G`B**%;-1^k@v&~;KIwQzE3@dm-)OHA(8PY&7y2L}ZQUkMJ5 zaB{LAv^~Ges=&d9r54OLsM?cz?I#CU3J%5#4kic=lAN6E?-cA8aB|APy@LH>SMJsC zo`QKnaL_6^*d#dE!pSLsF9iEToSXvqTCo3?8G5 z{9dqs(B>4#!Dhk1Hcn0sb_fo3b8@o(MzEK5`T3#$;*-u`J_B|Ur$7!=FrUI0CnpDS z!NCQboa{4#{X|Yq_SfXwUJT|d82N?guo6+w z+J6bBPZj%?jRn zgHD+!?w8M~f{kxFm%SLSwqx($dLLdKREHn_RDKPZ?s)P8J>^|Vy8M0byg+YUSk=Jv z4wx3^cQ$zRg+btd1=AVUc}!lu4?kk>^}az*{-1mgiFi_=@7*%u4!8KR^Y~SGe~J5pMv~BVWy|LEZODQq2-YI>hYz zg6aIC=MU!xFGWG@GE`XL1@Id%z2T&i8T<)ca}a&Y9JYRltKt_b?#(7t;lPiO0WL$U z!7G{+X$;dp|6_E;LxKJjFg>a~k4`RN0bKSO&K1GoXedz1ZE(}0iqy;k zx)19Go#Cu!TysQn&xl^icnX-FjHqI)9L4(55)95e!Q+>E0ol}oJt#Qz$Do2S-{3g` zL_CH$*zzq5aK6yb$TRKG$76iAu@;8lgPtq&Q@k6z4EAvAc4=z}*9G45?0aKK7j(m& z6x)#jdOsKiumc4LcVG~OJ%e$@Sa7B*lES#CJMQ_qRgu;)hkZ(LVgeP`F&+t~Cnd^R z27d>p2OX9%xlu+_8XrPnJOxb8B`l%qgA~9YP(TkF_|xZo@S53*^g1(`)FqE?-Z(l4@iz}q1jAw%nJQ2)- zVdePL@;XI&R`vp32tEY4KPGydo*(ci@XQAEIm^hG{qWQjHwY~S10Q3;?#U{A4+V5* z9bCy1AvC$;02v&rk+D-R4rX2?gop!9L;}FkPapVGbTY57P_*j%R!X zybpuOUk9$L&L2b1f$1T4Kf|Y;kBl5pq+!f{1lXo0ArG;F1{8SH!fV0P;H94`?p1JV z(dm)=795FT8t%bPi4Ds8<00?b5HiqPDv&+_^Go*~CNhGhU11se+{FB&htQ_807hAe zaGT;j)lL;22B%+9atqJO3oxqTz)$JfKZd6vL7)CBxcLxv>#Tx0^sS6B;g6Af!9zLT zI0EZ`gex#c;$f8kQ=|qK&|{zu{*g z_j27##@oPjdrvFlJ@ys2n6aZbda9GpHrB<%z* zV7wSy*F9J{`(K4`#)JKpaWS~E2L>%`&~9);uUr7w|D%9D(T=3L6^{EArXo_>6HI%* zZWA!=5a4_!f4vU3W?X{(J35ud$kYTLw^6|`Al^d^fBq;xBZ)E4KUn)yVEUr^Sl1u= ze>Do|i|GFD@(VD1+qsTactr~L^+CRb@k%g#(0m``*TM8DXMb9bO2huF;0US#Oy3)C zWcokPU|Lt8L6l+I|8GJ8eU96YxNjCK(>WFHosiU`OTl#S$TrsETflV7RfIWw9!$6C zjb_{qruzhkvy@j&%3sPigZ-u4-TzOVjH{%JvC^>$df+<$JS;rR*joKtFulBL-br4H zPsM1XS20!f@^~qjUh7lO0{AzpjR^LBIOMY@GXdga?<3S$1~p2=}#< z@nkxwYkD?rnpPy0G$U3*OIxvcEE$O;6PaquPim){YOL$322-`GJ9n#h-L2VWRg=1@ za*nfqXV^SBnK4o^L$i!X#!RSbXUMMburecMV#p-bSR}3*nRJB4m~-=~a@^Lk$)piC zbkm4Ml3FtBkG^04cG@U@0CuWuP^=Tijf|zH&B$n3r@nh(u~RA+_A0ZI(Ik2=9*tRX zU9+NYjGvdwmzA0kT{W|6B4Z^p>6Dpu?kdMp-AYbjU1qlvp9=8HPpXL;=f7bCA3}@bJ;qTemNG6`r(uRsvJ7LDXK4(i@ zXQQfG@A@>>J6@jbj#e_Q>+6%&^%11`OBuhC*&VN?M%No=blk9x+GVKdA$Px*%dCB@ z)!d-*p09gM)vm9*hL{8U*!vT`>%E|hZja+Nzg<5$-X2Yh(t6s}G^ozQ*UM#2!<*rf z0lEAhD`#=1_gs1KFFMszl?kq$R>{RAvrgA-4s)BJW9Z2LHe+sT(%f`xsxfDFdSWUx+j-EC%hyl%OL+3e?{|8{8m+FcpEaf0iffU$ zX&G@XrpGNKrdx)yZI#^5Ir|a0cWD&+*O+O>HO-1!Db;e$SRpr+rc!Fuh-mSMii2r0 zYB@EJ$XiRZrm1CBT{YCGrKZhni!Y-ew|}QgO(nB9yqEP1QOTE%FfOla=yG&h1U|Mb4^Ka-S&I?*UTtH0o0gWv0Z7JDEhBBlGPRDmT&{Nt5rp&9AMwwi z7Wtf9bYn}iS_YX(Syn7*rd1>9)IBN>D@`OK_^FYOXb~-y&FTra^yG9ruBB6ns2Mkn zbR_0XcvSvDX*zAhO*M@}o2055n(nN5RQ}XPhEq`-MyJhe#)xICTCV|W#6psyaRV9D ztca>wrsk!f(?O*j#{&)v^+bLBw3L>eGSkRTo8gqLkrxc>)F(@8M^UYRca2;V>U=eb z8OMpMYx@{Ia!eN?%~{yL@KopB4`s!+GU=YCT}k2JjW*zWye7tCq~KcS}(;;AXOa) zp?2KQ_KD1bSp1(3BWC8i81)ZK#+a4wgLmQF{IJ}A{ln|z?=NxAZY(HVzi&k0oKWb0 M*IzlZ@b@?UKV@!i(EtDd diff --git a/artifacts/program_methods/pinata.bin b/artifacts/program_methods/pinata.bin index a2571874591f005d7e961f57fdc1859f46a7ca0c..8b61d2e2aba55f9fddd54f6dbd6937cb47ab7470 100644 GIT binary patch delta 13562 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 delta 13582 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 diff --git a/artifacts/program_methods/privacy_preserving_circuit.bin b/artifacts/program_methods/privacy_preserving_circuit.bin index 4a3772543239a3cf3f9a1c8acea955a9a01e92c3..accb778f53d8d3d8a865f9fedcc5a9cf04d4df12 100644 GIT binary patch delta 29897 zcmbtb31AdOx~`t16ClEnaD*$&x9OzrJ+%GfJLtUbpJyFrvXE*zrN?vH=VY8(3Ow|ZHdC`InMnRSXkD9O+UMjP zdZdj@`%G@8_8dMQub^{t_;_+U-KdZI!}LT>N!H<$C$YzEw9k3`vwt?7pnr~6(zyOP zc@wSEKa(5jXZmOVbZTnbSL5T4P-oNUAPqNto<>(TeV#%anm$jaN18rgMT^_%e8$rW zO`pfms;1AE(~V7^FQo^XK3_sRSOy6r=m`8djLyNI7tl5M^L+X-{`68)`$2+>I`OAW z!}xO$U5P&j)Hk&E7=$0|PvqqZLL;?wObGAOogJ?hc2aAntA*`!F8+Lj?!lj%XrInk z3oq5jJNGuy{R_I#@`A6kYE=Ve)sO5sTTq6F1slzlyJT5Z7g|UA$Ytl(sGegp_8n$f z*l)hY*ng`9W;ao@kew$IlcLS{#2CStDK(btLD$JWvdY!<6X-7armPL@b5fyxN5?F6 zT|AdgaZJqGqe?NHZgSYP&v8F(bPS;ftX(v-Bp243Y@%R@51=`PJ+f*TeS9gk7hYr_ zz3806LW6%GT?G{HN%sOJpMI(6V!@CcPe&FP8scMV1^yxiT2t&6lb6jpJnaarEbi3W zN)&Z#{|S1ixLjKIuB zy2wP7q-wI|bdzh8wl?`_eYShDpve$_hfent33t+JPf`2ZxmHd43tB;|J^xK>-f+^I z0R;yCn{>l~D-3@3ih%`gzq6SS#Z|v?gqF3rc;VVsq{u3?#XNjYXiG&4QO2JsXv~UfE2)Dz4wF&LDe8EXc>};)S$Ux?C#GDF!tJN%rnn7(M4^*UiEhe?bEA_ z)3-4WOry6vSK5relF=s%=&D{mZQr<=e%6ccOODVJy~_CbZ**jD?tjU9X+`g`+IaFO z+Rz&c_0ogAU0HirhE4XO#eGKgR9VN5g<9tn(vG7^p6DleOhh%D{VrPF=k6?(#=nzV z`gYO6ob;#mzCE&%>M_2c6Z-nvsPxHVxWmu1ykDo*u&6ri|AcPp>*Lv>fKKVxl|`vK zMRwEf{rHqWA5)xTawm=V8`@gq*d83|w0@mi`*nuf>JRoS5%}gW&<+Diid1&VI_{UM zQ!CoRUf-Xavkff%q4>i>F|`lrFZ8XSGUPIYV5(nt!R;o&Qg0pJ%D{`xFZK4atj@xU zdhe9sCSh>>yz*yT3H7wkj7ts4S~_ROPlov0wBpA1w1h=wP=Ccxp1iKEuc`9||%tN=-wx@IN>Su_DXzjADhGc*y@9JtG<#g{|UCsWf z#vLQ*zPmab;!~*QK1^Rj?en^t$zIc(hQzuLH?N~4%a zFv39)QJX~tsf~4~)(6_qzs5S!300+r_)uEK{u)d-R`oIvFWn17Tr_7CQi*39sdxFLn_Y(akV_6pzqs5)X zxWQP~mwoJv^4Yi;0-ZFLjnd})zZ%OXbFyEIWjAPK$LN?PAUkR-yO)#wWGwp=Cp%&+ zdqyMsktP}0zl~+@aIznaWuJ4h|23BVQzQEqwJ!zPcgC_-MpYpHLCB_kjDG{!*vHPo z0b0w*_Cq#K_BCYVWcwhSM)oDO+zYb3kd2f59kOw<&mfyd_9=}svQHozC;JGpak38} zn?|;q9=;dae4pklyNPa%_cApY*Q!oyCfki`HRtqirPle~%v+3WRrl&_egia`;mKwY zanrs=Yvy-D2b3~!7kX&^AmK&YeL;zquadXXkqdeYb+mFpCj$}b(goMjr{i7e9m`4# zJqDGK^6(Xpc>0vE^@=YuC_#reEKmO&2pKhiHweZO| z-LFRvdgP|)@h?O4bTcj0f+yd+xG8qXqEzho7b14LndhsaQ+r=$b4-n#+WR2=J&2sH z1{9dXcXwL8J%vn8aRyZW;Je9x=O?i=w>2hbh-*P zZa^o@(6y>O{T*%_*$Ydu8rhcqJE?P_Pg8EZJ)N`Ari~|O)71+HYM;@b?^!sDT~qoh zm6r-R_2my7YEM6_%{3%Hr-y3$b%~quTD^0UR<$B%9!{_ZL8&yb!cU*5_0iF_dBPrA zUfVn87g}}XWZu0Xd))Mwq9=_s@9An`CarzCx9`SKc)F(H#7$B#nk{%97)Tfpp5ce+j$k$Y)+>O*pD(a%h$&VQac4IWfzkHbYD4fUQ>* zAV&`r+J+4Gw}CoDv>~n4o?9is^{RHOt4OU9#xoVp@ zJ-YQze2XJ=)wUkm=lGAb(qW~0w++l9OwCF3X>Z)B&5?aH=grAl)ge=8#hYV`;;b=< zcUm}LeuvP4YREG`8`nX!Ohi;v8Ilud*VaGbHP2@kXk#_S2JF`&01+pYSj0e*qUR)xPDl{DtwtpJ{nwTmiWfba-Xh$nIO=W(# zXH!q=**B0LeHj(aMfEaeZ|A>S=NLv>#! z+Wl4ddpA1i)fon|hc>*5gSqJ8S5XMJ()`yRF_0X3*f)SSzE)sJUO{V?+v$N9T>N0i zsddBTEY%$TUNpYJZ9vbqX~P>_Ti?-nFLo)?9QYtaIg&cIAIF9zRYBsVD_)NYpV9d1 zHwqKzq1TbP**X0+G=KB`S*jnAXKCH$8HQvz&3~f^x8EUej2Fx+)<^h88)(IPoJ#Fv z2GP3pU9!fgn)i*;4NO41%2a%LjUj2JJHNbzU2}$fg+uPA>%Ni=Ngv(& z)p~@`ziHnAe5sNyxZ_9zNPdlh;_O>0PB~U!FjmqLKX1z=1>j&b7SA^> zEFNYAClmGmoKNeHt?!hy{CE_`&nj_~peWy(g?p5T%)&Tjizs+H#h0H->aWo@kBY)% z;ZerY)3NGQvg86~gAp=5(pnfU5;Y2xY1xeD?ahd5*@67GG2#V=VOD^Yy5M(v++DmA%Qld`o@7{BDp)&l-DB))8IyzpwN&vq;1(f$$e*Wqne zjtH_ZA)|jcKSH@YXnewuvpw;B(0GMGs8FQ2#-4_CKPRR}jBmEdwbW|sO<2qRopVen zz1dhG@BF#>cP=VoK6sc`P^7B(DfPKce~ztt!k3`dSBhPlSlltc<7 zx>xyPuJJsfHu2B7#vdLiJbZHzu@H7L1L=+9HMG^3v5|i4xVI?BvrJdS))c13U&46x zEkz`oulo|XL+{jlBk-oQ`8EbZ%KNA0+X9bCoA(0S2c_oE2Ocmx#Xo8wd1R9_MQ{TM zrq53NJ=^q}5c|u|gcP^2l3F7n27^HUjDOiF%G+spxKSX*1y(W#i`e`>fLB?qB!}ZA zCP9^M4_|LbcXCvh&R`(708au|wFF!b%(PJnV}jpBWTGgj#~-Z?kbAQP^*Bq-+J^nJ z1yy<{;*1HPv=Ydn^Q~kLpZ`x{VjGjul53rpI$>2;LN?D+W^^+ZTr_4uYW#kTuUVYJ zHNbn8q%Z|;T$;iU1J_k6?{+g?8f)J}AUUzrL9Qtf$cVeFWG~U=x~r!^m<+2quC@x0 z!Af>=#avP-sJwS^d|Qz~s^V6%3+86$>R2ogChG*QhmF8Y)&bglAsJsHsKTPUstbMu zuB*0^DI9lFUhZz1)?UgLNab=Ew5>+=x>C}^t* z$MLZPRrTjs?WyIRfK%B`P`39pEsu>j3XgimN;Y#n^*lzf1;UGa!Es=AhH9?Y zPmXJ6ws0@l@QWs64PSrX2|{w#LGPSC`m1&(6Q3XUo2G+R+I)<3KdC8g0w?$xm?@Oz90A<7P!z4##0sFS{9-&@ z^Aip3j}79fIC>K}KMntqSY$KJGQ>W>JIavVR>Bm_Hpbg5fX31blg;>ILyj4K`Vhb0{4Z0 z0y5i6z-!Xxj{rBO;TN0&nFoRV{6GT}pA?%08Ddk;V}V~pdT>6E0UrVOay+jc1aGtw zyFpXLQY3&~A6v;r&c_7>$3L+WFHeXUy|5t1-yjin*k>gNbr<;! z7VxKO!jF{GxG<%ent=kj47d#!=tJNNU@OPd2MMGa_&ko+18+>5@97c90UW%6EAoEe zbst#?5*#cW6Uc>LBoi!X&lzO-1Tqx3EytsPzk`6SIbH^Q73Ouk3-~6?qhzU;IBzgC zorbRfz7Mz)pMMbeNnkaSV=&zw47{ul0JlG1AnyR%_=0i3jq_6)SqWSY0b23-Pl5jg ztZOKL2wVYJ*T^-%9|N;ik-5rh;4gq-G4e`Z(-C9rIRW1IO)3mS$gkP|uo9$A)%)K; zR-gVI!j2p9G9+SaRT1gWIo=O!0oKdxZr}}Rcs#1t^hHG^pVJpuq4NExUK;-xc^Ny^ zfIw&PG7@w=4L>>*bvzAEyigz`)35@34Em!$aZ0&YmdKLc+}!-Yj8MAoDYTwX+o-iR`WV}R!z zvqEC_k3hx)>-{FfR{bTkjbGf-DQS$WerKn;&I@4_onc>a2ck} z9L_Hn4G+_vRl_kd$c7XCmTEv=2d+B_fw<4Ug*;LVhIv@PyuKCk#>c?A56*I-#^dy3 z_y!5!Vr(#yOQ~wM!8&dcL@W(=G{TH~5TH4qM zO25kQPL%i#5OohQd7a2zbq1(*b!EUXS@Y;61>4yLkZE(msX1RXSd1nkBWlS|BF7t*L41GYJYDWNV7l$YfOb>XbO^ zl$S3w?Y4EFh~0g*rfbi7;P4O|Nt!f0-QN=pCUYf$}wwc|o{z`N4e zyAx}Nn`Q~I>luIC-K{t+i{JkOpLihEV|uSbH~{Mj;x6Dm52kRRYXxEr+sG=TCeI7N zo36K!YJ-MvpMsnpf;PA|?bpG~;FquMm!M^)7X{(@MA;>#L8jR70PJ#`t*NGO1MYLX zjWqJrmj_W{=Hm3+%i_Rfd8)!}16~cROKS=tS)}2Mfe+WD=9dCjr{>3zcQLT@4p=Em z6JH3!xM}%w?G4y)K90);dUJ+A`h!6^FjL=;H^QnV#l)#%6B(5#8*O^f9GhN_jaKj{ z63~4UfuPIaz5F0gRX{D^JBRcA9@trBQxC$z(|Z#xJ!yCW@C0DJ5WNpvo`$>5L@5Ox zqVbE7Fa}mHvXMHz!F#~#Krou)&a>b@!0R}U12@nnJCSX`b!pgCiEeDMt*I9X+>AoB z6qe(5FSrH#SL&J`Zy+yXAp4<|2L1!Q2L##JkZJCpvjwsM8qy2F$a$#sn7@k8F9Y5L z%pHg9N|cO;DVm&}DF($+r+oW?&!{)>V14JO~we1mPkRcRai2RMC$!aJL9Pz}72rV`hiz#p%I zOLA8^0X+I48*gIJl*o7CeF_7O{6sT=D^{lPYT!D>*3{Ym9e8yU10*YGcGtrxdU_A| zL0~;~Gy)%l<@BI>0ee0MJPP{>%FS1sLhbK}BWL3JqLaL?{NrlVm4>!=EAC0Aslxii zLz7Gw8e;#2ttLHg({H@w3KZqq^>7-VJl+8gKLxMl$*tcUv{%5oEgk|sur`H%1Fi&S z(Z*~y=vJr_Shw|5;1Q|yG4c)uOsN4PGiOO-5CR^M#=wnpeXOL;^(%10lQuG)3+$PX z&`g`J0zUC@Dto>Kd}#>{5kBSA0&!sn^UA} zn(>_rT$6?$1)m1c>zX|VoSqj4FM`iO4!zaC3wTPJT$_PUq_Ba66E9z9YA3|*3?q8} zR76BB@Mhp#U^u&az~6wU-}8 z;C+b0*P#*~m!@jO?Q5y984JAmkrd;Pl#a7ZPY5*e@+?zNLu}hJG{T#0WCTx`Wni}% z*vbW+_yFdyT-T@qd@zmO=fF!JO|kFxASw*j>jw=1?*-Nsu@8927MuPKm`g6KX>P*# ziO4OcA9AD)tB_D}57ZOwRltXUbp^F~1m^_S6Z7SXMKPQ!)_Em@?c-F*3II<4M(3_- zeg*K-Kc`&xW8jUSr4sj`hma>fwGpIKm3{{BO3?S?hNuI^?=za@_#U`J3I~bwFiH>> z=z`7$KJmAdL6X3gsRhKS2t)$?2);oX@SACP32-s!)jS7JcvmqmK+E(~;?@PG2Zgcz zKOuzn*@*s7`ZVx}FK~V?|KEWp>`k42G4wVaILt%tC*a03asH8*SY_(jCieX^NQwv1 zL2wm-m7vkV<~Bk&#@l_W`dt zk#h7;fwR}8{58K8IXi7W1bi5B=>EJG*z{}D`WQKkfzQ$iwb0nHKJr@%e*m0K3Y+GQe_=O~Lb68X9}~z53?wn2moeKKFaR#+ z3^xFe!G>K_%^AplfNucSBhbCJxxl-AheJ;_pFf_CO$LNn;#S4f&Un!dSUzqlB!~IN z-)?{l8w*L8YvQ$+&?^DYD_FvQ?@}5a)=()tAM@`d=v0RLg zSfA45MBwtrQptW5@LbI6njN+(W5ECruw;KLaM}X0De=$~2>F2LMJS?eA(_q(numki&nx5) z$^w}QT#-{q8uv7K?@TlPnmY-NVC^N51kA3>j8Nh zdKn4ahsz(pzI*di_$j5N-n1|Gxo6QH^(!QP?jQZPB|2?1y_pre7I$X9yHNcGfmK;A z_%{wLY|3HfSeV^A75hDqvo_c<&vW6!a5M|%wGcCt`Ovp%Kw;Cv+^9EEtAH!Ge2cch zF`jR7BnNp514l8Sd(M*W&D(@`fLCK)|H`9vLt^n}(>>YkckP5^7Z#EnlU8+>Bs%WE zg-yWy_+8V!ZtX8?K(;I|Bs;mrV~K~pF%2>bUnO?@)3n<(%>7qv{9MWtmIHTxA>|3} zb|IGQ3e_URG!q0a-<%S3P2!X9O+8Ixzrpx`4TVi#GP~Zx<1FZQa!cM0JmQr?GKb4q z@IDTNd5EQY?iS$cG`_2i!7WwvCw25 zYmPmNUETv1UFxrZcL8IOdJ5ae0@u(SN7m0PqfA{Xl;K{y1&@H^7^6 zi+ILLeAwEYn`INAs}7|_O_g&U@SOfd$oZOW7A4HN=H15FN~S|s5jo6l_5tt#2@MO! z)-MI}%&yetA>cW{u(B%bTHs%Sb?qJm{tZ|^O#iQtrqkwU0t@do%?~FpV!(s}oxu^{ zIxNtm%(D+YEAT+R;hn&T(&oE1CLZo&o@tJ?-3xC8BYok|jcBcgrM#u=Yk~auL6Ms1 zSsq>je9?zE33g`q9pLasxL0x9=6|4x_lww*tU7-=@Q~d_>f<1ze-Jol51M<8-atM` zEb4CFVz}rngu#K)MPv>pSU8sNLAZXB66_H00ATzKLuGvH2LcHJ>rG7V{>0**<_iR2 zMPi55j2~6~HL<9-`30kJXTsIr{DL6dn)t^6GxEc@L`S>%2ZL~vVs@CHFmykVc*Yj!)(L~7iRe3 zTxg_q5h>>k#SZZ3SvFG6=idOX?1kqCcoCx?+Y#yhC0mn#lYkor*vL9gFLy#o>S!ZV z@UWAM?+{2O2BuF%pN}Vg#=zehPE&yQRy?^eyaYJe*G5cygM<0FC!pxF3mKa)=mMu3 zr)3s~-vVw##$~mO;q6_KQ}8_)Yf=~<&ybyrZLFA44v=h6vOGjCtlVX5XNvP@WwY#9{Kvdh}YUTQ+OHh z>hBBH%OInF6}aLXggK|b;c^IYu#m+3TqT9$k=t`pHkuEdoffxmUWLeLrCm-L!~Dqz z(@Sv+LW{)kzkn;o!AI1vLJ_(K8_ckg8Xi?YPC+Yti;XZ#Gy2)rA@7VYim5FW8<;s2 ziDkL=%*gPdX;7(8OQ{Us0DJ@j=wY=QxY3|B3~c@YaB*W{Q=%#3K!1YMPpO27V)#ZK&ZutK_hxMH9lV$)nvKBmYGgu=%Wr{(9;06|6vc2$*li=5b*~2g4D)(o`VlzYgugC=PkoVEzjiSqr1kOj>&i=6=Pdo)& znKm!qi^PSn)Qi*ddm-@@C|d8V?&szg5z1h=_c9@ zoSp~lE1Ktl<-j?Jb1z^29q>U@QB!q{70^^MU?;d5conX=dMZu;rzfUWs2Y>Lw~;m6 z2fUBszsvco2;B)YfdNl|5HPL&_g;?72UhEU0|xNloHwbs^%mT=L15<$R|4l0 z8H?t&b5--^5d?9}Ih`}BrW^8V4LBgee59=JTIHmyJO*oiHjp;mjRKRF?x|0mC0L41Pm6eYdw@B5$e# z3ISIDPr`3F)CJFCpaBDVarrNBIL*nfej7a@=2vlsYk{kLh3Z#aY{Soh8$hpz?Ug&R zesHPxe+SicC=P`DqYCgg26kPLlDPA`NIb*w^2Jl-NMP>>BqDy|1;E+B zdLr2ZY(XL#!#6kyylXJZHCOqT_nJ2>YD8{V?miAz7g1|LFW_}K`<31G6HceTLheFzn&;Q;VwX}Hbj=(t*={_ClCHU|8t zUK{xdq%W{wJ8nW~AXs9#9rz%c)Omcv2H>z2{Qz&%uiT4rn$|@h0G?nkA~jsYZ|p;2 zLhAN%{!mX4Gj!ke`~4Tu52w6^OPmS z&D|`r(e)PNpd>vkzmy2^+g?y zGEzL3{l9c{VCJlurQV1y8nQ?1!C)ldaYTJCw;XW>?6Onx20b3PyVQOz#L_9mu`{rC zoV5^=;~b@ybg^S+bx27*MesAo?K%fysZ{cu19_?BQ^u5;^JAIJ;v~gk{{OSJr0*Q) zMP_WCJFSEEpUPmzO@T#sYhXTsKE;di^ z>Wp|?VTaEi4F`QbpF>vtc-l2rxZTPR)6HF!F;|PN6E&BZe=>9kha+x>$L^Eu4#^ep zI2oz(>ND%kzknFpOZy6Zagh*L+cQ_YT8)a!Ca z?NSiOm7JcCEP28nuS<5hgD$rx8V#1Fhe}4`bob0i%v@jj;9+x5<-P!t#VJbeKFvJ9 z8VdSCUb_qGkvuZ;Ni^zqIgu({4zDW`3_6wR)69jjOjM=K0w*)I8phmTGgCWbX_1qe zJUuKkQ^RMQlHlp6-MThPC9j^VPDh&}^)Tg^JUpW%Ke7hQi%0z4B3gp?rU~Tscw8Q* zBP0i%A%`TnWk=NO@z^D2Ff9ArVOOb#IcuKsYrxzomXTO;>B46wb%NAxJ$rf|iJjX5 z&pB?u6n{p6V$C%p%b6B5r$_S2ut9Tr+5S8FSO!zch;*dt^rD;54D#7qOum|#Os(aa z*)~<&%%pCX`#W1R5h{Tvv+|YN8_f38WE)GwTu|feTS8aAPH)X6$3`^zaF`1FxAvX{D z%nO>wOlEqiS&X$nA8YPD4i+z|EYZS(=Jc}f+~^%FaMJk~oY|k1{nO32WcGT8TP+nV zd~Q+N%`g|7TC9i8FrVMWGiQ!>W@zS(QspeSd)6GeLJmb|dT(^iOe~*ap0s;#rUp$e zt*E%|rc$TJE4w6zNA^i5^s>wDlh~!At1@J;*xq8tRlw(odL0rP7q7#o^ehvXTLN~M z)9LU8eUYd)>~Ttp)i3_l;_!GPVRtwzMI?_q6!vPPk!ZvbibOn7S2XC6(U_^U-jL+8 zd!?Y;CEI;2DWr|M?GaDV?uZ1P-l)^=;e10rmq(TyVV~RWfDt_!t>g?y;UMlhfiU9C z&iRI9S$2e@GCCM39Ex(OGhFLQu&vb|wiiVsKq}CvW@v`X^7JJC$ z3`-6vAVqwENWh_v#sVRyH-P`ik`s+bz+Faeirf^cyn~$GM0N$7L8s3Vk>F54 z^_1-+c26V}ae2Lwpd1Q0on^}ZULj6s@AZaUo`BQsw)>pXK-8rTTbOIeVV75yCAc$M z)hkDf_gL&vXCx4c1U+GU*cpvFl&zPGL)*Ef2>dz}@wz>5Hn{uc;t-279FZN6Boz6f=_G+WpCoFrM0gngE-S&`j-WB2l<6W{_3c7+(haLUBBN{F{ zD{bONIAo}qTV#kL&eAw<$#$GAD3oi(I;gC^#An1(*B!@2`GsQY3^zN7{ z{7ap z6(6w#9gct;ky!+Ld?CrHG>jGh-5yB;X~yRbhw+jTc1O#U^VT8FG>$`>ksJZH9CQT2 zvJ`Yg+>#=U7i0Y#KKM|`7j;Wv3GwABJFPs*`tjn1ycPsiZk{YUEM8AoMz8E(&lxT$ z8c{Y(5c^m>zJSB&aG{fqhFqaQNI5t`9NGs@CCsvcklh(}L?R)+sY7=7yk4Ih8npZD zl5AJ5m?*BYAOT5%NXQXlzUp)Ym7gYxH^J@f>{%s@BYC7~Kw_NxE013#TH3qAQLoz< z3P+rFdj#=YrnH|V<|qDkmAFN)INXsa8hoF_?PXV0uTnW#bXp=2S&rD9o?yTm2?t#s z<-1AZYnDJX81jU}0gulWaeC#DMr()0!#+704#ROJDadHMDS6k3t1WIk4MiM5dnk;n zL(u6^YOfW0S=>I@F9g*`eMr&~ukzn(#7EnCak;R|?f}m0kbME=iEG6N#yOA<;bbm* z#1)qCc*Ol%y)SxXhvW!BwLXY1`PfSl9-Jg^*yk&iG_$$fK3R4<-FAo9>GOCcr(|c= z$x~KL5qoEDU7Xw-@o?pqJg|b~le|8c9XZ9r11(cek~JW?p^KxRSpvAext``IdwZ+D9Fl;sa+byT)oC*~sc z`9dM&H@LG)f^Ag8Du<_vozLPHsA~joe6X|^hIczrkdYWQrDkgNOPkEn0*Bby-9Q`} zg@}ZsPUIM;6FE962jReIsiQJ#0Ln?krMsA9cX=d-%g34u2Xf6N@G<9EoXN!-e_^UqRy}frNHNL+wD<24ILA`?a=^voG1rqM-Utm0@@Z7S9C@#aXXzT5CNYQ z!JAVV!LyXtqdYiL%vau;F8Y-nA+eXzJ1ADSb30rvdjKyj_6Uk&Sa~rZmi5P@E&39V z9S#nI*n>O|wJ09j(c(qR;tt?0=BjcTJ3nlZ#@FyeCu zkdA|_MH!%2!eYo03Wq!)ZxHt}*&Rd{WT`k`85|L(TUf}UHF8JYA=w!Xc~Yy|xjZNU zb~K7%R6ZoG0yIJzKRj2XJ~`!J0DHOZfwVNCY5tbUTXdKGowqP&QQFQB-?O+~KG-dUOodJ% zB1cq9TU;(!A`rpbdcf=Qp)*7o&Q~tGQS3D|W0Xi|@Nwn&8^yW_K`;7nc0wK36D0v(nw+G)% zaJe$FImy5Lj!>~h#*m18Yc%;yZb0H*vX0k{FQY^u6DSRx+HYR-cSG?1HK)@pfayg9IhB|7IT$bCW~?`;zjg@ zsR*&a&fG1!7cXL~5-=w~>T!-DVX5R}fK%NOwZ*j14AhWY5J(Fe*wI7%ew zb>q%~GJ`9L^7Z-R*hGA`=n@8Jj0T>YPK^fT@Eox>`piG$W!WMshuy+syk2Fl2RNBZwMnAGIB|2A>|RllENGiP~1 zy%M!>LiHK39eRAc2A~p0ymG`7P;3>V4>dg;MF$>qIiyI$i&V%O5erI(&mNB09jK^I zkCTrEa9@l%oI$sQwlnArX|z#%x$6ny4vzZ^ZjCN&G{Q2C6n3JBj&BFC z)a!#@Vb766iUAM)b2>w;*#iiV+;ig4jKMjVs@U(}VE*5Rkj}{)VlBP{@g(!d^&p?E zJH$@^81?`52l*_lfdqHP7qQctL&;f(XObsk;xlJ)W!95+3m3(+Of>u`Ep=C-dQY^o zpDz?CKg7k$GQW)I-TNPZ7&%kNs1@3bxifWrK3(q2c#~;5N3)BJS$&L91}_l3{bebN z?hTDG?ti#}+Rt<+zEa5QtZZB$+S-Mq_?-p&?Niv{c1mI8zyk5I{!Yo^#vND=dK_UF zp8C$js=7uT(f{{9KsnQbcNU7%^P8PQdr?7ehHqE)tru;|j4E+N%;62;8wj^IiZ^a_ zta=ljQB!BQ@@XEJk%MaSPOQN{RZO+>u(&0B@8iJ(W)RQDZo5})5n>_s1qEvb(Uv%( zF8vuR<9>SdwzS__1`P|l&ZjBx%H7Y4-4eGf79&E;jh{#0t<=Rj90&UNCPSUhF*Ex1 znc4!F)D@_xm=$tFZ<^zd&bmdJuvDzc9JG3G`^SUUafYZ>EIqS2CidJfjuXx@e)SyR zQcgNc1L?P*<}708^hB%IyXHL3iG|#hpH+j8`6DmIa?@krsZOKV9uzw(@nxbrvz6ul zznS%?h88p;cvL$pbsvd?l)3kbjmq#(@jZj(NprTc`y(+&c|U4yryQ)t#I!5L){6H* z@v;7He0LjSU!g_A9^4uoX9y4F6 z>cyA6nhnpA!N3+c@N>7oLAlv0c2B(Xka)pz(P7u54hj- APyhe` delta 29914 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 A@Bjb+ diff --git a/artifacts/program_methods/token.bin b/artifacts/program_methods/token.bin index 75a31726951d5793eb8cc7be3ef3ad707379e566..b4a20327cf7f5ffbe50b8b4c62f38d151b924710 100644 GIT binary patch delta 21469 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 PDmd, Vec) = match instruction - { + let (post_states, chained_calls) = match instruction { Instruction::NewDefinition { token_a_amount, token_b_amount, @@ -49,8 +47,8 @@ fn main() { user_holding_a, user_holding_b, user_holding_lp, - token_a_amount, - token_b_amount, + NonZero::new(token_a_amount).expect("Token A should have a nonzero amount"), + NonZero::new(token_b_amount).expect("Token B should have a nonzero amount"), amm_program_id, ) } @@ -78,7 +76,8 @@ fn main() { user_holding_a, user_holding_b, user_holding_lp, - min_amount_liquidity, + NonZero::new(min_amount_liquidity) + .expect("Min amount of liquidity should be nonzero"), max_amount_to_add_token_a, max_amount_to_add_token_b, ) @@ -107,7 +106,8 @@ fn main() { user_holding_a, user_holding_b, user_holding_lp, - remove_liquidity_amount, + NonZero::new(remove_liquidity_amount) + .expect("Remove liquidity amount must be nonzero"), min_amount_to_remove_token_a, min_amount_to_remove_token_b, ) diff --git a/programs/amm/core/Cargo.toml b/programs/amm/core/Cargo.toml index 6b4987b2..076ee1f3 100644 --- a/programs/amm/core/Cargo.toml +++ b/programs/amm/core/Cargo.toml @@ -6,4 +6,5 @@ edition = "2024" [dependencies] nssa_core.workspace = true serde.workspace = true -risc0-zkvm.workspace = true \ No newline at end of file +risc0-zkvm.workspace = true +borsh.workspace = true \ No newline at end of file diff --git a/programs/amm/core/src/lib.rs b/programs/amm/core/src/lib.rs index af4c4ee7..f9d20dd3 100644 --- a/programs/amm/core/src/lib.rs +++ b/programs/amm/core/src/lib.rs @@ -1,5 +1,6 @@ //! This crate contains core data structures and utilities for the AMM Program. +use borsh::{BorshDeserialize, BorshSerialize}; use nssa_core::{ account::{AccountId, Data}, program::{PdaSeed, ProgramId}, @@ -74,9 +75,7 @@ pub enum Instruction { }, } -const POOL_DEFINITION_DATA_SIZE: usize = 225; - -#[derive(Clone, Default)] +#[derive(Clone, Default, Serialize, Deserialize, BorshSerialize, BorshDeserialize)] pub struct PoolDefinition { pub definition_token_a_id: AccountId, pub definition_token_b_id: AccountId, @@ -94,73 +93,23 @@ pub struct PoolDefinition { pub active: bool, } -impl PoolDefinition { - pub fn into_data(self) -> Data { - let mut bytes = [0; POOL_DEFINITION_DATA_SIZE]; - bytes[0..32].copy_from_slice(&self.definition_token_a_id.to_bytes()); - bytes[32..64].copy_from_slice(&self.definition_token_b_id.to_bytes()); - bytes[64..96].copy_from_slice(&self.vault_a_id.to_bytes()); - bytes[96..128].copy_from_slice(&self.vault_b_id.to_bytes()); - bytes[128..160].copy_from_slice(&self.liquidity_pool_id.to_bytes()); - bytes[160..176].copy_from_slice(&self.liquidity_pool_supply.to_le_bytes()); - bytes[176..192].copy_from_slice(&self.reserve_a.to_le_bytes()); - bytes[192..208].copy_from_slice(&self.reserve_b.to_le_bytes()); - bytes[208..224].copy_from_slice(&self.fees.to_le_bytes()); - bytes[224] = self.active as u8; +impl TryFrom<&Data> for PoolDefinition { + type Error = std::io::Error; - bytes - .to_vec() - .try_into() - .expect("225 bytes should fit into Data") + fn try_from(data: &Data) -> Result { + PoolDefinition::try_from_slice(data.as_ref()) } +} - pub fn parse(data: &[u8]) -> Option { - if data.len() != POOL_DEFINITION_DATA_SIZE { - None - } else { - let definition_token_a_id = AccountId::new(data[0..32].try_into().expect("Parse data: The AMM program must be provided a valid AccountId for Token A definition")); - let definition_token_b_id = AccountId::new(data[32..64].try_into().expect("Parse data: The AMM program must be provided a valid AccountId for Vault B definition")); - let vault_a_id = AccountId::new(data[64..96].try_into().expect( - "Parse data: The AMM program must be provided a valid AccountId for Vault A", - )); - let vault_b_id = AccountId::new(data[96..128].try_into().expect( - "Parse data: The AMM program must be provided a valid AccountId for Vault B", - )); - let liquidity_pool_id = AccountId::new(data[128..160].try_into().expect("Parse data: The AMM program must be provided a valid AccountId for Token liquidity pool definition")); - let liquidity_pool_supply = u128::from_le_bytes(data[160..176].try_into().expect( - "Parse data: The AMM program must be provided a valid u128 for liquidity cap", - )); - let reserve_a = u128::from_le_bytes(data[176..192].try_into().expect( - "Parse data: The AMM program must be provided a valid u128 for reserve A balance", - )); - let reserve_b = u128::from_le_bytes(data[192..208].try_into().expect( - "Parse data: The AMM program must be provided a valid u128 for reserve B balance", - )); - let fees = u128::from_le_bytes( - data[208..224] - .try_into() - .expect("Parse data: The AMM program must be provided a valid u128 for fees"), - ); +impl From<&PoolDefinition> for Data { + fn from(definition: &PoolDefinition) -> Self { + // Using size_of_val as size hint for Vec allocation + let mut data = Vec::with_capacity(std::mem::size_of_val(definition)); - let active = match data[224] { - 0 => false, - 1 => true, - _ => panic!("Parse data: The AMM program must be provided a valid bool for active"), - }; + BorshSerialize::serialize(definition, &mut data) + .expect("Serialization to Vec should not fail"); - Some(Self { - definition_token_a_id, - definition_token_b_id, - vault_a_id, - vault_b_id, - liquidity_pool_id, - liquidity_pool_supply, - reserve_a, - reserve_b, - fees, - active, - }) - } + Data::try_from(data).expect("Token definition encoded data should fit into Data") } } diff --git a/programs/amm/src/add.rs b/programs/amm/src/add.rs index cf3395cf..cbecaa34 100644 --- a/programs/amm/src/add.rs +++ b/programs/amm/src/add.rs @@ -1,6 +1,8 @@ +use std::num::NonZeroU128; + use amm_core::{PoolDefinition, compute_liquidity_token_pda_seed}; use nssa_core::{ - account::AccountWithMetadata, + account::{AccountWithMetadata, Data}, program::{AccountPostState, ChainedCall}, }; @@ -13,32 +15,33 @@ pub fn add_liquidity( user_holding_a: AccountWithMetadata, user_holding_b: AccountWithMetadata, user_holding_lp: AccountWithMetadata, - min_amount_liquidity: u128, + min_amount_liquidity: NonZeroU128, max_amount_to_add_token_a: u128, max_amount_to_add_token_b: u128, ) -> (Vec, Vec) { // 1. Fetch Pool state - let pool_def_data = PoolDefinition::parse(&pool.account.data) + let pool_def_data = PoolDefinition::try_from(&pool.account.data) .expect("Add liquidity: AMM Program expects valid Pool Definition Account"); - if vault_a.account_id != pool_def_data.vault_a_id { - panic!("Vault A was not provided"); - } - if pool_def_data.liquidity_pool_id != pool_definition_lp.account_id { - panic!("LP definition mismatch"); - } + assert_eq!( + vault_a.account_id, pool_def_data.vault_a_id, + "Vault A was not provided" + ); - if vault_b.account_id != pool_def_data.vault_b_id { - panic!("Vault B was not provided"); - } + assert_eq!( + pool_def_data.liquidity_pool_id, pool_definition_lp.account_id, + "LP definition mismatch" + ); - if max_amount_to_add_token_a == 0 || max_amount_to_add_token_b == 0 { - panic!("Both max-balances must be nonzero"); - } + assert_eq!( + vault_b.account_id, pool_def_data.vault_b_id, + "Vault B was not provided" + ); - if min_amount_liquidity == 0 { - panic!("Min-lp must be nonzero"); - } + assert!( + max_amount_to_add_token_a != 0 && max_amount_to_add_token_b != 0, + "Both max-balances must be nonzero" + ); // 2. Determine deposit amount let vault_b_token_holding = token_core::TokenHolding::try_from(&vault_b.account.data) @@ -65,13 +68,16 @@ pub fn add_liquidity( ); }; - if pool_def_data.reserve_a == 0 || pool_def_data.reserve_b == 0 { - panic!("Reserves must be nonzero"); - } - - if vault_a_balance < pool_def_data.reserve_a || vault_b_balance < pool_def_data.reserve_b { - panic!("Vaults' balances must be at least the reserve amounts"); - } + assert!(pool_def_data.reserve_a != 0, "Reserves must be nonzero"); + assert!(pool_def_data.reserve_b != 0, "Reserves must be nonzero"); + assert!( + vault_a_balance >= pool_def_data.reserve_a, + "Vaults' balances must be at least the reserve amounts" + ); + assert!( + vault_b_balance >= pool_def_data.reserve_b, + "Vaults' balances must be at least the reserve amounts" + ); // Calculate actual_amounts let ideal_a: u128 = @@ -91,13 +97,17 @@ pub fn add_liquidity( }; // 3. Validate amounts - if max_amount_to_add_token_a < actual_amount_a || max_amount_to_add_token_b < actual_amount_b { - panic!("Actual trade amounts cannot exceed max_amounts"); - } + assert!( + max_amount_to_add_token_a >= actual_amount_a, + "Actual trade amounts cannot exceed max_amounts" + ); + assert!( + max_amount_to_add_token_b >= actual_amount_b, + "Actual trade amounts cannot exceed max_amounts" + ); - if actual_amount_a == 0 || actual_amount_b == 0 { - panic!("A trade amount is 0"); - } + assert!(actual_amount_a != 0, "A trade amount is 0"); + assert!(actual_amount_b != 0, "A trade amount is 0"); // 4. Calculate LP to mint let delta_lp = std::cmp::min( @@ -105,13 +115,12 @@ pub fn add_liquidity( pool_def_data.liquidity_pool_supply * actual_amount_b / pool_def_data.reserve_b, ); - if delta_lp == 0 { - panic!("Payable LP must be nonzero"); - } + assert!(delta_lp != 0, "Payable LP must be nonzero"); - if delta_lp < min_amount_liquidity { - panic!("Payable LP is less than provided minimum LP amount"); - } + assert!( + delta_lp >= min_amount_liquidity.into(), + "Payable LP is less than provided minimum LP amount" + ); // 5. Update pool account let mut pool_post = pool.account.clone(); @@ -122,7 +131,7 @@ pub fn add_liquidity( ..pool_def_data }; - pool_post.data = pool_post_definition.into_data(); + pool_post.data = Data::from(&pool_post_definition); let token_program_id = user_holding_a.account.program_owner; // Chain call for Token A (UserHoldingA -> Vault_A) diff --git a/programs/amm/src/lib.rs b/programs/amm/src/lib.rs index 154ad9ec..e50c738e 100644 --- a/programs/amm/src/lib.rs +++ b/programs/amm/src/lib.rs @@ -1,6 +1,6 @@ //! The AMM Program implementation. -pub use token_core as core; +pub use amm_core as core; pub mod add; pub mod new_definition; diff --git a/programs/amm/src/new_definition.rs b/programs/amm/src/new_definition.rs index ec9efc94..ab0b241a 100644 --- a/programs/amm/src/new_definition.rs +++ b/programs/amm/src/new_definition.rs @@ -1,9 +1,11 @@ +use std::num::NonZeroU128; + use amm_core::{ PoolDefinition, compute_liquidity_token_pda, compute_liquidity_token_pda_seed, compute_pool_pda, compute_vault_pda, }; use nssa_core::{ - account::{Account, AccountWithMetadata}, + account::{Account, AccountWithMetadata, Data}, program::{AccountPostState, ChainedCall, ProgramId}, }; @@ -20,11 +22,6 @@ pub fn new_definition( token_b_amount: NonZeroU128, amm_program_id: ProgramId, ) -> (Vec, Vec) { - // Prevents pool constant coefficient (k) from being 0. - if token_a_amount == 0 || token_b_amount == 0 { - panic!("Balances must be nonzero") - } - // Verify token_a and token_b are different let definition_token_a_id = token_core::TokenHolding::try_from(&user_holding_a.account.data) .expect("New definition: AMM Program expects valid Token Holding account for Token A") @@ -36,43 +33,48 @@ pub fn new_definition( // both instances of the same token program let token_program = user_holding_a.account.program_owner; - if user_holding_b.account.program_owner != token_program { - panic!("User Token holdings must use the same Token Program"); - } - - if definition_token_a_id == definition_token_b_id { - panic!("Cannot set up a swap for a token with itself") - } - - if pool.account_id - != compute_pool_pda(amm_program_id, definition_token_a_id, definition_token_b_id) - { - panic!("Pool Definition Account ID does not match PDA"); - } - - if vault_a.account_id - != compute_vault_pda(amm_program_id, pool.account_id, definition_token_a_id) - || vault_b.account_id - != compute_vault_pda(amm_program_id, pool.account_id, definition_token_b_id) - { - panic!("Vault ID does not match PDA"); - } - - if pool_definition_lp.account_id != compute_liquidity_token_pda(amm_program_id, pool.account_id) - { - panic!("Liquidity pool Token Definition Account ID does not match PDA"); - } + assert_eq!( + user_holding_b.account.program_owner, token_program, + "User Token holdings must use the same Token Program" + ); + assert!( + definition_token_a_id != definition_token_b_id, + "Cannot set up a swap for a token with itself" + ); + assert_eq!( + pool.account_id, + compute_pool_pda(amm_program_id, definition_token_a_id, definition_token_b_id), + "Pool Definition Account ID does not match PDA" + ); + assert_eq!( + vault_a.account_id, + compute_vault_pda(amm_program_id, pool.account_id, definition_token_a_id), + "Vault ID does not match PDA" + ); + assert_eq!( + vault_b.account_id, + compute_vault_pda(amm_program_id, pool.account_id, definition_token_b_id), + "Vault ID does not match PDA" + ); + assert_eq!( + pool_definition_lp.account_id, + compute_liquidity_token_pda(amm_program_id, pool.account_id), + "Liquidity pool Token Definition Account ID does not match PDA" + ); + // TODO: return here // Verify that Pool Account is not active let pool_account_data = if pool.account == Account::default() { PoolDefinition::default() } else { - PoolDefinition::parse(&pool.account.data).expect("AMM program expects a valid Pool account") + PoolDefinition::try_from(&pool.account.data) + .expect("AMM program expects a valid Pool account") }; - if pool_account_data.active { - panic!("Cannot initialize an active Pool Definition") - } + assert!( + !pool_account_data.active, + "Cannot initialize an active Pool Definition" + ); // LP Token minting calculation // We assume LP is based on the initial deposit amount for Token_A. @@ -85,14 +87,14 @@ pub fn new_definition( vault_a_id: vault_a.account_id, vault_b_id: vault_b.account_id, liquidity_pool_id: pool_definition_lp.account_id, - liquidity_pool_supply: token_a_amount, - reserve_a: token_a_amount, - reserve_b: token_b_amount, + liquidity_pool_supply: token_a_amount.into(), + reserve_a: token_a_amount.into(), + reserve_b: token_b_amount.into(), fees: 0u128, // TODO: we assume all fees are 0 for now. active: true, }; - pool_post.data = pool_post_definition.into_data(); + pool_post.data = Data::from(&pool_post_definition); let pool_post: AccountPostState = if pool.account == Account::default() { AccountPostState::new_claimed(pool_post.clone()) } else { @@ -106,7 +108,7 @@ pub fn new_definition( token_program_id, vec![user_holding_a.clone(), vault_a.clone()], &token_core::Instruction::Transfer { - amount_to_transfer: token_a_amount, + amount_to_transfer: token_a_amount.into(), }, ); // Chain call for Token B (user_holding_b -> Vault_B) @@ -114,7 +116,7 @@ pub fn new_definition( token_program_id, vec![user_holding_b.clone(), vault_b.clone()], &token_core::Instruction::Transfer { - amount_to_transfer: token_b_amount, + amount_to_transfer: token_b_amount.into(), }, ); @@ -122,11 +124,11 @@ pub fn new_definition( let instruction = if pool.account == Account::default() { token_core::Instruction::NewFungibleDefinition { name: String::from("LP Token"), - total_supply: token_a_amount, + total_supply: token_a_amount.into(), } } else { token_core::Instruction::Mint { - amount_to_mint: token_a_amount, + amount_to_mint: token_a_amount.into(), } }; diff --git a/programs/amm/src/remove.rs b/programs/amm/src/remove.rs index 9d4606ae..370b3609 100644 --- a/programs/amm/src/remove.rs +++ b/programs/amm/src/remove.rs @@ -1,6 +1,8 @@ +use std::num::NonZeroU128; + use amm_core::{PoolDefinition, compute_liquidity_token_pda_seed, compute_vault_pda_seed}; use nssa_core::{ - account::AccountWithMetadata, + account::{AccountWithMetadata, Data}, program::{AccountPostState, ChainedCall}, }; @@ -13,29 +15,29 @@ pub fn remove_liquidity( user_holding_a: AccountWithMetadata, user_holding_b: AccountWithMetadata, user_holding_lp: AccountWithMetadata, - remove_liquidity_amount: u128, + remove_liquidity_amount: NonZeroU128, min_amount_to_remove_token_a: u128, min_amount_to_remove_token_b: u128, ) -> (Vec, Vec) { + let remove_liquidity_amount: u128 = remove_liquidity_amount.into(); + // 1. Fetch Pool state - let pool_def_data = PoolDefinition::parse(&pool.account.data) + let pool_def_data = PoolDefinition::try_from(&pool.account.data) .expect("Remove liquidity: AMM Program expects a valid Pool Definition Account"); - if !pool_def_data.active { - panic!("Pool is inactive"); - } - - if pool_def_data.liquidity_pool_id != pool_definition_lp.account_id { - panic!("LP definition mismatch"); - } - - if vault_a.account_id != pool_def_data.vault_a_id { - panic!("Vault A was not provided"); - } - - if vault_b.account_id != pool_def_data.vault_b_id { - panic!("Vault B was not provided"); - } + assert!(pool_def_data.active, "Pool is inactive"); + assert_eq!( + pool_def_data.liquidity_pool_id, pool_definition_lp.account_id, + "LP definition mismatch" + ); + assert_eq!( + vault_a.account_id, pool_def_data.vault_a_id, + "Vault A was not provided" + ); + assert_eq!( + vault_b.account_id, pool_def_data.vault_b_id, + "Vault B was not provided" + ); // Vault addresses do not need to be checked with PDA // calculation for setting authorization since stored @@ -45,13 +47,14 @@ pub fn remove_liquidity( running_vault_a.is_authorized = true; running_vault_b.is_authorized = true; - if min_amount_to_remove_token_a == 0 || min_amount_to_remove_token_b == 0 { - panic!("Minimum withdraw amount must be nonzero"); - } - - if remove_liquidity_amount == 0 { - panic!("Liquidity amount must be nonzero"); - } + assert!( + min_amount_to_remove_token_a != 0, + "Minimum withdraw amount must be nonzero" + ); + assert!( + min_amount_to_remove_token_b != 0, + "Minimum withdraw amount must be nonzero" + ); // 2. Compute withdrawal amounts let user_holding_lp_data = token_core::TokenHolding::try_from(&user_holding_lp.account.data) @@ -66,11 +69,15 @@ pub fn remove_liquidity( ); }; - if user_lp_balance > pool_def_data.liquidity_pool_supply - || user_holding_lp_data.definition_id() != pool_def_data.liquidity_pool_id - { - panic!("Invalid liquidity account provided"); - } + assert!( + user_lp_balance <= pool_def_data.liquidity_pool_supply, + "Invalid liquidity account provided" + ); + assert_eq!( + user_holding_lp_data.definition_id(), + pool_def_data.liquidity_pool_id, + "Invalid liquidity account provided" + ); let withdraw_amount_a = (pool_def_data.reserve_a * remove_liquidity_amount) / pool_def_data.liquidity_pool_supply; @@ -78,12 +85,14 @@ pub fn remove_liquidity( (pool_def_data.reserve_b * remove_liquidity_amount) / pool_def_data.liquidity_pool_supply; // 3. Validate and slippage check - if withdraw_amount_a < min_amount_to_remove_token_a { - panic!("Insufficient minimal withdraw amount (Token A) provided for liquidity amount"); - } - if withdraw_amount_b < min_amount_to_remove_token_b { - panic!("Insufficient minimal withdraw amount (Token B) provided for liquidity amount"); - } + assert!( + withdraw_amount_a >= min_amount_to_remove_token_a, + "Insufficient minimal withdraw amount (Token A) provided for liquidity amount" + ); + assert!( + withdraw_amount_b >= min_amount_to_remove_token_b, + "Insufficient minimal withdraw amount (Token B) provided for liquidity amount" + ); // 4. Calculate LP to reduce cap by let delta_lp: u128 = (pool_def_data.liquidity_pool_supply * remove_liquidity_amount) @@ -101,7 +110,7 @@ pub fn remove_liquidity( ..pool_def_data.clone() }; - pool_post.data = pool_post_definition.into_data(); + pool_post.data = Data::from(&pool_post_definition); let token_program_id = user_holding_a.account.program_owner; diff --git a/programs/amm/src/swap.rs b/programs/amm/src/swap.rs index 524897c4..aa02ac24 100644 --- a/programs/amm/src/swap.rs +++ b/programs/amm/src/swap.rs @@ -1,6 +1,6 @@ pub use amm_core::{PoolDefinition, compute_liquidity_token_pda_seed, compute_vault_pda_seed}; use nssa_core::{ - account::{AccountId, AccountWithMetadata}, + account::{AccountId, AccountWithMetadata, Data}, program::{AccountPostState, ChainedCall}, }; @@ -16,20 +16,18 @@ pub fn swap( token_in_id: AccountId, ) -> (Vec, Vec) { // Verify vaults are in fact vaults - let pool_def_data = PoolDefinition::parse(&pool.account.data) + let pool_def_data = PoolDefinition::try_from(&pool.account.data) .expect("Swap: AMM Program expects a valid Pool Definition Account"); - if !pool_def_data.active { - panic!("Pool is inactive"); - } - - if vault_a.account_id != pool_def_data.vault_a_id { - panic!("Vault A was not provided"); - } - - if vault_b.account_id != pool_def_data.vault_b_id { - panic!("Vault B was not provided"); - } + assert!(pool_def_data.active, "Pool is inactive"); + assert_eq!( + vault_a.account_id, pool_def_data.vault_a_id, + "Vault A was not provided" + ); + assert_eq!( + vault_b.account_id, pool_def_data.vault_b_id, + "Vault B was not provided" + ); // fetch pool reserves // validates reserves is at least the vaults' balances @@ -42,9 +40,11 @@ pub fn swap( else { panic!("Swap: AMM Program expects a valid Fungible Token Holding Account for Vault A"); }; - if vault_a_balance < pool_def_data.reserve_a { - panic!("Reserve for Token A exceeds vault balance"); - } + + assert!( + vault_a_balance >= pool_def_data.reserve_a, + "Reserve for Token A exceeds vault balance" + ); let vault_b_token_holding = token_core::TokenHolding::try_from(&vault_b.account.data) .expect("Swap: AMM Program expects a valid Token Holding Account for Vault B"); @@ -56,9 +56,10 @@ pub fn swap( panic!("Swap: AMM Program expects a valid Fungible Token Holding Account for Vault B"); }; - if vault_b_balance < pool_def_data.reserve_b { - panic!("Reserve for Token B exceeds vault balance"); - } + assert!( + vault_b_balance >= pool_def_data.reserve_b, + "Reserve for Token B exceeds vault balance" + ); let (chained_calls, [deposit_a, withdraw_a], [deposit_b, withdraw_b]) = if token_in_id == pool_def_data.definition_token_a_id { @@ -69,7 +70,8 @@ pub fn swap( user_holding_b.clone(), swap_amount_in, min_amount_out, - &[pool_def_data.reserve_a, pool_def_data.reserve_b], + pool_def_data.reserve_a, + pool_def_data.reserve_b, pool.account_id, ); @@ -82,7 +84,8 @@ pub fn swap( user_holding_a.clone(), swap_amount_in, min_amount_out, - &[pool_def_data.reserve_b, pool_def_data.reserve_a], + pool_def_data.reserve_b, + pool_def_data.reserve_a, pool.account_id, ); @@ -99,7 +102,7 @@ pub fn swap( ..pool_def_data }; - pool_post.data = pool_post_definition.into_data(); + pool_post.data = Data::from(&pool_post_definition); let post_states = vec![ AccountPostState::new(pool_post.clone()), @@ -120,12 +123,10 @@ fn swap_logic( user_withdraw: AccountWithMetadata, swap_amount_in: u128, min_amount_out: u128, - reserve_amounts: &[u128], + reserve_deposit_vault_amount: u128, + reserve_withdraw_vault_amount: u128, pool_id: AccountId, ) -> (Vec, u128, u128) { - let reserve_deposit_vault_amount = reserve_amounts[0]; - let reserve_withdraw_vault_amount = reserve_amounts[1]; - // Compute withdraw amount // Maintains pool constant product // k = pool_def_data.reserve_a * pool_def_data.reserve_b; @@ -133,13 +134,11 @@ fn swap_logic( / (reserve_deposit_vault_amount + swap_amount_in); // Slippage check - if min_amount_out > withdraw_amount { - panic!("Withdraw amount is less than minimal amount out"); - } - - if withdraw_amount == 0 { - panic!("Withdraw amount should be nonzero"); - } + assert!( + min_amount_out <= withdraw_amount, + "Withdraw amount is less than minimal amount out" + ); + assert!(withdraw_amount != 0, "Withdraw amount should be nonzero"); let token_program_id = user_deposit.account.program_owner; diff --git a/programs/amm/src/tests.rs b/programs/amm/src/tests.rs index f3e4e01c..021e32b2 100644 --- a/programs/amm/src/tests.rs +++ b/programs/amm/src/tests.rs @@ -1,5 +1,7 @@ #![cfg(test)] +use std::num::NonZero; + use amm_core::{ PoolDefinition, compute_liquidity_token_pda, compute_liquidity_token_pda_seed, compute_pool_pda, compute_vault_pda, compute_vault_pda_seed, @@ -630,7 +632,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -654,7 +656,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -678,7 +680,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -702,7 +704,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -726,7 +728,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -750,7 +752,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -774,7 +776,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -798,7 +800,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -822,7 +824,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -846,7 +848,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -870,7 +872,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -894,7 +896,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -950,7 +952,7 @@ impl AccountForTests { account: Account { program_owner: ProgramId::default(), balance: 0u128, - data: PoolDefinition::into_data(PoolDefinition { + data: Data::from(&PoolDefinition { definition_token_a_id: IdForTests::token_a_definition_id(), definition_token_b_id: IdForTests::token_b_definition_id(), vault_a_id: IdForTests::vault_a_id(), @@ -996,7 +998,7 @@ fn test_call_add_liquidity_vault_a_omitted() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a(), BalanceForTests::add_max_amount_b(), ); @@ -1013,7 +1015,7 @@ fn test_call_add_liquidity_vault_b_omitted() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a(), BalanceForTests::add_max_amount_b(), ); @@ -1030,7 +1032,7 @@ fn test_call_add_liquidity_lp_definition_mismatch() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a(), BalanceForTests::add_max_amount_b(), ); @@ -1047,7 +1049,7 @@ fn test_call_add_liquidity_zero_balance_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), 0, BalanceForTests::add_max_amount_b(), ); @@ -1064,29 +1066,12 @@ fn test_call_add_liquidity_zero_balance_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), 0, BalanceForTests::add_max_amount_a(), ); } -#[should_panic(expected = "Min-lp must be nonzero")] -#[test] -fn test_call_add_liquidity_zero_min_lp() { - let _post_states = add_liquidity( - AccountForTests::pool_definition_init(), - AccountForTests::vault_a_init(), - AccountForTests::vault_b_init(), - AccountForTests::pool_lp_init(), - AccountForTests::user_holding_a(), - AccountForTests::user_holding_b(), - AccountForTests::user_holding_lp_init(), - 0, - BalanceForTests::add_max_amount_a(), - BalanceForTests::add_max_amount_b(), - ); -} - #[should_panic(expected = "Vaults' balances must be at least the reserve amounts")] #[test] fn test_call_add_liquidity_vault_insufficient_balance_1() { @@ -1098,7 +1083,7 @@ fn test_call_add_liquidity_vault_insufficient_balance_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_max_amount_a(), + NonZero::new(BalanceForTests::add_max_amount_a()).unwrap(), BalanceForTests::add_max_amount_b(), BalanceForTests::add_min_amount_lp(), ); @@ -1115,7 +1100,7 @@ fn test_call_add_liquidity_vault_insufficient_balance_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_max_amount_a(), + NonZero::new(BalanceForTests::add_max_amount_a()).unwrap(), BalanceForTests::add_max_amount_b(), BalanceForTests::add_min_amount_lp(), ); @@ -1132,7 +1117,7 @@ fn test_call_add_liquidity_actual_amount_zero_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a(), BalanceForTests::add_max_amount_b(), ); @@ -1149,7 +1134,7 @@ fn test_call_add_liquidity_actual_amount_zero_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a_low(), BalanceForTests::add_max_amount_b_low(), ); @@ -1166,7 +1151,7 @@ fn test_call_add_liquidity_reserves_zero_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a(), BalanceForTests::add_max_amount_b(), ); @@ -1183,7 +1168,7 @@ fn test_call_add_liquidity_reserves_zero_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a(), BalanceForTests::add_max_amount_b(), ); @@ -1200,7 +1185,7 @@ fn test_call_add_liquidity_payable_lp_zero() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a_low(), BalanceForTests::add_max_amount_b_low(), ); @@ -1216,7 +1201,7 @@ fn test_call_add_liquidity_chained_call_successsful() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::add_min_amount_lp(), + NonZero::new(BalanceForTests::add_min_amount_lp()).unwrap(), BalanceForTests::add_max_amount_a(), BalanceForTests::add_max_amount_b(), ); @@ -1245,7 +1230,7 @@ fn test_call_remove_liquidity_vault_a_omitted() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), BalanceForTests::remove_min_amount_a(), BalanceForTests::remove_min_amount_b(), ); @@ -1262,7 +1247,7 @@ fn test_call_remove_liquidity_vault_b_omitted() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), BalanceForTests::remove_min_amount_a(), BalanceForTests::remove_min_amount_b(), ); @@ -1279,7 +1264,7 @@ fn test_call_remove_liquidity_lp_def_mismatch() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), BalanceForTests::remove_min_amount_a(), BalanceForTests::remove_min_amount_b(), ); @@ -1297,7 +1282,7 @@ fn test_call_remove_liquidity_insufficient_liquidity_amount() { AccountForTests::user_holding_b(), AccountForTests::user_holding_a(), /* different token account than lp to create desired * error */ - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), BalanceForTests::remove_min_amount_a(), BalanceForTests::remove_min_amount_b(), ); @@ -1316,7 +1301,7 @@ fn test_call_remove_liquidity_insufficient_balance_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp_1(), + NonZero::new(BalanceForTests::remove_amount_lp_1()).unwrap(), BalanceForTests::remove_min_amount_a(), BalanceForTests::remove_min_amount_b(), ); @@ -1335,7 +1320,7 @@ fn test_call_remove_liquidity_insufficient_balance_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), BalanceForTests::remove_min_amount_a(), BalanceForTests::remove_min_amount_b(), ); @@ -1352,7 +1337,7 @@ fn test_call_remove_liquidity_min_bal_zero_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), 0, BalanceForTests::remove_min_amount_b(), ); @@ -1369,29 +1354,12 @@ fn test_call_remove_liquidity_min_bal_zero_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), BalanceForTests::remove_min_amount_a(), 0, ); } -#[should_panic(expected = "Liquidity amount must be nonzero")] -#[test] -fn test_call_remove_liquidity_lp_bal_zero() { - let _post_states = remove_liquidity( - AccountForTests::pool_definition_init(), - AccountForTests::vault_a_init(), - AccountForTests::vault_b_init(), - AccountForTests::pool_lp_init(), - AccountForTests::user_holding_a(), - AccountForTests::user_holding_b(), - AccountForTests::user_holding_lp_init(), - 0, - BalanceForTests::remove_min_amount_a(), - BalanceForTests::remove_min_amount_b(), - ); -} - #[test] fn test_call_remove_liquidity_chained_call_successful() { let (post_states, chained_calls) = remove_liquidity( @@ -1402,7 +1370,7 @@ fn test_call_remove_liquidity_chained_call_successful() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_init(), - BalanceForTests::remove_amount_lp(), + NonZero::new(BalanceForTests::remove_amount_lp()).unwrap(), BalanceForTests::remove_min_amount_a(), BalanceForTests::remove_min_amount_b_low(), ); @@ -1431,8 +1399,8 @@ fn test_call_new_definition_with_zero_balance_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - 0, - BalanceForTests::vault_b_reserve_init(), + NonZero::new(0).expect("Balances must be nonzero"), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, ); } @@ -1448,8 +1416,8 @@ fn test_call_new_definition_with_zero_balance_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - 0, + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(0).expect("Balances must be nonzero"), AMM_PROGRAM_ID, ); } @@ -1465,8 +1433,8 @@ fn test_call_new_definition_same_token_definition() { AccountForTests::user_holding_a(), AccountForTests::user_holding_a(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - BalanceForTests::vault_b_reserve_init(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, ); } @@ -1482,8 +1450,8 @@ fn test_call_new_definition_wrong_liquidity_id() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - BalanceForTests::vault_b_reserve_init(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, ); } @@ -1499,8 +1467,8 @@ fn test_call_new_definition_wrong_pool_id() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - BalanceForTests::vault_b_reserve_init(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, ); } @@ -1516,8 +1484,8 @@ fn test_call_new_definition_wrong_vault_id_1() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - BalanceForTests::vault_b_reserve_init(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, ); } @@ -1533,8 +1501,8 @@ fn test_call_new_definition_wrong_vault_id_2() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - BalanceForTests::vault_b_reserve_init(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, ); } @@ -1550,8 +1518,8 @@ fn test_call_new_definition_cannot_initialize_active_pool() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - BalanceForTests::vault_b_reserve_init(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, ); } @@ -1567,8 +1535,8 @@ fn test_call_new_definition_chained_call_successful() { AccountForTests::user_holding_a(), AccountForTests::user_holding_b(), AccountForTests::user_holding_lp_uninit(), - BalanceForTests::vault_a_reserve_init(), - BalanceForTests::vault_b_reserve_init(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), AMM_PROGRAM_ID, );