From 5757a0c7ebf2d354d210fd428b39f2dc215cb58d Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 29 Mar 2024 18:40:47 +0800 Subject: [PATCH] Adapt xToken upgrade (#11) * feat: create xtoken-next * refactor: remove goerli pangoro and mumbai chains * refactor: remove unused token config * refactor: token inner and outer address * refactor: convertor chain config * fix: approve and allowance with convertor * fix: inner token address * fix: xtoken-next issues * refactor: optimize code * refactor: improve token images * refactor: improve chain images * refactor: update primary color and transfer border radius * refactor: update contract * refactor: update footer media icon size * fix: update xtoken contract * refactor: improve faucet styles * refactor: update modal footer button border radius * refactor: update transfer button border radius * refactor: update chain-select styles * refactor: improve header styles * refactor: update transfer-info pending * refactor: update trasfer label font styles * refactor: update transfer font styles * refactor: update transfer modal section border radius * refactor: update modal button height * refactor: update faucet item pending-y * refactor: update transfer-modal font styles * refactor: update modal footer button font weight * refactor: update chain-select option image size * refactor: update transfer component border radius * refactor: capitalize minutes of arrival time * refactor: update symbol font style of balance-input * refactor: update transfer-modal styles * fix: add refund msg.value * fix: the response-tx of refund-status should be linked to source chain * feat: add Darwinia<>Crab across contract * fix: correct redeem original token * fix: daily limit should use calcMaxWithdraw function * fix: correct xRollbackBurnAndXUnlock original token * docs: update README.md Just to triggle deploy * fix: use xtoken-next for mainnet * fix: add xtoken-ethereum to history records * refactor: update favicon * refactor: update page metadata * refactor: remove transfer alert * refactor: add Darwinia<>Ethereum transfer alert * feat: deposit and withdraw action text * refactor: remove icon.svg * refactor: update action font weight * fix: define convertor base on source chain and target chain * fix: update convertor definition * fix: update unlock original token * feat: message fee information * fix: update darwinia<>crab convertor * perf: remove sorted lnbridge relay info request * perf: code cleanup * fix: correct unlock original token * refactor: remove disclaimer * fix: can transfer all transferable * refactor: set up max for balance-input * refactor: remove transaction progress * feat: support estimate transfer fee * fix: remove ProgressIcon import --- README.md | 2 +- public/images/bridge/helix-horizontal.svg | 6 +- public/images/logo.svg | 6 +- public/images/my.svg | 2 +- public/images/network/arbitrum.png | Bin 175436 -> 1342 bytes public/images/network/base.png | Bin 16726 -> 1556 bytes public/images/network/bsc.png | Bin 0 -> 1195 bytes public/images/network/bsc.svg | 20 - public/images/network/crab.png | Bin 0 -> 1302 bytes public/images/network/crab.svg | 16 - public/images/network/darwinia.png | Bin 15420 -> 1099 bytes public/images/network/ethereum.png | Bin 11679 -> 997 bytes public/images/network/gnosis.png | Bin 19670 -> 1210 bytes public/images/network/linea.png | Bin 6502 -> 1452 bytes public/images/network/mantle.png | Bin 0 -> 1794 bytes public/images/network/mantle.svg | 6 - public/images/network/optimism.png | Bin 11798 -> 1065 bytes public/images/network/pangolin.png | Bin 10821 -> 1343 bytes public/images/network/pangoro.png | Bin 30365 -> 0 bytes public/images/network/polygon.png | Bin 24660 -> 1607 bytes public/images/network/scroll.png | Bin 22732 -> 928 bytes public/images/network/sepolia.png | Bin 24203 -> 1940 bytes public/images/network/zksync.png | Bin 6477 -> 724 bytes public/images/notification/progress.svg | 4 +- public/images/overview.svg | 6 +- public/images/token/crab.png | Bin 0 -> 1302 bytes public/images/token/crab.svg | 13 - public/images/token/eth.png | Bin 0 -> 1010 bytes public/images/token/eth.svg | 1 - public/images/token/kton.png | Bin 0 -> 1411 bytes public/images/token/kton.svg | 68 -- public/images/token/mnt.png | Bin 0 -> 1794 bytes public/images/token/mnt.svg | 6 - public/images/token/ring.png | Bin 0 -> 1910 bytes public/images/token/ring.svg | 25 - public/images/token/usdc.png | Bin 0 -> 1073 bytes public/images/token/usdc.svg | 12 - public/images/token/usdt.png | Bin 1491 -> 889 bytes public/images/token/usdt.svg | 5 - public/images/token/xdai.png | Bin 10541 -> 961 bytes src/abi/guard-next.ts | 740 ++++++++++++++ src/abi/wtoken-convertor.ts | 288 ++++++ src/abi/xtoken-backing-next.ts | 1116 +++++++++++++++++++++ src/abi/xtoken-convertor.ts | 125 +++ src/abi/xtoken-issuing-next.ts | 513 ++++++++++ src/app/favicon.ico | Bin 11285 -> 1825 bytes src/app/globals.css | 6 +- src/app/icon.svg | 14 - src/app/layout.tsx | 4 +- src/app/page.tsx | 6 - src/app/records/[id]/page.tsx | 6 - src/app/records/page.tsx | 6 - src/bridges/base.ts | 25 +- src/bridges/index.ts | 1 + src/bridges/l2bridge.ts | 2 +- src/bridges/xtoken-next.ts | 466 +++++++++ src/bridges/xtoken-v3.ts | 2 +- src/components/address-input.tsx | 34 - src/components/balance-input.tsx | 4 +- src/components/bridge-select.tsx | 4 +- src/components/chain-identity.tsx | 4 +- src/components/chain-select.tsx | 16 +- src/components/faucet.tsx | 14 +- src/components/footer.tsx | 7 +- src/components/header.tsx | 20 +- src/components/history-nav.tsx | 2 +- src/components/history-records.tsx | 1 + src/components/modals/transfer-modal.tsx | 125 +-- src/components/record-detail.tsx | 26 +- src/components/transfer-action.tsx | 13 +- src/components/transfer-info.tsx | 60 +- src/components/transfer.tsx | 138 +-- src/components/user.tsx | 2 +- src/config/chains/arbitrum-goerli.ts | 46 - src/config/chains/arbitrum-sepolia.ts | 30 +- src/config/chains/arbitrum.ts | 39 +- src/config/chains/base-goerli.ts | 37 - src/config/chains/base.ts | 21 +- src/config/chains/bsc.ts | 32 +- src/config/chains/crab.ts | 11 +- src/config/chains/darwinia.ts | 33 +- src/config/chains/ethereum.ts | 24 +- src/config/chains/gnosis.ts | 21 +- src/config/chains/goerli.ts | 64 -- src/config/chains/index.ts | 8 - src/config/chains/linea-goerli.ts | 46 - src/config/chains/linea.ts | 21 +- src/config/chains/mantle-goerli.ts | 46 - src/config/chains/mantle.ts | 32 +- src/config/chains/mumbai.ts | 17 - src/config/chains/optimism.ts | 21 +- src/config/chains/pangolin.ts | 4 +- src/config/chains/pangoro.ts | 38 - src/config/chains/polygon-zkevm.ts | 21 +- src/config/chains/polygon.ts | 30 +- src/config/chains/scroll.ts | 30 +- src/config/chains/sepolia.ts | 39 +- src/config/chains/zksync-goerli.ts | 46 - src/config/chains/zksync-sepolia.ts | 30 +- src/config/chains/zksync.ts | 30 +- src/config/constant.ts | 8 - src/config/gql.ts | 123 +-- src/config/index.ts | 1 - src/providers/rainbow-provider.tsx | 2 +- src/types/bridge.ts | 34 +- src/types/chain.ts | 23 +- src/types/cross-chain.ts | 6 +- src/types/graphql.ts | 139 +-- src/types/token.ts | 2 + src/ui/modal.tsx | 4 +- src/ui/progress-icon.tsx | 77 -- src/ui/record-result-tag.tsx | 6 +- src/ui/segmented-tabs.tsx | 73 -- src/ui/step-title.tsx | 15 - src/ui/tabs.tsx | 93 -- src/ui/tooltip.tsx | 2 +- src/ui/version-switch.tsx | 36 - src/utils/bridge.ts | 5 +- src/utils/chain.ts | 40 - src/utils/cross-chain.ts | 39 - src/utils/misc.ts | 32 +- tailwind.config.ts | 2 +- 122 files changed, 3524 insertions(+), 2043 deletions(-) create mode 100644 public/images/network/bsc.png delete mode 100644 public/images/network/bsc.svg create mode 100644 public/images/network/crab.png delete mode 100644 public/images/network/crab.svg create mode 100644 public/images/network/mantle.png delete mode 100644 public/images/network/mantle.svg delete mode 100644 public/images/network/pangoro.png create mode 100644 public/images/token/crab.png delete mode 100644 public/images/token/crab.svg create mode 100644 public/images/token/eth.png delete mode 100644 public/images/token/eth.svg create mode 100644 public/images/token/kton.png delete mode 100644 public/images/token/kton.svg create mode 100644 public/images/token/mnt.png delete mode 100644 public/images/token/mnt.svg create mode 100644 public/images/token/ring.png delete mode 100644 public/images/token/ring.svg create mode 100644 public/images/token/usdc.png delete mode 100644 public/images/token/usdc.svg delete mode 100644 public/images/token/usdt.svg create mode 100644 src/abi/guard-next.ts create mode 100644 src/abi/wtoken-convertor.ts create mode 100644 src/abi/xtoken-backing-next.ts create mode 100644 src/abi/xtoken-convertor.ts create mode 100644 src/abi/xtoken-issuing-next.ts delete mode 100644 src/app/icon.svg create mode 100644 src/bridges/xtoken-next.ts delete mode 100644 src/components/address-input.tsx delete mode 100644 src/config/chains/arbitrum-goerli.ts delete mode 100644 src/config/chains/base-goerli.ts delete mode 100644 src/config/chains/goerli.ts delete mode 100644 src/config/chains/linea-goerli.ts delete mode 100644 src/config/chains/mantle-goerli.ts delete mode 100644 src/config/chains/mumbai.ts delete mode 100644 src/config/chains/pangoro.ts delete mode 100644 src/config/chains/zksync-goerli.ts delete mode 100644 src/config/constant.ts delete mode 100644 src/ui/progress-icon.tsx delete mode 100644 src/ui/segmented-tabs.tsx delete mode 100644 src/ui/step-title.tsx delete mode 100644 src/ui/tabs.tsx delete mode 100644 src/ui/version-switch.tsx diff --git a/README.md b/README.md index f1d120a49..8d6ac14c4 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# Helix xToken UI +# Helix Bridge xToken UI diff --git a/public/images/bridge/helix-horizontal.svg b/public/images/bridge/helix-horizontal.svg index c06646f3a..766a72da2 100644 --- a/public/images/bridge/helix-horizontal.svg +++ b/public/images/bridge/helix-horizontal.svg @@ -1,6 +1,6 @@ - - - + + + diff --git a/public/images/logo.svg b/public/images/logo.svg index 9589e85c7..fe2ec20d2 100644 --- a/public/images/logo.svg +++ b/public/images/logo.svg @@ -1,5 +1,5 @@ - - - + + + diff --git a/public/images/my.svg b/public/images/my.svg index 2082cbcd2..7a974d3d5 100644 --- a/public/images/my.svg +++ b/public/images/my.svg @@ -2,5 +2,5 @@ xmlns="http://www.w3.org/2000/svg" p-id="7589" id="mx_n_1696786356863" width="32" height="32"> + fill="#0085FF" p-id="7590"> diff --git a/public/images/network/arbitrum.png b/public/images/network/arbitrum.png index 61d7d70f2b321ba905debc54bd7f110411f56649..c5f572ce7cd84cc18bb33b89a2ebf4429aa9f5f3 100644 GIT binary patch literal 1342 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%0DaK)&0z7(a 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 JPDHLkV1l&~6vF@j literal 0 HcmV?d00001 diff --git a/public/images/network/bsc.svg b/public/images/network/bsc.svg deleted file mode 100644 index 62f5c29ca..000000000 --- a/public/images/network/bsc.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/public/images/network/crab.png b/public/images/network/crab.png new file mode 100644 index 0000000000000000000000000000000000000000..c0de690c5171c34768a431581af556a6145576c1 GIT binary patch literal 1302 zcmV+x1?l>UP)2A;YtaAy|LW!U%)#uhp5U5=*oAD+b5_Y=K*CWiyb7X0wg3PC26R$R zQve`el)>jJoVJ+&00fdrL_t(|+SQufva28rg^!~ACF%P=?x|2_6@p@GJDt6*_E^J5 zR)U*K|DDw|&t_THmF`;CWij*o?~*jYtkluE%+qHG1;8vKw}(W8IfKmgjLeb%a_dQi z6X#MslUYI7QRbNGUBogVfb%Y9G8^J{Qtx5r6^OH#b$;0?AkJf!>9sWE_Oj%KWF~_& zUQfoHvyg)l#eqYPzH=IQNZ{f1&l9Kz_={lTl@ySdtE!L zat7lwl(}0F`6NVoWm!;=kCo-iX2G!YW(mpg^4KtQWEOjCyC0La{wS{Qu<6Jwb~Zz* z@wR|yt#xvc3QcDdaW+GOjkp*sZJBJ8aqY*6M4KVuc|5t3V}{s+SfnyY#AiszsAqD_ zkT9qU5*fHc;Qyij79EyUHv^~O)IKVwO zRRblY{Lz~di;^;k>6q#j>@)c$5m-1B3LEaVuIK<=DpqaZ7|Ri|VL-?drDxf38K znM!03n6tiJImEGnbHWA(zViw+AN5ufnZqYiyj{M z7UJ`;xDWL|0cq_|(-o^!mPOqTV+bgE(nEjotqFn+~i z)I!rZ*k2cF48e-m;uwmyuIY7Gcyw1Nio6FgT}ZICVscGYIVf%qV*1<1sI1Z8nA{pu z@c%?NunSOL-s0M)N~~|&qNE4e+YvcY&*iEtL2^Z6`(#xVqO_6dnZ>sz+NA(zvFfCm zIjDMfXGpYJq1+LZye)I&Sh|SQ#h64=rL4Bxswe`p2vtx!H}x3|QzcP*qJWJP+eV(s zU4-&f6vFlxJ0i8=4r#Fd13wLr+;i4epQV~5dBme6%~uD>;Zk_i?ouHyy?2;UiK%hdU4W4=VL_^8~4|&j0`b M07*qoM6N<$f}`|tUjP6A literal 0 HcmV?d00001 diff --git a/public/images/network/crab.svg b/public/images/network/crab.svg deleted file mode 100644 index 6df40ab5e..000000000 --- a/public/images/network/crab.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - C - - - - - - - - - - \ No newline at end of file diff --git a/public/images/network/darwinia.png b/public/images/network/darwinia.png index bdf92b09b6d031bd1c6b792b7f3ca87ac6791787..874eb2960a0aa19ae95d6062cb3a85425ba9ba9a 100644 GIT binary patch literal 1099 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 T>JsQF00000NkvXXu0mjfAe_r) literal 11679 zcmbtai$Bxf|3|}2$(@pH%zYvywOnQ!hTLzP>u6H0xy${UJ995Ja*LQt6UwbzL$1k$ zD3@H4TS!s*y?wra!tecfY-jJ+UgvdxzRr1H5{wMAPeIN?7#J8%>EN&?3=Air#~<(s zfbzZirxh^p8Qn0`{Jyyr6&-U?QIUs-M?zAve{iU@tlY`$o-@F}b{9wRVPIhAIsPy* z$Gkp ziIJ0&3J^wC89;1{mJui#1DLz_pCTA3%uqJ+`UEJ0IYJEokLCDWuQrVJczlHV-v6O7JVb3|3KlJkbA*wo962C%$m^HnM1xogi}ep6*7MoiLK!wS6c+;Xq+( z!%oWD*`~Q>`kEERiQ8?aM3PX`(gfB9Jc zcAX6=yi8F1TQ%H{EK-==njo#;Kt3crcXYY zddKOD#G4cwnqAAo%?i#BJYH`WzhGyBLJ0>q*f^#0tonL;BD za7=-X8^78ais}YitS9lEC17Z852V4|t9(44*!FVfoZ?Y~TJh zn)c=_=$-jE4htAQc*o^hc=ww_VG2hMP&Ie#n9H7a*jBbD$ci-NvRb-#F|$q0q(?G;0)+@3dus+REvtZST97fIVW zanOQ}uDb9*0jgmI8h_SvHdKoXDU3)53iq7Ur+kyr#a9I!OO`9FiB6{Rf23nNK3&I0 z64y7QrI06024r6ra9BX`hR&My&rL>5%g!*-anMx9K2O6w{>ERRHv?>>y5Q*NcQEU# zCQFKnf4&)wWgQ!%Ftc2l=kb0by%lBl(m{ z*O`@Dya53E)DZee-a=DC(nCxjgZY;EN*nYV6%}wi702sH+A@v<(EjVI0Bd)t z#3y1p^tTg>k;EksO`PRaqC8*TRdiW28&B^NhmJIj(PVKYqMPl3aiO|W{8WlY_Q1Aw zdjkw9d;?p{VNR7W`jAsIe{&RYJp|-hpyB8m@LAVPp@g}QX^fLP74)L&=J;=n-J>x> zR#O1LDjAt}H+|L`kJ;Hsmy~Rr%cUA|eCId-Wa{u9T!{X)^isW=$E_ORuj8Wr&7OXu z%V!?uDkL|0l5vcSDw1AJd}pDP);b7x1gbI{)zGVS;eoA6L7!-BL;`p3QnF_DId(5u z^IHvEKs1b2f=_W*_%7e}_J4E=C=w`sytb&Q_*#l{v_aE1Abuy>kv0z!&z?i}DYUWN zH(=#~ldHNW-+0VUz0V%|S;DEH!8EB-Z}LK~{7wD~_v6;H1!;YyF#hw;lv@#ZJ$t46 zk5`eSZ1lDP*_wVzcy#}yKhQG=P_?ONy2gvmivC*5f7^czq5=%+PxpeKDyB)i4;CrJu*$%rC&1cgV%(J|N5<}rmAqc9eGt&M$p&tuCQu3 z+ot{LJ|+wgVvQl=Ad500M4CWqj{9vr~tIHYVfeR_vJQy)B%I^tY7rBzyde2lJ zfCNU8Ts6t=tF4i-LxHH!u$MqL$fzqdmpXp)Gzw&VCIg^y;5(3&ZA_$wTD3b2`&xLFO@_em8%?Q3&;d%*6TNCO|TJtah5fNqX$tw}(VeWYkYsWDQDjfqS2$<0(1 zVCrL95GPl8F!sDN{GC00*U56lSHXj6(g59IPfysWf7Ye_4AjR|EbWVV?j~MQ?*?u> zHU4w<^fOip2a72FkjG6UO~I84Mb{X>~o{f~`_9?qG!{>~s{h6g-a)LUAmZGgQ zV6(gD7U6e#Z#0W6E$P6B;HbR;=;%uiqZNG;ZpS!^W>k z)$@e@(u6Rcklw|x7}pw?$6%SiBUU2Mv4)PWJ_(MhpMcI$rZZDM1?uQd?ty%fD+R>* zr>6?ri%i~f`&`#ZNR!4S0p|JbF4ePj`DvYvqvrm&vEvRf0=qM>1+<45T!eTz*C%5k zzl3unlxeaffm>OT8=)1y}dQVm6X^=msq$tw@4 zsP;NP^qrc`$cPc;c9+fQUr2XfIc&}A55b;=V;U0xY78T>cQn=m%!*(Enqml`3vzMy z-g;cKxcACYV-6laU#D{T?-Wvaw{m1Ul>9PPC~a5f?6vJOtqS#_OAH6%_`S=XJ_6Y7 z5(^iul7Zx1P76SleEWe~_>=GHjrwnb+AP~p-#ztN*vfsR=+^!d zI#_+O1EMkSG&?UeLz-6-9HN0;Bu3gdpx9`MJJoT|0r^elj!)@q6@Up3HoC*78MP0I zHL7m~Jik^)KbZcu;tO~+^;znJo_=ai0_P#IN5x;THGJ8!vg@^(1GcMfp(iJ2OT<|5*a828EU>=vY?I?-M6B?aJCS7d(KyW*8fN zOhB)OBTXuOMaJ1RL2FrIpQA|}KhAc=v!MLVXnS@bg~3wiTtinFas}8BZ)dqL@#k(r z?ssnYTWtZA0j%RK4~rc2Y^@6_4i}LG#B&n>(n!;l!;}u32xVpF=c` ze|N%cjZmino#QVzwG}YA?Oy;bLDuqdB6ob$D8dB%YpOv_35R#m zRUWvMUf@+Du{Ls&Q5aZ@ADLOUC{#*iEmpjNsxpeJHtv!W zknGRSvb$p%X`r=N#!`(OLR6Hd7#`wc9TsS*Va`C|X#eKTujgPdZ?Xun-*}bBz4$QcS2T_fy$KDSp_NwZ|PYH7jMAsD=xb_K%*D#<;(?q9X&96#Q*`!>V22(Rf$3%lTq92mFBD4zeA1G$D zFO56N_qecPFj5BwC#xMo!?>{dK9ko?<^(O8%I#P=3{SF^l&Qss#$-=rk>oinwZE$m zp@b-@=*{xeCfq(OWgmE41D1{5^(-JlKhBLu689{-O}-r#|9H>NS8XkQr{<-S+_52* zYVoffh+3F$G&6-iLhB(?L|1*B1`Y7?Ro-K-C#d2$+4VuC=@6rr34-}T+_40{x%=!F@hRVt&BrH*3LZPK3wIb8oZrxSB77+=ghvn zFet0J|Iw{MqYP6URD`EZ6p2R5#^!q`On9mw+*(DT1UT8i!lPIW+@5PS%q*^j8ohR< zlnq2NU|KCpEZyqL6TR+|{Rdl?36n1++X|v-Mk|z)vRb(;_O-ssd7{s5KZ74_>x;1* zC$8c&_u~+QpU-HT&vL>w7c7l|#6j`Ge($3@g`FFR|Nbb{z4p7fFc|V*Rq@F-71EDB zT9$upwaOKKO}kuauA+hg%#q5WR8(oxNRlDL7goAb6UD!mUwVOKTD?)S=GG^6ep^YR zZK!pIKh-^%tZ<6!u;KzoGR_l~BS7ecR>v2fpXT~H;q!gwTrMd} z2`iqN-WMYVPXc*QKR#S|&YnK7t6g@X^_HS$!o`~kW3D82Bn9OC=t}sX`zAgw1OHkS zmezCcQ&$2Fi2i6GNuQnW?*%^Kyog3mrqmPdumo4N=ERRw!J;u3Uin_P>QAGlfD6m_ zR|dmKo?=pMll*D_=EYdso5pmvx9`GCqVA=WQ2TDmGB5(t_I4a89kmgkdIc307cbgh z!n454x29h4#-w+VXW2K!Kr-?Z&v^+{SXb|A+J0BBl|!-ZLsidDlCan(Bb(sULePKr zaVCZJH(UIbYe^4#39Zdj@_&87blW*DQ19y-dS6M-f5i8U`d4uYKgL#f0Sg0Swa-C= zFU~gwBR8vLef3XLXi?VgQ6!Dp>aF{S#SC{2){yT+j4v1|R+VmjG2;PlgmCwk_AOjS zg{}E5SUD+bS^elo%=6mi-ttQXdHV!DX6|h(;R}+@zpNGFwT~;!GUTc&NJYPvR2e$4 zs61w}GIP{FP)!^CLi!5aYiMs$RMx{E!@2VN! z8WS=YiId>e9^?S@hn71Zk_wLr z2>Ow}kE}XYE^z;CI6JxG_4%C2_nk1v>F}OLzL8a_UDwWq*DSs1cVZ0>*_9`UIL@3c zM&@4v)6M6$1sLD&PE>gtg*nOy1vFwd$p|n#c62*{(S)Gb)0wdCgn9UNZvdV2_c-cv z+qsM;>ospBPcC>-Ng(`atgQ){ZLw(U*BZk!OD*1fYs;{p8GoZi{d31^lR6eoF*;I0 zA7!6bDw_^bz)n65;xZHhtz~Ql8b+w>PmJ|Zzc(3NKKb3SQG*7>Z*D#eS41&|2R@XW zdGkS4*yPT{i;-10IZZOHk)^lrb=Z~9)|MgJHuOD7^l|%??O32Nn*8o`X4&{Lo4C#& zFKUehmY%b!*fxj%a)4yyt1M3rPIB*CWH%thq&Z?xSii zB&QmJdOa$2HPWwK?f5yx$n2Gy0`evVhQLuS;eqNqj}9+3(JW^|mS2fQh9Fhcc%g?G zIp0TWrY5@`Uzgl%5dd2Azrer{1nS#Ryj|1d>hJxy<~;Cm`mU;|oq=X|V{Tup_!WU` zs80o!g4Raou+Rvzovnj9D~k;Ew$3Lq1~negaiA5%ZRh(YxibkjRnS`}-ZH=EEPONOF3$x(_8$KZ9nhT%0&i z4~?|TC@*Zk zRL8bdVgh&Q=W_0o^z#5|Dk!T@|-y1RiPT*C{=Y$d!*C2fx%*{I#P)qsQX$n2Vc z$x}CE*Q#V~>(FI}TD7_`l!1X%mlnb0Aa-T<8JI4oy3=-|q~f4o?o5NFcYvxEj((Y~ zWH&}z+i0<}Ji|)$$(XY)w3HJnU%+g>l0S~TilW^zS^)?(iCn+gKF=q$?v6=9@cGbAKoL{zB>`8-K-P}MGGXa>gv_~kwkfW#f1kWJN zw5Oqjn-XNeQsqxRb@?dm=TQbCMuoZPh?e0SvajuMkTWSnzYmv0E~1zw-b+L(ytpdS zF7tO`RJFwMlQ8dtciSyx*klSEwgc6G3$MVvulBKGD7LCQ>jvcTZ=u|#x zDOO?aq&JqW1e#oN7&rU}3C2_(~Xhx>iC}%EcZRG_t zX$r0=*DR{?g#g0!R&$DMA(%k^RRTE%f z9u`I2e%x6H=G1NeZ-!<(C$v^Jke?A?xq_9ziPp+84Ch@%3F^iCr>GEv1%Xq16r_jI zAq-Y)rYzu6+Y&Iq{huBGn;7Nn4g$yu0>e?ZjDd6&#tyuwN)lklps*-Loa-YWD)9zj z^#7QxB(T_sk*lnoJBTjUCyUnuBcN(zQ4sh$BwsV)P4ye13cEk^7eeu|qW_sCyn{Hq z{G|r`{=15+zdy6i;oXQ9*};8e$5rL#1Lx?cp;o9CeW{<)non<83aP9of+ue+5qRn< zYko+nycWp1)40Co4ijZsEb95K{s_x+Q~|yxl)awnJZLrb*ZgYN#{ORfjP$dRxW}bl2T-dAu36gsSz(gn6D!KOacHk+QQqEHuBM zb>@dbzTZFag35Q@=3f!S89mx;Z{0?YXkD`SQAKG$ZS??KF?)AIA=vtNWPNh zLdZW^Q01izrK`hvk+$od(Gbr7xT{;f(uL-rRPhaOFsM>HLrHNskBHdbvR5gz&7gYS zqkl~C$*$;0Vpz>0oqAWNC8CFTF%p+RhTWsTxtTD`5)Z|Tk*P3kLDutnDhj}wEy$(# z3B2&+dj-d-TY+z(goPA^)Y+@yJrJgnL#xer;9AFjZ{s;ubs-9}83sA zk@ebsig=SybUWD7c66R#okE&!*m~Mu`JEnnsBwm$!0@+Txr>#=QM4p_<4#q; z=+zo@G3Bdj31@ztrVd@Gw0BKqZKyQu!+QUjhqdtfkQkc_nj5})Zpyo&>SH*RlM!iRG8F>O^I0; zo=jc4N6)^Q0Lfca)F=OxLW0;c{7wuvm3Un+Ez!NAPFeyUl98#_T7vQpmg9A^J!qd_ z#Y%tX9!8O7V4Bqqmb6JsA-iW?bP@v$y>Z5&rQ9oj5H5q0Jk;O;^D8dONPCAEsc+5$u%n1wFp$^k3p|BT^WlXkSjKB!{sS067 z@jidQvu0q8!5XzsyMHpaJaV>ufAutvZpb?EpLsqUM|ZEtKAlCB5&lXdKsnMG@kn#q~#C1SpYwN7a*22gV3CPTV2%iYFf-}-FUqP2g9=y z56>ZguLezBRn{Qeu7@14$+VEEbNA?$U#P)IQ_-6+OG_FjluUhoF9%4Pb*9OcOsUU$ zaYQcI%^hl2uEAusRJOl{ZqE$G8R(UY!#_L{AR9e9uB$ ztwRSpA?&M`wBZN_a;hXXJf%GJt`F{bK~vXPPB@CW?`)2-o@UxgNu;drZ$31b zAMT3J-{Vty=O?4X9ha%qZ8|58);gKqV^WP820@~Oj$ z(sex(VlzZUSJb`_Tm6ZV%>6XsSE{6(FOL2|rSjUP+Z>Qb6OnKOH!|az=|ZH1ZO9YgtpX2 zY0a|!AZ`%54FYqN1~eIH*$ z>yv%G%zFW%#XP5K8%>N17F!h0-!p94EyP8z@_Y5O1a?bXkDTcXigo@yWv&<&EINr{ zvmbtns(sU1KWiCC&kg-iyf^jByXv!map2V$i2O=4sZ`}%lX#E7aQ4^JtwnnNHQEso zYB-C5x`y6;{TjIunX{7V*OmOJte9GqHrIS$j-Q^}{*&a3^#f5a7QdsH3A(mV;T`NuwBB5KIAl1}<-m>8lw^mX59m?y&Z zbpH$0kQXCpR^d#l`?NvYRaX8&+Be&FJ98cWX&C;Abw<6rzXRsg>vB)8-l>bd=L0W1 zrZL|nQ!}idFCUGGt0Pw`E&Ut|JJ^F#$#-)<)l48eSt_r#Fouj_un`e$PB^b2_DIHN zgB;Zl9L>|iZ24=pJWnRISVN#4y%uSL6@hc?DFQoZz7P?HDw}|XQ2nCit@47gT37ftT z&0=?!o&6rnF`vNpzN$4iyY6fu`HUdX1Ud=DJf@QODjUv=%jodH-HI+bGHL0+=1vH6 zJO%~$noVhZ@jVSdlO>)r+*jcxV`-Pqhh5O1pRmDX)N>qt@{UjJ{rI8e%L)SSUr&M9 zla1F>Bs3Q{?>@~;jO=_|mr&fn-UB7HKhAFLJF{MO2$N&hr9k8b<4M1h26a<)TNSxC zCr%YGva~ZrV{zV>tFFc&vTfcu7u%Qxw%>)XE#?zTUKFd(znxw?gmEGibYnnz=Ur~+ zW|aE9cHzro1`^##rV_{Gg|sfu+Zdl1{R@Om!JtanCFpuEv-9-A+iJ8JuS^ROk-_KY zl9eU#o827}z~-a)!`AjBIylm9*VliSoHsBA8kY@O7qBwbZ2)uU$+3ArmP-V(=M?dUG58j=u^KY{F(U zojudZ$A?f*>_b|gQSoUvv7l8XpZ`Sy!XPU=ck0u0u@6hX;XJzbO(2(}{)}Ic99EKA zLFp{&VAslmB|vj8ItPB8H5&_X)`6Uq#ZV(}BVz?^v6dmXNNm9NcH`w_UcQpnji*5Cu#G*!2E)lq`#7BvH@gM@#c&-%WOSx!sMxGpETLvf3LXK z!JG<+K1f$%Mn|@;_s0>Fiy*L|5<25sl~0dJPnj{oT(^yon**$ z@&?VDu`u)9O4yvmz*ZCiXAyj5*(Ug{ZKg#pruNMU*SwzT(%rf#ttUn3&7H
4Ok zX7vG1zu*TNZ$xG2b6pQ{ znea!0_d0eaBS&>Cd{d0(zKj!`)_wyQRD$`WQvL0~`5FC&iH9sv%spwG>T`D2DZhA& zMuvcn_8^8Nu4EINTI|wLlFY6GV!y!&n>4Ft19xwmKJx{tjU|H*!r5Itej)rrED_BA zlDA+8ns~TG*SqMIar3^w0EQO!FzWukx^Gj!hRWw_z6?t+g7^o1NQLRphr-#jK=J6{ za;}H)oJ^Pctp9mTK}}A9t?$QI8%|Tv>B=X`6M$X(Z3`HjMxrS9`FZ!|aPcU3#qhosE~oacd4riiH*{zn z#@OJoOL^KrHI{BqnsF-Al8*y?%a$vtPQ_)EJ`{@?tLp5>J3tHaiYg9 zWZ9x{638n8hS7a_TPS~n7x;~#{bAhozi(-i!6chO^)0>Pd-ux>OA?v-bh|L{WsGS9 z@mdDo^65)9QFtMGKBP9Hi(oY6z#s$9inSiLbgnZQ{a3X5)F%P<6%_hBtCu&9e zDv%=mJvV^KufWoU8kpv6gIEECHZ6}}H+H^@h5bhCKU!uOEghgzb!fU~%`R(JV9wg} zeThvXRp}=HUvRY4_r(qFAC)lirvZ6E?kQx5JU)xW9J;&2e;F{96ch6s^J|NV)O+hB zuM_{%K=t-KMfkUS=gR6hp+w^h^ZF6L?pjJyswio1fbAK$HK$8 zSBOKEd#u=4~o!f?Vm!?=1;hRIT`ww$x_cXAZ zN8NwXpbqRFBXUT(ECNFFBoROn103%9TD#Z! z1d0##VuTTg1val%I;BN+=IHzI}vmcsv_mfulL0fLP#96gRNEGdQ{dU;pnz@sGOgQA6>#4%YoxmX4+Ywi->0 F`ai^#(zO5p diff --git a/public/images/network/gnosis.png b/public/images/network/gnosis.png index 1e3b7e33dade098b7c7a9e2d7ca41b18546aab4b..8c2b7466a5dc5a62c8c26c956c3260ed86e29985 100644 GIT binary patch literal 1210 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
?v8n)L&JrFGho`A`6^ z%ZpbgIp)orI+!aSLD5A|1vE5{hgwT3NHR7v!7eN=T(ku|FqvKT0W`$s)f;yA88+}s zWOxNVXqr|68XEPmR{6o<5a+j)&R-HU#aFcOOaVx2nOy#9@5;f*1WW{JeP|`1(c%#q z`Rizk{9}suF98poWv=@GjseYSd|k62qNjaYy8|^eK*>Kj{i*=j1N-*zC&6P+xu+I@ z#OC6)p`POhEoC7#f}XX%&J@&Wv9R-e1+qoFHv3m=o_)3&JVv4f569;Fdou%GBO_#> zy=qV^0gV;}744Vv{&$5h`>N7Mp56lqfVWeCdI*~9Y$NS=3spdcO(m#j1sW{{_I5hr zOGq=Olko3_1R+rhKrL}xJ~yxiIh#&(aX`zzMhk(x#s~HofH##q{M;r;VCPSq0+1jj zux$RqrQ`&eNmX#zo)UqEMstNd^dI2dxUqQN;`boI9o};%U}M;_dP8~cupt}C75E*h zjSRhTNTXT8O7h=pa(=_gq9scq2}Zl5PyiBJ%Qk$LJABYl3J6?4)#9@W#k3O8XdbY3 z@;m||e&>qEpZ_N$36e$uNNl~Le0877A%{rpFQ7xM1T>ljNleB1qEkR40gWVvy?H0@F@?Bc z`TXP-eu<=401{iv)^8*wP=-ugOuDs|E&W;vXe15nMZGe;e-rtxr!1epcsZm%R$EFa z00~k8oBNF%^ftLw#)4uQ7TPhWksPr3`|1CcriuO)^A~M^6iI1K83iD*`GfLZ-OoAa zWgqffs_@fD;KsF6s7y?tc%FEY3>y|if24oIPV_LNcp65H2&e7N_>Z!HDJv#IV! zf+Q2rN*|kd29Lh5xQ%A)N!l$f+U&V6@;OO{WiQIEC=I50bMV@ef(8(tlI>f6pb1 z#m7lBHwj@AXI(dzgLneCI9;g#oj9ZsGwLb3>F@ghydc>#`=Uj&umBoBY+1d2ThEb$ zUMEdG2=tUdBW6U#ec69r34*w7MPcA$Xl7_`3P9oO56buV96#uJG}!?r#BfsKnW&~} z+CivsN?60bbo3$aBxm2fd-uYxKm1$ZAT&cXcY(lhv##%l5c)H<=w#a(NGuPcMl!=5 z_EG*>Xt1pNisvq^^Gw zY1A*W8|+o8l|l1DB(6s|f}Aa=WANv93m0vL7B=cPgzn^22ZQ|nv<~f!a}mv%G%Q?A zeWkTp;Az#4uA|h39n@39`vH1gC`_ZMinZQYR#X&%7C7oRgznt+z%l+YnQ0w*j{t^u z(`a!ioy%%4E6{b7TClkJtoMh3u@{0I9&NYfQ2Fbxzb;qq={@K`ck1Jz>VqtToc5jI zLId$$;5dRtkW71OpzAByVXxFBkB)pjN@q&x@P9)4wyjweSXBdB@Q;D+&?g3tx_w%g zbOT2t<1+;CJdk{ZDu+NXG)g`+nBpTIpu;yAgQB`U;@wq&fEN4{K=L*#WkRDQs~axbf}EN z*1j_bn>=(iiT`()fWdOp67`|B3cN)9aE};5;2Ss?i&&lbSJ%V*vp^tVf<}{|du;ST zC;-gccS8?eXO87eOkqNdq3+lXtdU6P6S#%QXfGQo^YB+w9oPyW%ia>ski*FCo|~ zCHsS4f*$STg6^Eo0rT#i*3qow7gI-_LNz-^E<6IcZyX%z*0K#wo${2ix&iTffjnlp*x^^kaerpnT?<0?*t(jNoMPJ7{Udl40_S|oX8p^ zMK2F6B+sB>MlOUG*t<^!a}b@V!x67hJRI$-n{7LhmZH0`LYAWgtU}M?~fs zW|}bqh1~E|j3T-3OmdMa-G|}ng8ET|g$b#PZwfq}GU=fX(ZO!2nbp8~i7@#GJF}`j z-Smjg((@8p0VD>IdLMiLm95earJWgKzVk>hMlr;5>2!Dc*IF)4ve;=X3qgc`s4N8m z$M* za`jCG{VfMz8v#P^i(34!D(%b9%ZkcE4KDy1358Yw$%*;_U;h1V0iM5YU2m4|I~_Ql zK_3kw#n6{TFPEgPH@&vDrVsL`VSj>s4a7)g5$?|@l9 zqRam|ojyosw$Zn?(&fKG#?~_wUl?3`_I6=lhs>9tfBd*-(num`1&}(x1}Xu=!j)H$ z=QDTo>TLRIyQ1mq%$V7g1hWeYCSN;|%*v(Btw~U`>8IH;bCE>bN3WUT1<&-J(`U6L z(Iz=5tLS`{DWIA@J;VeYr9k^$CU^y%-)%D3!%VRr7z?(^+aS$74%=$`;f;e=xw dTG&$n{~yU@*wLoL(53(Y002ovPDHLkV1lEPjJW^+ diff --git a/public/images/network/linea.png b/public/images/network/linea.png index 2f7f68b97f06e1ce0c4c799c51a1eedefe2862f3..7c19d8159b03209e5a3a9c87db2c16b165fd6f43 100644 GIT binary patch literal 1452 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 literal 0 HcmV?d00001 diff --git a/public/images/network/mantle.svg b/public/images/network/mantle.svg deleted file mode 100644 index 28ac4edd8..000000000 --- a/public/images/network/mantle.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/public/images/network/optimism.png b/public/images/network/optimism.png index cd81f362c53f75137d57b3fc623143b8a50561f2..c8109284b94f01503b1f5eda2ad897541295d521 100644 GIT binary patch literal 1065 zcmV+^1lIeBP)mUq-iwzc6@&0dn>eHHy5wuJjbtXHL zKN*t`?aBmS-j=m(yS2{McR6S6zL~eD%51x<13CLFk^x`{+JDd4ZT(hmGYUmW{kR;1 zBGfQ@g_JOxFlr?mMW-NZG|NCS3Ta5~idI3+EHGe|0tE~`3K)76F!U&3=uyB>r?~n= zS%q_O@vPkHleNtQQH{mcr^_mu1#Nm}L2lAniXCREl8jyH`q1=)RF?xanNyoh7j| z5~;b*7|p(e6htzB5S2&B-n-==`>2fg9^$MROI=g<|+sF!jc8y1t{p7;6P2 zp;w1&@;u8OJxFKnfQSx`Z8B-dK0eqi3T7^W9>|ab1Wh2c=)tKr zY*P{PbWKX!_aH6ij!>{8qUqZDgWTQV(t$IPB;3|LzNSI6bSe(E^;{4(*1eENEf{#w zExG096mF0c!4*oa;o_=W@C)LSf~QkwANNaZiJwZm)?2e{t;)>hU0+_q^HOi2l&SbR zw{Y}tdmwrh?SFVHO8=%B#=SK jc=qdR#`LeltvBpHcY}{lmpYGF00000NkvXXu0mjfH%#wZ literal 11798 zcmXYXbzD^6^Y^8Z5=1%#RJxHCSU})|lp@_B-LQbf5>g_iBHbbqOG(2LN;gX`jr3BB zbi;G~{+>VfwfD}MnKNh3oOAAZ&qTk{R3RmzCjtO~RQ10X+5muc{O?DI4^jrEmOg@i z_uT(8^a224%6~sBAU%^7Bw~4Kt0(~F!;D+t3$C5KhCBfLOd!6t!~+06xatdeop)G! z3u>QC^s_b(?#f;&RpxO~jPlq^m!%mB5}Syr3ue?2A54>5Iyt);#C}%lscio;RC%ms zq%iluY^al^4}-_>i<{Ef89!wR|69PTXgpptgzJ8(l$FkVQi}eutfRJslG2jE`N8Id zJIT!}kFQlPUmBK_Ox!Ho-8DbJvQWPK93&TD#|cw?8Z0*x&@31HrL^%8>f_l})Gdt@ z#?MK6>wY5B+3N6OPv7SRg03T1s)VpzRN~5BIm!GRAKZ|8(SUvCz=G(-2jW>o6~7<) zv^r$CqcKN@U8Q~Iz614NoX;z--GFD;iMuWwjndQ9K-^iv=?4nbJwrW>iGYT`iQX$RB<5;f8EFZKpq-zzl(SNk$6AA@Y5OIa$gF{#l{VB zD2tU~K#nHVn^G`OdSi%}-M@)aXngMXmfOg+y`#7lQVHjQmX?Zy zKKII}5Eeq{yRxG8+PK>Wr~I6fW;OcUqD2aFY^KFNg+Qg&jYUl=kf=C!iR0Q+gvRT=ihC@zPJd?V7g56G!h#&-Eb(CR8fr1MDrM4OL%v3QUbiib zpd1W=`Ayym@4b5#3Q=*fhvQI<#;f2ELV5X|;DzP%BdBrMXoj5dq%-qIWP6>4oh6AQ}VSC{qjB}p7g-ND;8uPL;JCfu9+>9klg0M zgEEiD$j3>{J2^=KhPs-caPllxOeP4AdmpZ@RosjE0W9~2-DDDY7X= zoBBJPmEY(7I)ul+gfz(@HKcNk&1{79q0E&l4{LZZh4WRqwS`9+EIi>t`#+OY{2OVlL#t_ozz!0P_t5wU4&wUIu z{5(vlD#;Wi5WJsdKAxB{BZ|A2uW*(M??=UyWQwi>$%?fY8E&YSjqgNDDL2O;7H@*% zLVylBo2$Ej>A`zO$Q$j(t&)>Oot>aOg|ps85}$TPNa6#(UsPnlxkhKiR80h_zsYhH z_xoNAzbczkiEuS(nw9G!@d21Fn-Taonch36uk#pmcYl}fm3v_WV$B;RCr9N*OBAV! zxePka3zy6Rl{kV?_q=RJJ;iO`?o71;A)*)Ijphg^ss%;sB4k{z(e6bkcOf2d4Iy46 z$6f%8c7bLk;zbf843n1&ykgXf;7?f<-U#pcFa?_FWxx%psydp|kP`Td^6+Isv@1Vb z__n@?CH4`EymH6YCFgb7cq_q4%i&ED+$;2ffJg&eciv?-? zC5}(XjEsf3XF+sdw|jC%-teQtpJS6782YujI_1W3hep~RbS z0PsUK70X<%8|n1LWtF>~i389{X{y)%viyhY_ZZ5a zxk6oc^Je#eVKP22FedXyt4a^%5t}DaWMHkCiUW~h_C!tO*rD`z!--&6r9uQDk(GKd zOWey$LNCCcHm{W&8%7o`3DktY%3%mKqp&0c_#RJeD&*=zKxq}ilYYWuI*=7jn`d?} zR2C0xS0>*Up+HlTZvYk~d9qZYviSdq6x);(=%{~0#ynZ-P}%o_1c26B-mPFj+rG8H znSuwh-x%!Y9m{8ek1b0mTsrKQPI(^SPsT2UMm`dfvhv)koe>B;{)C7$rzS@`RNQ@W zTF9gZLUJDXb(;>DC-o{Zp$$`Gnt1_WDT}9kYxJW}a)5tnu%31!ClK=LJO5<17KZFw zbDatu+O>K8>($`W0{~*LedZ%fM^^Vlcofh7=hSu6)u7=v09ZEhbvVaeLf9Tm(q8s< z3xSq}?=&E$?w%tyRGy?0$;<_^R198W10Q~S>lf$5+K4y4<384HQ~;f#1G@CqKDk11=bxRjG?42)XY*T?W_#{Ik%cj4 z(4GK@mEb>H>tP)UyzfhrmH!G0$Ul6nA12fLv=<`44srLV2mVx!MEQSGbGJrsIo{P= zm6j6%z$%`kDt{5g?g1l^`|VF%6zPw3vt8VtClUaJYW=kG_giHNYqX4Cw5mH0(hvP& z0+H^+qd?DW2(fMA0wI2AP0yZ7`L(DsYxGQmpO!251rc-4>iNPB5zK9#5eVtR6UxT; z4rFP`z%%QPo&smH+Ihoo_<()1Z<%i!H#E5j3z*F-J9`wP(tPi@ zbaJ=>)Gc$rao5lA`LfbLmLBM<$Nm%B9eoSG>u5JsA~fMl05Yyqsfng~afm>w%m;w< zG~2gixHgVE5&*Q8K~so5qJLt)@Q)aVQ%R4lDo$Ggz#?pm)K0x_eg+h`_*%E9)i8Ax zPitKbo|-A3ts(NZ#`_!G(0C<0fEHX|iT}>XNCT4N44q8?7}sv(Ld=xj+b`Jo8ghb?r zUq;-f1Hhk0e6i+KI8yhaKH)gPJJ*GFGS4i~E($V${KK&Cr=2>5{XRo5?#V+|O$DrX zN)_zV=m8eNEPm^q^8b70?J=!u;bhwSu23jN0N|EX+c+=ipk4CJP5pm{Ltzbj-EO=>1Si3`YDMr_@-P141EK6#xj$cXa)o zLWij%>5_LHffZ!s28E>O$K~;?WF6!8v4IS6CPdvBPxG3 zbMVV@W%6axqJ1un?-K@W05VTsF_uw=d?U#N0J#U;Ek9f4C0~;QAvp94t1XR0Sx3WI z0Buskf5ArdWB>h6?=OR5lJ(VS5})t3Lptbxu8&P@cz>4pEH{k^RvVmH`;X#1r@O_m zT|VYift>jd9|$R)T1(ALP8S{Zw9C*30CuOho+f3X*?j5$ykn7k(j=Z906c3f9k2TcisFWDgY2nuq$A%#g$T<1OS6xBh$py z?P8?l5x5+bCd4FNw^TjUBXIx=u3GhY<5q?J$+kIC0H7$g@ti-TlDewH0V+%9`rQ9| z7`AIuNlABL0k2{TIC}U{o>~s|IKV5My;M1VHG_ur?3cl1sU-F6U~n3$F~OVOMYM7k zhJ$-#F29pf9sk<{h~1tf0C>Ng4<>#DZ+bP5^>6sktd>Q$Vsz2)DsV~V2K7*9xVIYQ zj=O?l_oCsWj}q|)7d#6W$N)$_wIgE0Jnw%^hQu`soA;r!d!Pb`yt*qBKHq=OHCC9q zt3WELJs$v=6|$RywL<20j^&nbi?20qZ)bbwo`uP6B-GEZ4(A-z8wdBx;fGvqt(}mb)rsyz>*8ejNMC>Z z9hgImInj!Ke*Wl)9M!{}*HXmLHiTpT=wwg4ZLSRq+^J-=*HuMQ%6^)Vnjt?0?W+0N z%U$LisSwwAF8M6qo=USly8ak~Vt^Os%(pcXefDv|T>E_wJL_uH1)_lhk{ zYL1l7VpR7Lq9e=BI1T3x4N9cLpuggu1$(>9_O$J4J(aBx59ah-)=s7Ibg91E5y180 zgrA`*$T7VIp5wY`jvq2l({8UMO-Y%?Snf7N*haFW3pL<-=SL~+j=vq@HV=flMtO)~~FDZXmTr-wg;vc`2dVJaEwzgW*YI)r(dD$cp{8=wh z-8MGALj4xzdYvh#GJgENf+{Nh=Yx&aEfm^3C|%#CbucL7m}=1 z?NO4F!>+9^W4HH##l5t0Zc(?=V~#hE3^m9bI&aSYd^a~qJDg*`Ww)^O4@C(Ua+{m@ zDXu9NQKI+!>(Krl`HWT3cJNrzW9K`cy!H6>BtD<+tK?0^qNrwbgw48!i22p4G8#Hq z=Q&Y}N@~7s(+NjL%*23ykz8+h!!Y@_WyYt`L?a9X_Cy4%IU_&M)%zRc-l^*r>Mj_j zLZ16J8=^%gr=mf4w6PU2xAK;ALlvsU@%pl1o?`q7e|}GVzE%m+q0!ne+%EuXC%JI8 z_<$SA0Bw9cw;ySvFxujI?B~oGMo+%6H%?ribO4>onfs=&s36C)7hS~^XaXzyEE2&5ce4fK! zqd8Ks_dE=A{C2sTY?gZsPw6XF%qexY@@S=nTx|x&FR^*sQx*mkP$v<_cY#J2F^8mh z!C0|0owFW5w3Ia9QMJXF%)hGt0k?75XK^6n9ReVbJg5xem zGZxHBALH6KSidVkzow(I^~VQOxUZ`RU2cRxcbO{{PE;&omxs*Ufj3AcFS!tdzA zj-;EM5!(TZjUr_pogK?^nj_+r7q=ZtF_~=!cU`7)C;qP|#9d~LCr(Rkd5l{f&kFVg z^)J(rl@qA>dVc7UZ_#_p&w`BUTdi_j@pPD?mx>B0#fGPs>l^Q{1zSRb58ytEEkmDb zA3PK%sY$GTd^}Sz9cWrDOa;YhoWPY!O{z^|x6~j#pZq!7r$qCjU&_+z)Ar8w_S3g>pmH?ObdF zBq@fhc*c$9TDBnd(DwACdmd4+^I*K9h2F7RUgQFS&St76$8$sYaBZ!Nck%RGcgfEm zDO`q9mP6ZQ_H%8NZ)nHw_o%#;Ll&rb$J1r+{SDmnsKKt&!%G;8DJaN@`+>9Y(!1Q0 z0WR)0MUGx>$k1{e!O2oI6pX8LdL#~2NHnVvpv`>elUnO>%x)+tJUQkmI^gOtPMNxT zsmT0q4RDoaxw$k>%5H1Ep!$?{;MF1iI$6vsFNWevOD$RlomvL>s_o%A>pzv}< z={J&<-#u69B1uL@6d1&q>7mbv1>^P1lF2+P8@dC&7|f>YP36EDy4kbin)dfQNw|+I zzvuJ$CYM@1P-Eyj*U9R6a!NT>vRz-)x^r9etV5$fy6dxaF)I@k8SPlDHp!!NfuUyaUak5>5-R9VMA4IWV)gwPD zABW(%t$lI2-e&9-A7(1&I|coQ-tbi2yfS!7Tj6JwvlKkqI;&OKCl(xDjpSEwyZx`( z`YC!MOM2`B0jb7^>ZWzLu(y}<`A&F2X{8!tchv-&&ZBn*x(1Go;-a>W>!Mb$o5q5; zw7~27@R`UJ?&GhJ9@^y7jnmo%R~whQ_!Kcw+y3x|8MEg+w&=E}-6I`eUru>)AU(bo z_#i4WEDUCsnz=G7#j^A^wd9`KI=4P1L=nxkTJfq?&n=z)WqZ4|gVOQs=)d%`sSUF( zmeP;SiQ=BS^;Qb;P%o1^0~s7BKmU+o)N?heiE#Fayb>RoE*Y+U(-A2wZ*2LfD_zTs-wB@3`k0OUuLq3@L`*7%Ql>*Fp*C703}{MrkZI5< zj?gB@K2dvJ`)^)}c5TE0iaM`=4xTQ^xG%`9S%)966kZL>|2Kg!U=3HA+Ga^2p zH!ki{A_&|(kSShWg5L!Nm_+WD@Hsez70&#Dyq0HAkQT!SCVNuk}FcxdxndLSC^|YI}9sFCdfRp z>*n}0J~)*OSZ;ZBz8iE-7^UAq{u~*LNWbSX;I!?8?s!`{4Lg9pKmT7}4O-^L5qVl4 z@)ul}c2XQ_RX##ghR1dnT(savwCtUuuJsyjkvVNFA1FiP897S%1S0QwBu74Ue^_=} zM1k%#OkW;8zc@^9;;MS~JtVBvJ5(=VjS#w~J~Vs^jSN5+P8iZ_|B|QS{}`BXG;FPs z`#665_bmCP#^(Z7yxsA2hg}pID>BbYf~nLYnVm{(($(&Ip84kN@WhQcmk^3{tq3c4 zv+ar-#6s+O3A25`sBE9RPq>43%=4?`T-L1Pan|cr~b<92FQt7iC){$Egt&im&Y%tkI)jR23$uP4T+)=UbO* z%s(_VvVMefBfBkDo@o~^c~WJFiDpsWC9iL$-C!{Q+k{CEQ59>6iw5zLc=i!ND&&Q< zngmX>tL6_x#FjoQSKc-o&T0oAsj#`VDSoo{a6QjV4j5G5Bj4PTuq5#!rq6$Y)Zq zd0P@0y<~2IM*<(D5DR0sdtfAvqds7g@hzHPU`l&GK@!G#NL(JSSm$O)@z>_v(@Q49 zSkAq%XnK*LrIZ;TtW(J%W4gCh*cto7=VA4PtDT;N;DRY#X+!)Kggoc!R3ZBI8Av~3m)jM1viVT-VmrSj92Aq`{V%MIne9c^*A3_0t|`RUVJJ7k9> zTwUY1yj)j=<*qZsv)VpzC1bA%y41G0YpRd_JYuh>uB|yB7nu)r7!&RoNS01qvGVGf z=8Rbvsc*Yu3ZOho&m<`<4U}t|#Zdk23r)T%cP3u(?3q^5#_1eWW`9~XShnE&Op;F1 za67qDkx|gt(_Nd9%HJ6uKY^!KOu5X`)qyf?>_TmfQ*F=3wgE@vsV{-y>ukIxj9`a^ z|6AT{_aC9IPt{8!8-teU-Rg~J4{LvG;*v+UyblZ(@D)pmj)_+@dR}4J14o$9{|K(T zW#Wx&bZnB+Pu?IF>|jc@aqA6~L%wNb{Sec2pjw8!JHXotzn!_eeiKl3r_C_gxQH~^ z`ciqzSY+iEd1N0UOWxUKHD~IO>zFi8P5P6@MCn#QuC|5L1!OJ8F)SJmB|80hFiHet z`7kg?>Z)GFOL`J~qg0IrmoI1NzFxeM6reY@3o-!Nt*#mWMwiRCnFUooLi3u&B%Fx0 zHs!@cx-9Jcs*bZ7roP+Xzx=tki@HP9w2zVa#&|skoW9&72WYn@z6{pz_cSI?$+`J; z`h!0os_uQ1b*;P>CRrj*x~n3a5}ZwM&>GkZy0`7t#i6Thq0%EPUpzhdDi=uQPRa{> zZd|-^+@CX<^WXUGuaC(oeIvK6At zr@+$Hh8d5b3Ya7*#FdJwc@fLKfPcfBx&LQlTb{iWD|?1HYq?ynTSk?f!*s{lFFy_G zE#zueRRjHe;FbIFapH6W{^iGJfe&vooU%PW1?{z+Phz^`!NbZrQu4KO@$&ytEM2$4MR(>XaKyf2Tz39yF_RuI^}}2?v!}Dw^Z25YHvWdVe01PSiGR=OPD%jQ!}vrdpXA}?JtzQyGv7XV~0rt z`7w0y*-c@^^mO(7*ym#P4>-1J@$otEgMV5$O^Jt|G+uhkU||H`P)XV4;!q7zpq;T| z#x7#mmYP_KqM7e5!5hRqFB!|S;p&YPc?46D)o!?is4OxHS4tT@=*#rR?)1R(xVv{2 zH3}NZm`0={!kXWM@Bj0PBrhH|#jTd}mCvU|sHz)`yV*Smm5R>?o-*|djoAFvTu(Or zxvSW#-IIZfxKEQlRRv5d4TiY38NyFmt9soOI%`ZztCtMnvRU{Idg~+Rl`=Y(HVTZU=a(A;d9*L@m@Zmdl$~z(rv;dut&6MiW9w}VlV2%Fh0UZ>hxBZES&|B8J z5toxYyNcu0e*=21WIFvcrWzZj7E(e+5KuHQe|$7Xw==7Usvq*jQ$wPL=CYxpAsF=e z#RQvl+AZP=w$-PBMV+@=od7dj`?neXFbj`th#bz4Biei+c$0m-OEAX8b2Wo=S|I$D za@+{>21n*fuJqKc$?gQtAhOO^6cR{uCjVNp^~SZK$G`RReXsb)e;oZs*o0mdbvmx> zh%n0WY+-3+z)cKhxfJjodlkH^cA@S>TwNwwDr#`N7iPY0z4~)Ews0v%MHaP4UFn~% z6BLJ~lh{v1gMPE$3fDmwE>xEjBA<|YlYZ3-c9i?GL*`G47H-&Y=-FF}4m|I*}NA|C~B961d+V-b%4uQ6# z%^MKqyaT<_!{Ksalun19xhqBmkH|QK84dfnfIfG3RPK4YGr%uGOtYv8MORb3pI z8UR4%*t3I!3<{D1PJ?$(ycuB{AWfQ^SD#0>40#gV#PtttG}g^AkU=VygSfl>z{INd zeK<4v!lOhQ8^kz&8pE{x*C7H^Z7v`HZr?FgTDzIQ;n3(*A`%ZmrbkfU2Jwvx(j&Y} z(?)JknIGb44@*Qpm!{w@8N@c(T{NV*y)!Skp-OY0W$Z%>uKGs=QZBv#kX|c&m%QWk ze=qc+z6jGH^E{qe3<$Vd=J_Cuc##eW8~_=+(4{G1%K3jUA0lS=9Dfp-@=ZSg>o2Se z2Hx(hgtlfdO|>tAaue1)HaqQJ6VznK-}W?N`W!vDSHnVAXrGx-jTFjf}~1Z1%T9% zM2hb1#_XhW?K&WvHp$WOBw+Up*cK$Ln+)nM=yc*3H0->kh`!6g1{K9+`aHxVo;m{n<0Qnp+_3@~)91l!2`XvkbAaqo zHCf$b0G%`0q~oGF9Qaurf)9^fX<@NE@nLr1q%8)TR;f9Mkfni2L`}DQB|kOM#r-M zYp|~|$byUgf1UDhu%Y(<8VF6aBEzBzlw9=DAGw(Ta^bS!oRs8RX7nyI0YErk`@=Va zp)iKX^mPH4q4~a6jZ{$h-i3L0#-x99vD6N?{?8XQF4*Bs|mJjNn`*pXRsngLi#|gj5 zgFDk1vyFg@+NU;X%8%*?wkZ|mn!36mm<9U~$d=i7^q+d|yqe)o3x{~bKikxxDh;NR z4i3A`Z_5?*cUcGk!QRez_r%mvq#Bt0%?_9*2Y@D9ceZ)XM5@bdOELNQ4r2f?RjZxk zk4z(jPW`|ENCX!g1=3s_Q%rVlP?%*_aOPc#uYcFh-eu9+A;5rKiv=?pvM#m3^3VS$ z<#PBE%vrfp$N?<&W;L^FW;OF_HH%n4*}?Zov%~y#Gx~l?OwSyc%&Km7s7+}mIxgMw z&>99^Hgr$|a+Iu_d6u2!AfiS<(n){-9hrKC(dd*g4+2%0?e7E`j(m&dEvz^`WQ#=Z7yOLODBr*7ba{ii+oQ`3`U z*XUV^MSXMuv^Ka4CI*&Agg73094-Hmya$m89eyVTSTJM7W+V`?BdJ!wpni!>C;n*t zhW4_^3U+w}>U}%wC`Y563eUwheToQ!w_ifR1$-g9$6O(v^Q0*Git{u8Oj#f7yp=eQ z#pP@uf+b+O-~or&K<*)IHs>n@&o~c$Y!JKv!>QG_`@#rx^8QkFkBTtPlLqs+Vu@=2 zi~nzDW)Tf!X!%D~&k90-Mfu`M10qcAK|`)FCVyI$3}E}(Z(Lp(puk2R7}08{4|QtW z0rTpLt(5b0(J!8bX1nZ(f8|KMAOk3nPB-O&tY2MB;UB>Cw^e`vKxl$1GTRefxNgST z`dcdd3lYHb%-lNxA|q^_m3Bx{Sf`WmQc*u@ISiZ zvw?B;XjhV(${JMgkW3~e5K?g{_=xNq|Jb+t&@Os!;IH2HZ9qruOwQ+C3N)U6@y_5` z6fW>5(LzfrL%+rvtwOT?z4CwrIA3c*_yo&;%2Rms8T_EuTSsBwhamv4+b1+|7LZ8T z9>|Uj!v~2{%BlMQ3NwoS6=ocPg&7|Sy#aeVOIezKH5^i44Tm6D!y(H7veGN33WP(< zfjlyRly#7%ThoKM*UTQVdqW0@A~aJ4;)!7QW)}Bl^ozY-G61}aBO)VYMtyaEx)s1G z6ZdQ>fH(GN&`DvS1;2~v3ROC5Q3-^;DJWhYo@q6G)ls`8RVt8zH@e$!8%Ta{K zca~njbK`{(+tOWjA_fw_V~8$HJbm3&Uoj{YV!5i{e7)*7^Vw&n0e-dW+~y!;WtX{+ z&hTp4kPPic-hf27=*GWt8P))&$rC&hz+)h#fMO#KY}EPeA@DkU`%kXop08>?gRAW??j7 z0;YQs>pc3vladgM1G4-nuAvpU!&Vz>>Y;7Idb~3!Koo@l{wlV%2I|Wyrp`ekTuIdC zfYg-wY4c@wDq})unEh`Y!H?7k%bI!8Z+Q2A{pKB{+ssi5+i6iLGgI+_7->#g|Hm|S#{f&k9FVWye zLlOXnF@R!VZYO2l;Noe?VWmfC0rVYoGme!5 zWY|oQkGsyL$QhY9mMrg1-cg__cr-nv`C=<@f~+$c+m#sG&!zqdmGxKjgD6raqe=76 zLP8%VbCidV8AFKaMRRjpS=97MMGwlG0*!Yqy=BMD)C4o z@@!4qM+w=HSSo8#KjyutE@b=?SyUDpkl$X%RzLQ1IB0kpn~-m5VlhfId+>q8#k(dx zhTEv8N*wp2BV*Qz)yLsorls^I_d>_0wxVuJY?@c8pW4iqUH^*ia#eeuXqy?pBir$6Caw+e5a3kYQkx$C-m7h%v~kwRPj37 z#JZ7=cXfqOfE;5_!Ad6JAs_Bb==&^}k#dQ>bD4+#{a+)YjaF8vw0KcWQTe zSb|!w>{G7%rK6F>EtpQzTw(RFxz`T#WrbVE~gyE(lEEJ&lqY!CNh1JG?VJmjOspn)R z<=ofOTIN| zTI$m(8=m^>UGb$9;kBm$!LT*1Ylafk`CrX7>S|=@Rs$`T*DQQ(zftVwCH3F?)RWh< zz2oQgqK5wH{O1i_5p{J#`fHK%Nm$FIgHbVLuM%5wwM;8H45=!pZe~*}^;z%c)OxOC zBYj#u)Y9?JLjK@yE9K(wsV1BpRr>bj#0_zHnxD4r-ptR2FF7tRIY_PRA66!>2;JW` z#;neH4n~}UMFL3tbd_A3$hW$;LNpk^zfQj@_A~~^8A4W6AGZ|*F5dPex{;9GS<+V# zgiSqlJ6P1D7`tq~|8$A|MDMg{b*AOoZ;+E<_xw(|=vYJ;Au2A;YtaAy|L*Gf+0pU8vge|Y+=Xn=b5_Y>Lc>ulyy4e~4gdfE26R$R zQvfJvl)>kB5IsNu00g^9L_t(|+SQurj;k;Xg@?_%{r-=8brT?TNdi+;Y0jUa?I@p) z9fxc`r!|h#JTHr?>axu9G!8$vY8a=$%rah#R6$(9%)>Ps9+%};%uL0`bu-h+ zP&IAz%?u|Pi)wtJMCmguK9VI$pK%|h&$ypb7&lY;jQc5xaTjH-)?nPGN>z@DaU*4X zn-Gs1QhJGCGh%p?bp#b6nVu@-d zfL_Ubt#eUnZI?cjc}|4q|HR~~0-0+N*yK^<{91)_7z4BhS>FFrAa5(Q2%$(SeYgU# z3M2>`;u=J?`PStZdP7tz6xC+uvTBcDyaB?@OcFaq-4A%Q(9a>bKFHp&&`S?vciBxL z^&m?HB8G@W$a|C|G1SweBAV>4EdEvR5_Ewi+Jcm6jOwH*XdILos-B;s0;v?EO5m~N zY5nU6Xxm6{3V;ciC=_w6;>{HfP8@SAQea3EBU#DA36L40RUx$jGH7LldH#eNisA^n z(9E3H$26FGWq_;<^}hK~l(jg;0MHeRI24OvW7KQ!6UQwgxgZ%pwPgFXAc+vb-a>}z z>z8vF)DTci3Dz!ac5zryO%sXM)DHK;M(5lRLrq$n-SslhTcfmoBaT;$xX$&--R?m4 z^x*19O0&Yf37+ZLn$*(fT;5cCCa+AQZVgK|I3EELv&ruYbiEc99c2 z3JDR#J4X83c87-95njX=T_gRisPfj>Y!x9}Gb2|v)dct17D5q~K=q82v89FCmI#r7 zNUYx7Ppxcp_Baw@qIPr004>z1^@s6b%)Yq001BWNkl2}Jlo9!J;{M_D+S=th3Ejdv$Mij|8uWH6z8DrNt(Gf=U z7cstzJfto0yTkV1Y{GL>2uf^=v}ROfX~!6AM?`Hn=OJbYh1xb5V;6{ME9d-2@{oQ^ z+#CLv+Gi_ky&G0g`rUo(_QJw~evBxN6VH-k*p^--ruN#F8b6E%Wu_iA#1xoViiva6<@6Ty#o%A{xPoIuIw% z8)b1Fj+0R#Bickn^AnOAZ?5cfs%oU6fPZIm;R)M^YO&_ovyrq8}3=g4oHm6yro;%s;N_%r814bQVB|IOlmi> z&|D(kq%tj%`^Ul#lSHEulOoo+zi-<;RtiBGa9>(jULJp&IPYFr7N$~+gR!-YXjnpW z#NQP?o(dI|DNl0mBS+FkaYhq~bKiyh|^vKBYxl>oM{E8Z5g$YVri}bcs zWO$cb7zAKE`P99T(rFdv`T_+9lg+_g$>6O=yD z>76+hE#sVOxNCAZb3csHc}5=no1=tx6$*Z-I!eW@9;JC>z;6L9;J4yYHA9l=^DK=`iu}Hl%Sd()ckH= zO8X;^PW@fr^m(^eU~IqS9r&OT3a-n7V!Z;VZLDm!8~-4Q{?*BkT6giI#g3_+cu7(Y=F*&Drzz`_Rni{l=0}4j*A&8YC^?t* z|9p-1{d|qiX1LYDZdV2wW7|SP!#lcqb#_Tmij8TjDvO;2FFfYKs`Owtf4b}bs^sZq ze|iP^oK`KqsB3pQeXM|Hy>zNX818K4OE1r@O;xH&B`@sQ;XK;3@(S(v_Nq9}Dzd=N z64^cCNmq<=E(uCpbjmEwX-q{f0{X65*OMN8B7h$1;ZK3V9-4+@Yj=5iObu%PM1aF~ zGA|ai?`Zu2!9@(a<-_>+soGMYQ#+ELywta>*{FX@CY*W{hShBsU(bw>jN{ z0^f~=TfV7Cv%IGlQJ22esdJwI3JlSYxyJ7D`MVeCn`N0|9ew>I`uL|Xr)&E0jC1tE z>MT(&s_--F%!=!I#u9KOq?v(Ag71*LWaPnxu( zE(O)_MxbSS6fubg|OgS zdMdquPNrM`jlZyc$OSKc?pF=$4)^l;LK@ragm}ig3Zv;O>N&hByDB8|Kwy`7ZNLdS zeN2V48@<>}dLuD8e7u%sH3>?;nDlmq7RzRL>LvcwCF=ib4Z6RJpXzyC%d*hWF2{t? z>|dSzXvj?4$B3nf(~Rd&(Vu&BMcdC$tw|4c7i0#Md(A>nSaY&1q8j4G!>m`@PZ_sh> zXyr@iP8QO+69trYS$kLwV?=>9JSe1=C)KL&Np-`#sa|6*svqG^wHtVmmv`yq#*JuL zm*YYZ-Ccmejf@PxQ!QXywV=dBrH<#sXSicR_*#1p4W=&r0>M+FxyzlKuF^YW&Wh)z zEvrkn+;QFDhL^K{M-J`Xo=rP9W(&Q<9R=9Lh5*wYm#vQ>~jhcGX=yyUXNX0eN(Zrx6 z9^Riv^&-54m3HH2nRM}tCMDn5y4^g#GqyG{IiiQN2{{!MYnUfr>#QMHe~0OP$gElp zucd1Gz-{Q6*6CD`XYQ7c-KuW5x42H%uJ1)~JirQ<1cRCTbR$zyl^ayY6$QR`B&Gd;$>t(T6 zJ~MO7x87Za#=Kjn+>HP`!wvK#)S*}T>+bF!vT5pPwN0$?QE|8ouj+w%L)YpSfvZV@cT4kRRnN7>_NvAY6&qf@&ValXdPLBe)%O`{E= zRmW;HbXI9E?b`odrqABF=<-l~t1;n$e&neDs?$iFkI0oyuU;vl-J7%N`;}Md@5Aml z=a(J32V*@}BuCiPN9_tqTvY0=iefr~_cpwlH-+EoL*dPR#8o+d{sr2*^%~(QShS&0 z$sE7>=n}13Y<1@8EpQ@sj13SsBqgRqZ+m*4``?}%TD|xZ9olEL5?4e4^HajUh?chc zwkas!OyiuscgJAy6^AwR5kdihfMA3+^eks+`)1i?;igAf_+3Nc^ZDhwtHKkjr{LCd z-y?q1wx>TeZ&5{)Vei7}LYh1LG&PB;BFy+kmR*~#(u#Q(34K&VVT>NJ#VKb`P`=@u zx|lUk>pkhvWMFpV~`|iM0`^C0%c$21SK{qHOVZp--b=R1>VCE=-JUiB))xt z)-83-x(VF`Fh{kpd+f`>)a~i&t~600&#qi_k=A@{g+-WMJUzYcP|~rN+EHSoQf3p; zXfp=U_myA)gm$IO8*y4(k&P%Ys5QRbNBC(xi*X|GGW!L3kbjT|1q15s^*7Tg#%1HE(u&;3mhO|Ub`o*L-FSHc> zp|wG0^_fI8GocxUSD(+v zmHw5_;@0*0vnT1uf$O|E;my4%?N5WPyB<<=IfYD#pu|R{yoj5lQInC|xxcd?y;O`@ zg@G(#!3DZ_wn%`AMlA>x5q-|eU&*;N?HTv(CicdJSfU=!1X0iDt7|gSIh&)_-!Gmm zr18Bo=t^;D>#OgC()*Lo>NXkJ>Hnp~eT^66w-P~#i%wn5Ie%R1fSuK!9$!y{C2aaE zvz){O5;%Hcs8gHD!m(%Q*Nx_Gwa(^I_Vrf8 zXx!pD!W?d^Ae>@o=VLB;S#NLYOHf{MJ;zIcF9{gdyc{klEdXcuD=C+L-=(KRvIfy9z-2`2MX2zd@ayZpp=1r0{)%}AJnCY+pg;@ zC)4wVkqPzw*rVT32DI6r*J=v5fExP^;0=H*Y)H&>8qHU|rU$+Cb%RolMBrhPwpnjx zy@mu)kAXp|RtkE@%l|$mj%D!$OGHl$4x&c~+CSpJoG^RHX=-wp552au9$74$UVP-3 zp#Ul7B}FIf3Ew9KB{n)`BypOjYDPLL-F}}hJ^gBkh=Ea-?Q63H{R9eLXpd*AQ_BDH z#Mhm9!8q^{+Q(Nqa$aq_J6G9h;l=IvCX2rK;Icyp-M{+>QrrlurTM_G*JxJpQ6RV1 zp;rL)A06VxYRrEJ}}Hm|-ypUgNJi_Re#N@_rSp_93btMsh%DC38E#Z1OaAFN=+1`HemONRb`$k+1U;}Xc zVUewIHeQ+)(EMBrt@-4#I8JOiAfepO`?>*z)b^w?Pi4@F)B+KXQM~T7f-Yb zoDqdFwlX0(qIdC*k_sf7;S7!sKkiQhCpuU7psy^Si^QHphzx8NQ$;Ka^aX@n=qZR( z?$A4s9{9H()eCnWgoGmr0<-6b>~dhMmXB1UsMb~KgW}y0$3^#n)#?37=fp9Fa?2e) z^vZ%zo3tE1tW3&$Cz67vqKSz+JKWy^BIW!%_6uv(>5Rpr8_a)a)Ur1X^y~ z;!wJymG$-rcmi}f!wO^j6O$vNSg|5|)r`ErFU_c>IusPdGk_c-#6k}G`f%#Gk`PWk z6Tj`=D#Bpq7a&p0L)8S!fvW{a(uFgHLJ3~~X=aHaz(oPiHk9@G>lzAtFN|Yfet20h zC7=MQk6WIS1`O?udh9rzJyA#sek0ryW`K6P=7(-UYJ%>%;ovEf78`W z3%$FsVW|+8A)WpSub9XUB+(!G671dEWocUo^V#&var)ZxdvzoTVNQ+UFijHzec}w-apH?H==Y$&FxZG6)Tw`pijTE2y>&0MJV<>3yo@2ZU?%-;MX0K(KzbUj7a~mX5Qj!4l8yi7&T{rq``E6AT~$-Ah0gsYyaQw z(${?)BXd^U7O=8ogk1?YMTCCH0w>>i4_`ih7i zXwjw`Ju}`|fHuZCuyq>cWE&G!3sXLei%JD=eFq~K0d0M-r4jj8*YB2Ba+erAHn}~p zIKBL4?Hda1rgkkR^*tesmqrvuY!h~rUpVKjjA&49LoKVKqdtv*J*t@#jA6sytfkoy zr>5rMvA#=9!T{&4=>HxAt5dHb!7h!r zvOSzI{{pQqrbBggY>d(GEH)}NjfguZRn^cNES1COxRzi8imYta)X=r=s;=r(x;r-M z!HtQT^ywU7Fz4)(E%( zi;YTw#^bs(M6p!1tdnY250kmQM+6JnCQd;{`TmSDv zc{Hx~3ANQ7)+;`Gj8|qy%&SfJw7U)igohMnXLyKVTLDN3&M)9qlz-vN_-VZrbORm7 z70wf|Ph%<_xIouvc6T21P5d1iw13>}8NMLUgv zJ_C^p#uTB<8h<@5Ym(l+E{ooutR74Qx-JB=Kl?zsF6$zQjNw8+SVhwIY--fRhqiou zg}(g2d6XSs4zDe(OV#|H8w&ve!0k-N*#Z~^WEwCbaEiXQrs8%Lc$SeS#)x9Q9!IDA zOq~8@M1yi06F#Uzx7~XkjWr=ILm=?+#Uk59R%VgFQDk2!DhHYdt^>$@)RSpI)s78- z>E6SG3GhTEk#XjQLIFZn%YFdh)VTM`^U5j5vE{2Pv~<=5fk8omN#Oa{YSJ$ou9oOn zK=(cTxORURXfHl~{XF6Jhn)#2?z9#|ug8pjfsV3)bKX(wKpfSd{7GGE7Hvh!#s}njtB$30BRJu}cQ3;V?X?4)2s@eV*~N{^QGi1Q zPDC!?*vC;LN8|yp4PmSW<%eJ0fW!LvtY4N0UB}B?V z$XC7C>`e=_*15iq3l%lOgz>x@+NgN}}0y_kDBW3mr zT)Cf{R8tjT9J|Vh?#CV8fKcb7Y3E8z0>JnVn_at9JT`1JIPQR;L$QY(MD8I3pY7XG z`kJow!?aajKq1WlS7S1`IeawDdQK0UQ>z3_taadDExAOi-gQh53Q}WR!S0B>lQF7} z`UQvyHPz-Uyl5ay(KdnoVcb1QT#)~|9AeY+q3=r3QEk(Jjpf3c9;kY`HnlEe| zvJe9x{mT5%a=V(cFQl@Y{Pc;ET+7Pi(oDBUNw@|E6B})80GQJJ-fL*E2o=>@kTFz_ zhXKyjkp}vbJN?h9cKh|Mi~H3nK9b`reES9=~87F%FwV81aUaf5QMa^N}s z-*b~|P>oPeS}^)-N!BmuKiJL6W(TviUdWjU9R$ZY)&wy^$o&4sU;}SBWjmGw!0`X$ zqEkQPocGfDGM&{&XeEM^Y{jZLdR7U#f$lJNaj3X)*o*OTgntpi-`$RhfGGbUNtpG! z_6sb5KPq<}SG?Z#=A-N%E(<7}xCNp-{z8xl+SgLB!_9pDlrZ!`r$NvhY*1wj>^q2F zJn+jkr>+Y}{g(+TH77`289c3KF@P?IwNp+Ni)>&p<%5?VruezTZKLw>H7?rN&?ZI~ zZ4PK<&EL~0EH#z8e}ggQIFze?|n zw$0cLY7gXXzQ2n<;hHwMy=!QECeg@*q{j12rM*xadn_-|rj?mOP*7k)fRHF@uyC%! zhheKAj}DxXWseTna)x%YE|$H_9KUVJrng2~g;1+-t9iM~T?ISjs0Fo4t2*eStm^}TaD>_Oo5%s*s5fnSUApCV+r&P47ac+Fdw$Fo z@Cz^>7*Y0a%O;;H)}Ve{HXT=QLgk2bFle*ld$iD*_^^8rM5R7`m_{&HB84Ilk9R=L$t|81O52u`t1d;`6DOg3EoavSN%|!lygK z9qw+QFSf# zmf*;+mH!yo&ha14eS6p1w?>{8R!zkBLQ!>8aGi!?i=z!U6x4Smh|TD=)Y2Yw6X+-| z6E~~)Xg60V$#I;3`3OfCjxuKjdc^!!tcq>Bp8mq4e4~|P zNAhXxQyDG|+b$t-@$q8{#W~1wXC!C~2m?+9N6^`fLSbB*y0l&?GC(z};OuH_uMKdX z0NMy36m%6O389*PE4q%O+o6WB*{3)+Gik!akLr}eZ8#fr%0VlwIjpj^8+eN7LogYs zEo!dDw%R)Nx0RL?{UU8GZb7z=KDFa;XFW&uCN1M|m^8t7N{-gdtAmz~VI zPcKtqvAqB(WxF;8Zw za)de_vy(I|c-YLuPRP}xbsNX=0o0icQMBj0vo&$GS7TexV$olD?6}qRU)`$MYIQ{@ z+XZj#cPlb!`}(UT;3PmV0KqV-EP4GL{rIKpIekgLN-i>BT&8?n zSG79;^N_E`puIw@k)DDh1Lr;zTTpl6=(D#Y!o~2z>MOKy<&{$O=N99c4Qlgf=~x}$L_j6BZEY6i=U%77f*}w-D;!%&kF?AK>nb54 zLQ&w(IJnCg_@m|o*;uT;(W%{wIA5do#b~YPjNnemk7DcPIO`9HuosFE{ICx984+v~ z+~lks{EmREQI8%M2@T+>MFb!s31KD&tlHP-000UANkl2wubP0gtXN zK+=Rh8G@|=89&A@uA^oM<>~-S3o3KuKr*aItb1Zo#5!B;*-Vg)its4M#iW7y{7%CL zqG$*=i8of(FUM$zD)=&Gx^Vb#M!u!}*uahg!;=zh3@ki=*|VwyWx#!DVR?D{58~Xo zH&$k3hCW(UXV0n<6f_bSl{%gipW&=QSAGZW1mbNFtAZl} zF)^@+0>WrUu3;eXpJ|;g!Y7O{eyN@NiL`urwWk#?0%j@bJAeF^D+I(I9$0PLTIw-k z6B71C%vAG?YC)OuB=P#A^ay!);kCg;{8Hovz$0YN`>$PX-og1D* zRJe?HZe{8-fy2_GXEJ?SX4L2TdC8oU@rh;>146Jnm=@)jV?A(6d-GGW zIq40g*RytNo`I8Z$@Ft2%mr$mQB#L8I?ud)qT_ef*NnW@B`6qFpXl_?7H;{*Y<)$! z0HCS>v0kfA)l^$E?Jb}ZTUwUIQq7{9Q3p33WCt@capd)JGA=QxYkYFpcY4OITTswh zTy)AT&S{LEj$L`C@$Ej;@0AeMS%8(5AN(ouhSQ6JAZPutd9chv*>5c_fnJ=ERL<)h73-*6us*`G(dHfPh%-(4;7 zXq&Mva+{2?Z6TrI9T$GbT*@2gvY=o#Ztf{AmhOptp~SKc8s{az_7P>+cnzrL$*snkcriwcbM*tEZAk(>Aa6RwRCy;u+5JXjc)f@T{ z;fO>H;J7`wJ4gI=maM_x>5JwVu~cs_cK^~n;jR&+6c5fYK|yU0=a^rnk zUI^g%nQJTRHl+96;1&fet&v>vddH&WIoxiTcVKrT6jxjQnzEzF9a*o=sRNnqGyt#}fxJ(aERc0rK`09a*_ z#j@CJ46dsSR9T(}#??cTUR<6O_G3kislo(B>@HTo_9)J1qM4x}6|t~}^~qQc<1{@o zGJLLDAhcn9D;la$L6OH%95?i~nL%b|ES~9YGPc&ohYeQ~cVqTgDutlPleC7f(p)oR zoy}fQW7=njNup8qC@75SLt87AN>IdcG=)n?*QGyc;e5PVlpETX$c?obJ0LMO^OkO5 ztIW2GXq{E16BKy@;AiOF}6y?Ii zMW?hUq7j^^1937Yhe^e+d?6#+L`3rwk{fTX=;1i)|Ar70c@m&D%_(5977OoB#G{=} zu5$j)k|l{P^Y!A1OLj%rPH9#N2Yy2digNvm>Dc=*qBu@uY-E_hFA50=I8lP9r`Pi3 zzcoB)aPw|y?uHeVQbH4x-n`IK)Rr;Uj)>ZD&P%5ObIVd*?*y5%h-fS4{6|m8W6ScS zFvHW^xOqzE0GHf731xpG?cKfUckx0?J4WnYPSlJMMRLwdrxG)0kjM+niH5cA-Nmi-oS{ALphTkH9MP+J|^WM|~c P00000NkvXXu0mjfl7tm6 diff --git a/public/images/network/pangoro.png b/public/images/network/pangoro.png deleted file mode 100644 index eb2da340951d7779bb0df63b761a6283837ddf5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30365 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 diff --git a/public/images/network/polygon.png b/public/images/network/polygon.png index 83b69d03861007ebe2ec3da9843e19cb81376a23..95a841eb8185ea67758ff3f6f91f3bf15e9fab43 100644 GIT binary patch literal 1607 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 CPwHy` diff --git a/public/images/network/scroll.png b/public/images/network/scroll.png index 4939fb4dc125215b5cfdc098f9ea9390304e6581..84b82f478d4b7393c981f3ee8dc2cca0ad5b3596 100644 GIT binary patch literal 928 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 diff --git a/public/images/network/zksync.png b/public/images/network/zksync.png index 8c53a75455f1749c25beaa0cbe4b9bf357126199..8dd5b7e8c6a3f08999a8810774e3c2ce184f9850 100644 GIT binary patch literal 724 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 + fill="#0085FF" p-id="4999"> + fill="#0085FF" p-id="5000"> \ No newline at end of file diff --git a/public/images/overview.svg b/public/images/overview.svg index ef36c4a82..8671f775f 100644 --- a/public/images/overview.svg +++ b/public/images/overview.svg @@ -2,11 +2,11 @@ xmlns="http://www.w3.org/2000/svg" p-id="6359" width="32" height="32"> + fill="#0085FF" p-id="6360"> + fill="#0085FF" p-id="6361"> + fill="#0085FF" p-id="6362"> diff --git a/public/images/token/crab.png b/public/images/token/crab.png new file mode 100644 index 0000000000000000000000000000000000000000..c0de690c5171c34768a431581af556a6145576c1 GIT binary patch literal 1302 zcmV+x1?l>UP)2A;YtaAy|LW!U%)#uhp5U5=*oAD+b5_Y=K*CWiyb7X0wg3PC26R$R zQve`el)>jJoVJ+&00fdrL_t(|+SQufva28rg^!~ACF%P=?x|2_6@p@GJDt6*_E^J5 zR)U*K|DDw|&t_THmF`;CWij*o?~*jYtkluE%+qHG1;8vKw}(W8IfKmgjLeb%a_dQi z6X#MslUYI7QRbNGUBogVfb%Y9G8^J{Qtx5r6^OH#b$;0?AkJf!>9sWE_Oj%KWF~_& zUQfoHvyg)l#eqYPzH=IQNZ{f1&l9Kz_={lTl@ySdtE!L zat7lwl(}0F`6NVoWm!;=kCo-iX2G!YW(mpg^4KtQWEOjCyC0La{wS{Qu<6Jwb~Zz* z@wR|yt#xvc3QcDdaW+GOjkp*sZJBJ8aqY*6M4KVuc|5t3V}{s+SfnyY#AiszsAqD_ zkT9qU5*fHc;Qyij79EyUHv^~O)IKVwO zRRblY{Lz~di;^;k>6q#j>@)c$5m-1B3LEaVuIK<=DpqaZ7|Ri|VL-?drDxf38K znM!03n6tiJImEGnbHWA(zViw+AN5ufnZqYiyj{M z7UJ`;xDWL|0cq_|(-o^!mPOqTV+bgE(nEjotqFn+~i z)I!rZ*k2cF48e-m;uwmyuIY7Gcyw1Nio6FgT}ZICVscGYIVf%qV*1<1sI1Z8nA{pu z@c%?NunSOL-s0M)N~~|&qNE4e+YvcY&*iEtL2^Z6`(#xVqO_6dnZ>sz+NA(zvFfCm zIjDMfXGpYJq1+LZye)I&Sh|SQ#h64=rL4Bxswe`p2vtx!H}x3|QzcP*qJWJP+eV(s zU4-&f6vFlxJ0i8=4r#Fd13wLr+;i4epQV~5dBme6%~uD>;Zk_i?ouHyy?2;UiK%hdU4W4=VL_^8~4|&j0`b M07*qoM6N<$f}`|tUjP6A literal 0 HcmV?d00001 diff --git a/public/images/token/crab.svg b/public/images/token/crab.svg deleted file mode 100644 index 13f74dcea..000000000 --- a/public/images/token/crab.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - diff --git a/public/images/token/eth.png b/public/images/token/eth.png new file mode 100644 index 0000000000000000000000000000000000000000..1441cc7cbe7b9f88a7c0c13db3915972f0574ca6 GIT binary patch literal 1010 zcmVPx#Do{*RMMrQSBHCVtwoU{r%qO_rc8fqO zZc%jr000JbQchC>qRegEsWt89dt zNesjzwdDd&pAU&K{&L4Fmr`pTzoXVtN`8HPG*T{gTtqE7eTMK-z%^)HQLe*`x}+zm z2qQ{*jPLe ziAsreWwsHJO(B+)k)IiYrV#bsuqB!-+7$96VcEfurVwAk!d-Z{t`Iw6@nrGAX#EI8 z5|)OmMb1h(Ta*-b{T*U^9}^Z?Y7k0cU|_Z?9{0X%Kw9Qr*c? zB^u(A@^ZVbkU+v-KHGslgD@P{SGVg52_&rgYD?N2LNHq;$C9Phr6E&F_E^H(IeJJ+ zF)hJBGa;Q|nBsO_v&GbVpp5M$$?*)fb;h}9yBxbQ@SW(k`> zAWaeXN)$r~Lhvm_5i^KlD(vjbO(MaGkSj zGbYVgCXRI8F-$Xv{77cHRg!1T*t%d~4B>l-)`;AG>RS+DEyN%jJI+#M~9bdfLCkw0C|sgI?j0y zkxh0r>^}+bkz=E;07CA`A^UD`fYVu(C@{_?_vQR))`|=#{%a5LJ;a>l+)_Yy5E+J$ zfE2WA2>XOMXL;k6$PyAC=G`NF3f~I%cL)b>hRg8RaUfaot;QLGf#6OcfBNz{#}@(^ zYK#AN=sl{}7LOtI`Lc->f~8fEUB{X%7b8w-`xr?EV`&8l_H5_U(lQgeXIxvE+O~9t z!C0k08U-2QuEc=M80D`o{nwu_V2qOffrl9DV#>ezI3|Lr2ExGj9xVM2Pp>}yh|GQt gSB~d!HS`?r7r!xL_v#YpDF6Tf07*qoM6N<$g3bodHUIzs literal 0 HcmV?d00001 diff --git a/public/images/token/eth.svg b/public/images/token/eth.svg deleted file mode 100644 index ce262fb09..000000000 --- a/public/images/token/eth.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/images/token/kton.png b/public/images/token/kton.png new file mode 100644 index 0000000000000000000000000000000000000000..56e8fa5a963b6333a6dead8e2d0921b99cb806f4 GIT binary patch literal 1411 zcmV-}1$_F6P)c#t9bf6!xB55E#N8u?$~!-^R$xvBy|xN>r9m7QP$V1V=f4|=CZ9nG$UGM+~L6N|5U zdQ`%0ApPbZx_zQer2Sqj*KO#=4)@1#-Ceg0|N6dIK7>yw&N;J<f|Sc6?D-D`(^ZHv`|A(U`Tj9}5W!@ep;j0@o&a2}*Mh$(TK{k{=n z?}3M0hC>2E)F}m4_Kesm!zsw;5skBx;QF0Zwnmb+$}m0;$>+sM(D2RLV3*ZM7nW`; z&x6Xo%moX<{UkCB1{}*WKRVQK<+oQJS$hN*5YoEcSCs=K5#iO0HJY$u;P#C zHFo13_hBrbNgy!rPA zK3Dp?h~grx*F`=g{podsGM+0#`|FQJaz?!}#;AII9udhoMp4Lb20}sZ-8qI)#+a0$ z2~43}&O+!{=*m#YpOd*qW%vlCwXrmLG}n2?D2ku-D_Lry#<#=`~>BLR_c>37!NXCQH$^_SF0 z_x*1nQECPGwCI&_9@3R@R#8SYyO3J&{muSTe7T{`(BNw=Y{(6dSGlsGn7qU2cV}Wq z?P0_$F1#>o){-0I>8&tGA$tr!uJzXn>S5h*zdvMz!ph6NNf4HYgf5_1nTH|u7i4ek z$cLMjthQtxezF}g|H2?JsK&qx^4+VxE7L^d5JJh52$arR`H2hIWHi4gk>?VP!VpCi zQsBiR5E+ayb;#G-&#y@g;VAg@E2Yoi7GQ`#0H=TRkG{2#AP_7r9?BjQC z&Cq3PD-=*zLZL}Fak4VdSdB>ZuR~2Hf*~T27bm2uGW4%Qt6osbv%ETCo}Wkm-KrMU zT(B5YN@5W+76SP{_oWcGysHRD5{oO0)qAbUmAm`=&oD${lIab z0p}P*$#qLapfHjqa>@TyP~hy}(WA_o+*SVVeIfug!b_bKqbMR71 R@5cZD002ovPDHLkV1gj#mOB6d literal 0 HcmV?d00001 diff --git a/public/images/token/kton.svg b/public/images/token/kton.svg deleted file mode 100644 index a2836f08a..000000000 --- a/public/images/token/kton.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/images/token/mnt.png b/public/images/token/mnt.png new file mode 100644 index 0000000000000000000000000000000000000000..6d2d82c05f3b36e609489355463133ec06796b23 GIT binary patch literal 1794 zcmV+d2mSboP)01=sWEi)s|kj^`b6Oi?>JV6wn9B~(ZIm2@te}ua;%;=G* z#>N=oh3H@?oljkeP6pmLBdfdY8Kd_Z{bRKGs>_VAG2UR%tR`wvoPV#{vswm9lA|CP zu9-ehT0sBzf7&}jf;vsQws)7>swIi~$q&%e8oz6w8kEl&rHOio-E2I6n{vyj3IHu2 zU=ON%PI;r1`t<{HtgC=F$|)Z)$X^XRS|)_dYv=&VN0f}w)K4xz?-~&I1m;qz*yFYb zU$QN@i4u${McO^okF^d6_CFP290i!0?K(q?rJq)Vyb$-N54eJ@BL9-xD64rB~ir{+XY_*nqrA3|7V%Kvn+S^RiW%M)mr zDp>kuKn+6Gj$bN$w*We|7^*M*n6!Hnn2E=> z^-EZlD<2IeDqjR!UAClH-jjAeMr`NP_cD69i@#t6d}0z0^QVlFl*oI+p?PZyE3+c~ zGz=ho`2qR%yeGE4XQ6Dxalsp2A6$&?U3qQ zMl%f+K-ZC%|1xTtA6fkP*VW~*S8(ZJi14A~PSUY_p>&Pc@CM-p0xTXsKeY`~$}Vzl z^-mz>7a{Z)A)gxc8*6_NQhyQh&!0fJ11W@Ws_VYtsf=;6rVNdltqZU0kVi?j@(_i8 zD97m6Hyz1Cj~=!$)odexns>aLA8+?ET`Su|{A%4>ZK7knBkhoVKpG&z*XfURJ_@Ju zhQ)x~N4+eN5x(Sk6F}-zEurMUC+(05_^(&%P?j8oVb=&8*q8kO*WM%+D9dVQ>tx!i ztgu{gJK~~2qPVZFjYGyrB~0SvJzYt65z^PhNVe4icq=l}BZa_=U5jw|Ig!|afQHK8 zqu#uC$SGS?4>N9fOYiT$Mc8}8iGnZ~v=pQEzdR;K=kY8uRh-6R^9Djc9l@3jp+ z%s?l~?L7VfA@>7Fr6#@05(p=@UIsLzE0O;O7RZAvIXLvtl1S@CdD40Uor$sbwgk)T zK*9e3=8mmDqI3v|5PU5xAiSW{@ozK=$}kBK3z#BGhl#JKn0T-;=MJMD_h)&83*qj9 ztvTf`pvv+Y!&y19=aO&yMW_~R3BJPXS5Sv+3Z1nMQsVYJ0bzCFfLiM|?uCB^MkGgu z>a>F(<5=e`ZHe*2AJtBj;N{|+mHg_0@q6})+-2(iCqiy`k2$GTif>&H; zmrV+y+jf(Gv?IiNfZ*k^_P4@cIu1uzIIFWJpSE_6ogvQ za%|~bUen{ls6*q{4**UJg4i-+Fo7D4g6{FVNC|m8%{}XWs%~_01YqR5MaIamvQptZ zs~eqC_dx04>BwJ7e>l7A`_$CcZMz4}=VDu9*s$^4aFaw@O$C(Yxi2JzctiK_2i(iIE(xcfAuPt<807*qoM6N<$f+$R8CjbBd literal 0 HcmV?d00001 diff --git a/public/images/token/mnt.svg b/public/images/token/mnt.svg deleted file mode 100644 index 0e3d38e75..000000000 --- a/public/images/token/mnt.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/public/images/token/ring.png b/public/images/token/ring.png new file mode 100644 index 0000000000000000000000000000000000000000..dfcbe8bfab8bba979e0fe5d906cb91e413af8059 GIT binary patch literal 1910 zcmV-+2Z{KJP)5JBueZpJjg;l-@w&jzpQ*g;@AZw1lFifK^Y;7h@%QNL z^Wx|4+~Moh+~&^J;m6P1zsJ_Lz|gI?$*{1yq_D)KsJEV@v7Mc!mX@B7kClvzk%@?o zbjc3U0000GbW%=J01zTTVq=Y!s;auu*W23PlDybU000K5NklxBZ7IbaA(u?ypb)L>Map)jaKGm1SJzojyg0Sru*aRGDne>48{}Vdg@Mc{@F%xyP5F~gYA+cSgzS5;~#GegQ9pa>Za*> znXYSSU6ooyF<_E`@|~eDW+Sv4MmEX3ra5dJnrap)j7~C8zA`$CApqZ;Akcq)8Zfp6hyE5F|+|2>Qdu z(l{qGCHt%;?szm~_yh#5{p}?HXJTW;87dMXR8F76QjBg*Bk{hhV~|RQlo6C-QMrpm z_Vx;d^61&L0RfCeFt}ukO6FLb)oYW1P1BDE#L<|Em2aK!{E4jAbtNNvg9HxwDQ+?` znel;6Wd8hdO_9Ezmuq-~q%PT#AZ2o7eE}6kIhi8Lq~i<|k~m~ryp+jMn9M4kB_cgc zNJ2KpNz}leC|*ILHxWVUrHF>WV>_k63JV7RIC`X9L@|WP$RY6fEu|DDpg`raFkm7W zdniKz5ed1@t@YBR=MZ#)z1kd?i9BbOh2pE)CBuS%u|0u+bh&{Li7+k8Bp_rbWh~GM z=H)EYLMN$1c10YQ%Gh8T7rSMeygafmo|qRz6efDFL_-p?Hwj~-Djp^$EU;+;kv%F8 zIWCx7=So@*K_~k~h?DYCV4~s>Plz;}0TYPqTChelG{%>`w+&22hSl1)V4b;Ls`*fe zG)5;QrnRs7A&1EfN&22M8l02SKLiQXdI2HUD;6TAN$(wkIO@#b4a}8qaHC8#q&o&7 zsek|hh-uOugd`jyD8Sr_oK^$Ia1;`bIS?AsP?K^T5{$WJl98TbS_0Cy{y|8eS)CN5 zqYX?XBs>Q3n#?kJ5(6}i<(nG!KP-tdkV?_lzqK<-B#r z9N}S`WF16!Vwf-inR?nPioc2BoeCcNx~pbF1S+Z%+(=BzHG1s+tl{IzR%8|_8Doxh zsU{%f^6&V8YRcJne$v3RgRx!tphOVIzL9wK0wF0J^A8(8!mESXN!~MNUuy)CVcrt8 zvk5S3gF4x-4hkVl*JlKYEt4116qWPGgR<*KH;KTb7EBt3VIl5dcA_W}fhU^!9Q(c} z;`?!QEA{({s>Hl}&IN<5*axPG%qS@o82OedV?SpWhKXhbWF?{5iK6InSr5$iQ>L|D zMJE{HdW#pFlR2z42Bsl4#;)Yi3r70&kp?Dnrmm(yh`dj0sU4J>Nyhi5prv?FddmbD zm=pq|7zG96I|Y!X7$ClM0+n)LGGMGy05N5NDOXJtewWceuV(0 zALq0PG#1beozjRBu(WHPm?4Jw*Pmyzb^3f&3`r?umAu607*qoM6N<$f=S - - - - - - - - - - - - - - - - - - diff --git a/public/images/token/usdc.png b/public/images/token/usdc.png new file mode 100644 index 0000000000000000000000000000000000000000..f5f0dc1bb69184afd9cd5f6c8c1314cb4e58694a GIT binary patch literal 1073 zcmV-11kU@3P)3`BJ$DbfG`y=R|dqY5%)#|>(r}^%Z0E-dZhxG-~VP3Sx91eM~rj2=oUytzQ_(c|Zh4ub(20h{rJPI`I%DGK%Ns z5vRBqF5?j~JR3ajQ7VzaV$>%XNO_9EDV(v_6~x*J1}L22CUaWAm{ZINyh6ifQ*4HeX^RWY3qdfWi~vGEdlHBub|` zPfLGqrcAILW4~JVepd&xa>hXr3{V=Hg$%6E)HI}Eg>_&g`CO`MZ(LWPL{e&!b6H_Q z3DjX$=rtFjY4xw9o_C_Wr$X$AXAm@afs|0lJ`4^)Ee=_UgvjaR2qBj+EpZ<)&`lxu zN0c(6%F=+KKdVm7(*aW;_28Ce39)ZNJ`i|VVHMqSiOq7IC(?FAQX0Bt$1GrTiUd*y zx+QUDj}DQ;)1)pG{A$5nl9lKBA!{kPAGY!M)q@tV_`eI>Po&s;eGPn?#JyQDcRS9V zyeB1in(;2^aAyubd52rb&vp!Ce$~<-CE!-fUSF{VnP~{xQ$cBK?H) zcoKSA%pr}uBuLLzHe%l&h4m}m(FsH`udP&4!{`7uh`hjSDT!9*q8}yf1zt)t3|rPZ zeyc@;a49`_9Dg%`ApX*oUtPl>skErmDW~VX~m{0EKjnfmPKzZm0ztHEfUgT z_lB;1H@${S#v=tp$1^zx2v{HTD?QpC z{7g&CLk6ed5^Kdd(M1mD2!) - - - - diff --git a/public/images/token/usdt.png b/public/images/token/usdt.png index e1093d9f179a63939a1814866356e9e38dd8e34c..de8f0a14fdd5844e74792e55c671df21bbaa8c1c 100644 GIT binary patch literal 889 zcmV-<1BU#GP)7L0oB)%P7m%Mw00006 zbW%=J04Qpf!ROwcA*BES0`f^jK~#9!)tc*$>M#t1Hy1aFoz(CDwnyTiU4%m>Z3z&UGf?iNqkSZ&36AV&aO2Lft6wEkJ!Hn~AA7Cgsz*tKmeWT*p z8N5D~Uf(Pa3bLv!Q9Ej7QrupY1t)7y+pN;wPZ&;C+2+M+MH8J>w_UPtSZNO<&$>J?BB1plM)Lx|QinJxhyhyn_T1Tz%+5H$e^W)LtU42Acb znqdF~#4DtXB@@ns(@T^jQ{ER{qCf@#cL-CG%(z7$U+7J^PCJEhhH{ocz)eGxRFAk` zG(`anQF1+iU;-}5$^)~wY0|8u?^P<5a%{Ltd5jfQPmgBjZgT`+-GX2EiZ*-qIDqnx- z|M}|+>n~zpxv-!b7;`;S7_;uylAEbb4Bv3|>K;#|E?~iRwWsTF^9}nC$_#^B&3+p- P00000NkvXXu0mjf%z%;r literal 1491 zcmV;^1uXiBP)ZNoIe{oxAs( zIcH|h%vpwTP+x68TtX?FD1yXy0jvm4ZUAEjPaB4QaHW{2z5{k=D=N?RBSaYV;u5-w z1TxY$BlN&nC*5BciZa0~uq?QfSFh^fP~m8RgP#sok>C{g{=-vY7kn)YwRrpNY39NQ3YglY?$x@2I??+X440yfts$bfN&Y`hDYi$ zexYYN$?A#>{)zE>Mcl~AA0IzP94`SbU2j#ps6Gb1CDTd5=OYPr67QV(#;4Y&ofxpf z=O2sPtOvKijst54w(l5_+11DsUO+O%`Fh1_1%%&=86Z;OG!uSTQ|n!|;zG(?&-xJY z2v@T0MrEBve3L!(F{~CrP@J(7`6*ivE(WYq_* zI^PhDZy5Ou(CgF2~xhGbN!LjUT@J3Dniqf{Db+iwEO$?%i z-o==(lW<3~^6~19y*~Fg^_lS1y>@JgPeLKxTWHvU_w!#uc48{Jrbf`vdmC3r??W?; z8)O7QUP?L|i{HYueF0~>Ta_^|W4HOV^KVesl`-3#vg(TR`JFawO-RC#%su$x;Oj73 zEjW4ON2QGh4Ge*|lwMTlmnc8{%AfW4gC4FXykOR`s9L|o)m3}2Fh{dmCrYkdKpwec z+0FuJghXP zfWua&tOwDA$SGi10hb${N3P-I-eH=MSk3^EVtaJP-ZgS^Y1A*=}ZcHr>ZYTs~Ln1{3X z5NU8;sg`n5PjEC}??l-lMpiH)5)gi0{>cTkOa3!7&223ap@a~Ajo*6{_&h~qYZ$BF z@SK70dEv_CXB*aQrajH7BtAAOcR+ED-C3q3%^KW^mPjrzb_$OQ*Ft)JJ(pRFj=vg^ zHAF5!LIuLbvfv^ba3?Ob62hN76h(}#lWpCH!!1fAtV8f+^ef=avNCj5Nu|(z+L!CO tE_zsE7TSZ-D$mShy-sB#rBi5c{s&@w9Svf+Hva$s002ovPDHLkV1ja%z32b{ diff --git a/public/images/token/usdt.svg b/public/images/token/usdt.svg deleted file mode 100644 index fece22e6d..000000000 --- a/public/images/token/usdt.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/public/images/token/xdai.png b/public/images/token/xdai.png index 10b2efaa094fa778ca9890b549e7691cbf2e9339..408640689565c4e7c7db51caeddbcb469415d476 100644 GIT binary patch literal 961 zcmV;y13vtTP)`y(77pHn1; zeJ=YAbNVed2T{(;pP6&JAK@Qp0gYX*%U_9j_hb;fm&zDFW9**E2{>KB)ff1Zj8hPBF^^mv#o)9G~G{))sXc?k(L{{tbIz`gkpm>78+k-Sk|bS_{NnRtTER#Qf!dM z#O_jy3^GfHZ|<-$uPFrYC2WZM)XF$@GLLTR=O`@Amt1Xah&kB%)koh%i)8;i5O@vYjW*i^${3g7Cec|9owCd z0Th6Y*`uhL7@)CNY7n@U2^n}6JP7=P&CtNJtTBJg9bjQ*aAke5li>lJbn@fWvvq}z z?LcA1%v&a9iRbtGeU9*`>)>Pb`VR!?W4ZFk@egUr6=Z<;T8cmZ5#aF;Gmm;KTdwrf zD8DLO_v;V+B^>|y!m%%6fVi=I8|4gXsy-vFFM8=pIMMT>So|oJhX79Kl8}s{Uu~=7OA0@7C3^d>00000NkvXXu0mjfbVb{h literal 10541 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 Nu`snZ!5SeS{2y)L$#eh! diff --git a/src/app/globals.css b/src/app/globals.css index 10aa2bde5..c22b6b51f 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -46,10 +46,10 @@ body { /* User */ .user-connect-wallet { - @apply flex h-9 shrink-0 items-center gap-middle rounded-middle bg-primary px-large transition lg:hover:bg-primary/80 lg:active:translate-y-1; + @apply flex h-8 shrink-0 items-center gap-middle rounded-xl bg-primary px-large transition lg:hover:bg-primary/80 lg:active:translate-y-1; } .user-dropdown-item { - @apply inline-flex items-center gap-middle rounded-middle px-middle py-small text-start transition hover:bg-white/10 lg:active:translate-y-1; + @apply inline-flex items-center gap-middle rounded-xl px-middle py-small text-start transition hover:bg-white/10 lg:active:translate-y-1; } .button { @@ -73,7 +73,7 @@ body { /* Page header loading bar */ .loading-bar { - background: linear-gradient(90deg, #ffffff 35%, #00b2ff 50%, #ffffff 65%); + background: linear-gradient(90deg, #ffffff 35%, #0085FF 50%, #ffffff 65%); background-position: 100% 50%; background-size: 40% 100%; animation: bar-loading 2.4s linear infinite; diff --git a/src/app/icon.svg b/src/app/icon.svg deleted file mode 100644 index 527bb02d8..000000000 --- a/src/app/icon.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 8acca467c..706c167ad 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -14,8 +14,8 @@ const ibm_plex_sans = IBM_Plex_Sans({ }); export const metadata: Metadata = { - title: "Helix Bridge", - description: "Helix Bridge App", + title: "Helix xToken - Helix Bridge", + description: "Helix Bridge for xToken cross-chain.", }; export default function RootLayout({ children }: { children: React.ReactNode }) { diff --git a/src/app/page.tsx b/src/app/page.tsx index 9f714fb05..ae42f323d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,12 +1,6 @@ import PageWrap from "@/ui/page-wrap"; -import { Metadata } from "next"; import dynamic from "next/dynamic"; -export const metadata: Metadata = { - title: "Helix Bridge - Cross-chain for tokens", - description: "Perform cross-chain transfers through Helix Bridge", -}; - const Transfer = dynamic(() => import("@/components/transfer"), { ssr: false }); export default function HomePage() { diff --git a/src/app/records/[id]/page.tsx b/src/app/records/[id]/page.tsx index b9681a134..15c72510e 100644 --- a/src/app/records/[id]/page.tsx +++ b/src/app/records/[id]/page.tsx @@ -1,11 +1,5 @@ import RecordDetail from "@/components/record-detail"; import PageWrap from "@/ui/page-wrap"; -import { Metadata } from "next"; - -export const metadata: Metadata = { - title: "Detail - Helix Bridge", - description: "View Helix Bridge transfer details", -}; interface Props { params: { diff --git a/src/app/records/page.tsx b/src/app/records/page.tsx index be2fa80e1..b6d9be8d7 100644 --- a/src/app/records/page.tsx +++ b/src/app/records/page.tsx @@ -1,12 +1,6 @@ import PageWrap from "@/ui/page-wrap"; -import { Metadata } from "next"; import dynamic from "next/dynamic"; -export const metadata: Metadata = { - title: "History Records - Helix Bridge", - description: "View the history of transfers via the Helix Bridge", -}; - const HistoryRecords = dynamic(() => import("@/components/history-records")); export default function RecordsPage() { diff --git a/src/bridges/base.ts b/src/bridges/base.ts index 30e95c3d1..32101d884 100644 --- a/src/bridges/base.ts +++ b/src/bridges/base.ts @@ -22,6 +22,7 @@ export abstract class BaseBridge { protected readonly category: BridgeCategory; protected contract: BridgeContract | undefined; + protected convertor: { source?: Address; target?: Address } | undefined; protected readonly sourceChain?: ChainConfig; protected readonly targetChain?: ChainConfig; @@ -90,10 +91,6 @@ export abstract class BaseBridge { options?: TransferOptions & { askEstimateGas?: boolean }, ): Promise; - isLnBridge() { - return false; - } - getLogo() { return this.logo; } @@ -102,10 +99,6 @@ export abstract class BaseBridge { return this.name; } - getCategory() { - return this.category; - } - getContract() { return this.contract; } @@ -135,11 +128,11 @@ export abstract class BaseBridge { } formatEstimateTime() { - return `${this.estimateTime.min}~${this.estimateTime.max} minutes`; + return `${this.estimateTime.min}~${this.estimateTime.max} Minutes`; } getTxGasLimit() { - return this.sourceChain?.network === "arbitrum" || this.sourceChain?.network === "arbitrum-goerli" + return this.sourceChain?.network === "arbitrum" || this.sourceChain?.network === "arbitrum-sepolia" ? 3000000n : undefined; } @@ -190,13 +183,15 @@ export abstract class BaseBridge { async getSourceAllowance(owner: Address) { if (this.contract && this.sourceToken && this.sourcePublicClient) { - return this.getAllowance(owner, this.contract.sourceAddress, this.sourceToken, this.sourcePublicClient); + const spender = this.convertor?.source ?? this.contract.sourceAddress; + return this.getAllowance(owner, spender, this.sourceToken, this.sourcePublicClient); } } async getTargetAllowance(owner: Address) { if (this.contract && this.targetToken && this.targetPublicClient) { - return this.getAllowance(owner, this.contract.targetAddress, this.targetToken, this.targetPublicClient); + const spender = this.convertor?.target ?? this.contract.targetAddress; + return this.getAllowance(owner, spender, this.targetToken, this.targetPublicClient); } } @@ -217,14 +212,16 @@ export abstract class BaseBridge { async sourceApprove(amount: bigint, owner: Address) { await this.validateNetwork("source"); if (this.sourceToken && this.contract) { - return this.approve(amount, owner, this.contract.sourceAddress, this.sourceToken); + const spender = this.convertor?.source ?? this.contract.sourceAddress; + return this.approve(amount, owner, spender, this.sourceToken); } } async targetApprove(amount: bigint, owner: Address) { await this.validateNetwork("target"); if (this.targetToken && this.contract) { - return this.approve(amount, owner, this.contract.targetAddress, this.targetToken); + const spender = this.convertor?.target ?? this.contract.targetAddress; + return this.approve(amount, owner, spender, this.targetToken); } } diff --git a/src/bridges/index.ts b/src/bridges/index.ts index 0cfb4a965..3ae64ba2a 100644 --- a/src/bridges/index.ts +++ b/src/bridges/index.ts @@ -4,3 +4,4 @@ export * from "./helixbridge-dvmdvm"; export * from "./helixbridge-dvmevm"; export * from "./l2bridge"; export * from "./xtoken-v3"; +export * from "./xtoken-next"; diff --git a/src/bridges/l2bridge.ts b/src/bridges/l2bridge.ts index e2dd6690e..20689fdc7 100644 --- a/src/bridges/l2bridge.ts +++ b/src/bridges/l2bridge.ts @@ -26,7 +26,7 @@ export class L2ArbitrumBridge extends BaseBridge { } private _initContract() { - if (this.sourceChain?.network === "goerli" && this.targetChain?.network === "arbitrum-goerli") { + if (this.sourceChain?.network === "sepolia" && this.targetChain?.network === "arbitrum-sepolia") { this.contract = { sourceAddress: "0x0000000000000000000000000000000000000000", targetAddress: "0x4c7708168395aea569453fc36862d2ffcdac588c", diff --git a/src/bridges/xtoken-next.ts b/src/bridges/xtoken-next.ts new file mode 100644 index 000000000..0edf59315 --- /dev/null +++ b/src/bridges/xtoken-next.ts @@ -0,0 +1,466 @@ +import { BridgeConstructorArgs, GetFeeArgs, HistoryRecord, Token, TransferOptions } from "@/types"; +import { BaseBridge } from "./base"; +import { Address, Hash, Hex, TransactionReceipt, encodeAbiParameters, encodeFunctionData, isAddressEqual } from "viem"; +import { fetchMsglineFeeAndParams } from "@/utils"; + +export class XTokenNextBridge extends BaseBridge { + constructor(args: BridgeConstructorArgs) { + super(args); + this.logo = { + horizontal: "helix-horizontal.svg", + symbol: "helix-symbol.svg", + }; + this.name = "xToken"; + this._initContract(); + this._initConvertor(); + } + + private _initContract() { + let backing: Address = "0x94eAb0CB67AB7edaf9A280aCa097F70e4BD780ac"; + let issuing: Address = "0x371019523b25Ff4F26d977724f976566b08bf741"; + if ( + (this.sourceChain?.network === "pangolin-dvm" && this.targetChain?.network === "sepolia") || + (this.sourceChain?.network === "sepolia" && this.targetChain?.network === "pangolin-dvm") + ) { + backing = "0x24f8a04F0cA0730F4b8eC3241F15aCc6b3f8Da0a"; + issuing = "0x1aeC008Af5c604be3525d0bB70fFcc4D7281f30C"; + } else if ( + (this.sourceChain?.network === "darwinia-dvm" && this.targetChain?.network === "crab-dvm") || + (this.sourceChain?.network === "crab-dvm" && this.targetChain?.network === "darwinia-dvm") + ) { + backing = "0xa64D1c284280b22f921E7B2A55040C7bbfD4d9d0"; + issuing = "0xf6372ab2d35B32156A19F2d2F23FA6dDeFBE58bd"; + } + this.initContractByBackingIssuing(backing, issuing); + } + + private _initConvertor() { + if ( + this.sourceChain?.network === "pangolin-dvm" && + this.targetChain?.network === "sepolia" && + this.sourceToken?.type === "native" + ) { + // Issue native token + this.convertor = { + source: "0xB3A8DB63d6FBE0f50A3D4977c3e892543D772C4A", + target: "0x4CdFe9915d2c72506f4fC2363A8EaE032E82d1aA", + }; + } else if ( + this.sourceChain?.network === "sepolia" && + this.targetChain?.network === "pangolin-dvm" && + this.targetToken?.type === "native" + ) { + // Redeem native token + this.convertor = { + source: "0x4CdFe9915d2c72506f4fC2363A8EaE032E82d1aA", + target: "0xB3A8DB63d6FBE0f50A3D4977c3e892543D772C4A", + }; + } else if (this.sourceChain?.network === "darwinia-dvm" && this.targetChain?.network === "crab-dvm") { + const source = this.sourceToken?.type === "native" ? "0xA8d0E9a45249Ec839C397fa0F371f5F64eCAB7F7" : undefined; + const target = this.targetToken?.type === "native" ? "0x004D0dE211BC148c3Ce696C51Cbc85BD421727E9" : undefined; + this.convertor = { source, target }; + } else if (this.sourceChain?.network === "crab-dvm" && this.targetChain?.network === "darwinia-dvm") { + const source = this.sourceToken?.type === "native" ? "0x004D0dE211BC148c3Ce696C51Cbc85BD421727E9" : undefined; + const target = this.targetToken?.type === "native" ? "0xA8d0E9a45249Ec839C397fa0F371f5F64eCAB7F7" : undefined; + this.convertor = { source, target }; + } + } + + protected async _transfer( + sender: Address, + recipient: Address, + amount: bigint, + options?: (TransferOptions & { askEstimateGas?: boolean | undefined }) | undefined, + ): Promise { + const account = await this.getSigner(); + const askEstimateGas = options?.askEstimateGas ?? false; + + const nonce = BigInt(Date.now()); + const { recipient: pRecipient, extData } = await this._getExtDataAndRecipient(recipient); + const feeAndParams = await this._getTransferFeeAndParams(sender, recipient, amount, nonce); + + if (account && feeAndParams && this.contract && this.sourceToken && this.targetChain && this.sourcePublicClient) { + const value = this.sourceToken.type === "native" ? amount + feeAndParams.fee : feeAndParams.fee; + const gas = this.getTxGasLimit(); + + if (this.crossInfo?.action === "issue") { + if (this.convertor?.source) { + const defaultParams = { + abi: (await import("@/abi/wtoken-convertor")).default, + functionName: "lockAndXIssue", + args: [BigInt(this.targetChain.id), pRecipient, sender, amount, nonce, extData, feeAndParams.extParams], + address: this.convertor.source, + account, + value, + gas, + } as const; + + if (askEstimateGas) { + return this.sourcePublicClient.estimateContractGas(defaultParams); + } else if (this.walletClient) { + const hash = await this.walletClient.writeContract(defaultParams); + return this.sourcePublicClient.waitForTransactionReceipt({ hash }); + } + } else { + const defaultParams = { + abi: (await import("@/abi/xtoken-backing-next")).default, + functionName: "lockAndXIssue", + args: [ + BigInt(this.targetChain.id), + this.sourceToken.address, + pRecipient, + sender, + amount, + nonce, + extData, + feeAndParams.extParams, + ], + address: this.contract.sourceAddress, + account, + value, + gas, + } as const; + + if (askEstimateGas) { + return this.sourcePublicClient.estimateContractGas(defaultParams); + } else if (this.walletClient) { + const hash = await this.walletClient.writeContract(defaultParams); + return this.sourcePublicClient.waitForTransactionReceipt({ hash }); + } + } + } else if (this.crossInfo?.action === "redeem") { + if (this.convertor?.source) { + const defaultParams = { + abi: (await import("@/abi/xtoken-convertor")).default, + functionName: "burnAndXUnlock", + args: [pRecipient, sender, amount, nonce, extData, feeAndParams.extParams], + address: this.convertor.source, + account, + value, + gas, + } as const; + + if (askEstimateGas) { + return this.sourcePublicClient.estimateContractGas(defaultParams); + } else if (this.walletClient) { + const hash = await this.walletClient.writeContract(defaultParams); + return this.sourcePublicClient.waitForTransactionReceipt({ hash }); + } + } else { + const defaultParams = { + abi: (await import("@/abi/xtoken-issuing-next")).default, + functionName: "burnAndXUnlock", + args: [this.sourceToken.inner, pRecipient, sender, amount, nonce, extData, feeAndParams.extParams], + address: this.contract.sourceAddress, + account, + value, + gas, + } as const; + + if (askEstimateGas) { + return this.sourcePublicClient.estimateContractGas(defaultParams); + } else if (this.walletClient) { + const hash = await this.walletClient.writeContract(defaultParams); + return this.sourcePublicClient.waitForTransactionReceipt({ hash }); + } + } + } + } + } + + private async _getExtDataAndRecipient(defaultRecipient: Address) { + const guard = await this._getTargetGuard(); + let recipient = defaultRecipient; + let extData: Hash = "0x"; + + if (guard && this.convertor?.target) { + // Guard, convertor + recipient = guard; + extData = encodeAbiParameters( + [ + { name: "x", type: "address" }, + { name: "y", type: "bytes" }, + ], + [this.convertor.target, defaultRecipient], + ); + } else if (this.convertor?.target) { + // No guard, convertor + recipient = this.convertor.target; + extData = defaultRecipient; + } else if (guard) { + // Guard, no convertor + recipient = guard; + extData = encodeAbiParameters( + [ + { name: "x", type: "address" }, + { name: "y", type: "bytes" }, + ], + [defaultRecipient, "0x"], + ); + } else { + // No guard, no convertor + recipient = defaultRecipient; + extData = "0x"; + } + return { recipient, extData }; + } + + private async _getTransferFeeAndParams(sender: Address, recipient: Address, amount: bigint, nonce: bigint) { + const sourceMessager = this.sourceChain?.messager?.msgline; + const targetMessager = this.targetChain?.messager?.msgline; + + if ( + sourceMessager && + targetMessager && + this.contract && + this.sourceToken && + this.targetToken && + this.sourcePublicClient + ) { + let message: Hash | undefined; + const originalSender = this.convertor?.source ?? sender; + const { recipient: pRecipient, extData } = await this._getExtDataAndRecipient(recipient); + + if (this.crossInfo?.action === "issue") { + message = encodeFunctionData({ + abi: (await import("@/abi/xtoken-issuing-next")).default, + functionName: "issue", + args: [ + BigInt(this.sourceChain.id), + this.sourceToken.inner, + originalSender, + pRecipient, + sender, + amount, + nonce, + extData, + ], + }); + } else if (this.crossInfo?.action === "redeem") { + message = encodeFunctionData({ + abi: (await import("@/abi/xtoken-backing-next")).default, + functionName: "unlock", + args: [ + BigInt(this.sourceChain.id), + this.targetToken.inner, + originalSender, + pRecipient, + sender, + amount, + nonce, + extData, + ], + }); + } + + if (message) { + const payload = encodeFunctionData({ + abi: (await import("@/abi/msgline-messager")).default, + functionName: "receiveMessage", + args: [BigInt(this.sourceChain.id), this.contract.sourceAddress, this.contract.targetAddress, message], + }); + + return fetchMsglineFeeAndParams( + this.sourceChain.id, + this.targetChain.id, + sourceMessager, + targetMessager, + sender, + payload, + ); + } + } + } + + async getFee(args?: GetFeeArgs | undefined): Promise<{ value: bigint; token: Token } | undefined> { + if (this.sourceNativeToken) { + const nonce = BigInt(Date.now()); + const sender = args?.sender ?? "0x0000000000000000000000000000000000000000"; + const recipient = args?.recipient ?? "0x0000000000000000000000000000000000000000"; + const feeAndParams = await this._getTransferFeeAndParams(sender, recipient, args?.transferAmount ?? 0n, nonce); + if (feeAndParams) { + return { value: feeAndParams.fee, token: this.sourceNativeToken }; + } + } + } + + async getDailyLimit(): Promise<{ limit: bigint; spent: bigint; token: Token } | undefined> { + if (this.contract && this.sourceToken && this.targetToken && this.targetPublicClient) { + const limit = await this.targetPublicClient.readContract({ + address: this.contract.targetAddress, + abi: (await import("@/abi/xtoken-issuing-next")).default, + functionName: "calcMaxWithdraw", + args: [this.targetToken.inner], + }); + return { limit, spent: 0n, token: this.sourceToken }; + } + } + + async claim(record: HistoryRecord): Promise { + await this.validateNetwork("target"); + const guard = await this._getTargetGuard(); + + if (record.recvTokenAddress && guard && this.contract && this.walletClient && this.publicClient) { + const hash = await this.walletClient.writeContract({ + abi: (await import("@/abi/guard-next")).default, + functionName: "claim", + args: [ + this.contract.targetAddress, + BigInt(record.id.split("-").slice(-1)[0]), + BigInt(record.endTime || 0), + record.recvTokenAddress, // TODO: inner address + BigInt(record.recvAmount || 0), + record.extData, + record.guardSignatures?.split("-").slice(1) as Hex[], + ], + address: guard, + gas: this.getTxGasLimit(), + }); + return this.publicClient.waitForTransactionReceipt({ hash }); + } + } + + async refund(record: HistoryRecord): Promise { + await this.validateNetwork("target"); + const sourceMessager = this.sourceChain?.messager?.msgline; + const targetMessager = this.targetChain?.messager?.msgline; + const nonce = record.messageNonce?.split("-").at(0); + + if ( + sourceMessager && + targetMessager && + this.contract && + this.publicClient && + this.walletClient && + this.sourceToken && + this.targetToken + ) { + const originalSender = this.convertor?.source ?? record.sender; + const { recipient: pRecipient } = await this._getExtDataAndRecipient(record.recipient); + + if (this.crossInfo?.action === "issue") { + const message = encodeFunctionData({ + abi: (await import("@/abi/xtoken-backing-next")).default, + functionName: "rollbackLockAndXIssue", + args: [ + BigInt(this.targetChain.id), + this.sourceToken.inner, + originalSender, + pRecipient, + record.sender, + BigInt(record.sendAmount), + BigInt(nonce ?? 0), + ], + }); + + const payload = encodeFunctionData({ + abi: (await import("@/abi/msgline-messager")).default, + functionName: "receiveMessage", + args: [BigInt(this.targetChain.id), this.contract.targetAddress, this.contract.sourceAddress, message], + }); + + const feeAndParams = await fetchMsglineFeeAndParams( + this.targetChain.id, + this.sourceChain.id, + targetMessager, + sourceMessager, + record.sender, + payload, + ); + + if (feeAndParams) { + const hash = await this.walletClient.writeContract({ + address: this.contract.targetAddress, + abi: (await import("@/abi/xtoken-issuing-next")).default, + functionName: "xRollbackLockAndXIssue", + args: [ + BigInt(this.sourceChain.id), + this.sourceToken.inner, + originalSender, + pRecipient, + record.sender, + BigInt(record.sendAmount), + BigInt(nonce ?? 0), + feeAndParams.extParams, + ], + gas: this.getTxGasLimit(), + value: feeAndParams.fee, + }); + return this.publicClient.waitForTransactionReceipt({ hash }); + } + } else if (this.crossInfo?.action === "redeem") { + const message = encodeFunctionData({ + abi: (await import("@/abi/xtoken-issuing-next")).default, + functionName: "rollbackBurnAndXUnlock", + args: [ + BigInt(this.targetChain.id), + this.targetToken.inner, + originalSender, + pRecipient, + record.sender, + BigInt(record.sendAmount), + BigInt(nonce ?? 0), + ], + }); + + const payload = encodeFunctionData({ + abi: (await import("@/abi/msgline-messager")).default, + functionName: "receiveMessage", + args: [BigInt(this.targetChain.id), this.contract.targetAddress, this.contract.sourceAddress, message], + }); + + const feeAndParams = await fetchMsglineFeeAndParams( + this.targetChain.id, + this.sourceChain.id, + targetMessager, + sourceMessager, + record.sender, + payload, + ); + + if (feeAndParams) { + const hash = await this.walletClient.writeContract({ + address: this.contract.targetAddress, + abi: (await import("@/abi/xtoken-backing-next")).default, + functionName: "xRollbackBurnAndXUnlock", + args: [ + BigInt(this.sourceChain.id), + this.targetToken.inner, + originalSender, + pRecipient, + record.sender, + BigInt(record.sendAmount), + BigInt(nonce ?? 0), + feeAndParams.extParams, + ], + gas: this.getTxGasLimit(), + value: feeAndParams.fee, + }); + return this.publicClient.waitForTransactionReceipt({ hash }); + } + } + } + } + + // private async _getSourceGuard() { + // if (this.contract && this.sourcePublicClient) { + // const guard = await this.sourcePublicClient.readContract({ + // abi: (await import("@/abi/xtoken-issuing-next")).default, + // functionName: "guard", + // address: this.contract.sourceAddress, + // }); + // return isAddressEqual(guard, "0x0000000000000000000000000000000000000000") ? undefined : guard; + // } + // } + + private async _getTargetGuard() { + if (this.contract && this.targetPublicClient) { + const guard = await this.targetPublicClient.readContract({ + abi: (await import("@/abi/xtoken-issuing-next")).default, + functionName: "guard", + address: this.contract.targetAddress, + }); + return isAddressEqual(guard, "0x0000000000000000000000000000000000000000") ? undefined : guard; + } + } +} diff --git a/src/bridges/xtoken-v3.ts b/src/bridges/xtoken-v3.ts index 022e5d99a..a602f9f10 100644 --- a/src/bridges/xtoken-v3.ts +++ b/src/bridges/xtoken-v3.ts @@ -155,7 +155,7 @@ export class XTokenV3Bridge extends BaseBridge { const limit = await this.targetPublicClient.readContract({ address: this.contract.targetAddress, abi: (await import("@/abi/xtoken-issuing")).default, - functionName: "dailyLimit", + functionName: "calcMaxWithdraw", args: [this.targetToken.address], }); return { limit, spent: 0n, token: this.sourceToken }; diff --git a/src/components/address-input.tsx b/src/components/address-input.tsx deleted file mode 100644 index 9ecacd813..000000000 --- a/src/components/address-input.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { InputValue } from "@/types"; -import Input from "@/ui/input"; -import InputAlert from "@/ui/input-alert"; -import { ChangeEventHandler, useCallback } from "react"; -import { isAddress } from "viem"; - -interface Props { - value: InputValue; - placeholder?: string; - className?: string; - onChange?: (value: InputValue) => void; -} - -export default function AddressInput({ value, placeholder, className, onChange = () => undefined }: Props) { - const handleChange = useCallback>( - (e) => { - const input = e.target.value; - const valid = input ? isAddress(input) : true; - onChange({ input, value: input, valid }); - }, - [onChange], - ); - - return ( -
- - {value.valid ? null : } -
- ); -} diff --git a/src/components/balance-input.tsx b/src/components/balance-input.tsx index 869a5f6dc..c6cc74a57 100644 --- a/src/components/balance-input.tsx +++ b/src/components/balance-input.tsx @@ -146,7 +146,7 @@ export function BalanceInput({ return (
@@ -172,7 +172,7 @@ export function BalanceInput({ {token ? (
Token - {token.symbol} + {token.symbol}
) : null} {tokenOptions diff --git a/src/components/bridge-select.tsx b/src/components/bridge-select.tsx index b2692c0b9..bdcce1154 100644 --- a/src/components/bridge-select.tsx +++ b/src/components/bridge-select.tsx @@ -11,7 +11,7 @@ interface Props { export default function BridgeSelect({ value, options = [], onChange = () => undefined }: Props) { return ( )} - {value.name} + {value.name}
) : undefined } @@ -68,7 +68,7 @@ export default function ChainSelect({ src={getChainLogoSrc(option.logo)} className="rounded-full" /> - {option.name} + {option.name} ); }) @@ -77,17 +77,17 @@ export default function ChainSelect({ {options.map((option) => ( ))} diff --git a/src/components/faucet.tsx b/src/components/faucet.tsx index 32fb3f479..db043194c 100644 --- a/src/components/faucet.tsx +++ b/src/components/faucet.tsx @@ -121,11 +121,11 @@ export default function Faucet() { className="text-primary transition-[color,transform] hover:text-white lg:active:translate-y-1" onClick={setIsOpenTrue} > - Faucet + Faucet - @@ -149,9 +149,9 @@ export default function Faucet() { function Item({ value, token }: { value: bigint; token?: Token }) { return ( -
- {token && formatBalance(value, token.decimals)} - {token?.symbol} +
+ {token && formatBalance(value, token.decimals)} + {token?.symbol}
); } diff --git a/src/components/footer.tsx b/src/components/footer.tsx index 103d42524..e3527a7c3 100644 --- a/src/components/footer.tsx +++ b/src/components/footer.tsx @@ -1,7 +1,6 @@ "use client"; import Image from "next/image"; -import Link from "next/link"; import { PropsWithChildren, useEffect, useState } from "react"; export default function Footer() { @@ -55,16 +54,16 @@ export default function Footer() {
- Github + Github - Twitter + Twitter Discord - Email + Email
diff --git a/src/components/header.tsx b/src/components/header.tsx index e128fdfd8..c2afb2a66 100644 --- a/src/components/header.tsx +++ b/src/components/header.tsx @@ -55,22 +55,20 @@ export default function Header() { target="_blank" href={href} key={label} - className={`rounded-middle px-3 py-1 text-base font-bold transition hover:bg-white/10 active:translate-y-1 ${ - pathname === href ? "text-primary underline" : "text-white" - }`} + className={`rounded-middle px-3 py-1 text-sm font-bold text-white transition hover:bg-white/10 active:translate-y-1`} > {label}
) : soon || disabled ? ( - {label} + {label} ) : ( {label} @@ -108,22 +106,22 @@ export default function Header() { target="_blank" href={href} key={label} - className={`text-base font-semibold ${ - pathname === href ? "text-primary underline underline-offset-4" : "text-white" + className={`text-sm font-bold ${ + pathname === href ? "text-primary underline decoration-2 underline-offset-4" : "text-white" }`} > {label} ) : soon || disabled ? ( - {label} + {label} ) : ( diff --git a/src/components/history-nav.tsx b/src/components/history-nav.tsx index 584ca0ef3..3a36eccff 100644 --- a/src/components/history-nav.tsx +++ b/src/components/history-nav.tsx @@ -11,7 +11,7 @@ export default function HistoryNav() { setRecordsSearch(address)} - className="user-connect-wallet text-base font-medium text-white" + className="user-connect-wallet text-sm font-bold text-white" > History diff --git a/src/components/history-records.tsx b/src/components/history-records.tsx index 76b1338c1..0549329b5 100644 --- a/src/components/history-records.tsx +++ b/src/components/history-records.tsx @@ -45,6 +45,7 @@ export default function HistoryRecords() { "xtoken-darwinia-dvm", "xtoken-pangolin-dvm", "xtoken-sepolia", + "xtoken-ethereum", ], }, notifyOnNetworkStatusChange: true, diff --git a/src/components/modals/transfer-modal.tsx b/src/components/modals/transfer-modal.tsx index 6fe93b2ff..55633f1d4 100644 --- a/src/components/modals/transfer-modal.tsx +++ b/src/components/modals/transfer-modal.tsx @@ -1,21 +1,9 @@ import { BaseBridge } from "@/bridges"; -import { GQL_HISTORY_RECORD_BY_TX_HASH } from "@/config"; import { useApp, useTransfer } from "@/hooks"; -import { - ChainConfig, - HistoryRecordByTxHashReqParams, - HistoryRecordByTxHashResData, - InputValue, - RecordResult, - SortedLnBridgeRelayInfosResData, - Token, -} from "@/types"; -import ProgressIcon from "@/ui/progress-icon"; +import { ChainConfig, InputValue, Token } from "@/types"; import { formatBalance, getChainLogoSrc, notifyError, toShortAdrress } from "@/utils"; -import { ApolloQueryResult, useQuery } from "@apollo/client"; import dynamic from "next/dynamic"; import Image from "next/image"; -import Link from "next/link"; import { useCallback, useEffect, useState } from "react"; import { Address, Hex, parseUnits } from "viem"; @@ -27,48 +15,27 @@ interface Props { transferAmount: InputValue; isOpen: boolean; onClose: () => void; - refetchRelayers: () => Promise>; } -export default function TransferModal({ sender, recipient, transferAmount, isOpen, onClose, refetchRelayers }: Props) { +export default function TransferModal({ sender, recipient, transferAmount, isOpen, onClose }: Props) { const { updateBalances } = useApp(); const { bridgeInstance, sourceChain, targetChain, sourceToken, targetToken, bridgeFee, transfer } = useTransfer(); const [txHash, setTxHash] = useState("0x"); const [busy, setBusy] = useState(false); const [disabled, setDisabled] = useState(false); - const { data: txProgressData } = useQuery( - GQL_HISTORY_RECORD_BY_TX_HASH, - { - variables: { txHash }, - pollInterval: txHash === "0x" ? 0 : 300, - skip: txHash === "0x", - }, - ); - const handleTransfer = useCallback(async () => { if (sender && recipient && sourceChain && bridgeInstance) { setBusy(true); try { - const relayer = bridgeInstance.isLnBridge() - ? (await refetchRelayers()).data.sortedLnBridgeRelayInfos?.records.at(0) - : undefined; const receipt = await transfer(sender, recipient, transferAmount.value, bridgeInstance, sourceChain, { - relayer: relayer?.relayer, - transferId: relayer?.lastTransferId, totalFee: ( await bridgeInstance.getFee({ sender, recipient, - baseFee: BigInt(relayer?.baseFee || 0), - protocolFee: BigInt(relayer?.protocolFee || 0), - liquidityFeeRate: BigInt(relayer?.liquidityFeeRate || 0), transferAmount: transferAmount.value, - relayer: relayer?.relayer, }) )?.value, - withdrawNonce: BigInt(relayer?.withdrawNonce || 0), - depositedMargin: BigInt(relayer?.margin || 0), }); if (receipt?.status === "success") { @@ -83,7 +50,7 @@ export default function TransferModal({ sender, recipient, transferAmount, isOpe setBusy(false); } } - }, [sender, recipient, sourceChain, transferAmount, bridgeInstance, transfer, refetchRelayers, updateBalances]); + }, [sender, recipient, sourceChain, transferAmount, bridgeInstance, transfer, updateBalances]); // Reset state useEffect(() => { @@ -139,14 +106,17 @@ export default function TransferModal({ sender, recipient, transferAmount, isOpe - {txHash ? ( -
- + {txHash !== "0x" ? ( +
+ View this on   + + Explorer + + .
) : null} @@ -167,26 +137,26 @@ function SourceTarget({ address?: Address | null; }) { return chain && token ? ( -
+
{/* Left */}
Chain -
- {chain.name} - {address} +
+ {chain.name} + {address} {address ? ( - {toShortAdrress(address, 8, 6)} + {toShortAdrress(address, 8, 6)} ) : null}
{/* Right */}
- + {type === "source" ? "-" : "+"} {formatBalance(parseUnits(transferAmount.input, token.decimals), token.decimals)} - {token.symbol} + {token.symbol}
) : null; @@ -194,9 +164,9 @@ function SourceTarget({ function Information({ fee, bridge }: { fee?: { value: bigint; token: Token }; bridge?: BaseBridge | null }) { return ( -
+
+
{label} {value}
); } - -function Progress({ - confirmedBlocks, - result, - id, - onFinished = () => undefined, -}: { - confirmedBlocks: string | null | undefined; - result: RecordResult | null | undefined; - id: string | null | undefined; - onFinished?: () => void; -}) { - const splited = confirmedBlocks?.split("/"); - if (splited?.length === 2) { - const finished = Number(splited[0]); - const total = Number(splited[1]); - - if (finished === total || result === RecordResult.SUCCESS) { - onFinished(); - return ( -
-
- LnProvider relay finished. Go to  - - Detail - -
- Finished -
- ); - } else { - return ( -
- {`Waiting for LnProvider relay message(${confirmedBlocks})`} - -
- ); - } - } else { - return ( -
- Waiting for indexing... - -
- ); - } -} diff --git a/src/components/record-detail.tsx b/src/components/record-detail.tsx index 17f0b2180..7b75909ef 100644 --- a/src/components/record-detail.tsx +++ b/src/components/record-detail.tsx @@ -2,7 +2,7 @@ import { BaseBridge } from "@/bridges"; import { GQL_HISTORY_RECORD_BY_ID } from "@/config"; -import { HistoryRecordReqParams, HistoryRecordResData } from "@/types"; +import { HistoryRecordReqParams, HistoryRecordResData, RecordResult } from "@/types"; import ComponentLoading from "@/ui/component-loading"; import CountdownRefresh from "@/ui/countdown-refresh"; import { bridgeFactory, getChainConfig } from "@/utils"; @@ -66,21 +66,19 @@ export default function RecordDetail(props: Props) { - + - + @@ -152,3 +150,11 @@ function Item({ label, tips, children }: PropsWithChildren<{ label: string; tips function Divider() { return
; } + +function isRefundStatus(result: RecordResult | undefined) { + return ( + result === RecordResult.PENDING_TO_CONFIRM_REFUND || + result === RecordResult.PENDING_TO_REFUND || + result === RecordResult.REFUNDED + ); +} diff --git a/src/components/transfer-action.tsx b/src/components/transfer-action.tsx index 8db5b2a69..f292c180a 100644 --- a/src/components/transfer-action.tsx +++ b/src/components/transfer-action.tsx @@ -34,7 +34,8 @@ export default function TransferAction({ recipient, transferable, transferAmount const { btnText, btnDisabled, approveAmount } = useMemo(() => { let btnDisabled = false; - let btnText: "Transfer" | "Approve" | "Switch Network" | "Connect Wallet" = "Transfer"; + let btnText: "Deposit" | "Withdraw" | "Approve" | "Switch Network" | "Connect Wallet" = + bridgeInstance?.getCrossInfo()?.action === "redeem" ? "Withdraw" : "Deposit"; const feeValue = bridgeFee ? (bridgeFee.token.type === "native" ? 0n : bridgeFee.value) : 0n; const transferValue = sourceToken?.type === "native" ? 0n : transferAmount.value; const approveAmount = feeValue + transferValue; @@ -51,11 +52,11 @@ export default function TransferAction({ recipient, transferable, transferAmount sourceToken && targetToken && bridgeInstance && - (bridgeInstance.getCategory().startsWith("xtoken") || bridgeFee) && + bridgeFee && transferable && transferAmount.input && transferAmount.valid && - transferAmount.value < transferable && + transferAmount.value <= transferable && isAddress(recipient ?? "") ) ) { @@ -90,7 +91,7 @@ export default function TransferAction({ recipient, transferable, transferAmount await sourceApprove(address, approveAmount, bridgeInstance, sourceChain); setBusy(false); } - } else if (btnText === "Transfer") { + } else if (btnText === "Deposit" || btnText === "Withdraw") { onTransfer(); } }, [ @@ -123,10 +124,10 @@ function Button({ kind="primary" busy={busy} disabled={disabled} - className="flex h-10 items-center justify-center rounded-middle" + className="flex h-11 items-center justify-center rounded-2xl" onClick={onClick} > - {children} + {children} ); } diff --git a/src/components/transfer-info.tsx b/src/components/transfer-info.tsx index 6e47b476a..ac7376ee2 100644 --- a/src/components/transfer-info.tsx +++ b/src/components/transfer-info.tsx @@ -10,25 +10,11 @@ import { Subscription, from } from "rxjs"; interface Props { fee: { loading: boolean; value: bigint; token?: Token } | undefined; bridge: BaseBridge | undefined; - transferLimit: string | undefined; - isLoadingTransferLimit: boolean; } -export default function TransferInfo({ fee, bridge, transferLimit: propTransferLimit, isLoadingTransferLimit }: Props) { - const [transferLimit, setTransferLimit] = useState<{ token: Token; value: bigint }>(); +export default function TransferInfo({ fee, bridge }: Props) { const [dailyLimit, setDailyLimit] = useState<{ loading: boolean; limit: bigint; spent: bigint; token: Token }>(); - useEffect(() => { - if (!isLoadingTransferLimit) { - const token = bridge?.getSourceToken(); - if (propTransferLimit && token) { - setTransferLimit({ token, value: BigInt(propTransferLimit) }); - } else { - setTransferLimit(undefined); - } - } - }, [bridge, propTransferLimit, isLoadingTransferLimit]); - useEffect(() => { let sub$$: Subscription | undefined; if (bridge) { @@ -49,32 +35,22 @@ export default function TransferInfo({ fee, bridge, transferLimit: propTransferL }, [bridge]); return ( -
+
- {bridge?.getCategory().startsWith("xtoken") ? null : ( - - ) : fee?.token && fee.value ? ( - `${formatBalance(fee.value, fee.token.decimals, { precision: 6 })} ${fee.token.symbol}` - ) : ( - - Fee - - ) - } - /> - )} - - {transferLimit ? ( - - ) : null} + + ) : fee?.token && fee.value ? ( + `${formatBalance(fee.value, fee.token.decimals, { precision: 6 })} ${fee.token.symbol}` + ) : ( + + Fee + + ) + } + /> {dailyLimit ? (
- {label} + {label} {tips ? ( Tips ) : null}
- {typeof value === "string" ? {value} : value} + {typeof value === "string" ? {value} : value}
); } diff --git a/src/components/transfer.tsx b/src/components/transfer.tsx index 563d5d96c..a03891296 100644 --- a/src/components/transfer.tsx +++ b/src/components/transfer.tsx @@ -1,8 +1,6 @@ "use client"; -import { GQL_SORTED_LNBRIDGE_RELAY_INFOS } from "@/config"; import { useToggle, useTransfer } from "@/hooks"; -import { BridgeCategory, SortedLnBridgeRelayInfosReqParams, SortedLnBridgeRelayInfosResData } from "@/types"; import { bridgeFactory, getAvailableBridges, @@ -12,11 +10,10 @@ import { getCrossDefaultValue, isProduction, } from "@/utils"; -import { useQuery } from "@apollo/client"; import { useRouter, useSearchParams } from "next/navigation"; import { useCallback, useDeferredValue, useEffect, useMemo, useState } from "react"; import { Address, useAccount, usePublicClient, useWalletClient } from "wagmi"; -import { Subscription, from, timer } from "rxjs"; +import { Subscription, from } from "rxjs"; import Label from "@/ui/label"; import ChainSelect from "./chain-select"; import SwitchCrossIcon from "@/ui/switch-cross-icon"; @@ -26,7 +23,6 @@ import BridgeSelect from "./bridge-select"; import TransferInfo from "./transfer-info"; import TransferAction from "./transfer-action"; import TransferModal from "./modals/transfer-modal"; -import DisclaimerModal from "./modals/disclaimer-modal"; const { defaultSourceChains } = getCrossDefaultValue(); @@ -63,7 +59,6 @@ export default function Transfer() { const [isLoadingFee, setIsLoadingFee] = useState(false); const [estimateGasFee, setEstimateGasFee] = useState(0n); const [balanceLoading, setBalanceLoading] = useState(false); - const [indexerCategory, setIndexerCategory] = useState(); const alert = useMemo(() => { if ( @@ -71,7 +66,7 @@ export default function Transfer() { (sourceChain?.network === "ethereum" && targetChain?.network === "darwinia-dvm") ) { return ( -
+
{`Due to the Ethereum upgrade, the Darwinia<>Ethereum bridge is temporarily unavailable. Please use the official`}   @@ -87,18 +82,6 @@ export default function Transfer() {  {`to route to Darwinia or Ethereum instead.`}
); - } else if ( - (sourceChain?.network === "darwinia-dvm" && targetChain?.network === "crab-dvm") || - (sourceChain?.network === "crab-dvm" && targetChain?.network === "darwinia-dvm") - ) { - return ( -
- - Cross-chain transfers between Darwinia and Crab are under maintenance, and will be reopened after the - upgrade is completed. - -
- ); } return null; }, [sourceChain?.network, targetChain?.network]); @@ -108,25 +91,9 @@ export default function Transfer() { [sourceChain, targetChain, sourceToken], ); - const { - loading: isLoadingRelayers, - data: relayersData, - refetch: refetchRelayers, - } = useQuery(GQL_SORTED_LNBRIDGE_RELAY_INFOS, { - variables: { - amount: deferredTransferAmount.value.toString(), - decimals: sourceToken?.decimals, - token: sourceToken?.address, - fromChain: sourceChain?.network, - toChain: targetChain?.network, - }, - skip: bridgeCategory !== "lnbridge", - }); - const transferable = useMemo(() => { let result: bigint | undefined; let fee = 0n; - const transferLimit = BigInt(relayersData?.sortedLnBridgeRelayInfos?.transferLimit ?? 0); if (sourceBalance) { const { token, value: balance } = sourceBalance; @@ -136,15 +103,11 @@ export default function Transfer() { result = fee < result ? result - fee : 0n; } } - if (transferLimit) { - const mm = fee < transferLimit ? transferLimit - fee : 0n; - result = result === undefined ? mm : result < mm ? result : mm; - } if (result !== undefined) { result = estimateGasFee < result ? result - estimateGasFee : 0n; } return result; - }, [bridgeFee, estimateGasFee, sourceBalance, relayersData]); + }, [bridgeFee, estimateGasFee, sourceBalance]); const searchParams = useSearchParams(); const router = useRouter(); @@ -162,24 +125,10 @@ export default function Transfer() { }, [bridgeOptions, setBridgeCategory]); useEffect(() => { - let sub$$: Subscription | undefined; - if (!isLoadingRelayers) { - sub$$ = timer(40).subscribe(() => { - const c = relayersData?.sortedLnBridgeRelayInfos?.records.at(0)?.bridge; - setIndexerCategory((prev) => (prev === c ? prev : c)); - }); - } - return () => { - sub$$?.unsubscribe(); - }; - }, [isLoadingRelayers, relayersData?.sortedLnBridgeRelayInfos?.records]); - - useEffect(() => { - const category = indexerCategory ?? bridgeCategory; setBridgeInstance( - category + bridgeCategory ? bridgeFactory({ - category, + category: bridgeCategory, sourceChain, targetChain, sourceToken, @@ -197,58 +146,47 @@ export default function Transfer() { walletClient, publicClient, bridgeCategory, - indexerCategory, setBridgeInstance, ]); useEffect(() => { let sub$$: Subscription | undefined; - const relayer = relayersData?.sortedLnBridgeRelayInfos?.records.at(0); if (bridgeInstance) { - if (!isLoadingRelayers) { - setIsLoadingFee(true); - sub$$ = from( - bridgeInstance.getFee({ - sender: address, - recipient, - relayer: relayer?.relayer, - baseFee: BigInt(relayer?.baseFee || 0), - protocolFee: BigInt(relayer?.protocolFee || 0), - liquidityFeeRate: BigInt(relayer?.liquidityFeeRate || 0), - transferAmount: deferredTransferAmount.value, - }), - ).subscribe({ - next: setBridgeFee, - error: (err) => { - console.error(err); - setBridgeFee(undefined); - setIsLoadingFee(false); - }, - complete: () => setIsLoadingFee(false), - }); - } + setIsLoadingFee(true); + sub$$ = from( + bridgeInstance.getFee({ + sender: address, + recipient, + transferAmount: deferredTransferAmount.value, + }), + ).subscribe({ + next: setBridgeFee, + error: (err) => { + console.error(err); + setBridgeFee(undefined); + setIsLoadingFee(false); + }, + complete: () => setIsLoadingFee(false), + }); } else { setBridgeFee(undefined); } - return () => sub$$?.unsubscribe(); - }, [address, recipient, bridgeInstance, relayersData, deferredTransferAmount, isLoadingRelayers, setBridgeFee]); + return () => { + sub$$?.unsubscribe(); + }; + }, [address, recipient, bridgeInstance, deferredTransferAmount, setBridgeFee]); useEffect(() => { let sub$$: Subscription | undefined; - const relayer = relayersData?.sortedLnBridgeRelayInfos?.records.at(0); // Note: native token if (bridgeInstance && sourceToken?.type === "native" && address && deferredTransferAmount.value) { sub$$ = from( bridgeInstance.estimateTransferGasFee(address, recipient ?? address, deferredTransferAmount.value, { - relayer: relayer?.relayer, - transferId: relayer?.lastTransferId, totalFee: bridgeFee?.value, - withdrawNonce: BigInt(relayer?.withdrawNonce || 0), - depositedMargin: BigInt(relayer?.margin || 0), }), ).subscribe({ next: (gasFee) => { @@ -264,14 +202,14 @@ export default function Transfer() { } return () => sub$$?.unsubscribe(); - }, [bridgeInstance, sourceToken, bridgeFee, address, recipient, deferredTransferAmount, relayersData]); + }, [bridgeInstance, sourceToken, bridgeFee, address, recipient, deferredTransferAmount]); return ( <> -
+
{/* From-To */}
-
diff --git a/src/config/chains/arbitrum-goerli.ts b/src/config/chains/arbitrum-goerli.ts deleted file mode 100644 index 1f96dba64..000000000 --- a/src/config/chains/arbitrum-goerli.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ChainConfig } from "@/types/chain"; -import { arbitrumGoerli } from "viem/chains"; - -export const arbitrumGoerliChain: ChainConfig = { - /** - * Chain - */ - ...arbitrumGoerli, - network: "arbitrum-goerli", - name: "Arbitrum Goerli", - - /** - * Custom - */ - logo: "arbitrum.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0xBAD026e314a77e727dF643B02f63adA573a3757c", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x543bf1AC41485dc78039b9351563E4Dd13A288cb", - logo: "usdt.png", - cross: [], - }, - ], - hidden: true, -}; diff --git a/src/config/chains/arbitrum-sepolia.ts b/src/config/chains/arbitrum-sepolia.ts index c8688231e..a031a0fc2 100644 --- a/src/config/chains/arbitrum-sepolia.ts +++ b/src/config/chains/arbitrum-sepolia.ts @@ -13,33 +13,5 @@ export const arbitrumSepoliaChain: ChainConfig = { * Custom */ logo: "arbitrum.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x8A87497488073307E1a17e8A12475a94Afcb413f", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x3b8Bb7348D4F581e67E2498574F73e4B9Fc51855", - logo: "usdt.png", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/arbitrum.ts b/src/config/chains/arbitrum.ts index 72d3d335c..e3b4857bd 100644 --- a/src/config/chains/arbitrum.ts +++ b/src/config/chains/arbitrum.ts @@ -13,43 +13,6 @@ export const arbitrumChain: ChainConfig = { * Custom */ logo: "arbitrum.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 18, - symbol: "RING", - name: "RING", - type: "erc20", - address: "0x9e523234D36973f9e38642886197D023C88e307e", - logo: "ring.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", - logo: "usdt.png", - cross: [], - }, - { - decimals: 6, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8", - logo: "usdc.svg", - cross: [], - }, - ], + tokens: [], messager: { msgline: "0x65Be094765731F394bc6d9DF53bDF3376F1Fc8B0" }, }; diff --git a/src/config/chains/base-goerli.ts b/src/config/chains/base-goerli.ts deleted file mode 100644 index abe12926e..000000000 --- a/src/config/chains/base-goerli.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { ChainConfig } from "@/types/chain"; -import { baseGoerli } from "viem/chains"; - -export const baseGoerliChain: ChainConfig = { - /** - * Chain - */ - ...baseGoerli, - network: "base-goerli", - name: "Base Goerli", - - /** - * Custom - */ - logo: "base.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x876A4f6eCF13EEb101F9E75FCeF58f19Ff383eEB", - logo: "usdt.png", - cross: [], - }, - ], - hidden: true, -}; diff --git a/src/config/chains/base.ts b/src/config/chains/base.ts index 6ac5533c3..637bdc1ab 100644 --- a/src/config/chains/base.ts +++ b/src/config/chains/base.ts @@ -13,24 +13,5 @@ export const baseChain: ChainConfig = { * Custom */ logo: "base.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", - logo: "usdc.svg", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/bsc.ts b/src/config/chains/bsc.ts index e86882944..5bf8971f2 100644 --- a/src/config/chains/bsc.ts +++ b/src/config/chains/bsc.ts @@ -12,34 +12,6 @@ export const bscChain: ChainConfig = { /** * Custom */ - logo: "bsc.svg", - tokens: [ - { - decimals: 18, - symbol: "BNB", - name: "BNB", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "bnb.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x55d398326f99059fF775485246999027B3197955", - logo: "usdt.png", - cross: [], - }, - { - decimals: 18, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", - logo: "usdc.svg", - cross: [], - }, - ], + logo: "bsc.png", + tokens: [], }; diff --git a/src/config/chains/crab.ts b/src/config/chains/crab.ts index 23d757ccc..062c2d217 100644 --- a/src/config/chains/crab.ts +++ b/src/config/chains/crab.ts @@ -38,7 +38,7 @@ export const crabChain: ChainConfig = { /** * Custom */ - logo: "crab.svg", + logo: "crab.png", tokens: [ { decimals: 18, @@ -46,14 +46,15 @@ export const crabChain: ChainConfig = { name: "CRAB", type: "native", address: "0x0000000000000000000000000000000000000000", - logo: "crab.svg", + outer: "0x0000000000000000000000000000000000000000", + inner: "0x2D2b97EA380b0185e9fDF8271d1AFB5d2Bf18329", + logo: "crab.png", cross: [ { target: { network: "darwinia-dvm", symbol: "xWCRAB" }, bridge: { category: "xtoken-crab-dvm" }, action: "issue", }, - // { target: { network: "sepolia", symbol: "xCRAB" }, bridge: { category: "xtoken-crab-dvm" }, action: "issue" }, ], }, { @@ -62,7 +63,9 @@ export const crabChain: ChainConfig = { name: "xWRING", type: "erc20", address: "0x273131F7CB50ac002BDd08cA721988731F7e1092", - logo: "ring.svg", + outer: "0x273131F7CB50ac002BDd08cA721988731F7e1092", + inner: "0x273131F7CB50ac002BDd08cA721988731F7e1092", + logo: "ring.png", cross: [ { target: { network: "darwinia-dvm", symbol: "RING" }, diff --git a/src/config/chains/darwinia.ts b/src/config/chains/darwinia.ts index 9b21f6d3c..7e564417a 100644 --- a/src/config/chains/darwinia.ts +++ b/src/config/chains/darwinia.ts @@ -47,7 +47,9 @@ export const darwiniaChain: ChainConfig = { name: "RING", type: "native", address: "0x0000000000000000000000000000000000000000", - logo: "ring.svg", + outer: "0x0000000000000000000000000000000000000000", + inner: "0xE7578598Aac020abFB918f33A20faD5B71d670b4", + logo: "ring.png", cross: [ { target: { network: "crab-dvm", symbol: "xWRING" }, @@ -68,30 +70,35 @@ export const darwiniaChain: ChainConfig = { bridge: { category: "helix-sub2ethv2(lock)" }, action: "issue", min: 1000000000000000000000000n, + hidden: true, + }, + { + target: { network: "ethereum", symbol: "RING" }, + bridge: { category: "xtoken-darwinia-dvm" }, + action: "issue", }, ], }, - // { - // decimals: 18, - // symbol: "WRING", - // name: "WRING", - // type: "erc20", - // address: "0x", - // logo: "ring.svg", - // cross: [], - // }, { decimals: 18, symbol: "KTON", name: "KTON", type: "erc20", address: "0x0000000000000000000000000000000000000402", - logo: "kton.svg", + outer: "0x0000000000000000000000000000000000000402", + inner: "0x0000000000000000000000000000000000000402", + logo: "kton.png", cross: [ { target: { network: "ethereum", symbol: "KTON" }, bridge: { category: "helix-sub2ethv2(lock)" }, action: "issue", + hidden: true, + }, + { + target: { network: "ethereum", symbol: "KTON" }, + bridge: { category: "xtoken-darwinia-dvm" }, + action: "issue", }, ], }, @@ -101,7 +108,9 @@ export const darwiniaChain: ChainConfig = { name: "xWCRAB", type: "erc20", address: "0x656567Eb75b765FC320783cc6EDd86bD854b2305", - logo: "crab.svg", + outer: "0x656567Eb75b765FC320783cc6EDd86bD854b2305", + inner: "0x656567Eb75b765FC320783cc6EDd86bD854b2305", + logo: "crab.png", cross: [ { target: { network: "crab-dvm", symbol: "CRAB" }, diff --git a/src/config/chains/ethereum.ts b/src/config/chains/ethereum.ts index 9d28cd1c2..1eb17c466 100644 --- a/src/config/chains/ethereum.ts +++ b/src/config/chains/ethereum.ts @@ -21,7 +21,9 @@ export const ethereumChain: ChainConfig = { name: "ETH", type: "native", address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", + outer: "0x0000000000000000000000000000000000000000", + inner: "0x0000000000000000000000000000000000000000", + logo: "eth.png", cross: [], }, { @@ -30,7 +32,9 @@ export const ethereumChain: ChainConfig = { name: "RING", type: "erc20", address: "0x9469d013805bffb7d3debe5e7839237e535ec483", - logo: "ring.svg", + outer: "0x9469d013805bffb7d3debe5e7839237e535ec483", + inner: "0x9469d013805bffb7d3debe5e7839237e535ec483", + logo: "ring.png", cross: [ { target: { network: "darwinia-dvm", symbol: "RING" }, @@ -44,6 +48,12 @@ export const ethereumChain: ChainConfig = { target: { network: "darwinia-dvm", symbol: "RING" }, bridge: { category: "helix-sub2ethv2(unlock)" }, action: "redeem", + hidden: true, + }, + { + target: { network: "darwinia-dvm", symbol: "RING" }, + bridge: { category: "xtoken-ethereum" }, + action: "redeem", }, ], }, @@ -53,12 +63,20 @@ export const ethereumChain: ChainConfig = { name: "KTON", type: "erc20", address: "0x9f284e1337a815fe77d2ff4ae46544645b20c5ff", - logo: "kton.svg", + outer: "0x9f284e1337a815fe77d2ff4ae46544645b20c5ff", + inner: "0x9f284e1337a815fe77d2ff4ae46544645b20c5ff", + logo: "kton.png", cross: [ { target: { network: "darwinia-dvm", symbol: "KTON" }, bridge: { category: "helix-sub2ethv2(unlock)" }, action: "redeem", + hidden: true, + }, + { + target: { network: "darwinia-dvm", symbol: "KTON" }, + bridge: { category: "xtoken-ethereum" }, + action: "redeem", }, ], }, diff --git a/src/config/chains/gnosis.ts b/src/config/chains/gnosis.ts index edcf82839..792bebf29 100644 --- a/src/config/chains/gnosis.ts +++ b/src/config/chains/gnosis.ts @@ -13,24 +13,5 @@ export const gnosisChain: ChainConfig = { * Custom */ logo: "gnosis.png", - tokens: [ - { - decimals: 18, - symbol: "xDai", - name: "xDai", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "xdai.png", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x4ECaBa5870353805a9F068101A40E0f32ed605C6", - logo: "usdt.png", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/goerli.ts b/src/config/chains/goerli.ts deleted file mode 100644 index 383ab0e39..000000000 --- a/src/config/chains/goerli.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { ChainConfig } from "@/types/chain"; -import { goerli } from "viem/chains"; - -export const goerliChain: ChainConfig = { - /** - * Chain - */ - ...goerli, - network: "goerli", - name: "Goerli", - - /** - * Custom - */ - logo: "ethereum.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0xe9784E0d9A939dbe966b021DE3cd877284DB1B99", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0xa39cffE89567eBfb5c306a07dfb6e5B3ba41F358", - logo: "usdt.png", - cross: [], - }, - { - decimals: 18, - symbol: "MNT", - name: "MNT", - type: "erc20", - address: "0xc1dc2d65a2243c22344e725677a3e3bebd26e604", - logo: "mnt.svg", - cross: [], - }, - { - decimals: 18, - symbol: "PRING", - name: "PRING", - type: "erc20", - address: "0xeb93165E3CDb354c977A182AbF4fad3238E04319", - logo: "ring.svg", - cross: [], - }, - ], - hidden: true, -}; diff --git a/src/config/chains/index.ts b/src/config/chains/index.ts index 072c12e2e..8243d3c7f 100644 --- a/src/config/chains/index.ts +++ b/src/config/chains/index.ts @@ -1,26 +1,18 @@ export * from "./arbitrum"; -export * from "./arbitrum-goerli"; export * from "./arbitrum-sepolia"; export * from "./base"; -export * from "./base-goerli"; export * from "./bsc"; export * from "./crab"; export * from "./darwinia"; export * from "./ethereum"; -export * from "./goerli"; export * from "./sepolia"; export * from "./linea"; -export * from "./linea-goerli"; export * from "./mantle"; -export * from "./mantle-goerli"; -export * from "./mumbai"; export * from "./optimism"; export * from "./pangolin"; -export * from "./pangoro"; export * from "./polygon"; export * from "./polygon-zkevm"; export * from "./scroll"; export * from "./zksync"; -export * from "./zksync-goerli"; export * from "./zksync-sepolia"; export * from "./gnosis"; diff --git a/src/config/chains/linea-goerli.ts b/src/config/chains/linea-goerli.ts deleted file mode 100644 index 138290239..000000000 --- a/src/config/chains/linea-goerli.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ChainConfig } from "@/types/chain"; -import { lineaTestnet } from "viem/chains"; - -export const lineaGoerliChain: ChainConfig = { - /** - * Chain - */ - ...lineaTestnet, - network: "linea-goerli", - name: "Linea Goerli", - - /** - * Custom - */ - logo: "linea.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0xeC89AF5FF618bbF667755BE9d63C69F21F1c00C8", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x8f3663930211f3DE17619FEB2eeB44c9c3F44a06", - logo: "usdt.png", - cross: [], - }, - ], - hidden: true, -}; diff --git a/src/config/chains/linea.ts b/src/config/chains/linea.ts index 48d8625e7..4beac079b 100644 --- a/src/config/chains/linea.ts +++ b/src/config/chains/linea.ts @@ -13,24 +13,5 @@ export const lineaChain: ChainConfig = { * Custom */ logo: "linea.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0xA219439258ca9da29E9Cc4cE5596924745e12B93", - logo: "usdt.png", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/mantle-goerli.ts b/src/config/chains/mantle-goerli.ts deleted file mode 100644 index a6a664954..000000000 --- a/src/config/chains/mantle-goerli.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ChainConfig } from "@/types/chain"; -import { mantleTestnet } from "viem/chains"; - -export const mantleGoerliChain: ChainConfig = { - /** - * Chain - */ - ...mantleTestnet, - network: "mantle-goerli", - name: "Mantle Testnet", - - /** - * Custom - */ - logo: "mantle.svg", - tokens: [ - { - decimals: 18, - symbol: "MNT", - name: "MNT", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "mnt.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0xD610DE267f7590D5bCCE89489ECd2C1A4AfdF76B", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0xDb06D904AC5Bdff3b8E6Ac96AFedd3381d94CFDD", - logo: "usdt.png", - cross: [], - }, - ], - hidden: true, -}; diff --git a/src/config/chains/mantle.ts b/src/config/chains/mantle.ts index 0ac64fe85..a953e4a4c 100644 --- a/src/config/chains/mantle.ts +++ b/src/config/chains/mantle.ts @@ -12,34 +12,6 @@ export const mantleChain: ChainConfig = { /** * Custom */ - logo: "mantle.svg", - tokens: [ - { - decimals: 18, - symbol: "MNT", - name: "MNT", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "mnt.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x201EBa5CC46D216Ce6DC03F6a759e8E766e956aE", - logo: "usdt.png", - cross: [], - }, - { - decimals: 6, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x09Bc4E0D864854c6aFB6eB9A9cdF58aC190D0dF9", - logo: "usdc.svg", - cross: [], - }, - ], + logo: "mantle.png", + tokens: [], }; diff --git a/src/config/chains/mumbai.ts b/src/config/chains/mumbai.ts deleted file mode 100644 index 005a063f9..000000000 --- a/src/config/chains/mumbai.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { ChainConfig } from "@/types/chain"; -import { polygonMumbai } from "viem/chains"; - -export const mumbaiChain: ChainConfig = { - /** - * Chain - */ - ...polygonMumbai, - network: "mumbai", - name: "Mumbai", - - /** - * Custom - */ - logo: "polygon.png", - tokens: [], -}; diff --git a/src/config/chains/optimism.ts b/src/config/chains/optimism.ts index f18a383b3..f9328798b 100644 --- a/src/config/chains/optimism.ts +++ b/src/config/chains/optimism.ts @@ -13,24 +13,5 @@ export const optimismChain: ChainConfig = { * Custom */ logo: "optimism.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58", - logo: "usdt.png", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/pangolin.ts b/src/config/chains/pangolin.ts index a0defdc58..46a32bb79 100644 --- a/src/config/chains/pangolin.ts +++ b/src/config/chains/pangolin.ts @@ -41,7 +41,9 @@ export const pangolinChain: ChainConfig = { name: "PRING", type: "native", address: "0x0000000000000000000000000000000000000000", - logo: "ring.svg", + outer: "0x0000000000000000000000000000000000000000", + inner: "0x617E55f692FA2feFfdD5D9C513782A479cC1FF57", + logo: "ring.png", cross: [ { target: { network: "sepolia", symbol: "xPRING" }, diff --git a/src/config/chains/pangoro.ts b/src/config/chains/pangoro.ts deleted file mode 100644 index 721d77833..000000000 --- a/src/config/chains/pangoro.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { ChainConfig, ChainID } from "@/types/chain"; - -export const pangoroChain: ChainConfig = { - /** - * Chain - */ - id: ChainID.PANGORO, - network: "pangoro-dvm", - name: "Pangoro", - nativeCurrency: { - name: "ORING", - symbol: "ORING", - decimals: 18, - }, - rpcUrls: { - default: { - http: ["https://pangoro-rpc.darwinia.network"], - webSocket: ["wss://pangoro-rpc.darwinia.network"], - }, - public: { - http: ["https://pangoro-rpc.darwinia.network"], - webSocket: ["wss://pangoro-rpc.darwinia.network"], - }, - }, - blockExplorers: { - default: { - name: "Subscan", - url: "https://pangoro.subscan.io/", - }, - }, - testnet: true, - - /** - * Custom - */ - logo: "pangoro.png", - tokens: [], -}; diff --git a/src/config/chains/polygon-zkevm.ts b/src/config/chains/polygon-zkevm.ts index 82e3042e7..8536ce727 100644 --- a/src/config/chains/polygon-zkevm.ts +++ b/src/config/chains/polygon-zkevm.ts @@ -13,24 +13,5 @@ export const polygonZkEvmChain: ChainConfig = { * Custom */ logo: "polygon.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x1E4a5963aBFD975d8c9021ce480b42188849D41d", - logo: "usdt.png", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/polygon.ts b/src/config/chains/polygon.ts index fa2f87431..f8892b12b 100644 --- a/src/config/chains/polygon.ts +++ b/src/config/chains/polygon.ts @@ -13,33 +13,5 @@ export const polygonChain: ChainConfig = { * Custom */ logo: "polygon.png", - tokens: [ - { - decimals: 18, - symbol: "MATIC", - name: "MATIC", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "matic.svg", - cross: [], - }, - { - decimals: 18, - symbol: "RING", - name: "RING", - type: "erc20", - address: "0x9C1C23E60B72Bc88a043bf64aFdb16A02540Ae8f", - logo: "ring.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0xc2132D05D31c914a87C6611C10748AEb04B58e8F", - logo: "usdt.png", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/scroll.ts b/src/config/chains/scroll.ts index 49c6d2989..08901b6ec 100644 --- a/src/config/chains/scroll.ts +++ b/src/config/chains/scroll.ts @@ -13,33 +13,5 @@ export const scrollChain: ChainConfig = { * Custom */ logo: "scroll.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0xf55BEC9cafDbE8730f096Aa55dad6D22d44099Df", - logo: "usdt.png", - cross: [], - }, - { - decimals: 6, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4", - logo: "usdc.svg", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/sepolia.ts b/src/config/chains/sepolia.ts index 5c03c0728..910f562f5 100644 --- a/src/config/chains/sepolia.ts +++ b/src/config/chains/sepolia.ts @@ -30,45 +30,20 @@ export const sepoliaChain: ChainConfig = { name: "ETH", type: "native", address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", + outer: "0x0000000000000000000000000000000000000000", + inner: "0x0000000000000000000000000000000000000000", + logo: "eth.png", cross: [], }, - { - decimals: 18, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x0ac58Df0cc3542beC4cDa71B16D06C3cCc39f405", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x876A4f6eCF13EEb101F9E75FCeF58f19Ff383eEB", - logo: "usdt.png", - cross: [], - }, - { - decimals: 18, - symbol: "xCRAB", - name: "xCRAB", - type: "erc20", - address: "0x9Da7E18441f26515CC713290BE846E726d41781d", - logo: "crab.svg", - cross: [ - // { target: { network: "crab-dvm", symbol: "CRAB" }, bridge: { category: "xtoken-sepolia" }, action: "redeem" }, - ], - }, { decimals: 18, symbol: "xPRING", name: "xPRING", type: "erc20", - address: "0xBC43cb6175FcC8E577a0846256eA699b87eFcEE5", - logo: "ring.svg", + address: "0xdE64c6d8b24eeB16D864841d2873aB7a379c45b6", + outer: "0xdE64c6d8b24eeB16D864841d2873aB7a379c45b6", + inner: "0x3beb2cf5c2c050bc575350671aa5f06e589386e8", + logo: "ring.png", cross: [ { target: { network: "pangolin-dvm", symbol: "PRING" }, diff --git a/src/config/chains/zksync-goerli.ts b/src/config/chains/zksync-goerli.ts deleted file mode 100644 index 9b222ca6b..000000000 --- a/src/config/chains/zksync-goerli.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ChainConfig } from "@/types/chain"; -import { zkSyncTestnet } from "viem/chains"; - -export const zksyncGoerliChain: ChainConfig = { - /** - * Chain - */ - ...zkSyncTestnet, - network: "zksync-goerli", - name: "Zksync Era Testnet", - - /** - * Custom - */ - logo: "zksync.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0xAe60e005C560E869a2bad271e38e3C9D78381aFF", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 18, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0xb5372ed3bb2CbA63e7908066ac10ee94d30eA839", - logo: "usdt.png", - cross: [], - }, - ], - hidden: true, -}; diff --git a/src/config/chains/zksync-sepolia.ts b/src/config/chains/zksync-sepolia.ts index 476df857e..f130269da 100644 --- a/src/config/chains/zksync-sepolia.ts +++ b/src/config/chains/zksync-sepolia.ts @@ -13,33 +13,5 @@ export const zksyncSepoliaChain: ChainConfig = { * Custom */ logo: "zksync.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x253adBFE99Fcd096B9b5502753F96CF78D42eaD0", - logo: "usdc.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x3350f1ef046e21E052dCbA60Fc575919CCaFEdeb", - logo: "usdt.png", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/chains/zksync.ts b/src/config/chains/zksync.ts index b1c4dacb3..3d0972a8c 100644 --- a/src/config/chains/zksync.ts +++ b/src/config/chains/zksync.ts @@ -13,33 +13,5 @@ export const zksyncChain: ChainConfig = { * Custom */ logo: "zksync.png", - tokens: [ - { - decimals: 18, - symbol: "ETH", - name: "ETH", - type: "native", - address: "0x0000000000000000000000000000000000000000", - logo: "eth.svg", - cross: [], - }, - { - decimals: 6, - symbol: "USDT", - name: "USDT", - type: "erc20", - address: "0x493257fD37EDB34451f62EDf8D2a0C418852bA4C", - logo: "usdt.png", - cross: [], - }, - { - decimals: 6, - symbol: "USDC", - name: "USDC", - type: "erc20", - address: "0x3355df6D4c9C3035724Fd0e3914dE96A5a83aaf4", - logo: "usdc.svg", - cross: [], - }, - ], + tokens: [], }; diff --git a/src/config/constant.ts b/src/config/constant.ts deleted file mode 100644 index 169342b6a..000000000 --- a/src/config/constant.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * If the fee rate is 10.123%, its value in the contract is 10123 (10.123 * FEE_RATE_BASE) - */ -export const FEE_RATE_BASE = 1000; - -export const FEE_RATE_MIN = 0; -export const FEE_RATE_MAX = 0.25 * FEE_RATE_BASE; // 0.25% -export const FEE_RATE_MAX_V3 = 100 * FEE_RATE_BASE; // 100% diff --git a/src/config/gql.ts b/src/config/gql.ts index d44931e15..9d89a0026 100644 --- a/src/config/gql.ts +++ b/src/config/gql.ts @@ -78,79 +78,7 @@ export const GQL_HISTORY_RECORD_BY_ID = gql` recvToken sendTokenAddress recvTokenAddress - } - } -`; - -export const GQL_SORTED_LNBRIDGE_RELAY_INFOS = gql` - query sortedLnBridgeRelayInfos( - $amount: String - $decimals: Int - $bridge: String - $token: String - $fromChain: String - $toChain: String - ) { - sortedLnBridgeRelayInfos( - amount: $amount - decimals: $decimals - bridge: $bridge - token: $token - fromChain: $fromChain - toChain: $toChain - ) { - transferLimit - records { - sendToken - relayer - margin - baseFee - protocolFee - liquidityFeeRate - lastTransferId - withdrawNonce - bridge - } - } - } -`; - -export const GQL_QUERY_LNBRIDGE_RELAY_INFOS = gql` - query queryLnBridgeRelayInfos( - $fromChain: String - $toChain: String - $relayer: String - $row: Int - $page: Int - $version: String - ) { - queryLnBridgeRelayInfos( - fromChain: $fromChain - toChain: $toChain - relayer: $relayer - row: $row - page: $page - version: $version - ) { - total - records { - id - fromChain - toChain - bridge - relayer - sendToken - margin - baseFee - liquidityFeeRate - cost - profit - heartbeatTimestamp - messageChannel - lastTransferId - withdrawNonce - transferLimit - } + extData } } `; @@ -164,52 +92,3 @@ export const GQL_HISTORY_RECORD_BY_TX_HASH = gql` } } `; - -export const GQL_CHECK_LNBRIDGE_EXIST = gql` - query checkLnBridgeExist($fromChainId: Int, $toChainId: Int, $fromToken: String, $toToken: String, $version: String) { - checkLnBridgeExist( - fromChainId: $fromChainId - toChainId: $toChainId - fromToken: $fromToken - toToken: $toToken - version: $version - ) - } -`; - -export const GQL_GET_LN_BRIDGE_MESSAGE_CHANNEL = gql` - query GetLnBridgeMessageChannel($bridge: String = "", $fromChain: String = "", $toChain: String = "") { - queryLnBridgeRelayInfos(row: 1, page: 0, bridge: $bridge, fromChain: $fromChain, toChain: $toChain) { - records { - messageChannel - } - } - } -`; - -export const GQL_GET_WITHDRAWABLE_LIQUIDITIES = gql` - query GetWithdrawableLiquidities( - $page: Int! - $relayer: String = "" - $recvTokenAddress: String = "" - $fromChain: String = "" - $toChain: String = "" - ) { - historyRecords( - row: 10 - page: $page - relayer: $relayer - recvTokenAddress: $recvTokenAddress - fromChains: [$fromChain] - toChains: [$toChain] - needWithdrawLiquidity: true - ) { - total - records { - id - sendAmount - lastRequestWithdraw - } - } - } -`; diff --git a/src/config/index.ts b/src/config/index.ts index ec26668bd..8c65c5891 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -1,2 +1 @@ -export * from "./constant"; export * from "./gql"; diff --git a/src/providers/rainbow-provider.tsx b/src/providers/rainbow-provider.tsx index 4a2852761..74ef1e4bb 100644 --- a/src/providers/rainbow-provider.tsx +++ b/src/providers/rainbow-provider.tsx @@ -36,7 +36,7 @@ export default function RainbowProvider({ children }: PropsWithChildren return ( diff --git a/src/types/bridge.ts b/src/types/bridge.ts index f5149c284..88f49f1dd 100644 --- a/src/types/bridge.ts +++ b/src/types/bridge.ts @@ -2,15 +2,10 @@ import { Address, Hex } from "viem"; import { PublicClient, WalletClient } from "wagmi"; import { ChainConfig } from "./chain"; import { Token } from "./token"; -import { MessageChannel } from "./graphql"; - -export type LnBridgeVersion = "lnv2" | "lnv3"; -export type LnBridgeV2Type = "default" | "opposite"; /** - * `lpbridge-darwinia-dvm` etc. are named from graphql indexer, except `lnbridge`. + * `lpbridge-darwinia-dvm` etc. are named from graphql indexer. */ -export type LnBridgeCategory = "lnbridge" | "lnv2-default" | "lnv2-opposite" | "lnv3"; export type L2BridgeCategory = "l2arbitrumbridge-ethereum"; export type HelixLpBridgeCategory = "lpbridge-darwinia-dvm" | "lpbridge-ethereum"; export type HelixBridgeCategory = @@ -18,13 +13,13 @@ export type HelixBridgeCategory = | "helix-sub2ethv2(unlock)" | "helix-sub2subv21(unlock)" | "helix-sub2subv21(lock)"; -export type XTokenBridgeCategory = "xtoken-sepolia" | "xtoken-darwinia-dvm" | "xtoken-crab-dvm" | "xtoken-pangolin-dvm"; -export type BridgeCategory = - | LnBridgeCategory - | L2BridgeCategory - | HelixLpBridgeCategory - | HelixBridgeCategory - | XTokenBridgeCategory; +export type XTokenBridgeCategory = + | "xtoken-sepolia" + | "xtoken-ethereum" + | "xtoken-darwinia-dvm" + | "xtoken-crab-dvm" + | "xtoken-pangolin-dvm"; +export type BridgeCategory = L2BridgeCategory | HelixLpBridgeCategory | HelixBridgeCategory | XTokenBridgeCategory; export interface BridgeContract { sourceAddress: Address; @@ -50,8 +45,6 @@ export interface BridgeConstructorArgs { export interface GetFeeArgs { baseFee?: bigint; - protocolFee?: bigint; - liquidityFeeRate?: bigint; transferAmount?: bigint; sender?: Address; recipient?: Address; @@ -62,15 +55,4 @@ export interface TransferOptions { relayer?: Address; transferId?: Hex | null; totalFee?: bigint; - withdrawNonce?: bigint; - depositedMargin?: bigint; -} - -export interface GetWithdrawFeeArgs { - amount: bigint; - sender?: Address; - relayer?: Address; - transferId?: Hex | null; - withdrawNonce?: string | null; - messageChannel?: MessageChannel | null; } diff --git a/src/types/chain.ts b/src/types/chain.ts index 3edf5a4bf..c1fec1f76 100644 --- a/src/types/chain.ts +++ b/src/types/chain.ts @@ -5,37 +5,26 @@ export enum ChainID { DARWINIA = 46, CRAB = 44, PANGOLIN = 43, - PANGORO = 45, ETHEREUM = 1, - GOERLI = 5, SEPOLIA = 11155111, ARBITRUM = 42161, - ARBITRUM_GOERLI = 421613, ARBITRUM_SEPOLIA = 421614, ZKSYNC = 324, - ZKSYNC_GOERLI = 280, ZKSYNC_SEPOLIA = 300, - LINEA = 59144, - LINEA_GOERLI = 59140, - - MANTLE = 5000, - MANTLE_GOERLI = 5001, - - MUMBAI = 80001, POLYGON = 137, POLYGON_ZKEVM = 1101, BASE = 8453, - BASE_GOERLI = 84531, - SCROLL = 534352, BSC = 56, OPTIMISM = 10, GNOSIS = 100, + LINEA = 59144, + MANTLE = 5000, } // According to graphql indexer @@ -43,26 +32,18 @@ export type Network = | "darwinia-dvm" | "crab-dvm" | "pangolin-dvm" - | "pangoro-dvm" | "ethereum" - | "goerli" | "sepolia" | "arbitrum" - | "arbitrum-goerli" | "arbitrum-sepolia" | "zksync" - | "zksync-goerli" | "zksync-sepolia" | "linea" - | "linea-goerli" | "mantle" - | "mantle-goerli" | "polygon" | "polygon-zkEvm" | "gnosis" - | "mumbai" | "scroll" - | "base-goerli" | "base" | "op" | "bsc"; diff --git a/src/types/cross-chain.ts b/src/types/cross-chain.ts index 69dc03660..1ffa320da 100644 --- a/src/types/cross-chain.ts +++ b/src/types/cross-chain.ts @@ -18,7 +18,7 @@ type Action = "issue" | "redeem"; export type CrossChain = | { target: Target; - bridge: { category: L2BridgeCategory; lnv2Type?: never }; + bridge: { category: L2BridgeCategory }; index?: never; price?: never; baseFee?: never; @@ -28,7 +28,7 @@ export type CrossChain = } | { target: Target; - bridge: { category: HelixBridgeCategory | XTokenBridgeCategory; lnv2Type?: never }; + bridge: { category: HelixBridgeCategory | XTokenBridgeCategory }; index?: never; price?: never; baseFee?: never; @@ -38,7 +38,7 @@ export type CrossChain = } | { target: Target; - bridge: { category: HelixLpBridgeCategory; lnv2Type?: never }; + bridge: { category: HelixLpBridgeCategory }; index: number; // One of the bridge contract transfer parameters price?: bigint; // When transferring native token, we need to set the price baseFee: bigint; diff --git a/src/types/graphql.ts b/src/types/graphql.ts index df57dfe87..0f548361d 100644 --- a/src/types/graphql.ts +++ b/src/types/graphql.ts @@ -1,6 +1,6 @@ import { TokenSymbol } from "./token"; -import { BridgeCategory, LnBridgeCategory, LnBridgeVersion } from "./bridge"; -import { Network, ChainID } from "./chain"; +import { BridgeCategory } from "./bridge"; +import { Network } from "./chain"; import { Address, Hex } from "viem"; /** @@ -17,8 +17,6 @@ export enum RecordResult { FAILED, } -export type MessageChannel = "layerzero" | "msgline" | "sub2sub" | "arbitrum-l2"; - export interface HistoryRecord { id: string; fromChain: Network; @@ -46,32 +44,7 @@ export interface HistoryRecord { relayer: Address | null; endTxHash: Hex | null; confirmedBlocks: string | null; -} - -export interface LnBridgeRelayInfo { - id: string; - version: LnBridgeVersion; - nonce: string; - targetNonce: string | null; - fromChain: Network; - toChain: Network; - bridge: BridgeCategory; - relayer: Address; - sendToken: Address | null; - transaction_hash: Hex; - timestamp: number; - margin: string | null; - protocolFee: string | null; - baseFee: string | null; - liquidityFeeRate: number | null; - slashCount: number | null; - withdrawNonce: string | null; - lastTransferId: Hex | null; - cost: string | null; - profit: string | null; - heartbeatTimestamp: number | null; - messageChannel: MessageChannel | null; - transferLimit: string | null; + extData: Hex; } /** @@ -101,69 +74,6 @@ export interface HistoryRecordResData { historyRecordById: HistoryRecord | null; } -export interface SortedLnBridgeRelayInfosReqParams { - amount: string; - decimals?: number; - bridge?: BridgeCategory; - token?: Address; - fromChain?: Network; - toChain?: Network; -} - -export interface SortedLnBridgeRelayInfosResData { - sortedLnBridgeRelayInfos: { - transferLimit: string; - records: Pick< - LnBridgeRelayInfo, - | "relayer" - | "margin" - | "baseFee" - | "protocolFee" - | "liquidityFeeRate" - | "lastTransferId" - | "withdrawNonce" - | "bridge" - >[]; - } | null; -} - -export type LnBridgeRelayerOverview = Pick< - LnBridgeRelayInfo, - | "id" - | "relayer" - | "bridge" - | "fromChain" - | "toChain" - | "sendToken" - | "baseFee" - | "liquidityFeeRate" - | "margin" - | "cost" - | "profit" - | "heartbeatTimestamp" - | "messageChannel" - | "lastTransferId" - | "withdrawNonce" - | "transferLimit" ->; - -export interface QueryLnBridgeRelayInfosReqParams { - fromChain?: Network; - toChain?: Network; - relayer?: string; - bridge?: BridgeCategory; - version?: LnBridgeVersion; - row: number; - page: number; -} - -export interface QueryLnBridgeRelayInfosResData { - queryLnBridgeRelayInfos: { - total: number; - records: LnBridgeRelayerOverview[]; - } | null; -} - export interface HistoryRecordByTxHashReqParams { txHash: Hex; } @@ -171,46 +81,3 @@ export interface HistoryRecordByTxHashReqParams { export interface HistoryRecordByTxHashResData { historyRecordByTxHash: Pick | null; } - -export interface CheckLnBridgeExistReqParams { - fromChainId: ChainID | undefined; - toChainId: ChainID | undefined; - fromToken: Address | undefined; - toToken: Address | undefined; - version: string | undefined; -} - -export interface CheckLnBridgeExistResData { - checkLnBridgeExist: boolean | null; -} - -export interface LnV3MessageChannelReqParams { - bridge: LnBridgeCategory | null | undefined; - fromChain: Network | null | undefined; - toChain: Network | null | undefined; -} - -export interface LnV3MessageChannelResData { - queryLnBridgeRelayInfos: { - records: { messageChannel: MessageChannel }[]; - }; -} - -export interface WithdrawableLiquiditiesReqParams { - page: number; - relayer: Address | null | undefined; - recvTokenAddress: Address | null | undefined; - fromChain: Network | null | undefined; - toChain: Network | null | undefined; -} - -export interface WithdrawableLiquiditiesResData { - historyRecords: { - total: number; - records: { - id: string; - sendAmount: string; - lastRequestWithdraw: string; // Timestamp in Seconds - }[]; - }; -} diff --git a/src/types/token.ts b/src/types/token.ts index 4cd24152c..7caf98980 100644 --- a/src/types/token.ts +++ b/src/types/token.ts @@ -28,6 +28,8 @@ export interface Token { name: string; type: TokenType; address: Address; + outer: Address; // User-oriented, convertor + inner: Address; // Bridge-oriented logo: string; // File name cross: CrossChain[]; } diff --git a/src/ui/modal.tsx b/src/ui/modal.tsx index a76f126db..874b65192 100644 --- a/src/ui/modal.tsx +++ b/src/ui/modal.tsx @@ -110,7 +110,7 @@ export default function Modal({ kind="default" onClick={onCancel} disabled={disabledCancel} - className="h-9 flex-1 rounded-middle text-base font-medium" + className="h-10 flex-1 rounded-xl text-base font-semibold" > {cancelText || "Cancel"} @@ -121,7 +121,7 @@ export default function Modal({ onClick={onOk} disabled={disabledOk} busy={busy} - className="h-9 flex-1 rounded-middle text-base font-medium" + className="h-10 flex-1 rounded-xl text-base font-semibold" > {okText || "Ok"} diff --git a/src/ui/progress-icon.tsx b/src/ui/progress-icon.tsx deleted file mode 100644 index 685e875af..000000000 --- a/src/ui/progress-icon.tsx +++ /dev/null @@ -1,77 +0,0 @@ -"use client"; -import { Subscription, interval } from "rxjs"; -import { CSSProperties, PropsWithChildren, forwardRef, useEffect, useRef } from "react"; - -interface Props { - percent?: number; // Value between 0 and 100 -} - -export default function ProgressIcon({ percent = 100 }: Props) { - const leftRef = useRef(null); - const rightRef = useRef(null); - - useEffect(() => { - let sub$$: Subscription | undefined; - - const leftAnimation = leftRef.current?.getAnimations().at(0); - const rightAnimation = rightRef.current?.getAnimations().at(0); - - if (leftAnimation && rightAnimation) { - sub$$ = interval(300).subscribe(() => { - const leftProgress = (leftAnimation?.effect?.getComputedTiming().progress || 0) * 100 + 50; - const rightProgress = (rightAnimation?.effect?.getComputedTiming().progress || 0) * 100; - - if (percent <= 50 && percent <= rightProgress) { - leftAnimation.pause(); - rightAnimation.pause(); - } else if (50 < percent && percent <= leftProgress) { - leftAnimation.pause(); - rightAnimation.pause(); - } else { - leftAnimation.play(); - rightAnimation.play(); - } - }); - } - - return () => sub$$?.unsubscribe(); - }, [percent]); - - return ( -
- - - - - - - - -
- ); -} - -function Ouro({ children }: PropsWithChildren) { - return
{children}
; -} - -const Anim = forwardRef(function Anim( - { className, style }, - ref, -) { - return ( - - ); -}); diff --git a/src/ui/record-result-tag.tsx b/src/ui/record-result-tag.tsx index 7a99ce420..ab6d32057 100644 --- a/src/ui/record-result-tag.tsx +++ b/src/ui/record-result-tag.tsx @@ -6,7 +6,7 @@ export function RecordResultTag({ result }: { result?: RecordResult | null }) { const { icon, text, color } = useMemo(() => { let icon = "unknown.svg"; let text = "Unknown"; - let color = "#00B2FF"; + let color = "#0085FF"; if ( result === RecordResult.PENDING || @@ -15,7 +15,7 @@ export function RecordResultTag({ result }: { result?: RecordResult | null }) { ) { icon = "pending.svg"; text = "Pending"; - color = "#00B2FF"; + color = "#0085FF"; } else if (result === RecordResult.REFUNDED) { icon = "refunded.svg"; text = "Refunded"; @@ -27,7 +27,7 @@ export function RecordResultTag({ result }: { result?: RecordResult | null }) { } else if (result === RecordResult.PENDING_TO_CONFIRM_REFUND) { icon = "pending.svg"; text = "Refunding"; - color = "#00B2FF"; + color = "#0085FF"; } return { icon, text, color }; diff --git a/src/ui/segmented-tabs.tsx b/src/ui/segmented-tabs.tsx deleted file mode 100644 index bd022163f..000000000 --- a/src/ui/segmented-tabs.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { Key, ReactElement, useRef } from "react"; -import { CSSTransition, SwitchTransition } from "react-transition-group"; -import Tooltip from "./tooltip"; - -export interface SegmentedTabsProps { - activeKey: K; - options: { - key: K; - label: ReactElement | string; - children: ReactElement; - disabled?: boolean; - hidden?: boolean; - }[]; - className?: string; - wrapClassName?: string; - onChange?: (key: K) => void; -} - -export default function SegmentedTabs({ - options, - activeKey, - className, - wrapClassName, - onChange = () => undefined, -}: SegmentedTabsProps) { - const previousRef = useRef(null); - const currentRef = useRef(null); - const stateRef = useRef(activeKey); - - const nodeRef = stateRef.current === activeKey ? currentRef : previousRef; - stateRef.current = activeKey; - - return ( -
- {/* labels */} -
- {options - .filter(({ hidden }) => !hidden) - .map(({ key, label, disabled }) => ( -
- - - -
- ))} -
- - {/* content */} - - -
- {options.find(({ key }) => key === activeKey)?.children} -
-
-
-
- ); -} diff --git a/src/ui/step-title.tsx b/src/ui/step-title.tsx deleted file mode 100644 index 990735539..000000000 --- a/src/ui/step-title.tsx +++ /dev/null @@ -1,15 +0,0 @@ -interface Props { - step: number; - title: string; -} - -export default function StepTitle({ step, title }: Props) { - return ( -
-
- {step} -
-
{title}
-
- ); -} diff --git a/src/ui/tabs.tsx b/src/ui/tabs.tsx deleted file mode 100644 index 44284e022..000000000 --- a/src/ui/tabs.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import Image from "next/image"; -import { Key, ReactElement, useEffect, useRef, useState } from "react"; -import { CSSTransition, SwitchTransition } from "react-transition-group"; - -export interface TabsProps { - activeKey: K; - options: { - key: K; - label: ReactElement | string; - children: ReactElement; - }[]; - className?: string; - onChange?: (key: K) => void; -} - -export default function Tabs({ - options, - activeKey, - className, - onChange = () => undefined, -}: TabsProps) { - const [dividerWidth, setDividerWidth] = useState(); - - const labelRefs = useRef<(HTMLButtonElement | null)[]>([]); - const railRef = useRef(null); - - const previousRef = useRef(null); - const currentRef = useRef(null); - const stateRef = useRef(activeKey); - - const nodeRef = stateRef.current === activeKey ? currentRef : previousRef; - stateRef.current = activeKey; - const activeItem = options.find(({ key }) => key === activeKey) || options.at(0); - - useEffect(() => { - const labelElement = labelRefs.current[options.findIndex(({ key }) => key === activeKey)]; - const railElement = railRef.current; - - if (labelElement && railElement) { - railElement.style.transform = `translateX(${labelElement.offsetLeft}px)`; - railElement.style.width = `${labelElement.clientWidth}px`; - } - }, [options, activeKey]); - - return ( -
- {/* labels */} -
-
setDividerWidth(node?.scrollWidth)}> - {options.map(({ key, label }, index) => ( - - ))} -
- - {/* divider & rail */} -
-
-
-
-
-
- - {/* content */} - - -
- {activeItem ? ( - activeItem.children - ) : ( -
- No data - No data -
- )} -
-
-
-
- ); -} diff --git a/src/ui/tooltip.tsx b/src/ui/tooltip.tsx index 6825f2f95..7193fde33 100644 --- a/src/ui/tooltip.tsx +++ b/src/ui/tooltip.tsx @@ -64,7 +64,7 @@ export default function Tooltip({ {isMounted && (
- +
void; -} - -export default function VersionSwitch({ value, onChange }: Props) { - const targetRef = useRef(null); - const thumbRef = useRef(null); - - return ( -
onChange(value === "v2" ? "v3" : "v2")} - > -
- {value} -
-
- ); -} diff --git a/src/utils/bridge.ts b/src/utils/bridge.ts index 196e44d55..671d0ba1b 100644 --- a/src/utils/bridge.ts +++ b/src/utils/bridge.ts @@ -4,7 +4,7 @@ import { HelixBridgeDVMEVM, HelixLpBridge, L2ArbitrumBridge, - XTokenV3Bridge, + XTokenNextBridge, } from "@/bridges"; import { BridgeConstructorArgs } from "@/types"; @@ -25,7 +25,8 @@ export function bridgeFactory(args: BridgeConstructorArgs): BaseBridge | undefin case "xtoken-crab-dvm": case "xtoken-pangolin-dvm": case "xtoken-sepolia": - return new XTokenV3Bridge(args); + case "xtoken-ethereum": + return new XTokenNextBridge(args); default: return; } diff --git a/src/utils/chain.ts b/src/utils/chain.ts index fc4c069c9..c7def4f5c 100644 --- a/src/utils/chain.ts +++ b/src/utils/chain.ts @@ -1,27 +1,19 @@ import { arbitrumChain, - arbitrumGoerliChain, arbitrumSepoliaChain, baseChain, - baseGoerliChain, crabChain, darwiniaChain, ethereumChain, gnosisChain, - goerliChain, lineaChain, - lineaGoerliChain, mantleChain, - mantleGoerliChain, - mumbaiChain, pangolinChain, - pangoroChain, polygonChain, polygonZkEvmChain, scrollChain, sepoliaChain, zksyncChain, - zksyncGoerliChain, zksyncSepoliaChain, } from "@/config/chains"; import { ChainConfig, ChainID, Network } from "@/types"; @@ -40,63 +32,39 @@ export function getChainConfig(chainIdOrNetwork?: ChainID | Network | null): Cha case ChainID.PANGOLIN: case "pangolin-dvm": return pangolinChain; - case ChainID.PANGORO: - case "pangoro-dvm": - return pangoroChain; case ChainID.ETHEREUM: case "ethereum": return ethereumChain; - case ChainID.GOERLI: - case "goerli": - return goerliChain; case ChainID.ARBITRUM: case "arbitrum": return arbitrumChain; - case ChainID.ARBITRUM_GOERLI: - case "arbitrum-goerli": - return arbitrumGoerliChain; case ChainID.ARBITRUM_SEPOLIA: case "arbitrum-sepolia": return arbitrumSepoliaChain; case ChainID.ZKSYNC: case "zksync": return zksyncChain; - case ChainID.ZKSYNC_GOERLI: - case "zksync-goerli": - return zksyncGoerliChain; case ChainID.ZKSYNC_SEPOLIA: case "zksync-sepolia": return zksyncSepoliaChain; case ChainID.LINEA: case "linea": return lineaChain; - case ChainID.LINEA_GOERLI: - case "linea-goerli": - return lineaGoerliChain; case ChainID.MANTLE: case "mantle": return mantleChain; - case ChainID.MANTLE_GOERLI: - case "mantle-goerli": - return mantleGoerliChain; case ChainID.POLYGON: case "polygon": return polygonChain; case ChainID.POLYGON_ZKEVM: case "polygon-zkEvm": return polygonZkEvmChain; - case ChainID.MUMBAI: - case "mumbai": - return mumbaiChain; case ChainID.SCROLL: case "scroll": return scrollChain; case ChainID.BASE: case "base": return baseChain; - case ChainID.BASE_GOERLI: - case "base-goerli": - return baseGoerliChain; case ChainID.BSC: case "bsc": return bscChain; @@ -117,28 +85,20 @@ export function getChainConfig(chainIdOrNetwork?: ChainID | Network | null): Cha export function getChainConfigs(askAll?: boolean) { const all = [ arbitrumChain, - arbitrumGoerliChain, arbitrumSepoliaChain, crabChain, darwiniaChain, ethereumChain, - goerliChain, sepoliaChain, lineaChain, - lineaGoerliChain, mantleChain, - mantleGoerliChain, pangolinChain, - pangoroChain, zksyncChain, - zksyncGoerliChain, zksyncSepoliaChain, - mumbaiChain, polygonChain, polygonZkEvmChain, scrollChain, baseChain, - baseGoerliChain, bscChain, optimismChain, gnosisChain, diff --git a/src/utils/cross-chain.ts b/src/utils/cross-chain.ts index 94c0daa9d..b486dc021 100644 --- a/src/utils/cross-chain.ts +++ b/src/utils/cross-chain.ts @@ -28,14 +28,6 @@ let availableTargetChains: AvailableTargetChains = {}; let availableTargetTokens: AvailableTargetTokens = {}; let availableBridges: AvailableBridges = {}; -/** - * For LnBridge relayer - */ -let lnbridgeDefaultSourceChains: ChainConfig[] = []; -let lnbridgeDefaultTargetChains: ChainConfig[] = []; -let lnbridgeAvailableSourceTokens: AvailableSourceTokens = {}; -let lnbridgeAvailableTargetChains: AvailableTargetChains = {}; - getChainConfigs().forEach((sourceChain) => { let sourceTokens: Token[] = []; @@ -131,8 +123,6 @@ defaultSourceChains.sort(chainCompareFn); defaultTargetChains.sort(chainCompareFn); defaultSourceTokens.sort(tokenCompareFn); defaultTargetTokens.sort(tokenCompareFn); -lnbridgeDefaultSourceChains.sort(chainCompareFn); -lnbridgeDefaultTargetChains.sort(chainCompareFn); export function getCrossDefaultValue() { return { @@ -195,32 +185,3 @@ export function getAvailableTargetTokens( } return defaultTokens; } - -export function getLnBridgeCrossDefaultValue() { - return { defaultSourceChains: lnbridgeDefaultSourceChains, defaultTargetChains: lnbridgeDefaultTargetChains }; -} - -export function getLnBridgeAvailableSourceTokens( - sourceChain: ChainConfig | undefined, - targetChain: ChainConfig | undefined, - defaultTokens: Token[] = [], -) { - if (sourceChain && targetChain) { - const result = (lnbridgeAvailableSourceTokens[sourceChain.network]?.[targetChain.network] || []).sort( - tokenCompareFn, - ); - return result.length ? result : defaultTokens; - } - return defaultTokens; -} - -export function getLnBridgeAvailableTargetChains( - sourceChain: ChainConfig | undefined, - defaultChains: ChainConfig[] = [], -) { - if (sourceChain) { - const result = (lnbridgeAvailableTargetChains[sourceChain.network] || []).sort(chainCompareFn); - return result.length ? result : defaultChains; - } - return defaultChains; -} diff --git a/src/utils/misc.ts b/src/utils/misc.ts index 33a82a96f..8cf69a87c 100644 --- a/src/utils/misc.ts +++ b/src/utils/misc.ts @@ -1,6 +1,5 @@ -import { FEE_RATE_BASE, FEE_RATE_MAX, FEE_RATE_MAX_V3, FEE_RATE_MIN } from "@/config/constant"; import { RecordResult } from "@/types/graphql"; -import { Address, Hex, isHex } from "viem"; +import { Address, Hex } from "viem"; export function parseRecordResult(result: RecordResult) { switch (result) { @@ -33,20 +32,6 @@ export function getBridgeLogoSrc(fileName: string) { return `/images/bridge/${fileName}`; } -export function parseFeeRate(rate: string) { - return Math.round(Number(rate) * FEE_RATE_BASE); -} - -export function formatFeeRate(rate: number) { - return Number((rate / FEE_RATE_BASE).toFixed(3)); -} - -export function isValidFeeRate(rate: number, isV3?: boolean) { - const min = FEE_RATE_MIN; - const max = isV3 ? FEE_RATE_MAX_V3 : FEE_RATE_MAX; - return min <= rate && rate <= max; -} - export async function fetchMsglineFeeAndParams( fromChainId: number, toChainId: number, @@ -65,18 +50,3 @@ export async function fetchMsglineFeeAndParams( return { fee, extParams }; } } - -/** - * Extract transfer IDs - * @param ids IDs from history records - * @returns Hex[] - */ -export function extractTransferIds(ids: string[]): Hex[] { - return ids.map((id) => { - const transferId = id.split("-").slice(-1).at(0); - if (!transferId || !isHex(transferId)) { - throw new Error(`Failed to extract transfer id, id: ${id}`); - } - return transferId; - }); -} diff --git a/tailwind.config.ts b/tailwind.config.ts index 2d98de896..cfb01d3fc 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -15,7 +15,7 @@ const config: Config = { "gradient-conic": "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", }, colors: { - primary: "#00B2FF", + primary: "#0085FF", component: "#303A44", inner: "#242D30", "app-bg": "#00141D",