From d24713ee8addcded3f5fc956b422dfd16caad5ce Mon Sep 17 00:00:00 2001 From: nicoshark Date: Tue, 4 Mar 2025 16:56:59 -0700 Subject: [PATCH] Feat/test api (#223) --- sdk/tests/api-server/.env.sample | 2 + sdk/tests/api-server/.gitignore | 44 ++++++++++++++ sdk/tests/api-server/README.md | 15 +++++ sdk/tests/api-server/bun.lockb | Bin 0 -> 258250 bytes sdk/tests/api-server/package.json | 30 ++++++++++ sdk/tests/api-server/src/app.routes.ts | 8 +++ sdk/tests/api-server/src/app.ts | 31 ++++++++++ .../infrastructure/contracts.controller.ts | 54 ++++++++++++++++++ sdk/tests/api-server/tsconfig.json | 15 +++++ 9 files changed, 199 insertions(+) create mode 100644 sdk/tests/api-server/.env.sample create mode 100644 sdk/tests/api-server/.gitignore create mode 100644 sdk/tests/api-server/README.md create mode 100755 sdk/tests/api-server/bun.lockb create mode 100644 sdk/tests/api-server/package.json create mode 100644 sdk/tests/api-server/src/app.routes.ts create mode 100644 sdk/tests/api-server/src/app.ts create mode 100644 sdk/tests/api-server/src/contracts/infrastructure/contracts.controller.ts create mode 100644 sdk/tests/api-server/tsconfig.json diff --git a/sdk/tests/api-server/.env.sample b/sdk/tests/api-server/.env.sample new file mode 100644 index 000000000..d6a1d35a5 --- /dev/null +++ b/sdk/tests/api-server/.env.sample @@ -0,0 +1,2 @@ +RPC_URL=https://forno.celo.org +SCOPE=test-scope \ No newline at end of file diff --git a/sdk/tests/api-server/.gitignore b/sdk/tests/api-server/.gitignore new file mode 100644 index 000000000..fb94ae776 --- /dev/null +++ b/sdk/tests/api-server/.gitignore @@ -0,0 +1,44 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# vercel +.vercel + +**/*.trace +**/*.zip +**/*.tar.gz +**/*.tgz +**/*.log +package-lock.json +**/*.bun + +.env \ No newline at end of file diff --git a/sdk/tests/api-server/README.md b/sdk/tests/api-server/README.md new file mode 100644 index 000000000..688c87e69 --- /dev/null +++ b/sdk/tests/api-server/README.md @@ -0,0 +1,15 @@ +# Elysia with Bun runtime + +## Getting Started +To get started with this template, simply paste this command into your terminal: +```bash +bun create elysia ./elysia-example +``` + +## Development +To start the development server run: +```bash +bun run dev +``` + +Open http://localhost:3000/ with your browser to see the result. \ No newline at end of file diff --git a/sdk/tests/api-server/bun.lockb b/sdk/tests/api-server/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..dea8b1fcbd8c8aafbb57e4328bee1648e010a56f GIT binary patch literal 258250 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
6V-gSuM z(DA}T)Na(;oiKICL9<${T3^C9Tphg^qla{VjvKk)7#!i}jIwekEVBpfzdM9qMvKhR zTN*TnRCY1+la`%4kv|sroyXbV&(GC4gcmN-dtp+ea#v`y)wF43xwtxo(oju`9D_Y@#ZenJGQ-gPHebUpXXigZ=4%XT(9v5G zQqWv!C+hXgWs@v4@S56(-mjn@a=l7?$^vmKU;cUcW#}ydY6Z948=HRYo^p+EjbFwA z8fv-wV@}N6tMQWNUJW%vvi8ST;Ll>`QHFZ4N=e0=?3>-j(FoS$kE}no4}WC+u@(3p za6}Z*xsLNtYajD0d7yZy_XK`@(0|br8Lz+pu#CD^w>1+QOuW=SzM(!Lm_~VbzL?8= zFrK`DUsH?*%-4=V!LFe}K0#eiA8-0HH<_>D*XJp$QQXAC+!t0n{4tEL;rkZI%%k$* zac;gD?Z7ps z4P|K5fAAH_P3W{*|Ca}UY;DYN*kJ@YhPk3jlD+pm9-Ker7Ru1{kEuLTHQ3q1)z`5l zyP%?7bdON}c{FKWcJ>c)RmJ*qacg1!VNK;DpwYs70Bci3T4NoQuF%)yW&9-a08Ya> z8)(S4ucNP+2life85$-A^Pr))c|-`0K6&f0-7n2Q_Jj6x9{xCW_YZKvP~f$UwkST~ zk(x&5Y3;qYJMix;$F8w14V76uJPXYf>otrtdDcjIgLJ#it#R39~?^R6!wtY$D}&_|P? zArCgEmGlhsJt5B5zz6IV8EXLnUF2$vw1506!yUIjMu$I6Jshz`@xxWY=)_JdCOx_d zYZ!}ko}G+uDTA-LhDuwVXFT{z-}a)ZX&ya%u*16Bnr4ZNZm#E4g2tNGU23fgLhf6?QQqYTZ76E2LDGY>MK*;OZ8k$`e?L04iul*_`MuRr}JM-w@nJvd-YQZ3m?bEwu z;hKFfiW#pF(dp2@z1V#fw)-w6<}T%HFvsii?4hB(3-9Li3oYZHJYl>x{Hs>rjt+OM zxm%8Vrr_w;n8~?YyBPJM_PH|l^o`@IN0~D*K+AEgOz827U0Yku-u#i(D~q9HnCM{k z=U#tCp$zqqsLxHRXXj=n=0%d5Wy(^!pCLQbc zlqrMycm_KL1vy6Wy45T=UG8j1*Usb{*7|kKd1RBq6@J{k)_O01zb@>727j^TS=+3q zYp1sM9sat&wLj1!-+UbdaL0Pq@o_Ki*`Hv}gRuZjuxkkJ!8*J=y-c{K(=QDLjlAAk z;@-7Bzx_N$1Fyvx%@4cPGhdgPRsAZ%(Q-HsM-M^EnV}QVSg3Q%5g8ehRRL?XtIoOv3_9>jKa4L)iB5iBbGm^LsqE2izKt843N3yQcqgYtzX3^ZpvW ziu*jqnBZwf+8~tOZgB0amrPCJ8;3QVhoe3i3*6`7t`GN$&g}vBD)SQcLF2^+{n-Dt zvUcTQetop)N`kv5a$gnvaWD2)dnCjy1=Be7oq;k%8JShL-Z0}7(dmm#7456WUi@x2 zx->B1SFh58xEC~yv8B_MhkV(@X#VE@fIDs$I1kNYC3}`h-Vqu9;FkxE(9kM#Q}2zC zd8uscTEg$~VT|Tp+}ZAO*WWE*%Ah_Rdp>Bm=N;}9JrU=@6c^jYIHj&vlohRWn0aYd z&VYtyzIvCZuRbl0n!@*hf6c_PIva4#{@nWmoaX?}gYFY6*?vpyJgwfb{PXZVI0p@_ zOjR+`DM*z1ZKmHoFSn=<0Bo<;l$HLn7(U9J89;g@)qhyXlm| z8pon@&>(8G)^qpxmncJ5ZC$5aonaI-bOlpW%pu$>#s`$4xOHE0C9TMIZ`(c*(cxYj zxp$p^+`I5wVJGKRs92BIS!`T{$)A< z55YySs<&%I@Z`LC%kF#4D`H}RemxjvsHOuKnkl`1(_ezo1&wZcQcr<*kfK2Tk`%D?sl>1ud9LmrL7Lg7)v30Xq+bo8N-iC%^(AZht%cJb;RK7KSn{w?S z4gO;N;a;7&#}CKu7H!J0{=n;h@j8pYE^zg0Z65bEEys119{2q>Jua`&rvIYX{QVpE zjKozR9UjO19rSDN^@n?1;64v``*809xK|ktYls_%*O>YKUFZ4ZZUfJT{>lTct7_f9 zxXZ@9GI6x&-(1nTTbuhT^zXC}_mv*^eDHTX;O+<9HRawbbMG7q@DQEWl3ek7zTr#q z=zct1qoXHs_YiImxOc?d{eU~7+`C)ub?#qoQ>-%FvF0Az+^x;+HOHuj2OJu-0(W${ zW-;x*n6Ej`0}r^*!`<54S2^$S;v?)K8PXiId}4=L9hjX1<`8>mWT1H^;XE+tuETdmgNSm(02*%JIHH5y zEw|U)zWuvA;I0q1*W6>_k8=orAHq=|^eS!-I3kLD2>12EAMa?kUSmkN?qUDS-7k8j z!!mq3+-h5cd}yRFyYy16oAcdgI^HRXVKk-C(Dje% zvj;;84N7tEwoNl;aO=IA=_fs#J}Krp|I$o>hOSsfUUnXLfAN?*zch28=?0C>nU?Z_ z_nVV`Y5bs}ducBUe21_38oBtF<_t76CmM+6Bu-U6{^+04xD9FbO{%e%hq$ONp4Yc| zt*zL44cN5%d_UoMb;nYLH08h6m!G+&^> zDn*N zF2s9&G2C8v%zuiC6}w;Z=M?y&L>pcJe_MJMMhhp7r>c-oJ zp97r!ne%Xa&E2NlW&Tc0e}BIUH_7Qn7SGqy*A)rRZQ#V_|yDAyWDSAt?w+ai?rx_Sl46bmsSlN;7x#rRtzue2Nh0sLwfP8 z@$ZNHeszf2kkfcS(Ze;!GbC7QQ=NSGhqvANt<6{IsJHH~^OkKpG0uN^7ULU&U<^$c zoTs4dxznEDqsyQ{2@SRIKfmcmuR-z(0o7DpXkDs(spAL!I>*1Cco`b1>9qOEnYy zDwy9t@Yejbm&14GylkO2rZxF*JO0T7enrvWTHjdHNy;@jW#AL=%Qx2$M|bkNz`cia zsnAK>Q^k4sZ#({}_wrw%{ZsG7OM8Z};uhpeuaEM+osnL4(ZL^cFE+4rxs5V-bI?D6 zm*ltR`h|!mx)e8l*m(H&U_(NKU4tL@I`<*oTj*V@Z`4En5I25T#4iCkvpGh@^eVT-|q0Dp`q)!4lfn1P8I7+^C&q77hGLc-8_SWL%Obx zShmux9#4vyA@>&%{k>mPW8)OOX!I=VRr5!^bv@>oF~uAOU5_w+AaPtr73sQI*Ot z=g?d%bU|#UN?|qV+m$$yRfu9`U_cFgl)Sjk3bout^4CM9g zlY74IT9$@6#Gc%SrYkhGuexTZE&OErjc0rfzl-!?G?ptWbNbp&5`%{Ml|l|QG)m%s z9^3M*yDY|Bo3-C#4G-|XBYsPS8R@^yV$ks43OfmFG#~h%OU%vQ{OUZcQQ$CL{ytZs zAMm~Y{XF~;jPr~e-s+peeRX?9dxaP1JG!m2^1n2TG2Lo9tWgiyu3c%Kx$BEQGasNQ z+Cw7)P3Z`;5vftTra{BZAsikc*1ykuD1)A@!wWWQ_1bCH?nSxJR~yhc2kY}JmOj_u$D03+ri-UDy_C$;FpL}ZajlyVmBEX*ko+ENs!ljGzelvKk8(s5 zHT{?3#?1bYMz;31uvgcUlhz%=Gb1SY^A5Lf|M-3{YO2-x*0_6+V}OT`r_;JPePwrb zRq7!WH~99)_q+|LztxRu-HWAd*w_$MF55b?`15EBG}L>?#@xMNy|f^OA5s22$Y3A- z%l5qbj7~C2uB)yy8nj$!kSD$3%u|$zy)<`N!cu5x8-R&4Ak;6y8E@PxjdEI{-$lfZ z@eO6TJ@~_$*?5ncdi?Ku7kfQgPqqKBcR?rM??e9Z7Q9aDwkFus7jJXpifZDs84_y; zJ%Mlf(BS#c?|T=FV15JrzIWlr8WH_{@6tAl{l0fW8UCdBdut{)bz`eHWDfs|#<>kn7p5 zT02yW5^x?YfK*eC9T%P%{XSQ`UL{JN9bj$_(CgoarGBgVDP{_AG!7Mie2=oB-=VA0@PNK#@P} z0%Dlfc8b970&&EiE4mk^=0EpsUAGZ}KkS}jXk~)x_mvjb_&-t$a-6T~Z^R^K9a8s)UVtN!|zZ_Ymcel$?!cZK-68r{U6oZm;$MO+-+ z`LAy_Z9hKlT9l{*A3&>hrh~j)<@IVh1OgAN-Cp%^9OnB zGyGiuzwexfHEPq3%}q}%{6?5TL(4PH;~U@@LVI$JrL#i}kB#WS*YJNo_xrDJP=^2O zn;Wp!3D$x)pOu#myV}Hfjh&NoP((lotc^&kpHkL+mJZ(y5$* z15f|b9G={2Ev}{F-J?Y2Bp_5Z}{l%JeTCd7TjhPWTD)?m(ez`?E z;{T_)FOQR|xY{0Z32Iz0AaO@TW0W2kc8tqN5Cx43iYN%!)6+B4OmFrAGiXqWDDE2? z!Kg7t#9c&c?GF?2hR6XC19-x?7ibCLgnYJ!X2qCex1#bxPgg z2felZpC5)FNjM4_y%H(3P{#F}JUM?<6L$-cp8LgT1*8mCXD{zW z3hnD1S6(^ei>rp+DcIDhOr)^SW?N#mBBUv#(w zm@{K%>ke58;&C%rfRqiM&V3a^KgG7l*|kn-B_OE25%?V(>G1sos+ zysV78erNN(f61ix{mi6ni4cf$F>3cK+ev@yp>omK4xd;PF@d{b$MRzgw`& zS|tZ!byizKkSeLq$m0}u#94{Tb;SJ!l=w%buaHg zy+a)mMw_I}AE)|H$M2S>e|^*=bA$rv+c)Txl}C=cY3;>tL-RT9bDK^{zjV$)*Y2{K z(yMuWFH)#o_WtC}{}g+E%spmWb{<6v(&nE&Qic|#JK(IJ)1Z0 zjNM>hUPcOK=ZPKjFMo014$i0v9=xYhPU!aO2l4z-%K)Q!@EKCJ1mR0s zXbLtyUadS#f935S>wE5vxu!#P94X}J>|x&&mwa?DJem&7it$R`VqF$?emigca-9NR z2TGO9(Q%hSEMLgw9~v@cZI82B+2>$Zv3)Y}c6ixRh0DJyuNm~h+Ucg8#tDjV!^SLK zKj7*eI|N2%65;*yaKMmn%g4X;&Rd^eGS^@`0V&;(vellC?mzOM{gO!0qfAIS@RTgp z6!hDsYtwF*E?xr|NDj6CBRb`gv8l(peE%XPo~;cH`{YD5d;fCc$}xvMQtDwS$fsIh zcjGRU!~gx?`+oP!pJ*7g95i39X)2`nuM00e@WavX7??yVmddu|aBu6D-%kDLj;$p{ zbnmiBiaSU4`}?1ESo&CZ!6qCH)a0NJ=a2!@9Xz<``n$({_uGGr)8!17ecrK_biDQQ z*V`W4>V#EG1)J#6FD5IFHl5PvfW|Gi8745|gB&?UN&G)gxaEb>pI-<64u_I~sA0H{ ze;6>dHqP1fvb|URYSk)W)BWcOozk%Xyzjd_H@8mH2CAReDR<88bJ%gcZfTYjv>ocB zDR^l3qa)*|JhTr|beq176!y7IU;Cd!GIu?9mr3~uDYTxxOK)^nzW2!2Ov8=RP4&l*|2F@JmzU9wXDdKc{D2hN zA&ouWx@x~iyZ%uT!5XEsBB@A6>ucAKqN2 zEEKVx?nMf<^7vy`{ASXp&%A9Ycnm2V7oNHBw5@w~c?nt!gt0nxWo@mGJZJqAW6I-> z6&R6_rb0ZyDdm#xuWa_Tusi zAsKI`FSz$^zu#e(-eb=f7||iKu~I;)U+uAS)n-Glzf5QovM)voCFI((ANuve@3vlm z6m7%KM+$i`a+|wuDqZ-(c^U@ovrwm;w%Mes54eCUDNZlB4=LLM=80$5+&gp15vLfK zmSS>RGFvL%f61(#v)9jg6P7n61eR(xo(1>d1>5K4s}^lJ{$#*_W|G~M$~NQ5g5vLQ zx%%niw9mT=Hqn+tVRo~eGp4OwF@DUDZ_OP2BA8Vi7n(1)@A%Z~*U}Er{U=~vqHDT0 zbTuWu;fpnAj##kbR09(*W1+l(2NT*AN7rT^zxsstk9ig_#D+cS;p0z$kBdDEau6aR z5G$-Iii9lM>W%A;|L-@nAPIvps~y~lgc)UZacn-86~Vi!G_a~7=l|`e*Nwd z`M({v30KFoRF!h-wB)K^*3nqx?BT&#I8>%dFSc%*(fRu!S&#B=&rq-+UnpEb@qI??r4q(IwzPa}oAUcUR? zz4Nm--$P)eFRVZc>R{|q){V`IgLwX%Daq*Eq zTuKkE=I9}5r9zuW_Cpp3Ll zL02FT_S|~bnfq>h(6zc8V9OwdI&sy(JsR(takH|?g|>&0B0M;8X|a2HBDtd_1h*}P z)HFP$DP9!6<*GwUXH2?xSI)Cg3e{ME_gH(s0$PFffgKXirlbvg3+F-LynZl!-rM9= zE1bLLvP}IeNAhe17b(FVtU`(o+3d~w-M4yj{bNYceLG%)D*}ImemZ7)dRk((a7RXr ztAUNy(;H`AJ8<=oQ#me>YGAt)DO)1t_JzCd({J`&Z|M|J{UB1kMKohvj2FU@-E@rNg^Q*#XA=yf{fPfyQV zclcqq!goulB5gdWk%9ytbN}Y^cHZ;hEs(-;&=&&urt1^HH%;5CCDpT@YPxR8f*!{l z0c=_h!eun1KB(zCz{WoJ=Z#*vaocGTnI1Ej_B)n#Jo_p7++3aVME`Ft_{rOEaFnsi!8ID@vZEJ%cFTul!Vnucx&SHc zKbNn2_4?P>J-|7jUcS5sDU{K%JH4^^;N5PduSS>is7^U|&%3`p_v@S6O-cZ5#0IGf zZ_|*Pf} z@33#bn%JGTe>er&-U;s|;ZzTwp~|`bHxKT-Z~BbmjJ%CN3b}J{@zn8OY~1*JlM)~y znznG5fR-Z+_}1lAC5ex;Jh9nH_dm|w$i5986nJR_{`QZ3)~z(|h@Xk49%;C>F4X1= zx3~iI4&@pYgwqyoi`}iMzHRUm2R(MheLraK09ydBwWS(vC;k|#GsL=u^!}KdhENdM zJ{!bqE%7T(Q{%$fXZ`Evx95*N4SeGq19~T*71%zgPk1YYPz~7$x7Ne?7HIRyUbX;^ z(t3)t`F{CZ<#%aWRJ?xi7A+j>sgXe2|1H%ay%Bs1ujx|IM(gQ-&z3A&y6xaL(57`r zINw$PhGW)&_uuf^fFExCw@AFyCtMCfG;DC6)2;m$%HgP)osk~)*Y`G6d$PoaU56Cf z6r;adT>9kGAuovRh=c^RkCwL(?w}P$%v9L6zP0xq2mfJL`kttfz_)-N%r!8;gv)5S zz8-hFva8mNyQ4U(9V)p4;q}C!{{Y(I0~?WR8xW72v^OpF>Rx zXQ-0^(RJoA>6oI{4Syyv z|B*u{_F_45^=82CKu(!ZOu%iXdJACP&t|Fi8PPQPoEPtV7qr26rYk^(qgsai2r=J}xd9k+$kRjoM5M*xAD}_*cDtDuyyrimBF28C$c*_uT5uwaK4$ z$||#L}r!vTpSr zb9cCAz%u&ZI4?nArM5z@+}c(*PYenL*^9f_tY-NXRKlj9+7SAbh{f88w zoUe7tpN<-HOem!2MOA4&LKAN_yvfbk1-7wPq*I0a*@G0{s3u zB@P&B@_jG9y6*PgSAcJnQ4D7C3>)WwU(Y#jb}6;jM1w7S^(ACKEGU3aC>GBaQ=|U- z-CHyFKI}U}Z>S3!x427A^lQ;iKR7ha!m+QN6> z1!;1%5C1(-z@9aAV!sK0eQ}dMY88%@ho39>L{okI+v^A2KC1o- zN5gl^e%b)`G_}BqkH6$oJ%&!b{8o%vkR2I-W&nm9y?Ol2*Bx-wR`lv}6Cm33Y^2cI zDBpS5lY+tPLHWAV0YiNa8EuIdOY946n;g^i`CWeUr5+oB zZLTh7r&)J@y5@wZu&+itBe?gt*cKmH_x-^KKQ(300(#x)CkMzV2`i8NK$SBHw7mlu+I%aoe(tX`7c|0BB@ZYe;oR9!szF*^ z!^LV`Shwkz8|OdK2jc=tk#c^eQ(pOYt7j%`dCxM+o3a89K??QgH^ZOWbxP_c%8f>uu`+)NW zGy_|Wi*~Ps~;FHly?VFaG@G zVcQ}_k7jMT9Je^v{kzxbruo0V#qq;}qoqQpoNU;7pG)5Ebx*JJ4YsCqIoXsdG@m)` zxs}}?X}lgO*w4=P;b_LC+7njK+5PFKyNwnYvHe@GP}2L>mhZP8e`nXHnL^1P7_cju z@$7RSYM8D6om+kI$ZIiTkZ7iSjuhHe8=bc2Q0X-p6EFR47J#jt>3@-(8bM=c*ueDlEXE&VOPfH?*76ow9e-iU=`=Bw`yjnOa zyEF2wv3xFiWl>kNT4+yA5!1ti}P=~4dv**4GL1((y+SC4m~K-^8Cs0 zpzDrR2cuTTxyR?Mcz(j?FYKT>3fivGDWhN5dGnJ_T{#me1VYNKNFiDq!dOxdq!Px@~OfDscHD>wLJC(@XvXzW?R%p2EZUaio4`Q;wxXpA+I4< z1FPQd*p|Cmq&r@6t)gwWYr3o+wB0@LgEq(;7&JJM!@gT+`O9DY^S>I7UAL)FEgkiG zz>wE{x@~;#KJ&6%ch;lKEl42`wt4I7cN;D`S>|(W)M^UYKE0^1`zQaX?pgTB*zHFh z+b4}RO0iH-_oi}73zgLqqeot__l&wvzkKJwLSCS$+B)lBXT7C|yH{@-ijsK)z&YQK>E>|ud^BduTj50eRh1S!K zJ@)K&<{rmlte=e2#N4R*3#720&Ut9T@}E!tXJ03!f89`|u$O%O%?Ve}89xp-lJlBF z65Dt3rBvdxPkuKuzDc(;kun7Ch@sGLC7dZnFWGkD?(MUOPW(txaC_lkypw_o;cw0_ z7r!^Ip@^055x~C<@GHBjp>F$qZf*T^(YJ#EqxV-GgB)zrdE>`*d+WUUu*Hx9UEaTL zf=>Bx#%-lRPplguDYE}9ffUyC)HSDxYe^`g1wzR-WyQ-9f|YYs8{ASNGg&k^Pyzualn2Zzn4Z_v>P?J2P?Pr117 z{0sLzdo!farr>CX{FFD}%T1#FLtbtIOu5XnM7TM1{Sl*I*mKusNgE}uf87k6gJa5q zZw_2E`Q8bmn1Td|2lfdiSk@))zw+h|mpncf{fEyp0pY4}!~~V28t;euJXmgN5g9vvTET z`7Rsf5JNc&hj|%wA>YiKPN=C^`0--4fy|z|yib?oF1~plXrmeh58nE-qPpLV!;AH2 z&tHxdjxx}EYmq`8Ox(Wr>rc*E(O>E#V^)5e8iW6P#KeVn_P=Mct|@wOsi>Ge>bf^> z`BTq_*iU)rE-XdH`v0?Xq^8y9gE3uUb?WlDVkv}pbCNa=}`muGFiX!95QZemhKB88gol8+ZI8#Qg&9wy}^o$~7ceEH-S>)xGh zQc6hK0Wf!-e)XsjF-g(i8Z6Ljz2t#^5Lkczd)7c60 zj(YAFGt6jK-M7C--d@Oy{d{u1amrD<_38chmFEK+{iCqop1Dm)Rq@=zzQ5?s3~V` z(tx3i{^LI_v-khQ(O+m7>{G2?$#-b0enSj}$k@14>mBbabE2*T-YR2bqdIk4+@&~r zX}<{qPZs6m@GEQAK7aKazrM7~Mm><1)K<3~LBO`)m-fUSy}yg% z&W60?_BUPL=DGc!TyxC)hhXzzPQZ19Y7Ohurzu-6quH+O9$CJ4l}kvu z;_$kE&^GA7{WiZwW>c!=FxPA&)Zedep8nnBX3q4q9CW=~X{7xorS?Dff_If|DZH-s z=83+>2-poUKVzHDYd@gvyl>9Y*dPaekix#**yqgbMu*{aB9RAuUAF3|DTB{GPFc6$=zzL#>z1=)Iz;M!_fVe`d#~;( ze3Lm~c<9l(g*T36+ih@U5U%UDr51cF3ASu9GWk~4(3hw#WFK*xX-1zg)-fnpIs?O`CF2_uKCfq*UPf^`Z9bO0ak^xj>;V=QSLwZ*r2jMW) zb4`bW@R{DI2UM@W=!GK(kJz*MCN&3y=mgCH)r2x=4#*Tpe83z~+pqz1Kn-&=DA*dU zJ>b!s?m2APUYrM`30Tt{CO{yh?x^Sfvik9PeXo@nrAXDu`i0lkgEnS{x-IrE783QT zEd0&sbiF!-RDTF&mxXLReXKlVcVMpu^9bxP_Yv62cT8^wLQ->8?~x;3f8g5Ahw#mr z!yz9v#D9J8cfVeWZ(11#?Q!U&oqyT&T=-J>PG8-!5eGi_KZj0S^2SItHa~sd-QPZT z^f3$8;d=|@f44L%wQck0RbS$py649BiRZT*dhpJbZ!Io8Q)&Bq#{PT$1@}%mcZ$yN zUEfJpKD+BD7rlgZYWS{wuRG_#OV|B()|Co>=W};{JFDaU!584W8`4kBtQ@(zb-KG)kQK9hd= z)~0e+`A-^^ikVvMr`xhImruf9S1jgpg;GC0A?S~p(H_Hv1+i476d0dQ#iG^i@A3PD>W`2S*uPoFk%x7Gv35Ap?XnqR<5c zpa>rVRF7T{OZ|M55Cu=_IF!X?Awnt*WuQAHtT!FvF;JeSpr)vZLZ*mj(3w%314iG? zU>20fWiqfF`MfB4Q;f@wsf3dYPwhehfoD!cvN=`CxnF$KI|kzO^1Qc`rv!Iyu^s|$ zh?FQheKE=Bp;Erlio@{^xNrrRd&FeaC~#!~=WAMuYKuq=^?)fwYYJG@!J9k>nD!WM zgD95s$wIspoK|!>&!$F@>=hPfr(=wPVsM70OlTdnm6u2HI;7%#W(-D|m zjsvwDrq-h;6u2Wm{bc~&9}ydbHnj<$q1eEKe8AGp7G1tuZGgJr7$<0U!PgJcN~Ps# zT2vV`9$S&l?Hhn|g3_%~B50+)#{~~~V6Gm0qm<)!J^Vw7q@0qJVXiqQ86wzPl^2Co z#j$%+C!y5%w0J5_li7>En1BHl<1soF$YB>0Mixk;xNrtQrV=O*oW%uL`<@P**UImGx$qpQsigFX+3aPSjKx`{-T~ zC5M5a_^_m!SRF(ja0W#KA6H4D1uA%00mk42p;7cAW?98l#c&kM#xuBOHe92H1EIw5 zM5&3bYlIKWz#X0_HIg9%QXFr>xQVqhzu>0S98ZtwF*P?3jB1pR@dh@W)W#9`s3~9w zghO35E+I`dpc24R4nvd&4NTEAlshd!*AmIKMDRZt02Bl#2m!FPAVSJCX)34ErIeb< zM-)??8AVh_0zKVL!0z;Dk3mIILTzP(mfPbI!C9Cd)bNF2j}s}(A97h|ijQbm-LSne zYw$u&PsZC(PfZ6dylO_L#*M0_)HH3mC30!<6S%CEGg;lLnJD3#XcN%FV)06_4n>QI z$pozCLxxCOPc}svSd?4S@CsNErr@X@IV9WW1%Ls11>=-sg9+q4Pz1((8q&u-g}@h8D;|HdC`A4^sf*2$01s44 zYYfurLWANS^q@+Q8f7@Z>RdqM`SKtNAEWd_p%5UGIOz>CLPWDt>la12{-~9G)e1|Y zsgAF)4uP6c;SAE5wbJR)z6zNqqE^cMDqW%R$AROz=lkO$`0vjMr2Yud#$}{vTPS1{ z0=huZiW5wtPxYLT&%Z{n)RPP7 zJYQ1n8s<2TH3evoZACH$!n=kVsqUrhDP=?{i(cYYw8tV47mL{C@Z96lUD4-cGK44$aET`3C5gzFi)}ISCa^MM z^{D~R1C9Y86Bvo-DFWl+fGw0fcBQv1ywQrgRjxZlR(km)S zk;s~;2$v7w3{Mo?q6s6!ArKrg8HO22f>(6KhT;uFDjZdFnkbY`=OP*>EX3HPwW602 zo_3_^x3y#Oc76wsHx8KSGm4h@VC4dI!3n^rR|i>bXPlA&&B88UUd=XNTun0(=UH+f zaDu`x+i>Gks00?br&h37XW&9>G^6|q+C>4+sAz058@r+{NP=}gkOe15)oQ@$jx7q4 z`zi1>*wo&ENTKk?V2z18IiuO*8~upGI~tNX%DgJ3nv*e{oyumDQR`9OY(VDy4911U z{9?(M4RcQ4x1MK5NvVf6XIfraxW-ZwV|~S|xo~Ba;IYZB4~X@wB#Lo@$)ut4 zLtt%U7Hs|y4-`SQT?CxE$s;&kVPOGTMGUamo!-@!n?h7!&dIF7#v#*nJWe~H3yc@O z*;=mxQjPf47(JGNt;2dSI-_}Ilu%~FBYiyBj0SxXse;`mFFp<8F?Jl(+CcYONHtOI zEa|)Z0D!P64hwx+qwA$*dFFv9*dnB{GAj^QMnQ%+RzMZ%lquZsBFKFa*d1NM-M{H{ zQ#{dbFH&Lg0hz)B606AIf}JJ+N(_#$Ql~=?dI3`@Avy{>54e}gPL|GSNYN2h#ZO7$ zfC~MjcARcjgVl{Pcx%Apsh08@-ao`z;-HCK2w7FHf7X+!B@NolP}(2bf{)`@d&F&w*56pxr@MVcYXsiHryGX#g>+RPVb6%ONI z*vKHJzqRAnNi8I?&QMHBjv8q6X7`Zkjjp0}iXi7vWT((fyn~;`=)HjfxjjXCaF`Nn zsDVq22bUYSA()H@-Ot$#!7;^Y91k&0)P~?e`>V|+niTbIFz9HDE7X(A&_kFiL{o}w zsZ4Fy+^hzr8)fj?8%~S3!J;EJ1c&M~28H^r34__^2ypWOTaPC#U`eTy*;C^M@xjLm ziGd(6BmPnbu&)-|2+&LA7n?y5%)onEPGBO54VLKQ*^(QG>20eKY^ll%x~k$po_%Gl zk_sTIj1rU9HbtnYoS^YlR~g25$64_UTNSzW7?&|9m)Vr&Bp;S6L{!?Jku4$1fDR<> zWuBt3O!8&Fq%K;xW+)L7ZO$g=pcG)8AY_Qo-dUUr>cL!ssSxO;g&z%Nqz8cJLp6!b z-Q&ujhE@K1S43H~JSZ)rFvJIg7Cib&IwRVlA}5en#0YibDQ!-sCkqHV_NstQ24VUZx)7JmJV zDM?h1v4cc*@n{KBPr3t01;i0%tCd{s1rYfKZMbgBQc8xW5i%Sr>}!x@HFNVVbNWVX zJ?9kSK83h>1~$XxR(r>7j3%E1@1%Z1VoI2|ruh`s*_3aeS<>0(UwiS+dp7)BO!+twimx|)-+ft){v3sJl`B8LJ!0w^`L^(I$x z3F}C)K-#npc950|xlX|8P))UK!Of#>fRSGazg?U9bqVjHiPjI84&hDhe*6JN_S0oX zui2NOq#L4}1HThQ8Fu~Sa+ZX-T&_ivI+~H^aBVgBAK?)iy=QtrsYlakMnLa#U}TRTEdefdy;?_1WkY`x1@EHL=KL8(^8dM8Fp zA(xRgW!v1>WCBj}A;z0+z_#1O9MZ&4k_A*no7kr4-~~8eOZds*-7RbZ#PFR;v}3a*`YUA(vm=1&5TJ0bOQa=(^MY~N!&FoiDSAUbcyTMn8s3C>;d-xNgeI^J0?>8|p3~lm+X= zW+2-8nTVJTO*4+SQMt*llq{15NGoRR^pYha&tZ770f`q1xa=}27taAuexdQ~{YrUk z^a)Ks`o3ZLVm2&7s?KJ*2RkFQu$u?i+%WWnUWZcaBixad!Ewx3E}QO@Q6-(jb?;G< zST3Y+Eew#VfXqQ`{U=|}cG7MJloJFcyumhlgfFIXTogd^TT@T-)PaTZsFRH1TEw zR_~{`0MrSxGFE9f)dZyZ5H(<9ej$#1^I#<)ouFt?o5tn# z9-1ifE6r@{lm1>$e%K%!Zvr=QTgAagPc8EmuWyL?Z6!GRoU&!(jDl%6`X)p zc61spK}jc@;GyJAx9Z%MazlxMSxmGgGjSY7z^O&-z{@6z@hna&&Pc+SfbC>BAQ>Ut zRe4EICA^R#J-t-G340!`#C1 z7fprEq)_M&kuF==&G71~P0BhXP&VBrTOU!F{EFtcK~$_DVc0CLwO~Ze zO(x(oAFz~$D!)lKnNx?wi@9W0xoHB2<8$6H%*W?J2>#gcsyY-am`00)Lv zm)zIo!Q;lEB6ck_ZtQ4rfXFY{hP6SdyRxFQ@N;BxyoEMGJai^F#TSuN#x>r0)Es5G z_%o_9JdlQmDpClD#^}!ojQ$A0Xj5yRngD_4ODb#Yt8nwOBH0wm(yJN~65wwt0Qw`S zl9V}}$L@1nF$WbFd1Zw+o7CPwnW-kugUJnVQ~uDEo}SLk6&TzC>BuMqig3 zY7Nx;X`0ixVIqV>^=?)~oG~%Hu3?>_wB~3&;olhVrW9dqF6Yz94%|$M?nZSO&+v)H z=2)&=k^?^yg*0qe{QLtJe?(2v>2DF>@JC2}Y)Z=4#3aMpQ1r5hOru=x zNu5$=M~7pxb$S7>?TQ;jZZ?d(MzJa{3ag3(!FV%8=7gDY0srF&ej6`mh^J%8j#QN8 z=gCDD8W?E++dkBkDNb1E7A}o%>m(lj0NV2faYX}Kd%TyYK;YxC>1Q(U#s#;SsO2)c z1tO#(C_9h`MVm4r@MZ9PBTY!)aDsrduZ86?`vVMrYU&Hk7$32I%SoIQRBW_N#L(-p zB?nL{Aa$~F9$9e{xq?BUCO!ZrA!a0h0b%zsBOBh&<(ixh0m|_`hTniBPhS$IEuLY|-!(?#cVeri-Ycj2B8Ge3UlP%PLD_*nC|Vd{Q+fVL8!-7JU=rD{B<2+xyk`Z_ zPOv5+@o)j4o-aV_29c>G3{;sHN3g}056FDqV1#x%sA!A3*JN@L5dv7)Q=*+0xXvZX z`&i`{5V~h20H3Cjmq@3uYS4jQi%Fc@;MpXpHZI<4%}&S63oH0(?2gycfSBkzIhCJV zvY}8fl#CkEa~PYKm$V`D(En-44xZw6fqV`tTM=vxfk0UyDJa&yMbJ>BiB{x^Ss(_5 z@I<;o1Z^f0u$T{#Je$h!uo}RgFQMNCZJNv}S=z6ry1VTTP&W)gvAcFK!$`ydCBGQa z_+&GLG0#ofm>+a1t|oIWi308ujbVrR^eojORwKk)5Wz}sHk9D~luFqq^x^}+^aZd^ zuqH-&CdtruV$dJ}e`%VZUUXGCo(asqQjjA6HvV3RdpJ`X~H13J6R zyY&FH8-~R5C^&r-YKRWgK}wPMA4Ft zV%6o6RBN_Af{j}p-1Q;9HT4WvegWl%YvQfj1;`kuJJbZ}s$)R9;o2Y_jZR1>EbVEV z5_vqPq!(4y{!^68t>V!GjO%y>tQ!{o+D3ZUcMC{23~i|ep^4K2*ynj_w@4RQMNXir zh>?mYgBka|#j)?F8EXje8e<&C!YJ1hB4o{E0%r38jc0c(`HLfEzVfAIZJj02hSzWL zC;>~?LFq2iGV1&lk3rLINiPm>kl-De**N?()PC-ZB=Y6BM{$8)4iBJ2c~o%cF&`7* z<^U%Mg3(j0Mh7lEz(h`V73d%UwcW<`ZTKNmaz7u)i{N}^RuWPHEgZB-I9@dbDEUMS zphiR6>gbU=An|-jM^**_SG+OBvsk&pVx0}Byq{7_TQ>n?SiEA95aPPhBSZ{Pfvc_@ zk8E`}eGi42524n!Z;`u7QCZGMogjr%m6=Jw^biFVLAl8U9Ogs#uJ(!XF;BswtOBfj z;ii{7&d#;w@Zc4nj;PP$XoZ{vi7EGha>etGOFDR4kd=;jW$^ef9gSL0s>liYDq>`O zkOl?+&87PhwRJAk04^se{m0fuKKuggDNkBTIfiiMXM*QVaILtZhroO*z{EsSSeaQD z=f@yr)8ER%F@c%kx(TNc<5( zm~B|{_ETcuD@D57g7f-`yNH^2x;(%=Unt$~a5Jg{z~%!b4};*qM)d4(z;aP89eJTt zSst9jze-(M2IOkgq`}<_!sRKJ2U-TBCZI*#sUTK{yXoJ_gq05uD83?C1~Y{(zwrmi z?LKoqVn2~wap87uTi^H42?U-mK=VK4_!@dq-m zt@H>|3^V+UU@O@?=YFLCcz=ZSIU6H=Dg!8d-_o2m3>Bjma8$$y3vKfplxqeMMThwo zI&9qFE)M|mhxs+@MMujH5LtPZYekBgR0p&gSFrKyCN8m~k1wK)OeWwrA2o5u6a`rG zA=<euvAkrb|Tbh~CbNUMW z~k3$%E?Y7#b=9KgC^5j3TGTxugIaLiqxaDt+KZA^5_ z<22lSNYmNO6)vg^8v*KuMd{k+H68{7*7Ic=FQTq)ivZRQ8)aY2r}0`aeR0{Sw-3G9 zh{yv~llb{X1{nMi(tb5_AK)(YH%w+K+Rb(9VmwjLxI{3ry5DnimW^l^Gl+J>V3{4V zvO@wvWt6ErCk)bUb;p!&L}k3$fY|$4lT^9o0oV;2aw1B0C(eL$!vZNPRE}Uud;|`Y z2}sNbu-NTMY_^h;OG@F|EDd+U4{khc>E6Y2Of&R^K;mmEk;M=^`9XSC?q6B$%kcF7q7TDW$9X1_ex2t!l|0( z4v<#fh{=_6JZp`YOY*n~Ifk1uWiO`dIl>O=$SuB}xgm3c=870$jEsMt1YWNZ(PR}l z{Yd3%4r(czJ@2m)koY5{OWKA;4~Kxj^Ci$W4Qn_JVDn+bR#T+LIJf^v+eEO(pAo42 z5r*RtID91=-Y7~?Is2i7c(zmAjpU0CO3$(}#qSmev_Ha7k4^nKO!Ki5G=)tGt$6bX z>m7UwFtS=9FjB>kw3^xy+N#3g%rVxc@X9npQMUY|9K9UDu2RaC6K$M}yC2aLa>)-= z@++2&tpoT^ZgMIhQ%|+#n#n;$so)d|M{rfrQMCM`fwbQRVh0=5ZlMM34g$8IXs}3c z2aX`ezefm|{1JxD5jcFb3s*gLfqu19!ENi<2_T2)-7uJAcdiB9G-GQ^Su$0N=uS|m zv@O`S;?i7R)g`~+%y2awR1H5B7n(%yh{*uu56T)a#47F86|*zLWgSX#!zj+KfOL1% zi$Ab>YT_Xmf>D%Nf@UYS=`4541R&io+Ipy!CD=ro!9qFUbVwxJMya-Q_=EiRlNOan z@v#anzwYXr#O<@DLlSkIQn3O0NuzDg}kyJm9GBUl{ zP@4C%rs{E2Qk%5MNB2VvRU0d%Fvr9-A7+?|=m4goDA#;Q6N)JXe=SdJX>LSd@@E7# ze}oYV?of`k<#JI^QMh@4#|;C8eGL;gFmoF`;B-i!Y|`&GJn43XfTCjUH?HhRjkO$^ z%9>4pv3Mzi?Fk%9aDF9%k)B+@>G=XZ_LGhn#DlgV0#ite&?@}VZ>b_5=2{U1`tkv> z@7q*80)vk$z~K9?slnX7OK7Jb3#6^Ll-dfpaw`?24#|LK8)OO{a#;tUbV$q-+Y}P# z9dX`=GZY;Hg?d+E6nD6lne~z_%@lc?4d%BF0P2rG4ecHeQ5jmD(cP6$;#T=>#F>1MK4gPZ4tO3;>-V3be!FxyeGDGi((AjQs`=?=Z~sYtkGo zMV!fvr)m90w52DPRMCZzeqvKg*bk3=%Wd?TI6;B4IW4iND~sI_0Mj8ztCl<2%c{<# z7dX!>#xlu5Ym|-T$pwU-FCoR&-Mr`yxVvn_a{+) zg`Z7noEjO>6q_C|W)i6ajKnDzg*cA2v`mdp!@?J=gHk%zier$`>tBV2L{WDOCn&?l zAW?8`(XE*0$D& z00dRdV(X1A9ZCR%1{GBGu<+fLKmfX7;d+D3mCI{2+TsHNs6!}ln6j?uAz+V+>`+PR zO!!y%1#AqTiVnrHcp3}#zMd0CDQfgZy@i`C?7m`XbDz1hER^PkWp}+zh%5H=0=^5iyQ%HuiFiuRM^%vDXIYF)L88=L-%)yEa$nhA^b@ z4iDCu*I+njmulmdKyc%x3+|pgvbD5K3`sR_w}KS%@)D>i?n#)QDn(1LU#YWfpO!~o zK)cy&Q12)K6y8r%UYkB#Cc$1TFepOUO(x(mAHqUg6E+Q^v4(%q?|DE!T2nW*@T?*J zg;?py6qdqy`rYzim?swyc)nt?UBqS)(Rg$@U3A;ip4rh}I_{@jsZ)pacmQR=AKuZ^SoluNd3&~B_(r9wuZJPV;;XX;? zp`GyKH z{$hi}Js#rflV9-B?jM8~D$g@@@>>%Rv0Rx+jH|=P83ZDkHlres+ggj9G^v2_ z(k7F#D`fy+Q~>f}HzPo)j01{D2|^|{99Uawh4%z6C19@Ne(_q*xckK`u-p%M<{L^q zLdR6)WzkMS4!rb1+c@Y#kpwRmxs{93XB!(`3{oX83W*S|*Gz>l$%{iGq=#E^w8l{L zVFXqoDcLR~u7oN`M_vJKcd4Kxz8$F{5t1HWLzz`QMWLvQM$PS>Hq2pC9XQyVqDf;u zAiLU9;HX=oHHG0aLaIb^WsVL!=0mPKvg%i-{G!<{zqJWiZhj3{3|kmmc2iSc41&n*++Zn!2zr>^b>maXj@()U(hWmy2H4LT%}_VT^GB4J2wF3DDsXsUyGO8s$taRPbVS(+ zg;fw~VcKV$`Sz4J%j8!a6*4oB`_N_aacVI?t)wOc5tNtkeml>{$Zt)fo`4q49=>_z+jT_*_^73z!V#{E14fMwPiuC87jS_u{b?}M@7|F&W5}SYxOgGsjfJWzcQ9kDHCr~B zO?0MQOq+OM9XLR;XNuDjCSK(i++Ox&UbJJwgP$hCPsZKSffpwG1RURLGC#K(n1m}P3~CxVd*w7~^z0GQp8(?Vw@HW1OgZgA&cHr|xlU<&~d zkFX!#t6Rhmgn_c-s8xkaoA?+n)ujv#wF@k}q$t7~_D#o^RcR-^>f{6&{xp;=Eh zNf`>1i6Jfk(mPAAG?l{LnKrMGHye<6KgomP)+@3aaoY-ZUSScqO}5sk06L9*E~P=$ zo(mMNH(yZ0*hIN8j+){3yi-kJ8vxq6cw59po5XczA3Lkoe!WZG>Cx_2ofM z5C*V5;1ogs45>R>n7{B`aEpnBPG7r`q0)e;G$Jc|S2WVd2B38C~iCEv5*(>((aI3dk%< zi%>;6Ce`+tT{ BT-*Qv literal 0 HcmV?d00001 diff --git a/sdk/tests/api-server/package.json b/sdk/tests/api-server/package.json new file mode 100644 index 000000000..f55e3eb07 --- /dev/null +++ b/sdk/tests/api-server/package.json @@ -0,0 +1,30 @@ +{ + "name": "backend-api", + "version": "1.0.50", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "dev": "bun run --watch src/app.ts", + "init": "bash scripts/copy_abi.sh && bash scripts/copy_deployedAddress.sh", + "start:daemon": "bun run src/app.ts > app.log 2>&1 &", + "stop:daemon": "pkill -f 'bun run src/app.ts'" + }, + "dependencies": { + "@elysiajs/swagger": "^1.2.0", + "@selfxyz/core": "^0.0.3", + "@openpassport/zk-kit-imt": "^0.0.5", + "@openpassport/zk-kit-lean-imt": "^0.0.6", + "dotenv": "^16.4.7", + "elysia": "latest", + "logixlysia": "^4.1.1", + "pg": "^8.13.1", + "poseidon-lite": "^0.3.0", + "snarkjs": "^0.7.5", + "swagger": "^0.7.5", + "viem": "^2.22.23" + }, + "devDependencies": { + "@types/pg": "^8.11.11", + "bun-types": "latest" + }, + "module": "index.ts" +} \ No newline at end of file diff --git a/sdk/tests/api-server/src/app.routes.ts b/sdk/tests/api-server/src/app.routes.ts new file mode 100644 index 000000000..3870e30ed --- /dev/null +++ b/sdk/tests/api-server/src/app.routes.ts @@ -0,0 +1,8 @@ +import Elysia from 'elysia'; + +import { ContractsController } from './contracts/infrastructure/contracts.controller'; + +const routes = new Elysia({ prefix: 'api/v1' }) + .use(ContractsController); + +export { routes as AppRoutes }; \ No newline at end of file diff --git a/sdk/tests/api-server/src/app.ts b/sdk/tests/api-server/src/app.ts new file mode 100644 index 000000000..34f2c3836 --- /dev/null +++ b/sdk/tests/api-server/src/app.ts @@ -0,0 +1,31 @@ +import { Elysia } from "elysia"; +import swagger from "@elysiajs/swagger"; +import logger from "logixlysia"; +import { AppRoutes } from "./app.routes.js"; +import dotenv from "dotenv"; + +dotenv.config(); + +const app = new Elysia() + .use(logger()) + .use( + swagger({ + exclude: ['/swagger'], + autoDarkMode: true, + documentation: { + info: { + title: 'backend-api', + description: + 'backend api to interact with the contracts', + version: '1.0.0', + }, + }, + }), + ) + .use(AppRoutes); + +app.listen({ port: process.env.PORT }); + +console.log( + `🦊 Elysia is running at ${app.server?.hostname}:${app.server?.port}`, +); \ No newline at end of file diff --git a/sdk/tests/api-server/src/contracts/infrastructure/contracts.controller.ts b/sdk/tests/api-server/src/contracts/infrastructure/contracts.controller.ts new file mode 100644 index 000000000..526085ed3 --- /dev/null +++ b/sdk/tests/api-server/src/contracts/infrastructure/contracts.controller.ts @@ -0,0 +1,54 @@ +import Elysia, { t } from 'elysia'; +// import { SelfBackendVerifier } from "@selfxyz/core"; +import { SelfBackendVerifier } from "../../../../../core/src/SelfBackendVerifier"; + +export const ContractsController = new Elysia() + .post( + 'verify-vc-and-disclose-proof', + async (request: any) => { + try { + const selfBackendVerifier = new SelfBackendVerifier( + process.env.RPC_URL as string, + process.env.SCOPE as string, + ); + + const result = await selfBackendVerifier.verify( + request.body.proof, + request.body.publicSignals + ); + console.log(result); + + return { + status: "success", + result: result.isValid, + }; + } catch (error) { + return { + status: "error", + message: error instanceof Error ? error.message : "Unknown error", + }; + } + }, + { + body: t.Object({ + proof: t.Any(), + publicSignals: t.Any(), + }), + response: { + 200: t.Object({ + status: t.String(), + result: t.Boolean(), + }), + 500: t.Object({ + status: t.String(), + message: t.String(), + }), + }, + detail: { + tags: ['Contracts'], + summary: 'Verify a VC and disclose a proof', + description: 'Verify a VC and disclose a proof', + }, + }, + ); + \ No newline at end of file diff --git a/sdk/tests/api-server/tsconfig.json b/sdk/tests/api-server/tsconfig.json new file mode 100644 index 000000000..5a36dab8d --- /dev/null +++ b/sdk/tests/api-server/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2021", + "module": "ES2022", + "moduleResolution": "node", + "types": [ + "bun-types" + ], + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true, + "resolveJsonModule": true + } +} \ No newline at end of file