From 0973a685e3caa94a0eafe6a3d9041ffab165cd21 Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Wed, 15 Jun 2022 08:21:28 -0500 Subject: [PATCH 01/11] feat: add pari page with charts & pair detail page & kashi token page --- .vscode/settings.json | 2 +- package.json | 8 +- public/images/tokens/icon-quiz.jpg | Bin 0 -> 9618 bytes src/components/Header/useMenu.tsx | 10 + .../kashi/components/KashiMarketList.tsx | 156 + .../kashi/components/KashiMarketListItem.tsx | 110 + .../kashi/components/KashiPairTotalCardEx.tsx | 125 + .../KashiPairTotalDayDatasChart.tsx | 110 + .../analytics/kashi/components/PairCard.tsx | 87 + .../components/PairCollateralPieChart.tsx | 100 + .../PairInteresetPerSecondDayDataChart.tsx | 142 + .../kashi/components/PairMarketTable.tsx | 399 + .../PairSupplyAccruedInterestDayDataChart.tsx | 124 + .../PairSupplyBorrowDayDataChart.tsx | 139 + .../PairSupplyBorrowMonthDataChart.tsx | 154 + .../PairUtilizationDayDataChart.tsx | 119 + .../analytics/kashi/components/Progress.tsx | 88 + .../analytics/kashi/components/TokenCard.tsx | 71 + .../kashi/components/TokenMarketTable.tsx | 278 + .../analytics/kashi/components/TotalCard.tsx | 113 + .../kashi/components/TotalCompareChart.tsx | 111 + .../kashi/components/TotalDayDataChart.tsx | 119 + .../kashi/components/TotalTokenCard.tsx | 141 + .../analytics/kashi/config/coingecko.ts | 77 + .../analytics/kashi/config/constants.tsx | 8 + .../analytics/kashi/config/tailwind.ts | 9 + .../analytics/kashi/config/tokenlist.ts | 9595 +++++++++++++++++ .../analytics/kashi/context/ApolloContext.tsx | 11 + .../analytics/kashi/context/AppContext.tsx | 66 + .../analytics/kashi/graphql/bentobox.ts | 13 + .../analytics/kashi/graphql/dashboard.ts | 71 + .../analytics/kashi/graphql/explore.ts | 47 + src/features/analytics/kashi/graphql/pair.ts | 60 + src/features/analytics/kashi/graphql/token.ts | 82 + .../kashi/services/data/CoinGeckoService.ts | 64 + .../kashi/services/data/DataTypes.ts | 223 + .../kashi/services/data/RestDataService.ts | 184 + .../kashi/services/utils/CalculateService.ts | 402 + .../kashi/services/utils/TokenUtilService.ts | 40 + .../analytics/kashi/types/BentoBox.ts | 15 + src/features/analytics/kashi/types/Enums.ts | 9 + .../analytics/kashi/types/KashiPair.ts | 37 + .../analytics/kashi/types/KashiPairDayData.ts | 33 + src/features/analytics/kashi/types/Token.ts | 12 + src/features/analytics/kashi/types/User.ts | 5 + .../analytics/kashi/views/KashiPairView.tsx | 129 + .../analytics/kashi/views/KashiPairsView.tsx | 179 + .../analytics/kashi/views/KashiTokenView.tsx | 180 + .../analytics/kashi/views/KashiTokensView.tsx | 123 + src/pages/analytics/kashi/pairs/[id].tsx | 35 + src/pages/analytics/kashi/pairs/index.tsx | 35 + src/pages/analytics/kashi/tokens/[id].tsx | 35 + src/pages/analytics/kashi/tokens/index.tsx | 35 + src/services/graph/fetchers/kashi.ts | 85 +- src/services/graph/queries/kashi.ts | 47 + src/styles/index.css | 4 + yarn.lock | 112 +- 57 files changed, 14762 insertions(+), 6 deletions(-) create mode 100644 public/images/tokens/icon-quiz.jpg create mode 100644 src/features/analytics/kashi/components/KashiMarketList.tsx create mode 100644 src/features/analytics/kashi/components/KashiMarketListItem.tsx create mode 100644 src/features/analytics/kashi/components/KashiPairTotalCardEx.tsx create mode 100644 src/features/analytics/kashi/components/KashiPairTotalDayDatasChart.tsx create mode 100644 src/features/analytics/kashi/components/PairCard.tsx create mode 100644 src/features/analytics/kashi/components/PairCollateralPieChart.tsx create mode 100644 src/features/analytics/kashi/components/PairInteresetPerSecondDayDataChart.tsx create mode 100644 src/features/analytics/kashi/components/PairMarketTable.tsx create mode 100644 src/features/analytics/kashi/components/PairSupplyAccruedInterestDayDataChart.tsx create mode 100644 src/features/analytics/kashi/components/PairSupplyBorrowDayDataChart.tsx create mode 100644 src/features/analytics/kashi/components/PairSupplyBorrowMonthDataChart.tsx create mode 100644 src/features/analytics/kashi/components/PairUtilizationDayDataChart.tsx create mode 100644 src/features/analytics/kashi/components/Progress.tsx create mode 100644 src/features/analytics/kashi/components/TokenCard.tsx create mode 100644 src/features/analytics/kashi/components/TokenMarketTable.tsx create mode 100644 src/features/analytics/kashi/components/TotalCard.tsx create mode 100644 src/features/analytics/kashi/components/TotalCompareChart.tsx create mode 100644 src/features/analytics/kashi/components/TotalDayDataChart.tsx create mode 100644 src/features/analytics/kashi/components/TotalTokenCard.tsx create mode 100644 src/features/analytics/kashi/config/coingecko.ts create mode 100644 src/features/analytics/kashi/config/constants.tsx create mode 100644 src/features/analytics/kashi/config/tailwind.ts create mode 100644 src/features/analytics/kashi/config/tokenlist.ts create mode 100644 src/features/analytics/kashi/context/ApolloContext.tsx create mode 100644 src/features/analytics/kashi/context/AppContext.tsx create mode 100644 src/features/analytics/kashi/graphql/bentobox.ts create mode 100644 src/features/analytics/kashi/graphql/dashboard.ts create mode 100644 src/features/analytics/kashi/graphql/explore.ts create mode 100644 src/features/analytics/kashi/graphql/pair.ts create mode 100644 src/features/analytics/kashi/graphql/token.ts create mode 100644 src/features/analytics/kashi/services/data/CoinGeckoService.ts create mode 100644 src/features/analytics/kashi/services/data/DataTypes.ts create mode 100644 src/features/analytics/kashi/services/data/RestDataService.ts create mode 100644 src/features/analytics/kashi/services/utils/CalculateService.ts create mode 100644 src/features/analytics/kashi/services/utils/TokenUtilService.ts create mode 100644 src/features/analytics/kashi/types/BentoBox.ts create mode 100644 src/features/analytics/kashi/types/Enums.ts create mode 100644 src/features/analytics/kashi/types/KashiPair.ts create mode 100644 src/features/analytics/kashi/types/KashiPairDayData.ts create mode 100644 src/features/analytics/kashi/types/Token.ts create mode 100644 src/features/analytics/kashi/types/User.ts create mode 100644 src/features/analytics/kashi/views/KashiPairView.tsx create mode 100644 src/features/analytics/kashi/views/KashiPairsView.tsx create mode 100644 src/features/analytics/kashi/views/KashiTokenView.tsx create mode 100644 src/features/analytics/kashi/views/KashiTokensView.tsx create mode 100644 src/pages/analytics/kashi/pairs/[id].tsx create mode 100644 src/pages/analytics/kashi/pairs/index.tsx create mode 100644 src/pages/analytics/kashi/tokens/[id].tsx create mode 100644 src/pages/analytics/kashi/tokens/index.tsx diff --git a/.vscode/settings.json b/.vscode/settings.json index 10e7a83e1e..7e5c571c5c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,7 +18,7 @@ "editor.formatOnSave": true, }, "[typescriptreact]": { - "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.defaultFormatter": "dbaeumer.vscode-eslint", "editor.formatOnSave": true } } diff --git a/package.json b/package.json index 8096dd138d..0630e2c07f 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@walletconnect/jsonrpc-provider": "1.0.3" }, "devDependencies": { + "@apollo/client": "^3.6.8", "@babel/preset-react": "^7.16.7", "@binance-chain/bsc-connector": "^1.0.0", "@builder.io/partytown": "^0.5.2", @@ -115,6 +116,7 @@ "@types/js-cookie": "^3.0.1", "@types/ms.macro": "^2.0.0", "@types/node": "^16.11.0", + "@types/numeral": "^2.0.2", "@types/qs": "^6.9.7", "@types/react": "^17.0.2", "@types/react-slider": "^1.3.1", @@ -165,6 +167,8 @@ "graphql": "^15.5.3", "graphql-request": "^3.5.0", "graphql-tag": "^2.12.5", + "highcharts": "^10.1.0", + "highcharts-react-official": "^3.1.0", "husky": "^7.0.0", "identity-obj-proxy": "^3.0.0", "ioredis": "^4.27.7", @@ -178,6 +182,7 @@ "lottie-react": "2.1.0", "madge": "^5.0.1", "millify": "^4.0.0", + "moment": "^2.29.3", "ms.macro": "^2.0.0", "next": "^12.1.5", "next-pwa": "5.4.7", @@ -185,7 +190,7 @@ "next-unused": "^0.0.6", "ngrok": "^4.3.1", "node-vibrant": "3.1.6", - "numeral": "^2.0.0", + "numeral": "^2.0.6", "polished": "^4.1.0", "postcss": "^8.4.0", "postcss-flexbugs-fixes": "^5.0.2", @@ -199,6 +204,7 @@ "react-dropzone": "^12.0.4", "react-feather": "^2.0.9", "react-hook-form": "^7.22.1", + "react-icons": "^4.4.0", "react-infinite-scroll-component": "^6.1.0", "react-popper": "^2.2.5", "react-redux": "^7.2.6", diff --git a/public/images/tokens/icon-quiz.jpg b/public/images/tokens/icon-quiz.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f957b607d6b629e83c4b767951ae50103989b5f8 GIT binary patch literal 9618 zcmbt)^;;Bg)c4XU-7Fol2uQ=yol8omEK3MTgOq}Vbnb#IsdUHEsdR(H0!yg0NGK>E z{qlXD=RbJw`DNysxn}M;_c>=iG55>&-vJal8rm8FEG#U*e;eR_6`=ax(f`-D{|q1@ z1f&7du&^ir_k#cy008IzZV33lK}MR+V=Z?1wi;Pd4M7yJOwE2 zw;j&j4@&F+Yu0i(ICg?Ewl%*OD`(Yd1f|nRcT^lrk(M-<#b2jU9MlYvKYAe8>LmNIlBR?NpjIh zJoz2YZD=g9n1Q=3+(Wd^;Qd7?tTuT){?4`JG&8Hi{=D!;`>}OZPgI058=F#sNM#Au zU)+;v=A35CVG7ytkYhnX;K%53aL)TQg!jkTLr6fOw5=+G=Aqg!B`Za1uKdeBmL(6r zFGBOej8ej=Q%X;2;n#2Dn&=7no&jzn5T7}wxBJ&?1NG|pTNT*X*E1^HT)F>25#y59 zEa5AK|BQ`0+=9W_CJKfBsU>u(MZJ@B@T9+IKf2)#ji&f#9MX*rYj5Mo z?;r(yT(xp_Ew&a*H<*dxu0Ub?{ktST=fz+6QfSg<8Cr16gbZ!d`6+3gDH|BK@Tar! z@P)6hZgwSYZMeWlg&UsDt+=Z zAiS579O%g+_t)YuV86uleL$cLGBO*?>B-`lr^~>obCuwXoozX0#U>q7qS^zXX?Ck8onaPcP(Ecxh z*02yy@c1&e(-_T7u)wn{fv1cu7T-1$e*-h@%+@HE_UUM?AH3oZfngJQaRqVxL1J1pv z5B>Y~Ys0R?!QboZnu)qfS>1oTT{|FcBC8?@sqdZ9$=|s$Kau3p7)75nGs2O#rXw*t z)u;&8FXgW+SU$OtyE9BKb`!aY)9KVVxb^COZlfo~Yh_EhHgCm9Mil48@fYLspp)0@K>Ca>n`xDg(<htp_JV@BdLI{Ze~jubB!+%2?yDcN|pw`Lpym#-U8R? zrI`yr);u04cN%;hy>CI!&g5{n9pLcg1yKDct%4U=gy~lp_9^lF_Q}tS< z#iiQPVp-JYGVhtUkhtv^&dqy3##b>@Gc{io24Jaa%?BJsuQat@>!CI-8WRCTi4ScG z?`N0Ek=EeO%lto1b@m)P-L=j>ve2C1Q=yIRs52cnUqu$^dVH8yqFpjBA{wgFlAP=@ zEuX=oO+}9o{JS0E%Pw(_o!+y$uJr=kAePL4`JF}8EUdR+N0H=@WEotm6A>EqXWenB zV0@h3I6WsLPD2A3)>=%LNt^B&Kqh1CUtam3-+@)WHD362bXhRTShG6FScoIXgRz|N zHp3bl5@bA*J)Lb zj!zy1+YV5I6B1AtxzX+wfd*vnn}-FV<)qHzgqc#)@)3;<;oN~<%LTS?y0g^3vQ#vI zy?tcj+ovrl;S|(_ahVM5mFFVK^W>a(+FfcHeBmH1JOEknA>HreWQP^6>Mp+~@03|- zzTCLUUkJ;JXAze;fR8U8r~kP)$C=_?Vl(>YowLf>XOZ94x|5Bs0iiA5TNLSVV>!j8 zIK{lMro!=aMUJ!f8S~Gxb|}3bG%35@N(=D%xwAM`R#3Z9`@K@#EyX&|wge)nlbY$n z6YMP23ef6;`_kM9} zHSb1KSsgWh1=zDwLsXX?rO8<-fSk^W&o1YPF2mZJ9sF>{eC5k7iI4rOXN61a1wn&w zGMklHAXRmvUX7h+q8oC3!ltrOkWh`$$ytliJj1AFPLJdi*JMbmHH{N4HotUpo!ufP zW%y^9x@BT(ttG)@YR?@G8Bzm^r#-LC2&EMmGjOn18*8H%q5hp3=ZrF{v(xNW8x!z7 z9qCaz4^O(bSm3V~X5(?uw<^leOCP%J zNpr(FBVTUaXC0@CZ^l7U7;UMS%NoPYzIV!hhT_(Xc_Fj1v7YPFCPUizM`?QM?=4kn z;<;6UyVwZL^qF5v&5Q-p7oA65^^h)eTkm-!#JcWxMCAl)iy6;lM$Ra&`!Q8G-5B+w zRGF$>@_at-gIP^B%C~#Y@{euBMm+3PSw|#gD)I`L2LkdMeAlOx&UQtn-O9wpymg5U_(xkLNRMIqL-bciQPZqfw3Iyp(T`6KJYH=p z)$B}wQT>T`uNB?-_X8Qgu@7#dAD_-9v=4@>$R8y0g7tv3=JWb=^ir(A0D0Nw~#;!sGZTuJJTt%QDY=AVTa+! z+k9Miy=hlW&^8xe@&MfW4ElG5r7oDXC;1@RNP1ENDX^Wmtb?Ft*LcdZgDI{kW?q#{ zhVzS{^K!n^>KI1zzjXWs;C(2(8%U>P(9#h$T{8Nox`i?JZ6B1_86LoG}W2vLj<#{KgUF>r5D@Q={ z5i2Sv9w-rr_D_N>dG6p*ThhWs;)+~AqYj{mpmv2y`SXC%TPN!u3uDEDJ5%kM<~R#x zt{q=8lFJmIm%OuTkdV>juf&$XPPVDj{%+mVhBArek7hr$$$3>{J~h2U%2wTurUrRV zSrX%CO)U*O8OEf9Y|}MZ+S7b$4uJN4HGZSi&kmRddo{2D+ftei7Nr($aN+|-C-!})C)H1C{dQ7<^AmPGm<4R6zz3W|;uhbhpd{hSOnBqlMjAW$q zQa2aoWhN(wk!Xs%hwT>lG&X*jJ%mCTL=zH{T-T#LVD2UiBO{Hj>4t7oiM*91m|~65 zw753U$QMNkYWy$KO85Y;yC-^=L)!Y}%iJGzQEVq1%E}c}lL+!eqBbnr1k0Je&AS#g z61Qc7h)>)~y0%vvT9+~{W>3@Is_Ogm;1(Cj(7jjX23uXFU2H2DCdqk?rkVM}^btzx zhJsq1u9$3R2MWIUTrE-WxYUSK?myqbCyO3%#4695Zx--ZBu-URLly_~q_m>sMa~;+ z9FJ+ar=Wx^^bmVV<%s|tb|`;3Db6<7*OqA6XH}jbT?;oMG`}pw->P1~Py=vhQ4?m% zIbYUdo<@L}m*H@w(vzD~2(hBWblcuLkKyjE*A1V+?l!)MGS7m3i5Ncy(P<>`s@AL% zIhX5|bO)!fGEXXvW|pjpq5jE&EzVQ4*kMuWWNUiR-WMrfTprnuX)($M(vCh`XiMqk z;*MVMd(7GLW_+;hcB|&>f-;cs42BlXiVFarFqRH5-@xnFiDsOn(S{=qM-kmBGYDkP_bE6s!9`2Qr_F zij^ECEMZ=Sug-t{k7V-{G3wQJu#ys@pWDg8WxU)m0!0Yp{_vnTg|!$v(MmLQ zV&Jkh5a3EKzkPSI9nZ@DuV^CZ zifss@cSo_kE>k>3e6R$&QhguyeaadwsY}np-@vxaR(_ae7NE=I#ym>U-%Prl@C1ZC-qH%%yQTzrxAZU`BTeY_hdIE{#a@zH}nxI_H&1%GF}5-*?T5A%7qDlg_@j>k~rzx?fV3{!ogZ<$YlwE&|`>1I*p zQEm=q(S8G)Si{*13^-b{n>e>E{P3H#&4dmSf=Vv5tIu%lP>D_C*Yq~Av-X_V=Jv-l ztM#6040H19&h&z~ikPIm{lWrver{FYzW&){z3FX6`<&`rTlt05d(=X;$ASyu(Eh#k(n_JU|N6Rk6{n8(&k9v}ank`^`q46BjxFOEo&M0?Ck#z#T1j=$&Ct zj9hYeZHM4en;BaM8VQQGVP~w|MWba%&iRn& zhz|g4POh!|iIuN(=60cv*AGXgC@Fg|E z14+nA3}92fm_+U%WpL3e&eZ|(;X(vCRC( z@*{j9|I!MS{%gn*l=hzq33kfxucUYn(5!UU4xx|dfGW9uGG1;N0h{J3^{3s628%UG zM_CdkPv4Tq5Hf&hvna`3xsik4l;qaEELv;81Gfm%Kqg6P!>X5NY!TVsXWXP3BcnkL z6|;hZDHR06Ldn(|iQFFuuNUZlg1##~+A4cZCmS~xkCJ6BHM3NaOr8GQKG~F#Q}=;Z zqJFsnDB7gajKcu1o1EQ!2iay1onFaypb+L|T~Yb{U)$l?-MCWtDeKb0jMJnql{KVg zFT0aiU}W{-8~*S#m$li3=&pm7e;MtVQI&Rj`Wli-PA*hT!1!%Ur{meQC!1=^)2l!h z*FU#%2ZM(9fTP>$*uopt+nZOmVS`h@h4A~A!8Lt{f(^%@k>wtuGe$ZI?Pk{it*TDn zpPG~dC}FvDXx|1VeLkaAv_Ib5f{>Vb>EC~47JOFj$)&qHdQgzLSW3LBh%>j1npSs< zjDXF4auW6&Zv-9^a{|tpQi-WxpnS zoEWJW5!mVI&;#J`@D_g@y+d~au>4Z*X`nsw5=Yf}H*2+=miA*(6 z>xMd&x1C}yP8qp*i%v5AVn( z$iM95E3`y;{lIhHFxIk@YD%YgG#DFxGdPGFZ>Iuj7RFl98R_=$#^L^ts7QNn|C72# zSN3!kcggD3nt0Gw|3MtGPR#KcJ4QA^8hWsh|Q;8az zA7i&XkzoX2lA9L0p?kpLK}Gl_nZ-RINABZv+8&9}8)X`t?Sm@Jya7X2@aUF~$;$J6;A7E7ZJGXXuYSP?QKP&Al@>^7tac|aao z*FyYPthr@gv;#42^-JmmIQs)#YLB$633+8FA0?Q)3(R?BLaHd!pkrRD&&oY8JbtBr zjZ9gRdnfPf5l|~VDTegegD-V?9DLS!%Ho76CCvT#WWvra%bVwGz9UC{^oVq=5&e)&=b= zd8=loLnKRDi8J{8ve6Hpv}hTXl>9(h{rxl!8AMzYUapA3rl_RcW~+#3D%sajL}dwl zWyWP0Fc6_3NC|xQM@NOl*a+ZfoElpD9@@M?}Be7AH&drOOU3^Y;ci|85w$)Rv*gd36q35-$x&<6o-ustVeh^9HU_QT5>k=|3GVe z9D4=Kck1^53%0YKcDAc)#(TiHo%oyX4gR{8?@5aF2p71h_?lpf8^dtj-QY%b$6lKF zsD`(Qr!$MF3+vQi#uOv>t3(OtEFQhcB-~$%UFrOxA;7;DhZ_yz10uRzQ{vWFruHsd z>#HzbQl{T{e?BEr?}Qxj>?6hk6IkdwOn*K$MdZOH$YO|as#N$T(>XZGtLv9ZM2-qP zKYkD6F?l~4?Eb_ux6jZi@8xAh8LCe!jioY{z;~?kRiY48=n^G%e#!&p3D>gz zGuQ;rW6q+^+<{p7Pdx?kjo}_a?QJAw`>p_059s$I8WkEU54!)s}dKo z=WFdUQMQd?o-lqYG8$9vbv2o^R4YT|g?&?CnX{}j)eMd7|5^~1Q|2z#RYTXBgrHNA ztoV?$#9-;zZ4NdSgF&z#Gxx%1Pii1a1N3igUF@n+l(%DK;cTR_p~=}sj3HN=zo2iJ zQoE)nrDzt!+~g7hEsE%U@IE+=(=y_#tOxy6LLu%-l=yL9M(hGz07ofOu@jveS^JEM zEK?;p$pQ#uD{55AVjCw%!2wBX$-wyTyTVdhlgHMMWd(L_*$W^p_&D!B2w6biuqqKD zAKf_W>OAD%=dofacjy1Yj zyXnfBZLHO48Y6hY{fsR$w~-2!TAXP@(GWW5>RcH6Ns&!IV?S7 zu1!1ODmhJL)L&lk^Ihba={Z^2 zFmg9%Jy!skx>kE^m^>F&rIMUgQ=N`i;zs>_7c`Se4-@f)A~M8ij>tdcA01FRI}do4 z%1o~OfR}1eLq+_pFRf4_yV7?cUm8yJ|D461g1Nf94U@N~;h@3gQUI>1_*ts=c{rp# z4pwVB%}7FG4Hs3}-w_I)V7M$X7G|iaX*p95xh;?mcht1t;znlUhIjnA82&y#V-+|$ z%cO4B_ROX-_^W*5GtXaK&|t+w)D21<8!^M}PR^`nv}+d!$Qw))6hXyaVVB`w(7yZq zs@lGM615&L6iof(JJEaY$J-h^HU`gw#;S%-jvt>KdPqHZw9g1*r%}ma5kxVf1maX( zU%we-Wo`S>FWa?psuL67?s-O;`2#ri`Y;%bnk=O6R>xoGIon5axtqpUZSy;}oheST zB#Y=cq*{L-?U$EANqFQ6)Gn4zLPx6PfB9Xr)!szN{ZSN4{ckD|%n1ld{bcVlYfy1( zc(canx%1fE5Y{>T-?=su(2`0d0%uoU(+;3C1lbtcT2p*@?XN33i_P^ml|h{HVGu$1Kd;2?+ME6SrEn3OlTJ}G< z7kJ6m;K)C==8?;rAu_XCGy8|&C_QNGKoeI~weVF z`%`f$h;@fW;52d8m;`>e{o8ZxJ{cE;W>$6; z(@ { title: 'Pools', link: `/analytics/pools`, }, + { + key: 'kashi', + title: 'Kashi Pairs', + link: `/analytics/kashi/pairs`, + }, + { + key: 'kashi', + title: 'Kashi Tokens', + link: `/analytics/kashi/tokens`, + }, ], } diff --git a/src/features/analytics/kashi/components/KashiMarketList.tsx b/src/features/analytics/kashi/components/KashiMarketList.tsx new file mode 100644 index 0000000000..f648d2f87c --- /dev/null +++ b/src/features/analytics/kashi/components/KashiMarketList.tsx @@ -0,0 +1,156 @@ +import { t } from '@lingui/macro' +import { useLingui } from '@lingui/react' +import Search from 'app/components/Search' +import SortIcon from 'app/components/SortIcon' +import Typography from 'app/components/Typography' +import KashiMarketListItem from 'app/features/kashi/KashiMarketListItem' +import { TABLE_TR_TH_CLASSNAME, TABLE_WRAPPER_DIV_CLASSNAME } from 'app/features/trident/constants' +import { classNames } from 'app/functions' +import { useFuse, useSortableData } from 'app/hooks' +import { useInfiniteScroll } from 'app/hooks/useInfiniteScroll' +import React, { FC, memo } from 'react' +import InfiniteScroll from 'react-infinite-scroll-component' + +import { useKashiMediumRiskLendingPairs, useKashiPairAddresses } from '../../../kashi/hooks' +import { KashiMediumRiskLendingPair } from '../../../kashi/KashiMediumRiskLendingPair' +import KashiPairTotalCard from './KashiPairTotalCardEx' + +interface KashiMarketList {} + +const KashiMarketList: FC = () => { + const addresses = useKashiPairAddresses() + const markets = useKashiMediumRiskLendingPairs(null, addresses) + + const { i18n } = useLingui() + const { result, term, search } = useFuse({ + data: markets, + options: { + keys: ['asset.token.symbol', 'collateral.token.symbol'], + threshold: 0.2, + shouldSort: false, + useExtendedSearch: false, + }, + }) + + const { items, requestSort, sortConfig } = useSortableData(result, { + key: 'currentAllAssetsUSD', + direction: 'descending', + }) + + const [numDisplayed, setNumDisplayed] = useInfiniteScroll(items) + + return ( +
+
+ + + +
+
+ search(val.toUpperCase())} term={term} /> +
+
+
+
requestSort('pair.token0.symbol')} + > + + {i18n._(t`Asset / Collateral`)} + + {/**/} +
+
requestSort('currentAllAssetsUSD')} + > + + {i18n._(t`TVL`)} + + +
+
requestSort('currentBorrowAmountUSD')} + > + + {i18n._(t`Borrowed`)} + + +
+ +
requestSort('currentSupplyAPR')} + > + + {i18n._(t`Supply APR`)} + + +
+ +
requestSort('totalAssetAmountUSD')} + > + + {i18n._(t`Available`)} + + +
+ +
requestSort('currentInterestPerYear')} + > + + {i18n._(t`Borrow APR`)} + + +
+
+ + {i18n._(t`Actions`)} + +
+
+
+ setNumDisplayed(numDisplayed + 10)} + hasMore={numDisplayed <= items.length} + loader={null} + > + {items.slice(0, numDisplayed).map((market, index) => ( + + ))} + +
+
+
+ ) +} + +export default memo(KashiMarketList) diff --git a/src/features/analytics/kashi/components/KashiMarketListItem.tsx b/src/features/analytics/kashi/components/KashiMarketListItem.tsx new file mode 100644 index 0000000000..9e5094e136 --- /dev/null +++ b/src/features/analytics/kashi/components/KashiMarketListItem.tsx @@ -0,0 +1,110 @@ +import { I18n } from '@lingui/core' +import { t } from '@lingui/macro' +import { CurrencyAmount, Percent } from '@sushiswap/core-sdk' +import { CurrencyLogoArray } from 'app/components/CurrencyLogo' +import Typography from 'app/components/Typography' +import { KashiMarketActions } from 'app/features/kashi/KashiMarket' +import { TABLE_TBODY_TD_CLASSNAME, TABLE_TBODY_TR_CLASSNAME } from 'app/features/trident/constants' +import { classNames, formatNumber, formatPercent } from 'app/functions' +import Link from 'next/link' +import React, { FC, memo, useMemo } from 'react' + +import KashiMediumRiskLendingPair from '../../../kashi/KashiMediumRiskLendingPair' + +interface KashiMarketListItem { + market: KashiMediumRiskLendingPair + i18n: I18n +} + +const KashiMarketListItem: FC = memo(({ market, i18n }) => { + const asset = market.asset.token + const collateral = market.collateral.token + + // @ts-ignore + const currentAllAssets = useMemo( + () => (asset ? CurrencyAmount.fromRawAmount(asset, market.currentAllAssets) : undefined), + [asset, market.currentAllAssets] + ) + // @ts-ignore + const currentBorrowAmount = useMemo( + () => (asset ? CurrencyAmount.fromRawAmount(asset, market.currentBorrowAmount) : undefined), + [asset, market.currentBorrowAmount] + ) + // @ts-ignore + const totalAssetAmount = useMemo( + () => (asset ? CurrencyAmount.fromRawAmount(asset, market.totalAssetAmount) : undefined), + [asset, market.totalAssetAmount] + ) + + const currentSupplyAPR = new Percent(market.currentSupplyAPR, 1e18) + + const currentInterestPerYear = new Percent(market.currentInterestPerYear, 1e18) + + return ( + +
{}}> +
+ {asset && collateral && } +
+ + {market.asset.token.symbol} + / + {market.collateral.token.symbol} + + + {market.oracle.name} + +
+
+
+ + {formatNumber(market.currentAllAssetsUSD?.toFixed(0), true)} + + + {formatNumber(currentAllAssets?.toSignificant(6))} {market.asset.token.symbol} + +
+
+ + {formatNumber(market.currentBorrowAmountUSD?.toFixed(0), true)} + + + {formatNumber(currentBorrowAmount?.toSignificant(6))} {market.asset.token.symbol} + +
+ +
+ + {formatPercent(currentSupplyAPR.toFixed(2))} + + + {i18n._(t`annualized`)} + +
+ +
+ + {formatNumber(market.totalAssetAmountUSD?.toFixed(0), true)} + + + {formatNumber(totalAssetAmount?.toSignificant(6))} {market.asset.token.symbol} + +
+ +
+ + {formatPercent(currentInterestPerYear.toFixed(2))} + + + {i18n._(t`annualized`)} + +
+
+ +
+
+ + ) +}) + +export default memo(KashiMarketListItem) diff --git a/src/features/analytics/kashi/components/KashiPairTotalCardEx.tsx b/src/features/analytics/kashi/components/KashiPairTotalCardEx.tsx new file mode 100644 index 0000000000..fa7564e74c --- /dev/null +++ b/src/features/analytics/kashi/components/KashiPairTotalCardEx.tsx @@ -0,0 +1,125 @@ +import { useLingui } from '@lingui/react' +import KashiMediumRiskLendingPair from 'app/features/kashi/KashiMediumRiskLendingPair' +import { formatNumber } from 'app/functions' +import classNames from 'classnames' + +import Progress from './Progress' + +type AttributesByBorrowType = { + progressColor: 'green' | 'pink' | 'blue' + title: string + users: string +} + +type AttributesMapByBorrowType = { + borrow: AttributesByBorrowType + asset: AttributesByBorrowType + supply: AttributesByBorrowType +} + +const KashiPairTotalCard = ({ + containerClass = '', + data, + borrow = 'borrow', + loading = false, +}: { + containerClass?: string + data: KashiMediumRiskLendingPair[] + borrow?: 'borrow' | 'asset' | 'supply' + loading?: boolean +}) => { + const { i18n } = useLingui() + const AttributesMapByBorrow = { + borrow: { + progressColor: 'pink', + title: i18n._('Total Borrow'), + }, + asset: { + progressColor: 'green', + title: i18n._('Total Available'), + }, + supply: { + progressColor: 'blue', + title: i18n._('Total Supply'), + }, + } as AttributesMapByBorrowType + + const attributes = AttributesMapByBorrow[borrow] + const isLoading = loading || !data + const amount = data.reduce( + ( + value: { totalAssetAmountUSD: number; currentAllAssetsUSD: number; currentBorrowAmountUSD: number }, + market: KashiMediumRiskLendingPair + ) => { + value.currentAllAssetsUSD += Number(market.currentAllAssetsUSD?.toFixed(0)) || 0 + value.currentBorrowAmountUSD += Number(market.currentBorrowAmountUSD?.toFixed(0)) || 0 + value.totalAssetAmountUSD += Number(market.totalAssetAmountUSD?.toFixed(0)) || 0 + return value + }, + { totalAssetAmountUSD: 0, currentAllAssetsUSD: 0, currentBorrowAmountUSD: 0 } + ) + + const sortFunc = { + borrow: (a: KashiMediumRiskLendingPair, b: KashiMediumRiskLendingPair) => + (Number(b.currentBorrowAmountUSD?.toFixed(0)) || 0) - (Number(a.currentBorrowAmountUSD?.toFixed(0)) || 0), + asset: (a: KashiMediumRiskLendingPair, b: KashiMediumRiskLendingPair) => + (Number(b.totalAssetAmountUSD?.toFixed(0)) || 0) - (Number(a.totalAssetAmountUSD?.toFixed(0)) || 0), + supply: (a: KashiMediumRiskLendingPair, b: KashiMediumRiskLendingPair) => + (Number(b.currentAllAssetsUSD?.toFixed(0)) || 0) - (Number(a.currentAllAssetsUSD?.toFixed(0)) || 0), + } + const top3 = data.length > 3 ? [...data].sort(sortFunc[borrow]).slice(0, 3) : [...data] + + return ( +
+
{attributes.title}
+
+
+ {isLoading ? ( +
+ ) : ( + formatNumber( + borrow === 'borrow' + ? amount.currentBorrowAmountUSD + : borrow === 'asset' + ? amount.totalAssetAmountUSD + : amount.currentAllAssetsUSD, + true + ) + )} +
+
Top 3 Markets
+ {isLoading ? ( + <> + + + + + ) : ( + top3.map((market) => ( + + )) + )} +
+
+ ) +} + +export default KashiPairTotalCard diff --git a/src/features/analytics/kashi/components/KashiPairTotalDayDatasChart.tsx b/src/features/analytics/kashi/components/KashiPairTotalDayDatasChart.tsx new file mode 100644 index 0000000000..8d73c10e08 --- /dev/null +++ b/src/features/analytics/kashi/components/KashiPairTotalDayDatasChart.tsx @@ -0,0 +1,110 @@ +import { useLingui } from '@lingui/react' +import TailwindConfig from 'app/features/analytics/kashi/config/tailwind' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +const KashiPairTotalDayDatasChart = ({ loading, data }: { loading: boolean; data: KashiPairDayDataMap[] }) => { + const { i18n } = useLingui() + const getSeries = () => { + let supplyData: any[] = [] + let borrowData: any[] = [] + data.forEach((item) => { + supplyData.push({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow)).toNumber() / 100.0, + }) + borrowData.push({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalBorrow).toNumber() / 100.0, + }) + }) + return [ + { + type: 'line', + color: TailwindConfig.theme.colors.green.DEFAULT, + name: i18n._('Supply'), + data: supplyData, + tooltip: { + pointFormat: i18n._('Supply') + '   ${point.y}', + }, + }, + { + type: 'line', + color: TailwindConfig.theme.colors.pink.DEFAULT, + name: i18n._('Borrow'), + data: borrowData, + tooltip: { + pointFormat: i18n._('Borrow') + '   ${point.y}', + }, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + series: getSeries(), + rangeSelector: { + buttons: [ + { + type: 'week', + count: 1, + text: '1w', + title: i18n._('View 1 week'), + }, + { + type: 'month', + count: 1, + text: '1m', + title: i18n._('View 1 month'), + }, + { + type: 'month', + count: 3, + text: '3m', + title: i18n._('View 3 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + ], + selected: 1, + }, + } + + return ( +
+
{i18n._('Total Supply & Total Borrow')}
+ {loading || !data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + + )} +
+ ) +} + +export default KashiPairTotalDayDatasChart diff --git a/src/features/analytics/kashi/components/PairCard.tsx b/src/features/analytics/kashi/components/PairCard.tsx new file mode 100644 index 0000000000..b3f1fdd680 --- /dev/null +++ b/src/features/analytics/kashi/components/PairCard.tsx @@ -0,0 +1,87 @@ +import { i18n } from '@lingui/core' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import numeral from 'numeral' + +import { KashiPair } from '../types/KashiPair' + +const PairCard = ({ containerClass = '', data }: { containerClass?: string; data?: KashiPair }) => { + return ( +
+
{i18n._('Info')}
+
+
+
{i18n._('Supply')}
+ {!data ? ( +
+ ) : ( +
+ {numeral( + BigNumber.from(data?.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100.0 + ).format('($0,0.00)')} +
+ )} +
+
+
{i18n._('Utilization')}
+ {!data ? ( +
+ ) : ( +
+ {numeral( + BigNumber.from(data?.utilization).div(BigNumber.from('100000000000000')).toNumber() / 10000.0 + ).format('(0,0.00%)')} +
+ )} +
+
+
{i18n._('Available')}
+ {!data ? ( +
+ ) : ( +
{numeral(Number(data?.totalAsset) / 100.0).format('($0,0.00)')}
+ )} +
+
+
{i18n._('Borrow')} 
+ {!data ? ( +
+ ) : ( +
{numeral(Number(data?.totalBorrow) / 100.0).format('($0,0.00)')}
+ )} +
+
+
{i18n._('Supply APY')}
+ {!data ? ( +
+ ) : ( +
+ {numeral(BigNumber.from(data?.supplyAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( + '%0.00' + )} +
+ )} +
+
+
{i18n._('Borrow APY')}
+ {!data ? ( +
+ ) : ( +
+ {numeral(BigNumber.from(data?.borrowAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( + '%0.00' + )} +
+ )} +
+
+
+ ) +} + +export default PairCard diff --git a/src/features/analytics/kashi/components/PairCollateralPieChart.tsx b/src/features/analytics/kashi/components/PairCollateralPieChart.tsx new file mode 100644 index 0000000000..3f051a3a16 --- /dev/null +++ b/src/features/analytics/kashi/components/PairCollateralPieChart.tsx @@ -0,0 +1,100 @@ +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts' +import HighchartsReact from 'highcharts-react-official' +import { useRouter } from 'next/router' + +import TailwindConfig from '../config/tailwind' +import { useAppContext } from '../context/AppContext' +import { KashiPair } from '../types/KashiPair' + +const PairCollateralPieChart = ({ + containerClass = '', + type = 'supply', + title = 'Supply', + data, +}: { + type?: 'supply' | 'asset' | 'borrow' + containerClass?: string + title?: string + data?: KashiPair[] +}) => { + const router = useRouter() + const { tokenUtilService } = useAppContext() + const valueFuncs = { + supply: (kashiPair: KashiPair) => + BigNumber.from(kashiPair.totalAsset).add(BigNumber.from(kashiPair.totalBorrow)).toNumber() / 100.0, + asset: (kashiPair: KashiPair) => BigNumber.from(kashiPair.totalAsset).toNumber() / 100.0, + borrow: (kashiPair: KashiPair) => BigNumber.from(kashiPair.totalBorrow).toNumber() / 100.0, + } + + const getSeries = () => { + let seriesData: any[] = [] + data?.forEach((item) => { + seriesData.push({ + id: item.id, + name: tokenUtilService.pairSymbol(item.asset?.symbol, item.collateral?.symbol), + y: valueFuncs[type](item), + }) + }) + return [ + { + name: title, + data: seriesData, + innerSize: '50%', + tooltip: { + headerFormat: "{point.key}
", + pointFormat: "${point.y}", + }, + }, + ] + } + + const options = { + title: { + text: '', + }, + chart: { + type: 'pie', + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + colors: ['#10b981', '#2085ec', '#72b4eb', '#0a417a', '#8464a0', '#cea9bc', '#a855f7', '#323232'], + series: getSeries(), + plotOptions: { + pie: { + cursor: 'pointer', + dataLabels: { + enabled: false, + }, + // showInLegend: true, + events: { + click: (event: Highcharts.SeriesClickEventObject) => { + router.push(`/pair/${(event.point as any).id}`) + }, + }, + }, + }, + } + + return ( +
+
{title}
+ {!data || data.length === 0 ? ( +
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default PairCollateralPieChart diff --git a/src/features/analytics/kashi/components/PairInteresetPerSecondDayDataChart.tsx b/src/features/analytics/kashi/components/PairInteresetPerSecondDayDataChart.tsx new file mode 100644 index 0000000000..4a2fb25399 --- /dev/null +++ b/src/features/analytics/kashi/components/PairInteresetPerSecondDayDataChart.tsx @@ -0,0 +1,142 @@ +import { i18n } from '@lingui/core' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import TailwindConfig from '../config/tailwind' +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +const PairInterestPerSecondDayDataChart = ({ + containerClass = '', + title = 'Supply & Borrow APR', + data, +}: { + containerClass?: string + title?: string + data?: KashiPairDayDataMap[] +}) => { + const getSeries = () => { + let borrowData: any[] = [] + let supplyData: any[] = [] + data?.forEach((item) => { + borrowData.push({ + x: moment(item.date).valueOf(), + y: + BigNumber.from(item.avgInterestPerSecond) + .mul(3600 * 24 * 365) + .div(1e14) + .toNumber() / 1e2, + }) + supplyData.push({ + x: moment(item.date).valueOf(), + y: + BigNumber.from(item.avgInterestPerSecond) + .mul(3600 * 24 * 365) + .mul(BigNumber.from(item.avgUtilization)) + .div(1e14) + .div(1e14) + .div(1e4) + .toNumber() / 1e2, + }) + }) + return [ + { + type: 'line', + color: TailwindConfig.theme.colors.green.DEFAULT, + data: supplyData, + tooltip: { + pointFormat: 'Supply APR  {point.y}%', + }, + }, + { + type: 'line', + color: TailwindConfig.theme.colors.pink.DEFAULT, + data: borrowData, + tooltip: { + pointFormat: 'Borrow APR  {point.y}%', + }, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + chart: { + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + yAxis: [ + { + gridLineColor: TailwindConfig.theme.colors['dark-600'], + }, + ], + series: getSeries(), + rangeSelector: { + buttons: [ + { + type: 'week', + count: 1, + text: '1w', + title: i18n._('View 1 week'), + }, + { + type: 'month', + count: 1, + text: '1m', + title: i18n._('View 1 month'), + }, + { + type: 'month', + count: 3, + text: '3m', + title: i18n._('View 3 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + ], + selected: 1, + }, + } + + return ( +
+
{title}
+ {!data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default PairInterestPerSecondDayDataChart diff --git a/src/features/analytics/kashi/components/PairMarketTable.tsx b/src/features/analytics/kashi/components/PairMarketTable.tsx new file mode 100644 index 0000000000..6442d8e8f9 --- /dev/null +++ b/src/features/analytics/kashi/components/PairMarketTable.tsx @@ -0,0 +1,399 @@ +/* eslint-disable @next/next/no-img-element */ +import { i18n } from '@lingui/core' +import { useLingui } from '@lingui/react' +import { BigNumber } from 'ethers' +import { useRouter } from 'next/router' +import numeral from 'numeral' +import React, { useEffect, useState } from 'react' +import { FaChevronDown, FaChevronUp } from 'react-icons/fa' + +import { useAppContext } from '../context/AppContext' +import { KashiPair } from '../types/KashiPair' + +type OrderBy = 'asset' | 'collateral' | 'totalSupply' | 'totalAsset' | 'supplyAPY' | 'totalBorrow' | 'borrowAPY' | '' +type OrderDirection = 'asc' | 'desc' + +const PairMarketTableHead = ({ + onSort, + orderBy, + orderDirection, +}: { + onSort: (orderBy: OrderBy) => void + orderBy: OrderBy + orderDirection: OrderDirection +}) => { + const { i18n } = useLingui() + const iconByDirection = { + asc: , + desc: , + } + + return ( + + + { + onSort('asset') + }} + className="cursor-pointer" + > + Asset{orderBy === 'asset' && iconByDirection[orderDirection]} + + / + { + onSort('collateral') + }} + className="cursor-pointer" + > + {i18n._('Collateral')} + {orderBy === 'collateral' && iconByDirection[orderDirection]} + + + { + onSort('totalSupply') + }} + > + + {i18n._('Total Supply')} + {orderBy === 'totalSupply' && iconByDirection[orderDirection]} + + + { + onSort('totalAsset') + }} + > + + {i18n._('Total Available')} + {orderBy === 'totalAsset' && iconByDirection[orderDirection]} + + + { + onSort('supplyAPY') + }} + > + + {i18n._('Supply APY')} + {orderBy === 'supplyAPY' && iconByDirection[orderDirection]} + + + { + onSort('totalBorrow') + }} + > + + {i18n._('Total Borrow')} + {orderBy === 'totalBorrow' && iconByDirection[orderDirection]} + + + { + onSort('borrowAPY') + }} + > + + {i18n._('Borrow APY')} + {orderBy === 'borrowAPY' && iconByDirection[orderDirection]} + + + + ) +} + +const PairMarketTableRowLoading = () => ( + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+
+
+
+
+
+ + +
+ + +) + +const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) => { + const { tokenUtilService, handleLogoError } = useAppContext() + const router = useRouter() + const goto = (route: string) => { + router.push(route) + } + + return ( + goto(`/analytics/kashi/pairs/${data.id}`)} + className="border-t border-l-2 border-transparent cursor-pointer border-t-gray-900 hover:bg-dark-900" + > + +
+
+ {data?.symbol} + {data?.symbol} +
+
+ {tokenUtilService.pairSymbol(data.asset?.symbol, data.collateral?.symbol)} +
+
+ + +
+ {numeral(BigNumber.from(data?.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100).format( + '$0,.00' + )} +
+
+ {numeral( + BigNumber.from(data?.totalAssetElastic) + .add(BigNumber.from(data.totalBorrowElastic)) + .div(BigNumber.from('10').pow(Number(data.asset?.decimals || 0) - 2)) + .toNumber() / 100 + ).format('0,.00')} +   + {data.asset?.symbol} +
+ + +
+ {numeral(BigNumber.from(data?.totalAsset).toNumber() / 100).format('$0,.00')} +
+
+ {numeral( + BigNumber.from(data?.totalAssetElastic) + .div(BigNumber.from('10').pow(Number(data.asset?.decimals || 0) - 2)) + .toNumber() / 100 + ).format('0,.00')} +   + {data.asset?.symbol} +
+ + +
+ {numeral(BigNumber.from(data?.supplyAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( + '%0.00' + )} +
+ + +
+ {numeral(BigNumber.from(data?.totalBorrow).toNumber() / 100).format('$0,.00')} +
+
+ {numeral( + BigNumber.from(data?.totalBorrowElastic) + .div(BigNumber.from('10').pow(Number(data.asset?.decimals || 0) - 2)) + .toNumber() / 100 + ).format('0,.00')} +   + {data.asset?.symbol} +
+ + +
+ {numeral(BigNumber.from(data?.borrowAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( + '%0.00' + )} +
+ + + ) +} + +const PairMarketTable = ({ loading = false, data = [] }: { loading?: boolean; data: KashiPair[] }) => { + const [orderBy, setOrderBy] = useState('') + const [orderDirection, setOrderDirection] = useState('desc') + + const [fullList, setFullList] = useState([]) + const [sortedList, setSortedList] = useState([]) + const [list, setList] = useState([]) + const [isMore, setMore] = useState(false) + const [search, setSearch] = useState('') + const { tokenUtilService } = useAppContext() + + useEffect(() => { + setFullList(data) + }, [data]) + + useEffect(() => { + let newSortedList = [...fullList] + const compareFuncs = { + asset: { + asc: (a: KashiPair, b: KashiPair) => + (a.asset?.symbol.toLowerCase() || '').localeCompare(b.asset?.symbol.toLowerCase() || ''), + desc: (a: KashiPair, b: KashiPair) => + (b.asset?.symbol.toLowerCase() || '').localeCompare(a.asset?.symbol.toLowerCase() || ''), + }, + collateral: { + asc: (a: KashiPair, b: KashiPair) => + (a.collateral?.symbol.toLowerCase() || '').localeCompare(b.collateral?.symbol.toLowerCase() || ''), + desc: (a: KashiPair, b: KashiPair) => + (b.collateral?.symbol.toLowerCase() || '').localeCompare(a.collateral?.symbol.toLowerCase() || ''), + }, + totalSupply: { + asc: (a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? -1 + : 1, + desc: (a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .gte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? -1 + : 1, + }, + totalAsset: { + asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? -1 : 1), + desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.totalAsset).gte(BigNumber.from(b.totalAsset)) ? -1 : 1), + }, + totalBorrow: { + asc: (a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? 1 : -1, + desc: (a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalBorrow).gte(BigNumber.from(b.totalBorrow)) ? -1 : 1, + }, + supplyAPY: { + asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.supplyAPR).lte(BigNumber.from(b.supplyAPR)) ? -1 : 1), + desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.supplyAPR).gte(BigNumber.from(b.supplyAPR)) ? -1 : 1), + }, + borrowAPY: { + asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.borrowAPR).lte(BigNumber.from(b.borrowAPR)) ? -1 : 1), + desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.borrowAPR).gte(BigNumber.from(b.borrowAPR)) ? -1 : 1), + }, + } + + if (orderBy) { + newSortedList.sort(compareFuncs[orderBy][orderDirection]) + } + setSortedList(newSortedList) + }, [fullList, orderBy, orderDirection]) + + useEffect(() => { + setList([]) + }, [sortedList]) + + const handleLoadMore = () => { + if (isMore) return + setMore(true) + if (list.length < sortedList.length) { + const start = list.length + const end = Math.min(start + 20, sortedList.length) + const newList = [...list, ...sortedList.slice(start, end)] + setList(newList) + } + setMore(false) + } + + const handleSort = (orderField: OrderBy) => { + if (orderBy === orderField) { + setOrderDirection(orderDirection === 'asc' ? 'desc' : 'asc') + return + } + setOrderBy(orderField) + setOrderDirection('desc') + } + + const handleSearchChange = (event: React.SyntheticEvent) => { + const target = event.target as HTMLInputElement + setSearch(target.value) + } + + return ( +
+
+ +
+ + + + + {loading ? ( + + + + + + + ) : ( + + {sortedList + .filter((value) => { + const token = tokenUtilService.pairSymbol(value.asset?.symbol, value.collateral?.symbol) + if (token) { + return token.toLowerCase().indexOf(search.toLowerCase()) >= 0 + } + return false + }) + .map((data, index) => ( + + ))} + + )} +
+
+ ) +} +export default PairMarketTable diff --git a/src/features/analytics/kashi/components/PairSupplyAccruedInterestDayDataChart.tsx b/src/features/analytics/kashi/components/PairSupplyAccruedInterestDayDataChart.tsx new file mode 100644 index 0000000000..507e07eea3 --- /dev/null +++ b/src/features/analytics/kashi/components/PairSupplyAccruedInterestDayDataChart.tsx @@ -0,0 +1,124 @@ +import { i18n } from '@lingui/core' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import TailwindConfig from '../config/tailwind' +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +const PairSupplyAccruedInterestDayDataChart = ({ + containerClass = '', + title = i18n._('Accrued Interest'), + data, +}: { + containerClass?: string + title?: string + data?: KashiPairDayDataMap[] +}) => { + const getSeries = () => { + let seriesData: any[] = [] + const valueFunc = (item: KashiPairDayDataMap) => ({ + x: moment(item.date).valueOf(), + y: + BigNumber.from(item.totalBorrow) + .mul(BigNumber.from(item.avgInterestPerSecond)) + .mul(3600 * 24) + .div(BigNumber.from(10).pow(18)) + .toNumber() / 100.0, + }) + data?.forEach((item) => { + seriesData.push(valueFunc(item)) + }) + return [ + { + type: 'line', + color: TailwindConfig.theme.colors.blue.DEFAULT, + data: seriesData, + tooltip: { + pointFormat: i18n._('Accrued Interest') + '   ${point.y}', + }, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + chart: { + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + yAxis: [ + { + gridLineColor: TailwindConfig.theme.colors['dark-600'], + }, + ], + series: getSeries(), + rangeSelector: { + buttons: [ + { + type: 'week', + count: 1, + text: '1w', + title: i18n._('View 1 week'), + }, + { + type: 'month', + count: 1, + text: '1m', + title: i18n._('View 1 month'), + }, + { + type: 'month', + count: 3, + text: '3m', + title: i18n._('View 3 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + ], + selected: 1, + }, + } + + return ( +
+
{title}
+ {!data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default PairSupplyAccruedInterestDayDataChart diff --git a/src/features/analytics/kashi/components/PairSupplyBorrowDayDataChart.tsx b/src/features/analytics/kashi/components/PairSupplyBorrowDayDataChart.tsx new file mode 100644 index 0000000000..0bab8baa1a --- /dev/null +++ b/src/features/analytics/kashi/components/PairSupplyBorrowDayDataChart.tsx @@ -0,0 +1,139 @@ +import { i18n } from '@lingui/core' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import TailwindConfig from '../config/tailwind' +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +const AttributesByType = { + supply: { + color: TailwindConfig.theme.colors.green.DEFAULT, + valueFunc: (item: KashiPairDayDataMap) => ({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow)).toNumber() / 100.0, + }), + tooltip: { + pointFormat: 'Supply   ${point.y}', + }, + }, + borrow: { + color: TailwindConfig.theme.colors.pink.DEFAULT, + valueFunc: (item: KashiPairDayDataMap) => ({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalBorrow).toNumber() / 100.0, + }), + tooltip: { + pointFormat: 'Borrow   ${point.y}', + }, + }, +} + +const PairSupplyBorrowDayDataChart = ({ + type = 'supply', + containerClass = '', + title = i18n._('Deposit'), + data, +}: { + type?: 'supply' | 'borrow' + containerClass?: string + title?: string + data?: KashiPairDayDataMap[] +}) => { + const getSeries = () => { + let seriesData: any[] = [] + const attribute = AttributesByType[type] + data?.forEach((item) => { + seriesData.push(attribute.valueFunc(item)) + }) + return [ + { + type: 'area', + color: attribute.color, + data: seriesData, + tooltip: attribute.tooltip, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + chart: { + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + yAxis: [ + { + gridLineColor: TailwindConfig.theme.colors['dark-600'], + }, + ], + series: getSeries(), + rangeSelector: { + buttons: [ + { + type: 'week', + count: 1, + text: '1w', + title: i18n._('View 1 week'), + }, + { + type: 'month', + count: 1, + text: '1m', + title: i18n._('View 1 month'), + }, + { + type: 'month', + count: 3, + text: '3m', + title: i18n._('View 3 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + ], + selected: 1, + }, + } + + return ( +
+
{title}
+ {!data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default PairSupplyBorrowDayDataChart diff --git a/src/features/analytics/kashi/components/PairSupplyBorrowMonthDataChart.tsx b/src/features/analytics/kashi/components/PairSupplyBorrowMonthDataChart.tsx new file mode 100644 index 0000000000..d1ceca7b08 --- /dev/null +++ b/src/features/analytics/kashi/components/PairSupplyBorrowMonthDataChart.tsx @@ -0,0 +1,154 @@ +import { i18n } from '@lingui/core' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import TailwindConfig from '../config/tailwind' +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +const AttributesByType = { + supply: { + color: TailwindConfig.theme.colors.green.DEFAULT, + valueFunc: (item: KashiPairDayDataMap) => ({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow)).toNumber() / 100.0, + }), + tooltip: { + pointFormat: i18n._('Supply') + '   ${point.y}', + }, + }, + borrow: { + color: TailwindConfig.theme.colors.pink.DEFAULT, + valueFunc: (item: KashiPairDayDataMap) => ({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalBorrow).toNumber() / 100.0, + }), + tooltip: { + pointFormat: i18n._('Borrow') + '   ${point.y}', + }, + }, +} + +const PairSupplyBorrowMonthDataChart = ({ + containerClass = '', + title = i18n._('Monthly Net Supply & Borrow'), + data, +}: { + // type?: "supply" | "borrow"; + containerClass?: string + title?: string + data?: KashiPairDayDataMap[] +}) => { + const getSeries = () => { + let borrowSeriesData: any[] = [] + const borrowAttribute = AttributesByType['borrow'] + + let supplySeriesData: any[] = [] + const supplyAttribute = AttributesByType['supply'] + data?.forEach((item) => { + borrowSeriesData.push(borrowAttribute.valueFunc(item)) + supplySeriesData.push(supplyAttribute.valueFunc(item)) + }) + return [ + { + type: 'area', + color: supplyAttribute.color, + data: supplySeriesData, + pointIntervalUnit: 'month', + tooltip: supplyAttribute.tooltip, + }, + { + type: 'area', + color: borrowAttribute.color, + data: borrowSeriesData, + pointIntervalUnit: 'month', + tooltip: borrowAttribute.tooltip, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + chart: { + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + yAxis: [ + { + gridLineColor: TailwindConfig.theme.colors['dark-600'], + }, + ], + series: getSeries(), + rangeSelector: { + buttons: [ + { + type: 'month', + count: 5, + text: '5m', + title: i18n._('View 5 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + { + type: 'ytd', + text: 'YTD', + title: i18n._('View year to date'), + }, + { + type: 'year', + count: 1, + text: '1y', + title: i18n._('View 1 year'), + }, + { + type: 'all', + text: 'All', + title: i18n._('View all'), + }, + ], + selected: 0, + }, + } + + return ( +
+
{title}
+ {!data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default PairSupplyBorrowMonthDataChart diff --git a/src/features/analytics/kashi/components/PairUtilizationDayDataChart.tsx b/src/features/analytics/kashi/components/PairUtilizationDayDataChart.tsx new file mode 100644 index 0000000000..593a23a066 --- /dev/null +++ b/src/features/analytics/kashi/components/PairUtilizationDayDataChart.tsx @@ -0,0 +1,119 @@ +import { i18n } from '@lingui/core' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import TailwindConfig from '../config/tailwind' +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +const PairUtilizationDayDataChart = ({ + containerClass = '', + title = 'Utilization Rate', + data, +}: { + containerClass?: string + title?: string + data?: KashiPairDayDataMap[] +}) => { + const getSeries = () => { + let utilizationData: any[] = [] + data?.forEach((item) => { + utilizationData.push({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.avgUtilization).div(BigInt(1e14)).toNumber() / 1e2, + }) + }) + return [ + { + type: 'line', + color: TailwindConfig.theme.colors.blue.DEFAULT, + name: i18n._('Utilization'), + data: utilizationData, + tooltip: { + pointFormat: i18n._('Utilization Rate') + '  {point.y}%', + }, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + chart: { + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + yAxis: [ + { + gridLineColor: TailwindConfig.theme.colors['dark-600'], + }, + ], + series: getSeries(), + rangeSelector: { + buttons: [ + { + type: 'week', + count: 1, + text: '1w', + title: i18n._('View 1 week'), + }, + { + type: 'month', + count: 1, + text: '1m', + title: i18n._('View 1 month'), + }, + { + type: 'month', + count: 3, + text: '3m', + title: i18n._('View 3 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + ], + selected: 1, + }, + } + + return ( +
+
{title}
+ {!data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default PairUtilizationDayDataChart diff --git a/src/features/analytics/kashi/components/Progress.tsx b/src/features/analytics/kashi/components/Progress.tsx new file mode 100644 index 0000000000..a96bf9f368 --- /dev/null +++ b/src/features/analytics/kashi/components/Progress.tsx @@ -0,0 +1,88 @@ +import { formatPercent } from 'app/functions' +import classNames from 'classnames' + +const classByColor = { + blue: { + title: 'text-gray-500', + percent: 'text-blue-500', + progressContainer: 'bg-blue-300', + progressActive: 'bg-blue-500', + }, + pink: { + title: 'text-gray-500', + percent: 'text-pink-500', + progressContainer: 'bg-pink-300', + progressActive: 'bg-pink-500', + }, + green: { + title: 'text-gray-500', + percent: 'text-green-500', + progressContainer: 'bg-green-300', + progressActive: 'bg-green-500', + }, +} + +const Progress = ({ + loading = false, + color = 'green', + progress = 0, + title = '', + containerClass = '', +}: { + loading?: boolean + color?: 'blue' | 'pink' | 'green' + progress?: number + title?: string + containerClass?: string +}) => { + const byColor = classByColor[color] + return ( +
+
+
+ {loading ?
: title} +
+
+ {loading ? ( +
+ ) : ( + formatPercent(progress * 100) + )} +
+
+
+ {loading ? ( +
+ ) : ( + <> + + + + )} +
+
+ ) +} + +export default Progress diff --git a/src/features/analytics/kashi/components/TokenCard.tsx b/src/features/analytics/kashi/components/TokenCard.tsx new file mode 100644 index 0000000000..468df0a287 --- /dev/null +++ b/src/features/analytics/kashi/components/TokenCard.tsx @@ -0,0 +1,71 @@ +import { i18n } from '@lingui/core' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import numeral from 'numeral' + +import { Token } from '../types/Token' + +const TokenCard = ({ + containerClass = '', + data, + totalAsset = BigInt(0), + totalBorrow = BigInt(0), +}: { + containerClass?: string + data?: Token + totalAsset?: BigInt + totalBorrow?: BigInt +}) => { + return ( +
+
{i18n._('Info')}
+
+
+
{i18n._('Supply')}
+ {!data ? ( +
+ ) : ( +
+ {numeral(BigNumber.from(totalAsset).add(BigNumber.from(totalBorrow)).toNumber() / 100.0).format( + '($0,0.00)' + )} +
+ )} +
+
+
{i18n._('Available')}
+ {!data ? ( +
+ ) : ( +
{numeral(Number(totalAsset) / 100.0).format('($0,0.00)')}
+ )} +
+
+
{i18n._('Borrow')}
+ {!data ? ( +
+ ) : ( +
{numeral(Number(totalBorrow) / 100.0).format('($0,0.00)')}
+ )} +
+
+
{i18n._('Oracle Price')}
+ {!data ? ( +
+ ) : ( +
+ {numeral(BigNumber.from(data.price).div(BigNumber.from(1e6)).toNumber() / 100).format('($0,0.00)')} +
+ )} +
+
+
+ ) +} + +export default TokenCard diff --git a/src/features/analytics/kashi/components/TokenMarketTable.tsx b/src/features/analytics/kashi/components/TokenMarketTable.tsx new file mode 100644 index 0000000000..ca54089b8a --- /dev/null +++ b/src/features/analytics/kashi/components/TokenMarketTable.tsx @@ -0,0 +1,278 @@ +/* eslint-disable @next/next/no-img-element */ +import { i18n } from '@lingui/core' +import { BigNumber } from 'ethers' +import { useRouter } from 'next/router' +import numeral from 'numeral' +import React, { useEffect, useState } from 'react' +import { FaChevronDown, FaChevronUp } from 'react-icons/fa' + +import { useAppContext } from '../context/AppContext' +import { KashiPairsByToken } from '../types/KashiPair' + +type OrderBy = 'symbol' | 'totalSupply' | 'totalAsset' | 'totalBorrow' | '' +type OrderDirection = 'asc' | 'desc' + +const MarketTableHead = ({ + onSort, + orderBy, + orderDirection, +}: { + onSort: (orderBy: OrderBy) => void + orderBy: OrderBy + orderDirection: OrderDirection +}) => { + const iconByDirection = { + asc: , + desc: , + } + + return ( + + { + onSort('symbol') + }} + > + Token {orderBy === 'symbol' && iconByDirection[orderDirection]} + + { + onSort('totalSupply') + }} + > + + Total Supply + {orderBy === 'totalSupply' && iconByDirection[orderDirection]} + + + { + onSort('totalAsset') + }} + > + + Total Available + {orderBy === 'totalAsset' && iconByDirection[orderDirection]} + + + { + onSort('totalBorrow') + }} + > + + Total Borrow + {orderBy === 'totalBorrow' && iconByDirection[orderDirection]} + + + + ) +} + +const MarketTableRowLoading = () => ( + + +
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + +) + +const MarketTableRow = ({ data, index }: { data: KashiPairsByToken; index: number }) => { + const { tokenUtilService, handleLogoError } = useAppContext() + const router = useRouter() + const goto = (route: string) => { + router.push(route) + } + + return ( + goto(`/analytics/kashi/tokens/${data.token.id}`)} + className="border-t border-l-2 border-transparent cursor-pointer border-t-gray-900 hover:bg-dark-900" + > + +
+ {data.token.symbol} +
+
{tokenUtilService.symbol(data.token.symbol)}
+
+
+ + + {numeral(BigNumber.from(data.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100).format( + '$0,.00' + )} + + + {numeral(BigNumber.from(data.totalAsset).toNumber() / 100).format('$0,.00')} + + + {numeral(BigNumber.from(data.totalBorrow).toNumber() / 100).format('$0,.00')} + + + ) +} + +const TokenMarketTable = ({ loading = false, data = [] }: { loading?: boolean; data: KashiPairsByToken[] }) => { + const [orderBy, setOrderBy] = useState('') + const [orderDirection, setOrderDirection] = useState('desc') + + const [fullList, setFullList] = useState([]) + const [sortedList, setSortedList] = useState([]) + const [list, setList] = useState([]) + const [isMore, setMore] = useState(false) + const [search, setSearch] = useState('') + + useEffect(() => { + setFullList(data) + }, [data]) + + useEffect(() => { + let newSortedList = [...fullList] + const compareFuncs = { + symbol: { + asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + (a.token.symbol.toLowerCase() || '').localeCompare(b.token.symbol.toLowerCase() || ''), + desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + (b.token.symbol.toLowerCase() || '').localeCompare(a.token.symbol.toLowerCase() || ''), + }, + totalSupply: { + asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? -1 + : 1, + desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .gte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? -1 + : 1, + }, + totalAsset: { + asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? -1 : 1, + desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + BigNumber.from(a.totalAsset).gte(BigNumber.from(b.totalAsset)) ? -1 : 1, + }, + totalBorrow: { + asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? -1 : 1, + desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + BigNumber.from(a.totalBorrow).gte(BigNumber.from(b.totalBorrow)) ? -1 : 1, + }, + } + + if (orderBy) { + newSortedList.sort(compareFuncs[orderBy][orderDirection]) + } + setSortedList(newSortedList) + }, [fullList, orderBy, orderDirection]) + + useEffect(() => { + setList([]) + }, [sortedList]) + + const handleLoadMore = () => { + if (isMore) return + setMore(true) + if (list.length < sortedList.length) { + const start = list.length + const end = Math.min(start + 20, sortedList.length) + const newList = [...list, ...sortedList.slice(start, end)] + setList(newList) + } + setMore(false) + } + + const handleSort = (orderField: OrderBy) => { + if (orderBy === orderField) { + setOrderDirection(orderDirection === 'asc' ? 'desc' : 'asc') + return + } + setOrderBy(orderField) + setOrderDirection('desc') + } + + const handleSearchChange = (event: React.SyntheticEvent) => { + const target = event.target as HTMLInputElement + setSearch(target.value) + } + + return ( +
+
+ +
+ + + + + {loading ? ( + + + + + + + ) : ( + + {sortedList + .filter((value) => value.token.symbol.toLowerCase().indexOf(search.toLowerCase()) >= 0) + .map((data, index) => ( + + ))} + + )} +
+
+ ) +} +export default TokenMarketTable diff --git a/src/features/analytics/kashi/components/TotalCard.tsx b/src/features/analytics/kashi/components/TotalCard.tsx new file mode 100644 index 0000000000..cd053bcbf7 --- /dev/null +++ b/src/features/analytics/kashi/components/TotalCard.tsx @@ -0,0 +1,113 @@ +import { useLingui } from '@lingui/react' +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import numeral from 'numeral' + +import { useAppContext } from '../context/AppContext' +import { KashiPair } from '../types/KashiPair' +import Progress from './Progress' + +export type TotalData = { + amount: BigInt + volumeIn24H: BigInt + totalUsers: BigInt + topMarkets: KashiPair[] +} + +type AttributesByBorrowType = { + progressColor: 'pink' | 'blue' | 'green' + title: string + users: string +} + +type AttributesMapByBorrowType = { + borrow: AttributesByBorrowType + asset: AttributesByBorrowType + supply: AttributesByBorrowType +} + +const TotalCard = ({ + containerClass = '', + data, + borrow = 'borrow', + loading = false, +}: { + containerClass?: string + data: TotalData + borrow?: 'borrow' | 'asset' | 'supply' + loading?: boolean +}) => { + const { i18n } = useLingui() + const AttributesMapByBorrow = { + borrow: { + progressColor: 'pink', + title: i18n._('Total Borrow'), + users: i18n._('Borrowers'), + }, + asset: { + progressColor: 'green', + title: i18n._('Total Available'), + users: i18n._('Suppliers'), + }, + supply: { + progressColor: 'blue', + title: i18n._('Total Supply'), + users: i18n._('Suppliers'), + }, + } as AttributesMapByBorrowType + const attributes = AttributesMapByBorrow[borrow] + const isLoading = data.amount === BigInt(0) || loading + const { tokenUtilService } = useAppContext() + + return ( +
+
{attributes.title}
+
+
+ {isLoading ? ( +
+ ) : ( + numeral(Number(data.amount) / 100.0).format('($0,0.00)') + )} +
+
{i18n._('Top 3 Markets')}
+ {isLoading ? ( + <> + + + + + ) : ( + data.topMarkets.map((marketData) => ( + + )) + )} +
+
+ ) +} + +export default TotalCard diff --git a/src/features/analytics/kashi/components/TotalCompareChart.tsx b/src/features/analytics/kashi/components/TotalCompareChart.tsx new file mode 100644 index 0000000000..528dd0b06c --- /dev/null +++ b/src/features/analytics/kashi/components/TotalCompareChart.tsx @@ -0,0 +1,111 @@ +import { i18n } from '@lingui/core' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import TailwindConfig from '../config/tailwind' +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +const TotalCompareChart = ({ loading, data }: { loading: boolean; data: KashiPairDayDataMap[] }) => { + const getSeries = () => { + let seriesData: any[] = [] + data.forEach((item) => { + const percent = + BigNumber.from(item.totalBorrow) + .mul(BigNumber.from('10000')) + .div(BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow))) + .toNumber() / 100 + seriesData.push({ + x: moment(item.date).valueOf(), + y: percent, + }) + }) + + return [ + { + type: 'column', + color: TailwindConfig.theme.colors.pink.DEFAULT, + name: 'Ratio', + data: seriesData, + tooltip: { + pointFormat: 'Ratio {point.y}%', + }, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + chart: { + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + yAxis: [ + { + gridLineColor: TailwindConfig.theme.colors['dark-600'], + }, + ], + rangeSelector: { + buttons: [ + { + type: 'week', + count: 1, + text: '1w', + title: i18n._('View 1 week'), + }, + { + type: 'month', + count: 1, + text: '1m', + title: i18n._('View 1 month'), + }, + { + type: 'month', + count: 3, + text: '3m', + title: i18n._('View 3 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + ], + selected: 1, + }, + series: getSeries(), + } + + return ( +
+
{i18n._('Borrow vs Supply Ratio')}
+ {loading || !data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default TotalCompareChart diff --git a/src/features/analytics/kashi/components/TotalDayDataChart.tsx b/src/features/analytics/kashi/components/TotalDayDataChart.tsx new file mode 100644 index 0000000000..de7bda16c7 --- /dev/null +++ b/src/features/analytics/kashi/components/TotalDayDataChart.tsx @@ -0,0 +1,119 @@ +import { i18n } from '@lingui/core' +import { BigNumber } from 'ethers' +import Highcharts from 'highcharts/highstock' +import HighchartsReact from 'highcharts-react-official' +import moment from 'moment' + +import TailwindConfig from '../config/tailwind' +import { KashiPairDayDataMap } from '../types/KashiPairDayData' + +function TotalDayDataChart({ loading, data }: { loading: boolean; data: KashiPairDayDataMap[] }) { + const getSeries = () => { + let supplyData: any[] = [] + let borrowData: any[] = [] + data.forEach((item) => { + supplyData.push({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow)).toNumber() / 100.0, + }) + borrowData.push({ + x: moment(item.date).valueOf(), + y: BigNumber.from(item.totalBorrow).toNumber() / 100.0, + }) + }) + return [ + { + type: 'line', + color: TailwindConfig.theme.colors.green.DEFAULT, + name: i18n._('Supply'), + data: supplyData, + tooltip: { + pointFormat: 'Supply   ${point.y}', + }, + }, + { + type: 'line', + color: TailwindConfig.theme.colors.pink.DEFAULT, + name: i18n._('Borrow'), + data: borrowData, + tooltip: { + pointFormat: 'Borrow   ${point.y}', + }, + }, + ] + } + + const options = { + title: { + style: { + height: '50px', + padding: '24px', + fontWeight: 'bold', + fontSize: '18px', + }, + }, + scrollbar: { + enabled: false, + }, + chart: { + backgroundColor: TailwindConfig.theme.colors['dark-900'], + }, + yAxis: [ + { + gridLineColor: TailwindConfig.theme.colors['dark-600'], + }, + ], + series: getSeries(), + rangeSelector: { + buttons: [ + { + type: 'week', + count: 1, + text: '1w', + title: i18n._('View 1 week'), + }, + { + type: 'month', + count: 1, + text: '1m', + title: i18n._('View 1 month'), + }, + { + type: 'month', + count: 3, + text: '3m', + title: i18n._('View 3 months'), + }, + { + type: 'month', + count: 6, + text: '6m', + title: i18n._('View 6 months'), + }, + ], + selected: 1, + }, + } + + return ( +
+
{i18n._('Total Supply & Total Borrow')}
+ {loading || !data || data.length === 0 ? ( +
+
+
+
+
+
+
+
+ ) : ( + <> + + + )} +
+ ) +} + +export default TotalDayDataChart diff --git a/src/features/analytics/kashi/components/TotalTokenCard.tsx b/src/features/analytics/kashi/components/TotalTokenCard.tsx new file mode 100644 index 0000000000..4493a9360f --- /dev/null +++ b/src/features/analytics/kashi/components/TotalTokenCard.tsx @@ -0,0 +1,141 @@ +import classNames from 'classnames' +import { BigNumber } from 'ethers' +import numeral from 'numeral' + +import { useAppContext } from '../context/AppContext' +import { KashiPairsByToken } from '../types/KashiPair' +import Progress from './Progress' + +export type TotalData = { + amount: BigInt + volumeIn24H: BigInt + totalUsers: BigInt + topMarkets: KashiPairsByToken[] +} + +type AttributesByBorrowType = { + progressColor: 'blue' | 'green' | 'pink' + title: string + users: string +} + +type AttributesMapByBorrowType = { + borrow: AttributesByBorrowType + asset: AttributesByBorrowType + supply: AttributesByBorrowType +} + +const AttributesMapByBorrow = { + borrow: { + progressColor: 'pink', + title: 'Total Borrow', + users: 'Borrowers', + }, + asset: { + progressColor: 'green', + title: 'Total Available', + users: 'Suppliers', + }, + supply: { + progressColor: 'blue', + title: 'Total Supply', + users: 'Suppliers', + }, +} as AttributesMapByBorrowType + +const TotakTokenCard = ({ + containerClass = '', + data, + borrow = 'borrow', + loading = false, +}: { + containerClass?: string + data: TotalData + borrow?: 'borrow' | 'asset' | 'supply' + loading?: boolean +}) => { + const attributes = AttributesMapByBorrow[borrow] + const isLoading = data.amount === BigInt(0) || loading + + const { tokenUtilService } = useAppContext() + + return ( +
+
{attributes.title}
+
+
+ {isLoading ? ( +
+ ) : ( + numeral(Number(data.amount) / 100.0).format('($0,0.00)') + )} +
+
Top 3 Markets
+ {isLoading ? ( + <> + + + + + ) : ( + data.topMarkets.map((marketData) => ( + + )) + )} + {/*
+
+
+
+ 24H Supply Volume +
+
+ {isLoading ? ( +
+ ) : ( + numeral(data.volumeIn24H).format("$0,0.00") + )} +
+
+
+
+ # of {attributes.users} +
+
+ {isLoading ? ( +
+ ) : ( + data.totalUsers + )} +
+
+
+
*/} +
+
+ ) +} + +export default TotakTokenCard diff --git a/src/features/analytics/kashi/config/coingecko.ts b/src/features/analytics/kashi/config/coingecko.ts new file mode 100644 index 0000000000..25feb68317 --- /dev/null +++ b/src/features/analytics/kashi/config/coingecko.ts @@ -0,0 +1,77 @@ +export const COINGECKO = { + tokens: { + '1INCH': '1inch', + AAVE: 'aave', + ADX: 'adex', + AKRO: 'akropolis', + ALPHA: 'alphacoin', + AMP: 'amp-token', + ANKR: 'ankr', + ANT: 'aragon', + BADGER: 'badger-dao', + BAL: 'balancer', + BAND: 'band-protocol', + BAT: 'basic-attention-token', + BNT: 'bancor', + BOND: 'barnbridge', + BUSD: 'binance-usd', + BZRX: 'bzx-protocol', + COMP: 'compound-coin', + COVER: 'cover-protocol', + CREAM: 'cream-2', + CRV: 'curve-dao-token', + DAI: 'dai', + DPI: 'defipulse-index', + FEI: 'fei-usd', + FRAX: 'frax', + FTM: 'fantom', + 'FTX Token': 'ftx-token', + FTT: 'ftx-token', + GRT: 'the-graph', + HEGIC: 'hegic', + HUSD: 'husd', + JPYC: 'jpyc', + KNC: 'kyber-network-crystal', + LDO: 'lido-dao', + LINK: 'chainlink', + LRC: 'loopring', + MANA: 'decentraland', + MATIC: 'matic-network', + MKR: 'maker', + MTA: 'meta', + NMR: 'numeraire', + OCEAN: 'ocean-protocol', + OGN: 'origin-protocol', + OMG: 'omisego', + OXT: 'orchid-protocol', + PAX: 'paxos-standard', + PAXG: 'pax-gold', + RAI: 'rai', + RARI: 'rarible', + REN: 'republic-protocol', + REPv2: 'reputation', + RLC: 'iexec-rlc', + RUNE: 'thorchain', + SAND: 'the-sandbox', + SFI: 'saffron-finance', + SNX: 'havven', + SRM: 'serum', + SUSHI: 'sushi', + TUSD: 'true-usd', + UMA: 'uma', + UNI: 'uniswap', + USDC: 'usd-coin', + USDT: 'tether', + UST: 'terrausd', + WBTC: 'wrapped-bitcoin', + WETH: 'weth', + YFI: 'yearn-finance', + ZRX: '0x', + mQQQ: 'mirrored-invesco-qqq-trust', + sUSD: 'nusd', + wNXM: 'wrapped-nxm', + xSUSHI: 'xsushi', + }, +} as { + tokens: { [key: string]: string } +} diff --git a/src/features/analytics/kashi/config/constants.tsx b/src/features/analytics/kashi/config/constants.tsx new file mode 100644 index 0000000000..fa3b574b0f --- /dev/null +++ b/src/features/analytics/kashi/config/constants.tsx @@ -0,0 +1,8 @@ +import { ChainIdEnum } from '../types/Enums' + +export const API_URL: string = process.env.API_URL || 'http://localhost:8000' + +export const CHAIN_RPC_URLS = { + [ChainIdEnum.Ethereum]: 'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', + [ChainIdEnum.Gnosis]: 'https://blockscout.com/xdai/mainnet/api/eth-rpc', +} diff --git a/src/features/analytics/kashi/config/tailwind.ts b/src/features/analytics/kashi/config/tailwind.ts new file mode 100644 index 0000000000..a0b201e96a --- /dev/null +++ b/src/features/analytics/kashi/config/tailwind.ts @@ -0,0 +1,9 @@ +// @ts-ignore +import resolveConfig from 'tailwindcss/resolveConfig' + +import config from '../../../../../tailwind.config.js' + +// @ts-ignore +const TailwindConfig = resolveConfig(config) + +export default TailwindConfig diff --git a/src/features/analytics/kashi/config/tokenlist.ts b/src/features/analytics/kashi/config/tokenlist.ts new file mode 100644 index 0000000000..695d5df5f8 --- /dev/null +++ b/src/features/analytics/kashi/config/tokenlist.ts @@ -0,0 +1,9595 @@ +export const TOKENS = [ + { + address: '0x111111111117dC0aa78b770fA6A738034120C302', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/1inch.jpg', + name: '1inch Exchange', + symbol: '1INCH', + }, + { + address: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', + name: 'AAVE', + symbol: 'AAVE', + }, + { + address: '0xADE00C28244d5CE17D72E40330B1c318cD12B7c3', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/adx.jpg', + name: 'AdEx Network', + symbol: 'ADX', + }, + { + address: '0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6/logo.png', + name: 'Aergo', + symbol: 'AERGO', + }, + { + address: '0xE95A203B1a91a908F9B9CE46459d101078c2c3cb', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE95A203B1a91a908F9B9CE46459d101078c2c3cb/logo.png', + name: 'ankrETH', + symbol: 'aETHc', + }, + { + address: '0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8/logo.png', + name: 'agEUR', + symbol: 'agEUR', + }, + { + address: '0x32353A6C91143bfd6C7d363B546e62a9A2489A20', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x32353A6C91143bfd6C7d363B546e62a9A2489A20/logo.png', + name: 'Adventure Gold', + symbol: 'AGLD', + }, + { + address: '0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/akro.jpg', + name: 'Akropolis', + symbol: 'AKRO', + }, + { + address: '0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alcx.jpg', + name: 'Alchemix', + symbol: 'ALCX', + }, + { + address: '0x27702a26126e0B3702af63Ee09aC4d1A084EF628', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x27702a26126e0B3702af63Ee09aC4d1A084EF628/logo.png', + name: 'Aleph', + symbol: 'ALEPH', + }, + { + address: '0x7cA4408137eb639570F8E647d9bD7B7E8717514A', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7cA4408137eb639570F8E647d9bD7B7E8717514A/logo.png', + name: 'Alpaca', + symbol: 'ALPA', + }, + { + address: '0xa1faa113cbE53436Df28FF0aEe54275c13B40975', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xa1faa113cbE53436Df28FF0aEe54275c13B40975/logo.png', + name: 'Alpha Finance', + symbol: 'ALPHA', + }, + { + address: '0xBC6DA0FE9aD5f3b0d58160288917AA56653660E9', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alusd.jpg', + name: 'Alchemix USD', + symbol: 'alUSD', + }, + { + address: '0xfF20817765cB7f73d4bde2e66e067E58D11095C2', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/amp.jpg', + name: 'Amp', + symbol: 'AMP', + }, + { + address: '0xD46bA6D942050d489DBd938a2C909A5d5039A161', + chainId: 1, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ampl.jpg', + name: 'Ampleforth', + symbol: 'AMPL', + }, + { + address: '0x31429d1856aD1377A8A0079410B297e1a9e214c2', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x31429d1856aD1377A8A0079410B297e1a9e214c2/logo.png', + name: 'Angle', + symbol: 'ANGLE', + }, + { + address: '0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ankr.jpg', + name: 'Ankr Network', + symbol: 'ANKR', + }, + { + address: '0xa117000000f279D81A1D3cc75430fAA017FA5A2e', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ant.jpg', + name: 'Aragon', + symbol: 'ANT', + }, + { + address: '0xf99d58e463A2E07e5692127302C20A191861b4D6', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xf99d58e463A2E07e5692127302C20A191861b4D6/logo.png', + name: 'Anyswap', + symbol: 'ANY', + }, + { + address: '0x4d224452801ACEd8B2F0aebE155379bb5D594381', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4d224452801ACEd8B2F0aebE155379bb5D594381/logo.png', + name: 'ApeCoin', + symbol: 'APE', + }, + { + address: '0x0b38210ea11411557c13457D4dA7dC6ea731B88a', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0b38210ea11411557c13457D4dA7dC6ea731B88a/logo.png', + name: 'API3', + symbol: 'API3', + }, + { + address: '0x4104b135DBC9609Fc1A9490E61369036497660c8', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4104b135DBC9609Fc1A9490E61369036497660c8/logo.png', + name: 'APWine Token', + symbol: 'APW', + }, + { + address: '0x1F3f9D3068568F8040775be2e8C03C103C61f3aF', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1F3f9D3068568F8040775be2e8C03C103C61f3aF/logo.png', + name: 'Archer DAO', + symbol: 'ARCH', + }, + { + address: '0x1321f1f1aa541A56C31682c57b80ECfCCd9bB288', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1321f1f1aa541A56C31682c57b80ECfCCd9bB288/logo.png', + name: 'ARC Governance', + symbol: 'ARCx', + }, + { + address: '0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a/logo.png', + name: 'Armor', + symbol: 'ARMOR', + }, + { + address: '0x1337DEF18C680aF1f9f45cBcab6309562975b1dD', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/arnxm.jpg', + name: 'Armor NXM', + symbol: 'arNXM', + }, + { + address: '0xFA2562da1Bba7B954f26C74725dF51fb62646313', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xFA2562da1Bba7B954f26C74725dF51fb62646313/logo.png', + name: 'ASSY Index', + symbol: 'ASSY', + }, + { + address: '0x44e2deC86B9F0e0266E9AA66e10323A2bd69CF9A', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44e2deC86B9F0e0266E9AA66e10323A2bd69CF9A/logo.png', + name: 'Attrace', + symbol: 'ATTR', + }, + { + address: '0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/auction.jpg', + name: 'Bounce Token', + symbol: 'AUCTION', + }, + { + address: '0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998/logo.png', + name: 'Audius', + symbol: 'AUDIO', + }, + { + address: '0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b/logo.png', + name: 'Axie Infinity Shard', + symbol: 'AXS', + }, + { + address: '0xC36824905dfF2eAAEE7EcC09fCC63abc0af5Abc5', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xC36824905dfF2eAAEE7EcC09fCC63abc0af5Abc5/logo.png', + name: 'Basis Bond', + symbol: 'BAB', + }, + { + address: '0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a/logo.png', + name: 'Basis Cash', + symbol: 'BAC', + }, + { + address: '0xa54d2EBfD977ad836203c85F18db2F0a0cF88854', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xa54d2EBfD977ad836203c85F18db2F0a0cF88854.jpg', + name: 'BaconCoin', + symbol: 'BACON', + }, + { + address: '0x3472A5A71965499acd81997a54BBA8D852C6E53d', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/badger.jpg', + name: 'Badger DAO', + symbol: 'BADGER', + }, + { + address: '0xba100000625a3754423978a60c9317c58a424e3D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xba100000625a3754423978a60c9317c58a424e3D/logo.png', + name: 'Balancer', + symbol: 'BAL', + }, + { + address: '0xE2311ae37502105b442bBef831E9b53c5d2e9B3b', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE2311ae37502105b442bBef831E9b53c5d2e9B3b/logo.png', + name: 'Banana', + symbol: 'BANANA', + }, + { + address: '0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', + name: 'Band Protocol', + symbol: 'BAND', + }, + { + address: '0x24A6A37576377F63f194Caa5F518a60f45b42921', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x24A6A37576377F63f194Caa5F518a60f45b42921/logo.png', + name: 'Float Bank', + symbol: 'BANK', + }, + { + address: '0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198/logo.png', + name: 'Bankless Token', + symbol: 'BANK/Bankless', + }, + { + address: '0x374CB8C27130E2c9E04F44303f3c8351B9De61C1', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x374CB8C27130E2c9E04F44303f3c8351B9De61C1/logo.png', + name: 'Bao Finance', + symbol: 'BAO', + }, + { + address: '0x07150e919B4De5fD6a63DE1F9384828396f25fDC', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x07150e919B4De5fD6a63DE1F9384828396f25fDC/logo.png', + name: 'Base Protocol', + symbol: 'BASE', + }, + { + address: '0x44564d0bd94343f72E3C8a0D22308B7Fa71DB0Bb', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44564d0bd94343f72E3C8a0D22308B7Fa71DB0Bb/logo.png', + name: 'BasketDAO Gov', + symbol: 'BASK', + }, + { + address: '0x0D8775F648430679A709E98d2b0Cb6250d2887EF', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bat.jpg', + name: 'Basic Attention Token', + symbol: 'BAT', + }, + { + address: '0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bbadger.jpg', + name: 'Badger Sett Badger', + symbol: 'bBADGER', + }, + { + address: '0xE4f726Adc8e89C6a6017F01eadA77865dB22dA14', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE4f726Adc8e89C6a6017F01eadA77865dB22dA14/logo.png', + name: 'PieDAO Balance Crypto Pie', + symbol: 'BCP', + }, + { + address: '0x0309c98B1bffA350bcb3F9fB9780970CA32a5060', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0309c98B1bffA350bcb3F9fB9780970CA32a5060/logo.png', + name: 'BasketDAO DeFi Index', + symbol: 'BDI', + }, + { + address: '0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bdigg.jpg', + name: 'Badger Sett Digg', + symbol: 'bDIGG', + }, + { + address: '0x01597E397605Bf280674Bf292623460b4204C375', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x01597E397605Bf280674Bf292623460b4204C375.jpg', + name: 'Bent Finance', + symbol: 'BENT', + }, + { + address: '0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c/logo.png', + name: 'Bifrost', + symbol: 'BFC', + }, + { + address: '0xbA7970f10D9f0531941DcEd1dda7ef3016B24e5b', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbA7970f10D9f0531941DcEd1dda7ef3016B24e5b/logo.png', + name: 'Based Gold', + symbol: 'BGLD', + }, + { + address: '0xF17e65822b568B3903685a7c9F496CF7656Cc6C2', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF17e65822b568B3903685a7c9F496CF7656Cc6C2/logo.png', + name: 'Biconomy Token', + symbol: 'BICO', + }, + { + address: '0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bifi.jpg', + name: 'BiFi', + symbol: 'BIFI', + }, + { + address: '0xAACa86B876ca011844b5798ECA7a67591A9743C8', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xAACa86B876ca011844b5798ECA7a67591A9743C8/logo.png', + name: 'BIOS', + symbol: 'BIOS', + }, + { + address: '0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bit.jpg', + name: 'BitDAO', + symbol: 'BIT', + }, + { + address: '0x807a0774236A0fBE9e7f8E7Df49EDFED0e6777Ea', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x807a0774236A0fBE9e7f8E7Df49EDFED0e6777Ea.jpg', + name: 'Block', + symbol: 'BLOCK', + }, + { + address: '0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB/logo.png', + name: 'Blocks Dao', + symbol: 'BLOCKS', + }, + { + address: '0x725C263e32c72dDC3A19bEa12C5a0479a81eE688', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x725C263e32c72dDC3A19bEa12C5a0479a81eE688/logo.png', + name: 'Bridge Mutual', + symbol: 'BMI', + }, + { + address: '0x84d821F7FbDD595c4C4A50842913e6b1E07d7a53', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x84d821F7FbDD595c4C4A50842913e6b1E07d7a53/logo.png', + name: 'BNPL Pay', + symbol: 'BNPL', + }, + { + address: '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C/logo.png', + name: 'Bancor', + symbol: 'BNT', + }, + { + address: '0x0391D2021f89DC339F60Fff84546EA23E337750f', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0391D2021f89DC339F60Fff84546EA23E337750f/logo.png', + name: 'BarnBridge Governance Token', + symbol: 'BOND', + }, + { + address: '0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bor.jpg', + name: 'BoringDao', + symbol: 'BOR', + }, + { + address: '0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da/logo.png', + name: 'BlackPool Token', + symbol: 'BPT', + }, + { + address: '0x69570f3E84f51Ea70b7B68055c8d667e77735a25', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x69570f3E84f51Ea70b7B68055c8d667e77735a25.jpg', + name: 'Betswap.gg', + symbol: 'BSGG', + }, + { + address: '0x0B498ff89709d3838a063f1dFA463091F9801c2b', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0B498ff89709d3838a063f1dFA463091F9801c2b/logo.png', + name: 'BTC 2x Flexible Leverage Index', + symbol: 'BTC2x-FLI', + }, + { + address: '0xcB97e65F07DA24D46BcDD078EBebd7C6E6E3d750', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btm.jpg', + name: 'Bytom', + symbol: 'BTM', + }, + { + address: '0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A.jpg', + name: 'Redacted Cartel', + symbol: 'BTRFLY', + }, + { + address: '0x4Fabb145d64652a948d72533023f6E7A623C7C53', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', + name: 'Binance USD', + symbol: 'BUSD', + }, + { + address: '0x56d811088235F11C8920698a204A5010a788f4b3', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bzrx.jpg', + name: 'bZx Protocol Token', + symbol: 'BZRX', + }, + { + address: '0xAE12C5930881c53715B369ceC7606B70d8EB229f', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xAE12C5930881c53715B369ceC7606B70d8EB229f/logo.png', + name: 'Coin98', + symbol: 'C98', + }, + { + address: '0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d', + chainId: 1, + decimals: 4, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cel.jpg', + name: 'Celsius', + symbol: 'CEL', + }, + { + address: '0x1e33dBA7cd47e79C4385Ba39442A693B910a0A8a', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celo.jpg', + name: 'Celo native', + symbol: 'CELO', + }, + { + address: '0x332E824e46FcEeB9E59ba9491B80d3e6d42B0B59', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x332E824e46FcEeB9E59ba9491B80d3e6d42B0B59/logo.png', + name: 'CheeseFry', + symbol: 'CHEESE', + }, + { + address: '0xCB56b52316041A62B6b5D0583DcE4A8AE7a3C629', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xCB56b52316041A62B6b5D0583DcE4A8AE7a3C629/logo.png', + name: 'Cigarette Token', + symbol: 'CIG', + }, + { + address: '0x68CFb82Eacb9f198d508B514d898a403c449533E', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x68CFb82Eacb9f198d508B514d898a403c449533E/logo.png', + name: 'Credmark', + symbol: 'CMK', + }, + { + address: '0xbc138bD20C98186CC0342C8e380953aF0cb48BA8', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbc138bD20C98186CC0342C8e380953aF0cb48BA8/logo.png', + name: 'Candle', + symbol: 'CNDL', + }, + { + address: '0xfFffFffF2ba8F66D4e51811C5190992176930278', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xfFffFffF2ba8F66D4e51811C5190992176930278/logo.png', + name: 'Furucombo', + symbol: 'COMBO', + }, + { + address: '0xc00e94Cb662C3520282E6f5717214004A7f26888', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/comp.jpg', + name: 'Compound', + symbol: 'COMP', + }, + { + address: '0x114f1388fAB456c4bA31B1850b244Eedcd024136', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x114f1388fAB456c4bA31B1850b244Eedcd024136.jpg', + name: 'Cool Cats', + symbol: 'COOL', + }, + { + address: '0x4688a8b1F292FDaB17E9a90c8Bc379dC1DBd8713', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cover.jpg', + name: 'Cover Protocol', + symbol: 'COVER', + }, + { + address: '0xD417144312DbF50465b1C641d016962017Ef6240', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/14168/small/covalent-cqt.png?1624545218', + name: 'Covalent Query Token', + symbol: 'CQT', + }, + { + address: '0xcAaa93712BDAc37f736C323C93D4D5fDEFCc31CC', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/2859/small/CRD.png?1623397651', + name: 'CRD Network', + symbol: 'CRD', + }, + { + address: '0xc36b4311B21Fc0c2eAd46f1eA6ce97c9C4D98D3d', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xc36b4311B21Fc0c2eAd46f1eA6ce97c9C4D98D3d/logo.png', + name: 'Creaticles', + symbol: 'CRE8', + }, + { + address: '0x2ba592F78dB6436527729929AAf6c908497cB200', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', + name: 'Cream', + symbol: 'CREAM', + }, + { + address: '0xcBc1065255cBc3aB41a6868c22d1f1C573AB89fd', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xcBc1065255cBc3aB41a6868c22d1f1C573AB89fd/logo.png', + name: 'Cream ETH 2', + symbol: 'CRETH2', + }, + { + address: '0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cro.jpg', + name: 'Crypto.com Coin', + symbol: 'CRO', + }, + { + address: '0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f/logo.png', + name: 'Crypto Perx', + symbol: 'CRPX', + }, + { + address: '0xD533a949740bb3306d119CC777fa900bA034cd52', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', + name: 'Curve DAO Token', + symbol: 'CRV', + }, + { + address: '0x321C2fE4446C7c963dc41Dd58879AF648838f98D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x321C2fE4446C7c963dc41Dd58879AF648838f98D/logo.png', + name: 'Cryptex', + symbol: 'CTX', + }, + { + address: '0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1/logo.png', + name: 'Concentrated Voting Power', + symbol: 'CVP', + }, + { + address: '0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B/logo.png', + name: 'Convex Token', + symbol: 'CVX', + }, + { + address: '0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cvxcrv.jpg', + name: 'Convex CRV', + symbol: 'cvxCRV', + }, + { + address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x0f51bb10119727a7e5eA3538074fb341F56B09Ad', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0f51bb10119727a7e5eA3538074fb341F56B09Ad/logo.png', + name: 'DAO Maker', + symbol: 'DAO', + }, + { + address: '0xE00639A1f59B52773b7d39d9F9beF07F6248dbAe', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xE00639A1f59B52773b7d39d9F9beF07F6248dbAe.jpg', + name: 'The DAOX Index', + symbol: 'DAOX', + }, + { + address: '0x33d63Ba1E57E54779F7dDAeaA7109349344cf5F1', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x33d63Ba1E57E54779F7dDAeaA7109349344cf5F1/logo.png', + name: 'Data Economy Index', + symbol: 'DATA/Index', + }, + { + address: '0x8f693ca8D21b157107184d29D398A8D082b38b76', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8f693ca8D21b157107184d29D398A8D082b38b76/logo.png', + name: 'Streamr', + symbol: 'DATA/Streamr', + }, + { + address: '0x3A880652F47bFaa771908C07Dd8673A787dAEd3A', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3A880652F47bFaa771908C07Dd8673A787dAEd3A/logo.png', + name: 'DerivaDAO', + symbol: 'DDX', + }, + { + address: '0x78F225869c08d478c34e5f645d07A87d3fe8eb78', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x78F225869c08d478c34e5f645d07A87d3fe8eb78/logo.png', + name: 'PieDAO DEFI Large Cap', + symbol: 'DEFI+L', + }, + { + address: '0x126c121f99e1E211dF2e5f8De2d96Fa36647c855', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x126c121f99e1E211dF2e5f8De2d96Fa36647c855/logo.png', + name: 'DEGEN Index', + symbol: 'DEGEN', + }, + { + address: '0x9EA3b5b4EC044b70375236A281986106457b20EF', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9EA3b5b4EC044b70375236A281986106457b20EF/logo.png', + name: 'DELTA', + symbol: 'DELTA', + }, + { + address: '0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9/logo.png', + name: 'Deri Token', + symbol: 'DERI', + }, + { + address: '0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0/logo.png', + name: 'DEXTF', + symbol: 'DEXTF', + }, + { + address: '0x20c36f062a31865bED8a5B1e512D9a1A20AA333A', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x20c36f062a31865bED8a5B1e512D9a1A20AA333A/logo.png', + name: 'DefiDollar DAO', + symbol: 'DFD', + }, + { + address: '0x888888435FDe8e7d4c54cAb67f206e4199454c60', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x888888435FDe8e7d4c54cAb67f206e4199454c60/logo.png', + name: 'DFX', + symbol: 'DFX', + }, + { + address: '0xEE06A81a695750E71a662B51066F2c74CF4478a0', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xEE06A81a695750E71a662B51066F2c74CF4478a0/logo.png', + name: 'decentral.games', + symbol: 'DG', + }, + { + address: '0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/11955/small/DIA-icon-colour_%281%29.png?1596423488', + name: 'DIA', + symbol: 'DIA', + }, + { + address: '0x798D1bE841a82a273720CE31c822C61a67a601C3', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x798D1bE841a82a273720CE31c822C61a67a601C3/logo.png', + name: 'Digg', + symbol: 'DIGG', + }, + { + address: '0xFb782396c9b20E564A64896181c7AC8d8979d5F4', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xFb782396c9b20E564A64896181c7AC8d8979d5F4/logo.png', + name: 'DivergenceProtocol', + symbol: 'DIVER', + }, + { + address: '0xB5e09e6Bf6a5E96934B3fd99a40F7EDACa1173Ed', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xB5e09e6Bf6a5E96934B3fd99a40F7EDACa1173Ed/logo.png', + name: 'divinedao', + symbol: 'DIVINE', + }, + { + address: '0x0AbdAce70D3790235af448C88547603b945604ea', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dnt.jpg', + name: 'district0x', + symbol: 'DNT', + }, + { + address: '0xBAac2B4491727D78D2b78815144570b9f2Fe8899', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBAac2B4491727D78D2b78815144570b9f2Fe8899/logo.png', + name: 'The Doge NFT', + symbol: 'DOG', + }, + { + address: '0xad32A8e6220741182940c5aBF610bDE99E737b2D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xad32A8e6220741182940c5aBF610bDE99E737b2D/logo.png', + name: 'PieDAO', + symbol: 'DOUGH', + }, + { + address: '0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dpi.jpg', + name: 'Defi Pulse Index', + symbol: 'DPI', + }, + { + address: '0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8/logo.png', + name: 'Dracula Token', + symbol: 'DRC', + }, + { + address: '0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3/logo.png', + name: 'Dynamic Set Dollar', + symbol: 'DSD', + }, + { + address: '0x92E187a03B6CD19CB6AF293ba17F2745Fd2357D5', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x92E187a03B6CD19CB6AF293ba17F2745Fd2357D5/logo.png', + name: 'Unit Protocol', + symbol: 'DUCK', + }, + { + address: '0x5BC25f649fc4e26069dDF4cF4010F9f706c23831', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5BC25f649fc4e26069dDF4cF4010F9f706c23831/logo.png', + name: 'DefiDollar', + symbol: 'DUSD', + }, + { + address: '0xDDdddd4301A082e62E84e43F474f044423921918', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xDDdddd4301A082e62E84e43F474f044423921918/logo.png', + name: 'DeversiFi Token', + symbol: 'DVF', + }, + { + address: '0x92D6C1e31e14520e676a687F0a93788B716BEff5', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x92D6C1e31e14520e676a687F0a93788B716BEff5/logo.png', + name: 'dYdX', + symbol: 'DYDX', + }, + { + address: '0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eden.jpg', + name: 'Eden', + symbol: 'EDEN', + }, + { + address: '0x2aA5cE395b00CC486159aDbDD97c55b535CF2cf9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2aA5cE395b00CC486159aDbDD97c55b535CF2cf9/logo.png', + name: 'Elastic Governance', + symbol: 'EGT', + }, + { + address: '0x893700A1a86EE68B92536bf6fd4d3200d7369F7d', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x893700A1a86EE68B92536bf6fd4d3200d7369F7d/logo.png', + name: 'Emanate', + symbol: 'EMT', + }, + { + address: '0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/enj.jpg', + name: 'EnjinCoin', + symbol: 'ENJ', + }, + { + address: '0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72/logo.png', + name: 'Ethereum Name Service', + symbol: 'ENS', + }, + { + address: '0xd779eEA9936B4e323cDdff2529eb6F13d0A4d66e', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xd779eEA9936B4e323cDdff2529eb6F13d0A4d66e/logo.png', + name: 'ENTER Governance Token', + symbol: 'ENTR', + }, + { + address: '0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723/logo.png', + name: 'Empty Set Dollar', + symbol: 'ESD', + }, + { + address: '0xa0246c9032bC3A600820415aE600c6388619A14D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xa0246c9032bC3A600820415aE600c6388619A14D/logo.png', + name: 'FARM', + symbol: 'FARM', + }, + { + address: '0x956F47F50A910163D8BF957Cf5846D573E7f87CA', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x956F47F50A910163D8BF957Cf5846D573E7f87CA.jpg', + name: 'Fei', + symbol: 'FEI', + }, + { + address: '0xb05097849BCA421A3f51B249BA6CCa4aF4b97cb9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb05097849BCA421A3f51B249BA6CCa4aF4b97cb9/logo.png', + name: 'Float FLOAT', + symbol: 'FLOAT', + }, + { + address: '0x7f280daC515121DcdA3EaC69eB4C13a52392CACE', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7f280daC515121DcdA3EaC69eB4C13a52392CACE/logo.png', + name: 'Fancy Games', + symbol: 'FNC', + }, + { + address: '0xeF9Cd7882c067686691B6fF49e650b43AFBBCC6B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xeF9Cd7882c067686691B6fF49e650b43AFBBCC6B/logo.png', + name: 'FinNexus', + symbol: 'FNX', + }, + { + address: '0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3/logo.png', + name: 'Fodl', + symbol: 'FODL', + }, + { + address: '0xd084944d3c05CD115C09d072B9F44bA3E0E45921', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xd084944d3c05CD115C09d072B9F44bA3E0E45921/logo.png', + name: 'Manifold Finance', + symbol: 'FOLD', + }, + { + address: '0x4C25Bdf026Ea05F32713F00f73Ca55857Fbf6342', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/fontcommunity/Font.community/master/logo.png', + name: 'Font', + symbol: 'FONT', + }, + { + address: '0x853d955aCEf822Db058eb8505911ED77F175b99e', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x853d955aCEf822Db058eb8505911ED77F175b99e/logo.png', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0xf8C3527CC04340b208C854E985240c02F7B7793f', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/front.jpg', + name: 'Frontier', + symbol: 'FRONT', + }, + { + address: '0x4E15361FD6b4BB609Fa63C81A2be19d873717870', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ftm.jpg', + name: 'Fantom Token', + symbol: 'FTM', + }, + { + address: '0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9/logo.png', + name: 'FTX Token', + symbol: 'FTT', + }, + { + address: '0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d.jpg', + name: 'Fuse Token', + symbol: 'FUSE', + }, + { + address: '0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0/logo.png', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0x6Bba316c48b49BD1eAc44573c5c871ff02958469', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6Bba316c48b49BD1eAc44573c5c871ff02958469/logo.png', + name: 'Gas Dao', + symbol: 'GAS', + }, + { + address: '0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E/logo.png', + name: 'GenomesDAO', + symbol: 'GENE', + }, + { + address: '0x8a854288a5976036A725879164Ca3e91d30c6A1B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8a854288a5976036A725879164Ca3e91d30c6A1B/logo.png', + name: 'Guaranteed Entrance Token', + symbol: 'GET', + }, + { + address: '0x831091dA075665168E01898c6DAC004A867f1e1B', + chainId: 1, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8444.png', + name: 'Gains Farm v2', + symbol: 'GFARM2', + }, + { + address: '0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429/logo.png', + name: 'Golem', + symbol: 'GLM', + }, + { + address: '0x7F0693074F8064cFbCf9fA6E5A3Fa0e4F58CcCCF', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x7F0693074F8064cFbCf9fA6E5A3Fa0e4F58CcCCF.jpg', + name: 'we love gm', + symbol: 'gm', + }, + { + address: '0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373/logo.png', + name: 'GAMEE', + symbol: 'GMEE', + }, + { + address: '0x47110d43175f7f2C2425E7d15792acC5817EB44f', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x47110d43175f7f2C2425E7d15792acC5817EB44f/logo.png', + name: 'Bankless DeFi Innovation Index', + symbol: 'GMI', + }, + { + address: '0x6810e776880C02933D47DB1b9fc05908e5386b96', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6810e776880C02933D47DB1b9fc05908e5386b96/logo.png', + name: 'Gnosis', + symbol: 'GNO', + }, + { + address: '0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97/logo.png', + name: 'Gods Unchained', + symbol: 'GODS', + }, + { + address: '0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62/logo.png', + name: 'Guild of Guardians', + symbol: 'GOG', + }, + { + address: '0xc944E90C64B2c07662A292be6244BDf05Cda44a7', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', + name: 'The Graph', + symbol: 'GRT', + }, + { + address: '0x0316EB71485b0Ab14103307bf65a021042c6d380', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0316EB71485b0Ab14103307bf65a021042c6d380/logo.png', + name: 'Huobi BTC', + symbol: 'HBTC', + }, + { + address: '0x584bC13c7D411c00c01A62e8019472dE68768430', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/hegic.jpg', + name: 'Hegic', + symbol: 'HEGIC', + }, + { + address: '0xEEF9f339514298C6A857EfCfC1A762aF84438dEE', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xEEF9f339514298C6A857EfCfC1A762aF84438dEE/logo.png', + name: 'Hermez Network', + symbol: 'HEZ', + }, + { + address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', + name: 'Hundred Finance', + symbol: 'HND', + }, + { + address: '0xdF574c24545E5FfEcb9a659c229253D4111d87e1', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/husd.jpg', + name: 'HUSD', + symbol: 'HUSD', + }, + { + address: '0xc4E15973E6fF2A35cC804c2CF9D2a1b817a8b40F', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ibbtc.jpg', + name: 'Interest-Bearing BTC', + symbol: 'ibBTC', + }, + { + address: '0xeEa3311250FE4c3268F8E684f7C87A82fF183Ec1', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ibethv2.jpg', + name: 'Interest Bearing Ether v2', + symbol: 'ibETHv2', + }, + { + address: '0x6A68DE599E8E0b1856E322CE5Bd11c5C3C79712B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6A68DE599E8E0b1856E322CE5Bd11c5C3C79712B/logo.png', + name: 'I Bet You', + symbol: 'IBY', + }, + { + address: '0xf16e81dce15B08F326220742020379B855B87DF9', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ice.jpg', + name: 'IceToken', + symbol: 'ICE', + }, + { + address: '0x903bEF1736CDdf2A537176cf3C64579C3867A881', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x903bEF1736CDdf2A537176cf3C64579C3867A881/logo.png', + name: 'ichi.farm', + symbol: 'ICHI', + }, + { + address: '0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83/logo.png', + name: 'Everest ID', + symbol: 'ID', + }, + { + address: '0x875773784Af8135eA0ef43b5a374AaD105c5D39e', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x875773784Af8135eA0ef43b5a374AaD105c5D39e/logo.png', + name: 'Idle', + symbol: 'IDLE', + }, + { + address: '0x0acC0FEE1D86D2cD5AF372615bf59b298D50cd69', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x0acC0FEE1D86D2cD5AF372615bf59b298D50cd69.jpg', + name: 'Invest Like Stakeborg Index', + symbol: 'ILSI', + }, + { + address: '0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E/logo.png', + name: 'Illuvium', + symbol: 'ILV', + }, + { + address: '0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF/logo.png', + name: 'Immutable X', + symbol: 'IMX', + }, + { + address: '0x0954906da0Bf32d5479e25f46056d22f08464cab', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0954906da0Bf32d5479e25f46056d22f08464cab/logo.png', + name: 'Index Cooperative', + symbol: 'INDEX', + }, + { + address: '0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/inj.jpg', + name: 'Injective Protocol', + symbol: 'INJ', + }, + { + address: '0x544c42fBB96B39B21DF61cf322b5EDC285EE7429', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x544c42fBB96B39B21DF61cf322b5EDC285EE7429/logo.png', + name: 'InsurAce', + symbol: 'INSUR', + }, + { + address: '0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68/logo.png', + name: 'Inverse DAO', + symbol: 'INV', + }, + { + address: '0xFA1a856Cfa3409CFa145Fa4e20Eb270dF3EB21ab', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/2523/small/IOST.png?1557555183', + name: 'IOST', + symbol: 'IOST', + }, + { + address: '0x579CEa1889991f68aCc35Ff5c3dd0621fF29b0C9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x579CEa1889991f68aCc35Ff5c3dd0621fF29b0C9/logo.png', + name: 'Everipedia IQ', + symbol: 'IQ', + }, + { + address: '0x53dfEa0A8CC2A2A2e425E1C174Bc162999723ea0', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/jchf.jpg', + name: 'Jarvis Synthetic Swiss Franc', + symbol: 'jCHF', + }, + { + address: '0xf5f06fFa53Ad7F5914F493F16E57B56C8dd2eA80', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xf5f06fFa53Ad7F5914F493F16E57B56C8dd2eA80.jpg', + name: 'Jelly Token', + symbol: 'JELLY', + }, + { + address: '0x0f17BC9a994b87b5225cFb6a2Cd4D667ADb4F20B', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/jeur.jpg', + name: 'Jarvis Synthetic Euro', + symbol: 'jEUR', + }, + { + address: '0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3/logo.png', + name: 'JPEGd Governance Token', + symbol: 'JPEG', + }, + { + address: '0x2370f9d504c7a6E775bf6E14B3F12846b594cD53', + chainId: 1, + decimals: 18, + logoURI: 'https://jpyc.jp/static/media/jpyc.0d1e5d3f.png', + name: 'JPY Coin', + symbol: 'JPYC', + }, + { + address: '0x8A9C67fee641579dEbA04928c4BC45F66e26343A', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/jrt.jpg', + name: 'Jarvis Reward Token', + symbol: 'JRT', + }, + { + address: '0x65Def5029A0e7591e46B38742bFEdd1Fb7b24436', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x65Def5029A0e7591e46B38742bFEdd1Fb7b24436/logo.png', + name: 'Kanpeki', + symbol: 'KAE', + }, + { + address: '0x368C5290b13cAA10284Db58B4ad4F3E9eE8bf4c9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x368c5290b13caa10284db58b4ad4f3e9ee8bf4c9/logo.png', + name: 'Kineko', + symbol: 'KKO', + }, + { + address: '0xdd974D5C2e2928deA5F71b9825b8b646686BD200', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/knc.jpg', + name: 'KyberNetwork', + symbol: 'KNC', + }, + { + address: '0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/kp3r.jpg', + name: 'Keep3rV1', + symbol: 'KP3R', + }, + { + address: '0xb29663Aa4E2e81e425294193616c1B102B70a158', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb29663Aa4E2e81e425294193616c1B102B70a158/logo.png', + name: 'Ludena Protocol', + symbol: 'LDN', + }, + { + address: '0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32/logo.png', + name: 'Lido DAO', + symbol: 'LDO', + }, + { + address: '0x7b39917f9562C8Bc83c7a6c2950FF571375D505D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7b39917f9562C8Bc83c7a6c2950FF571375D505D/logo.png', + name: 'LeagueDAO Governance Token', + symbol: 'LEAG', + }, + { + address: '0x80fB784B7eD66730e8b1DBd9820aFD29931aab03', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lend.jpg', + name: 'EthLend', + symbol: 'LEND', + }, + { + address: '0xbc194e6f748a222754C3E8b9946922c09E7d4e91', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbc194e6f748a222754C3E8b9946922c09E7d4e91/logo.png', + name: 'Lever', + symbol: 'LEV', + }, + { + address: '0xf474E526ADe9aD2CC2B66ffCE528B1A51B91FCdC', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xf474E526ADe9aD2CC2B66ffCE528B1A51B91FCdC.jpg', + name: 'LevX DAO', + symbol: 'LEVX', + }, + { + address: '0x3E9BC21C9b189C09dF3eF1B824798658d5011937', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3E9BC21C9b189C09dF3eF1B824798658d5011937/logo.png', + name: 'Linear Token', + symbol: 'LINA', + }, + { + address: '0x514910771AF9Ca656af840dff83E8264EcF986CA', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'Chain Link', + symbol: 'LINK', + }, + { + address: '0xDEc41Db0c33F3F6f3cb615449C311ba22D418A8d', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xDEc41Db0c33F3F6f3cb615449C311ba22D418A8d.jpg', + name: 'Lobi', + symbol: 'LOBI', + }, + { + address: '0x0000000000095413afC295d19EDeb1Ad7B71c952', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lon.jpg', + name: 'LON Token', + symbol: 'LON', + }, + { + address: '0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lrc.jpg', + name: 'LoopringCoin V2', + symbol: 'LRC', + }, + { + address: '0x749b964F3dd571b177fc6E415A07F62b05047dA4', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lsd.jpg', + name: 'Bad Trip', + symbol: 'LSD', + }, + { + address: '0x5f98805A4E8be255a32880FDeC7F6728C6568bA0', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5f98805A4E8be255a32880FDeC7F6728C6568bA0/logo.png', + name: 'LUSD Stablecoin', + symbol: 'LUSD', + }, + { + address: '0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf/logo.png', + name: 'Lyra Token', + symbol: 'LYRA', + }, + { + address: '0x4Af698B479D0098229DC715655c667Ceb6cd8433', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/maid.jpg', + name: 'MaidCoin', + symbol: 'MAID', + }, + { + address: '0x0cae9e4d663793c2a2A0b211c1Cf4bBca2B9cAa7', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mamzn.jpg', + name: 'Mirrored Amazon', + symbol: 'MAMZN', + }, + { + address: '0x0F5D2fB29fb7d3CFeE444a200298f468908cC942', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mana.jpg', + name: 'Decentraland', + symbol: 'MANA', + }, + { + address: '0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7/logo.png', + name: 'MarsToken', + symbol: 'MARS', + }, + { + address: '0x16CDA4028e9E872a38AcB903176719299beAed87', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x16CDA4028e9E872a38AcB903176719299beAed87/logo.png', + name: 'MARS4', + symbol: 'MARS4', + }, + { + address: '0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074/logo.png', + name: 'Mask Network', + symbol: 'MASK', + }, + { + address: '0x06F3C323f0238c72BF35011071f2b5B7F43A054c', + chainId: 1, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8376.png', + name: 'MASQ', + symbol: 'MASQ', + }, + { + address: '0x26cF82e4aE43D31eA51e72B663d26e26a75AF729', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mbbased.jpg', + name: 'Moonbase', + symbol: 'mbBASED', + }, + { + address: '0x945Facb997494CC2570096c74b5F66A3507330a1', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x945Facb997494CC2570096c74b5F66A3507330a1/logo.png', + name: 'mStable BTC', + symbol: 'mBTC', + }, + { + address: '0xdb726152680eCe3c9291f1016f1d36f3995f6941', + chainId: 1, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdb726152680eCe3c9291f1016f1d36f3995f6941/logo.png', + name: 'Media Network Token', + symbol: 'MEDIA', + }, + { + address: '0xD5525D397898e5502075Ea5E830d8914f6F0affe', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xD5525D397898e5502075Ea5E830d8914f6F0affe/logo.png', + name: 'Meme', + symbol: 'MEME', + }, + { + address: '0x650F44eD6F1FE0E1417cb4b3115d52494B4D9b6D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x650F44eD6F1FE0E1417cb4b3115d52494B4D9b6D/logo.png', + name: 'Meowshi', + symbol: 'MEOW', + }, + { + address: '0x0dC7d0192c148d7d2D6fa32DC280f953c0AD6A34', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0dC7d0192c148d7d2D6fa32DC280f953c0AD6A34/logo.png', + name: 'MetaCat', + symbol: 'MetaCat', + }, + { + address: '0x0e99cC0535BB6251F6679Fa6E65d6d3b430e840B', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mfb.jpg', + name: 'Mirrored Facebook', + symbol: 'MFB', + }, + { + address: '0x59A921Db27Dd6d4d974745B7FfC5c33932653442', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mgoogl.jpg', + name: 'M Google', + symbol: 'MGOOGL', + }, + { + address: '0x368B3a58B5f49392e5C9E4C998cb0bB966752E51', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x368B3a58B5f49392e5C9E4C998cb0bB966752E51/logo.png', + name: 'Mithril Cash', + symbol: 'MIC', + }, + { + address: '0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mim.jpg', + name: 'Magic Internet Money', + symbol: 'MIM', + }, + { + address: '0x4b4D2e899658FB59b1D518b68fe836B100ee8958', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4b4D2e899658FB59b1D518b68fe836B100ee8958/logo.png', + name: 'Mithril Shares', + symbol: 'MIS', + }, + { + address: '0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/14655/small/79158662.png?1617589045', + name: 'Alchemist', + symbol: 'MIST', + }, + { + address: '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mkr.jpg', + name: 'Maker', + symbol: 'MKR', + }, + { + address: '0xec67005c4E498Ec7f55E092bd1d35cbC47C91892', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mln.jpg', + name: 'Melon Token', + symbol: 'MLN', + }, + { + address: '0xa283aA7CfBB27EF0cfBcb2493dD9F4330E0fd304', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xa283aA7CfBB27EF0cfBcb2493dD9F4330E0fd304/logo.png', + name: 'MMToken', + symbol: 'MM', + }, + { + address: '0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611/logo.png', + name: 'Million', + symbol: 'MM/Million', + }, + { + address: '0x41BbEDd7286dAab5910a1f15d12CBda839852BD7', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mmsft.jpg', + name: 'Mirrored Microsoft', + symbol: 'MMSFT', + }, + { + address: '0x8888801aF4d980682e47f1A9036e589479e835C5', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/88mph.jpg', + name: '88mph', + symbol: 'MPH', + }, + { + address: '0x13B02c8dE71680e71F0820c996E4bE43c2F57d15', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mqqq.jpg', + name: 'Wrapped Mirror QQQ Token', + symbol: 'mQQQ', + }, + { + address: '0x9d1555d8cB3C846Bb4f7D5B1B1080872c3166676', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mslv.jpg', + name: 'Mirrored iShares Si', + symbol: 'MSLV', + }, + { + address: '0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mta.jpg', + name: 'Meta', + symbol: 'MTA', + }, + { + address: '0x21cA39943E91d704678F5D00b6616650F066fD63', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mtsla.jpg', + name: 'Mirrored Tesla', + symbol: 'MTSLA', + }, + { + address: '0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4/logo.png', + name: 'Multichain', + symbol: 'MULTI', + }, + { + address: '0xea6412Fb370e8d1605E6aEeAA21aD07C3C7e9F24', + chainId: 1, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8502.png', + name: 'Mushroom', + symbol: 'Mush', + }, + { + address: '0x31c63146a635EB7465e5853020b39713AC356991', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/muso.jpg', + name: 'M US Oil', + symbol: 'MUSO', + }, + { + address: '0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f/logo.png', + name: 'Must', + symbol: 'MUST', + }, + { + address: '0xf72FCd9DCF0190923Fadd44811E240Ef4533fc86', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mvixy.jpg', + name: 'Mirrored ProShares', + symbol: 'MVIXY', + }, + { + address: '0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496/logo.png', + name: 'NaosToken', + symbol: 'NAOS', + }, + { + address: '0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c.jpg', + name: 'Neos Credits', + symbol: 'NCR', + }, + { + address: '0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E/logo.png', + name: 'NameChangeToken', + symbol: 'NCT', + }, + { + address: '0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83/logo.png', + name: 'Indexed Finance', + symbol: 'NDX', + }, + { + address: '0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4', + chainId: 1, + decimals: 24, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4/logo.png', + name: 'NEAR', + symbol: 'NEAR', + }, + { + address: '0x98585dFc8d9e7D48F0b1aE47ce33332CF4237D96', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x98585dFc8d9e7D48F0b1aE47ce33332CF4237D96/logo.png', + name: 'New Order', + symbol: 'NEWO', + }, + { + address: '0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206', + chainId: 1, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/2694.png', + name: 'Nexo', + symbol: 'NEXO', + }, + { + address: '0xDFDb7f72c1F195C5951a234e8DB9806EB0635346', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xDFDb7f72c1F195C5951a234e8DB9806EB0635346/logo.png', + name: 'Feisty Doge NFT', + symbol: 'NFD', + }, + { + address: '0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638/logo.png', + name: 'Nifty League', + symbol: 'NFTL', + }, + { + address: '0x87d73E916D7057945c9BcD8cdd94e42A6F47f776', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x87d73E916D7057945c9BcD8cdd94e42A6F47f776/logo.png', + name: 'NFTX', + symbol: 'NFTX', + }, + { + address: '0x47252A63C723889814AeBcAC0683E615624ceC64', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x47252A63C723889814AeBcAC0683E615624ceC64/logo.png', + name: 'nil', + symbol: 'NIL', + }, + { + address: '0x9D79d5B61De59D882ce90125b18F74af650acB93', + chainId: 1, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9D79d5B61De59D882ce90125b18F74af650acB93/logo.png', + name: 'Neutrino System Base Token', + symbol: 'NSBT', + }, + { + address: '0x70Bef3bB2f001dA2fDDb207dAe696cD9FAFf3f5d', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x70Bef3bB2f001dA2fDDb207dAe696cD9FAFf3f5d.jpg', + name: 'Ninja Squad Token', + symbol: 'NST', + }, + { + address: '0x4fE83213D56308330EC302a8BD641f1d0113A4Cc', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/3318/small/photo1198982838879365035.jpg?1547037916', + name: 'NuCypher', + symbol: 'NU', + }, + { + address: '0x967da4048cD07aB37855c090aAF366e4ce1b9F48', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ocean.jpg', + name: 'Ocean Token', + symbol: 'OCEAN', + }, + { + address: '0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26/logo.png', + name: 'OriginToken', + symbol: 'OGN', + }, + { + address: '0x1098269bFc70b26DeA43f18F812D2b9854E874bA', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1098269bFc70b26DeA43f18F812D2b9854E874bA/logo.png', + name: 'Oh..Geez', + symbol: 'OH-GEEZ', + }, + { + address: '0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x383518188C0C6d7730D91b2c03a03C837814a899.jpg', + name: 'Olympus v2 NEW', + symbol: 'OHM', + }, + { + address: '0x383518188C0C6d7730D91b2c03a03C837814a899', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x383518188C0C6d7730D91b2c03a03C837814a899/logo.png', + name: 'Olympus v1 OLD', + symbol: 'OHMv1', + }, + { + address: '0xd26114cd6EE289AccF82350c8d8487fedB8A0C07', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/omg.jpg', + name: 'OmiseGO', + symbol: 'OMG', + }, + { + address: '0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/one.jpg', + name: 'Harmony ONE', + symbol: 'ONE', + }, + { + address: '0xC88F47067dB2E25851317A2FDaE73a22c0777c37', + chainId: 1, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/onebtc.jpg', + name: 'oneBTC', + symbol: 'oneBTC', + }, + { + address: '0x8F041A3940a5e6FB580075C3774E15FcFA0E1618', + chainId: 1, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/onewing.jpg', + name: 'oneWING', + symbol: 'oneWING', + }, + { + address: '0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033/logo.png', + name: 'OnX.finance', + symbol: 'ONX', + }, + { + address: '0x0De05F6447ab4D22c8827449EE4bA2D5C288379B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0De05F6447ab4D22c8827449EE4bA2D5C288379B/logo.png', + name: 'OOKI', + symbol: 'OOKI', + }, + { + address: '0x888888888889C00c67689029D7856AAC1065eC11', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x888888888889C00c67689029D7856AAC1065eC11/logo.png', + name: 'Opium Governance Token', + symbol: 'OPIUM', + }, + { + address: '0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a', + chainId: 1, + decimals: 8, + logoURI: 'https://assets.coingecko.com/coins/images/11841/small/orion_logo.png?1594943318', + name: 'Orion Protocol', + symbol: 'ORN', + }, + { + address: '0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86/logo.png', + name: 'Origin Dollar', + symbol: 'OUSD', + }, + { + address: '0xea7Cc765eBC94C4805e3BFf28D7E4aE48D06468A', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xea7Cc765eBC94C4805e3BFf28D7E4aE48D06468A/logo.png', + name: 'NearPad', + symbol: 'PAD', + }, + { + address: '0x8E870D67F660D95d5be530380D0eC0bd388289E1', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pax.jpg', + name: 'Paxos Standard', + symbol: 'PAX', + }, + { + address: '0x45804880De22913dAFE09f4980848ECE6EcbAf78', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x45804880De22913dAFE09f4980848ECE6EcbAf78/logo.png', + name: 'Paxos Gold', + symbol: 'PAXG', + }, + { + address: '0x9d3EE6B64e69Ebe12a4bF0b01D031CB80F556eE4', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9d3EE6B64e69Ebe12a4bF0b01D031CB80F556eE4/logo.png', + name: 'Polygon Ecosystem Index', + symbol: 'PECO', + }, + { + address: '0x808507121B80c02388fAd14726482e061B8da827', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x808507121B80c02388fAd14726482e061B8da827/logo.png', + name: 'Pendle', + symbol: 'PENDLE', + }, + { + address: '0xbC396689893D065F41bc2C6EcbeE5e0085233447', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/perp.jpg', + name: 'Perpetual Protocol', + symbol: 'PERP', + }, + { + address: '0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA/logo.png', + name: 'Phuture', + symbol: 'PHTR', + }, + { + address: '0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pickle.jpg', + name: 'Pickle Token', + symbol: 'PICKLE', + }, + { + address: '0x26607aC599266b21d13c7aCF7942c7701a8b699c', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x26607aC599266b21d13c7aCF7942c7701a8b699c/logo.png', + name: 'Power Index Pool Token', + symbol: 'PIPT', + }, + { + address: '0x1590ABe3612Be1CB3ab5B0f28874D521576e97Dc', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pixel.jpg', + name: 'PIXEL', + symbol: 'Pixel', + }, + { + address: '0x33e18a092a93ff21aD04746c7Da12e35D34DC7C4', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x33e18a092a93ff21aD04746c7Da12e35D34DC7C4/logo.png', + name: 'Metaverse NFT Index', + symbol: 'PLAY', + }, + { + address: '0x1796ae0b0fa4862485106a0de9b654eFE301D0b2', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1796ae0b0fa4862485106a0de9b654eFE301D0b2/logo.png', + name: 'Polkamon', + symbol: 'PMON', + }, + { + address: '0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d/logo.png', + name: 'Pinakion', + symbol: 'PNK', + }, + { + address: '0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC/logo.png', + name: 'Polymath', + symbol: 'POLY', + }, + { + address: '0x57B946008913B82E4dF85f501cbAeD910e58D26C', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x57B946008913B82E4dF85f501cbAeD910e58D26C/logo.png', + name: 'Marlin POND', + symbol: 'POND', + }, + { + address: '0xcb46C550539ac3DB72dc7aF7c89B11c306C727c2', + chainId: 1, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pont.jpg', + name: 'Poly Ontology Token', + symbol: 'pONT', + }, + { + address: '0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e/logo.png', + name: 'PoolTogether', + symbol: 'POOL', + }, + { + address: '0xEC213F83defB583af3A000B1c0ada660b1902A0F', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/PresearchOfficial/presearch-brand/master/logos/svg/presearch-icon-border-blue-transparent.svg', + name: 'Presearch', + symbol: 'PRE', + }, + { + address: '0x6399C842dD2bE3dE30BF99Bc7D1bBF6Fa3650E70', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6399C842dD2bE3dE30BF99Bc7D1bBF6Fa3650E70/logo.png', + name: 'Premia', + symbol: 'PREMIA', + }, + { + address: '0x8642A849D0dcb7a15a974794668ADcfbe4794B56', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8642A849D0dcb7a15a974794668ADcfbe4794B56/logo.png', + name: 'Prosper', + symbol: 'PROS', + }, + { + address: '0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5/logo.png', + name: 'ParaSwap', + symbol: 'PSP', + }, + { + address: '0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/14571/small/vDyefsXq_400x400.jpg?1617085003', + name: 'Pundi X Token', + symbol: 'PUNDIX', + }, + { + address: '0xDb0f18081b505A7DE20B18ac41856BCB4Ba86A1a', + chainId: 1, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pwing.jpg', + name: 'Poly Ontology Wing Token', + symbol: 'pWING', + }, + { + address: '0xbA8A621b4a54e61C442F5Ec623687e2a942225ef', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbA8A621b4a54e61C442F5Ec623687e2a942225ef/logo.png', + name: 'Sandclock', + symbol: 'QUARTZ', + }, + { + address: '0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE/logo.png', + name: 'DappRadar', + symbol: 'RADAR', + }, + { + address: '0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rai.jpg', + name: 'Rai Reflex Index', + symbol: 'RAI', + }, + { + address: '0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D/logo.png', + name: 'Rail', + symbol: 'RAIL', + }, + { + address: '0xba5BDe662c17e2aDFF1075610382B9B691296350', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xba5BDe662c17e2aDFF1075610382B9B691296350/logo.png', + name: 'SuperRare', + symbol: 'RARE', + }, + { + address: '0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rari.jpg', + name: 'Rarible', + symbol: 'RARI', + }, + { + address: '0x5245C0249e5EEB2A0838266800471Fd32Adb1089', + chainId: 1, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5245C0249e5EEB2A0838266800471Fd32Adb1089/logo.png', + name: 'Raydium', + symbol: 'RAY', + }, + { + address: '0x408e41876cCCDC0F92210600ef50372656052a38', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ren.jpg', + name: 'Republic', + symbol: 'REN', + }, + { + address: '0x459086F2376525BdCebA5bDDA135e4E9d3FeF5bf', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/renbch.jpg', + name: 'renBCH', + symbol: 'renBCH', + }, + { + address: '0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/renbtc.jpg', + name: 'renBTC', + symbol: 'renBTC', + }, + { + address: '0xe3Cb486f3f5C639e98cCBaF57d95369375687F80', + chainId: 1, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xe3Cb486f3f5C639e98cCBaF57d95369375687F80/logo.png', + name: 'renDGB', + symbol: 'renDGB', + }, + { + address: '0x3832d2F059E55934220881F831bE501D180671A7', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rendoge.jpg', + name: 'renDOGE', + symbol: 'renDOGE', + }, + { + address: '0x52d87F22192131636F93c5AB18d0127Ea52CB641', + chainId: 1, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x52d87F22192131636F93c5AB18d0127Ea52CB641/logo.png', + name: 'renLUNA', + symbol: 'renLUNA', + }, + { + address: '0x221657776846890989a759BA2973e427DfF5C9bB', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/repv2.jpg', + name: 'Reputation', + symbol: 'REPv2', + }, + { + address: '0x557B933a7C2c45672B610F8954A3deB39a51A8Ca', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x557B933a7C2c45672B610F8954A3deB39a51A8Ca/logo.png', + name: 'REVV', + symbol: 'REVV', + }, + { + address: '0xD291E7a03283640FDc51b121aC401383A46cC623', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rgt.jpg', + name: 'Rari Governance Token', + symbol: 'RGT', + }, + { + address: '0x607F4C5BB672230e8672085532f7e901544a7375', + chainId: 1, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rlc.jpg', + name: 'RLC', + symbol: 'RLC', + }, + { + address: '0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a/logo.png', + name: 'ROOK', + symbol: 'ROOK', + }, + { + address: '0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4', + chainId: 1, + decimals: 18, + logoURI: 'https://pbs.twimg.com/profile_images/1343619589599416320/bqH1VBiG_400x400.jpg', + name: 'Router Protocol', + symbol: 'ROUTE', + }, + { + address: '0x2aECCB42482cc64E087b6D2e5Da39f5A7A7001f8', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2aECCB42482cc64E087b6D2e5Da39f5A7A7001f8/logo.png', + name: 'RULER', + symbol: 'RULER', + }, + { + address: '0x3155BA85D5F96b2d030a4966AF206230e46849cb', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rune.jpg', + name: 'THORChain ETH.RUNE', + symbol: 'RUNE', + }, + { + address: '0xe9F84dE264E91529aF07Fa2C746e934397810334', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xe9F84dE264E91529aF07Fa2C746e934397810334/logo.png', + name: 'Sake', + symbol: 'SAK3', + }, + { + address: '0xeABACD844A196D7Faf3CE596edeBF9900341B420', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/scex.jpg', + name: 'Synth sCEX', + symbol: 'sCEX', + }, + { + address: '0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sdefi.jpg', + name: 'Synth sDEFI', + symbol: 'sDEFI', + }, + { + address: '0x73968b9a57c6E53d41345FD57a6E6ae27d6CDB2F', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x73968b9a57c6E53d41345FD57a6E6ae27d6CDB2F/logo.png', + name: 'Stake DAO', + symbol: 'SDT', + }, + { + address: '0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33/logo.png', + name: 'seen.haus', + symbol: 'SEEN', + }, + { + address: '0xb753428af26E81097e7fD17f40c88aaA3E04902c', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sfi.jpg', + name: 'saffron.finance', + symbol: 'SFI', + }, + { + address: '0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de/logo.png', + name: 'SIREN', + symbol: 'SI', + }, + { + address: '0x2610F0bFC21EF389fe4D03CFB7De9ac1E6C99D6E', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2610F0bFC21EF389fe4D03CFB7De9ac1E6C99D6E/logo.png', + name: 'Skyrim Finance', + symbol: 'SKYRIM', + }, + { + address: '0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', + name: 'Synthetix Network Token', + symbol: 'SNX', + }, + { + address: '0x3b484b82567a09e2588A13D54D032153f0c0aEe0', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3b484b82567a09e2588A13D54D032153f0c0aEe0/logo.png', + name: 'OpenDao SOS', + symbol: 'SOS', + }, + { + address: '0x7118057ff0F4Fd0994fb9d2D94de8231d5cca79E', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7118057ff0F4Fd0994fb9d2D94de8231d5cca79E/logo.png', + name: 'Source', + symbol: 'SOURCE', + }, + { + address: '0x42d6622deCe394b54999Fbd73D108123806f6a18', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x42d6622deCe394b54999Fbd73D108123806f6a18/logo.png', + name: 'SpankChain', + symbol: 'SPANK', + }, + { + address: '0x090185f2135308BaD17527004364eBcC2D37e5F6', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x090185f2135308BaD17527004364eBcC2D37e5F6/logo.png', + name: 'Spell Token', + symbol: 'SPELL', + }, + { + address: '0x00813E3421E1367353BfE7615c7f7f133C89df74', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x00813E3421E1367353BfE7615c7f7f133C89df74/logo.png', + name: 'Splintershards', + symbol: 'SPS', + }, + { + address: '0x21ad647b8F4Fe333212e735bfC1F36B4941E6Ad2', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x21ad647b8F4Fe333212e735bfC1F36B4941E6Ad2/logo.png', + name: 'Squid', + symbol: 'SQUID', + }, + { + address: '0x476c5E26a75bd202a9683ffD34359C0CC15be0fF', + chainId: 1, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/srm.jpg', + name: 'Serum', + symbol: 'SRM', + }, + { + address: '0x0Ae055097C6d159879521C384F1D2123D1f195e6', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/stake.jpg', + name: 'xDAI', + symbol: 'STAKE', + }, + { + address: '0xDA0c94c73D127eE191955FB46bACd7FF999b2bcd', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xDA0c94c73D127eE191955FB46bACd7FF999b2bcd.jpg', + name: 'Stakeborg Standard', + symbol: 'STANDARD', + }, + { + address: '0x24Eb24647786135352cbB14f888B23277F0014e7', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x24Eb24647786135352cbB14f888B23277F0014e7/logo.png', + name: 'Star', + symbol: 'STAR', + }, + { + address: '0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6.jpg', + name: 'StargateToken', + symbol: 'STG', + }, + { + address: '0x44017598f2AF1bD733F9D87b5017b4E7c1B28DDE', + chainId: 1, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44017598f2AF1bD733F9D87b5017b4E7c1B28DDE/logo.png', + name: 'pSTAKE Staked Atom', + symbol: 'stkATOM', + }, + { + address: '0x45e007750Cc74B1D2b4DD7072230278d9602C499', + chainId: 1, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x45e007750Cc74B1D2b4DD7072230278d9602C499/logo.png', + name: 'pSTAKE Staked XPRT', + symbol: 'stkXPRT', + }, + { + address: '0xbE9375C6a420D2eEB258962efB95551A5b722803', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/1369/small/StormX.png?1603113002', + name: 'StormX', + symbol: 'STMX', + }, + { + address: '0x9040e237C3bF18347bb00957Dc22167D0f2b999d', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9040e237C3bF18347bb00957Dc22167D0f2b999d/logo.png', + name: 'Standard', + symbol: 'STND', + }, + { + address: '0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9/logo.png', + name: 'Strips Token', + symbol: 'STRP', + }, + { + address: '0x3f5294DF68F871241c4B18fcF78ebD8Ac18aB654', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3f5294DF68F871241c4B18fcF78ebD8Ac18aB654/logo.png', + name: '99Starz', + symbol: 'STZ', + }, + { + address: '0x31B595e7cfDB624D10A3E7A562eD98c3567e3865', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/stzen.jpg', + name: 'stakedZEN', + symbol: 'stZEN', + }, + { + address: '0xbDbf245c690d54b67C6e610A28486A2C6dE08bE6', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbDbf245c690d54b67C6e610A28486A2C6dE08bE6/logo.png', + name: 'Sunder Goverance Token', + symbol: 'Sunder', + }, + { + address: '0x57Ab1ec28D129707052df4dF418D58a2D46d5f51', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/susd.jpg', + name: 'Synth sUSD', + symbol: 'sUSD', + }, + { + address: '0x4086590892a9232166d7849Ec34158d823498d40', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x4086590892a9232166d7849Ec34158d823498d40.jpg', + name: 'Sushimi', + symbol: 'SUSH', + }, + { + address: '0x6B3595068778DD592e39A122f4f5a5cF09C90fE2', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'SushiSwap', + symbol: 'SUSHI', + }, + { + address: '0x87eDfFDe3E14c7a66c9b9724747a1C5696b742e6', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x87eDfFDe3E14c7a66c9b9724747a1C5696b742e6/logo.png', + name: 'Swag Finance', + symbol: 'SWAG', + }, + { + address: '0xCC4304A31d09258b0029eA7FE63d032f52e44EFe', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/11795/small/Trustswap.png?1594311216', + name: 'Trustswap', + symbol: 'SWAP', + }, + { + address: '0x99fE3B1391503A1bC1788051347A1324bff41452', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x99fE3B1391503A1bC1788051347A1324bff41452/logo.png', + name: 'SportX', + symbol: 'SX', + }, + { + address: '0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sxp.jpg', + name: 'Swipe', + symbol: 'SXP', + }, + { + address: '0xa2B0fDe6D710e201d0d608e924A484d1A5fEd57c', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sxrp.jpg', + name: 'Synth XRP', + symbol: 'sXRP', + }, + { + address: '0x0f2D719407FdBeFF09D87557AbB7232601FD9F29', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0f2D719407FdBeFF09D87557AbB7232601FD9F29/logo.png', + name: 'Synapse', + symbol: 'SYN', + }, + { + address: '0x8dAEBADE922dF735c38C80C7eBD708Af50815fAa', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/tbtc.jpg', + name: 'tBTC', + symbol: 'tBTC', + }, + { + address: '0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4/logo.png', + name: 'Total Crypto Market Cap Token', + symbol: 'TCAP', + }, + { + address: '0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050/logo.png', + name: 'Tracer', + symbol: 'TCR', + }, + { + address: '0x470EBf5f030Ed85Fc1ed4C2d36B9DD02e77CF1b7', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x470EBf5f030Ed85Fc1ed4C2d36B9DD02e77CF1b7/logo.png', + name: 'Temple', + symbol: 'TEMPLE', + }, + { + address: '0x00000000441378008EA67F4284A57932B1c000a5', + chainId: 1, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12724/large/TGBP.png', + name: 'TrueGBP', + symbol: 'TGBP', + }, + { + address: '0x108a850856Db3f85d0269a2693D896B394C80325', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x108a850856Db3f85d0269a2693D896B394C80325/logo.png', + name: 'THORWallet Governance Token', + symbol: 'TGT', + }, + { + address: '0x7825e833D495F3d1c28872415a4aee339D26AC88', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x7825e833D495F3d1c28872415a4aee339D26AC88.jpg', + name: 'Telos', + symbol: 'TLOS', + }, + { + address: '0x2e9d63788249371f1DFC918a52f8d799F4a38C94', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2e9d63788249371f1DFC918a52f8d799F4a38C94/logo.png', + name: 'Tokemak', + symbol: 'TOKE', + }, + { + address: '0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/tomoe.jpg', + name: 'TomoChain', + symbol: 'TOMO', + }, + { + address: '0x77777FeDdddFfC19Ff86DB637967013e6C6A116C', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x77777FeDdddFfC19Ff86DB637967013e6C6A116C/logo.png', + name: 'TORN Token', + symbol: 'TORN', + }, + { + address: '0x1C9922314ED1415c95b9FD453c3818fd41867d0B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1C9922314ED1415c95b9FD453c3818fd41867d0B/logo.png', + name: 'TOWER', + symbol: 'TOWER', + }, + { + address: '0x297D33e17e61C2Ddd812389C2105193f8348188a', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x297D33e17e61C2Ddd812389C2105193f8348188a/logo.png', + name: 'Strudel Finance', + symbol: 'TRDL', + }, + { + address: '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B.jpg', + name: 'Tribe', + symbol: 'TRIBE', + }, + { + address: '0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784', + chainId: 1, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784.jpg', + name: 'TrueFi', + symbol: 'TRU', + }, + { + address: '0xE1Be5D3f34e89dE342Ee97E6e90D405884dA6c67', + chainId: 1, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xE1Be5D3f34e89dE342Ee97E6e90D405884dA6c67.jpg', + name: 'TRON', + symbol: 'TRX', + }, + { + address: '0xc12eCeE46ed65D970EE5C899FCC7AE133AfF9b03', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/try.jpg', + name: 'TRYfinance', + symbol: 'TRY', + }, + { + address: '0x0000000000085d4780B73119b644AE5ecd22b376', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x0000000000085d4780B73119b644AE5ecd22b376.jpg', + name: 'TrueUSD', + symbol: 'TUSD', + }, + { + address: '0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41/logo.png', + name: 'Tixl Token', + symbol: 'TXL', + }, + { + address: '0x8564653879a18C560E7C0Ea0E084c516C62F5653', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8564653879a18C560E7C0Ea0E084c516C62F5653/logo.png', + name: 'UpBots', + symbol: 'UBXT', + }, + { + address: '0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uma.jpg', + name: 'UMA Voting Token v1', + symbol: 'UMA', + }, + { + address: '0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2/logo.png', + name: 'Umbrella', + symbol: 'UMB', + }, + { + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0xE4AE84448DB5CFE1DaF1e6fb172b469c161CB85F', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE4AE84448DB5CFE1DaF1e6fb172b469c161CB85F/logo.png', + name: 'Utopia Genesis Foundation', + symbol: 'UOP', + }, + { + address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + chainId: 1, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0x674C6Ad92Fd080e4004b2312b45f796a192D27a0', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x674C6Ad92Fd080e4004b2312b45f796a192D27a0/logo.png', + name: 'Neutrino USD', + symbol: 'USDN', + }, + { + address: '0x1456688345527bE1f37E9e627DA0837D6f08C925', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1456688345527bE1f37E9e627DA0837D6f08C925/logo.png', + name: 'USDP Stablecoin', + symbol: 'USDP', + }, + { + address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', + chainId: 1, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0xa47c8bf37f92aBed4A126BDA807A7b7498661acD', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ust.jpg', + name: 'TerraUSD', + symbol: 'UST', + }, + { + address: '0x88536C9B2C4701b8dB824e6A16829D5B5Eb84440', + chainId: 1, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x88536C9B2C4701b8dB824e6A16829D5B5Eb84440/logo.png', + name: 'Universal Store of Value', + symbol: 'USV', + }, + { + address: '0xe1406825186D63980fd6e2eC61888f7B91C4bAe4', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/vbtc.jpg', + name: 'vBTC', + symbol: 'vBTC', + }, + { + address: '0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e/logo.png', + name: 'Vega', + symbol: 'VEGA', + }, + { + address: '0xadd5E881984783dD432F80381Fb52F45B53f3e70', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xadd5E881984783dD432F80381Fb52F45B53f3e70/logo.png', + name: 'Vite', + symbol: 'VITE', + }, + { + address: '0x5166E09628b696285E3A151e84FB977736a83575', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5166E09628b696285E3A151e84FB977736a83575/logo.png', + name: 'Volatility Protocol Token', + symbol: 'VOL', + }, + { + address: '0x72377f31e30a405282b522d588AEbbea202b4f23', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x72377f31e30a405282b522d588AEbbea202b4f23/logo.png', + name: 'Varen', + symbol: 'VRN', + }, + { + address: '0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421/logo.png', + name: 'VesperToken', + symbol: 'VSP', + }, + { + address: '0x677ddbd918637E5F2c79e164D402454dE7dA8619', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x677ddbd918637E5F2c79e164D402454dE7dA8619/logo.png', + name: 'VUSD', + symbol: 'VUSD', + }, + { + address: '0x896e145568624a498c5a909187363AE947631503', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x896e145568624a498c5a909187363AE947631503/logo.png', + name: 'Wasabi', + symbol: 'WASABI', + }, + { + address: '0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/waves.jpg', + name: 'Waves', + symbol: 'WAVES', + }, + { + address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'Wrapped Bitcoin', + symbol: 'WBTC', + }, + { + address: '0xE452E6Ea2dDeB012e20dB73bf5d3863A3Ac8d77a', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE452E6Ea2dDeB012e20dB73bf5d3863A3Ac8d77a/logo.png', + name: 'Wrapped Celo', + symbol: 'WCELO', + }, + { + address: '0xad3E3Fc59dff318BecEaAb7D00EB4F68b1EcF195', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xad3E3Fc59dff318BecEaAb7D00EB4F68b1EcF195/logo.png', + name: 'Wrapped Celo Dollar', + symbol: 'WCUSD', + }, + { + address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0x6e1A19F235bE7ED8E3369eF73b196C07257494DE', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', + name: 'Wrapped Filecoin', + symbol: 'WFIL', + }, + { + address: '0x85D7bdfc9c3426b33A684241eEEE70385Bc42820', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x85D7bdfc9c3426b33A684241eEEE70385Bc42820/logo.png', + name: 'Wrapped Kadena', + symbol: 'WKDA', + }, + { + address: '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg', + name: 'Polygon', + symbol: 'WMATIC', + }, + { + address: '0xf203Ca1769ca8e9e8FE1DA9D147DB68B6c919817', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wncg.jpg', + name: 'Wrapped NCG', + symbol: 'WNCG', + }, + { + address: '0x0d438F3b5175Bebc262bF23753C1E53d03432bDE', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wnxm.jpg', + name: 'Wrapped NXM', + symbol: 'wNXM', + }, + { + address: '0xBd356a39BFf2cAda8E9248532DD879147221Cf76', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wom.jpg', + name: 'WOM Protocol', + symbol: 'WOM', + }, + { + address: '0x4691937a7508860F876c9c0a2a617E7d9E945D4B', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/woo.jpg', + name: 'Wootrade Network', + symbol: 'WOO', + }, + { + address: '0xD0660cD418a64a1d44E9214ad8e459324D8157f1', + chainId: 1, + decimals: 12, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/woofy.jpg', + name: 'Woofy', + symbol: 'WOOFY', + }, + { + address: '0x3405A1bd46B85c5C029483FbECf2F3E611026e45', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', + name: 'WOWSwap', + symbol: 'WOW', + }, + { + address: '0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be', + chainId: 1, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wscrt.jpg', + name: 'Wrapped SCRT', + symbol: 'WSCRT', + }, + { + address: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wsteth.jpg', + name: 'Wrapped Liquid Staked Ether 2.0', + symbol: 'wstETH', + }, + { + address: '0x465e07d6028830124BE2E4aA551fBe12805dB0f5', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wxmr.jpg', + name: 'Wrapped XMR', + symbol: 'WXMR', + }, + { + address: '0x39fBBABf11738317a448031930706cd3e612e1B9', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x39fBBABf11738317a448031930706cd3e612e1B9/logo.png', + name: 'Wrapped XRP', + symbol: 'WXRP', + }, + { + address: '0x4A64515E5E1d1073e83f30cB97BEd20400b66E10', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4A64515E5E1d1073e83f30cB97BEd20400b66E10/logo.png', + name: 'Wrapped ZEC', + symbol: 'WZEC', + }, + { + address: '0x7f3141c4D6b047fb930991b450f1eD996a51CB26', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7f3141c4D6b047fb930991b450f1eD996a51CB26/logo.png', + name: 'X', + symbol: 'X', + }, + { + address: '0x5DE7Cc4BcBCa31c473F6D2F27825Cfb09cc0Bb16', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5DE7Cc4BcBCa31c473F6D2F27825Cfb09cc0Bb16/logo.png', + name: 'XBE', + symbol: 'XBE', + }, + { + address: '0x72B886d09C117654aB7dA13A14d603001dE0B777', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x72B886d09C117654aB7dA13A14d603001dE0B777.jpg', + name: 'XDEFI', + symbol: 'XDEFI', + }, + { + address: '0xABe580E7ee158dA464b51ee1a83Ac0289622e6be', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xft.jpg', + name: 'Offshift', + symbol: 'XFT', + }, + { + address: '0x69fa0feE221AD11012BAb0FdB45d444D3D2Ce71c', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x69fa0feE221AD11012BAb0FdB45d444D3D2Ce71c/logo.png', + name: 'XRUNE Token', + symbol: 'XRUNE', + }, + { + address: '0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xsushi.jpg', + name: 'SushiBar', + symbol: 'xSUSHI', + }, + { + address: '0x618679dF9EfCd19694BB1daa8D00718Eacfa2883', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x618679dF9EfCd19694BB1daa8D00718Eacfa2883/logo.png', + name: 'XYZ Governance Token', + symbol: 'XYZ', + }, + { + address: '0x0AaCfbeC6a24756c20D41914F2caba817C0d8521', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yam.jpg', + name: 'YAM', + symbol: 'YAM', + }, + { + address: '0x7815bDa662050D84718B988735218CFfd32f75ea', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7815bDa662050D84718B988735218CFfd32f75ea/logo.png', + name: 'YEL Token', + symbol: 'YEL', + }, + { + address: '0xb4bebD34f6DaaFd808f73De0d10235a92Fbb6c3D', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb4bebD34f6DaaFd808f73De0d10235a92Fbb6c3D/logo.png', + name: 'Yearn Ecosystem Token Index', + symbol: 'YETI', + }, + { + address: '0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', + name: 'yearn.finance', + symbol: 'YFI', + }, + { + address: '0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfii.jpg', + name: 'YFII.finance', + symbol: 'YFII', + }, + { + address: '0x25f8087EAD173b73D6e8B84329989A8eEA16CF73', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ygg.jpg', + name: 'Yield Guild Games Token', + symbol: 'YGG', + }, + { + address: '0x9ba60bA98413A60dB4C651D4afE5C937bbD8044B', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9ba60bA98413A60dB4C651D4afE5C937bbD8044B/logo.png', + name: 'Yearn Lazy Ape Index', + symbol: 'YLA', + }, + { + address: '0xF94b5C5651c888d928439aB6514B93944eEE6F48', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF94b5C5651c888d928439aB6514B93944eEE6F48/logo.png', + name: 'Yield App', + symbol: 'YLD/YieldApp', + }, + { + address: '0xAE1eaAE3F627AAca434127644371b67B18444051', + chainId: 1, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yop.jpg', + name: 'YOP', + symbol: 'YOP', + }, + { + address: '0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ypie.jpg', + name: 'PieDAO Yearn Ecosystem Pie', + symbol: 'YPIE', + }, + { + address: '0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yusd.jpg', + name: 'yearn Curve', + symbol: 'yUSD', + }, + { + address: '0x9d409a0A012CFbA9B15F6D4B36Ac57A46966Ab9a', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yvboost.jpg', + name: 'Yearn Compounding veCRV yVault', + symbol: 'yvBOOST', + }, + { + address: '0xc5bDdf9843308380375a611c18B50Fb9341f502A', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yvecrvdao.jpg', + name: 'veCRV-DAO yVault', + symbol: 'yveCRV-DAO', + }, + { + address: '0x66d592cc979d441A3E4dbb6E043C3bDaD241DAb7', + chainId: 1, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x66d592cc979d441A3E4dbb6E043C3bDaD241DAb7.jpg', + name: 'Zero Money', + symbol: 'ZERO', + }, + { + address: '0xA8e7AD77C60eE6f30BaC54E2E7c0617Bd7B5A03E', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/zlot.jpg', + name: 'zLot Finance', + symbol: 'ZLOT', + }, + { + address: '0xE41d2489571d322189246DaFA5ebDe1F4699F498', + chainId: 1, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/zrx.jpg', + name: '0x', + symbol: 'ZRX', + }, + { + address: '0xc2118d4d90b274016cB7a54c03EF52E6c537D957', + chainId: 3, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xaD6D458402F60fD3Bd25163575031ACDce07538D/logo.png', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x5457Cc9B34eA486eB8d3286329F3536f71fa8A8B', + chainId: 3, + decimals: 18, + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x71d82Eb6A5051CfF99582F4CDf2aE9cD402A4882', + chainId: 3, + decimals: 18, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0x0D9C8723B343A8368BebE0B5E89273fF8D712e3C', + chainId: 3, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0xc778417E063141139Fce010982780140Aa0cD5Ab', + chainId: 3, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735', + chainId: 4, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735/logo.png', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85', + chainId: 4, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85/logo.png', + name: 'Maker', + symbol: 'MKR', + }, + { + address: '0x5457Cc9B34eA486eB8d3286329F3536f71fa8A8B', + chainId: 4, + decimals: 18, + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + chainId: 4, + decimals: 18, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0xc778417E063141139Fce010982780140Aa0cD5Ab', + chainId: 4, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0x5457Cc9B34eA486eB8d3286329F3536f71fa8A8B', + chainId: 5, + decimals: 18, + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + chainId: 5, + decimals: 18, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6', + chainId: 5, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6/logo.png', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0x7C598c96D02398d89FbCb9d41Eab3DF0C16F227D', + chainId: 40, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x7C598c96D02398d89FbCb9d41Eab3DF0C16F227D.jpg', + name: 'Avalanche', + symbol: 'AVAX', + }, + { + address: '0x2C78f1b70Ccf63CDEe49F9233e9fAa99D43AA07e', + chainId: 40, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x2C78f1b70Ccf63CDEe49F9233e9fAa99D43AA07e.jpg', + name: 'Binance Coin', + symbol: 'BNB', + }, + { + address: '0xf390830DF829cf22c53c8840554B98eafC5dCBc2', + chainId: 40, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xf390830DF829cf22c53c8840554B98eafC5dCBc2.jpg', + name: 'Bitcoin', + symbol: 'BTC', + }, + { + address: '0xfA9343C3897324496A05fC75abeD6bAC29f8A40f', + chainId: 40, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xfA9343C3897324496A05fC75abeD6bAC29f8A40f.jpg', + name: 'Ether', + symbol: 'ETH', + }, + { + address: '0xC1Be9a4D5D45BeeACAE296a7BD5fADBfc14602C4', + chainId: 40, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xC1Be9a4D5D45BeeACAE296a7BD5fADBfc14602C4.jpg', + name: 'Fantom', + symbol: 'FTM', + }, + { + address: '0x332730a4F6E03D9C55829435f10360E13cfA41Ff', + chainId: 40, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x332730a4F6E03D9C55829435f10360E13cfA41Ff.jpg', + name: 'Polygon', + symbol: 'MATIC', + }, + { + address: '0x76aE0b4C828DdCa1841a4FE394Af5D8679Baf118', + chainId: 40, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x76aE0b4C828DdCa1841a4FE394Af5D8679Baf118.jpg', + name: 'ShibaTelos Coin', + symbol: 'SC', + }, + { + address: '0x922D641a426DcFFaeF11680e5358F34d97d112E1', + chainId: 40, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x922D641a426DcFFaeF11680e5358F34d97d112E1.jpg', + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x818ec0A7Fe18Ff94269904fCED6AE3DaE6d6dC0b', + chainId: 40, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x818ec0A7Fe18Ff94269904fCED6AE3DaE6d6dC0b.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0xeFAeeE334F0Fd1712f9a8cc375f427D9Cdd40d73', + chainId: 40, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xeFAeeE334F0Fd1712f9a8cc375f427D9Cdd40d73.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E', + chainId: 40, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E.jpg', + name: 'Wrapped Telos', + symbol: 'WTLOS', + }, + { + address: '0x482dC9bB08111CB875109B075A40881E48aE02Cd', + chainId: 42, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_BAT.svg', + name: 'Basic Attention Token', + symbol: 'BAT', + }, + { + address: '0x4a77fAeE9650b09849Ff459eA1476eaB01606C7a', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_bat.svg', + name: 'Compound Basic Attention Token', + symbol: 'cBAT', + }, + { + address: '0xF0d0EB522cfa50B716B3b1604C4F0fA6f04376AD', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_dai.svg', + name: 'Compound Dai', + symbol: 'cDAI', + }, + { + address: '0x41B5844f4680a8C38fBb695b7F9CFd1F64474a72', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_eth.svg', + name: 'Compound Ether', + symbol: 'cETH', + }, + { + address: '0x61460874a7196d6a22D1eE4922473664b3E95270', + chainId: 42, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_COMP.svg', + name: 'Compound', + symbol: 'COMP', + }, + { + address: '0xA4eC170599a1Cf87240a35b9B1B8Ff823f448b57', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_rep.svg', + name: 'Compound Augur', + symbol: 'cREP', + }, + { + address: '0xb3f7fB482492f4220833De6D6bfCC81157214bEC', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_sai.svg', + name: 'Compound Sai', + symbol: 'cSAI', + }, + { + address: '0x4a92E71227D294F041BD82dd8f78591B75140d63', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_usdc.svg', + name: 'Compound USD Coin', + symbol: 'cUSDC', + }, + { + address: '0x3f0A0EA2f86baE6362CF9799B523BA06647Da018', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_usdt.svg', + name: 'Compound USDT', + symbol: 'cUSDT', + }, + { + address: '0xa1fAA15655B0e7b6B6470ED3d096390e6aD93Abb', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_wbtc.svg', + name: 'Compound Wrapped BTC', + symbol: 'cWBTC', + }, + { + address: '0xAf45ae737514C8427D373D50Cd979a242eC59e5a', + chainId: 42, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_zrx.svg', + name: 'Compound 0x', + symbol: 'cZRX', + }, + { + address: '0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa', + chainId: 42, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_DAI.svg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD', + chainId: 42, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD/logo.png', + name: 'Maker', + symbol: 'MKR', + }, + { + address: '0x50DD65531676F718B018De3dc48F92B53D756996', + chainId: 42, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_REP.svg', + name: 'Reputation', + symbol: 'REP', + }, + { + address: '0xD1308F63823221518Ec88EB209CBaa1ac182105f', + chainId: 42, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_SAI.svg', + name: 'Sai Stablecoin v1.0', + symbol: 'SAI', + }, + { + address: '0x0769fd68dFb93167989C6f7254cd0D766Fb2841F', + chainId: 42, + decimals: 18, + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + chainId: 42, + decimals: 18, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0xb7a4F3E9097C08dA09517b5aB877F7a917224ede', + chainId: 42, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_USDC.svg', + name: 'USD Coin USDC', + symbol: 'USDC', + }, + { + address: '0x07de306FF27a2B630B1141956844eB1552B956B5', + chainId: 42, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_USDT.svg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0xd3A691C852CDB01E281545A27064741F0B7f6825', + chainId: 42, + decimals: 8, + name: 'Wrapped BTC', + symbol: 'WBTC', + }, + { + address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', + chainId: 42, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xd0A1E359811322d97991E03f863a0C30C2cF029C/logo.png', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0x162c44e53097e7B5aaE939b297ffFD6Bf90D1EE3', + chainId: 42, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_ZRX.svg', + name: '0x Protocol Token', + symbol: 'ZRX', + }, + { + address: '0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ada.jpg', + name: 'Cardano Token', + symbol: 'ADA', + }, + { + address: '0xa1faa113cbE53436Df28FF0aEe54275c13B40975', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alpha.jpg', + name: 'AlphaToken', + symbol: 'ALPHA', + }, + { + address: '0xf307910A4c7bbc79691fD374889b36d8531B08e3', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ankr.jpg', + name: 'Ankr', + symbol: 'ANKR', + }, + { + address: '0x80D5f92C2c8C682070C95495313dDB680B267320', + chainId: 56, + decimals: 2, + logoURI: 'https://assets.coingecko.com/coins/images/11688/small/Roma-10.png?1604941843', + name: 'AS Roma', + symbol: 'ASR', + }, + { + address: '0x25E9d05365c867E59C1904E7463Af9F312296f9E', + chainId: 56, + decimals: 2, + logoURI: 'https://assets.coingecko.com/coins/images/11689/small/Atletico-10.png?1604941960', + name: 'Atletico de Madrid', + symbol: 'ATM', + }, + { + address: '0x0Eb3a705fc54725037CC9e008bDede697f62F335', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/cosmos_32.png', + name: 'Cosmos Token', + symbol: 'ATOM', + }, + { + address: '0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/bakeryswap_32.png', + name: 'Bakery Token', + symbol: 'BAKE', + }, + { + address: '0x72fAa679E1008Ad8382959FF48E392042A8b06f7', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12392/small/alliance_block_logo.jpg?1599546617g', + name: 'AllianceBlock', + symbol: 'bALBT', + }, + { + address: '0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', + name: 'BAND Protocol Token', + symbol: 'BAND', + }, + { + address: '0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bch.jpg', + name: 'Bitcoin Cash Token', + symbol: 'BCH', + }, + { + address: '0xCa3F508B8e4Dd382eE878A314789373D80A5190A', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12704/small/token.png?1601876182', + name: 'Beefy.finance', + symbol: 'BIFI', + }, + { + address: '0x63870A18B6e42b01Ef1Ad8A2302ef50B7132054F', + chainId: 56, + decimals: 6, + logoURI: 'https://bscscan.com/token/images/blink_32.png', + name: 'BLINk', + symbol: 'BLK', + }, + { + address: '0xE64F5Cb844946C1F102Bd25bBD87a5aB4aE89Fbe', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/8791/small/Group_11.png?1580344629', + name: 'ROOBEE', + symbol: 'bROOBEE', + }, + { + address: '0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/bscex_32.png', + name: 'BSCEX', + symbol: 'BSCX', + }, + { + address: '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c.jpg', + name: 'BTCB Token', + symbol: 'BTCB', + }, + { + address: '0x78650B139471520656b9E7aA7A5e9276814a38e9', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13636/small/btcst-coin.png?1610501705', + name: 'Standard BTC Hashrate Token', + symbol: 'BTCST', + }, + { + address: '0xAe9269f27437f0fcBC232d39Ec814844a51d6b8f', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/burgerswap_32.png', + name: 'Burger Swap', + symbol: 'BURGER', + }, + { + address: '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56.jpg', + name: 'BUSD Token', + symbol: 'BUSD', + }, + { + address: '0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cake.jpg', + name: 'PancakeSwap Token', + symbol: 'CAKE', + }, + { + address: '0x007EA5C0Ea75a8DF45D288a4debdD5bb633F9e56', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/canya_32.png', + name: 'CanYaCoin', + symbol: 'CAN', + }, + { + address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', + name: 'Cerby Token', + symbol: 'CERBY', + }, + { + address: '0xd4CB328A82bDf5f03eB737f37Fa6B370aef3e888', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', + name: 'Cream', + symbol: 'CREAM', + }, + { + address: '0xA8c2B8eec3d368C0253ad3dae65a5F2BBB89c929', + chainId: 56, + decimals: 6, + logoURI: + 'https://assets.coingecko.com/coins/images/12944/small/CertiK_Foundation_icon_96_96_-_round.png?1603772980', + name: 'CertiK Token', + symbol: 'CTK', + }, + { + address: '0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3.jpg', + name: 'Dai Token', + symbol: 'DAI', + }, + { + address: '0x748AD98b14C814B28812eB42ad219C8672909879', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12233/small/dice2.png?1598344967', + name: 'Dice.finance Token', + symbol: 'DICE', + }, + { + address: '0x233d91A0713155003fc4DcE0AFa871b508B3B715', + chainId: 56, + decimals: 9, + logoURI: 'https://assets.coingecko.com/coins/images/13463/small/ditto.png?1608766914', + name: 'Ditto', + symbol: 'DITTO', + }, + { + address: '0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dot.jpg', + name: 'Polkadot Token', + symbol: 'DOT', + }, + { + address: '0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eos.jpg', + name: 'EOS Token', + symbol: 'EOS', + }, + { + address: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x2170Ed0880ac9A755fd29B2688956BD959F933F8.jpg', + name: 'Ethereum Token', + symbol: 'ETH', + }, + { + address: '0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', + name: 'Filecoin', + symbol: 'FIL', + }, + { + address: '0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0x393B312C01048b3ed2720bF1B090084C09e408A1', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12741/small/fries_logo.png?1602147631', + name: 'fry.world', + symbol: 'FRIES', + }, + { + address: '0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/front.jpg', + name: 'Frontier Token', + symbol: 'FRONT', + }, + { + address: '0x2090c8295769791ab7A3CF1CC6e0AA19F35e441A', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13305/small/bW_WB5Rz_400x400.jpg?1607325041', + name: 'Fuel', + symbol: 'FUEL', + }, + { + address: '0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0xf79037F6f6bE66832DE4E7516be52826BC3cBcc4', + chainId: 56, + decimals: 6, + logoURI: 'https://assets.coingecko.com/coins/images/13008/small/HARD_coin_256.png?1604733983', + name: 'HARD', + symbol: 'HARD', + }, + { + address: '0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13680/small/ZMdK-1J4_400x400.png?1610834469', + name: 'Helmet.insure', + symbol: 'Helmet', + }, + { + address: '0xf16e81dce15B08F326220742020379B855B87DF9', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0xf16e81dce15B08F326220742020379B855B87DF9.jpg', + name: 'IceToken', + symbol: 'ICE', + }, + { + address: '0xa2B726B1145A4773F68593CF171187d8EBe4d495', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/inj.jpg', + name: 'Injective Protocol', + symbol: 'INJ', + }, + { + address: '0x3c037C4c2296f280bB318D725D0b454B76c199b9', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12830/small/jntr_logo.jpg?1602837322', + name: 'JNTR/b', + symbol: 'JNTR/b', + }, + { + address: '0xC40C9A843E1c6D01b7578284a9028854f6683b1B', + chainId: 56, + decimals: 2, + logoURI: 'https://assets.coingecko.com/coins/images/10060/small/Juve-10.png?1604737154', + name: 'Juventus', + symbol: 'JUV', + }, + { + address: '0x5F88AB06e8dfe89DF127B2430Bba4Af600866035', + chainId: 56, + decimals: 6, + logoURI: 'https://assets.coingecko.com/coins/images/9761/small/Kava-icon.png?1585636197', + name: 'KAVA', + symbol: 'KAVA', + }, + { + address: '0x1A2fb0Af670D0234c2857FaD35b789F8Cb725584', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13177/small/kun_logo.png?1605923919', + name: 'Qian Governance Token', + symbol: 'KUN', + }, + { + address: '0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'ChainLink Token', + symbol: 'LINK', + }, + { + address: '0x4338665CBB7B2485A8855A139b75D5e34AB0DB94', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ltc.jpg', + name: 'Litecoin Token', + symbol: 'LTC', + }, + { + address: '0x3947B992DC0147D2D89dF0392213781b04B25075', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/mirror-amzn_32.png', + name: 'Mirror AMZN Token', + symbol: 'mAMZN', + }, + { + address: '0xF218184Af829Cf2b0019F8E6F0b2423498a36983', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/11335/small/2020-05-19-token-200.png?1589940590', + name: 'Math', + symbol: 'MATH', + }, + { + address: '0xacb2d47827C9813AE26De80965845D80935afd0B', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/14633/small/macaron.png?1623038435', + name: 'MacaronSwap Token', + symbol: 'MCRN', + }, + { + address: '0x62D71B23bF15218C7d2D7E48DBbD9e9c650B173f', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/mirror-google_32.png', + name: 'Mirror GOOGL Token', + symbol: 'mGOOGL', + }, + { + address: '0xfE19F0B51438fd612f6FD59C1dbB3eA319f433Ba', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0xfE19F0B51438fd612f6FD59C1dbB3eA319f433Ba.jpg', + name: 'Magic Internet Money', + symbol: 'MIM', + }, + { + address: '0xBF05279F9Bf1CE69bBFEd670813b7e431142Afa4', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBF05279F9Bf1CE69bBFEd670813b7e431142Afa4/logo.png', + name: 'Million', + symbol: 'MM', + }, + { + address: '0xa04F060077D90Fe2647B61e4dA4aD1F97d6649dc', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/mirror-nflx_32.png', + name: 'Mirror NFLX Token', + symbol: 'mNFLX', + }, + { + address: '0xF215A127A196e3988C09d052e16BcFD365Cd7AA3', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/mirror-tsla_32.png', + name: 'Mirror TSLA Token', + symbol: 'mTSLA', + }, + { + address: '0xA1303E6199b319a891b79685F0537D289af1FC83', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13367/small/2XylnQL.png?1607923179', + name: 'NAR Token', + symbol: 'NAR', + }, + { + address: '0x8506560320826e459F356CB56cCF721Da8875414', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x8506560320826e459F356CB56cCF721Da8875414.jpg', + name: 'NICE', + symbol: 'nICE', + }, + { + address: '0x8CD6e29d3686d24d3C2018CEe54621eA0f89313B', + chainId: 56, + decimals: 8, + logoURI: 'https://assets.coingecko.com/coins/images/1053/small/Nuls.png?1556868153', + name: 'Nuls', + symbol: 'NULS', + }, + { + address: '0xf0E406c49C63AbF358030A299C0E00118C4C6BA5', + chainId: 56, + decimals: 8, + logoURI: 'https://assets.coingecko.com/coins/images/11873/small/NerveNetwork.png?1595541544', + name: 'NerveNetwork', + symbol: 'NVT', + }, + { + address: '0xbFa0841F7a90c4CE6643f651756EE340991F99D5', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13025/small/512x512_App_Icon.png?1604456222', + name: 'Nyanswop Token', + symbol: 'NYA', + }, + { + address: '0xEe9801669C6138E84bD50dEB500827b776777d28', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/smartchain/assets/0xEe9801669C6138E84bD50dEB500827b776777d28/logo.png', + name: 'O3 Swap Token', + symbol: 'O3', + }, + { + address: '0xf05E45aD22150677a017Fbd94b84fBB63dc9b44c', + chainId: 56, + decimals: 2, + logoURI: 'https://bscscan.com/token/images/ogfan_32.png', + name: 'OG', + symbol: 'OG', + }, + { + address: '0xFd7B3A77848f1C2D67E05E54d78d174a0C850335', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ont.jpg', + name: 'Ontology Token', + symbol: 'ONT', + }, + { + address: '0xaF53d56ff99f1322515E54FdDE93FF8b3b7DAFd5', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/Prometeus_32.png', + name: 'Prometeus', + symbol: 'PROM', + }, + { + address: '0xBc5609612b7C44BEf426De600B5fd1379DB2EcF1', + chainId: 56, + decimals: 2, + logoURI: 'https://assets.coingecko.com/coins/images/11620/small/psg.png?1592023100', + name: 'Paris Saint-Germain', + symbol: 'PSG', + }, + { + address: '0xb8C540d00dd0Bf76ea12E4B4B95eFC90804f924E', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/qianfinance_32.png', + name: 'QUSD Stablecoin', + symbol: 'QUSD', + }, + { + address: '0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13504/small/Group_10572.png?1610534130', + name: 'Reef', + symbol: 'REEF', + }, + { + address: '0x4A2940263acfd179dBc1C6B69A3392671ACCaf5B', + chainId: 56, + decimals: 18, + logoURI: 'https://shibawallet.pro/assets/favicon32x32.png', + name: 'ShibaWallet', + symbol: 'SHWA', + }, + { + address: '0xE4Ae305ebE1AbE663f261Bc00534067C80ad677C', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12638/small/1*OWy3ohA24pht-tFypfs-Tg.png?1601364302', + name: 'SPARTAN PROTOCOL TOKEN', + symbol: 'SPARTA', + }, + { + address: '0x9Fe28D11ce29E340B7124C493F59607cbAB9ce48', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x9Fe28D11ce29E340B7124C493F59607cbAB9ce48.jpg', + name: 'Spell', + symbol: 'SPELL', + }, + { + address: '0x66eFF5221ca926636224650Fd3B9c497FF828F7D', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x66eFF5221ca926636224650Fd3B9c497FF828F7D.jpg', + name: 'Staked Spell', + symbol: 'sSPELL', + }, + { + address: '0x0Da6Ed8B13214Ff28e9Ca979Dd37439e8a88F6c4', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/stablexswap_32.png', + name: 'StableXSwap', + symbol: 'STAX', + }, + { + address: '0xB0D502E938ed5f4df2E681fE6E419ff29631d62b', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/binance/0xB0D502E938ed5f4df2E681fE6E419ff29631d62b.jpg', + name: 'StargateToken', + symbol: 'STG', + }, + { + address: '0x90DF11a8ccE420675e73922419e3f4f3Fe13CCCb', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/streamity_32.png', + name: 'Streamity', + symbol: 'STM', + }, + { + address: '0x947950BcC74888a40Ffa2593C5798F11Fc9124C4', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x947950BcC74888a40Ffa2593C5798F11Fc9124C4.jpg', + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sxp.jpg', + name: 'Swipe', + symbol: 'SXP', + }, + { + address: '0xdFF8cb622790b7F92686c722b02CaB55592f152C', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13545/small/iMqC3F_p_400x400.png?1609711856', + name: 'Tenet', + symbol: 'TEN', + }, + { + address: '0x4B0F1812e5Df2A09796481Ff14017e6005508003', + chainId: 56, + decimals: 18, + logoURI: 'https://bscscan.com/token/images/trust_32.png', + name: 'Trust Wallet', + symbol: 'TWT', + }, + { + address: '0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13152/small/logo-2.png?1605748967', + name: 'Unifi Token', + symbol: 'UNFI', + }, + { + address: '0xBf5140A22578168FD562DCcF235E5D43A02ce9B1', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d.jpg', + name: 'Binance-Peg USD Coin', + symbol: 'USDC', + }, + { + address: '0x55d398326f99059fF775485246999027B3197955', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x55d398326f99059fF775485246999027B3197955.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0x1203355742e76875154C0D13eB81DCD7711dC7d9', + chainId: 56, + decimals: 6, + logoURI: 'https://assets.coingecko.com/coins/images/13056/small/USDX_coin.png?1604734048', + name: 'USDX', + symbol: 'USDX', + }, + { + address: '0x23396cF899Ca06c4472205fC903bDB4de249D6fC', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ust.jpg', + name: 'UST Token', + symbol: 'UST', + }, + { + address: '0x4BD17003473389A42DAF6a0a729f6Fdb328BbBd7', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13861/small/VAI_logo.png?1612413571', + name: 'VAI Stablecoin', + symbol: 'VAI', + }, + { + address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', + name: 'WBNB Token', + symbol: 'WBNB', + }, + { + address: '0x988c11625472340b7B36FF1534893780E0d8d841', + chainId: 56, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/smartchain/assets/0x988c11625472340b7B36FF1534893780E0d8d841/logo.png', + name: 'WrappedConceal', + symbol: 'wCCX', + }, + { + address: '0xd8A31016cD7da048ca21FFE04256C6d08C3A2251', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/15626/small/wenlambo.jpg?1621351104', + name: 'WenLambo', + symbol: 'WENLAMBO', + }, + { + address: '0x4DA996C5Fe84755C80e108cf96Fe705174c5e36A', + chainId: 56, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', + name: 'WOWSwap', + symbol: 'WOW', + }, + { + address: '0x541E619858737031A1244A5d0Cd47E5ef480342c', + chainId: 56, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13840/small/V9gQH1KZ_400x400.jpg?1612251776', + name: 'Soteria', + symbol: 'wSOTE', + }, + { + address: '0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xrp.jpg', + name: 'XRP Token', + symbol: 'XRP', + }, + { + address: '0x16939ef78684453bfDFb47825F8a5F714f12623a', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xtz.jpg', + name: 'Tezos Token', + symbol: 'XTZ', + }, + { + address: '0xcF6BB5389c92Bdda8a3747Ddb454cB7a64626C63', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xvs.jpg', + name: 'Venus', + symbol: 'XVS', + }, + { + address: '0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', + name: 'yearn.finance', + symbol: 'YFI', + }, + { + address: '0x7F70642d88cf1C4a3a7abb072B53B929b653edA5', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfii.jpg', + name: 'YFII.finance Token', + symbol: 'YFII', + }, + { + address: '0x1Ba42e5193dfA8B03D15dd1B86a3113bbBEF8Eeb', + chainId: 56, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/zec.jpg', + name: 'Zcash Token', + symbol: 'ZEC', + }, + { + address: '0xe579156f9dEcc4134B5E3A30a24Ac46BB8B01281', + chainId: 65, + decimals: 10, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png', + name: 'Tether', + symbol: 'USDT', + }, + { + address: '0x2219845942d28716c0F7C605765fABDcA1a7d9E0', + chainId: 65, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/13708/small/OKExChain.jpg?1611051839', + name: 'Wrapped OKExChain', + symbol: 'WOKT', + }, + { + address: '0x77Df6ebec3316792D4ea5bc0f8286c27905Aa8e8', + chainId: 66, + decimals: 18, + logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_auctionk.png', + name: 'AUCTION', + symbol: 'AUCTION', + }, + { + address: '0x54e4622DC504176b3BB432dCCAf504569699a7fF', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'BTC', + symbol: 'BTC', + }, + { + address: '0x21cDE7E32a6CAF4742d00d44B07279e7596d26B9', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'DAI', + symbol: 'DAI', + }, + { + address: '0xabc732f6f69a519F6d508434481376B6221eb7d5', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dot.jpg', + name: 'DOT', + symbol: 'DOT', + }, + { + address: '0x99970778E2715bBc9Cf8fb83D10dCBC2D2D551A3', + chainId: 66, + decimals: 18, + logoURI: 'https://static.coinall.ltd/cdn/explorer/okexchain/exchain_etck.png', + name: 'ETC', + symbol: 'ETC', + }, + { + address: '0xEF71CA2EE68F45B9Ad6F72fbdb33d707b872315C', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'ETH', + symbol: 'ETH', + }, + { + address: '0x3F8969Be2FC0770dCc174968e4B4ff146E0ACDaF', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', + name: 'FIL', + symbol: 'FIL', + }, + { + address: '0x8D3573f24c0aa3819A2f5b02b2985dD82B487715', + chainId: 66, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12780/small/PdaW8Lb.png?1602500407', + name: 'DeFiner', + symbol: 'FIN', + }, + { + address: '0xd0C6821aba4FCC65e8f1542589e64BAe9dE11228', + chainId: 66, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/15002/small/logo.dabc411c.png?1619402947', + name: 'FLUXK', + symbol: 'FLUX', + }, + { + address: '0xc05760d75E7F5Ad428a906674Ce7c7c82d003d01', + chainId: 66, + decimals: 18, + logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_kinek.png', + name: 'KINE', + symbol: 'KINE', + }, + { + address: '0x9B99c3Ce751aA292320033f93a1376902d4bA58b', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'LINK', + symbol: 'LINK', + }, + { + address: '0xfA520efC34C81bfC1E3DD48b7fE9fF326049f986', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ltc.jpg', + name: 'LTC', + symbol: 'LTC', + }, + { + address: '0x8CD6e29d3686d24d3C2018CEe54621eA0f89313B', + chainId: 66, + decimals: 8, + logoURI: 'https://assets.coingecko.com/coins/images/1053/small/Nuls.png?1556868153', + name: 'Nuls', + symbol: 'NULS', + }, + { + address: '0xd1351Ec15E8511658C2Ba1e1e81e1E60aA39c9Cd', + chainId: 66, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/11873/small/NerveNetwork.png?1595541544', + name: 'NerveNetwork', + symbol: 'NVT', + }, + { + address: '0xdF54B6c6195EA4d948D03bfD818D365cf175cFC2', + chainId: 66, + decimals: 18, + logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_okb.png', + name: 'OKB', + symbol: 'OKB', + }, + { + address: '0x3212606F74Cc59656E1EC6f587FCA61bA3B85eb0', + chainId: 66, + decimals: 18, + logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_sfgk.png', + name: 'SFG', + symbol: 'SFG', + }, + { + address: '0xaa27bADaa3C9ec9081b8f6C9cDd2bf375F143780', + chainId: 66, + decimals: 18, + logoURI: 'https://static.coinall.ltd/cdn/explorer/okexchain/exchain_shibk.png', + name: 'SHIB', + symbol: 'SHIB', + }, + { + address: '0x2218E0D5E0173769F5b4939a3aE423f7e5E4EAB7', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'SUSHI', + symbol: 'SUSHI', + }, + { + address: '0x59D226BB0a4d74274D4354EBb6a0E1A1Aa5175B6', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', + name: 'UNI', + symbol: 'UNI', + }, + { + address: '0xc946DAf81b08146B1C7A8Da2A851Ddf2B3EAaf85', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USDC', + symbol: 'USDC', + }, + { + address: '0xdCAC52E001f5bd413aa6ea83956438F29098166b', + chainId: 66, + decimals: 18, + logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_usdk.png', + name: 'USDK', + symbol: 'USDK', + }, + { + address: '0x382bB369d343125BfB2117af9c149795C6C65C50', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'USDT', + symbol: 'USDT', + }, + { + address: '0x506f731F7656e2FB34b587B912808f2a7aB640BD', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'WBTC', + symbol: 'WBTC', + }, + { + address: '0x7A47ab305b8a2A3F4020d13FA9EF73cDdCc0e7D4', + chainId: 66, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/12477/small/s_wing_icon.png?1610631390', + name: 'Wing Token', + symbol: 'WING', + }, + { + address: '0x8F8526dbfd6E38E3D8307702cA8469Bae6C56C15', + chainId: 66, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/okt.jpg', + name: 'Wrapped OKExChain', + symbol: 'WOKT', + }, + { + address: '0xCD08D321f6Bc10a10f094e4b2E6C9b8bF9906401', + chainId: 66, + decimals: 18, + logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_zksk.png', + name: 'ZKS', + symbol: 'ZKS', + }, + { + address: '0xeD24FC36d5Ee211Ea25A80239Fb8C4Cfd80f12Ee', + chainId: 97, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/assets/BUSD-BD1/logo.png', + name: 'BUSD Token', + symbol: 'BUSD', + }, + { + address: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd', + chainId: 97, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/assets/USDT-6D8/logo.png', + name: 'USDT Token', + symbol: 'USDT', + }, + { + address: '0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd', + chainId: 97, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png', + name: 'WBNB Token', + symbol: 'WBNB', + }, + { + address: '0xDF613aF6B44a31299E48131e9347F034347E2F00', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xDF613aF6B44a31299E48131e9347F034347E2F00.jpg', + name: 'Aave Token on xDai', + symbol: 'AAVE', + }, + { + address: '0x82dFe19164729949fD66Da1a37BC70dD6c4746ce', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0x82dFe19164729949fD66Da1a37BC70dD6c4746ce.jpg', + name: 'BaoToken on xDai', + symbol: 'BAO', + }, + { + address: '0x712b3d230F3C1c19db860d80619288b1F0BDd0Bd', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0x82dFe19164729949fD66Da1a37BC70dD6c4746ce.jpg', + name: 'Curve DAO Token on xDai', + symbol: 'CRV', + }, + { + address: '0xD3D47d5578e55C880505dC40648F7F9307C3e7A8', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xD3D47d5578e55C880505dC40648F7F9307C3e7A8.jpg', + name: 'DefiPulse Index from Ethereum', + symbol: 'DPI', + }, + { + address: '0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/master/network/xdai/0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb.jpg', + name: 'Gnosis Token', + symbol: 'GNO', + }, + { + address: '0xE2e73A1c69ecF83F464EFCE6A5be353a37cA09b2', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xE2e73A1c69ecF83F464EFCE6A5be353a37cA09b2.jpg', + name: 'ChainLink Token on xDai', + symbol: 'LINK', + }, + { + address: '0xfa57AA7beED63D03Aaf85fFd1753f5f6242588fb', + chainId: 100, + decimals: 0, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/master/network/xdai/0xfa57AA7beED63D03Aaf85fFd1753f5f6242588fb.jpg', + name: 'MtPelerin Shares', + symbol: 'MPS', + }, + { + address: '0xb7D311E2Eb55F2f68a9440da38e7989210b9A05e', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xb7D311E2Eb55F2f68a9440da38e7989210b9A05e.jpg', + name: 'Stake Token on xDai', + symbol: 'STAKE', + }, + { + address: '0x2995D1317DcD4f0aB89f4AE60F3f020A4F17C7CE', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x2995D1317DcD4f0aB89f4AE60F3f020A4F17C7CE.jpg', + name: 'SushiToken on xDai', + symbol: 'SUSHI', + }, + { + address: '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83', + chainId: 100, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83.jpg', + name: 'USDC on xDai', + symbol: 'USDC', + }, + { + address: '0x4ECaBa5870353805a9F068101A40E0f32ed605C6', + chainId: 100, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x4ECaBa5870353805a9F068101A40E0f32ed605C6.jpg', + name: 'Tether on xDai', + symbol: 'USDT', + }, + { + address: '0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252', + chainId: 100, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252.jpg', + name: 'Wrapped BTC on xDai', + symbol: 'WBTC', + }, + { + address: '0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1.jpg', + name: 'Wrapped Ether on xDai', + symbol: 'WETH', + }, + { + address: '0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d.jpg', + name: 'Wrapped xDai', + symbol: 'WXDAI', + }, + { + address: '0x1e16aa4Df73d29C029d94CeDa3e3114EC191E25A', + chainId: 100, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/xdai/assets/0x1e16aa4Df73d29C029d94CeDa3e3114EC191E25A/logo.png', + name: 'xMOON on xDai', + symbol: 'XMOON', + }, + { + address: '0x6acb34b1Df86E254b544189Ec32Cf737e2482058', + chainId: 122, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', + name: 'BNB', + symbol: 'BNB', + }, + { + address: '0x94Ba7A27c7A95863d1bdC7645AC2951E0cca06bA', + chainId: 122, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x94Ba7A27c7A95863d1bdC7645AC2951E0cca06bA.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x2f60a843302F1Be3FA87429CA9d684f9091b003c', + chainId: 122, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dext.jpg', + name: 'DEXTools', + symbol: 'DEXT', + }, + { + address: '0xE1C110E1B1b4A1deD0cAf3E42BfBdbB7b5d7cE1C', + chainId: 122, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fuse/assets/0xE1C110E1B1b4A1deD0cAf3E42BfBdbB7b5d7cE1C/logo.png', + name: 'Elk', + symbol: 'ELK', + }, + { + address: '0x249BE57637D8B013Ad64785404b24aeBaE9B098B', + chainId: 122, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fuseusd.jpg', + name: 'Fuse Dollar', + symbol: 'fUSD', + }, + { + address: '0x495d133B938596C9984d462F007B676bDc57eCEC', + chainId: 122, + decimals: 2, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/fuse/0x495d133B938596C9984d462F007B676bDc57eCEC.jpg', + name: 'GoodDollar', + symbol: 'G$', + }, + { + address: '0x025a4c577198D116Ea499193E6D735FDb2e6E841', + chainId: 122, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', + name: 'Graph Token', + symbol: 'GRT', + }, + { + address: '0x43B17749B246fd2a96DE25d9e4184E27E09765b0', + chainId: 122, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/knc.jpg', + name: 'Kyber Network Crystal', + symbol: 'KNC', + }, + { + address: '0x0972F26e8943679b043de23df2fD3852177A7c48', + chainId: 122, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'ChainLink Token', + symbol: 'LINK', + }, + { + address: '0x7F59aE3a787C0d1D640F99883d0e48c22188C54f', + chainId: 122, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/om.jpg', + name: 'MANTRA DAO', + symbol: 'OM', + }, + { + address: '0x90708b20ccC1eb95a4FA7C8b18Fd2C22a0Ff9E78', + chainId: 122, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x90708b20ccC1eb95a4FA7C8b18Fd2C22a0Ff9E78.jpg', + name: 'Sushi Token', + symbol: 'SUSHI', + }, + { + address: '0x620fd5fa44BE6af63715Ef4E65DDFA0387aD13F5', + chainId: 122, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x620fd5fa44BE6af63715Ef4E65DDFA0387aD13F5.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0xFaDbBF8Ce7D5b7041bE672561bbA99f79c532e10', + chainId: 122, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0xFaDbBF8Ce7D5b7041bE672561bbA99f79c532e10.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0x33284f95ccb7B948d9D352e1439561CF83d8d00d', + chainId: 122, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x33284f95ccb7B948d9D352e1439561CF83d8d00d.jpg', + name: 'Wrapped BTC', + symbol: 'WBTC', + }, + { + address: '0xa722c13135930332Eb3d749B2F0906559D2C5b99', + chainId: 122, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0xa722c13135930332Eb3d749B2F0906559D2C5b99.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0x0BE9e53fd7EDaC9F859882AfdDa116645287C629', + chainId: 122, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x0BE9e53fd7EDaC9F859882AfdDa116645287C629.jpg', + name: 'Wrapped Fuse', + symbol: 'WFUSE', + }, + { + address: '0x202b4936fE1a82A4965220860aE46d7d3939Bb25', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg AAVE Token', + symbol: 'AAVE', + }, + { + address: '0x5A6B72Dd6209A770aE1C02a7A2E1900636072d0b', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg ARPA Token', + symbol: 'ARPA', + }, + { + address: '0xa042fb0e60125A4022670014AC121931e7501Af4', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'BAG', + symbol: 'BAG', + }, + { + address: '0x6868D406a125Eb30886A6DD6B651D81677d1F22c', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'BAGS', + symbol: 'BAGS', + }, + { + address: '0x045De15Ca76e76426E8Fc7cba8392A3138078D0F', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg BAL Token', + symbol: 'BAL', + }, + { + address: '0xB1F80844a1B84c61ab80CafD88B1f8c09f9342e1', + chainId: 128, + decimals: 8, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'BEE', + symbol: 'BEE', + }, + { + address: '0xB6F4c418514dd4680F76d5caa3bB42dB4A893aCb', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg BETH Token', + symbol: 'BETH', + }, + { + address: '0x1e6395E6B059fc97a4ddA925b6c5ebf19E05c69f', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Channels', + symbol: 'CAN', + }, + { + address: '0xbe5DF2fac88BB096A973e664171E60586bC5940c', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'CircleSwap Governance Token', + symbol: 'CIR', + }, + { + address: '0x4BF06f76C68D81BDE1F87535fdCb60Adadb01CF5', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg CNNS Token', + symbol: 'CNNS', + }, + { + address: '0x3D760a45D0887DFD89A2F5385a236B29Cb46ED2a', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg DAIHECO Token', + symbol: 'DAIHECO', + }, + { + address: '0x854Bb58fDDa85F20b5aB20B20d888f0554c02560', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Decentralized Mining Coin', + symbol: 'DMC', + }, + { + address: '0x68a0A1fEF18DfCC422Db8bE6F0F486dEa1999EDC', + chainId: 128, + decimals: 9, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'EarnDefiCoin', + symbol: 'EDC', + }, + { + address: '0x64FF637fB478863B7468bc97D30a5bF3A428a1fD', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HETH_32.png', + name: 'Heco-Peg ETH Token', + symbol: 'ETH', + }, + { + address: '0xE36FFD17B2661EB57144cEaEf942D95295E637F0', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/filda_32.png', + name: 'FilDA on Heco', + symbol: 'FILDA', + }, + { + address: '0x2AAFe3c9118DB36A20dd4A942b6ff3e78981dce1', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg GOF Token', + symbol: 'GOF', + }, + { + address: '0x894b2917c783514c9e4c24229bF60f3Cb4c9c905', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg HBC Token', + symbol: 'HBC', + }, + { + address: '0xeF3CEBD77E0C52cb6f60875d9306397B5Caca375', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HBCH_32.png', + name: 'Heco-Peg HBCH Token', + symbol: 'HBCH', + }, + { + address: '0x8764Bd4fcc027faF72bA83c0b2028a3BAE0D2D57', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Hash Bridge Oracle', + symbol: 'HBO', + }, + { + address: '0xc2CB6B5357CcCE1B99Cd22232942D9A225Ea4eb1', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HBSV_32.png', + name: 'Heco-Peg HBSV Token', + symbol: 'HBSV', + }, + { + address: '0x66a79D23E58475D2738179Ca52cd0b41d73f0BEa', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HBTC_32.png', + name: 'Heco-Peg HBTC Token', + symbol: 'HBTC', + }, + { + address: '0xA2c49cEe16a5E5bDEFDe931107dc1fae9f7773E3', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HDOT_32.png', + name: 'Heco-Peg HDOT Token', + symbol: 'HDOT', + }, + { + address: '0x98fc3b60Ed4A504F588342A53746405E355F9347', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/hecofi_32.png', + name: 'HFI', + symbol: 'HFI', + }, + { + address: '0xae3a768f9aB104c69A7CD6041fE16fFa235d1810', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HFIL_32.png', + name: 'Heco-Peg HFIL Token', + symbol: 'HFIL', + }, + { + address: '0xecb56cf772B5c9A6907FB7d32387Da2fCbfB63b4', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HLTC_32.png', + name: 'Heco-Peg HLTC Token', + symbol: 'HLTC', + }, + { + address: '0xE499Ef4616993730CEd0f31FA2703B92B50bB536', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HPT_32.png', + name: 'Heco-Peg HPT Token', + symbol: 'HPT', + }, + { + address: '0x0298c2b32eaE4da002a15f36fdf7615BEa3DA047', + chainId: 128, + decimals: 8, + logoURI: 'https://hecoinfo.com/token/images/HUSD_32.png', + name: 'Heco-Peg HUSD Token', + symbol: 'HUSD', + }, + { + address: '0x45e97daD828AD735af1dF0473fc2735F0Fd5330c', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HXZT_32.png', + name: 'Heco-Peg HXTZ Token', + symbol: 'HXTZ', + }, + { + address: '0xE131F048D85f0391A24435eEFB7763199B587d0e', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg LAMB Token', + symbol: 'LAMB', + }, + { + address: '0x56f95662E71f30b333b456439248c6dE589082a4', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Lavaswap', + symbol: 'Lava', + }, + { + address: '0x8F67854497218043E1f72908FFE38D0Ed7F24721', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'LendHub', + symbol: 'LHB', + }, + { + address: '0x9e004545c59D359F6B7BFB06a26390b087717b42', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg LINK Token', + symbol: 'LINK', + }, + { + address: '0x6A4db3965CB6293dBA0F63F14FB36873172E38d3', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'LLC', + symbol: 'LLC', + }, + { + address: '0x5a42eeD7200d23F0D4CF35Ccd582D6d363F16BFc', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'LLS', + symbol: 'LLS', + }, + { + address: '0xbf22F76657601A522Cf9Ac832718A3404302D6bC', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg LRC Token', + symbol: 'LRC', + }, + { + address: '0x25D2e80cB6B86881Fd7e07dd263Fb79f4AbE033c', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/mdex_32.png', + name: 'MDX Token', + symbol: 'MDX', + }, + { + address: '0x96674f8da3F9c6ACb4A56b393AF9A490D70D16d0', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg SKM Token', + symbol: 'SKM', + }, + { + address: '0x4e252342cf35Ff02c4CCA9bc655129f5b4a2f901', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'SLN-Token V2', + symbol: 'SLNV2', + }, + { + address: '0x777850281719d5a96C29812ab72f822E0e09F3Da', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg SNX Token', + symbol: 'SNX', + }, + { + address: '0x49e16563a2ba84E560780946f0Fb73A8B32C841E', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/sovifinance_32.png', + name: 'Sovi Token', + symbol: 'SOVI', + }, + { + address: '0x52E00B2dA5Bd7940fFe26B609A42F957f31118D5', + chainId: 128, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'SUSHI', + symbol: 'SUSHI', + }, + { + address: '0x329dda64Cbc4DFD5FA5072b447B3941CE054ebb3', + chainId: 128, + decimals: 8, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg SWFTC Token', + symbol: 'SWFTC', + }, + { + address: '0x22C54cE8321A4015740eE1109D9cBc25815C46E6', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg UNI Token', + symbol: 'UNI', + }, + { + address: '0x9362Bbef4B8313A8Aa9f0c9808B80577Aa26B73B', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg USDCHECO Token', + symbol: 'USDCHECO', + }, + { + address: '0xa71EdC38d189767582C38A3145b5873052c3e47a', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/USDTHECO_32.png', + name: 'Heco-Peg USDTHECO Token', + symbol: 'USDTHECO', + }, + { + address: '0x5545153CCFcA01fbd7Dd11C0b23ba694D9509A6F', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HT_32.png', + name: 'Wrapped HT', + symbol: 'WHT', + }, + { + address: '0xeFAeeE334F0Fd1712f9a8cc375f427D9Cdd40d73', + chainId: 128, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', + name: 'WOWSwap', + symbol: 'WOW', + }, + { + address: '0xB4F019bEAc758AbBEe2F906033AAa2f0F6Dacb35', + chainId: 128, + decimals: 18, + logoURI: 'https://hecoinfo.com/images/main/empty-token.png', + name: 'Heco-Peg YFI Token', + symbol: 'YFI', + }, + { + address: '0xD6DF932A45C0f255f85145f286eA0b292B21C90B', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', + name: 'Aave', + symbol: 'AAVE', + }, + { + address: '0x6d5f5317308C6fE7D6CE16930353a8Dfd92Ba4D7', + chainId: 137, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6d5f5317308C6fE7D6CE16930353a8Dfd92Ba4D7/logo.png', + name: 'Abachi', + symbol: 'ABI', + }, + { + address: '0xc3FdbadC7c795EF1D6Ba111e06fF8F16A20Ea539', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xc3FdbadC7c795EF1D6Ba111e06fF8F16A20Ea539/logo.png', + name: 'Adamant', + symbol: 'ADDY', + }, + { + address: '0x0169eC1f8f639B32Eec6D923e24C2A2ff45B9DD6', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0169eC1f8f639B32Eec6D923e24C2A2ff45B9DD6/logo.png', + name: 'Algebra', + symbol: 'ALGB', + }, + { + address: '0x0B048D6e01a6b9002C291060bF2179938fd8264c', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0B048D6e01a6b9002C291060bF2179938fd8264c/logo.png', + name: 'PolyAlpha Finance', + symbol: 'ALPHA', + }, + { + address: '0xEE800B277A96B0f490a1A732e1D6395FAD960A26', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xEE800B277A96B0f490a1A732e1D6395FAD960A26/logo.png', + name: 'ARPA Token', + symbol: 'ARPA', + }, + { + address: '0x5eB8D998371971D01954205c7AFE90A7AF6a95AC', + chainId: 137, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/7455.png', + name: 'Audius', + symbol: 'AUDIO', + }, + { + address: '0x34d4ab47Bee066F361fA52d792e69AC7bD05ee23', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x34d4ab47Bee066F361fA52d792e69AC7bD05ee23/logo.png', + name: 'Raider Aurum', + symbol: 'AURUM', + }, + { + address: '0x2C89bbc92BD86F8075d1DEcc58C7F4E0107f286b', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2C89bbc92BD86F8075d1DEcc58C7F4E0107f286b/logo.png', + name: 'Avalanche Token', + symbol: 'AVAX', + }, + { + address: '0x5617604BA0a30E0ff1d2163aB94E50d8b6D0B0Df', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5617604BA0a30E0ff1d2163aB94E50d8b6D0B0Df/logo.png', + name: 'AthleteX', + symbol: 'AX', + }, + { + address: '0x1221591c1d77A9c334aBb0fe530ae6EE3aF51Af9', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1221591c1d77A9c334aBb0fe530ae6EE3aF51Af9/logo.png', + name: 'axMatic', + symbol: 'AXMATIC', + }, + { + address: '0x839F1a22A59eAAf26c85958712aB32F80FEA23d9', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x839F1a22A59eAAf26c85958712aB32F80FEA23d9/logo.png', + name: 'Axion', + symbol: 'AXN', + }, + { + address: '0x61BDD9C7d4dF4Bf47A4508c0c8245505F2Af5b7b', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x61BDD9C7d4dF4Bf47A4508c0c8245505F2Af5b7b/logo.png', + name: 'Axie Infinity', + symbol: 'AXS', + }, + { + address: '0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3/logo.png', + name: 'Balancer', + symbol: 'BAL', + }, + { + address: '0xDB7Cb471dd0b49b29CAB4a1C14d070f27216a0Ab', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0xDB7Cb471dd0b49b29CAB4a1C14d070f27216a0Ab.jpg', + name: 'Bankless Token (PoS)', + symbol: 'BANK', + }, + { + address: '0x3Cef98bb43d732E2F285eE605a8158cDE967D219', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bat.jpg', + name: 'Basic Attention Token', + symbol: 'BAT', + }, + { + address: '0x2F800Db0fdb5223b3C3f354886d907A671414A7F', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2F800Db0fdb5223b3C3f354886d907A671414A7F/logo.png', + name: 'Toucan Protocol: Base Carbon Tonne', + symbol: 'BCT', + }, + { + address: '0xFbdd194376de19a88118e84E279b977f165d01b8', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xFbdd194376de19a88118e84E279b977f165d01b8/logo.png', + name: 'Beefy.finance', + symbol: 'BIFI', + }, + { + address: '0xA041544fe2BE56CCe31Ebb69102B965E06aacE80', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xA041544fe2BE56CCe31Ebb69102B965E06aacE80/logo.png', + name: 'BarnBridge Governance Token', + symbol: 'BOND', + }, + { + address: '0x6bb45cEAC714c52342Ef73ec663479da35934bf7', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6bb45cEAC714c52342Ef73ec663479da35934bf7/logo.png', + name: 'BONE Token', + symbol: 'BONE', + }, + { + address: '0xff88434E29d1E2333aD6baa08D358b436196da6b', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xff88434E29d1E2333aD6baa08D358b436196da6b/logo.png', + name: 'BoringDao', + symbol: 'BOR', + }, + { + address: '0x4b54Bc363f5F9c6E0fcd82EaC6919aE213464Cc6', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4b54Bc363f5F9c6E0fcd82EaC6919aE213464Cc6/logo.png', + name: 'BTC 2x Flexible Leverage Index', + symbol: 'BTC2x-FLI', + }, + { + address: '0x54cFe73f2c7d0c4b62Ab869B473F5512Dc0944D2', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x54cFe73f2c7d0c4b62Ab869B473F5512Dc0944D2/logo.png', + name: 'BZRX Token', + symbol: 'BZRX', + }, + { + address: '0xad01DFfe604CDc172D8237566eE3a3ab6524d4C6', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0xad01DFfe604CDc172D8237566eE3a3ab6524d4C6.jpg', + name: 'C3 Token', + symbol: 'C3', + }, + { + address: '0xD85d1e945766Fea5Eda9103F918Bd915FbCa63E6', + chainId: 137, + decimals: 4, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cel.jpg', + name: 'Celsius', + symbol: 'CEL', + }, + { + address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', + name: 'Cerby Token', + symbol: 'CERBY', + }, + { + address: '0x2e2DDe47952b9c7deFDE7424d00dD2341AD927Ca', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2e2DDe47952b9c7deFDE7424d00dD2341AD927Ca/logo.png', + name: 'ChumHum', + symbol: 'CHUM', + }, + { + address: '0x8DF26a1BD9bD98e2eC506fc9d8009954716A05DC', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8DF26a1BD9bD98e2eC506fc9d8009954716A05DC/logo.png', + name: 'PolyPup Finance', + symbol: 'COLLAR', + }, + { + address: '0x6DdB31002abC64e1479Fc439692F7eA061e78165', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6DdB31002abC64e1479Fc439692F7eA061e78165/logo.png', + name: 'Furucombo', + symbol: 'COMBO', + }, + { + address: '0x8505b9d2254A7Ae468c0E9dd10Ccea3A837aef5c', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8505b9d2254A7Ae468c0E9dd10Ccea3A837aef5c/logo.png', + name: 'Compound', + symbol: 'COMP', + }, + { + address: '0x04f3C4cF2e806da6DF31e80E8A5D121F98eDD61d', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x04f3C4cF2e806da6DF31e80E8A5D121F98eDD61d/logo.png', + name: 'Cream', + symbol: 'CREAM', + }, + { + address: '0x172370d5Cd63279eFa6d502DAB29171933a610AF', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', + name: 'Curve', + symbol: 'CRV', + }, + { + address: '0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x1D607Faa0A51518a7728580C238d912747e71F7a', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1D607Faa0A51518a7728580C238d912747e71F7a/logo.png', + name: 'DATA Economy Index', + symbol: 'DATA', + }, + { + address: '0x8a2870fb69A90000D6439b7aDfB01d4bA383A415', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8a2870fb69A90000D6439b7aDfB01d4bA383A415/logo.png', + name: 'DEGEN Index', + symbol: 'DEGEN', + }, + { + address: '0x3D1D2aFd191b165D140e3E8329E634665fFB0E5e', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3D1D2aFd191b165D140e3E8329E634665fFB0E5e/logo.png', + name: 'Deri Protocol', + symbol: 'DERI', + }, + { + address: '0xE7804D91dfCDE7F776c90043E03eAa6Df87E6395', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xE7804D91dfCDE7F776c90043E03eAa6Df87E6395/logo.png', + name: 'DFX Token', + symbol: 'DFX', + }, + { + address: '0x2a93172c8DCCbfBC60a39d56183B7279a2F647b4', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2a93172c8DCCbfBC60a39d56183B7279a2F647b4/logo.png', + name: 'decentral.games', + symbol: 'DG', + }, + { + address: '0x8C92e38eCA8210f4fcBf17F0951b198Dd7668292', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8C92e38eCA8210f4fcBf17F0951b198Dd7668292/logo.png', + name: 'dHedge DAO Token', + symbol: 'DHT', + }, + { + address: '0xAa9654BECca45B5BDFA5ac646c939C62b527D394', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xAa9654BECca45B5BDFA5ac646c939C62b527D394/logo.png', + name: 'DinoSwap', + symbol: 'DINO', + }, + { + address: '0x61dAECaB65EE2A1D5b6032df030f3fAA3d116Aa7', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x61dAECaB65EE2A1D5b6032df030f3fAA3d116Aa7/logo.png', + name: 'Dark Magic', + symbol: 'DMAGIC', + }, + { + address: '0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369/logo.png', + name: 'DefiPulse Index', + symbol: 'DPI', + }, + { + address: '0x1Ba3510A9ceEb72E5CdBa8bcdDe9647E1f20fB4b', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1Ba3510A9ceEb72E5CdBa8bcdDe9647E1f20fB4b/logo.png', + name: 'Drax', + symbol: 'DRAX', + }, + { + address: '0x0361BdEAB89DF6BBcc52c43589FABba5143d19dD', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0361BdEAB89DF6BBcc52c43589FABba5143d19dD/logo.png', + name: 'dHEDGE Top Index', + symbol: 'dTOP', + }, + { + address: '0x3f717919deF69f81d17b80839bf8af35697ccbFa', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3f717919deF69f81d17b80839bf8af35697ccbFa/logo.png', + name: 'Data Exchange Token', + symbol: 'DTX', + }, + { + address: '0xAcD7B3D9c10e97d0efA418903C0c7669E702E4C0', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xAcD7B3D9c10e97d0efA418903C0c7669E702E4C0/logo.png', + name: 'Eleven.finance', + symbol: 'ELE', + }, + { + address: '0x66d7FDCc7403f18cAE9b0e2e8385649D2AcBC12A', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x66d7FDCc7403f18cAE9b0e2e8385649D2AcBC12A/logo.png', + name: 'ETH 2x Flexible Leverage Index PoS', + symbol: 'ETH2x-FLI', + }, + { + address: '0x3Ad707dA309f3845cd602059901E39C4dcd66473', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/matic/0x3Ad707dA309f3845cd602059901E39C4dcd66473.jpg', + name: 'ETH 2x Flexible Leverage Index', + symbol: 'ETH2X-FLI-P', + }, + { + address: '0x3a3Df212b7AA91Aa0402B9035b098891d276572B', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3a3Df212b7AA91Aa0402B9035b098891d276572B/logo.png', + name: 'Fish', + symbol: 'FISH', + }, + { + address: '0x65A05DB8322701724c197AF82C9CaE41195B0aA8', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x65A05DB8322701724c197AF82C9CaE41195B0aA8/logo.png', + name: 'ShapeShift FOX Token', + symbol: 'FOX', + }, + { + address: '0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89/logo.png', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0x1a3acf6D19267E2d3e7f898f42803e90C9219062', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1a3acf6D19267E2d3e7f898f42803e90C9219062/logo.png', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0xF4B0903774532AEe5ee567C02aaB681a81539e92', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xF4B0903774532AEe5ee567C02aaB681a81539e92/logo.png', + name: 'PolyGaj Token', + symbol: 'GAJ', + }, + { + address: '0xdb725f82818De83e99F1dAc22A9b5B51d3d04DD4', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdb725f82818De83e99F1dAc22A9b5B51d3d04DD4/logo.png', + name: 'Guaranteed Entrance Token', + symbol: 'GET', + }, + { + address: '0x7075cAB6bCCA06613e2d071bd918D1a0241379E2', + chainId: 137, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8444.png', + name: 'Gains Farm v2', + symbol: 'GFARM2', + }, + { + address: '0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7/logo.png', + name: 'Aavegotchi GHST Token', + symbol: 'GHST', + }, + { + address: '0x0d962A1A2A27B402e4D84772dea65Ac8592Eb6bF', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0d962A1A2A27B402e4D84772dea65Ac8592Eb6bF/logo.png', + name: 'Gemstones', + symbol: 'GMS', + }, + { + address: '0xd8cA34fd379d9ca3C6Ee3b3905678320F5b45195', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xd8cA34fd379d9ca3C6Ee3b3905678320F5b45195/logo.png', + name: 'Governance Ohm', + symbol: 'gOHM', + }, + { + address: '0x5fe2B58c013d7601147DcdD68C143A77499f5531', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', + name: 'Graph Token', + symbol: 'GRT', + }, + { + address: '0x057E0bd9B797f9Eeeb8307B35DbC8c12E534c41E', + chainId: 137, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x057E0bd9B797f9Eeeb8307B35DbC8c12E534c41E/logo.png', + name: 'Guru', + symbol: 'GURU', + }, + { + address: '0xc48F61a288A08F1B80c2edd74652e1276B6A168c', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xc48F61a288A08F1B80c2edd74652e1276B6A168c/logo.png', + name: 'Geyser', + symbol: 'GYSR', + }, + { + address: '0x4EaC4c4e9050464067D673102F8E24b2FccEB350', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4EaC4c4e9050464067D673102F8E24b2FccEB350/logo.png', + name: 'Interest-Bearing BTC', + symbol: 'ibBTC', + }, + { + address: '0x4e1581f01046eFDd7a1a2CDB0F82cdd7F71F2E59', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/matic/0x4e1581f01046eFDd7a1a2CDB0F82cdd7F71F2E59.jpg', + name: 'IceToken', + symbol: 'ICE', + }, + { + address: '0xC25351811983818c9Fe6D8c580531819c8ADe90f', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC25351811983818c9Fe6D8c580531819c8ADe90f/logo.png', + name: 'Idle', + symbol: 'IDLE', + }, + { + address: '0xf50D05A1402d0adAfA880D36050736f9f6ee7dee', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xf50D05A1402d0adAfA880D36050736f9f6ee7dee/logo.png', + name: 'Instadapp', + symbol: 'INST', + }, + { + address: '0x8a0e8b4b0903929f47C3ea30973940D4a9702067', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8a0e8b4b0903929f47C3ea30973940D4a9702067/logo.png', + name: 'InsurAce', + symbol: 'INSUR', + }, + { + address: '0xD86b5923F3AD7b585eD81B448170ae026c65ae9a', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xD86b5923F3AD7b585eD81B448170ae026c65ae9a/logo.png', + name: 'IRON Stablecoin', + symbol: 'IRON', + }, + { + address: '0x6AE7Dfc73E0dDE2aa99ac063DcF7e8A63265108c', + chainId: 137, + decimals: 18, + logoURI: 'https://jpyc.jp/static/media/jpyc.0d1e5d3f.png', + name: 'JPY Coin', + symbol: 'JPYC', + }, + { + address: '0x596eBE76e2DB4470966ea395B0d063aC6197A8C5', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x596eBE76e2DB4470966ea395B0d063aC6197A8C5/logo.png', + name: 'Jarvis Reward Token', + symbol: 'JRT', + }, + { + address: '0x4e78011Ce80ee02d2c3e649Fb657E45898257815', + chainId: 137, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4e78011Ce80ee02d2c3e649Fb657E45898257815/logo.png', + name: 'Klima DAO', + symbol: 'KLIMA', + }, + { + address: '0x1C954E8fe737F99f68Fa1CCda3e51ebDB291948C', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1C954E8fe737F99f68Fa1CCda3e51ebDB291948C/logo.png', + name: 'Kyber Network Crystal v2', + symbol: 'KNC', + }, + { + address: '0xC004e2318722EA2b15499D6375905d75Ee5390B8', + chainId: 137, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC004e2318722EA2b15499D6375905d75Ee5390B8/logo.png', + name: 'Kommunitas', + symbol: 'KOM', + }, + { + address: '0x05089C9EBFFa4F0AcA269e32056b1b36B37ED71b', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/krill.jpg', + name: 'Krill', + symbol: 'KRILL', + }, + { + address: '0x1B43b97094Aa3c6Cc678eDb9e28Ac67dAaa7Cc64', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1B43b97094Aa3c6Cc678eDb9e28Ac67dAaa7Cc64/logo.png', + name: 'Liquid ICP', + symbol: 'LICP', + }, + { + address: '0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'ChainLink Token', + symbol: 'LINK', + }, + { + address: '0xA1c57f48F0Deb89f569dFbE6E2B7f46D33606fD4', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xA1c57f48F0Deb89f569dFbE6E2B7f46D33606fD4/logo.png', + name: 'Decentraland MANA', + symbol: 'MANA', + }, + { + address: '0x91cA694d2B293f70Fe722fbA7d8A5259188959c3', + chainId: 137, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/3293/small/hifi_logo.png?1613102742', + name: 'Hifi Finance', + symbol: 'MFT', + }, + { + address: '0x49a0400587A7F65072c87c4910449fDcC5c47242', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/matic/0x49a0400587A7F65072c87c4910449fDcC5c47242.jpg', + name: 'Magic Internet Money', + symbol: 'MIM', + }, + { + address: '0xa3Fa99A148fA48D14Ed51d610c367C61876997F1', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1/logo.png', + name: 'MAI', + symbol: 'miMatic', + }, + { + address: '0x6f7C932e7684666C9fd1d44527765433e01fF61d', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mkr.jpg', + name: 'Maker', + symbol: 'MKR', + }, + { + address: '0x5647Fe4281F8F6F01E84BCE775AD4b828A7b8927', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5647Fe4281F8F6F01E84BCE775AD4b828A7b8927/logo.png', + name: 'Million', + symbol: 'MM', + }, + { + address: '0x5d2375C6af4b7dE4e395ADa20aab937895B4fa70', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x5d2375C6af4b7dE4e395ADa20aab937895B4fa70.jpg', + name: 'MetaSoccer Cash', + symbol: 'MSC', + }, + { + address: '0xe8377A076adAbb3F9838afB77Bee96Eac101ffB1', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xe8377A076adAbb3F9838afB77Bee96Eac101ffB1/logo.png', + name: 'MetaSoccer Universe', + symbol: 'MSU', + }, + { + address: '0xF501dd45a1198C2E1b5aEF5314A68B9006D842E0', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xF501dd45a1198C2E1b5aEF5314A68B9006D842E0/logo.png', + name: 'mStable Governance Token', + symbol: 'MTA', + }, + { + address: '0xfe712251173A2cd5F5bE2B46Bb528328EA3565E1', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xfe712251173A2cd5F5bE2B46Bb528328EA3565E1/logo.png', + name: 'Metaverse Index', + symbol: 'MVI', + }, + { + address: '0x6BCa3B77C1909Ce1a4Ba1A20d1103bDe8d222E48', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x6BCa3B77C1909Ce1a4Ba1A20d1103bDe8d222E48.jpg', + name: 'Nature Based Offset', + symbol: 'NBO', + }, + { + address: '0xDA6f726E2088F129D3Ecb2257206AdF7D8537Ba5', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xDA6f726E2088F129D3Ecb2257206AdF7D8537Ba5.jpg', + name: 'Neos Credits', + symbol: 'NCR', + }, + { + address: '0xD838290e877E0188a4A44700463419ED96c16107', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xD838290e877E0188a4A44700463419ED96c16107/logo.png', + name: 'Nature Carbon Tonne', + symbol: 'NCT', + }, + { + address: '0x41b3966B4FF7b427969ddf5da3627d6AEAE9a48E', + chainId: 137, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/2694.png', + name: 'Nexo', + symbol: 'NEXO', + }, + { + address: '0x76e63a3E7Ba1e2E61D3DA86a87479f983dE89a7E', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x76e63a3E7Ba1e2E61D3DA86a87479f983dE89a7E/logo.png', + name: 'Augury Finance', + symbol: 'OMEN', + }, + { + address: '0xCd150B1F528F326f5194c012f32Eb30135C7C2c9', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xCd150B1F528F326f5194c012f32Eb30135C7C2c9/logo.png', + name: 'OOKI', + symbol: 'OOKI', + }, + { + address: '0x7f426F6Dc648e50464a0392E60E1BB465a67E9cf', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x7f426F6Dc648e50464a0392E60E1BB465a67E9cf/logo.png', + name: 'Orbit Bridge Polygon Token', + symbol: 'pAUTO', + }, + { + address: '0xA9536B9c75A9E0faE3B56a96AC8EdF76AbC91978', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xA9536B9c75A9E0faE3B56a96AC8EdF76AbC91978/logo.png', + name: 'Polygon Ecosystem Index', + symbol: 'PECO', + }, + { + address: '0xd5d84e75f48E75f01fb2EB6dFD8eA148eE3d0FEb', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xd5d84e75f48E75f01fb2EB6dFD8eA148eE3d0FEb/logo.png', + name: 'bZX PGOV Token', + symbol: 'PGOV', + }, + { + address: '0x2b88aD57897A8b496595925F43048301C37615Da', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2b88aD57897A8b496595925F43048301C37615Da/logo.png', + name: 'Pickle Finance', + symbol: 'PICKLE', + }, + { + address: '0x61E9c2F3501889f6167921087Bd6EA306002904a', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x61E9c2F3501889f6167921087Bd6EA306002904a/logo.png', + name: 'Pixel', + symbol: 'PIXEL', + }, + { + address: '0xdC3aCB92712D1D44fFE15d3A8D66d9d18C81e038', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdC3aCB92712D1D44fFE15d3A8D66d9d18C81e038/logo.png', + name: 'Polaris Token', + symbol: 'POLAR', + }, + { + address: '0x4C16f69302CcB511c5Fac682c7626B9eF0Dc126a', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4C16f69302CcB511c5Fac682c7626B9eF0Dc126a/logo.png', + name: 'Polygon Bunny Token', + symbol: 'polyBUNNY', + }, + { + address: '0x8A953CfE442c5E8855cc6c61b1293FA648BAE472', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/doge.jpg', + name: 'PolyDoge', + symbol: 'PolyDoge', + }, + { + address: '0x104592a158490a9228070E0A8e5343B499e125D0', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x104592a158490a9228070E0A8e5343B499e125D0/logo.png', + name: 'Poly Frax', + symbol: 'polyFRAX', + }, + { + address: '0x3e121107F6F22DA4911079845a470757aF4e1A1b', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3e121107F6F22DA4911079845a470757aF4e1A1b/logo.png', + name: 'Poly Frax Share', + symbol: 'polyFXS', + }, + { + address: '0x25788a1a171ec66Da6502f9975a15B609fF54CF6', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x25788a1a171ec66Da6502f9975a15B609fF54CF6/logo.png', + name: 'PoolTogether', + symbol: 'POOL', + }, + { + address: '0xC5B57e9a1E7914FDA753A88f24E5703e617Ee50c', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC5B57e9a1E7914FDA753A88f24E5703e617Ee50c/logo.png', + name: 'Popcorn', + symbol: 'POP', + }, + { + address: '0xe0Ce60AF0850bF54072635e66E79Df17082A1109', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xe0ce60af0850bf54072635e66e79df17082a1109/logo.png', + name: 'Propel', + symbol: 'Propel', + }, + { + address: '0x5d0915f929FC090fd9c843a53e7e30335dD199bc', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5d0915f929FC090fd9c843a53e7e30335dD199bc/logo.png', + name: 'pTREAT', + symbol: 'pTREAT', + }, + { + address: '0x9aF3b7DC29D3C4B1A5731408B6A9656fA7aC3b72', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x9aF3b7DC29D3C4B1A5731408B6A9656fA7aC3b72/logo.png', + name: 'PUSD', + symbol: 'PUSD', + }, + { + address: '0x0527c8C43250279D6Eb74dA1078193f5316fc9a0', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0527c8C43250279D6Eb74dA1078193f5316fc9a0/logo.png', + name: 'PolyQuity Dollar', + symbol: 'PYD', + }, + { + address: '0x5a3064CbDCCF428ae907796cF6aD5a664CD7F3d8', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5a3064CbDCCF428ae907796cF6aD5a664CD7F3d8/logo.png', + name: 'PYQ', + symbol: 'PYQ', + }, + { + address: '0xeb45921FEDaDF41dF0BfCF5c33453aCedDA32441', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xeb45921FEDaDF41dF0BfCF5c33453aCedDA32441/logo.png', + name: 'pZUG', + symbol: 'pZUG', + }, + { + address: '0x580A84C73811E1839F75d86d75d88cCa0c241fF4', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x580A84C73811E1839F75d86d75d88cCa0c241fF4/logo.png', + name: 'Qi Dao', + symbol: 'Qi', + }, + { + address: '0xcd7361ac3307D1C5a46b63086a90742Ff44c63B3', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xcd7361ac3307D1C5a46b63086a90742Ff44c63B3/logo.png', + name: 'Crypto Raider', + symbol: 'RAIDER', + }, + { + address: '0x89C296Be2F904F3e99a6125815b4B78F5388d2dd', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rcn.jpg', + name: 'RipioCreditNetwork', + symbol: 'RCN', + }, + { + address: '0xDBf31dF14B66535aF65AaC99C32e9eA844e14501', + chainId: 137, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xDBf31dF14B66535aF65AaC99C32e9eA844e14501/logo.png', + name: 'Ren BTC', + symbol: 'renBTC', + }, + { + address: '0x2628568509E87c4429fBb5c664Ed11391BE1BD29', + chainId: 137, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2628568509E87c4429fBb5c664Ed11391BE1BD29/logo.png', + name: 'renDGB', + symbol: 'renDGB', + }, + { + address: '0xcE829A89d4A55a63418bcC43F00145adef0eDB8E', + chainId: 137, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xcE829A89d4A55a63418bcC43F00145adef0eDB8E/logo.png', + name: 'Ren DOGE', + symbol: 'renDOGE', + }, + { + address: '0xc4Ace9278e7E01755B670C0838c3106367639962', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xc4Ace9278e7E01755B670C0838c3106367639962/logo.png', + name: 'renFIL', + symbol: 'renFIL', + }, + { + address: '0x263026E7e53DBFDce5ae55Ade22493f828922965', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x263026E7e53DBFDce5ae55Ade22493f828922965/logo.png', + name: 'RIC', + symbol: 'RIC', + }, + { + address: '0xC68e83a305b0FaD69E264A1769a0A070F190D2d6', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC68e83a305b0FaD69E264A1769a0A070F190D2d6/logo.png', + name: 'Polyroll Token', + symbol: 'ROLL', + }, + { + address: '0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4', + chainId: 137, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8292.png', + name: 'Router Protocol', + symbol: 'ROUTE', + }, + { + address: '0xBbba073C31bF03b8ACf7c28EF0738DeCF3695683', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sand.jpg', + name: 'SAND', + symbol: 'SAND', + }, + { + address: '0x50B728D8D964fd00C2d0AAD81718b71311feF68a', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', + name: 'Synthetix Network Token', + symbol: 'SNX', + }, + { + address: '0x8c059898ca6274750b6bF1cf38F2848347C490cc', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x8c059898ca6274750b6bF1cf38F2848347C490cc.jpg', + name: 'SOS (PoS)', + symbol: 'SOS', + }, + { + address: '0xf5EA626334037a2cf0155D49eA6462fDdC6Eff19', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xf5EA626334037a2cf0155D49eA6462fDdC6Eff19/logo.png', + name: 'PolygonFarm Finance', + symbol: 'SPADE', + }, + { + address: '0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590.jpg', + name: 'StargateToken', + symbol: 'STG', + }, + { + address: '0x08BE454de533509e8832B257116C5506E55b0b64', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x08BE454de533509e8832B257116C5506E55b0b64/logo.png', + name: 'Standard', + symbol: 'STND', + }, + { + address: '0x0b3F868E0BE5597D5DB7fEB59E1CADBb0fdDa50a', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x840195888Db4D6A99ED9F73FcD3B225Bb3cB1A79', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x840195888Db4D6A99ED9F73FcD3B225Bb3cB1A79/logo.png', + name: 'SportX', + symbol: 'SX', + }, + { + address: '0xdF7837DE1F2Fa4631D716CF2502f8b230F1dcc32', + chainId: 137, + decimals: 2, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdF7837DE1F2Fa4631D716CF2502f8b230F1dcc32/logo.png', + name: 'Telcoin', + symbol: 'TEL', + }, + { + address: '0x255707B70BF90aa112006E1b07B9AeA6De021424', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x255707B70BF90aa112006E1b07B9AeA6De021424/logo.png', + name: 'TETU Reward Token', + symbol: 'TETU', + }, + { + address: '0xaAa5B9e6c589642f98a1cDA99B9D024B8407285A', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xaAa5B9e6c589642f98a1cDA99B9D024B8407285A/logo.png', + name: 'IRON Titanium', + symbol: 'TITAN', + }, + { + address: '0x23fE1Ee2f536427B7e8aC02FB037A7f867037Fe8', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x23fE1Ee2f536427B7e8aC02FB037A7f867037Fe8/logo.png', + name: 'Tornado Cash', + symbol: 'TORN', + }, + { + address: '0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756/logo.png', + name: 'TrueUSD', + symbol: 'TUSD', + }, + { + address: '0x12a34A6759c871C4C1E8A0A42CFc97e4D7Aaf68d', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x12a34A6759c871C4C1E8A0A42CFc97e4D7Aaf68d/logo.png', + name: 'Tutellus Token', + symbol: 'TUT', + }, + { + address: '0x2B3eCb0991AF0498ECE9135bcD04013d7993110c', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x2B3eCb0991AF0498ECE9135bcD04013d7993110c.jpg', + name: 'Universal Basic Offset', + symbol: 'UBO', + }, + { + address: '0x3066818837c5e6eD6601bd5a91B0762877A6B731', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3066818837c5e6eD6601bd5a91B0762877A6B731/logo.png', + name: 'UMA Voting Token', + symbol: 'UMA', + }, + { + address: '0xb33EaAd8d922B1083446DC23f610c2567fB5180f', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174', + chainId: 137, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F', + chainId: 137, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0xAC63686230f64BDEAF086Fe6764085453ab3023F', + chainId: 137, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xAC63686230f64BDEAF086Fe6764085453ab3023F/logo.png', + name: 'Universal Store of Value', + symbol: 'USV', + }, + { + address: '0xd0258a3fD00f38aa8090dfee343f10A9D4d30D3F', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xd0258a3fD00f38aa8090dfee343f10A9D4d30D3F/logo.png', + name: 'VOXEL Token', + symbol: 'VOXEL', + }, + { + address: '0x29F1e986FCa02B7E54138c04C4F503DdDD250558', + chainId: 137, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x29F1e986FCa02B7E54138c04C4F503DdDD250558.jpg', + name: 'VSQ', + symbol: 'VSQ', + }, + { + address: '0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034/logo.png', + name: 'Wrapped Banano', + symbol: 'wBAN', + }, + { + address: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6', + chainId: 137, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'Wrapped BTC', + symbol: 'WBTC', + }, + { + address: '0x137Ee749f0F8c2eD34cA00dE33BB59E3dafA494A', + chainId: 137, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x137Ee749f0F8c2eD34cA00dE33BB59E3dafA494A/logo.png', + name: 'WrappedConceal', + symbol: 'wCCX', + }, + { + address: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0xEde1B77C0Ccc45BFa949636757cd2cA7eF30137F', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', + name: 'Wrapped Filecoin', + symbol: 'wFIL', + }, + { + address: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg', + name: 'Wrapped Matic', + symbol: 'WMATIC', + }, + { + address: '0x8f18dC399594b451EdA8c5da02d0563c0b2d0f16', + chainId: 137, + decimals: 9, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/9158.png', + name: 'Moonwolf', + symbol: 'WOLF', + }, + { + address: '0x1B815d120B3eF02039Ee11dC2d33DE7aA4a8C603', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4691937a7508860F876c9c0a2a617E7d9E945D4B/logo.png', + name: 'Wootrade', + symbol: 'WOO', + }, + { + address: '0xD0660cD418a64a1d44E9214ad8e459324D8157f1', + chainId: 137, + decimals: 12, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xD0660cD418a64a1d44E9214ad8e459324D8157f1/logo.png', + name: 'Woofy', + symbol: 'WOOFY', + }, + { + address: '0x6002410dDA2Fb88b4D0dc3c1D562F7761191eA80', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6002410dDA2Fb88b4D0dc3c1D562F7761191eA80/logo.png', + name: 'The Employment Commons Work Token', + symbol: 'WORK', + }, + { + address: '0x855D4248672a1fCE482165e8DBE1207b94b1968a', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', + name: 'WOWSwap', + symbol: 'WOW', + }, + { + address: '0x46D502Fac9aEA7c5bC7B13C8Ec9D02378C33D36F', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x46D502Fac9aEA7c5bC7B13C8Ec9D02378C33D36F/logo.png', + name: 'WolfSafePoorPeople', + symbol: 'WSPP', + }, + { + address: '0x02649C1Ff4296038De4b9bA8F491b42b940A8252', + chainId: 137, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x02649C1Ff4296038De4b9bA8F491b42b940A8252/logo.png', + name: 'Exchange Genesis Ethlas Medium', + symbol: 'XGEM', + }, + { + address: '0x6811079E3c63ED96Eb005384d7E7ec8810E3D521', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xsushi.jpg', + name: 'SushiBar', + symbol: 'xSUSHI', + }, + { + address: '0xb8cb8a7F4C2885C03e57E973C74827909Fdc2032', + chainId: 137, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', + name: 'yearn.finance', + symbol: 'YFI', + }, + { + address: '0x6a07A792ab2965C72a5B8088d3a069A7aC3a993B', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', + name: 'Aave', + symbol: 'AAVE', + }, + { + address: '0x46E7628E8b4350b2716ab470eE0bA1fa9e76c6C5', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', + name: 'Band', + symbol: 'BAND', + }, + { + address: '0x5A33869045db8A6a16c9f351293501CFD92cf7ed', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x69570f3E84f51Ea70b7B68055c8d667e77735a25.jpg', + name: 'Betswap.gg', + symbol: 'BSGG', + }, + { + address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fantom/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', + name: 'Cerby Token', + symbol: 'CERBY', + }, + { + address: '0xB01E8419d842beebf1b70A7b5f7142abbaf7159D', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cover.jpg', + name: 'Cover', + symbol: 'COVER', + }, + { + address: '0x657A1861c15A3deD9AF0B6799a195a249ebdCbc6', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', + name: 'Cream', + symbol: 'CREAM', + }, + { + address: '0x1E4F97b9f9F913c46F1632781732927B9019C68b', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', + name: 'Curve DAO', + symbol: 'CRV', + }, + { + address: '0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x078EEF5A2fb533e1a4d487ef64b27DF113d12C32', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', + name: 'fBAND', + symbol: 'fBAND', + }, + { + address: '0x27f26F00e1605903645BbaBC0a73E35027Dccd45', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', + name: 'fBNB', + symbol: 'fBNB', + }, + { + address: '0xe1146b9AC456fCbB60644c36Fd3F868A9072fc6E', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'fBTC', + symbol: 'fBTC', + }, + { + address: '0x81740D647493a61329E1c574A11ee7577659fb14', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fchf.jpg', + name: 'fCHF', + symbol: 'fCHF', + }, + { + address: '0x24d39324CF3697Fd9Fd78714E8cdeB5Df66E3DCd', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fcny.jpg', + name: 'fCNY', + symbol: 'fCNY', + }, + { + address: '0x658b0c7613e890EE50B8C4BC6A3f41ef411208aD', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'fETH', + symbol: 'fETH', + }, + { + address: '0xe105621721D1293c27be7718e041a4Ce0EbB227E', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/feur.jpg', + name: 'fEUR', + symbol: 'fEUR', + }, + { + address: '0xcDE58e4B6c7b78B04da664Edb0a9752CC5FEDBd5', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fgbp.jpg', + name: 'fGBP', + symbol: 'fGBP', + }, + { + address: '0x2202C52C9076A49400aaccf159e1956269eaa673', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fgold.jpg', + name: 'fGold', + symbol: 'fGOLD', + }, + { + address: '0x3B74389bc23057325BaB96523DBec8c445F55799', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fjpy.jpg', + name: 'fJPY', + symbol: 'fJPY', + }, + { + address: '0x2b9C073Ec670b70F417bbaf3BbB052AA563A0a23', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fkrw.jpg', + name: 'fKRW', + symbol: 'fKRW', + }, + { + address: '0xA649A19423052dC6b320360B3C760884E095AC57', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/flink.jpg', + name: 'fLINK', + symbol: 'fLINK', + }, + { + address: '0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0xf15e88EEf35BF4709A4C3E99c00358F9247D4531', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fsilver.jpg', + name: 'fSilver', + symbol: 'fSILVER', + }, + { + address: '0xAd84341756Bf337f5a0164515b1f6F993D194E1f', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fusd.jpg', + name: 'Fantom USD', + symbol: 'fUSD', + }, + { + address: '0x049d68029688eAbF473097a2fC38ef61633A3C7A', + chainId: 250, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Frapped USDT', + symbol: 'fUSDT', + }, + { + address: '0xe297e06761a5489380538A0308B6F9b4A53Bea45', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fwtioil.jpg', + name: 'fWTI Oil', + symbol: 'fWTIOIL', + }, + { + address: '0x7d016eec9c25232b01F23EF992D98ca97fc2AF5a', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0x44B26E839eB3572c5E959F994804A5De66600349', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/hegic.jpg', + name: 'Hegic', + symbol: 'HEGIC', + }, + { + address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fantom/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', + name: 'Hundred Finance', + symbol: 'HND', + }, + { + address: '0xf16e81dce15B08F326220742020379B855B87DF9', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0xf16e81dce15B08F326220742020379B855B87DF9.jpg', + name: 'IceToken', + symbol: 'ICE', + }, + { + address: '0x2A5062D22adCFaAfbd5C541d4dA82E4B450d4212', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/kp3r.jpg', + name: 'Keep3r', + symbol: 'KP3R', + }, + { + address: '0xc2A45FE7d40bCAc8369371B08419DDAFd3131b4a', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0xc2A45FE7d40bCAc8369371B08419DDAFd3131b4a.jpg', + name: 'Lucidao Token', + symbol: 'LCD', + }, + { + address: '0xb3654dc3D10Ea7645f8319668E8F54d2574FBdC8', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'ChainLink', + symbol: 'LINK', + }, + { + address: '0x82f0B8B456c1A451378467398982d4834b6829c1', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0x82f0B8B456c1A451378467398982d4834b6829c1.jpg', + name: 'Magic Internet Money', + symbol: 'MIM', + }, + { + address: '0x7f620d7d0b3479b1655cEFB1B0Bc67fB0EF4E443', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0x7f620d7d0b3479b1655cEFB1B0Bc67fB0EF4E443.png', + name: 'NICE', + symbol: 'nICE', + }, + { + address: '0x31A47B49b4DBDC54d403b8c4880Ac9BB1A9EbAE8', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fantom/assets/0x31A47B49b4DBDC54d403b8c4880Ac9BB1A9EbAE8/logo.png', + name: 'Pooch', + symbol: 'POOCH', + }, + { + address: '0x01c3D9CbcF40482ba0D5206f63e3f04Ef9e134D9', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sfi.jpg', + name: 'Spice', + symbol: 'SFI', + }, + { + address: '0x69c744D3444202d35a2783929a0F930f2FBB05ad', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sftm.jpg', + name: 'Staked FTM', + symbol: 'sFTM', + }, + { + address: '0x56ee926bD8c72B2d5fa1aF4d9E4Cbb515a1E3Adc', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', + name: 'Synthetix Network', + symbol: 'SNX', + }, + { + address: '0x468003B688943977e6130F4F68F23aad939a1040', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0x468003B688943977e6130F4F68F23aad939a1040.jpg', + name: 'Spell', + symbol: 'SPELL', + }, + { + address: '0xbB29D2A58d880Af8AA5859e30470134dEAf84F2B', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0xbB29D2A58d880Af8AA5859e30470134dEAf84F2B.jpg', + name: 'Staked Spell', + symbol: 'sSPELL', + }, + { + address: '0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590', + chainId: 250, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/fantom/0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590.jpg', + name: 'StargateToken', + symbol: 'STG', + }, + { + address: '0x0E1694483eBB3b74d3054E383840C6cf011e518e', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/susd.jpg', + name: 'Synth sUSD', + symbol: 'sUSD', + }, + { + address: '0xae75A438b2E0cB8Bb01Ec1E1e376De11D44477CC', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'Sushi', + symbol: 'SUSHI', + }, + { + address: '0x04068DA6C83AFCFA0e13ba15A6696662335D5B75', + chainId: 250, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0x321162Cd933E2Be498Cd2267a90534A804051b11', + chainId: 250, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wbtc.jpg', + name: 'Wrapped Bitcoin', + symbol: 'WBTC', + }, + { + address: '0x74b23882a30290451A17c44f4F05243b6b58C76d', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ftm.jpg', + name: 'Wrapped Fantom', + symbol: 'WFTM', + }, + { + address: '0x29b0Da86e484E1C0029B56e817912d778aC0EC69', + chainId: 250, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', + name: 'yearn.finance', + symbol: 'YFI', + }, + { + address: '0x5B2DA6F42CA09C77D577a12BeaD0446148830687', + chainId: 256, + decimals: 18, + logoURI: 'https://hecoinfo.com/token/images/HT_32.png', + name: 'Wrapped HT', + symbol: 'WHT', + }, + { + address: '0x2C78f1b70Ccf63CDEe49F9233e9fAa99D43AA07e', + chainId: 1284, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'Sushi', + symbol: 'anySUSHI', + }, + { + address: '0xc234A67a4F840E61adE794be47de455361b52413', + chainId: 1284, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x322E86852e492a7Ee17f28a78c663da38FB33bfb', + chainId: 1284, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0x2CC0A9D8047A5011dEfe85328a6f26968C8aaA1C', + chainId: 1284, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0x8f552a71EFE5eeFc207Bf75485b356A0b3f01eC9', + chainId: 1284, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0x8e70cD5B4Ff3f62659049e74b6649c6603A0E594', + chainId: 1284, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0x085416975fe14C2A731a97eC38B9bF8135231F62', + chainId: 1284, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ust.jpg', + name: 'TerraUSD', + symbol: 'UST', + }, + { + address: '0x1DC78Acda13a8BC4408B207c9E48CDBc096D95e0', + chainId: 1284, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'Wrapped Bitcoin', + symbol: 'WBTC', + }, + { + address: '0x30D2a9F5FDf90ACe8c17952cbb4eE48a55D916A7', + chainId: 1284, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0xAcc15dC74880C9944775448304B263D191c6077F', + chainId: 1284, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/6836.png', + name: 'Wrapped Glimmer', + symbol: 'WGLMR', + }, + { + address: '0xf27Ee99622C3C9b264583dACB2cCE056e194494f', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', + name: 'Aave - AnySwap', + symbol: 'AAVE', + }, + { + address: '0x3D2D044E8C6dAd46b4F7896418d3d4DFaAD902bE', + chainId: 1285, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/moonriver/0x3D2D044E8C6dAd46b4F7896418d3d4DFaAD902bE.jpg', + name: 'Alpha Rome', + symbol: 'aROME', + }, + { + address: '0x14a0243C333A5b238143068dC3A7323Ba4C30ECB', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/avax.jpg', + name: 'Avax - AnySwap', + symbol: 'AVAX', + }, + { + address: '0xC2392DD3e3fED2c8Ed9f7f0bDf6026fcd1348453', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/m00nbeans/images/main/moonbeans.png', + name: 'MoonBeans', + symbol: 'BEANS', + }, + { + address: '0xCb4a593ce512D78162C58384f0b2Fd6e802c2c47', + chainId: 1285, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/moonriver/assets/0xCb4a593ce512D78162C58384f0b2Fd6e802c2c47/logo.png', + name: 'BEPRO Network', + symbol: 'BEPRO', + }, + { + address: '0x173fd7434B8B50dF08e3298f173487ebDB35FD14', + chainId: 1285, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x173fd7434B8B50dF08e3298f173487ebDB35FD14/logo.png', + name: 'Beefy Finance', + symbol: 'BIFI', + }, + { + address: '0x868892CCcEdbfF0B028F3b3595205Ea91b99376B', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', + name: 'BNB - Meter', + symbol: 'BNB', + }, + { + address: '0x5D9ab5522c64E1F6ef5e3627ECCc093f56167818', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', + name: 'Binance USD - AnySwap', + symbol: 'BUSD', + }, + { + address: '0xFEa7a6a0B346362BF88A9e4A88416B77a57D6c2A', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', + name: 'Curve DAO Token - AnySwap', + symbol: 'CRV', + }, + { + address: '0x80A16016cC4A2E6a2CACA8a4a498b1699fF0f844', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Dai Stablecoin - AnySwap', + symbol: 'DAI', + }, + { + address: '0x1A93B23281CC1CDE4C4741353F3064709A16197d', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0xaD12daB5959f30b9fF3c2d6709f53C335dC39908', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/network/fantom.jpg', + name: 'Fantom', + symbol: 'FTM', + }, + { + address: '0x6f1D1Ee50846Fcbc3de91723E61cb68CFa6D0E98', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0x0dCb0CB0120d355CdE1ce56040be57Add0185BAa', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'ChainLink Token - AnySwap', + symbol: 'LINK', + }, + { + address: '0x7f5a79576620C046a293F54FFCdbd8f2468174F1', + chainId: 1285, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1/logo.png', + name: 'Mai MiMatic', + symbol: 'MAI', + }, + { + address: '0x682F81e57EAa716504090C3ECBa8595fB54561D8', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/matic.jpg', + name: 'Matic - AnySwap', + symbol: 'MATIC', + }, + { + address: '0x0caE51e1032e8461f4806e26332c030E34De3aDb', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mim.jpg', + name: 'Magic Internet Money - AnySwap', + symbol: 'MIM', + }, + { + address: '0x1e24EC84F66cd26Dad607d81796DbeB13Cb22692', + chainId: 1285, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/solarbeamio/assets/master/blockchains/moonriver/assets/0x1e24EC84F66cd26Dad607d81796DbeB13Cb22692/logo.png', + name: 'Meter Governance', + symbol: 'MTRG', + }, + { + address: '0x8b29344f368b5FA35595325903fE0eAab70C8E1F', + chainId: 1285, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/moonriver/assets/0x8b29344f368b5FA35595325903fE0eAab70C8E1F/logo.png', + name: 'Polkamarkets', + symbol: 'POLK', + }, + { + address: '0xAd7F1844696652ddA7959a49063BfFccafafEfe7', + chainId: 1285, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/solarbeamio/assets/master/blockchains/moonriver/assets/0xAd7F1844696652ddA7959a49063BfFccafafEfe7/logo.png', + name: 'Relay', + symbol: 'RELAY', + }, + { + address: '0x5D4360f1Be94bD6f182F09cFE5EF9832e65EB1ac', + chainId: 1285, + decimals: 18, + logoURI: 'https://rivrdoge.com/wp-content/uploads/2021/09/logo.png', + name: 'RivrDoge', + symbol: 'RivrDoge', + }, + { + address: '0x3d593056F3e34dB7A4720d7F171447C489CFa195', + chainId: 1285, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/moonriver/assets/0x3d593056F3e34dB7A4720d7F171447C489CFa195/logo.png', + name: 'Rivr Shiba', + symbol: 'RIVRSHIBA', + }, + { + address: '0x4a436073552044D5f2f49B176853ad3Ad473d9d6', + chainId: 1285, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/moonriver/0x4a436073552044D5f2f49B176853ad3Ad473d9d6.jpg', + name: 'Rome', + symbol: 'ROME', + }, + { + address: '0xF480f38C366dAaC4305dC484b2Ad7a496FF00CeA', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', + name: 'Synthetix Network Token - AnySwap', + symbol: 'SNX', + }, + { + address: '0xFfc7780C34B450d917d557E728f033033CB4fA8C', + chainId: 1285, + decimals: 12, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/moonriver/0xFfc7780C34B450d917d557E728f033033CB4fA8C.jpg', + name: 'Liquid staked KSM', + symbol: 'stKSM', + }, + { + address: '0xf390830DF829cf22c53c8840554B98eafC5dCBc2', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'SushiToken - AnySwap', + symbol: 'SUSHI', + }, + { + address: '0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D', + chainId: 1285, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin - AnySwap', + symbol: 'USDC', + }, + { + address: '0xB44a9B6905aF7c801311e8F4E76932ee959c663C', + chainId: 1285, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Tether USD - AnySwap', + symbol: 'USDT', + }, + { + address: '0xE6a991Ffa8CfE62B0bf6BF72959A3d4f11B2E0f5', + chainId: 1285, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'Wrapped Bitcoin - Meter', + symbol: 'WBTC', + }, + { + address: '0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Wrapped Ether - AnySwap', + symbol: 'WETH', + }, + { + address: '0xf50225a84382c74CbdeA10b0c176f71fc3DE0C4d', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/movr.jpg', + name: 'Wrapped Moonriver', + symbol: 'WMOVR', + }, + { + address: '0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080', + chainId: 1285, + decimals: 12, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/moonriver/0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080.jpg', + name: 'xcKSM', + symbol: 'xcKSM', + }, + { + address: '0x375488F097176507e39B9653b88FDc52cDE736Bf', + chainId: 1285, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', + name: 'yearn.finance - AnySwap', + symbol: 'YFI', + }, + { + address: '0xd222a876B303dAe4F8e2099ba3B26ECB5A1b8521', + chainId: 1287, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/6836.png', + name: 'Custom ERC20 Token', + symbol: 'ERC20S', + }, + { + address: '0xe73763DB808ecCDC0E36bC8E32510ED126910394', + chainId: 1287, + decimals: 18, + logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/6836.png', + name: 'Wrapped Glimmer', + symbol: 'WGLMR', + }, + { + address: '0x91ea991bd52EE3C40EdA2509701d905e1Ee54074', + chainId: 4002, + decimals: 18, + logoURI: 'https://cdn.worldvectorlogo.com/logos/usd-1.svg', + name: 'Fantom USD', + symbol: 'FUSD', + }, + { + address: '0xf1277d1Ed8AD466beddF92ef448A132661956621', + chainId: 4002, + decimals: 18, + logoURI: 'https://cryptologos.cc/logos/fantom-ftm-logo.svg?v=003', + name: 'Wrapped Fantom', + symbol: 'WFTM', + }, + { + address: '0x155f0DD04424939368972f4e1838687d6a831151', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/doge.jpg', + name: 'ArbiDoge', + symbol: 'ADoge', + }, + { + address: '0x0e15258734300290a651FdBAe8dEb039a8E7a2FA', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alch.jpg', + name: 'Alchemy', + symbol: 'ALCH', + }, + { + address: '0x1a7BD9EDC36Fb2b3c0852bcD7438c2A957Fd7Ad5', + chainId: 42161, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/ArbiMoonXyz/MyFiles/main/arbimoon.jpg', + name: 'ArbiMoon', + symbol: 'aMoon', + }, + { + address: '0x9f20de1fc9b161b34089cbEAE888168B44b03461', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x9f20de1fc9b161b34089cbEAE888168B44b03461/logo.png', + name: 'Arbis', + symbol: 'ARBIS', + }, + { + address: '0x09ad12552ec45f82bE90B38dFE7b06332A680864', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x09ad12552ec45f82bE90B38dFE7b06332A680864/logo.png', + name: 'Adamant Token', + symbol: 'ARBY', + }, + { + address: '0x86A1012d437BBFf84fbDF62569D12d4FD3396F8c', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x86A1012d437BBFf84fbDF62569D12d4FD3396F8c/logo.png', + name: 'Arbys', + symbol: 'ARBYS', + }, + { + address: '0xA6219B4Bf4B861A2b1C02da43b2aF266186eDC04', + chainId: 42161, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xA6219B4Bf4B861A2b1C02da43b2aF266186eDC04/logo.png', + name: 'ArVault', + symbol: 'ARVAULT', + }, + { + address: '0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bal.jpg', + name: 'Balancer', + symbol: 'BAL', + }, + { + address: '0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE/logo.png', + name: 'Beefy Finance', + symbol: 'BIFI', + }, + { + address: '0xAFD871f684F21Ab9D7137608C71808f83D75e6fc', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xAFD871f684F21Ab9D7137608C71808f83D75e6fc/logo.png', + name: 'Arbucks', + symbol: 'BUCK', + }, + { + address: '0x031d35296154279DC1984dCD93E392b1f946737b', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cap.jpg', + name: 'Cap', + symbol: 'CAP', + }, + { + address: '0x3a8B787f78D775AECFEEa15706D4221B40F345AB', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celr.jpg', + name: 'CelerToken', + symbol: 'CELR', + }, + { + address: '0x354A6dA3fcde098F8389cad84b0182725c6C91dE', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/comp.jpg', + name: 'Compound', + symbol: 'COMP', + }, + { + address: '0xf4D48Ce3ee1Ac3651998971541bAdbb9A14D7234', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', + name: 'Cream', + symbol: 'CREAM', + }, + { + address: '0xc136E6B376a9946B156db1ED3A34b08AFdAeD76d', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xc136E6B376a9946B156db1ED3A34b08AFdAeD76d/logo.png', + name: 'CreDA Protocol Token', + symbol: 'CREDA', + }, + { + address: '0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', + name: 'Curve DAO Token', + symbol: 'CRV', + }, + { + address: '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1/logo.png', + name: 'DAI Stablecoin', + symbol: 'DAI', + }, + { + address: '0x69Eb4FA4a2fbd498C257C57Ea8b7655a2559A581', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dodo.jpg', + name: 'DODO bird', + symbol: 'DODO', + }, + { + address: '0x4425742F1EC8D98779690b5A3A6276Db85Ddc01A', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBAac2B4491727D78D2b78815144570b9f2Fe8899/logo.png', + name: 'The Doge NFT', + symbol: 'DOG', + }, + { + address: '0x6C2C06790b3E3E3c38e12Ee22F8183b37a13EE55', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x6C2C06790b3E3E3c38e12Ee22F8183b37a13EE55/logo.png', + name: 'Dopex Governance Token', + symbol: 'DPX', + }, + { + address: '0xF0B5cEeFc89684889e5F7e0A7775Bd100FcD3709', + chainId: 42161, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF0B5cEeFc89684889e5F7e0A7775Bd100FcD3709/logo.png', + name: 'DigitalDollar', + symbol: 'DUSD', + }, + { + address: '0xA7Aa2921618e3D63dA433829d448b58C9445A4c3', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xDDdddd4301A082e62E84e43F474f044423921918/logo.png', + name: 'DeversiFi Token', + symbol: 'DVF', + }, + { + address: '0xC3Ae0333F0F34aa734D5493276223d95B8F9Cb37', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dxd.jpg', + name: 'DXdao', + symbol: 'DXD', + }, + { + address: '0x969131D8ddC06C2Be11a13e6E7fACF22CF57d95e', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eux.jpg', + name: 'dForce EUR', + symbol: 'EUX', + }, + { + address: '0x876Ec6bE52486Eeec06bc06434f3E629D695c6bA', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x876Ec6bE52486Eeec06bc06434f3E629D695c6bA/logo.png', + name: 'FluidFi', + symbol: 'FLUID', + }, + { + address: '0x2338a5d62E9A766289934e8d2e83a443e8065b83', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0x2338a5d62E9A766289934e8d2e83a443e8065b83.jpg', + name: 'Flux Protocol', + symbol: 'FLUX', + }, + { + address: '0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0xBDeF0E9ef12E689F366fe494A7A7D0dad25D9286', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fuse.jpg', + name: 'Fuse Token', + symbol: 'FUSE', + }, + { + address: '0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0x590020B1005b8b25f1a2C82c5f743c540dcfa24d', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/gmx.jpg', + name: 'GMX', + symbol: 'GMX', + }, + { + address: '0xa0b862F60edEf4452F25B4160F177db44DeB6Cf1', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/gno.jpg', + name: 'Gnosis Token', + symbol: 'GNO', + }, + { + address: '0x8D9bA570D6cb60C7e3e0F31343Efe75AB8E65FB1', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x8D9bA570D6cb60C7e3e0F31343Efe75AB8E65FB1/logo.png', + name: 'Governance OHM', + symbol: 'gOHM', + }, + { + address: '0x23A941036Ae778Ac51Ab04CEa08Ed6e2FE103614', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', + name: 'Graph Token', + symbol: 'GRT', + }, + { + address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', + name: 'Hundred Finance', + symbol: 'HND', + }, + { + address: '0xCB58418Aa51Ba525aEF0FE474109C0354d844b7c', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0xCB58418Aa51Ba525aEF0FE474109C0354d844b7c.jpg', + name: 'Ice Token', + symbol: 'ICE', + }, + { + address: '0xB41bd4C99dA73510d9e081C5FADBE7A27Ac1F814', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xB41bd4C99dA73510d9e081C5FADBE7A27Ac1F814/logo.png', + name: 'Ideamarket', + symbol: 'IMO', + }, + { + address: '0xF018865b26fFAb9cd1735DCca549D95b0CB9Ea19', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0xF018865b26fFAb9cd1735DCca549D95b0CB9Ea19.jpg', + name: 'Jones DPX', + symbol: 'jDPX', + }, + { + address: '0x662d0f9Ff837A51cF89A1FE7E0882a906dAC08a3', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x662d0f9Ff837A51cF89A1FE7E0882a906dAC08a3.jpg', + name: 'Jones ETH', + symbol: 'jETH', + }, + { + address: '0x5375616bB6c52A90439fF96882a986d8FCdCe421', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x5375616bB6c52A90439fF96882a986d8FCdCe421.jpg', + name: 'Jones gOHM', + symbol: 'jgOHM', + }, + { + address: '0x10393c20975cF177a3513071bC110f7962CD67da', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x10393c20975cF177a3513071bC110f7962CD67da.jpg', + name: 'Jones DAO', + symbol: 'JONES', + }, + { + address: '0x1f6Fa7A58701b3773b08a1a16D06b656B0eCcb23', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x1f6Fa7A58701b3773b08a1a16D06b656B0eCcb23.jpg', + name: 'Jones rDPX', + symbol: 'jrDPX', + }, + { + address: '0xf97f4df75117a78c1A5a0DBb814Af92458539FB4', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'ChainLink Token', + symbol: 'LINK', + }, + { + address: '0x539bdE0d7Dbd336b79148AA742883198BBF60342', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x539bdE0d7Dbd336b79148AA742883198BBF60342/logo.png', + name: 'MAGIC', + symbol: 'MAGIC', + }, + { + address: '0x8eD4191F81F1e1D24a8a1195267D024d9358c9d7', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/Magnethereum/MyFiles/main/magnethereum.jpg', + name: 'Magnethereum', + symbol: 'MAGNET', + }, + { + address: '0x99F40b01BA9C469193B360f72740E416B17Ac332', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/math.jpg', + name: 'MATH Token', + symbol: 'MATH', + }, + { + address: '0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mcb.jpg', + name: 'MCDEX Token', + symbol: 'MCB', + }, + { + address: '0xFEa7a6a0B346362BF88A9e4A88416B77a57D6c2A', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mim.jpg', + name: 'Magic Internet Money', + symbol: 'MIM', + }, + { + address: '0x2e9a6Df78E42a30712c10a9Dc4b1C8656f8F2879', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mkr.jpg', + name: 'Maker', + symbol: 'MKR', + }, + { + address: '0xeD3fB761414DA74b74F33e5c5a1f78104b188DfC', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/nyan.jpg', + name: 'ArbiNYAN', + symbol: 'NYAN', + }, + { + address: '0xEe9801669C6138E84bD50dEB500827b776777d28', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xEe9801669C6138E84bD50dEB500827b776777d28/logo.png', + name: 'O3 Swap Token', + symbol: 'O3', + }, + { + address: '0x3642c0680329ae3e103E2B5AB29DDfed4d43CBE5', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pl2.jpg', + name: 'Plenny', + symbol: 'PL2', + }, + { + address: '0x78055dAA07035Aa5EBC3e5139C281Ce6312E1b22', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x78055dAA07035Aa5EBC3e5139C281Ce6312E1b22/logo.png', + name: 'Parrot Egg', + symbol: 'PPEGG', + }, + { + address: '0x51fC0f6660482Ea73330E414eFd7808811a57Fa2', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/premia.jpg', + name: 'Premia', + symbol: 'PREMIA', + }, + { + address: '0x32Eb7902D4134bf98A28b963D26de779AF92A212', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x32Eb7902D4134bf98A28b963D26de779AF92A212.jpg', + name: 'Dopex Rebate Token', + symbol: 'RDPX', + }, + { + address: '0xef888bcA6AB6B1d26dbeC977C455388ecd794794', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rgt.jpg', + name: 'Rari Governance Token', + symbol: 'RGT', + }, + { + address: '0x7bA4a00d54A07461D9DB2aEF539e91409943AdC9', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sdt.jpg', + name: 'Stake DAO Token', + symbol: 'SDT', + }, + { + address: '0x3E6648C5a70A150A88bCE65F4aD4d506Fe15d2AF', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0x3E6648C5a70A150A88bCE65F4aD4d506Fe15d2AF.jpg', + name: 'Spell Token', + symbol: 'SPELL', + }, + { + address: '0xF7428FFCb2581A2804998eFbB036A43255c8A8D3', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0xF7428FFCb2581A2804998eFbB036A43255c8A8D3.jpg', + name: 'Staked Spell Token', + symbol: 'sSPELL', + }, + { + address: '0x6694340fc020c5E6B96567843da2df01b2CE1eb6', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x6694340fc020c5E6B96567843da2df01b2CE1eb6.jpg', + name: 'StargateToken', + symbol: 'STG', + }, + { + address: '0x326c33FD1113c1F29B35B4407F3d6312a8518431', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x326c33FD1113c1F29B35B4407F3d6312a8518431/logo.png', + name: 'Strips Token', + symbol: 'STRP', + }, + { + address: '0xA970AF1a584579B618be4d69aD6F73459D112F95', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/susd.jpg', + name: 'Synth sUSD', + symbol: 'sUSD', + }, + { + address: '0xd4d42F0b6DEF4CE0383636770eF773390d85c61A', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0x955b9fe60a5b5093df9Dc4B1B18ec8e934e77162', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/swpr.jpg', + name: 'Swapr', + symbol: 'SWPR', + }, + { + address: '0xA72159FC390f0E3C6D415e658264c7c4051E9b87', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xA72159FC390f0E3C6D415e658264c7c4051E9b87/logo.png', + name: 'Tracer', + symbol: 'TCR', + }, + { + address: '0x1622bF67e6e5747b81866fE0b85178a93C7F86e3', + chainId: 42161, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x1622bF67e6e5747b81866fE0b85178a93C7F86e3/logo.png', + name: 'Umami', + symbol: 'UMAMI', + }, + { + address: '0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8', + chainId: 42161, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', + chainId: 42161, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0xcd14C3A2ba27819B352aae73414A26e2b366dC50', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usx.jpg', + name: 'dForce USD', + symbol: 'USX', + }, + { + address: '0x995C235521820f2637303Ca1970c7c044583df44', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/visr.jpg', + name: 'VISOR', + symbol: 'VISR', + }, + { + address: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f', + chainId: 42161, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'Wrapped BTC', + symbol: 'WBTC', + }, + { + address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/woo.jpg', + name: 'Wootrade Network', + symbol: 'WOO', + }, + { + address: '0x739ca6D71365a08f584c8FC4e1029045Fa8ABC4B', + chainId: 42161, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x739ca6D71365a08f584c8FC4e1029045Fa8ABC4B/logo.png', + name: 'Wrapped sOHM', + symbol: 'wsOHM', + }, + { + address: '0x82e3A8F066a6989666b031d916c43672085b1582', + chainId: 42161, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', + name: 'yearn.finance', + symbol: 'YFI', + }, + { + address: '0xdb96f8efd6865644993505318cc08FF9C42fb9aC', + chainId: 42161, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xdb96f8efd6865644993505318cc08FF9C42fb9aC/logo.png', + name: 'ZeroTwOhm', + symbol: 'Z2O', + }, + { + address: '0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C/logo.png', + name: 'Beefy Finance', + symbol: 'BIFI', + }, + { + address: '0xD629eb00dEced2a080B7EC630eF6aC117e614f1b', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wbtc.jpg', + name: 'wrapped.com Bitcoin', + symbol: 'cBTC', + }, + { + address: '0xD90BBdf5904cb7d275c41f897495109B9A5adA58', + chainId: 42220, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cdoge.jpg', + name: 'CeloDoge', + symbol: 'cDOGE', + }, + { + address: '0x471EcE3750Da237f93B8E339c536989b8978a438', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celo.jpg', + name: 'Celo Native Asset', + symbol: 'CELO', + }, + { + address: '0x2DEf4285787d58a2f811AF24755A8150622f4361', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/weth.jpg', + name: 'wrapped.com Ethereum', + symbol: 'cETH', + }, + { + address: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ceur.jpg', + name: 'Celo Euro', + symbol: 'cEUR', + }, + { + address: '0x5927fd244E11dB1c7b1215619144d2aAbAc80a4F', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x5927fd244E11dB1c7b1215619144d2aAbAc80a4F/logo.png', + name: 'CeloLaunch', + symbol: 'CLA', + }, + { + address: '0x32A9FE697a32135BFd313a6Ac28792DaE4D9979d', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cmco2.jpg', + name: 'Celo Moss Carbon Credit', + symbol: 'cMCO2', + }, + { + address: '0xF3608F846cA73147F08FdE8D57f45E27CeEA4d61', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0xF3608F846cA73147F08FdE8D57f45E27CeEA4d61/logo.png', + name: 'MetaCelo', + symbol: 'cMeta', + }, + { + address: '0x22401536505dd5d85F7d57f8B37172feDa8f499d', + chainId: 42220, + decimals: 9, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cshiba.jpg', + name: 'CeloShiba', + symbol: 'cSHIBA', + }, + { + address: '0x765DE816845861e75A25fCA122bb6898B8B1282a', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cusd.jpg', + name: 'Celo Dollar', + symbol: 'cUSD', + }, + { + address: '0x832F03bCeE999a577cb592948983E35C048B5Aa4', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cxof.jpg', + name: 'Duniapay West African CFA franc', + symbol: 'cXOF', + }, + { + address: '0x90Ca507a5D4458a4C6C6249d186b6dCb02a5BCCd', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x90Ca507a5D4458a4C6C6249d186b6dCb02a5BCCd/logo.png', + name: 'Optics Dai v2', + symbol: 'DAI', + }, + { + address: '0xE4fE50cdD716522A56204352f00AA110F731932d', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Optics DAI v1', + symbol: 'DAIv1', + }, + { + address: '0x7037F7296B2fc7908de7b57a89efaa8319f0C500', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mcelo.jpg', + name: 'Moola CELO', + symbol: 'mCELO', + }, + { + address: '0xa8d0E6799FF3Fd19c6459bf02689aE09c4d78Ba7', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mceur.jpg', + name: 'Moola cEUR', + symbol: 'mcEUR', + }, + { + address: '0x64dEFa3544c695db8c535D289d843a189aa26b98', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mcusd.jpg', + name: 'Moola cUSD', + symbol: 'mcUSD', + }, + { + address: '0x73a210637f6F6B7005512677Ba6B3C96bb4AA44B', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x73a210637f6F6B7005512677Ba6B3C96bb4AA44B/logo.png', + name: 'Mobius DAO Token', + symbol: 'MOBI', + }, + { + address: '0x46c9757C5497c5B1f2eb73aE79b6B67D119B0B58', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x46c9757C5497c5B1f2eb73aE79b6B67D119B0B58/logo.png', + name: 'impactMarket', + symbol: 'PACT', + }, + { + address: '0x1a8Dbe5958c597a744Ba51763AbEBD3355996c3e', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rcelo.jpg', + name: 'Rewards CELO', + symbol: 'rCELO', + }, + { + address: '0x2879BFD5e7c4EF331384E908aaA3Bd3014b703fA', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/scelo.jpg', + name: 'Savings CELO', + symbol: 'sCELO', + }, + { + address: '0x74c0C58B99b68cF16A717279AC2d056A34ba2bFe', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x74c0C58B99b68cF16A717279AC2d056A34ba2bFe/logo.png', + name: 'Source', + symbol: 'SOURCE', + }, + { + address: '0x29dFce9c22003A4999930382Fd00f9Fd6133Acd1', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x29dFce9c22003A4999930382Fd00f9Fd6133Acd1/logo.png', + name: 'Optics SushiToken v2', + symbol: 'SUSHI', + }, + { + address: '0xD15EC721C2A896512Ad29C671997DD68f9593226', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'Optics SushiToken v1', + symbol: 'SUSHIv1', + }, + { + address: '0x00Be915B9dCf56a3CBE739D9B9c202ca692409EC', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ube.jpg', + name: 'Ubeswap', + symbol: 'UBE', + }, + { + address: '0xef4229c8c3250C675F21BCefa42f58EfbfF6002a', + chainId: 42220, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0xef4229c8c3250C675F21BCefa42f58EfbfF6002a/logo.png', + name: 'Optics USDC v2', + symbol: 'USDC', + }, + { + address: '0x1bfc26cE035c368503fAE319Cc2596716428ca44', + chainId: 42220, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets//logo.png', + name: 'Optics USDC v2 POS', + symbol: 'USDC-POS', + }, + { + address: '0x2A3684e9Dc20B857375EA04235F2F7edBe818FA7', + chainId: 42220, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'Optics USDC v1', + symbol: 'USDCv1', + }, + { + address: '0x88eeC49252c8cbc039DCdB394c0c2BA2f1637EA0', + chainId: 42220, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x88eeC49252c8cbc039DCdB394c0c2BA2f1637EA0/logo.png', + name: 'Optics USDT v2', + symbol: 'USDT', + }, + { + address: '0xb020D981420744F6b0FedD22bB67cd37Ce18a1d5', + chainId: 42220, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Optics USDT v1', + symbol: 'USDTv1', + }, + { + address: '0xBAAB46E28388d2779e6E31Fd00cF0e5Ad95E327B', + chainId: 42220, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0xBAAB46E28388d2779e6E31Fd00cF0e5Ad95E327B/logo.png', + name: 'Optics WBTC v2', + symbol: 'WBTC', + }, + { + address: '0xBe50a3013A1c94768A1ABb78c3cB79AB28fc1aCE', + chainId: 42220, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'Optics WBTC v1', + symbol: 'WBTCv1', + }, + { + address: '0x122013fd7dF1C6F636a5bb8f03108E876548b455', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x122013fd7dF1C6F636a5bb8f03108E876548b455/logo.png', + name: 'Optics WETH v2', + symbol: 'WETH', + }, + { + address: '0xE919F65739c26a42616b7b8eedC6b5524d1e3aC4', + chainId: 42220, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Optics WETH v1', + symbol: 'WETHv1', + }, + { + address: '0x2E3487F967DF2Ebc2f236E16f8fCAeac7091324D', + chainId: 42220, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x2E3487F967DF2Ebc2f236E16f8fCAeac7091324D/logo.png', + name: 'Optics WMATIC', + symbol: 'WMATIC', + }, + { + address: '0xd00ae08403B9bbb9124bB305C09058E32C39A48c', + chainId: 43113, + decimals: 18, + logoURI: 'https://cryptologos.cc/logos/avalanche-avax-logo.png?v=010', + name: 'Wrapped AVAX', + symbol: 'WAVAX', + }, + { + address: '0x63a72806098Bd3D9520cC43356dD78afe5D386D9', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x63a72806098Bd3D9520cC43356dD78afe5D386D9.jpg', + name: 'Aave Token', + symbol: 'AAVE', + }, + { + address: '0x63682bDC5f875e9bF69E201550658492C9763F89', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x69570f3E84f51Ea70b7B68055c8d667e77735a25.jpg', + name: 'Betswap.gg', + symbol: 'BSGG', + }, + { + address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', + name: 'Cerby Token', + symbol: 'CERBY', + }, + { + address: '0xd586E7F844cEa2F87f50152665BCbc2C279D8d70', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xd586E7F844cEa2F87f50152665BCbc2C279D8d70.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64', + chainId: 43114, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0x214DB107654fF987AD859F34125307783fC8e387', + chainId: 43114, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0x5541D83EFaD1f281571B343977648B75d95cdAC2', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5541D83EFaD1f281571B343977648B75d95cdAC2/logo.png', + name: 'Grape Finance', + symbol: 'GRAPE', + }, + { + address: '0xCDEB5641dC5BF05845317B00643A713CCC3b22e6', + chainId: 43114, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ht.jpg', + name: 'Huobi', + symbol: 'HT', + }, + { + address: '0xe0Ce60AF0850bF54072635e66E79Df17082A1109', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x4e1581f01046eFDd7a1a2CDB0F82cdd7F71F2E59.jpg', + name: 'Ice Token', + symbol: 'ICE', + }, + { + address: '0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd', + chainId: 43114, + decimals: 18, + logoURI: 'https://snowtrace.io/token/images/traderjoe_32.png', + name: 'JoeToken', + symbol: 'JOE', + }, + { + address: '0x5947BB275c521040051D82396192181b413227A3', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x5947BB275c521040051D82396192181b413227A3.jpg', + name: 'ChainLink Token', + symbol: 'LINK', + }, + { + address: '0xA56B1b9f4e5A1A1e0868F5Fd4352ce7CdF0C2A4F', + chainId: 43114, + decimals: 19, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/matic.jpg', + name: 'Matic', + symbol: 'MATIC', + }, + { + address: '0x130966628846BFd36ff31a822705796e8cb8C18D', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x130966628846BFd36ff31a822705796e8cb8C18D.jpg', + name: 'Magic Internet Money', + symbol: 'MIM', + }, + { + address: '0xF873633DF9D5cDd62BB1f402499CC470a72A02D7', + chainId: 43114, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/movr.jpg', + name: 'MoonRiver', + symbol: 'MOVR', + }, + { + address: '0xD036414fa2BCBb802691491E323BFf1348C5F4Ba', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/avalanche/0xD036414fa2BCBb802691491E323BFf1348C5F4Ba.jpg', + name: 'Mu Coin', + symbol: 'MU', + }, + { + address: '0x39cf1BD5f15fb22eC3D9Ff86b0727aFc203427cc', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x39cf1BD5f15fb22eC3D9Ff86b0727aFc203427cc.jpg', + name: 'Old SushiToken', + symbol: 'oldSUSHI', + }, + { + address: '0xde3A24028580884448a5397872046a019649b084', + chainId: 43114, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xc7198437980c041c805A1EDcbA50c1Ce5db95118.jpg', + name: 'Old Tether USD', + symbol: 'oldUSDT', + }, + { + address: '0xf20d962a6c8f70c731bd838a3a388D7d48fA6e15', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xf20d962a6c8f70c731bd838a3a388D7d48fA6e15.jpg', + name: 'Old Wrapped Ether', + symbol: 'oldWETH', + }, + { + address: '0x237917E8a998b37759c8EE2fAa529D60c66c2927', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/avalanche/0x237917E8a998b37759c8EE2fAa529D60c66c2927.jpg', + name: 'Sifu', + symbol: 'sifu', + }, + { + address: '0xCE1bFFBD5374Dac86a2893119683F4911a2F7814', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xCE1bFFBD5374Dac86a2893119683F4911a2F7814.jpg', + name: 'Spell Token', + symbol: 'SPELL', + }, + { + address: '0x3Ee97d514BBef95a2f110e6B9b73824719030f7a', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x3Ee97d514BBef95a2f110e6B9b73824719030f7a.jpg', + name: 'Staked Spell Token', + symbol: 'sSPELL', + }, + { + address: '0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/avalanche/0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590.jpg', + name: 'StargateToken', + symbol: 'STG', + }, + { + address: '0x37B608519F91f70F2EeB0e5Ed9AF4061722e4F76', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x37B608519F91f70F2EeB0e5Ed9AF4061722e4F76.jpg', + name: 'SushiToken', + symbol: 'SUSHI', + }, + { + address: '0xb54f16fB19478766A268F172C9480f8da1a7c9C3', + chainId: 43114, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xb54f16fB19478766A268F172C9480f8da1a7c9C3.jpg', + name: 'Time', + symbol: 'TIME', + }, + { + address: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', + chainId: 43114, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664', + chainId: 43114, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC.e', + }, + { + address: '0xc7198437980c041c805A1EDcbA50c1Ce5db95118', + chainId: 43114, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xc7198437980c041c805A1EDcbA50c1Ce5db95118.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7.jpg', + name: 'Wrapped AVAX', + symbol: 'WAVAX', + }, + { + address: '0x50b7545627a5162F82A992c33b87aDc75187B218', + chainId: 43114, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x50b7545627a5162F82A992c33b87aDc75187B218.jpg', + name: 'Wrapped BTC', + symbol: 'WBTC', + }, + { + address: '0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0xC55036B5348CfB45a932481744645985010d3A44', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xC55036B5348CfB45a932481744645985010d3A44/logo.png', + name: 'Wine Shares', + symbol: 'WINE', + }, + { + address: '0x0da67235dD5787D67955420C84ca1cEcd4E5Bb3b', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x0da67235dD5787D67955420C84ca1cEcd4E5Bb3b.jpg', + name: 'Wrapped Memo', + symbol: 'wMEMO', + }, + { + address: '0xA384Bc7Cdc0A93e686da9E7B8C0807cD040F4E0b', + chainId: 43114, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', + name: 'WOWSwap', + symbol: 'WOW', + }, + { + address: '0x57319d41F71E81F3c65F2a47CA4e001EbAFd4F33', + chainId: 43114, + decimals: 18, + logoURI: 'https://snowtrace.io/token/images/xjoe_32.png', + name: 'JoeBar', + symbol: 'xJOE', + }, + { + address: '0xcB1e72786A6eb3b44C2a2429e317c8a2462CFeb1', + chainId: 80001, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x714550C2C1Ea08688607D86ed8EeF4f5E4F22323', + chainId: 80001, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png', + name: 'Ether', + symbol: 'ETH', + }, + { + address: '0xE03489D4E90b22c59c5e23d45DFd59Fc0dB8a025', + chainId: 80001, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sand.jpg', + name: 'The Sandbox', + symbol: 'SAND', + }, + { + address: '0x3813e82e6f7098b9583FC0F33a962D02018B6803', + chainId: 80001, + decimals: 6, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', + chainId: 80001, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0/logo.png', + name: 'Wrapped Matic', + symbol: 'WMATIC', + }, + { + address: '0xdc54046c0451f9269FEe1840aeC808D36015697d', + chainId: 1666600000, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xdc54046c0451f9269FEe1840aeC808D36015697d/logo.png', + name: '1BTC', + symbol: '1BTC', + }, + { + address: '0x58f1b044d8308812881a1433d9Bbeff99975e70C', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/1inch.jpg', + name: '1INCH Token', + symbol: '1INCH', + }, + { + address: '0xcF323Aad9E522B93F11c352CaA519Ad0E14eB40F', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', + name: 'Aave Token', + symbol: 'AAVE', + }, + { + address: '0x14A7B318fED66FfDcc80C1517C172c13852865De', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x14A7B318fED66FfDcc80C1517C172c13852865De/logo.png', + name: 'Axie Infinity Shard', + symbol: 'AXS', + }, + { + address: '0x6aB6d61428fde76768D7b45D8BFeec19c6eF91A8', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x6aB6d61428fde76768D7b45D8BFeec19c6eF91A8/logo.png', + name: 'Beefy Finance', + symbol: 'BIFI', + }, + { + address: '0x582617bD8Ca80d22D4432E63Fda52D74dcDCEe4c', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ada.jpg', + name: 'Cardano Token', + symbol: 'bscADA', + }, + { + address: '0x0aB43550A6915F9f67d0c454C2E90385E6497EaA', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', + name: 'BUSD Token', + symbol: 'bscBUSD', + }, + { + address: '0x08CB2917245BBE75C8C9c6Dc4a7B3765Dae02b31', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dot.jpg', + name: 'Polkadot Token', + symbol: 'bscDOT', + }, + { + address: '0x3095c7557bCb296ccc6e363DE01b760bA031F2d9', + chainId: 1666600000, + decimals: 8, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', + name: 'Bitcoin', + symbol: 'BTC', + }, + { + address: '0xE176EBE47d621b984a73036B9DA5d834411ef734', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', + name: 'Binance USD', + symbol: 'BUSD', + }, + { + address: '0xBbD83eF0c9D347C85e60F1b5D2c58796dBE1bA0d', + chainId: 1666600000, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xBbD83eF0c9D347C85e60F1b5D2c58796dBE1bA0d/logo.png', + name: 'Cheese', + symbol: 'CHEEZ', + }, + { + address: '0x0D625029E21540aBdfAFa3BFC6FD44fB4e0A66d0', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x0D625029E21540aBdfAFa3BFC6FD44fB4e0A66d0/logo.png', + name: 'ColonyToken', + symbol: 'CLNY', + }, + { + address: '0xEf977d2f931C1978Db5F6747666fa1eACB0d0339', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x6983D1E6DEf3690C4d616b13597A09e6193EA013', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Ether', + symbol: 'ETH', + }, + { + address: '0x0159ED2E06DDCD46a25E74eb8e159Ce666B28687', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x0159ED2E06DDCD46a25E74eb8e159Ce666B28687/logo.png', + name: 'FarmersOnly Token2', + symbol: 'FOX', + }, + { + address: '0xFa7191D292d5633f702B0bd7E3E3BcCC0e633200', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', + name: 'Frax', + symbol: 'FRAX', + }, + { + address: '0x0767D8E1b05eFA8d6A301a65b324B6b66A1CC14c', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', + name: 'Frax Share', + symbol: 'FXS', + }, + { + address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', + name: 'Hundred Finance', + symbol: 'HND', + }, + { + address: '0x40d2f81bD135B5282CB2aA18F19cF7098079D012', + chainId: 1666600000, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x40d2f81bD135B5282CB2aA18F19cF7098079D012/logo.png', + name: 'Ikura', + symbol: 'IKURA', + }, + { + address: '0x2F459Dd7CBcC9D8323621f6Fb430Cd0555411E7B', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://d1xrz6ki9z98vb.cloudfront.net/venomswap/tokens/JENN.png', + name: 'TokenJenny', + symbol: 'JENN', + }, + { + address: '0x218532a12a389a4a92fC0C5Fb22901D1c19198aA', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', + name: 'ChainLink Token', + symbol: 'LINK', + }, + { + address: '0x7d0546dBb1Dca8108d99Aa389A8e9Ce0C40B2370', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://swoop-exchange.s3-us-west-1.amazonaws.com/tokens/LMA.png', + name: 'LMA-Art-Gallery', + symbol: 'LMA', + }, + { + address: '0x95CE547D730519A90dEF30d647F37D9E5359B6Ae', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x95CE547D730519A90dEF30d647F37D9E5359B6Ae/logo.png', + name: 'Wrapped LUNA Token', + symbol: 'LUNA', + }, + { + address: '0x892D81221484F690C0a97d3DD18B9144A3ECDFB7', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x892D81221484F690C0a97d3DD18B9144A3ECDFB7/logo.png', + name: 'Magic', + symbol: 'MAGIC', + }, + { + address: '0x301259f392B551CA8c592C9f676FCD2f9A0A84C5', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg', + name: 'Matic Token', + symbol: 'MATIC', + }, + { + address: '0x725553bc9Aa0939362671407dfDEb162DD37d168', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x725553bc9Aa0939362671407dfDEb162DD37d168/logo.png', + name: 'Metatr.one', + symbol: 'MET', + }, + { + address: '0x1b2bc2683F85bFb9c4C90e8322d62A20B97cF87D', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x1b2bc2683F85bFb9c4C90e8322d62A20B97cF87D/logo.png', + name: 'Million', + symbol: 'MM', + }, + { + address: '0x947394294F75D7502977AC6813FD99f77C2931ec', + chainId: 1666600000, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x947394294F75D7502977AC6813FD99f77C2931ec/logo.png', + name: 'ODAO', + symbol: 'ODAO', + }, + { + address: '0xc1873199284B4490A4AACbE7CD6710Dc6aA95e08', + chainId: 1666600000, + decimals: 8, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xc1873199284B4490A4AACbE7CD6710Dc6aA95e08/logo.png', + name: 'ONEUSD', + symbol: 'ONEUSD', + }, + { + address: '0x01A4b054110d57069c1658AFBC46730529A3E326', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x01A4b054110d57069c1658AFBC46730529A3E326/logo.png', + name: 'OpenSwap', + symbol: 'OpenX', + }, + { + address: '0xED0B4b0F0E2c17646682fc98ACe09feB99aF3adE', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xED0B4b0F0E2c17646682fc98ACe09feB99aF3adE/logo.png', + name: 'Reverse Protocol', + symbol: 'RVRS', + }, + { + address: '0x7b9c523d59AeFd362247Bd5601A89722e3774dD2', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', + name: 'Synthetix Network Token', + symbol: 'SNX', + }, + { + address: '0x22D62b19b7039333ad773b7185BB61294F3AdC19', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x22D62b19b7039333ad773b7185BB61294F3AdC19/logo.png', + name: 'Staked One', + symbol: 'stONE', + }, + { + address: '0xBEC775Cb42AbFa4288dE81F387a9b1A3c4Bc552A', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', + name: 'Sushi Token', + symbol: 'SUSHI', + }, + { + address: '0xd754ae7bb55fEB0c4BA6bC037b4A140f14ebE018', + chainId: 1666600000, + decimals: 9, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xd754ae7bb55fEB0c4BA6bC037b4A140f14ebE018/logo.png', + name: 'TEmplar Token', + symbol: 'TEM', + }, + { + address: '0xCf1709Ad76A79d5a60210F23e81cE2460542A836', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xCf1709Ad76A79d5a60210F23e81cE2460542A836/logo.png', + name: 'Tranquil', + symbol: 'TRANQ', + }, + { + address: '0x90D81749da8867962c760414C1C25ec926E889b6', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', + name: 'Uniswap', + symbol: 'UNI', + }, + { + address: '0x985458E523dB3d53125813eD68c274899e9DfAb4', + chainId: 1666600000, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', + name: 'USD Coin', + symbol: 'USDC', + }, + { + address: '0x3C2B8Be99c50593081EAA2A724F0B8285F5aba8f', + chainId: 1666600000, + decimals: 6, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', + name: 'Tether USD', + symbol: 'USDT', + }, + { + address: '0x224e64ec1BDce3870a6a6c777eDd450454068FEC', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://github.com/sushiswap/icons/blob/master/token/ust.jpg', + name: 'TerraUSD', + symbol: 'UST', + }, + { + address: '0xB8E0497018c991E86311b64EFd9D57b06aEDbBAE', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xB8E0497018c991E86311b64EFd9D57b06aEDbBAE/logo.png', + name: 'DaVinci Token', + symbol: 'VINCI', + }, + { + address: '0xEa589E93Ff18b1a1F1e9BaC7EF3E86Ab62addc79', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://dvwecb5klcqus.cloudfront.net/venomswap/logos/venomswap-128x128.png', + name: 'Viper', + symbol: 'VIPER', + }, + { + address: '0xE7e3C4D1cFc722b45A428736845B6AfF862842a1', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://d1xrz6ki9z98vb.cloudfront.net/venomswap/tokens/1WISE.png', + name: 'Wise Token', + symbol: 'WISE', + }, + { + address: '0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/one.jpg', + name: 'Wrapped ONE', + symbol: 'WONE', + }, + { + address: '0xa0dc05F84A27FcCBD341305839019aB86576bc07', + chainId: 1666600000, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', + name: 'yearn.finance', + symbol: 'YFI', + }, + { + address: '0x63cf309500d8be0B9fDB8F1fb66C821236c0438c', + chainId: 1666600000, + decimals: 18, + logoURI: + 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x63cf309500d8be0B9fDB8F1fb66C821236c0438c/logo.png', + name: 'Yield Guild Games Token', + symbol: 'YGG', + }, + { + address: '0x0E80905676226159cC3FF62B1876C907C91F7395', + chainId: 1666700000, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/9576/small/BUSD.png', + name: 'OneBUSD', + symbol: '1BUSD', + }, + { + address: '0x1E120B3b4aF96e7F394ECAF84375b1C661830013', + chainId: 1666700000, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/279/small/ethereum.png', + name: 'OneETH', + symbol: '1ETH', + }, + { + address: '0x2C6e26B2faD89bc52d043e78E3D980A08af0Ce88', + chainId: 1666700000, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png', + name: 'OneChainlink', + symbol: '1LINK', + }, + { + address: '0x6c4387C4f570Aa8cAdcaFFc5E73ecb3D0F8Fc593', + chainId: 1666700000, + decimals: 8, + logoURI: 'https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png', + name: 'Wrapped BTC', + symbol: 'WBTC', + }, + { + address: '0x7a2afac38517d512E55C0bCe3b6805c10a04D60F', + chainId: 1666700000, + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/4344/small/Y88JAze.png', + name: 'Wrapped ONE', + symbol: 'WONE', + }, + { + address: '0x4C1f6fCBd233241bF2f4D02811E3bF8429BC27B8', + chainId: 11297108109, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', + name: 'Dai Stablecoin', + symbol: 'DAI', + }, + { + address: '0x5eE074D24f462E0311814C992c99a178458C39fc', + chainId: 11297108109, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/unknown.jpg', + name: 'Portion', + symbol: 'PRT', + }, + { + address: '0x726138359C17F1E56bA8c4F737a7CAf724F6010b', + chainId: 11297108109, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', + name: 'Wrapped Ether', + symbol: 'WETH', + }, + { + address: '0xF98cABF0a963452C5536330408B2590567611a71', + chainId: 11297108109, + decimals: 18, + logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/palm.jpg', + name: 'Wrapped Palm', + symbol: 'WPALM', + }, +] diff --git a/src/features/analytics/kashi/context/ApolloContext.tsx b/src/features/analytics/kashi/context/ApolloContext.tsx new file mode 100644 index 0000000000..349aa4bf67 --- /dev/null +++ b/src/features/analytics/kashi/context/ApolloContext.tsx @@ -0,0 +1,11 @@ +import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client' +import { ReactNode } from 'react' + +const client = new ApolloClient({ + uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/bentobox', + cache: new InMemoryCache(), +}) + +export const AnalyticsKashiApolloContextProvider = ({ children }: { children: ReactNode }) => { + return {children} +} diff --git a/src/features/analytics/kashi/context/AppContext.tsx b/src/features/analytics/kashi/context/AppContext.tsx new file mode 100644 index 0000000000..913379f827 --- /dev/null +++ b/src/features/analytics/kashi/context/AppContext.tsx @@ -0,0 +1,66 @@ +import React, { createContext, ReactNode, useContext } from 'react' + +import { API_URL } from '../config/constants' +import CoinGeckoService from '../services/data/CoinGeckoService' +import { DataService } from '../services/data/DataTypes' +import RestDataService from '../services/data/RestDataService' +import CalculateService from '../services/utils/CalculateService' +import TokenUtilService from '../services/utils/TokenUtilService' + +export const handleLogoError = (event: React.SyntheticEvent) => { + const imgElement = event.target as HTMLImageElement + imgElement.src = '/images/tokens/icon-quiz.jpg' +} +interface AppContextProps { + dataService: DataService + handleLogoError: (event: React.SyntheticEvent) => void + coinGeckoService: CoinGeckoService + calculateService: CalculateService + tokenUtilService: TokenUtilService +} +const AppContext = createContext({} as AppContextProps) + +export const AnalyticsKashiAppContextProvider = ({ children }: { children: ReactNode }) => { + const dataService = RestDataService(API_URL) + const coinGeckoService = CoinGeckoService.getInstance() + const calculateService = CalculateService.getInstance() + const tokenUtilService = TokenUtilService.getInstance() + + return ( + + {children} + + ) +} + +export const useAppContext = () => { + return useContext(AppContext) +} + +export const useDataService = () => { + const { dataService } = useAppContext() + return dataService +} + +export const useCoingeckoService = () => { + const { coinGeckoService } = useAppContext() + return coinGeckoService +} + +export const useCalculateService = () => { + const { calculateService } = useAppContext() + return calculateService +} + +export const useTokenUtilService = () => { + const { tokenUtilService } = useAppContext() + return tokenUtilService +} diff --git a/src/features/analytics/kashi/graphql/bentobox.ts b/src/features/analytics/kashi/graphql/bentobox.ts new file mode 100644 index 0000000000..45e58a8256 --- /dev/null +++ b/src/features/analytics/kashi/graphql/bentobox.ts @@ -0,0 +1,13 @@ +import { gql } from '@apollo/client' + +export const BENTOBOX = gql` + query GetBentoBoxes { + bentoBoxes { + totalTokens + totalKashiPairs + totalUsers + block + timestamp + } + } +` diff --git a/src/features/analytics/kashi/graphql/dashboard.ts b/src/features/analytics/kashi/graphql/dashboard.ts new file mode 100644 index 0000000000..9ccd7b7bc7 --- /dev/null +++ b/src/features/analytics/kashi/graphql/dashboard.ts @@ -0,0 +1,71 @@ +import { gql } from '@apollo/client' + +export const getKashiPairsQuery = gql` + query GetPairs { + bentoBoxes { + totalTokens + totalKashiPairs + totalUsers + } + kashiPairs(first: 1000, orderBy: totalAssetElastic, orderDirection: desc) { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + exchangeRate + utilization + interestPerSecond + totalAssetElastic + totalAssetBase + supplyAPR + totalBorrowElastic + totalBorrowBase + borrowAPR + } + } +` + +export const getKashiPairsDayDataQuery = gql` + query GetDataKashiPairsDayData($skip: Int) { + kashiPairDayDatas(first: 1000, skip: $skip, orderBy: date, orderDirection: desc) { + id + date + pair { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + avgExchangeRate + avgUtilization + avgInterestPerSecond + } + } +` diff --git a/src/features/analytics/kashi/graphql/explore.ts b/src/features/analytics/kashi/graphql/explore.ts new file mode 100644 index 0000000000..90efa7ab75 --- /dev/null +++ b/src/features/analytics/kashi/graphql/explore.ts @@ -0,0 +1,47 @@ +import { gql } from '@apollo/client' + +export const getTokensQuery = gql` + query GetTokens { + tokens(first: 1000, orderBy: totalSupplyElastic, where: { totalSupplyElastic_gt: "0" }, orderDirection: desc) { + id + name + symbol + decimals + totalSupplyElastic + totalSupplyBase + block + timestamp + } + } +` + +export const getKashiPairsQuery = gql` + query GetPairs { + kashiPairs(first: 1000) { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + exchangeRate + utilization + interestPerSecond + totalAssetElastic + totalAssetBase + supplyAPR + totalBorrowElastic + totalBorrowBase + borrowAPR + } + } +` diff --git a/src/features/analytics/kashi/graphql/pair.ts b/src/features/analytics/kashi/graphql/pair.ts new file mode 100644 index 0000000000..971261a56d --- /dev/null +++ b/src/features/analytics/kashi/graphql/pair.ts @@ -0,0 +1,60 @@ +import { gql } from '@apollo/client' + +export const getKashiPairQuery = gql` + query GetPair($id: String) { + kashiPairs(first: 1, where: { id: $id }) { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + exchangeRate + totalAssetElastic + totalAssetBase + supplyAPR + totalBorrowElastic + totalBorrowBase + borrowAPR + utilization + } + kashiPairDayDatas(first: 1000, where: { pair: $id }, orderBy: date, orderDirection: desc) { + id + date + pair { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + avgExchangeRate + avgUtilization + avgInterestPerSecond + } + } +` diff --git a/src/features/analytics/kashi/graphql/token.ts b/src/features/analytics/kashi/graphql/token.ts new file mode 100644 index 0000000000..897cc7d3d2 --- /dev/null +++ b/src/features/analytics/kashi/graphql/token.ts @@ -0,0 +1,82 @@ +import { gql } from '@apollo/client' + +export const getTokensQuery = gql` + query GetToken($id: String) { + tokens(first: 1, where: { id: $id }) { + id + name + symbol + decimals + totalSupplyElastic + totalSupplyBase + block + timestamp + } + kashiPairs(first: 1000, where: { asset: $id }) { + id + name + symbol + asset { + id + name + symbol + decimals + totalSupplyElastic + totalSupplyBase + block + timestamp + } + collateral { + id + name + symbol + decimals + totalSupplyElastic + totalSupplyBase + block + timestamp + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + supplyAPR + borrowAPR + } + } +` + +export const getKashiPairsDayDataQuery = gql` + query GetDataKashiPairsDayData($pairIds: [String], $skip: Int) { + kashiPairDayDatas(first: 1000, where: { pair_in: $pairIds }, orderBy: date, orderDirection: desc) { + id + date + pair { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + avgExchangeRate + avgUtilization + avgInterestPerSecond + } + } +` diff --git a/src/features/analytics/kashi/services/data/CoinGeckoService.ts b/src/features/analytics/kashi/services/data/CoinGeckoService.ts new file mode 100644 index 0000000000..88e281a295 --- /dev/null +++ b/src/features/analytics/kashi/services/data/CoinGeckoService.ts @@ -0,0 +1,64 @@ +import axios from 'axios' +import qs from 'qs' + +import { COINGECKO } from '../../config/coingecko' +const baseURI = 'https://api.coingecko.com/api/v3' + +interface Coin { + id: string + name: string + symbol: string + price?: number +} + +class CoinGeckoService { + protected static instance: CoinGeckoService + protected coinsList?: Coin[] + constructor() {} + + protected async getCoinsList(): Promise { + if (this.coinsList) { + return this.coinsList + } + const { data }: { data: Coin[] } = await axios.get(`${baseURI}/coins/list`) + this.coinsList = data + return this.coinsList + } + + protected async getIds(symbols: string[]) { + const ids = symbols.map((symbol) => { + return COINGECKO.tokens[symbol] || '' + }) + return ids + } + + protected async parsePrices(symbols: string[], prices: { [key: string]: { usd: number } }) { + const pricesMap = {} as { [key: string]: BigInt } + symbols.forEach((symbol) => { + const price = prices[COINGECKO.tokens[symbol]]?.usd || 0 + pricesMap[symbol] = BigInt(Math.round(price) * Math.pow(10, 8)) + }) + return pricesMap + } + + async getPrices(symbols: string[]): Promise<{ [key: string]: BigInt }> { + const ids = await this.getIds(symbols) + const query = { + ids: ids.join(','), + vs_currencies: 'usd', + } + const { data } = await axios.get(`${baseURI}/simple/price${qs.stringify(query, { addQueryPrefix: true })}`) + + return this.parsePrices(symbols, data) + } + + static getInstance() { + if (CoinGeckoService.instance) { + return CoinGeckoService.instance + } + CoinGeckoService.instance = new CoinGeckoService() + return CoinGeckoService.instance + } +} + +export default CoinGeckoService diff --git a/src/features/analytics/kashi/services/data/DataTypes.ts b/src/features/analytics/kashi/services/data/DataTypes.ts new file mode 100644 index 0000000000..531bbfb34b --- /dev/null +++ b/src/features/analytics/kashi/services/data/DataTypes.ts @@ -0,0 +1,223 @@ +export declare type NestedField = { + operation: string + variables: QueryBuilderOptions[] + fields: Fields +} + +export declare type Fields = Array + +export declare type VariableOptions = + | { + type?: string + name?: string + value: any + list?: boolean + required?: boolean + } + | { + [k: string]: any + } + +export interface QueryBuilderOptions { + operation?: string + fields?: Fields + variables?: VariableOptions +} + +export declare type MetaDataQuery = { + [k: string]: any +} & QueryBuilderOptions + +export declare type BaseRecord = { + id?: string + [key: string]: any +} + +export interface Pagination { + current?: number + pageSize?: number +} +export interface Search { + field?: string + value?: string +} +export declare type CrudOperators = + | 'eq' + | 'ne' + | 'lt' + | 'gt' + | 'lte' + | 'gte' + | 'in' + | 'nin' + | 'contains' + | 'ncontains' + | 'containss' + | 'ncontainss' + | 'null' +export declare type CrudFilter = { + field: string + operator: CrudOperators + value: any +} +export declare type CrudSort = { + field: string + order: 'asc' | 'desc' +} +export declare type CrudFilters = CrudFilter[] +export declare type CrudSorting = CrudSort[] +export interface CustomResponse { + data: TData +} +export interface GetListResponse { + data: TData[] + total: number +} +export interface CreateResponse { + data: TData +} +export interface CreateManyResponse { + data: TData[] +} +export interface UpdateResponse { + data: TData +} +export interface UpdateManyResponse { + data: TData[] +} +export interface GetOneResponse { + data: TData +} +export interface GetManyResponse { + data: TData[] +} +export interface DeleteOneResponse { + data: TData +} +export interface DeleteManyResponse { + data: TData[] +} +export interface IDataContext { + getList: (params: { + resource: string + pagination?: Pagination + sort?: CrudSorting + filters?: CrudFilters + metaData?: MetaDataQuery + }) => Promise> + getMany: (params: { + resource: string + ids: string[] + metaData?: MetaDataQuery + }) => Promise> + getOne: (params: { + resource: string + id: string + metaData?: MetaDataQuery + }) => Promise> + create: (params: { + resource: string + variables: TVariables + metaData?: MetaDataQuery + }) => Promise> + createMany: (params: { + resource: string + variables: TVariables[] + metaData?: MetaDataQuery + }) => Promise> + update: (params: { + resource: string + id: string + variables: TVariables + metaData?: MetaDataQuery + }) => Promise> + updateMany: (params: { + resource: string + ids: string[] + variables: TVariables + metaData?: MetaDataQuery + }) => Promise> + deleteOne: (params: { + resource: string + id: string + metaData?: MetaDataQuery + }) => Promise> + deleteMany: (params: { + resource: string + ids: string[] + metaData?: MetaDataQuery + }) => Promise> + getApiUrl: () => string + custom: (params: { + url: string + method: 'get' | 'delete' | 'head' | 'options' | 'post' | 'put' | 'patch' + sort?: CrudSorting + filters?: CrudFilter[] + payload?: {} + query?: {} + headers?: {} + metaData?: MetaDataQuery + }) => Promise> +} +export interface DataService { + getList: (params: { + resource: string + pagination?: Pagination + sort?: CrudSorting + filters?: CrudFilters + metaData?: MetaDataQuery + }) => Promise> + getMany: (params: { + resource: string + ids: string[] + metaData?: MetaDataQuery + }) => Promise> + getOne: (params: { + resource: string + id: string + metaData?: MetaDataQuery + }) => Promise> + create: (params: { + resource: string + variables: TVariables + metaData?: MetaDataQuery + }) => Promise> + createMany: (params: { + resource: string + variables: TVariables[] + metaData?: MetaDataQuery + }) => Promise> + update: (params: { + resource: string + id: string + variables: TVariables + metaData?: MetaDataQuery + }) => Promise> + updateMany: (params: { + resource: string + ids: string[] + variables: TVariables + metaData?: MetaDataQuery + }) => Promise> + deleteOne: (params: { + resource: string + id: string + metaData?: MetaDataQuery + }) => Promise> + deleteMany: (params: { + resource: string + ids: string[] + metaData?: MetaDataQuery + }) => Promise> + getApiUrl: () => string + custom?: (params: { + url: string + method: 'get' | 'delete' | 'head' | 'options' | 'post' | 'put' | 'patch' + sort?: CrudSorting + filters?: CrudFilter[] + payload?: {} + query?: {} + headers?: {} + metaData?: MetaDataQuery + }) => Promise> +} diff --git a/src/features/analytics/kashi/services/data/RestDataService.ts b/src/features/analytics/kashi/services/data/RestDataService.ts new file mode 100644 index 0000000000..a4a5b98a05 --- /dev/null +++ b/src/features/analytics/kashi/services/data/RestDataService.ts @@ -0,0 +1,184 @@ +import axios, { AxiosInstance } from 'axios' +import * as qs from 'qs' + +import { CrudFilters, CrudOperators, CrudSorting, DataService } from './DataTypes' + +export const axiosInstance = axios.create() + +const generateSort = (sort?: CrudSorting) => { + let _sort = ['id'] // default sorting field + let _order = ['desc'] // default sorting + + if (sort) { + _sort = [] + _order = [] + + sort.forEach((item) => { + _sort.push(item.field) + _order.push(item.order) + }) + } + + return { + _sort, + _order, + } +} + +const mapOperator = (operator: CrudOperators): string => { + switch (operator) { + case 'ne': + case 'gte': + case 'lte': + return `_${operator}` + case 'contains': + return '_like' + } + + return '' +} + +const generateFilter = (filters?: CrudFilters) => { + const queryFilters: { [key: string]: string } = {} + if (filters) { + filters.forEach(({ field, operator, value }) => { + const mappedOperator = mapOperator(operator) + queryFilters[`${field}${mappedOperator}`] = value + }) + } + + return queryFilters +} + +const RestDataService = (apiUrl: string, httpClient: AxiosInstance = axiosInstance): DataService => ({ + create: ({ resource, variables }) => { + const url = `${apiUrl}/${resource}` + return httpClient + .post(url, variables) + .then(({ data }) => Promise.resolve({ data })) + .catch(({ response }: { response: any }) => Promise.reject(response.data)) + }, + createMany: async ({ resource, variables }) => { + const response = await Promise.all( + variables.map(async (param) => { + const { data } = await httpClient.post(`${apiUrl}/${resource}`, param) + return data + }) + ) + return { data: response } + }, + deleteOne: ({ resource, id }) => { + const url = `${apiUrl}/${resource}/${id}` + return httpClient + .delete(url) + .then(({ data }) => Promise.resolve({ data })) + .catch(({ response }) => Promise.reject(response.data)) + }, + deleteMany: async ({ resource, ids }) => { + const response = await Promise.all( + ids.map(async (id) => { + const { data } = await httpClient.delete(`${apiUrl}/${resource}/${id}`) + return data + }) + ) + return { data: response } + }, + getList: async ({ resource, pagination, filters, sort }) => { + const url = `${apiUrl}/${resource}` + + const current = pagination?.current || 1 + const pageSize = pagination?.pageSize || 10 + + const { _sort, _order } = generateSort(sort) + + const queryFilters = generateFilter(filters) + + const query = { + skip: (current - 1) * pageSize, + take: pageSize, + sort: _sort.join(','), + order: _order.join(','), + } + + const { data } = await httpClient.get(`${url}?${qs.stringify(query)}&${qs.stringify(queryFilters)}`) + return data + }, + getMany: async ({ resource, ids }) => { + const { data } = await httpClient.get(`${apiUrl}/${resource}?${qs.stringify({ id: ids })}`) + return data + }, + getOne: ({ resource, id }) => { + const url = `${apiUrl}/${resource}/${id}` + return httpClient + .get(url) + .then(({ data }) => Promise.resolve({ data })) + .catch(({ response }) => Promise.reject(response.data)) + }, + update: ({ resource, id, variables }) => { + const url = `${apiUrl}/${resource}/${id}` + return httpClient + .patch(url, variables) + .then(({ data }) => Promise.resolve({ data })) + .catch(({ response }) => Promise.reject(response.data)) + }, + updateMany: async ({ resource, ids, variables }) => { + const response = await Promise.all( + ids.map(async (id) => { + const { data } = await httpClient.patch(`${apiUrl}/${resource}/${id}`, variables) + return data + }) + ) + + return { data: response } + }, + custom: async ({ url, method, sort, filters, payload, query, headers }) => { + let requestUrl = `${url}?` + + if (sort) { + const { _sort, _order } = generateSort(sort) + const sortQuery = { + _sort: _sort.join(','), + _order: _order.join(','), + } + requestUrl = `${requestUrl}&${qs.stringify(sortQuery)}` + } + + if (filters) { + const filterQuery = generateFilter(filters) + requestUrl = `${requestUrl}&${qs.stringify(filterQuery)}` + } + + if (query) { + requestUrl = `${requestUrl}&${qs.stringify(query)}` + } + + if (headers) { + httpClient.defaults.headers = { + ...httpClient.defaults.headers, + ...headers, + } + } + + let axiosResponse + switch (method) { + case 'put': + case 'post': + case 'patch': + axiosResponse = await httpClient[method](url, payload) + break + case 'delete': + axiosResponse = await httpClient.delete(url) + break + default: + axiosResponse = await httpClient.get(requestUrl) + break + } + + const { data } = axiosResponse + + return Promise.resolve({ data }) + }, + getApiUrl: () => apiUrl, +}) + +export default RestDataService diff --git a/src/features/analytics/kashi/services/utils/CalculateService.ts b/src/features/analytics/kashi/services/utils/CalculateService.ts new file mode 100644 index 0000000000..2019edf8d0 --- /dev/null +++ b/src/features/analytics/kashi/services/utils/CalculateService.ts @@ -0,0 +1,402 @@ +import { BigNumber } from 'ethers' +import moment from 'moment' + +import { KashiPair, KashiPairsByToken } from '../../types/KashiPair' +import { KashiPairDayData, KashiPairDayDataMap, KashiPairDayDataMapsCollateral } from '../../types/KashiPairDayData' +import { Token } from '../../types/Token' + +class CalculateService { + protected static instance: CalculateService + constructor() {} + + protected extractKashiPairTokenSymbols(kashiPairs: KashiPair[], tokenField: 'asset' | 'collateral' = 'asset') { + const symbols = [] as string[] + + kashiPairs.forEach((kashiPair) => { + const symbol = kashiPair[tokenField]?.symbol || '' + + const index = symbols.indexOf(symbol) + if (index === -1) { + symbols.push(symbol) + } + }) + return symbols + } + + extractKashiPairSymbols(kashiPairs: KashiPair[]) { + const symbols = [] as string[] + + kashiPairs.forEach((kashiPair) => { + const symbolAsset = kashiPair.asset?.symbol || '' + const symbolCollateral = kashiPair.collateral?.symbol || '' + + const indexAsset = symbols.indexOf(symbolAsset) + if (indexAsset === -1) { + symbols.push(symbolAsset) + } + + const indexCollateral = symbols.indexOf(symbolCollateral) + if (indexCollateral === -1) { + symbols.push(symbolCollateral) + } + }) + return symbols + } + + extractKashiPairCollateralSymbols(kashiPairs: KashiPair[]) { + return this.extractKashiPairTokenSymbols(kashiPairs, 'collateral') + } + + extractKashiPairAssetSymbols(kashiPairs: KashiPair[]) { + return this.extractKashiPairTokenSymbols(kashiPairs, 'asset') + } + + extractTokenSymbols(tokens: Token[]) { + const symbols = [] as string[] + + tokens.forEach((token) => { + const symbol = token.symbol || '' + const index = symbols.indexOf(symbol) + if (index === -1) { + symbols.push(symbol) + } + }) + return symbols + } + + calculateKashiPairPrices(kashiPairs: KashiPair[], pricesMap: { [key: string]: BigInt }) { + let sumTotalAsset = BigNumber.from('0'), + sumTotalBorrow = BigNumber.from('0') + + const newKashiPairs = kashiPairs.map((kashiPair) => { + let totalAsset = BigNumber.from('0'), + totalBorrow = BigNumber.from('0') + + if (kashiPair.asset) { + totalAsset = BigNumber.from(pricesMap[kashiPair.asset.symbol]) + .mul(BigNumber.from(kashiPair.totalAssetElastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.asset.decimals) + 6)) + totalBorrow = BigNumber.from(pricesMap[kashiPair.asset.symbol]) + .mul(BigNumber.from(kashiPair.totalBorrowElastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.asset.decimals) + 6)) + } + sumTotalAsset = sumTotalAsset.add(totalAsset) + sumTotalBorrow = sumTotalBorrow.add(totalBorrow) + const newKashiPair = { + ...kashiPair, + totalAsset: totalAsset.toBigInt(), + totalBorrow: totalBorrow.toBigInt(), + } + return newKashiPair + }) + return { + totalAsset: sumTotalAsset, + totalBorrow: sumTotalBorrow, + kashiPairs: newKashiPairs, + } + } + + calculateKashiPairPricesGroupByAsset(kashiPairs: KashiPair[], pricesMap: { [key: string]: BigInt }) { + const { totalAsset, totalBorrow, kashiPairs: newKashiPairs } = this.calculateKashiPairPrices(kashiPairs, pricesMap) + + const kashiPairsByTokenMap: { [key: string]: KashiPairsByToken } = {} + newKashiPairs.forEach((kashiPair) => { + const { asset } = kashiPair + if (asset) { + if (kashiPairsByTokenMap[asset.id]) { + const kashiPairsByToken = kashiPairsByTokenMap[asset.id] + kashiPairsByToken.kashiPairs.push(kashiPair) + kashiPairsByToken.totalAsset = BigNumber.from(kashiPairsByToken.totalAsset) + .add(BigNumber.from(kashiPair.totalAsset)) + .toBigInt() + + kashiPairsByToken.totalBorrow = BigNumber.from(kashiPairsByToken.totalBorrow) + .add(BigNumber.from(kashiPair.totalBorrow)) + .toBigInt() + } else { + kashiPairsByTokenMap[asset.id] = { + token: asset, + totalAsset: kashiPair.totalAsset, + totalBorrow: kashiPair.totalBorrow, + kashiPairs: [kashiPair], + } + } + } + }) + + const kashiPairsByTokens = Object.values(kashiPairsByTokenMap) + return { + totalAsset, + totalBorrow, + kashiPairsByTokens, + } + } + + calculateTokenPrices(tokens: Token[], pricesMap: { [key: string]: BigInt }) { + let sumTotalSupply = BigNumber.from('0') + + const newTokens = tokens.map((token) => { + let totalSupply = BigNumber.from('0') + totalSupply = BigNumber.from(pricesMap[token.symbol]) + .mul(BigNumber.from(token.totalSupplyElastic)) + .div(BigNumber.from('10').pow(Number(token.decimals) + 6)) + sumTotalSupply = sumTotalSupply.add(totalSupply) + const newToken = { + ...token, + price: pricesMap[token.symbol] || 0, + totalSupply: totalSupply.toBigInt(), + } + return newToken + }) + return { + totalSupply: sumTotalSupply, + tokens: newTokens, + } + } + + calculateKashiPairDayDataPrices(kashiPairs: KashiPairDayData[], pricesMap: { [key: string]: BigInt }) { + const kashiPairsMaps: KashiPairDayDataMap[] = [] + + let sumTotalAsset = BigNumber.from('0'), + sumTotalBorrow = BigNumber.from('0'), + sumAvgExchangeRate = BigNumber.from('0'), + sumAvgUtilization = BigNumber.from('0'), + sumAvgInterestPerSecond = BigNumber.from('0') + + const newKashiPairs = kashiPairs.map((kashiPair) => { + let totalAsset = BigNumber.from('0'), + totalBorrow = BigNumber.from('0') + + if (kashiPair.pair.asset) { + totalAsset = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + .mul(BigNumber.from(kashiPair.totalAssetElastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) + totalBorrow = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + .mul(BigNumber.from(kashiPair.totalBorrowElastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) + } + + sumTotalAsset = sumTotalAsset.add(totalAsset) + sumTotalBorrow = sumTotalBorrow.add(totalBorrow) + sumAvgExchangeRate = sumAvgExchangeRate.add(BigNumber.from(kashiPair.avgExchangeRate)) + sumAvgUtilization = sumAvgUtilization.add(BigNumber.from(kashiPair.avgUtilization)) + sumAvgInterestPerSecond = sumAvgInterestPerSecond.add(BigNumber.from(kashiPair.avgInterestPerSecond)) + + const newKashiPair = { + ...kashiPair, + totalAsset: totalAsset.toBigInt(), + totalBorrow: totalBorrow.toBigInt(), + } + + const kashiPairDate = moment.unix(kashiPair.date).format('YYYY-MM-DD') + const itemKashiPairMap = kashiPairsMaps.find((kashiPairMap) => kashiPairMap.date === kashiPairDate) + + if (itemKashiPairMap) { + itemKashiPairMap.totalAsset = BigNumber.from(itemKashiPairMap.totalAsset).add(totalAsset).toBigInt() + itemKashiPairMap.totalBorrow = BigNumber.from(itemKashiPairMap.totalBorrow).add(totalBorrow).toBigInt() + itemKashiPairMap.avgExchangeRate = BigNumber.from(itemKashiPairMap.avgExchangeRate) + .add(BigNumber.from(kashiPair.avgExchangeRate)) + .toBigInt() + itemKashiPairMap.avgUtilization = BigNumber.from(itemKashiPairMap.avgUtilization) + .add(BigNumber.from(kashiPair.avgUtilization)) + .toBigInt() + itemKashiPairMap.avgInterestPerSecond = BigNumber.from(itemKashiPairMap.avgInterestPerSecond) + .add(BigNumber.from(kashiPair.avgInterestPerSecond)) + .toBigInt() + itemKashiPairMap.kashiPairs.push(newKashiPair) + } else { + kashiPairsMaps.push({ + totalAsset: totalAsset.toBigInt(), + totalBorrow: totalBorrow.toBigInt(), + avgExchangeRate: kashiPair.avgExchangeRate || BigInt(0), + avgUtilization: kashiPair.avgUtilization || BigInt(0), + avgInterestPerSecond: kashiPair.avgInterestPerSecond || BigInt(0), + date: kashiPairDate, + kashiPairs: [newKashiPair], + }) + } + + let prevKashiPairsMap: KashiPairDayDataMap = { + kashiPairs: [], + totalAsset: BigInt(0), + totalBorrow: BigInt(0), + avgExchangeRate: BigInt(0), + avgUtilization: BigInt(0), + avgInterestPerSecond: BigInt(0), + date: '0000-00-00', + } + kashiPairsMaps.forEach((kashiPairMap) => { + const { kashiPairs: prevKashiPairs } = prevKashiPairsMap + const { kashiPairs } = kashiPairMap + prevKashiPairs.forEach((prevKashiPair) => { + const index = kashiPairs.findIndex((kashiPair) => prevKashiPair.pair.id === kashiPair.pair.id) + if (index === -1) { + kashiPairMap.totalAsset = BigNumber.from(kashiPairMap.totalAsset) + .add(BigNumber.from(prevKashiPair.totalAsset)) + .toBigInt() + kashiPairMap.totalBorrow = BigNumber.from(kashiPairMap.totalBorrow) + .add(BigNumber.from(prevKashiPair.totalBorrow)) + .toBigInt() + kashiPairMap.avgExchangeRate = BigNumber.from(kashiPairMap.avgExchangeRate) + .add(BigNumber.from(prevKashiPair.avgExchangeRate)) + .toBigInt() + kashiPairMap.avgUtilization = BigNumber.from(kashiPairMap.avgUtilization) + .add(BigNumber.from(prevKashiPair.avgUtilization)) + .toBigInt() + kashiPairMap.avgInterestPerSecond = BigNumber.from(kashiPairMap.avgInterestPerSecond) + .add(BigNumber.from(prevKashiPair.avgInterestPerSecond)) + .toBigInt() + kashiPairs.push(prevKashiPair) + } + }) + + kashiPairMap.avgExchangeRate = BigNumber.from(kashiPairMap.avgExchangeRate) + .div(BigNumber.from(kashiPairMap.kashiPairs.length)) + .toBigInt() + kashiPairMap.avgUtilization = BigNumber.from(kashiPairMap.avgUtilization) + .div(BigNumber.from(kashiPairMap.kashiPairs.length)) + .toBigInt() + kashiPairMap.avgInterestPerSecond = BigNumber.from(kashiPairMap.avgInterestPerSecond) + .div(BigNumber.from(kashiPairMap.kashiPairs.length)) + .toBigInt() + prevKashiPairsMap = kashiPairMap + }) + kashiPairsMaps.sort((a, b) => a.date.localeCompare(b.date)) + return newKashiPair + }) + + return { + totalAsset: sumTotalAsset.toBigInt(), + totalBorrow: sumTotalBorrow.toBigInt(), + kashiPairs: newKashiPairs, + kashiPairsMaps, + } + } + + calculateKashiPairDayDataPricesMonthly(kashiPairs: KashiPairDayData[], pricesMap: { [key: string]: BigInt }) { + const kashiPairsMaps: KashiPairDayDataMap[] = [] + + let sumTotalAsset = BigNumber.from('0'), + sumTotalBorrow = BigNumber.from('0'), + sumAvgExchangeRate = BigNumber.from('0'), + sumAvgUtilization = BigNumber.from('0'), + sumAvgInterestPerSecond = BigNumber.from('0') + + const newKashiPairs = kashiPairs.map((kashiPair) => { + let totalAsset = BigNumber.from('0'), + totalBorrow = BigNumber.from('0') + + if (kashiPair.pair.asset) { + totalAsset = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + .mul(BigNumber.from(kashiPair.totalAssetElastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) + totalBorrow = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + .mul(BigNumber.from(kashiPair.totalBorrowElastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) + } + + sumTotalAsset = sumTotalAsset.add(totalAsset) + sumTotalBorrow = sumTotalBorrow.add(totalBorrow) + sumAvgExchangeRate = sumAvgExchangeRate.add(BigNumber.from(kashiPair.avgExchangeRate)) + sumAvgUtilization = sumAvgUtilization.add(BigNumber.from(kashiPair.avgUtilization)) + sumAvgInterestPerSecond = sumAvgInterestPerSecond.add(BigNumber.from(kashiPair.avgInterestPerSecond)) + + const newKashiPair = { + ...kashiPair, + totalAsset: totalAsset.toBigInt(), + totalBorrow: totalBorrow.toBigInt(), + } + + const kashiPairDate = moment.unix(kashiPair.date).startOf('month').format('YYYY-MM-DD') + const itemKashiPairMap = kashiPairsMaps.find((kashiPairMap) => kashiPairMap.date === kashiPairDate) + + if (itemKashiPairMap) { + itemKashiPairMap.totalAsset = BigNumber.from(itemKashiPairMap.totalAsset).add(totalAsset).toBigInt() + itemKashiPairMap.totalBorrow = BigNumber.from(itemKashiPairMap.totalBorrow).add(totalBorrow).toBigInt() + itemKashiPairMap.avgExchangeRate = BigNumber.from(itemKashiPairMap.avgExchangeRate) + .add(BigNumber.from(kashiPair.avgExchangeRate)) + .toBigInt() + itemKashiPairMap.avgUtilization = BigNumber.from(itemKashiPairMap.avgUtilization) + .add(BigNumber.from(kashiPair.avgUtilization)) + .toBigInt() + itemKashiPairMap.avgInterestPerSecond = BigNumber.from(itemKashiPairMap.avgInterestPerSecond) + .add(BigNumber.from(kashiPair.avgInterestPerSecond)) + .toBigInt() + itemKashiPairMap.kashiPairs.push(newKashiPair) + } else { + kashiPairsMaps.push({ + totalAsset: totalAsset.toBigInt(), + totalBorrow: totalBorrow.toBigInt(), + avgExchangeRate: kashiPair.avgExchangeRate || BigInt(0), + avgUtilization: kashiPair.avgUtilization || BigInt(0), + avgInterestPerSecond: kashiPair.avgInterestPerSecond || BigInt(0), + date: kashiPairDate, + kashiPairs: [newKashiPair], + }) + } + kashiPairsMaps.forEach((value) => { + value.avgExchangeRate = BigNumber.from(value.avgExchangeRate) + .div(BigNumber.from(value.kashiPairs.length)) + .toBigInt() + value.avgUtilization = BigNumber.from(value.avgUtilization) + .div(BigNumber.from(value.kashiPairs.length)) + .toBigInt() + value.avgInterestPerSecond = BigNumber.from(value.avgInterestPerSecond) + .div(BigNumber.from(value.kashiPairs.length)) + .toBigInt() + }) + kashiPairsMaps.sort((a, b) => a.date.localeCompare(b.date)) + return newKashiPair + }) + + return { + totalAsset: sumTotalAsset.toBigInt(), + totalBorrow: sumTotalBorrow.toBigInt(), + kashiPairs: newKashiPairs, + kashiPairsMaps, + } + } + + calculateKashiPairDayDataPricesByCollateral( + kashiPairs: KashiPairDayData[], + pricesMap: { [key: string]: BigInt } + ): KashiPairDayDataMapsCollateral[] { + const kashiPairsMapGroupTemp: { + [key: string]: { kashiPairs: KashiPairDayData[]; collateral: Token } + } = {} + kashiPairs.forEach((kashiPair) => { + const { collateral } = kashiPair.pair + if (collateral && collateral.id) { + if (kashiPairsMapGroupTemp[collateral.id]) { + kashiPairsMapGroupTemp[collateral.id].kashiPairs.push(kashiPair) + } else { + kashiPairsMapGroupTemp[collateral.id] = { + collateral, + kashiPairs: [kashiPair], + } + } + } + }) + const kashiPairsMapGroup = Object.values(kashiPairsMapGroupTemp) + + const kashiPairsMapCollateralGroup = kashiPairsMapGroup.map((value) => { + const { kashiPairsMaps } = this.calculateKashiPairDayDataPrices(value.kashiPairs, pricesMap) + return { + collateral: value.collateral, + kashiPairsMaps, + } + }) + + return kashiPairsMapCollateralGroup.sort((a, b) => a.collateral.symbol.localeCompare(b.collateral.symbol)) + } + + static getInstance() { + if (CalculateService.instance) { + return CalculateService.instance + } + CalculateService.instance = new CalculateService() + return CalculateService.instance + } +} + +export default CalculateService diff --git a/src/features/analytics/kashi/services/utils/TokenUtilService.ts b/src/features/analytics/kashi/services/utils/TokenUtilService.ts new file mode 100644 index 0000000000..dc86f610be --- /dev/null +++ b/src/features/analytics/kashi/services/utils/TokenUtilService.ts @@ -0,0 +1,40 @@ +import { TOKENS } from '../../config/tokenlist' + +class TokenUtilService { + protected static instance: TokenUtilService + constructor() {} + + static getInstance() { + if (TokenUtilService.instance) { + return TokenUtilService.instance + } + TokenUtilService.instance = new TokenUtilService() + return TokenUtilService.instance + } + + symbol(symbol: string | undefined): string | undefined { + if (symbol && symbol.toLocaleLowerCase() === 'ftx token') { + return 'FTT' + } + return symbol + } + + pairSymbol(symbol1: string | undefined, symbol2: string | undefined): string { + return `${this.symbol(symbol1)}/${this.symbol(symbol2)}` + } + + name(name: string | undefined): string | undefined { + if (name && name.toLocaleLowerCase() === 'ftt') { + return 'FTX Token' + } + return name + } + + logo(symbol: string | undefined): string | undefined { + const realSymbol = this.symbol(symbol) + const token = TOKENS.find((token) => realSymbol === token.symbol) + return token?.logoURI || '' + } +} + +export default TokenUtilService diff --git a/src/features/analytics/kashi/types/BentoBox.ts b/src/features/analytics/kashi/types/BentoBox.ts new file mode 100644 index 0000000000..69da025656 --- /dev/null +++ b/src/features/analytics/kashi/types/BentoBox.ts @@ -0,0 +1,15 @@ +import { KashiPair } from './KashiPair' +import { Token } from './Token' +import { User } from './User' + +export type BentoBox = { + id: string + users?: User[] + tokens?: Token[] + kashiPairs?: KashiPair[] + totalTokens?: BigInt + totalKashiPairs?: BigInt + totalUsers?: BigInt + block?: BigInt + timestamp?: BigInt +} diff --git a/src/features/analytics/kashi/types/Enums.ts b/src/features/analytics/kashi/types/Enums.ts new file mode 100644 index 0000000000..629d947e65 --- /dev/null +++ b/src/features/analytics/kashi/types/Enums.ts @@ -0,0 +1,9 @@ +export enum ChainIdEnum { + Ethereum = '0x1', + Gnosis = '0x64', +} + +export enum NativeCoinEnum { + USD = 'USD', + ETH = 'ETH', +} diff --git a/src/features/analytics/kashi/types/KashiPair.ts b/src/features/analytics/kashi/types/KashiPair.ts new file mode 100644 index 0000000000..a00c76284a --- /dev/null +++ b/src/features/analytics/kashi/types/KashiPair.ts @@ -0,0 +1,37 @@ +import { Token } from './Token' + +export type KashiPair = { + id: string + type?: string + owner?: string + feeTo?: string + name: string + symbol: string + oracle?: string + asset?: Token + collateral?: Token + exchangeRate?: BigInt + totalAssetElastic?: BigInt + totalAssetBase?: BigInt + totalAsset?: BigInt + totalCollateralShare?: BigInt + totalBorrowElastic?: BigInt + totalBorrowBase?: BigInt + totalBorrow?: BigInt + interestPerSecond?: BigInt + utilization?: BigInt + feesEarnedFraction?: BigInt + totalFeesEarnedFraction?: BigInt + lastAccrued?: BigInt + supplyAPR?: BigInt + borrowAPR?: BigInt + block?: BigInt + timestamp?: BigInt +} + +export type KashiPairsByToken = { + token: Token + totalAsset: BigInt + totalBorrow: BigInt + kashiPairs: KashiPair[] +} diff --git a/src/features/analytics/kashi/types/KashiPairDayData.ts b/src/features/analytics/kashi/types/KashiPairDayData.ts new file mode 100644 index 0000000000..d0c15221df --- /dev/null +++ b/src/features/analytics/kashi/types/KashiPairDayData.ts @@ -0,0 +1,33 @@ +import { KashiPair } from './KashiPair' +import { Token } from './Token' + +export type KashiPairDayData = { + id: string + date: number + pair: KashiPair + totalAsset?: BigInt + totalAssetElastic?: BigInt + totalAssetBase?: BigInt + totalCollateralShare?: BigInt + totalBorrow?: BigInt + totalBorrowElastic?: BigInt + totalBorrowBase?: BigInt + avgExchangeRate?: BigInt + avgUtilization?: BigInt + avgInterestPerSecond?: BigInt +} + +export type KashiPairDayDataMap = { + totalAsset: BigInt + totalBorrow: BigInt + avgExchangeRate: BigInt + avgUtilization: BigInt + avgInterestPerSecond: BigInt + date: string + kashiPairs: KashiPairDayData[] +} + +export type KashiPairDayDataMapsCollateral = { + collateral: Token + kashiPairsMaps: KashiPairDayDataMap[] +} diff --git a/src/features/analytics/kashi/types/Token.ts b/src/features/analytics/kashi/types/Token.ts new file mode 100644 index 0000000000..8598a88e6b --- /dev/null +++ b/src/features/analytics/kashi/types/Token.ts @@ -0,0 +1,12 @@ +export type Token = { + id: string + name: string + symbol: string + decimals: BigInt + totalSupply?: BigInt + totalSupplyElastic?: BigInt + totalSupplyBase?: BigInt + price?: BigInt + block?: BigInt + timestamp?: BigInt +} diff --git a/src/features/analytics/kashi/types/User.ts b/src/features/analytics/kashi/types/User.ts new file mode 100644 index 0000000000..957a1c1c72 --- /dev/null +++ b/src/features/analytics/kashi/types/User.ts @@ -0,0 +1,5 @@ +export type User = { + id: string + block?: BigInt + timestamp?: BigInt +} diff --git a/src/features/analytics/kashi/views/KashiPairView.tsx b/src/features/analytics/kashi/views/KashiPairView.tsx new file mode 100644 index 0000000000..2c0745a550 --- /dev/null +++ b/src/features/analytics/kashi/views/KashiPairView.tsx @@ -0,0 +1,129 @@ +/* eslint-disable @next/next/no-img-element */ +import { useQuery } from '@apollo/client' +import { i18n } from '@lingui/core' +import { useRouter } from 'next/router' +import { useEffect, useState } from 'react' + +import PairCard from '../components/PairCard' +import PairInterestPerSecondDayDataChart from '../components/PairInteresetPerSecondDayDataChart' +import PairSupplyAccruedInterestDayDataChart from '../components/PairSupplyAccruedInterestDayDataChart' +import PairSupplyBorrowDayDataChart from '../components/PairSupplyBorrowDayDataChart' +import PairSupplyBorrowMonthDataChart from '../components/PairSupplyBorrowMonthDataChart' +import PairUtilizationDayDataChart from '../components/PairUtilizationDayDataChart' +import { useAppContext } from '../context/AppContext' +import { getKashiPairQuery } from '../graphql/pair' +import { KashiPair } from '../types/KashiPair' +import { KashiPairDayData, KashiPairDayDataMap } from '../types/KashiPairDayData' + +const KashiPairView = () => { + const { tokenUtilService, handleLogoError } = useAppContext() + const [kashiPair, setKashiPair] = useState() + const [kashiPairDayData, setKashiPairDayData] = useState([]) + + const [kashiPairDayDataMonthly, setKashiPairDayDataMonthly] = useState([]) + + const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) + const { calculateService, coinGeckoService } = useAppContext() + + const router = useRouter() + const { id } = router.query + const { + loading: loadingKashiPairs, + error, + data: dataKashiPairs, + } = useQuery(getKashiPairQuery, { variables: { id }, skip: !id }) + + useEffect(() => { + if (dataKashiPairs) { + setKashiPairData() + } + }, [dataKashiPairs]) + + const setKashiPairData = async () => { + const { kashiPairs, kashiPairDayDatas }: { kashiPairs: KashiPair[]; kashiPairDayDatas: KashiPairDayData[] } = + dataKashiPairs + const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairs) + const pricesMap = await coinGeckoService.getPrices(symbols) + setPricesMap(pricesMap) + + const { kashiPairs: newKashiPairs } = calculateService.calculateKashiPairPrices(kashiPairs, pricesMap) + + const kashiPair = newKashiPairs[0] + setKashiPair(kashiPair) + + const { kashiPairsMaps } = calculateService.calculateKashiPairDayDataPrices(kashiPairDayDatas, pricesMap) + setKashiPairDayData(kashiPairsMaps) + + const { kashiPairsMaps: kashiPairsMapMonthly } = calculateService.calculateKashiPairDayDataPricesMonthly( + kashiPairDayDatas, + pricesMap + ) + setKashiPairDayDataMonthly(kashiPairsMapMonthly) + } + + return ( + <> +
+
+ {!kashiPair ? ( +
+
+
+
+
+
+
+
+
+
+
+ ) : ( +
+
+ {tokenUtilService.symbol(kashiPair?.symbol)} + {kashiPair?.symbol} +
+
+

+ {tokenUtilService.symbol(kashiPair?.asset?.symbol)}/ + {tokenUtilService.symbol(kashiPair?.collateral?.symbol)} +

+
+
+ )} +
+
+
+ +
+ + + + + + +
+
+ + ) +} + +export default KashiPairView diff --git a/src/features/analytics/kashi/views/KashiPairsView.tsx b/src/features/analytics/kashi/views/KashiPairsView.tsx new file mode 100644 index 0000000000..af87a75b96 --- /dev/null +++ b/src/features/analytics/kashi/views/KashiPairsView.tsx @@ -0,0 +1,179 @@ +import { useQuery } from '@apollo/client' +import { BigNumber } from 'ethers' +import { useEffect, useState } from 'react' + +import PairMarketTable from '../components/PairMarketTable' +import TotalCard from '../components/TotalCard' +import TotalCompareChart from '../components/TotalCompareChart' +import TotalDayDataChart from '../components/TotalDayDataChart' +import { useAppContext } from '../context/AppContext' +import { getKashiPairsDayDataQuery, getKashiPairsQuery } from '../graphql/dashboard' +import { BentoBox } from '../types/BentoBox' +import { KashiPair } from '../types/KashiPair' +import { KashiPairDayData, KashiPairDayDataMap } from '../types/KashiPairDayData' + +const KashiPairsView = () => { + const { loading: loadingKashiPairs, error, data: dataKashiPairs } = useQuery(getKashiPairsQuery) + + const { loading: loadingKashiPairsDayData0, data: dataKashiPairsDayData0 } = useQuery(getKashiPairsDayDataQuery, { + variables: { skip: 0 }, + }) + + const { loading: loadingKashiPairsDayData1, data: dataKashiPairsDayData1 } = useQuery(getKashiPairsDayDataQuery, { + variables: { skip: 1000 }, + }) + + const [kashiPairsDayData, setKashiPairsDayData] = useState([]) + + const [calculating, setCalculating] = useState(true) + const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) + const [bentoBox, setBentoBox] = useState({} as BentoBox) + const [kashiPairs, setKashiPairs] = useState([] as KashiPair[]) + const { coinGeckoService, calculateService } = useAppContext() + + const [totalAssetsAmount, setTotalAssetsAmount] = useState(BigInt(0)) + const [totalBorrowsAmount, setTotalBorrowsAmount] = useState(BigInt(0)) + + const [top3MarketsBySupply, setTop3MarketsBySupply] = useState([]) + const [top3MarketsByAsset, setTop3MarketsByAsset] = useState([]) + const [top3MarketsByBorrow, setTop3MarketsByBorrow] = useState([]) + + const loading = calculating || loadingKashiPairs + const loadingDayData = loading || loadingKashiPairsDayData0 || loadingKashiPairsDayData1 + + useEffect(() => { + if (dataKashiPairs) { + if (dataKashiPairs.bentoBoxes && dataKashiPairs.bentoBoxes.length > 0) { + setBentoBox(dataKashiPairs.bentoBoxes[0]) + } + if (dataKashiPairs.kashiPairs) { + setKashiPairsData(dataKashiPairs.kashiPairs) + } + } + }, [dataKashiPairs]) + + const setKashiPairsData = async (kashiPairsData: KashiPair[]) => { + const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairsData) + const pricesMap = await coinGeckoService.getPrices(symbols) + setPricesMap(pricesMap) + + const { + totalAsset: totalAssetsValue, + totalBorrow: totalBorrowsValue, + kashiPairs: newKashiPairs, + } = calculateService.calculateKashiPairPrices(kashiPairsData, pricesMap) + + const sortedKashiPairsBySupply = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? 1 + : -1 + ) + + const sortedKashiPairsByAsset = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? 1 : -1 + ) + + const sortedKashiPairsByBorrow = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? 1 : -1 + ) + + setCalculating(false) + + setTotalAssetsAmount(totalAssetsValue.toBigInt()) + setTotalBorrowsAmount(totalBorrowsValue.toBigInt()) + + setTop3MarketsBySupply( + sortedKashiPairsBySupply.slice(0, sortedKashiPairsBySupply.length < 3 ? sortedKashiPairsBySupply.length : 3) + ) + setTop3MarketsByAsset( + sortedKashiPairsByAsset.slice(0, sortedKashiPairsByAsset.length < 3 ? sortedKashiPairsByAsset.length : 3) + ) + setTop3MarketsByBorrow( + sortedKashiPairsByBorrow.slice(0, sortedKashiPairsByBorrow.length < 3 ? sortedKashiPairsByBorrow.length : 3) + ) + + setKashiPairs(newKashiPairs) + } + + useEffect(() => {}, [kashiPairs]) + + useEffect(() => { + if (error) { + } + }, [error]) + + useEffect(() => { + if (!loadingKashiPairs && !calculating && !loadingKashiPairsDayData0 && !loadingKashiPairsDayData1) { + const dataKashiPairsDayDataMap = [dataKashiPairsDayData0, dataKashiPairsDayData1] + + const dataKashiPairsDayData = dataKashiPairsDayDataMap.reduce( + (prev: KashiPairDayData[], current?: { kashiPairDayDatas?: KashiPairDayData[] }) => [ + ...prev, + ...(current && current.kashiPairDayDatas ? current.kashiPairDayDatas : []), + ], + [] + ) + const { kashiPairsMaps: kashiPairsMap } = calculateService.calculateKashiPairDayDataPrices( + dataKashiPairsDayData, + pricesMap + ) + setKashiPairsDayData(kashiPairsMap) + } + }, [loadingKashiPairs, calculating, loadingKashiPairsDayData0, loadingKashiPairsDayData1]) + return ( + <> + {/* */} +
+ + + +
+
+
+
+ +
+
+ +
+
+
+
+ +
+ + ) +} +export default KashiPairsView diff --git a/src/features/analytics/kashi/views/KashiTokenView.tsx b/src/features/analytics/kashi/views/KashiTokenView.tsx new file mode 100644 index 0000000000..233ffdb424 --- /dev/null +++ b/src/features/analytics/kashi/views/KashiTokenView.tsx @@ -0,0 +1,180 @@ +/* eslint-disable @next/next/no-img-element */ +import { useQuery } from '@apollo/client' +import { useRouter } from 'next/router' +import { useEffect, useState } from 'react' + +import PairCollateralPieChart from '../components/PairCollateralPieChart' +import PairSupplyBorrowDayDataChart from '../components/PairSupplyBorrowDayDataChart' +import TokenCard from '../components/TokenCard' +import { handleLogoError, useAppContext } from '../context/AppContext' +import { getKashiPairsDayDataQuery, getTokensQuery } from '../graphql/token' +import { KashiPair } from '../types/KashiPair' +import { KashiPairDayDataMap, KashiPairDayDataMapsCollateral } from '../types/KashiPairDayData' +import { Token } from '../types/Token' + +const KashiTokenView = () => { + const { tokenUtilService } = useAppContext() + const [token, setToken] = useState() + const [totalAsset, setTotalAsset] = useState(BigInt(0)) + const [totalBorrow, setTotalBorrow] = useState(BigInt(0)) + + const [kashiPairs, setKashiPairs] = useState([]) + const [kashiPairDayDataMaps, setKashiPairDayDataMaps] = useState([]) + + const [kashiPairDayDataMapsCollaterals, setKashiPairDayDataMapsCollaterals] = useState< + KashiPairDayDataMapsCollateral[] + >([]) + const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) + const { calculateService, coinGeckoService } = useAppContext() + + const router = useRouter() + const { id } = router.query + const { + loading: loadingDataToken, + error, + data: dataToken, + } = useQuery(getTokensQuery, { variables: { id }, skip: !id }) + + const pairIds = kashiPairs.map((kashiPair) => kashiPair.id) + + const { loading: loadingKashiPairDayData, data: dataKashiPairDayData } = useQuery(getKashiPairsDayDataQuery, { + variables: { pairIds }, + skip: pairIds.length === 0, + }) + + useEffect(() => { + if (dataToken) { + setTokenData() + } + }, [dataToken]) + + useEffect(() => { + const pricesMapKeys = Object.keys(pricesMap) + if (pricesMapKeys.length > 0 && dataKashiPairDayData && dataKashiPairDayData.kashiPairDayDatas.length > 0) { + const kashiPairDayDataMapsCollaterals = calculateService.calculateKashiPairDayDataPricesByCollateral( + dataKashiPairDayData.kashiPairDayDatas, + pricesMap + ) + + const { kashiPairsMaps } = calculateService.calculateKashiPairDayDataPrices( + dataKashiPairDayData.kashiPairDayDatas, + pricesMap + ) + setKashiPairDayDataMapsCollaterals(kashiPairDayDataMapsCollaterals) + setKashiPairDayDataMaps(kashiPairsMaps) + } + }, [pricesMap, dataKashiPairDayData]) + + const setTokenData = async () => { + const { tokens, kashiPairs }: { tokens: Token[]; kashiPairs: KashiPair[] } = dataToken + const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairs) + const pricesMap = await coinGeckoService.getPrices(symbols) + setPricesMap(pricesMap) + + const { tokens: newTokens } = calculateService.calculateTokenPrices(tokens, pricesMap) + + const token = newTokens[0] + setToken(token) + + const { + kashiPairs: newKashiPairs, + totalAsset, + totalBorrow, + } = calculateService.calculateKashiPairPrices(kashiPairs, pricesMap) + + setTotalAsset(totalAsset.toBigInt()) + setTotalBorrow(totalBorrow.toBigInt()) + setKashiPairs(newKashiPairs) + } + + return ( + <> +
+
+ {!token ? ( +
+
+
+
+
+
+
+
+
+
+ ) : ( +
+
+ {token?.symbol} +
+
+

{tokenUtilService.symbol(token?.symbol)}

+
+
+ )} +
+
+
+ +
+ + + +
+
+ + +
+
+ {kashiPairDayDataMapsCollaterals + ?.filter((value) => value.kashiPairsMaps.length > 0) + .map((value) => { + const { collateral, kashiPairsMaps } = value + return ( +
+
+
+ {tokenUtilService.symbol(token?.symbol)} + {collateral?.symbol} +
+
+

+ {tokenUtilService.symbol(token?.symbol)}/{tokenUtilService.symbol(collateral?.symbol)} +

+
+
+
+ + +
+
+ ) + })} +
+
+ + ) +} + +export default KashiTokenView diff --git a/src/features/analytics/kashi/views/KashiTokensView.tsx b/src/features/analytics/kashi/views/KashiTokensView.tsx new file mode 100644 index 0000000000..c29ba09907 --- /dev/null +++ b/src/features/analytics/kashi/views/KashiTokensView.tsx @@ -0,0 +1,123 @@ +import { useQuery } from '@apollo/client' +import { BigNumber } from 'ethers' +import { useEffect, useState } from 'react' + +import TokenMarketTable from '../components/TokenMarketTable' +import TotakTokenCard from '../components/TotalTokenCard' +import { useAppContext } from '../context/AppContext' +import { getKashiPairsQuery } from '../graphql/explore' +import { KashiPairsByToken } from '../types/KashiPair' + +const KashiTokensView = () => { + const { loading: loadingToken, error, data: dataKashiPairs } = useQuery(getKashiPairsQuery) + const [calculating, setCalculating] = useState(true) + const [totalAsset, setTotalAsset] = useState(BigInt(0)) + const [totalBorrow, setTotalBorrow] = useState(BigInt(0)) + const [top3MarketsBySupply, setTop3MarketsBySupply] = useState([]) + const [top3MarketsByAsset, setTop3MarketsByAsset] = useState([]) + const [top3MarketsByBorrow, setTop3MarketsByBorrow] = useState([]) + + const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) + const [kashiPairsByTokens, setKashiPairsByTokens] = useState([]) + const { coinGeckoService, calculateService } = useAppContext() + const loading = loadingToken || calculating + + useEffect(() => { + if (dataKashiPairs) { + if (dataKashiPairs.kashiPairs) { + setDataKashiPairs() + } + } + }, [dataKashiPairs]) + + const setDataKashiPairs = async () => { + const { kashiPairs } = dataKashiPairs + const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairs) + const pricesMap = await coinGeckoService.getPrices(symbols) + setPricesMap(pricesMap) + + const { kashiPairsByTokens, totalAsset, totalBorrow } = calculateService.calculateKashiPairPricesGroupByAsset( + kashiPairs, + pricesMap + ) + setCalculating(false) + kashiPairsByTokens.sort((a, b) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .gte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? -1 + : 1 + ) + + const kashiPairsByTokensSortedByAsset = [...kashiPairsByTokens].sort((a, b) => + a.totalAsset > b.totalAsset ? -1 : 1 + ) + + const kashiPairsByTokensSortedByBorrow = [...kashiPairsByTokens].sort((a, b) => + a.totalBorrow > b.totalBorrow ? -1 : 1 + ) + + setTop3MarketsBySupply(kashiPairsByTokens.slice(0, kashiPairsByTokens.length < 3 ? kashiPairsByTokens.length : 3)) + setTop3MarketsByAsset( + kashiPairsByTokensSortedByAsset.slice( + 0, + kashiPairsByTokensSortedByAsset.length < 3 ? kashiPairsByTokensSortedByAsset.length : 3 + ) + ) + setTop3MarketsByBorrow( + kashiPairsByTokensSortedByBorrow.slice( + 0, + kashiPairsByTokensSortedByBorrow.length < 3 ? kashiPairsByTokensSortedByBorrow.length : 3 + ) + ) + + setKashiPairsByTokens(kashiPairsByTokens) + setTotalAsset(totalAsset.toBigInt()) + setTotalBorrow(totalBorrow.toBigInt()) + } + + return ( + <> + {/* */} +
+ + + +
+
+ +
+ + ) +} +export default KashiTokensView diff --git a/src/pages/analytics/kashi/pairs/[id].tsx b/src/pages/analytics/kashi/pairs/[id].tsx new file mode 100644 index 0000000000..04b296122b --- /dev/null +++ b/src/pages/analytics/kashi/pairs/[id].tsx @@ -0,0 +1,35 @@ +import { t } from '@lingui/macro' +import { useLingui } from '@lingui/react' +import Typography from 'app/components/Typography' +import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' +import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' +import KashiPairView from 'app/features/analytics/kashi/views/KashiPairView' +import { TridentBody, TridentHeader } from 'app/layouts/Trident' +import React, { FC } from 'react' + +const AnalyticsKashiPairPage: FC = () => { + const { i18n } = useLingui() + return ( + <> + +
+ + {i18n._(t`Kashi Analytics.`)} + + + {i18n._(t`Lend and borrow assets in Kashi isolated risk markets`)} + +
+
+ + + + + + + + + ) +} + +export default AnalyticsKashiPairPage diff --git a/src/pages/analytics/kashi/pairs/index.tsx b/src/pages/analytics/kashi/pairs/index.tsx new file mode 100644 index 0000000000..15acac8283 --- /dev/null +++ b/src/pages/analytics/kashi/pairs/index.tsx @@ -0,0 +1,35 @@ +import { t } from '@lingui/macro' +import { useLingui } from '@lingui/react' +import Typography from 'app/components/Typography' +import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' +import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' +import KashiPairsView from 'app/features/analytics/kashi/views/KashiPairsView' +import { TridentBody, TridentHeader } from 'app/layouts/Trident' +import React, { FC } from 'react' + +const AnalyticsKashiPairsPage: FC = () => { + const { i18n } = useLingui() + return ( + <> + +
+ + {i18n._(t`Kashi Analytics.`)} + + + {i18n._(t`Lend and borrow assets in Kashi isolated risk markets`)} + +
+
+ + + + + + + + + ) +} + +export default AnalyticsKashiPairsPage diff --git a/src/pages/analytics/kashi/tokens/[id].tsx b/src/pages/analytics/kashi/tokens/[id].tsx new file mode 100644 index 0000000000..6ce9094a93 --- /dev/null +++ b/src/pages/analytics/kashi/tokens/[id].tsx @@ -0,0 +1,35 @@ +import { t } from '@lingui/macro' +import { useLingui } from '@lingui/react' +import Typography from 'app/components/Typography' +import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' +import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' +import KashiTokenView from 'app/features/analytics/kashi/views/KashiTokenView' +import { TridentBody, TridentHeader } from 'app/layouts/Trident' +import React, { FC } from 'react' + +const AnalyticsKashiPairPage: FC = () => { + const { i18n } = useLingui() + return ( + <> + +
+ + {i18n._(t`Kashi Analytics.`)} + + + {i18n._(t`Lend and borrow assets in Kashi isolated risk markets`)} + +
+
+ + + + + + + + + ) +} + +export default AnalyticsKashiPairPage diff --git a/src/pages/analytics/kashi/tokens/index.tsx b/src/pages/analytics/kashi/tokens/index.tsx new file mode 100644 index 0000000000..81af7752e2 --- /dev/null +++ b/src/pages/analytics/kashi/tokens/index.tsx @@ -0,0 +1,35 @@ +import { t } from '@lingui/macro' +import { useLingui } from '@lingui/react' +import Typography from 'app/components/Typography' +import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' +import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' +import KashiTokensView from 'app/features/analytics/kashi/views/KashiTokensView' +import { TridentBody, TridentHeader } from 'app/layouts/Trident' +import React, { FC } from 'react' + +const AnalyticsKashiTokensPage: FC = () => { + const { i18n } = useLingui() + return ( + <> + +
+ + {i18n._(t`Kashi Token Analytics.`)} + + + {i18n._(t`Lend and borrow assets in Kashi isolated risk markets`)} + +
+
+ + + + + + + + + ) +} + +export default AnalyticsKashiTokensPage diff --git a/src/services/graph/fetchers/kashi.ts b/src/services/graph/fetchers/kashi.ts index 2ea5da4fcf..85da70fc4e 100644 --- a/src/services/graph/fetchers/kashi.ts +++ b/src/services/graph/fetchers/kashi.ts @@ -2,7 +2,7 @@ import { ChainId } from '@sushiswap/core-sdk' import { toAmount } from 'app/functions' import { GRAPH_HOST } from 'app/services/graph/constants' import { getTokenSubset } from 'app/services/graph/fetchers' -import { kashiPairsQuery } from 'app/services/graph/queries/kashi' +import { kashiPairDayDatasQuery, kashiPairsQuery } from 'app/services/graph/queries/kashi' import { getBentoTokens } from './bentobox' import { pager } from './pager' @@ -98,3 +98,86 @@ export const getKashiPairs = async (chainId = ChainId.ETHEREUM, variables = unde console.log(error) } } + +export const getKashiPairDatas = async (chainId = ChainId.ETHEREUM, variables = undefined) => { + const { kashiPairDayDatas } = await fetcher(chainId, kashiPairDayDatasQuery, variables) + + const tokenAddresses = Array.from( + kashiPairDayDatas.reduce( + // @ts-ignore TYPE NEEDS FIXING + (previousValue, currentValue) => previousValue.add(currentValue.pair.asset, currentValue.pair.collateral), + new Set() // use set to avoid duplicates + ) + ) + + const bentoBoxTokens = await getBentoTokens(chainId, { + tokenAddresses, + }) + + const exchangeTokens = await getTokenSubset(chainId, { + tokenAddresses, + }) + + try { + // @ts-ignore TYPE NEEDS FIXING + return kashiPairDayDatas.map((pairDayData) => { + // @ts-ignore TYPE NEEDS FIXING + const asset = bentoBoxTokens.find((token) => token.id === pairDayData.pair.asset) + // @ts-ignore TYPE NEEDS FIXING + const collateral = bentoBoxTokens.find((token) => token.id === pairDayData.pair.collateral) + return { + ...pairDayData, + asset: { + ...pairDayData.pair.asset, + // @ts-ignore TYPE NEEDS FIXING + ...bentoBoxTokens.find((token) => token.id === pairDayData.pair.asset), + // @ts-ignore TYPE NEEDS FIXING + ...exchangeTokens.find((token) => token.id === pairDayData.pair.asset), + }, + collateral: { + ...pairDayData.pair.collateral, + // @ts-ignore TYPE NEEDS FIXING + ...bentoBoxTokens.find((token) => token.id === pairDayData.pair.collateral), + // @ts-ignore TYPE NEEDS FIXING + ...exchangeTokens.find((token) => token.id === pairDayData.pair.collateral), + }, + token0: { + ...pairDayData.pair.asset, + // @ts-ignore TYPE NEEDS FIXING + ...bentoBoxTokens.find((token) => token.id === pairDayData.asset), + // @ts-ignore TYPE NEEDS FIXING + ...exchangeTokens.find((token) => token.id === pairDayData.asset), + }, + token1: { + ...pairDayData.pair.collateral, + // @ts-ignore TYPE NEEDS FIXING + ...bentoBoxTokens.find((token) => token.id === pairDayData.collateral), + // @ts-ignore TYPE NEEDS FIXING + ...exchangeTokens.find((token) => token.id === pairDayData.collateral), + }, + assetAmount: Math.floor( + pairDayData.totalAssetBase / + (pairDayData.totalAssetBase / + (Number(pairDayData.totalAssetElastic) + + (pairDayData.totalBorrowElastic * asset.rebase.base) / asset.rebase.elastic)) + ).toString(), + borrowedAmount: toAmount( + { + elastic: pairDayData.totalBorrowElastic.toBigNumber(0), + base: pairDayData.totalBorrowBase.toBigNumber(0), + }, + pairDayData.totalBorrowElastic.toBigNumber(0) + ).toString(), + collateralAmount: toAmount( + { + elastic: collateral.rebase.elastic.toBigNumber(0), + base: collateral.rebase.base.toBigNumber(0), + }, + pairDayData.totalCollateralShare.toBigNumber(0) + ).toString(), + } + }) + } catch (error) { + console.log(error) + } +} diff --git a/src/services/graph/queries/kashi.ts b/src/services/graph/queries/kashi.ts index c518885843..b92bfc8459 100644 --- a/src/services/graph/queries/kashi.ts +++ b/src/services/graph/queries/kashi.ts @@ -58,3 +58,50 @@ export const kashiPairsQuery = gql` } ${kashiPairFieldsQuery} ` + +export const kashiPairDayDatasQuery = gql` + query kashiPairDayDatas($first: Int = 1000, $skip: Int) { + kashiPairDayDatas(first: 1000, skip: $skip, orderBy: "date", orderDirection: "desc") { + id + date + pair { + id + # bentoBox + type + masterContract + owner + feeTo + name + symbol + oracle + asset + collateral + exchangeRate + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + interestPerSecond + utilization + feesEarnedFraction + totalFeesEarnedFraction + lastAccrued + supplyAPR + borrowAPR + # transactions + # users + block + timestamp + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + avgExchangeRate + avgUtilization + avgInterestPerSecond + } + } +` diff --git a/src/styles/index.css b/src/styles/index.css index 23620e5785..7913870ae9 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -103,3 +103,7 @@ input[type=datetime-local]::-webkit-calendar-picker-indicator { input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; } + +.highcharts-credits { + display: none; +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b089f63d50..828ea109ee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,6 +18,24 @@ jsonpointer "^5.0.0" leven "^3.1.0" +"@apollo/client@^3.6.8": + version "3.6.8" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.6.8.tgz#97e876fdbc4c287652a61895fd2b6f0b157a7667" + integrity sha512-p/J6KRHZZPGX0bZtMLvRFAIcReYsRYGg+Jz9MkgabWPy0L8rwgyolq9fvKsNqkH888Tj9Yvwrxz9V84KfcORJA== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + "@wry/context" "^0.6.0" + "@wry/equality" "^0.5.0" + "@wry/trie" "^0.3.0" + graphql-tag "^2.12.6" + hoist-non-react-statics "^3.3.2" + optimism "^0.16.1" + prop-types "^15.7.2" + symbol-observable "^4.0.0" + ts-invariant "^0.10.3" + tslib "^2.3.0" + zen-observable-ts "^1.2.5" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -1728,6 +1746,11 @@ dependencies: cross-fetch "^3.1.5" +"@graphql-typed-document-node/core@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052" + integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== + "@hapi/hoek@^9.0.0": version "9.2.1" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" @@ -3002,6 +3025,11 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== +"@types/numeral@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/numeral/-/numeral-2.0.2.tgz#8ea2c4f4e64c0cc948ad7da375f6f827778a7912" + integrity sha512-A8F30k2gYJ/6e07spSCPpkuZu79LCnkPTvqmIWQzNGcrzwFKpVOydG41lNt5wZXjSI149qjyzC2L1+F2PD/NUA== + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -3719,6 +3747,27 @@ dependencies: lodash "^4" +"@wry/context@^0.6.0": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2" + integrity sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw== + dependencies: + tslib "^2.3.0" + +"@wry/equality@^0.5.0": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.2.tgz#72c8a7a7d884dff30b612f4f8464eba26c080e73" + integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.1.tgz#2279b790f15032f8bcea7fc944d27988e5b3b139" + integrity sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw== + dependencies: + tslib "^2.3.0" + "@zeit/schemas@2.6.0": version "2.6.0" resolved "https://registry.yarnpkg.com/@zeit/schemas/-/schemas-2.6.0.tgz#004e8e553b4cd53d538bd38eac7bcbf58a867fe3" @@ -7241,7 +7290,7 @@ graphql-request@^3.5.0: extract-files "^9.0.0" form-data "^3.0.0" -graphql-tag@^2.12.5: +graphql-tag@^2.12.5, graphql-tag@^2.12.6: version "2.12.6" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== @@ -7353,6 +7402,16 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" +highcharts-react-official@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/highcharts-react-official/-/highcharts-react-official-3.1.0.tgz#921e5614f9e8580bc99a1e3b531d51a70f396500" + integrity sha512-CkWJHrVMOc6CT8KFu1dR+a0w5OxCVKKgZUNWtEi5TmR0xqBDIDe+RyM652MAN/jBYppxMo6TCUVlRObCyWAn0Q== + +highcharts@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/highcharts/-/highcharts-10.1.0.tgz#561872ae8ea819131d78949136d05bcaaa99108b" + integrity sha512-gW/pzy/Qy/hiYeCflYHpwgsP2nqQavwuRUswRf+papmbutZ3I7K7AIZJ/yZ9NL5yzpF7X7r2dX7/nzZGN4A1rg== + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -9380,6 +9439,11 @@ module-lookup-amd@^7.0.1: requirejs "^2.3.5" requirejs-config-file "^4.0.0" +moment@^2.29.3: + version "2.29.3" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3" + integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw== + mrmime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b" @@ -9673,10 +9737,10 @@ number-to-bn@1.7.0: bn.js "4.11.6" strip-hex-prefix "1.0.0" -numeral@^2.0.0: +numeral@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506" - integrity sha1-StCAk21EPCVhrtnyGX7//iX05QY= + integrity sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA== nwsapi@^2.2.0: version "2.2.0" @@ -9787,6 +9851,14 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== +optimism@^0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d" + integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg== + dependencies: + "@wry/context" "^0.6.0" + "@wry/trie" "^0.3.0" + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -10836,6 +10908,11 @@ react-hook-form@^7.22.1: resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.29.0.tgz#5e7e41a483b70731720966ed8be52163ea1fecf1" integrity sha512-NcJqWRF6el5HMW30fqZRt27s+lorvlCCDbTpAyHoodQeYWXgQCvZJJQLC1kRMKdrJknVH0NIg3At6TUzlZJFOQ== +react-icons@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.4.0.tgz#a13a8a20c254854e1ec9aecef28a95cdf24ef703" + integrity sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg== + react-infinite-scroll-component@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/react-infinite-scroll-component/-/react-infinite-scroll-component-6.1.0.tgz#7e511e7aa0f728ac3e51f64a38a6079ac522407f" @@ -12108,6 +12185,11 @@ swr@^1.2.0: resolved "https://registry.yarnpkg.com/swr/-/swr-1.3.0.tgz#c6531866a35b4db37b38b72c45a63171faf9f4e8" integrity sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw== +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" @@ -12402,6 +12484,13 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== +ts-invariant@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" + integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== + dependencies: + tslib "^2.1.0" + ts-loader@^7.0.0: version "7.0.5" resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-7.0.5.tgz#789338fb01cb5dc0a33c54e50558b34a73c9c4c5" @@ -12464,6 +12553,11 @@ tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -13444,6 +13538,18 @@ yup@^0.32.11: property-expr "^2.0.4" toposort "^2.0.2" +zen-observable-ts@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" + integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== + dependencies: + zen-observable "0.8.15" + +zen-observable@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== + zustand@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d" From 82867ec86c1a8c4cd1939c11e522f242fa4bebf8 Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Mon, 20 Jun 2022 09:27:56 -0500 Subject: [PATCH 02/11] fix: fix switch chain problem --- .../kashi/components/PairMarketTable.tsx | 18 ++++++++-- .../analytics/kashi/context/ApolloContext.tsx | 34 ++++++++++++++++++- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/features/analytics/kashi/components/PairMarketTable.tsx b/src/features/analytics/kashi/components/PairMarketTable.tsx index 6442d8e8f9..2e02bacff3 100644 --- a/src/features/analytics/kashi/components/PairMarketTable.tsx +++ b/src/features/analytics/kashi/components/PairMarketTable.tsx @@ -203,7 +203,11 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) {numeral( BigNumber.from(data?.totalAssetElastic) .add(BigNumber.from(data.totalBorrowElastic)) - .div(BigNumber.from('10').pow(Number(data.asset?.decimals || 0) - 2)) + .div( + BigNumber.from('10').pow( + Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + ) + ) .toNumber() / 100 ).format('0,.00')}   @@ -217,7 +221,11 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number })
{numeral( BigNumber.from(data?.totalAssetElastic) - .div(BigNumber.from('10').pow(Number(data.asset?.decimals || 0) - 2)) + .div( + BigNumber.from('10').pow( + Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + ) + ) .toNumber() / 100 ).format('0,.00')}   @@ -238,7 +246,11 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number })
{numeral( BigNumber.from(data?.totalBorrowElastic) - .div(BigNumber.from('10').pow(Number(data.asset?.decimals || 0) - 2)) + .div( + BigNumber.from('10').pow( + Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + ) + ) .toNumber() / 100 ).format('0,.00')}   diff --git a/src/features/analytics/kashi/context/ApolloContext.tsx b/src/features/analytics/kashi/context/ApolloContext.tsx index 349aa4bf67..bdd79dcb4a 100644 --- a/src/features/analytics/kashi/context/ApolloContext.tsx +++ b/src/features/analytics/kashi/context/ApolloContext.tsx @@ -1,11 +1,43 @@ import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client' +import { i18n } from '@lingui/core' +import { ChainId } from '@sushiswap/core-sdk' +import { useRouter } from 'next/router' import { ReactNode } from 'react' -const client = new ApolloClient({ +const ethClient = new ApolloClient({ uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/bentobox', cache: new InMemoryCache(), }) +const arbitrumClient = new ApolloClient({ + uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/arbitrum-bentobox', + cache: new InMemoryCache(), +}) + +const fantomClient = new ApolloClient({ + uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/fantom-bentobox', + cache: new InMemoryCache(), +}) + +const bscClient = new ApolloClient({ + uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/bsc-bentobox', + cache: new InMemoryCache(), +}) + +const CLIENTS = { + [ChainId.ETHEREUM]: ethClient, + [ChainId.ARBITRUM]: arbitrumClient, + [ChainId.FANTOM]: fantomClient, + [ChainId.BSC]: bscClient, +} + export const AnalyticsKashiApolloContextProvider = ({ children }: { children: ReactNode }) => { + const router = useRouter() + const chainId = Number(router.query.chainId) as ChainId + const client = CLIENTS[chainId] + + if (!client) { + return
{i18n._('Kashi subgraph does not exist')}
+ } return {children} } From d1b39949fe3125cbabd484aae122c53555fc1984 Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Tue, 21 Jun 2022 15:30:25 -0500 Subject: [PATCH 03/11] fix: type fix on kashi context --- src/features/analytics/kashi/context/ApolloContext.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/features/analytics/kashi/context/ApolloContext.tsx b/src/features/analytics/kashi/context/ApolloContext.tsx index bdd79dcb4a..1236ebb16a 100644 --- a/src/features/analytics/kashi/context/ApolloContext.tsx +++ b/src/features/analytics/kashi/context/ApolloContext.tsx @@ -1,4 +1,4 @@ -import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client' +import { ApolloClient, ApolloProvider, InMemoryCache, NormalizedCacheObject } from '@apollo/client' import { i18n } from '@lingui/core' import { ChainId } from '@sushiswap/core-sdk' import { useRouter } from 'next/router' @@ -24,7 +24,7 @@ const bscClient = new ApolloClient({ cache: new InMemoryCache(), }) -const CLIENTS = { +const CLIENTS: { [chainId in ChainId]?: ApolloClient } = { [ChainId.ETHEREUM]: ethClient, [ChainId.ARBITRUM]: arbitrumClient, [ChainId.FANTOM]: fantomClient, From ea6ea56592a348c7cd5d210c9c7b73e0247b391b Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Wed, 6 Jul 2022 11:00:53 -0500 Subject: [PATCH 04/11] fix: fix some comments --- .vscode/settings.json | 2 +- .../analytics/kashi/components/TotalCard.tsx | 1 - .../kashi/components/TotalTokenCard.tsx | 28 --- .../analytics/kashi/config/constants.tsx | 8 - .../analytics/kashi/context/ApolloContext.tsx | 6 +- .../analytics/kashi/context/AppContext.tsx | 11 - .../analytics/kashi/graphql/bentobox.ts | 13 - .../kashi/services/data/DataTypes.ts | 223 ------------------ .../kashi/services/data/RestDataService.ts | 184 --------------- .../analytics/kashi/types/BentoBox.ts | 15 -- .../analytics/kashi/views/KashiPairsView.tsx | 8 - 11 files changed, 5 insertions(+), 494 deletions(-) delete mode 100644 src/features/analytics/kashi/config/constants.tsx delete mode 100644 src/features/analytics/kashi/graphql/bentobox.ts delete mode 100644 src/features/analytics/kashi/services/data/DataTypes.ts delete mode 100644 src/features/analytics/kashi/services/data/RestDataService.ts delete mode 100644 src/features/analytics/kashi/types/BentoBox.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 7e5c571c5c..10e7a83e1e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,7 +18,7 @@ "editor.formatOnSave": true, }, "[typescriptreact]": { - "editor.defaultFormatter": "dbaeumer.vscode-eslint", + "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true } } diff --git a/src/features/analytics/kashi/components/TotalCard.tsx b/src/features/analytics/kashi/components/TotalCard.tsx index cd053bcbf7..b754d70aa4 100644 --- a/src/features/analytics/kashi/components/TotalCard.tsx +++ b/src/features/analytics/kashi/components/TotalCard.tsx @@ -10,7 +10,6 @@ import Progress from './Progress' export type TotalData = { amount: BigInt volumeIn24H: BigInt - totalUsers: BigInt topMarkets: KashiPair[] } diff --git a/src/features/analytics/kashi/components/TotalTokenCard.tsx b/src/features/analytics/kashi/components/TotalTokenCard.tsx index 4493a9360f..491e95be8e 100644 --- a/src/features/analytics/kashi/components/TotalTokenCard.tsx +++ b/src/features/analytics/kashi/components/TotalTokenCard.tsx @@ -105,34 +105,6 @@ const TotakTokenCard = ({ /> )) )} - {/*
-
-
-
- 24H Supply Volume -
-
- {isLoading ? ( -
- ) : ( - numeral(data.volumeIn24H).format("$0,0.00") - )} -
-
-
-
- # of {attributes.users} -
-
- {isLoading ? ( -
- ) : ( - data.totalUsers - )} -
-
-
-
*/}
) diff --git a/src/features/analytics/kashi/config/constants.tsx b/src/features/analytics/kashi/config/constants.tsx deleted file mode 100644 index fa3b574b0f..0000000000 --- a/src/features/analytics/kashi/config/constants.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import { ChainIdEnum } from '../types/Enums' - -export const API_URL: string = process.env.API_URL || 'http://localhost:8000' - -export const CHAIN_RPC_URLS = { - [ChainIdEnum.Ethereum]: 'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', - [ChainIdEnum.Gnosis]: 'https://blockscout.com/xdai/mainnet/api/eth-rpc', -} diff --git a/src/features/analytics/kashi/context/ApolloContext.tsx b/src/features/analytics/kashi/context/ApolloContext.tsx index 1236ebb16a..dcc5cef2e1 100644 --- a/src/features/analytics/kashi/context/ApolloContext.tsx +++ b/src/features/analytics/kashi/context/ApolloContext.tsx @@ -1,4 +1,4 @@ -import { ApolloClient, ApolloProvider, InMemoryCache, NormalizedCacheObject } from '@apollo/client' +import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client' import { i18n } from '@lingui/core' import { ChainId } from '@sushiswap/core-sdk' import { useRouter } from 'next/router' @@ -24,7 +24,7 @@ const bscClient = new ApolloClient({ cache: new InMemoryCache(), }) -const CLIENTS: { [chainId in ChainId]?: ApolloClient } = { +const CLIENTS = { [ChainId.ETHEREUM]: ethClient, [ChainId.ARBITRUM]: arbitrumClient, [ChainId.FANTOM]: fantomClient, @@ -34,6 +34,8 @@ const CLIENTS: { [chainId in ChainId]?: ApolloClient } = export const AnalyticsKashiApolloContextProvider = ({ children }: { children: ReactNode }) => { const router = useRouter() const chainId = Number(router.query.chainId) as ChainId + + // @ts-ignore const client = CLIENTS[chainId] if (!client) { diff --git a/src/features/analytics/kashi/context/AppContext.tsx b/src/features/analytics/kashi/context/AppContext.tsx index 913379f827..9b791dfa62 100644 --- a/src/features/analytics/kashi/context/AppContext.tsx +++ b/src/features/analytics/kashi/context/AppContext.tsx @@ -1,9 +1,6 @@ import React, { createContext, ReactNode, useContext } from 'react' -import { API_URL } from '../config/constants' import CoinGeckoService from '../services/data/CoinGeckoService' -import { DataService } from '../services/data/DataTypes' -import RestDataService from '../services/data/RestDataService' import CalculateService from '../services/utils/CalculateService' import TokenUtilService from '../services/utils/TokenUtilService' @@ -12,7 +9,6 @@ export const handleLogoError = (event: React.SyntheticEvent) => { imgElement.src = '/images/tokens/icon-quiz.jpg' } interface AppContextProps { - dataService: DataService handleLogoError: (event: React.SyntheticEvent) => void coinGeckoService: CoinGeckoService calculateService: CalculateService @@ -21,7 +17,6 @@ interface AppContextProps { const AppContext = createContext({} as AppContextProps) export const AnalyticsKashiAppContextProvider = ({ children }: { children: ReactNode }) => { - const dataService = RestDataService(API_URL) const coinGeckoService = CoinGeckoService.getInstance() const calculateService = CalculateService.getInstance() const tokenUtilService = TokenUtilService.getInstance() @@ -29,7 +24,6 @@ export const AnalyticsKashiAppContextProvider = ({ children }: { children: React return ( { return useContext(AppContext) } -export const useDataService = () => { - const { dataService } = useAppContext() - return dataService -} - export const useCoingeckoService = () => { const { coinGeckoService } = useAppContext() return coinGeckoService diff --git a/src/features/analytics/kashi/graphql/bentobox.ts b/src/features/analytics/kashi/graphql/bentobox.ts deleted file mode 100644 index 45e58a8256..0000000000 --- a/src/features/analytics/kashi/graphql/bentobox.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { gql } from '@apollo/client' - -export const BENTOBOX = gql` - query GetBentoBoxes { - bentoBoxes { - totalTokens - totalKashiPairs - totalUsers - block - timestamp - } - } -` diff --git a/src/features/analytics/kashi/services/data/DataTypes.ts b/src/features/analytics/kashi/services/data/DataTypes.ts deleted file mode 100644 index 531bbfb34b..0000000000 --- a/src/features/analytics/kashi/services/data/DataTypes.ts +++ /dev/null @@ -1,223 +0,0 @@ -export declare type NestedField = { - operation: string - variables: QueryBuilderOptions[] - fields: Fields -} - -export declare type Fields = Array - -export declare type VariableOptions = - | { - type?: string - name?: string - value: any - list?: boolean - required?: boolean - } - | { - [k: string]: any - } - -export interface QueryBuilderOptions { - operation?: string - fields?: Fields - variables?: VariableOptions -} - -export declare type MetaDataQuery = { - [k: string]: any -} & QueryBuilderOptions - -export declare type BaseRecord = { - id?: string - [key: string]: any -} - -export interface Pagination { - current?: number - pageSize?: number -} -export interface Search { - field?: string - value?: string -} -export declare type CrudOperators = - | 'eq' - | 'ne' - | 'lt' - | 'gt' - | 'lte' - | 'gte' - | 'in' - | 'nin' - | 'contains' - | 'ncontains' - | 'containss' - | 'ncontainss' - | 'null' -export declare type CrudFilter = { - field: string - operator: CrudOperators - value: any -} -export declare type CrudSort = { - field: string - order: 'asc' | 'desc' -} -export declare type CrudFilters = CrudFilter[] -export declare type CrudSorting = CrudSort[] -export interface CustomResponse { - data: TData -} -export interface GetListResponse { - data: TData[] - total: number -} -export interface CreateResponse { - data: TData -} -export interface CreateManyResponse { - data: TData[] -} -export interface UpdateResponse { - data: TData -} -export interface UpdateManyResponse { - data: TData[] -} -export interface GetOneResponse { - data: TData -} -export interface GetManyResponse { - data: TData[] -} -export interface DeleteOneResponse { - data: TData -} -export interface DeleteManyResponse { - data: TData[] -} -export interface IDataContext { - getList: (params: { - resource: string - pagination?: Pagination - sort?: CrudSorting - filters?: CrudFilters - metaData?: MetaDataQuery - }) => Promise> - getMany: (params: { - resource: string - ids: string[] - metaData?: MetaDataQuery - }) => Promise> - getOne: (params: { - resource: string - id: string - metaData?: MetaDataQuery - }) => Promise> - create: (params: { - resource: string - variables: TVariables - metaData?: MetaDataQuery - }) => Promise> - createMany: (params: { - resource: string - variables: TVariables[] - metaData?: MetaDataQuery - }) => Promise> - update: (params: { - resource: string - id: string - variables: TVariables - metaData?: MetaDataQuery - }) => Promise> - updateMany: (params: { - resource: string - ids: string[] - variables: TVariables - metaData?: MetaDataQuery - }) => Promise> - deleteOne: (params: { - resource: string - id: string - metaData?: MetaDataQuery - }) => Promise> - deleteMany: (params: { - resource: string - ids: string[] - metaData?: MetaDataQuery - }) => Promise> - getApiUrl: () => string - custom: (params: { - url: string - method: 'get' | 'delete' | 'head' | 'options' | 'post' | 'put' | 'patch' - sort?: CrudSorting - filters?: CrudFilter[] - payload?: {} - query?: {} - headers?: {} - metaData?: MetaDataQuery - }) => Promise> -} -export interface DataService { - getList: (params: { - resource: string - pagination?: Pagination - sort?: CrudSorting - filters?: CrudFilters - metaData?: MetaDataQuery - }) => Promise> - getMany: (params: { - resource: string - ids: string[] - metaData?: MetaDataQuery - }) => Promise> - getOne: (params: { - resource: string - id: string - metaData?: MetaDataQuery - }) => Promise> - create: (params: { - resource: string - variables: TVariables - metaData?: MetaDataQuery - }) => Promise> - createMany: (params: { - resource: string - variables: TVariables[] - metaData?: MetaDataQuery - }) => Promise> - update: (params: { - resource: string - id: string - variables: TVariables - metaData?: MetaDataQuery - }) => Promise> - updateMany: (params: { - resource: string - ids: string[] - variables: TVariables - metaData?: MetaDataQuery - }) => Promise> - deleteOne: (params: { - resource: string - id: string - metaData?: MetaDataQuery - }) => Promise> - deleteMany: (params: { - resource: string - ids: string[] - metaData?: MetaDataQuery - }) => Promise> - getApiUrl: () => string - custom?: (params: { - url: string - method: 'get' | 'delete' | 'head' | 'options' | 'post' | 'put' | 'patch' - sort?: CrudSorting - filters?: CrudFilter[] - payload?: {} - query?: {} - headers?: {} - metaData?: MetaDataQuery - }) => Promise> -} diff --git a/src/features/analytics/kashi/services/data/RestDataService.ts b/src/features/analytics/kashi/services/data/RestDataService.ts deleted file mode 100644 index a4a5b98a05..0000000000 --- a/src/features/analytics/kashi/services/data/RestDataService.ts +++ /dev/null @@ -1,184 +0,0 @@ -import axios, { AxiosInstance } from 'axios' -import * as qs from 'qs' - -import { CrudFilters, CrudOperators, CrudSorting, DataService } from './DataTypes' - -export const axiosInstance = axios.create() - -const generateSort = (sort?: CrudSorting) => { - let _sort = ['id'] // default sorting field - let _order = ['desc'] // default sorting - - if (sort) { - _sort = [] - _order = [] - - sort.forEach((item) => { - _sort.push(item.field) - _order.push(item.order) - }) - } - - return { - _sort, - _order, - } -} - -const mapOperator = (operator: CrudOperators): string => { - switch (operator) { - case 'ne': - case 'gte': - case 'lte': - return `_${operator}` - case 'contains': - return '_like' - } - - return '' -} - -const generateFilter = (filters?: CrudFilters) => { - const queryFilters: { [key: string]: string } = {} - if (filters) { - filters.forEach(({ field, operator, value }) => { - const mappedOperator = mapOperator(operator) - queryFilters[`${field}${mappedOperator}`] = value - }) - } - - return queryFilters -} - -const RestDataService = (apiUrl: string, httpClient: AxiosInstance = axiosInstance): DataService => ({ - create: ({ resource, variables }) => { - const url = `${apiUrl}/${resource}` - return httpClient - .post(url, variables) - .then(({ data }) => Promise.resolve({ data })) - .catch(({ response }: { response: any }) => Promise.reject(response.data)) - }, - createMany: async ({ resource, variables }) => { - const response = await Promise.all( - variables.map(async (param) => { - const { data } = await httpClient.post(`${apiUrl}/${resource}`, param) - return data - }) - ) - return { data: response } - }, - deleteOne: ({ resource, id }) => { - const url = `${apiUrl}/${resource}/${id}` - return httpClient - .delete(url) - .then(({ data }) => Promise.resolve({ data })) - .catch(({ response }) => Promise.reject(response.data)) - }, - deleteMany: async ({ resource, ids }) => { - const response = await Promise.all( - ids.map(async (id) => { - const { data } = await httpClient.delete(`${apiUrl}/${resource}/${id}`) - return data - }) - ) - return { data: response } - }, - getList: async ({ resource, pagination, filters, sort }) => { - const url = `${apiUrl}/${resource}` - - const current = pagination?.current || 1 - const pageSize = pagination?.pageSize || 10 - - const { _sort, _order } = generateSort(sort) - - const queryFilters = generateFilter(filters) - - const query = { - skip: (current - 1) * pageSize, - take: pageSize, - sort: _sort.join(','), - order: _order.join(','), - } - - const { data } = await httpClient.get(`${url}?${qs.stringify(query)}&${qs.stringify(queryFilters)}`) - return data - }, - getMany: async ({ resource, ids }) => { - const { data } = await httpClient.get(`${apiUrl}/${resource}?${qs.stringify({ id: ids })}`) - return data - }, - getOne: ({ resource, id }) => { - const url = `${apiUrl}/${resource}/${id}` - return httpClient - .get(url) - .then(({ data }) => Promise.resolve({ data })) - .catch(({ response }) => Promise.reject(response.data)) - }, - update: ({ resource, id, variables }) => { - const url = `${apiUrl}/${resource}/${id}` - return httpClient - .patch(url, variables) - .then(({ data }) => Promise.resolve({ data })) - .catch(({ response }) => Promise.reject(response.data)) - }, - updateMany: async ({ resource, ids, variables }) => { - const response = await Promise.all( - ids.map(async (id) => { - const { data } = await httpClient.patch(`${apiUrl}/${resource}/${id}`, variables) - return data - }) - ) - - return { data: response } - }, - custom: async ({ url, method, sort, filters, payload, query, headers }) => { - let requestUrl = `${url}?` - - if (sort) { - const { _sort, _order } = generateSort(sort) - const sortQuery = { - _sort: _sort.join(','), - _order: _order.join(','), - } - requestUrl = `${requestUrl}&${qs.stringify(sortQuery)}` - } - - if (filters) { - const filterQuery = generateFilter(filters) - requestUrl = `${requestUrl}&${qs.stringify(filterQuery)}` - } - - if (query) { - requestUrl = `${requestUrl}&${qs.stringify(query)}` - } - - if (headers) { - httpClient.defaults.headers = { - ...httpClient.defaults.headers, - ...headers, - } - } - - let axiosResponse - switch (method) { - case 'put': - case 'post': - case 'patch': - axiosResponse = await httpClient[method](url, payload) - break - case 'delete': - axiosResponse = await httpClient.delete(url) - break - default: - axiosResponse = await httpClient.get(requestUrl) - break - } - - const { data } = axiosResponse - - return Promise.resolve({ data }) - }, - getApiUrl: () => apiUrl, -}) - -export default RestDataService diff --git a/src/features/analytics/kashi/types/BentoBox.ts b/src/features/analytics/kashi/types/BentoBox.ts deleted file mode 100644 index 69da025656..0000000000 --- a/src/features/analytics/kashi/types/BentoBox.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { KashiPair } from './KashiPair' -import { Token } from './Token' -import { User } from './User' - -export type BentoBox = { - id: string - users?: User[] - tokens?: Token[] - kashiPairs?: KashiPair[] - totalTokens?: BigInt - totalKashiPairs?: BigInt - totalUsers?: BigInt - block?: BigInt - timestamp?: BigInt -} diff --git a/src/features/analytics/kashi/views/KashiPairsView.tsx b/src/features/analytics/kashi/views/KashiPairsView.tsx index af87a75b96..0e73ac21e0 100644 --- a/src/features/analytics/kashi/views/KashiPairsView.tsx +++ b/src/features/analytics/kashi/views/KashiPairsView.tsx @@ -8,7 +8,6 @@ import TotalCompareChart from '../components/TotalCompareChart' import TotalDayDataChart from '../components/TotalDayDataChart' import { useAppContext } from '../context/AppContext' import { getKashiPairsDayDataQuery, getKashiPairsQuery } from '../graphql/dashboard' -import { BentoBox } from '../types/BentoBox' import { KashiPair } from '../types/KashiPair' import { KashiPairDayData, KashiPairDayDataMap } from '../types/KashiPairDayData' @@ -27,7 +26,6 @@ const KashiPairsView = () => { const [calculating, setCalculating] = useState(true) const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) - const [bentoBox, setBentoBox] = useState({} as BentoBox) const [kashiPairs, setKashiPairs] = useState([] as KashiPair[]) const { coinGeckoService, calculateService } = useAppContext() @@ -43,9 +41,6 @@ const KashiPairsView = () => { useEffect(() => { if (dataKashiPairs) { - if (dataKashiPairs.bentoBoxes && dataKashiPairs.bentoBoxes.length > 0) { - setBentoBox(dataKashiPairs.bentoBoxes[0]) - } if (dataKashiPairs.kashiPairs) { setKashiPairsData(dataKashiPairs.kashiPairs) } @@ -133,7 +128,6 @@ const KashiPairsView = () => { data={{ amount: totalAssetsAmount + totalBorrowsAmount, volumeIn24H: BigInt(0), - totalUsers: bentoBox.totalUsers || BigInt('0'), topMarkets: top3MarketsBySupply, }} /> @@ -144,7 +138,6 @@ const KashiPairsView = () => { data={{ amount: totalAssetsAmount, volumeIn24H: BigInt(0), - totalUsers: bentoBox.totalUsers || BigInt('0'), topMarkets: top3MarketsByAsset, }} /> @@ -155,7 +148,6 @@ const KashiPairsView = () => { data={{ amount: totalBorrowsAmount, volumeIn24H: BigInt(0), - totalUsers: bentoBox.totalUsers || BigInt('0'), topMarkets: top3MarketsByBorrow, }} /> From f8a3bfafbcea8777dba4bce75ecfc8a8362ff3e2 Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Mon, 11 Jul 2022 12:44:23 -0500 Subject: [PATCH 05/11] fix: removed apollo and coingeko api --- .../kashi/components/KashiMarketList.tsx | 156 ----------- .../kashi/components/KashiMarketListItem.tsx | 110 -------- .../kashi/components/PairMarketTable.tsx | 224 ++++++++-------- .../kashi/components/TokenMarketTable.tsx | 120 ++++----- .../analytics/kashi/context/ApolloContext.tsx | 45 ---- .../analytics/kashi/context/AppContext.tsx | 9 - .../analytics/kashi/graphql/dashboard.ts | 71 ----- .../analytics/kashi/graphql/explore.ts | 47 ---- src/features/analytics/kashi/graphql/pair.ts | 60 ----- src/features/analytics/kashi/graphql/token.ts | 82 ------ .../kashi/services/data/CoinGeckoService.ts | 64 ----- .../kashi/services/utils/CalculateService.ts | 16 +- .../analytics/kashi/views/KashiPairView.tsx | 54 ++-- .../analytics/kashi/views/KashiPairsView.tsx | 128 ++++----- .../analytics/kashi/views/KashiTokenView.tsx | 72 +++--- .../analytics/kashi/views/KashiTokensView.tsx | 89 ++++--- src/hooks/usePricesSubgraph.ts | 88 +++++++ src/pages/analytics/kashi/pairs/[id].tsx | 5 +- src/pages/analytics/kashi/pairs/index.tsx | 5 +- src/pages/analytics/kashi/tokens/[id].tsx | 5 +- src/pages/analytics/kashi/tokens/index.tsx | 5 +- src/services/graph/fetchers/index.ts | 1 + src/services/graph/fetchers/kashi.ts | 85 +----- src/services/graph/fetchers/kashipairs.ts | 59 +++++ src/services/graph/fetchers/pager.ts | 13 + src/services/graph/hooks/kashipairs.ts | 195 ++++++++++++++ src/services/graph/queries/index.ts | 1 + src/services/graph/queries/kashi.ts | 47 ---- src/services/graph/queries/kashipairs.ts | 242 ++++++++++++++++++ 29 files changed, 972 insertions(+), 1126 deletions(-) delete mode 100644 src/features/analytics/kashi/components/KashiMarketList.tsx delete mode 100644 src/features/analytics/kashi/components/KashiMarketListItem.tsx delete mode 100644 src/features/analytics/kashi/context/ApolloContext.tsx delete mode 100644 src/features/analytics/kashi/graphql/dashboard.ts delete mode 100644 src/features/analytics/kashi/graphql/explore.ts delete mode 100644 src/features/analytics/kashi/graphql/pair.ts delete mode 100644 src/features/analytics/kashi/graphql/token.ts delete mode 100644 src/features/analytics/kashi/services/data/CoinGeckoService.ts create mode 100644 src/hooks/usePricesSubgraph.ts create mode 100644 src/services/graph/fetchers/kashipairs.ts create mode 100644 src/services/graph/hooks/kashipairs.ts create mode 100644 src/services/graph/queries/kashipairs.ts diff --git a/src/features/analytics/kashi/components/KashiMarketList.tsx b/src/features/analytics/kashi/components/KashiMarketList.tsx deleted file mode 100644 index f648d2f87c..0000000000 --- a/src/features/analytics/kashi/components/KashiMarketList.tsx +++ /dev/null @@ -1,156 +0,0 @@ -import { t } from '@lingui/macro' -import { useLingui } from '@lingui/react' -import Search from 'app/components/Search' -import SortIcon from 'app/components/SortIcon' -import Typography from 'app/components/Typography' -import KashiMarketListItem from 'app/features/kashi/KashiMarketListItem' -import { TABLE_TR_TH_CLASSNAME, TABLE_WRAPPER_DIV_CLASSNAME } from 'app/features/trident/constants' -import { classNames } from 'app/functions' -import { useFuse, useSortableData } from 'app/hooks' -import { useInfiniteScroll } from 'app/hooks/useInfiniteScroll' -import React, { FC, memo } from 'react' -import InfiniteScroll from 'react-infinite-scroll-component' - -import { useKashiMediumRiskLendingPairs, useKashiPairAddresses } from '../../../kashi/hooks' -import { KashiMediumRiskLendingPair } from '../../../kashi/KashiMediumRiskLendingPair' -import KashiPairTotalCard from './KashiPairTotalCardEx' - -interface KashiMarketList {} - -const KashiMarketList: FC = () => { - const addresses = useKashiPairAddresses() - const markets = useKashiMediumRiskLendingPairs(null, addresses) - - const { i18n } = useLingui() - const { result, term, search } = useFuse({ - data: markets, - options: { - keys: ['asset.token.symbol', 'collateral.token.symbol'], - threshold: 0.2, - shouldSort: false, - useExtendedSearch: false, - }, - }) - - const { items, requestSort, sortConfig } = useSortableData(result, { - key: 'currentAllAssetsUSD', - direction: 'descending', - }) - - const [numDisplayed, setNumDisplayed] = useInfiniteScroll(items) - - return ( -
-
- - - -
-
- search(val.toUpperCase())} term={term} /> -
-
-
-
requestSort('pair.token0.symbol')} - > - - {i18n._(t`Asset / Collateral`)} - - {/**/} -
-
requestSort('currentAllAssetsUSD')} - > - - {i18n._(t`TVL`)} - - -
-
requestSort('currentBorrowAmountUSD')} - > - - {i18n._(t`Borrowed`)} - - -
- -
requestSort('currentSupplyAPR')} - > - - {i18n._(t`Supply APR`)} - - -
- -
requestSort('totalAssetAmountUSD')} - > - - {i18n._(t`Available`)} - - -
- -
requestSort('currentInterestPerYear')} - > - - {i18n._(t`Borrow APR`)} - - -
-
- - {i18n._(t`Actions`)} - -
-
-
- setNumDisplayed(numDisplayed + 10)} - hasMore={numDisplayed <= items.length} - loader={null} - > - {items.slice(0, numDisplayed).map((market, index) => ( - - ))} - -
-
-
- ) -} - -export default memo(KashiMarketList) diff --git a/src/features/analytics/kashi/components/KashiMarketListItem.tsx b/src/features/analytics/kashi/components/KashiMarketListItem.tsx deleted file mode 100644 index 9e5094e136..0000000000 --- a/src/features/analytics/kashi/components/KashiMarketListItem.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import { I18n } from '@lingui/core' -import { t } from '@lingui/macro' -import { CurrencyAmount, Percent } from '@sushiswap/core-sdk' -import { CurrencyLogoArray } from 'app/components/CurrencyLogo' -import Typography from 'app/components/Typography' -import { KashiMarketActions } from 'app/features/kashi/KashiMarket' -import { TABLE_TBODY_TD_CLASSNAME, TABLE_TBODY_TR_CLASSNAME } from 'app/features/trident/constants' -import { classNames, formatNumber, formatPercent } from 'app/functions' -import Link from 'next/link' -import React, { FC, memo, useMemo } from 'react' - -import KashiMediumRiskLendingPair from '../../../kashi/KashiMediumRiskLendingPair' - -interface KashiMarketListItem { - market: KashiMediumRiskLendingPair - i18n: I18n -} - -const KashiMarketListItem: FC = memo(({ market, i18n }) => { - const asset = market.asset.token - const collateral = market.collateral.token - - // @ts-ignore - const currentAllAssets = useMemo( - () => (asset ? CurrencyAmount.fromRawAmount(asset, market.currentAllAssets) : undefined), - [asset, market.currentAllAssets] - ) - // @ts-ignore - const currentBorrowAmount = useMemo( - () => (asset ? CurrencyAmount.fromRawAmount(asset, market.currentBorrowAmount) : undefined), - [asset, market.currentBorrowAmount] - ) - // @ts-ignore - const totalAssetAmount = useMemo( - () => (asset ? CurrencyAmount.fromRawAmount(asset, market.totalAssetAmount) : undefined), - [asset, market.totalAssetAmount] - ) - - const currentSupplyAPR = new Percent(market.currentSupplyAPR, 1e18) - - const currentInterestPerYear = new Percent(market.currentInterestPerYear, 1e18) - - return ( - -
{}}> -
- {asset && collateral && } -
- - {market.asset.token.symbol} - / - {market.collateral.token.symbol} - - - {market.oracle.name} - -
-
-
- - {formatNumber(market.currentAllAssetsUSD?.toFixed(0), true)} - - - {formatNumber(currentAllAssets?.toSignificant(6))} {market.asset.token.symbol} - -
-
- - {formatNumber(market.currentBorrowAmountUSD?.toFixed(0), true)} - - - {formatNumber(currentBorrowAmount?.toSignificant(6))} {market.asset.token.symbol} - -
- -
- - {formatPercent(currentSupplyAPR.toFixed(2))} - - - {i18n._(t`annualized`)} - -
- -
- - {formatNumber(market.totalAssetAmountUSD?.toFixed(0), true)} - - - {formatNumber(totalAssetAmount?.toSignificant(6))} {market.asset.token.symbol} - -
- -
- - {formatPercent(currentInterestPerYear.toFixed(2))} - - - {i18n._(t`annualized`)} - -
-
- -
-
- - ) -}) - -export default memo(KashiMarketListItem) diff --git a/src/features/analytics/kashi/components/PairMarketTable.tsx b/src/features/analytics/kashi/components/PairMarketTable.tsx index 2e02bacff3..f31f52fb1b 100644 --- a/src/features/analytics/kashi/components/PairMarketTable.tsx +++ b/src/features/analytics/kashi/components/PairMarketTable.tsx @@ -10,7 +10,7 @@ import { FaChevronDown, FaChevronUp } from 'react-icons/fa' import { useAppContext } from '../context/AppContext' import { KashiPair } from '../types/KashiPair' -type OrderBy = 'asset' | 'collateral' | 'totalSupply' | 'totalAsset' | 'supplyAPY' | 'totalBorrow' | 'borrowAPY' | '' +type OrderBy = 'asset' | 'collateral' | 'totalSupply' | 'totalAsset' | 'supplyAPR' | 'totalBorrow' | 'borrowAPR' | '' type OrderDirection = 'asc' | 'desc' const PairMarketTableHead = ({ @@ -57,52 +57,53 @@ const PairMarketTableHead = ({ }} > - {i18n._('Total Supply')} + {i18n._('TVL')} {orderBy === 'totalSupply' && iconByDirection[orderDirection]} { - onSort('totalAsset') + onSort('totalBorrow') }} > - {i18n._('Total Available')} - {orderBy === 'totalAsset' && iconByDirection[orderDirection]} + {i18n._('Borrowed')} + {orderBy === 'totalBorrow' && iconByDirection[orderDirection]} + { - onSort('supplyAPY') + onSort('supplyAPR') }} > - {i18n._('Supply APY')} - {orderBy === 'supplyAPY' && iconByDirection[orderDirection]} + {i18n._('Supply APR')} + {orderBy === 'supplyAPR' && iconByDirection[orderDirection]} { - onSort('totalBorrow') + onSort('totalAsset') }} > - {i18n._('Total Borrow')} - {orderBy === 'totalBorrow' && iconByDirection[orderDirection]} + {i18n._('Available')} + {orderBy === 'totalAsset' && iconByDirection[orderDirection]} { - onSort('borrowAPY') + onSort('borrowAPR') }} > - {i18n._('Borrow APY')} - {orderBy === 'borrowAPY' && iconByDirection[orderDirection]} + {i18n._('Borrow APR')} + {orderBy === 'borrowAPR' && iconByDirection[orderDirection]} @@ -168,108 +169,113 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) } return ( - goto(`/analytics/kashi/pairs/${data.id}`)} - className="border-t border-l-2 border-transparent cursor-pointer border-t-gray-900 hover:bg-dark-900" - > - -
-
- {data?.symbol} - {data?.symbol} + <> + goto(`/analytics/kashi/pairs/${data.id}`)} + className="border-t border-l-2 border-transparent cursor-pointer border-t-gray-900 hover:bg-dark-900" + > + +
+
+ {data?.symbol} + {data?.symbol} +
+
+ {tokenUtilService.pairSymbol(data.asset?.symbol, data.collateral?.symbol)} +
-
- {tokenUtilService.pairSymbol(data.asset?.symbol, data.collateral?.symbol)} + + +
+ {numeral(BigNumber.from(data?.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100).format( + '$0,.00' + )}
-
- - -
- {numeral(BigNumber.from(data?.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100).format( - '$0,.00' - )} -
-
- {numeral( - BigNumber.from(data?.totalAssetElastic) - .add(BigNumber.from(data.totalBorrowElastic)) - .div( - BigNumber.from('10').pow( - Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 +
+ {numeral( + BigNumber.from(data?.totalAssetElastic) + .add(BigNumber.from(data.totalBorrowElastic)) + .div( + BigNumber.from('10').pow( + Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + ) ) - ) - .toNumber() / 100 - ).format('0,.00')} -   - {data.asset?.symbol} -
- - -
- {numeral(BigNumber.from(data?.totalAsset).toNumber() / 100).format('$0,.00')} -
-
- {numeral( - BigNumber.from(data?.totalAssetElastic) - .div( - BigNumber.from('10').pow( - Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + .toNumber() / 100 + ).format('0,.00')} +   + {data.asset?.symbol} +
+ + +
+ {numeral(BigNumber.from(data?.totalBorrow).toNumber() / 100).format('$0,.00')} +
+
+ {numeral( + BigNumber.from(data?.totalBorrowElastic) + .div( + BigNumber.from('10').pow( + Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + ) ) - ) - .toNumber() / 100 - ).format('0,.00')} -   - {data.asset?.symbol} -
- - -
- {numeral(BigNumber.from(data?.supplyAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( - '%0.00' - )} -
- - -
- {numeral(BigNumber.from(data?.totalBorrow).toNumber() / 100).format('$0,.00')} -
-
- {numeral( - BigNumber.from(data?.totalBorrowElastic) - .div( - BigNumber.from('10').pow( - Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + .toNumber() / 100 + ).format('0,.00')} +   + {data.asset?.symbol} +
+ + +
+ {numeral(BigNumber.from(data?.supplyAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( + '%0.00' + )} +
+
{i18n._(`annualized`)}
+ + +
+ {numeral(BigNumber.from(data?.totalAsset).toNumber() / 100).format('$0,.00')} +
+
+ {numeral( + BigNumber.from(data?.totalAssetElastic) + .div( + BigNumber.from('10').pow( + Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 + ) ) - ) - .toNumber() / 100 - ).format('0,.00')} -   - {data.asset?.symbol} -
- - -
- {numeral(BigNumber.from(data?.borrowAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( - '%0.00' - )} -
- - + .toNumber() / 100 + ).format('0,.00')} +   + {data.asset?.symbol} +
+ + + +
+ {numeral(BigNumber.from(data?.borrowAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( + '%0.00' + )} +
+
{i18n._(`annualized`)}
+ + + ) } const PairMarketTable = ({ loading = false, data = [] }: { loading?: boolean; data: KashiPair[] }) => { - const [orderBy, setOrderBy] = useState('') + const [orderBy, setOrderBy] = useState('totalSupply') const [orderDirection, setOrderDirection] = useState('desc') const [fullList, setFullList] = useState([]) @@ -322,11 +328,11 @@ const PairMarketTable = ({ loading = false, data = [] }: { loading?: boolean; da desc: (a: KashiPair, b: KashiPair) => BigNumber.from(a.totalBorrow).gte(BigNumber.from(b.totalBorrow)) ? -1 : 1, }, - supplyAPY: { + supplyAPR: { asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.supplyAPR).lte(BigNumber.from(b.supplyAPR)) ? -1 : 1), desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.supplyAPR).gte(BigNumber.from(b.supplyAPR)) ? -1 : 1), }, - borrowAPY: { + borrowAPR: { asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.borrowAPR).lte(BigNumber.from(b.borrowAPR)) ? -1 : 1), desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.borrowAPR).gte(BigNumber.from(b.borrowAPR)) ? -1 : 1), }, diff --git a/src/features/analytics/kashi/components/TokenMarketTable.tsx b/src/features/analytics/kashi/components/TokenMarketTable.tsx index ca54089b8a..6cccd0ff3d 100644 --- a/src/features/analytics/kashi/components/TokenMarketTable.tsx +++ b/src/features/analytics/kashi/components/TokenMarketTable.tsx @@ -122,35 +122,37 @@ const MarketTableRow = ({ data, index }: { data: KashiPairsByToken; index: numbe } return ( - goto(`/analytics/kashi/tokens/${data.token.id}`)} - className="border-t border-l-2 border-transparent cursor-pointer border-t-gray-900 hover:bg-dark-900" - > - -
- {data.token.symbol} -
-
{tokenUtilService.symbol(data.token.symbol)}
+ <> + goto(`/analytics/kashi/tokens/${data.token.id}`)} + className="border-t border-l-2 border-transparent cursor-pointer border-t-gray-900 hover:bg-dark-900" + > + +
+ {data.token.symbol} +
+
{tokenUtilService.symbol(data.token.symbol)}
+
-
- - - {numeral(BigNumber.from(data.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100).format( - '$0,.00' - )} - - - {numeral(BigNumber.from(data.totalAsset).toNumber() / 100).format('$0,.00')} - - - {numeral(BigNumber.from(data.totalBorrow).toNumber() / 100).format('$0,.00')} - - + + + {numeral(BigNumber.from(data.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100).format( + '$0,.00' + )} + + + {numeral(BigNumber.from(data.totalAsset).toNumber() / 100).format('$0,.00')} + + + {numeral(BigNumber.from(data.totalBorrow).toNumber() / 100).format('$0,.00')} + + + ) } @@ -242,37 +244,39 @@ const TokenMarketTable = ({ loading = false, data = [] }: { loading?: boolean; d } return ( -
-
- + <> +
+
+ +
+ + + + + {loading ? ( + + + + + + + ) : ( + + {sortedList + .filter((value) => value.token.symbol.toLowerCase().indexOf(search.toLowerCase()) >= 0) + .map((data, index) => ( + + ))} + + )} +
- - - - - {loading ? ( - - - - - - - ) : ( - - {sortedList - .filter((value) => value.token.symbol.toLowerCase().indexOf(search.toLowerCase()) >= 0) - .map((data, index) => ( - - ))} - - )} -
-
+ ) } export default TokenMarketTable diff --git a/src/features/analytics/kashi/context/ApolloContext.tsx b/src/features/analytics/kashi/context/ApolloContext.tsx deleted file mode 100644 index dcc5cef2e1..0000000000 --- a/src/features/analytics/kashi/context/ApolloContext.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client' -import { i18n } from '@lingui/core' -import { ChainId } from '@sushiswap/core-sdk' -import { useRouter } from 'next/router' -import { ReactNode } from 'react' - -const ethClient = new ApolloClient({ - uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/bentobox', - cache: new InMemoryCache(), -}) - -const arbitrumClient = new ApolloClient({ - uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/arbitrum-bentobox', - cache: new InMemoryCache(), -}) - -const fantomClient = new ApolloClient({ - uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/fantom-bentobox', - cache: new InMemoryCache(), -}) - -const bscClient = new ApolloClient({ - uri: 'https://api.thegraph.com/subgraphs/name/sushiswap/bsc-bentobox', - cache: new InMemoryCache(), -}) - -const CLIENTS = { - [ChainId.ETHEREUM]: ethClient, - [ChainId.ARBITRUM]: arbitrumClient, - [ChainId.FANTOM]: fantomClient, - [ChainId.BSC]: bscClient, -} - -export const AnalyticsKashiApolloContextProvider = ({ children }: { children: ReactNode }) => { - const router = useRouter() - const chainId = Number(router.query.chainId) as ChainId - - // @ts-ignore - const client = CLIENTS[chainId] - - if (!client) { - return
{i18n._('Kashi subgraph does not exist')}
- } - return {children} -} diff --git a/src/features/analytics/kashi/context/AppContext.tsx b/src/features/analytics/kashi/context/AppContext.tsx index 9b791dfa62..e7a9a4df34 100644 --- a/src/features/analytics/kashi/context/AppContext.tsx +++ b/src/features/analytics/kashi/context/AppContext.tsx @@ -1,6 +1,5 @@ import React, { createContext, ReactNode, useContext } from 'react' -import CoinGeckoService from '../services/data/CoinGeckoService' import CalculateService from '../services/utils/CalculateService' import TokenUtilService from '../services/utils/TokenUtilService' @@ -10,21 +9,18 @@ export const handleLogoError = (event: React.SyntheticEvent) => { } interface AppContextProps { handleLogoError: (event: React.SyntheticEvent) => void - coinGeckoService: CoinGeckoService calculateService: CalculateService tokenUtilService: TokenUtilService } const AppContext = createContext({} as AppContextProps) export const AnalyticsKashiAppContextProvider = ({ children }: { children: ReactNode }) => { - const coinGeckoService = CoinGeckoService.getInstance() const calculateService = CalculateService.getInstance() const tokenUtilService = TokenUtilService.getInstance() return ( { return useContext(AppContext) } -export const useCoingeckoService = () => { - const { coinGeckoService } = useAppContext() - return coinGeckoService -} - export const useCalculateService = () => { const { calculateService } = useAppContext() return calculateService diff --git a/src/features/analytics/kashi/graphql/dashboard.ts b/src/features/analytics/kashi/graphql/dashboard.ts deleted file mode 100644 index 9ccd7b7bc7..0000000000 --- a/src/features/analytics/kashi/graphql/dashboard.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { gql } from '@apollo/client' - -export const getKashiPairsQuery = gql` - query GetPairs { - bentoBoxes { - totalTokens - totalKashiPairs - totalUsers - } - kashiPairs(first: 1000, orderBy: totalAssetElastic, orderDirection: desc) { - id - name - symbol - asset { - id - name - symbol - decimals - } - collateral { - id - name - symbol - decimals - } - exchangeRate - utilization - interestPerSecond - totalAssetElastic - totalAssetBase - supplyAPR - totalBorrowElastic - totalBorrowBase - borrowAPR - } - } -` - -export const getKashiPairsDayDataQuery = gql` - query GetDataKashiPairsDayData($skip: Int) { - kashiPairDayDatas(first: 1000, skip: $skip, orderBy: date, orderDirection: desc) { - id - date - pair { - id - name - symbol - asset { - id - name - symbol - decimals - } - collateral { - id - name - symbol - decimals - } - } - totalAssetElastic - totalAssetBase - totalCollateralShare - totalBorrowElastic - totalBorrowBase - avgExchangeRate - avgUtilization - avgInterestPerSecond - } - } -` diff --git a/src/features/analytics/kashi/graphql/explore.ts b/src/features/analytics/kashi/graphql/explore.ts deleted file mode 100644 index 90efa7ab75..0000000000 --- a/src/features/analytics/kashi/graphql/explore.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { gql } from '@apollo/client' - -export const getTokensQuery = gql` - query GetTokens { - tokens(first: 1000, orderBy: totalSupplyElastic, where: { totalSupplyElastic_gt: "0" }, orderDirection: desc) { - id - name - symbol - decimals - totalSupplyElastic - totalSupplyBase - block - timestamp - } - } -` - -export const getKashiPairsQuery = gql` - query GetPairs { - kashiPairs(first: 1000) { - id - name - symbol - asset { - id - name - symbol - decimals - } - collateral { - id - name - symbol - decimals - } - exchangeRate - utilization - interestPerSecond - totalAssetElastic - totalAssetBase - supplyAPR - totalBorrowElastic - totalBorrowBase - borrowAPR - } - } -` diff --git a/src/features/analytics/kashi/graphql/pair.ts b/src/features/analytics/kashi/graphql/pair.ts deleted file mode 100644 index 971261a56d..0000000000 --- a/src/features/analytics/kashi/graphql/pair.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { gql } from '@apollo/client' - -export const getKashiPairQuery = gql` - query GetPair($id: String) { - kashiPairs(first: 1, where: { id: $id }) { - id - name - symbol - asset { - id - name - symbol - decimals - } - collateral { - id - name - symbol - decimals - } - exchangeRate - totalAssetElastic - totalAssetBase - supplyAPR - totalBorrowElastic - totalBorrowBase - borrowAPR - utilization - } - kashiPairDayDatas(first: 1000, where: { pair: $id }, orderBy: date, orderDirection: desc) { - id - date - pair { - id - name - symbol - asset { - id - name - symbol - decimals - } - collateral { - id - name - symbol - decimals - } - } - totalAssetElastic - totalAssetBase - totalCollateralShare - totalBorrowElastic - totalBorrowBase - avgExchangeRate - avgUtilization - avgInterestPerSecond - } - } -` diff --git a/src/features/analytics/kashi/graphql/token.ts b/src/features/analytics/kashi/graphql/token.ts deleted file mode 100644 index 897cc7d3d2..0000000000 --- a/src/features/analytics/kashi/graphql/token.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { gql } from '@apollo/client' - -export const getTokensQuery = gql` - query GetToken($id: String) { - tokens(first: 1, where: { id: $id }) { - id - name - symbol - decimals - totalSupplyElastic - totalSupplyBase - block - timestamp - } - kashiPairs(first: 1000, where: { asset: $id }) { - id - name - symbol - asset { - id - name - symbol - decimals - totalSupplyElastic - totalSupplyBase - block - timestamp - } - collateral { - id - name - symbol - decimals - totalSupplyElastic - totalSupplyBase - block - timestamp - } - totalAssetElastic - totalAssetBase - totalCollateralShare - totalBorrowElastic - totalBorrowBase - supplyAPR - borrowAPR - } - } -` - -export const getKashiPairsDayDataQuery = gql` - query GetDataKashiPairsDayData($pairIds: [String], $skip: Int) { - kashiPairDayDatas(first: 1000, where: { pair_in: $pairIds }, orderBy: date, orderDirection: desc) { - id - date - pair { - id - name - symbol - asset { - id - name - symbol - decimals - } - collateral { - id - name - symbol - decimals - } - } - totalAssetElastic - totalAssetBase - totalCollateralShare - totalBorrowElastic - totalBorrowBase - avgExchangeRate - avgUtilization - avgInterestPerSecond - } - } -` diff --git a/src/features/analytics/kashi/services/data/CoinGeckoService.ts b/src/features/analytics/kashi/services/data/CoinGeckoService.ts deleted file mode 100644 index 88e281a295..0000000000 --- a/src/features/analytics/kashi/services/data/CoinGeckoService.ts +++ /dev/null @@ -1,64 +0,0 @@ -import axios from 'axios' -import qs from 'qs' - -import { COINGECKO } from '../../config/coingecko' -const baseURI = 'https://api.coingecko.com/api/v3' - -interface Coin { - id: string - name: string - symbol: string - price?: number -} - -class CoinGeckoService { - protected static instance: CoinGeckoService - protected coinsList?: Coin[] - constructor() {} - - protected async getCoinsList(): Promise { - if (this.coinsList) { - return this.coinsList - } - const { data }: { data: Coin[] } = await axios.get(`${baseURI}/coins/list`) - this.coinsList = data - return this.coinsList - } - - protected async getIds(symbols: string[]) { - const ids = symbols.map((symbol) => { - return COINGECKO.tokens[symbol] || '' - }) - return ids - } - - protected async parsePrices(symbols: string[], prices: { [key: string]: { usd: number } }) { - const pricesMap = {} as { [key: string]: BigInt } - symbols.forEach((symbol) => { - const price = prices[COINGECKO.tokens[symbol]]?.usd || 0 - pricesMap[symbol] = BigInt(Math.round(price) * Math.pow(10, 8)) - }) - return pricesMap - } - - async getPrices(symbols: string[]): Promise<{ [key: string]: BigInt }> { - const ids = await this.getIds(symbols) - const query = { - ids: ids.join(','), - vs_currencies: 'usd', - } - const { data } = await axios.get(`${baseURI}/simple/price${qs.stringify(query, { addQueryPrefix: true })}`) - - return this.parsePrices(symbols, data) - } - - static getInstance() { - if (CoinGeckoService.instance) { - return CoinGeckoService.instance - } - CoinGeckoService.instance = new CoinGeckoService() - return CoinGeckoService.instance - } -} - -export default CoinGeckoService diff --git a/src/features/analytics/kashi/services/utils/CalculateService.ts b/src/features/analytics/kashi/services/utils/CalculateService.ts index 2019edf8d0..c5944bea0f 100644 --- a/src/features/analytics/kashi/services/utils/CalculateService.ts +++ b/src/features/analytics/kashi/services/utils/CalculateService.ts @@ -73,10 +73,10 @@ class CalculateService { totalBorrow = BigNumber.from('0') if (kashiPair.asset) { - totalAsset = BigNumber.from(pricesMap[kashiPair.asset.symbol]) + totalAsset = BigNumber.from(pricesMap?.[kashiPair.asset.symbol] ?? 0) .mul(BigNumber.from(kashiPair.totalAssetElastic)) .div(BigNumber.from('10').pow(Number(kashiPair.asset.decimals) + 6)) - totalBorrow = BigNumber.from(pricesMap[kashiPair.asset.symbol]) + totalBorrow = BigNumber.from(pricesMap?.[kashiPair.asset.symbol] ?? 0) .mul(BigNumber.from(kashiPair.totalBorrowElastic)) .div(BigNumber.from('10').pow(Number(kashiPair.asset.decimals) + 6)) } @@ -137,13 +137,13 @@ class CalculateService { const newTokens = tokens.map((token) => { let totalSupply = BigNumber.from('0') - totalSupply = BigNumber.from(pricesMap[token.symbol]) + totalSupply = BigNumber.from(pricesMap[token.symbol] ?? 0) .mul(BigNumber.from(token.totalSupplyElastic)) .div(BigNumber.from('10').pow(Number(token.decimals) + 6)) sumTotalSupply = sumTotalSupply.add(totalSupply) const newToken = { ...token, - price: pricesMap[token.symbol] || 0, + price: (pricesMap[token.symbol] ?? 0) || 0, totalSupply: totalSupply.toBigInt(), } return newToken @@ -168,10 +168,10 @@ class CalculateService { totalBorrow = BigNumber.from('0') if (kashiPair.pair.asset) { - totalAsset = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + totalAsset = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol] ?? 0) .mul(BigNumber.from(kashiPair.totalAssetElastic)) .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) - totalBorrow = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + totalBorrow = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol] ?? 0) .mul(BigNumber.from(kashiPair.totalBorrowElastic)) .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) } @@ -287,10 +287,10 @@ class CalculateService { totalBorrow = BigNumber.from('0') if (kashiPair.pair.asset) { - totalAsset = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + totalAsset = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol] ?? 0) .mul(BigNumber.from(kashiPair.totalAssetElastic)) .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) - totalBorrow = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol]) + totalBorrow = BigNumber.from(pricesMap[kashiPair.pair.asset.symbol] ?? 0) .mul(BigNumber.from(kashiPair.totalBorrowElastic)) .div(BigNumber.from('10').pow(Number(kashiPair.pair.asset.decimals) + 6)) } diff --git a/src/features/analytics/kashi/views/KashiPairView.tsx b/src/features/analytics/kashi/views/KashiPairView.tsx index 2c0745a550..94833fc94f 100644 --- a/src/features/analytics/kashi/views/KashiPairView.tsx +++ b/src/features/analytics/kashi/views/KashiPairView.tsx @@ -1,6 +1,9 @@ /* eslint-disable @next/next/no-img-element */ -import { useQuery } from '@apollo/client' import { i18n } from '@lingui/core' +import { useKashiTokens } from 'app/features/kashi/hooks' +import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' +import { useDataKashiPairWithLoadingIndicator } from 'app/services/graph/hooks/kashipairs' +import { useActiveWeb3React } from 'app/services/web3' import { useRouter } from 'next/router' import { useEffect, useState } from 'react' @@ -11,7 +14,6 @@ import PairSupplyBorrowDayDataChart from '../components/PairSupplyBorrowDayDataC import PairSupplyBorrowMonthDataChart from '../components/PairSupplyBorrowMonthDataChart' import PairUtilizationDayDataChart from '../components/PairUtilizationDayDataChart' import { useAppContext } from '../context/AppContext' -import { getKashiPairQuery } from '../graphql/pair' import { KashiPair } from '../types/KashiPair' import { KashiPairDayData, KashiPairDayDataMap } from '../types/KashiPairDayData' @@ -22,43 +24,45 @@ const KashiPairView = () => { const [kashiPairDayDataMonthly, setKashiPairDayDataMonthly] = useState([]) - const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) - const { calculateService, coinGeckoService } = useAppContext() + const { calculateService } = useAppContext() const router = useRouter() const { id } = router.query - const { - loading: loadingKashiPairs, - error, - data: dataKashiPairs, - } = useQuery(getKashiPairQuery, { variables: { id }, skip: !id }) + + const { chainId } = useActiveWeb3React() + const { loading: loadingKashiPairs, data: dataKashiPairs } = useDataKashiPairWithLoadingIndicator({ + chainId, + variables: { id }, + }) + + const tokens = useKashiTokens() + const { loading: loadingPrice, data: pricesMap } = useKashiPricesSubgraphWithLoadingIndicator(Object.values(tokens)) useEffect(() => { if (dataKashiPairs) { setKashiPairData() } - }, [dataKashiPairs]) + }, [dataKashiPairs, loadingPrice]) const setKashiPairData = async () => { - const { kashiPairs, kashiPairDayDatas }: { kashiPairs: KashiPair[]; kashiPairDayDatas: KashiPairDayData[] } = - dataKashiPairs - const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairs) - const pricesMap = await coinGeckoService.getPrices(symbols) - setPricesMap(pricesMap) + if (!loadingPrice) { + const { kashiPairs, kashiPairDayDatas }: { kashiPairs: KashiPair[]; kashiPairDayDatas: KashiPairDayData[] } = + dataKashiPairs - const { kashiPairs: newKashiPairs } = calculateService.calculateKashiPairPrices(kashiPairs, pricesMap) + const { kashiPairs: newKashiPairs } = calculateService.calculateKashiPairPrices(kashiPairs, pricesMap) - const kashiPair = newKashiPairs[0] - setKashiPair(kashiPair) + const kashiPair = newKashiPairs[0] + setKashiPair(kashiPair) - const { kashiPairsMaps } = calculateService.calculateKashiPairDayDataPrices(kashiPairDayDatas, pricesMap) - setKashiPairDayData(kashiPairsMaps) + const { kashiPairsMaps } = calculateService.calculateKashiPairDayDataPrices(kashiPairDayDatas, pricesMap) + setKashiPairDayData(kashiPairsMaps) - const { kashiPairsMaps: kashiPairsMapMonthly } = calculateService.calculateKashiPairDayDataPricesMonthly( - kashiPairDayDatas, - pricesMap - ) - setKashiPairDayDataMonthly(kashiPairsMapMonthly) + const { kashiPairsMaps: kashiPairsMapMonthly } = calculateService.calculateKashiPairDayDataPricesMonthly( + kashiPairDayDatas, + pricesMap + ) + setKashiPairDayDataMonthly(kashiPairsMapMonthly) + } } return ( diff --git a/src/features/analytics/kashi/views/KashiPairsView.tsx b/src/features/analytics/kashi/views/KashiPairsView.tsx index 0e73ac21e0..b06477b88b 100644 --- a/src/features/analytics/kashi/views/KashiPairsView.tsx +++ b/src/features/analytics/kashi/views/KashiPairsView.tsx @@ -1,4 +1,10 @@ -import { useQuery } from '@apollo/client' +import { useKashiTokens } from 'app/features/kashi/hooks' +import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' +import { + useDataKashiPairsDayDataWithLoadingIndicator, + useDataKashiPairsWithLoadingIndicator, +} from 'app/services/graph/hooks/kashipairs' +import { useActiveWeb3React } from 'app/services/web3' import { BigNumber } from 'ethers' import { useEffect, useState } from 'react' @@ -7,27 +13,31 @@ import TotalCard from '../components/TotalCard' import TotalCompareChart from '../components/TotalCompareChart' import TotalDayDataChart from '../components/TotalDayDataChart' import { useAppContext } from '../context/AppContext' -import { getKashiPairsDayDataQuery, getKashiPairsQuery } from '../graphql/dashboard' import { KashiPair } from '../types/KashiPair' import { KashiPairDayData, KashiPairDayDataMap } from '../types/KashiPairDayData' const KashiPairsView = () => { - const { loading: loadingKashiPairs, error, data: dataKashiPairs } = useQuery(getKashiPairsQuery) + const { chainId } = useActiveWeb3React() + const { loading: loadingKashiPairs, data: dataKashiPairs } = useDataKashiPairsWithLoadingIndicator({ chainId }) - const { loading: loadingKashiPairsDayData0, data: dataKashiPairsDayData0 } = useQuery(getKashiPairsDayDataQuery, { - variables: { skip: 0 }, - }) + const { loading: loadingKashiPairsDayData0, data: dataKashiPairsDayData0 } = + useDataKashiPairsDayDataWithLoadingIndicator({ + chainId, + variables: { skip: 0 }, + }) - const { loading: loadingKashiPairsDayData1, data: dataKashiPairsDayData1 } = useQuery(getKashiPairsDayDataQuery, { - variables: { skip: 1000 }, - }) + const { loading: loadingKashiPairsDayData1, data: dataKashiPairsDayData1 } = + useDataKashiPairsDayDataWithLoadingIndicator({ + chainId, + variables: { skip: 1000 }, + }) const [kashiPairsDayData, setKashiPairsDayData] = useState([]) const [calculating, setCalculating] = useState(true) - const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) + //const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) const [kashiPairs, setKashiPairs] = useState([] as KashiPair[]) - const { coinGeckoService, calculateService } = useAppContext() + const { calculateService } = useAppContext() const [totalAssetsAmount, setTotalAssetsAmount] = useState(BigInt(0)) const [totalBorrowsAmount, setTotalBorrowsAmount] = useState(BigInt(0)) @@ -39,65 +49,61 @@ const KashiPairsView = () => { const loading = calculating || loadingKashiPairs const loadingDayData = loading || loadingKashiPairsDayData0 || loadingKashiPairsDayData1 + const tokens = useKashiTokens() + const { loading: loadingPrice, data: pricesMap } = useKashiPricesSubgraphWithLoadingIndicator(Object.values(tokens)) + useEffect(() => { if (dataKashiPairs) { if (dataKashiPairs.kashiPairs) { setKashiPairsData(dataKashiPairs.kashiPairs) } } - }, [dataKashiPairs]) + }, [dataKashiPairs, loadingPrice]) const setKashiPairsData = async (kashiPairsData: KashiPair[]) => { - const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairsData) - const pricesMap = await coinGeckoService.getPrices(symbols) - setPricesMap(pricesMap) - - const { - totalAsset: totalAssetsValue, - totalBorrow: totalBorrowsValue, - kashiPairs: newKashiPairs, - } = calculateService.calculateKashiPairPrices(kashiPairsData, pricesMap) - - const sortedKashiPairsBySupply = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalAsset) - .add(BigNumber.from(a.totalBorrow)) - .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) - ? 1 - : -1 - ) - - const sortedKashiPairsByAsset = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? 1 : -1 - ) - - const sortedKashiPairsByBorrow = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? 1 : -1 - ) - - setCalculating(false) - - setTotalAssetsAmount(totalAssetsValue.toBigInt()) - setTotalBorrowsAmount(totalBorrowsValue.toBigInt()) - - setTop3MarketsBySupply( - sortedKashiPairsBySupply.slice(0, sortedKashiPairsBySupply.length < 3 ? sortedKashiPairsBySupply.length : 3) - ) - setTop3MarketsByAsset( - sortedKashiPairsByAsset.slice(0, sortedKashiPairsByAsset.length < 3 ? sortedKashiPairsByAsset.length : 3) - ) - setTop3MarketsByBorrow( - sortedKashiPairsByBorrow.slice(0, sortedKashiPairsByBorrow.length < 3 ? sortedKashiPairsByBorrow.length : 3) - ) - - setKashiPairs(newKashiPairs) - } + if (!loadingPrice) { + const { + totalAsset: totalAssetsValue, + totalBorrow: totalBorrowsValue, + kashiPairs: newKashiPairs, + } = calculateService.calculateKashiPairPrices(kashiPairsData, pricesMap) + + const sortedKashiPairsBySupply = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? 1 + : -1 + ) - useEffect(() => {}, [kashiPairs]) + const sortedKashiPairsByAsset = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? 1 : -1 + ) - useEffect(() => { - if (error) { + const sortedKashiPairsByBorrow = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => + BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? 1 : -1 + ) + + setCalculating(false) + + setTotalAssetsAmount(totalAssetsValue.toBigInt()) + setTotalBorrowsAmount(totalBorrowsValue.toBigInt()) + + setTop3MarketsBySupply( + sortedKashiPairsBySupply.slice(0, sortedKashiPairsBySupply.length < 3 ? sortedKashiPairsBySupply.length : 3) + ) + setTop3MarketsByAsset( + sortedKashiPairsByAsset.slice(0, sortedKashiPairsByAsset.length < 3 ? sortedKashiPairsByAsset.length : 3) + ) + setTop3MarketsByBorrow( + sortedKashiPairsByBorrow.slice(0, sortedKashiPairsByBorrow.length < 3 ? sortedKashiPairsByBorrow.length : 3) + ) + + setKashiPairs(newKashiPairs) } - }, [error]) + } + + useEffect(() => {}, [kashiPairs]) useEffect(() => { if (!loadingKashiPairs && !calculating && !loadingKashiPairsDayData0 && !loadingKashiPairsDayData1) { @@ -155,10 +161,10 @@ const KashiPairsView = () => {
- +
- +
diff --git a/src/features/analytics/kashi/views/KashiTokenView.tsx b/src/features/analytics/kashi/views/KashiTokenView.tsx index 233ffdb424..ffb1d6a7b0 100644 --- a/src/features/analytics/kashi/views/KashiTokenView.tsx +++ b/src/features/analytics/kashi/views/KashiTokenView.tsx @@ -1,5 +1,11 @@ /* eslint-disable @next/next/no-img-element */ -import { useQuery } from '@apollo/client' +import { useKashiTokens } from 'app/features/kashi/hooks' +import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' +import { + useDataKashiTokensDayDataWithLoadingIndicator, + useDataKashiTokenWithLoadingIndicator, +} from 'app/services/graph/hooks/kashipairs' +import { useActiveWeb3React } from 'app/services/web3' import { useRouter } from 'next/router' import { useEffect, useState } from 'react' @@ -7,7 +13,6 @@ import PairCollateralPieChart from '../components/PairCollateralPieChart' import PairSupplyBorrowDayDataChart from '../components/PairSupplyBorrowDayDataChart' import TokenCard from '../components/TokenCard' import { handleLogoError, useAppContext } from '../context/AppContext' -import { getKashiPairsDayDataQuery, getTokensQuery } from '../graphql/token' import { KashiPair } from '../types/KashiPair' import { KashiPairDayDataMap, KashiPairDayDataMapsCollateral } from '../types/KashiPairDayData' import { Token } from '../types/Token' @@ -24,52 +29,55 @@ const KashiTokenView = () => { const [kashiPairDayDataMapsCollaterals, setKashiPairDayDataMapsCollaterals] = useState< KashiPairDayDataMapsCollateral[] >([]) - const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) - const { calculateService, coinGeckoService } = useAppContext() + + const { calculateService } = useAppContext() const router = useRouter() const { id } = router.query - const { - loading: loadingDataToken, - error, - data: dataToken, - } = useQuery(getTokensQuery, { variables: { id }, skip: !id }) + const { chainId } = useActiveWeb3React() + const { loading: loadingDataToken, data: dataToken } = useDataKashiTokenWithLoadingIndicator({ + chainId, + variables: { id }, + }) const pairIds = kashiPairs.map((kashiPair) => kashiPair.id) - const { loading: loadingKashiPairDayData, data: dataKashiPairDayData } = useQuery(getKashiPairsDayDataQuery, { - variables: { pairIds }, - skip: pairIds.length === 0, - }) + const { loading: loadingKashiPairDayData, data: dataKashiPairDayData } = + useDataKashiTokensDayDataWithLoadingIndicator({ + chainId, + variables: { pairIds }, + }) + + const tokens = useKashiTokens() + const { loading: loadingPrice, data: pricesMap } = useKashiPricesSubgraphWithLoadingIndicator(Object.values(tokens)) useEffect(() => { if (dataToken) { setTokenData() } - }, [dataToken]) + }, [dataToken, loadingPrice]) useEffect(() => { - const pricesMapKeys = Object.keys(pricesMap) - if (pricesMapKeys.length > 0 && dataKashiPairDayData && dataKashiPairDayData.kashiPairDayDatas.length > 0) { - const kashiPairDayDataMapsCollaterals = calculateService.calculateKashiPairDayDataPricesByCollateral( - dataKashiPairDayData.kashiPairDayDatas, - pricesMap - ) - - const { kashiPairsMaps } = calculateService.calculateKashiPairDayDataPrices( - dataKashiPairDayData.kashiPairDayDatas, - pricesMap - ) - setKashiPairDayDataMapsCollaterals(kashiPairDayDataMapsCollaterals) - setKashiPairDayDataMaps(kashiPairsMaps) + if (!loadingPrice) { + const pricesMapKeys = Object.keys(pricesMap) + if (pricesMapKeys.length > 0 && dataKashiPairDayData && dataKashiPairDayData.kashiPairDayDatas.length > 0) { + const kashiPairDayDataMapsCollaterals = calculateService.calculateKashiPairDayDataPricesByCollateral( + dataKashiPairDayData.kashiPairDayDatas, + pricesMap + ) + + const { kashiPairsMaps } = calculateService.calculateKashiPairDayDataPrices( + dataKashiPairDayData.kashiPairDayDatas, + pricesMap + ) + setKashiPairDayDataMapsCollaterals(kashiPairDayDataMapsCollaterals) + setKashiPairDayDataMaps(kashiPairsMaps) + } } - }, [pricesMap, dataKashiPairDayData]) + }, [dataKashiPairDayData]) const setTokenData = async () => { const { tokens, kashiPairs }: { tokens: Token[]; kashiPairs: KashiPair[] } = dataToken - const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairs) - const pricesMap = await coinGeckoService.getPrices(symbols) - setPricesMap(pricesMap) const { tokens: newTokens } = calculateService.calculateTokenPrices(tokens, pricesMap) @@ -121,7 +129,7 @@ const KashiTokenView = () => { )}
-
+
diff --git a/src/features/analytics/kashi/views/KashiTokensView.tsx b/src/features/analytics/kashi/views/KashiTokensView.tsx index c29ba09907..94c0ec7ced 100644 --- a/src/features/analytics/kashi/views/KashiTokensView.tsx +++ b/src/features/analytics/kashi/views/KashiTokensView.tsx @@ -1,15 +1,19 @@ -import { useQuery } from '@apollo/client' +import { useKashiTokens } from 'app/features/kashi/hooks' +import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' +import { useDataKashiTokensWithLoadingIndicator } from 'app/services/graph/hooks/kashipairs' +import { useActiveWeb3React } from 'app/services/web3' import { BigNumber } from 'ethers' import { useEffect, useState } from 'react' import TokenMarketTable from '../components/TokenMarketTable' import TotakTokenCard from '../components/TotalTokenCard' import { useAppContext } from '../context/AppContext' -import { getKashiPairsQuery } from '../graphql/explore' import { KashiPairsByToken } from '../types/KashiPair' const KashiTokensView = () => { - const { loading: loadingToken, error, data: dataKashiPairs } = useQuery(getKashiPairsQuery) + const { chainId } = useActiveWeb3React() + const { loading: loadingToken, data: dataKashiPairs } = useDataKashiTokensWithLoadingIndicator({ chainId }) + const [calculating, setCalculating] = useState(true) const [totalAsset, setTotalAsset] = useState(BigInt(0)) const [totalBorrow, setTotalBorrow] = useState(BigInt(0)) @@ -17,63 +21,64 @@ const KashiTokensView = () => { const [top3MarketsByAsset, setTop3MarketsByAsset] = useState([]) const [top3MarketsByBorrow, setTop3MarketsByBorrow] = useState([]) - const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) const [kashiPairsByTokens, setKashiPairsByTokens] = useState([]) - const { coinGeckoService, calculateService } = useAppContext() + const { calculateService } = useAppContext() const loading = loadingToken || calculating + const tokens = useKashiTokens() + const { loading: loadingPrice, data: pricesMap } = useKashiPricesSubgraphWithLoadingIndicator(Object.values(tokens)) + useEffect(() => { if (dataKashiPairs) { if (dataKashiPairs.kashiPairs) { setDataKashiPairs() } } - }, [dataKashiPairs]) + }, [dataKashiPairs, loadingPrice]) const setDataKashiPairs = async () => { - const { kashiPairs } = dataKashiPairs - const symbols = calculateService.extractKashiPairAssetSymbols(kashiPairs) - const pricesMap = await coinGeckoService.getPrices(symbols) - setPricesMap(pricesMap) + if (!loadingPrice) { + const { kashiPairs } = dataKashiPairs - const { kashiPairsByTokens, totalAsset, totalBorrow } = calculateService.calculateKashiPairPricesGroupByAsset( - kashiPairs, - pricesMap - ) - setCalculating(false) - kashiPairsByTokens.sort((a, b) => - BigNumber.from(a.totalAsset) - .add(BigNumber.from(a.totalBorrow)) - .gte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) - ? -1 - : 1 - ) + const { kashiPairsByTokens, totalAsset, totalBorrow } = calculateService.calculateKashiPairPricesGroupByAsset( + kashiPairs, + pricesMap + ) + setCalculating(false) + kashiPairsByTokens.sort((a, b) => + BigNumber.from(a.totalAsset) + .add(BigNumber.from(a.totalBorrow)) + .gte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + ? -1 + : 1 + ) - const kashiPairsByTokensSortedByAsset = [...kashiPairsByTokens].sort((a, b) => - a.totalAsset > b.totalAsset ? -1 : 1 - ) + const kashiPairsByTokensSortedByAsset = [...kashiPairsByTokens].sort((a, b) => + a.totalAsset > b.totalAsset ? -1 : 1 + ) - const kashiPairsByTokensSortedByBorrow = [...kashiPairsByTokens].sort((a, b) => - a.totalBorrow > b.totalBorrow ? -1 : 1 - ) + const kashiPairsByTokensSortedByBorrow = [...kashiPairsByTokens].sort((a, b) => + a.totalBorrow > b.totalBorrow ? -1 : 1 + ) - setTop3MarketsBySupply(kashiPairsByTokens.slice(0, kashiPairsByTokens.length < 3 ? kashiPairsByTokens.length : 3)) - setTop3MarketsByAsset( - kashiPairsByTokensSortedByAsset.slice( - 0, - kashiPairsByTokensSortedByAsset.length < 3 ? kashiPairsByTokensSortedByAsset.length : 3 + setTop3MarketsBySupply(kashiPairsByTokens.slice(0, kashiPairsByTokens.length < 3 ? kashiPairsByTokens.length : 3)) + setTop3MarketsByAsset( + kashiPairsByTokensSortedByAsset.slice( + 0, + kashiPairsByTokensSortedByAsset.length < 3 ? kashiPairsByTokensSortedByAsset.length : 3 + ) ) - ) - setTop3MarketsByBorrow( - kashiPairsByTokensSortedByBorrow.slice( - 0, - kashiPairsByTokensSortedByBorrow.length < 3 ? kashiPairsByTokensSortedByBorrow.length : 3 + setTop3MarketsByBorrow( + kashiPairsByTokensSortedByBorrow.slice( + 0, + kashiPairsByTokensSortedByBorrow.length < 3 ? kashiPairsByTokensSortedByBorrow.length : 3 + ) ) - ) - setKashiPairsByTokens(kashiPairsByTokens) - setTotalAsset(totalAsset.toBigInt()) - setTotalBorrow(totalBorrow.toBigInt()) + setKashiPairsByTokens(kashiPairsByTokens) + setTotalAsset(totalAsset.toBigInt()) + setTotalBorrow(totalBorrow.toBigInt()) + } } return ( diff --git a/src/hooks/usePricesSubgraph.ts b/src/hooks/usePricesSubgraph.ts new file mode 100644 index 0000000000..73707f16fc --- /dev/null +++ b/src/hooks/usePricesSubgraph.ts @@ -0,0 +1,88 @@ +import { Currency, CurrencyAmount, USD } from '@sushiswap/core-sdk' +import { useNativePrice, useTokens, useTridentTokens } from 'app/services/graph' +import { useActiveWeb3React } from 'app/services/web3' +import { useMemo } from 'react' + +export function useKashiPricesSubgraph( + currencies?: Currency[], + useTrident = false +): { [symbol: string]: BigInt } | undefined { + const { chainId } = useActiveWeb3React() + + const stablecoin = chainId ? CurrencyAmount.fromRawAmount(USD[chainId], 0).currency : undefined + + const { data: ethPrice } = useNativePrice({ chainId }) + const tokensLegacy = useTokens({ + chainId, + variables: { where: { id_in: currencies?.map((currency) => currency.wrapped.address.toLowerCase()) } }, + shouldFetch: currencies && currencies?.length > 0, + }) as any[] | undefined + const { data: tokensTrident } = useTridentTokens({ + chainId, + variables: { + where: { id_in: currencies?.map((currency) => currency.wrapped.address.toLowerCase()) }, + }, + shouldFetch: currencies && currencies?.length > 0, + }) + + return useMemo(() => { + if (!currencies || currencies.length === 0 || !stablecoin || !(tokensLegacy || tokensTrident)) { + return undefined + } + + const prices: { [symbol: string]: BigInt } = {} + + currencies.map((currency) => { + let price: number | undefined = undefined + + const tokenLegacy = tokensLegacy?.find((token) => token.id === currency.wrapped.address.toLowerCase()) + const tokenTrident = tokensTrident?.find((token) => token.id === currency.wrapped.address.toLowerCase()) + + // handle usdc + if (currency?.wrapped.equals(stablecoin)) { + if (currency.wrapped.symbol) { + prices[currency.wrapped.symbol] = BigInt('100000000') + } + return + } + + if (tokenLegacy && tokenTrident) { + if (tokenLegacy.liquidity > tokenTrident.kpi.liquidity) { + price = ethPrice * tokenLegacy.derivedETH + } else { + price = tokenTrident.price.derivedUSD + } + } else if (ethPrice && tokenLegacy) { + price = ethPrice * tokenLegacy.derivedETH + } else if (tokenTrident) { + price = tokenTrident.price.derivedUSD + } + + if (price !== undefined && price !== 0) { + const base = 10 ** (String(price).split('.')?.[1]?.length ?? 0) + const quote = Math.floor(price * 10 ** 8) + try { + if (currency.wrapped.symbol) { + prices[currency.wrapped.symbol] = BigInt(quote) + //prices[currency.wrapped.symbol] = (quote * (base * 10 ** currency.decimals)) / 10 ** stablecoin.decimals + } + } catch {} + } + }) + + return prices + }, [currencies, stablecoin, tokensLegacy, tokensTrident, ethPrice]) +} + +export function useKashiPricesSubgraphWithLoadingIndicator(currencies?: Currency[], useTrident = false) { + // Bandaid solution for now, might become permanent + const data = useKashiPricesSubgraph(currencies, useTrident) + return useMemo(() => { + if (!data) return { data: {}, loading: true } + try { + return { data: data, loading: false } + } catch (error) { + return { data: {}, loading: true } + } + }, [data]) +} diff --git a/src/pages/analytics/kashi/pairs/[id].tsx b/src/pages/analytics/kashi/pairs/[id].tsx index 04b296122b..f83345217f 100644 --- a/src/pages/analytics/kashi/pairs/[id].tsx +++ b/src/pages/analytics/kashi/pairs/[id].tsx @@ -1,7 +1,6 @@ import { t } from '@lingui/macro' import { useLingui } from '@lingui/react' import Typography from 'app/components/Typography' -import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' import KashiPairView from 'app/features/analytics/kashi/views/KashiPairView' import { TridentBody, TridentHeader } from 'app/layouts/Trident' @@ -23,9 +22,7 @@ const AnalyticsKashiPairPage: FC = () => { - - - + diff --git a/src/pages/analytics/kashi/pairs/index.tsx b/src/pages/analytics/kashi/pairs/index.tsx index 15acac8283..daad8694c8 100644 --- a/src/pages/analytics/kashi/pairs/index.tsx +++ b/src/pages/analytics/kashi/pairs/index.tsx @@ -1,7 +1,6 @@ import { t } from '@lingui/macro' import { useLingui } from '@lingui/react' import Typography from 'app/components/Typography' -import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' import KashiPairsView from 'app/features/analytics/kashi/views/KashiPairsView' import { TridentBody, TridentHeader } from 'app/layouts/Trident' @@ -23,9 +22,7 @@ const AnalyticsKashiPairsPage: FC = () => { - - - + diff --git a/src/pages/analytics/kashi/tokens/[id].tsx b/src/pages/analytics/kashi/tokens/[id].tsx index 6ce9094a93..e89ec7ce05 100644 --- a/src/pages/analytics/kashi/tokens/[id].tsx +++ b/src/pages/analytics/kashi/tokens/[id].tsx @@ -1,7 +1,6 @@ import { t } from '@lingui/macro' import { useLingui } from '@lingui/react' import Typography from 'app/components/Typography' -import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' import KashiTokenView from 'app/features/analytics/kashi/views/KashiTokenView' import { TridentBody, TridentHeader } from 'app/layouts/Trident' @@ -23,9 +22,7 @@ const AnalyticsKashiPairPage: FC = () => { - - - + diff --git a/src/pages/analytics/kashi/tokens/index.tsx b/src/pages/analytics/kashi/tokens/index.tsx index 81af7752e2..3c41fa3677 100644 --- a/src/pages/analytics/kashi/tokens/index.tsx +++ b/src/pages/analytics/kashi/tokens/index.tsx @@ -1,7 +1,6 @@ import { t } from '@lingui/macro' import { useLingui } from '@lingui/react' import Typography from 'app/components/Typography' -import { AnalyticsKashiApolloContextProvider } from 'app/features/analytics/kashi/context/ApolloContext' import { AnalyticsKashiAppContextProvider } from 'app/features/analytics/kashi/context/AppContext' import KashiTokensView from 'app/features/analytics/kashi/views/KashiTokensView' import { TridentBody, TridentHeader } from 'app/layouts/Trident' @@ -23,9 +22,7 @@ const AnalyticsKashiTokensPage: FC = () => { - - - + diff --git a/src/services/graph/fetchers/index.ts b/src/services/graph/fetchers/index.ts index 478f29ec9b..c3632a470c 100644 --- a/src/services/graph/fetchers/index.ts +++ b/src/services/graph/fetchers/index.ts @@ -3,6 +3,7 @@ export * from './bentobox' export * from './blocks' export * from './exchange' export * from './kashi' +export * from './kashipairs' export * from './masterchef' export * from './pager' export * from './pools' diff --git a/src/services/graph/fetchers/kashi.ts b/src/services/graph/fetchers/kashi.ts index 85da70fc4e..2ea5da4fcf 100644 --- a/src/services/graph/fetchers/kashi.ts +++ b/src/services/graph/fetchers/kashi.ts @@ -2,7 +2,7 @@ import { ChainId } from '@sushiswap/core-sdk' import { toAmount } from 'app/functions' import { GRAPH_HOST } from 'app/services/graph/constants' import { getTokenSubset } from 'app/services/graph/fetchers' -import { kashiPairDayDatasQuery, kashiPairsQuery } from 'app/services/graph/queries/kashi' +import { kashiPairsQuery } from 'app/services/graph/queries/kashi' import { getBentoTokens } from './bentobox' import { pager } from './pager' @@ -98,86 +98,3 @@ export const getKashiPairs = async (chainId = ChainId.ETHEREUM, variables = unde console.log(error) } } - -export const getKashiPairDatas = async (chainId = ChainId.ETHEREUM, variables = undefined) => { - const { kashiPairDayDatas } = await fetcher(chainId, kashiPairDayDatasQuery, variables) - - const tokenAddresses = Array.from( - kashiPairDayDatas.reduce( - // @ts-ignore TYPE NEEDS FIXING - (previousValue, currentValue) => previousValue.add(currentValue.pair.asset, currentValue.pair.collateral), - new Set() // use set to avoid duplicates - ) - ) - - const bentoBoxTokens = await getBentoTokens(chainId, { - tokenAddresses, - }) - - const exchangeTokens = await getTokenSubset(chainId, { - tokenAddresses, - }) - - try { - // @ts-ignore TYPE NEEDS FIXING - return kashiPairDayDatas.map((pairDayData) => { - // @ts-ignore TYPE NEEDS FIXING - const asset = bentoBoxTokens.find((token) => token.id === pairDayData.pair.asset) - // @ts-ignore TYPE NEEDS FIXING - const collateral = bentoBoxTokens.find((token) => token.id === pairDayData.pair.collateral) - return { - ...pairDayData, - asset: { - ...pairDayData.pair.asset, - // @ts-ignore TYPE NEEDS FIXING - ...bentoBoxTokens.find((token) => token.id === pairDayData.pair.asset), - // @ts-ignore TYPE NEEDS FIXING - ...exchangeTokens.find((token) => token.id === pairDayData.pair.asset), - }, - collateral: { - ...pairDayData.pair.collateral, - // @ts-ignore TYPE NEEDS FIXING - ...bentoBoxTokens.find((token) => token.id === pairDayData.pair.collateral), - // @ts-ignore TYPE NEEDS FIXING - ...exchangeTokens.find((token) => token.id === pairDayData.pair.collateral), - }, - token0: { - ...pairDayData.pair.asset, - // @ts-ignore TYPE NEEDS FIXING - ...bentoBoxTokens.find((token) => token.id === pairDayData.asset), - // @ts-ignore TYPE NEEDS FIXING - ...exchangeTokens.find((token) => token.id === pairDayData.asset), - }, - token1: { - ...pairDayData.pair.collateral, - // @ts-ignore TYPE NEEDS FIXING - ...bentoBoxTokens.find((token) => token.id === pairDayData.collateral), - // @ts-ignore TYPE NEEDS FIXING - ...exchangeTokens.find((token) => token.id === pairDayData.collateral), - }, - assetAmount: Math.floor( - pairDayData.totalAssetBase / - (pairDayData.totalAssetBase / - (Number(pairDayData.totalAssetElastic) + - (pairDayData.totalBorrowElastic * asset.rebase.base) / asset.rebase.elastic)) - ).toString(), - borrowedAmount: toAmount( - { - elastic: pairDayData.totalBorrowElastic.toBigNumber(0), - base: pairDayData.totalBorrowBase.toBigNumber(0), - }, - pairDayData.totalBorrowElastic.toBigNumber(0) - ).toString(), - collateralAmount: toAmount( - { - elastic: collateral.rebase.elastic.toBigNumber(0), - base: collateral.rebase.base.toBigNumber(0), - }, - pairDayData.totalCollateralShare.toBigNumber(0) - ).toString(), - } - }) - } catch (error) { - console.log(error) - } -} diff --git a/src/services/graph/fetchers/kashipairs.ts b/src/services/graph/fetchers/kashipairs.ts new file mode 100644 index 0000000000..cc01ed5bfb --- /dev/null +++ b/src/services/graph/fetchers/kashipairs.ts @@ -0,0 +1,59 @@ +import { ChainId } from '@sushiswap/core-sdk' +import { GRAPH_HOST } from 'app/services/graph/constants' + +import { + dataKashiPairsQuery, + kashiPairQuery, + kashiPairsDayDataQuery, + kashiTokenDayDataQuery, + kashiTokenQuery, + kashiTokensQuery, +} from '../queries' +import { pager, pagerRequestOnce } from './pager' + +const KASHI = { + [ChainId.ETHEREUM]: 'sushiswap/bentobox', + [ChainId.ARBITRUM]: 'sushiswap/arbitrum-bentobox', + [ChainId.FANTOM]: 'sushiswap/fantom-bentobox', + [ChainId.BSC]: 'sushiswap/bsc-bentobox', +} + +// @ts-ignore TYPE NEEDS FIXING +const fetcher = async (chainId = ChainId.ETHEREUM, query, variables = undefined) => + // @ts-ignore TYPE NEEDS FIXING + pager(`${GRAPH_HOST[chainId]}/subgraphs/name/${KASHI[chainId]}`, query, variables) + +// @ts-ignore TYPE NEEDS FIXING +const fetcherWithLimit = async (chainId = ChainId.ETHEREUM, query, variables = undefined) => + // @ts-ignore TYPE NEEDS FIXING + pagerRequestOnce(`${GRAPH_HOST[chainId]}/subgraphs/name/${KASHI[chainId]}`, query, variables) + +export const getDataKashiPair = async (chainId = ChainId.ETHEREUM, variables = undefined) => { + const data = await fetcher(chainId, kashiPairQuery, variables) + return data +} + +export const getDataKashiPairs = async (chainId = ChainId.ETHEREUM, variables = undefined) => { + const data = await fetcher(chainId, dataKashiPairsQuery) + return data +} + +export const getDataKashiPairsDayData = async (chainId = ChainId.ETHEREUM, variables = undefined) => { + const data = await fetcherWithLimit(chainId, kashiPairsDayDataQuery, variables) + return data +} + +export const getDataKashiToken = async (chainId = ChainId.ETHEREUM, variables = undefined) => { + const data = await fetcher(chainId, kashiTokenQuery, variables) + return data +} + +export const getDataKashiTokens = async (chainId = ChainId.ETHEREUM, variables = undefined) => { + const data = await fetcher(chainId, kashiTokensQuery) + return data +} + +export const getDataTokenPairsDayData = async (chainId = ChainId.ETHEREUM, variables = undefined) => { + const data = await fetcherWithLimit(chainId, kashiTokenDayDataQuery, variables) + return data +} diff --git a/src/services/graph/fetchers/pager.ts b/src/services/graph/fetchers/pager.ts index 4560482ec0..610386ad43 100644 --- a/src/services/graph/fetchers/pager.ts +++ b/src/services/graph/fetchers/pager.ts @@ -28,3 +28,16 @@ export async function pager(endpoint, query, variables = {}) { } return data } + +// @ts-ignore TYPE NEEDS FIXING +export async function pagerRequestOnce(endpoint, query, variables = {}) { + if (endpoint.includes('undefined')) return {} + + let data: any = {} + const req = await request(endpoint, query, variables) + + Object.keys(req).forEach((key) => { + data[key] = data[key] ? [...data[key], ...req[key]] : req[key] + }) + return data +} diff --git a/src/services/graph/hooks/kashipairs.ts b/src/services/graph/hooks/kashipairs.ts new file mode 100644 index 0000000000..e3c72c7dfb --- /dev/null +++ b/src/services/graph/hooks/kashipairs.ts @@ -0,0 +1,195 @@ +import { ChainId } from '@sushiswap/core-sdk' +import stringify from 'fast-json-stable-stringify' +import { useMemo } from 'react' +import useSWR from 'swr' + +import { + getDataKashiPair, + getDataKashiPairs, + getDataKashiPairsDayData, + getDataKashiToken, + getDataKashiTokens, + getDataTokenPairsDayData, +} from '../fetchers' +import { GraphProps } from '../interfaces' + +export function useDataKashiPair({ + chainId = ChainId.ETHEREUM, + variables, + shouldFetch = true, + swrConfig = undefined, +}: GraphProps) { + const data = useSWR( + shouldFetch ? () => ['dataKashiPair', chainId, stringify(variables)] : null, + // @ts-ignore + (_, chainId) => getDataKashiPair(chainId, variables), + swrConfig + ) + + return data +} + +export function useDataKashiPairWithLoadingIndicator({ + chainId = ChainId.ETHEREUM, + variables = undefined, +}: GraphProps) { + const { data } = useDataKashiPair({ chainId, variables }) + return useMemo(() => { + if (!data) return { data: undefined, loading: true } + try { + return { data: data, loading: false } + } catch (error) { + return { data: undefined, loading: true } + } + }, [data]) +} + +export function useDataKashiPairs({ + chainId = ChainId.ETHEREUM, + variables, + shouldFetch = true, + swrConfig = undefined, +}: GraphProps) { + const data = useSWR( + shouldFetch ? () => ['dataKashiPairs', chainId, stringify(variables)] : null, + // @ts-ignore + (_, chainId) => getDataKashiPairs(chainId, variables), + swrConfig + ) + + return data +} + +export function useDataKashiPairsWithLoadingIndicator({ chainId = ChainId.ETHEREUM }) { + const { data } = useDataKashiPairs({ chainId }) + return useMemo(() => { + if (!data) return { data: undefined, loading: true } + try { + return { data: data, loading: false } + } catch (error) { + return { data: undefined, loading: true } + } + }, [data]) +} + +export function useDataKashiPairsDayData({ + chainId = ChainId.ETHEREUM, + variables, + shouldFetch = true, + swrConfig = undefined, +}: GraphProps) { + const data = useSWR( + shouldFetch ? () => ['dataKashiPairsDayData', chainId, stringify(variables)] : null, + // @ts-ignore + (_, chainId) => getDataKashiPairsDayData(chainId, variables), + swrConfig + ) + + return data +} + +export function useDataKashiPairsDayDataWithLoadingIndicator({ + chainId = ChainId.ETHEREUM, + variables = undefined, +}: GraphProps) { + // Bandaid solution for now, might become permanent + const { data } = useDataKashiPairsDayData({ chainId, variables }) + return useMemo(() => { + if (!data) return { data: undefined, loading: true } + try { + return { data: data, loading: false } + } catch (error) { + return { data: undefined, loading: true } + } + }, [data]) +} + +export function useDataKashiToken({ + chainId = ChainId.ETHEREUM, + variables, + shouldFetch = true, + swrConfig = undefined, +}: GraphProps) { + const data = useSWR( + shouldFetch ? () => ['dataKashiPairs', chainId, stringify(variables)] : null, + // @ts-ignore + (_, chainId) => getDataKashiToken(chainId, variables), + swrConfig + ) + + return data +} + +export function useDataKashiTokenWithLoadingIndicator({ + chainId = ChainId.ETHEREUM, + variables = undefined, +}: GraphProps) { + const { data } = useDataKashiToken({ chainId, variables }) + return useMemo(() => { + if (!data) return { data: undefined, loading: true } + try { + return { data: data, loading: false } + } catch (error) { + return { data: undefined, loading: true } + } + }, [data]) +} + +export function useDataKashiTokens({ + chainId = ChainId.ETHEREUM, + variables, + shouldFetch = true, + swrConfig = undefined, +}: GraphProps) { + const data = useSWR( + shouldFetch ? () => ['dataKashiPairs', chainId, stringify(variables)] : null, + // @ts-ignore + (_, chainId) => getDataKashiTokens(chainId, variables), + swrConfig + ) + + return data +} + +export function useDataKashiTokensWithLoadingIndicator({ chainId = ChainId.ETHEREUM }) { + const { data } = useDataKashiTokens({ chainId }) + return useMemo(() => { + if (!data) return { data: undefined, loading: true } + try { + return { data: data, loading: false } + } catch (error) { + return { data: undefined, loading: true } + } + }, [data]) +} + +export function useDataKashiTokenDayData({ + chainId = ChainId.ETHEREUM, + variables, + shouldFetch = true, + swrConfig = undefined, +}: GraphProps) { + const data = useSWR( + shouldFetch ? () => ['dataKashiTokenDayData', chainId, stringify(variables)] : null, + // @ts-ignore + (_, chainId) => getDataTokenPairsDayData(chainId, variables), + swrConfig + ) + + return data +} + +export function useDataKashiTokensDayDataWithLoadingIndicator({ + chainId = ChainId.ETHEREUM, + variables = undefined, +}: GraphProps) { + const { data } = useDataKashiTokenDayData({ chainId, variables }) + return useMemo(() => { + if (!data) return { data: undefined, loading: true } + try { + return { data: data, loading: false } + } catch (error) { + return { data: undefined, loading: true } + } + }, [data]) +} diff --git a/src/services/graph/queries/index.ts b/src/services/graph/queries/index.ts index 26aae1c25b..a87b2ea58c 100644 --- a/src/services/graph/queries/index.ts +++ b/src/services/graph/queries/index.ts @@ -2,6 +2,7 @@ export * from './bentobox' export * from './blocks' export * from './exchange' export * from './kashi' +export * from './kashipairs' export * from './masterchef' export * from './masterchef-v2' export * from './minichef' diff --git a/src/services/graph/queries/kashi.ts b/src/services/graph/queries/kashi.ts index b92bfc8459..c518885843 100644 --- a/src/services/graph/queries/kashi.ts +++ b/src/services/graph/queries/kashi.ts @@ -58,50 +58,3 @@ export const kashiPairsQuery = gql` } ${kashiPairFieldsQuery} ` - -export const kashiPairDayDatasQuery = gql` - query kashiPairDayDatas($first: Int = 1000, $skip: Int) { - kashiPairDayDatas(first: 1000, skip: $skip, orderBy: "date", orderDirection: "desc") { - id - date - pair { - id - # bentoBox - type - masterContract - owner - feeTo - name - symbol - oracle - asset - collateral - exchangeRate - totalAssetElastic - totalAssetBase - totalCollateralShare - totalBorrowElastic - totalBorrowBase - interestPerSecond - utilization - feesEarnedFraction - totalFeesEarnedFraction - lastAccrued - supplyAPR - borrowAPR - # transactions - # users - block - timestamp - } - totalAssetElastic - totalAssetBase - totalCollateralShare - totalBorrowElastic - totalBorrowBase - avgExchangeRate - avgUtilization - avgInterestPerSecond - } - } -` diff --git a/src/services/graph/queries/kashipairs.ts b/src/services/graph/queries/kashipairs.ts new file mode 100644 index 0000000000..2e7c93f247 --- /dev/null +++ b/src/services/graph/queries/kashipairs.ts @@ -0,0 +1,242 @@ +import gql from 'graphql-tag' + +export const kashiPairQuery = gql` + query GetPair($id: String) { + kashiPairs(first: 1, where: { id: $id }) { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + exchangeRate + totalAssetElastic + totalAssetBase + supplyAPR + totalBorrowElastic + totalBorrowBase + borrowAPR + utilization + } + kashiPairDayDatas(first: 1000, where: { pair: $id }, orderBy: date, orderDirection: desc) { + id + date + pair { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + avgExchangeRate + avgUtilization + avgInterestPerSecond + } + } +` + +export const dataKashiPairsQuery = gql` + query GetPairs { + bentoBoxes { + totalTokens + totalKashiPairs + totalUsers + } + kashiPairs(first: 1000, orderBy: totalAssetElastic, orderDirection: desc) { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + exchangeRate + utilization + interestPerSecond + totalAssetElastic + totalAssetBase + supplyAPR + totalBorrowElastic + totalBorrowBase + borrowAPR + } + } +` + +export const kashiPairsDayDataQuery = gql` + query GetDataKashiPairsDayData($skip: Int) { + kashiPairDayDatas(first: 1000, skip: $skip, orderBy: date, orderDirection: desc) { + id + date + pair { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + avgExchangeRate + avgUtilization + avgInterestPerSecond + } + } +` + +export const kashiTokensQuery = gql` + query GetPairs { + kashiPairs(first: 1000) { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + exchangeRate + utilization + interestPerSecond + totalAssetElastic + totalAssetBase + supplyAPR + totalBorrowElastic + totalBorrowBase + borrowAPR + } + } +` + +export const kashiTokenQuery = gql` + query GetToken($id: String) { + tokens(first: 1, where: { id: $id }) { + id + name + symbol + decimals + totalSupplyElastic + totalSupplyBase + block + timestamp + } + kashiPairs(first: 1000, where: { asset: $id }) { + id + name + symbol + asset { + id + name + symbol + decimals + totalSupplyElastic + totalSupplyBase + block + timestamp + } + collateral { + id + name + symbol + decimals + totalSupplyElastic + totalSupplyBase + block + timestamp + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + supplyAPR + borrowAPR + } + } +` + +export const kashiTokenDayDataQuery = gql` + query GetDataKashiPairsDayData($pairIds: [String]) { + kashiPairDayDatas(first: 1000, where: { pair_in: $pairIds }, orderBy: date, orderDirection: desc) { + id + date + pair { + id + name + symbol + asset { + id + name + symbol + decimals + } + collateral { + id + name + symbol + decimals + } + } + totalAssetElastic + totalAssetBase + totalCollateralShare + totalBorrowElastic + totalBorrowBase + avgExchangeRate + avgUtilization + avgInterestPerSecond + } + } +` From 86ccaf6623607fbe19d65b35f2c8b9927ec7ee43 Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Wed, 20 Jul 2022 08:08:31 -0500 Subject: [PATCH 06/11] fix: remove unnecessary files & change logic --- .../kashi/components/PairMarketTable.tsx | 31 +- .../kashi/components/TokenMarketTable.tsx | 18 +- .../analytics/kashi/config/coingecko.ts | 77 - .../analytics/kashi/config/tokenlist.ts | 9595 ----------------- .../kashi/services/utils/TokenUtilService.ts | 8 - .../analytics/kashi/views/KashiPairView.tsx | 40 +- .../analytics/kashi/views/KashiTokenView.tsx | 48 +- src/features/analytics/tokens/TokenList.tsx | 134 - src/features/kashi/hooks.ts | 2 + 9 files changed, 74 insertions(+), 9879 deletions(-) delete mode 100644 src/features/analytics/kashi/config/coingecko.ts delete mode 100644 src/features/analytics/kashi/config/tokenlist.ts delete mode 100644 src/features/analytics/tokens/TokenList.tsx diff --git a/src/features/analytics/kashi/components/PairMarketTable.tsx b/src/features/analytics/kashi/components/PairMarketTable.tsx index f31f52fb1b..88884ed848 100644 --- a/src/features/analytics/kashi/components/PairMarketTable.tsx +++ b/src/features/analytics/kashi/components/PairMarketTable.tsx @@ -1,6 +1,8 @@ /* eslint-disable @next/next/no-img-element */ import { i18n } from '@lingui/core' import { useLingui } from '@lingui/react' +import { ChainId, Token } from '@sushiswap/core-sdk' +import { CurrencyLogoArray } from 'app/components/CurrencyLogo' import { BigNumber } from 'ethers' import { useRouter } from 'next/router' import numeral from 'numeral' @@ -168,6 +170,22 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) router.push(route) } + const asset = new Token( + ChainId.ETHEREUM, + data.asset?.id ?? '', + Number(data.asset?.decimals ?? 0), + data.asset?.symbol, + data.asset?.name + ) + + const collateral = new Token( + ChainId.ETHEREUM, + data.collateral?.id ?? '', + Number(data.collateral?.decimals ?? 0), + data.collateral?.symbol, + data.collateral?.name + ) + return ( <>
- {data?.symbol} - {data?.symbol} +
{tokenUtilService.pairSymbol(data.asset?.symbol, data.collateral?.symbol)} diff --git a/src/features/analytics/kashi/components/TokenMarketTable.tsx b/src/features/analytics/kashi/components/TokenMarketTable.tsx index 6cccd0ff3d..9175df157e 100644 --- a/src/features/analytics/kashi/components/TokenMarketTable.tsx +++ b/src/features/analytics/kashi/components/TokenMarketTable.tsx @@ -1,5 +1,7 @@ /* eslint-disable @next/next/no-img-element */ import { i18n } from '@lingui/core' +import { ChainId, Token } from '@sushiswap/core-sdk' +import { CurrencyLogo } from 'app/components/CurrencyLogo' import { BigNumber } from 'ethers' import { useRouter } from 'next/router' import numeral from 'numeral' @@ -121,6 +123,14 @@ const MarketTableRow = ({ data, index }: { data: KashiPairsByToken; index: numbe router.push(route) } + const asset = new Token( + ChainId.ETHEREUM, + data.token?.id ?? '', + Number(data.token?.decimals ?? 0), + data.token?.symbol, + data.token?.name + ) + return ( <>
- {data.token.symbol} + +
{tokenUtilService.symbol(data.token.symbol)}
diff --git a/src/features/analytics/kashi/config/coingecko.ts b/src/features/analytics/kashi/config/coingecko.ts deleted file mode 100644 index 25feb68317..0000000000 --- a/src/features/analytics/kashi/config/coingecko.ts +++ /dev/null @@ -1,77 +0,0 @@ -export const COINGECKO = { - tokens: { - '1INCH': '1inch', - AAVE: 'aave', - ADX: 'adex', - AKRO: 'akropolis', - ALPHA: 'alphacoin', - AMP: 'amp-token', - ANKR: 'ankr', - ANT: 'aragon', - BADGER: 'badger-dao', - BAL: 'balancer', - BAND: 'band-protocol', - BAT: 'basic-attention-token', - BNT: 'bancor', - BOND: 'barnbridge', - BUSD: 'binance-usd', - BZRX: 'bzx-protocol', - COMP: 'compound-coin', - COVER: 'cover-protocol', - CREAM: 'cream-2', - CRV: 'curve-dao-token', - DAI: 'dai', - DPI: 'defipulse-index', - FEI: 'fei-usd', - FRAX: 'frax', - FTM: 'fantom', - 'FTX Token': 'ftx-token', - FTT: 'ftx-token', - GRT: 'the-graph', - HEGIC: 'hegic', - HUSD: 'husd', - JPYC: 'jpyc', - KNC: 'kyber-network-crystal', - LDO: 'lido-dao', - LINK: 'chainlink', - LRC: 'loopring', - MANA: 'decentraland', - MATIC: 'matic-network', - MKR: 'maker', - MTA: 'meta', - NMR: 'numeraire', - OCEAN: 'ocean-protocol', - OGN: 'origin-protocol', - OMG: 'omisego', - OXT: 'orchid-protocol', - PAX: 'paxos-standard', - PAXG: 'pax-gold', - RAI: 'rai', - RARI: 'rarible', - REN: 'republic-protocol', - REPv2: 'reputation', - RLC: 'iexec-rlc', - RUNE: 'thorchain', - SAND: 'the-sandbox', - SFI: 'saffron-finance', - SNX: 'havven', - SRM: 'serum', - SUSHI: 'sushi', - TUSD: 'true-usd', - UMA: 'uma', - UNI: 'uniswap', - USDC: 'usd-coin', - USDT: 'tether', - UST: 'terrausd', - WBTC: 'wrapped-bitcoin', - WETH: 'weth', - YFI: 'yearn-finance', - ZRX: '0x', - mQQQ: 'mirrored-invesco-qqq-trust', - sUSD: 'nusd', - wNXM: 'wrapped-nxm', - xSUSHI: 'xsushi', - }, -} as { - tokens: { [key: string]: string } -} diff --git a/src/features/analytics/kashi/config/tokenlist.ts b/src/features/analytics/kashi/config/tokenlist.ts deleted file mode 100644 index 695d5df5f8..0000000000 --- a/src/features/analytics/kashi/config/tokenlist.ts +++ /dev/null @@ -1,9595 +0,0 @@ -export const TOKENS = [ - { - address: '0x111111111117dC0aa78b770fA6A738034120C302', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/1inch.jpg', - name: '1inch Exchange', - symbol: '1INCH', - }, - { - address: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', - name: 'AAVE', - symbol: 'AAVE', - }, - { - address: '0xADE00C28244d5CE17D72E40330B1c318cD12B7c3', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/adx.jpg', - name: 'AdEx Network', - symbol: 'ADX', - }, - { - address: '0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x91Af0fBB28ABA7E31403Cb457106Ce79397FD4E6/logo.png', - name: 'Aergo', - symbol: 'AERGO', - }, - { - address: '0xE95A203B1a91a908F9B9CE46459d101078c2c3cb', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE95A203B1a91a908F9B9CE46459d101078c2c3cb/logo.png', - name: 'ankrETH', - symbol: 'aETHc', - }, - { - address: '0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1a7e4e63778B4f12a199C062f3eFdD288afCBce8/logo.png', - name: 'agEUR', - symbol: 'agEUR', - }, - { - address: '0x32353A6C91143bfd6C7d363B546e62a9A2489A20', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x32353A6C91143bfd6C7d363B546e62a9A2489A20/logo.png', - name: 'Adventure Gold', - symbol: 'AGLD', - }, - { - address: '0x8Ab7404063Ec4DBcfd4598215992DC3F8EC853d7', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/akro.jpg', - name: 'Akropolis', - symbol: 'AKRO', - }, - { - address: '0xdBdb4d16EdA451D0503b854CF79D55697F90c8DF', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alcx.jpg', - name: 'Alchemix', - symbol: 'ALCX', - }, - { - address: '0x27702a26126e0B3702af63Ee09aC4d1A084EF628', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x27702a26126e0B3702af63Ee09aC4d1A084EF628/logo.png', - name: 'Aleph', - symbol: 'ALEPH', - }, - { - address: '0x7cA4408137eb639570F8E647d9bD7B7E8717514A', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7cA4408137eb639570F8E647d9bD7B7E8717514A/logo.png', - name: 'Alpaca', - symbol: 'ALPA', - }, - { - address: '0xa1faa113cbE53436Df28FF0aEe54275c13B40975', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xa1faa113cbE53436Df28FF0aEe54275c13B40975/logo.png', - name: 'Alpha Finance', - symbol: 'ALPHA', - }, - { - address: '0xBC6DA0FE9aD5f3b0d58160288917AA56653660E9', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alusd.jpg', - name: 'Alchemix USD', - symbol: 'alUSD', - }, - { - address: '0xfF20817765cB7f73d4bde2e66e067E58D11095C2', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/amp.jpg', - name: 'Amp', - symbol: 'AMP', - }, - { - address: '0xD46bA6D942050d489DBd938a2C909A5d5039A161', - chainId: 1, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ampl.jpg', - name: 'Ampleforth', - symbol: 'AMPL', - }, - { - address: '0x31429d1856aD1377A8A0079410B297e1a9e214c2', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x31429d1856aD1377A8A0079410B297e1a9e214c2/logo.png', - name: 'Angle', - symbol: 'ANGLE', - }, - { - address: '0x8290333ceF9e6D528dD5618Fb97a76f268f3EDD4', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ankr.jpg', - name: 'Ankr Network', - symbol: 'ANKR', - }, - { - address: '0xa117000000f279D81A1D3cc75430fAA017FA5A2e', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ant.jpg', - name: 'Aragon', - symbol: 'ANT', - }, - { - address: '0xf99d58e463A2E07e5692127302C20A191861b4D6', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xf99d58e463A2E07e5692127302C20A191861b4D6/logo.png', - name: 'Anyswap', - symbol: 'ANY', - }, - { - address: '0x4d224452801ACEd8B2F0aebE155379bb5D594381', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4d224452801ACEd8B2F0aebE155379bb5D594381/logo.png', - name: 'ApeCoin', - symbol: 'APE', - }, - { - address: '0x0b38210ea11411557c13457D4dA7dC6ea731B88a', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0b38210ea11411557c13457D4dA7dC6ea731B88a/logo.png', - name: 'API3', - symbol: 'API3', - }, - { - address: '0x4104b135DBC9609Fc1A9490E61369036497660c8', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4104b135DBC9609Fc1A9490E61369036497660c8/logo.png', - name: 'APWine Token', - symbol: 'APW', - }, - { - address: '0x1F3f9D3068568F8040775be2e8C03C103C61f3aF', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1F3f9D3068568F8040775be2e8C03C103C61f3aF/logo.png', - name: 'Archer DAO', - symbol: 'ARCH', - }, - { - address: '0x1321f1f1aa541A56C31682c57b80ECfCCd9bB288', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1321f1f1aa541A56C31682c57b80ECfCCd9bB288/logo.png', - name: 'ARC Governance', - symbol: 'ARCx', - }, - { - address: '0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1337DEF16F9B486fAEd0293eb623Dc8395dFE46a/logo.png', - name: 'Armor', - symbol: 'ARMOR', - }, - { - address: '0x1337DEF18C680aF1f9f45cBcab6309562975b1dD', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/arnxm.jpg', - name: 'Armor NXM', - symbol: 'arNXM', - }, - { - address: '0xFA2562da1Bba7B954f26C74725dF51fb62646313', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xFA2562da1Bba7B954f26C74725dF51fb62646313/logo.png', - name: 'ASSY Index', - symbol: 'ASSY', - }, - { - address: '0x44e2deC86B9F0e0266E9AA66e10323A2bd69CF9A', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44e2deC86B9F0e0266E9AA66e10323A2bd69CF9A/logo.png', - name: 'Attrace', - symbol: 'ATTR', - }, - { - address: '0xA9B1Eb5908CfC3cdf91F9B8B3a74108598009096', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/auction.jpg', - name: 'Bounce Token', - symbol: 'AUCTION', - }, - { - address: '0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x18aAA7115705e8be94bfFEBDE57Af9BFc265B998/logo.png', - name: 'Audius', - symbol: 'AUDIO', - }, - { - address: '0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBB0E17EF65F82Ab018d8EDd776e8DD940327B28b/logo.png', - name: 'Axie Infinity Shard', - symbol: 'AXS', - }, - { - address: '0xC36824905dfF2eAAEE7EcC09fCC63abc0af5Abc5', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xC36824905dfF2eAAEE7EcC09fCC63abc0af5Abc5/logo.png', - name: 'Basis Bond', - symbol: 'BAB', - }, - { - address: '0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3449FC1Cd036255BA1EB19d65fF4BA2b8903A69a/logo.png', - name: 'Basis Cash', - symbol: 'BAC', - }, - { - address: '0xa54d2EBfD977ad836203c85F18db2F0a0cF88854', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xa54d2EBfD977ad836203c85F18db2F0a0cF88854.jpg', - name: 'BaconCoin', - symbol: 'BACON', - }, - { - address: '0x3472A5A71965499acd81997a54BBA8D852C6E53d', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/badger.jpg', - name: 'Badger DAO', - symbol: 'BADGER', - }, - { - address: '0xba100000625a3754423978a60c9317c58a424e3D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xba100000625a3754423978a60c9317c58a424e3D/logo.png', - name: 'Balancer', - symbol: 'BAL', - }, - { - address: '0xE2311ae37502105b442bBef831E9b53c5d2e9B3b', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE2311ae37502105b442bBef831E9b53c5d2e9B3b/logo.png', - name: 'Banana', - symbol: 'BANANA', - }, - { - address: '0xBA11D00c5f74255f56a5E366F4F77f5A186d7f55', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', - name: 'Band Protocol', - symbol: 'BAND', - }, - { - address: '0x24A6A37576377F63f194Caa5F518a60f45b42921', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x24A6A37576377F63f194Caa5F518a60f45b42921/logo.png', - name: 'Float Bank', - symbol: 'BANK', - }, - { - address: '0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2d94AA3e47d9D5024503Ca8491fcE9A2fB4DA198/logo.png', - name: 'Bankless Token', - symbol: 'BANK/Bankless', - }, - { - address: '0x374CB8C27130E2c9E04F44303f3c8351B9De61C1', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x374CB8C27130E2c9E04F44303f3c8351B9De61C1/logo.png', - name: 'Bao Finance', - symbol: 'BAO', - }, - { - address: '0x07150e919B4De5fD6a63DE1F9384828396f25fDC', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x07150e919B4De5fD6a63DE1F9384828396f25fDC/logo.png', - name: 'Base Protocol', - symbol: 'BASE', - }, - { - address: '0x44564d0bd94343f72E3C8a0D22308B7Fa71DB0Bb', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44564d0bd94343f72E3C8a0D22308B7Fa71DB0Bb/logo.png', - name: 'BasketDAO Gov', - symbol: 'BASK', - }, - { - address: '0x0D8775F648430679A709E98d2b0Cb6250d2887EF', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bat.jpg', - name: 'Basic Attention Token', - symbol: 'BAT', - }, - { - address: '0x19D97D8fA813EE2f51aD4B4e04EA08bAf4DFfC28', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bbadger.jpg', - name: 'Badger Sett Badger', - symbol: 'bBADGER', - }, - { - address: '0xE4f726Adc8e89C6a6017F01eadA77865dB22dA14', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE4f726Adc8e89C6a6017F01eadA77865dB22dA14/logo.png', - name: 'PieDAO Balance Crypto Pie', - symbol: 'BCP', - }, - { - address: '0x0309c98B1bffA350bcb3F9fB9780970CA32a5060', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0309c98B1bffA350bcb3F9fB9780970CA32a5060/logo.png', - name: 'BasketDAO DeFi Index', - symbol: 'BDI', - }, - { - address: '0x7e7E112A68d8D2E221E11047a72fFC1065c38e1a', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bdigg.jpg', - name: 'Badger Sett Digg', - symbol: 'bDIGG', - }, - { - address: '0x01597E397605Bf280674Bf292623460b4204C375', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x01597E397605Bf280674Bf292623460b4204C375.jpg', - name: 'Bent Finance', - symbol: 'BENT', - }, - { - address: '0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0c7D5ae016f806603CB1782bEa29AC69471CAb9c/logo.png', - name: 'Bifrost', - symbol: 'BFC', - }, - { - address: '0xbA7970f10D9f0531941DcEd1dda7ef3016B24e5b', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbA7970f10D9f0531941DcEd1dda7ef3016B24e5b/logo.png', - name: 'Based Gold', - symbol: 'BGLD', - }, - { - address: '0xF17e65822b568B3903685a7c9F496CF7656Cc6C2', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF17e65822b568B3903685a7c9F496CF7656Cc6C2/logo.png', - name: 'Biconomy Token', - symbol: 'BICO', - }, - { - address: '0x2791BfD60D232150Bff86b39B7146c0eaAA2BA81', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bifi.jpg', - name: 'BiFi', - symbol: 'BIFI', - }, - { - address: '0xAACa86B876ca011844b5798ECA7a67591A9743C8', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xAACa86B876ca011844b5798ECA7a67591A9743C8/logo.png', - name: 'BIOS', - symbol: 'BIOS', - }, - { - address: '0x1A4b46696b2bB4794Eb3D4c26f1c55F9170fa4C5', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bit.jpg', - name: 'BitDAO', - symbol: 'BIT', - }, - { - address: '0x807a0774236A0fBE9e7f8E7Df49EDFED0e6777Ea', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x807a0774236A0fBE9e7f8E7Df49EDFED0e6777Ea.jpg', - name: 'Block', - symbol: 'BLOCK', - }, - { - address: '0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8a6D4C8735371EBAF8874fBd518b56Edd66024eB/logo.png', - name: 'Blocks Dao', - symbol: 'BLOCKS', - }, - { - address: '0x725C263e32c72dDC3A19bEa12C5a0479a81eE688', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x725C263e32c72dDC3A19bEa12C5a0479a81eE688/logo.png', - name: 'Bridge Mutual', - symbol: 'BMI', - }, - { - address: '0x84d821F7FbDD595c4C4A50842913e6b1E07d7a53', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x84d821F7FbDD595c4C4A50842913e6b1E07d7a53/logo.png', - name: 'BNPL Pay', - symbol: 'BNPL', - }, - { - address: '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C/logo.png', - name: 'Bancor', - symbol: 'BNT', - }, - { - address: '0x0391D2021f89DC339F60Fff84546EA23E337750f', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0391D2021f89DC339F60Fff84546EA23E337750f/logo.png', - name: 'BarnBridge Governance Token', - symbol: 'BOND', - }, - { - address: '0x3c9d6c1C73b31c837832c72E04D3152f051fc1A9', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bor.jpg', - name: 'BoringDao', - symbol: 'BOR', - }, - { - address: '0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0eC9F76202a7061eB9b3a7D6B59D36215A7e37da/logo.png', - name: 'BlackPool Token', - symbol: 'BPT', - }, - { - address: '0x69570f3E84f51Ea70b7B68055c8d667e77735a25', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x69570f3E84f51Ea70b7B68055c8d667e77735a25.jpg', - name: 'Betswap.gg', - symbol: 'BSGG', - }, - { - address: '0x0B498ff89709d3838a063f1dFA463091F9801c2b', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0B498ff89709d3838a063f1dFA463091F9801c2b/logo.png', - name: 'BTC 2x Flexible Leverage Index', - symbol: 'BTC2x-FLI', - }, - { - address: '0xcB97e65F07DA24D46BcDD078EBebd7C6E6E3d750', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btm.jpg', - name: 'Bytom', - symbol: 'BTM', - }, - { - address: '0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xC0d4Ceb216B3BA9C3701B291766fDCbA977ceC3A.jpg', - name: 'Redacted Cartel', - symbol: 'BTRFLY', - }, - { - address: '0x4Fabb145d64652a948d72533023f6E7A623C7C53', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', - name: 'Binance USD', - symbol: 'BUSD', - }, - { - address: '0x56d811088235F11C8920698a204A5010a788f4b3', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bzrx.jpg', - name: 'bZx Protocol Token', - symbol: 'BZRX', - }, - { - address: '0xAE12C5930881c53715B369ceC7606B70d8EB229f', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xAE12C5930881c53715B369ceC7606B70d8EB229f/logo.png', - name: 'Coin98', - symbol: 'C98', - }, - { - address: '0xaaAEBE6Fe48E54f431b0C390CfaF0b017d09D42d', - chainId: 1, - decimals: 4, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cel.jpg', - name: 'Celsius', - symbol: 'CEL', - }, - { - address: '0x1e33dBA7cd47e79C4385Ba39442A693B910a0A8a', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celo.jpg', - name: 'Celo native', - symbol: 'CELO', - }, - { - address: '0x332E824e46FcEeB9E59ba9491B80d3e6d42B0B59', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x332E824e46FcEeB9E59ba9491B80d3e6d42B0B59/logo.png', - name: 'CheeseFry', - symbol: 'CHEESE', - }, - { - address: '0xCB56b52316041A62B6b5D0583DcE4A8AE7a3C629', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xCB56b52316041A62B6b5D0583DcE4A8AE7a3C629/logo.png', - name: 'Cigarette Token', - symbol: 'CIG', - }, - { - address: '0x68CFb82Eacb9f198d508B514d898a403c449533E', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x68CFb82Eacb9f198d508B514d898a403c449533E/logo.png', - name: 'Credmark', - symbol: 'CMK', - }, - { - address: '0xbc138bD20C98186CC0342C8e380953aF0cb48BA8', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbc138bD20C98186CC0342C8e380953aF0cb48BA8/logo.png', - name: 'Candle', - symbol: 'CNDL', - }, - { - address: '0xfFffFffF2ba8F66D4e51811C5190992176930278', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xfFffFffF2ba8F66D4e51811C5190992176930278/logo.png', - name: 'Furucombo', - symbol: 'COMBO', - }, - { - address: '0xc00e94Cb662C3520282E6f5717214004A7f26888', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/comp.jpg', - name: 'Compound', - symbol: 'COMP', - }, - { - address: '0x114f1388fAB456c4bA31B1850b244Eedcd024136', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x114f1388fAB456c4bA31B1850b244Eedcd024136.jpg', - name: 'Cool Cats', - symbol: 'COOL', - }, - { - address: '0x4688a8b1F292FDaB17E9a90c8Bc379dC1DBd8713', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cover.jpg', - name: 'Cover Protocol', - symbol: 'COVER', - }, - { - address: '0xD417144312DbF50465b1C641d016962017Ef6240', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/14168/small/covalent-cqt.png?1624545218', - name: 'Covalent Query Token', - symbol: 'CQT', - }, - { - address: '0xcAaa93712BDAc37f736C323C93D4D5fDEFCc31CC', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/2859/small/CRD.png?1623397651', - name: 'CRD Network', - symbol: 'CRD', - }, - { - address: '0xc36b4311B21Fc0c2eAd46f1eA6ce97c9C4D98D3d', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xc36b4311B21Fc0c2eAd46f1eA6ce97c9C4D98D3d/logo.png', - name: 'Creaticles', - symbol: 'CRE8', - }, - { - address: '0x2ba592F78dB6436527729929AAf6c908497cB200', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', - name: 'Cream', - symbol: 'CREAM', - }, - { - address: '0xcBc1065255cBc3aB41a6868c22d1f1C573AB89fd', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xcBc1065255cBc3aB41a6868c22d1f1C573AB89fd/logo.png', - name: 'Cream ETH 2', - symbol: 'CRETH2', - }, - { - address: '0xA0b73E1Ff0B80914AB6fe0444E65848C4C34450b', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cro.jpg', - name: 'Crypto.com Coin', - symbol: 'CRO', - }, - { - address: '0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xc6e145421FD494B26dCF2BFeB1b02b7c5721978f/logo.png', - name: 'Crypto Perx', - symbol: 'CRPX', - }, - { - address: '0xD533a949740bb3306d119CC777fa900bA034cd52', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', - name: 'Curve DAO Token', - symbol: 'CRV', - }, - { - address: '0x321C2fE4446C7c963dc41Dd58879AF648838f98D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x321C2fE4446C7c963dc41Dd58879AF648838f98D/logo.png', - name: 'Cryptex', - symbol: 'CTX', - }, - { - address: '0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x38e4adB44ef08F22F5B5b76A8f0c2d0dCbE7DcA1/logo.png', - name: 'Concentrated Voting Power', - symbol: 'CVP', - }, - { - address: '0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B/logo.png', - name: 'Convex Token', - symbol: 'CVX', - }, - { - address: '0x62B9c7356A2Dc64a1969e19C23e4f579F9810Aa7', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cvxcrv.jpg', - name: 'Convex CRV', - symbol: 'cvxCRV', - }, - { - address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x0f51bb10119727a7e5eA3538074fb341F56B09Ad', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0f51bb10119727a7e5eA3538074fb341F56B09Ad/logo.png', - name: 'DAO Maker', - symbol: 'DAO', - }, - { - address: '0xE00639A1f59B52773b7d39d9F9beF07F6248dbAe', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xE00639A1f59B52773b7d39d9F9beF07F6248dbAe.jpg', - name: 'The DAOX Index', - symbol: 'DAOX', - }, - { - address: '0x33d63Ba1E57E54779F7dDAeaA7109349344cf5F1', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x33d63Ba1E57E54779F7dDAeaA7109349344cf5F1/logo.png', - name: 'Data Economy Index', - symbol: 'DATA/Index', - }, - { - address: '0x8f693ca8D21b157107184d29D398A8D082b38b76', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8f693ca8D21b157107184d29D398A8D082b38b76/logo.png', - name: 'Streamr', - symbol: 'DATA/Streamr', - }, - { - address: '0x3A880652F47bFaa771908C07Dd8673A787dAEd3A', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3A880652F47bFaa771908C07Dd8673A787dAEd3A/logo.png', - name: 'DerivaDAO', - symbol: 'DDX', - }, - { - address: '0x78F225869c08d478c34e5f645d07A87d3fe8eb78', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x78F225869c08d478c34e5f645d07A87d3fe8eb78/logo.png', - name: 'PieDAO DEFI Large Cap', - symbol: 'DEFI+L', - }, - { - address: '0x126c121f99e1E211dF2e5f8De2d96Fa36647c855', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x126c121f99e1E211dF2e5f8De2d96Fa36647c855/logo.png', - name: 'DEGEN Index', - symbol: 'DEGEN', - }, - { - address: '0x9EA3b5b4EC044b70375236A281986106457b20EF', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9EA3b5b4EC044b70375236A281986106457b20EF/logo.png', - name: 'DELTA', - symbol: 'DELTA', - }, - { - address: '0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xA487bF43cF3b10dffc97A9A744cbB7036965d3b9/logo.png', - name: 'Deri Token', - symbol: 'DERI', - }, - { - address: '0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5F64Ab1544D28732F0A24F4713c2C8ec0dA089f0/logo.png', - name: 'DEXTF', - symbol: 'DEXTF', - }, - { - address: '0x20c36f062a31865bED8a5B1e512D9a1A20AA333A', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x20c36f062a31865bED8a5B1e512D9a1A20AA333A/logo.png', - name: 'DefiDollar DAO', - symbol: 'DFD', - }, - { - address: '0x888888435FDe8e7d4c54cAb67f206e4199454c60', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x888888435FDe8e7d4c54cAb67f206e4199454c60/logo.png', - name: 'DFX', - symbol: 'DFX', - }, - { - address: '0xEE06A81a695750E71a662B51066F2c74CF4478a0', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xEE06A81a695750E71a662B51066F2c74CF4478a0/logo.png', - name: 'decentral.games', - symbol: 'DG', - }, - { - address: '0x84cA8bc7997272c7CfB4D0Cd3D55cd942B3c9419', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/11955/small/DIA-icon-colour_%281%29.png?1596423488', - name: 'DIA', - symbol: 'DIA', - }, - { - address: '0x798D1bE841a82a273720CE31c822C61a67a601C3', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x798D1bE841a82a273720CE31c822C61a67a601C3/logo.png', - name: 'Digg', - symbol: 'DIGG', - }, - { - address: '0xFb782396c9b20E564A64896181c7AC8d8979d5F4', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xFb782396c9b20E564A64896181c7AC8d8979d5F4/logo.png', - name: 'DivergenceProtocol', - symbol: 'DIVER', - }, - { - address: '0xB5e09e6Bf6a5E96934B3fd99a40F7EDACa1173Ed', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xB5e09e6Bf6a5E96934B3fd99a40F7EDACa1173Ed/logo.png', - name: 'divinedao', - symbol: 'DIVINE', - }, - { - address: '0x0AbdAce70D3790235af448C88547603b945604ea', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dnt.jpg', - name: 'district0x', - symbol: 'DNT', - }, - { - address: '0xBAac2B4491727D78D2b78815144570b9f2Fe8899', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBAac2B4491727D78D2b78815144570b9f2Fe8899/logo.png', - name: 'The Doge NFT', - symbol: 'DOG', - }, - { - address: '0xad32A8e6220741182940c5aBF610bDE99E737b2D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xad32A8e6220741182940c5aBF610bDE99E737b2D/logo.png', - name: 'PieDAO', - symbol: 'DOUGH', - }, - { - address: '0x1494CA1F11D487c2bBe4543E90080AeBa4BA3C2b', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dpi.jpg', - name: 'Defi Pulse Index', - symbol: 'DPI', - }, - { - address: '0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb78B3320493a4EFaa1028130C5Ba26f0B6085Ef8/logo.png', - name: 'Dracula Token', - symbol: 'DRC', - }, - { - address: '0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBD2F0Cd039E0BFcf88901C98c0bFAc5ab27566e3/logo.png', - name: 'Dynamic Set Dollar', - symbol: 'DSD', - }, - { - address: '0x92E187a03B6CD19CB6AF293ba17F2745Fd2357D5', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x92E187a03B6CD19CB6AF293ba17F2745Fd2357D5/logo.png', - name: 'Unit Protocol', - symbol: 'DUCK', - }, - { - address: '0x5BC25f649fc4e26069dDF4cF4010F9f706c23831', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5BC25f649fc4e26069dDF4cF4010F9f706c23831/logo.png', - name: 'DefiDollar', - symbol: 'DUSD', - }, - { - address: '0xDDdddd4301A082e62E84e43F474f044423921918', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xDDdddd4301A082e62E84e43F474f044423921918/logo.png', - name: 'DeversiFi Token', - symbol: 'DVF', - }, - { - address: '0x92D6C1e31e14520e676a687F0a93788B716BEff5', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x92D6C1e31e14520e676a687F0a93788B716BEff5/logo.png', - name: 'dYdX', - symbol: 'DYDX', - }, - { - address: '0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eden.jpg', - name: 'Eden', - symbol: 'EDEN', - }, - { - address: '0x2aA5cE395b00CC486159aDbDD97c55b535CF2cf9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2aA5cE395b00CC486159aDbDD97c55b535CF2cf9/logo.png', - name: 'Elastic Governance', - symbol: 'EGT', - }, - { - address: '0x893700A1a86EE68B92536bf6fd4d3200d7369F7d', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x893700A1a86EE68B92536bf6fd4d3200d7369F7d/logo.png', - name: 'Emanate', - symbol: 'EMT', - }, - { - address: '0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/enj.jpg', - name: 'EnjinCoin', - symbol: 'ENJ', - }, - { - address: '0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72/logo.png', - name: 'Ethereum Name Service', - symbol: 'ENS', - }, - { - address: '0xd779eEA9936B4e323cDdff2529eb6F13d0A4d66e', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xd779eEA9936B4e323cDdff2529eb6F13d0A4d66e/logo.png', - name: 'ENTER Governance Token', - symbol: 'ENTR', - }, - { - address: '0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x36F3FD68E7325a35EB768F1AedaAe9EA0689d723/logo.png', - name: 'Empty Set Dollar', - symbol: 'ESD', - }, - { - address: '0xa0246c9032bC3A600820415aE600c6388619A14D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xa0246c9032bC3A600820415aE600c6388619A14D/logo.png', - name: 'FARM', - symbol: 'FARM', - }, - { - address: '0x956F47F50A910163D8BF957Cf5846D573E7f87CA', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x956F47F50A910163D8BF957Cf5846D573E7f87CA.jpg', - name: 'Fei', - symbol: 'FEI', - }, - { - address: '0xb05097849BCA421A3f51B249BA6CCa4aF4b97cb9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb05097849BCA421A3f51B249BA6CCa4aF4b97cb9/logo.png', - name: 'Float FLOAT', - symbol: 'FLOAT', - }, - { - address: '0x7f280daC515121DcdA3EaC69eB4C13a52392CACE', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7f280daC515121DcdA3EaC69eB4C13a52392CACE/logo.png', - name: 'Fancy Games', - symbol: 'FNC', - }, - { - address: '0xeF9Cd7882c067686691B6fF49e650b43AFBBCC6B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xeF9Cd7882c067686691B6fF49e650b43AFBBCC6B/logo.png', - name: 'FinNexus', - symbol: 'FNX', - }, - { - address: '0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4C2e59D098DF7b6cBaE0848d66DE2f8A4889b9C3/logo.png', - name: 'Fodl', - symbol: 'FODL', - }, - { - address: '0xd084944d3c05CD115C09d072B9F44bA3E0E45921', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xd084944d3c05CD115C09d072B9F44bA3E0E45921/logo.png', - name: 'Manifold Finance', - symbol: 'FOLD', - }, - { - address: '0x4C25Bdf026Ea05F32713F00f73Ca55857Fbf6342', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/fontcommunity/Font.community/master/logo.png', - name: 'Font', - symbol: 'FONT', - }, - { - address: '0x853d955aCEf822Db058eb8505911ED77F175b99e', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x853d955aCEf822Db058eb8505911ED77F175b99e/logo.png', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0xf8C3527CC04340b208C854E985240c02F7B7793f', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/front.jpg', - name: 'Frontier', - symbol: 'FRONT', - }, - { - address: '0x4E15361FD6b4BB609Fa63C81A2be19d873717870', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ftm.jpg', - name: 'Fantom Token', - symbol: 'FTM', - }, - { - address: '0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9/logo.png', - name: 'FTX Token', - symbol: 'FTT', - }, - { - address: '0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x970B9bB2C0444F5E81e9d0eFb84C8ccdcdcAf84d.jpg', - name: 'Fuse Token', - symbol: 'FUSE', - }, - { - address: '0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0/logo.png', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0x6Bba316c48b49BD1eAc44573c5c871ff02958469', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6Bba316c48b49BD1eAc44573c5c871ff02958469/logo.png', - name: 'Gas Dao', - symbol: 'GAS', - }, - { - address: '0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x21413c119b0C11C5d96aE1bD328917bC5C8ED67E/logo.png', - name: 'GenomesDAO', - symbol: 'GENE', - }, - { - address: '0x8a854288a5976036A725879164Ca3e91d30c6A1B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8a854288a5976036A725879164Ca3e91d30c6A1B/logo.png', - name: 'Guaranteed Entrance Token', - symbol: 'GET', - }, - { - address: '0x831091dA075665168E01898c6DAC004A867f1e1B', - chainId: 1, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8444.png', - name: 'Gains Farm v2', - symbol: 'GFARM2', - }, - { - address: '0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7DD9c5Cba05E151C895FDe1CF355C9A1D5DA6429/logo.png', - name: 'Golem', - symbol: 'GLM', - }, - { - address: '0x7F0693074F8064cFbCf9fA6E5A3Fa0e4F58CcCCF', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x7F0693074F8064cFbCf9fA6E5A3Fa0e4F58CcCCF.jpg', - name: 'we love gm', - symbol: 'gm', - }, - { - address: '0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xD9016A907Dc0ECfA3ca425ab20B6b785B42F2373/logo.png', - name: 'GAMEE', - symbol: 'GMEE', - }, - { - address: '0x47110d43175f7f2C2425E7d15792acC5817EB44f', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x47110d43175f7f2C2425E7d15792acC5817EB44f/logo.png', - name: 'Bankless DeFi Innovation Index', - symbol: 'GMI', - }, - { - address: '0x6810e776880C02933D47DB1b9fc05908e5386b96', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6810e776880C02933D47DB1b9fc05908e5386b96/logo.png', - name: 'Gnosis', - symbol: 'GNO', - }, - { - address: '0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xccC8cb5229B0ac8069C51fd58367Fd1e622aFD97/logo.png', - name: 'Gods Unchained', - symbol: 'GODS', - }, - { - address: '0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9AB7bb7FdC60f4357ECFef43986818A2A3569c62/logo.png', - name: 'Guild of Guardians', - symbol: 'GOG', - }, - { - address: '0xc944E90C64B2c07662A292be6244BDf05Cda44a7', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', - name: 'The Graph', - symbol: 'GRT', - }, - { - address: '0x0316EB71485b0Ab14103307bf65a021042c6d380', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0316EB71485b0Ab14103307bf65a021042c6d380/logo.png', - name: 'Huobi BTC', - symbol: 'HBTC', - }, - { - address: '0x584bC13c7D411c00c01A62e8019472dE68768430', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/hegic.jpg', - name: 'Hegic', - symbol: 'HEGIC', - }, - { - address: '0xEEF9f339514298C6A857EfCfC1A762aF84438dEE', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xEEF9f339514298C6A857EfCfC1A762aF84438dEE/logo.png', - name: 'Hermez Network', - symbol: 'HEZ', - }, - { - address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', - name: 'Hundred Finance', - symbol: 'HND', - }, - { - address: '0xdF574c24545E5FfEcb9a659c229253D4111d87e1', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/husd.jpg', - name: 'HUSD', - symbol: 'HUSD', - }, - { - address: '0xc4E15973E6fF2A35cC804c2CF9D2a1b817a8b40F', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ibbtc.jpg', - name: 'Interest-Bearing BTC', - symbol: 'ibBTC', - }, - { - address: '0xeEa3311250FE4c3268F8E684f7C87A82fF183Ec1', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ibethv2.jpg', - name: 'Interest Bearing Ether v2', - symbol: 'ibETHv2', - }, - { - address: '0x6A68DE599E8E0b1856E322CE5Bd11c5C3C79712B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6A68DE599E8E0b1856E322CE5Bd11c5C3C79712B/logo.png', - name: 'I Bet You', - symbol: 'IBY', - }, - { - address: '0xf16e81dce15B08F326220742020379B855B87DF9', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ice.jpg', - name: 'IceToken', - symbol: 'ICE', - }, - { - address: '0x903bEF1736CDdf2A537176cf3C64579C3867A881', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x903bEF1736CDdf2A537176cf3C64579C3867A881/logo.png', - name: 'ichi.farm', - symbol: 'ICHI', - }, - { - address: '0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xEBd9D99A3982d547C5Bb4DB7E3b1F9F14b67Eb83/logo.png', - name: 'Everest ID', - symbol: 'ID', - }, - { - address: '0x875773784Af8135eA0ef43b5a374AaD105c5D39e', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x875773784Af8135eA0ef43b5a374AaD105c5D39e/logo.png', - name: 'Idle', - symbol: 'IDLE', - }, - { - address: '0x0acC0FEE1D86D2cD5AF372615bf59b298D50cd69', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x0acC0FEE1D86D2cD5AF372615bf59b298D50cd69.jpg', - name: 'Invest Like Stakeborg Index', - symbol: 'ILSI', - }, - { - address: '0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x767FE9EDC9E0dF98E07454847909b5E959D7ca0E/logo.png', - name: 'Illuvium', - symbol: 'ILV', - }, - { - address: '0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF57e7e7C23978C3cAEC3C3548E3D615c346e79fF/logo.png', - name: 'Immutable X', - symbol: 'IMX', - }, - { - address: '0x0954906da0Bf32d5479e25f46056d22f08464cab', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0954906da0Bf32d5479e25f46056d22f08464cab/logo.png', - name: 'Index Cooperative', - symbol: 'INDEX', - }, - { - address: '0xe28b3B32B6c345A34Ff64674606124Dd5Aceca30', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/inj.jpg', - name: 'Injective Protocol', - symbol: 'INJ', - }, - { - address: '0x544c42fBB96B39B21DF61cf322b5EDC285EE7429', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x544c42fBB96B39B21DF61cf322b5EDC285EE7429/logo.png', - name: 'InsurAce', - symbol: 'INSUR', - }, - { - address: '0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x41D5D79431A913C4aE7d69a668ecdfE5fF9DFB68/logo.png', - name: 'Inverse DAO', - symbol: 'INV', - }, - { - address: '0xFA1a856Cfa3409CFa145Fa4e20Eb270dF3EB21ab', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/2523/small/IOST.png?1557555183', - name: 'IOST', - symbol: 'IOST', - }, - { - address: '0x579CEa1889991f68aCc35Ff5c3dd0621fF29b0C9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x579CEa1889991f68aCc35Ff5c3dd0621fF29b0C9/logo.png', - name: 'Everipedia IQ', - symbol: 'IQ', - }, - { - address: '0x53dfEa0A8CC2A2A2e425E1C174Bc162999723ea0', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/jchf.jpg', - name: 'Jarvis Synthetic Swiss Franc', - symbol: 'jCHF', - }, - { - address: '0xf5f06fFa53Ad7F5914F493F16E57B56C8dd2eA80', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xf5f06fFa53Ad7F5914F493F16E57B56C8dd2eA80.jpg', - name: 'Jelly Token', - symbol: 'JELLY', - }, - { - address: '0x0f17BC9a994b87b5225cFb6a2Cd4D667ADb4F20B', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/jeur.jpg', - name: 'Jarvis Synthetic Euro', - symbol: 'jEUR', - }, - { - address: '0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE80C0cd204D654CEbe8dd64A4857cAb6Be8345a3/logo.png', - name: 'JPEGd Governance Token', - symbol: 'JPEG', - }, - { - address: '0x2370f9d504c7a6E775bf6E14B3F12846b594cD53', - chainId: 1, - decimals: 18, - logoURI: 'https://jpyc.jp/static/media/jpyc.0d1e5d3f.png', - name: 'JPY Coin', - symbol: 'JPYC', - }, - { - address: '0x8A9C67fee641579dEbA04928c4BC45F66e26343A', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/jrt.jpg', - name: 'Jarvis Reward Token', - symbol: 'JRT', - }, - { - address: '0x65Def5029A0e7591e46B38742bFEdd1Fb7b24436', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x65Def5029A0e7591e46B38742bFEdd1Fb7b24436/logo.png', - name: 'Kanpeki', - symbol: 'KAE', - }, - { - address: '0x368C5290b13cAA10284Db58B4ad4F3E9eE8bf4c9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x368c5290b13caa10284db58b4ad4f3e9ee8bf4c9/logo.png', - name: 'Kineko', - symbol: 'KKO', - }, - { - address: '0xdd974D5C2e2928deA5F71b9825b8b646686BD200', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/knc.jpg', - name: 'KyberNetwork', - symbol: 'KNC', - }, - { - address: '0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/kp3r.jpg', - name: 'Keep3rV1', - symbol: 'KP3R', - }, - { - address: '0xb29663Aa4E2e81e425294193616c1B102B70a158', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb29663Aa4E2e81e425294193616c1B102B70a158/logo.png', - name: 'Ludena Protocol', - symbol: 'LDN', - }, - { - address: '0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32/logo.png', - name: 'Lido DAO', - symbol: 'LDO', - }, - { - address: '0x7b39917f9562C8Bc83c7a6c2950FF571375D505D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7b39917f9562C8Bc83c7a6c2950FF571375D505D/logo.png', - name: 'LeagueDAO Governance Token', - symbol: 'LEAG', - }, - { - address: '0x80fB784B7eD66730e8b1DBd9820aFD29931aab03', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lend.jpg', - name: 'EthLend', - symbol: 'LEND', - }, - { - address: '0xbc194e6f748a222754C3E8b9946922c09E7d4e91', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbc194e6f748a222754C3E8b9946922c09E7d4e91/logo.png', - name: 'Lever', - symbol: 'LEV', - }, - { - address: '0xf474E526ADe9aD2CC2B66ffCE528B1A51B91FCdC', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xf474E526ADe9aD2CC2B66ffCE528B1A51B91FCdC.jpg', - name: 'LevX DAO', - symbol: 'LEVX', - }, - { - address: '0x3E9BC21C9b189C09dF3eF1B824798658d5011937', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3E9BC21C9b189C09dF3eF1B824798658d5011937/logo.png', - name: 'Linear Token', - symbol: 'LINA', - }, - { - address: '0x514910771AF9Ca656af840dff83E8264EcF986CA', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'Chain Link', - symbol: 'LINK', - }, - { - address: '0xDEc41Db0c33F3F6f3cb615449C311ba22D418A8d', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xDEc41Db0c33F3F6f3cb615449C311ba22D418A8d.jpg', - name: 'Lobi', - symbol: 'LOBI', - }, - { - address: '0x0000000000095413afC295d19EDeb1Ad7B71c952', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lon.jpg', - name: 'LON Token', - symbol: 'LON', - }, - { - address: '0xBBbbCA6A901c926F240b89EacB641d8Aec7AEafD', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lrc.jpg', - name: 'LoopringCoin V2', - symbol: 'LRC', - }, - { - address: '0x749b964F3dd571b177fc6E415A07F62b05047dA4', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/lsd.jpg', - name: 'Bad Trip', - symbol: 'LSD', - }, - { - address: '0x5f98805A4E8be255a32880FDeC7F6728C6568bA0', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5f98805A4E8be255a32880FDeC7F6728C6568bA0/logo.png', - name: 'LUSD Stablecoin', - symbol: 'LUSD', - }, - { - address: '0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x01BA67AAC7f75f647D94220Cc98FB30FCc5105Bf/logo.png', - name: 'Lyra Token', - symbol: 'LYRA', - }, - { - address: '0x4Af698B479D0098229DC715655c667Ceb6cd8433', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/maid.jpg', - name: 'MaidCoin', - symbol: 'MAID', - }, - { - address: '0x0cae9e4d663793c2a2A0b211c1Cf4bBca2B9cAa7', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mamzn.jpg', - name: 'Mirrored Amazon', - symbol: 'MAMZN', - }, - { - address: '0x0F5D2fB29fb7d3CFeE444a200298f468908cC942', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mana.jpg', - name: 'Decentraland', - symbol: 'MANA', - }, - { - address: '0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x66C0DDEd8433c9EA86C8cf91237B14e10b4d70B7/logo.png', - name: 'MarsToken', - symbol: 'MARS', - }, - { - address: '0x16CDA4028e9E872a38AcB903176719299beAed87', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x16CDA4028e9E872a38AcB903176719299beAed87/logo.png', - name: 'MARS4', - symbol: 'MARS4', - }, - { - address: '0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x69af81e73A73B40adF4f3d4223Cd9b1ECE623074/logo.png', - name: 'Mask Network', - symbol: 'MASK', - }, - { - address: '0x06F3C323f0238c72BF35011071f2b5B7F43A054c', - chainId: 1, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8376.png', - name: 'MASQ', - symbol: 'MASQ', - }, - { - address: '0x26cF82e4aE43D31eA51e72B663d26e26a75AF729', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mbbased.jpg', - name: 'Moonbase', - symbol: 'mbBASED', - }, - { - address: '0x945Facb997494CC2570096c74b5F66A3507330a1', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x945Facb997494CC2570096c74b5F66A3507330a1/logo.png', - name: 'mStable BTC', - symbol: 'mBTC', - }, - { - address: '0xdb726152680eCe3c9291f1016f1d36f3995f6941', - chainId: 1, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdb726152680eCe3c9291f1016f1d36f3995f6941/logo.png', - name: 'Media Network Token', - symbol: 'MEDIA', - }, - { - address: '0xD5525D397898e5502075Ea5E830d8914f6F0affe', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xD5525D397898e5502075Ea5E830d8914f6F0affe/logo.png', - name: 'Meme', - symbol: 'MEME', - }, - { - address: '0x650F44eD6F1FE0E1417cb4b3115d52494B4D9b6D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x650F44eD6F1FE0E1417cb4b3115d52494B4D9b6D/logo.png', - name: 'Meowshi', - symbol: 'MEOW', - }, - { - address: '0x0dC7d0192c148d7d2D6fa32DC280f953c0AD6A34', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0dC7d0192c148d7d2D6fa32DC280f953c0AD6A34/logo.png', - name: 'MetaCat', - symbol: 'MetaCat', - }, - { - address: '0x0e99cC0535BB6251F6679Fa6E65d6d3b430e840B', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mfb.jpg', - name: 'Mirrored Facebook', - symbol: 'MFB', - }, - { - address: '0x59A921Db27Dd6d4d974745B7FfC5c33932653442', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mgoogl.jpg', - name: 'M Google', - symbol: 'MGOOGL', - }, - { - address: '0x368B3a58B5f49392e5C9E4C998cb0bB966752E51', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x368B3a58B5f49392e5C9E4C998cb0bB966752E51/logo.png', - name: 'Mithril Cash', - symbol: 'MIC', - }, - { - address: '0x99D8a9C45b2ecA8864373A26D1459e3Dff1e17F3', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mim.jpg', - name: 'Magic Internet Money', - symbol: 'MIM', - }, - { - address: '0x4b4D2e899658FB59b1D518b68fe836B100ee8958', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4b4D2e899658FB59b1D518b68fe836B100ee8958/logo.png', - name: 'Mithril Shares', - symbol: 'MIS', - }, - { - address: '0x88ACDd2a6425c3FaAE4Bc9650Fd7E27e0Bebb7aB', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/14655/small/79158662.png?1617589045', - name: 'Alchemist', - symbol: 'MIST', - }, - { - address: '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mkr.jpg', - name: 'Maker', - symbol: 'MKR', - }, - { - address: '0xec67005c4E498Ec7f55E092bd1d35cbC47C91892', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mln.jpg', - name: 'Melon Token', - symbol: 'MLN', - }, - { - address: '0xa283aA7CfBB27EF0cfBcb2493dD9F4330E0fd304', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xa283aA7CfBB27EF0cfBcb2493dD9F4330E0fd304/logo.png', - name: 'MMToken', - symbol: 'MM', - }, - { - address: '0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6B4c7A5e3f0B99FCD83e9c089BDDD6c7FCe5c611/logo.png', - name: 'Million', - symbol: 'MM/Million', - }, - { - address: '0x41BbEDd7286dAab5910a1f15d12CBda839852BD7', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mmsft.jpg', - name: 'Mirrored Microsoft', - symbol: 'MMSFT', - }, - { - address: '0x8888801aF4d980682e47f1A9036e589479e835C5', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/88mph.jpg', - name: '88mph', - symbol: 'MPH', - }, - { - address: '0x13B02c8dE71680e71F0820c996E4bE43c2F57d15', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mqqq.jpg', - name: 'Wrapped Mirror QQQ Token', - symbol: 'mQQQ', - }, - { - address: '0x9d1555d8cB3C846Bb4f7D5B1B1080872c3166676', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mslv.jpg', - name: 'Mirrored iShares Si', - symbol: 'MSLV', - }, - { - address: '0xa3BeD4E1c75D00fa6f4E5E6922DB7261B5E9AcD2', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mta.jpg', - name: 'Meta', - symbol: 'MTA', - }, - { - address: '0x21cA39943E91d704678F5D00b6616650F066fD63', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mtsla.jpg', - name: 'Mirrored Tesla', - symbol: 'MTSLA', - }, - { - address: '0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x65Ef703f5594D2573eb71Aaf55BC0CB548492df4/logo.png', - name: 'Multichain', - symbol: 'MULTI', - }, - { - address: '0xea6412Fb370e8d1605E6aEeAA21aD07C3C7e9F24', - chainId: 1, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8502.png', - name: 'Mushroom', - symbol: 'Mush', - }, - { - address: '0x31c63146a635EB7465e5853020b39713AC356991', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/muso.jpg', - name: 'M US Oil', - symbol: 'MUSO', - }, - { - address: '0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9C78EE466D6Cb57A4d01Fd887D2b5dFb2D46288f/logo.png', - name: 'Must', - symbol: 'MUST', - }, - { - address: '0xf72FCd9DCF0190923Fadd44811E240Ef4533fc86', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mvixy.jpg', - name: 'Mirrored ProShares', - symbol: 'MVIXY', - }, - { - address: '0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4a615bB7166210CCe20E6642a6f8Fb5d4D044496/logo.png', - name: 'NaosToken', - symbol: 'NAOS', - }, - { - address: '0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xDB5C3C46E28B53a39C255AA39A411dD64e5fed9c.jpg', - name: 'Neos Credits', - symbol: 'NCR', - }, - { - address: '0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8A9c4dfe8b9D8962B31e4e16F8321C44d48e246E/logo.png', - name: 'NameChangeToken', - symbol: 'NCT', - }, - { - address: '0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x86772b1409b61c639EaAc9Ba0AcfBb6E238e5F83/logo.png', - name: 'Indexed Finance', - symbol: 'NDX', - }, - { - address: '0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4', - chainId: 1, - decimals: 24, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4/logo.png', - name: 'NEAR', - symbol: 'NEAR', - }, - { - address: '0x98585dFc8d9e7D48F0b1aE47ce33332CF4237D96', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x98585dFc8d9e7D48F0b1aE47ce33332CF4237D96/logo.png', - name: 'New Order', - symbol: 'NEWO', - }, - { - address: '0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206', - chainId: 1, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/2694.png', - name: 'Nexo', - symbol: 'NEXO', - }, - { - address: '0xDFDb7f72c1F195C5951a234e8DB9806EB0635346', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xDFDb7f72c1F195C5951a234e8DB9806EB0635346/logo.png', - name: 'Feisty Doge NFT', - symbol: 'NFD', - }, - { - address: '0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3c8D2FCE49906e11e71cB16Fa0fFeB2B16C29638/logo.png', - name: 'Nifty League', - symbol: 'NFTL', - }, - { - address: '0x87d73E916D7057945c9BcD8cdd94e42A6F47f776', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x87d73E916D7057945c9BcD8cdd94e42A6F47f776/logo.png', - name: 'NFTX', - symbol: 'NFTX', - }, - { - address: '0x47252A63C723889814AeBcAC0683E615624ceC64', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x47252A63C723889814AeBcAC0683E615624ceC64/logo.png', - name: 'nil', - symbol: 'NIL', - }, - { - address: '0x9D79d5B61De59D882ce90125b18F74af650acB93', - chainId: 1, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9D79d5B61De59D882ce90125b18F74af650acB93/logo.png', - name: 'Neutrino System Base Token', - symbol: 'NSBT', - }, - { - address: '0x70Bef3bB2f001dA2fDDb207dAe696cD9FAFf3f5d', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x70Bef3bB2f001dA2fDDb207dAe696cD9FAFf3f5d.jpg', - name: 'Ninja Squad Token', - symbol: 'NST', - }, - { - address: '0x4fE83213D56308330EC302a8BD641f1d0113A4Cc', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/3318/small/photo1198982838879365035.jpg?1547037916', - name: 'NuCypher', - symbol: 'NU', - }, - { - address: '0x967da4048cD07aB37855c090aAF366e4ce1b9F48', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ocean.jpg', - name: 'Ocean Token', - symbol: 'OCEAN', - }, - { - address: '0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8207c1FfC5B6804F6024322CcF34F29c3541Ae26/logo.png', - name: 'OriginToken', - symbol: 'OGN', - }, - { - address: '0x1098269bFc70b26DeA43f18F812D2b9854E874bA', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1098269bFc70b26DeA43f18F812D2b9854E874bA/logo.png', - name: 'Oh..Geez', - symbol: 'OH-GEEZ', - }, - { - address: '0x64aa3364F17a4D01c6f1751Fd97C2BD3D7e7f1D5', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x383518188C0C6d7730D91b2c03a03C837814a899.jpg', - name: 'Olympus v2 NEW', - symbol: 'OHM', - }, - { - address: '0x383518188C0C6d7730D91b2c03a03C837814a899', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x383518188C0C6d7730D91b2c03a03C837814a899/logo.png', - name: 'Olympus v1 OLD', - symbol: 'OHMv1', - }, - { - address: '0xd26114cd6EE289AccF82350c8d8487fedB8A0C07', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/omg.jpg', - name: 'OmiseGO', - symbol: 'OMG', - }, - { - address: '0xD5cd84D6f044AbE314Ee7E414d37cae8773ef9D3', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/one.jpg', - name: 'Harmony ONE', - symbol: 'ONE', - }, - { - address: '0xC88F47067dB2E25851317A2FDaE73a22c0777c37', - chainId: 1, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/onebtc.jpg', - name: 'oneBTC', - symbol: 'oneBTC', - }, - { - address: '0x8F041A3940a5e6FB580075C3774E15FcFA0E1618', - chainId: 1, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/onewing.jpg', - name: 'oneWING', - symbol: 'oneWING', - }, - { - address: '0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE0aD1806Fd3E7edF6FF52Fdb822432e847411033/logo.png', - name: 'OnX.finance', - symbol: 'ONX', - }, - { - address: '0x0De05F6447ab4D22c8827449EE4bA2D5C288379B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0De05F6447ab4D22c8827449EE4bA2D5C288379B/logo.png', - name: 'OOKI', - symbol: 'OOKI', - }, - { - address: '0x888888888889C00c67689029D7856AAC1065eC11', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x888888888889C00c67689029D7856AAC1065eC11/logo.png', - name: 'Opium Governance Token', - symbol: 'OPIUM', - }, - { - address: '0x0258F474786DdFd37ABCE6df6BBb1Dd5dfC4434a', - chainId: 1, - decimals: 8, - logoURI: 'https://assets.coingecko.com/coins/images/11841/small/orion_logo.png?1594943318', - name: 'Orion Protocol', - symbol: 'ORN', - }, - { - address: '0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86/logo.png', - name: 'Origin Dollar', - symbol: 'OUSD', - }, - { - address: '0xea7Cc765eBC94C4805e3BFf28D7E4aE48D06468A', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xea7Cc765eBC94C4805e3BFf28D7E4aE48D06468A/logo.png', - name: 'NearPad', - symbol: 'PAD', - }, - { - address: '0x8E870D67F660D95d5be530380D0eC0bd388289E1', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pax.jpg', - name: 'Paxos Standard', - symbol: 'PAX', - }, - { - address: '0x45804880De22913dAFE09f4980848ECE6EcbAf78', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x45804880De22913dAFE09f4980848ECE6EcbAf78/logo.png', - name: 'Paxos Gold', - symbol: 'PAXG', - }, - { - address: '0x9d3EE6B64e69Ebe12a4bF0b01D031CB80F556eE4', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9d3EE6B64e69Ebe12a4bF0b01D031CB80F556eE4/logo.png', - name: 'Polygon Ecosystem Index', - symbol: 'PECO', - }, - { - address: '0x808507121B80c02388fAd14726482e061B8da827', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x808507121B80c02388fAd14726482e061B8da827/logo.png', - name: 'Pendle', - symbol: 'PENDLE', - }, - { - address: '0xbC396689893D065F41bc2C6EcbeE5e0085233447', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/perp.jpg', - name: 'Perpetual Protocol', - symbol: 'PERP', - }, - { - address: '0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE1Fc4455f62a6E89476f1072530C20CF1A0622dA/logo.png', - name: 'Phuture', - symbol: 'PHTR', - }, - { - address: '0x429881672B9AE42b8EbA0E26cD9C73711b891Ca5', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pickle.jpg', - name: 'Pickle Token', - symbol: 'PICKLE', - }, - { - address: '0x26607aC599266b21d13c7aCF7942c7701a8b699c', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x26607aC599266b21d13c7aCF7942c7701a8b699c/logo.png', - name: 'Power Index Pool Token', - symbol: 'PIPT', - }, - { - address: '0x1590ABe3612Be1CB3ab5B0f28874D521576e97Dc', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pixel.jpg', - name: 'PIXEL', - symbol: 'Pixel', - }, - { - address: '0x33e18a092a93ff21aD04746c7Da12e35D34DC7C4', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x33e18a092a93ff21aD04746c7Da12e35D34DC7C4/logo.png', - name: 'Metaverse NFT Index', - symbol: 'PLAY', - }, - { - address: '0x1796ae0b0fa4862485106a0de9b654eFE301D0b2', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1796ae0b0fa4862485106a0de9b654eFE301D0b2/logo.png', - name: 'Polkamon', - symbol: 'PMON', - }, - { - address: '0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d/logo.png', - name: 'Pinakion', - symbol: 'PNK', - }, - { - address: '0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC/logo.png', - name: 'Polymath', - symbol: 'POLY', - }, - { - address: '0x57B946008913B82E4dF85f501cbAeD910e58D26C', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x57B946008913B82E4dF85f501cbAeD910e58D26C/logo.png', - name: 'Marlin POND', - symbol: 'POND', - }, - { - address: '0xcb46C550539ac3DB72dc7aF7c89B11c306C727c2', - chainId: 1, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pont.jpg', - name: 'Poly Ontology Token', - symbol: 'pONT', - }, - { - address: '0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0cEC1A9154Ff802e7934Fc916Ed7Ca50bDE6844e/logo.png', - name: 'PoolTogether', - symbol: 'POOL', - }, - { - address: '0xEC213F83defB583af3A000B1c0ada660b1902A0F', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/PresearchOfficial/presearch-brand/master/logos/svg/presearch-icon-border-blue-transparent.svg', - name: 'Presearch', - symbol: 'PRE', - }, - { - address: '0x6399C842dD2bE3dE30BF99Bc7D1bBF6Fa3650E70', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6399C842dD2bE3dE30BF99Bc7D1bBF6Fa3650E70/logo.png', - name: 'Premia', - symbol: 'PREMIA', - }, - { - address: '0x8642A849D0dcb7a15a974794668ADcfbe4794B56', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8642A849D0dcb7a15a974794668ADcfbe4794B56/logo.png', - name: 'Prosper', - symbol: 'PROS', - }, - { - address: '0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xcAfE001067cDEF266AfB7Eb5A286dCFD277f3dE5/logo.png', - name: 'ParaSwap', - symbol: 'PSP', - }, - { - address: '0x0FD10b9899882a6f2fcb5c371E17e70FdEe00C38', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/14571/small/vDyefsXq_400x400.jpg?1617085003', - name: 'Pundi X Token', - symbol: 'PUNDIX', - }, - { - address: '0xDb0f18081b505A7DE20B18ac41856BCB4Ba86A1a', - chainId: 1, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pwing.jpg', - name: 'Poly Ontology Wing Token', - symbol: 'pWING', - }, - { - address: '0xbA8A621b4a54e61C442F5Ec623687e2a942225ef', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbA8A621b4a54e61C442F5Ec623687e2a942225ef/logo.png', - name: 'Sandclock', - symbol: 'QUARTZ', - }, - { - address: '0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44709a920fCcF795fbC57BAA433cc3dd53C44DbE/logo.png', - name: 'DappRadar', - symbol: 'RADAR', - }, - { - address: '0x03ab458634910AaD20eF5f1C8ee96F1D6ac54919', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rai.jpg', - name: 'Rai Reflex Index', - symbol: 'RAI', - }, - { - address: '0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xe76C6c83af64e4C60245D8C7dE953DF673a7A33D/logo.png', - name: 'Rail', - symbol: 'RAIL', - }, - { - address: '0xba5BDe662c17e2aDFF1075610382B9B691296350', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xba5BDe662c17e2aDFF1075610382B9B691296350/logo.png', - name: 'SuperRare', - symbol: 'RARE', - }, - { - address: '0xFca59Cd816aB1eaD66534D82bc21E7515cE441CF', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rari.jpg', - name: 'Rarible', - symbol: 'RARI', - }, - { - address: '0x5245C0249e5EEB2A0838266800471Fd32Adb1089', - chainId: 1, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5245C0249e5EEB2A0838266800471Fd32Adb1089/logo.png', - name: 'Raydium', - symbol: 'RAY', - }, - { - address: '0x408e41876cCCDC0F92210600ef50372656052a38', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ren.jpg', - name: 'Republic', - symbol: 'REN', - }, - { - address: '0x459086F2376525BdCebA5bDDA135e4E9d3FeF5bf', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/renbch.jpg', - name: 'renBCH', - symbol: 'renBCH', - }, - { - address: '0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/renbtc.jpg', - name: 'renBTC', - symbol: 'renBTC', - }, - { - address: '0xe3Cb486f3f5C639e98cCBaF57d95369375687F80', - chainId: 1, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xe3Cb486f3f5C639e98cCBaF57d95369375687F80/logo.png', - name: 'renDGB', - symbol: 'renDGB', - }, - { - address: '0x3832d2F059E55934220881F831bE501D180671A7', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rendoge.jpg', - name: 'renDOGE', - symbol: 'renDOGE', - }, - { - address: '0x52d87F22192131636F93c5AB18d0127Ea52CB641', - chainId: 1, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x52d87F22192131636F93c5AB18d0127Ea52CB641/logo.png', - name: 'renLUNA', - symbol: 'renLUNA', - }, - { - address: '0x221657776846890989a759BA2973e427DfF5C9bB', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/repv2.jpg', - name: 'Reputation', - symbol: 'REPv2', - }, - { - address: '0x557B933a7C2c45672B610F8954A3deB39a51A8Ca', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x557B933a7C2c45672B610F8954A3deB39a51A8Ca/logo.png', - name: 'REVV', - symbol: 'REVV', - }, - { - address: '0xD291E7a03283640FDc51b121aC401383A46cC623', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rgt.jpg', - name: 'Rari Governance Token', - symbol: 'RGT', - }, - { - address: '0x607F4C5BB672230e8672085532f7e901544a7375', - chainId: 1, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rlc.jpg', - name: 'RLC', - symbol: 'RLC', - }, - { - address: '0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xfA5047c9c78B8877af97BDcb85Db743fD7313d4a/logo.png', - name: 'ROOK', - symbol: 'ROOK', - }, - { - address: '0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4', - chainId: 1, - decimals: 18, - logoURI: 'https://pbs.twimg.com/profile_images/1343619589599416320/bqH1VBiG_400x400.jpg', - name: 'Router Protocol', - symbol: 'ROUTE', - }, - { - address: '0x2aECCB42482cc64E087b6D2e5Da39f5A7A7001f8', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2aECCB42482cc64E087b6D2e5Da39f5A7A7001f8/logo.png', - name: 'RULER', - symbol: 'RULER', - }, - { - address: '0x3155BA85D5F96b2d030a4966AF206230e46849cb', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rune.jpg', - name: 'THORChain ETH.RUNE', - symbol: 'RUNE', - }, - { - address: '0xe9F84dE264E91529aF07Fa2C746e934397810334', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xe9F84dE264E91529aF07Fa2C746e934397810334/logo.png', - name: 'Sake', - symbol: 'SAK3', - }, - { - address: '0xeABACD844A196D7Faf3CE596edeBF9900341B420', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/scex.jpg', - name: 'Synth sCEX', - symbol: 'sCEX', - }, - { - address: '0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sdefi.jpg', - name: 'Synth sDEFI', - symbol: 'sDEFI', - }, - { - address: '0x73968b9a57c6E53d41345FD57a6E6ae27d6CDB2F', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x73968b9a57c6E53d41345FD57a6E6ae27d6CDB2F/logo.png', - name: 'Stake DAO', - symbol: 'SDT', - }, - { - address: '0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xCa3FE04C7Ee111F0bbb02C328c699226aCf9Fd33/logo.png', - name: 'seen.haus', - symbol: 'SEEN', - }, - { - address: '0xb753428af26E81097e7fD17f40c88aaA3E04902c', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sfi.jpg', - name: 'saffron.finance', - symbol: 'SFI', - }, - { - address: '0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xD23Ac27148aF6A2f339BD82D0e3CFF380b5093de/logo.png', - name: 'SIREN', - symbol: 'SI', - }, - { - address: '0x2610F0bFC21EF389fe4D03CFB7De9ac1E6C99D6E', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2610F0bFC21EF389fe4D03CFB7De9ac1E6C99D6E/logo.png', - name: 'Skyrim Finance', - symbol: 'SKYRIM', - }, - { - address: '0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', - name: 'Synthetix Network Token', - symbol: 'SNX', - }, - { - address: '0x3b484b82567a09e2588A13D54D032153f0c0aEe0', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3b484b82567a09e2588A13D54D032153f0c0aEe0/logo.png', - name: 'OpenDao SOS', - symbol: 'SOS', - }, - { - address: '0x7118057ff0F4Fd0994fb9d2D94de8231d5cca79E', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7118057ff0F4Fd0994fb9d2D94de8231d5cca79E/logo.png', - name: 'Source', - symbol: 'SOURCE', - }, - { - address: '0x42d6622deCe394b54999Fbd73D108123806f6a18', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x42d6622deCe394b54999Fbd73D108123806f6a18/logo.png', - name: 'SpankChain', - symbol: 'SPANK', - }, - { - address: '0x090185f2135308BaD17527004364eBcC2D37e5F6', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x090185f2135308BaD17527004364eBcC2D37e5F6/logo.png', - name: 'Spell Token', - symbol: 'SPELL', - }, - { - address: '0x00813E3421E1367353BfE7615c7f7f133C89df74', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x00813E3421E1367353BfE7615c7f7f133C89df74/logo.png', - name: 'Splintershards', - symbol: 'SPS', - }, - { - address: '0x21ad647b8F4Fe333212e735bfC1F36B4941E6Ad2', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x21ad647b8F4Fe333212e735bfC1F36B4941E6Ad2/logo.png', - name: 'Squid', - symbol: 'SQUID', - }, - { - address: '0x476c5E26a75bd202a9683ffD34359C0CC15be0fF', - chainId: 1, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/srm.jpg', - name: 'Serum', - symbol: 'SRM', - }, - { - address: '0x0Ae055097C6d159879521C384F1D2123D1f195e6', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/stake.jpg', - name: 'xDAI', - symbol: 'STAKE', - }, - { - address: '0xDA0c94c73D127eE191955FB46bACd7FF999b2bcd', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xDA0c94c73D127eE191955FB46bACd7FF999b2bcd.jpg', - name: 'Stakeborg Standard', - symbol: 'STANDARD', - }, - { - address: '0x24Eb24647786135352cbB14f888B23277F0014e7', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x24Eb24647786135352cbB14f888B23277F0014e7/logo.png', - name: 'Star', - symbol: 'STAR', - }, - { - address: '0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0xAf5191B0De278C7286d6C7CC6ab6BB8A73bA2Cd6.jpg', - name: 'StargateToken', - symbol: 'STG', - }, - { - address: '0x44017598f2AF1bD733F9D87b5017b4E7c1B28DDE', - chainId: 1, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x44017598f2AF1bD733F9D87b5017b4E7c1B28DDE/logo.png', - name: 'pSTAKE Staked Atom', - symbol: 'stkATOM', - }, - { - address: '0x45e007750Cc74B1D2b4DD7072230278d9602C499', - chainId: 1, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x45e007750Cc74B1D2b4DD7072230278d9602C499/logo.png', - name: 'pSTAKE Staked XPRT', - symbol: 'stkXPRT', - }, - { - address: '0xbE9375C6a420D2eEB258962efB95551A5b722803', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/1369/small/StormX.png?1603113002', - name: 'StormX', - symbol: 'STMX', - }, - { - address: '0x9040e237C3bF18347bb00957Dc22167D0f2b999d', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9040e237C3bF18347bb00957Dc22167D0f2b999d/logo.png', - name: 'Standard', - symbol: 'STND', - }, - { - address: '0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x97872EAfd79940C7b24f7BCc1EADb1457347ADc9/logo.png', - name: 'Strips Token', - symbol: 'STRP', - }, - { - address: '0x3f5294DF68F871241c4B18fcF78ebD8Ac18aB654', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3f5294DF68F871241c4B18fcF78ebD8Ac18aB654/logo.png', - name: '99Starz', - symbol: 'STZ', - }, - { - address: '0x31B595e7cfDB624D10A3E7A562eD98c3567e3865', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/stzen.jpg', - name: 'stakedZEN', - symbol: 'stZEN', - }, - { - address: '0xbDbf245c690d54b67C6e610A28486A2C6dE08bE6', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xbDbf245c690d54b67C6e610A28486A2C6dE08bE6/logo.png', - name: 'Sunder Goverance Token', - symbol: 'Sunder', - }, - { - address: '0x57Ab1ec28D129707052df4dF418D58a2D46d5f51', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/susd.jpg', - name: 'Synth sUSD', - symbol: 'sUSD', - }, - { - address: '0x4086590892a9232166d7849Ec34158d823498d40', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x4086590892a9232166d7849Ec34158d823498d40.jpg', - name: 'Sushimi', - symbol: 'SUSH', - }, - { - address: '0x6B3595068778DD592e39A122f4f5a5cF09C90fE2', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'SushiSwap', - symbol: 'SUSHI', - }, - { - address: '0x87eDfFDe3E14c7a66c9b9724747a1C5696b742e6', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x87eDfFDe3E14c7a66c9b9724747a1C5696b742e6/logo.png', - name: 'Swag Finance', - symbol: 'SWAG', - }, - { - address: '0xCC4304A31d09258b0029eA7FE63d032f52e44EFe', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/11795/small/Trustswap.png?1594311216', - name: 'Trustswap', - symbol: 'SWAP', - }, - { - address: '0x99fE3B1391503A1bC1788051347A1324bff41452', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x99fE3B1391503A1bC1788051347A1324bff41452/logo.png', - name: 'SportX', - symbol: 'SX', - }, - { - address: '0x8CE9137d39326AD0cD6491fb5CC0CbA0e089b6A9', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sxp.jpg', - name: 'Swipe', - symbol: 'SXP', - }, - { - address: '0xa2B0fDe6D710e201d0d608e924A484d1A5fEd57c', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sxrp.jpg', - name: 'Synth XRP', - symbol: 'sXRP', - }, - { - address: '0x0f2D719407FdBeFF09D87557AbB7232601FD9F29', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x0f2D719407FdBeFF09D87557AbB7232601FD9F29/logo.png', - name: 'Synapse', - symbol: 'SYN', - }, - { - address: '0x8dAEBADE922dF735c38C80C7eBD708Af50815fAa', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/tbtc.jpg', - name: 'tBTC', - symbol: 'tBTC', - }, - { - address: '0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x16c52CeeCE2ed57dAd87319D91B5e3637d50aFa4/logo.png', - name: 'Total Crypto Market Cap Token', - symbol: 'TCAP', - }, - { - address: '0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9C4A4204B79dd291D6b6571C5BE8BbcD0622F050/logo.png', - name: 'Tracer', - symbol: 'TCR', - }, - { - address: '0x470EBf5f030Ed85Fc1ed4C2d36B9DD02e77CF1b7', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x470EBf5f030Ed85Fc1ed4C2d36B9DD02e77CF1b7/logo.png', - name: 'Temple', - symbol: 'TEMPLE', - }, - { - address: '0x00000000441378008EA67F4284A57932B1c000a5', - chainId: 1, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12724/large/TGBP.png', - name: 'TrueGBP', - symbol: 'TGBP', - }, - { - address: '0x108a850856Db3f85d0269a2693D896B394C80325', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x108a850856Db3f85d0269a2693D896B394C80325/logo.png', - name: 'THORWallet Governance Token', - symbol: 'TGT', - }, - { - address: '0x7825e833D495F3d1c28872415a4aee339D26AC88', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x7825e833D495F3d1c28872415a4aee339D26AC88.jpg', - name: 'Telos', - symbol: 'TLOS', - }, - { - address: '0x2e9d63788249371f1DFC918a52f8d799F4a38C94', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x2e9d63788249371f1DFC918a52f8d799F4a38C94/logo.png', - name: 'Tokemak', - symbol: 'TOKE', - }, - { - address: '0x05D3606d5c81EB9b7B18530995eC9B29da05FaBa', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/tomoe.jpg', - name: 'TomoChain', - symbol: 'TOMO', - }, - { - address: '0x77777FeDdddFfC19Ff86DB637967013e6C6A116C', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x77777FeDdddFfC19Ff86DB637967013e6C6A116C/logo.png', - name: 'TORN Token', - symbol: 'TORN', - }, - { - address: '0x1C9922314ED1415c95b9FD453c3818fd41867d0B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1C9922314ED1415c95b9FD453c3818fd41867d0B/logo.png', - name: 'TOWER', - symbol: 'TOWER', - }, - { - address: '0x297D33e17e61C2Ddd812389C2105193f8348188a', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x297D33e17e61C2Ddd812389C2105193f8348188a/logo.png', - name: 'Strudel Finance', - symbol: 'TRDL', - }, - { - address: '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B.jpg', - name: 'Tribe', - symbol: 'TRIBE', - }, - { - address: '0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784', - chainId: 1, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x4C19596f5aAfF459fA38B0f7eD92F11AE6543784.jpg', - name: 'TrueFi', - symbol: 'TRU', - }, - { - address: '0xE1Be5D3f34e89dE342Ee97E6e90D405884dA6c67', - chainId: 1, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xE1Be5D3f34e89dE342Ee97E6e90D405884dA6c67.jpg', - name: 'TRON', - symbol: 'TRX', - }, - { - address: '0xc12eCeE46ed65D970EE5C899FCC7AE133AfF9b03', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/try.jpg', - name: 'TRYfinance', - symbol: 'TRY', - }, - { - address: '0x0000000000085d4780B73119b644AE5ecd22b376', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x0000000000085d4780B73119b644AE5ecd22b376.jpg', - name: 'TrueUSD', - symbol: 'TUSD', - }, - { - address: '0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8eEF5a82E6Aa222a60F009ac18c24EE12dBf4b41/logo.png', - name: 'Tixl Token', - symbol: 'TXL', - }, - { - address: '0x8564653879a18C560E7C0Ea0E084c516C62F5653', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x8564653879a18C560E7C0Ea0E084c516C62F5653/logo.png', - name: 'UpBots', - symbol: 'UBXT', - }, - { - address: '0x04Fa0d235C4abf4BcF4787aF4CF447DE572eF828', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uma.jpg', - name: 'UMA Voting Token v1', - symbol: 'UMA', - }, - { - address: '0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x6fC13EACE26590B80cCCAB1ba5d51890577D83B2/logo.png', - name: 'Umbrella', - symbol: 'UMB', - }, - { - address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0xE4AE84448DB5CFE1DaF1e6fb172b469c161CB85F', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE4AE84448DB5CFE1DaF1e6fb172b469c161CB85F/logo.png', - name: 'Utopia Genesis Foundation', - symbol: 'UOP', - }, - { - address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - chainId: 1, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0x674C6Ad92Fd080e4004b2312b45f796a192D27a0', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x674C6Ad92Fd080e4004b2312b45f796a192D27a0/logo.png', - name: 'Neutrino USD', - symbol: 'USDN', - }, - { - address: '0x1456688345527bE1f37E9e627DA0837D6f08C925', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1456688345527bE1f37E9e627DA0837D6f08C925/logo.png', - name: 'USDP Stablecoin', - symbol: 'USDP', - }, - { - address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', - chainId: 1, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0xa47c8bf37f92aBed4A126BDA807A7b7498661acD', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ust.jpg', - name: 'TerraUSD', - symbol: 'UST', - }, - { - address: '0x88536C9B2C4701b8dB824e6A16829D5B5Eb84440', - chainId: 1, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x88536C9B2C4701b8dB824e6A16829D5B5Eb84440/logo.png', - name: 'Universal Store of Value', - symbol: 'USV', - }, - { - address: '0xe1406825186D63980fd6e2eC61888f7B91C4bAe4', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/vbtc.jpg', - name: 'vBTC', - symbol: 'vBTC', - }, - { - address: '0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xcB84d72e61e383767C4DFEb2d8ff7f4FB89abc6e/logo.png', - name: 'Vega', - symbol: 'VEGA', - }, - { - address: '0xadd5E881984783dD432F80381Fb52F45B53f3e70', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xadd5E881984783dD432F80381Fb52F45B53f3e70/logo.png', - name: 'Vite', - symbol: 'VITE', - }, - { - address: '0x5166E09628b696285E3A151e84FB977736a83575', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5166E09628b696285E3A151e84FB977736a83575/logo.png', - name: 'Volatility Protocol Token', - symbol: 'VOL', - }, - { - address: '0x72377f31e30a405282b522d588AEbbea202b4f23', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x72377f31e30a405282b522d588AEbbea202b4f23/logo.png', - name: 'Varen', - symbol: 'VRN', - }, - { - address: '0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x1b40183EFB4Dd766f11bDa7A7c3AD8982e998421/logo.png', - name: 'VesperToken', - symbol: 'VSP', - }, - { - address: '0x677ddbd918637E5F2c79e164D402454dE7dA8619', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x677ddbd918637E5F2c79e164D402454dE7dA8619/logo.png', - name: 'VUSD', - symbol: 'VUSD', - }, - { - address: '0x896e145568624a498c5a909187363AE947631503', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x896e145568624a498c5a909187363AE947631503/logo.png', - name: 'Wasabi', - symbol: 'WASABI', - }, - { - address: '0x1cF4592ebfFd730c7dc92c1bdFFDfc3B9EfCf29a', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/waves.jpg', - name: 'Waves', - symbol: 'WAVES', - }, - { - address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'Wrapped Bitcoin', - symbol: 'WBTC', - }, - { - address: '0xE452E6Ea2dDeB012e20dB73bf5d3863A3Ac8d77a', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xE452E6Ea2dDeB012e20dB73bf5d3863A3Ac8d77a/logo.png', - name: 'Wrapped Celo', - symbol: 'WCELO', - }, - { - address: '0xad3E3Fc59dff318BecEaAb7D00EB4F68b1EcF195', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xad3E3Fc59dff318BecEaAb7D00EB4F68b1EcF195/logo.png', - name: 'Wrapped Celo Dollar', - symbol: 'WCUSD', - }, - { - address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0x6e1A19F235bE7ED8E3369eF73b196C07257494DE', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', - name: 'Wrapped Filecoin', - symbol: 'WFIL', - }, - { - address: '0x85D7bdfc9c3426b33A684241eEEE70385Bc42820', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x85D7bdfc9c3426b33A684241eEEE70385Bc42820/logo.png', - name: 'Wrapped Kadena', - symbol: 'WKDA', - }, - { - address: '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg', - name: 'Polygon', - symbol: 'WMATIC', - }, - { - address: '0xf203Ca1769ca8e9e8FE1DA9D147DB68B6c919817', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wncg.jpg', - name: 'Wrapped NCG', - symbol: 'WNCG', - }, - { - address: '0x0d438F3b5175Bebc262bF23753C1E53d03432bDE', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wnxm.jpg', - name: 'Wrapped NXM', - symbol: 'wNXM', - }, - { - address: '0xBd356a39BFf2cAda8E9248532DD879147221Cf76', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wom.jpg', - name: 'WOM Protocol', - symbol: 'WOM', - }, - { - address: '0x4691937a7508860F876c9c0a2a617E7d9E945D4B', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/woo.jpg', - name: 'Wootrade Network', - symbol: 'WOO', - }, - { - address: '0xD0660cD418a64a1d44E9214ad8e459324D8157f1', - chainId: 1, - decimals: 12, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/woofy.jpg', - name: 'Woofy', - symbol: 'WOOFY', - }, - { - address: '0x3405A1bd46B85c5C029483FbECf2F3E611026e45', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', - name: 'WOWSwap', - symbol: 'WOW', - }, - { - address: '0x2B89bF8ba858cd2FCee1faDa378D5cd6936968Be', - chainId: 1, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wscrt.jpg', - name: 'Wrapped SCRT', - symbol: 'WSCRT', - }, - { - address: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wsteth.jpg', - name: 'Wrapped Liquid Staked Ether 2.0', - symbol: 'wstETH', - }, - { - address: '0x465e07d6028830124BE2E4aA551fBe12805dB0f5', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wxmr.jpg', - name: 'Wrapped XMR', - symbol: 'WXMR', - }, - { - address: '0x39fBBABf11738317a448031930706cd3e612e1B9', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x39fBBABf11738317a448031930706cd3e612e1B9/logo.png', - name: 'Wrapped XRP', - symbol: 'WXRP', - }, - { - address: '0x4A64515E5E1d1073e83f30cB97BEd20400b66E10', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4A64515E5E1d1073e83f30cB97BEd20400b66E10/logo.png', - name: 'Wrapped ZEC', - symbol: 'WZEC', - }, - { - address: '0x7f3141c4D6b047fb930991b450f1eD996a51CB26', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7f3141c4D6b047fb930991b450f1eD996a51CB26/logo.png', - name: 'X', - symbol: 'X', - }, - { - address: '0x5DE7Cc4BcBCa31c473F6D2F27825Cfb09cc0Bb16', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5DE7Cc4BcBCa31c473F6D2F27825Cfb09cc0Bb16/logo.png', - name: 'XBE', - symbol: 'XBE', - }, - { - address: '0x72B886d09C117654aB7dA13A14d603001dE0B777', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x72B886d09C117654aB7dA13A14d603001dE0B777.jpg', - name: 'XDEFI', - symbol: 'XDEFI', - }, - { - address: '0xABe580E7ee158dA464b51ee1a83Ac0289622e6be', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xft.jpg', - name: 'Offshift', - symbol: 'XFT', - }, - { - address: '0x69fa0feE221AD11012BAb0FdB45d444D3D2Ce71c', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x69fa0feE221AD11012BAb0FdB45d444D3D2Ce71c/logo.png', - name: 'XRUNE Token', - symbol: 'XRUNE', - }, - { - address: '0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xsushi.jpg', - name: 'SushiBar', - symbol: 'xSUSHI', - }, - { - address: '0x618679dF9EfCd19694BB1daa8D00718Eacfa2883', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x618679dF9EfCd19694BB1daa8D00718Eacfa2883/logo.png', - name: 'XYZ Governance Token', - symbol: 'XYZ', - }, - { - address: '0x0AaCfbeC6a24756c20D41914F2caba817C0d8521', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yam.jpg', - name: 'YAM', - symbol: 'YAM', - }, - { - address: '0x7815bDa662050D84718B988735218CFfd32f75ea', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x7815bDa662050D84718B988735218CFfd32f75ea/logo.png', - name: 'YEL Token', - symbol: 'YEL', - }, - { - address: '0xb4bebD34f6DaaFd808f73De0d10235a92Fbb6c3D', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xb4bebD34f6DaaFd808f73De0d10235a92Fbb6c3D/logo.png', - name: 'Yearn Ecosystem Token Index', - symbol: 'YETI', - }, - { - address: '0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', - name: 'yearn.finance', - symbol: 'YFI', - }, - { - address: '0xa1d0E215a23d7030842FC67cE582a6aFa3CCaB83', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfii.jpg', - name: 'YFII.finance', - symbol: 'YFII', - }, - { - address: '0x25f8087EAD173b73D6e8B84329989A8eEA16CF73', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ygg.jpg', - name: 'Yield Guild Games Token', - symbol: 'YGG', - }, - { - address: '0x9ba60bA98413A60dB4C651D4afE5C937bbD8044B', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x9ba60bA98413A60dB4C651D4afE5C937bbD8044B/logo.png', - name: 'Yearn Lazy Ape Index', - symbol: 'YLA', - }, - { - address: '0xF94b5C5651c888d928439aB6514B93944eEE6F48', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF94b5C5651c888d928439aB6514B93944eEE6F48/logo.png', - name: 'Yield App', - symbol: 'YLD/YieldApp', - }, - { - address: '0xAE1eaAE3F627AAca434127644371b67B18444051', - chainId: 1, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yop.jpg', - name: 'YOP', - symbol: 'YOP', - }, - { - address: '0x17525E4f4Af59fbc29551bC4eCe6AB60Ed49CE31', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ypie.jpg', - name: 'PieDAO Yearn Ecosystem Pie', - symbol: 'YPIE', - }, - { - address: '0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yusd.jpg', - name: 'yearn Curve', - symbol: 'yUSD', - }, - { - address: '0x9d409a0A012CFbA9B15F6D4B36Ac57A46966Ab9a', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yvboost.jpg', - name: 'Yearn Compounding veCRV yVault', - symbol: 'yvBOOST', - }, - { - address: '0xc5bDdf9843308380375a611c18B50Fb9341f502A', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yvecrvdao.jpg', - name: 'veCRV-DAO yVault', - symbol: 'yveCRV-DAO', - }, - { - address: '0x66d592cc979d441A3E4dbb6E043C3bDaD241DAb7', - chainId: 1, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/ethereum/0x66d592cc979d441A3E4dbb6E043C3bDaD241DAb7.jpg', - name: 'Zero Money', - symbol: 'ZERO', - }, - { - address: '0xA8e7AD77C60eE6f30BaC54E2E7c0617Bd7B5A03E', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/zlot.jpg', - name: 'zLot Finance', - symbol: 'ZLOT', - }, - { - address: '0xE41d2489571d322189246DaFA5ebDe1F4699F498', - chainId: 1, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/zrx.jpg', - name: '0x', - symbol: 'ZRX', - }, - { - address: '0xc2118d4d90b274016cB7a54c03EF52E6c537D957', - chainId: 3, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xaD6D458402F60fD3Bd25163575031ACDce07538D/logo.png', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x5457Cc9B34eA486eB8d3286329F3536f71fa8A8B', - chainId: 3, - decimals: 18, - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x71d82Eb6A5051CfF99582F4CDf2aE9cD402A4882', - chainId: 3, - decimals: 18, - logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0x0D9C8723B343A8368BebE0B5E89273fF8D712e3C', - chainId: 3, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0xc778417E063141139Fce010982780140Aa0cD5Ab', - chainId: 3, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735', - chainId: 4, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735/logo.png', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85', - chainId: 4, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85/logo.png', - name: 'Maker', - symbol: 'MKR', - }, - { - address: '0x5457Cc9B34eA486eB8d3286329F3536f71fa8A8B', - chainId: 4, - decimals: 18, - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', - chainId: 4, - decimals: 18, - logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0xc778417E063141139Fce010982780140Aa0cD5Ab', - chainId: 4, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0x5457Cc9B34eA486eB8d3286329F3536f71fa8A8B', - chainId: 5, - decimals: 18, - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', - chainId: 5, - decimals: 18, - logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6', - chainId: 5, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6/logo.png', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0x7C598c96D02398d89FbCb9d41Eab3DF0C16F227D', - chainId: 40, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x7C598c96D02398d89FbCb9d41Eab3DF0C16F227D.jpg', - name: 'Avalanche', - symbol: 'AVAX', - }, - { - address: '0x2C78f1b70Ccf63CDEe49F9233e9fAa99D43AA07e', - chainId: 40, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x2C78f1b70Ccf63CDEe49F9233e9fAa99D43AA07e.jpg', - name: 'Binance Coin', - symbol: 'BNB', - }, - { - address: '0xf390830DF829cf22c53c8840554B98eafC5dCBc2', - chainId: 40, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xf390830DF829cf22c53c8840554B98eafC5dCBc2.jpg', - name: 'Bitcoin', - symbol: 'BTC', - }, - { - address: '0xfA9343C3897324496A05fC75abeD6bAC29f8A40f', - chainId: 40, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xfA9343C3897324496A05fC75abeD6bAC29f8A40f.jpg', - name: 'Ether', - symbol: 'ETH', - }, - { - address: '0xC1Be9a4D5D45BeeACAE296a7BD5fADBfc14602C4', - chainId: 40, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xC1Be9a4D5D45BeeACAE296a7BD5fADBfc14602C4.jpg', - name: 'Fantom', - symbol: 'FTM', - }, - { - address: '0x332730a4F6E03D9C55829435f10360E13cfA41Ff', - chainId: 40, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x332730a4F6E03D9C55829435f10360E13cfA41Ff.jpg', - name: 'Polygon', - symbol: 'MATIC', - }, - { - address: '0x76aE0b4C828DdCa1841a4FE394Af5D8679Baf118', - chainId: 40, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x76aE0b4C828DdCa1841a4FE394Af5D8679Baf118.jpg', - name: 'ShibaTelos Coin', - symbol: 'SC', - }, - { - address: '0x922D641a426DcFFaeF11680e5358F34d97d112E1', - chainId: 40, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x922D641a426DcFFaeF11680e5358F34d97d112E1.jpg', - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x818ec0A7Fe18Ff94269904fCED6AE3DaE6d6dC0b', - chainId: 40, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0x818ec0A7Fe18Ff94269904fCED6AE3DaE6d6dC0b.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0xeFAeeE334F0Fd1712f9a8cc375f427D9Cdd40d73', - chainId: 40, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xeFAeeE334F0Fd1712f9a8cc375f427D9Cdd40d73.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E', - chainId: 40, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/telos/0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E.jpg', - name: 'Wrapped Telos', - symbol: 'WTLOS', - }, - { - address: '0x482dC9bB08111CB875109B075A40881E48aE02Cd', - chainId: 42, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_BAT.svg', - name: 'Basic Attention Token', - symbol: 'BAT', - }, - { - address: '0x4a77fAeE9650b09849Ff459eA1476eaB01606C7a', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_bat.svg', - name: 'Compound Basic Attention Token', - symbol: 'cBAT', - }, - { - address: '0xF0d0EB522cfa50B716B3b1604C4F0fA6f04376AD', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_dai.svg', - name: 'Compound Dai', - symbol: 'cDAI', - }, - { - address: '0x41B5844f4680a8C38fBb695b7F9CFd1F64474a72', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_eth.svg', - name: 'Compound Ether', - symbol: 'cETH', - }, - { - address: '0x61460874a7196d6a22D1eE4922473664b3E95270', - chainId: 42, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_COMP.svg', - name: 'Compound', - symbol: 'COMP', - }, - { - address: '0xA4eC170599a1Cf87240a35b9B1B8Ff823f448b57', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_rep.svg', - name: 'Compound Augur', - symbol: 'cREP', - }, - { - address: '0xb3f7fB482492f4220833De6D6bfCC81157214bEC', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_sai.svg', - name: 'Compound Sai', - symbol: 'cSAI', - }, - { - address: '0x4a92E71227D294F041BD82dd8f78591B75140d63', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_usdc.svg', - name: 'Compound USD Coin', - symbol: 'cUSDC', - }, - { - address: '0x3f0A0EA2f86baE6362CF9799B523BA06647Da018', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_usdt.svg', - name: 'Compound USDT', - symbol: 'cUSDT', - }, - { - address: '0xa1fAA15655B0e7b6B6470ED3d096390e6aD93Abb', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_wbtc.svg', - name: 'Compound Wrapped BTC', - symbol: 'cWBTC', - }, - { - address: '0xAf45ae737514C8427D373D50Cd979a242eC59e5a', - chainId: 42, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/ctoken_zrx.svg', - name: 'Compound 0x', - symbol: 'cZRX', - }, - { - address: '0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa', - chainId: 42, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_DAI.svg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD', - chainId: 42, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD/logo.png', - name: 'Maker', - symbol: 'MKR', - }, - { - address: '0x50DD65531676F718B018De3dc48F92B53D756996', - chainId: 42, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_REP.svg', - name: 'Reputation', - symbol: 'REP', - }, - { - address: '0xD1308F63823221518Ec88EB209CBaa1ac182105f', - chainId: 42, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_SAI.svg', - name: 'Sai Stablecoin v1.0', - symbol: 'SAI', - }, - { - address: '0x0769fd68dFb93167989C6f7254cd0D766Fb2841F', - chainId: 42, - decimals: 18, - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', - chainId: 42, - decimals: 18, - logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0xb7a4F3E9097C08dA09517b5aB877F7a917224ede', - chainId: 42, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_USDC.svg', - name: 'USD Coin USDC', - symbol: 'USDC', - }, - { - address: '0x07de306FF27a2B630B1141956844eB1552B956B5', - chainId: 42, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_USDT.svg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0xd3A691C852CDB01E281545A27064741F0B7f6825', - chainId: 42, - decimals: 8, - name: 'Wrapped BTC', - symbol: 'WBTC', - }, - { - address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', - chainId: 42, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xd0A1E359811322d97991E03f863a0C30C2cF029C/logo.png', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0x162c44e53097e7B5aaE939b297ffFD6Bf90D1EE3', - chainId: 42, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/compound-finance/token-list/master/assets/asset_ZRX.svg', - name: '0x Protocol Token', - symbol: 'ZRX', - }, - { - address: '0x3EE2200Efb3400fAbB9AacF31297cBdD1d435D47', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ada.jpg', - name: 'Cardano Token', - symbol: 'ADA', - }, - { - address: '0xa1faa113cbE53436Df28FF0aEe54275c13B40975', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alpha.jpg', - name: 'AlphaToken', - symbol: 'ALPHA', - }, - { - address: '0xf307910A4c7bbc79691fD374889b36d8531B08e3', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ankr.jpg', - name: 'Ankr', - symbol: 'ANKR', - }, - { - address: '0x80D5f92C2c8C682070C95495313dDB680B267320', - chainId: 56, - decimals: 2, - logoURI: 'https://assets.coingecko.com/coins/images/11688/small/Roma-10.png?1604941843', - name: 'AS Roma', - symbol: 'ASR', - }, - { - address: '0x25E9d05365c867E59C1904E7463Af9F312296f9E', - chainId: 56, - decimals: 2, - logoURI: 'https://assets.coingecko.com/coins/images/11689/small/Atletico-10.png?1604941960', - name: 'Atletico de Madrid', - symbol: 'ATM', - }, - { - address: '0x0Eb3a705fc54725037CC9e008bDede697f62F335', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/cosmos_32.png', - name: 'Cosmos Token', - symbol: 'ATOM', - }, - { - address: '0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/bakeryswap_32.png', - name: 'Bakery Token', - symbol: 'BAKE', - }, - { - address: '0x72fAa679E1008Ad8382959FF48E392042A8b06f7', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12392/small/alliance_block_logo.jpg?1599546617g', - name: 'AllianceBlock', - symbol: 'bALBT', - }, - { - address: '0xAD6cAEb32CD2c308980a548bD0Bc5AA4306c6c18', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', - name: 'BAND Protocol Token', - symbol: 'BAND', - }, - { - address: '0x8fF795a6F4D97E7887C79beA79aba5cc76444aDf', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bch.jpg', - name: 'Bitcoin Cash Token', - symbol: 'BCH', - }, - { - address: '0xCa3F508B8e4Dd382eE878A314789373D80A5190A', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12704/small/token.png?1601876182', - name: 'Beefy.finance', - symbol: 'BIFI', - }, - { - address: '0x63870A18B6e42b01Ef1Ad8A2302ef50B7132054F', - chainId: 56, - decimals: 6, - logoURI: 'https://bscscan.com/token/images/blink_32.png', - name: 'BLINk', - symbol: 'BLK', - }, - { - address: '0xE64F5Cb844946C1F102Bd25bBD87a5aB4aE89Fbe', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/8791/small/Group_11.png?1580344629', - name: 'ROOBEE', - symbol: 'bROOBEE', - }, - { - address: '0x5Ac52EE5b2a633895292Ff6d8A89bB9190451587', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/bscex_32.png', - name: 'BSCEX', - symbol: 'BSCX', - }, - { - address: '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c.jpg', - name: 'BTCB Token', - symbol: 'BTCB', - }, - { - address: '0x78650B139471520656b9E7aA7A5e9276814a38e9', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13636/small/btcst-coin.png?1610501705', - name: 'Standard BTC Hashrate Token', - symbol: 'BTCST', - }, - { - address: '0xAe9269f27437f0fcBC232d39Ec814844a51d6b8f', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/burgerswap_32.png', - name: 'Burger Swap', - symbol: 'BURGER', - }, - { - address: '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56.jpg', - name: 'BUSD Token', - symbol: 'BUSD', - }, - { - address: '0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cake.jpg', - name: 'PancakeSwap Token', - symbol: 'CAKE', - }, - { - address: '0x007EA5C0Ea75a8DF45D288a4debdD5bb633F9e56', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/canya_32.png', - name: 'CanYaCoin', - symbol: 'CAN', - }, - { - address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', - name: 'Cerby Token', - symbol: 'CERBY', - }, - { - address: '0xd4CB328A82bDf5f03eB737f37Fa6B370aef3e888', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', - name: 'Cream', - symbol: 'CREAM', - }, - { - address: '0xA8c2B8eec3d368C0253ad3dae65a5F2BBB89c929', - chainId: 56, - decimals: 6, - logoURI: - 'https://assets.coingecko.com/coins/images/12944/small/CertiK_Foundation_icon_96_96_-_round.png?1603772980', - name: 'CertiK Token', - symbol: 'CTK', - }, - { - address: '0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x1AF3F329e8BE154074D8769D1FFa4eE058B1DBc3.jpg', - name: 'Dai Token', - symbol: 'DAI', - }, - { - address: '0x748AD98b14C814B28812eB42ad219C8672909879', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12233/small/dice2.png?1598344967', - name: 'Dice.finance Token', - symbol: 'DICE', - }, - { - address: '0x233d91A0713155003fc4DcE0AFa871b508B3B715', - chainId: 56, - decimals: 9, - logoURI: 'https://assets.coingecko.com/coins/images/13463/small/ditto.png?1608766914', - name: 'Ditto', - symbol: 'DITTO', - }, - { - address: '0x7083609fCE4d1d8Dc0C979AAb8c869Ea2C873402', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dot.jpg', - name: 'Polkadot Token', - symbol: 'DOT', - }, - { - address: '0x56b6fB708fC5732DEC1Afc8D8556423A2EDcCbD6', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eos.jpg', - name: 'EOS Token', - symbol: 'EOS', - }, - { - address: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x2170Ed0880ac9A755fd29B2688956BD959F933F8.jpg', - name: 'Ethereum Token', - symbol: 'ETH', - }, - { - address: '0x0D8Ce2A99Bb6e3B7Db580eD848240e4a0F9aE153', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', - name: 'Filecoin', - symbol: 'FIL', - }, - { - address: '0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0x393B312C01048b3ed2720bF1B090084C09e408A1', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12741/small/fries_logo.png?1602147631', - name: 'fry.world', - symbol: 'FRIES', - }, - { - address: '0x928e55daB735aa8260AF3cEDadA18B5f70C72f1b', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/front.jpg', - name: 'Frontier Token', - symbol: 'FRONT', - }, - { - address: '0x2090c8295769791ab7A3CF1CC6e0AA19F35e441A', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13305/small/bW_WB5Rz_400x400.jpg?1607325041', - name: 'Fuel', - symbol: 'FUEL', - }, - { - address: '0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0xf79037F6f6bE66832DE4E7516be52826BC3cBcc4', - chainId: 56, - decimals: 6, - logoURI: 'https://assets.coingecko.com/coins/images/13008/small/HARD_coin_256.png?1604733983', - name: 'HARD', - symbol: 'HARD', - }, - { - address: '0x948d2a81086A075b3130BAc19e4c6DEe1D2E3fE8', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13680/small/ZMdK-1J4_400x400.png?1610834469', - name: 'Helmet.insure', - symbol: 'Helmet', - }, - { - address: '0xf16e81dce15B08F326220742020379B855B87DF9', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0xf16e81dce15B08F326220742020379B855B87DF9.jpg', - name: 'IceToken', - symbol: 'ICE', - }, - { - address: '0xa2B726B1145A4773F68593CF171187d8EBe4d495', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/inj.jpg', - name: 'Injective Protocol', - symbol: 'INJ', - }, - { - address: '0x3c037C4c2296f280bB318D725D0b454B76c199b9', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12830/small/jntr_logo.jpg?1602837322', - name: 'JNTR/b', - symbol: 'JNTR/b', - }, - { - address: '0xC40C9A843E1c6D01b7578284a9028854f6683b1B', - chainId: 56, - decimals: 2, - logoURI: 'https://assets.coingecko.com/coins/images/10060/small/Juve-10.png?1604737154', - name: 'Juventus', - symbol: 'JUV', - }, - { - address: '0x5F88AB06e8dfe89DF127B2430Bba4Af600866035', - chainId: 56, - decimals: 6, - logoURI: 'https://assets.coingecko.com/coins/images/9761/small/Kava-icon.png?1585636197', - name: 'KAVA', - symbol: 'KAVA', - }, - { - address: '0x1A2fb0Af670D0234c2857FaD35b789F8Cb725584', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13177/small/kun_logo.png?1605923919', - name: 'Qian Governance Token', - symbol: 'KUN', - }, - { - address: '0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'ChainLink Token', - symbol: 'LINK', - }, - { - address: '0x4338665CBB7B2485A8855A139b75D5e34AB0DB94', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ltc.jpg', - name: 'Litecoin Token', - symbol: 'LTC', - }, - { - address: '0x3947B992DC0147D2D89dF0392213781b04B25075', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/mirror-amzn_32.png', - name: 'Mirror AMZN Token', - symbol: 'mAMZN', - }, - { - address: '0xF218184Af829Cf2b0019F8E6F0b2423498a36983', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/11335/small/2020-05-19-token-200.png?1589940590', - name: 'Math', - symbol: 'MATH', - }, - { - address: '0xacb2d47827C9813AE26De80965845D80935afd0B', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/14633/small/macaron.png?1623038435', - name: 'MacaronSwap Token', - symbol: 'MCRN', - }, - { - address: '0x62D71B23bF15218C7d2D7E48DBbD9e9c650B173f', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/mirror-google_32.png', - name: 'Mirror GOOGL Token', - symbol: 'mGOOGL', - }, - { - address: '0xfE19F0B51438fd612f6FD59C1dbB3eA319f433Ba', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0xfE19F0B51438fd612f6FD59C1dbB3eA319f433Ba.jpg', - name: 'Magic Internet Money', - symbol: 'MIM', - }, - { - address: '0xBF05279F9Bf1CE69bBFEd670813b7e431142Afa4', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBF05279F9Bf1CE69bBFEd670813b7e431142Afa4/logo.png', - name: 'Million', - symbol: 'MM', - }, - { - address: '0xa04F060077D90Fe2647B61e4dA4aD1F97d6649dc', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/mirror-nflx_32.png', - name: 'Mirror NFLX Token', - symbol: 'mNFLX', - }, - { - address: '0xF215A127A196e3988C09d052e16BcFD365Cd7AA3', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/mirror-tsla_32.png', - name: 'Mirror TSLA Token', - symbol: 'mTSLA', - }, - { - address: '0xA1303E6199b319a891b79685F0537D289af1FC83', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13367/small/2XylnQL.png?1607923179', - name: 'NAR Token', - symbol: 'NAR', - }, - { - address: '0x8506560320826e459F356CB56cCF721Da8875414', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x8506560320826e459F356CB56cCF721Da8875414.jpg', - name: 'NICE', - symbol: 'nICE', - }, - { - address: '0x8CD6e29d3686d24d3C2018CEe54621eA0f89313B', - chainId: 56, - decimals: 8, - logoURI: 'https://assets.coingecko.com/coins/images/1053/small/Nuls.png?1556868153', - name: 'Nuls', - symbol: 'NULS', - }, - { - address: '0xf0E406c49C63AbF358030A299C0E00118C4C6BA5', - chainId: 56, - decimals: 8, - logoURI: 'https://assets.coingecko.com/coins/images/11873/small/NerveNetwork.png?1595541544', - name: 'NerveNetwork', - symbol: 'NVT', - }, - { - address: '0xbFa0841F7a90c4CE6643f651756EE340991F99D5', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13025/small/512x512_App_Icon.png?1604456222', - name: 'Nyanswop Token', - symbol: 'NYA', - }, - { - address: '0xEe9801669C6138E84bD50dEB500827b776777d28', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/smartchain/assets/0xEe9801669C6138E84bD50dEB500827b776777d28/logo.png', - name: 'O3 Swap Token', - symbol: 'O3', - }, - { - address: '0xf05E45aD22150677a017Fbd94b84fBB63dc9b44c', - chainId: 56, - decimals: 2, - logoURI: 'https://bscscan.com/token/images/ogfan_32.png', - name: 'OG', - symbol: 'OG', - }, - { - address: '0xFd7B3A77848f1C2D67E05E54d78d174a0C850335', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ont.jpg', - name: 'Ontology Token', - symbol: 'ONT', - }, - { - address: '0xaF53d56ff99f1322515E54FdDE93FF8b3b7DAFd5', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/Prometeus_32.png', - name: 'Prometeus', - symbol: 'PROM', - }, - { - address: '0xBc5609612b7C44BEf426De600B5fd1379DB2EcF1', - chainId: 56, - decimals: 2, - logoURI: 'https://assets.coingecko.com/coins/images/11620/small/psg.png?1592023100', - name: 'Paris Saint-Germain', - symbol: 'PSG', - }, - { - address: '0xb8C540d00dd0Bf76ea12E4B4B95eFC90804f924E', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/qianfinance_32.png', - name: 'QUSD Stablecoin', - symbol: 'QUSD', - }, - { - address: '0xF21768cCBC73Ea5B6fd3C687208a7c2def2d966e', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13504/small/Group_10572.png?1610534130', - name: 'Reef', - symbol: 'REEF', - }, - { - address: '0x4A2940263acfd179dBc1C6B69A3392671ACCaf5B', - chainId: 56, - decimals: 18, - logoURI: 'https://shibawallet.pro/assets/favicon32x32.png', - name: 'ShibaWallet', - symbol: 'SHWA', - }, - { - address: '0xE4Ae305ebE1AbE663f261Bc00534067C80ad677C', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12638/small/1*OWy3ohA24pht-tFypfs-Tg.png?1601364302', - name: 'SPARTAN PROTOCOL TOKEN', - symbol: 'SPARTA', - }, - { - address: '0x9Fe28D11ce29E340B7124C493F59607cbAB9ce48', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x9Fe28D11ce29E340B7124C493F59607cbAB9ce48.jpg', - name: 'Spell', - symbol: 'SPELL', - }, - { - address: '0x66eFF5221ca926636224650Fd3B9c497FF828F7D', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x66eFF5221ca926636224650Fd3B9c497FF828F7D.jpg', - name: 'Staked Spell', - symbol: 'sSPELL', - }, - { - address: '0x0Da6Ed8B13214Ff28e9Ca979Dd37439e8a88F6c4', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/stablexswap_32.png', - name: 'StableXSwap', - symbol: 'STAX', - }, - { - address: '0xB0D502E938ed5f4df2E681fE6E419ff29631d62b', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/binance/0xB0D502E938ed5f4df2E681fE6E419ff29631d62b.jpg', - name: 'StargateToken', - symbol: 'STG', - }, - { - address: '0x90DF11a8ccE420675e73922419e3f4f3Fe13CCCb', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/streamity_32.png', - name: 'Streamity', - symbol: 'STM', - }, - { - address: '0x947950BcC74888a40Ffa2593C5798F11Fc9124C4', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x947950BcC74888a40Ffa2593C5798F11Fc9124C4.jpg', - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x47BEAd2563dCBf3bF2c9407fEa4dC236fAbA485A', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sxp.jpg', - name: 'Swipe', - symbol: 'SXP', - }, - { - address: '0xdFF8cb622790b7F92686c722b02CaB55592f152C', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13545/small/iMqC3F_p_400x400.png?1609711856', - name: 'Tenet', - symbol: 'TEN', - }, - { - address: '0x4B0F1812e5Df2A09796481Ff14017e6005508003', - chainId: 56, - decimals: 18, - logoURI: 'https://bscscan.com/token/images/trust_32.png', - name: 'Trust Wallet', - symbol: 'TWT', - }, - { - address: '0x728C5baC3C3e370E372Fc4671f9ef6916b814d8B', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13152/small/logo-2.png?1605748967', - name: 'Unifi Token', - symbol: 'UNFI', - }, - { - address: '0xBf5140A22578168FD562DCcF235E5D43A02ce9B1', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d.jpg', - name: 'Binance-Peg USD Coin', - symbol: 'USDC', - }, - { - address: '0x55d398326f99059fF775485246999027B3197955', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/binance/0x55d398326f99059fF775485246999027B3197955.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0x1203355742e76875154C0D13eB81DCD7711dC7d9', - chainId: 56, - decimals: 6, - logoURI: 'https://assets.coingecko.com/coins/images/13056/small/USDX_coin.png?1604734048', - name: 'USDX', - symbol: 'USDX', - }, - { - address: '0x23396cF899Ca06c4472205fC903bDB4de249D6fC', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ust.jpg', - name: 'UST Token', - symbol: 'UST', - }, - { - address: '0x4BD17003473389A42DAF6a0a729f6Fdb328BbBd7', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13861/small/VAI_logo.png?1612413571', - name: 'VAI Stablecoin', - symbol: 'VAI', - }, - { - address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', - name: 'WBNB Token', - symbol: 'WBNB', - }, - { - address: '0x988c11625472340b7B36FF1534893780E0d8d841', - chainId: 56, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/smartchain/assets/0x988c11625472340b7B36FF1534893780E0d8d841/logo.png', - name: 'WrappedConceal', - symbol: 'wCCX', - }, - { - address: '0xd8A31016cD7da048ca21FFE04256C6d08C3A2251', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/15626/small/wenlambo.jpg?1621351104', - name: 'WenLambo', - symbol: 'WENLAMBO', - }, - { - address: '0x4DA996C5Fe84755C80e108cf96Fe705174c5e36A', - chainId: 56, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', - name: 'WOWSwap', - symbol: 'WOW', - }, - { - address: '0x541E619858737031A1244A5d0Cd47E5ef480342c', - chainId: 56, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13840/small/V9gQH1KZ_400x400.jpg?1612251776', - name: 'Soteria', - symbol: 'wSOTE', - }, - { - address: '0x1D2F0da169ceB9fC7B3144628dB156f3F6c60dBE', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xrp.jpg', - name: 'XRP Token', - symbol: 'XRP', - }, - { - address: '0x16939ef78684453bfDFb47825F8a5F714f12623a', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xtz.jpg', - name: 'Tezos Token', - symbol: 'XTZ', - }, - { - address: '0xcF6BB5389c92Bdda8a3747Ddb454cB7a64626C63', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xvs.jpg', - name: 'Venus', - symbol: 'XVS', - }, - { - address: '0x88f1A5ae2A3BF98AEAF342D26B30a79438c9142e', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', - name: 'yearn.finance', - symbol: 'YFI', - }, - { - address: '0x7F70642d88cf1C4a3a7abb072B53B929b653edA5', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfii.jpg', - name: 'YFII.finance Token', - symbol: 'YFII', - }, - { - address: '0x1Ba42e5193dfA8B03D15dd1B86a3113bbBEF8Eeb', - chainId: 56, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/zec.jpg', - name: 'Zcash Token', - symbol: 'ZEC', - }, - { - address: '0xe579156f9dEcc4134B5E3A30a24Ac46BB8B01281', - chainId: 65, - decimals: 10, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png', - name: 'Tether', - symbol: 'USDT', - }, - { - address: '0x2219845942d28716c0F7C605765fABDcA1a7d9E0', - chainId: 65, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/13708/small/OKExChain.jpg?1611051839', - name: 'Wrapped OKExChain', - symbol: 'WOKT', - }, - { - address: '0x77Df6ebec3316792D4ea5bc0f8286c27905Aa8e8', - chainId: 66, - decimals: 18, - logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_auctionk.png', - name: 'AUCTION', - symbol: 'AUCTION', - }, - { - address: '0x54e4622DC504176b3BB432dCCAf504569699a7fF', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'BTC', - symbol: 'BTC', - }, - { - address: '0x21cDE7E32a6CAF4742d00d44B07279e7596d26B9', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'DAI', - symbol: 'DAI', - }, - { - address: '0xabc732f6f69a519F6d508434481376B6221eb7d5', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dot.jpg', - name: 'DOT', - symbol: 'DOT', - }, - { - address: '0x99970778E2715bBc9Cf8fb83D10dCBC2D2D551A3', - chainId: 66, - decimals: 18, - logoURI: 'https://static.coinall.ltd/cdn/explorer/okexchain/exchain_etck.png', - name: 'ETC', - symbol: 'ETC', - }, - { - address: '0xEF71CA2EE68F45B9Ad6F72fbdb33d707b872315C', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'ETH', - symbol: 'ETH', - }, - { - address: '0x3F8969Be2FC0770dCc174968e4B4ff146E0ACDaF', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', - name: 'FIL', - symbol: 'FIL', - }, - { - address: '0x8D3573f24c0aa3819A2f5b02b2985dD82B487715', - chainId: 66, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12780/small/PdaW8Lb.png?1602500407', - name: 'DeFiner', - symbol: 'FIN', - }, - { - address: '0xd0C6821aba4FCC65e8f1542589e64BAe9dE11228', - chainId: 66, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/15002/small/logo.dabc411c.png?1619402947', - name: 'FLUXK', - symbol: 'FLUX', - }, - { - address: '0xc05760d75E7F5Ad428a906674Ce7c7c82d003d01', - chainId: 66, - decimals: 18, - logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_kinek.png', - name: 'KINE', - symbol: 'KINE', - }, - { - address: '0x9B99c3Ce751aA292320033f93a1376902d4bA58b', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'LINK', - symbol: 'LINK', - }, - { - address: '0xfA520efC34C81bfC1E3DD48b7fE9fF326049f986', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ltc.jpg', - name: 'LTC', - symbol: 'LTC', - }, - { - address: '0x8CD6e29d3686d24d3C2018CEe54621eA0f89313B', - chainId: 66, - decimals: 8, - logoURI: 'https://assets.coingecko.com/coins/images/1053/small/Nuls.png?1556868153', - name: 'Nuls', - symbol: 'NULS', - }, - { - address: '0xd1351Ec15E8511658C2Ba1e1e81e1E60aA39c9Cd', - chainId: 66, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/11873/small/NerveNetwork.png?1595541544', - name: 'NerveNetwork', - symbol: 'NVT', - }, - { - address: '0xdF54B6c6195EA4d948D03bfD818D365cf175cFC2', - chainId: 66, - decimals: 18, - logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_okb.png', - name: 'OKB', - symbol: 'OKB', - }, - { - address: '0x3212606F74Cc59656E1EC6f587FCA61bA3B85eb0', - chainId: 66, - decimals: 18, - logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_sfgk.png', - name: 'SFG', - symbol: 'SFG', - }, - { - address: '0xaa27bADaa3C9ec9081b8f6C9cDd2bf375F143780', - chainId: 66, - decimals: 18, - logoURI: 'https://static.coinall.ltd/cdn/explorer/okexchain/exchain_shibk.png', - name: 'SHIB', - symbol: 'SHIB', - }, - { - address: '0x2218E0D5E0173769F5b4939a3aE423f7e5E4EAB7', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'SUSHI', - symbol: 'SUSHI', - }, - { - address: '0x59D226BB0a4d74274D4354EBb6a0E1A1Aa5175B6', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', - name: 'UNI', - symbol: 'UNI', - }, - { - address: '0xc946DAf81b08146B1C7A8Da2A851Ddf2B3EAaf85', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USDC', - symbol: 'USDC', - }, - { - address: '0xdCAC52E001f5bd413aa6ea83956438F29098166b', - chainId: 66, - decimals: 18, - logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_usdk.png', - name: 'USDK', - symbol: 'USDK', - }, - { - address: '0x382bB369d343125BfB2117af9c149795C6C65C50', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'USDT', - symbol: 'USDT', - }, - { - address: '0x506f731F7656e2FB34b587B912808f2a7aB640BD', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'WBTC', - symbol: 'WBTC', - }, - { - address: '0x7A47ab305b8a2A3F4020d13FA9EF73cDdCc0e7D4', - chainId: 66, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/12477/small/s_wing_icon.png?1610631390', - name: 'Wing Token', - symbol: 'WING', - }, - { - address: '0x8F8526dbfd6E38E3D8307702cA8469Bae6C56C15', - chainId: 66, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/okt.jpg', - name: 'Wrapped OKExChain', - symbol: 'WOKT', - }, - { - address: '0xCD08D321f6Bc10a10f094e4b2E6C9b8bF9906401', - chainId: 66, - decimals: 18, - logoURI: 'https://static.bafang.com/cdn/explorer/okexchain/exchain_zksk.png', - name: 'ZKS', - symbol: 'ZKS', - }, - { - address: '0xeD24FC36d5Ee211Ea25A80239Fb8C4Cfd80f12Ee', - chainId: 97, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/assets/BUSD-BD1/logo.png', - name: 'BUSD Token', - symbol: 'BUSD', - }, - { - address: '0x337610d27c682E347C9cD60BD4b3b107C9d34dDd', - chainId: 97, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/assets/USDT-6D8/logo.png', - name: 'USDT Token', - symbol: 'USDT', - }, - { - address: '0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd', - chainId: 97, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/info/logo.png', - name: 'WBNB Token', - symbol: 'WBNB', - }, - { - address: '0xDF613aF6B44a31299E48131e9347F034347E2F00', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xDF613aF6B44a31299E48131e9347F034347E2F00.jpg', - name: 'Aave Token on xDai', - symbol: 'AAVE', - }, - { - address: '0x82dFe19164729949fD66Da1a37BC70dD6c4746ce', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0x82dFe19164729949fD66Da1a37BC70dD6c4746ce.jpg', - name: 'BaoToken on xDai', - symbol: 'BAO', - }, - { - address: '0x712b3d230F3C1c19db860d80619288b1F0BDd0Bd', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0x82dFe19164729949fD66Da1a37BC70dD6c4746ce.jpg', - name: 'Curve DAO Token on xDai', - symbol: 'CRV', - }, - { - address: '0xD3D47d5578e55C880505dC40648F7F9307C3e7A8', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xD3D47d5578e55C880505dC40648F7F9307C3e7A8.jpg', - name: 'DefiPulse Index from Ethereum', - symbol: 'DPI', - }, - { - address: '0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/master/network/xdai/0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb.jpg', - name: 'Gnosis Token', - symbol: 'GNO', - }, - { - address: '0xE2e73A1c69ecF83F464EFCE6A5be353a37cA09b2', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xE2e73A1c69ecF83F464EFCE6A5be353a37cA09b2.jpg', - name: 'ChainLink Token on xDai', - symbol: 'LINK', - }, - { - address: '0xfa57AA7beED63D03Aaf85fFd1753f5f6242588fb', - chainId: 100, - decimals: 0, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/master/network/xdai/0xfa57AA7beED63D03Aaf85fFd1753f5f6242588fb.jpg', - name: 'MtPelerin Shares', - symbol: 'MPS', - }, - { - address: '0xb7D311E2Eb55F2f68a9440da38e7989210b9A05e', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xb7D311E2Eb55F2f68a9440da38e7989210b9A05e.jpg', - name: 'Stake Token on xDai', - symbol: 'STAKE', - }, - { - address: '0x2995D1317DcD4f0aB89f4AE60F3f020A4F17C7CE', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x2995D1317DcD4f0aB89f4AE60F3f020A4F17C7CE.jpg', - name: 'SushiToken on xDai', - symbol: 'SUSHI', - }, - { - address: '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83', - chainId: 100, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83.jpg', - name: 'USDC on xDai', - symbol: 'USDC', - }, - { - address: '0x4ECaBa5870353805a9F068101A40E0f32ed605C6', - chainId: 100, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x4ECaBa5870353805a9F068101A40E0f32ed605C6.jpg', - name: 'Tether on xDai', - symbol: 'USDT', - }, - { - address: '0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252', - chainId: 100, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252.jpg', - name: 'Wrapped BTC on xDai', - symbol: 'WBTC', - }, - { - address: '0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/icons/master/token/0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1.jpg', - name: 'Wrapped Ether on xDai', - symbol: 'WETH', - }, - { - address: '0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/xdai/0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d.jpg', - name: 'Wrapped xDai', - symbol: 'WXDAI', - }, - { - address: '0x1e16aa4Df73d29C029d94CeDa3e3114EC191E25A', - chainId: 100, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/xdai/assets/0x1e16aa4Df73d29C029d94CeDa3e3114EC191E25A/logo.png', - name: 'xMOON on xDai', - symbol: 'XMOON', - }, - { - address: '0x6acb34b1Df86E254b544189Ec32Cf737e2482058', - chainId: 122, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', - name: 'BNB', - symbol: 'BNB', - }, - { - address: '0x94Ba7A27c7A95863d1bdC7645AC2951E0cca06bA', - chainId: 122, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x94Ba7A27c7A95863d1bdC7645AC2951E0cca06bA.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x2f60a843302F1Be3FA87429CA9d684f9091b003c', - chainId: 122, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dext.jpg', - name: 'DEXTools', - symbol: 'DEXT', - }, - { - address: '0xE1C110E1B1b4A1deD0cAf3E42BfBdbB7b5d7cE1C', - chainId: 122, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fuse/assets/0xE1C110E1B1b4A1deD0cAf3E42BfBdbB7b5d7cE1C/logo.png', - name: 'Elk', - symbol: 'ELK', - }, - { - address: '0x249BE57637D8B013Ad64785404b24aeBaE9B098B', - chainId: 122, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fuseusd.jpg', - name: 'Fuse Dollar', - symbol: 'fUSD', - }, - { - address: '0x495d133B938596C9984d462F007B676bDc57eCEC', - chainId: 122, - decimals: 2, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/fuse/0x495d133B938596C9984d462F007B676bDc57eCEC.jpg', - name: 'GoodDollar', - symbol: 'G$', - }, - { - address: '0x025a4c577198D116Ea499193E6D735FDb2e6E841', - chainId: 122, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', - name: 'Graph Token', - symbol: 'GRT', - }, - { - address: '0x43B17749B246fd2a96DE25d9e4184E27E09765b0', - chainId: 122, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/knc.jpg', - name: 'Kyber Network Crystal', - symbol: 'KNC', - }, - { - address: '0x0972F26e8943679b043de23df2fD3852177A7c48', - chainId: 122, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'ChainLink Token', - symbol: 'LINK', - }, - { - address: '0x7F59aE3a787C0d1D640F99883d0e48c22188C54f', - chainId: 122, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/om.jpg', - name: 'MANTRA DAO', - symbol: 'OM', - }, - { - address: '0x90708b20ccC1eb95a4FA7C8b18Fd2C22a0Ff9E78', - chainId: 122, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x90708b20ccC1eb95a4FA7C8b18Fd2C22a0Ff9E78.jpg', - name: 'Sushi Token', - symbol: 'SUSHI', - }, - { - address: '0x620fd5fa44BE6af63715Ef4E65DDFA0387aD13F5', - chainId: 122, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x620fd5fa44BE6af63715Ef4E65DDFA0387aD13F5.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0xFaDbBF8Ce7D5b7041bE672561bbA99f79c532e10', - chainId: 122, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0xFaDbBF8Ce7D5b7041bE672561bbA99f79c532e10.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0x33284f95ccb7B948d9D352e1439561CF83d8d00d', - chainId: 122, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x33284f95ccb7B948d9D352e1439561CF83d8d00d.jpg', - name: 'Wrapped BTC', - symbol: 'WBTC', - }, - { - address: '0xa722c13135930332Eb3d749B2F0906559D2C5b99', - chainId: 122, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0xa722c13135930332Eb3d749B2F0906559D2C5b99.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0x0BE9e53fd7EDaC9F859882AfdDa116645287C629', - chainId: 122, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fuse/0x0BE9e53fd7EDaC9F859882AfdDa116645287C629.jpg', - name: 'Wrapped Fuse', - symbol: 'WFUSE', - }, - { - address: '0x202b4936fE1a82A4965220860aE46d7d3939Bb25', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg AAVE Token', - symbol: 'AAVE', - }, - { - address: '0x5A6B72Dd6209A770aE1C02a7A2E1900636072d0b', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg ARPA Token', - symbol: 'ARPA', - }, - { - address: '0xa042fb0e60125A4022670014AC121931e7501Af4', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'BAG', - symbol: 'BAG', - }, - { - address: '0x6868D406a125Eb30886A6DD6B651D81677d1F22c', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'BAGS', - symbol: 'BAGS', - }, - { - address: '0x045De15Ca76e76426E8Fc7cba8392A3138078D0F', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg BAL Token', - symbol: 'BAL', - }, - { - address: '0xB1F80844a1B84c61ab80CafD88B1f8c09f9342e1', - chainId: 128, - decimals: 8, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'BEE', - symbol: 'BEE', - }, - { - address: '0xB6F4c418514dd4680F76d5caa3bB42dB4A893aCb', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg BETH Token', - symbol: 'BETH', - }, - { - address: '0x1e6395E6B059fc97a4ddA925b6c5ebf19E05c69f', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Channels', - symbol: 'CAN', - }, - { - address: '0xbe5DF2fac88BB096A973e664171E60586bC5940c', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'CircleSwap Governance Token', - symbol: 'CIR', - }, - { - address: '0x4BF06f76C68D81BDE1F87535fdCb60Adadb01CF5', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg CNNS Token', - symbol: 'CNNS', - }, - { - address: '0x3D760a45D0887DFD89A2F5385a236B29Cb46ED2a', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg DAIHECO Token', - symbol: 'DAIHECO', - }, - { - address: '0x854Bb58fDDa85F20b5aB20B20d888f0554c02560', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Decentralized Mining Coin', - symbol: 'DMC', - }, - { - address: '0x68a0A1fEF18DfCC422Db8bE6F0F486dEa1999EDC', - chainId: 128, - decimals: 9, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'EarnDefiCoin', - symbol: 'EDC', - }, - { - address: '0x64FF637fB478863B7468bc97D30a5bF3A428a1fD', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HETH_32.png', - name: 'Heco-Peg ETH Token', - symbol: 'ETH', - }, - { - address: '0xE36FFD17B2661EB57144cEaEf942D95295E637F0', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/filda_32.png', - name: 'FilDA on Heco', - symbol: 'FILDA', - }, - { - address: '0x2AAFe3c9118DB36A20dd4A942b6ff3e78981dce1', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg GOF Token', - symbol: 'GOF', - }, - { - address: '0x894b2917c783514c9e4c24229bF60f3Cb4c9c905', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg HBC Token', - symbol: 'HBC', - }, - { - address: '0xeF3CEBD77E0C52cb6f60875d9306397B5Caca375', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HBCH_32.png', - name: 'Heco-Peg HBCH Token', - symbol: 'HBCH', - }, - { - address: '0x8764Bd4fcc027faF72bA83c0b2028a3BAE0D2D57', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Hash Bridge Oracle', - symbol: 'HBO', - }, - { - address: '0xc2CB6B5357CcCE1B99Cd22232942D9A225Ea4eb1', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HBSV_32.png', - name: 'Heco-Peg HBSV Token', - symbol: 'HBSV', - }, - { - address: '0x66a79D23E58475D2738179Ca52cd0b41d73f0BEa', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HBTC_32.png', - name: 'Heco-Peg HBTC Token', - symbol: 'HBTC', - }, - { - address: '0xA2c49cEe16a5E5bDEFDe931107dc1fae9f7773E3', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HDOT_32.png', - name: 'Heco-Peg HDOT Token', - symbol: 'HDOT', - }, - { - address: '0x98fc3b60Ed4A504F588342A53746405E355F9347', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/hecofi_32.png', - name: 'HFI', - symbol: 'HFI', - }, - { - address: '0xae3a768f9aB104c69A7CD6041fE16fFa235d1810', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HFIL_32.png', - name: 'Heco-Peg HFIL Token', - symbol: 'HFIL', - }, - { - address: '0xecb56cf772B5c9A6907FB7d32387Da2fCbfB63b4', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HLTC_32.png', - name: 'Heco-Peg HLTC Token', - symbol: 'HLTC', - }, - { - address: '0xE499Ef4616993730CEd0f31FA2703B92B50bB536', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HPT_32.png', - name: 'Heco-Peg HPT Token', - symbol: 'HPT', - }, - { - address: '0x0298c2b32eaE4da002a15f36fdf7615BEa3DA047', - chainId: 128, - decimals: 8, - logoURI: 'https://hecoinfo.com/token/images/HUSD_32.png', - name: 'Heco-Peg HUSD Token', - symbol: 'HUSD', - }, - { - address: '0x45e97daD828AD735af1dF0473fc2735F0Fd5330c', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HXZT_32.png', - name: 'Heco-Peg HXTZ Token', - symbol: 'HXTZ', - }, - { - address: '0xE131F048D85f0391A24435eEFB7763199B587d0e', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg LAMB Token', - symbol: 'LAMB', - }, - { - address: '0x56f95662E71f30b333b456439248c6dE589082a4', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Lavaswap', - symbol: 'Lava', - }, - { - address: '0x8F67854497218043E1f72908FFE38D0Ed7F24721', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'LendHub', - symbol: 'LHB', - }, - { - address: '0x9e004545c59D359F6B7BFB06a26390b087717b42', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg LINK Token', - symbol: 'LINK', - }, - { - address: '0x6A4db3965CB6293dBA0F63F14FB36873172E38d3', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'LLC', - symbol: 'LLC', - }, - { - address: '0x5a42eeD7200d23F0D4CF35Ccd582D6d363F16BFc', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'LLS', - symbol: 'LLS', - }, - { - address: '0xbf22F76657601A522Cf9Ac832718A3404302D6bC', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg LRC Token', - symbol: 'LRC', - }, - { - address: '0x25D2e80cB6B86881Fd7e07dd263Fb79f4AbE033c', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/mdex_32.png', - name: 'MDX Token', - symbol: 'MDX', - }, - { - address: '0x96674f8da3F9c6ACb4A56b393AF9A490D70D16d0', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg SKM Token', - symbol: 'SKM', - }, - { - address: '0x4e252342cf35Ff02c4CCA9bc655129f5b4a2f901', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'SLN-Token V2', - symbol: 'SLNV2', - }, - { - address: '0x777850281719d5a96C29812ab72f822E0e09F3Da', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg SNX Token', - symbol: 'SNX', - }, - { - address: '0x49e16563a2ba84E560780946f0Fb73A8B32C841E', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/sovifinance_32.png', - name: 'Sovi Token', - symbol: 'SOVI', - }, - { - address: '0x52E00B2dA5Bd7940fFe26B609A42F957f31118D5', - chainId: 128, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'SUSHI', - symbol: 'SUSHI', - }, - { - address: '0x329dda64Cbc4DFD5FA5072b447B3941CE054ebb3', - chainId: 128, - decimals: 8, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg SWFTC Token', - symbol: 'SWFTC', - }, - { - address: '0x22C54cE8321A4015740eE1109D9cBc25815C46E6', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg UNI Token', - symbol: 'UNI', - }, - { - address: '0x9362Bbef4B8313A8Aa9f0c9808B80577Aa26B73B', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg USDCHECO Token', - symbol: 'USDCHECO', - }, - { - address: '0xa71EdC38d189767582C38A3145b5873052c3e47a', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/USDTHECO_32.png', - name: 'Heco-Peg USDTHECO Token', - symbol: 'USDTHECO', - }, - { - address: '0x5545153CCFcA01fbd7Dd11C0b23ba694D9509A6F', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HT_32.png', - name: 'Wrapped HT', - symbol: 'WHT', - }, - { - address: '0xeFAeeE334F0Fd1712f9a8cc375f427D9Cdd40d73', - chainId: 128, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', - name: 'WOWSwap', - symbol: 'WOW', - }, - { - address: '0xB4F019bEAc758AbBEe2F906033AAa2f0F6Dacb35', - chainId: 128, - decimals: 18, - logoURI: 'https://hecoinfo.com/images/main/empty-token.png', - name: 'Heco-Peg YFI Token', - symbol: 'YFI', - }, - { - address: '0xD6DF932A45C0f255f85145f286eA0b292B21C90B', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', - name: 'Aave', - symbol: 'AAVE', - }, - { - address: '0x6d5f5317308C6fE7D6CE16930353a8Dfd92Ba4D7', - chainId: 137, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6d5f5317308C6fE7D6CE16930353a8Dfd92Ba4D7/logo.png', - name: 'Abachi', - symbol: 'ABI', - }, - { - address: '0xc3FdbadC7c795EF1D6Ba111e06fF8F16A20Ea539', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xc3FdbadC7c795EF1D6Ba111e06fF8F16A20Ea539/logo.png', - name: 'Adamant', - symbol: 'ADDY', - }, - { - address: '0x0169eC1f8f639B32Eec6D923e24C2A2ff45B9DD6', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0169eC1f8f639B32Eec6D923e24C2A2ff45B9DD6/logo.png', - name: 'Algebra', - symbol: 'ALGB', - }, - { - address: '0x0B048D6e01a6b9002C291060bF2179938fd8264c', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0B048D6e01a6b9002C291060bF2179938fd8264c/logo.png', - name: 'PolyAlpha Finance', - symbol: 'ALPHA', - }, - { - address: '0xEE800B277A96B0f490a1A732e1D6395FAD960A26', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xEE800B277A96B0f490a1A732e1D6395FAD960A26/logo.png', - name: 'ARPA Token', - symbol: 'ARPA', - }, - { - address: '0x5eB8D998371971D01954205c7AFE90A7AF6a95AC', - chainId: 137, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/7455.png', - name: 'Audius', - symbol: 'AUDIO', - }, - { - address: '0x34d4ab47Bee066F361fA52d792e69AC7bD05ee23', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x34d4ab47Bee066F361fA52d792e69AC7bD05ee23/logo.png', - name: 'Raider Aurum', - symbol: 'AURUM', - }, - { - address: '0x2C89bbc92BD86F8075d1DEcc58C7F4E0107f286b', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2C89bbc92BD86F8075d1DEcc58C7F4E0107f286b/logo.png', - name: 'Avalanche Token', - symbol: 'AVAX', - }, - { - address: '0x5617604BA0a30E0ff1d2163aB94E50d8b6D0B0Df', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5617604BA0a30E0ff1d2163aB94E50d8b6D0B0Df/logo.png', - name: 'AthleteX', - symbol: 'AX', - }, - { - address: '0x1221591c1d77A9c334aBb0fe530ae6EE3aF51Af9', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1221591c1d77A9c334aBb0fe530ae6EE3aF51Af9/logo.png', - name: 'axMatic', - symbol: 'AXMATIC', - }, - { - address: '0x839F1a22A59eAAf26c85958712aB32F80FEA23d9', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x839F1a22A59eAAf26c85958712aB32F80FEA23d9/logo.png', - name: 'Axion', - symbol: 'AXN', - }, - { - address: '0x61BDD9C7d4dF4Bf47A4508c0c8245505F2Af5b7b', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x61BDD9C7d4dF4Bf47A4508c0c8245505F2Af5b7b/logo.png', - name: 'Axie Infinity', - symbol: 'AXS', - }, - { - address: '0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x9a71012B13CA4d3D0Cdc72A177DF3ef03b0E76A3/logo.png', - name: 'Balancer', - symbol: 'BAL', - }, - { - address: '0xDB7Cb471dd0b49b29CAB4a1C14d070f27216a0Ab', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0xDB7Cb471dd0b49b29CAB4a1C14d070f27216a0Ab.jpg', - name: 'Bankless Token (PoS)', - symbol: 'BANK', - }, - { - address: '0x3Cef98bb43d732E2F285eE605a8158cDE967D219', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bat.jpg', - name: 'Basic Attention Token', - symbol: 'BAT', - }, - { - address: '0x2F800Db0fdb5223b3C3f354886d907A671414A7F', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2F800Db0fdb5223b3C3f354886d907A671414A7F/logo.png', - name: 'Toucan Protocol: Base Carbon Tonne', - symbol: 'BCT', - }, - { - address: '0xFbdd194376de19a88118e84E279b977f165d01b8', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xFbdd194376de19a88118e84E279b977f165d01b8/logo.png', - name: 'Beefy.finance', - symbol: 'BIFI', - }, - { - address: '0xA041544fe2BE56CCe31Ebb69102B965E06aacE80', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xA041544fe2BE56CCe31Ebb69102B965E06aacE80/logo.png', - name: 'BarnBridge Governance Token', - symbol: 'BOND', - }, - { - address: '0x6bb45cEAC714c52342Ef73ec663479da35934bf7', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6bb45cEAC714c52342Ef73ec663479da35934bf7/logo.png', - name: 'BONE Token', - symbol: 'BONE', - }, - { - address: '0xff88434E29d1E2333aD6baa08D358b436196da6b', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xff88434E29d1E2333aD6baa08D358b436196da6b/logo.png', - name: 'BoringDao', - symbol: 'BOR', - }, - { - address: '0x4b54Bc363f5F9c6E0fcd82EaC6919aE213464Cc6', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4b54Bc363f5F9c6E0fcd82EaC6919aE213464Cc6/logo.png', - name: 'BTC 2x Flexible Leverage Index', - symbol: 'BTC2x-FLI', - }, - { - address: '0x54cFe73f2c7d0c4b62Ab869B473F5512Dc0944D2', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x54cFe73f2c7d0c4b62Ab869B473F5512Dc0944D2/logo.png', - name: 'BZRX Token', - symbol: 'BZRX', - }, - { - address: '0xad01DFfe604CDc172D8237566eE3a3ab6524d4C6', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0xad01DFfe604CDc172D8237566eE3a3ab6524d4C6.jpg', - name: 'C3 Token', - symbol: 'C3', - }, - { - address: '0xD85d1e945766Fea5Eda9103F918Bd915FbCa63E6', - chainId: 137, - decimals: 4, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cel.jpg', - name: 'Celsius', - symbol: 'CEL', - }, - { - address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', - name: 'Cerby Token', - symbol: 'CERBY', - }, - { - address: '0x2e2DDe47952b9c7deFDE7424d00dD2341AD927Ca', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2e2DDe47952b9c7deFDE7424d00dD2341AD927Ca/logo.png', - name: 'ChumHum', - symbol: 'CHUM', - }, - { - address: '0x8DF26a1BD9bD98e2eC506fc9d8009954716A05DC', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8DF26a1BD9bD98e2eC506fc9d8009954716A05DC/logo.png', - name: 'PolyPup Finance', - symbol: 'COLLAR', - }, - { - address: '0x6DdB31002abC64e1479Fc439692F7eA061e78165', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6DdB31002abC64e1479Fc439692F7eA061e78165/logo.png', - name: 'Furucombo', - symbol: 'COMBO', - }, - { - address: '0x8505b9d2254A7Ae468c0E9dd10Ccea3A837aef5c', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8505b9d2254A7Ae468c0E9dd10Ccea3A837aef5c/logo.png', - name: 'Compound', - symbol: 'COMP', - }, - { - address: '0x04f3C4cF2e806da6DF31e80E8A5D121F98eDD61d', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x04f3C4cF2e806da6DF31e80E8A5D121F98eDD61d/logo.png', - name: 'Cream', - symbol: 'CREAM', - }, - { - address: '0x172370d5Cd63279eFa6d502DAB29171933a610AF', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', - name: 'Curve', - symbol: 'CRV', - }, - { - address: '0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x1D607Faa0A51518a7728580C238d912747e71F7a', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1D607Faa0A51518a7728580C238d912747e71F7a/logo.png', - name: 'DATA Economy Index', - symbol: 'DATA', - }, - { - address: '0x8a2870fb69A90000D6439b7aDfB01d4bA383A415', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8a2870fb69A90000D6439b7aDfB01d4bA383A415/logo.png', - name: 'DEGEN Index', - symbol: 'DEGEN', - }, - { - address: '0x3D1D2aFd191b165D140e3E8329E634665fFB0E5e', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3D1D2aFd191b165D140e3E8329E634665fFB0E5e/logo.png', - name: 'Deri Protocol', - symbol: 'DERI', - }, - { - address: '0xE7804D91dfCDE7F776c90043E03eAa6Df87E6395', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xE7804D91dfCDE7F776c90043E03eAa6Df87E6395/logo.png', - name: 'DFX Token', - symbol: 'DFX', - }, - { - address: '0x2a93172c8DCCbfBC60a39d56183B7279a2F647b4', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2a93172c8DCCbfBC60a39d56183B7279a2F647b4/logo.png', - name: 'decentral.games', - symbol: 'DG', - }, - { - address: '0x8C92e38eCA8210f4fcBf17F0951b198Dd7668292', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8C92e38eCA8210f4fcBf17F0951b198Dd7668292/logo.png', - name: 'dHedge DAO Token', - symbol: 'DHT', - }, - { - address: '0xAa9654BECca45B5BDFA5ac646c939C62b527D394', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xAa9654BECca45B5BDFA5ac646c939C62b527D394/logo.png', - name: 'DinoSwap', - symbol: 'DINO', - }, - { - address: '0x61dAECaB65EE2A1D5b6032df030f3fAA3d116Aa7', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x61dAECaB65EE2A1D5b6032df030f3fAA3d116Aa7/logo.png', - name: 'Dark Magic', - symbol: 'DMAGIC', - }, - { - address: '0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369/logo.png', - name: 'DefiPulse Index', - symbol: 'DPI', - }, - { - address: '0x1Ba3510A9ceEb72E5CdBa8bcdDe9647E1f20fB4b', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1Ba3510A9ceEb72E5CdBa8bcdDe9647E1f20fB4b/logo.png', - name: 'Drax', - symbol: 'DRAX', - }, - { - address: '0x0361BdEAB89DF6BBcc52c43589FABba5143d19dD', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0361BdEAB89DF6BBcc52c43589FABba5143d19dD/logo.png', - name: 'dHEDGE Top Index', - symbol: 'dTOP', - }, - { - address: '0x3f717919deF69f81d17b80839bf8af35697ccbFa', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3f717919deF69f81d17b80839bf8af35697ccbFa/logo.png', - name: 'Data Exchange Token', - symbol: 'DTX', - }, - { - address: '0xAcD7B3D9c10e97d0efA418903C0c7669E702E4C0', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xAcD7B3D9c10e97d0efA418903C0c7669E702E4C0/logo.png', - name: 'Eleven.finance', - symbol: 'ELE', - }, - { - address: '0x66d7FDCc7403f18cAE9b0e2e8385649D2AcBC12A', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x66d7FDCc7403f18cAE9b0e2e8385649D2AcBC12A/logo.png', - name: 'ETH 2x Flexible Leverage Index PoS', - symbol: 'ETH2x-FLI', - }, - { - address: '0x3Ad707dA309f3845cd602059901E39C4dcd66473', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/matic/0x3Ad707dA309f3845cd602059901E39C4dcd66473.jpg', - name: 'ETH 2x Flexible Leverage Index', - symbol: 'ETH2X-FLI-P', - }, - { - address: '0x3a3Df212b7AA91Aa0402B9035b098891d276572B', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3a3Df212b7AA91Aa0402B9035b098891d276572B/logo.png', - name: 'Fish', - symbol: 'FISH', - }, - { - address: '0x65A05DB8322701724c197AF82C9CaE41195B0aA8', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x65A05DB8322701724c197AF82C9CaE41195B0aA8/logo.png', - name: 'ShapeShift FOX Token', - symbol: 'FOX', - }, - { - address: '0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89/logo.png', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0x1a3acf6D19267E2d3e7f898f42803e90C9219062', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1a3acf6D19267E2d3e7f898f42803e90C9219062/logo.png', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0xF4B0903774532AEe5ee567C02aaB681a81539e92', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xF4B0903774532AEe5ee567C02aaB681a81539e92/logo.png', - name: 'PolyGaj Token', - symbol: 'GAJ', - }, - { - address: '0xdb725f82818De83e99F1dAc22A9b5B51d3d04DD4', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdb725f82818De83e99F1dAc22A9b5B51d3d04DD4/logo.png', - name: 'Guaranteed Entrance Token', - symbol: 'GET', - }, - { - address: '0x7075cAB6bCCA06613e2d071bd918D1a0241379E2', - chainId: 137, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8444.png', - name: 'Gains Farm v2', - symbol: 'GFARM2', - }, - { - address: '0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x385Eeac5cB85A38A9a07A70c73e0a3271CfB54A7/logo.png', - name: 'Aavegotchi GHST Token', - symbol: 'GHST', - }, - { - address: '0x0d962A1A2A27B402e4D84772dea65Ac8592Eb6bF', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0d962A1A2A27B402e4D84772dea65Ac8592Eb6bF/logo.png', - name: 'Gemstones', - symbol: 'GMS', - }, - { - address: '0xd8cA34fd379d9ca3C6Ee3b3905678320F5b45195', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xd8cA34fd379d9ca3C6Ee3b3905678320F5b45195/logo.png', - name: 'Governance Ohm', - symbol: 'gOHM', - }, - { - address: '0x5fe2B58c013d7601147DcdD68C143A77499f5531', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', - name: 'Graph Token', - symbol: 'GRT', - }, - { - address: '0x057E0bd9B797f9Eeeb8307B35DbC8c12E534c41E', - chainId: 137, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x057E0bd9B797f9Eeeb8307B35DbC8c12E534c41E/logo.png', - name: 'Guru', - symbol: 'GURU', - }, - { - address: '0xc48F61a288A08F1B80c2edd74652e1276B6A168c', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xc48F61a288A08F1B80c2edd74652e1276B6A168c/logo.png', - name: 'Geyser', - symbol: 'GYSR', - }, - { - address: '0x4EaC4c4e9050464067D673102F8E24b2FccEB350', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4EaC4c4e9050464067D673102F8E24b2FccEB350/logo.png', - name: 'Interest-Bearing BTC', - symbol: 'ibBTC', - }, - { - address: '0x4e1581f01046eFDd7a1a2CDB0F82cdd7F71F2E59', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/matic/0x4e1581f01046eFDd7a1a2CDB0F82cdd7F71F2E59.jpg', - name: 'IceToken', - symbol: 'ICE', - }, - { - address: '0xC25351811983818c9Fe6D8c580531819c8ADe90f', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC25351811983818c9Fe6D8c580531819c8ADe90f/logo.png', - name: 'Idle', - symbol: 'IDLE', - }, - { - address: '0xf50D05A1402d0adAfA880D36050736f9f6ee7dee', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xf50D05A1402d0adAfA880D36050736f9f6ee7dee/logo.png', - name: 'Instadapp', - symbol: 'INST', - }, - { - address: '0x8a0e8b4b0903929f47C3ea30973940D4a9702067', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x8a0e8b4b0903929f47C3ea30973940D4a9702067/logo.png', - name: 'InsurAce', - symbol: 'INSUR', - }, - { - address: '0xD86b5923F3AD7b585eD81B448170ae026c65ae9a', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xD86b5923F3AD7b585eD81B448170ae026c65ae9a/logo.png', - name: 'IRON Stablecoin', - symbol: 'IRON', - }, - { - address: '0x6AE7Dfc73E0dDE2aa99ac063DcF7e8A63265108c', - chainId: 137, - decimals: 18, - logoURI: 'https://jpyc.jp/static/media/jpyc.0d1e5d3f.png', - name: 'JPY Coin', - symbol: 'JPYC', - }, - { - address: '0x596eBE76e2DB4470966ea395B0d063aC6197A8C5', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x596eBE76e2DB4470966ea395B0d063aC6197A8C5/logo.png', - name: 'Jarvis Reward Token', - symbol: 'JRT', - }, - { - address: '0x4e78011Ce80ee02d2c3e649Fb657E45898257815', - chainId: 137, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4e78011Ce80ee02d2c3e649Fb657E45898257815/logo.png', - name: 'Klima DAO', - symbol: 'KLIMA', - }, - { - address: '0x1C954E8fe737F99f68Fa1CCda3e51ebDB291948C', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1C954E8fe737F99f68Fa1CCda3e51ebDB291948C/logo.png', - name: 'Kyber Network Crystal v2', - symbol: 'KNC', - }, - { - address: '0xC004e2318722EA2b15499D6375905d75Ee5390B8', - chainId: 137, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC004e2318722EA2b15499D6375905d75Ee5390B8/logo.png', - name: 'Kommunitas', - symbol: 'KOM', - }, - { - address: '0x05089C9EBFFa4F0AcA269e32056b1b36B37ED71b', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/krill.jpg', - name: 'Krill', - symbol: 'KRILL', - }, - { - address: '0x1B43b97094Aa3c6Cc678eDb9e28Ac67dAaa7Cc64', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x1B43b97094Aa3c6Cc678eDb9e28Ac67dAaa7Cc64/logo.png', - name: 'Liquid ICP', - symbol: 'LICP', - }, - { - address: '0x53E0bca35eC356BD5ddDFebbD1Fc0fD03FaBad39', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'ChainLink Token', - symbol: 'LINK', - }, - { - address: '0xA1c57f48F0Deb89f569dFbE6E2B7f46D33606fD4', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xA1c57f48F0Deb89f569dFbE6E2B7f46D33606fD4/logo.png', - name: 'Decentraland MANA', - symbol: 'MANA', - }, - { - address: '0x91cA694d2B293f70Fe722fbA7d8A5259188959c3', - chainId: 137, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/3293/small/hifi_logo.png?1613102742', - name: 'Hifi Finance', - symbol: 'MFT', - }, - { - address: '0x49a0400587A7F65072c87c4910449fDcC5c47242', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/matic/0x49a0400587A7F65072c87c4910449fDcC5c47242.jpg', - name: 'Magic Internet Money', - symbol: 'MIM', - }, - { - address: '0xa3Fa99A148fA48D14Ed51d610c367C61876997F1', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1/logo.png', - name: 'MAI', - symbol: 'miMatic', - }, - { - address: '0x6f7C932e7684666C9fd1d44527765433e01fF61d', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mkr.jpg', - name: 'Maker', - symbol: 'MKR', - }, - { - address: '0x5647Fe4281F8F6F01E84BCE775AD4b828A7b8927', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5647Fe4281F8F6F01E84BCE775AD4b828A7b8927/logo.png', - name: 'Million', - symbol: 'MM', - }, - { - address: '0x5d2375C6af4b7dE4e395ADa20aab937895B4fa70', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x5d2375C6af4b7dE4e395ADa20aab937895B4fa70.jpg', - name: 'MetaSoccer Cash', - symbol: 'MSC', - }, - { - address: '0xe8377A076adAbb3F9838afB77Bee96Eac101ffB1', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xe8377A076adAbb3F9838afB77Bee96Eac101ffB1/logo.png', - name: 'MetaSoccer Universe', - symbol: 'MSU', - }, - { - address: '0xF501dd45a1198C2E1b5aEF5314A68B9006D842E0', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xF501dd45a1198C2E1b5aEF5314A68B9006D842E0/logo.png', - name: 'mStable Governance Token', - symbol: 'MTA', - }, - { - address: '0xfe712251173A2cd5F5bE2B46Bb528328EA3565E1', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xfe712251173A2cd5F5bE2B46Bb528328EA3565E1/logo.png', - name: 'Metaverse Index', - symbol: 'MVI', - }, - { - address: '0x6BCa3B77C1909Ce1a4Ba1A20d1103bDe8d222E48', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x6BCa3B77C1909Ce1a4Ba1A20d1103bDe8d222E48.jpg', - name: 'Nature Based Offset', - symbol: 'NBO', - }, - { - address: '0xDA6f726E2088F129D3Ecb2257206AdF7D8537Ba5', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0xDA6f726E2088F129D3Ecb2257206AdF7D8537Ba5.jpg', - name: 'Neos Credits', - symbol: 'NCR', - }, - { - address: '0xD838290e877E0188a4A44700463419ED96c16107', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xD838290e877E0188a4A44700463419ED96c16107/logo.png', - name: 'Nature Carbon Tonne', - symbol: 'NCT', - }, - { - address: '0x41b3966B4FF7b427969ddf5da3627d6AEAE9a48E', - chainId: 137, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/2694.png', - name: 'Nexo', - symbol: 'NEXO', - }, - { - address: '0x76e63a3E7Ba1e2E61D3DA86a87479f983dE89a7E', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x76e63a3E7Ba1e2E61D3DA86a87479f983dE89a7E/logo.png', - name: 'Augury Finance', - symbol: 'OMEN', - }, - { - address: '0xCd150B1F528F326f5194c012f32Eb30135C7C2c9', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xCd150B1F528F326f5194c012f32Eb30135C7C2c9/logo.png', - name: 'OOKI', - symbol: 'OOKI', - }, - { - address: '0x7f426F6Dc648e50464a0392E60E1BB465a67E9cf', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x7f426F6Dc648e50464a0392E60E1BB465a67E9cf/logo.png', - name: 'Orbit Bridge Polygon Token', - symbol: 'pAUTO', - }, - { - address: '0xA9536B9c75A9E0faE3B56a96AC8EdF76AbC91978', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xA9536B9c75A9E0faE3B56a96AC8EdF76AbC91978/logo.png', - name: 'Polygon Ecosystem Index', - symbol: 'PECO', - }, - { - address: '0xd5d84e75f48E75f01fb2EB6dFD8eA148eE3d0FEb', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xd5d84e75f48E75f01fb2EB6dFD8eA148eE3d0FEb/logo.png', - name: 'bZX PGOV Token', - symbol: 'PGOV', - }, - { - address: '0x2b88aD57897A8b496595925F43048301C37615Da', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2b88aD57897A8b496595925F43048301C37615Da/logo.png', - name: 'Pickle Finance', - symbol: 'PICKLE', - }, - { - address: '0x61E9c2F3501889f6167921087Bd6EA306002904a', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x61E9c2F3501889f6167921087Bd6EA306002904a/logo.png', - name: 'Pixel', - symbol: 'PIXEL', - }, - { - address: '0xdC3aCB92712D1D44fFE15d3A8D66d9d18C81e038', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdC3aCB92712D1D44fFE15d3A8D66d9d18C81e038/logo.png', - name: 'Polaris Token', - symbol: 'POLAR', - }, - { - address: '0x4C16f69302CcB511c5Fac682c7626B9eF0Dc126a', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x4C16f69302CcB511c5Fac682c7626B9eF0Dc126a/logo.png', - name: 'Polygon Bunny Token', - symbol: 'polyBUNNY', - }, - { - address: '0x8A953CfE442c5E8855cc6c61b1293FA648BAE472', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/doge.jpg', - name: 'PolyDoge', - symbol: 'PolyDoge', - }, - { - address: '0x104592a158490a9228070E0A8e5343B499e125D0', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x104592a158490a9228070E0A8e5343B499e125D0/logo.png', - name: 'Poly Frax', - symbol: 'polyFRAX', - }, - { - address: '0x3e121107F6F22DA4911079845a470757aF4e1A1b', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3e121107F6F22DA4911079845a470757aF4e1A1b/logo.png', - name: 'Poly Frax Share', - symbol: 'polyFXS', - }, - { - address: '0x25788a1a171ec66Da6502f9975a15B609fF54CF6', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x25788a1a171ec66Da6502f9975a15B609fF54CF6/logo.png', - name: 'PoolTogether', - symbol: 'POOL', - }, - { - address: '0xC5B57e9a1E7914FDA753A88f24E5703e617Ee50c', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC5B57e9a1E7914FDA753A88f24E5703e617Ee50c/logo.png', - name: 'Popcorn', - symbol: 'POP', - }, - { - address: '0xe0Ce60AF0850bF54072635e66E79Df17082A1109', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xe0ce60af0850bf54072635e66e79df17082a1109/logo.png', - name: 'Propel', - symbol: 'Propel', - }, - { - address: '0x5d0915f929FC090fd9c843a53e7e30335dD199bc', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5d0915f929FC090fd9c843a53e7e30335dD199bc/logo.png', - name: 'pTREAT', - symbol: 'pTREAT', - }, - { - address: '0x9aF3b7DC29D3C4B1A5731408B6A9656fA7aC3b72', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x9aF3b7DC29D3C4B1A5731408B6A9656fA7aC3b72/logo.png', - name: 'PUSD', - symbol: 'PUSD', - }, - { - address: '0x0527c8C43250279D6Eb74dA1078193f5316fc9a0', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x0527c8C43250279D6Eb74dA1078193f5316fc9a0/logo.png', - name: 'PolyQuity Dollar', - symbol: 'PYD', - }, - { - address: '0x5a3064CbDCCF428ae907796cF6aD5a664CD7F3d8', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x5a3064CbDCCF428ae907796cF6aD5a664CD7F3d8/logo.png', - name: 'PYQ', - symbol: 'PYQ', - }, - { - address: '0xeb45921FEDaDF41dF0BfCF5c33453aCedDA32441', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xeb45921FEDaDF41dF0BfCF5c33453aCedDA32441/logo.png', - name: 'pZUG', - symbol: 'pZUG', - }, - { - address: '0x580A84C73811E1839F75d86d75d88cCa0c241fF4', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x580A84C73811E1839F75d86d75d88cCa0c241fF4/logo.png', - name: 'Qi Dao', - symbol: 'Qi', - }, - { - address: '0xcd7361ac3307D1C5a46b63086a90742Ff44c63B3', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xcd7361ac3307D1C5a46b63086a90742Ff44c63B3/logo.png', - name: 'Crypto Raider', - symbol: 'RAIDER', - }, - { - address: '0x89C296Be2F904F3e99a6125815b4B78F5388d2dd', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rcn.jpg', - name: 'RipioCreditNetwork', - symbol: 'RCN', - }, - { - address: '0xDBf31dF14B66535aF65AaC99C32e9eA844e14501', - chainId: 137, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xDBf31dF14B66535aF65AaC99C32e9eA844e14501/logo.png', - name: 'Ren BTC', - symbol: 'renBTC', - }, - { - address: '0x2628568509E87c4429fBb5c664Ed11391BE1BD29', - chainId: 137, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2628568509E87c4429fBb5c664Ed11391BE1BD29/logo.png', - name: 'renDGB', - symbol: 'renDGB', - }, - { - address: '0xcE829A89d4A55a63418bcC43F00145adef0eDB8E', - chainId: 137, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xcE829A89d4A55a63418bcC43F00145adef0eDB8E/logo.png', - name: 'Ren DOGE', - symbol: 'renDOGE', - }, - { - address: '0xc4Ace9278e7E01755B670C0838c3106367639962', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xc4Ace9278e7E01755B670C0838c3106367639962/logo.png', - name: 'renFIL', - symbol: 'renFIL', - }, - { - address: '0x263026E7e53DBFDce5ae55Ade22493f828922965', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x263026E7e53DBFDce5ae55Ade22493f828922965/logo.png', - name: 'RIC', - symbol: 'RIC', - }, - { - address: '0xC68e83a305b0FaD69E264A1769a0A070F190D2d6', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xC68e83a305b0FaD69E264A1769a0A070F190D2d6/logo.png', - name: 'Polyroll Token', - symbol: 'ROLL', - }, - { - address: '0x16ECCfDbb4eE1A85A33f3A9B21175Cd7Ae753dB4', - chainId: 137, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/8292.png', - name: 'Router Protocol', - symbol: 'ROUTE', - }, - { - address: '0xBbba073C31bF03b8ACf7c28EF0738DeCF3695683', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sand.jpg', - name: 'SAND', - symbol: 'SAND', - }, - { - address: '0x50B728D8D964fd00C2d0AAD81718b71311feF68a', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', - name: 'Synthetix Network Token', - symbol: 'SNX', - }, - { - address: '0x8c059898ca6274750b6bF1cf38F2848347C490cc', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x8c059898ca6274750b6bF1cf38F2848347C490cc.jpg', - name: 'SOS (PoS)', - symbol: 'SOS', - }, - { - address: '0xf5EA626334037a2cf0155D49eA6462fDdC6Eff19', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xf5EA626334037a2cf0155D49eA6462fDdC6Eff19/logo.png', - name: 'PolygonFarm Finance', - symbol: 'SPADE', - }, - { - address: '0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590.jpg', - name: 'StargateToken', - symbol: 'STG', - }, - { - address: '0x08BE454de533509e8832B257116C5506E55b0b64', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x08BE454de533509e8832B257116C5506E55b0b64/logo.png', - name: 'Standard', - symbol: 'STND', - }, - { - address: '0x0b3F868E0BE5597D5DB7fEB59E1CADBb0fdDa50a', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x840195888Db4D6A99ED9F73FcD3B225Bb3cB1A79', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x840195888Db4D6A99ED9F73FcD3B225Bb3cB1A79/logo.png', - name: 'SportX', - symbol: 'SX', - }, - { - address: '0xdF7837DE1F2Fa4631D716CF2502f8b230F1dcc32', - chainId: 137, - decimals: 2, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xdF7837DE1F2Fa4631D716CF2502f8b230F1dcc32/logo.png', - name: 'Telcoin', - symbol: 'TEL', - }, - { - address: '0x255707B70BF90aa112006E1b07B9AeA6De021424', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x255707B70BF90aa112006E1b07B9AeA6De021424/logo.png', - name: 'TETU Reward Token', - symbol: 'TETU', - }, - { - address: '0xaAa5B9e6c589642f98a1cDA99B9D024B8407285A', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xaAa5B9e6c589642f98a1cDA99B9D024B8407285A/logo.png', - name: 'IRON Titanium', - symbol: 'TITAN', - }, - { - address: '0x23fE1Ee2f536427B7e8aC02FB037A7f867037Fe8', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x23fE1Ee2f536427B7e8aC02FB037A7f867037Fe8/logo.png', - name: 'Tornado Cash', - symbol: 'TORN', - }, - { - address: '0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756/logo.png', - name: 'TrueUSD', - symbol: 'TUSD', - }, - { - address: '0x12a34A6759c871C4C1E8A0A42CFc97e4D7Aaf68d', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x12a34A6759c871C4C1E8A0A42CFc97e4D7Aaf68d/logo.png', - name: 'Tutellus Token', - symbol: 'TUT', - }, - { - address: '0x2B3eCb0991AF0498ECE9135bcD04013d7993110c', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x2B3eCb0991AF0498ECE9135bcD04013d7993110c.jpg', - name: 'Universal Basic Offset', - symbol: 'UBO', - }, - { - address: '0x3066818837c5e6eD6601bd5a91B0762877A6B731', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x3066818837c5e6eD6601bd5a91B0762877A6B731/logo.png', - name: 'UMA Voting Token', - symbol: 'UMA', - }, - { - address: '0xb33EaAd8d922B1083446DC23f610c2567fB5180f', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174', - chainId: 137, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0xc2132D05D31c914a87C6611C10748AEb04B58e8F', - chainId: 137, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0xAC63686230f64BDEAF086Fe6764085453ab3023F', - chainId: 137, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xAC63686230f64BDEAF086Fe6764085453ab3023F/logo.png', - name: 'Universal Store of Value', - symbol: 'USV', - }, - { - address: '0xd0258a3fD00f38aa8090dfee343f10A9D4d30D3F', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xd0258a3fD00f38aa8090dfee343f10A9D4d30D3F/logo.png', - name: 'VOXEL Token', - symbol: 'VOXEL', - }, - { - address: '0x29F1e986FCa02B7E54138c04C4F503DdDD250558', - chainId: 137, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/polygon/0x29F1e986FCa02B7E54138c04C4F503DdDD250558.jpg', - name: 'VSQ', - symbol: 'VSQ', - }, - { - address: '0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xe20B9e246db5a0d21BF9209E4858Bc9A3ff7A034/logo.png', - name: 'Wrapped Banano', - symbol: 'wBAN', - }, - { - address: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6', - chainId: 137, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'Wrapped BTC', - symbol: 'WBTC', - }, - { - address: '0x137Ee749f0F8c2eD34cA00dE33BB59E3dafA494A', - chainId: 137, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x137Ee749f0F8c2eD34cA00dE33BB59E3dafA494A/logo.png', - name: 'WrappedConceal', - symbol: 'wCCX', - }, - { - address: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0xEde1B77C0Ccc45BFa949636757cd2cA7eF30137F', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fil.jpg', - name: 'Wrapped Filecoin', - symbol: 'wFIL', - }, - { - address: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg', - name: 'Wrapped Matic', - symbol: 'WMATIC', - }, - { - address: '0x8f18dC399594b451EdA8c5da02d0563c0b2d0f16', - chainId: 137, - decimals: 9, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/9158.png', - name: 'Moonwolf', - symbol: 'WOLF', - }, - { - address: '0x1B815d120B3eF02039Ee11dC2d33DE7aA4a8C603', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x4691937a7508860F876c9c0a2a617E7d9E945D4B/logo.png', - name: 'Wootrade', - symbol: 'WOO', - }, - { - address: '0xD0660cD418a64a1d44E9214ad8e459324D8157f1', - chainId: 137, - decimals: 12, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xD0660cD418a64a1d44E9214ad8e459324D8157f1/logo.png', - name: 'Woofy', - symbol: 'WOOFY', - }, - { - address: '0x6002410dDA2Fb88b4D0dc3c1D562F7761191eA80', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x6002410dDA2Fb88b4D0dc3c1D562F7761191eA80/logo.png', - name: 'The Employment Commons Work Token', - symbol: 'WORK', - }, - { - address: '0x855D4248672a1fCE482165e8DBE1207b94b1968a', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', - name: 'WOWSwap', - symbol: 'WOW', - }, - { - address: '0x46D502Fac9aEA7c5bC7B13C8Ec9D02378C33D36F', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x46D502Fac9aEA7c5bC7B13C8Ec9D02378C33D36F/logo.png', - name: 'WolfSafePoorPeople', - symbol: 'WSPP', - }, - { - address: '0x02649C1Ff4296038De4b9bA8F491b42b940A8252', - chainId: 137, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0x02649C1Ff4296038De4b9bA8F491b42b940A8252/logo.png', - name: 'Exchange Genesis Ethlas Medium', - symbol: 'XGEM', - }, - { - address: '0x6811079E3c63ED96Eb005384d7E7ec8810E3D521', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/xsushi.jpg', - name: 'SushiBar', - symbol: 'xSUSHI', - }, - { - address: '0xb8cb8a7F4C2885C03e57E973C74827909Fdc2032', - chainId: 137, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', - name: 'yearn.finance', - symbol: 'YFI', - }, - { - address: '0x6a07A792ab2965C72a5B8088d3a069A7aC3a993B', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', - name: 'Aave', - symbol: 'AAVE', - }, - { - address: '0x46E7628E8b4350b2716ab470eE0bA1fa9e76c6C5', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', - name: 'Band', - symbol: 'BAND', - }, - { - address: '0x5A33869045db8A6a16c9f351293501CFD92cf7ed', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x69570f3E84f51Ea70b7B68055c8d667e77735a25.jpg', - name: 'Betswap.gg', - symbol: 'BSGG', - }, - { - address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fantom/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', - name: 'Cerby Token', - symbol: 'CERBY', - }, - { - address: '0xB01E8419d842beebf1b70A7b5f7142abbaf7159D', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cover.jpg', - name: 'Cover', - symbol: 'COVER', - }, - { - address: '0x657A1861c15A3deD9AF0B6799a195a249ebdCbc6', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', - name: 'Cream', - symbol: 'CREAM', - }, - { - address: '0x1E4F97b9f9F913c46F1632781732927B9019C68b', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', - name: 'Curve DAO', - symbol: 'CRV', - }, - { - address: '0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x078EEF5A2fb533e1a4d487ef64b27DF113d12C32', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/band.jpg', - name: 'fBAND', - symbol: 'fBAND', - }, - { - address: '0x27f26F00e1605903645BbaBC0a73E35027Dccd45', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', - name: 'fBNB', - symbol: 'fBNB', - }, - { - address: '0xe1146b9AC456fCbB60644c36Fd3F868A9072fc6E', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'fBTC', - symbol: 'fBTC', - }, - { - address: '0x81740D647493a61329E1c574A11ee7577659fb14', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fchf.jpg', - name: 'fCHF', - symbol: 'fCHF', - }, - { - address: '0x24d39324CF3697Fd9Fd78714E8cdeB5Df66E3DCd', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fcny.jpg', - name: 'fCNY', - symbol: 'fCNY', - }, - { - address: '0x658b0c7613e890EE50B8C4BC6A3f41ef411208aD', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'fETH', - symbol: 'fETH', - }, - { - address: '0xe105621721D1293c27be7718e041a4Ce0EbB227E', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/feur.jpg', - name: 'fEUR', - symbol: 'fEUR', - }, - { - address: '0xcDE58e4B6c7b78B04da664Edb0a9752CC5FEDBd5', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fgbp.jpg', - name: 'fGBP', - symbol: 'fGBP', - }, - { - address: '0x2202C52C9076A49400aaccf159e1956269eaa673', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fgold.jpg', - name: 'fGold', - symbol: 'fGOLD', - }, - { - address: '0x3B74389bc23057325BaB96523DBec8c445F55799', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fjpy.jpg', - name: 'fJPY', - symbol: 'fJPY', - }, - { - address: '0x2b9C073Ec670b70F417bbaf3BbB052AA563A0a23', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fkrw.jpg', - name: 'fKRW', - symbol: 'fKRW', - }, - { - address: '0xA649A19423052dC6b320360B3C760884E095AC57', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/flink.jpg', - name: 'fLINK', - symbol: 'fLINK', - }, - { - address: '0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0xf15e88EEf35BF4709A4C3E99c00358F9247D4531', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fsilver.jpg', - name: 'fSilver', - symbol: 'fSILVER', - }, - { - address: '0xAd84341756Bf337f5a0164515b1f6F993D194E1f', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fusd.jpg', - name: 'Fantom USD', - symbol: 'fUSD', - }, - { - address: '0x049d68029688eAbF473097a2fC38ef61633A3C7A', - chainId: 250, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Frapped USDT', - symbol: 'fUSDT', - }, - { - address: '0xe297e06761a5489380538A0308B6F9b4A53Bea45', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fwtioil.jpg', - name: 'fWTI Oil', - symbol: 'fWTIOIL', - }, - { - address: '0x7d016eec9c25232b01F23EF992D98ca97fc2AF5a', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0x44B26E839eB3572c5E959F994804A5De66600349', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/hegic.jpg', - name: 'Hegic', - symbol: 'HEGIC', - }, - { - address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fantom/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', - name: 'Hundred Finance', - symbol: 'HND', - }, - { - address: '0xf16e81dce15B08F326220742020379B855B87DF9', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0xf16e81dce15B08F326220742020379B855B87DF9.jpg', - name: 'IceToken', - symbol: 'ICE', - }, - { - address: '0x2A5062D22adCFaAfbd5C541d4dA82E4B450d4212', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/kp3r.jpg', - name: 'Keep3r', - symbol: 'KP3R', - }, - { - address: '0xc2A45FE7d40bCAc8369371B08419DDAFd3131b4a', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0xc2A45FE7d40bCAc8369371B08419DDAFd3131b4a.jpg', - name: 'Lucidao Token', - symbol: 'LCD', - }, - { - address: '0xb3654dc3D10Ea7645f8319668E8F54d2574FBdC8', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'ChainLink', - symbol: 'LINK', - }, - { - address: '0x82f0B8B456c1A451378467398982d4834b6829c1', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0x82f0B8B456c1A451378467398982d4834b6829c1.jpg', - name: 'Magic Internet Money', - symbol: 'MIM', - }, - { - address: '0x7f620d7d0b3479b1655cEFB1B0Bc67fB0EF4E443', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0x7f620d7d0b3479b1655cEFB1B0Bc67fB0EF4E443.png', - name: 'NICE', - symbol: 'nICE', - }, - { - address: '0x31A47B49b4DBDC54d403b8c4880Ac9BB1A9EbAE8', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/fantom/assets/0x31A47B49b4DBDC54d403b8c4880Ac9BB1A9EbAE8/logo.png', - name: 'Pooch', - symbol: 'POOCH', - }, - { - address: '0x01c3D9CbcF40482ba0D5206f63e3f04Ef9e134D9', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sfi.jpg', - name: 'Spice', - symbol: 'SFI', - }, - { - address: '0x69c744D3444202d35a2783929a0F930f2FBB05ad', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sftm.jpg', - name: 'Staked FTM', - symbol: 'sFTM', - }, - { - address: '0x56ee926bD8c72B2d5fa1aF4d9E4Cbb515a1E3Adc', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', - name: 'Synthetix Network', - symbol: 'SNX', - }, - { - address: '0x468003B688943977e6130F4F68F23aad939a1040', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0x468003B688943977e6130F4F68F23aad939a1040.jpg', - name: 'Spell', - symbol: 'SPELL', - }, - { - address: '0xbB29D2A58d880Af8AA5859e30470134dEAf84F2B', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/fantom/0xbB29D2A58d880Af8AA5859e30470134dEAf84F2B.jpg', - name: 'Staked Spell', - symbol: 'sSPELL', - }, - { - address: '0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590', - chainId: 250, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/fantom/0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590.jpg', - name: 'StargateToken', - symbol: 'STG', - }, - { - address: '0x0E1694483eBB3b74d3054E383840C6cf011e518e', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/susd.jpg', - name: 'Synth sUSD', - symbol: 'sUSD', - }, - { - address: '0xae75A438b2E0cB8Bb01Ec1E1e376De11D44477CC', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'Sushi', - symbol: 'SUSHI', - }, - { - address: '0x04068DA6C83AFCFA0e13ba15A6696662335D5B75', - chainId: 250, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0x321162Cd933E2Be498Cd2267a90534A804051b11', - chainId: 250, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wbtc.jpg', - name: 'Wrapped Bitcoin', - symbol: 'WBTC', - }, - { - address: '0x74b23882a30290451A17c44f4F05243b6b58C76d', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ftm.jpg', - name: 'Wrapped Fantom', - symbol: 'WFTM', - }, - { - address: '0x29b0Da86e484E1C0029B56e817912d778aC0EC69', - chainId: 250, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', - name: 'yearn.finance', - symbol: 'YFI', - }, - { - address: '0x5B2DA6F42CA09C77D577a12BeaD0446148830687', - chainId: 256, - decimals: 18, - logoURI: 'https://hecoinfo.com/token/images/HT_32.png', - name: 'Wrapped HT', - symbol: 'WHT', - }, - { - address: '0x2C78f1b70Ccf63CDEe49F9233e9fAa99D43AA07e', - chainId: 1284, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'Sushi', - symbol: 'anySUSHI', - }, - { - address: '0xc234A67a4F840E61adE794be47de455361b52413', - chainId: 1284, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x322E86852e492a7Ee17f28a78c663da38FB33bfb', - chainId: 1284, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0x2CC0A9D8047A5011dEfe85328a6f26968C8aaA1C', - chainId: 1284, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0x8f552a71EFE5eeFc207Bf75485b356A0b3f01eC9', - chainId: 1284, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0x8e70cD5B4Ff3f62659049e74b6649c6603A0E594', - chainId: 1284, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0x085416975fe14C2A731a97eC38B9bF8135231F62', - chainId: 1284, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ust.jpg', - name: 'TerraUSD', - symbol: 'UST', - }, - { - address: '0x1DC78Acda13a8BC4408B207c9E48CDBc096D95e0', - chainId: 1284, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'Wrapped Bitcoin', - symbol: 'WBTC', - }, - { - address: '0x30D2a9F5FDf90ACe8c17952cbb4eE48a55D916A7', - chainId: 1284, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0xAcc15dC74880C9944775448304B263D191c6077F', - chainId: 1284, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/6836.png', - name: 'Wrapped Glimmer', - symbol: 'WGLMR', - }, - { - address: '0xf27Ee99622C3C9b264583dACB2cCE056e194494f', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', - name: 'Aave - AnySwap', - symbol: 'AAVE', - }, - { - address: '0x3D2D044E8C6dAd46b4F7896418d3d4DFaAD902bE', - chainId: 1285, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/moonriver/0x3D2D044E8C6dAd46b4F7896418d3d4DFaAD902bE.jpg', - name: 'Alpha Rome', - symbol: 'aROME', - }, - { - address: '0x14a0243C333A5b238143068dC3A7323Ba4C30ECB', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/avax.jpg', - name: 'Avax - AnySwap', - symbol: 'AVAX', - }, - { - address: '0xC2392DD3e3fED2c8Ed9f7f0bDf6026fcd1348453', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/m00nbeans/images/main/moonbeans.png', - name: 'MoonBeans', - symbol: 'BEANS', - }, - { - address: '0xCb4a593ce512D78162C58384f0b2Fd6e802c2c47', - chainId: 1285, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/moonriver/assets/0xCb4a593ce512D78162C58384f0b2Fd6e802c2c47/logo.png', - name: 'BEPRO Network', - symbol: 'BEPRO', - }, - { - address: '0x173fd7434B8B50dF08e3298f173487ebDB35FD14', - chainId: 1285, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x173fd7434B8B50dF08e3298f173487ebDB35FD14/logo.png', - name: 'Beefy Finance', - symbol: 'BIFI', - }, - { - address: '0x868892CCcEdbfF0B028F3b3595205Ea91b99376B', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bnb.jpg', - name: 'BNB - Meter', - symbol: 'BNB', - }, - { - address: '0x5D9ab5522c64E1F6ef5e3627ECCc093f56167818', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', - name: 'Binance USD - AnySwap', - symbol: 'BUSD', - }, - { - address: '0xFEa7a6a0B346362BF88A9e4A88416B77a57D6c2A', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', - name: 'Curve DAO Token - AnySwap', - symbol: 'CRV', - }, - { - address: '0x80A16016cC4A2E6a2CACA8a4a498b1699fF0f844', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Dai Stablecoin - AnySwap', - symbol: 'DAI', - }, - { - address: '0x1A93B23281CC1CDE4C4741353F3064709A16197d', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0xaD12daB5959f30b9fF3c2d6709f53C335dC39908', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/network/fantom.jpg', - name: 'Fantom', - symbol: 'FTM', - }, - { - address: '0x6f1D1Ee50846Fcbc3de91723E61cb68CFa6D0E98', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0x0dCb0CB0120d355CdE1ce56040be57Add0185BAa', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'ChainLink Token - AnySwap', - symbol: 'LINK', - }, - { - address: '0x7f5a79576620C046a293F54FFCdbd8f2468174F1', - chainId: 1285, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/polygon/assets/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1/logo.png', - name: 'Mai MiMatic', - symbol: 'MAI', - }, - { - address: '0x682F81e57EAa716504090C3ECBa8595fB54561D8', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/matic.jpg', - name: 'Matic - AnySwap', - symbol: 'MATIC', - }, - { - address: '0x0caE51e1032e8461f4806e26332c030E34De3aDb', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mim.jpg', - name: 'Magic Internet Money - AnySwap', - symbol: 'MIM', - }, - { - address: '0x1e24EC84F66cd26Dad607d81796DbeB13Cb22692', - chainId: 1285, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/solarbeamio/assets/master/blockchains/moonriver/assets/0x1e24EC84F66cd26Dad607d81796DbeB13Cb22692/logo.png', - name: 'Meter Governance', - symbol: 'MTRG', - }, - { - address: '0x8b29344f368b5FA35595325903fE0eAab70C8E1F', - chainId: 1285, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/moonriver/assets/0x8b29344f368b5FA35595325903fE0eAab70C8E1F/logo.png', - name: 'Polkamarkets', - symbol: 'POLK', - }, - { - address: '0xAd7F1844696652ddA7959a49063BfFccafafEfe7', - chainId: 1285, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/solarbeamio/assets/master/blockchains/moonriver/assets/0xAd7F1844696652ddA7959a49063BfFccafafEfe7/logo.png', - name: 'Relay', - symbol: 'RELAY', - }, - { - address: '0x5D4360f1Be94bD6f182F09cFE5EF9832e65EB1ac', - chainId: 1285, - decimals: 18, - logoURI: 'https://rivrdoge.com/wp-content/uploads/2021/09/logo.png', - name: 'RivrDoge', - symbol: 'RivrDoge', - }, - { - address: '0x3d593056F3e34dB7A4720d7F171447C489CFa195', - chainId: 1285, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/moonriver/assets/0x3d593056F3e34dB7A4720d7F171447C489CFa195/logo.png', - name: 'Rivr Shiba', - symbol: 'RIVRSHIBA', - }, - { - address: '0x4a436073552044D5f2f49B176853ad3Ad473d9d6', - chainId: 1285, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/moonriver/0x4a436073552044D5f2f49B176853ad3Ad473d9d6.jpg', - name: 'Rome', - symbol: 'ROME', - }, - { - address: '0xF480f38C366dAaC4305dC484b2Ad7a496FF00CeA', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', - name: 'Synthetix Network Token - AnySwap', - symbol: 'SNX', - }, - { - address: '0xFfc7780C34B450d917d557E728f033033CB4fA8C', - chainId: 1285, - decimals: 12, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/moonriver/0xFfc7780C34B450d917d557E728f033033CB4fA8C.jpg', - name: 'Liquid staked KSM', - symbol: 'stKSM', - }, - { - address: '0xf390830DF829cf22c53c8840554B98eafC5dCBc2', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'SushiToken - AnySwap', - symbol: 'SUSHI', - }, - { - address: '0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D', - chainId: 1285, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin - AnySwap', - symbol: 'USDC', - }, - { - address: '0xB44a9B6905aF7c801311e8F4E76932ee959c663C', - chainId: 1285, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Tether USD - AnySwap', - symbol: 'USDT', - }, - { - address: '0xE6a991Ffa8CfE62B0bf6BF72959A3d4f11B2E0f5', - chainId: 1285, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'Wrapped Bitcoin - Meter', - symbol: 'WBTC', - }, - { - address: '0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Wrapped Ether - AnySwap', - symbol: 'WETH', - }, - { - address: '0xf50225a84382c74CbdeA10b0c176f71fc3DE0C4d', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/movr.jpg', - name: 'Wrapped Moonriver', - symbol: 'WMOVR', - }, - { - address: '0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080', - chainId: 1285, - decimals: 12, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/moonriver/0xFfFFfFff1FcaCBd218EDc0EbA20Fc2308C778080.jpg', - name: 'xcKSM', - symbol: 'xcKSM', - }, - { - address: '0x375488F097176507e39B9653b88FDc52cDE736Bf', - chainId: 1285, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', - name: 'yearn.finance - AnySwap', - symbol: 'YFI', - }, - { - address: '0xd222a876B303dAe4F8e2099ba3B26ECB5A1b8521', - chainId: 1287, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/6836.png', - name: 'Custom ERC20 Token', - symbol: 'ERC20S', - }, - { - address: '0xe73763DB808ecCDC0E36bC8E32510ED126910394', - chainId: 1287, - decimals: 18, - logoURI: 'https://s2.coinmarketcap.com/static/img/coins/64x64/6836.png', - name: 'Wrapped Glimmer', - symbol: 'WGLMR', - }, - { - address: '0x91ea991bd52EE3C40EdA2509701d905e1Ee54074', - chainId: 4002, - decimals: 18, - logoURI: 'https://cdn.worldvectorlogo.com/logos/usd-1.svg', - name: 'Fantom USD', - symbol: 'FUSD', - }, - { - address: '0xf1277d1Ed8AD466beddF92ef448A132661956621', - chainId: 4002, - decimals: 18, - logoURI: 'https://cryptologos.cc/logos/fantom-ftm-logo.svg?v=003', - name: 'Wrapped Fantom', - symbol: 'WFTM', - }, - { - address: '0x155f0DD04424939368972f4e1838687d6a831151', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/doge.jpg', - name: 'ArbiDoge', - symbol: 'ADoge', - }, - { - address: '0x0e15258734300290a651FdBAe8dEb039a8E7a2FA', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/alch.jpg', - name: 'Alchemy', - symbol: 'ALCH', - }, - { - address: '0x1a7BD9EDC36Fb2b3c0852bcD7438c2A957Fd7Ad5', - chainId: 42161, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/ArbiMoonXyz/MyFiles/main/arbimoon.jpg', - name: 'ArbiMoon', - symbol: 'aMoon', - }, - { - address: '0x9f20de1fc9b161b34089cbEAE888168B44b03461', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x9f20de1fc9b161b34089cbEAE888168B44b03461/logo.png', - name: 'Arbis', - symbol: 'ARBIS', - }, - { - address: '0x09ad12552ec45f82bE90B38dFE7b06332A680864', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x09ad12552ec45f82bE90B38dFE7b06332A680864/logo.png', - name: 'Adamant Token', - symbol: 'ARBY', - }, - { - address: '0x86A1012d437BBFf84fbDF62569D12d4FD3396F8c', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x86A1012d437BBFf84fbDF62569D12d4FD3396F8c/logo.png', - name: 'Arbys', - symbol: 'ARBYS', - }, - { - address: '0xA6219B4Bf4B861A2b1C02da43b2aF266186eDC04', - chainId: 42161, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xA6219B4Bf4B861A2b1C02da43b2aF266186eDC04/logo.png', - name: 'ArVault', - symbol: 'ARVAULT', - }, - { - address: '0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/bal.jpg', - name: 'Balancer', - symbol: 'BAL', - }, - { - address: '0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x99C409E5f62E4bd2AC142f17caFb6810B8F0BAAE/logo.png', - name: 'Beefy Finance', - symbol: 'BIFI', - }, - { - address: '0xAFD871f684F21Ab9D7137608C71808f83D75e6fc', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xAFD871f684F21Ab9D7137608C71808f83D75e6fc/logo.png', - name: 'Arbucks', - symbol: 'BUCK', - }, - { - address: '0x031d35296154279DC1984dCD93E392b1f946737b', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cap.jpg', - name: 'Cap', - symbol: 'CAP', - }, - { - address: '0x3a8B787f78D775AECFEEa15706D4221B40F345AB', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celr.jpg', - name: 'CelerToken', - symbol: 'CELR', - }, - { - address: '0x354A6dA3fcde098F8389cad84b0182725c6C91dE', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/comp.jpg', - name: 'Compound', - symbol: 'COMP', - }, - { - address: '0xf4D48Ce3ee1Ac3651998971541bAdbb9A14D7234', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cream.jpg', - name: 'Cream', - symbol: 'CREAM', - }, - { - address: '0xc136E6B376a9946B156db1ED3A34b08AFdAeD76d', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xc136E6B376a9946B156db1ED3A34b08AFdAeD76d/logo.png', - name: 'CreDA Protocol Token', - symbol: 'CREDA', - }, - { - address: '0x11cDb42B0EB46D95f990BeDD4695A6e3fA034978', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/crv.jpg', - name: 'Curve DAO Token', - symbol: 'CRV', - }, - { - address: '0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1/logo.png', - name: 'DAI Stablecoin', - symbol: 'DAI', - }, - { - address: '0x69Eb4FA4a2fbd498C257C57Ea8b7655a2559A581', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dodo.jpg', - name: 'DODO bird', - symbol: 'DODO', - }, - { - address: '0x4425742F1EC8D98779690b5A3A6276Db85Ddc01A', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xBAac2B4491727D78D2b78815144570b9f2Fe8899/logo.png', - name: 'The Doge NFT', - symbol: 'DOG', - }, - { - address: '0x6C2C06790b3E3E3c38e12Ee22F8183b37a13EE55', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x6C2C06790b3E3E3c38e12Ee22F8183b37a13EE55/logo.png', - name: 'Dopex Governance Token', - symbol: 'DPX', - }, - { - address: '0xF0B5cEeFc89684889e5F7e0A7775Bd100FcD3709', - chainId: 42161, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xF0B5cEeFc89684889e5F7e0A7775Bd100FcD3709/logo.png', - name: 'DigitalDollar', - symbol: 'DUSD', - }, - { - address: '0xA7Aa2921618e3D63dA433829d448b58C9445A4c3', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xDDdddd4301A082e62E84e43F474f044423921918/logo.png', - name: 'DeversiFi Token', - symbol: 'DVF', - }, - { - address: '0xC3Ae0333F0F34aa734D5493276223d95B8F9Cb37', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dxd.jpg', - name: 'DXdao', - symbol: 'DXD', - }, - { - address: '0x969131D8ddC06C2Be11a13e6E7fACF22CF57d95e', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eux.jpg', - name: 'dForce EUR', - symbol: 'EUX', - }, - { - address: '0x876Ec6bE52486Eeec06bc06434f3E629D695c6bA', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x876Ec6bE52486Eeec06bc06434f3E629D695c6bA/logo.png', - name: 'FluidFi', - symbol: 'FLUID', - }, - { - address: '0x2338a5d62E9A766289934e8d2e83a443e8065b83', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0x2338a5d62E9A766289934e8d2e83a443e8065b83.jpg', - name: 'Flux Protocol', - symbol: 'FLUX', - }, - { - address: '0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0xBDeF0E9ef12E689F366fe494A7A7D0dad25D9286', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fuse.jpg', - name: 'Fuse Token', - symbol: 'FUSE', - }, - { - address: '0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0x590020B1005b8b25f1a2C82c5f743c540dcfa24d', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/gmx.jpg', - name: 'GMX', - symbol: 'GMX', - }, - { - address: '0xa0b862F60edEf4452F25B4160F177db44DeB6Cf1', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/gno.jpg', - name: 'Gnosis Token', - symbol: 'GNO', - }, - { - address: '0x8D9bA570D6cb60C7e3e0F31343Efe75AB8E65FB1', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x8D9bA570D6cb60C7e3e0F31343Efe75AB8E65FB1/logo.png', - name: 'Governance OHM', - symbol: 'gOHM', - }, - { - address: '0x23A941036Ae778Ac51Ab04CEa08Ed6e2FE103614', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/grt.jpg', - name: 'Graph Token', - symbol: 'GRT', - }, - { - address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', - name: 'Hundred Finance', - symbol: 'HND', - }, - { - address: '0xCB58418Aa51Ba525aEF0FE474109C0354d844b7c', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0xCB58418Aa51Ba525aEF0FE474109C0354d844b7c.jpg', - name: 'Ice Token', - symbol: 'ICE', - }, - { - address: '0xB41bd4C99dA73510d9e081C5FADBE7A27Ac1F814', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xB41bd4C99dA73510d9e081C5FADBE7A27Ac1F814/logo.png', - name: 'Ideamarket', - symbol: 'IMO', - }, - { - address: '0xF018865b26fFAb9cd1735DCca549D95b0CB9Ea19', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0xF018865b26fFAb9cd1735DCca549D95b0CB9Ea19.jpg', - name: 'Jones DPX', - symbol: 'jDPX', - }, - { - address: '0x662d0f9Ff837A51cF89A1FE7E0882a906dAC08a3', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x662d0f9Ff837A51cF89A1FE7E0882a906dAC08a3.jpg', - name: 'Jones ETH', - symbol: 'jETH', - }, - { - address: '0x5375616bB6c52A90439fF96882a986d8FCdCe421', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x5375616bB6c52A90439fF96882a986d8FCdCe421.jpg', - name: 'Jones gOHM', - symbol: 'jgOHM', - }, - { - address: '0x10393c20975cF177a3513071bC110f7962CD67da', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x10393c20975cF177a3513071bC110f7962CD67da.jpg', - name: 'Jones DAO', - symbol: 'JONES', - }, - { - address: '0x1f6Fa7A58701b3773b08a1a16D06b656B0eCcb23', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x1f6Fa7A58701b3773b08a1a16D06b656B0eCcb23.jpg', - name: 'Jones rDPX', - symbol: 'jrDPX', - }, - { - address: '0xf97f4df75117a78c1A5a0DBb814Af92458539FB4', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'ChainLink Token', - symbol: 'LINK', - }, - { - address: '0x539bdE0d7Dbd336b79148AA742883198BBF60342', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x539bdE0d7Dbd336b79148AA742883198BBF60342/logo.png', - name: 'MAGIC', - symbol: 'MAGIC', - }, - { - address: '0x8eD4191F81F1e1D24a8a1195267D024d9358c9d7', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/Magnethereum/MyFiles/main/magnethereum.jpg', - name: 'Magnethereum', - symbol: 'MAGNET', - }, - { - address: '0x99F40b01BA9C469193B360f72740E416B17Ac332', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/math.jpg', - name: 'MATH Token', - symbol: 'MATH', - }, - { - address: '0x4e352cF164E64ADCBad318C3a1e222E9EBa4Ce42', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mcb.jpg', - name: 'MCDEX Token', - symbol: 'MCB', - }, - { - address: '0xFEa7a6a0B346362BF88A9e4A88416B77a57D6c2A', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mim.jpg', - name: 'Magic Internet Money', - symbol: 'MIM', - }, - { - address: '0x2e9a6Df78E42a30712c10a9Dc4b1C8656f8F2879', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mkr.jpg', - name: 'Maker', - symbol: 'MKR', - }, - { - address: '0xeD3fB761414DA74b74F33e5c5a1f78104b188DfC', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/nyan.jpg', - name: 'ArbiNYAN', - symbol: 'NYAN', - }, - { - address: '0xEe9801669C6138E84bD50dEB500827b776777d28', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xEe9801669C6138E84bD50dEB500827b776777d28/logo.png', - name: 'O3 Swap Token', - symbol: 'O3', - }, - { - address: '0x3642c0680329ae3e103E2B5AB29DDfed4d43CBE5', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/pl2.jpg', - name: 'Plenny', - symbol: 'PL2', - }, - { - address: '0x78055dAA07035Aa5EBC3e5139C281Ce6312E1b22', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x78055dAA07035Aa5EBC3e5139C281Ce6312E1b22/logo.png', - name: 'Parrot Egg', - symbol: 'PPEGG', - }, - { - address: '0x51fC0f6660482Ea73330E414eFd7808811a57Fa2', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/premia.jpg', - name: 'Premia', - symbol: 'PREMIA', - }, - { - address: '0x32Eb7902D4134bf98A28b963D26de779AF92A212', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x32Eb7902D4134bf98A28b963D26de779AF92A212.jpg', - name: 'Dopex Rebate Token', - symbol: 'RDPX', - }, - { - address: '0xef888bcA6AB6B1d26dbeC977C455388ecd794794', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rgt.jpg', - name: 'Rari Governance Token', - symbol: 'RGT', - }, - { - address: '0x7bA4a00d54A07461D9DB2aEF539e91409943AdC9', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sdt.jpg', - name: 'Stake DAO Token', - symbol: 'SDT', - }, - { - address: '0x3E6648C5a70A150A88bCE65F4aD4d506Fe15d2AF', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0x3E6648C5a70A150A88bCE65F4aD4d506Fe15d2AF.jpg', - name: 'Spell Token', - symbol: 'SPELL', - }, - { - address: '0xF7428FFCb2581A2804998eFbB036A43255c8A8D3', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/arbitrum/0xF7428FFCb2581A2804998eFbB036A43255c8A8D3.jpg', - name: 'Staked Spell Token', - symbol: 'sSPELL', - }, - { - address: '0x6694340fc020c5E6B96567843da2df01b2CE1eb6', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/arbitrum/0x6694340fc020c5E6B96567843da2df01b2CE1eb6.jpg', - name: 'StargateToken', - symbol: 'STG', - }, - { - address: '0x326c33FD1113c1F29B35B4407F3d6312a8518431', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x326c33FD1113c1F29B35B4407F3d6312a8518431/logo.png', - name: 'Strips Token', - symbol: 'STRP', - }, - { - address: '0xA970AF1a584579B618be4d69aD6F73459D112F95', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/susd.jpg', - name: 'Synth sUSD', - symbol: 'sUSD', - }, - { - address: '0xd4d42F0b6DEF4CE0383636770eF773390d85c61A', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0x955b9fe60a5b5093df9Dc4B1B18ec8e934e77162', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/swpr.jpg', - name: 'Swapr', - symbol: 'SWPR', - }, - { - address: '0xA72159FC390f0E3C6D415e658264c7c4051E9b87', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xA72159FC390f0E3C6D415e658264c7c4051E9b87/logo.png', - name: 'Tracer', - symbol: 'TCR', - }, - { - address: '0x1622bF67e6e5747b81866fE0b85178a93C7F86e3', - chainId: 42161, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x1622bF67e6e5747b81866fE0b85178a93C7F86e3/logo.png', - name: 'Umami', - symbol: 'UMAMI', - }, - { - address: '0xFa7F8980b0f1E64A2062791cc3b0871572f1F7f0', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8', - chainId: 42161, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9', - chainId: 42161, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0xcd14C3A2ba27819B352aae73414A26e2b366dC50', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usx.jpg', - name: 'dForce USD', - symbol: 'USX', - }, - { - address: '0x995C235521820f2637303Ca1970c7c044583df44', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/visr.jpg', - name: 'VISOR', - symbol: 'VISR', - }, - { - address: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f', - chainId: 42161, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'Wrapped BTC', - symbol: 'WBTC', - }, - { - address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0xcAFcD85D8ca7Ad1e1C6F82F651fA15E33AEfD07b', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/woo.jpg', - name: 'Wootrade Network', - symbol: 'WOO', - }, - { - address: '0x739ca6D71365a08f584c8FC4e1029045Fa8ABC4B', - chainId: 42161, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0x739ca6D71365a08f584c8FC4e1029045Fa8ABC4B/logo.png', - name: 'Wrapped sOHM', - symbol: 'wsOHM', - }, - { - address: '0x82e3A8F066a6989666b031d916c43672085b1582', - chainId: 42161, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', - name: 'yearn.finance', - symbol: 'YFI', - }, - { - address: '0xdb96f8efd6865644993505318cc08FF9C42fb9aC', - chainId: 42161, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/arbitrum/assets/0xdb96f8efd6865644993505318cc08FF9C42fb9aC/logo.png', - name: 'ZeroTwOhm', - symbol: 'Z2O', - }, - { - address: '0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C/logo.png', - name: 'Beefy Finance', - symbol: 'BIFI', - }, - { - address: '0xD629eb00dEced2a080B7EC630eF6aC117e614f1b', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/wbtc.jpg', - name: 'wrapped.com Bitcoin', - symbol: 'cBTC', - }, - { - address: '0xD90BBdf5904cb7d275c41f897495109B9A5adA58', - chainId: 42220, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cdoge.jpg', - name: 'CeloDoge', - symbol: 'cDOGE', - }, - { - address: '0x471EcE3750Da237f93B8E339c536989b8978a438', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/celo.jpg', - name: 'Celo Native Asset', - symbol: 'CELO', - }, - { - address: '0x2DEf4285787d58a2f811AF24755A8150622f4361', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/weth.jpg', - name: 'wrapped.com Ethereum', - symbol: 'cETH', - }, - { - address: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ceur.jpg', - name: 'Celo Euro', - symbol: 'cEUR', - }, - { - address: '0x5927fd244E11dB1c7b1215619144d2aAbAc80a4F', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x5927fd244E11dB1c7b1215619144d2aAbAc80a4F/logo.png', - name: 'CeloLaunch', - symbol: 'CLA', - }, - { - address: '0x32A9FE697a32135BFd313a6Ac28792DaE4D9979d', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cmco2.jpg', - name: 'Celo Moss Carbon Credit', - symbol: 'cMCO2', - }, - { - address: '0xF3608F846cA73147F08FdE8D57f45E27CeEA4d61', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0xF3608F846cA73147F08FdE8D57f45E27CeEA4d61/logo.png', - name: 'MetaCelo', - symbol: 'cMeta', - }, - { - address: '0x22401536505dd5d85F7d57f8B37172feDa8f499d', - chainId: 42220, - decimals: 9, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cshiba.jpg', - name: 'CeloShiba', - symbol: 'cSHIBA', - }, - { - address: '0x765DE816845861e75A25fCA122bb6898B8B1282a', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cusd.jpg', - name: 'Celo Dollar', - symbol: 'cUSD', - }, - { - address: '0x832F03bCeE999a577cb592948983E35C048B5Aa4', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/cxof.jpg', - name: 'Duniapay West African CFA franc', - symbol: 'cXOF', - }, - { - address: '0x90Ca507a5D4458a4C6C6249d186b6dCb02a5BCCd', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x90Ca507a5D4458a4C6C6249d186b6dCb02a5BCCd/logo.png', - name: 'Optics Dai v2', - symbol: 'DAI', - }, - { - address: '0xE4fE50cdD716522A56204352f00AA110F731932d', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Optics DAI v1', - symbol: 'DAIv1', - }, - { - address: '0x7037F7296B2fc7908de7b57a89efaa8319f0C500', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mcelo.jpg', - name: 'Moola CELO', - symbol: 'mCELO', - }, - { - address: '0xa8d0E6799FF3Fd19c6459bf02689aE09c4d78Ba7', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mceur.jpg', - name: 'Moola cEUR', - symbol: 'mcEUR', - }, - { - address: '0x64dEFa3544c695db8c535D289d843a189aa26b98', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/mcusd.jpg', - name: 'Moola cUSD', - symbol: 'mcUSD', - }, - { - address: '0x73a210637f6F6B7005512677Ba6B3C96bb4AA44B', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x73a210637f6F6B7005512677Ba6B3C96bb4AA44B/logo.png', - name: 'Mobius DAO Token', - symbol: 'MOBI', - }, - { - address: '0x46c9757C5497c5B1f2eb73aE79b6B67D119B0B58', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x46c9757C5497c5B1f2eb73aE79b6B67D119B0B58/logo.png', - name: 'impactMarket', - symbol: 'PACT', - }, - { - address: '0x1a8Dbe5958c597a744Ba51763AbEBD3355996c3e', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/rcelo.jpg', - name: 'Rewards CELO', - symbol: 'rCELO', - }, - { - address: '0x2879BFD5e7c4EF331384E908aaA3Bd3014b703fA', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/scelo.jpg', - name: 'Savings CELO', - symbol: 'sCELO', - }, - { - address: '0x74c0C58B99b68cF16A717279AC2d056A34ba2bFe', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x74c0C58B99b68cF16A717279AC2d056A34ba2bFe/logo.png', - name: 'Source', - symbol: 'SOURCE', - }, - { - address: '0x29dFce9c22003A4999930382Fd00f9Fd6133Acd1', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x29dFce9c22003A4999930382Fd00f9Fd6133Acd1/logo.png', - name: 'Optics SushiToken v2', - symbol: 'SUSHI', - }, - { - address: '0xD15EC721C2A896512Ad29C671997DD68f9593226', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'Optics SushiToken v1', - symbol: 'SUSHIv1', - }, - { - address: '0x00Be915B9dCf56a3CBE739D9B9c202ca692409EC', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ube.jpg', - name: 'Ubeswap', - symbol: 'UBE', - }, - { - address: '0xef4229c8c3250C675F21BCefa42f58EfbfF6002a', - chainId: 42220, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0xef4229c8c3250C675F21BCefa42f58EfbfF6002a/logo.png', - name: 'Optics USDC v2', - symbol: 'USDC', - }, - { - address: '0x1bfc26cE035c368503fAE319Cc2596716428ca44', - chainId: 42220, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets//logo.png', - name: 'Optics USDC v2 POS', - symbol: 'USDC-POS', - }, - { - address: '0x2A3684e9Dc20B857375EA04235F2F7edBe818FA7', - chainId: 42220, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'Optics USDC v1', - symbol: 'USDCv1', - }, - { - address: '0x88eeC49252c8cbc039DCdB394c0c2BA2f1637EA0', - chainId: 42220, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x88eeC49252c8cbc039DCdB394c0c2BA2f1637EA0/logo.png', - name: 'Optics USDT v2', - symbol: 'USDT', - }, - { - address: '0xb020D981420744F6b0FedD22bB67cd37Ce18a1d5', - chainId: 42220, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Optics USDT v1', - symbol: 'USDTv1', - }, - { - address: '0xBAAB46E28388d2779e6E31Fd00cF0e5Ad95E327B', - chainId: 42220, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0xBAAB46E28388d2779e6E31Fd00cF0e5Ad95E327B/logo.png', - name: 'Optics WBTC v2', - symbol: 'WBTC', - }, - { - address: '0xBe50a3013A1c94768A1ABb78c3cB79AB28fc1aCE', - chainId: 42220, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'Optics WBTC v1', - symbol: 'WBTCv1', - }, - { - address: '0x122013fd7dF1C6F636a5bb8f03108E876548b455', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x122013fd7dF1C6F636a5bb8f03108E876548b455/logo.png', - name: 'Optics WETH v2', - symbol: 'WETH', - }, - { - address: '0xE919F65739c26a42616b7b8eedC6b5524d1e3aC4', - chainId: 42220, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Optics WETH v1', - symbol: 'WETHv1', - }, - { - address: '0x2E3487F967DF2Ebc2f236E16f8fCAeac7091324D', - chainId: 42220, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/celo/assets/0x2E3487F967DF2Ebc2f236E16f8fCAeac7091324D/logo.png', - name: 'Optics WMATIC', - symbol: 'WMATIC', - }, - { - address: '0xd00ae08403B9bbb9124bB305C09058E32C39A48c', - chainId: 43113, - decimals: 18, - logoURI: 'https://cryptologos.cc/logos/avalanche-avax-logo.png?v=010', - name: 'Wrapped AVAX', - symbol: 'WAVAX', - }, - { - address: '0x63a72806098Bd3D9520cC43356dD78afe5D386D9', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x63a72806098Bd3D9520cC43356dD78afe5D386D9.jpg', - name: 'Aave Token', - symbol: 'AAVE', - }, - { - address: '0x63682bDC5f875e9bF69E201550658492C9763F89', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/ethereum/0x69570f3E84f51Ea70b7B68055c8d667e77735a25.jpg', - name: 'Betswap.gg', - symbol: 'BSGG', - }, - { - address: '0xdef1fac7Bf08f173D286BbBDcBeeADe695129840', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xdef1fac7Bf08f173D286BbBDcBeeADe695129840/logo.png', - name: 'Cerby Token', - symbol: 'CERBY', - }, - { - address: '0xd586E7F844cEa2F87f50152665BCbc2C279D8d70', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xd586E7F844cEa2F87f50152665BCbc2C279D8d70.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64', - chainId: 43114, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0x214DB107654fF987AD859F34125307783fC8e387', - chainId: 43114, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0x5541D83EFaD1f281571B343977648B75d95cdAC2', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x5541D83EFaD1f281571B343977648B75d95cdAC2/logo.png', - name: 'Grape Finance', - symbol: 'GRAPE', - }, - { - address: '0xCDEB5641dC5BF05845317B00643A713CCC3b22e6', - chainId: 43114, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ht.jpg', - name: 'Huobi', - symbol: 'HT', - }, - { - address: '0xe0Ce60AF0850bF54072635e66E79Df17082A1109', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x4e1581f01046eFDd7a1a2CDB0F82cdd7F71F2E59.jpg', - name: 'Ice Token', - symbol: 'ICE', - }, - { - address: '0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd', - chainId: 43114, - decimals: 18, - logoURI: 'https://snowtrace.io/token/images/traderjoe_32.png', - name: 'JoeToken', - symbol: 'JOE', - }, - { - address: '0x5947BB275c521040051D82396192181b413227A3', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x5947BB275c521040051D82396192181b413227A3.jpg', - name: 'ChainLink Token', - symbol: 'LINK', - }, - { - address: '0xA56B1b9f4e5A1A1e0868F5Fd4352ce7CdF0C2A4F', - chainId: 43114, - decimals: 19, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/matic.jpg', - name: 'Matic', - symbol: 'MATIC', - }, - { - address: '0x130966628846BFd36ff31a822705796e8cb8C18D', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x130966628846BFd36ff31a822705796e8cb8C18D.jpg', - name: 'Magic Internet Money', - symbol: 'MIM', - }, - { - address: '0xF873633DF9D5cDd62BB1f402499CC470a72A02D7', - chainId: 43114, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/movr.jpg', - name: 'MoonRiver', - symbol: 'MOVR', - }, - { - address: '0xD036414fa2BCBb802691491E323BFf1348C5F4Ba', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/avalanche/0xD036414fa2BCBb802691491E323BFf1348C5F4Ba.jpg', - name: 'Mu Coin', - symbol: 'MU', - }, - { - address: '0x39cf1BD5f15fb22eC3D9Ff86b0727aFc203427cc', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x39cf1BD5f15fb22eC3D9Ff86b0727aFc203427cc.jpg', - name: 'Old SushiToken', - symbol: 'oldSUSHI', - }, - { - address: '0xde3A24028580884448a5397872046a019649b084', - chainId: 43114, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xc7198437980c041c805A1EDcbA50c1Ce5db95118.jpg', - name: 'Old Tether USD', - symbol: 'oldUSDT', - }, - { - address: '0xf20d962a6c8f70c731bd838a3a388D7d48fA6e15', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xf20d962a6c8f70c731bd838a3a388D7d48fA6e15.jpg', - name: 'Old Wrapped Ether', - symbol: 'oldWETH', - }, - { - address: '0x237917E8a998b37759c8EE2fAa529D60c66c2927', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/avalanche/0x237917E8a998b37759c8EE2fAa529D60c66c2927.jpg', - name: 'Sifu', - symbol: 'sifu', - }, - { - address: '0xCE1bFFBD5374Dac86a2893119683F4911a2F7814', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xCE1bFFBD5374Dac86a2893119683F4911a2F7814.jpg', - name: 'Spell Token', - symbol: 'SPELL', - }, - { - address: '0x3Ee97d514BBef95a2f110e6B9b73824719030f7a', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x3Ee97d514BBef95a2f110e6B9b73824719030f7a.jpg', - name: 'Staked Spell Token', - symbol: 'sSPELL', - }, - { - address: '0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/list/master/logos/token-logos/network/avalanche/0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590.jpg', - name: 'StargateToken', - symbol: 'STG', - }, - { - address: '0x37B608519F91f70F2EeB0e5Ed9AF4061722e4F76', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x37B608519F91f70F2EeB0e5Ed9AF4061722e4F76.jpg', - name: 'SushiToken', - symbol: 'SUSHI', - }, - { - address: '0xb54f16fB19478766A268F172C9480f8da1a7c9C3', - chainId: 43114, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xb54f16fB19478766A268F172C9480f8da1a7c9C3.jpg', - name: 'Time', - symbol: 'TIME', - }, - { - address: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', - chainId: 43114, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664', - chainId: 43114, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC.e', - }, - { - address: '0xc7198437980c041c805A1EDcbA50c1Ce5db95118', - chainId: 43114, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xc7198437980c041c805A1EDcbA50c1Ce5db95118.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7.jpg', - name: 'Wrapped AVAX', - symbol: 'WAVAX', - }, - { - address: '0x50b7545627a5162F82A992c33b87aDc75187B218', - chainId: 43114, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x50b7545627a5162F82A992c33b87aDc75187B218.jpg', - name: 'Wrapped BTC', - symbol: 'WBTC', - }, - { - address: '0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0xC55036B5348CfB45a932481744645985010d3A44', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0xC55036B5348CfB45a932481744645985010d3A44/logo.png', - name: 'Wine Shares', - symbol: 'WINE', - }, - { - address: '0x0da67235dD5787D67955420C84ca1cEcd4E5Bb3b', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/logos/main/network/avalanche/0x0da67235dD5787D67955420C84ca1cEcd4E5Bb3b.jpg', - name: 'Wrapped Memo', - symbol: 'wMEMO', - }, - { - address: '0xA384Bc7Cdc0A93e686da9E7B8C0807cD040F4E0b', - chainId: 43114, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/ethereum/assets/0x3405A1bd46B85c5C029483FbECf2F3E611026e45/logo.png', - name: 'WOWSwap', - symbol: 'WOW', - }, - { - address: '0x57319d41F71E81F3c65F2a47CA4e001EbAFd4F33', - chainId: 43114, - decimals: 18, - logoURI: 'https://snowtrace.io/token/images/xjoe_32.png', - name: 'JoeBar', - symbol: 'xJOE', - }, - { - address: '0xcB1e72786A6eb3b44C2a2429e317c8a2462CFeb1', - chainId: 80001, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x714550C2C1Ea08688607D86ed8EeF4f5E4F22323', - chainId: 80001, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png', - name: 'Ether', - symbol: 'ETH', - }, - { - address: '0xE03489D4E90b22c59c5e23d45DFd59Fc0dB8a025', - chainId: 80001, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sand.jpg', - name: 'The Sandbox', - symbol: 'SAND', - }, - { - address: '0x3813e82e6f7098b9583FC0F33a962D02018B6803', - chainId: 80001, - decimals: 6, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', - chainId: 80001, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0/logo.png', - name: 'Wrapped Matic', - symbol: 'WMATIC', - }, - { - address: '0xdc54046c0451f9269FEe1840aeC808D36015697d', - chainId: 1666600000, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xdc54046c0451f9269FEe1840aeC808D36015697d/logo.png', - name: '1BTC', - symbol: '1BTC', - }, - { - address: '0x58f1b044d8308812881a1433d9Bbeff99975e70C', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/1inch.jpg', - name: '1INCH Token', - symbol: '1INCH', - }, - { - address: '0xcF323Aad9E522B93F11c352CaA519Ad0E14eB40F', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/aave.jpg', - name: 'Aave Token', - symbol: 'AAVE', - }, - { - address: '0x14A7B318fED66FfDcc80C1517C172c13852865De', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x14A7B318fED66FfDcc80C1517C172c13852865De/logo.png', - name: 'Axie Infinity Shard', - symbol: 'AXS', - }, - { - address: '0x6aB6d61428fde76768D7b45D8BFeec19c6eF91A8', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x6aB6d61428fde76768D7b45D8BFeec19c6eF91A8/logo.png', - name: 'Beefy Finance', - symbol: 'BIFI', - }, - { - address: '0x582617bD8Ca80d22D4432E63Fda52D74dcDCEe4c', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/ada.jpg', - name: 'Cardano Token', - symbol: 'bscADA', - }, - { - address: '0x0aB43550A6915F9f67d0c454C2E90385E6497EaA', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', - name: 'BUSD Token', - symbol: 'bscBUSD', - }, - { - address: '0x08CB2917245BBE75C8C9c6Dc4a7B3765Dae02b31', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dot.jpg', - name: 'Polkadot Token', - symbol: 'bscDOT', - }, - { - address: '0x3095c7557bCb296ccc6e363DE01b760bA031F2d9', - chainId: 1666600000, - decimals: 8, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/btc.jpg', - name: 'Bitcoin', - symbol: 'BTC', - }, - { - address: '0xE176EBE47d621b984a73036B9DA5d834411ef734', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/busd.jpg', - name: 'Binance USD', - symbol: 'BUSD', - }, - { - address: '0xBbD83eF0c9D347C85e60F1b5D2c58796dBE1bA0d', - chainId: 1666600000, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xBbD83eF0c9D347C85e60F1b5D2c58796dBE1bA0d/logo.png', - name: 'Cheese', - symbol: 'CHEEZ', - }, - { - address: '0x0D625029E21540aBdfAFa3BFC6FD44fB4e0A66d0', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x0D625029E21540aBdfAFa3BFC6FD44fB4e0A66d0/logo.png', - name: 'ColonyToken', - symbol: 'CLNY', - }, - { - address: '0xEf977d2f931C1978Db5F6747666fa1eACB0d0339', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x6983D1E6DEf3690C4d616b13597A09e6193EA013', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Ether', - symbol: 'ETH', - }, - { - address: '0x0159ED2E06DDCD46a25E74eb8e159Ce666B28687', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x0159ED2E06DDCD46a25E74eb8e159Ce666B28687/logo.png', - name: 'FarmersOnly Token2', - symbol: 'FOX', - }, - { - address: '0xFa7191D292d5633f702B0bd7E3E3BcCC0e633200', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/frax.jpg', - name: 'Frax', - symbol: 'FRAX', - }, - { - address: '0x0767D8E1b05eFA8d6A301a65b324B6b66A1CC14c', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/fxs.jpg', - name: 'Frax Share', - symbol: 'FXS', - }, - { - address: '0x10010078a54396F62c96dF8532dc2B4847d47ED3', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x10010078a54396F62c96dF8532dc2B4847d47ED3/logo.png', - name: 'Hundred Finance', - symbol: 'HND', - }, - { - address: '0x40d2f81bD135B5282CB2aA18F19cF7098079D012', - chainId: 1666600000, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x40d2f81bD135B5282CB2aA18F19cF7098079D012/logo.png', - name: 'Ikura', - symbol: 'IKURA', - }, - { - address: '0x2F459Dd7CBcC9D8323621f6Fb430Cd0555411E7B', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://d1xrz6ki9z98vb.cloudfront.net/venomswap/tokens/JENN.png', - name: 'TokenJenny', - symbol: 'JENN', - }, - { - address: '0x218532a12a389a4a92fC0C5Fb22901D1c19198aA', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/link.jpg', - name: 'ChainLink Token', - symbol: 'LINK', - }, - { - address: '0x7d0546dBb1Dca8108d99Aa389A8e9Ce0C40B2370', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://swoop-exchange.s3-us-west-1.amazonaws.com/tokens/LMA.png', - name: 'LMA-Art-Gallery', - symbol: 'LMA', - }, - { - address: '0x95CE547D730519A90dEF30d647F37D9E5359B6Ae', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x95CE547D730519A90dEF30d647F37D9E5359B6Ae/logo.png', - name: 'Wrapped LUNA Token', - symbol: 'LUNA', - }, - { - address: '0x892D81221484F690C0a97d3DD18B9144A3ECDFB7', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x892D81221484F690C0a97d3DD18B9144A3ECDFB7/logo.png', - name: 'Magic', - symbol: 'MAGIC', - }, - { - address: '0x301259f392B551CA8c592C9f676FCD2f9A0A84C5', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/polygon.jpg', - name: 'Matic Token', - symbol: 'MATIC', - }, - { - address: '0x725553bc9Aa0939362671407dfDEb162DD37d168', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x725553bc9Aa0939362671407dfDEb162DD37d168/logo.png', - name: 'Metatr.one', - symbol: 'MET', - }, - { - address: '0x1b2bc2683F85bFb9c4C90e8322d62A20B97cF87D', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x1b2bc2683F85bFb9c4C90e8322d62A20B97cF87D/logo.png', - name: 'Million', - symbol: 'MM', - }, - { - address: '0x947394294F75D7502977AC6813FD99f77C2931ec', - chainId: 1666600000, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x947394294F75D7502977AC6813FD99f77C2931ec/logo.png', - name: 'ODAO', - symbol: 'ODAO', - }, - { - address: '0xc1873199284B4490A4AACbE7CD6710Dc6aA95e08', - chainId: 1666600000, - decimals: 8, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xc1873199284B4490A4AACbE7CD6710Dc6aA95e08/logo.png', - name: 'ONEUSD', - symbol: 'ONEUSD', - }, - { - address: '0x01A4b054110d57069c1658AFBC46730529A3E326', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x01A4b054110d57069c1658AFBC46730529A3E326/logo.png', - name: 'OpenSwap', - symbol: 'OpenX', - }, - { - address: '0xED0B4b0F0E2c17646682fc98ACe09feB99aF3adE', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xED0B4b0F0E2c17646682fc98ACe09feB99aF3adE/logo.png', - name: 'Reverse Protocol', - symbol: 'RVRS', - }, - { - address: '0x7b9c523d59AeFd362247Bd5601A89722e3774dD2', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/snx.jpg', - name: 'Synthetix Network Token', - symbol: 'SNX', - }, - { - address: '0x22D62b19b7039333ad773b7185BB61294F3AdC19', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x22D62b19b7039333ad773b7185BB61294F3AdC19/logo.png', - name: 'Staked One', - symbol: 'stONE', - }, - { - address: '0xBEC775Cb42AbFa4288dE81F387a9b1A3c4Bc552A', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/sushi.jpg', - name: 'Sushi Token', - symbol: 'SUSHI', - }, - { - address: '0xd754ae7bb55fEB0c4BA6bC037b4A140f14ebE018', - chainId: 1666600000, - decimals: 9, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xd754ae7bb55fEB0c4BA6bC037b4A140f14ebE018/logo.png', - name: 'TEmplar Token', - symbol: 'TEM', - }, - { - address: '0xCf1709Ad76A79d5a60210F23e81cE2460542A836', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xCf1709Ad76A79d5a60210F23e81cE2460542A836/logo.png', - name: 'Tranquil', - symbol: 'TRANQ', - }, - { - address: '0x90D81749da8867962c760414C1C25ec926E889b6', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/uni.jpg', - name: 'Uniswap', - symbol: 'UNI', - }, - { - address: '0x985458E523dB3d53125813eD68c274899e9DfAb4', - chainId: 1666600000, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdc.jpg', - name: 'USD Coin', - symbol: 'USDC', - }, - { - address: '0x3C2B8Be99c50593081EAA2A724F0B8285F5aba8f', - chainId: 1666600000, - decimals: 6, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/usdt.jpg', - name: 'Tether USD', - symbol: 'USDT', - }, - { - address: '0x224e64ec1BDce3870a6a6c777eDd450454068FEC', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://github.com/sushiswap/icons/blob/master/token/ust.jpg', - name: 'TerraUSD', - symbol: 'UST', - }, - { - address: '0xB8E0497018c991E86311b64EFd9D57b06aEDbBAE', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0xB8E0497018c991E86311b64EFd9D57b06aEDbBAE/logo.png', - name: 'DaVinci Token', - symbol: 'VINCI', - }, - { - address: '0xEa589E93Ff18b1a1F1e9BaC7EF3E86Ab62addc79', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://dvwecb5klcqus.cloudfront.net/venomswap/logos/venomswap-128x128.png', - name: 'Viper', - symbol: 'VIPER', - }, - { - address: '0xE7e3C4D1cFc722b45A428736845B6AfF862842a1', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://d1xrz6ki9z98vb.cloudfront.net/venomswap/tokens/1WISE.png', - name: 'Wise Token', - symbol: 'WISE', - }, - { - address: '0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/one.jpg', - name: 'Wrapped ONE', - symbol: 'WONE', - }, - { - address: '0xa0dc05F84A27FcCBD341305839019aB86576bc07', - chainId: 1666600000, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/yfi.jpg', - name: 'yearn.finance', - symbol: 'YFI', - }, - { - address: '0x63cf309500d8be0B9fDB8F1fb66C821236c0438c', - chainId: 1666600000, - decimals: 18, - logoURI: - 'https://raw.githubusercontent.com/sushiswap/assets/master/blockchains/harmony/assets/0x63cf309500d8be0B9fDB8F1fb66C821236c0438c/logo.png', - name: 'Yield Guild Games Token', - symbol: 'YGG', - }, - { - address: '0x0E80905676226159cC3FF62B1876C907C91F7395', - chainId: 1666700000, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/9576/small/BUSD.png', - name: 'OneBUSD', - symbol: '1BUSD', - }, - { - address: '0x1E120B3b4aF96e7F394ECAF84375b1C661830013', - chainId: 1666700000, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/279/small/ethereum.png', - name: 'OneETH', - symbol: '1ETH', - }, - { - address: '0x2C6e26B2faD89bc52d043e78E3D980A08af0Ce88', - chainId: 1666700000, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/877/small/chainlink-new-logo.png', - name: 'OneChainlink', - symbol: '1LINK', - }, - { - address: '0x6c4387C4f570Aa8cAdcaFFc5E73ecb3D0F8Fc593', - chainId: 1666700000, - decimals: 8, - logoURI: 'https://assets.coingecko.com/coins/images/7598/small/wrapped_bitcoin_wbtc.png', - name: 'Wrapped BTC', - symbol: 'WBTC', - }, - { - address: '0x7a2afac38517d512E55C0bCe3b6805c10a04D60F', - chainId: 1666700000, - decimals: 18, - logoURI: 'https://assets.coingecko.com/coins/images/4344/small/Y88JAze.png', - name: 'Wrapped ONE', - symbol: 'WONE', - }, - { - address: '0x4C1f6fCBd233241bF2f4D02811E3bF8429BC27B8', - chainId: 11297108109, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/dai.jpg', - name: 'Dai Stablecoin', - symbol: 'DAI', - }, - { - address: '0x5eE074D24f462E0311814C992c99a178458C39fc', - chainId: 11297108109, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/unknown.jpg', - name: 'Portion', - symbol: 'PRT', - }, - { - address: '0x726138359C17F1E56bA8c4F737a7CAf724F6010b', - chainId: 11297108109, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/eth.jpg', - name: 'Wrapped Ether', - symbol: 'WETH', - }, - { - address: '0xF98cABF0a963452C5536330408B2590567611a71', - chainId: 11297108109, - decimals: 18, - logoURI: 'https://raw.githubusercontent.com/sushiswap/icons/master/token/palm.jpg', - name: 'Wrapped Palm', - symbol: 'WPALM', - }, -] diff --git a/src/features/analytics/kashi/services/utils/TokenUtilService.ts b/src/features/analytics/kashi/services/utils/TokenUtilService.ts index dc86f610be..c6f4a849ff 100644 --- a/src/features/analytics/kashi/services/utils/TokenUtilService.ts +++ b/src/features/analytics/kashi/services/utils/TokenUtilService.ts @@ -1,5 +1,3 @@ -import { TOKENS } from '../../config/tokenlist' - class TokenUtilService { protected static instance: TokenUtilService constructor() {} @@ -29,12 +27,6 @@ class TokenUtilService { } return name } - - logo(symbol: string | undefined): string | undefined { - const realSymbol = this.symbol(symbol) - const token = TOKENS.find((token) => realSymbol === token.symbol) - return token?.logoURI || '' - } } export default TokenUtilService diff --git a/src/features/analytics/kashi/views/KashiPairView.tsx b/src/features/analytics/kashi/views/KashiPairView.tsx index 94833fc94f..6f3f88adbc 100644 --- a/src/features/analytics/kashi/views/KashiPairView.tsx +++ b/src/features/analytics/kashi/views/KashiPairView.tsx @@ -1,5 +1,7 @@ /* eslint-disable @next/next/no-img-element */ import { i18n } from '@lingui/core' +import { ChainId, Token } from '@sushiswap/core-sdk' +import { CurrencyLogoArray } from 'app/components/CurrencyLogo' import { useKashiTokens } from 'app/features/kashi/hooks' import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' import { useDataKashiPairWithLoadingIndicator } from 'app/services/graph/hooks/kashipairs' @@ -16,16 +18,13 @@ import PairUtilizationDayDataChart from '../components/PairUtilizationDayDataCha import { useAppContext } from '../context/AppContext' import { KashiPair } from '../types/KashiPair' import { KashiPairDayData, KashiPairDayDataMap } from '../types/KashiPairDayData' - const KashiPairView = () => { - const { tokenUtilService, handleLogoError } = useAppContext() + const { tokenUtilService, calculateService, handleLogoError } = useAppContext() const [kashiPair, setKashiPair] = useState() const [kashiPairDayData, setKashiPairDayData] = useState([]) const [kashiPairDayDataMonthly, setKashiPairDayDataMonthly] = useState([]) - const { calculateService } = useAppContext() - const router = useRouter() const { id } = router.query @@ -65,6 +64,22 @@ const KashiPairView = () => { } } + const kashiAsset = kashiPair?.asset + const asset = new Token( + ChainId.ETHEREUM, + kashiAsset?.id ?? '', + Number(kashiAsset?.decimals ?? 0), + kashiAsset?.symbol, + kashiAsset?.name + ) + const kashiCollateral = kashiPair?.collateral + const collateral = new Token( + ChainId.ETHEREUM, + kashiCollateral?.id ?? '', + Number(kashiCollateral?.decimals ?? 0), + kashiCollateral?.symbol, + kashiCollateral?.name + ) return ( <>
@@ -84,22 +99,7 @@ const KashiPairView = () => { ) : (
- {tokenUtilService.symbol(kashiPair?.symbol)} - {kashiPair?.symbol} +

diff --git a/src/features/analytics/kashi/views/KashiTokenView.tsx b/src/features/analytics/kashi/views/KashiTokenView.tsx index ffb1d6a7b0..1198684792 100644 --- a/src/features/analytics/kashi/views/KashiTokenView.tsx +++ b/src/features/analytics/kashi/views/KashiTokenView.tsx @@ -1,4 +1,6 @@ /* eslint-disable @next/next/no-img-element */ +import { ChainId, Token as TokenSDK } from '@sushiswap/core-sdk' +import { CurrencyLogo, CurrencyLogoArray } from 'app/components/CurrencyLogo' import { useKashiTokens } from 'app/features/kashi/hooks' import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' import { @@ -12,13 +14,12 @@ import { useEffect, useState } from 'react' import PairCollateralPieChart from '../components/PairCollateralPieChart' import PairSupplyBorrowDayDataChart from '../components/PairSupplyBorrowDayDataChart' import TokenCard from '../components/TokenCard' -import { handleLogoError, useAppContext } from '../context/AppContext' +import { useAppContext } from '../context/AppContext' import { KashiPair } from '../types/KashiPair' import { KashiPairDayDataMap, KashiPairDayDataMapsCollateral } from '../types/KashiPairDayData' import { Token } from '../types/Token' const KashiTokenView = () => { - const { tokenUtilService } = useAppContext() const [token, setToken] = useState() const [totalAsset, setTotalAsset] = useState(BigInt(0)) const [totalBorrow, setTotalBorrow] = useState(BigInt(0)) @@ -30,7 +31,7 @@ const KashiTokenView = () => { KashiPairDayDataMapsCollateral[] >([]) - const { calculateService } = useAppContext() + const { calculateService, tokenUtilService } = useAppContext() const router = useRouter() const { id } = router.query @@ -95,6 +96,14 @@ const KashiTokenView = () => { setKashiPairs(newKashiPairs) } + const token0 = new TokenSDK( + ChainId.ETHEREUM, + token?.id ?? '', + Number(token?.decimals ?? 0), + token?.symbol, + token?.name + ) + return ( <>
@@ -113,14 +122,7 @@ const KashiTokenView = () => { ) : (
- {token?.symbol} +

{tokenUtilService.symbol(token?.symbol)}

@@ -145,26 +147,18 @@ const KashiTokenView = () => { ?.filter((value) => value.kashiPairsMaps.length > 0) .map((value) => { const { collateral, kashiPairsMaps } = value + const token1 = new TokenSDK( + ChainId.ETHEREUM, + collateral?.id ?? '', + Number(collateral?.decimals ?? 0), + collateral?.symbol, + collateral?.name + ) return (
- {tokenUtilService.symbol(token?.symbol)} - {collateral?.symbol} +

diff --git a/src/features/analytics/tokens/TokenList.tsx b/src/features/analytics/tokens/TokenList.tsx deleted file mode 100644 index c25565a7a1..0000000000 --- a/src/features/analytics/tokens/TokenList.tsx +++ /dev/null @@ -1,134 +0,0 @@ -import { getAddress } from '@ethersproject/address' -import { Token as CoreToken } from '@sushiswap/core-sdk' -import { CurrencyLogo } from 'app/components/CurrencyLogo' -import LineGraph from 'app/components/LineGraph' -import Table, { Column } from 'app/components/Table' -import { formatNumber, formatPercent } from 'app/functions' -import { useRouter } from 'next/router' -import React from 'react' - -import ColoredNumber from '../ColoredNumber' - -type TokenListColumnType = 'name' | 'price' | 'liquidity' | 'priceChange' | 'volumeChange' | 'lastWeekGraph' - -interface Token { - token: { - id: string - symbol: string - } - liquidity: number - volume1d: number - volume1w: number - price: number - change1d: number - change1w: number -} - -interface TokenListProps { - tokens: Token[] - enabledColumns?: TokenListColumnType[] -} - -interface TokenListNameProps { - token: { - id: string - symbol: string - decimals: number - name: string - } -} - -function TokenListName({ token }: TokenListNameProps): JSX.Element { - const router = useRouter() - const chainId = Number(router.query.chainId) - const currency = new CoreToken(chainId, getAddress(token?.id), token?.decimals || 18, token?.symbol, token?.name) - return ( - <> -
- {/*@ts-ignore TYPE NEEDS FIXING*/} - -
{token.symbol}
-
- - ) -} - -export default function TokenList({ - tokens, - enabledColumns = Object.keys(TokenListColumns) as TokenListColumnType[], -}: TokenListProps): JSX.Element { - const router = useRouter() - const chainId = Number(router.query.chainId) - const columns = React.useMemo(() => enabledColumns.map((col) => TokenListColumns[col]), [enabledColumns]) - return ( - <> - {tokens && ( - - columns={columns} - data={tokens} - defaultSortBy={{ id: 'liquidity', desc: true }} - link={{ href: `/analytics/${chainId}/tokens/`, id: 'token.id' }} - /> - )} - - ) -} - -const TokenListColumns: Record = { - name: { - Header: 'Name', - accessor: 'token', - Cell: (props) => , - disableSortBy: true, - align: 'left', - }, - price: { - Header: 'Price', - accessor: 'price', - Cell: (props) => formatNumber(props.value, true, undefined, 2), - align: 'right', - }, - liquidity: { - Header: 'Liquidity', - accessor: 'liquidity', - Cell: (props) => formatNumber(props.value, true, false), - align: 'right', - }, - priceChange: { - Header: 'Daily / Weekly % Change', - accessor: (row) => ( -
- -
- {row.change1w > 0 && '+'} - {formatPercent(row.change1w)} -
-
- ), - align: 'right', - sortType: (a, b) => a.original.change1d - b.original.change1d, - }, - volumeChange: { - Header: 'Daily / Weekly Volume', - accessor: (row) => ( -
-
{formatNumber(row.volume1d, true, false, 2)}
-
{formatNumber(row.volume1w, true, false, 2)}
-
- ), - align: 'right', - }, - lastWeekGraph: { - Header: 'Last Week', - accessor: 'graph', - Cell: (props) => ( -
-
- = 0 ? '#00ff4f' : '#ff3838' }} /> -
-
- ), - disableSortBy: true, - align: 'right', - }, -} diff --git a/src/features/kashi/hooks.ts b/src/features/kashi/hooks.ts index 0731f43097..d3a91d7ea9 100644 --- a/src/features/kashi/hooks.ts +++ b/src/features/kashi/hooks.ts @@ -161,6 +161,8 @@ export function useKashiMediumRiskLendingPairs( gasRequired: 20_000_000, }) + console.log('result', result) + const { rebases } = useBentoRebases(useMemo(() => Object.values(tokens), [tokens])) const prices = useUSDCPricesSubgraph(Object.values(tokens)) // TODO: for skeleton loading From f450bbb074276a57f0c80e6a022974d96da9a39a Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Wed, 20 Jul 2022 14:56:47 -0500 Subject: [PATCH 07/11] fix: wallet connect issue --- .../kashi/components/PairMarketTable.tsx | 7 ++-- .../kashi/components/TokenMarketTable.tsx | 5 ++- .../analytics/kashi/views/KashiPairView.tsx | 36 ++++++++++--------- .../analytics/kashi/views/KashiTokenView.tsx | 19 +++++----- 4 files changed, 40 insertions(+), 27 deletions(-) diff --git a/src/features/analytics/kashi/components/PairMarketTable.tsx b/src/features/analytics/kashi/components/PairMarketTable.tsx index 88884ed848..6df4718657 100644 --- a/src/features/analytics/kashi/components/PairMarketTable.tsx +++ b/src/features/analytics/kashi/components/PairMarketTable.tsx @@ -3,6 +3,7 @@ import { i18n } from '@lingui/core' import { useLingui } from '@lingui/react' import { ChainId, Token } from '@sushiswap/core-sdk' import { CurrencyLogoArray } from 'app/components/CurrencyLogo' +import { useActiveWeb3React } from 'app/services/web3' import { BigNumber } from 'ethers' import { useRouter } from 'next/router' import numeral from 'numeral' @@ -170,8 +171,10 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) router.push(route) } + const { chainId } = useActiveWeb3React() + const asset = new Token( - ChainId.ETHEREUM, + chainId ?? ChainId.ETHEREUM, data.asset?.id ?? '', Number(data.asset?.decimals ?? 0), data.asset?.symbol, @@ -179,7 +182,7 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) ) const collateral = new Token( - ChainId.ETHEREUM, + Number(chainId) ?? ChainId.ETHEREUM, data.collateral?.id ?? '', Number(data.collateral?.decimals ?? 0), data.collateral?.symbol, diff --git a/src/features/analytics/kashi/components/TokenMarketTable.tsx b/src/features/analytics/kashi/components/TokenMarketTable.tsx index 9175df157e..a011227de9 100644 --- a/src/features/analytics/kashi/components/TokenMarketTable.tsx +++ b/src/features/analytics/kashi/components/TokenMarketTable.tsx @@ -2,6 +2,7 @@ import { i18n } from '@lingui/core' import { ChainId, Token } from '@sushiswap/core-sdk' import { CurrencyLogo } from 'app/components/CurrencyLogo' +import { useActiveWeb3React } from 'app/services/web3' import { BigNumber } from 'ethers' import { useRouter } from 'next/router' import numeral from 'numeral' @@ -123,8 +124,10 @@ const MarketTableRow = ({ data, index }: { data: KashiPairsByToken; index: numbe router.push(route) } + const { chainId } = useActiveWeb3React() + const asset = new Token( - ChainId.ETHEREUM, + chainId ?? ChainId.ETHEREUM, data.token?.id ?? '', Number(data.token?.decimals ?? 0), data.token?.symbol, diff --git a/src/features/analytics/kashi/views/KashiPairView.tsx b/src/features/analytics/kashi/views/KashiPairView.tsx index 6f3f88adbc..4af255f229 100644 --- a/src/features/analytics/kashi/views/KashiPairView.tsx +++ b/src/features/analytics/kashi/views/KashiPairView.tsx @@ -1,6 +1,6 @@ /* eslint-disable @next/next/no-img-element */ import { i18n } from '@lingui/core' -import { ChainId, Token } from '@sushiswap/core-sdk' +import { Token } from '@sushiswap/core-sdk' import { CurrencyLogoArray } from 'app/components/CurrencyLogo' import { useKashiTokens } from 'app/features/kashi/hooks' import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' @@ -64,27 +64,31 @@ const KashiPairView = () => { } } + let asset = undefined + let collateral = undefined const kashiAsset = kashiPair?.asset - const asset = new Token( - ChainId.ETHEREUM, - kashiAsset?.id ?? '', - Number(kashiAsset?.decimals ?? 0), - kashiAsset?.symbol, - kashiAsset?.name - ) const kashiCollateral = kashiPair?.collateral - const collateral = new Token( - ChainId.ETHEREUM, - kashiCollateral?.id ?? '', - Number(kashiCollateral?.decimals ?? 0), - kashiCollateral?.symbol, - kashiCollateral?.name - ) + if (kashiAsset !== undefined && kashiCollateral !== undefined && chainId !== undefined) { + asset = new Token( + chainId, + kashiAsset?.id ?? '', + Number(kashiAsset?.decimals ?? 0), + kashiAsset?.symbol, + kashiAsset?.name + ) + collateral = new Token( + chainId, + kashiCollateral?.id ?? '', + Number(kashiCollateral?.decimals ?? 0), + kashiCollateral?.symbol, + kashiCollateral?.name + ) + } return ( <>
- {!kashiPair ? ( + {!kashiPair && asset !== undefined && collateral !== undefined ? (
diff --git a/src/features/analytics/kashi/views/KashiTokenView.tsx b/src/features/analytics/kashi/views/KashiTokenView.tsx index 1198684792..8545067690 100644 --- a/src/features/analytics/kashi/views/KashiTokenView.tsx +++ b/src/features/analytics/kashi/views/KashiTokenView.tsx @@ -1,5 +1,5 @@ /* eslint-disable @next/next/no-img-element */ -import { ChainId, Token as TokenSDK } from '@sushiswap/core-sdk' +import { ChainId, Currency, Token as TokenSDK } from '@sushiswap/core-sdk' import { CurrencyLogo, CurrencyLogoArray } from 'app/components/CurrencyLogo' import { useKashiTokens } from 'app/features/kashi/hooks' import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' @@ -96,14 +96,17 @@ const KashiTokenView = () => { setKashiPairs(newKashiPairs) } - const token0 = new TokenSDK( - ChainId.ETHEREUM, - token?.id ?? '', - Number(token?.decimals ?? 0), - token?.symbol, - token?.name - ) + let token0: Currency | undefined = undefined + if (token !== undefined) { + token0 = new TokenSDK( + chainId ?? ChainId.ETHEREUM, + token?.id ?? '', + Number(token?.decimals ?? 0), + token?.symbol, + token?.name + ) + } return ( <>
From 866119a173bcf3fea6a66b9cb7c9e93125c43edd Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Wed, 20 Jul 2022 15:32:12 -0500 Subject: [PATCH 08/11] fix: fix type error --- .../analytics/kashi/views/KashiPairView.tsx | 38 +++++++++---------- .../analytics/kashi/views/KashiTokenView.tsx | 20 ++++------ 2 files changed, 27 insertions(+), 31 deletions(-) diff --git a/src/features/analytics/kashi/views/KashiPairView.tsx b/src/features/analytics/kashi/views/KashiPairView.tsx index 4af255f229..6ee8c5f5de 100644 --- a/src/features/analytics/kashi/views/KashiPairView.tsx +++ b/src/features/analytics/kashi/views/KashiPairView.tsx @@ -1,6 +1,6 @@ /* eslint-disable @next/next/no-img-element */ import { i18n } from '@lingui/core' -import { Token } from '@sushiswap/core-sdk' +import { ChainId, Token } from '@sushiswap/core-sdk' import { CurrencyLogoArray } from 'app/components/CurrencyLogo' import { useKashiTokens } from 'app/features/kashi/hooks' import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' @@ -64,26 +64,26 @@ const KashiPairView = () => { } } - let asset = undefined - let collateral = undefined + // let asset = undefined + // let collateral = undefined const kashiAsset = kashiPair?.asset const kashiCollateral = kashiPair?.collateral - if (kashiAsset !== undefined && kashiCollateral !== undefined && chainId !== undefined) { - asset = new Token( - chainId, - kashiAsset?.id ?? '', - Number(kashiAsset?.decimals ?? 0), - kashiAsset?.symbol, - kashiAsset?.name - ) - collateral = new Token( - chainId, - kashiCollateral?.id ?? '', - Number(kashiCollateral?.decimals ?? 0), - kashiCollateral?.symbol, - kashiCollateral?.name - ) - } + // if (kashiAsset !== undefined && kashiCollateral !== undefined && chainId !== undefined) { + const asset = new Token( + chainId ?? ChainId.ETHEREUM, + kashiAsset?.id ?? '', + Number(kashiAsset?.decimals ?? 0), + kashiAsset?.symbol, + kashiAsset?.name + ) + const collateral = new Token( + chainId ?? ChainId.ETHEREUM, + kashiCollateral?.id ?? '', + Number(kashiCollateral?.decimals ?? 0), + kashiCollateral?.symbol, + kashiCollateral?.name + ) + // } return ( <>
diff --git a/src/features/analytics/kashi/views/KashiTokenView.tsx b/src/features/analytics/kashi/views/KashiTokenView.tsx index 8545067690..708f2dc7dd 100644 --- a/src/features/analytics/kashi/views/KashiTokenView.tsx +++ b/src/features/analytics/kashi/views/KashiTokenView.tsx @@ -1,5 +1,5 @@ /* eslint-disable @next/next/no-img-element */ -import { ChainId, Currency, Token as TokenSDK } from '@sushiswap/core-sdk' +import { ChainId, Token as TokenSDK } from '@sushiswap/core-sdk' import { CurrencyLogo, CurrencyLogoArray } from 'app/components/CurrencyLogo' import { useKashiTokens } from 'app/features/kashi/hooks' import { useKashiPricesSubgraphWithLoadingIndicator } from 'app/hooks/usePricesSubgraph' @@ -96,17 +96,13 @@ const KashiTokenView = () => { setKashiPairs(newKashiPairs) } - let token0: Currency | undefined = undefined - - if (token !== undefined) { - token0 = new TokenSDK( - chainId ?? ChainId.ETHEREUM, - token?.id ?? '', - Number(token?.decimals ?? 0), - token?.symbol, - token?.name - ) - } + const token0 = new TokenSDK( + chainId ?? ChainId.ETHEREUM, + token?.id ?? '', + Number(token?.decimals ?? 0), + token?.symbol, + token?.name + ) return ( <>
From 3e5dbd386a8aff678b97ee7527fe3c05794af60a Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Wed, 20 Jul 2022 18:00:52 -0500 Subject: [PATCH 09/11] fix: fix clickable items --- .../kashi/components/PairMarketTable.tsx | 4 ++-- .../kashi/components/TokenMarketTable.tsx | 2 +- .../kashi/components/TotalCompareChart.tsx | 20 ++++++++++--------- .../analytics/kashi/views/KashiPairView.tsx | 4 ++-- .../analytics/kashi/views/KashiTokenView.tsx | 2 +- 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/features/analytics/kashi/components/PairMarketTable.tsx b/src/features/analytics/kashi/components/PairMarketTable.tsx index 6df4718657..6826ca451a 100644 --- a/src/features/analytics/kashi/components/PairMarketTable.tsx +++ b/src/features/analytics/kashi/components/PairMarketTable.tsx @@ -175,7 +175,7 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) const asset = new Token( chainId ?? ChainId.ETHEREUM, - data.asset?.id ?? '', + data.asset?.id ?? '0xdAC17F958D2ee523a2206206994597C13D831ec7', Number(data.asset?.decimals ?? 0), data.asset?.symbol, data.asset?.name @@ -183,7 +183,7 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) const collateral = new Token( Number(chainId) ?? ChainId.ETHEREUM, - data.collateral?.id ?? '', + data.collateral?.id ?? '0xdAC17F958D2ee523a2206206994597C13D831ec7', Number(data.collateral?.decimals ?? 0), data.collateral?.symbol, data.collateral?.name diff --git a/src/features/analytics/kashi/components/TokenMarketTable.tsx b/src/features/analytics/kashi/components/TokenMarketTable.tsx index a011227de9..3bb68e0d00 100644 --- a/src/features/analytics/kashi/components/TokenMarketTable.tsx +++ b/src/features/analytics/kashi/components/TokenMarketTable.tsx @@ -128,7 +128,7 @@ const MarketTableRow = ({ data, index }: { data: KashiPairsByToken; index: numbe const asset = new Token( chainId ?? ChainId.ETHEREUM, - data.token?.id ?? '', + data.token?.id ?? '0xdAC17F958D2ee523a2206206994597C13D831ec7', Number(data.token?.decimals ?? 0), data.token?.symbol, data.token?.name diff --git a/src/features/analytics/kashi/components/TotalCompareChart.tsx b/src/features/analytics/kashi/components/TotalCompareChart.tsx index 528dd0b06c..63009f56c7 100644 --- a/src/features/analytics/kashi/components/TotalCompareChart.tsx +++ b/src/features/analytics/kashi/components/TotalCompareChart.tsx @@ -11,15 +11,17 @@ const TotalCompareChart = ({ loading, data }: { loading: boolean; data: KashiPai const getSeries = () => { let seriesData: any[] = [] data.forEach((item) => { - const percent = - BigNumber.from(item.totalBorrow) - .mul(BigNumber.from('10000')) - .div(BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow))) - .toNumber() / 100 - seriesData.push({ - x: moment(item.date).valueOf(), - y: percent, - }) + if (BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow)).gt(0)) { + const percent = + BigNumber.from(item.totalBorrow) + .mul(BigNumber.from('10000')) + .div(BigNumber.from(item.totalAsset).add(BigNumber.from(item.totalBorrow))) + .toNumber() / 100 + seriesData.push({ + x: moment(item.date).valueOf(), + y: percent, + }) + } }) return [ diff --git a/src/features/analytics/kashi/views/KashiPairView.tsx b/src/features/analytics/kashi/views/KashiPairView.tsx index 6ee8c5f5de..37b3e7aeb7 100644 --- a/src/features/analytics/kashi/views/KashiPairView.tsx +++ b/src/features/analytics/kashi/views/KashiPairView.tsx @@ -71,14 +71,14 @@ const KashiPairView = () => { // if (kashiAsset !== undefined && kashiCollateral !== undefined && chainId !== undefined) { const asset = new Token( chainId ?? ChainId.ETHEREUM, - kashiAsset?.id ?? '', + kashiAsset?.id ?? '0xdAC17F958D2ee523a2206206994597C13D831ec7', Number(kashiAsset?.decimals ?? 0), kashiAsset?.symbol, kashiAsset?.name ) const collateral = new Token( chainId ?? ChainId.ETHEREUM, - kashiCollateral?.id ?? '', + kashiCollateral?.id ?? '0xdAC17F958D2ee523a2206206994597C13D831ec7', Number(kashiCollateral?.decimals ?? 0), kashiCollateral?.symbol, kashiCollateral?.name diff --git a/src/features/analytics/kashi/views/KashiTokenView.tsx b/src/features/analytics/kashi/views/KashiTokenView.tsx index 708f2dc7dd..8cb3574a34 100644 --- a/src/features/analytics/kashi/views/KashiTokenView.tsx +++ b/src/features/analytics/kashi/views/KashiTokenView.tsx @@ -98,7 +98,7 @@ const KashiTokenView = () => { const token0 = new TokenSDK( chainId ?? ChainId.ETHEREUM, - token?.id ?? '', + token?.id ?? '0xdAC17F958D2ee523a2206206994597C13D831ec7', Number(token?.decimals ?? 0), token?.symbol, token?.name From 4d5f303c4b88610e2aa485ff75cd480fe8b0fd4b Mon Sep 17 00:00:00 2001 From: 0xJiro <70732637+jiro-ono@users.noreply.github.com> Date: Thu, 21 Jul 2022 02:37:37 -0400 Subject: [PATCH 10/11] chore: remove logging --- src/features/kashi/hooks.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/features/kashi/hooks.ts b/src/features/kashi/hooks.ts index d3a91d7ea9..0731f43097 100644 --- a/src/features/kashi/hooks.ts +++ b/src/features/kashi/hooks.ts @@ -161,8 +161,6 @@ export function useKashiMediumRiskLendingPairs( gasRequired: 20_000_000, }) - console.log('result', result) - const { rebases } = useBentoRebases(useMemo(() => Object.values(tokens), [tokens])) const prices = useUSDCPricesSubgraph(Object.values(tokens)) // TODO: for skeleton loading From 8caa2a8d439728b9fa0195dce3b29befaba6dce5 Mon Sep 17 00:00:00 2001 From: TechInnovation-Blockchain Date: Mon, 25 Jul 2022 05:26:21 -0500 Subject: [PATCH 11/11] fix: data change due to subgraph change --- .../components/PairCollateralPieChart.tsx | 12 +- .../kashi/components/PairMarketTable.tsx | 92 ++++++++-------- .../kashi/components/TokenMarketTable.tsx | 28 ++--- .../analytics/kashi/components/TotalCard.tsx | 12 +- .../kashi/components/TotalTokenCard.tsx | 4 +- .../kashi/services/utils/CalculateService.ts | 98 ++++++++++++++++- .../analytics/kashi/types/KashiPair.ts | 46 ++++++++ src/features/analytics/kashi/types/Token.ts | 14 +++ .../analytics/kashi/views/KashiPairsView.tsx | 30 ++--- .../analytics/kashi/views/KashiTokenView.tsx | 12 +- .../analytics/kashi/views/KashiTokensView.tsx | 12 +- src/services/graph/fetchers/kashipairs.ts | 17 ++- src/services/graph/queries/kashipairs.ts | 104 +++++++++++------- 13 files changed, 339 insertions(+), 142 deletions(-) diff --git a/src/features/analytics/kashi/components/PairCollateralPieChart.tsx b/src/features/analytics/kashi/components/PairCollateralPieChart.tsx index 3f051a3a16..a360671819 100644 --- a/src/features/analytics/kashi/components/PairCollateralPieChart.tsx +++ b/src/features/analytics/kashi/components/PairCollateralPieChart.tsx @@ -6,7 +6,7 @@ import { useRouter } from 'next/router' import TailwindConfig from '../config/tailwind' import { useAppContext } from '../context/AppContext' -import { KashiPair } from '../types/KashiPair' +import { KashiPairNew } from '../types/KashiPair' const PairCollateralPieChart = ({ containerClass = '', @@ -17,15 +17,15 @@ const PairCollateralPieChart = ({ type?: 'supply' | 'asset' | 'borrow' containerClass?: string title?: string - data?: KashiPair[] + data?: KashiPairNew[] }) => { const router = useRouter() const { tokenUtilService } = useAppContext() const valueFuncs = { - supply: (kashiPair: KashiPair) => - BigNumber.from(kashiPair.totalAsset).add(BigNumber.from(kashiPair.totalBorrow)).toNumber() / 100.0, - asset: (kashiPair: KashiPair) => BigNumber.from(kashiPair.totalAsset).toNumber() / 100.0, - borrow: (kashiPair: KashiPair) => BigNumber.from(kashiPair.totalBorrow).toNumber() / 100.0, + supply: (kashiPair: KashiPairNew) => + BigNumber.from(kashiPair.totalAssetAmount).add(BigNumber.from(kashiPair.totalBorrowAmount)).toNumber() / 100.0, + asset: (kashiPair: KashiPairNew) => BigNumber.from(kashiPair.totalAssetAmount).toNumber() / 100.0, + borrow: (kashiPair: KashiPairNew) => BigNumber.from(kashiPair.totalBorrowAmount).toNumber() / 100.0, } const getSeries = () => { diff --git a/src/features/analytics/kashi/components/PairMarketTable.tsx b/src/features/analytics/kashi/components/PairMarketTable.tsx index 6826ca451a..bb88db1425 100644 --- a/src/features/analytics/kashi/components/PairMarketTable.tsx +++ b/src/features/analytics/kashi/components/PairMarketTable.tsx @@ -11,7 +11,7 @@ import React, { useEffect, useState } from 'react' import { FaChevronDown, FaChevronUp } from 'react-icons/fa' import { useAppContext } from '../context/AppContext' -import { KashiPair } from '../types/KashiPair' +import { KashiPairNew } from '../types/KashiPair' type OrderBy = 'asset' | 'collateral' | 'totalSupply' | 'totalAsset' | 'supplyAPR' | 'totalBorrow' | 'borrowAPR' | '' type OrderDirection = 'asc' | 'desc' @@ -164,7 +164,7 @@ const PairMarketTableRowLoading = () => ( ) -const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) => { +const PairMarketTableRow = ({ data, index }: { data: KashiPairNew; index: number }) => { const { tokenUtilService, handleLogoError } = useAppContext() const router = useRouter() const goto = (route: string) => { @@ -207,14 +207,14 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number })
- {numeral(BigNumber.from(data?.totalAsset).add(BigNumber.from(data.totalBorrow)).toNumber() / 100).format( - '$0,.00' - )} + {numeral( + BigNumber.from(data?.totalAssetAmount).add(BigNumber.from(data.totalBorrowAmount)).toNumber() / 100 + ).format('$0,.00')}
{numeral( - BigNumber.from(data?.totalAssetElastic) - .add(BigNumber.from(data.totalBorrowElastic)) + BigNumber.from(data?.totalAsset?.elastic) + .add(BigNumber.from(data.totalBorrow?.elastic)) .div( BigNumber.from('10').pow( Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 @@ -228,11 +228,11 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number })
- {numeral(BigNumber.from(data?.totalBorrow).toNumber() / 100).format('$0,.00')} + {numeral(BigNumber.from(data?.totalBorrowAmount).toNumber() / 100).format('$0,.00')}
{numeral( - BigNumber.from(data?.totalBorrowElastic) + BigNumber.from(data?.totalBorrow?.elastic) .div( BigNumber.from('10').pow( Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 @@ -246,19 +246,19 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number })
- {numeral(BigNumber.from(data?.supplyAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( - '%0.00' - )} + {numeral( + BigNumber.from(data?.kpi?.supplyAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000 + ).format('%0.00')}
{i18n._(`annualized`)}
- {numeral(BigNumber.from(data?.totalAsset).toNumber() / 100).format('$0,.00')} + {numeral(BigNumber.from(data?.totalAssetAmount).toNumber() / 100).format('$0,.00')}
{numeral( - BigNumber.from(data?.totalAssetElastic) + BigNumber.from(data?.totalAsset?.elastic) .div( BigNumber.from('10').pow( Number(data.asset?.decimals && Number(data.asset?.decimals) >= 2 ? data.asset?.decimals : 2) - 2 @@ -273,9 +273,9 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number })
- {numeral(BigNumber.from(data?.borrowAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000).format( - '%0.00' - )} + {numeral( + BigNumber.from(data?.kpi?.borrowAPR).div(BigNumber.from('1000000000000')).toNumber() / 100000 + ).format('%0.00')}
{i18n._(`annualized`)}
@@ -284,13 +284,13 @@ const PairMarketTableRow = ({ data, index }: { data: KashiPair; index: number }) ) } -const PairMarketTable = ({ loading = false, data = [] }: { loading?: boolean; data: KashiPair[] }) => { +const PairMarketTable = ({ loading = false, data = [] }: { loading?: boolean; data: KashiPairNew[] }) => { const [orderBy, setOrderBy] = useState('totalSupply') const [orderDirection, setOrderDirection] = useState('desc') - const [fullList, setFullList] = useState([]) - const [sortedList, setSortedList] = useState([]) - const [list, setList] = useState([]) + const [fullList, setFullList] = useState([]) + const [sortedList, setSortedList] = useState([]) + const [list, setList] = useState([]) const [isMore, setMore] = useState(false) const [search, setSearch] = useState('') const { tokenUtilService } = useAppContext() @@ -303,48 +303,54 @@ const PairMarketTable = ({ loading = false, data = [] }: { loading?: boolean; da let newSortedList = [...fullList] const compareFuncs = { asset: { - asc: (a: KashiPair, b: KashiPair) => + asc: (a: KashiPairNew, b: KashiPairNew) => (a.asset?.symbol.toLowerCase() || '').localeCompare(b.asset?.symbol.toLowerCase() || ''), - desc: (a: KashiPair, b: KashiPair) => + desc: (a: KashiPairNew, b: KashiPairNew) => (b.asset?.symbol.toLowerCase() || '').localeCompare(a.asset?.symbol.toLowerCase() || ''), }, collateral: { - asc: (a: KashiPair, b: KashiPair) => + asc: (a: KashiPairNew, b: KashiPairNew) => (a.collateral?.symbol.toLowerCase() || '').localeCompare(b.collateral?.symbol.toLowerCase() || ''), - desc: (a: KashiPair, b: KashiPair) => + desc: (a: KashiPairNew, b: KashiPairNew) => (b.collateral?.symbol.toLowerCase() || '').localeCompare(a.collateral?.symbol.toLowerCase() || ''), }, totalSupply: { - asc: (a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalAsset) - .add(BigNumber.from(a.totalBorrow)) - .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + asc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalAssetAmount) + .add(BigNumber.from(a.totalBorrowAmount)) + .lte(BigNumber.from(b.totalAssetAmount).add(BigNumber.from(b.totalBorrowAmount))) ? -1 : 1, - desc: (a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalAsset) - .add(BigNumber.from(a.totalBorrow)) - .gte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + desc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalAssetAmount) + .add(BigNumber.from(a.totalBorrowAmount)) + .gte(BigNumber.from(b.totalAssetAmount).add(BigNumber.from(b.totalBorrowAmount))) ? -1 : 1, }, totalAsset: { - asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? -1 : 1), - desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.totalAsset).gte(BigNumber.from(b.totalAsset)) ? -1 : 1), + asc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalAssetAmount).lte(BigNumber.from(b.totalAssetAmount)) ? -1 : 1, + desc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalAssetAmount).gte(BigNumber.from(b.totalAssetAmount)) ? -1 : 1, }, totalBorrow: { - asc: (a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? 1 : -1, - desc: (a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalBorrow).gte(BigNumber.from(b.totalBorrow)) ? -1 : 1, + asc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalBorrowAmount).lte(BigNumber.from(b.totalBorrowAmount)) ? 1 : -1, + desc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalBorrowAmount).gte(BigNumber.from(b.totalBorrowAmount)) ? -1 : 1, }, supplyAPR: { - asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.supplyAPR).lte(BigNumber.from(b.supplyAPR)) ? -1 : 1), - desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.supplyAPR).gte(BigNumber.from(b.supplyAPR)) ? -1 : 1), + asc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.kpi?.supplyAPR).lte(BigNumber.from(b.kpi?.supplyAPR)) ? -1 : 1, + desc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.kpi?.supplyAPR).gte(BigNumber.from(b.kpi?.supplyAPR)) ? -1 : 1, }, borrowAPR: { - asc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.borrowAPR).lte(BigNumber.from(b.borrowAPR)) ? -1 : 1), - desc: (a: KashiPair, b: KashiPair) => (BigNumber.from(a.borrowAPR).gte(BigNumber.from(b.borrowAPR)) ? -1 : 1), + asc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.kpi?.borrowAPR).lte(BigNumber.from(b.kpi?.borrowAPR)) ? -1 : 1, + desc: (a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.kpi?.borrowAPR).gte(BigNumber.from(b.kpi?.borrowAPR)) ? -1 : 1, }, } diff --git a/src/features/analytics/kashi/components/TokenMarketTable.tsx b/src/features/analytics/kashi/components/TokenMarketTable.tsx index 3bb68e0d00..37f415500e 100644 --- a/src/features/analytics/kashi/components/TokenMarketTable.tsx +++ b/src/features/analytics/kashi/components/TokenMarketTable.tsx @@ -10,7 +10,7 @@ import React, { useEffect, useState } from 'react' import { FaChevronDown, FaChevronUp } from 'react-icons/fa' import { useAppContext } from '../context/AppContext' -import { KashiPairsByToken } from '../types/KashiPair' +import { KashiPairsByTokenNew } from '../types/KashiPair' type OrderBy = 'symbol' | 'totalSupply' | 'totalAsset' | 'totalBorrow' | '' type OrderDirection = 'asc' | 'desc' @@ -117,7 +117,7 @@ const MarketTableRowLoading = () => ( ) -const MarketTableRow = ({ data, index }: { data: KashiPairsByToken; index: number }) => { +const MarketTableRow = ({ data, index }: { data: KashiPairsByTokenNew; index: number }) => { const { tokenUtilService, handleLogoError } = useAppContext() const router = useRouter() const goto = (route: string) => { @@ -165,13 +165,13 @@ const MarketTableRow = ({ data, index }: { data: KashiPairsByToken; index: numbe ) } -const TokenMarketTable = ({ loading = false, data = [] }: { loading?: boolean; data: KashiPairsByToken[] }) => { +const TokenMarketTable = ({ loading = false, data = [] }: { loading?: boolean; data: KashiPairsByTokenNew[] }) => { const [orderBy, setOrderBy] = useState('') const [orderDirection, setOrderDirection] = useState('desc') - const [fullList, setFullList] = useState([]) - const [sortedList, setSortedList] = useState([]) - const [list, setList] = useState([]) + const [fullList, setFullList] = useState([]) + const [sortedList, setSortedList] = useState([]) + const [list, setList] = useState([]) const [isMore, setMore] = useState(false) const [search, setSearch] = useState('') @@ -183,19 +183,19 @@ const TokenMarketTable = ({ loading = false, data = [] }: { loading?: boolean; d let newSortedList = [...fullList] const compareFuncs = { symbol: { - asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + asc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => (a.token.symbol.toLowerCase() || '').localeCompare(b.token.symbol.toLowerCase() || ''), - desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + desc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => (b.token.symbol.toLowerCase() || '').localeCompare(a.token.symbol.toLowerCase() || ''), }, totalSupply: { - asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + asc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => BigNumber.from(a.totalAsset) .add(BigNumber.from(a.totalBorrow)) .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) ? -1 : 1, - desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + desc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => BigNumber.from(a.totalAsset) .add(BigNumber.from(a.totalBorrow)) .gte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) @@ -203,15 +203,15 @@ const TokenMarketTable = ({ loading = false, data = [] }: { loading?: boolean; d : 1, }, totalAsset: { - asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + asc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? -1 : 1, - desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + desc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => BigNumber.from(a.totalAsset).gte(BigNumber.from(b.totalAsset)) ? -1 : 1, }, totalBorrow: { - asc: (a: KashiPairsByToken, b: KashiPairsByToken) => + asc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? -1 : 1, - desc: (a: KashiPairsByToken, b: KashiPairsByToken) => + desc: (a: KashiPairsByTokenNew, b: KashiPairsByTokenNew) => BigNumber.from(a.totalBorrow).gte(BigNumber.from(b.totalBorrow)) ? -1 : 1, }, } diff --git a/src/features/analytics/kashi/components/TotalCard.tsx b/src/features/analytics/kashi/components/TotalCard.tsx index b754d70aa4..27ac0e9665 100644 --- a/src/features/analytics/kashi/components/TotalCard.tsx +++ b/src/features/analytics/kashi/components/TotalCard.tsx @@ -4,13 +4,13 @@ import { BigNumber } from 'ethers' import numeral from 'numeral' import { useAppContext } from '../context/AppContext' -import { KashiPair } from '../types/KashiPair' +import { KashiPairNew } from '../types/KashiPair' import Progress from './Progress' export type TotalData = { amount: BigInt volumeIn24H: BigInt - topMarkets: KashiPair[] + topMarkets: KashiPairNew[] } type AttributesByBorrowType = { @@ -92,10 +92,12 @@ const TotalCard = ({ progress={ BigNumber.from( borrow === 'borrow' - ? marketData.totalBorrow + ? marketData.totalBorrowAmount : borrow === 'asset' - ? marketData.totalAsset - : BigNumber.from(marketData.totalBorrow).add(BigNumber.from(marketData.totalAsset)).toBigInt() + ? marketData.totalAssetAmount + : BigNumber.from(marketData.totalBorrowAmount) + .add(BigNumber.from(marketData.totalAssetAmount)) + .toBigInt() ) .mul(BigNumber.from('10000')) .div(BigNumber.from(data.amount)) diff --git a/src/features/analytics/kashi/components/TotalTokenCard.tsx b/src/features/analytics/kashi/components/TotalTokenCard.tsx index 491e95be8e..71477901c7 100644 --- a/src/features/analytics/kashi/components/TotalTokenCard.tsx +++ b/src/features/analytics/kashi/components/TotalTokenCard.tsx @@ -3,14 +3,14 @@ import { BigNumber } from 'ethers' import numeral from 'numeral' import { useAppContext } from '../context/AppContext' -import { KashiPairsByToken } from '../types/KashiPair' +import { KashiPairsByTokenNew } from '../types/KashiPair' import Progress from './Progress' export type TotalData = { amount: BigInt volumeIn24H: BigInt totalUsers: BigInt - topMarkets: KashiPairsByToken[] + topMarkets: KashiPairsByTokenNew[] } type AttributesByBorrowType = { diff --git a/src/features/analytics/kashi/services/utils/CalculateService.ts b/src/features/analytics/kashi/services/utils/CalculateService.ts index c5944bea0f..33f5859b6e 100644 --- a/src/features/analytics/kashi/services/utils/CalculateService.ts +++ b/src/features/analytics/kashi/services/utils/CalculateService.ts @@ -1,9 +1,9 @@ import { BigNumber } from 'ethers' import moment from 'moment' -import { KashiPair, KashiPairsByToken } from '../../types/KashiPair' +import { KashiPair, KashiPairNew, KashiPairsByToken, KashiPairsByTokenNew } from '../../types/KashiPair' import { KashiPairDayData, KashiPairDayDataMap, KashiPairDayDataMapsCollateral } from '../../types/KashiPairDayData' -import { Token } from '../../types/Token' +import { Token, TokenNew } from '../../types/Token' class CalculateService { protected static instance: CalculateService @@ -96,6 +96,38 @@ class CalculateService { } } + calculateKashiPairPricesNew(kashiPairs: KashiPairNew[], pricesMap: { [key: string]: BigInt }) { + let sumTotalAsset = BigNumber.from('0'), + sumTotalBorrow = BigNumber.from('0') + + const newKashiPairs = kashiPairs.map((kashiPair) => { + let totalAsset = BigNumber.from('0'), + totalBorrow = BigNumber.from('0') + + if (kashiPair.asset) { + totalAsset = BigNumber.from(pricesMap?.[kashiPair.asset.symbol] ?? 0) + .mul(BigNumber.from(kashiPair.totalAsset?.elastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.asset.decimals) + 6)) + totalBorrow = BigNumber.from(pricesMap?.[kashiPair.asset.symbol] ?? 0) + .mul(BigNumber.from(kashiPair.totalBorrow?.elastic)) + .div(BigNumber.from('10').pow(Number(kashiPair.asset.decimals) + 6)) + } + sumTotalAsset = sumTotalAsset.add(totalAsset) + sumTotalBorrow = sumTotalBorrow.add(totalBorrow) + const newKashiPair = { + ...kashiPair, + totalAssetAmount: totalAsset.toBigInt(), + totalBorrowAmount: totalBorrow.toBigInt(), + } + return newKashiPair + }) + return { + totalAsset: sumTotalAsset, + totalBorrow: sumTotalBorrow, + kashiPairs: newKashiPairs, + } + } + calculateKashiPairPricesGroupByAsset(kashiPairs: KashiPair[], pricesMap: { [key: string]: BigInt }) { const { totalAsset, totalBorrow, kashiPairs: newKashiPairs } = this.calculateKashiPairPrices(kashiPairs, pricesMap) @@ -132,6 +164,46 @@ class CalculateService { } } + calculateKashiPairPricesGroupByAssetNew(kashiPairs: KashiPairNew[], pricesMap: { [key: string]: BigInt }) { + const { + totalAsset, + totalBorrow, + kashiPairs: newKashiPairs, + } = this.calculateKashiPairPricesNew(kashiPairs, pricesMap) + + const kashiPairsByTokenMap: { [key: string]: KashiPairsByTokenNew } = {} + newKashiPairs.forEach((kashiPair) => { + const { asset } = kashiPair + if (asset) { + if (kashiPairsByTokenMap[asset.id]) { + const kashiPairsByToken = kashiPairsByTokenMap[asset.id] + kashiPairsByToken.kashiPairs.push(kashiPair) + kashiPairsByToken.totalAsset = BigNumber.from(kashiPairsByToken.totalAsset) + .add(BigNumber.from(kashiPair.totalAssetAmount)) + .toBigInt() + + kashiPairsByToken.totalBorrow = BigNumber.from(kashiPairsByToken.totalBorrow) + .add(BigNumber.from(kashiPair.totalBorrowAmount)) + .toBigInt() + } else { + kashiPairsByTokenMap[asset.id] = { + token: asset, + totalAsset: kashiPair.totalAssetAmount, + totalBorrow: kashiPair.totalBorrowAmount, + kashiPairs: [kashiPair], + } + } + } + }) + + const kashiPairsByTokens = Object.values(kashiPairsByTokenMap) + return { + totalAsset, + totalBorrow, + kashiPairsByTokens, + } + } + calculateTokenPrices(tokens: Token[], pricesMap: { [key: string]: BigInt }) { let sumTotalSupply = BigNumber.from('0') @@ -154,6 +226,28 @@ class CalculateService { } } + calculateTokenPricesNew(tokens: TokenNew[], pricesMap: { [key: string]: BigInt }) { + let sumTotalSupply = BigNumber.from('0') + + const newTokens = tokens.map((token) => { + let totalSupply = BigNumber.from('0') + totalSupply = BigNumber.from(pricesMap[token.symbol] ?? 0) + .mul(BigNumber.from(token.rebase?.elastic)) + .div(BigNumber.from('10').pow(Number(token.decimals) + 6)) + sumTotalSupply = sumTotalSupply.add(totalSupply) + const newToken = { + ...token, + price: (pricesMap[token.symbol] ?? 0) || 0, + totalSupply: totalSupply.toBigInt(), + } + return newToken + }) + return { + totalSupply: sumTotalSupply, + tokens: newTokens, + } + } + calculateKashiPairDayDataPrices(kashiPairs: KashiPairDayData[], pricesMap: { [key: string]: BigInt }) { const kashiPairsMaps: KashiPairDayDataMap[] = [] diff --git a/src/features/analytics/kashi/types/KashiPair.ts b/src/features/analytics/kashi/types/KashiPair.ts index a00c76284a..50cb62dd2a 100644 --- a/src/features/analytics/kashi/types/KashiPair.ts +++ b/src/features/analytics/kashi/types/KashiPair.ts @@ -1,3 +1,5 @@ +import { Rebase } from '@sushiswap/core-sdk' + import { Token } from './Token' export type KashiPair = { @@ -29,9 +31,53 @@ export type KashiPair = { timestamp?: BigInt } +export type KashiPairKpi = { + id: string + supplyAPR?: BigInt + borrowAPR?: BigInt + utilization?: BigInt + totalFeesEarnedFraction?: BigInt +} + +export type KashiPairAccrueInfo = { + id: string + interestPerSecond?: BigInt + lastAccrued?: BigInt + feesEarnedFraction?: BigInt +} + +export type KashiPairNew = { + id: string + type?: string + owner?: string + feeTo?: string + name: string + symbol: string + oracle?: string + asset?: Token + collateral?: Token + exchangeRate?: BigInt + totalAsset?: Rebase + totalCollateralShare?: BigInt + totalBorrow?: Rebase + accrueInfo?: KashiPairAccrueInfo + kpi?: KashiPairKpi + totalAssetAmount?: BigInt + totalBorrowAmount?: BigInt + block?: BigInt + timestamp?: BigInt +} + export type KashiPairsByToken = { token: Token totalAsset: BigInt totalBorrow: BigInt kashiPairs: KashiPair[] } + +export type KashiPairsByTokenNew = { + token: Token + totalAsset: BigInt + totalBorrow: BigInt + kashiPairs: KashiPairNew[] +} diff --git a/src/features/analytics/kashi/types/Token.ts b/src/features/analytics/kashi/types/Token.ts index 8598a88e6b..457c3b47d4 100644 --- a/src/features/analytics/kashi/types/Token.ts +++ b/src/features/analytics/kashi/types/Token.ts @@ -1,3 +1,5 @@ +import { Rebase } from '@sushiswap/core-sdk' + export type Token = { id: string name: string @@ -10,3 +12,15 @@ export type Token = { block?: BigInt timestamp?: BigInt } + +export type TokenNew = { + id: string + name: string + symbol: string + decimals: BigInt + totalSupply?: BigInt + rebase?: Rebase + price?: BigInt + block?: BigInt + timestamp?: BigInt +} diff --git a/src/features/analytics/kashi/views/KashiPairsView.tsx b/src/features/analytics/kashi/views/KashiPairsView.tsx index b06477b88b..e2db5196b2 100644 --- a/src/features/analytics/kashi/views/KashiPairsView.tsx +++ b/src/features/analytics/kashi/views/KashiPairsView.tsx @@ -13,7 +13,7 @@ import TotalCard from '../components/TotalCard' import TotalCompareChart from '../components/TotalCompareChart' import TotalDayDataChart from '../components/TotalDayDataChart' import { useAppContext } from '../context/AppContext' -import { KashiPair } from '../types/KashiPair' +import { KashiPairNew } from '../types/KashiPair' import { KashiPairDayData, KashiPairDayDataMap } from '../types/KashiPairDayData' const KashiPairsView = () => { @@ -36,15 +36,15 @@ const KashiPairsView = () => { const [calculating, setCalculating] = useState(true) //const [pricesMap, setPricesMap] = useState<{ [key: string]: BigInt }>({}) - const [kashiPairs, setKashiPairs] = useState([] as KashiPair[]) + const [kashiPairs, setKashiPairs] = useState([] as KashiPairNew[]) const { calculateService } = useAppContext() const [totalAssetsAmount, setTotalAssetsAmount] = useState(BigInt(0)) const [totalBorrowsAmount, setTotalBorrowsAmount] = useState(BigInt(0)) - const [top3MarketsBySupply, setTop3MarketsBySupply] = useState([]) - const [top3MarketsByAsset, setTop3MarketsByAsset] = useState([]) - const [top3MarketsByBorrow, setTop3MarketsByBorrow] = useState([]) + const [top3MarketsBySupply, setTop3MarketsBySupply] = useState([]) + const [top3MarketsByAsset, setTop3MarketsByAsset] = useState([]) + const [top3MarketsByBorrow, setTop3MarketsByBorrow] = useState([]) const loading = calculating || loadingKashiPairs const loadingDayData = loading || loadingKashiPairsDayData0 || loadingKashiPairsDayData1 @@ -60,28 +60,28 @@ const KashiPairsView = () => { } }, [dataKashiPairs, loadingPrice]) - const setKashiPairsData = async (kashiPairsData: KashiPair[]) => { + const setKashiPairsData = async (kashiPairsData: KashiPairNew[]) => { if (!loadingPrice) { const { totalAsset: totalAssetsValue, totalBorrow: totalBorrowsValue, kashiPairs: newKashiPairs, - } = calculateService.calculateKashiPairPrices(kashiPairsData, pricesMap) + } = calculateService.calculateKashiPairPricesNew(kashiPairsData, pricesMap) - const sortedKashiPairsBySupply = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalAsset) - .add(BigNumber.from(a.totalBorrow)) - .lte(BigNumber.from(b.totalAsset).add(BigNumber.from(b.totalBorrow))) + const sortedKashiPairsBySupply = [...newKashiPairs].sort((a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalAssetAmount) + .add(BigNumber.from(a.totalBorrowAmount)) + .lte(BigNumber.from(b.totalAssetAmount).add(BigNumber.from(b.totalBorrowAmount))) ? 1 : -1 ) - const sortedKashiPairsByAsset = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalAsset).lte(BigNumber.from(b.totalAsset)) ? 1 : -1 + const sortedKashiPairsByAsset = [...newKashiPairs].sort((a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalAssetAmount).lte(BigNumber.from(b.totalAssetAmount)) ? 1 : -1 ) - const sortedKashiPairsByBorrow = [...newKashiPairs].sort((a: KashiPair, b: KashiPair) => - BigNumber.from(a.totalBorrow).lte(BigNumber.from(b.totalBorrow)) ? 1 : -1 + const sortedKashiPairsByBorrow = [...newKashiPairs].sort((a: KashiPairNew, b: KashiPairNew) => + BigNumber.from(a.totalBorrowAmount).lte(BigNumber.from(b.totalBorrowAmount)) ? 1 : -1 ) setCalculating(false) diff --git a/src/features/analytics/kashi/views/KashiTokenView.tsx b/src/features/analytics/kashi/views/KashiTokenView.tsx index 8cb3574a34..5c92337464 100644 --- a/src/features/analytics/kashi/views/KashiTokenView.tsx +++ b/src/features/analytics/kashi/views/KashiTokenView.tsx @@ -15,16 +15,16 @@ import PairCollateralPieChart from '../components/PairCollateralPieChart' import PairSupplyBorrowDayDataChart from '../components/PairSupplyBorrowDayDataChart' import TokenCard from '../components/TokenCard' import { useAppContext } from '../context/AppContext' -import { KashiPair } from '../types/KashiPair' +import { KashiPairNew } from '../types/KashiPair' import { KashiPairDayDataMap, KashiPairDayDataMapsCollateral } from '../types/KashiPairDayData' -import { Token } from '../types/Token' +import { Token, TokenNew } from '../types/Token' const KashiTokenView = () => { const [token, setToken] = useState() const [totalAsset, setTotalAsset] = useState(BigInt(0)) const [totalBorrow, setTotalBorrow] = useState(BigInt(0)) - const [kashiPairs, setKashiPairs] = useState([]) + const [kashiPairs, setKashiPairs] = useState([]) const [kashiPairDayDataMaps, setKashiPairDayDataMaps] = useState([]) const [kashiPairDayDataMapsCollaterals, setKashiPairDayDataMapsCollaterals] = useState< @@ -78,9 +78,9 @@ const KashiTokenView = () => { }, [dataKashiPairDayData]) const setTokenData = async () => { - const { tokens, kashiPairs }: { tokens: Token[]; kashiPairs: KashiPair[] } = dataToken + const { tokens, kashiPairs }: { tokens: TokenNew[]; kashiPairs: KashiPairNew[] } = dataToken - const { tokens: newTokens } = calculateService.calculateTokenPrices(tokens, pricesMap) + const { tokens: newTokens } = calculateService.calculateTokenPricesNew(tokens, pricesMap) const token = newTokens[0] setToken(token) @@ -89,7 +89,7 @@ const KashiTokenView = () => { kashiPairs: newKashiPairs, totalAsset, totalBorrow, - } = calculateService.calculateKashiPairPrices(kashiPairs, pricesMap) + } = calculateService.calculateKashiPairPricesNew(kashiPairs, pricesMap) setTotalAsset(totalAsset.toBigInt()) setTotalBorrow(totalBorrow.toBigInt()) diff --git a/src/features/analytics/kashi/views/KashiTokensView.tsx b/src/features/analytics/kashi/views/KashiTokensView.tsx index 94c0ec7ced..da5b7eba6c 100644 --- a/src/features/analytics/kashi/views/KashiTokensView.tsx +++ b/src/features/analytics/kashi/views/KashiTokensView.tsx @@ -8,7 +8,7 @@ import { useEffect, useState } from 'react' import TokenMarketTable from '../components/TokenMarketTable' import TotakTokenCard from '../components/TotalTokenCard' import { useAppContext } from '../context/AppContext' -import { KashiPairsByToken } from '../types/KashiPair' +import { KashiPairsByTokenNew } from '../types/KashiPair' const KashiTokensView = () => { const { chainId } = useActiveWeb3React() @@ -17,11 +17,11 @@ const KashiTokensView = () => { const [calculating, setCalculating] = useState(true) const [totalAsset, setTotalAsset] = useState(BigInt(0)) const [totalBorrow, setTotalBorrow] = useState(BigInt(0)) - const [top3MarketsBySupply, setTop3MarketsBySupply] = useState([]) - const [top3MarketsByAsset, setTop3MarketsByAsset] = useState([]) - const [top3MarketsByBorrow, setTop3MarketsByBorrow] = useState([]) + const [top3MarketsBySupply, setTop3MarketsBySupply] = useState([]) + const [top3MarketsByAsset, setTop3MarketsByAsset] = useState([]) + const [top3MarketsByBorrow, setTop3MarketsByBorrow] = useState([]) - const [kashiPairsByTokens, setKashiPairsByTokens] = useState([]) + const [kashiPairsByTokens, setKashiPairsByTokens] = useState([]) const { calculateService } = useAppContext() const loading = loadingToken || calculating @@ -40,7 +40,7 @@ const KashiTokensView = () => { if (!loadingPrice) { const { kashiPairs } = dataKashiPairs - const { kashiPairsByTokens, totalAsset, totalBorrow } = calculateService.calculateKashiPairPricesGroupByAsset( + const { kashiPairsByTokens, totalAsset, totalBorrow } = calculateService.calculateKashiPairPricesGroupByAssetNew( kashiPairs, pricesMap ) diff --git a/src/services/graph/fetchers/kashipairs.ts b/src/services/graph/fetchers/kashipairs.ts index cc01ed5bfb..84563d8b4d 100644 --- a/src/services/graph/fetchers/kashipairs.ts +++ b/src/services/graph/fetchers/kashipairs.ts @@ -16,6 +16,12 @@ const KASHI = { [ChainId.ARBITRUM]: 'sushiswap/arbitrum-bentobox', [ChainId.FANTOM]: 'sushiswap/fantom-bentobox', [ChainId.BSC]: 'sushiswap/bsc-bentobox', + [ChainId.MATIC]: 'sushiswap/matic-bentobox', +} + +const KASHINew = { + [ChainId.ARBITRUM]: 'sushiswap/kashi-arbitrum', + [ChainId.MATIC]: 'sushiswap/kashi-polygon', } // @ts-ignore TYPE NEEDS FIXING @@ -23,6 +29,11 @@ const fetcher = async (chainId = ChainId.ETHEREUM, query, variables = undefined) // @ts-ignore TYPE NEEDS FIXING pager(`${GRAPH_HOST[chainId]}/subgraphs/name/${KASHI[chainId]}`, query, variables) +// @ts-ignore TYPE NEEDS FIXING +const fetcherNew = async (chainId = ChainId.ETHEREUM, query, variables = undefined) => + // @ts-ignore TYPE NEEDS FIXING + pager(`${GRAPH_HOST[chainId]}/subgraphs/name/${KASHINew[chainId]}`, query, variables) + // @ts-ignore TYPE NEEDS FIXING const fetcherWithLimit = async (chainId = ChainId.ETHEREUM, query, variables = undefined) => // @ts-ignore TYPE NEEDS FIXING @@ -34,7 +45,7 @@ export const getDataKashiPair = async (chainId = ChainId.ETHEREUM, variables = u } export const getDataKashiPairs = async (chainId = ChainId.ETHEREUM, variables = undefined) => { - const data = await fetcher(chainId, dataKashiPairsQuery) + const data = await fetcherNew(chainId, dataKashiPairsQuery) return data } @@ -44,12 +55,12 @@ export const getDataKashiPairsDayData = async (chainId = ChainId.ETHEREUM, varia } export const getDataKashiToken = async (chainId = ChainId.ETHEREUM, variables = undefined) => { - const data = await fetcher(chainId, kashiTokenQuery, variables) + const data = await fetcherNew(chainId, kashiTokenQuery, variables) return data } export const getDataKashiTokens = async (chainId = ChainId.ETHEREUM, variables = undefined) => { - const data = await fetcher(chainId, kashiTokensQuery) + const data = await fetcherNew(chainId, kashiTokensQuery) return data } diff --git a/src/services/graph/queries/kashipairs.ts b/src/services/graph/queries/kashipairs.ts index 2e7c93f247..c07831a314 100644 --- a/src/services/graph/queries/kashipairs.ts +++ b/src/services/graph/queries/kashipairs.ts @@ -61,12 +61,7 @@ export const kashiPairQuery = gql` export const dataKashiPairsQuery = gql` query GetPairs { - bentoBoxes { - totalTokens - totalKashiPairs - totalUsers - } - kashiPairs(first: 1000, orderBy: totalAssetElastic, orderDirection: desc) { + kashiPairs(first: 1000) { id name symbol @@ -82,15 +77,24 @@ export const dataKashiPairsQuery = gql` symbol decimals } + totalAsset { + base + elastic + } + totalBorrow { + base + elastic + } + kpi { + supplyAPR + borrowAPR + utilization + totalFeesEarnedFraction + } exchangeRate - utilization - interestPerSecond - totalAssetElastic - totalAssetBase - supplyAPR - totalBorrowElastic - totalBorrowBase - borrowAPR + accrueInfo { + interestPerSecond + } } } ` @@ -147,15 +151,23 @@ export const kashiTokensQuery = gql` symbol decimals } + totalAsset { + base + elastic + } + totalBorrow { + base + elastic + } + kpi { + supplyAPR + borrowAPR + utilization + } + accrueInfo { + interestPerSecond + } exchangeRate - utilization - interestPerSecond - totalAssetElastic - totalAssetBase - supplyAPR - totalBorrowElastic - totalBorrowBase - borrowAPR } } ` @@ -167,10 +179,12 @@ export const kashiTokenQuery = gql` name symbol decimals - totalSupplyElastic - totalSupplyBase - block - timestamp + rebase { + base + elastic + } + # block + # timestamp } kashiPairs(first: 1000, where: { asset: $id }) { id @@ -181,28 +195,38 @@ export const kashiTokenQuery = gql` name symbol decimals - totalSupplyElastic - totalSupplyBase - block - timestamp + rebase { + base + elastic + } + # block + # timestamp } collateral { id name symbol decimals - totalSupplyElastic - totalSupplyBase - block - timestamp + rebase { + base + elastic + } + # block + # timestamp + } + totalAsset { + base + elastic + } + totalBorrow { + base + elastic } - totalAssetElastic - totalAssetBase totalCollateralShare - totalBorrowElastic - totalBorrowBase - supplyAPR - borrowAPR + kpi { + supplyAPR + borrowAPR + } } } `