From 7478614aba8243e075209aeeb5d2d1a2c6282a64 Mon Sep 17 00:00:00 2001 From: tom Date: Thu, 15 Aug 2024 09:41:55 +0200 Subject: [PATCH] pass optimization modes from API and handle single verification method case --- configs/envs/.env.zksync | 2 ++ playwright/fixtures/mockEnvs.ts | 1 + types/api/contract.ts | 1 + .../ContractVerificationForm.pw.tsx | 15 +++++++++++++++ .../ContractVerificationForm.tsx | 2 +- .../ContractVerificationMethod.tsx | 7 ++++--- ...efault_verification-of-zkSync-contract-1.png | Bin 0 -> 84539 bytes .../fields/ContractVerificationFieldMethod.tsx | 1 + .../ContractVerificationFieldZkOptimization.tsx | 12 ++++++++---- .../ContractVerificationStandardInput.tsx | 4 ++-- ui/contractVerification/utils.ts | 16 +++++++++++++++- 11 files changed, 50 insertions(+), 11 deletions(-) create mode 100644 ui/contractVerification/__screenshots__/ContractVerificationForm.pw.tsx_default_verification-of-zkSync-contract-1.png diff --git a/configs/envs/.env.zksync b/configs/envs/.env.zksync index 56e104488b..3ae765711d 100644 --- a/configs/envs/.env.zksync +++ b/configs/envs/.env.zksync @@ -10,6 +10,8 @@ NEXT_PUBLIC_APP_ENV=development NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL=ws # Instance ENVs +NEXT_PUBLIC_VIEWS_CONTRACT_EXTRA_VERIFICATION_METHODS=none + NEXT_PUBLIC_ADMIN_SERVICE_API_HOST=https://admin-rs.services.blockscout.com NEXT_PUBLIC_API_BASE_PATH=/ NEXT_PUBLIC_API_HOST=zksync.blockscout.com diff --git a/playwright/fixtures/mockEnvs.ts b/playwright/fixtures/mockEnvs.ts index b0a8b4881d..9bd117d86c 100644 --- a/playwright/fixtures/mockEnvs.ts +++ b/playwright/fixtures/mockEnvs.ts @@ -37,6 +37,7 @@ export const ENVS_MAP: Record> = { zkSyncRollup: [ [ 'NEXT_PUBLIC_ROLLUP_TYPE', 'zkSync' ], [ 'NEXT_PUBLIC_ROLLUP_L1_BASE_URL', 'https://localhost:3101' ], + [ 'NEXT_PUBLIC_VIEWS_CONTRACT_EXTRA_VERIFICATION_METHODS', 'none' ], ], bridgedTokens: [ [ 'NEXT_PUBLIC_BRIDGED_TOKENS_CHAINS', '[{"id":"1","title":"Ethereum","short_title":"ETH","base_url":"https://eth.blockscout.com/token/"},{"id":"56","title":"Binance Smart Chain","short_title":"BSC","base_url":"https://bscscan.com/token/"},{"id":"99","title":"POA","short_title":"POA","base_url":"https://blockscout.com/poa/core/token/"}]' ], diff --git a/types/api/contract.ts b/types/api/contract.ts index ad9aa0f4b9..1d73681e30 100644 --- a/types/api/contract.ts +++ b/types/api/contract.ts @@ -87,6 +87,7 @@ export interface SmartContractVerificationConfigRaw { is_rust_verifier_microservice_enabled: boolean; license_types: Record; zk_compiler_versions?: Array; + zk_optimization_modes?: Array; } export type SmartContractVerificationResponse = { diff --git a/ui/contractVerification/ContractVerificationForm.pw.tsx b/ui/contractVerification/ContractVerificationForm.pw.tsx index 9aa07c10e5..245cb1df31 100644 --- a/ui/contractVerification/ContractVerificationForm.pw.tsx +++ b/ui/contractVerification/ContractVerificationForm.pw.tsx @@ -2,6 +2,7 @@ import React from 'react'; import type { SmartContractVerificationConfig } from 'types/client/contract'; +import { ENVS_MAP } from 'playwright/fixtures/mockEnvs'; import * as socketServer from 'playwright/fixtures/socketServer'; import { test, expect } from 'playwright/lib'; @@ -215,3 +216,17 @@ test('solidity-foundry method', async({ render, page }) => { await expect(component).toHaveScreenshot(); }); + +test('verification of zkSync contract', async({ render, mockEnvs }) => { + const zkSyncFormConfig: SmartContractVerificationConfig = { + ...formConfig, + verification_options: [ 'standard-input' ], + zk_compiler_versions: [ 'v1.4.1', 'v1.4.0', 'v1.3.23', 'v1.3.22' ], + zk_optimization_modes: [ '0', '1', '2', '3', 's', 'z' ], + }; + + await mockEnvs(ENVS_MAP.zkSyncRollup); + const component = await render(, { hooksConfig }); + + await expect(component).toHaveScreenshot(); +}); diff --git a/ui/contractVerification/ContractVerificationForm.tsx b/ui/contractVerification/ContractVerificationForm.tsx index c8e6a85057..4457b64280 100644 --- a/ui/contractVerification/ContractVerificationForm.tsx +++ b/ui/contractVerification/ContractVerificationForm.tsx @@ -41,7 +41,7 @@ interface Props { const ContractVerificationForm = ({ method: methodFromQuery, config, hash }: Props) => { const formApi = useForm({ mode: 'onBlur', - defaultValues: methodFromQuery ? getDefaultValues(methodFromQuery, config, hash, null) : undefined, + defaultValues: getDefaultValues(methodFromQuery, config, hash, null), }); const { control, handleSubmit, watch, formState, setError, reset, getFieldState } = formApi; const submitPromiseResolver = React.useRef<(value: unknown) => void>(); diff --git a/ui/contractVerification/ContractVerificationMethod.tsx b/ui/contractVerification/ContractVerificationMethod.tsx index 24bef17bf4..9e5a081f36 100644 --- a/ui/contractVerification/ContractVerificationMethod.tsx +++ b/ui/contractVerification/ContractVerificationMethod.tsx @@ -4,14 +4,15 @@ import React from 'react'; interface Props { title: string; children: React.ReactNode; + disableScroll?: boolean; } -const ContractVerificationMethod = ({ title, children }: Props) => { +const ContractVerificationMethod = ({ title, children, disableScroll }: Props) => { const ref = React.useRef(null); React.useEffect(() => { - ref.current?.scrollIntoView({ behavior: 'smooth' }); - }, []); + !disableScroll && ref.current?.scrollIntoView({ behavior: 'smooth' }); + }, [ disableScroll ]); return (
diff --git a/ui/contractVerification/__screenshots__/ContractVerificationForm.pw.tsx_default_verification-of-zkSync-contract-1.png b/ui/contractVerification/__screenshots__/ContractVerificationForm.pw.tsx_default_verification-of-zkSync-contract-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8cb52d3594f73de692b5706ca3ced48b7903a16a GIT binary patch literal 84539 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\iBc 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%0AL#jx4Nk8;A;#Qv|#JaQXRgEYKTyT?i+VS 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 zΝ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%0DBTNz>L#-_D%u!O{6Il0X z-WJKJ+0FfXZ1!Git=zb_Q3EhjV;`UJud?HRz$EL4=Zc(V>J|*IF_S$Pwp|w^FxZz(E?5Ryj!-%by%J-bBd>>`f5^;{;Ui8J;<^NDYY4 z!NeJ#1c)?dPamzewph4m($!44i{25py|>8@Z3aNyer2iKkuK3IIO_DBmaY*#)&wiG zYHRAto~6Hzm3u`D$eTS`IVLgSUGaPWKp>z%_c#Z!F+&dGC4CUAjxOBNez4sbrlnlI zr{n6zNe-^QIE145#1Vhdd7;(yU?|Cv+gM$IC8R#NeQ&IyL{znYcbIysWSHd z139qGsBy6)DR6y28SyJzC95mWOwXR_^iCx0E#d*FztGVR|J@wp-^2k}8zuK&m0eft zk8uA+snEapFE#gnsvQ6SK~jMo*B!I-`o0Nv{B#RJv&oD{^&V}e;ztH+%T+o+T$hRB z!Z>RE=}Okjv-0%T^lKNvxBBgk>ids={LC-=H<|lx9x?fP)k7OUbxI=xd}D8Uwwdv$ z3{rdlO$Jj_DT>Z4yQRK?n3M&c;T39rM*qpwyyeC3B^7-~^UwcWLiLZf5549YRi5$w zgDU=}%Y&EUv zZm+D2Wdt`V*A`QA@o`RiF-rWeTrccY5}nO+5r3&QSa{9PjcZTHRrm(Jv4h+!UU#)W zx6pLwzot5*-#-T@>Jy3mt3CahFg(3>{`eN)Um!o^|B&R3|CeS<>cWKE0!}nr(7JWQ zRr1`~Bxzl2@~{Io%aYk~!^JpS_Dgvd;W0E0HqL?0eE*xL9X=zX9k_lXVx73hTydZ=hFPsU?Ll^tKpZUEtc34h?PL`*(C3(gQd+Q19$zq*xKg6 zP7l-1?aY~aYx3e4ztyGHuGC5SB1;oW)h8P!#Wv5~HyF-Q_czR*3rdOW!b!2MlU{+< z@%rOcp}Jk4bbmD=h=1#yT2apcos?@U%G_e6?6OP#hIi}GdPfB}FDj%B7PekVVArkY*_XvkhY@tD&X2qUn#TP5peBm{Rz4zOkJ@m)iI{yVva?hgrT{C z0c&%e{<{1P@trKjO;$sr4G6-$_lKN}>X?2M8P6)F*rqogseZKMQ^FG!P_pBA*J4J$ z>|lGiyGaWp4`j6C{bHN(mu`o+kDAk<_JMJS7|;& zoIJnXGgqrw@r@2in_zXd#{antuKwDYmqCIi&X+1v&7yoC0D&fAe z%422z;OfFoM$0!AH_^JJm{mi5`ICNrOVi+c&||rmV?hI1Zl}7V@EMVw)tFD?5{EcW3zN z%j*Qr%ljEE-)?rDEM~kPTAxdbI@~*V7;Xq$?f3RT8koKu3u$*dHWIeErgMM|BeJi9V9e1F9Uoi{-u-UJWJ1n4Q0N|J?+QErDGs-(GAc(88!~bWZtN ztrz&kiaq@zF3R0fR;h1AAf8X^*gW;*%t>}EUzGBob@UiMW6bEY6BD&jRUBNGg>0-EAhMh>Q!}2)S5^)=Y+5xsep<4couHrd{+OG-^NbTVODJ)S76CG<`PLM zmLFK|s4Uz`2>{(x$10@0|DN6Io{>xoQ@R1!LMiHwA1f~dhlm`yJTWp5~pU2 zRQeOV-6|dacq&T$2pt*>T?nbRGMb%zF@8xx@?f;}V@;8 zX|%3e0R73H$H}rdJqUOGJKaH&4ITRKVK+;25EG^zRRyN(COoL$Q#xTF1!#fCX7^rX&UkItDUnom=8D4HhJZp&Pi#_T~aX2Za&?`H9uP@QW4JkjU0HtjAD8!c3XL6SGfG2*dH4V)>L@2DN^ zpDo^>&-ra6Hu-uambqp$uy$NH^d{A>2{`_yLeS|4Pdp%fXflkW(ksozrJ0#$;dX%k z#m5#Ezr7^4wlZ~uQbEiCfH2(t4Ndb_6`7jcnfGQ^yfSG0pA@4 zVkCB~sr~!b%p4F!PD~e*MMb{P1G%!MH*oWAAC44XS&H|6O!F;ryo-0obF8Q&w6IsX zqs6B2QwAQ^D39txX5DfRA-uE#luLa5nh-}`uk0y~e^aPqK}Ql4;ry^uxTh56(^D>) zj5`ISEIv`Hcfh`lH4~ry;V4fp>kH8}?}!|i{8h2@1VpX&>$e*YLN3K*Z}x2QRN%I# zAz*4;01DF`fuG`#3>X!gW*(@X)PGR#`|6t8zjFbE?9SJ&0hL#Mf4o%O8zj%QwsSss zQWIrUf2{KW&5K?63}-Cq2}0+1i%O#c`}#(~3i&&t16pKWJQjIOshhk*}3YI8$C zwabVltt>7rNn6`Y=`~2w8@fzU<0&>y)st3^a0RTXu{`jEsZ6I4T;&mI!O0r3q}bfgNn*hQ&EAWIdJU?Tf*Q;fzIhF(~Kan{)lPi zXIrms-22Yqj2#iHg37F0t~<}Rn2g}b&>K`YyW2NWdWQN|Aa(2(-N-esTD?GK4t7vL z{B7y;&2l4rg{Qg4EMEbjuI>m|h!aM^AFzmAw&Dyn9u4^=9t7B_q1h+VU%;;Fyi}7T zcDMEFi!Xr(B!xQ{H1+0riH|zaPt&8>r%fi2keGuL+KjZ)oy?5x<`7$}-7(Tb7O>|E zenBNin3;8erVYf{-{})isQanNZ!vBa_W6kxn*~U0EahqHV=Z=Q82nG^pZUerkWwXJ z@107@FFY|ey?Bl^(MaN6=#>8H7;Fi#|L1qg_uNn9tB%9)q*l`gY%^iaQ8mt3j#_T< z`^Y2wa{=-E+a%#ONj4 zDybF|TGT$k_A@LXJ`Ds#f8(iFRZsLm0V=#%!qKRH?-IYw;gv=pMvs0m_1mQDTF~*$ z8D&fg0UBDU`!si{v$vsk7pNE^@cdXe!tF9J4#BQYJiLzUou6kL#L6Qe2EA+Uup6HqKFSy{gKw-_5O}3PuKmDI04g3OE+8&36oL3c8 zY#_63u-sZ5Ihp7m6APj{bK2UnO{)%OF6icsSc#ER8BiP)gb{<*Pr2K4#PE(;TF5ky zDBh)ACX`$?g_j1Ij#EvwIQJ{ZEHoV+yM*!n6bDid$fd;rw*MnYF}~m~2C{sTfeIUo z1jTZ9lnZhZA!BU z-p~O{2U8RmVkNo6w5<5M#}E(t3cwl) zCk`*+26(83UOkg@zXe<5cHXX~!skpw^Fly6@MyTrn&E75{9E%epH;pvyZrV^baBGR zI(?8;qIG^@VBi&!pr6MpJ;Jyb zj4!_%7~l%Td2_&zA#LrjRj@%a?}_1dQn$Yi%B zn{AhK*F?9NiFSiY*F>{%`Fac%J87o|vueo8J~-7ZHjWi4w0JDFy=$$Or_Tr7e*WFzM*(h3tU@FG++L$Gcbunw|yPt7u`y;Lt~gPu{o^(+#GyGdt*b z1?5n$1Z%Vx8dxQBG%&49O+OAiMh2;(CSf~q{U)4Cu{Iv&Rt;Q@&^J9nl_4zaixDQo zhk=6$G&|)K0)5Sa(Ake=6N^pF<>6qm@WLlp;sXQwH!ex?I>I*izHXPN85d}rvq90P zAx!q$Z?h?K#(u`AptG}-QxtPUIiP)?G6?P2j=pro2V)oFui~0JjLdq|BU1v2+3&Vk z@SAru3=7%wYA(*+E;2vAg*@K5p+ZDdx-rThD3L_B(GRt`Cgp8gX*tIOmC#eVvlUaS7f6Bn#em5!%CbzRcNJ5^PSCrKuxEDDS(h8!a)ba>B$MPaI0vnh zl~J|o&%R=A#7nKh#h_46x0&y*#b|Q2ej|MQVtg_KX+A1$!4xpS*-O$gonh?qzgDQlP zR*D_omz`ZBmAyvx(+yPf)-~@xPZ=yw;yFF+zW(Tuu42m9XGCkRh@)Rcf+Brs$SQ+Q zd3S7G!m9Jbbqb$Vq~(oJx^?V3B@=cmWl~!D3u`LeQjhX%S_dZ1YSm?7fUP1G3_Pr_ zuu)o8MlFzqd>~7SM@rFe#*$jBB-oe}nwD4H`OZu;<^)+eP>LvtSyaCb{)NwwdZ3nE#$ z4u7^?y=rZ|9Q$zFaUmQ+h={-QkvAlQQ!0 zqG(PD`Che6vDqbM>$}r-mmmVoWONIQOElm>@bVOiW~}I`>lMWRXC^=e0{Kembto~x zejWb-1VVOe;>ACI-=-Ol-MN(%c#A8j>(bv(a{VwjFG3(S%!VErBkBItNlF(W5V@wg zrOWv5rKq`W0~;u_zySn9HQ+e#@>ELlyz=KABu(N1A$V63q-4^)8bQ)D_WLl3BW>y2 z{hMaGU~TDKMRQtL0=9iKm?OLx0#T!?uRr;7<0AOe2;=+NWx3ToNNzTD+~R%H@DcM{ z0lQ!{?PmP8^99d3HHfJh>vNzb7-We0Ov*fX}s8XkFCltif%t;h+ABD~)7OX}QoZwBZ8lsbnc;-kt~&bO4#`Bewg znZm{+lP#gwG(nNo=qNF2E~$7e-^J+t{Gw65tVK6cb1b0IEq!mI z8oOF#H~HS#+2wIf_b9i|>Ub+KNCsG~f2Rb!au5`sWdMNGfwn0_#qAZm%qgmYcZqJgg32Z&G@_NqAWDvitq=_$>%@&`s z(9_(rk|&85a)l-a#$>mVx0wMO5>slOm22yOmLe4w7!SG18Z=}b>TJtVtg3YPu|z4J`j{-f&E z_uWobdlMIG;_C{z9!P`^;8%kkSPc*w#(s;TKE6@jsjA{kXZhDsp=d|uMkWUHu23Qe zi~+yQX&ELoILeoSnQK{b!=1ac46Ve|-Y+~p!Z!qLe0~?7`S8g43br!BOeH5g;-yOC zBL>)6zO3^?CFpC>f%5oFAD=g&8>?g5?qUgLaiJ_>t*>RU7X6n*HM1llu7@T!;Y1Pl z#omGF>0N|$?csuvt<5`T5=W{06S#SH=dN$gpGpE$XFII)kS97l1c8-@0WQVK2#bX5l}74KBFGYO8wLjpjqaU zWuyy5If`zVp#+;<3igR18)T{XA7bBxI(Uq>_m)DeA6$JPZ@RUT<1gea2Yj4S`#}bx zzbsSj;XrT3vhUs}R2uF$i2sggvL_pqghj28t}Je#^m88bscRylm}ivrCz^bxlgT%1L8i znIp>FL%nh8A||5XyMfFz)gR9_yaT}4N-1i;$PW$W)VR(wypf^I(S1=>`y`^mZUOdn z;O9HIR3C65p$Qgwy6(AldXd)NoImpLv={$9P2}o$b}kC}d}F_O z+?RJI4L0Jj^a;$7WPku3r+-O|M317-O=lT)i?cZ+;&(~Yyjl4t?GqpyZZ9QJ@Ajgy zg7o-J&f#4};{9>alhIc;+P|6*s~vIQv6a*=hi9Fe?-X+en;$V-6JibZ`OSA5G&Bos z11h9TvuwOpTz*&adxx68FSJ>Avhoq^kF#<;)D6C?_6xKlj`j*0M0J6E^f9m}mD>ZC zR)+I3TpTPiqY~CwlX}xZ#hH+hC>giwrenvU(dF9%cJTgYwh3LO zJaCVAdu(w=0;JhdGNe%IXGsFcmD%V~55Ht!T?Ro%;Eq+D->=Y?1K}-6KYw!Y`}8x0Fh| zgl|%%*cz>SjI5XO6|&{o_<>)BgROsl@XM}dfJG!NC5sVOb3J0t+=8;2c!U;i_Sjrm z?1#EzUmk+z)dXIFSV}TVGC^t%8<-f{C%fCXWyyKJtq9UKLm&lGEJ^GFA40K73i@B z-A+(&qKzCamBG3;^Sz%4umq&;Kfiz<50-G&u&f;Ow1fFL%c#jB&d07B7>1mQLM<3< zd1bO7a8QUAOw@r?m<~I%NadE~PdnM_Yv2;z2MniNcF`$M2q0Z8rcct50Y^vXUDBoG zb}GXV@z-?18J)t!n)+@PGOeTSFZ&mA6r+j*?fDlzE^riiAhSb56ZN&X8qegWzF~$1v~WVX zG-Fu6MVVuknKy-zIm4+;bSuV=mUNF~TJ*l|(TJGwrLf1Q`Ih^W^T1~JPR$fp-{w)? z#&ypi92U*8662~V$>yEVco$Cw!;GC2*Oo0QR2_A*pfgZ!1L#6G0!140hvCr-8YP?yOm+%PN`4Ec3l;r<(6I zE6lR?UemOz)NF6Dq@)s=n*rFMS>{kKRA_2lUwW}7XDAgWN_9g*HW8z_<=2{dQ(Gc< zY!dp=BZk9Bw%?^tS5h{!sFt9xvh#)PyPLCH{jeSd5#QY2&3j$qb+e{#kCB7N4u%B;yaO{u^@V&wQQDAG^uwrXn*Z(VR#9_ z2-F))W^>E*eWJ9e{z*|Y&b092qkD{q8o&u(8LmX`y&I2tZ#JA>JSH=DMlmqd{{k43 zzN*g#W~13vkIn+Plo0nh-X&ISeVP}+=%ZZr=OyuIudk11cUpk-kraK!Q3=CxlsKhX z^TZp`^H=mLY>p|WwqONIobbwqvITgIj_Tr(EHD)F(X-32$8&l~7eaVtqOfJrYn${ah}%<+JO*cZ@**r)ox&$h>8HKl+i8v2oj@<|t<0 zAPMu6@GD0LxckJN>z4K_YtBe6m+R-y3!Yw7OcgyJXUILZPmm(GmHt!Q(xrI(6*w3G z1l^WB+AW_%9E}~ib)&Vbvdb`552%up-lY|Rz1cvNw`wbGhAR2~OuU^nMMsw7`iLem&A0%WdV+VbVFA7AE_^Rk&=TojoC?9#g`Lns)i4vbK^ghI@{Ljx zeGb#M?0F%VnL=&tFV}zXhqN{}vY@_YnWNxQ=BevC72!Yq1&4gv7Bn)GyP6uvOT?1` zRTS6P>*)>yB}3gRWro*S7u;TaIAXEb8?ypFu(4@A-ek@DQ+7!xe{dAAIcY=FF&O(K zRjUzXfW*Zqho-1ZHG4~1eDJ%BsitHVupb@A-kUXvZT!Aba`zs#FHp5Q%Y(?&fiB7(p(MC1%<7-4vT z>otM+VEMw4L~B`Lf&RowBw6H|0NXqsV*pQTx87c{a4lt*CLn{dVLn_LSjP64dsI|v z(C&>H+msU3ug5y3a;kvgHHneIq=-KFchg(qkK)eAM(?g&UUm>OJ0^Ix@o4Io_1!Ty6z^;{vfTaUPw ze|E){>lNi<7*bLe-D&ODyf1^LrxGDOZ^(Nm+-*5uE>1*kO1qAQfSEJm?vLN9KF zGaTsLHL;@ip0{`#7nJZ6J{%zbXK8V&kg%fLnPDSUi(fgQ((le` ztOml8As$w=0YXWFGDBGoMQtF&`YwI{gOL4hGGn(ki@23Me3<-)e&btJbH({IgDmTH zF>7VY=X;@Udd~3uhCh*WdmfF$%yy?at1XnrT;;&9i?(F;XHd277KR6_~vS zhw2)*$LHXKHUJ-OIp1k#WJr~cgYJG19Eq&2WYY65^hE?&B)@tPoIC7h((x4`WLxIESk{fQ#U>`PA zhtRCFi4u{H>;d77`DU#_slUv>CNO9WU$$NF0^rC3qBvL?9zPQm=2M~apqJ@D#>Xtr zq>#}*wbuqb*UC^;9zR_Cd&$Ar6*es}4=RNO!dmBk=9E9M|7{)KMsSef5j=FA#m*>X z?&HKJK~W|MwY5M9h3!I0+ArJs<3pe_7;TZc>ZBQqAyf!+4GU1E)o_?4#8TcZ4|Kt{ ze!8HAkH*PQ2m~|spQyzbPl%)`n;*ROo0Pc#@gy2TxBTTnAaVZyko@QMluya&TVj$O z#IyV&dWryi=6ToPKkUV4PSp#LXV4qQ1;cAg41a&(S&>UX@%L?9jE%voFZ>b>PlZVS zep18uvhzJpM`+>kC^V=GKWiQH-r4QTgeI)2cJ^j~|1;H-y#W6__3qsvHr=hb6eI`u zoTvA%tN%TLwHX0RVjdysOEGuB$(xiT@Yz^OebK*n(g94}s!|=YTvbfPwmR zq^FVr(f?@KY}4mE@GqZj?CJh|2l15kiK#dK_6W9*sicV~^n6f!+Tz@)?xF45&A_~^ z{BedeRZ!^BSR;7O7rEw;(vJ@*18GvugBeS+OW_bQu0Jf2Gnb&y1;}g8X~mc(_NVFB zWJvr}eowK1pTf)yvx_B~RyKEpx+BEW&J z@;m7M9bWv%T1Oc`39KoH?L_1ZDCxo(kUMAzGW1koj0$T`H=X%oDQcc`PvTchPlX=g zJB--y2FcE!*|7srxXg$adQhOTg3bQ8qPB;y7pg(^j z_BGBzYkOjdf6H{gUubd=?jue7b-gHXUr=Wy;~^8un)vl-lnQM;7%*$a>ZO=1XS&YLgSv%Do`;D(f9#_a)=jq5+ZSvaKp zW#8J^v*2%(rlkb19(Nz=)5KqekbN6wV;`}Ro(0bmib0w@k_sqJ99Vdn7bLfyI?gq2fUT9Qk2tSn!#pQniVfy6`O&Hl(1^+5Nsj2p!1?>m24Yj0RGvLEIa_?JVYZ;9e2 z;r?PFT2pdVpfwFk&S0}xKL3B`0x;m$Neuz`yS6YpotjpzjeI#U8deNDI+~3s+WO?e zN1W#zG@PxaIwoBehw7QZK|f`H$&fN>s=SrWCw*6O^Z zyITex=CH12bg9^pOZ+t8%-nGeV2}z)BUJ(YStK@1E~(*#hgkK#>P=+1z#r-WfLWYE`fjM zqKgyZeb2iTOFA#k5-k0nMt?OwuOi*jEIdu7v(S(Nt(Dfe5{UH}{#m&DmdNaG=D_Za zN`Ci($W5{M)v=a-za!-Qdz=~BgWws|k!6?rY0;i3>W=)rKK0P4*#}egeX~rR+GbQ7 zc1<{Iu^FzgJ#SBBL7LeIZNznLj`AXK?_&Qp5xXaBu|^OtFWvjS_y>#b$V-C-`krrx zSJ%2m6Lxqy`|eg-_8whY+?C#pai&1aHS6>xllu;eR>XaDlQBITG7Z$R&aJ_=4*k1f z_rw`pDgPmWXo>ijv#>AwGH9^Mugk z%-RI}dnD70ZDYh93rgBZgh2|JY`hVyPYb)wK1nOd`6e`fvL=QdExQY_V+J`=C^7h&bzx^}LJjTPX|;W?yKS+VMG> z3u5S+nsuuC1{jcXLUX+fCGXQ_IhgsmUdv`ib`?#2ZI+(EZWNOn^T(oxtM~}LJox6I ztt%<@o53hPFp{Ns7KW>D%g^vKTwf7vDLt0=Cr+flq z?2IziyItYvg7ALP=L!B&Z}LR$li6@T=eow6soKS=rVZQ#u}LG1P(=E#1~L_5HWgDr z6Li0_XoFV#%GC^|(|e7KDJ^l56_w75X)d2J`lL#QoGj4L@C4Yw^%L%i zM!uaKhfI|TtsRVnd2f)?l{T)lkI=L_Axiu}Sa4Z>`P>V9sPKymW9u9YDW)AKm#Dd1 z6A6%&(*0O^wRUQwZSBV*X|=SOZ$f>7$G=+{uNRR)eGJ#T7Z%J0e&^lg)!!2%qA!0Q zYMbMMD9Ar{b!%Wjior1ncMG8O^5YpfA$bB3j_y9jvdee(>Rphcc4&fN^_;+~2KMqp z0}XXgCzDFDw7(D_58fc7wQn4mwh=czN~3t(ZE>Yi&Ktpjzs+CzG{Be-0-vSVeweI` z6fmh~WD`w3m{YEF(j`J3D;t!j9w5@SR1-yq6c{O!+%+he)xzH49cOXTCA-Fm9o7u@ zPFAy#G6P^SQ{RtgW#|@M_vZI;KwQK%PFXvbQufcONER->ic45ml|8Sj9+I7pPo&_x z2o_n>_Lg-&y8R(Jt?N5^#|*Q57tSk!)zV+nd>l}jU~G`vi(MDzqjSDvGjhAGSUcY3 zbF7vys{98yzk5vo6H=;S$9thxzjIggfAK8w*W*4HcvxN_qdRlG3V}Gk{|~zP4`9M` zf8Uo5B5ai`^!@d3D}p7kuw|#)EBA>t<_;LPaK4C}_)!Z>B84dIipZ3#%tQGGQF0ppD}vNfj;$r3mE=hY}@cjY^Sj#6W-ze{(p2!2O|faco+tZ69D7j=NpPqiafk_ zv)ABHTmI;_F?pJToKk&f=}usz@m6hCYHtwt`y@;1w3#vgAKgP_BhR%4^hjS!_o?*^`)le0M2!b*%Rt65UL88A$+IzqKs z5NesWwD76g1ZEzrE-uDu6${XO=_Q@iZ04(K))gnJrpBDr2%fI~U)_CYR8v{oHjXno z7Q`7v98l1aA|RmB1cX>&LJ@?J2!UXuB!M7cL`rX(&9<#7alEI;l{ z0<%R;!Kn-onCHkf`IJ6IyOAj7JS+5XVO9jevv|NPf%>^B{K|Ru??@825}wJM+s5)6l;6TxY^FA~ z_a4XrBDm|aY#>}R!%;Haam%@Tf*09^P(RZ->26Z2!5i<+zPslnDP9Ky-LiJ$Pfno* zK1r)Bv3yy6werdA=FJ>j5$s;Uj5bgq`g zDDmTc1+Z;Xa6;VdhzTJ*R zOgRk}o8I~NZ1hUAF~(~Ww-gdf_FIclfk+VEXgZiv@CZxw=v6eGyJy}`i^1ih9ZlI> z)Bt~R*Az~{uk#K$*RvW*^9}=CZ__8xRarv{P9M1Ji{BARFX`=$UCxcB!&z02?$k9G zi`yx+LcbThOoq-7?7U>=N@KB@2V}LH4_NV;U3-j1>j;$=Kof4t^8Km6Bjyi(Di#Cn zldo?uo&}nxUm<2z=;Y3^bgYgPjv_b?RkQuT(^;v!OQCE{Y6n;DG}gv*D2(&T8(2R=*^*)JB&DZ^keEgXdxV^=Av8 z!1V!(N3Mw7s&7X%Kb*vsSPv998H}!PbtWF;#@JdyPlp7@0g0kdo+3Y~#JhgAZC`t@ z_d$N|4QZz73TmKU&AUwSP!edX4<$O^PvVL%&lf;)69!zOp>F|;7k5*jb=Y&>GOnY^ zEh)L0yxAVGrSDRYnSOYMt_BS3QyAb?tB%?J#9E{}9#gA;%YgL%0x$sXu%7q-OK5=X z|K3mhmuvd(5S{AV!?^`_u>CeeSWwX3WODx1lI_3_RyO^%Q?fmMZ+eJR z<(WrAB&b=^yuttD{PTnuh*AL6VGMYk{@o%l2NhTl!uDmwZ?G=NlWJo82w(rhNVb=`5z^Zc-!6eM@et(B= z4e+p@04QDv%C&S<$a9@EbAIDBEj^j+^S%MpQ|btFEMnP(Zvl~a_{|Gq6xO?S0P(cu z9(JJzc`)iRgpWyGhytFf8lR-?=F@9HY!|W_I(e|pBEqTAQu*QjGv^oV*eSZ6ys15%)8s$0cr1<%vLRWCbD;-Z zyE0eqlV*bM^Q~Ns60d5eSgV?L@y)D0?Vzq$3`ehm@uHR3IyUlMfDDv3(BqKeDU zRBAgHpIe(G+Ye7HF<$;56h4bhc=d_`j1_(4NV9)q-S>}hRDV@Os5mI$5s07d@rghx z9}=JHM8Br+n$yArpc!TfdF|Ie8Zv{FhP&7XD^j=X7epJ9Cf$M^TusW^4f9#dQoo9{ zyE7LHoyzAQEhT~V`5Wf>l6&YR9wlC{^qBF$mHP}Zlo zS=7~;1(k_Mzmu46@o2EUrRCE!+z7UP1(*3=!6iuk+rq@&wH`}MOT%C>AB0#f5Q#+M zgvYMh%4$BGikB(chgMWLb>_Tcm@=E;o|2LhJd#+Rkd%ah6#+sc-+F$&kk84{0g2uf z*Sq#7%>+r#;DrK1c|#$(ZB;FDr#&^zRR!Em7$EW>JzjWmqlE#x=Oi%f!*WNK7It(_ zHICSV;|PX6*(HBXKsrsu4^>o!ga3+g-wF zxOWr6R$N6p1`@f;#%jPQS9@Wq@7(_S3pi|VU4=1GlFXsGLnXGLD53rAtjaMFQEwN! zR+^)J;sm(AY>ximq7}`nb$d#?hl+}8eY^LI$k>?+kkTz?OJ|D2s_|eM=?XWiS3;)-W|4Tp-zyzXDWJ7!509 z=-r3H%5YnCM!T-1g2K)gIvccOF{E8Si#0_*8wUXzmnePg2-rCEZ|8{z;oeOLK!0c{ zDfw2)YI^j_9e^0XqUzJBbOs|aA%S9_bNbut@KE`REA_ZR*vOyJ;%OLuei~N*rCAo; zAhRfJPl=&D&@lUHdZ>n5(W?-A?V^t^>GS8sxa`-j&ya8Yd-gscev3mN)POn6_D{v> zn+L?4ODJ51)8>$icdy61cL?>7yII4oj{L1%M;l#8MuX0Wh6aJ~z@{EZ7~6}8ciS}- z@-(g`>U++f(?|PL+h0~L?#p*2CRHw{f|N+_PHsx#0wX^@gNlo^XoaT*Tmo#`bR$f% z)>ShjTSZ@u?+8CRNz1Q9DJpis#+vbD`f6xgwyY-mtMhF$P-ti!tj`1wb^pb3()bQw zWMl&as`LFsKU~z0<3&8u_ClA|nY-Y?!0JBrsk=Ud=i^(2ihc3v<>krB>Z+;+FyiF( z>)ekA*DE|=c3@%O`wZLD1yAZF`2e%#bdabg(DCUlbCAfd{8J=e+&3P&dGMRjj-Kqx z6+5?lNId8i<~cs!bNSjoU>jzaCn65$ely9qD|t-q(gjT|EmvDpK}F8XBdx`sYc85q zK7tnIefd&M_#x_X5$T>hxzyY4^IY@_jSbqriYh4_Y(`ER5Ij@!t`fN^h6EBQ_^OWOOza=rfd`p>=q-B$t2fIh=G z2Hvdj&FMXR&TlCQiZ=)J)Qpwitn?C=+Fd4BPGGAB1_vFhp;)nQUZNk=&x}stvRt^$4HpzPEujz5BEg zn99h2Ni8~kg1pr1JBB$50^ToGdul};|9xK4%3z%5&9GQ25mwl5pPvw`4A#5ko#0gV zJr(egdf|n3q5-{On1p&yjh{fB%)i4W5cIA^IhUh6WI?C~&tOrlEl-eq#Ie%;qIl`U z@A{aYF8>;rThGly1aHkm3viniu`PF?rnoC$mCFaIfY+QW`9`w(bWvO}nC0<1*&>lN&tdD;ghL~FV^q2Nbrq_`X_^pFq95({4j+Wh6)uC5N1I;dKf{Trz zLDq3CQwP$GJ??t@_a6A-l(((Ox%QIGF8KmiIP@bs`M0W#>t+qi9iZJBX4A!V-R*Uu z5a;0B(RgjEIBUZzQa?${h3gB)oLo-$wN@p>KE#}Wz?OgACspraToTi&4 z7zTuoIXRv!-r83;ZwUvUFcg${tY{Ro3vR!LkpL<1Xn3znSKLM*CS`Z~O6m5EAO1H* z;s3?_{-^E}{_|^S&7S@2xAY*FYLffGGj4B?#@Tr}#)0_1u5Q%{gheFrAYND1c^G>H zR#W(s@s+Y`S!4Q-fz^>I^7?`4s>h77txK{PzijXDdcLKcnmJ-x&^CVk)@|eU8Tb16 z{!bnyf-?XRCI~8tNwe|4ZT8NlTCK$)-K_77V>m#vZ%oajznX&y)kcI-+1dSDZB@Ny zzj|4aHdfB|Cw~1Si^3rA!>mQA?aWTAzi%Hh9{LH1-aB{o6~JkJq69^lM6J`zd0C8& z$sX~p0`!ywx#el>uiD+MzMcvEeLQTzk7Vrs2s^l*Q?X}%yf(?ic$7^))Ms;5A z-hVK4qZp}MrvH=8DWSD{+khqQBMu zxXuYTn!7gra+C!Gjj6>#|63I_Ji6>Hv zmr0%k{rcU{4z{XK$7MeQ{57r;CS6I0T7%Jj#bq{b?E?V}yfil?c4!I?m)(3i;jX&P z**cXamvU5aPGCC`(|>uPDs-b~FHR@P0Y}A1XaF~i%f7^W;N5h)D9l{~!1}VuuYwtP zd1=_H;z@s+qQF0AIqh*Lwk8BA1EyzBMCu28nEwUjdb91kmL@n(m3lgpB}t(IIFep;Mh~x9QDCfe`K9)8)eV@gYs8U25|IlF{ zgY^Et*w!o2be8ne+DBZo`Ki?@gYVmr&D}eK$J-JO zny-8ubd0K#=061|rzzS1F{i~LR?i@gPA=Iblh40yMSxRaf9(>^}1R(b<+gc#w z`4_~cN6)ndrkC}0yf(-P2B5{ndF`V3NgdQ^@jo_Bc)elH#>V?~X7G-Yr>33>cc(26 zlLEpA7{8a4>*RQNO?PPiwmbZ+JP)#`mPJY`_%%pFTip@Bv9ZYA6m=>MTDW}(ieDi+ z$YS&4vIDjyC&m%3VO`(;PplvCCh?ykAZu5+dkTVUnEpWfzaie~yVqM14Od3(Df z;V>4O&yIW6eJDKp=_bWs0Kem*?}*G&)+8`eQcs~T_Pzn6mozU?;zc?&)%;~`?agNO zHV0cV5e9iCziCZ2VNvf?xNGhhf!6|raPUdK9S$X7oivxZ)pkwi#;u}CGGEP#IXxJGk}UrMypiI$ zG9X6?cDS)I^ntN|t6v4vK}4#x%%?Q-Jj!%9AOaXS)&{R>c$CGZr_RBTP${;F07oyA z`|Y_h^Y?js0bM141`3@&ocg%(u7goWd+_@LY>Zl(v!`r{fzs2<*5@qKCWUt^Ci;ft zWT^lwt8FJ?un#g~vgDM(fH-4`8KwEGE%HY)$Y!SQqNe^ z4cttrGxW6@vULMwU0F(z`fW67u#wK18&r8(d1b*DZgRZSKpE)^nQf#8D%D>V7=31o zA2mTfb3;u$(@&mkp9%7P%nD)I#3PV7$-ztr(;s0lcH>X&$-WLm_AnE2Q^|CFp4}p9 z7Hd4{4Wa#>AZGpB;S@pn4W5BQhxPAl_f&%z+dQ6xwqln6e?yUdwhu?4J>$CGCmt+2gb^4?aVceGh+H?gUs8ifi5j z@c=fAu>d2OARg6<{#=UFIdCw98{VWN^&x6FxR3SKLGt(6?|1~$AcF~f5}|gHm@AHcze^UUl(>S zz6)sJbA*=?Sff;NGP5pg>f5%A3_Y%CpexnY*3f82vSV*B|`;lif~9%q$;-_i1zVY@1!q9hPfthl=Hvbt~JoIb$nRDC++w+ z6G<_0aUn+pI8-gIZg_ zn@gN(sPq^ngbzbGAF`MzZp~q$jYeS=C7GYTK%DD(D_<*)u*x|6$U3DU56yh0^s2`X z#`s6^nesI6!$e>FoIUn@r0OG+@i+Yt1kSPF|Kn2kTf!g18?npPQ)Rshi-KA7^ZXMd z#=@_Eg6U`@ccJi8q3xla58Z}ZI?H<;qXx)*g$n*tT9b%QD%r7ZM2ZAb&|bvH|KRCRN$6Rwry z=eHLQ>;Z(F8y5E0O~!AI7jjH~;THDNX4iQMNVx>;H(7 zY0_OBlf7Q ); }, [ isDisabled, isMobile, options ]); diff --git a/ui/contractVerification/fields/ContractVerificationFieldZkOptimization.tsx b/ui/contractVerification/fields/ContractVerificationFieldZkOptimization.tsx index c839e9e626..ac6b58cb88 100644 --- a/ui/contractVerification/fields/ContractVerificationFieldZkOptimization.tsx +++ b/ui/contractVerification/fields/ContractVerificationFieldZkOptimization.tsx @@ -4,12 +4,17 @@ import type { ControllerRenderProps } from 'react-hook-form'; import { Controller, useFormContext } from 'react-hook-form'; import type { FormFields } from '../types'; +import type { SmartContractVerificationConfig } from 'types/client/contract'; import CheckboxInput from 'ui/shared/CheckboxInput'; import ContractVerificationFormRow from '../ContractVerificationFormRow'; -const ContractVerificationFieldZkOptimization = () => { +interface Props { + config: SmartContractVerificationConfig; +} + +const ContractVerificationFieldZkOptimization = ({ config }: Props) => { const [ isEnabled, setIsEnabled ] = React.useState(false); const { formState, control } = useFormContext(); @@ -41,14 +46,14 @@ const ContractVerificationFieldZkOptimization = () => { placeholder="Optimization mode" isInvalid={ Boolean(error) } > - { [ '0', '1', '2', '3', 'z', 's' ].map((value) => ( + { config.zk_optimization_modes?.map((value) => ( )) } ); - }, [ error, formState.isSubmitting ]); + }, [ config.zk_optimization_modes, error, formState.isSubmitting ]); return ( @@ -63,7 +68,6 @@ const ContractVerificationFieldZkOptimization = () => { name="optimization_mode" control={ control } render={ renderInputControl } - rules={{ required: true }} /> ) } diff --git a/ui/contractVerification/methods/ContractVerificationStandardInput.tsx b/ui/contractVerification/methods/ContractVerificationStandardInput.tsx index f998cd4973..4cca7f95e6 100644 --- a/ui/contractVerification/methods/ContractVerificationStandardInput.tsx +++ b/ui/contractVerification/methods/ContractVerificationStandardInput.tsx @@ -17,7 +17,7 @@ const rollupFeature = config.features.rollup; const ContractVerificationStandardInput = ({ config }: { config: SmartContractVerificationConfig }) => { return ( - + { !config?.is_rust_verifier_microservice_enabled && } { rollupFeature.isEnabled && rollupFeature.type === 'zkSync' && } @@ -27,7 +27,7 @@ const ContractVerificationStandardInput = ({ config }: { config: SmartContractVe hint="Upload the standard input JSON file created during contract compilation." required /> - { rollupFeature.isEnabled && rollupFeature.type === 'zkSync' && } + { rollupFeature.isEnabled && rollupFeature.type === 'zkSync' && } { !config?.is_rust_verifier_microservice_enabled && } ); diff --git a/ui/contractVerification/utils.ts b/ui/contractVerification/utils.ts index 41116415a6..2c4a728fe0 100644 --- a/ui/contractVerification/utils.ts +++ b/ui/contractVerification/utils.ts @@ -156,11 +156,18 @@ export const DEFAULT_VALUES: Record }; export function getDefaultValues( - method: SmartContractVerificationMethod, + methodParam: SmartContractVerificationMethod | undefined, config: SmartContractVerificationConfig, hash: string | undefined, licenseType: FormFields['license_type'], ) { + const singleMethod = config.verification_options.length === 1 ? config.verification_options[0] : undefined; + const method = singleMethod || methodParam; + + if (!method) { + return; + } + const defaultValues: FormFields = { ...DEFAULT_VALUES[method], address: hash || '', license_type: licenseType }; if ('evm_version' in defaultValues) { @@ -180,6 +187,13 @@ export function getDefaultValues( } } + if (singleMethod) { + defaultValues.method = { + label: METHOD_LABELS[config.verification_options[0]], + value: config.verification_options[0], + }; + } + return defaultValues; }