@dodoex/widgets 2.2.1 → 2.2.2-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/e2e/constants.d.ts +8 -0
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/locales/en-US.js +1 -1
- package/dist/cjs/src/components/Swap/components/Dialog.d.ts +3 -1
- package/dist/cjs/src/components/Widget/index.d.ts +3 -3
- package/dist/cjs/src/constants/api.d.ts +3 -1
- package/dist/cjs/src/hooks/Token/index.d.ts +1 -1
- package/dist/cjs/src/hooks/Token/type.d.ts +8 -0
- package/dist/cjs/src/hooks/Token/useGetCGTokenList.d.ts +13 -0
- package/dist/cjs/src/hooks/Token/useGetTokenStatus.d.ts +1 -1
- package/dist/cjs/src/hooks/Token/useInitTokenList.d.ts +2 -2
- package/dist/cjs/src/hooks/contract/useFetchBlockNumber.d.ts +3 -1
- package/dist/cjs/src/store/reducers/token.d.ts +1 -4
- package/dist/cjs/src/store/selectors/token.d.ts +1 -1
- package/dist/cjs/src/utils/address.d.ts +1 -0
- package/dist/e2e/constants.d.ts +8 -0
- package/dist/index.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/src/components/Swap/components/Dialog.d.ts +3 -1
- package/dist/src/components/Widget/index.d.ts +3 -3
- package/dist/src/constants/api.d.ts +3 -1
- package/dist/src/hooks/Token/index.d.ts +1 -1
- package/dist/src/hooks/Token/type.d.ts +8 -0
- package/dist/src/hooks/Token/useGetCGTokenList.d.ts +13 -0
- package/dist/src/hooks/Token/useGetTokenStatus.d.ts +1 -1
- package/dist/src/hooks/Token/useInitTokenList.d.ts +2 -2
- package/dist/src/hooks/contract/useFetchBlockNumber.d.ts +3 -1
- package/dist/src/store/reducers/token.d.ts +1 -4
- package/dist/src/store/selectors/token.d.ts +1 -1
- package/dist/src/utils/address.d.ts +1 -0
- package/package.json +9 -10
|
@@ -66,6 +66,14 @@ export declare const routeRes: {
|
|
|
66
66
|
totalDuration: number;
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
|
+
export declare const tokenListRes: {
|
|
70
|
+
keywords: string[];
|
|
71
|
+
logoURI: string;
|
|
72
|
+
name: string;
|
|
73
|
+
timestamp: string;
|
|
74
|
+
tokens: never[];
|
|
75
|
+
message: string;
|
|
76
|
+
};
|
|
69
77
|
export declare const fiatPriceBatchRes: {
|
|
70
78
|
code: number;
|
|
71
79
|
data: {
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@lingui/react"),t=require("bignumber.js"),n=require("lodash"),o=require("@dodoex/components"),s=require("@ethersproject/address"),a=require("react"),i=require("react-redux"),r=require("@dodoex/icons"),l=require("identicon.js"),c=require("@web3-react/core"),d=require("@reduxjs/toolkit"),u=require("redux"),p=require("@ethersproject/contracts"),m=require("@ethersproject/constants"),h=require("@ethersproject/abi"),f=require("@web3-react/eip1193"),x=require("@web3-react/walletconnect"),g=require("@web3-react/metamask"),b=require("@ethersproject/providers"),y=require("@web3-react/types"),v=require("react/jsx-runtime"),E=require("@lingui/core"),C=require("react-window"),w=require("make-plural/plurals"),j=require("axios"),T=require("@ethersproject/bignumber"),A=require("react-dom/client");function O(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function B(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var k=O(t),S=B(a),R=O(l),I=O(j);function D({input:e,showDecimals:n=4,showPrecisionDecimals:o=2,showIntegerOnly:s=!1,showDecimalsOnly:a=!1,noGroupSeparator:i=!1}){const r=new t.BigNumber(e);if(r.isNaN())return"-";let l=r.dp(n,t.BigNumber.ROUND_DOWN);return l.eq(0)&&(r.gt(0)||r.lt(0))&&(l=r.sd(null!=o?o:n,t.BigNumber.ROUND_DOWN)),s&&(l=l.integerValue(t.BigNumber.ROUND_DOWN)),a&&(l=l.minus(l.integerValue(t.BigNumber.ROUND_DOWN))),i?l.toFormat({decimalSeparator:".",groupSeparator:"",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:"",fractionGroupSize:0}):l.toFormat()}function L({input:e,decimals:n,showPrecisionDecimals:o=2,noGroupSeparator:s}){if(null==e)return"-";const a=new t.BigNumber(e);if(a.isNaN())return"-";return D({input:a,showDecimals:void 0===n?0:n>6?6:n>4?4:n,showPrecisionDecimals:o,noGroupSeparator:s})}function N(e){if("number"==typeof e)return N(new t.BigNumber(e));if(e.isNaN())return"NaN";if(e.isNegative())return`-${N(e.negated())}`;if(e.isZero())return"0";let n=e.integerValue(t.BigNumber.ROUND_FLOOR),o=e.minus(n),s="";for(;!n.isZero();){s=n.modulo(10).toString().toString()+s,n=n.idiv(10)}if(""===s&&(s="0"),o.isZero())return s;s+=".";let a=0;for(;!o.isZero()&&a<100;){const e=o.times(10),n=e.integerValue(t.BigNumber.ROUND_FLOOR);s+=n.toString(),o=e.minus(n),a+=1}return s}const M=(e,n)=>{if("string"==typeof e&&!e.match(/[-+]?\d+(.+d+)?/))return e;const o=new t.BigNumber(e);if(n){let e=o.toFixed(n,t.BigNumber.ROUND_DOWN);return s=e,new t.BigNumber(s).isZero()&&(e=N(o.precision(n,t.BigNumber.ROUND_DOWN))),e}var s;return N(o)},_=(e,t)=>{let n=e;const o=n.match("[0-9。.]+");n=o&&o.length>0?o[0]:"",n=n.replace("。",".");let s=0;if(n){const e=n.split("."),t=0===e[0].length?["0"]:[e[0]];e.length>1?t[1]=e.slice(1,e.length).join(""):t[0].length>1&&"0"===t[0][0]&&(t[0]=t[0].slice(1,t[0].length)),t.length>1&&(s=t[1].length),n=t.join(".")}return t>=0&&s>t?M(n,t):n},P=(e,t)=>{if(0===e.length||0===t.length)return!1;if(t.length===e.length)return e.toLowerCase()===t.toLowerCase();const n=e.substring(2,e.length).toLowerCase(),o=t.substring(2,t.length).toLowerCase();return n.length>o.length?n.endsWith(o):o.endsWith(n)};function F(e){try{return s.getAddress(e)}catch(e){return!1}}const U=e=>{const t={isMainnet:1===e,isRinkeby:4===e,isGor:5===e};return Object.assign(Object.assign({},t),{isETH:t.isMainnet||t.isRinkeby||t.isGor})};var W;!function(e){e[e.MAINNET=1]="MAINNET",e[e.RINKEBY=4]="RINKEBY",e[e.GOERLI=5]="GOERLI",e[e.BSC=56]="BSC",e[e.HECO=128]="HECO",e[e.POLYGON=137]="POLYGON",e[e.ARBITRUM_ONE=42161]="ARBITRUM_ONE",e[e.ARBITRUM_RINKEBY=421611]="ARBITRUM_RINKEBY",e[e.AURORA=1313161554]="AURORA",e[e.MOONRIVER=1285]="MOONRIVER",e[e.OKCHAIN=66]="OKCHAIN",e[e.OPTIMISM=10]="OPTIMISM",e[e.BOBA=288]="BOBA",e[e.AVALANCHE=43114]="AVALANCHE",e[e.CRONOS=25]="CRONOS"}(W||(W={}));const H={[W.MAINNET]:["https://rpc.ankr.com/eth","https://eth-mainnet.public.blastapi.io","https://eth-rpc.gateway.pokt.network","https://main-rpc.linkpool.io"],[W.RINKEBY]:["https://rinkeby-light.eth.linkpool.io/"],[W.GOERLI]:["https://goerli.optimism.io/"],[W.BSC]:["https://bsc-dataseed1.binance.org","https://bsc-dataseed2.binance.org","https://bsc-dataseed3.binance.org","https://bsc-dataseed4.binance.org","https://bsc-dataseed1.defibit.io","https://bsc-dataseed2.defibit.io","https://bsc-dataseed3.defibit.io","https://bsc-dataseed4.defibit.io","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed2.ninicoin.io","https://bsc-dataseed3.ninicoin.io","https://bsc-dataseed4.ninicoin.io","https://bsc-dataseed.binance.org","https://rpc.ankr.com/bsc","https://bscrpc.com","https://bsc.mytokenpocket.vip","https://binance.nodereal.io","https://rpc-bsc.bnb48.club"],[W.HECO]:["https://http-mainnet.hecochain.com","https://pub001.hg.network/rpc"],[W.POLYGON]:["https://polygon-rpc.com","https://rpc-mainnet.matic.network","https://matic-mainnet.chainstacklabs.com","https://rpc-mainnet.maticvigil.com","https://rpc-mainnet.matic.quiknode.pro","https://matic-mainnet-full-rpc.bwarelabs.com","https://matic-mainnet-archive-rpc.bwarelabs.com","https://poly-rpc.gateway.pokt.network","https://rpc.ankr.com/polygon","https://polygon-mainnet.public.blastapi.io"],[W.ARBITRUM_ONE]:["https://arb1.arbitrum.io/rpc","https://rpc.ankr.com/arbitrum"],[W.ARBITRUM_RINKEBY]:["https://rinkeby.arbitrum.io/rpc"],[W.AURORA]:["https://mainnet.aurora.dev/"],[W.MOONRIVER]:["https://rpc.api.moonriver.moonbeam.network","https://moonriver.api.onfinality.io/rpc?apikey=673e1fae-c9c9-4c7f-a3d5-2121e8274366","https://moonriver.api.onfinality.io/public","https://moonriver.public.blastapi.io"],[W.OKCHAIN]:["https://exchainrpc.okex.org","https://okc-mainnet.gateway.pokt.network/v1/lb/6275309bea1b320039c893ff"],[W.OPTIMISM]:["https://mainnet.optimism.io","https://optimism-mainnet.public.blastapi.io"],[W.BOBA]:["https://mainnet.boba.network","https://boba-mainnet.gateway.pokt.network/v1/lb/623ad21b20354900396fed7f","https://lightning-replica.boba.network"],[W.AVALANCHE]:["https://api.avax.network/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://ava-mainnet.public.blastapi.io/ext/bc/C/rpc"],[W.CRONOS]:["https://evm.cronos.org","https://cronos-rpc.heavenswail.one","https://evm-cronos.crypto.org","https://cronosrpc-1.xstaking.sg","https://cronos-rpc.elk.finance"]},$={symbol:"ETH",address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Ether",decimals:18,showDecimals:4,wrappedTokenSymbol:"WETH"},z={[W.MAINNET]:Object.assign(Object.assign({},$),{wrappedTokenAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}),[W.RINKEBY]:Object.assign(Object.assign({},$),{wrappedTokenAddress:"0xB26c0d8Be2960c70641A95A9195BE1f59Ac83aC0"}),[W.GOERLI]:Object.assign(Object.assign({},$),{wrappedTokenAddress:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"}),[W.OPTIMISM]:Object.assign(Object.assign({},$),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[W.CRONOS]:Object.assign(Object.assign({},$),{symbol:"CRO",name:"Cronos",wrappedTokenSymbol:"WCRO",wrappedTokenAddress:"0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23"}),[W.BOBA]:Object.assign(Object.assign({},$),{wrappedTokenAddress:"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000"}),[W.BSC]:Object.assign(Object.assign({},$),{symbol:"BNB",name:"BNB",wrappedTokenSymbol:"WBNB",wrappedTokenAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}),[W.OKCHAIN]:Object.assign(Object.assign({},$),{symbol:"OKT",name:"OKT",wrappedTokenSymbol:"WOKT",wrappedTokenAddress:"0x8F8526dbfd6E38E3D8307702cA8469Bae6C56C15"}),[W.HECO]:Object.assign(Object.assign({},$),{symbol:"HT",name:"HT",showDecimals:6,wrappedTokenSymbol:"WHT",wrappedTokenAddress:"0x5545153ccfca01fbd7dd11c0b23ba694d9509a6f"}),[W.POLYGON]:Object.assign(Object.assign({},$),{symbol:"MATIC",name:"MATIC",showDecimals:6,wrappedTokenSymbol:"WMATIC",wrappedTokenAddress:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}),[W.MOONRIVER]:Object.assign(Object.assign({},$),{symbol:"MOVR",name:"MOVR",showDecimals:6,wrappedTokenSymbol:"WMOVR",wrappedTokenAddress:"0x98878b06940ae243284ca214f92bb71a2b032b8a"}),[W.ARBITRUM_ONE]:Object.assign(Object.assign({},$),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}),[W.ARBITRUM_RINKEBY]:Object.assign(Object.assign({},$),{name:"Ether",showDecimals:6,wrappedTokenAddress:"0xEBbc3452Cc911591e4F18f3b36727Df45d6bd1f9"}),[W.AURORA]:Object.assign(Object.assign({},$),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB"}),[W.AVALANCHE]:Object.assign(Object.assign({},$),{symbol:"AVAX",name:"Avalanche",showDecimals:6,wrappedTokenSymbol:"WAVAX",wrappedTokenAddress:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"})},V={[W.MAINNET]:"ethereum",[W.RINKEBY]:"rinkeby",[W.GOERLI]:"goerli",[W.OPTIMISM]:"optimism",[W.CRONOS]:"cronos",[W.BOBA]:"boba",[W.BSC]:"bsc",[W.OKCHAIN]:"okex-chain",[W.HECO]:"heco",[W.POLYGON]:"polygon",[W.MOONRIVER]:"moonriver",[W.ARBITRUM_ONE]:"arbitrum",[W.ARBITRUM_RINKEBY]:"arb-rinkeby",[W.AURORA]:"aurora",[W.AVALANCHE]:"avalanche"},q={[W.MAINNET]:"etherscan.io",[W.RINKEBY]:"rinkeby.etherscan.io",[W.GOERLI]:"goerli.etherscan.io",[W.OPTIMISM]:"optimistic.etherscan.io",[W.CRONOS]:"cronoscan.com",[W.BOBA]:"blockexplorer.boba.network",[W.BSC]:"bscscan.com",[W.OKCHAIN]:"www.oklink.com/okexchain",[W.HECO]:"hecoinfo.com",[W.POLYGON]:"polygonscan.com",[W.MOONRIVER]:"moonriver.moonscan.io",[W.ARBITRUM_ONE]:"arbiscan.io",[W.ARBITRUM_RINKEBY]:"testnet.arbiscan.io",[W.AURORA]:"aurorascan.dev",[W.AVALANCHE]:"snowtrace.io"};function K(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(n[o[s]]=e[o[s]])}return n}function G(e,t,n,o){return new(n||(n=Promise))((function(s,a){function i(e){try{l(o.next(e))}catch(e){a(e)}}function r(e){try{l(o.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,r)}l((o=o.apply(e,t||[])).next())}))}const Y={colorMode:"dark",slippage:3..toString(),ddl:20};var X=(e=Y,t)=>{switch(t.type){case"SET_COLOR_MODE":return Object.assign(Object.assign({},e),{colorMode:t.payload});case"SET_SLIPPAGE":return Object.assign(Object.assign({},e),{slippage:t.payload});case"SET_TRANSACTION_DDL":return Object.assign(Object.assign({},e),{ddl:t.payload});default:return e}};const Z={chainId:W.MAINNET,latestBlockNumber:0};var Q=(e=Z,t)=>{switch(t.type){case"SET_CHAIN_ID":return Object.assign(Object.assign({},e),{chainId:t.payload});case"SET_BLOCK_NUMBER":return Object.assign(Object.assign({},e),{latestBlockNumber:t.payload});default:return e}};const J={tokenList:[],popularTokenList:[],ethBalance:void 0,accountBalances:{},balanceLoadings:{},slippageWithTokens:[]};var ee,te=(e=J,t)=>{switch(t.type){case"SET_TOKEN_LIST":return Object.assign(Object.assign({},e),{tokenList:t.payload});case"SET_POPULAR_TOKEN_LIST":return Object.assign(Object.assign({},e),{popularTokenList:t.payload});case"SET_SLIPPAGE_WITH_TOKENS":return Object.assign(Object.assign({},e),{slippageWithTokens:t.payload});case"SET_ETH_BALANCE":return Object.assign(Object.assign({},e),{ethBalance:t.payload});case"SET_DEFAULT_FROM_TOKEN":return Object.assign(Object.assign({},e),{defaultFromToken:t.payload});case"SET_DEFAULT_TO_TOKEN":return Object.assign(Object.assign({},e),{defaultToToken:t.payload});case"SET_ACCOUNT_BALANCES":return Object.assign(Object.assign({},e),{accountBalances:Object.assign(Object.assign({},e.accountBalances),t.payload)});case"SET_ACCOUNT_ALLOWANCES":const n=e.accountBalances;return Object.keys(n).map((e=>{n[e].tokenAllowances=t.payload})),Object.assign(Object.assign({},e),{accountBalances:n});case"SET_BALANCE_LOADINGS":return Object.assign(Object.assign({},e),{balanceLoadings:Object.assign(Object.assign({},e.balanceLoadings),t.payload)});default:return e}};!function(e){e.Initial="Initial",e.Pending="Pending",e.ApproveSuccess="ApproveSuccess",e.TxSuccess="TxSuccess",e.Failed="Failed"}(ee||(ee={}));const ne={height:void 0,width:void 0,apikey:"",feeRate:0,rebateTo:"",isReverseRouting:!1,contractStatus:ee.Initial};var oe=(e=ne,t)=>"SET_GLOBAL_PROPS"===t.type?Object.assign(Object.assign({},e),t.payload):e;const se={settings:Y,wallet:Z,globals:ne,token:J},ae=u.combineReducers({settings:X,wallet:Q,token:te,globals:oe}),ie=d.configureStore({reducer:ae,middleware:e=>e({serializableCheck:{ignoredActions:["SET_ACCOUNT_BALANCES","SET_ETH_BALANCE"],ignoredPaths:["token.accountBalances","token.ethBalance"]}}),preloadedState:se}),re=e=>(null!=e?e:ie.getState()).wallet.chainId,le=e=>(null!=e?e:ie.getState()).wallet.latestBlockNumber,ce=e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_ACCOUNT_BALANCES",payload:e})})),de=e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_BALANCE_LOADINGS",payload:e})}));var ue=[{constant:!0,inputs:[],name:"getCurrentBlockTimestamp",outputs:[{name:"timestamp",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{components:[{name:"target",type:"address"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{name:"blockNumber",type:"uint256"},{name:"returnData",type:"bytes[]"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getLastBlockHash",outputs:[{name:"blockHash",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockDifficulty",outputs:[{name:"difficulty",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockGasLimit",outputs:[{name:"gaslimit",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockCoinbase",outputs:[{name:"coinbase",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{name:"blockHash",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}],pe={[W.MAINNET]:{MULTI_CALL:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",DODO_APPROVE:"0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149",ERC20_HELPER:"0xD9ef2d1583e8Aa196123e773BE38B539a4d149df"},[W.RINKEBY]:{MULTI_CALL:"0xb7E1C577f95959a3eD11f9281702850328b4e0e4",DODO_APPROVE:"0xcC8d87A7C747eeE4242045C47Ef25e0A81D56ae3",ERC20_HELPER:"0x6A42091d713A67E25a1D11aeE14E7AEB96E0331f"},[W.GOERLI]:{MULTI_CALL:"0x696E25A5e2AEd1C55E6d6Cfa0532Bbda9020165d",DODO_APPROVE:"0xC9143e54021f4a6d33b9b89DBB9F458AaEdd56FB",ERC20_HELPER:"0x24549FC74B3076A962624A26370ed556c467F74C"},[W.BSC]:{MULTI_CALL:"0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb",DODO_APPROVE:"0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1",ERC20_HELPER:"0x566651Ad34f6306872FaC5fB95bbF4C9beE8D8F2"},[W.HECO]:{MULTI_CALL:"0x76a328B3440B9276a31523e731B34082df7a6f1A",DODO_APPROVE:"0x68b6c06Ac8Aa359868393724d25D871921E97293",ERC20_HELPER:"0x270C2abC692Dd476B860CCbDfD6D8146BF61f8D8"},[W.POLYGON]:{MULTI_CALL:"0xc9eD9B18e447e600238fe50e944B9062B664DEa4",DODO_APPROVE:"0x292E6b2e054e1157df71C1C9510265CA8C0c7672",ERC20_HELPER:"0xfd24312Ec7871A6D1a31e454D5AbB16c6c25a9b3"},[W.ARBITRUM_ONE]:{MULTI_CALL:"0xF718F2bd590E5621e53f7b89398e52f7Acced8ca",DODO_APPROVE:"0xA867241cDC8d3b0C07C85cC06F25a0cD3b5474d8",ERC20_HELPER:"0x7C062B9C584fA6eC2504270790D38240A2c5fE72"},[W.ARBITRUM_RINKEBY]:{MULTI_CALL:"0x696E25A5e2AEd1C55E6d6Cfa0532Bbda9020165d",DODO_APPROVE:"0x5BaF16d57620Cb361F622232F3cb4090e35F3da2",ERC20_HELPER:"0x5B2fd46E6E3Ff1E479d651ec0b210882Aa9871dF"},[W.AURORA]:{MULTI_CALL:"0x989DcAA95801C527C5B73AA65d3962dF9aCe1b0C",DODO_APPROVE:"0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619",ERC20_HELPER:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25"},[W.MOONRIVER]:{MULTI_CALL:"0x2ff2CeE6E9359F9eA1cF2f51d18bF9F2045447E4",DODO_APPROVE:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25",ERC20_HELPER:"0x6373ceB657C83C91088d328622573FB766064Ac4"},[W.OKCHAIN]:{MULTI_CALL:"0x5e84190a270333aCe5B9202a3F4ceBf11b81bB01",DODO_APPROVE:"0x7737fd30535c69545deeEa54AB8Dd590ccaEBD3c",ERC20_HELPER:"0x4775b1858f1e417C9609D455C3Ad8751ec01daC4"},[W.OPTIMISM]:{MULTI_CALL:"0xb98Ac2fEFc8b73aeAE33D02BB00c26E12afCa9Df",DODO_APPROVE:"0xa492d6eABcdc3E204676f15B950bBdD448080364",ERC20_HELPER:"0x42E456ea0dd7538ea103fBb1d0388D14C97bB5b2"},[W.BOBA]:{MULTI_CALL:"0xD56281EF996B6B29874C77D2e1464216E8043127",DODO_APPROVE:"0x8F8Dd7DB1bDA5eD3da8C9daf3bfa471c12d58486",ERC20_HELPER:"0x9FCFD9ff955D36856F8EE480471B05488C0eB5cA"},[W.AVALANCHE]:{MULTI_CALL:"0x97f0153E7F5749640aDF3Ff9CFC518b79D6Fe53b",DODO_APPROVE:"0xCFea63e3DE31De53D68780Dd65675F169439e470",ERC20_HELPER:"0xC3528D128CC227fd60793007b5e3FdF7c2945282"},[W.CRONOS]:{MULTI_CALL:"0x4f4408D78F9E9e242c17C635FbD0f1952951c917",DODO_APPROVE:"0x9B736bB8f336f61E16454DCA4dE130703D151042",ERC20_HELPER:"0xbd2F5c60cf7d60daD2106ceD4D21b90722761f14"}};function me(e,t,...n){return G(this,void 0,void 0,(function*(){const o=[];for(const e of n)for(const t of e)t.callData&&o.push(t.callData);const s=yield function(e,t,n){return G(this,void 0,void 0,(function*(){const o=yield he(e,t,n),s=new Map;for(const{req:e,resp:t}of o)s.set(e,t);return e.map((e=>({req:e,resp:s.get(e)})))}))}(o,e,t),a=new Map;for(const{req:e,resp:t}of s)a.set(e,null==t?void 0:t.result);return n.map((e=>e.filter((e=>!e.callData||a.get(e.callData))).map(((e,t)=>e.processor(e.callData?a.get(e.callData):null,t)))))}))}function he(e,t,o){return G(this,void 0,void 0,(function*(){let s=[e];e.length>800&&(s=n.chunk(e,800));let a=[];const i=s.map((e=>G(this,void 0,void 0,(function*(){const n=e.map((e=>[e.to,e.data])),s={data:t.interface.encodeFunctionData("aggregate",[n]),to:o};let i;try{i=yield t.provider.call(s)}catch(n){const s=e.length;if(s>20){const n=Math.floor(s/2),[i,r]=yield Promise.all([he(e.slice(0,n),t,o),he(e.slice(n,s),t,o)]);a=[...a,...i,...r]}else{const e="[sendCallReqs] error";console.error(e,n)}}if(void 0===i)throw new Error("Unexpected batch result");const[r,l]=h.defaultAbiCoder.decode(["uint256","bytes[]"],i);if(e.length!==l.length)throw new Error("Unexpected length mismatch");return l.map(((t,n)=>({resp:{result:t},req:e[n]})))}))));return(yield Promise.allSettled(i)).filter((e=>"fulfilled"===e.status)).forEach((({value:e})=>{a=[...a,...e]})),a}))}function fe(e,t,n,o){if(!F(e)||e===m.AddressZero)throw Error(`Invalid 'address' parameter '${e}'.`);return new p.Contract(e,t,function(e,t){return t?function(e,t){return e.getSigner(t).connectUnchecked()}(e,t):e}(n,o))}function xe(){const{provider:e,account:t,chainId:n}=c.useWeb3React(),[o,s]=a.useState(!1),i=a.useMemo((()=>pe[n]),[n]),r=a.useCallback(((n,o)=>{if(e)return fe(n,o,e,t)}),[e,t]),l=a.useCallback((e=>{if(!i)return;const{MULTI_CALL:t}=i,n=r(t,ue);return(()=>G(this,void 0,void 0,(function*(){if(n){s(!0);try{const[o]=yield me(n,t,e);return o}catch(e){console.error("Contract: useMultiContract is error",e)}s(!1)}})))()}),[i,r]);return{getContract:r,contractConfig:i,call:l,loading:o}}var ge=[{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"isERC20",outputs:[{internalType:"bool",name:"isOk",type:"bool"},{internalType:"string",name:"symbol",type:"string"},{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"decimals",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allownance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"judgeERC20",outputs:[{internalType:"string",name:"symbol",type:"string"},{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"decimals",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allownance",type:"uint256"}],stateMutability:"view",type:"function"}];function be(){const{provider:e,account:t}=c.useWeb3React(),n=i.useDispatch(),o=i.useSelector(le);a.useEffect((()=>{(()=>{G(this,void 0,void 0,(function*(){if(!e||!t)return;const o=yield e.getBalance(t);n((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_ETH_BALANCE",payload:e})})))(new k.default(o.toString()).div(1e18)))}))})()}),[e,t,n,o])}function ye(){const{provider:e,chainId:t}=c.useWeb3React(),n=i.useDispatch();a.useEffect((()=>{const o=e=>{n((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_BLOCK_NUMBER",payload:e})})))(e))};return(()=>{G(this,void 0,void 0,(function*(){if(!e||!t)return;const n=yield e.getBlockNumber();o(n),e.on("block",o)}))})(),()=>{null==e||e.off("block",o)}}),[e,n,t])}function ve(e){return Number.parseInt(e,16)}class Ee extends y.Connector{constructor(e,t){super(e),this.customProvider=t,t.on("connect",(({chainId:e})=>{this.actions.update({chainId:ve(e)})})).on("disconnect",(e=>{var t;null===(t=this.onError)||void 0===t||t.call(this,e),this.actions.resetState()})).on("chainChanged",(e=>{this.actions.update({chainId:ve(e)})})).on("accountsChanged",(e=>{this.actions.update({accounts:e})}))}activate(){return G(this,void 0,void 0,(function*(){this.actions.startActivation();const e=this.customProvider;try{const[{chainId:t},n]=yield Promise.all([e.getNetwork(),e.listAccounts()]);this.actions.update({chainId:t,accounts:n})}catch(e){throw this.actions.resetState(),e}}))}}function Ce([e,t]){return[e,t]}var we;function je(){return je=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},je.apply(this,arguments)}var Te,Ae;function Oe(){return Oe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Oe.apply(this,arguments)}var Be;!function(e){e.INTEGRATOR="integrator",e.METAMASK="metamask",e.WALLET_CONNECT="walletConnect"}(Be||(Be={}));const ke={[Be.METAMASK]:{name:"MetaMask",type:Be.METAMASK,icon:function(e){return S.createElement("svg",je({height:355,viewBox:"0 0 397 355",width:397,xmlns:"http://www.w3.org/2000/svg"},e),we||(we=S.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(-1 -1)"},S.createElement("path",{d:"m114.622644 327.195472 52.004717 13.810198v-18.05949l4.245283-4.249292h29.716982v21.246459 14.872523h-31.839624l-39.268868-16.997169z",fill:"#cdbdb2"}),S.createElement("path",{d:"m199.528305 327.195472 50.943397 13.810198v-18.05949l4.245283-4.249292h29.716981v21.246459 14.872523h-31.839623l-39.268868-16.997169z",fill:"#cdbdb2",transform:"matrix(-1 0 0 1 483.96227 0)"}),S.createElement("path",{d:"m170.872644 287.889523-4.245283 35.056657 5.306604-4.249292h55.18868l6.367925 4.249292-4.245284-35.056657-8.490565-5.311615-42.452832 1.062323z",fill:"#393939"}),S.createElement("path",{d:"m142.216984 50.9915022 25.471698 59.4900858 11.674528 173.158643h41.391511l12.735849-173.158643 23.349056-59.4900858z",fill:"#f89c35"}),S.createElement("path",{d:"m30.7783023 181.657226-29.71698153 86.048161 74.29245393-4.249293h47.7594343v-37.181303l-2.122641-76.487253-10.613208 8.498583z",fill:"#f89d35"}),S.createElement("path",{d:"m87.0283032 191.218134 87.0283028 2.124646-9.551886 44.617563-41.391511-10.623229z",fill:"#d87c30"}),S.createElement("path",{d:"m87.0283032 192.280457 36.0849058 33.994334v33.994334z",fill:"#ea8d3a"}),S.createElement("path",{d:"m123.113209 227.337114 42.452831 10.623229 13.79717 45.679888-9.551886 5.311615-46.698115-27.620398z",fill:"#f89d35"}),S.createElement("path",{d:"m123.113209 261.331448-8.490565 65.864024 56.25-39.305949z",fill:"#eb8f35"}),S.createElement("path",{d:"m174.056606 193.34278 5.306604 90.297451-15.919812-46.211049z",fill:"#ea8e3a"}),S.createElement("path",{d:"m74.2924539 262.393771 48.8207551-1.062323-8.490565 65.864024z",fill:"#d87c30"}),S.createElement("path",{d:"m24.4103777 355.878193 90.2122663-28.682721-40.3301901-64.801701-73.23113313 5.311616z",fill:"#eb8f35"}),S.createElement("path",{d:"m167.688682 110.481588-45.636793 38.243627-35.0235858 42.492919 87.0283028 3.186969z",fill:"#e8821e"}),S.createElement("path",{d:"m114.622644 327.195472 56.25-39.305949-4.245283 33.994334v19.121813l-38.207548-7.43626z",fill:"#dfcec3"}),S.createElement("path",{d:"m229.245286 327.195472 55.18868-39.305949-4.245283 33.994334v19.121813l-38.207548-7.43626z",fill:"#dfcec3",transform:"matrix(-1 0 0 1 513.679252 0)"}),S.createElement("path",{d:"m132.665096 212.464593-11.674528 24.433427 41.39151-10.623229z",fill:"#393939",transform:"matrix(-1 0 0 1 283.372646 0)"}),S.createElement("path",{d:"m23.349057 1.06232296 144.339625 109.41926504-24.410378-59.4900858z",fill:"#e88f35"}),S.createElement("path",{d:"m23.349057 1.06232296-19.10377392 58.42776294 10.61320772 63.7393781-7.42924541 4.249292 10.61320771 9.560906-8.49056617 7.436261 11.67452847 10.623229-7.4292454 6.373938 16.9811323 21.246459 79.5990577-24.433428c38.915096-31.161473 58.018869-47.096318 57.311322-47.804533-.707548-.708215-48.820756-37.1813036-144.339625-109.41926504z",fill:"#8e5a30"}),S.createElement("g",{transform:"matrix(-1 0 0 1 399.056611 0)"},S.createElement("path",{d:"m30.7783023 181.657226-29.71698153 86.048161 74.29245393-4.249293h47.7594343v-37.181303l-2.122641-76.487253-10.613208 8.498583z",fill:"#f89d35"}),S.createElement("path",{d:"m87.0283032 191.218134 87.0283028 2.124646-9.551886 44.617563-41.391511-10.623229z",fill:"#d87c30"}),S.createElement("path",{d:"m87.0283032 192.280457 36.0849058 33.994334v33.994334z",fill:"#ea8d3a"}),S.createElement("path",{d:"m123.113209 227.337114 42.452831 10.623229 13.79717 45.679888-9.551886 5.311615-46.698115-27.620398z",fill:"#f89d35"}),S.createElement("path",{d:"m123.113209 261.331448-8.490565 65.864024 55.18868-38.243626z",fill:"#eb8f35"}),S.createElement("path",{d:"m174.056606 193.34278 5.306604 90.297451-15.919812-46.211049z",fill:"#ea8e3a"}),S.createElement("path",{d:"m74.2924539 262.393771 48.8207551-1.062323-8.490565 65.864024z",fill:"#d87c30"}),S.createElement("path",{d:"m24.4103777 355.878193 90.2122663-28.682721-40.3301901-64.801701-73.23113313 5.311616z",fill:"#eb8f35"}),S.createElement("path",{d:"m167.688682 110.481588-45.636793 38.243627-35.0235858 42.492919 87.0283028 3.186969z",fill:"#e8821e"}),S.createElement("path",{d:"m132.665096 212.464593-11.674528 24.433427 41.39151-10.623229z",fill:"#393939",transform:"matrix(-1 0 0 1 283.372646 0)"}),S.createElement("path",{d:"m23.349057 1.06232296 144.339625 109.41926504-24.410378-59.4900858z",fill:"#e88f35"}),S.createElement("path",{d:"m23.349057 1.06232296-19.10377392 58.42776294 10.61320772 63.7393781-7.42924541 4.249292 10.61320771 9.560906-8.49056617 7.436261 11.67452847 10.623229-7.4292454 6.373938 16.9811323 21.246459 79.5990577-24.433428c38.915096-31.161473 58.018869-47.096318 57.311322-47.804533-.707548-.708215-48.820756-37.1813036-144.339625-109.41926504z",fill:"#8e5a30"})))))},link:"https://metamask.io"},[Be.WALLET_CONNECT]:{name:"WalletConnect",type:Be.WALLET_CONNECT,icon:function(e){return S.createElement("svg",Oe({height:512,viewBox:"0 0 512 512",width:512,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},e),Te||(Te=S.createElement("radialGradient",{id:"a",cx:"0%",cy:"50%",r:"100%"},S.createElement("stop",{offset:0,stopColor:"#5d9df6"}),S.createElement("stop",{offset:1,stopColor:"#006fff"}))),Ae||(Ae=S.createElement("g",{fill:"none",fillRule:"evenodd"},S.createElement("path",{d:"m256 0c141.384896 0 256 114.615104 256 256s-114.615104 256-256 256-256-114.615104-256-256 114.615104-256 256-256z",fill:"url(#a)"}),S.createElement("path",{d:"m64.6917558 37.7088298c51.5328072-50.2784397 135.0839942-50.2784397 186.6167992 0l6.202057 6.0510906c2.57664 2.5139218 2.57664 6.5897948 0 9.1037177l-21.215998 20.6995759c-1.288321 1.2569619-3.3771 1.2569619-4.665421 0l-8.534766-8.3270205c-35.950573-35.0754962-94.237969-35.0754962-130.188544 0l-9.1400282 8.9175519c-1.2883217 1.2569609-3.3771016 1.2569609-4.6654208 0l-21.2159973-20.6995759c-2.5766403-2.5139229-2.5766403-6.5897958 0-9.1037177zm230.4934852 42.8089117 18.882279 18.4227262c2.576627 2.5139103 2.576642 6.5897593.000032 9.1036863l-85.141498 83.070358c-2.576623 2.513941-6.754182 2.513969-9.33084.000066-.00001-.00001-.000023-.000023-.000033-.000034l-60.428256-58.957451c-.64416-.628481-1.68855-.628481-2.33271 0-.000004.000004-.000008.000007-.000012.000011l-60.4269683 58.957408c-2.5766141 2.513947-6.7541746 2.51399-9.3308408.000092-.0000151-.000014-.0000309-.000029-.0000467-.000046l-85.14386774-83.071463c-2.57663928-2.513921-2.57663928-6.589795 0-9.1037163l18.88231264-18.4226955c2.5766393-2.5139222 6.7541993-2.5139222 9.3308397 0l60.4291347 58.9582758c.6441608.62848 1.6885495.62848 2.3327103 0 .0000095-.000009.0000182-.000018.0000277-.000025l60.4261065-58.9582508c2.576581-2.51398 6.754142-2.5140743 9.33084-.0002103.000037.0000354.000072.0000709.000107.0001063l60.429056 58.9583548c.644159.628479 1.688549.628479 2.332709 0l60.428079-58.9571925c2.57664-2.5139231 6.754199-2.5139231 9.330839 0z",fill:"#fff",fillRule:"nonzero",transform:"translate(98 160)"}))))}}},Se={};function Re({provider:e,jsonRpcUrlMap:t,defaultChainId:n}){const o=console.error,s=a.useMemo((()=>function(e,t){if(t){if(b.JsonRpcProvider.isProvider(t))return Ce(c.initializeConnector((e=>new Ee(e,t))));if(b.JsonRpcProvider.isProvider(t.provider))throw new Error("Eip1193Bridge is experimental: pass your ethers Provider directly");return Ce(c.initializeConnector((n=>new f.EIP1193({actions:n,provider:t,onError:e}))))}}(o,e)),[o,e]),i=a.useMemo((()=>function(e){return Ce(c.initializeConnector((t=>new g.MetaMask({actions:t,onError:e}))))}(o)),[o]),r=a.useMemo((()=>t?Object.assign(Object.assign({},H),t):H),[t]),l=a.useMemo((()=>function(e,t,n,o){return Ce(c.initializeConnector((s=>new x.WalletConnect({actions:s,options:{rpc:t,qrcode:e},onError:o,defaultChainId:n}))))}(!0,r,n,o)),[r,n,o]);return s&&(Se[Be.INTEGRATOR]=s),Se[Be.METAMASK]=i,Se[Be.WALLET_CONNECT]=l,Object.values(Se)}function Ie(){const{chainId:e}=c.useWeb3React(),t=i.useSelector(re);return a.useMemo((()=>e||t||1),[e,t])}function De({tokenList:e,popularTokenList:t}){const o=i.useDispatch(),[s,r]=a.useState([]),{account:l}=c.useWeb3React(),d=Ie(),u=i.useSelector(le),p=a.useMemo((()=>(null==t?void 0:t.filter((e=>e.chainId===d)))||[]),[t,d]),m=a.useMemo((()=>{const e=s.map((({address:e})=>e));return null==t||t.forEach((({address:t})=>{e.includes(t)||e.push(t)})),e}),[s,t]);!function({tokenList:e,addresses:t,blockNumber:n}){const{account:o}=c.useWeb3React(),s=i.useDispatch(),r=a.useMemo((()=>[...(null==e?void 0:e.map((e=>e.address)))||[],...t||[]].map((e=>e.toLocaleLowerCase()))),[e,t]),{getContract:l,contractConfig:d,call:u}=xe(),[p,m]=a.useState(),f=a.useMemo((()=>{if(!o||!r.length||!d)return;const{DODO_APPROVE:e,ERC20_HELPER:t}=d,n=l(t,ge);if(!n)return;let a={};const i=r.map((s=>(a[s]=!0,{callData:{data:n.interface.encodeFunctionData("isERC20",[s,o,e]),to:t},processor:e=>{const t=new h.Interface(ge).decodeFunctionResult("isERC20",e),{balance:n,isOk:o}=t,a=parseInt(t.decimals),i=new k.default(10).pow(a),r=new k.default(t.allownance.toString()).div(i);return o?{address:s,decimals:a,symbol:t.symbol,name:t.name,balance:new k.default(n.toString()).div(i),allowance:r}:{address:s,balance:new k.default(0),allowance:new k.default(0)}}})));return s(de(a)),i}),[o,l,JSON.stringify(r)]);a.useEffect((()=>{(()=>{G(this,void 0,void 0,(function*(){if(!f)return;const e=yield u(f),t={};e&&(e.forEach((e=>{t[e.address.toLocaleLowerCase()]={tokenBalances:e.balance,tokenAllowances:e.allowance}})),s(ce(t))),m(e);let n={};r.forEach((e=>{n[e]=!1})),s(de(n))}))})()}),[f,n])}({addresses:m,blockNumber:u}),a.useEffect((()=>{(()=>{G(this,void 0,void 0,(function*(){let t=[];if(e)t=e;else{const e=yield Promise.resolve().then((function(){return require("./tokenList-ee5e15c8.cjs")}));t=n.unionBy(e.default,p,"address")}const s=d,a=t.filter((e=>e.chainId===s));r(a),o((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_TOKEN_LIST",payload:e})})))(a))}))})()}),[e,o,d,p]),a.useEffect((()=>{o(ce({}))}),[l,d]),a.useEffect((()=>{o((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_POPULAR_TOKEN_LIST",payload:e})})))(p))}),[p,o])}const Le=e=>(null!=e?e:ie.getState()).token.tokenList,Ne=e=>(null!=e?e:ie.getState()).token.accountBalances,Me=e=>(null!=e?e:ie.getState()).token.ethBalance||new k.default(NaN),_e=e=>(null!=e?e:ie.getState()).token.defaultFromToken,Pe=e=>(null!=e?e:ie.getState()).token.defaultToToken,Fe=e=>(null!=e?e:ie.getState()).token.balanceLoadings;function Ue(){const{account:e,chainId:t}=c.useWeb3React(),n=i.useSelector(Ne),o=i.useSelector(Me),s=a.useMemo((()=>z[t||1]),[t]),r=a.useCallback((t=>{var a;if(!e)return null;if(t.symbol===s.symbol&&P(t.address,s.address))return!o||(null==o?void 0:o.isNaN())?null:o;const i=null===(a=n[t.address.toLocaleLowerCase()])||void 0===a?void 0:a.tokenBalances;return!i||(null==i?void 0:i.isNaN())?null:i}),[n,o,e]);return r}var We;function He(e,t,n,o=0){if(n&&(e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase()),e===t)return We.fully+o;const s=e.indexOf(t);return 0===s?We.prefix+o:s>0?We.other+o:We.none}!function(e){e[e.fully=1]="fully",e[e.prefix=2]="prefix",e[e.other=3]="other",e[e.none=0]="none"}(We||(We={}));function $e({value:e,onChange:t,occupiedAddrs:n,hiddenAddrs:o,showAddrs:s}){const[r,l]=a.useState(""),c=i.useSelector(Le),d=Ie(),u=Ue(),p=a.useMemo((()=>new Set(o?o.map((e=>e.toLowerCase())):void 0)),[o]),m=a.useMemo((()=>s?new Set(s.map((e=>e.toLowerCase()))):void 0),[s]),h=a.useCallback((e=>e.filter((e=>{if(e.chainId!==d)return!1;let t=!0;return t=m?m.has(e.address.toLowerCase()):!p.has(e.address.toLowerCase()),t}))),[m,d,p]),f=a.useCallback((t=>{if(null===t)return null;const o=[];r?t.forEach((e=>{const t=((e,t,{matchAddress:n}={})=>{if(!t)return 0;const o=t.toLocaleLowerCase();let s=0;n&&e.address.toLocaleLowerCase()===o&&(s=1),s||(s=He(e.symbol.toLocaleLowerCase(),o,!1,1));if(s)e.name.toLocaleLowerCase()===o&&(s=We.fully+1);else{let t=He(e.name.toLocaleLowerCase(),o,!1,10);t=t===We.fully+10?We.fully+1:t,s=t}return s})(e,r,{matchAddress:!0});t&&o.push({sort:t,token:e})})):t.forEach((e=>{o.push({sort:0,token:e})}));const s=[];return o.sort(((t,o)=>{const s=t.token,a=o.token;if(e){if(s.address===e.address)return-1;if(a.address===e.address)return 1}if(null==n?void 0:n.includes(s.address))return-1;if(null==n?void 0:n.includes(a.address))return 1;const i=u&&u(s)||new k.default(0),r=u&&u(a)||new k.default(0);return i.eq(r)?t.sort!==o.sort?t.sort>o.sort?1:-1:s.symbol.localeCompare(a.symbol):i.gt(r)?-1:1})).some((e=>!!(r&&s.length>21)||(s.push(e.token),!1))),s}),[r,u,n,e]),x=a.useCallback((e=>{const o=e.address.toLowerCase();t(e,!!(null==n?void 0:n.some((e=>e.toLowerCase()===o))))}),[t,n]),g=a.useMemo((()=>{const e=h(c);return f(e)||[]}),[c,h,f]);return{filter:r,setFilter:l,showTokenList:g,onSelectToken:x}}function ze({width:e=24,height:t=24,marginRight:n=8,url:s,zIndex:r,cross:l,address:d,token:u,sx:p}){const[m,h]=a.useState(!1),[f,x]=a.useState(""),[g,b]=a.useState(""),[y,E]=a.useState(!1),C=a.useCallback((()=>h(!0)),[]);let w=function(e){const t=i.useSelector(Le),{chainId:n}=c.useWeb3React();return a.useMemo((()=>{if(!e)return;let o=t.find((({address:t,chainId:o})=>o===n&&t===e));return o||(o=t.find((({address:t})=>t===e))),o}),[e,t,n])}(d);u&&(w=u);const j=d||(null==w?void 0:w.address),T=null==w?void 0:w.symbol,A=null==T?void 0:T.charAt(0).toUpperCase(),O=a.useMemo((()=>{const e=null==w?void 0:w.logoURI;return s||e||""}),[s,w]);return a.useEffect((()=>{E(!1)}),[j,O]),a.useEffect((()=>{l&&(O?function(e,t){const n=new XMLHttpRequest;let o;n.onload=function(){const e=new FileReader;e.onloadend=function(){t(e.result)},e.readAsDataURL(n.response)},n.onerror=function(){t()};try{o=new URL(e)}catch(e){}finally{n.open("GET",o||e),n.responseType="blob",n.send()}}(O,(e=>{x(e)})):x(""))}),[O,l]),a.useEffect((()=>{try{let t=j;if(t&&t.length<15&&(t=t.padEnd(15,"0")),t){const n=new R.default(t,{size:e,format:"svg",margin:.2,background:[255,234,4,255]}).toString();b(`data:image/svg+xml;base64,${n}`)}}catch(e){console.error("generate Identicon error: ",e)}}),[j,e]),v.jsxs(o.Box,{sx:Object.assign({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",minWidth:e,width:e,height:t,marginRight:n,zIndex:r},p||{}),style:{width:e,height:t},children:[!m&&v.jsx(o.Box,{sx:{typography:"ht",height:"100%",width:"100%",borderRadius:"50%",border:"transparent 2px solid",borderColor:"text.primary",color:"text.primary",display:"flex",alignItems:"center",justifyContent:"center"},children:A}),v.jsx(o.Box,{component:"img",src:!(l?f:O)||y?g:l?f:O,onLoad:C,onError:e=>{const t=e.target;j&&g&&E(!0),t.onerror=null},sx:{position:"absolute",top:"0",bottom:"0",left:"0",right:"0",borderRadius:"50%",overflow:"hidden",width:"100%",height:"100%"}})]})}function Ve({token:t,onClick:n}){var s,a;const i=o.useTheme();return v.jsxs(o.Box,{component:o.BaseButton,sx:{display:"flex",alignItems:"center",color:i.palette.text.primary,typography:"h5",fontWeight:600},onClick:e=>{n&&n(e)},"data-testid":"swap-select-token-btn",children:[(null==t?void 0:t.address)?v.jsxs(v.Fragment,{children:[v.jsx(ze,{url:null==t?void 0:t.logoURI,address:null!==(s=null==t?void 0:t.address)&&void 0!==s?s:"",marginRight:6}),v.jsx(o.Box,{children:null!==(a=null==t?void 0:t.symbol)&&void 0!==a?a:"-"})]}):v.jsx(e.Trans,{id:"SELECT TOKEN"}),v.jsx(o.Box,{sx:{ml:7,width:12,transform:"rotateX(180deg)"},component:r.CaretUp})]})}function qe({onClick:t,balance:n,decimals:s,address:a,showMaxBtn:i}){const{palette:r}=o.useTheme();return v.jsxs(o.Box,{sx:{display:"flex",typography:"body2",color:r.text.secondary},children:[v.jsx(e.Trans,{id:"Balance:"})," ",a?L({input:n,decimals:Math.min(s||4,4)}):"-",i&&n&&n.gt(0)&&v.jsx(o.Box,{component:o.BaseButton,sx:{ml:6,color:(null==n?void 0:n.gt(0))?r.primary.main:r.text.disabled,cursor:a&&t?"pointer":"unset"},onClick:()=>t&&t(n?n.toString():""),children:v.jsx(e.Trans,{id:"Max"})})]})}function Ke({readOnly:e,sx:t,value:n,decimals:s,onChange:i,suffix:l,withClear:c,onFocus:d,placeholder:u}){const p=o.useTheme(),m=a.useMemo((()=>l||(c&&n&&i?v.jsx(o.Box,{component:o.BaseButton,sx:{ml:5,width:18,height:18,borderRadius:"50%",backgroundColor:"border.main",display:"flex",justifyContent:"center",alignItems:"center"},onClick:()=>{i&&i("")},children:v.jsx(o.Box,{component:r.Error,sx:{width:12,color:"text.primary"}})}):void 0)),[i,l,p.palette.text.primary,n,c]);return v.jsxs(o.Box,{sx:Object.assign({mt:12,display:"flex",justifyContent:"space-between",alignItems:"center"},t),"data-testid":"number-input-wrapper",children:[v.jsx(o.Input,{fullWidth:!0,value:n,readOnly:e,placeholder:u||"0.00",onFocus:d,onChange:e=>{const t=e.target.value,n=0===t.length?"":_(t,s);i&&i(n)},sx:{width:"inherit",border:"none","& .MuiInput-input":{fontSize:24,border:"none",outline:"none",height:24,padding:0,color:"text.primary","&::placeholder":{fontSize:24,color:"text.disabled"}}}}),!e&&n&&m]})}function Ge({open:e,onClose:t,title:n,rightSlot:s,canBack:a=!0,children:i,height:l,testId:c}){return v.jsxs(o.Box,{sx:{position:"absolute",top:e?0:"100%",transition:"top 300ms",zIndex:1,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",backgroundColor:"background.paper",borderRadius:16,height:l},"data-testid":c,"data-active":e?"1":"0",children:[n?v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",p:20},children:[v.jsx(o.Box,{sx:{display:"flex",alignItems:"center",typography:"caption"},children:n}),s,!s&&a&&v.jsx(o.Box,{component:r.Error,sx:{color:"text.secondary",cursor:"pointer"},onClick:t})]}):"",i]})}const Ye=e=>(null!=e?e:ie.getState()).globals;function Xe({token:e,disabled:t,onClick:n}){return v.jsxs(o.Box,{sx:Object.assign({display:"inline-flex",alignItems:"center",p:8,border:"solid 1px",typography:"body2",borderRadius:8},t?{borderColor:"transparent",backgroundColor:"border.disabled",cursor:"auto"}:{borderColor:"border.main",cursor:"pointer","&:hover":{backgroundColor:"hover.default"}}),onClick:()=>{t||n()},children:[v.jsx(ze,{token:e}),e.symbol]})}function Ze({token:e,disabled:t,style:n,onClick:s}){const a=Ue()(e),i=a?D({input:a}):"";return v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",typography:"body2",px:6,py:5,borderRadius:8,cursor:t?"auto":"pointer",opacity:t?.5:1,"&:hover":{backgroundColor:"hover.default"}},style:n,onClick:()=>{t||s()},"data-testid":"token-picker-item",children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsx(ze,{token:e}),v.jsxs(o.Box,{children:[v.jsx(o.Box,{sx:{fontWeight:600,textAlign:"left"},children:e.symbol}),v.jsx(o.Box,{sx:{mt:4,textAlign:"left"},children:i})]})]}),v.jsx(o.Box,{sx:{color:"text.secondary"},children:e.name})]})}function Qe({value:e,onChange:t,occupiedAddrs:n,hiddenAddrs:s,showAddrs:r,visible:l}){var c;const d=Ie(),u=i.useSelector((e=>((e,t)=>(null!=t?t:ie.getState()).token.popularTokenList.filter((({chainId:t})=>e===t)))(d,e))),{showTokenList:p,filter:m,setFilter:h,onSelectToken:f}=$e({value:e,onChange:t,occupiedAddrs:n,hiddenAddrs:s,showAddrs:r}),x=a.useRef(null),g=a.useRef(null),[b,y]=a.useState(0);a.useEffect((()=>{l&&x.current&&y(x.current.offsetHeight-34)}),[x,l]);const w=a.useCallback((({index:t,style:n})=>{const s=!!(null==u?void 0:u.length);if(0===t&&s)return v.jsx(o.Box,{sx:{position:"relative",display:"flex",gap:8,flexWrap:"wrap",pb:32,"&::after":{content:'""',position:"absolute",bottom:16,left:0,right:0,height:"1px",backgroundColor:"border.main"}},ref:g,style:Object.assign(Object.assign({},n),{visibility:n.height?"visible":"hidden",height:n.height?n.height:"auto"}),children:u.map((t=>v.jsx(Xe,{token:t,disabled:(null==e?void 0:e.address)===t.address,onClick:()=>f(t)},t.address)))});const a=p[s?t-1:t];return v.jsx(Ze,{token:a,disabled:!!e&&e.address===a.address,style:n,onClick:()=>f(a)})}),[p,u,g,e]),j=a.useCallback((e=>{var t;if(0===e&&(null==u?void 0:u.length)){const e=(null===(t=g.current)||void 0===t?void 0:t.offsetHeight)||0;return e<=52?0:e}return 52}),[g,u]);return v.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",px:20,flex:1},children:[v.jsx(o.SearchInput,{fullWidth:!0,height:48,value:m,onChange:e=>h(e.target.value),clearValue:()=>h(""),placeholder:E.i18n._("Enter the token symbol or address")}),v.jsx(o.Box,{sx:{mt:16,pb:16,flex:1,minHeight:64},ref:x,children:v.jsx(C.VariableSizeList,{height:b,itemCount:p.length+((null==u?void 0:u.length)?1:0),itemSize:j,width:"100%",className:"token-list",children:w},null===(c=g.current)||void 0===c?void 0:c.offsetHeight)})]})}function Je({open:t,value:n,onClose:o,occupiedAddrs:s,onTokenChange:a}){const{height:r}=i.useSelector(Ye);return v.jsx(Ge,{height:r,open:t,onClose:o,title:v.jsx(e.Trans,{id:"Select a token"}),testId:"token-picker-wrapper",children:v.jsx(Qe,{value:n,visible:t,onChange:a,occupiedAddrs:s})})}function et({sx:e,amt:t,token:n,readOnly:s,showMaxBtn:i,onMaxClick:r,fiatPriceTxt:l,occupiedAddrs:c,onInputFocus:d,onTokenClick:u,onInputChange:p,onTokenChange:m}){const h=o.useTheme(),f=Ue(),[x,g]=a.useState(!1),b=n?f(n):null;return v.jsxs(o.Box,{sx:Object.assign({width:"100%",minHeight:133,padding:20,borderRadius:12,overflow:"hidden",display:"flex",flexDirection:"column",justifyContent:"space-between",backgroundColor:h.palette.background.input},e),children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[v.jsx(Ve,{token:n,onClick:()=>g(!0)}),v.jsx(qe,{balance:b,onClick:r,showMaxBtn:i,address:null==n?void 0:n.address,decimals:null==n?void 0:n.decimals})]}),v.jsx(Ke,{value:t,onFocus:d,onChange:p,readOnly:s,withClear:!0}),v.jsx(o.Box,{sx:{mt:4,typography:"body2",color:h.palette.text.secondary},children:l}),v.jsx(Je,{value:n,open:x,occupiedAddrs:c,onClose:()=>{u&&u(),g(!1)},onTokenChange:(e,t)=>{m(e,t),g(!1)}})]})}const tt={"en-US":w.en,"zh-CN":w.zh,pseudo:w.en};function nt({locale:t,children:n}){return a.useEffect((()=>{(()=>{G(this,void 0,void 0,(function*(){yield function(e="en-US"){return G(this,void 0,void 0,(function*(){E.i18n.loadLocaleData(e,{plurals:()=>tt[e]});try{const n=yield(t=`./locales/${e}.js`,Promise.resolve().then((function(){return B(require(t))})));E.i18n.load(e,n.messages||n.default.messages)}catch(e){}var t;E.i18n.activate(e)}))}(t)}))})()}),[t]),v.jsx(e.I18nProvider,{i18n:E.i18n,children:n})}var ot,st,at;!function(e){e[e.Running=0]="Running",e[e.Success=1]="Success",e[e.Failed=2]="Failed",e[e.Warning=3]="Warning"}(ot||(ot={})),function(e){e.Canceled="canceled",e.Failed="failed",e.Success="success",e.Submitted="submitted"}(st||(st={})),function(e){e[e.Failed=0]="Failed",e[e.Success=1]="Success"}(at||(at={}));var it,rt=[{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}];!function(e){e[e.Failed=0]="Failed",e[e.Success=1]="Success",e[e.Warning=2]="Warning"}(it||(it={}));const lt=(e,t)=>G(void 0,void 0,void 0,(function*(){const{value:n,from:o,to:s,data:a}=e,i={from:o,to:s,value:n,data:a};n&&!/^0x0*$/.test(n)||delete i.value;try{return(yield t.estimateGas(i)).add(5e4)}catch(e){t.call(i).then((e=>{if("test"!==process.env.NODE_ENV)throw new Error("Unexpected issue with estimating the gas. Please try again.")})).catch((e=>{if("test"!==process.env.NODE_ENV)throw e}))}return null})),ct=(e,t)=>G(void 0,void 0,void 0,(function*(){try{return yield t.getSigner().sendTransaction(e)}catch(e){throw 4001===(null==e?void 0:e.code)?new Error(E.i18n._("Transaction rejected.")):e}}));var dt,ut;!function(e){e.Approval="APPROVAL",e.TX="TX",e.TypedSign="TypedSign"}(dt||(dt={})),function(e){e.Normal="Normal",e.Privacy="Privacy",e.LimitOrder="LimitOrder",e.RFQ="RFQ"}(ut||(ut={}));const pt=new k.default(2).pow(256).minus(1),mt=e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_GLOBAL_PROPS",payload:e})}));function ht({onTxFail:e,onTxSubmit:t,onTxSuccess:n}={}){const{account:o,provider:s}=c.useWeb3React(),r=Ie(),[l,d]=a.useState(!1),[u,p]=a.useState(new Map),m=i.useDispatch(),[h,f]=a.useState(null),[x,g]=a.useState(""),[b,y]=a.useState(null),[v,C]=a.useState(!1),[w,j]=a.useState(),T=a.useCallback(((a,i,l,c=!1,u,h,x,b)=>G(this,void 0,void 0,(function*(){if(g(""),f(""),!o||!s)throw new Error("Submission: Cannot execute step when the wallet is disconnected");let v,w,T;j((()=>x)),d(!1);try{if(d(!0),i.opcode===dt.Approval)T=yield((e,t,n,o,s,a)=>G(void 0,void 0,void 0,(function*(){const i=fe(e,rt,s,a).interface.encodeFunctionData("approve",[n,o.toFixed()]),r={from:t,to:e,data:i,value:`0x${new k.default("0").toString(16)}`,gasLimit:void 0},l=yield lt(r,s);return l&&(r.gasLimit=l),yield ct(r,s)})))(i.token.address,o,i.contract,i.amt||pt,s,o),v=T.hash,g(v);else{if(i.opcode!==dt.TX)throw new Error(`Op ${i.opcode} not implemented!`);if(""===i.to)throw new Error("Submission: malformed to");if(0===i.data.length)throw new Error("Submission: malformed data");if(0===i.data.indexOf("0x")&&i.data.length<=2)throw new Error("Submission: malformed data");if(w={value:i.value,data:i.data,to:i.to,gasLimit:i.gasLimit,from:o,chainId:r},!w.gasLimit)try{const e=yield lt(w,s);e&&(w.gasLimit=e)}catch(e){console.debug(e)}if(T=yield ct(w,s),v=T.hash,g(v),!v)throw new Error(`Unexpected tx: ${v}`)}}catch(t){if(d(!1),y({spec:i,brief:a,subtitle:l}),console.error(t),t.message){m(mt({contractStatus:ee.Failed}));const n={error:t.message,brief:a};h&&Object.assign(n,h),e&&e(t,h),f(function(e,t){var n;const o=null===(n=z[e])||void 0===n?void 0:n.symbol,s=[{error:"insufficient",msg:E.i18n._("Insufficient funds - Please retry after depositing more {EtherTokenSymbol} into your wallet",{EtherTokenSymbol:o})},{error:["External Swap execution Failed","Return amount is not enough"],msg:E.i18n._("Price impact exceeds the slippage tolerance you set. Try increasing the slippage tolerance.")},{error:"SafeERC20: low-level call failed",msg:E.i18n._("SafeERC20: low-level call failed. Please log a Zendesk support ticket or contact the DODO team.")},{error:["User denied","cancel","User rejected","user rejected"],msg:E.i18n._("User denied transaction signature.")},{error:["Cannot set properties of undefined (setting 'loadingDefauIts'){\"originalError\":{",'[ethjs-query]while formatting outputs from RPC\'["value":["code":-32000,"message":"header not found"))'],msg:E.i18n._("RPC node data exception")},{error:['execution reverted:FORCESTOP ["originalError"'],msg:E.i18n._("ForceStop exception")},{error:["replacement transaction underpriced","Gasprice too low","transaction underprice"],msg:E.i18n._("Gas price is too low, please adjust in your wallet and try again")},{error:["MINT_INVALID"],msg:E.i18n._("No ForceStop access")},{error:["NOT_PHASE_EXE"],msg:E.i18n._("Unable to SETTLE during the cooling-off period")},{error:["params specify an EIP-1559transaction but the currentnetwork does not support"],msg:E.i18n._("Wallet incompatibility")},{error:["ALREADY_SETTLED"],msg:E.i18n._("This CP has been settled by other addrs")},{error:["create RFQ order failed]:LESS_THAN_FEE_LIMIT"],msg:E.i18n._("Service update, please wait and try again")}];let a="";return s.some((e=>Array.isArray(e.error)?e.error.some((n=>t.indexOf(n)>-1&&(a=e.msg,!0))):t.indexOf(e.error)>-1&&(a=e.msg,!0))),a||t}(r,t.message))}return st.Failed}y({spec:i,brief:a,subtitle:l}),C(!1),d(!1);const A=Object.assign(Object.assign(Object.assign(Object.assign({brief:a},i),w),{tx:v,subtitle:l}),h);m(mt({contractStatus:ee.Pending})),t&&t(v,A),u&&u();const O={brief:a,spec:i,tx:v,subtitle:l};if(p((e=>e.set(v,[O,ot.Running]))),c)return st.Submitted;if(u&&u(),null==T?void 0:T.wait){const e=yield T.wait(1);if(C(!0),e.status===at.Success)return"TX"===A.opcode&&m(mt({contractStatus:ee.TxSuccess})),"APPROVAL"===A.opcode&&m(mt({contractStatus:ee.ApproveSuccess})),b&&b(v),n&&n(v,A),p((e=>e.set(v,[O,ot.Success]))),st.Success}return C(!0),p((e=>e.set(v,[O,ot.Failed]))),st.Failed}))),[o,r,d,s]),A=a.useMemo((()=>({execute:T,requests:u,setShowing:y,waitingSubmit:l})),[T,u,y]),O=a.useCallback((()=>{y(null),w&&(w(),j(void 0))}),[w]);return{showing:b,showingDone:v,transactionTx:x,errorMessage:h,setErrorMessage:f,closeShowing:O,ctxVal:A,requests:u}}function ft(){const{requests:e}=gt(),t=[];return null==e||e.forEach((function([e,n]){n===ot.Running&&t.push(e)})),{runningRequests:t,isInflight:t.length>0}}const xt=a.createContext({execute:()=>Promise.resolve(st.Canceled),requests:void 0,waitingSubmit:!1});function gt(){return a.useContext(xt)}var bt;function yt(){return yt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},yt.apply(this,arguments)}var vt=function(e){return S.createElement("svg",yt({width:"33px",height:"33px",viewBox:"0 0 33 33",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},e),bt||(bt=S.createElement("g",{stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},S.createElement("g",{transform:"translate(-186.000000, -375.000000)",stroke:"currentColor",strokeWidth:4},S.createElement("g",{transform:"translate(18.000000, 291.000000)"},S.createElement("g",{transform:"translate(40.000000, 83.000000)"},S.createElement("path",{d:"M159,32 C159,15.9837423 146.016258,3 130,3"})))))))};function Et({showingDone:e,errorMessage:t}){return t?v.jsx(o.Box,{component:r.ErrorWarn,sx:{width:64,height:64,color:"error.main"}}):e?v.jsx(o.Box,{component:r.DoneBorder,sx:{width:64,height:64,color:"success.main"}}):v.jsx(o.Box,{sx:{mx:"auto",border:e=>{var t;return`6px solid ${null===(t=e.palette)||void 0===t?void 0:t.background.input}`},borderRadius:"50%",width:"64px",height:"64px",position:"relative",animation:"loadingRotate 1.1s infinite linear","@keyframes loadingRotate":{"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(359deg)"}}},children:v.jsx(o.Box,{component:vt,sx:{position:"absolute",top:"-6px",right:"-6px",color:"primary.main"}})})}function Ct({showingDone:e,showing:t}){return v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",flexDirection:"column"},children:[v.jsx(o.Box,{sx:{mt:60},children:e?E.i18n._("{0} confirmed",{0:null==t?void 0:t.brief}):E.i18n._("{0} pending",{0:null==t?void 0:t.brief})}),(null==t?void 0:t.subtitle)?v.jsx(o.Box,{sx:{mt:20,typography:"body2"},children:null==t?void 0:t.subtitle}):""]})}function wt({isStarted:t,isEnded:n,tx:s}){const[i,l]=a.useState(0),{chainId:d}=c.useWeb3React(),u=a.useMemo((()=>`https://${q[d||1]}/tx/${s}`),[s,d]),p=a.useMemo((()=>{const e=Math.floor(i/60),t=i%60;return e?`${e}m ${t}s`:`${t}s`}),[i]),m=a.useRef();return a.useEffect((()=>(l(0),m.current=setInterval((()=>{l((e=>e+1))}),1e3),()=>{clearInterval(m.current)})),[t]),a.useEffect((()=>{clearInterval(m.current)}),[n]),v.jsxs(o.Box,{sx:{mt:20,pt:20,display:"flex",justifyContent:"space-between",alignItems:"center",typography:"body2",color:"text.secondary",border:"solid 1px transparent",borderTopColor:"border.main"},children:[v.jsxs(o.Box,{children:[v.jsx(e.Trans,{id:"Transaction Time:"}),p]}),v.jsxs(o.HoverOpacity,{sx:{display:"flex",alignItems:"center",cursor:"pointer"},component:"a",href:u,target:"_blank",rel:"noopener noreferrer",children:[v.jsx(e.Trans,{id:"Tx"}),v.jsx(o.Box,{component:r.ArrowTopRightBorder,sx:{width:16,height:16,ml:6}})]})]})}function jt(t){var{children:n}=t,s=K(t,["children"]);const{ctxVal:a,showing:r,closeShowing:l,showingDone:c,errorMessage:d,transactionTx:u}=ht(s),p=i.useDispatch();return v.jsxs(xt.Provider,{value:a,children:[n,v.jsx(Ge,{open:!!r,onClose:l,children:v.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",px:20,pb:20,flex:1,overflowY:"auto"},children:[v.jsxs(o.Box,{children:[v.jsx(o.Box,{sx:{textAlign:"center",pt:60},children:v.jsx(Et,{showingDone:c,errorMessage:d})}),d?v.jsxs(o.Box,{sx:{textAlign:"center",mt:60},children:[v.jsx(o.Box,{children:v.jsx(e.Trans,{id:"Something went wrong."})}),v.jsx(o.Box,{sx:{color:"text.secondary",mt:12,typography:"body2",wordBreak:"break-all"},children:d})]}):v.jsxs(v.Fragment,{children:[v.jsx(Ct,{showingDone:c,showing:r}),v.jsx(wt,{isStarted:!!r,isEnded:c,tx:u})]})]}),v.jsx(o.Button,{fullWidth:!0,size:o.Button.Size.big,onClick:()=>{p(mt({contractStatus:ee.Initial})),l()},sx:{mt:20},children:d?v.jsx(e.Trans,{id:"Dismiss"}):v.jsx(e.Trans,{id:"Close"})})]})})]})}function Tt({token:e,fiatPrice:n}){return{marginAmount:a.useMemo((()=>{var o;const s=null!==(o=null==e?void 0:e.decimals)&&void 0!==o?o:6,a=((e,n,o)=>{const s=new t.BigNumber(e).times(new t.BigNumber(10).pow(n));return o?s:s.dp(0)})(null!=n?new k.default(500).div(n):new k.default(0),s);return(a.lt(new k.default(1).times(new k.default(10).pow(s-3)))?new k.default(0):a).toString(10)}),[null==e?void 0:e.decimals,n])}}function At({width:e,height:t,feeRate:n,rebateTo:o,colorMode:s,apikey:r,defaultChainId:l,defaultToToken:c,defaultFromToken:d}){const u=i.useDispatch();a.useEffect((()=>{s&&u((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_COLOR_MODE",payload:e})})))(s))}),[s]),a.useEffect((()=>{var e;l&&u((e=l,t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_CHAIN_ID",payload:e})}))))}),[l]),a.useEffect((()=>{u(mt({height:t}))}),[t]),a.useEffect((()=>{u(mt({width:e}))}),[e]),a.useEffect((()=>{r&&u(mt({apikey:r}))}),[r]),a.useEffect((()=>{n&&u(mt({feeRate:n}))}),[n]),a.useEffect((()=>{o&&u(mt({rebateTo:o}))}),[o]),a.useEffect((()=>{d&&u((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_DEFAULT_FROM_TOKEN",payload:e})})))(d))}),[d]),a.useEffect((()=>{c&&u((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_DEFAULT_TO_TOKEN",payload:e})})))(c))}),[c])}function Ot({refetch:e,interval:t}){let n;a.useEffect((()=>(e(),clearTimeout(n),n=setInterval((()=>{e()}),null!=t?t:15e3),()=>clearTimeout(n))),[e])}function Bt({fromToken:e,toToken:t,chainId:n}){const[o,s]=a.useState(!1),[i,r]=a.useState(""),[l,c]=a.useState(""),d=a.useCallback((()=>{if(!n||!e||!t)return;s(!0);const o=[e,t];I.default.post("https://api.dodoex.io/price-api/api/v1/price/current/batch",{networks:o.map((()=>(e=>V[e]||V[W.MAINNET])(n))),addresses:o.map((e=>e.address)),symbols:o.map((e=>e.symbol)),isCache:!0},{headers:{apikey:"dodofrontend777888ofopensource"}}).then((n=>{var o;s(!1);const a=null===(o=n.data)||void 0===o?void 0:o.data;a&&(r(a.find((t=>t.address===e.address)).price),c(a.find((e=>e.address===t.address)).price))})).catch((e=>{s(!1),console.error(e)}))}),[n,e,t]);return Ot({refetch:d}),{loading:o,refetch:d,toFiatPrice:l,fromFiatPrice:i}}const kt=e=>(null!=e?e:ie.getState()).settings.slippage,St=e=>(null!=e?e:ie.getState()).settings.ddl;var Rt;function It({toToken:e,fromToken:t,fromAmount:n,toAmount:o,marginAmount:s}){const{account:r,chainId:l,provider:d}=c.useWeb3React(),u=i.useSelector(re),p=a.useMemo((()=>l||u),[l,u]),m=i.useSelector(kt)||3,h=i.useSelector(St)||20,{feeRate:f,rebateTo:x,apikey:g,isReverseRouting:b}=i.useSelector(Ye),y=a.useMemo((()=>Math.floor(Date.now()/1e3)+60*h),[h]),[v,C]=a.useState(Rt.Initial),[w,j]=a.useState(null),[A,O]=a.useState(""),[B,k]=a.useState(null),[S,R]=a.useState(null),[D,L]=a.useState(null),[N,M]=a.useState(T.BigNumber.from(0)),[_,P]=a.useState(null),[F,U]=a.useState(null),[W,H]=a.useState(""),[$,z]=a.useState(""),[V,q]=a.useState(""),[K,Y]=a.useState(0),X=a.useCallback((()=>G(this,void 0,void 0,(function*(){if(!p||!t||!e)return;if(!b&&!n)return;if(b&&!o)return;C(Rt.Loading);const s={chainId:p,deadLine:y,apikey:g,slippage:m,source:"dodoV2AndMixWasm",toTokenAddress:e.address,toTokenDecimals:e.decimals,fromTokenAddress:t.address,fromTokenDecimals:t.decimals,userAddr:r||"0x0000000000000000000000000000000000000000"};b?s.toAmount=T.parseFixed(String(o||1),e.decimals).toString():s.fromAmount=T.parseFixed(String(n||1),t.decimals).toString(),x&&f&&(s.rebateTo=x,s.fee=f);try{const e=(yield I.default.get("https://api.dodoex.io/route-service/v2/widget/getdodoroute",{params:s})).data.data;if((null==e?void 0:e.resAmount)?(C(Rt.Success),j(e.resAmount),L(e.priceImpact),P(e.resPricePerFromToken),U(e.resPricePerToToken),k(e.baseFeeAmount),R(e.additionalFeeAmount),H(e.to),z(e.data),O(e.value),q(e.useSource),Y(e.duration)):C(Rt.Failed),!r||!d)return;const t=yield lt({from:r,to:e.to,value:e.value,data:e.data},d);t&&M(t)}catch(e){C(Rt.Failed),console.error(e)}}))),[y,r,p,e,f,m,x,t,d,n,o,g,b]);Ot({refetch:X});const Z=a.useMemo((()=>{const e=b?o:n;return v!==Rt.Loading&&e?w:null}),[v,b,o,n,w]),Q=function(){const{chainId:e,account:t}=c.useWeb3React(),n=gt();return a.useCallback((({to:e,data:o,useSource:s,duration:a,ddl:i,gasLimit:r,subtitle:l,value:c})=>{const d=60*i,u=c;s&&"weth"!==s.toLowerCase()&&r&&r.lt(3e4)&&console.debug("Warning: GasLimit less than the minimum!");const p={from:t,to:e,data:o,value:u,route:s,duration:a,ddlSecRel:d,gasLimit:r};n.execute(E.i18n._("Swap"),Object.assign({opcode:dt.TX},p),l)}),[t,e])}(),J=a.useCallback((e=>{t&&(b?w:n)&&Q({to:W,data:$,useSource:V,duration:K,ddl:h,value:A,subtitle:e})}),[W,h,$,K,V,t,n,N,w,A,b]);return{status:v,refetch:X,priceImpact:D,executeSwap:J,baseFeeAmount:B,resAmount:Z,additionalFeeAmount:S,resPricePerToToken:F,resPricePerFromToken:_}}!function(e){e.Initial="Initial",e.Loading="Loading",e.Failed="Failed",e.Success="Success"}(Rt||(Rt={}));function Dt(e){De(e),be(),ye();const{provider:t,connector:n}=c.useWeb3React();a.useEffect((()=>{const t=e.defaultChainId||1;(null==n?void 0:n.connectEagerly)?n.connectEagerly(t):n.activate(t)}),[n]),a.useEffect((()=>{const e=null==t?void 0:t.provider;e&&e.once&&e.once("chainChanged",(()=>{setTimeout((()=>{window.location.reload()}),200||100)}))}),[t]);const s=e.width||375,i=e.height||494;return At(Object.assign(Object.assign({},e),{width:s,height:i})),v.jsx(o.Box,{sx:{width:s,height:i,overflow:"hidden",position:"relative",display:"flex",flexDirection:"column",minWidth:335,minHeight:494,borderRadius:16,backgroundColor:"background.paper"},className:"dodo-widget-container",children:v.jsx(jt,{...e,children:e.children})})}function Lt(e){const t=o.createTheme({mode:e.colorMode,theme:e.theme,lang:e.locale||"en-US"}),n=a.useMemo((()=>e.defaultChainId||1),[e.defaultChainId]),s=Re({provider:e.provider,jsonRpcUrlMap:e.jsonRpcUrlMap,defaultChainId:n}),r=`${s.length}+${e.jsonRpcUrlMap?Object.entries(e.jsonRpcUrlMap):""}+${e.defaultChainId}+${n}`;return v.jsx(i.Provider,{store:ie,children:v.jsx(nt,{locale:e.locale,children:v.jsx(o.ThemeProvider,{theme:t,children:v.jsxs(c.Web3ReactProvider,{connectors:s,children:[v.jsx(o.CssBaseline,{container:".dodo-widget-container"}),v.jsx(Dt,{...e})]},r)})})})}function Nt(e){const{width:t}=i.useSelector(Ye),n=a.useMemo((()=>{let e="";return"number"==typeof t?e=`${t}px`:t&&(e=t),e?`calc(${e} - 40px)`:"auto"}),[t]);return v.jsx(o.QuestionTooltip,{container:document.querySelector(".dodo-widget-container"),maxWidth:n,...e})}function Mt({onClick:e}){const t=o.useTheme();return v.jsx(o.HoverOpacity,{sx:{width:"100%",position:"relative"},onClick:e,children:v.jsx(o.Box,{component:o.BaseButton,sx:{width:36,height:36,borderRadius:"50%",backgroundColor:t.palette.background.input,border:`4px solid ${t.palette.background.paper}`,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%) rotate(-90deg)"},children:v.jsx(o.Box,{component:r.ArrowBack,sx:{width:18,color:"text.secondary"}})})})}function _t({open:t,execute:n,onClose:s,toToken:l,fromToken:c,fromAmount:d,toAmount:u,priceImpact:p,clearFromAmt:m,clearToAmt:h,baseFeeAmount:f,curToFiatPrice:x,curFromFiatPrice:g,pricePerFromToken:b,additionalFeeAmount:y}){var E,C;const w=o.useTheme(),j=i.useSelector(kt),T=i.useDispatch(),{contractStatus:A}=i.useSelector(Ye),O=a.useMemo((()=>new k.default(p).gt(15)),[p]),[B,S]=a.useState(!1),[R,I]=a.useState(!1);return a.useEffect((()=>{A!==ee.Pending&&s(),A===ee.TxSuccess&&(h(),m())}),[A]),a.useEffect((()=>{S(!1)}),[x]),v.jsx(Ge,{open:t,onClose:()=>{T(mt({contractStatus:ee.Initial})),s()},title:v.jsx(e.Trans,{id:"Swap summary"}),children:v.jsxs(o.Box,{sx:{margin:20,display:"flex",height:"100%",flexDirection:"column",borderTop:`1px solid ${w.palette.border.main}`},children:[v.jsxs(o.Box,{sx:{py:20,display:"flex",typography:"body2",alignItems:"center",justifyContent:"center",flexDirection:"column",borderBottom:`1px solid ${w.palette.border.main}`},children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsxs(o.Box,{children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[v.jsx(ze,{width:16,height:16,url:null==c?void 0:c.logoURI,address:null!==(E=null==c?void 0:c.address)&&void 0!==E?E:"",marginRight:6}),v.jsx(o.Box,{children:`${L({input:d,decimals:null==c?void 0:c.decimals})} ${null==c?void 0:c.symbol}`})]}),v.jsx(o.Box,{sx:{mt:4,typography:"h6",color:w.palette.text.secondary},children:g?`$${D({input:g,showDecimals:1})}`:"-"})]}),v.jsx(o.Box,{sx:{width:16,mx:16},component:r.DoubleRight}),v.jsxs(o.Box,{children:[v.jsxs(o.Box,{sx:{display:"flex"},children:[v.jsx(ze,{width:16,height:16,marginRight:6,url:null==l?void 0:l.logoURI,address:null!==(C=null==l?void 0:l.address)&&void 0!==C?C:""}),v.jsx(o.Box,{children:`${L({input:u,decimals:null==l?void 0:l.decimals})} ${null==l?void 0:l.symbol}`})]}),v.jsx(o.Box,{sx:{typography:"h6",mt:4,color:w.palette.text.secondary},children:x?`$${D({input:x,showDecimals:1})}(${p}%)`:"-"})]})]}),v.jsx(o.Box,{sx:{mt:12,typography:"h6"},children:`1 ${null==c?void 0:c.symbol} = ${L({input:new k.default(u).dividedBy(new k.default(d)),decimals:null==l?void 0:l.decimals})} ${null==l?void 0:l.symbol}`})]}),v.jsxs(o.Box,{sx:{py:15,typography:"body2",borderBottom:`1px solid ${w.palette.border.main}`},children:[v.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",color:w.palette.text.secondary},children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsx(o.Box,{sx:{width:16,mr:7},component:r.DetailBorder}),v.jsx(e.Trans,{id:"Swap Detail"})]}),v.jsx(o.Box,{component:o.BaseButton,children:v.jsx(o.Box,{onClick:()=>I(!R),sx:{width:10,color:"text.secondary",transform:R?"rotateX(0deg)":"rotateX(180deg)"},component:r.CaretUp})})]}),v.jsxs(o.Box,{sx:{mt:16,display:R?"initial":"none"},children:[v.jsxs(o.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsx(e.Trans,{id:"Basic Fee"}),v.jsx(Nt,{title:v.jsx(e.Trans,{id:"Estimated service provider fees"}),ml:5})]}),v.jsx(o.Box,{children:`${L({input:f,decimals:null==l?void 0:l.decimals})} ${null==l?void 0:l.symbol}`})]}),v.jsxs(o.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsx(e.Trans,{id:"Additional Fee"}),v.jsx(Nt,{title:v.jsx(e.Trans,{id:"Additional routing fees set by the Widget user"}),ml:5})]}),v.jsx(o.Box,{children:`${L({input:y,decimals:null==l?void 0:l.decimals})} ${null==l?void 0:l.symbol}`})]}),v.jsxs(o.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsx(e.Trans,{id:"Price Impact"}),v.jsx(Nt,{title:v.jsx(e.Trans,{id:"Due to the market condition, market price and estimated price may have a slight difference"}),ml:5})]}),v.jsx(o.Box,{children:`${p}%`})]}),v.jsxs(o.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsx(e.Trans,{id:"Slippage"}),v.jsx(Nt,{title:v.jsx(e.Trans,{id:"High slippage tolerance will increase the success rate of transaction, but might not get the best quote."}),ml:5})]}),v.jsx(o.Box,{children:j})]})]})]}),v.jsx(o.Box,{sx:{flex:1}}),O&&v.jsxs(o.Box,{sx:{mb:14,display:"flex",cursor:"pointer",justifyContent:"center",alignItems:"center",typography:"h6"},onClick:()=>S(!B),children:[v.jsx(o.Box,{sx:{mr:4,width:18,height:18,alignItems:"center"},children:B?v.jsx(o.Box,{sx:{width:"100%",height:"100%",borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"secondary.main"},children:v.jsx(o.Box,{component:r.Done,sx:{width:14,color:"#1a1a1b"}})}):v.jsx(o.Box,{sx:{width:"100%",height:"100%",borderRadius:4,border:`1px solid ${w.palette.text.secondary}`}})}),v.jsx(o.Box,{children:v.jsx(e.Trans,{components:{0:v.jsx(o.Box,{component:"span",sx:{color:"error.main"}})},values:{priceImpact:p},id:"Price impact reaches <0>{priceImpact}</0>%, accept the quote"})})]}),v.jsx(o.Button,{isLoading:A==ee.Pending,disabled:O&&!B,fullWidth:!0,onClick:()=>{n(),T(mt({contractStatus:ee.Pending}))},children:A==ee.Pending?v.jsx(e.Trans,{id:"Confirming"}):v.jsx(e.Trans,{id:"Confirm swap"})})]})})}function Pt(e){var{sx:n,maxVal:s,decimals:a=2,onInputChange:i}=e,r=K(e,["sx","maxVal","decimals","onInputChange"]);return o.useTheme(),v.jsx(o.Input,{...r,onChange:e=>{const n=0===e.target.value.length?null:_(e.target.value,a),o=s&&n&&new t.BigNumber(n).gt(s)?s.toString():n;console.log("finalVal:",o),i&&i(o)}})}function Ft({open:t,onClose:n}){const s=o.useTheme(),r=i.useDispatch(),l=i.useSelector(kt),c=i.useSelector(St),d=a.useMemo((()=>Number(l)>=50),[l]);return v.jsx(Ge,{open:t,onClose:n,title:v.jsx(e.Trans,{id:"Settings"}),children:v.jsxs(o.Box,{sx:{mx:20},children:[v.jsxs(o.Box,{sx:{py:20,borderTop:`1px solid ${s.palette.border.main}`},children:[v.jsxs(o.Box,{sx:{mb:16,display:"flex",alignItems:"center"},children:[v.jsx(e.Trans,{id:"Slippage Tolerance"}),v.jsx(Nt,{title:v.jsx(e.Trans,{id:"Attention: High slippage tolerance will increase the success rate of transaction, but might not get the best quote."}),ml:7})]}),v.jsxs(o.Box,{sx:{display:"flex",flexDirection:"column"},children:[v.jsx(Pt,{fullWidth:!0,maxVal:100,value:l,placeholder:3..toString(),onInputChange:e=>{r((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_SLIPPAGE",payload:e})})))(e))},suffix:v.jsx(o.Box,{sx:{color:"text.disabled"},children:"%"}),height:36}),d&&v.jsx(o.Box,{sx:{typography:"h6",mt:6,color:"error.main"},children:v.jsx(e.Trans,{id:"Maximum slippage do not exceed 50%"})})]})]}),v.jsxs(o.Box,{sx:{py:20,borderTop:`1px solid ${s.palette.border.main}`},children:[v.jsxs(o.Box,{sx:{mb:16,display:"flex",alignItems:"center"},children:[v.jsx(e.Trans,{id:"Transaction Deadline"}),v.jsx(Nt,{title:v.jsx(e.Trans,{id:"If your transaction time exceeds the deadline, your transaction will be rescinded."}),ml:7})]}),v.jsx(Pt,{value:c,fullWidth:!0,height:36,placeholder:E.i18n._("{DEFAULT_SWAP_DDL} minutes",{DEFAULT_SWAP_DDL:20}),onInputChange:e=>{r((e=>t=>G(void 0,void 0,void 0,(function*(){t({type:"SET_TRANSACTION_DDL",payload:e})})))(e?Math.max(Number(e),1):""))}})]})]})})}function Ut({toToken:t,fromToken:n,priceStatus:s,pricePerToToken:i,pricePerFromToken:l}){const[c,d]=a.useState("-"),[u,p]=a.useState(null),[m,h]=a.useState("-"),[f,x]=a.useState(null);a.useEffect((()=>{d(null==n?void 0:n.symbol),h(null==t?void 0:t.symbol),p(i),x(l)}),[n,t,i,l]);const g=a.useCallback((()=>{d(m),h(c),p(f),x(u)}),[c,u,m,f]);return v.jsx(o.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:{[Rt.Initial]:"-",[Rt.Loading]:v.jsxs(v.Fragment,{children:[v.jsx(o.RotatingIcon,{sx:{mr:5}}),v.jsx(e.Trans,{id:"Fetching best price..."})]}),[Rt.Failed]:v.jsxs(v.Fragment,{children:[v.jsx(o.Box,{component:r.Warn,sx:{width:15,mr:5,color:"warning.main"}}),v.jsx(e.Trans,{id:"Quote not available"})]}),[Rt.Success]:v.jsxs(v.Fragment,{children:[v.jsx(o.Box,{sx:{typography:"body2"},children:`1 ${c} = ${D({input:f,showDecimals:4})} ${m}`}),v.jsx(o.Box,{component:o.BaseButton,sx:{width:18,height:18,ml:6,borderRadius:"50%",backgroundColor:"border.main",display:"flex",justifyContent:"center",alignItems:"center"},children:v.jsx(o.Box,{sx:{width:16,color:"text.secondary"},onClick:g,component:r.Switch})})]})}[s]})}function Wt({open:t,onClose:n}){const s=i.useSelector(re);return v.jsx(Ge,{title:v.jsx(e.Trans,{id:"Connect to your wallet"}),open:t,onClose:n,children:v.jsx(o.Box,{sx:{mx:20,pb:20,border:"1px solid transparent",borderTopColor:"border.main"},children:Object.values(ke).map((t=>v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center",flexDirection:"column",mt:20,p:20,backgroundColor:"background.tag",borderRadius:12,cursor:"pointer","&:hover":{backgroundColor:"hover.default"}},onClick:()=>{!function(e,t,n){var o;const s=Se[e];if(!s)throw new Error(`Unknown wallet type: ${e}`);const[a]=s;null===(o=a.activate(t))||void 0===o||o.catch((e=>{4001!==e.code?n(e):a.connectEagerly?a.connectEagerly(t):a.activate(t)}))}(t.type,s,(e=>{console.error(e)}))},children:[v.jsx(o.Box,{component:t.icon,sx:{width:32,height:32}}),v.jsx(o.Box,{sx:{mt:8,typography:"caption"},children:t.name}),v.jsx(o.Box,{sx:{mt:4,typography:"body2",color:"text.secondary"},children:v.jsx(e.Trans,{id:"Connect to your {0} Wallet",values:{0:t.name}})})]},t.type)))})})}function Ht(){const{connector:t}=c.useWeb3React(),[n,s]=a.useState(!1);return v.jsxs(v.Fragment,{children:[v.jsx(o.Button,{size:o.Button.Size.big,fullWidth:!0,onClick:()=>{t.deactivate?t.deactivate():t.resetState(),s(!0)},"data-testid":"connect-wallet-btn",children:v.jsx(e.Trans,{id:"Connect to a wallet"})}),v.jsx(Wt,{open:n,onClose:()=>s(!1)})]})}var $t;!function(e){e.Loading="Loading",e.Insufficient="ApprovalInsufficient",e.Approving="Approving",e.Sufficient="Sufficient",e.Unchecked="Unchecked"}($t||($t={}));const zt=({account:e,chainId:t,offset:n,contractAddress:o})=>{var s;const r=i.useSelector(re),l=a.useMemo((()=>{var e;return pe[null!==(e=t)&&void 0!==e?e:r]}),[t]),{isETH:d}=a.useMemo((()=>U(t)),[t]),{DODO_APPROVE:u}=l||{},p=null!==(s=null!=o?o:u)&&void 0!==s?s:null,m=function(e){const{account:t}=c.useWeb3React(),n=i.useSelector(re),o=i.useSelector(Ne),s=a.useMemo((()=>z[n]),[n]),r=a.useCallback((n=>{var a;if(!t||!e)return null;if(n.symbol===s.symbol&&P(n.address,s.address))return new k.default(pt);const i=null===(a=null==o?void 0:o[n.address.toLowerCase()])||void 0===a?void 0:a.tokenAllowances;return null!=i?i:null}),[t,e,s.symbol,s.address,o]);return r}(p),h=Ue(),{runningRequests:f}=ft(),x=i.useSelector(Fe),g=a.useMemo((()=>{var e;return null===(e=z[null!=t?t:r])||void 0===e?void 0:e.address}),[t]),b=a.useCallback(((t,o,s)=>{if(!t)return $t.Loading;const a=!!(null==f?void 0:f.find((e=>e.spec.opcode===dt.Approval&&e.spec.token.address===(null==t?void 0:t.address)))),i=null!=s?s:t?h(t):null,r=t?m(t):null,l=new k.default(null!=o?o:0);if(!e)return $t.Unchecked;if(!i||l.minus(null!=n?n:0).gt(i))return $t.Unchecked;if(l.isZero())return $t.Unchecked;return t.address===g?$t.Sufficient:a?$t.Approving:r&&l.minus(null!=n?n:0).gt(r)?$t.Insufficient:$t.Sufficient}),[h,m,e,n,p,t,x,f,g]),y=a.useCallback((e=>{const t=e?m(e):null;return("USDT"===(null==e?void 0:e.symbol)||(null==e?void 0:e.address.toLowerCase())==="0x6426e6017968377529487E0ef0aA4E7759724e05".toLowerCase())&&null!==t&&t.gt(0)}),[m]),v=gt(),C=i.useDispatch(),w=a.useCallback(((t,n)=>G(void 0,void 0,void 0,(function*(){if(!p||!e||!t)return;const o=(e=>{let t=e.symbol;return t.indexOf("DLP_")>-1&&(t=t.replace("DLP_","")),t.indexOf("DLP")>-1&&(t=t.replace("DLP","LP")),t})(t),s=n?new k.default(0):void 0,a=n?E.i18n._("Reset"):E.i18n._("Approve");var i;(yield v.execute(`${a} ${o}`,{opcode:dt.Approval,token:t,contract:p,amt:s}))===st.Success&&C((i=null!=s?s:pt,e=>G(void 0,void 0,void 0,(function*(){e({type:"SET_ACCOUNT_ALLOWANCES",payload:i})}))))}))),[p,e,t,v,C]),j=a.useCallback((e=>{const t=new k.default(0);if(!e)return t.toNumber();const n=h(e);if(!n)return t.toNumber();let o=n;const s=d?.1:.02;return g===(null==e?void 0:e.address)&&(o=n.gt(s)?n.minus(s):t),o.toNumber()}),[t,h,d]);return{getApprovalState:b,getPendingRest:y,getMaxBalance:j,submitApprove:w}};function Vt(){var t,s;const l=o.useTheme(),{isInflight:d}=ft(),{chainId:u,account:p}=c.useWeb3React(),m=i.useDispatch(),{isReverseRouting:h}=i.useSelector(Ye),f=i.useSelector(re),x=i.useSelector(Pe),g=i.useSelector(_e),{isETH:b}=a.useMemo((()=>U(u)),[u]),y=a.useMemo((()=>{var e;return null===(e=z[null!=u?u:f])||void 0===e?void 0:e.address}),[u]),[E,C]=a.useState(""),[w,j]=a.useState(""),[T,A]=a.useState(""),[O,B]=a.useState(""),S=a.useMemo((()=>n.debounce((e=>A(e)),1e3)),[]),R=a.useMemo((()=>n.debounce((e=>B(e)),1e3)),[]),[I,N]=a.useState(null),[M,_]=a.useState(null),[P,F]=a.useState(!1),[H,$]=a.useState(!1),{toFiatPrice:V,fromFiatPrice:q}=Bt({chainId:u,toToken:M,fromToken:I}),K=Ue(),G=a.useMemo((()=>I?K(I):null),[I,K]);a.useMemo((()=>M?K(M):null),[M,K]);const{getApprovalState:Y,submitApprove:X,getPendingRest:Z,getMaxBalance:Q}=zt({account:p,chainId:u}),J=a.useMemo((()=>Z(h?M:I)),[null==I?void 0:I.address,null==M?void 0:M.address,Z,h]),{marginAmount:ee}=Tt({token:h?M:I,fiatPrice:h?V:q}),{resAmount:te,priceImpact:ne,executeSwap:oe,baseFeeAmount:se,additionalFeeAmount:ae,resPricePerToToken:ie,resPricePerFromToken:le,status:ce}=It({toToken:M,fromToken:I,marginAmount:ee,fromAmount:T,toAmount:O}),de=a.useCallback((e=>{const t=e.toString();C(t),S(t)}),[C,S]),ue=a.useCallback((e=>{const t=e.toString();j(t),R(t)}),[j,R]);a.useEffect((()=>{u&&(_(null),N(null),h?ue(""):de("")),g&&g.chainId===u&&(N(g),g.amount&&(m(mt({isReverseRouting:!1})),de(g.amount))),x&&x.chainId===u&&(_(x),x.amount&&g&&!g.amount&&(m(mt({isReverseRouting:!0})),ue(x.amount)))}),[x,g,u,de,ue]);const pe=a.useCallback((()=>{de(""),ue(""),N(M),_(I)}),[N,M,_,I,de,ue]),me=a.useCallback((e=>h?ue(Q(M)):de(Q(I))),[de,ue,Q,I,M,h]),he=a.useMemo((()=>(100*Number(ne)).toFixed(2)),[ne]),fe=a.useMemo((()=>{const e=h?te:T;return e&&q?new k.default(q).multipliedBy(e):null}),[q,T,h,te]),xe=a.useMemo((()=>{const e=h?O:te;return e&&V?new k.default(V).multipliedBy(e):null}),[V,O,h,te]),ge=a.useMemo((()=>v.jsxs(o.Box,{sx:{display:"flex",fontWeight:600,typography:"body2",alignItems:"center",justifyContent:"center"},children:[v.jsx(Nt,{title:v.jsx(e.Trans,{id:"Due to the market condition, market price and estimated price may have a slight difference"}),mr:8}),v.jsxs(o.Box,{sx:{display:"flex"},children:[v.jsx(e.Trans,{id:"Current price impact"}),v.jsxs(o.Box,{sx:{color:l.palette.error.main,ml:4},children:[he,"%"]})]})]})),[he]),be=a.useMemo((()=>v.jsx(Ut,{toToken:M,fromToken:I,priceStatus:ce,pricePerToToken:ie,pricePerFromToken:le})),[M,I,ce,ie,le]),ye=a.useMemo((()=>!W[u||1]),[u]),ve=a.useMemo((()=>ce===Rt.Loading?v.jsx(o.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:v.jsxs(v.Fragment,{children:[v.jsx(o.RotatingIcon,{sx:{mr:5}}),v.jsx(e.Trans,{id:"Fetching best price..."})]})}):ye?v.jsxs(v.Fragment,{children:[v.jsx(o.Box,{component:r.Warn,sx:{mr:6,width:16,color:"warning.main"}}),v.jsx(e.Trans,{id:"Unsupported network - switch to trade"})]}):E&&new k.default(he).gt(15)?ge:be),[ce,be,E,ge,he,ye]),Ee=a.useMemo((()=>h?new k.default(w).gt(0)?L({input:te,decimals:null==I?void 0:I.decimals}):"-":E),[E,w,te,I,h]),Ce=a.useMemo((()=>h?w:new k.default(E).gt(0)?L({input:te,decimals:null==M?void 0:M.decimals}):"-"),[E,w,te,M,h]),we=a.useMemo((()=>{const t=Y(I,h?te||0:T),n=t===$t.Approving,s=t===$t.Insufficient&&!J,a=b?.1:.02,i=y===(null==I?void 0:I.address),r=new k.default(G||0);return p?d?v.jsx(o.Button,{fullWidth:!0,isLoading:!0,disabled:!0,children:v.jsx(e.Trans,{id:"Transaction Pending"})}):I&&M?s?v.jsx(o.Button,{fullWidth:!0,disabled:n,onClick:()=>X(I),children:n?v.jsx(e.Trans,{id:"Approving"}):v.jsx(e.Trans,{id:"Approve"})}):new k.default(h?O:T).gt(0)?ce===Rt.Loading?v.jsx(o.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-fetch-price-btn",children:v.jsx(e.Trans,{id:"Fetching Price..."})}):te?r.lt(h?te:T)||i&&r.lte(a)?v.jsx(o.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-insufficient-balance-btn",children:v.jsx(e.Trans,{id:"Insufficient balance"})}):v.jsx(o.Button,{fullWidth:!0,onClick:()=>F(!0),"data-testid":"swap-review-btn",children:v.jsx(e.Trans,{id:"Review Swap"})}):v.jsx(o.Button,{fullWidth:!0,disabled:!0,children:v.jsx(e.Trans,{id:"Quote not available"})}):v.jsx(o.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-enter-amount-btn",children:v.jsx(e.Trans,{id:"Enter an amount"})}):v.jsx(o.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-select-token-btn",children:v.jsx(e.Trans,{id:"Select Tokens"})}):v.jsx(Ht,{})}),[b,p,O,T,M,te,I,d,oe,J,X,ce,G,Y,y,h]),je=a.useMemo((()=>I&&M?v.jsxs(o.Box,{sx:{display:"flex",alignItems:"center"},children:[v.jsx(ze,{token:I,sx:{width:16,height:16,mr:6}}),`${L({input:h?te:T,decimals:null==I?void 0:I.decimals})} ${I.symbol}`,v.jsx(o.Box,{component:r.DoubleRight,sx:{width:12,height:12,mx:16}}),v.jsx(ze,{token:M,sx:{width:16,height:16,mr:6}}),`${L({input:h?O:te,decimals:null==M?void 0:M.decimals})} ${M.symbol}`]}):v.jsx(o.Box,{})),[I,M,T,O,te,h]);return v.jsxs(v.Fragment,{children:[v.jsxs(o.Box,{sx:{display:"flex",justifyContent:"space-between",typography:"caption",margin:20},children:[v.jsx(e.Trans,{id:"Swap"}),v.jsx(o.Box,{component:o.BaseButton,children:v.jsx(o.Box,{component:r.Setting,onClick:()=>$(!0),sx:{width:19,height:19,color:"text.primary",cursor:"pointer"}})})]}),v.jsxs(o.Box,{sx:{flex:1,padding:"0 20px 20px",overflowY:"auto"},children:[v.jsxs(o.Box,{children:[v.jsx(et,{sx:{mb:4},token:I,amt:Ee,onMaxClick:me,onInputChange:de,onInputFocus:()=>{h&&de(""),m(mt({isReverseRouting:!1}))},showMaxBtn:!h&&!E,occupiedAddrs:[null!==(t=null==M?void 0:M.address)&&void 0!==t?t:""],fiatPriceTxt:fe?`$${D({input:fe,showDecimals:1})}`:"-",onTokenChange:(e,t)=>{if(t)return pe();de(""),ue(""),N(e)},readOnly:h}),v.jsx(Mt,{onClick:pe}),v.jsx(et,{token:M,amt:Ce,onInputChange:ue,onInputFocus:()=>{h||ue(""),m(mt({isReverseRouting:!0}))},occupiedAddrs:[null!==(s=null==I?void 0:I.address)&&void 0!==s?s:""],fiatPriceTxt:xe?`$${D({input:xe,showDecimals:1})}(${he}%)`:"-",onTokenChange:(e,t)=>{if(t)return pe();de(""),ue(""),_(e)},readOnly:!h}),v.jsx(o.Box,{sx:{py:12,display:"flex",typography:"body2",alignItems:"center",justifyContent:"center",flexWrap:"wrap"},children:ve})]}),we,v.jsxs(o.Box,{sx:{mt:13,display:"flex",typography:"h6",cursor:"pointer",justifyContent:"center",alignItems:"center",color:l.palette.text.disabled},onClick:()=>window.open("https://app.dodoex.io"),children:[v.jsx(o.Box,{sx:{width:24,typography:"body2",transform:"translate(1px, 2px)","& path":{fill:l.palette.text.disabled}},component:r.Dodo}),v.jsx(e.Trans,{id:"Powered by DODO protocol"})]})]}),v.jsx(_t,{toToken:M,fromToken:I,fromAmount:h?te:T,toAmount:h?O:te,open:P,baseFeeAmount:se,priceImpact:he,additionalFeeAmount:ae,curToFiatPrice:xe,execute:()=>oe(je),clearFromAmt:()=>de(""),clearToAmt:()=>ue(""),curFromFiatPrice:fe,pricePerFromToken:le,onClose:()=>F(!1)}),v.jsx(Ft,{open:H,onClose:()=>$(!1)})]})}exports.InitSwapWidget=function(e){const t=document.getElementById("dodo-swap-widget");A.createRoot(t).render(v.jsx(Lt,{...e,children:v.jsx(Vt,{})}))},exports.SwapWidget=function(e){return v.jsx(Lt,{...e,children:v.jsx(Vt,{})})};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@lingui/react"),t=require("bignumber.js"),a=require("lodash"),n=require("@dodoex/components"),o=require("@ethersproject/address"),s=require("react"),l=require("react-redux"),i=require("@dodoex/icons"),d=require("identicon.js"),r=require("@web3-react/core"),c=require("@reduxjs/toolkit"),p=require("redux"),m=require("@ethersproject/contracts"),u=require("@ethersproject/constants"),b=require("@ethersproject/abi"),h=require("@web3-react/eip1193"),x=require("@web3-react/walletconnect"),R=require("@web3-react/metamask"),W=require("@ethersproject/providers"),E=require("@web3-react/types"),f=require("axios"),g=require("immutable"),T=require("react/jsx-runtime"),k=require("@lingui/core"),y=require("react-window"),S=require("make-plural/plurals"),F=require("@ethersproject/bignumber"),N=require("react-dom/client");function Z(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function w(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var M=Z(t),V=w(s),U=Z(d),O=Z(f);function B({input:e,showDecimals:a=4,showPrecisionDecimals:n=2,showIntegerOnly:o=!1,showDecimalsOnly:s=!1,noGroupSeparator:l=!1}){const i=new t.BigNumber(e);if(i.isNaN())return"-";let d=i.dp(a,t.BigNumber.ROUND_DOWN);return d.eq(0)&&(i.gt(0)||i.lt(0))&&(d=i.sd(null!=n?n:a,t.BigNumber.ROUND_DOWN)),o&&(d=d.integerValue(t.BigNumber.ROUND_DOWN)),s&&(d=d.minus(d.integerValue(t.BigNumber.ROUND_DOWN))),l?d.toFormat({decimalSeparator:".",groupSeparator:"",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:"",fractionGroupSize:0}):d.toFormat()}function j({input:e,decimals:a,showPrecisionDecimals:n=2,noGroupSeparator:o}){if(null==e)return"-";const s=new t.BigNumber(e);if(s.isNaN())return"-";return B({input:s,showDecimals:void 0===a?0:a>6?6:a>4?4:a,showPrecisionDecimals:n,noGroupSeparator:o})}function v(e){if("number"==typeof e)return v(new t.BigNumber(e));if(e.isNaN())return"NaN";if(e.isNegative())return`-${v(e.negated())}`;if(e.isZero())return"0";let a=e.integerValue(t.BigNumber.ROUND_FLOOR),n=e.minus(a),o="";for(;!a.isZero();){o=a.modulo(10).toString().toString()+o,a=a.idiv(10)}if(""===o&&(o="0"),n.isZero())return o;o+=".";let s=0;for(;!n.isZero()&&s<100;){const e=n.times(10),a=e.integerValue(t.BigNumber.ROUND_FLOOR);o+=a.toString(),n=e.minus(a),s+=1}return o}const D=(e,a)=>{if("string"==typeof e&&!e.match(/[-+]?\d+(.+d+)?/))return e;const n=new t.BigNumber(e);if(a){let e=n.toFixed(a,t.BigNumber.ROUND_DOWN);return o=e,new t.BigNumber(o).isZero()&&(e=v(n.precision(a,t.BigNumber.ROUND_DOWN))),e}var o;return v(n)},I=(e,t)=>{let a=e;const n=a.match("[0-9。.]+");a=n&&n.length>0?n[0]:"",a=a.replace("。",".");let o=0;if(a){const e=a.split("."),t=0===e[0].length?["0"]:[e[0]];e.length>1?t[1]=e.slice(1,e.length).join(""):t[0].length>1&&"0"===t[0][0]&&(t[0]=t[0].slice(1,t[0].length)),t.length>1&&(o=t[1].length),a=t.join(".")}return t>=0&&o>t?D(a,t):a},C=(e,t)=>{if(0===e.length||0===t.length)return!1;if(t.length===e.length)return e.toLowerCase()===t.toLowerCase();const a=e.substring(2,e.length).toLowerCase(),n=t.substring(2,t.length).toLowerCase();return a.length>n.length?a.endsWith(n):n.endsWith(a)};function Y(e){try{return o.getAddress(e)}catch(e){return!1}}const H=e=>{const t={isMainnet:1===e,isRinkeby:4===e,isGor:5===e};return Object.assign(Object.assign({},t),{isETH:t.isMainnet||t.isRinkeby||t.isGor})};var X;!function(e){e[e.MAINNET=1]="MAINNET",e[e.RINKEBY=4]="RINKEBY",e[e.GOERLI=5]="GOERLI",e[e.BSC=56]="BSC",e[e.HECO=128]="HECO",e[e.POLYGON=137]="POLYGON",e[e.ARBITRUM_ONE=42161]="ARBITRUM_ONE",e[e.ARBITRUM_RINKEBY=421611]="ARBITRUM_RINKEBY",e[e.AURORA=1313161554]="AURORA",e[e.MOONRIVER=1285]="MOONRIVER",e[e.OKCHAIN=66]="OKCHAIN",e[e.OPTIMISM=10]="OPTIMISM",e[e.BOBA=288]="BOBA",e[e.AVALANCHE=43114]="AVALANCHE",e[e.CRONOS=25]="CRONOS"}(X||(X={}));const A={[X.MAINNET]:["https://rpc.ankr.com/eth","https://eth-mainnet.public.blastapi.io","https://eth-rpc.gateway.pokt.network","https://main-rpc.linkpool.io"],[X.RINKEBY]:["https://rinkeby-light.eth.linkpool.io/"],[X.GOERLI]:["https://goerli.optimism.io/"],[X.BSC]:["https://bsc-dataseed1.binance.org","https://bsc-dataseed2.binance.org","https://bsc-dataseed3.binance.org","https://bsc-dataseed4.binance.org","https://bsc-dataseed1.defibit.io","https://bsc-dataseed2.defibit.io","https://bsc-dataseed3.defibit.io","https://bsc-dataseed4.defibit.io","https://bsc-dataseed1.ninicoin.io","https://bsc-dataseed2.ninicoin.io","https://bsc-dataseed3.ninicoin.io","https://bsc-dataseed4.ninicoin.io","https://bsc-dataseed.binance.org","https://rpc.ankr.com/bsc","https://bscrpc.com","https://bsc.mytokenpocket.vip","https://binance.nodereal.io","https://rpc-bsc.bnb48.club"],[X.HECO]:["https://http-mainnet.hecochain.com","https://pub001.hg.network/rpc"],[X.POLYGON]:["https://polygon-rpc.com","https://rpc-mainnet.matic.network","https://matic-mainnet.chainstacklabs.com","https://rpc-mainnet.maticvigil.com","https://rpc-mainnet.matic.quiknode.pro","https://matic-mainnet-full-rpc.bwarelabs.com","https://matic-mainnet-archive-rpc.bwarelabs.com","https://poly-rpc.gateway.pokt.network","https://rpc.ankr.com/polygon","https://polygon-mainnet.public.blastapi.io"],[X.ARBITRUM_ONE]:["https://arb1.arbitrum.io/rpc","https://rpc.ankr.com/arbitrum"],[X.ARBITRUM_RINKEBY]:["https://rinkeby.arbitrum.io/rpc"],[X.AURORA]:["https://mainnet.aurora.dev/"],[X.MOONRIVER]:["https://rpc.api.moonriver.moonbeam.network","https://moonriver.api.onfinality.io/rpc?apikey=673e1fae-c9c9-4c7f-a3d5-2121e8274366","https://moonriver.api.onfinality.io/public","https://moonriver.public.blastapi.io"],[X.OKCHAIN]:["https://exchainrpc.okex.org","https://okc-mainnet.gateway.pokt.network/v1/lb/6275309bea1b320039c893ff"],[X.OPTIMISM]:["https://mainnet.optimism.io","https://optimism-mainnet.public.blastapi.io"],[X.BOBA]:["https://mainnet.boba.network","https://boba-mainnet.gateway.pokt.network/v1/lb/623ad21b20354900396fed7f","https://lightning-replica.boba.network"],[X.AVALANCHE]:["https://api.avax.network/ext/bc/C/rpc","https://rpc.ankr.com/avalanche","https://ava-mainnet.public.blastapi.io/ext/bc/C/rpc"],[X.CRONOS]:["https://evm.cronos.org","https://cronos-rpc.heavenswail.one","https://evm-cronos.crypto.org","https://cronosrpc-1.xstaking.sg","https://cronos-rpc.elk.finance"]},z={symbol:"ETH",address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Ether",decimals:18,showDecimals:4,wrappedTokenSymbol:"WETH"},J={[X.MAINNET]:Object.assign(Object.assign({},z),{wrappedTokenAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}),[X.RINKEBY]:Object.assign(Object.assign({},z),{wrappedTokenAddress:"0xB26c0d8Be2960c70641A95A9195BE1f59Ac83aC0"}),[X.GOERLI]:Object.assign(Object.assign({},z),{wrappedTokenAddress:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"}),[X.OPTIMISM]:Object.assign(Object.assign({},z),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[X.CRONOS]:Object.assign(Object.assign({},z),{symbol:"CRO",name:"Cronos",wrappedTokenSymbol:"WCRO",wrappedTokenAddress:"0x5C7F8A570d578ED84E63fdFA7b1eE72dEae1AE23"}),[X.BOBA]:Object.assign(Object.assign({},z),{wrappedTokenAddress:"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000"}),[X.BSC]:Object.assign(Object.assign({},z),{symbol:"BNB",name:"BNB",wrappedTokenSymbol:"WBNB",wrappedTokenAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}),[X.OKCHAIN]:Object.assign(Object.assign({},z),{symbol:"OKT",name:"OKT",wrappedTokenSymbol:"WOKT",wrappedTokenAddress:"0x8F8526dbfd6E38E3D8307702cA8469Bae6C56C15"}),[X.HECO]:Object.assign(Object.assign({},z),{symbol:"HT",name:"HT",showDecimals:6,wrappedTokenSymbol:"WHT",wrappedTokenAddress:"0x5545153ccfca01fbd7dd11c0b23ba694d9509a6f"}),[X.POLYGON]:Object.assign(Object.assign({},z),{symbol:"MATIC",name:"MATIC",showDecimals:6,wrappedTokenSymbol:"WMATIC",wrappedTokenAddress:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}),[X.MOONRIVER]:Object.assign(Object.assign({},z),{symbol:"MOVR",name:"MOVR",showDecimals:6,wrappedTokenSymbol:"WMOVR",wrappedTokenAddress:"0x98878b06940ae243284ca214f92bb71a2b032b8a"}),[X.ARBITRUM_ONE]:Object.assign(Object.assign({},z),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}),[X.ARBITRUM_RINKEBY]:Object.assign(Object.assign({},z),{name:"Ether",showDecimals:6,wrappedTokenAddress:"0xEBbc3452Cc911591e4F18f3b36727Df45d6bd1f9"}),[X.AURORA]:Object.assign(Object.assign({},z),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB"}),[X.AVALANCHE]:Object.assign(Object.assign({},z),{symbol:"AVAX",name:"Avalanche",showDecimals:6,wrappedTokenSymbol:"WAVAX",wrappedTokenAddress:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"})},L={[X.MAINNET]:"ethereum",[X.RINKEBY]:"rinkeby",[X.GOERLI]:"goerli",[X.OPTIMISM]:"optimism",[X.CRONOS]:"cronos",[X.BOBA]:"boba",[X.BSC]:"bsc",[X.OKCHAIN]:"okex-chain",[X.HECO]:"heco",[X.POLYGON]:"polygon",[X.MOONRIVER]:"moonriver",[X.ARBITRUM_ONE]:"arbitrum",[X.ARBITRUM_RINKEBY]:"arb-rinkeby",[X.AURORA]:"aurora",[X.AVALANCHE]:"avalanche"},G={[X.MAINNET]:"etherscan.io",[X.RINKEBY]:"rinkeby.etherscan.io",[X.GOERLI]:"goerli.etherscan.io",[X.OPTIMISM]:"optimistic.etherscan.io",[X.CRONOS]:"cronoscan.com",[X.BOBA]:"blockexplorer.boba.network",[X.BSC]:"bscscan.com",[X.OKCHAIN]:"www.oklink.com/okexchain",[X.HECO]:"hecoinfo.com",[X.POLYGON]:"polygonscan.com",[X.MOONRIVER]:"moonriver.moonscan.io",[X.ARBITRUM_ONE]:"arbiscan.io",[X.ARBITRUM_RINKEBY]:"testnet.arbiscan.io",[X.AURORA]:"aurorascan.dev",[X.AVALANCHE]:"snowtrace.io"};function P(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(a[n[o]]=e[n[o]])}return a}function _(e,t,a,n){return new(a||(a=Promise))((function(o,s){function l(e){try{d(n.next(e))}catch(e){s(e)}}function i(e){try{d(n.throw(e))}catch(e){s(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,i)}d((n=n.apply(e,t||[])).next())}))}const Q={colorMode:"dark",slippage:3..toString(),ddl:20};var q=(e=Q,t)=>{switch(t.type){case"SET_COLOR_MODE":return Object.assign(Object.assign({},e),{colorMode:t.payload});case"SET_SLIPPAGE":return Object.assign(Object.assign({},e),{slippage:t.payload});case"SET_TRANSACTION_DDL":return Object.assign(Object.assign({},e),{ddl:t.payload});default:return e}};const K={chainId:X.MAINNET,latestBlockNumber:0};var $=(e=K,t)=>{switch(t.type){case"SET_CHAIN_ID":return Object.assign(Object.assign({},e),{chainId:t.payload});case"SET_BLOCK_NUMBER":return Object.assign(Object.assign({},e),{latestBlockNumber:t.payload});default:return e}};const ee={tokenList:[],popularTokenList:[],ethBalance:void 0,accountBalances:{},balanceLoadings:{},slippageWithTokens:[]};var te,ae=(e=ee,t)=>{switch(t.type){case"SET_TOKEN_LIST":return Object.assign(Object.assign({},e),{tokenList:t.payload});case"SET_POPULAR_TOKEN_LIST":return Object.assign(Object.assign({},e),{popularTokenList:t.payload});case"SET_SLIPPAGE_WITH_TOKENS":return Object.assign(Object.assign({},e),{slippageWithTokens:t.payload});case"SET_ETH_BALANCE":return Object.assign(Object.assign({},e),{ethBalance:t.payload});case"SET_DEFAULT_FROM_TOKEN":return Object.assign(Object.assign({},e),{defaultFromToken:t.payload});case"SET_DEFAULT_TO_TOKEN":return Object.assign(Object.assign({},e),{defaultToToken:t.payload});case"SET_ACCOUNT_BALANCES":return Object.assign(Object.assign({},e),{accountBalances:Object.assign(Object.assign({},e.accountBalances),t.payload)});case"SET_ACCOUNT_ALLOWANCES":const a=e.accountBalances;return Object.keys(a).map((e=>{a[e].tokenAllowances=t.payload})),Object.assign(Object.assign({},e),{accountBalances:a});case"SET_BALANCE_LOADINGS":return Object.assign(Object.assign({},e),{balanceLoadings:Object.assign(Object.assign({},e.balanceLoadings),t.payload)});default:return e}};!function(e){e.Initial="Initial",e.Pending="Pending",e.ApproveSuccess="ApproveSuccess",e.TxSuccess="TxSuccess",e.Failed="Failed"}(te||(te={}));const ne={height:void 0,width:void 0,apikey:"",feeRate:0,rebateTo:"",isReverseRouting:!1,contractStatus:te.Initial};var oe=(e=ne,t)=>"SET_GLOBAL_PROPS"===t.type?Object.assign(Object.assign({},e),t.payload):e;const se={settings:Q,wallet:K,globals:ne,token:ee},le=p.combineReducers({settings:q,wallet:$,token:ae,globals:oe}),ie=c.configureStore({reducer:le,middleware:e=>e({serializableCheck:{ignoredActions:["SET_ACCOUNT_BALANCES","SET_ETH_BALANCE"],ignoredPaths:["token.accountBalances","token.ethBalance"]}}),preloadedState:se}),de=e=>(null!=e?e:ie.getState()).wallet.chainId,re=e=>(null!=e?e:ie.getState()).wallet.latestBlockNumber,ce=e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_ACCOUNT_BALANCES",payload:e})})),pe=e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_BALANCE_LOADINGS",payload:e})}));var me=[{constant:!0,inputs:[],name:"getCurrentBlockTimestamp",outputs:[{name:"timestamp",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{components:[{name:"target",type:"address"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{name:"blockNumber",type:"uint256"},{name:"returnData",type:"bytes[]"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getLastBlockHash",outputs:[{name:"blockHash",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"getEthBalance",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockDifficulty",outputs:[{name:"difficulty",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockGasLimit",outputs:[{name:"gaslimit",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getCurrentBlockCoinbase",outputs:[{name:"coinbase",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{name:"blockHash",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}],ue={[X.MAINNET]:{MULTI_CALL:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",DODO_APPROVE:"0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149",ERC20_HELPER:"0xD9ef2d1583e8Aa196123e773BE38B539a4d149df"},[X.RINKEBY]:{MULTI_CALL:"0xb7E1C577f95959a3eD11f9281702850328b4e0e4",DODO_APPROVE:"0xcC8d87A7C747eeE4242045C47Ef25e0A81D56ae3",ERC20_HELPER:"0x6A42091d713A67E25a1D11aeE14E7AEB96E0331f"},[X.GOERLI]:{MULTI_CALL:"0x696E25A5e2AEd1C55E6d6Cfa0532Bbda9020165d",DODO_APPROVE:"0xC9143e54021f4a6d33b9b89DBB9F458AaEdd56FB",ERC20_HELPER:"0x24549FC74B3076A962624A26370ed556c467F74C"},[X.BSC]:{MULTI_CALL:"0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb",DODO_APPROVE:"0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1",ERC20_HELPER:"0x566651Ad34f6306872FaC5fB95bbF4C9beE8D8F2"},[X.HECO]:{MULTI_CALL:"0x76a328B3440B9276a31523e731B34082df7a6f1A",DODO_APPROVE:"0x68b6c06Ac8Aa359868393724d25D871921E97293",ERC20_HELPER:"0x270C2abC692Dd476B860CCbDfD6D8146BF61f8D8"},[X.POLYGON]:{MULTI_CALL:"0xc9eD9B18e447e600238fe50e944B9062B664DEa4",DODO_APPROVE:"0x292E6b2e054e1157df71C1C9510265CA8C0c7672",ERC20_HELPER:"0xfd24312Ec7871A6D1a31e454D5AbB16c6c25a9b3"},[X.ARBITRUM_ONE]:{MULTI_CALL:"0xF718F2bd590E5621e53f7b89398e52f7Acced8ca",DODO_APPROVE:"0xA867241cDC8d3b0C07C85cC06F25a0cD3b5474d8",ERC20_HELPER:"0x7C062B9C584fA6eC2504270790D38240A2c5fE72"},[X.ARBITRUM_RINKEBY]:{MULTI_CALL:"0x696E25A5e2AEd1C55E6d6Cfa0532Bbda9020165d",DODO_APPROVE:"0x5BaF16d57620Cb361F622232F3cb4090e35F3da2",ERC20_HELPER:"0x5B2fd46E6E3Ff1E479d651ec0b210882Aa9871dF"},[X.AURORA]:{MULTI_CALL:"0x989DcAA95801C527C5B73AA65d3962dF9aCe1b0C",DODO_APPROVE:"0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619",ERC20_HELPER:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25"},[X.MOONRIVER]:{MULTI_CALL:"0x2ff2CeE6E9359F9eA1cF2f51d18bF9F2045447E4",DODO_APPROVE:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25",ERC20_HELPER:"0x6373ceB657C83C91088d328622573FB766064Ac4"},[X.OKCHAIN]:{MULTI_CALL:"0x5e84190a270333aCe5B9202a3F4ceBf11b81bB01",DODO_APPROVE:"0x7737fd30535c69545deeEa54AB8Dd590ccaEBD3c",ERC20_HELPER:"0x4775b1858f1e417C9609D455C3Ad8751ec01daC4"},[X.OPTIMISM]:{MULTI_CALL:"0xb98Ac2fEFc8b73aeAE33D02BB00c26E12afCa9Df",DODO_APPROVE:"0xa492d6eABcdc3E204676f15B950bBdD448080364",ERC20_HELPER:"0x42E456ea0dd7538ea103fBb1d0388D14C97bB5b2"},[X.BOBA]:{MULTI_CALL:"0xD56281EF996B6B29874C77D2e1464216E8043127",DODO_APPROVE:"0x8F8Dd7DB1bDA5eD3da8C9daf3bfa471c12d58486",ERC20_HELPER:"0x9FCFD9ff955D36856F8EE480471B05488C0eB5cA"},[X.AVALANCHE]:{MULTI_CALL:"0x97f0153E7F5749640aDF3Ff9CFC518b79D6Fe53b",DODO_APPROVE:"0xCFea63e3DE31De53D68780Dd65675F169439e470",ERC20_HELPER:"0xC3528D128CC227fd60793007b5e3FdF7c2945282"},[X.CRONOS]:{MULTI_CALL:"0x4f4408D78F9E9e242c17C635FbD0f1952951c917",DODO_APPROVE:"0x9B736bB8f336f61E16454DCA4dE130703D151042",ERC20_HELPER:"0xbd2F5c60cf7d60daD2106ceD4D21b90722761f14"}};function be(e,t,...a){return _(this,void 0,void 0,(function*(){const n=[];for(const e of a)for(const t of e)t.callData&&n.push(t.callData);const o=yield function(e,t,a){return _(this,void 0,void 0,(function*(){const n=yield he(e,t,a),o=new Map;for(const{req:e,resp:t}of n)o.set(e,t);return e.map((e=>({req:e,resp:o.get(e)})))}))}(n,e,t),s=new Map;for(const{req:e,resp:t}of o)s.set(e,null==t?void 0:t.result);return a.map((e=>e.filter((e=>!e.callData||s.get(e.callData))).map(((e,t)=>e.processor(e.callData?s.get(e.callData):null,t)))))}))}function he(e,t,n){return _(this,void 0,void 0,(function*(){let o=[e];e.length>800&&(o=a.chunk(e,800));let s=[];const l=o.map((e=>_(this,void 0,void 0,(function*(){const a=e.map((e=>[e.to,e.data])),o={data:t.interface.encodeFunctionData("aggregate",[a]),to:n};let l;try{l=yield t.provider.call(o)}catch(a){const o=e.length;if(o>20){const a=Math.floor(o/2),[l,i]=yield Promise.all([he(e.slice(0,a),t,n),he(e.slice(a,o),t,n)]);s=[...s,...l,...i]}else{const e="[sendCallReqs] error";console.error(e,a)}}if(void 0===l)throw new Error("Unexpected batch result");const[i,d]=b.defaultAbiCoder.decode(["uint256","bytes[]"],l);if(e.length!==d.length)throw new Error("Unexpected length mismatch");return d.map(((t,a)=>({resp:{result:t},req:e[a]})))}))));return(yield Promise.allSettled(l)).filter((e=>"fulfilled"===e.status)).forEach((({value:e})=>{s=[...s,...e]})),s}))}function xe(e,t,a,n){if(!Y(e)||e===u.AddressZero)throw Error(`Invalid 'address' parameter '${e}'.`);return new m.Contract(e,t,function(e,t){return t?function(e,t){return e.getSigner(t).connectUnchecked()}(e,t):e}(a,n))}function Re(){const{provider:e,account:t,chainId:a}=r.useWeb3React(),[n,o]=s.useState(!1),l=s.useMemo((()=>ue[a]),[a]),i=s.useCallback(((a,n)=>{if(e)return xe(a,n,e,t)}),[e,t]),d=s.useCallback((e=>{if(!l)return;const{MULTI_CALL:t}=l,a=i(t,me);return(()=>_(this,void 0,void 0,(function*(){if(a){o(!0);try{const[n]=yield be(a,t,e);return n}catch(e){console.error("Contract: useMultiContract is error",e)}o(!1)}})))()}),[l,i]);return{getContract:i,contractConfig:l,call:d,loading:n}}var We=[{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"isERC20",outputs:[{internalType:"bool",name:"isOk",type:"bool"},{internalType:"string",name:"symbol",type:"string"},{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"decimals",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allownance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"judgeERC20",outputs:[{internalType:"string",name:"symbol",type:"string"},{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"decimals",type:"uint256"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"allownance",type:"uint256"}],stateMutability:"view",type:"function"}];function Ee(){const{provider:e,account:t}=r.useWeb3React(),a=l.useDispatch(),n=l.useSelector(re);s.useEffect((()=>{(()=>{_(this,void 0,void 0,(function*(){if(!e||!t)return;const n=yield e.getBalance(t);a((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_ETH_BALANCE",payload:e})})))(new M.default(n.toString()).div(1e18)))}))})()}),[e,t,a,n])}function fe(){const{provider:e,chainId:t}=r.useWeb3React(),a=l.useDispatch(),n=s.useCallback((()=>_(this,void 0,void 0,(function*(){if(!e||!t)return;const n=yield e.getBlockNumber();a((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_BLOCK_NUMBER",payload:e})})))(n))}))),[e,t]);return{updateBlockNumber:n}}var ge,Te,ke;function ye(e){return Number.parseInt(e,16)}!function(e){e.All="all",e.Default="default",e.Coingecko="coingecko"}(ge||(ge={})),function(e){e.Loading="Loading",e.Insufficient="ApprovalInsufficient",e.Approving="Approving",e.Sufficient="Sufficient",e.Unchecked="Unchecked"}(Te||(Te={}));class Se extends E.Connector{constructor(e,t){super(e),this.customProvider=t,t.on("connect",(({chainId:e})=>{this.actions.update({chainId:ye(e)})})).on("disconnect",(e=>{var t;null===(t=this.onError)||void 0===t||t.call(this,e),this.actions.resetState()})).on("chainChanged",(e=>{this.actions.update({chainId:ye(e)})})).on("accountsChanged",(e=>{this.actions.update({accounts:e})}))}activate(){return _(this,void 0,void 0,(function*(){this.actions.startActivation();const e=this.customProvider;try{const[{chainId:t},a]=yield Promise.all([e.getNetwork(),e.listAccounts()]);this.actions.update({chainId:t,accounts:a})}catch(e){throw this.actions.resetState(),e}}))}}function Fe([e,t]){return[e,t]}function Ne(){return Ne=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Ne.apply(this,arguments)}var Ze,we;function Me(){return Me=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Me.apply(this,arguments)}var Ve;!function(e){e.INTEGRATOR="integrator",e.METAMASK="metamask",e.WALLET_CONNECT="walletConnect"}(Ve||(Ve={}));const Ue={[Ve.METAMASK]:{name:"MetaMask",type:Ve.METAMASK,icon:function(e){return V.createElement("svg",Ne({height:355,viewBox:"0 0 397 355",width:397,xmlns:"http://www.w3.org/2000/svg"},e),ke||(ke=V.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(-1 -1)"},V.createElement("path",{d:"m114.622644 327.195472 52.004717 13.810198v-18.05949l4.245283-4.249292h29.716982v21.246459 14.872523h-31.839624l-39.268868-16.997169z",fill:"#cdbdb2"}),V.createElement("path",{d:"m199.528305 327.195472 50.943397 13.810198v-18.05949l4.245283-4.249292h29.716981v21.246459 14.872523h-31.839623l-39.268868-16.997169z",fill:"#cdbdb2",transform:"matrix(-1 0 0 1 483.96227 0)"}),V.createElement("path",{d:"m170.872644 287.889523-4.245283 35.056657 5.306604-4.249292h55.18868l6.367925 4.249292-4.245284-35.056657-8.490565-5.311615-42.452832 1.062323z",fill:"#393939"}),V.createElement("path",{d:"m142.216984 50.9915022 25.471698 59.4900858 11.674528 173.158643h41.391511l12.735849-173.158643 23.349056-59.4900858z",fill:"#f89c35"}),V.createElement("path",{d:"m30.7783023 181.657226-29.71698153 86.048161 74.29245393-4.249293h47.7594343v-37.181303l-2.122641-76.487253-10.613208 8.498583z",fill:"#f89d35"}),V.createElement("path",{d:"m87.0283032 191.218134 87.0283028 2.124646-9.551886 44.617563-41.391511-10.623229z",fill:"#d87c30"}),V.createElement("path",{d:"m87.0283032 192.280457 36.0849058 33.994334v33.994334z",fill:"#ea8d3a"}),V.createElement("path",{d:"m123.113209 227.337114 42.452831 10.623229 13.79717 45.679888-9.551886 5.311615-46.698115-27.620398z",fill:"#f89d35"}),V.createElement("path",{d:"m123.113209 261.331448-8.490565 65.864024 56.25-39.305949z",fill:"#eb8f35"}),V.createElement("path",{d:"m174.056606 193.34278 5.306604 90.297451-15.919812-46.211049z",fill:"#ea8e3a"}),V.createElement("path",{d:"m74.2924539 262.393771 48.8207551-1.062323-8.490565 65.864024z",fill:"#d87c30"}),V.createElement("path",{d:"m24.4103777 355.878193 90.2122663-28.682721-40.3301901-64.801701-73.23113313 5.311616z",fill:"#eb8f35"}),V.createElement("path",{d:"m167.688682 110.481588-45.636793 38.243627-35.0235858 42.492919 87.0283028 3.186969z",fill:"#e8821e"}),V.createElement("path",{d:"m114.622644 327.195472 56.25-39.305949-4.245283 33.994334v19.121813l-38.207548-7.43626z",fill:"#dfcec3"}),V.createElement("path",{d:"m229.245286 327.195472 55.18868-39.305949-4.245283 33.994334v19.121813l-38.207548-7.43626z",fill:"#dfcec3",transform:"matrix(-1 0 0 1 513.679252 0)"}),V.createElement("path",{d:"m132.665096 212.464593-11.674528 24.433427 41.39151-10.623229z",fill:"#393939",transform:"matrix(-1 0 0 1 283.372646 0)"}),V.createElement("path",{d:"m23.349057 1.06232296 144.339625 109.41926504-24.410378-59.4900858z",fill:"#e88f35"}),V.createElement("path",{d:"m23.349057 1.06232296-19.10377392 58.42776294 10.61320772 63.7393781-7.42924541 4.249292 10.61320771 9.560906-8.49056617 7.436261 11.67452847 10.623229-7.4292454 6.373938 16.9811323 21.246459 79.5990577-24.433428c38.915096-31.161473 58.018869-47.096318 57.311322-47.804533-.707548-.708215-48.820756-37.1813036-144.339625-109.41926504z",fill:"#8e5a30"}),V.createElement("g",{transform:"matrix(-1 0 0 1 399.056611 0)"},V.createElement("path",{d:"m30.7783023 181.657226-29.71698153 86.048161 74.29245393-4.249293h47.7594343v-37.181303l-2.122641-76.487253-10.613208 8.498583z",fill:"#f89d35"}),V.createElement("path",{d:"m87.0283032 191.218134 87.0283028 2.124646-9.551886 44.617563-41.391511-10.623229z",fill:"#d87c30"}),V.createElement("path",{d:"m87.0283032 192.280457 36.0849058 33.994334v33.994334z",fill:"#ea8d3a"}),V.createElement("path",{d:"m123.113209 227.337114 42.452831 10.623229 13.79717 45.679888-9.551886 5.311615-46.698115-27.620398z",fill:"#f89d35"}),V.createElement("path",{d:"m123.113209 261.331448-8.490565 65.864024 55.18868-38.243626z",fill:"#eb8f35"}),V.createElement("path",{d:"m174.056606 193.34278 5.306604 90.297451-15.919812-46.211049z",fill:"#ea8e3a"}),V.createElement("path",{d:"m74.2924539 262.393771 48.8207551-1.062323-8.490565 65.864024z",fill:"#d87c30"}),V.createElement("path",{d:"m24.4103777 355.878193 90.2122663-28.682721-40.3301901-64.801701-73.23113313 5.311616z",fill:"#eb8f35"}),V.createElement("path",{d:"m167.688682 110.481588-45.636793 38.243627-35.0235858 42.492919 87.0283028 3.186969z",fill:"#e8821e"}),V.createElement("path",{d:"m132.665096 212.464593-11.674528 24.433427 41.39151-10.623229z",fill:"#393939",transform:"matrix(-1 0 0 1 283.372646 0)"}),V.createElement("path",{d:"m23.349057 1.06232296 144.339625 109.41926504-24.410378-59.4900858z",fill:"#e88f35"}),V.createElement("path",{d:"m23.349057 1.06232296-19.10377392 58.42776294 10.61320772 63.7393781-7.42924541 4.249292 10.61320771 9.560906-8.49056617 7.436261 11.67452847 10.623229-7.4292454 6.373938 16.9811323 21.246459 79.5990577-24.433428c38.915096-31.161473 58.018869-47.096318 57.311322-47.804533-.707548-.708215-48.820756-37.1813036-144.339625-109.41926504z",fill:"#8e5a30"})))))},link:"https://metamask.io"},[Ve.WALLET_CONNECT]:{name:"WalletConnect",type:Ve.WALLET_CONNECT,icon:function(e){return V.createElement("svg",Me({height:512,viewBox:"0 0 512 512",width:512,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},e),Ze||(Ze=V.createElement("radialGradient",{id:"a",cx:"0%",cy:"50%",r:"100%"},V.createElement("stop",{offset:0,stopColor:"#5d9df6"}),V.createElement("stop",{offset:1,stopColor:"#006fff"}))),we||(we=V.createElement("g",{fill:"none",fillRule:"evenodd"},V.createElement("path",{d:"m256 0c141.384896 0 256 114.615104 256 256s-114.615104 256-256 256-256-114.615104-256-256 114.615104-256 256-256z",fill:"url(#a)"}),V.createElement("path",{d:"m64.6917558 37.7088298c51.5328072-50.2784397 135.0839942-50.2784397 186.6167992 0l6.202057 6.0510906c2.57664 2.5139218 2.57664 6.5897948 0 9.1037177l-21.215998 20.6995759c-1.288321 1.2569619-3.3771 1.2569619-4.665421 0l-8.534766-8.3270205c-35.950573-35.0754962-94.237969-35.0754962-130.188544 0l-9.1400282 8.9175519c-1.2883217 1.2569609-3.3771016 1.2569609-4.6654208 0l-21.2159973-20.6995759c-2.5766403-2.5139229-2.5766403-6.5897958 0-9.1037177zm230.4934852 42.8089117 18.882279 18.4227262c2.576627 2.5139103 2.576642 6.5897593.000032 9.1036863l-85.141498 83.070358c-2.576623 2.513941-6.754182 2.513969-9.33084.000066-.00001-.00001-.000023-.000023-.000033-.000034l-60.428256-58.957451c-.64416-.628481-1.68855-.628481-2.33271 0-.000004.000004-.000008.000007-.000012.000011l-60.4269683 58.957408c-2.5766141 2.513947-6.7541746 2.51399-9.3308408.000092-.0000151-.000014-.0000309-.000029-.0000467-.000046l-85.14386774-83.071463c-2.57663928-2.513921-2.57663928-6.589795 0-9.1037163l18.88231264-18.4226955c2.5766393-2.5139222 6.7541993-2.5139222 9.3308397 0l60.4291347 58.9582758c.6441608.62848 1.6885495.62848 2.3327103 0 .0000095-.000009.0000182-.000018.0000277-.000025l60.4261065-58.9582508c2.576581-2.51398 6.754142-2.5140743 9.33084-.0002103.000037.0000354.000072.0000709.000107.0001063l60.429056 58.9583548c.644159.628479 1.688549.628479 2.332709 0l60.428079-58.9571925c2.57664-2.5139231 6.754199-2.5139231 9.330839 0z",fill:"#fff",fillRule:"nonzero",transform:"translate(98 160)"}))))}}},Oe={};function Be({provider:e,jsonRpcUrlMap:t,defaultChainId:a}){const n=console.error,o=s.useMemo((()=>function(e,t){if(t){if(W.JsonRpcProvider.isProvider(t))return Fe(r.initializeConnector((e=>new Se(e,t))));if(W.JsonRpcProvider.isProvider(t.provider))throw new Error("Eip1193Bridge is experimental: pass your ethers Provider directly");return Fe(r.initializeConnector((a=>new h.EIP1193({actions:a,provider:t,onError:e}))))}}(n,e)),[n,e]),l=s.useMemo((()=>function(e){return Fe(r.initializeConnector((t=>new R.MetaMask({actions:t,onError:e}))))}(n)),[n]),i=s.useMemo((()=>t?Object.assign(Object.assign({},A),t):A),[t]),d=s.useMemo((()=>function(e,t,a,n){return Fe(r.initializeConnector((o=>new x.WalletConnect({actions:o,options:{rpc:t,qrcode:e},onError:n,defaultChainId:a}))))}(!0,i,a,n)),[i,a,n]);return o&&(Oe[Ve.INTEGRATOR]=o),Oe[Ve.METAMASK]=l,Oe[Ve.WALLET_CONNECT]=d,Object.values(Oe)}function je(){const{chainId:e}=r.useWeb3React(),t=l.useSelector(de);return s.useMemo((()=>e||t||1),[e,t])}var ve;function De(){const e=je(),[t,a]=s.useState(ve.Initial),[n,o]=s.useState(g.List([])),l=s.useCallback((()=>_(this,void 0,void 0,(function*(){try{a(ve.Loading);const t=(e=>({[X.ARBITRUM_ONE]:"https://tokens.coingecko.com/arbitrum-one/all.json",[X.AURORA]:"https://tokens.coingecko.com/aurora/all.json",[X.BSC]:"https://tokens.coingecko.com/binance-smart-chain/all.json"}[e]||"https://tokens.coingecko.com/uniswap/all.json"))(e),n=yield O.default.get(t);n&&n.data&&n.data.tokens&&o(g.List(n.data.tokens)),a(ve.Success)}catch(e){a(ve.Failed),console.error(e)}}))),[e]);return s.useEffect((()=>{e&&l()}),[e]),{cgTokenList:n,loading:t===ve.Loading,refetch:l}}!function(e){e.Initial="Initial",e.Loading="Loading",e.Failed="Failed",e.Success="Success"}(ve||(ve={}));var Ie=[{chainId:1,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Ether",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/prKmKP8yDTuPMHTCZ_DcxG8BqsuHNO8w5KDmJWmPodg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOUVaWU1ER2ZVN3g2N3ZBZThqWkUxZzA0RExUaFhaV0JIb09wZFhpeXhHRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNNeVgyTnZhVzV0WVhKclpYUmpZWEJmWTI5dFgzTjBZWFJwWTE5cGJXZGZZMjlwYm5OZk5qUjROalJmTVRBeU4xOHhNekkyTjJGbE5EY3dMbkJ1WncucG5n.webp"},{chainId:1,address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",name:"USD Coin",decimals:6,symbol:"USDC",logoURI:"https://cmp.dodoex.io/sQ5dF3FkjjQUsmfqFFE5cKq-cthh4u0wUooBE5Epf-k/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTDlEVElLa2dONG5mRkNTSF9GMUdXU3JiZkJDa2JZRTkwbmFDS0dIWnRsby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMM1Z6WkdOZlpXVTFNbUV4WldReVlpOTFjMlJqWDJWbE5USmhNV1ZrTW1JdWNHNW4ucG5n.webp"},{chainId:1,address:"0x4Fabb145d64652a948d72533023f6E7A623C7C53",name:"Binance USD",decimals:18,symbol:"BUSD",logoURI:"https://cmp.dodoex.io/xZmadzpVOnpuq2jNG_5EGKeqMET0LU_gmfnp4VxkcxI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vSHQwWXZKMGNnU0lGTFM0aHExTV9jOXVITV9fMHpXaHBKSGVOQU5neTBuby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMkoxYzJSZk4ySTJOalJpWWpReVpDOWlkWE5rWHpkaU5qWTBZbUkwTW1RdWNHNW4ucG5n.webp"},{chainId:1,address:"0x6b175474e89094c44da98b954eedeac495271d0f",name:"Dai Stablecoin",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/h2lbKBfBJ2LNSTNCuwjsBkshT4eXzDDmAV0lhWS0llA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUnVJNWt2eHBwalI4TTZsenFZZVAyTTB4eVFMUGJ0S1hONDdWVTN1dUszZy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmWmpBNU5qUmpPVFUxT1M1d2JtYy5wbmc.webp"},{chainId:1,address:"0x43dfc4159d86f3a37a5a4b3d4580b888ad7d4ddd",name:"DODO bird",decimals:18,symbol:"DODO",logoURI:"https://cmp.dodoex.io/PGIGjN4ix9pInoESO_mCmajbMpygApWZyGKaE6vyJFk/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8veFJDQ0hnQXBuaENRTFZNUXAwdTdwd0pSQzIxRHJ4cFY0b2Z0bndaYnRmMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk5UaGxZelEyTlRFelpTOUVUMFJQWHpVNFpXTTBOalV4TTJVdWMzWm4uc3Zn.webp"},{chainId:1,address:"0xdac17f958d2ee523a2206206994597c13d831ec7",name:"Tether USD",decimals:6,symbol:"USDT",logoURI:"https://cmp.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp"},{chainId:1,address:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",name:"Wrapped BTC",decimals:8,symbol:"WBTC",logoURI:"https://cmp.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp"},{chainId:1,address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",name:"Wrapped Ether",decimals:18,symbol:"WETH",logoURI:"https://cmp.dodoex.io/mI69kq-S-tNT1W57qYizPd5r2WNFzpAq5y6NhOcrTkY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVEZhSVNLVVZIWThLTVhyTkVmZDRXRUJmMGJoSHRweHY3Q1hDT0dKbGY2by9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmT0dVeFpEaG1PVEEyWlM1d2JtYy5wbmc.webp"},{chainId:4,address:"0x99cf6999fc481663fb10be55827f3584e3c25f3c",name:"LINE",decimals:18,symbol:"LINE",logoURI:""},{chainId:4,address:"0xeaa70c2a40820dF9D38149C84dd943CFcB562587",name:"DODO",decimals:18,symbol:"DODO",logoURI:""},{chainId:4,address:"0xB26c0d8Be2960c70641A95A9195BE1f59Ac83aC0",name:"Wrapped Ether",decimals:18,symbol:"WETH",logoURI:""},{chainId:4,address:"0xab0733588776B8881F7712f6AbCa98F510e6B63D",name:"USDC",decimals:6,symbol:"USDC",logoURI:""},{chainId:4,address:"0x0aDCBAE18580120667f7Ff6c6451A426B13c67B7",name:"USDT Token",decimals:6,symbol:"USDT",logoURI:""},{chainId:4,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Ether",decimals:18,symbol:"ETH",logoURI:""},{chainId:5,symbol:"USDC",address:"0xC4106029d03c33731Ca01Ba59b5A6368c660E596",name:"USDC",decimals:6,logoURI:""},{chainId:5,symbol:"USDT",address:"0xed8a325D87D3b6edED04FB992A1482231647EE5e",name:"USDT Token",decimals:6,logoURI:""},{chainId:5,symbol:"WETH",address:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",name:"Wrapped Ether",decimals:18,logoURI:""},{chainId:5,symbol:"ETH",address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Ether",decimals:18,logoURI:""},{chainId:56,address:"0xe9e7cea3dedca5984780bafc599bd69add087d56",name:"BUSD Token",decimals:18,symbol:"BUSD",logoURI:"https://cmp.dodoex.io/BvxyffA5gsLB4bLmlOVkfu7AVami78-VcW_6_i8I6kc/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vbC1Sa25meFB3ZXlCOGVYSWJ2b04wdHczLTlzckZOckxfRHdTTnRLSHVRRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDJOa2JsOXRaV1JwWVY5a2IyUnZaWGhmYVc5ZlluVnpaRjgyTXpsbFlqZzNZV0V4WDJKMWMyUmZOak01WldJNE4yRmhNVjlsT1dVMVlXRTBOemxtTG5OMlp3LnN2Zw.webp"},{chainId:56,address:"0x55d398326f99059ff775485246999027b3197955",name:"Tether USD",decimals:18,symbol:"USDT",logoURI:"https://cmp.dodoex.io/QOl7CvP_WSmTUOMthbxQsNKjDj0s5kSjup69dW_-UeA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTjdQU3RXV2ZGaGNTVzM1QlE2TEJIaF9keVROUEJqa1RLTXRwTll5cEhSWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDJOa2JsOXRaV1JwWVY5a2IyUnZaWGhmYVc5ZmRYTmtkRjh4TlRZME1XWmpaRFF3WDNWelpIUmZNVFUyTkRGbVkyUTBNRjlqWmpJMVpUYzVZVE5qTG5OMlp3LnN2Zw.webp"},{chainId:56,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"BNB",decimals:18,symbol:"BNB",logoURI:"https://cmp.dodoex.io/BWNSMMqu68bSFJsr9vsiCV09IonH3yuAkR9gQxaipBw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZDhvazF4akd3bU9GUXUtMVdzNEVRLVBNRnJYMW9DLXlmYTc3OGJUUkx0US9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpPUWw5alpEUTVNalE0TXpJMkwwSk9RbDlqWkRRNU1qUTRNekkyTG5CdVp3LnBuZw.webp"},{chainId:56,address:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c",name:"BTCB Token",decimals:18,symbol:"BTCB",logoURI:"https://cmp.dodoex.io/fZG0z_RZ1U73_LuuC3RGrrZvNR-bgrCUjkwvaro-PCY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZ1NXN0RuYWNkMnc2YWxSQnFmcENqTHNDZWJhc2VtQTc0dDJlTEdDZjhfNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmWmpJNVlXRmpZamxoTVM1d2JtYy5wbmc.webp"},{chainId:56,address:"0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3",name:"Dai Token",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/bhz9Vtma8hPb_-GnhwqQkhfTQ5PwKcR1Qbzn7aBKlfs/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZW04OHB4YXNDdEg0Nl9BcjhVandzZWR2SFBFUUtjVWVkc0FmV2lvenB2Yy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmWVRoaFptSmxaRFppWkM1d2JtYy5wbmc.webp"},{chainId:56,address:"0x67ee3Cb086F8a16f34beE3ca72FAD36F7Db929e2",name:"DODO bird",decimals:18,symbol:"DODO",logoURI:"https://cmp.dodoex.io/PGIGjN4ix9pInoESO_mCmajbMpygApWZyGKaE6vyJFk/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8veFJDQ0hnQXBuaENRTFZNUXAwdTdwd0pSQzIxRHJ4cFY0b2Z0bndaYnRmMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk5UaGxZelEyTlRFelpTOUVUMFJQWHpVNFpXTTBOalV4TTJVdWMzWm4uc3Zn.webp"},{chainId:56,address:"0x2170ed0880ac9a755fd29b2688956bd959f933f8",name:"Ethereum Token",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp"},{chainId:56,address:"0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",name:"Binance-Peg USD Coin",decimals:18,symbol:"USDC",logoURI:"https://cmp.dodoex.io/sQ5dF3FkjjQUsmfqFFE5cKq-cthh4u0wUooBE5Epf-k/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTDlEVElLa2dONG5mRkNTSF9GMUdXU3JiZkJDa2JZRTkwbmFDS0dIWnRsby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMM1Z6WkdOZlpXVTFNbUV4WldReVlpOTFjMlJqWDJWbE5USmhNV1ZrTW1JdWNHNW4ucG5n.webp"},{chainId:56,address:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",name:"Wrapped BNB",decimals:18,symbol:"WBNB",logoURI:"https://cmp.dodoex.io/-Pua5rc9k9iW4yuF5ajLVKzMkRhBq06D8HiEZ5gjezA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMDZOWTdBTmdOYWdFOHpXYUMtX2IzYXVPOUxsTEp6QlpLTUR3VlM5eW9DQS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyeHZaMjlmT1dRellXTmtZMlEzTnk1d2JtYy5wbmc.webp"},{chainId:128,address:"0x5545153ccfca01fbd7dd11c0b23ba694d9509a6f",name:"Wrapped HT",decimals:18,symbol:"WHT",logoURI:"https://cmp.dodoex.io/6EZiEnx7kuHSxfpDGIpuE4z8LW4wNE1ck8fZrc5zRaQ/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vR010ZUtqTkRTN1ZRT1Jpd0k3TU9OWE1zcFdEc0VYYmxjX1hheXc4cTVEay9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNNeVgyTnZhVzV0WVhKclpYUmpZWEJmWTI5dFgzTjBZWFJwWTE5cGJXZGZZMjlwYm5OZk5qUjROalJmTWpVd01sOHpaRGt5TjJWaE4yVTVMbkJ1WncucG5n.webp"},{chainId:128,address:"0x0298c2b32eae4da002a15f36fdf7615bea3da047",name:"Heco-Peg HUSD Token",decimals:8,symbol:"HUSD",logoURI:"https://cmp.dodoex.io/LiOyD0GGt0t4bk4xz3RWAxvqFPyYCqfM4z0AqneT3xM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVXRWWnNCVUxTREZNR002SUM0OGI0VV9UV05oYUU4MzFkdnh1Y1hkLTE2by9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNNeVgyTnZhVzV0WVhKclpYUmpZWEJmWTI5dFgzTjBZWFJwWTE5cGJXZGZZMjlwYm5OZk5qUjROalJmTkRjM09WODFZbU0yWVdFek9EUTRMbkJ1WncucG5n.webp"},{chainId:128,address:"0x3d760a45d0887dfd89a2f5385a236b29cb46ed2a",name:"Heco-Peg DAIHECO Token",decimals:18,symbol:"DAI-HECO",logoURI:"https://cmp.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp"},{chainId:128,address:"0x64ff637fb478863b7468bc97d30a5bf3a428a1fd",name:"Heco-Peg ETH Token",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/prKmKP8yDTuPMHTCZ_DcxG8BqsuHNO8w5KDmJWmPodg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOUVaWU1ER2ZVN3g2N3ZBZThqWkUxZzA0RExUaFhaV0JIb09wZFhpeXhHRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNNeVgyTnZhVzV0WVhKclpYUmpZWEJmWTI5dFgzTjBZWFJwWTE5cGJXZGZZMjlwYm5OZk5qUjROalJmTVRBeU4xOHhNekkyTjJGbE5EY3dMbkJ1WncucG5n.webp"},{chainId:128,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"HT",decimals:18,symbol:"HT",logoURI:"https://cmp.dodoex.io/6EZiEnx7kuHSxfpDGIpuE4z8LW4wNE1ck8fZrc5zRaQ/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vR010ZUtqTkRTN1ZRT1Jpd0k3TU9OWE1zcFdEc0VYYmxjX1hheXc4cTVEay9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNNeVgyTnZhVzV0WVhKclpYUmpZWEJmWTI5dFgzTjBZWFJwWTE5cGJXZGZZMjlwYm5OZk5qUjROalJmTWpVd01sOHpaRGt5TjJWaE4yVTVMbkJ1WncucG5n.webp"},{chainId:128,address:"0x9362bbef4b8313a8aa9f0c9808b80577aa26b73b",name:"Heco-Peg USDCHECO Token",decimals:6,symbol:"USDC-HECO",logoURI:"https://cmp.dodoex.io/sQ5dF3FkjjQUsmfqFFE5cKq-cthh4u0wUooBE5Epf-k/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTDlEVElLa2dONG5mRkNTSF9GMUdXU3JiZkJDa2JZRTkwbmFDS0dIWnRsby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMM1Z6WkdOZlpXVTFNbUV4WldReVlpOTFjMlJqWDJWbE5USmhNV1ZrTW1JdWNHNW4ucG5n.webp"},{chainId:128,address:"0xa71edc38d189767582c38a3145b5873052c3e47a",name:"Heco-Peg USDTHECO Token",decimals:18,symbol:"USDT",logoURI:"https://cmp.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp"},{chainId:137,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"MATIC",decimals:18,symbol:"MATIC",logoURI:"https://cmp.dodoex.io/cQFrEB6yGIqMkh_6Pie8VR3kIStL58IS-y8FbroHVwA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vc2VNUUk2dkpoaXljeldrczJaWWdGdk8zSEoxSWFIa053LXZYeXFneER4US9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMekZmTWpkbE56TXlNRE13TWk4eFh6STNaVGN6TWpBek1ESXVjRzVuLnBuZw.webp"},{chainId:137,address:"0xe4bf2864ebec7b7fdf6eeca9bacae7cdfdaffe78",name:"DODO bird",decimals:18,symbol:"DODO",logoURI:"https://cmp.dodoex.io/KEPetVp3nQkB6BZ_cb05trEfBbGxFEg92UnF8NZsEzM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVE5wTlRseEJGbFRDalM1ZFh3SWJ3Mm1hZ3NPUFFkZ3Z1UEhuZDZrNWdyMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk4yUTBaamxtTldOaU15OUVUMFJQWHpka05HWTVaalZqWWpNdWNHNW4ucG5n.webp"},{chainId:137,address:"0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063",name:"Dai Stablecoin",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/hdRkGay_hj0t1OzN5C3c30cmch26tJhHUSroffg7ciY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOHd3UndQOG9DTTdBcF9NOW11bGVOQWRqYjhBOXpvX2FYUE5pVTNBYUtzYy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhnMlgwSXhOelUwTnpSZlJUZzVNRGswWDBNME5GOUVZVGs0WWprMU5GOUZaV1JsWDBGRFh6UTVOVEkzTVdRd1gwWmZiRzluYjE4MFpXSXdNVE0zTVRZeExuQnVady5wbmc.webp"},{chainId:137,address:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",name:"Ether",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/WAobi4MZtLSxB59wgpyNlXLI44ZwlBh55qiGS2wLSGU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vSUVnUUx3TjRMU2dKRDJTM3RmSFlHcmxZbFZQNGlJeFcxeEZVOUwwUExRNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoZlF6QXlZV0ZmUVRNNVlqSXlNMTlHUlY4NFgwUXdYMEV3WlRWZlF6UmZSakkzWlY5QlJGODVNRGd6WDBNM05UWmZRMk15WDJ4dloyOWZZelk0WXprelpHRXlNQzV3Ym1jLnBuZw.webp"},{chainId:137,address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",name:"USD Coin",decimals:6,symbol:"USDC",logoURI:"https://cmp.dodoex.io/er3iAGv39hCC7F8AydW_AteD3hnZj9HI2XcAaruHeqA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vVE9WUWtzN3JQWU5OZWdmNTRuNC1Za1NGTFYyLXVGZmlJRFVYem85aVMzOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoZlFUQmlPRFk1T1RGak5qSXhPR0l6Tm1NeFpERTVYMFEwWVRKbE9WOUZZakJqWDBVek5qQTJaVjlDTkRoZmJHOW5iMTlpTmpGbE5EVmtNbVF6TG5CdVp3LnBuZw.webp"},{chainId:137,address:"0xc2132D05D31c914a87C6611C10748AEb04B58e8F",name:"Tether USD",decimals:6,symbol:"USDT",logoURI:"https://cmp.dodoex.io/WeK6L9_RjWUfAsnMuOAdyXIZVE3JK_H3lZU5vk2m7Tg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTFJ0aEt6X2VrSXdmTEh6NnAycW5rSkRFeUk1RXZrODlXQ0J2VW43MUJLNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoa1gwRkRYekUzWDBZNU5UaGZSREpsWlRVeU0yRXlNakEyTWpBMk9UazBOVGszWDBNeE0xOUVPRE14WldNM1gyeHZaMjlmWXpCbU9XVTFaamxoTmk1d2JtYy5wbmc.webp"},{chainId:137,address:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",name:"Wrapped BTC",decimals:8,symbol:"WBTC",logoURI:"https://cmp.dodoex.io/_KjvB9pCVqbIIv_UnQvRWpjySBHiFnuHNSXUm_52UZM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZDQ4OVYzTW1NMi1qaFJueEQ2Y3MyY1gydXdGS2tkRHpiRGZsbkZhTTJxOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhneU1qWXdYMFpCUTE4MVgwVTFOVFF5WVRjM00xOUJZVFEwWmw5Q1gwTm1aVjlFWmpkZlF6RTVNMkpqTWw5RE5UazVYMnh2WjI5Zk5HTmpORE0zTlRneFppNXdibWMucG5n.webp"},{chainId:137,address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",name:"Wrapped MATIC",decimals:18,symbol:"WMATIC",logoURI:"https://cmp.dodoex.io/HfZVSaAES3QRplSybW2uoKmYf6pVTRaxufn95_Qto_A/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMERhZEZTUUVFX0d4YlBoMHY3Wk1Hb1FwaWtOQm1vaWFyZTFlaFdJbU44dy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMjFoZEdsalgyVmlOekZtTkdFMU9XRXZiV0YwYVdOZlpXSTNNV1kwWVRVNVlTNTNaV0p3LndlYnA.webp"},{chainId:42161,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"ETH",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp"},{chainId:42161,address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",name:"Wrapped Ether",decimals:18,symbol:"WETH",logoURI:"https://cmp.dodoex.io/6VmZGvbENd4TM1VK0rsYrfznRtG-GwxP-zCy2qyc9bM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWnJZUDB0ZHVTLUdDNE5FTThmRmV1RHhVWklPNUZpWnpqdkdBc0lfNlBQMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh5TW1GbU4yVTVOVFJpTDFkRlZFaGZhV052Ymw4eU1tRm1OMlU1TlRSaUxuQnVady5wbmc.webp"},{chainId:42161,address:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",name:"Dai Stablecoin",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp"},{chainId:42161,address:"0x69Eb4FA4a2fbd498C257C57Ea8b7655a2559A581",name:"DODO bird",decimals:18,symbol:"DODO",logoURI:"https://cmp.dodoex.io/6U51l5aajoRrCaO6cpbrclQ2olWNDzuShggOCfoktCA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8va3RkSlhwQ3dsQVZtZXNPb1dvQV95SG9IazBnV3UxUExienBKa1AxYnlJdy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk5tTmtPVEV4WXprNE15OUVUMFJQWHpaalpEa3hNV001T0RNdWNHNW4ucG5n.webp"},{chainId:42161,address:"0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8",name:"USD Coin (Arb1)",decimals:6,symbol:"USDC",logoURI:"https://cmp.dodoex.io/EaCi6KUTS-dinU-wGdG2IcundJ0fJfsOw97FRI2vaB8/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdEVMaUx0Y1FaTVlBb3hkeExLdnRrZ2ltdVB5dmZRdUQ5U1BxU1c1bDZsMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZmFXTnZibDh5WlRFeU5tSTRaRFV5TDFWVFJFTmZhV052Ymw4eVpURXlObUk0WkRVeUxuQnVady5wbmc.webp"},{chainId:42161,address:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",name:"Tether USD",decimals:6,symbol:"USDT",logoURI:"https://cmp.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp"},{chainId:42161,address:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",name:"Wrapped BTC",decimals:8,symbol:"WBTC",logoURI:"https://cmp.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp"},{chainId:1285,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"MOVR",decimals:18,symbol:"MOVR",logoURI:"https://cmp.dodoex.io/Clhd0YhBfsWh48Ej4taGHcJ7dfKiCbtdMgyhNU7QAJg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZlBFT3c5LVdpQWhDVDJteGRmQ2gtb2hnQU1aaXBvWnllUl9TcVNpa3R4NC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMemt5T0RWZk4yWTVNREF5T1dNMU1pODVNamcxWHpkbU9UQXdNamxqTlRJdWQyVmljQS53ZWJw.webp"},{chainId:1285,address:"0x98878b06940ae243284ca214f92bb71a2b032b8a",name:"Wrapped MOVR",decimals:18,symbol:"WMOVR",logoURI:"https://cmp.dodoex.io/oXW0_VSLU29rbyQK3LtaHymbMfdv6F_ri20EeyMVBEU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMDVYMDFLd21zZXFRNFB6SGxJdEdvN3dveHVaUkFVbmQ5bDhCNU5VQ2N6by9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMGhmVG1OdmRWOUlNSGhmTkRBd2VEUXdNRjlrTlRBNFpHSmxNVE0yTDBoZlRtTnZkVjlJTUhoZk5EQXdlRFF3TUY5a05UQTRaR0psTVRNMkxtcHdady5qcGc.webp"},{chainId:1285,address:"0x5D9ab5522c64E1F6ef5e3627ECCc093f56167818",name:"Binance USD",decimals:18,symbol:"BUSD",logoURI:"https://cmp.dodoex.io/SKu1xTvsm3q0RZC9CdiGw0zkq9k1P2ygK4TMenBYNC8/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vQVMtWEpUX3pncF9MSlFxdFJiaE1Fd3lTZlNBMWp0MUhHbUFGYV9QQUdTdy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5aWRYTmtYems0TjJNd1lUUmtNRGt1YW5Cbi5qcGc.webp"},{chainId:1285,address:"0x80A16016cC4A2E6a2CACA8a4a498b1699fF0f844",name:"Dai Stablecoin",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp"},{chainId:1285,address:"0xE9460BD2FFB12b668fA32919C785C239f974D37C",name:"DODO bird",decimals:18,symbol:"DODO",logoURI:"https://cmp.dodoex.io/onw4bpUWC5-GPBwFMHLE3BcRaQ1S_hqlUxW-8H3l5g0/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTi1ITXhGVWtxUU9fR3cxRFl1empZblgwejFzQ1pIMG1nMWRlOG5Qdmk2NC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zll6SXdZVEl4WTJFNU5pOUVUMFJQWDJNeU1HRXlNV05oT1RZdWNHNW4ucG5n.webp"},{chainId:1285,address:"0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D",name:"USD Coin",decimals:6,symbol:"USDC",logoURI:"https://cmp.dodoex.io/sQ5dF3FkjjQUsmfqFFE5cKq-cthh4u0wUooBE5Epf-k/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTDlEVElLa2dONG5mRkNTSF9GMUdXU3JiZkJDa2JZRTkwbmFDS0dIWnRsby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMM1Z6WkdOZlpXVTFNbUV4WldReVlpOTFjMlJqWDJWbE5USmhNV1ZrTW1JdWNHNW4ucG5n.webp"},{chainId:1285,address:"0xB44a9B6905aF7c801311e8F4E76932ee959c663C",name:"Tether USD",decimals:6,symbol:"USDT",logoURI:"https://cmp.dodoex.io/LyxjB8w94UjDhRuXa9xNlg7YcMuOC6akWBPCtgbq_Qw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vLXNSOWJzZTlrLTFIY1VUeUE3WE9KZWplQkRRS2ZtSFpRV2I3RE1iemlHMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMM1Z6WkhSZk1UVTJOREZtWTJRME1DOTFjMlIwWHpFMU5qUXhabU5rTkRBdWMzWm4uc3Zn.webp"},{chainId:1285,address:"0x2bF9b864cdc97b08B6D79ad4663e71B8aB65c45c",name:"WBNB Token",decimals:18,symbol:"WBNB",logoURI:"https://cmp.dodoex.io/HSdBZz6OV3HFUq1RqW8hdavA1cfhjWEfqP12BINZppw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUTAzVVlDM3hSN0J2SHo5UmgtcHZ0WWctRGdPNlF1b2xKUmE0QjBHaWlmMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5aWJtSmZNalE0TmpZeFpHTXhaaTVxY0djLmpwZw.webp"},{chainId:1285,address:"0x6aB6d61428fde76768D7b45D8BFeec19c6eF91A8",name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logoURI:"https://cmp.dodoex.io/6qiR9e_WPVs0u8U4DgdGMcaKFzJzypJqME5wUNe7XsY/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMUMxeHZaUVJ4b0NlTW1sNXg0eUMzTGcySmhNXzYwcHpMMlk3elBwSGJFQS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMnh2WjI5Zk4ySXpNMlU0TW1WbFlTOXNiMmR2WHpkaU16TmxPREpsWldFdWNHNW4ucG5n.webp"},{chainId:1285,address:"0x639A647fbe20b6c8ac19E48E2de44ea792c62c5C",name:"Wrapped Ether",decimals:18,symbol:"WETH",logoURI:"https://cmp.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp"},{chainId:66,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"OKT",decimals:18,symbol:"OKT",logoURI:"https://cmp.dodoex.io/pcltGNcIp7DP33nj3YxxBpuFEekNcOW3pwq9tjSrpY4/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTzJHSDJYTndRancwbXMzQXNidG5xNzRkVEROVld3QWFOU1dXU2ZnU01QTS9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6RTVOalF5T1RCZk1qQXlNakExTWpBd056STNORFl3TWpJdWMzWm4uc3Zn.webp"},{chainId:66,address:"0x382bB369d343125BfB2117af9c149795C6C65C50",name:"USDT",decimals:18,symbol:"USDT",logoURI:"https://cmp.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp"},{chainId:66,address:"0x218c3c3D49d0E7B37aff0D8bB079de36Ae61A4c0",name:"BNB",decimals:18,symbol:"BNB",logoURI:"https://cmp.dodoex.io/BWNSMMqu68bSFJsr9vsiCV09IonH3yuAkR9gQxaipBw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZDhvazF4akd3bU9GUXUtMVdzNEVRLVBNRnJYMW9DLXlmYTc3OGJUUkx0US9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpPUWw5alpEUTVNalE0TXpJMkwwSk9RbDlqWkRRNU1qUTRNekkyTG5CdVp3LnBuZw.webp"},{chainId:66,address:"0x54e4622DC504176b3BB432dCCAf504569699a7fF",name:"BTCK",decimals:18,symbol:"BTCK",logoURI:"https://cmp.dodoex.io/L3kcNUKg94qnX8OPFlEvHKqWybnJD8SA9HTne3PW-Rg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vNU1MQTB3Q3V6eEs4Q3ZMV0RqempuOVhzalBTWE1zbUpWZ0RRN1RPMG9FWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpVUTB0Zk1HWmlaRGRsTWpnNU5pOUNWRU5MWHpCbVltUTNaVEk0T1RZdWNHNW4ucG5n.webp"},{chainId:66,address:"0x332730a4F6E03D9C55829435f10360E13cfA41Ff",name:"BUSD",decimals:18,symbol:"BUSD",logoURI:"https://cmp.dodoex.io/-aEkA13gC6lOFoRyGeSy2BotE5YY3WUmcSlPa9Rpddc/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaXVmSjhaNHFJYzlMMDgtNHpxRUMxWl94WVlqRkEtT3BqS1FJbmQyeHpHUS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpWVTBSZk1XTTJNRFpqTjJZeE55OUNWVk5FWHpGak5qQTJZemRtTVRjdWNHNW4ucG5n.webp"},{chainId:66,address:"0x21cDE7E32a6CAF4742d00d44B07279e7596d26B9",name:"DAIK",decimals:18,symbol:"DAIK",logoURI:"https://cmp.dodoex.io/LOb-sXupURNN9HA0zBSfLfpZlx52N9qRSDUyzk3cg0A/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vck5pZzMtWU5TOUl4T3ZHX19taTFRSU9WYTZsczdZNXViRVhGcTJJVGplby9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJCU1V0Zk5ESTVNV1l4WlRoa1pTOUVRVWxMWHpReU9URm1NV1U0WkdVdWNHNW4ucG5n.webp"},{chainId:66,address:"0xEF71CA2EE68F45B9Ad6F72fbdb33d707b872315C",name:"ETHK",decimals:18,symbol:"ETHK",logoURI:"https://cmp.dodoex.io/IwBclhMMQLOo79RdRo6-HnUiXxshO_hSi02YK3L6MFI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcFBSd192aEx2MHh3WkRHU2k3eGYyYVJiQjlocVhfU2tacUdGc3RJR0pYRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFZVU0V0Zk1UQTVNamMzTW1VMU9DOUZWRWhMWHpFd09USTNOekpsTlRndWNHNW4ucG5n.webp"},{chainId:66,address:"0xc946DAf81b08146B1C7A8Da2A851Ddf2B3EAaf85",name:"USDC",decimals:18,symbol:"USDC",logoURI:"https://cmp.dodoex.io/bXLFjIP5_obFZS9jvWA1bZc2b2Vsw4-tqcvj10aPUpU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcXhZT0hTcDYzemNTaDVHRVV1SFlya3JGS2s1MW9zLVUycG42bjNXV2pYay9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZk1UTTFZak13TkRkaVpDOVZVMFJEWHpFek5XSXpNRFEzWW1RdWNHNW4ucG5n.webp"},{chainId:66,address:"0xdCAC52E001f5bd413aa6ea83956438F29098166b",name:"USDK",decimals:18,symbol:"USDK",logoURI:"https://cmp.dodoex.io/X-_D75ZOpI-yC70WjdgC8wiqcssfRIALEv0eUfD3HiE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vd290dHEzaWdkTDVzQlhSR2VFZkhQLTNpZHhDZzV0V3VGQmE3YjNrNUZITS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkV0Zk56aGpZekV6TW1OaVpDOVZVMFJMWHpjNFkyTXhNekpqWW1RdWNHNW4ucG5n.webp"},{chainId:66,address:"0x506f731F7656e2FB34b587B912808f2a7aB640BD",name:"WBTCK",decimals:18,symbol:"WBTCK",logoURI:"https://cmp.dodoex.io/7Gb1gYkvjWESf9ungWe4YKOrr5GY5UILmTwU_U95kCA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vOTQ4NWZpU2NmUzBNc2V1YVZXWXo2Z1RuNVVidXJvZkxmN1VGSWhMdndjTS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOTFgyVXlZamRpWVRJNU16TXZWMEpVUTB0ZlpUSmlOMkpoTWprek15NXdibWMucG5n.webp"},{chainId:288,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Ethereum",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/WAobi4MZtLSxB59wgpyNlXLI44ZwlBh55qiGS2wLSGU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vSUVnUUx3TjRMU2dKRDJTM3RmSFlHcmxZbFZQNGlJeFcxeEZVOUwwUExRNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoZlF6QXlZV0ZmUVRNNVlqSXlNMTlHUlY4NFgwUXdYMEV3WlRWZlF6UmZSakkzWlY5QlJGODVNRGd6WDBNM05UWmZRMk15WDJ4dloyOWZZelk0WXprelpHRXlNQzV3Ym1jLnBuZw.webp"},{chainId:288,address:"0x66a2A913e447d6b4BF33EFbec43aAeF87890FBbc",name:"USD Coin",decimals:6,symbol:"USDC",logoURI:"https://cmp.dodoex.io/EaCi6KUTS-dinU-wGdG2IcundJ0fJfsOw97FRI2vaB8/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdEVMaUx0Y1FaTVlBb3hkeExLdnRrZ2ltdVB5dmZRdUQ5U1BxU1c1bDZsMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZmFXTnZibDh5WlRFeU5tSTRaRFV5TDFWVFJFTmZhV052Ymw4eVpURXlObUk0WkRVeUxuQnVady5wbmc.webp"},{chainId:288,address:"0x818ec0A7Fe18Ff94269904fCED6AE3DaE6d6dC0b",name:"Binance",decimals:18,symbol:"BNB",logoURI:"https://cmp.dodoex.io/BWNSMMqu68bSFJsr9vsiCV09IonH3yuAkR9gQxaipBw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZDhvazF4akd3bU9GUXUtMVdzNEVRLVBNRnJYMW9DLXlmYTc3OGJUUkx0US9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpPUWw5alpEUTVNalE0TXpJMkwwSk9RbDlqWkRRNU1qUTRNekkyTG5CdVp3LnBuZw.webp"},{chainId:288,address:"0xa18bF3994C0Cc6E3b63ac420308E5383f53120D7",name:"Boba Token",decimals:18,symbol:"BOBA",logoURI:"https://cmp.dodoex.io/p7--p24wKrXpF7IGh6Q_RT6J0ZGS2_FURnXxeyMDvO4/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vQlVsWE9GWS1wUTIxbTJJOTdIRFN2VHlvMzR2MGJWQllYU1ByczFwaWNuYy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpQUWtGZk16SmtZamczT1dJMk1TOUNUMEpCWHpNeVpHSTROemxpTmpFdWNHNW4ucG5n.webp"},{chainId:288,address:"0xf74195Bb8a5cf652411867c5C2C5b8C2a402be35",name:"Dai Stablecoin",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp"},{chainId:288,address:"0x572c5B5BF34f75FB62c39b9BFE9A75bb0bb47984",name:"DODO bird",decimals:18,symbol:"DODO",logoURI:"https://cmp.dodoex.io/8CGANX_wy00isVg8PgA_A-IKbfIn55Yu9ZujzUukXlQ/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vTDJhLVNEOFJvWDlGaW9IUVNzSkh2WkZzNlBpbVlNTWxTZGhZalJmMXVVQS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMFJQUkU5Zk1tRm1NMll4WkRZd055OUVUMFJQWHpKaFpqTm1NV1EyTURjdWNHNW4ucG5n.webp"},{chainId:288,address:"0x5DE1677344D3Cb0D7D465c10b72A8f60699C062d",name:"Tether USD",decimals:6,symbol:"USDT",logoURI:"https://cmp.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp"},{chainId:288,address:"0xdc0486f8bf31DF57a952bcd3c1d3e166e3d9eC8b",name:"Wrapped BTC",decimals:8,symbol:"WBTC",logoURI:"https://cmp.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp"},{chainId:288,address:"0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",name:"Wrapped Ethereum",decimals:18,symbol:"WETH",logoURI:"https://cmp.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp"},{chainId:1313161554,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Ethereum",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/WAobi4MZtLSxB59wgpyNlXLI44ZwlBh55qiGS2wLSGU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vSUVnUUx3TjRMU2dKRDJTM3RmSFlHcmxZbFZQNGlJeFcxeEZVOUwwUExRNC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmZEhKMWMzUjNZV3hzWlhSZllYTnpaWFJ6WDIxaGMzUmxjbDlpYkc5amEyTm9ZV2x1YzE5bGRHaGxjbVYxYlY5aGMzTmxkSE5mTUhoZlF6QXlZV0ZmUVRNNVlqSXlNMTlHUlY4NFgwUXdYMEV3WlRWZlF6UmZSakkzWlY5QlJGODVNRGd6WDBNM05UWmZRMk15WDJ4dloyOWZZelk0WXprelpHRXlNQzV3Ym1jLnBuZw.webp"},{chainId:1313161554,address:"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB",name:"Wrapped Ethereum",decimals:18,symbol:"WETH",logoURI:"https://cmp.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp"},{chainId:1313161554,address:"0x8BEc47865aDe3B172A928df8f990Bc7f2A3b9f79",name:"Aurora",decimals:18,symbol:"Aurora",logoURI:"https://cmp.dodoex.io/2C2jfpO2-VYuwlga3SdtP5I6eJNJXIYq3LvPU4aFuiU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcHFWVWlJOEQ4VU5iUEZYRElvUnA3cFhEZFc4dmx4dWEtTmxubmxlam1PMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMkYxY205eVlWOHlOVEprWlRFeE56YzBMMkYxY205eVlWOHlOVEprWlRFeE56YzBMbmRsWW5BLndlYnA.webp"},{chainId:1313161554,address:"0xe3520349F477A5F6EB06107066048508498A291b",name:"Dai Stablecoin",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp"},{chainId:1313161554,address:"0xe301eD8C7630C9678c39E4E45193D1e7Dfb914f7",name:"DODO Bird",decimals:18,symbol:"DODO",logoURI:"https://cmp.dodoex.io/SEcMDWMmtHb3GFW5l7fTKYurpTqALHdZI3D6qzad1rs/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vQXRNMzllUjhRQzhYTl8tem5HU0pSLS1lV0tPUW91V3p2ci0zQ014WlJTSS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMekl3TUhneU1EQmZNVjh3WWpReFl6VTJZV1UxTHpJd01IZ3lNREJmTVY4d1lqUXhZelUyWVdVMUxuQnVady5wbmc.webp"},{chainId:1313161554,address:"0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",name:"USD Coin",decimals:6,symbol:"USDC",logoURI:"https://cmp.dodoex.io/EaCi6KUTS-dinU-wGdG2IcundJ0fJfsOw97FRI2vaB8/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdEVMaUx0Y1FaTVlBb3hkeExLdnRrZ2ltdVB5dmZRdUQ5U1BxU1c1bDZsMC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZmFXTnZibDh5WlRFeU5tSTRaRFV5TDFWVFJFTmZhV052Ymw4eVpURXlObUk0WkRVeUxuQnVady5wbmc.webp"},{chainId:1313161554,address:"0x4988a896b1227218e4A686fdE5EabdcAbd91571f",name:"Tether USD",decimals:6,symbol:"USDT",logoURI:"https://cmp.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp"},{chainId:1313161554,address:"0xF4eB217Ba2454613b15dBdea6e5f22276410e89e",name:"Wrapped BTC",decimals:8,symbol:"WBTC",logoURI:"https://cmp.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp"},{chainId:43114,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"Avalanche",decimals:18,symbol:"AVAX",logoURI:"https://cmp.dodoex.io/yBkeC0v6hqQP-wNBxAq_C_D6JTYUc4Q86Wh6WIciESI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcmpNamFFdHJ5WUZxNks3TkpxYkRWczlEZF80aHp4ZUo3YnB0eGgtVERDYy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMjEzWDI1ZlRqaHRNRjgwTURCNE5EQXdYems0WlRKaU5EQm1PRGN2YlhkZmJsOU9PRzB3WHpRd01IZzBNREJmT1RobE1tSTBNR1k0Tnk1cWNHYy5qcGc.webp"},{chainId:43114,address:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",name:"Wrapped AVAX",decimals:18,symbol:"WAVAX",logoURI:"https://cmp.dodoex.io/yBkeC0v6hqQP-wNBxAq_C_D6JTYUc4Q86Wh6WIciESI/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcmpNamFFdHJ5WUZxNks3TkpxYkRWczlEZF80aHp4ZUo3YnB0eGgtVERDYy9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMjEzWDI1ZlRqaHRNRjgwTURCNE5EQXdYems0WlRKaU5EQm1PRGN2YlhkZmJsOU9PRzB3WHpRd01IZzBNREJmT1RobE1tSTBNR1k0Tnk1cWNHYy5qcGc.webp"},{chainId:43114,address:"0x19860CCB0A68fd4213aB9D8266F7bBf05A8dDe98",name:"Binance USD",decimals:18,symbol:"BUSD.e",logoURI:"https://cmp.dodoex.io/-aEkA13gC6lOFoRyGeSy2BotE5YY3WUmcSlPa9Rpddc/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaXVmSjhaNHFJYzlMMDgtNHpxRUMxWl94WVlqRkEtT3BqS1FJbmQyeHpHUS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMEpWVTBSZk1XTTJNRFpqTjJZeE55OUNWVk5FWHpGak5qQTJZemRtTVRjdWNHNW4ucG5n.webp"},{chainId:43114,address:"0xd586E7F844cEa2F87f50152665BCbc2C279D8d70",name:"Dai Stablecoin",decimals:18,symbol:"DAI.e",logoURI:"https://cmp.dodoex.io/XNbyKKzPthXfYOku9oXt5xzqM1JOWzxmbTLq2kkSvaU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vWHprMUxKSzJ2V1BYVmN3TmVvVDRfR3NNdnBOVXFmTmliXzgybFZSVUNkWS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMlZ5WXpJd0wyaDBkSEJ6WDNKaGQxOW5hWFJvZFdKMWMyVnlZMjl1ZEdWdWRGOWpiMjFmYzNWemFHbHpkMkZ3WDJsamIyNXpYMjFoYzNSbGNsOTBiMnRsYmw5a1lXbGZPRGhrT0dNeE5HRTBZaTVxY0djLmpwZw.webp"},{chainId:43114,address:"0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664",name:"USD Coin",decimals:6,symbol:"USDC.e",logoURI:"https://cmp.dodoex.io/bXLFjIP5_obFZS9jvWA1bZc2b2Vsw4-tqcvj10aPUpU/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vcXhZT0hTcDYzemNTaDVHRVV1SFlya3JGS2s1MW9zLVUycG42bjNXV2pYay9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkVOZk1UTTFZak13TkRkaVpDOVZVMFJEWHpFek5XSXpNRFEzWW1RdWNHNW4ucG5n.webp"},{chainId:43114,address:"0xc7198437980c041c805A1EDcbA50c1Ce5db95118",name:"Tether USD",decimals:6,symbol:"USDT.e ",logoURI:"https://cmp.dodoex.io/MGklrG5AImwUllGWDPMAHY0qLfdJQn4bj3iPFWSeohA/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vUEM3a3JPb252bWl4U3VRaFEwY29pVy1sczFYN25WS1lLNVluekQ2R2lxRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMVZUUkZSZlpUaGlOekZpTldZeU9TOVZVMFJVWDJVNFlqY3hZalZtTWprdWNHNW4ucG5n.webp"},{chainId:43114,address:"0x50b7545627a5162F82A992c33b87aDc75187B218",name:"Wrapped BTC",decimals:8,symbol:"WBTC.e",logoURI:"https://cmp.dodoex.io/n4n7ccBom2tgcZNN0jBv9YiTq5qGMjX6PHO0YGlpzZo/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vMElrSkQzVEc2SkFQdG1DV24tNnhfa0ozS3lXYXlVVHRhZ19PQmF0TFEwRS9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRDVkVOZmFXTnZibDgzWW1JelpUQTRaak14TDFkQ1ZFTmZhV052Ymw4M1ltSXpaVEE0WmpNeExuQnVady5wbmc.webp"},{chainId:43114,address:"0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB",name:"Wrapped Ether",decimals:18,symbol:"WETH.e",logoURI:"https://cmp.dodoex.io/KWYmKxU_OCS1PmzuEO0xjdr1Yn08SjGBkyqSI8hxlpE/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vdkkyZF9rdFdyUzQyM0FqZlBLbkxRYloyRGVzTkpacmNTSlZNb1dYRnkyOC9hSFIwY0hNNkx5OWpaRzR0YldWa2FXRXVaRzlrYjJWNExtbHZMMWRGVkVoZmFXTnZibDh6TVRjd1pqTTBORGcxTDFkRlZFaGZhV052Ymw4ek1UY3daak0wTkRnMUxuQnVady5wbmc.webp"},{chainId:25,address:"0x66e428c3f67a68878562e79A0234c1F83c208770",name:"USDT",decimals:6,symbol:"USDT",logoURI:"https://cmp.dodoex.io/p_nSk7MW-bCcwp-tgtWC8az4e4Q0YMirg6rv6yVjC-I/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vODVNVlpTTllrTFlySWdlX2VQemNVOUpydkNKeFpDM2JhaGV0NnN5S0d5WS9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6RTJPREl3TWpoZk1qQXlNakExTVRjd016STVNakV6TURjdWQyVmljQS53ZWJw.webp"},{chainId:25,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"CRO",decimals:1,symbol:"CRO",logoURI:"https://cmp.dodoex.io/HYsQIOyyuC6P1Ik_Rs5a6ws2CKMzJbajJewE77C0rf8/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vZzc2UURUMEIwbHJjc3VTSTlodTZTTnlqMEp3WWNtUEFRWV9qWDV0VVBhMC9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6YzRNRGc0TkRkZk1qQXlNakExTVRjd056UXdNekExTWpFdWNHNW4ucG5n.webp"},{chainId:10,address:"0x4200000000000000000000000000000000000006",name:"WETH",decimals:18,symbol:"WETH",logoURI:"https://cmp.dodoex.io/f9SbZq39ynUZS5ueKvAwzLmKUfcZvYpKDaysT3dkcvM/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vc2NkVzJUWjladmRiX3BVSjZ3b2YzeHRvYk94YUw3bEV5RmhhemhJUFhlMC9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6RXdNamd3TkRaZk1qQXlNakEwTWpJd01UQXpORGc1TURVdWNHNW4ucG5n.webp"},{chainId:10,address:"0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1",name:"DAI",decimals:18,symbol:"DAI",logoURI:"https://cmp.dodoex.io/04gwZiu2K_9fdb2zLwzsX1nONCbBWrZOvTyOoEFhx3g/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaDJCcmdhUmZxUzBLZDBEOVpZbEUteEtNMVdzeFFtRzBEWVpKOGJCaWN4US9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6SXlNRFUwTVRsZk1qQXlNakEwTWpJd01UQTBNak00TlRVdWFuQm4uanBn.webp"},{chainId:10,address:"0x7F5c764cBc14f9669B88837ca1490cCa17c31607",name:"USDC",decimals:6,symbol:"USDC",logoURI:"https://cmp.dodoex.io/XbtxsPIscM6p5ClHbLO0JumFHA9U23eON8-MDh-Plkg/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vaG1nM3hRa1BUTUtkcUNFVnd0LXU4S2lwTW5od1JCdGhLYWxENW9vSWlTZy9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6UXlNRFEyTkRaZk1qQXlNakEwTWpJd01UQTFNekF4TmpVdWNHNW4ucG5n.webp"},{chainId:10,address:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",name:"ETH",decimals:18,symbol:"ETH",logoURI:"https://cmp.dodoex.io/bcyoORJ04NyP1HhYUZ9RrTZ-MEOFeNnMcrr__JZ6Ruw/rs:fit:96:96:0/g:no/aHR0cHM6Ly9pbWFnZS1wcm94eS5kb2RvZXguaW8vV1lHaU9IVFVnVWs4Q3Z3WmNyN0hWX2w4SlNrQjRVQUh1UXpzaWd4U3Nmay9hSFIwY0hNNkx5OXpkRzl5WVdkbExtZHZiMmRzWldGd2FYTXVZMjl0TDJSdlpHOHRiV1ZrYVdFdGMzUmhaMmx1Wnk5MWNHeHZZV1JmYVcxblh6VTVPREk0T1Y4eU1ESXlNRFF5TWpBeU1qTTBNelk0TlM1d2JtYy5wbmc.webp"}];function Ce({tokenList:e,popularTokenList:t}){const n=l.useDispatch(),[o,i]=s.useState([]),{account:d}=r.useWeb3React(),c=je(),{cgTokenList:p}=De(),m=l.useSelector(re),u=s.useMemo((()=>(null==Ie?void 0:Ie.filter((e=>e.chainId===c)))||[]),[Ie,c]),h=s.useMemo((()=>(null==t?void 0:t.filter((e=>e.chainId===c)))||[]),[t,c]),x=s.useMemo((()=>{const e=o.map((({address:e})=>e));return null==t||t.forEach((({address:t})=>{e.includes(t)||e.push(t)})),e}),[o,t]);!function({tokenList:e,addresses:t,blockNumber:a}){const{account:n}=r.useWeb3React(),o=l.useDispatch(),i=s.useMemo((()=>[...(null==e?void 0:e.map((e=>e.address)))||[],...t||[]].map((e=>e.toLocaleLowerCase()))),[e,JSON.stringify(t)]),{getContract:d,contractConfig:c,call:p}=Re(),[m,u]=s.useState(),h=s.useMemo((()=>{if(!n||!i.length||!c)return;const{DODO_APPROVE:e,ERC20_HELPER:t}=c,a=d(t,We);if(!a)return;let s={};const l=i.map((o=>(s[o]=!0,{callData:{data:a.interface.encodeFunctionData("isERC20",[o,n,e]),to:t},processor:e=>{const t=new b.Interface(We).decodeFunctionResult("isERC20",e),{balance:a,isOk:n}=t,s=parseInt(t.decimals),l=new M.default(10).pow(s),i=new M.default(t.allownance.toString()).div(l);return n?{address:o,decimals:s,symbol:t.symbol,name:t.name,balance:new M.default(a.toString()).div(l),allowance:i}:{address:o,balance:new M.default(0),allowance:new M.default(0)}}})));return o(pe(s)),l}),[n,d,JSON.stringify(i)]);s.useEffect((()=>{(()=>{_(this,void 0,void 0,(function*(){if(!h)return;const e=yield p(h),t={};e&&(e.forEach((e=>{e.address.toLocaleLowerCase()!=="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE".toLocaleLowerCase()&&(t[e.address.toLocaleLowerCase()]={tokenBalances:e.balance,tokenAllowances:e.allowance})})),o(ce(t))),u(e);let a={};i.forEach((e=>{a[e]=!1})),o(pe(a))}))})()}),[h,a])}({addresses:x,blockNumber:m}),s.useEffect((()=>{(()=>{_(this,void 0,void 0,(function*(){let t=[];if(a.isArray(e))t=e;else if(e===ge.Coingecko||e===ge.All){const e=u.concat(p.toArray());t=a.unionBy(h,e,(e=>e.address.toLowerCase()))}else t=a.unionBy(h,u,(e=>e.address.toLowerCase()));const o=c,s=t.filter((e=>e.chainId===o));i(s),n((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_TOKEN_LIST",payload:e})})))(s))}))})()}),[e,n,c,p,h,u]),s.useEffect((()=>{n(ce({}))}),[d,c]),s.useEffect((()=>{n((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_POPULAR_TOKEN_LIST",payload:e})})))(h))}),[h,n])}const Ye=e=>(null!=e?e:ie.getState()).token.tokenList,He=(e,t)=>(null!=t?t:ie.getState()).token.popularTokenList.filter((({chainId:t})=>e===t)),Xe=e=>(null!=e?e:ie.getState()).token.accountBalances,Ae=e=>(null!=e?e:ie.getState()).token.ethBalance||new M.default(NaN),ze=e=>(null!=e?e:ie.getState()).token.defaultFromToken,Je=e=>(null!=e?e:ie.getState()).token.defaultToToken,Le=e=>(null!=e?e:ie.getState()).token.balanceLoadings;function Ge(){const{account:e,chainId:t}=r.useWeb3React(),a=l.useSelector(Xe),n=l.useSelector(Ae),o=s.useMemo((()=>J[t||1]),[t]),i=s.useCallback((t=>{var s;if(!e)return null;if(t.symbol===o.symbol&&C(t.address,o.address))return!n||(null==n?void 0:n.isNaN())?null:n;const l=null===(s=a[t.address.toLocaleLowerCase()])||void 0===s?void 0:s.tokenBalances;return!l||(null==l?void 0:l.isNaN())?null:l}),[a,n,e]);return i}var Pe;function _e(e,t,a,n=0){if(a&&(e=e.toLocaleLowerCase(),t=t.toLocaleLowerCase()),e===t)return Pe.fully+n;const o=e.indexOf(t);return 0===o?Pe.prefix+n:o>0?Pe.other+n:Pe.none}!function(e){e[e.fully=1]="fully",e[e.prefix=2]="prefix",e[e.other=3]="other",e[e.none=0]="none"}(Pe||(Pe={}));function Qe({value:e,onChange:t,occupiedAddrs:a,hiddenAddrs:n,showAddrs:o}){const[i,d]=s.useState(""),r=l.useSelector(Ye),c=je(),p=Ge(),m=l.useSelector((e=>He(c,e))),u=s.useMemo((()=>(null==Ie?void 0:Ie.filter((e=>e.chainId===c)))||[]),[Ie,c]),b=s.useMemo((()=>new Set(n?n.map((e=>e.toLowerCase())):void 0)),[n]),h=s.useMemo((()=>o?new Set(o.map((e=>e.toLowerCase()))):void 0),[o]),x=s.useCallback((e=>e.filter((e=>{if(e.chainId!==c)return!1;let t=!0;return t=h?h.has(e.address.toLowerCase()):!b.has(e.address.toLowerCase()),t}))),[h,c,b]),R=s.useCallback((t=>{if(null===t)return null;const n=[];i?t.forEach((e=>{const t=((e,t,{matchAddress:a}={})=>{if(!t)return 0;const n=t.toLocaleLowerCase();let o=0;a&&e.address.toLocaleLowerCase()===n&&(o=1),o||(o=_e(e.symbol.toLocaleLowerCase(),n,!1,1));if(o)e.name.toLocaleLowerCase()===n&&(o=Pe.fully+1);else{let t=_e(e.name.toLocaleLowerCase(),n,!1,10);t=t===Pe.fully+10?Pe.fully+1:t,o=t}return o})(e,i,{matchAddress:!0});t&&n.push({sort:t,token:e})})):t.forEach((e=>{n.push({sort:0,token:e})}));const o=[];return n.sort(((t,n)=>{const o=t.token,s=n.token;if(e){if(o.address===e.address)return-1;if(s.address===e.address)return 1}if(null==a?void 0:a.includes(o.address))return-1;if(null==a?void 0:a.includes(s.address))return 1;const l=p&&p(o)||new M.default(0),i=p&&p(s)||new M.default(0);if(!l.eq(i))return l.gt(i)?-1:1;if(t.sort!==n.sort)return t.sort>n.sort?1:-1;const d=m.map((e=>e.address));if(null==d?void 0:d.includes(o.address))return-1;if(null==d?void 0:d.includes(s.address))return 1;const r=u.map((e=>e.address));return(null==r?void 0:r.includes(o.address))?-1:(null==r?void 0:r.includes(s.address))?1:o.symbol.localeCompare(s.symbol)})).some((e=>!!(i&&o.length>21)||(o.push(e.token),!1))),o}),[i,p,a,e,m,u]),W=s.useCallback((e=>{const n=e.address.toLowerCase();t(e,!!(null==a?void 0:a.some((e=>e.toLowerCase()===n))))}),[t,a]),E=s.useMemo((()=>{const e=x(r);return R(e)||[]}),[r,x,R]);return{filter:i,setFilter:d,showTokenList:E,onSelectToken:W}}function qe({width:e=24,height:t=24,marginRight:a=8,url:o,zIndex:i,cross:d,address:c,token:p,sx:m}){const[u,b]=s.useState(!1),[h,x]=s.useState(""),[R,W]=s.useState(""),[E,f]=s.useState(!1),g=s.useCallback((()=>b(!0)),[]);let k=function(e){const t=l.useSelector(Ye),{chainId:a}=r.useWeb3React();return s.useMemo((()=>{if(!e)return;let n=t.find((({address:t,chainId:n})=>n===a&&t===e));return n||(n=t.find((({address:t})=>t===e))),n}),[e,t,a])}(c);p&&(k=p);const y=c||(null==k?void 0:k.address),S=null==k?void 0:k.symbol,F=null==S?void 0:S.charAt(0).toUpperCase(),N=s.useMemo((()=>{const e=null==k?void 0:k.logoURI;return o||e||""}),[o,k]);return s.useEffect((()=>{f(!1)}),[y,N]),s.useEffect((()=>{d&&(N?function(e,t){const a=new XMLHttpRequest;let n;a.onload=function(){const e=new FileReader;e.onloadend=function(){t(e.result)},e.readAsDataURL(a.response)},a.onerror=function(){t()};try{n=new URL(e)}catch(e){}finally{a.open("GET",n||e),a.responseType="blob",a.send()}}(N,(e=>{x(e)})):x(""))}),[N,d]),s.useEffect((()=>{try{let t=y;if(t&&t.length<15&&(t=t.padEnd(15,"0")),t){const a=new U.default(t,{size:e,format:"svg",margin:.2,background:[255,234,4,255]}).toString();W(`data:image/svg+xml;base64,${a}`)}}catch(e){console.error("generate Identicon error: ",e)}}),[y,e]),T.jsxs(n.Box,{sx:Object.assign({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",minWidth:e,width:e,height:t,marginRight:a,zIndex:i},m||{}),style:{width:e,height:t},children:[!u&&T.jsx(n.Box,{sx:{typography:"ht",height:"100%",width:"100%",borderRadius:"50%",border:"transparent 2px solid",borderColor:"text.primary",color:"text.primary",display:"flex",alignItems:"center",justifyContent:"center"},children:F}),T.jsx(n.Box,{component:"img",src:!(d?h:N)||E?R:d?h:N,onLoad:g,onError:e=>{const t=e.target;y&&R&&f(!0),t.onerror=null},sx:{position:"absolute",top:"0",bottom:"0",left:"0",right:"0",borderRadius:"50%",overflow:"hidden",width:"100%",height:"100%"}})]})}function Ke({token:t,onClick:a}){var o,s;const l=n.useTheme();return T.jsxs(n.Box,{component:n.BaseButton,sx:{display:"flex",alignItems:"center",color:l.palette.text.primary,typography:"h5",fontWeight:600},onClick:e=>{a&&a(e)},"data-testid":"swap-select-token-btn",children:[(null==t?void 0:t.address)?T.jsxs(T.Fragment,{children:[T.jsx(qe,{url:null==t?void 0:t.logoURI,address:null!==(o=null==t?void 0:t.address)&&void 0!==o?o:"",marginRight:6}),T.jsx(n.Box,{children:null!==(s=null==t?void 0:t.symbol)&&void 0!==s?s:"-"})]}):T.jsx(e.Trans,{id:"SELECT TOKEN"}),T.jsx(n.Box,{sx:{ml:7,width:12,transform:"rotateX(180deg)"},component:i.CaretUp})]})}function $e({onClick:t,balance:a,decimals:o,address:s,showMaxBtn:l}){const{palette:i}=n.useTheme();return T.jsxs(n.Box,{sx:{display:"flex",typography:"body2",color:i.text.secondary},children:[T.jsx(e.Trans,{id:"Balance:"})," ",s?j({input:a,decimals:Math.min(o||4,4)}):"-",l&&a&&a.gt(0)&&T.jsx(n.Box,{component:n.BaseButton,sx:{ml:6,color:(null==a?void 0:a.gt(0))?i.primary.main:i.text.disabled,cursor:s&&t?"pointer":"unset"},onClick:()=>t&&t(a?a.toString():""),children:T.jsx(e.Trans,{id:"Max"})})]})}function et({readOnly:e,sx:t,value:a,decimals:o,onChange:l,suffix:d,withClear:r,onFocus:c,placeholder:p}){const m=n.useTheme(),u=s.useMemo((()=>d||(r&&a&&l?T.jsx(n.Box,{component:n.BaseButton,sx:{ml:5,width:18,height:18,borderRadius:"50%",backgroundColor:"border.main",display:"flex",justifyContent:"center",alignItems:"center"},onClick:()=>{l&&l("")},children:T.jsx(n.Box,{component:i.Error,sx:{width:12,color:"text.primary"}})}):void 0)),[l,d,m.palette.text.primary,a,r]);return T.jsxs(n.Box,{sx:Object.assign({mt:12,display:"flex",justifyContent:"space-between",alignItems:"center"},t),"data-testid":"number-input-wrapper",children:[T.jsx(n.Input,{fullWidth:!0,value:a,readOnly:e,placeholder:p||"0.00",onFocus:c,onChange:e=>{const t=e.target.value,a=0===t.length?"":I(t,o);l&&l(a)},sx:{width:"inherit",border:"none","& .MuiInput-input":{fontSize:24,border:"none",outline:"none",height:24,padding:0,color:"text.primary","&::placeholder":{fontSize:24,color:"text.disabled"}}}}),!e&&a&&u]})}function tt({open:e,onClose:t,afterClose:a,title:o,rightSlot:s,canBack:l=!0,children:d,height:r,testId:c}){return T.jsxs(n.Box,{sx:{position:"absolute",top:e?0:"100%",transition:"top 300ms",zIndex:1,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",backgroundColor:"background.paper",borderRadius:16,height:r},"data-testid":c,"data-active":e?"1":"0",children:[o?T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",p:20},children:[T.jsx(n.Box,{sx:{display:"flex",alignItems:"center",typography:"caption"},children:o}),s,!s&&l&&T.jsx(n.Box,{component:i.Error,sx:{color:"text.secondary",cursor:"pointer"},onClick:()=>{t&&t(),setTimeout((()=>a&&a()),300)}})]}):"",d]})}const at=e=>(null!=e?e:ie.getState()).globals;function nt({token:e,disabled:t,onClick:a}){return T.jsxs(n.Box,{sx:Object.assign({display:"inline-flex",alignItems:"center",p:8,border:"solid 1px",typography:"body2",borderRadius:8},t?{borderColor:"transparent",backgroundColor:"border.disabled",cursor:"auto"}:{borderColor:"border.main",cursor:"pointer","&:hover":{backgroundColor:"hover.default"}}),onClick:()=>{t||a()},children:[T.jsx(qe,{token:e}),e.symbol]})}function ot({token:e,disabled:t,style:a,onClick:o}){const s=n.useTheme(),l=Ge(),{account:d}=r.useWeb3React(),c=l(e),p=c?B({input:c}):"";return T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",typography:"body2",px:6,py:5,borderRadius:8,cursor:t?"auto":"pointer",opacity:t?.5:1,"&:hover":{backgroundColor:"hover.default"}},style:a,onClick:()=>{t||o()},"data-testid":"token-picker-item",children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsx(qe,{token:e}),T.jsxs(n.Box,{children:[T.jsx(n.Box,{sx:{fontWeight:600,textAlign:"left"},children:e.symbol}),d&&T.jsx(n.Box,{sx:{mt:4,textAlign:"left"},children:new M.default(p).gte(0)?p:T.jsx(n.Box,{component:i.Loading,width:18,sx:{"& path":{fill:s.palette.text.disabled},animation:"loadingRotate 1.1s infinite linear","@keyframes loadingRotate":{"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(359deg)"}}}})})]})]}),T.jsx(n.Box,{sx:{color:"text.secondary",textAlign:"right"},children:e.name})]})}function st({value:e,onChange:t,occupiedAddrs:a,hiddenAddrs:o,showAddrs:i,visible:d}){const r=je(),c=l.useSelector((e=>He(r,e))),{showTokenList:p,filter:m,setFilter:u,onSelectToken:b}=Qe({value:e,onChange:t,occupiedAddrs:a,hiddenAddrs:o,showAddrs:i}),h=s.useRef(null),[x,R]=s.useState(0);s.useEffect((()=>{d&&h.current&&R(h.current.offsetHeight-34)}),[h,d]);const W=s.useCallback((({key:t,index:a,style:o})=>{const s=!!(null==c?void 0:c.length);if(0===a&&s)return T.jsx(n.Box,{sx:{position:"relative",display:"flex",gap:8,flexWrap:"wrap",pb:32,"&::after":{content:'""',position:"absolute",bottom:16,left:0,right:0,height:"1px",backgroundColor:"border.main"}},style:Object.assign(Object.assign({},o),{visibility:o.height?"visible":"hidden",height:o.height?o.height:"auto"}),children:c.map((t=>T.jsx(nt,{token:t,disabled:(null==e?void 0:e.address)===t.address,onClick:()=>b(t)},t.address)))},t);const l=p[s?a-1:a];return T.jsx(ot,{token:l,disabled:!!e&&e.address===l.address,style:o,onClick:()=>b(l)},t)}),[p,c,e]),E=s.useCallback((e=>{if(0===e&&(null==c?void 0:c.length)){return 74+51*Math.floor(c.length/3)}return 52}),[c]);return T.jsxs(n.Box,{sx:{display:"flex",flexDirection:"column",px:20,flex:1},children:[T.jsx(n.SearchInput,{fullWidth:!0,height:48,value:m,onChange:e=>u(e.target.value),clearValue:()=>u(""),placeholder:k.i18n._("Enter the token symbol or address")}),T.jsx(n.Box,{sx:{mt:16,pb:16,flex:1,minHeight:64},ref:h,children:T.jsx(y.VariableSizeList,{height:x,itemCount:p.length+((null==c?void 0:c.length)?1:0),itemSize:E,width:"100%",className:"token-list",children:W},c.length)})]})}function lt({open:t,value:a,onClose:n,occupiedAddrs:o,onTokenChange:s}){const{height:i}=l.useSelector(at);return T.jsx(tt,{height:i,open:t,onClose:n,title:T.jsx(e.Trans,{id:"Select a token"}),testId:"token-picker-wrapper",children:T.jsx(st,{value:a,visible:t,onChange:s,occupiedAddrs:o})})}function it({sx:e,amt:t,token:a,readOnly:o,showMaxBtn:l,onMaxClick:i,fiatPriceTxt:d,occupiedAddrs:r,onInputFocus:c,onTokenClick:p,onInputChange:m,onTokenChange:u}){const b=n.useTheme(),h=Ge(),[x,R]=s.useState(!1),W=a?h(a):null;return T.jsxs(n.Box,{sx:Object.assign({width:"100%",minHeight:133,padding:20,borderRadius:12,overflow:"hidden",display:"flex",flexDirection:"column",justifyContent:"space-between",backgroundColor:b.palette.background.input},e),children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[T.jsx(Ke,{token:a,onClick:()=>R(!0)}),T.jsx($e,{balance:W,onClick:i,showMaxBtn:l,address:null==a?void 0:a.address,decimals:null==a?void 0:a.decimals})]}),T.jsx(et,{value:t,onFocus:c,onChange:m,readOnly:o,withClear:!0}),T.jsx(n.Box,{sx:{mt:4,typography:"body2",color:b.palette.text.secondary},children:d}),T.jsx(lt,{value:a,open:x,occupiedAddrs:r,onClose:()=>{R(!1),p&&p()},onTokenChange:(e,t)=>{R(!1),setTimeout((()=>u(e,t)),300)}})]})}const dt={"en-US":S.en,"zh-CN":S.zh,pseudo:S.en};function rt({locale:t,children:a}){return s.useEffect((()=>{(()=>{_(this,void 0,void 0,(function*(){yield function(e="en-US"){return _(this,void 0,void 0,(function*(){k.i18n.loadLocaleData(e,{plurals:()=>dt[e]});try{const a=yield(t=`./locales/${e}.js`,Promise.resolve().then((function(){return w(require(t))})));k.i18n.load(e,a.messages||a.default.messages)}catch(e){}var t;k.i18n.activate(e)}))}(t)}))})()}),[t]),T.jsx(e.I18nProvider,{i18n:k.i18n,children:a})}var ct,pt,mt;!function(e){e[e.Running=0]="Running",e[e.Success=1]="Success",e[e.Failed=2]="Failed",e[e.Warning=3]="Warning"}(ct||(ct={})),function(e){e.Canceled="canceled",e.Failed="failed",e.Success="success",e.Submitted="submitted"}(pt||(pt={})),function(e){e[e.Failed=0]="Failed",e[e.Success=1]="Success"}(mt||(mt={}));var ut,bt=[{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"}];!function(e){e[e.Failed=0]="Failed",e[e.Success=1]="Success",e[e.Warning=2]="Warning"}(ut||(ut={}));const ht=(e,t)=>_(void 0,void 0,void 0,(function*(){const{value:a,from:n,to:o,data:s}=e,l={from:n,to:o,value:a,data:s};a&&!/^0x0*$/.test(a)||delete l.value;try{return(yield t.estimateGas(l)).add(5e4)}catch(e){t.call(l).then((e=>{if("test"!==process.env.NODE_ENV)throw new Error("Unexpected issue with estimating the gas. Please try again.")})).catch((e=>{if("test"!==process.env.NODE_ENV)throw e}))}return null})),xt=(e,t)=>_(void 0,void 0,void 0,(function*(){try{return yield t.getSigner().sendTransaction(e)}catch(e){throw 4001===(null==e?void 0:e.code)?new Error(k.i18n._("Transaction rejected.")):e}}));var Rt,Wt;!function(e){e.Approval="APPROVAL",e.TX="TX",e.TypedSign="TypedSign"}(Rt||(Rt={})),function(e){e.Normal="Normal",e.Privacy="Privacy",e.LimitOrder="LimitOrder",e.RFQ="RFQ"}(Wt||(Wt={}));const Et=new M.default(2).pow(256).minus(1),ft=e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_GLOBAL_PROPS",payload:e})}));function gt({onTxFail:e,onTxSubmit:t,onTxSuccess:a}={}){const{account:n,provider:o}=r.useWeb3React(),i=je(),[d,c]=s.useState(!1),[p,m]=s.useState(new Map),u=l.useDispatch(),[b,h]=s.useState(null),[x,R]=s.useState(""),[W,E]=s.useState(null),[f,g]=s.useState(!1),[T,y]=s.useState(),{updateBlockNumber:S}=fe(),F=s.useCallback(((s,l,d,r=!1,p,b,x,W)=>_(this,void 0,void 0,(function*(){if(R(""),h(""),!n||!o)throw new Error("Submission: Cannot execute step when the wallet is disconnected");let f,T,F;y((()=>x)),c(!1);try{if(c(!0),l.opcode===Rt.Approval)F=yield((e,t,a,n,o,s)=>_(void 0,void 0,void 0,(function*(){const l=xe(e,bt,o,s).interface.encodeFunctionData("approve",[a,n.toFixed()]),i={from:t,to:e,data:l,value:`0x${new M.default("0").toString(16)}`,gasLimit:void 0},d=yield ht(i,o);return d&&(i.gasLimit=d),yield xt(i,o)})))(l.token.address,n,l.contract,l.amt||Et,o,n),f=F.hash,R(f);else{if(l.opcode!==Rt.TX)throw new Error(`Op ${l.opcode} not implemented!`);if(""===l.to)throw new Error("Submission: malformed to");if(0===l.data.length)throw new Error("Submission: malformed data");if(0===l.data.indexOf("0x")&&l.data.length<=2)throw new Error("Submission: malformed data");if(T={value:l.value,data:l.data,to:l.to,gasLimit:l.gasLimit,from:n,chainId:i},!T.gasLimit)try{const e=yield ht(T,o);e&&(T.gasLimit=e)}catch(e){console.debug(e)}if(F=yield xt(T,o),f=F.hash,R(f),!f)throw new Error(`Unexpected tx: ${f}`)}}catch(t){if(c(!1),E({spec:l,brief:s,subtitle:d}),console.error(t),t.message){u(ft({contractStatus:te.Failed}));const a={error:t.message,brief:s};b&&Object.assign(a,b),e&&e(t,b),h(function(e,t){var a;const n=null===(a=J[e])||void 0===a?void 0:a.symbol,o=[{error:"insufficient",msg:k.i18n._("Insufficient funds - Please retry after depositing more {EtherTokenSymbol} into your wallet",{EtherTokenSymbol:n})},{error:["External Swap execution Failed","Return amount is not enough"],msg:k.i18n._("Price impact exceeds the slippage tolerance you set. Try increasing the slippage tolerance.")},{error:"SafeERC20: low-level call failed",msg:k.i18n._("SafeERC20: low-level call failed. Please contact the DODO team.")},{error:["User denied","cancel","User rejected","user rejected"],msg:k.i18n._("User denied transaction signature.")},{error:["Cannot set properties of undefined (setting 'loadingDefauIts'){\"originalError\":{",'[ethjs-query]while formatting outputs from RPC\'["value":["code":-32000,"message":"header not found"))'],msg:k.i18n._("RPC node data exception")},{error:['execution reverted:FORCESTOP ["originalError"'],msg:k.i18n._("ForceStop exception")},{error:["replacement transaction underpriced","Gasprice too low","transaction underprice"],msg:k.i18n._("Gas price is too low, please adjust in your wallet and try again")},{error:["MINT_INVALID"],msg:k.i18n._("No ForceStop access")},{error:["NOT_PHASE_EXE"],msg:k.i18n._("Unable to SETTLE during the cooling-off period")},{error:["params specify an EIP-1559transaction but the currentnetwork does not support"],msg:k.i18n._("Wallet incompatibility")},{error:["ALREADY_SETTLED"],msg:k.i18n._("This CP has been settled by other addrs")},{error:["create RFQ order failed]:LESS_THAN_FEE_LIMIT"],msg:k.i18n._("Service update, please wait and try again")}];let s="";return o.some((e=>Array.isArray(e.error)?e.error.some((a=>t.indexOf(a)>-1&&(s=e.msg,!0))):t.indexOf(e.error)>-1&&(s=e.msg,!0))),s||t}(i,t.message))}return pt.Failed}E({spec:l,brief:s,subtitle:d}),g(!1),c(!1);const N=Object.assign(Object.assign(Object.assign(Object.assign({brief:s},l),T),{tx:f,subtitle:d}),b);u(ft({contractStatus:te.Pending})),t&&t(f,N),p&&p();const Z={brief:s,spec:l,tx:f,subtitle:d};if(m((e=>e.set(f,[Z,ct.Running]))),r)return pt.Submitted;if(p&&p(),null==F?void 0:F.wait){const e=yield F.wait(1);if(g(!0),e.status===mt.Success)return"TX"===N.opcode&&u(ft({contractStatus:te.TxSuccess})),"APPROVAL"===N.opcode&&u(ft({contractStatus:te.ApproveSuccess})),W&&W(f),a&&a(f,N),yield S(),m((e=>e.set(f,[Z,ct.Success]))),pt.Success}return yield S(),g(!0),m((e=>e.set(f,[Z,ct.Failed]))),pt.Failed}))),[n,i,c,o,S]),N=s.useMemo((()=>({execute:F,requests:p,setShowing:E,waitingSubmit:d})),[F,p,E]),Z=s.useCallback((()=>{E(null),T&&(T(),y(void 0))}),[T]);return{showing:W,showingDone:f,transactionTx:x,errorMessage:b,setErrorMessage:h,closeShowing:Z,ctxVal:N,requests:p}}function Tt(){const{requests:e}=yt(),t=[];return null==e||e.forEach((function([e,a]){a===ct.Running&&t.push(e)})),{runningRequests:t,isInflight:t.length>0}}const kt=s.createContext({execute:()=>Promise.resolve(pt.Canceled),requests:void 0,waitingSubmit:!1});function yt(){return s.useContext(kt)}var St;function Ft(){return Ft=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Ft.apply(this,arguments)}var Nt=function(e){return V.createElement("svg",Ft({width:"33px",height:"33px",viewBox:"0 0 33 33",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},e),St||(St=V.createElement("g",{stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},V.createElement("g",{transform:"translate(-186.000000, -375.000000)",stroke:"currentColor",strokeWidth:4},V.createElement("g",{transform:"translate(18.000000, 291.000000)"},V.createElement("g",{transform:"translate(40.000000, 83.000000)"},V.createElement("path",{d:"M159,32 C159,15.9837423 146.016258,3 130,3"})))))))};function Zt({showingDone:e,errorMessage:t}){return t?T.jsx(n.Box,{component:i.ErrorWarn,sx:{width:64,height:64,color:"error.main"}}):e?T.jsx(n.Box,{component:i.DoneBorder,sx:{width:64,height:64,color:"success.main"}}):T.jsx(n.Box,{sx:{mx:"auto",border:e=>{var t;return`6px solid ${null===(t=e.palette)||void 0===t?void 0:t.background.input}`},borderRadius:"50%",width:"64px",height:"64px",position:"relative",animation:"loadingRotate 1.1s infinite linear","@keyframes loadingRotate":{"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(359deg)"}}},children:T.jsx(n.Box,{component:Nt,sx:{position:"absolute",top:"-6px",right:"-6px",color:"primary.main"}})})}function wt({showingDone:e,showing:t}){return T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center",flexDirection:"column"},children:[T.jsx(n.Box,{sx:{mt:60},children:e?k.i18n._("{0} confirmed",{0:null==t?void 0:t.brief}):k.i18n._("{0} pending",{0:null==t?void 0:t.brief})}),(null==t?void 0:t.subtitle)?T.jsx(n.Box,{sx:{mt:20,typography:"body2"},children:null==t?void 0:t.subtitle}):""]})}function Mt({isStarted:t,isEnded:a,tx:o}){const[l,d]=s.useState(0),{chainId:c}=r.useWeb3React(),p=s.useMemo((()=>`https://${G[c||1]}/tx/${o}`),[o,c]),m=s.useMemo((()=>{const e=Math.floor(l/60),t=l%60;return e?`${e}m ${t}s`:`${t}s`}),[l]),u=s.useRef();return s.useEffect((()=>(t&&(d(0),clearInterval(u.current),u.current=setInterval((()=>{d((e=>e+1))}),1e3)),()=>{clearInterval(u.current)})),[t]),s.useEffect((()=>{clearInterval(u.current)}),[a]),T.jsxs(n.Box,{sx:{mt:20,pt:20,display:"flex",justifyContent:"space-between",alignItems:"center",typography:"body2",color:"text.secondary",border:"solid 1px transparent",borderTopColor:"border.main"},children:[T.jsxs(n.Box,{children:[T.jsx(e.Trans,{id:"Transaction Time:"}),m]}),T.jsxs(n.HoverOpacity,{sx:{display:"flex",alignItems:"center",cursor:"pointer"},component:"a",href:p,target:"_blank",rel:"noopener noreferrer",children:[T.jsx(e.Trans,{id:"Tx"}),T.jsx(n.Box,{component:i.ArrowTopRightBorder,sx:{width:16,height:16,ml:6}})]})]})}function Vt(t){var{children:a}=t,o=P(t,["children"]);const{ctxVal:s,showing:i,closeShowing:d,showingDone:r,errorMessage:c,transactionTx:p}=gt(o),m=l.useDispatch();return T.jsxs(kt.Provider,{value:s,children:[a,T.jsx(tt,{open:!!i,onClose:d,children:T.jsxs(n.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",px:20,pb:20,flex:1,overflowY:"auto"},children:[T.jsxs(n.Box,{children:[T.jsx(n.Box,{sx:{textAlign:"center",pt:60},children:T.jsx(Zt,{showingDone:r,errorMessage:c})}),c?T.jsxs(n.Box,{sx:{textAlign:"center",mt:60},children:[T.jsx(n.Box,{children:T.jsx(e.Trans,{id:"Something went wrong."})}),T.jsx(n.Box,{sx:{color:"text.secondary",mt:12,typography:"body2",wordBreak:"break-all"},children:c})]}):T.jsxs(T.Fragment,{children:[T.jsx(wt,{showingDone:r,showing:i}),T.jsx(Mt,{isStarted:!!i,isEnded:r,tx:p})]})]}),T.jsx(n.Button,{fullWidth:!0,size:n.Button.Size.big,onClick:()=>{m(ft({contractStatus:te.Initial})),d()},sx:{mt:20},children:c?T.jsx(e.Trans,{id:"Dismiss"}):T.jsx(e.Trans,{id:"Close"})})]})})]})}function Ut({token:e,fiatPrice:a}){return{marginAmount:s.useMemo((()=>{var n;const o=null!==(n=null==e?void 0:e.decimals)&&void 0!==n?n:6,s=((e,a,n)=>{const o=new t.BigNumber(e).times(new t.BigNumber(10).pow(a));return n?o:o.dp(0)})(null!=a?new M.default(500).div(a):new M.default(0),o);return(s.lt(new M.default(1).times(new M.default(10).pow(o-3)))?new M.default(0):s).toString(10)}),[null==e?void 0:e.decimals,a])}}function Ot({width:e,height:t,feeRate:a,rebateTo:n,colorMode:o,apikey:i,defaultChainId:d,defaultToToken:r,defaultFromToken:c}){const p=l.useDispatch();s.useEffect((()=>{o&&p((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_COLOR_MODE",payload:e})})))(o))}),[o]),s.useEffect((()=>{var e;d&&p((e=d,t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_CHAIN_ID",payload:e})}))))}),[d]),s.useEffect((()=>{p(ft({height:t}))}),[t]),s.useEffect((()=>{p(ft({width:e}))}),[e]),s.useEffect((()=>{i&&p(ft({apikey:i}))}),[i]),s.useEffect((()=>{a&&p(ft({feeRate:a}))}),[a]),s.useEffect((()=>{n&&p(ft({rebateTo:n}))}),[n]),s.useEffect((()=>{c&&p((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_DEFAULT_FROM_TOKEN",payload:e})})))(c))}),[c]),s.useEffect((()=>{r&&p((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_DEFAULT_TO_TOKEN",payload:e})})))(r))}),[r])}function Bt({refetch:e,interval:t}){let a;s.useEffect((()=>(e(),clearTimeout(a),a=setInterval((()=>{e()}),null!=t?t:15e3),()=>clearTimeout(a))),[e])}function jt({fromToken:e,toToken:t,chainId:a}){const[n,o]=s.useState(!1),{apikey:i}=l.useSelector(at),[d,r]=s.useState(""),[c,p]=s.useState(""),m=s.useCallback((()=>{if(!a||!e||!t)return;o(!0);const n=[e,t];O.default.post("https://api.dodoex.io/frontend-price-api/current/batch",{networks:n.map((()=>(e=>L[e]||L[X.MAINNET])(a))),addresses:n.map((e=>e.address)),symbols:n.map((e=>e.symbol)),isCache:!0},{headers:{apikey:i}}).then((a=>{var n;o(!1);const s=null===(n=a.data)||void 0===n?void 0:n.data;s&&(r(s.find((t=>t.address===e.address)).price),p(s.find((e=>e.address===t.address)).price))})).catch((e=>{o(!1),console.error(e)}))}),[a,e,t,i]);return Bt({refetch:m}),{loading:n,refetch:m,toFiatPrice:c,fromFiatPrice:d}}const vt=e=>(null!=e?e:ie.getState()).settings.slippage,Dt=e=>(null!=e?e:ie.getState()).settings.ddl;var It;function Ct({toToken:e,fromToken:t,fromAmount:a,toAmount:n,marginAmount:o}){const{account:i,chainId:d,provider:c}=r.useWeb3React(),p=l.useSelector(de),m=s.useMemo((()=>d||p),[d,p]),u=l.useSelector(vt)||3,b=l.useSelector(Dt)||20,{feeRate:h,rebateTo:x,apikey:R,isReverseRouting:W}=l.useSelector(at),E=s.useMemo((()=>Math.floor(Date.now()/1e3)+60*b),[b]),[f,g]=s.useState(It.Initial),[T,y]=s.useState(null),[S,N]=s.useState(""),[Z,w]=s.useState(null),[M,V]=s.useState(null),[U,B]=s.useState(null),[j,v]=s.useState(F.BigNumber.from(0)),[D,I]=s.useState(null),[C,Y]=s.useState(null),[H,X]=s.useState(""),[A,z]=s.useState(""),[J,L]=s.useState(""),[G,P]=s.useState(0),Q=s.useCallback((()=>_(this,void 0,void 0,(function*(){if(!m||!t||!e)return;if(!W&&!a)return;if(W&&!n)return;g(It.Loading);const o={chainId:m,deadLine:E,apikey:R,slippage:u,source:"dodoV2AndMixWasm",toTokenAddress:e.address,toTokenDecimals:e.decimals,fromTokenAddress:t.address,fromTokenDecimals:t.decimals,userAddr:i||"0x0000000000000000000000000000000000000000"};W?o.toAmount=F.parseFixed(String(n||1),e.decimals).toString():o.fromAmount=F.parseFixed(String(a||1),t.decimals).toString(),x&&h&&(o.rebateTo=x,o.fee=h);try{const e=(yield O.default.get("https://api.dodoex.io/route-service/v2/widget/getdodoroute",{params:o})).data.data;if((null==e?void 0:e.resAmount)?(g(It.Success),y(e.resAmount),B(e.priceImpact),I(e.resPricePerFromToken),Y(e.resPricePerToToken),w(e.baseFeeAmount),V(e.additionalFeeAmount),X(e.to),z(e.data),N(e.value),L(e.useSource),P(e.duration)):g(It.Failed),!i||!c)return;const t=yield ht({from:i,to:e.to,value:e.value,data:e.data},c);t&&v(t)}catch(e){g(It.Failed),console.error(e)}}))),[E,i,m,e,h,u,x,t,c,a,n,R,W]);Bt({refetch:Q});const q=s.useMemo((()=>{const e=W?n:a;return f!==It.Loading&&e?T:null}),[f,W,n,a,T]),K=function(){const{chainId:e,account:t}=r.useWeb3React(),a=yt();return s.useCallback((({to:e,data:n,useSource:o,duration:s,ddl:l,gasLimit:i,subtitle:d,value:r})=>{const c=60*l,p=r;o&&"weth"!==o.toLowerCase()&&i&&i.lt(3e4)&&console.debug("Warning: GasLimit less than the minimum!");const m={from:t,to:e,data:n,value:p,route:o,duration:s,ddlSecRel:c,gasLimit:i};a.execute(k.i18n._("Swap"),Object.assign({opcode:Rt.TX},m),d)}),[t,e])}(),$=s.useCallback((e=>{t&&(W?T:a)&&K({to:H,data:A,useSource:J,duration:G,ddl:b,value:S,subtitle:e})}),[H,b,A,G,J,t,a,j,T,S,W]);return{status:f,refetch:Q,priceImpact:U,executeSwap:$,baseFeeAmount:Z,resAmount:q,additionalFeeAmount:M,resPricePerToToken:C,resPricePerFromToken:D}}!function(e){e.Initial="Initial",e.Loading="Loading",e.Failed="Failed",e.Success="Success"}(It||(It={}));function Yt(e){Ce(e),Ee(),fe();const{provider:t,connector:a}=r.useWeb3React();s.useEffect((()=>{const t=e.defaultChainId||1;(null==a?void 0:a.connectEagerly)?a.connectEagerly(t):a.activate(t)}),[a]),s.useEffect((()=>{const e=null==t?void 0:t.provider;e&&e.once&&e.once("chainChanged",(()=>{setTimeout((()=>{window.location.reload()}),200||100)}))}),[t]);const o=e.width||375,l=e.height||494;return Ot(Object.assign(Object.assign({},e),{width:o,height:l})),T.jsx(n.Box,{sx:{width:o,height:l,overflow:"hidden",position:"relative",display:"flex",flexDirection:"column",minWidth:335,minHeight:494,borderRadius:16,backgroundColor:"background.paper"},className:"dodo-widget-container",children:T.jsx(Vt,{...e,children:e.children})})}function Ht(e){const t=n.createTheme({mode:e.colorMode,theme:e.theme,lang:e.locale||"en-US"}),a=s.useMemo((()=>e.defaultChainId||1),[e.defaultChainId]),o=Be({provider:e.provider,jsonRpcUrlMap:e.jsonRpcUrlMap,defaultChainId:a}),i=`${o.length}+${e.jsonRpcUrlMap?Object.entries(e.jsonRpcUrlMap):""}+${e.defaultChainId}+${a}`;return T.jsx(l.Provider,{store:ie,children:T.jsx(rt,{locale:e.locale,children:T.jsx(n.ThemeProvider,{theme:t,children:T.jsxs(r.Web3ReactProvider,{connectors:o,children:[T.jsx(n.CssBaseline,{container:".dodo-widget-container"}),T.jsx(Yt,{...e})]},i)})})})}function Xt(e){const{width:t}=l.useSelector(at),a=s.useMemo((()=>{let e="";return"number"==typeof t?e=`${t}px`:t&&(e=t),e?`calc(${e} - 40px)`:"auto"}),[t]);return T.jsx(n.QuestionTooltip,{container:document.querySelector(".dodo-widget-container"),maxWidth:a,...e})}function At({onClick:e}){const t=n.useTheme();return T.jsx(n.HoverOpacity,{sx:{width:"100%",position:"relative"},onClick:e,children:T.jsx(n.Box,{component:n.BaseButton,sx:{width:36,height:36,borderRadius:"50%",backgroundColor:t.palette.background.input,border:`4px solid ${t.palette.background.paper}`,display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%) rotate(-90deg)"},children:T.jsx(n.Box,{component:i.ArrowBack,sx:{width:18,color:"text.secondary"}})})})}function zt({open:t,execute:a,onClose:o,toToken:d,fromToken:r,fromAmount:c,toAmount:p,priceImpact:m,clearFromAmt:u,clearToAmt:b,baseFeeAmount:h,curToFiatPrice:x,curFromFiatPrice:R,pricePerFromToken:W,additionalFeeAmount:E}){var f,g;const k=n.useTheme(),y=l.useSelector(vt),S=l.useDispatch(),{contractStatus:F}=l.useSelector(at),N=s.useMemo((()=>new M.default(m).gt(15)),[m]),[Z,w]=s.useState(!1),[V,U]=s.useState(!1);return s.useEffect((()=>{F!==te.Pending&&o(),F===te.TxSuccess&&(b(),u())}),[F]),s.useEffect((()=>{w(!1)}),[x]),T.jsx(tt,{open:t,onClose:()=>{S(ft({contractStatus:te.Initial})),o()},title:T.jsx(e.Trans,{id:"Swap summary"}),children:T.jsxs(n.Box,{sx:{margin:20,display:"flex",height:"100%",flexDirection:"column",borderTop:`1px solid ${k.palette.border.main}`},children:[T.jsxs(n.Box,{sx:{py:20,display:"flex",typography:"body2",alignItems:"center",justifyContent:"center",flexDirection:"column",borderBottom:`1px solid ${k.palette.border.main}`},children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsxs(n.Box,{children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:[T.jsx(qe,{width:16,height:16,url:null==r?void 0:r.logoURI,address:null!==(f=null==r?void 0:r.address)&&void 0!==f?f:"",marginRight:6}),T.jsx(n.Box,{children:`${j({input:c,decimals:null==r?void 0:r.decimals})} ${null==r?void 0:r.symbol}`})]}),T.jsx(n.Box,{sx:{mt:4,typography:"h6",color:k.palette.text.secondary},children:R?`$${B({input:R,showDecimals:1})}`:"-"})]}),T.jsx(n.Box,{sx:{width:16,mx:16},component:i.DoubleRight}),T.jsxs(n.Box,{children:[T.jsxs(n.Box,{sx:{display:"flex"},children:[T.jsx(qe,{width:16,height:16,marginRight:6,url:null==d?void 0:d.logoURI,address:null!==(g=null==d?void 0:d.address)&&void 0!==g?g:""}),T.jsx(n.Box,{children:`${j({input:p,decimals:null==d?void 0:d.decimals})} ${null==d?void 0:d.symbol}`})]}),T.jsx(n.Box,{sx:{typography:"h6",mt:4,color:k.palette.text.secondary},children:x?`$${B({input:x,showDecimals:1})}(${m}%)`:"-"})]})]}),T.jsx(n.Box,{sx:{mt:12,typography:"h6"},children:`1 ${null==r?void 0:r.symbol} = ${j({input:new M.default(p).dividedBy(new M.default(c)),decimals:null==d?void 0:d.decimals})} ${null==d?void 0:d.symbol}`})]}),T.jsxs(n.Box,{sx:{py:15,typography:"body2",borderBottom:`1px solid ${k.palette.border.main}`},children:[T.jsxs(n.Box,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",color:k.palette.text.secondary},children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsx(n.Box,{sx:{width:16,mr:7},component:i.DetailBorder}),T.jsx(e.Trans,{id:"Swap Detail"})]}),T.jsx(n.Box,{component:n.BaseButton,children:T.jsx(n.Box,{onClick:()=>U(!V),sx:{width:10,color:"text.secondary",transform:V?"rotateX(0deg)":"rotateX(180deg)"},component:i.CaretUp})})]}),T.jsxs(n.Box,{sx:{mt:16,display:V?"initial":"none"},children:[T.jsxs(n.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsx(e.Trans,{id:"Basic Fee"}),T.jsx(Xt,{title:T.jsx(e.Trans,{id:"Estimated service provider fees"}),ml:5})]}),T.jsx(n.Box,{children:`${j({input:h,decimals:null==d?void 0:d.decimals})} ${null==d?void 0:d.symbol}`})]}),T.jsxs(n.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsx(e.Trans,{id:"Additional Fee"}),T.jsx(Xt,{title:T.jsx(e.Trans,{id:"Additional routing fees set by the Widget user"}),ml:5})]}),T.jsx(n.Box,{children:`${j({input:E,decimals:null==d?void 0:d.decimals})} ${null==d?void 0:d.symbol}`})]}),T.jsxs(n.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsx(e.Trans,{id:"Price Impact"}),T.jsx(Xt,{title:T.jsx(e.Trans,{id:"Due to the market condition, market price and estimated price may have a slight difference"}),ml:5})]}),T.jsx(n.Box,{children:`${m}%`})]}),T.jsxs(n.Box,{sx:{mt:8,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsx(e.Trans,{id:"Slippage"}),T.jsx(Xt,{title:T.jsx(e.Trans,{id:"High slippage tolerance will increase the success rate of transaction, but might not get the best quote."}),ml:5})]}),T.jsx(n.Box,{children:y})]})]})]}),T.jsx(n.Box,{sx:{flex:1}}),N&&T.jsxs(n.Box,{sx:{mb:14,display:"flex",cursor:"pointer",justifyContent:"center",alignItems:"center",typography:"h6"},onClick:()=>w(!Z),children:[T.jsx(n.Box,{sx:{mr:4,width:18,height:18,alignItems:"center"},children:Z?T.jsx(n.Box,{sx:{width:"100%",height:"100%",borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"secondary.main"},children:T.jsx(n.Box,{component:i.Done,sx:{width:14,color:"#1a1a1b"}})}):T.jsx(n.Box,{sx:{width:"100%",height:"100%",borderRadius:4,border:`1px solid ${k.palette.text.secondary}`}})}),T.jsx(n.Box,{children:T.jsx(e.Trans,{components:{0:T.jsx(n.Box,{component:"span",sx:{color:"error.main"}})},values:{priceImpact:m},id:"Price impact reaches <0>{priceImpact}</0>%, accept the quote"})})]}),T.jsx(n.Button,{isLoading:F==te.Pending,disabled:N&&!Z,fullWidth:!0,onClick:()=>{a(),S(ft({contractStatus:te.Pending}))},children:F==te.Pending?T.jsx(e.Trans,{id:"Confirming"}):T.jsx(e.Trans,{id:"Confirm swap"})})]})})}function Jt(e){var{sx:a,maxVal:o,decimals:s=2,onInputChange:l}=e,i=P(e,["sx","maxVal","decimals","onInputChange"]);return n.useTheme(),T.jsx(n.Input,{...i,onChange:e=>{const a=0===e.target.value.length?null:I(e.target.value,s),n=o&&a&&new t.BigNumber(a).gt(o)?o.toString():a;console.log("finalVal:",n),l&&l(n)}})}function Lt({open:t,onClose:a}){const o=n.useTheme(),i=l.useDispatch(),d=l.useSelector(vt),r=l.useSelector(Dt),c=s.useMemo((()=>Number(d)>=50),[d]);return T.jsx(tt,{open:t,onClose:a,title:T.jsx(e.Trans,{id:"Settings"}),children:T.jsxs(n.Box,{sx:{mx:20},children:[T.jsxs(n.Box,{sx:{py:20,borderTop:`1px solid ${o.palette.border.main}`},children:[T.jsxs(n.Box,{sx:{mb:16,display:"flex",alignItems:"center"},children:[T.jsx(e.Trans,{id:"Slippage Tolerance"}),T.jsx(Xt,{title:T.jsx(e.Trans,{id:"Attention: High slippage tolerance will increase the success rate of transaction, but might not get the best quote."}),ml:7})]}),T.jsxs(n.Box,{sx:{display:"flex",flexDirection:"column"},children:[T.jsx(Jt,{fullWidth:!0,maxVal:100,value:d,placeholder:3..toString(),onInputChange:e=>{i((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_SLIPPAGE",payload:e})})))(e))},suffix:T.jsx(n.Box,{sx:{color:"text.disabled"},children:"%"}),height:36}),c&&T.jsx(n.Box,{sx:{typography:"h6",mt:6,color:"error.main"},children:T.jsx(e.Trans,{id:"Maximum slippage do not exceed 50%"})})]})]}),T.jsxs(n.Box,{sx:{py:20,borderTop:`1px solid ${o.palette.border.main}`},children:[T.jsxs(n.Box,{sx:{mb:16,display:"flex",alignItems:"center"},children:[T.jsx(e.Trans,{id:"Transaction Deadline"}),T.jsx(Xt,{title:T.jsx(e.Trans,{id:"If your transaction time exceeds the deadline, your transaction will be rescinded."}),ml:7})]}),T.jsx(Jt,{value:r,fullWidth:!0,height:36,placeholder:k.i18n._("{DEFAULT_SWAP_DDL} minutes",{DEFAULT_SWAP_DDL:20}),onInputChange:e=>{i((e=>t=>_(void 0,void 0,void 0,(function*(){t({type:"SET_TRANSACTION_DDL",payload:e})})))(e?Math.max(Number(e),1):""))}})]})]})})}function Gt({toToken:t,fromToken:a,priceStatus:o,pricePerToToken:l,pricePerFromToken:d}){const[r,c]=s.useState("-"),[p,m]=s.useState(null),[u,b]=s.useState("-"),[h,x]=s.useState(null);s.useEffect((()=>{c(null==a?void 0:a.symbol),b(null==t?void 0:t.symbol),m(l),x(d)}),[a,t,l,d]);const R=s.useCallback((()=>{c(u),b(r),m(h),x(p)}),[r,p,u,h]);return T.jsx(n.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:{[It.Initial]:"-",[It.Loading]:T.jsxs(T.Fragment,{children:[T.jsx(n.RotatingIcon,{sx:{mr:5}}),T.jsx(e.Trans,{id:"Fetching best price..."})]}),[It.Failed]:T.jsxs(T.Fragment,{children:[T.jsx(n.Box,{component:i.Warn,sx:{width:15,mr:5,color:"warning.main"}}),T.jsx(e.Trans,{id:"Quote not available"})]}),[It.Success]:T.jsxs(T.Fragment,{children:[T.jsx(n.Box,{sx:{typography:"body2"},children:`1 ${r} = ${B({input:h,showDecimals:4})} ${u}`}),T.jsx(n.Box,{component:n.BaseButton,sx:{width:18,height:18,ml:6,borderRadius:"50%",backgroundColor:"border.main",display:"flex",justifyContent:"center",alignItems:"center"},children:T.jsx(n.Box,{sx:{width:16,color:"text.secondary"},onClick:R,component:i.Switch})})]})}[o]})}function Pt({open:t,onClose:a}){const o=l.useSelector(de);return T.jsx(tt,{title:T.jsx(e.Trans,{id:"Connect to your wallet"}),open:t,onClose:a,children:T.jsx(n.Box,{sx:{mx:20,pb:20,border:"1px solid transparent",borderTopColor:"border.main"},children:Object.values(Ue).map((t=>T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center",flexDirection:"column",mt:20,p:20,backgroundColor:"background.tag",borderRadius:12,cursor:"pointer","&:hover":{backgroundColor:"hover.default"}},onClick:()=>{!function(e,t,a){var n;const o=Oe[e];if(!o)throw new Error(`Unknown wallet type: ${e}`);const[s]=o;null===(n=s.activate(t))||void 0===n||n.catch((e=>{4001!==e.code?a(e):s.connectEagerly?s.connectEagerly(t):s.activate(t)}))}(t.type,o,(e=>{console.error(e)}))},children:[T.jsx(n.Box,{component:t.icon,sx:{width:32,height:32}}),T.jsx(n.Box,{sx:{mt:8,typography:"caption"},children:t.name}),T.jsx(n.Box,{sx:{mt:4,typography:"body2",color:"text.secondary"},children:T.jsx(e.Trans,{id:"Connect to your {0} Wallet",values:{0:t.name}})})]},t.type)))})})}function _t(){const{connector:t}=r.useWeb3React(),[a,o]=s.useState(!1);return T.jsxs(T.Fragment,{children:[T.jsx(n.Button,{size:n.Button.Size.big,fullWidth:!0,onClick:()=>{t.deactivate?t.deactivate():t.resetState(),o(!0)},"data-testid":"connect-wallet-btn",children:T.jsx(e.Trans,{id:"Connect to a wallet"})}),T.jsx(Pt,{open:a,onClose:()=>o(!1)})]})}const Qt=({account:e,chainId:t,offset:a,contractAddress:n})=>{var o;const i=l.useSelector(de),d=s.useMemo((()=>{var e;return ue[null!==(e=t)&&void 0!==e?e:i]}),[t]),{isETH:c}=s.useMemo((()=>H(t)),[t]),{DODO_APPROVE:p}=d||{},m=null!==(o=null!=n?n:p)&&void 0!==o?o:null,u=function(e){const{account:t}=r.useWeb3React(),a=l.useSelector(de),n=l.useSelector(Xe),o=s.useMemo((()=>J[a]),[a]),i=s.useCallback((a=>{var s;if(!t||!e)return null;if(a.symbol===o.symbol&&C(a.address,o.address))return new M.default(Et);const l=null===(s=null==n?void 0:n[a.address.toLowerCase()])||void 0===s?void 0:s.tokenAllowances;return null!=l?l:null}),[t,e,o.symbol,o.address,n]);return i}(m),b=Ge(),{runningRequests:h}=Tt(),x=l.useSelector(Le),R=s.useMemo((()=>{var e;return null===(e=J[null!=t?t:i])||void 0===e?void 0:e.address}),[t]),W=s.useCallback(((t,n,o)=>{if(!t)return Te.Loading;const s=!!(null==h?void 0:h.find((e=>e.spec.opcode===Rt.Approval&&e.spec.token.address===(null==t?void 0:t.address)))),l=null!=o?o:t?b(t):null,i=t?u(t):null,d=new M.default(null!=n?n:0);if(!e)return Te.Unchecked;if(!l||d.minus(null!=a?a:0).gt(l))return Te.Unchecked;if(d.isZero())return Te.Unchecked;return t.address===R?Te.Sufficient:s?Te.Approving:i&&d.minus(null!=a?a:0).gt(i)?Te.Insufficient:Te.Sufficient}),[b,u,e,a,m,t,x,h,R]),E=s.useCallback((e=>{const t=e?u(e):null;return("USDT"===(null==e?void 0:e.symbol)||(null==e?void 0:e.address.toLowerCase())==="0x6426e6017968377529487E0ef0aA4E7759724e05".toLowerCase())&&null!==t&&t.gt(0)}),[u]),f=yt(),g=l.useDispatch(),T=s.useCallback(((t,a)=>_(void 0,void 0,void 0,(function*(){if(!m||!e||!t)return;const n=(e=>{let t=e.symbol;return t.indexOf("DLP_")>-1&&(t=t.replace("DLP_","")),t.indexOf("DLP")>-1&&(t=t.replace("DLP","LP")),t})(t),o=a?new M.default(0):void 0,s=a?k.i18n._("Reset"):k.i18n._("Approve");var l;(yield f.execute(`${s} ${n}`,{opcode:Rt.Approval,token:t,contract:m,amt:o}))===pt.Success&&g((l=null!=o?o:Et,e=>_(void 0,void 0,void 0,(function*(){e({type:"SET_ACCOUNT_ALLOWANCES",payload:l})}))))}))),[m,e,t,f,g]),y=s.useCallback((e=>{const t=new M.default(0);if(!e)return t.toString();const a=b(e);if(!a)return t.toString();let n=a;const o=c?.1:.02;return R===(null==e?void 0:e.address)&&(n=a.gt(o)?a.minus(o):t),n.toString()}),[t,b,c]);return{getApprovalState:W,getPendingRest:E,getMaxBalance:y,submitApprove:T}};function qt(){var t,o;const d=n.useTheme(),{isInflight:c}=Tt(),{chainId:p,account:m}=r.useWeb3React(),u=l.useDispatch(),{isReverseRouting:b}=l.useSelector(at),h=l.useSelector(de),x=l.useSelector(Je),R=l.useSelector(ze),{isETH:W}=s.useMemo((()=>H(p)),[p]),E=s.useMemo((()=>{var e;return null===(e=J[null!=p?p:h])||void 0===e?void 0:e.address}),[p]),[f,g]=s.useState(""),[k,y]=s.useState(""),[S,F]=s.useState(""),[N,Z]=s.useState(""),w=s.useMemo((()=>a.debounce((e=>F(e)),1e3)),[]),V=s.useMemo((()=>a.debounce((e=>Z(e)),1e3)),[]),[U,O]=s.useState(null),[v,D]=s.useState(null),[I,C]=s.useState(!1),[Y,A]=s.useState(!1),{toFiatPrice:z,fromFiatPrice:L}=jt({chainId:p,toToken:v,fromToken:U}),G=Ge(),P=s.useMemo((()=>U?G(U):null),[U,G]);s.useMemo((()=>v?G(v):null),[v,G]);const{getApprovalState:_,submitApprove:Q,getPendingRest:q,getMaxBalance:K}=Qt({account:m,chainId:p}),$=s.useMemo((()=>q(b?v:U)),[null==U?void 0:U.address,null==v?void 0:v.address,q,b]),{marginAmount:ee}=Ut({token:b?v:U,fiatPrice:b?z:L}),{resAmount:te,priceImpact:ae,executeSwap:ne,baseFeeAmount:oe,additionalFeeAmount:se,resPricePerToToken:le,resPricePerFromToken:ie,status:re}=Ct({toToken:v,fromToken:U,marginAmount:ee,fromAmount:S,toAmount:N}),ce=s.useCallback((e=>{const t=e.toString();g(t),w(t)}),[g,w]),pe=s.useCallback((e=>{const t=e.toString();y(t),V(t)}),[y,V]);s.useEffect((()=>{p&&(D(null),O(null),b?pe(""):ce("")),R&&R.chainId===p&&(O(R),R.amount&&(u(ft({isReverseRouting:!1})),ce(R.amount))),x&&x.chainId===p&&(D(x),x.amount&&R&&!R.amount&&(u(ft({isReverseRouting:!0})),pe(x.amount)))}),[x,R,p,ce,pe]);const me=s.useCallback((()=>{ce(""),pe(""),O(v),D(U)}),[O,v,D,U,ce,pe]),ue=s.useCallback((e=>b?pe(K(v)):ce(K(U))),[ce,pe,K,U,v,b]),be=s.useMemo((()=>(100*Number(ae)).toFixed(2)),[ae]),he=s.useMemo((()=>{const e=b?te:S;return e&&L?new M.default(L).multipliedBy(e):null}),[L,S,b,te]),xe=s.useMemo((()=>{const e=b?N:te;return e&&z?new M.default(z).multipliedBy(e):null}),[z,N,b,te]),Re=s.useMemo((()=>T.jsxs(n.Box,{sx:{display:"flex",fontWeight:600,typography:"body2",alignItems:"center",justifyContent:"center"},children:[T.jsx(Xt,{title:T.jsx(e.Trans,{id:"Due to the market condition, market price and estimated price may have a slight difference"}),mr:8}),T.jsxs(n.Box,{sx:{display:"flex"},children:[T.jsx(e.Trans,{id:"Current price impact"}),T.jsxs(n.Box,{sx:{color:d.palette.error.main,ml:4},children:[be,"%"]})]})]})),[be]),We=s.useMemo((()=>T.jsx(Gt,{toToken:v,fromToken:U,priceStatus:re,pricePerToToken:le,pricePerFromToken:ie})),[v,U,re,le,ie]),Ee=s.useMemo((()=>!X[p||1]),[p]),fe=s.useMemo((()=>re===It.Loading?T.jsx(n.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center"},children:T.jsxs(T.Fragment,{children:[T.jsx(n.RotatingIcon,{sx:{mr:5}}),T.jsx(e.Trans,{id:"Fetching best price..."})]})}):Ee?T.jsxs(T.Fragment,{children:[T.jsx(n.Box,{component:i.Warn,sx:{mr:6,width:16,color:"warning.main"}}),T.jsx(e.Trans,{id:"Unsupported network - switch to trade"})]}):f&&new M.default(be).gt(15)?Re:We),[re,We,f,Re,be,Ee]),ge=s.useMemo((()=>b?new M.default(k).gt(0)?j({input:te,decimals:null==U?void 0:U.decimals}):"-":f),[f,k,te,U,b]),ke=s.useMemo((()=>b?k:new M.default(f).gt(0)?j({input:te,decimals:null==v?void 0:v.decimals}):"-"),[f,k,te,v,b]),ye=s.useMemo((()=>{const t=_(U,b?te||0:S),a=t===Te.Approving,o=t===Te.Insufficient&&!$,s=W?.1:.02,l=E===(null==U?void 0:U.address),i=new M.default(P||0);return m?c?T.jsx(n.Button,{fullWidth:!0,isLoading:!0,disabled:!0,children:T.jsx(e.Trans,{id:"Transaction Pending"})}):U&&v?o?T.jsx(n.Button,{fullWidth:!0,disabled:a,onClick:()=>Q(U),children:a?T.jsx(e.Trans,{id:"Approving"}):T.jsx(e.Trans,{id:"Approve"})}):new M.default(b?N:S).gt(0)?re===It.Loading?T.jsx(n.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-fetch-price-btn",children:T.jsx(e.Trans,{id:"Fetching Price..."})}):te&&re!==It.Failed?i.lt(b?te:S)||l&&i.lte(s)?T.jsx(n.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-insufficient-balance-btn",children:T.jsx(e.Trans,{id:"Insufficient balance"})}):T.jsx(n.Button,{fullWidth:!0,onClick:()=>C(!0),"data-testid":"swap-review-btn",children:T.jsx(e.Trans,{id:"Review Swap"})}):T.jsx(n.Button,{fullWidth:!0,disabled:!0,children:T.jsx(e.Trans,{id:"Quote not available"})}):T.jsx(n.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-enter-amount-btn",children:T.jsx(e.Trans,{id:"Enter an amount"})}):T.jsx(n.Button,{fullWidth:!0,disabled:!0,"data-testid":"swap-alert-select-token-btn",children:T.jsx(e.Trans,{id:"Select Tokens"})}):T.jsx(_t,{})}),[W,m,N,S,v,te,U,c,ne,$,Q,re,P,_,E,b]),Se=s.useMemo((()=>U&&v?T.jsxs(n.Box,{sx:{display:"flex",alignItems:"center"},children:[T.jsx(qe,{token:U,sx:{width:16,height:16,mr:6}}),`${j({input:b?te:S,decimals:null==U?void 0:U.decimals})} ${null==U?void 0:U.symbol}`,T.jsx(n.Box,{component:i.DoubleRight,sx:{width:12,height:12,mx:16}}),T.jsx(qe,{token:v,sx:{width:16,height:16,mr:6}}),`${j({input:b?N:te,decimals:null==v?void 0:v.decimals})} ${null==v?void 0:v.symbol}`]}):T.jsx(n.Box,{})),[U,v,S,N,te,b]);return T.jsxs(T.Fragment,{children:[T.jsxs(n.Box,{sx:{display:"flex",justifyContent:"space-between",typography:"caption",margin:20},children:[T.jsx(e.Trans,{id:"Swap"}),T.jsx(n.Box,{component:n.BaseButton,children:T.jsx(n.Box,{component:i.Setting,onClick:()=>A(!0),sx:{width:19,height:19,color:"text.primary",cursor:"pointer"}})})]}),T.jsxs(n.Box,{sx:{flex:1,padding:"0 20px 20px",overflowY:"auto"},children:[T.jsxs(n.Box,{children:[T.jsx(it,{sx:{mb:4},token:U,amt:ge,onMaxClick:ue,onInputChange:ce,onInputFocus:()=>{b&&ce(""),u(ft({isReverseRouting:!1}))},showMaxBtn:!b&&!f,occupiedAddrs:[null!==(t=null==v?void 0:v.address)&&void 0!==t?t:""],fiatPriceTxt:he?`$${B({input:he,showDecimals:1})}`:"-",onTokenChange:(e,t)=>{if(t)return me();ce(""),pe(""),O(e)},readOnly:b}),T.jsx(At,{onClick:me}),T.jsx(it,{token:v,amt:ke,onInputChange:pe,onInputFocus:()=>{b||pe(""),u(ft({isReverseRouting:!0}))},occupiedAddrs:[null!==(o=null==U?void 0:U.address)&&void 0!==o?o:""],fiatPriceTxt:xe?`$${B({input:xe,showDecimals:1})}(${be}%)`:"-",onTokenChange:(e,t)=>{if(t)return me();ce(""),pe(""),D(e)},readOnly:!b}),T.jsx(n.Box,{sx:{py:12,display:"flex",typography:"body2",alignItems:"center",justifyContent:"center",flexWrap:"wrap"},children:fe})]}),ye,T.jsxs(n.Box,{sx:{mt:13,display:"flex",typography:"h6",cursor:"pointer",justifyContent:"center",alignItems:"center",color:d.palette.text.disabled},onClick:()=>window.open("https://app.dodoex.io"),children:[T.jsx(n.Box,{sx:{width:24,typography:"body2",transform:"translate(1px, 2px)","& path":{fill:d.palette.text.disabled}},component:i.Dodo}),T.jsx(e.Trans,{id:"Powered by DODO protocol"})]})]}),T.jsx(zt,{toToken:v,fromToken:U,fromAmount:b?te:S,toAmount:b?N:te,open:I,baseFeeAmount:oe,priceImpact:be,additionalFeeAmount:se,curToFiatPrice:xe,execute:()=>ne(Se),clearFromAmt:()=>ce(""),clearToAmt:()=>pe(""),curFromFiatPrice:he,pricePerFromToken:ie,onClose:()=>C(!1)}),T.jsx(Lt,{open:Y,onClose:()=>A(!1)})]})}exports.InitSwapWidget=function(e){const t=document.getElementById("dodo-swap-widget");N.createRoot(t).render(T.jsx(Ht,{...e,children:T.jsx(qt,{})}))},exports.SwapWidget=function(e){return T.jsx(Ht,{...e,children:T.jsx(qt,{})})};
|