@dodoex/api 3.3.0 → 3.4.0-op.1

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/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@dodoex/dodo-contract-request"),t=require("js-sha3"),r=require("bn.js"),n=require("hash.js"),i=require("bech32"),s=require("lodash"),o=require("bignumber.js"),a=require("cross-fetch"),l=require("qs"),c=require("@dodoex/contract-request");function u(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var d,h=u(a);exports.ChainId=void 0,(d=exports.ChainId||(exports.ChainId={}))[d.MAINNET=1]="MAINNET",d[d.GOERLI=5]="GOERLI",d[d.SEPOLIA=11155111]="SEPOLIA",d[d.BSC=56]="BSC",d[d.POLYGON=137]="POLYGON",d[d.ARBITRUM_ONE=42161]="ARBITRUM_ONE",d[d.ARBITRUM_SEPOLIA=421614]="ARBITRUM_SEPOLIA",d[d.AURORA=1313161554]="AURORA",d[d.OKCHAIN=66]="OKCHAIN",d[d.OPTIMISM=10]="OPTIMISM",d[d.AVALANCHE=43114]="AVALANCHE",d[d.CONFLUX=1030]="CONFLUX",d[d.BASE=8453]="BASE",d[d.LINEA=59144]="LINEA",d[d.SCROLL=534352]="SCROLL",d[d.MANTA=169]="MANTA",d[d.MANTLE=5e3]="MANTLE",d[d.DODO_CHAIN_TESTNET=53457]="DODO_CHAIN_TESTNET",d[d.TAIKO=167e3]="TAIKO",d[d.PLUME=98866]="PLUME",d[d.PLUME_TESTNET=98864]="PLUME_TESTNET",d[d.NEOX=47763]="NEOX",d[d.MORPH=2818]="MORPH",d[d.RISE_TESTNET=11155931]="RISE_TESTNET",d[d.NEROCHAIN=1689]="NEROCHAIN",d[d.BITLAYER=200901]="BITLAYER",d[d.ZIRCUIT=48900]="ZIRCUIT",d[d.X_LAYER=196]="X_LAYER",d[d.ZERO=543210]="ZERO",d[d.HASHKEY=177]="HASHKEY",d[d.HEMI=43111]="HEMI",d[d.PHAROS_TESTNET=688688]="PHAROS_TESTNET",d[d.PHAROS_ATLANTIC_TESTNET=688689]="PHAROS_ATLANTIC_TESTNET";const f="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",p={symbol:"ETH",address:f,name:"Ether",decimals:18,showDecimals:4,wrappedTokenSymbol:"WETH"},m={[exports.ChainId.MAINNET]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}),[exports.ChainId.GOERLI]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"}),[exports.ChainId.SEPOLIA]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0x7B07164ecFaF0F0D85DFC062Bc205a4674c75Aa0"}),[exports.ChainId.OPTIMISM]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.CONFLUX]:Object.assign(Object.assign({},p),{symbol:"CFX",name:"CFX",wrappedTokenSymbol:"WCFX",wrappedTokenAddress:"0x14b2d3bc65e74dae1030eafd8ac30c533c976a9b"}),[exports.ChainId.BSC]:Object.assign(Object.assign({},p),{symbol:"BNB",name:"BNB",wrappedTokenSymbol:"WBNB",wrappedTokenAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}),[exports.ChainId.OKCHAIN]:Object.assign(Object.assign({},p),{symbol:"OKT",name:"OKT",wrappedTokenSymbol:"WOKT",wrappedTokenAddress:"0x8F8526dbfd6E38E3D8307702cA8469Bae6C56C15"}),[exports.ChainId.POLYGON]:Object.assign(Object.assign({},p),{symbol:"MATIC",name:"MATIC",showDecimals:6,wrappedTokenSymbol:"WMATIC",wrappedTokenAddress:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}),[exports.ChainId.ARBITRUM_ONE]:Object.assign(Object.assign({},p),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}),[exports.ChainId.ARBITRUM_SEPOLIA]:Object.assign(Object.assign({},p),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0xfd6fFee92D25158b29315C71b0Bb4dE727530FaF"}),[exports.ChainId.AURORA]:Object.assign(Object.assign({},p),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB"}),[exports.ChainId.AVALANCHE]:Object.assign(Object.assign({},p),{symbol:"AVAX",name:"Avalanche",showDecimals:6,wrappedTokenSymbol:"WAVAX",wrappedTokenAddress:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"}),[exports.ChainId.BASE]:Object.assign(Object.assign({},p),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.LINEA]:Object.assign(Object.assign({},p),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f"}),[exports.ChainId.SCROLL]:Object.assign(Object.assign({},p),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0x5300000000000000000000000000000000000004"}),[exports.ChainId.MANTA]:Object.assign(Object.assign({},p),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0x0Dc808adcE2099A9F62AA87D9670745AbA741746"}),[exports.ChainId.MANTLE]:Object.assign(Object.assign({},p),{wrappedTokenSymbol:"WMNT",wrappedTokenAddress:"0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8"}),[exports.ChainId.DODO_CHAIN_TESTNET]:Object.assign(Object.assign({},p),{symbol:"dodo",name:"Wrapped Berd",wrappedTokenSymbol:"WBERD",wrappedTokenAddress:"0x3a64Ec3606FF7310E8fAd6FcC008e39705fB496d"}),[exports.ChainId.TAIKO]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0xA51894664A773981C6C112C43ce576f315d5b1B6"}),[exports.ChainId.PLUME]:Object.assign(Object.assign({},p),{symbol:"PLUME",name:"PLUME",wrappedTokenSymbol:"WPLUME",wrappedTokenAddress:"0xEa237441c92CAe6FC17Caaf9a7acB3f953be4bd1"}),[exports.ChainId.PLUME_TESTNET]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0xaA6210015fbf0855F0D9fDA3C415c1B12776Ae74"}),[exports.ChainId.NEOX]:Object.assign(Object.assign({},p),{symbol:"GAS",name:"GAS",showDecimals:6,wrappedTokenSymbol:"WGAS10",wrappedTokenAddress:"0xdE41591ED1f8ED1484aC2CD8ca0876428de60EfF"}),[exports.ChainId.MORPH]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0x5300000000000000000000000000000000000011"}),[exports.ChainId.RISE_TESTNET]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.NEROCHAIN]:Object.assign(Object.assign({},p),{symbol:"NERO",name:"NERO",wrappedTokenSymbol:"WNERO",wrappedTokenAddress:"0x252ba4a6efb0d91bd7108d91a067c14592a56f17"}),[exports.ChainId.BITLAYER]:Object.assign(Object.assign({},p),{symbol:"BTC",name:"BTC",wrappedTokenSymbol:"WBTC",wrappedTokenAddress:"0xff204e2681a6fa0e2c3fade68a1b28fb90e4fc5f"}),[exports.ChainId.ZIRCUIT]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.X_LAYER]:Object.assign(Object.assign({},p),{symbol:"OKB",name:"OKB",wrappedTokenSymbol:"WOKB",wrappedTokenAddress:"0xe538905cf8410324e03a5a23c1c177a474d59b2b"}),[exports.ChainId.ZERO]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0xAc98B49576B1C892ba6BFae08fE1BB0d80Cf599c"}),[exports.ChainId.HASHKEY]:Object.assign(Object.assign({},p),{symbol:"HSK",name:"HSK",wrappedTokenSymbol:"WHSK",wrappedTokenAddress:"0xB210D2120d57b758EE163cFfb43e73728c471Cf1"}),[exports.ChainId.HEMI]:Object.assign(Object.assign({},p),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.PHAROS_TESTNET]:Object.assign(Object.assign({},p),{symbol:"PHRS",name:"PHRS",wrappedTokenSymbol:"WPHRS",wrappedTokenAddress:"0x3019b247381c850ab53dc0ee53bce7a07ea9155f"}),[exports.ChainId.PHAROS_ATLANTIC_TESTNET]:Object.assign(Object.assign({},p),{symbol:"PHRS",name:"PHRS",wrappedTokenSymbol:"WPHRS",wrappedTokenAddress:"0x838800b758277cc111b2d48ab01e5e164f8e9471"})},g={[exports.ChainId.MAINNET]:{MULTI_CALL:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",DODO_APPROVE:"0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149",ERC20_HELPER:"0x4F99cba8aAEad26fc970dc6CC4ea435779Fa9016",ROUTE_V2_DATA_FETCH:"0x9337cA090c390667984869193e10c3D4f9a17da8",ROUTE_V1_DATA_FETCH:"0x6373ceB657C83C91088d328622573FB766064Ac4",CALLEE_HELPER:"0x45a7E2E9D780613E047f7e78a9d3902ff854B522",DODO_PROXY:"0xa356867fDCEa8e71AEaF87805808803806231FdC",DODO_DSP_PROXY:"0x4599ed18F34cFE06820E3684bF0aACB8D75c644d",DODO_DPP_PROXY:"0xfF7C8F518e6f1435957ed3d3E0692C94676dAE7a",DODO_V1_PAIR_PROXY:"0x8dD0Fea5FA2f7df535F87f312641Cc15d8B151BA",DODO_MINEV3_PROXY:"0x0d9685D4037580F68D9F77B08971f17E1000bBdc"},[exports.ChainId.GOERLI]:{MULTI_CALL:"0x696E25A5e2AEd1C55E6d6Cfa0532Bbda9020165d",DODO_APPROVE:"0xC9143e54021f4a6d33b9b89DBB9F458AaEdd56FB",ERC20_HELPER:"0x24549FC74B3076A962624A26370ed556c467F74C",ROUTE_V2_DATA_FETCH:"0x7E9c460d0A10bd0605B15F0d0388e307d34a62E6",ROUTE_V1_DATA_FETCH:"0xAC716E87b0853C0712674e8E3a8435a489F276b4",CALLEE_HELPER:"0x5B2fd46E6E3Ff1E479d651ec0b210882Aa9871dF",DODO_PROXY:"0xbce44767af0a53A108b3B7ba4F740E03D228Ec0A",DODO_DSP_PROXY:"0x8d9ccc26CbF3D49bbA76E9920C3E6ed29e06b5cc",DODO_DPP_PROXY:"0xc4A1a152812dE96b2B1861E433f42290CDD7f113",DODO_MINEV3_PROXY:"0x99d69565EdA438E3ebAA0627A407968ABD0f755b"},[exports.ChainId.SEPOLIA]:{MULTI_CALL:"0x0fcB5237A1997C4700Ffa2BB4522EA38d4F851Fc",DODO_APPROVE:"0x66c45FF040e86DC613F239123A5E21FFdC3A3fEC",ERC20_HELPER:"0x297da061D1dE0132D241Fafed224288B34d81005",ROUTE_V2_DATA_FETCH:"0x03e89fC55A5ad0531576E5a502c4CA52c8bf391B",ROUTE_V1_DATA_FETCH:"0x3dD629473A2eD7f3C6299FFD9F3e0C283d073f11",CALLEE_HELPER:"0xCD536b4DECFD2fa0443666B6becD145F8aDe2E48",DODO_PROXY:"0x6292e8f7647b3b9dDf5795b1Fb77D0187e30E0F9",DODO_DSP_PROXY:"0x987bFBE33c9cF18cAA665B792Db66339a9c16D32",DODO_DPP_PROXY:"0x5e1251f4873248a030e1c92FFEB133AF1513277f",DODO_MINEV3_PROXY:"0xBbD59b9316eE65526DbBdEc2A748Cc05A285d54C"},[exports.ChainId.BSC]:{MULTI_CALL:"0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb",DODO_APPROVE:"0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1",ERC20_HELPER:"0x5B9E4c3056227C316a3da3296031DdC7a8d6a867",ROUTE_V2_DATA_FETCH:"0x35b8F92AcFE368afb90d37555f6d075Fc569a6BA",ROUTE_V1_DATA_FETCH:"0x2BBD66fC4898242BDBD2583BBe1d76E8b8f71445",CALLEE_HELPER:"0x2673E5333620bb22BD1bFB3af9Fc7012008E3b4B",DODO_PROXY:"0x8F8Dd7DB1bDA5eD3da8C9daf3bfa471c12d58486",DODO_DSP_PROXY:"0x2442A8B5cdf1E659F3F949A7E454Caa554D4E65a",DODO_DPP_PROXY:"0x624FC8368fE11BE00D8B2F3fE0B9D0053BEc21b9",DODO_V1_PAIR_PROXY:"0x4Fc222194862081866FC636893DDeCB3E4341A10",DODO_MINEV3_PROXY:"0x8f3fB1f9148dC473453163bF31de1d830Eb5c590"},[exports.ChainId.POLYGON]:{MULTI_CALL:"0xc9eD9B18e447e600238fe50e944B9062B664DEa4",DODO_APPROVE:"0x6D310348d5c12009854DFCf72e0DF9027e8cb4f4",ERC20_HELPER:"0xfd24312Ec7871A6D1a31e454D5AbB16c6c25a9b3",ROUTE_V2_DATA_FETCH:"0x1870854754d1E76C58B0a56a153E12Ff868eE3C6",ROUTE_V1_DATA_FETCH:"0x18DFdE99F578A0735410797e949E8D3e2AFCB9D2",CALLEE_HELPER:"0x261F6cF4dF0e5c1432739cDAFD9299150FEd3dFc",DODO_PROXY:"0xa222e6a71D1A1Dd5F279805fbe38d5329C1d0e70",DODO_DSP_PROXY:"0xA3dfF6ae0F73f0970E31Da63B3736F7D3CEF683e",DODO_DPP_PROXY:"0xF6f1A1Ef2f5b56bb289993F75C12Eb41e4abC2f7",DODO_V1_PAIR_PROXY:"0x58E27C46c162F2a781d750BbE1119E1b2DfE82e0",DODO_MINEV3_PROXY:"0x47a65e74dd6b6B5E3243dBb01EDEd9D55ba234Ad"},[exports.ChainId.ARBITRUM_ONE]:{MULTI_CALL:"0xF718F2bd590E5621e53f7b89398e52f7Acced8ca",DODO_APPROVE:"0xA867241cDC8d3b0C07C85cC06F25a0cD3b5474d8",ERC20_HELPER:"0x7C062B9C584fA6eC2504270790D38240A2c5fE72",ROUTE_V2_DATA_FETCH:"0x0C420970b2e5efcBB6e833601772D6E707155eA6",ROUTE_V1_DATA_FETCH:"0x4EE6398898F7FC3e648b3f6bA458310ac29cD352",CALLEE_HELPER:"0xe3B40F8D8346d428EAB28d9Fd672b784d921cfBD",DODO_PROXY:"0x88CBf433471A0CD8240D2a12354362988b4593E5",DODO_DSP_PROXY:"0x36E5238B4479d1ba0bFE47550B0B8e4f4f500EAA",DODO_DPP_PROXY:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25",DODO_V1_PAIR_PROXY:"0x49186E32fEd50fd6B5604A2618c7B0b03Cd41414",DODO_MINEV3_PROXY:"0x7E820457780Ac99B9A042Cd5f875b274855A1eE9"},[exports.ChainId.ARBITRUM_SEPOLIA]:{MULTI_CALL:e.arbsepolia.MulticallWithValid,DODO_APPROVE:e.arbsepolia.DODOApprove,ERC20_HELPER:e.arbsepolia.ERC20Helper,ROUTE_V2_DATA_FETCH:e.arbsepolia.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.arbsepolia.DODOV1PmmHelper,CALLEE_HELPER:e.arbsepolia.DODOCalleeHelper,DODO_PROXY:e.arbsepolia.DODOV2Proxy02,DODO_DSP_PROXY:e.arbsepolia.DODODspProxy,DODO_DPP_PROXY:e.arbsepolia.DODODppProxy,DODO_MINEV3_PROXY:e.arbsepolia.DODOMineV3ProxyWithoutPlatform},[exports.ChainId.AURORA]:{MULTI_CALL:"0x989DcAA95801C527C5B73AA65d3962dF9aCe1b0C",DODO_APPROVE:"0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619",ERC20_HELPER:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25",ROUTE_V2_DATA_FETCH:"0x49eAB58AAE044F31d3b136212058a00b282b2845",ROUTE_V1_DATA_FETCH:"0xbAb9F4ff4A19a0e8EEBC56b06750253228ffAc6E",CALLEE_HELPER:"0x738Ebf387A0CE0eb46b0eF8Fa5DEa2EaE6B1Df51",DODO_PROXY:"0xd9deC7c3C06e62a4c1BeEB07CadF568f496b14c2",DODO_DSP_PROXY:"0x53233ABD9108761258a4B6B7822abFD6716B129B",DODO_DPP_PROXY:"0x357c5E9cfA8B834EDcef7C7aAbD8F9Db09119d11",DODO_MINEV3_PROXY:"0x4775b1858f1e417C9609D455C3Ad8751ec01daC4"},[exports.ChainId.OKCHAIN]:{MULTI_CALL:"0x5e84190a270333aCe5B9202a3F4ceBf11b81bB01",DODO_APPROVE:"0x7737fd30535c69545deeEa54AB8Dd590ccaEBD3c",ERC20_HELPER:"0x4775b1858f1e417C9609D455C3Ad8751ec01daC4",ROUTE_V2_DATA_FETCH:"0x10Dd6d8A29D489BEDE472CC1b22dc695c144c5c7",ROUTE_V1_DATA_FETCH:"0xDfaf9584F5d229A9DBE5978523317820A8897C5A",CALLEE_HELPER:"0x3CD6D7F5fF977bf8069548eA1F9441b061162b42",DODO_PROXY:"0x6B4Fa0bc61Eddc928e0Df9c7f01e407BfcD3e5EF",DODO_DSP_PROXY:"0x5515363c0412AdD5c72d3E302fE1bD7dCBCF93Fe",DODO_DPP_PROXY:"0xa222e6a71D1A1Dd5F279805fbe38d5329C1d0e70",DODO_MINEV3_PROXY:"0x958f79e2998DFe417208b9A07D799265B0298e58"},[exports.ChainId.OPTIMISM]:{MULTI_CALL:"0xb98Ac2fEFc8b73aeAE33D02BB00c26E12afCa9Df",DODO_APPROVE:"0xa492d6eABcdc3E204676f15B950bBdD448080364",ERC20_HELPER:"0x42E456ea0dd7538ea103fBb1d0388D14C97bB5b2",ROUTE_V2_DATA_FETCH:"0xC48A8e689a644de96F80786ACb69E6F76D057F25",ROUTE_V1_DATA_FETCH:"0x6281E0628eb2B37fE9943279EA39725D5f0E0dBe",CALLEE_HELPER:"0x0BD7426f008737FeeD575ED8e2aA1bd4Fc49112D",DODO_PROXY:"0xfD9D2827AD469B72B69329dAA325ba7AfbDb3C98",DODO_DSP_PROXY:"0x61721e89a498dADa7aD579482BDC2aE60a9C5D54",DODO_DPP_PROXY:"0x51A70a33655FE1c5fae3286890DcE3bE332E85dD",DODO_MINEV3_PROXY:"0xaEdbD08D92ECccaA9A93b1A8D66D1d356e470c78"},[exports.ChainId.AVALANCHE]:{MULTI_CALL:"0x97f0153E7F5749640aDF3Ff9CFC518b79D6Fe53b",DODO_APPROVE:"0xCFea63e3DE31De53D68780Dd65675F169439e470",ERC20_HELPER:"0xC3528D128CC227fd60793007b5e3FdF7c2945282",ROUTE_V2_DATA_FETCH:"0x686984f0aa37585504f51DEbA0Eb45B0f0CB7e4a",ROUTE_V1_DATA_FETCH:"0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB",CALLEE_HELPER:"0x4EfF1D851366b8cc51d553a87e2d12dA8Da46F2a",DODO_PROXY:"0x2cD18557E14aF72DAA8090BcAA95b231ffC9ea26",DODO_DSP_PROXY:"0xeCEaDe494FD5F913Fd937C5CAc4577236395Dc32",DODO_DPP_PROXY:"0xe44F14BFDe673B7339734a28152cCd6b821753C9",DODO_MINEV3_PROXY:"0x5D6e6A0BFB2176AFCc4FB809822D8e009216b245"},[exports.ChainId.CONFLUX]:{MULTI_CALL:"0x696e25a5e2aed1c55e6d6cfa0532bbda9020165d",DODO_APPROVE:"0x5BaF16d57620Cb361F622232F3cb4090e35F3da2",ERC20_HELPER:"0x24549FC74B3076A962624A26370ed556c467F74C",ROUTE_V2_DATA_FETCH:"0x7E9c460d0A10bd0605B15F0d0388e307d34a62E6",ROUTE_V1_DATA_FETCH:"0xAC716E87b0853C0712674e8E3a8435a489F276b4",CALLEE_HELPER:"0x5B2fd46E6E3Ff1E479d651ec0b210882Aa9871dF",DODO_PROXY:"0xbce44767af0a53A108b3B7ba4F740E03D228Ec0A",DODO_DSP_PROXY:"0x8d9ccc26cbf3d49bba76e9920c3e6ed29e06b5cc",DODO_DPP_PROXY:"0x99d69565EdA438E3ebAA0627A407968ABD0f755b",DODO_MINEV3_PROXY:"0x14F7B8Fb0c1447DdE7bcf92a8d9BB058c8A5FE64"},[exports.ChainId.BASE]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0x89872650fA1A391f58B4E144222bB02e44db7e3B",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",ROUTE_V1_DATA_FETCH:"0x17644d3B366273faC75A07996E2F90A99A2946a7",CALLEE_HELPER:"0x44023441f2Bad375b6b5C6354B03c3E9AD01E269",DODO_PROXY:"0x4CAD0052524648A7Fa2cfE279997b00239295F33",DODO_DSP_PROXY:"0x49186E32fEd50fd6B5604A2618c7B0b03Cd41414",DODO_DPP_PROXY:"0x0B1467f71c082D8d410aF4376C685D9A6893cF36",DODO_MINEV3_PROXY:"0x2F66C5aAF006Bd9c51615D617589C16c0ed35fD3"},[exports.ChainId.LINEA]:{MULTI_CALL:"0xa7b9C3a116b20bEDDdBE4d90ff97157f67F0bD97",DODO_APPROVE:"0x6de4d882a84A98f4CCD5D33ea6b3C99A07BAbeB1",ERC20_HELPER:"0xbcd2FDC3B884Cf0dfD932f55Ec2Fe1fB7e8c62Da",ROUTE_V2_DATA_FETCH:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",ROUTE_V1_DATA_FETCH:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",CALLEE_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",DODO_PROXY:"0x4CAD0052524648A7Fa2cfE279997b00239295F33",DODO_DSP_PROXY:"0x6D3bd005A8a75d6522C9cFE7d309BB1Cf9650e03",DODO_DPP_PROXY:"0xCDA4a6cc5997002B87f28D46852F9F0aA0f3c897",DODO_MINEV3_PROXY:"0xA6d0066328Edbcf3220cf8F61e8527e589DD9719"},[exports.ChainId.SCROLL]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0x20E77aD760eC9E922Fd2dA8847ABFbB2471B92CD",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0xf5048d8F9163AF17Db522Abe9FaF37735C911320",ROUTE_V1_DATA_FETCH:"0x17644d3B366273faC75A07996E2F90A99A2946a7",CALLEE_HELPER:"0x44023441f2Bad375b6b5C6354B03c3E9AD01E269",DODO_PROXY:"0xe49781e6186214d88aACFd9eBc8cE40E3CDc066D",DODO_DSP_PROXY:"0x7Dd8c909E1F48a68FfEF03492761AF17B1496EDc",DODO_DPP_PROXY:"0x99d69565EdA438E3ebAA0627A407968ABD0f755b",DODO_MINEV3_PROXY:"0x14F7B8Fb0c1447DdE7bcf92a8d9BB058c8A5FE64"},[exports.ChainId.MANTA]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0x0226fCE8c969604C3A0AD19c37d1FAFac73e13c2",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0x4CAD0052524648A7Fa2cfE279997b00239295F33",ROUTE_V1_DATA_FETCH:"0x17644d3B366273faC75A07996E2F90A99A2946a7",CALLEE_HELPER:"0x44023441f2Bad375b6b5C6354B03c3E9AD01E269",DODO_PROXY:"0x2F86652dAEF5f1728c54191C955F065Ec3C188c7",DODO_DSP_PROXY:"0x0B1467f71c082D8d410aF4376C685D9A6893cF36",DODO_DPP_PROXY:"0xCDA4a6cc5997002B87f28D46852F9F0aA0f3c897",DODO_MINEV3_PROXY:"0xA6d0066328Edbcf3220cf8F61e8527e589DD9719"},[exports.ChainId.MANTLE]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0xa71415675F68f29259ddD63215E5518d2735bf0a",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0xCDA4a6cc5997002B87f28D46852F9F0aA0f3c897",ROUTE_V1_DATA_FETCH:"0xa1609A1fa7DC16c025feA194c02b2822441b8c10",CALLEE_HELPER:"0x4aAe1d041C01078725dB016BA4D4F72455CaF931",DODO_PROXY:"0xe7979E2F3e77196Bb2AB206eaa67Ea278A3E33A2",DODO_DSP_PROXY:"0x2933c0374089D7D98BA0C71c5E02E1A0e09deBEE",DODO_DPP_PROXY:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",DODO_MINEV3_PROXY:"0x6D3bd005A8a75d6522C9cFE7d309BB1Cf9650e03"},[exports.ChainId.DODO_CHAIN_TESTNET]:{MULTI_CALL:"0xD0CF7dfbF09CAfaB8AEf00e0Ce19a4638004a364",DODO_APPROVE:"0x82B26eb18382f7532015248078AB1f6030413396",ERC20_HELPER:"0xE6cecb7460c9E52aA483cb1f0E87d78D7085686F",ROUTE_V2_DATA_FETCH:"0xA3148a1765897EC0A9bCA57f855C0B4718060b78",ROUTE_V1_DATA_FETCH:"0x2e50e3e18c19C7d80B81888a961A13aEE49b962E",CALLEE_HELPER:"0x2Ba2696c63fA8b67b395de6D12F849b17C3515F9",DODO_PROXY:"0x464518e33F7Bd5E61a92b98b4332782915442580",DODO_DSP_PROXY:"0x886F677605512351e554AA53BA77eA493058b460",DODO_DPP_PROXY:"0xB4f2E70DE64F94116A6e93ff4dF2D020E91e7a63",DODO_MINEV3_PROXY:"0x391f8D754E4BaC453d059BA7D2137C4905bF48d4"},[exports.ChainId.TAIKO]:{MULTI_CALL:"0x388371233439cF57bB8C9f2e4835954841cfCb15",DODO_APPROVE:"0x2629E610dB4AC081c108cCDf8b19ED39D702df43",ERC20_HELPER:"0x0c76F95a2952DC171B26b152f2b30cA8968e79D5",ROUTE_V2_DATA_FETCH:"0xC7EaBEc77Be175432DC20c0056Cce4c2C78B84F3",ROUTE_V1_DATA_FETCH:"0x187210CE04F5B3179F0e483FCf292c34BA7568Dd",CALLEE_HELPER:"0x94B66F3156353a12A6004d098A16F2fCfF9E8348",DODO_PROXY:"0xfcd8EF54A4dA96dE6B2DDF67C6265C7405a3A9c6",DODO_DSP_PROXY:"0x928e9762B5223d5A2ac1F5b13E8A61907aCaa9Bd",DODO_DPP_PROXY:"0x38886EDE1Fc92886F9a11C37a1f5e75474858eaa",DODO_MINEV3_PROXY:"0x1dFd36964e21a2eb633991f0B95b4241c20e1db3"},[exports.ChainId.PLUME]:{MULTI_CALL:e.plume.MulticallWithValid,DODO_APPROVE:e.plume.DODOApprove,ERC20_HELPER:e.plume.ERC20Helper,ROUTE_V2_DATA_FETCH:e.plume.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.plume.DODOV1PmmHelper,CALLEE_HELPER:e.plume.DODOCalleeHelper,DODO_PROXY:e.plume.DODOV2Proxy02,DODO_DSP_PROXY:e.plume.DODODspProxy,DODO_DPP_PROXY:e.plume.DODODppProxy,DODO_MINEV3_PROXY:e.plume.DODOMineV3Proxy},[exports.ChainId.PLUME_TESTNET]:{MULTI_CALL:e.plumeTestnet.MulticallWithValid,DODO_APPROVE:e.plumeTestnet.DODOApprove,ERC20_HELPER:e.plumeTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:e.plumeTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.plumeTestnet.DODOV1PmmHelper,CALLEE_HELPER:e.plumeTestnet.DODOCalleeHelper,DODO_PROXY:e.plumeTestnet.DODOV2Proxy02,DODO_DSP_PROXY:e.plumeTestnet.DODODspProxy,DODO_DPP_PROXY:e.plumeTestnet.DODODppProxy,DODO_MINEV3_PROXY:e.plumeTestnet.DODOMineV3Proxy},[exports.ChainId.NEOX]:{MULTI_CALL:e.neox.MulticallWithValid,DODO_APPROVE:e.neox.DODOApprove,ERC20_HELPER:e.neox.ERC20Helper,ROUTE_V2_DATA_FETCH:e.neox.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.neox.DODOV1PmmHelper,CALLEE_HELPER:e.neox.DODOCalleeHelper,DODO_PROXY:e.neox.DODOV2Proxy02,DODO_DSP_PROXY:e.neox.DODODspProxy,DODO_DPP_PROXY:e.neox.DODODppProxy,DODO_MINEV3_PROXY:e.neox.DODOMineV3Proxy},[exports.ChainId.MORPH]:{MULTI_CALL:e.morph.MulticallWithValid,DODO_APPROVE:e.morph.DODOApprove,ERC20_HELPER:e.morph.ERC20Helper,ROUTE_V2_DATA_FETCH:e.morph.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.morph.DODOV1PmmHelper,CALLEE_HELPER:e.morph.DODOCalleeHelper,DODO_PROXY:e.morph.DODOV2Proxy02,DODO_DSP_PROXY:e.morph.DODODspProxy,DODO_DPP_PROXY:e.morph.DODODppProxy,DODO_MINEV3_PROXY:e.morph.DODOMineV3Proxy},[exports.ChainId.RISE_TESTNET]:{MULTI_CALL:e.riseTestnet.MulticallWithValid,DODO_APPROVE:e.riseTestnet.DODOApprove,ERC20_HELPER:e.riseTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:e.riseTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.riseTestnet.DODOV1PmmHelper,CALLEE_HELPER:e.riseTestnet.DODOCalleeHelper,DODO_PROXY:e.riseTestnet.DODOV2Proxy02,DODO_DSP_PROXY:e.riseTestnet.DODODspProxy,DODO_DPP_PROXY:e.riseTestnet.DODODppProxy,DODO_MINEV3_PROXY:e.riseTestnet.DODOMineV3Proxy},[exports.ChainId.NEROCHAIN]:{MULTI_CALL:e.nero.MulticallWithValid,DODO_APPROVE:e.nero.DODOApprove,ERC20_HELPER:e.nero.ERC20Helper,ROUTE_V2_DATA_FETCH:e.nero.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.nero.DODOV1PmmHelper,CALLEE_HELPER:e.nero.DODOCalleeHelper,DODO_PROXY:e.nero.DODOV2Proxy02,DODO_DSP_PROXY:e.nero.DODODspProxy,DODO_DPP_PROXY:e.nero.DODODppProxy,DODO_MINEV3_PROXY:e.nero.DODOMineV3Proxy},[exports.ChainId.BITLAYER]:{MULTI_CALL:e.bitlayer.MulticallWithValid,DODO_APPROVE:e.bitlayer.DODOApprove,ERC20_HELPER:e.bitlayer.ERC20Helper,ROUTE_V2_DATA_FETCH:e.bitlayer.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.bitlayer.DODOV1PmmHelper,CALLEE_HELPER:e.bitlayer.DODOCalleeHelper,DODO_PROXY:e.bitlayer.DODOV2Proxy02,DODO_DSP_PROXY:e.bitlayer.DODODspProxyWithoutGSP,DODO_DPP_PROXY:e.bitlayer.DODODppProxy,DODO_MINEV3_PROXY:e.bitlayer.DODOMineV3Proxy},[exports.ChainId.ZIRCUIT]:{MULTI_CALL:e.zircuitMainnet.MulticallWithValid,DODO_APPROVE:e.zircuitMainnet.DODOApprove,ERC20_HELPER:e.zircuitMainnet.ERC20Helper,ROUTE_V2_DATA_FETCH:e.zircuitMainnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.zircuitMainnet.DODOV1PmmHelper,CALLEE_HELPER:e.zircuitMainnet.DODOCalleeHelper,DODO_PROXY:e.zircuitMainnet.DODOV2Proxy02,DODO_DSP_PROXY:e.zircuitMainnet.DODODspProxyWithoutGSP,DODO_DPP_PROXY:e.zircuitMainnet.DODODppProxy,DODO_MINEV3_PROXY:e.zircuitMainnet.DODOMineV3Proxy},[exports.ChainId.X_LAYER]:{MULTI_CALL:e.xLayer.MulticallWithValid,DODO_APPROVE:e.xLayer.DODOApprove,ERC20_HELPER:e.xLayer.ERC20Helper,ROUTE_V2_DATA_FETCH:e.xLayer.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.xLayer.DODOV1PmmHelper,CALLEE_HELPER:e.xLayer.DODOCalleeHelper,DODO_PROXY:e.xLayer.DODOV2Proxy02,DODO_DSP_PROXY:e.xLayer.DODODspProxy,DODO_DPP_PROXY:e.xLayer.DODODppProxy,DODO_MINEV3_PROXY:e.xLayer.DODOMineV3Proxy},[exports.ChainId.ZERO]:{MULTI_CALL:e.zeroMainnet.MulticallWithValid,DODO_APPROVE:e.zeroMainnet.DODOApprove,ERC20_HELPER:e.zeroMainnet.ERC20Helper,ROUTE_V2_DATA_FETCH:e.zeroMainnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.zeroMainnet.DODOV1PmmHelper,CALLEE_HELPER:e.zeroMainnet.DODOCalleeHelper,DODO_PROXY:e.zeroMainnet.DODOV2Proxy02,DODO_DSP_PROXY:e.zeroMainnet.DODODspProxy,DODO_DPP_PROXY:e.zeroMainnet.DODODppProxy,DODO_MINEV3_PROXY:e.zeroMainnet.DODOMineV3Proxy},[exports.ChainId.HASHKEY]:{MULTI_CALL:e.hashkey.MulticallWithValid,DODO_APPROVE:e.hashkey.DODOApprove,ERC20_HELPER:e.hashkey.ERC20Helper,ROUTE_V2_DATA_FETCH:e.hashkey.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.hashkey.DODOV1PmmHelper,CALLEE_HELPER:e.hashkey.DODOCalleeHelper,DODO_PROXY:e.hashkey.DODOV2Proxy02,DODO_DSP_PROXY:e.hashkey.DODODspProxyWithoutGSP,DODO_DPP_PROXY:e.hashkey.DODODppProxy,DODO_MINEV3_PROXY:e.hashkey.DODOMineV3Proxy},[exports.ChainId.HEMI]:{MULTI_CALL:e.hemi.MulticallWithValid,DODO_APPROVE:e.hemi.DODOApprove,ERC20_HELPER:e.hemi.ERC20Helper,ROUTE_V2_DATA_FETCH:e.hemi.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.hemi.DODOV1PmmHelper,CALLEE_HELPER:e.hemi.DODOCalleeHelper,DODO_PROXY:e.hemi.DODOV2Proxy02,DODO_DSP_PROXY:e.hemi.DODODspProxyWithoutGSP,DODO_DPP_PROXY:e.hemi.DODODppProxy,DODO_MINEV3_PROXY:e.hemi.DODOMineV3Proxy},[exports.ChainId.PHAROS_TESTNET]:{MULTI_CALL:e.pharosTestnet.MulticallWithValid,DODO_APPROVE:e.pharosTestnet.DODOApprove,ERC20_HELPER:e.pharosTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:e.pharosTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.pharosTestnet.DODOV1PmmHelper,CALLEE_HELPER:e.pharosTestnet.DODOCalleeHelper,DODO_PROXY:e.pharosTestnet.DODOV2Proxy02,DODO_DSP_PROXY:e.pharosTestnet.DODODspProxy,DODO_DPP_PROXY:e.pharosTestnet.DODODppProxy,DODO_MINEV3_PROXY:e.pharosTestnet.DODOMineV3Proxy},[exports.ChainId.PHAROS_ATLANTIC_TESTNET]:{MULTI_CALL:e.pharosAtlanticTestnet.MulticallWithValid,DODO_APPROVE:e.pharosAtlanticTestnet.DODOApprove,ERC20_HELPER:e.pharosAtlanticTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:e.pharosAtlanticTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.pharosAtlanticTestnet.DODOV1PmmHelper,CALLEE_HELPER:e.pharosAtlanticTestnet.DODOCalleeHelper,DODO_PROXY:e.pharosAtlanticTestnet.DODOV2Proxy02,DODO_DSP_PROXY:e.pharosAtlanticTestnet.DODODspProxy,DODO_DPP_PROXY:e.pharosAtlanticTestnet.DODODppProxy,DODO_MINEV3_PROXY:e.pharosAtlanticTestnet.DODOMineV3Proxy}},y={[exports.ChainId.MAINNET]:"ethereum",[exports.ChainId.GOERLI]:"goerli",[exports.ChainId.OPTIMISM]:"optimism",[exports.ChainId.CONFLUX]:"cfx",[exports.ChainId.BSC]:"bsc",[exports.ChainId.OKCHAIN]:"okex-chain",[exports.ChainId.POLYGON]:"polygon",[exports.ChainId.ARBITRUM_ONE]:"arbitrum",[exports.ChainId.ARBITRUM_SEPOLIA]:"arb-sep",[exports.ChainId.AURORA]:"aurora",[exports.ChainId.AVALANCHE]:"avalanche",[exports.ChainId.BASE]:"base",[exports.ChainId.LINEA]:"linea",[exports.ChainId.SCROLL]:"scr",[exports.ChainId.MANTA]:"manta",[exports.ChainId.MANTLE]:"mantle",[exports.ChainId.SEPOLIA]:"sepolia",[exports.ChainId.DODO_CHAIN_TESTNET]:"dodochain-testnet",[exports.ChainId.TAIKO]:"taiko",[exports.ChainId.PLUME]:"plume",[exports.ChainId.PLUME_TESTNET]:"plume-testnet",[exports.ChainId.NEOX]:"neox",[exports.ChainId.MORPH]:"morph",[exports.ChainId.RISE_TESTNET]:"rise-testnet",[exports.ChainId.NEROCHAIN]:"nero",[exports.ChainId.BITLAYER]:"btr",[exports.ChainId.ZIRCUIT]:"zircuit-mainnet",[exports.ChainId.X_LAYER]:"okb",[exports.ChainId.ZERO]:"zero-mainnet",[exports.ChainId.HASHKEY]:"hashkey",[exports.ChainId.HEMI]:"hemi",[exports.ChainId.PHAROS_TESTNET]:"pharos-testnet",[exports.ChainId.PHAROS_ATLANTIC_TESTNET]:"pharos-atlantic-testnet"};function A(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))}let E=!1,v=!1;const b={debug:1,default:2,info:2,warning:3,error:4,off:5};let w=b.default,O=null;const P=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var D,T;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(D||(D={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(T||(T={}));const _="0123456789abcdef";class I{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const r=e.toLowerCase();null==b[r]&&this.throwArgumentError("invalid log level name","logLevel",e),w>b[r]||console.log.apply(console,t)}debug(...e){this._log(I.levels.DEBUG,e)}info(...e){this._log(I.levels.INFO,e)}warn(...e){this._log(I.levels.WARNING,e)}makeError(e,t,r){if(v)return this.makeError("censored error",t,{});t||(t=I.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach((e=>{const t=r[e];try{if(t instanceof Uint8Array){let r="";for(let e=0;e<t.length;e++)r+=_[t[e]>>4],r+=_[15&t[e]];n.push(e+"=Uint8Array(0x"+r+")")}else n.push(e+"="+JSON.stringify(t))}catch(t){n.push(e+"="+JSON.stringify(r[e].toString()))}})),n.push(`code=${t}`),n.push(`version=${this.version}`);const i=e;let s="";switch(t){case T.NUMERIC_FAULT:{s="NUMERIC_FAULT";const t=e;switch(t){case"overflow":case"underflow":case"division-by-zero":s+="-"+t;break;case"negative-power":case"negative-width":s+="-unsupported";break;case"unbound-bitwise-result":s+="-unbound-result"}break}case T.CALL_EXCEPTION:case T.INSUFFICIENT_FUNDS:case T.MISSING_NEW:case T.NONCE_EXPIRED:case T.REPLACEMENT_UNDERPRICED:case T.TRANSACTION_REPLACED:case T.UNPREDICTABLE_GAS_LIMIT:s=t}s&&(e+=" [ See: https://links.ethers.org/v5-errors-"+s+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const o=new Error(e);return o.reason=i,o.code=t,Object.keys(r).forEach((function(e){o[e]=r[e]})),o}throwError(e,t,r){throw this.makeError(e,t,r)}throwArgumentError(e,t,r){return this.throwError(e,I.errors.INVALID_ARGUMENT,{argument:t,value:r})}assert(e,t,r,n){e||this.throwError(t,r,n)}assertArgument(e,t,r,n){e||this.throwArgumentError(t,r,n)}checkNormalize(e){P&&this.throwError("platform missing String.prototype.normalize",I.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:P})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,I.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,I.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,r){r=r?": "+r:"",e<t&&this.throwError("missing argument"+r,I.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+r,I.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError("missing new",I.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",I.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",I.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return O||(O=new I("logger/5.7.0")),O}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",I.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),E){if(!e)return;this.globalLogger().throwError("error censorship permanent",I.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}v=!!e,E=!!t}static setLogLevel(e){const t=b[e.toLowerCase()];null!=t?w=t:I.globalLogger().warn("invalid log level - "+e)}static from(e){return new I(e)}}I.errors=T,I.levels=D;const R=new I("bytes/5.7.0");function C(e){return!!e.toHexString}function B(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return B(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function x(e){return M(e)&&!(e.length%2)||k(e)}function N(e){return"number"==typeof e&&e==e&&e%1==0}function k(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(!N(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(!N(r)||r<0||r>=256)return!1}return!0}function S(e,t){if(t||(t={}),"number"==typeof e){R.checkSafeUint53(e,"invalid arrayify value");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),B(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),C(e)&&(e=e.toHexString()),M(e)){let r=e.substring(2);r.length%2&&("left"===t.hexPad?r="0"+r:"right"===t.hexPad?r+="0":R.throwArgumentError("hex data is odd-length","value",e));const n=[];for(let e=0;e<r.length;e+=2)n.push(parseInt(r.substring(e,e+2),16));return B(new Uint8Array(n))}return k(e)?B(new Uint8Array(e)):R.throwArgumentError("invalid arrayify value","value",e)}function L(e){const t=e.map((e=>S(e))),r=t.reduce(((e,t)=>e+t.length),0),n=new Uint8Array(r);return t.reduce(((e,t)=>(n.set(t,e),e+t.length)),0),B(n)}function F(e){let t=S(e);if(0===t.length)return t;let r=0;for(;r<t.length&&0===t[r];)r++;return r&&(t=t.slice(r)),t}function M(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}const q="0123456789abcdef";function U(e,t){if(t||(t={}),"number"==typeof e){R.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t=q[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),C(e))return e.toHexString();if(M(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":R.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(k(e)){let t="0x";for(let r=0;r<e.length;r++){let n=e[r];t+=q[(240&n)>>4]+q[15&n]}return t}return R.throwArgumentError("invalid hexlify value","value",e)}function V(e){if("string"!=typeof e)e=U(e);else if(!M(e)||e.length%2)return null;return(e.length-2)/2}function H(e,t,r){return"string"!=typeof e?e=U(e):(!M(e)||e.length%2)&&R.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)}function j(e){let t="0x";return e.forEach((e=>{t+=U(e).substring(2)})),t}function Q(e){const t=function(e){"string"!=typeof e&&(e=U(e));M(e)||R.throwArgumentError("invalid hex string","value",e);e=e.substring(2);let t=0;for(;t<e.length&&"0"===e[t];)t++;return"0x"+e.substring(t)}(U(e,{hexPad:"left"}));return"0x"===t?"0x0":t}function G(e,t){for("string"!=typeof e?e=U(e):M(e)||R.throwArgumentError("invalid hex string","value",e),e.length>2*t+2&&R.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function Y(e){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(x(e)){let r=S(e);64===r.length?(t.v=27+(r[32]>>7),r[32]&=127,t.r=U(r.slice(0,32)),t.s=U(r.slice(32,64))):65===r.length?(t.r=U(r.slice(0,32)),t.s=U(r.slice(32,64)),t.v=r[64]):R.throwArgumentError("invalid signature string","signature",e),t.v<27&&(0===t.v||1===t.v?t.v+=27:R.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=U(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){const r=function(e,t){(e=S(e)).length>t&&R.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(t);return r.set(e,t-e.length),B(r)}(S(t._vs),32);t._vs=U(r);const n=r[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=n:t.recoveryParam!==n&&R.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),r[0]&=127;const i=U(r);null==t.s?t.s=i:t.s!==i&&R.throwArgumentError("signature v mismatch _vs","signature",e)}if(null==t.recoveryParam)null==t.v?R.throwArgumentError("signature missing v and recoveryParam","signature",e):0===t.v||1===t.v?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(null==t.v)t.v=27+t.recoveryParam;else{const r=0===t.v||1===t.v?t.v:1-t.v%2;t.recoveryParam!==r&&R.throwArgumentError("signature recoveryParam mismatch v","signature",e)}null!=t.r&&M(t.r)?t.r=G(t.r,32):R.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&M(t.s)?t.s=G(t.s,32):R.throwArgumentError("signature missing or invalid s","signature",e);const r=S(t.s);r[0]>=128&&R.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(r[0]|=128);const n=U(r);t._vs&&(M(t._vs)||R.throwArgumentError("signature invalid _vs","signature",e),t._vs=G(t._vs,32)),null==t._vs?t._vs=n:t._vs!==n&&R.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}const X="bignumber/5.7.0";var $=r.BN;const K=new I(X),z={},J=9007199254740991;let W=!1;class Z{constructor(e,t){e!==z&&K.throwError("cannot call constructor directly; use BigNumber.from",I.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return te(re(this).fromTwos(e))}toTwos(e){return te(re(this).toTwos(e))}abs(){return"-"===this._hex[0]?Z.from(this._hex.substring(1)):this}add(e){return te(re(this).add(re(e)))}sub(e){return te(re(this).sub(re(e)))}div(e){return Z.from(e).isZero()&&ne("division-by-zero","div"),te(re(this).div(re(e)))}mul(e){return te(re(this).mul(re(e)))}mod(e){const t=re(e);return t.isNeg()&&ne("division-by-zero","mod"),te(re(this).umod(t))}pow(e){const t=re(e);return t.isNeg()&&ne("negative-power","pow"),te(re(this).pow(t))}and(e){const t=re(e);return(this.isNegative()||t.isNeg())&&ne("unbound-bitwise-result","and"),te(re(this).and(t))}or(e){const t=re(e);return(this.isNegative()||t.isNeg())&&ne("unbound-bitwise-result","or"),te(re(this).or(t))}xor(e){const t=re(e);return(this.isNegative()||t.isNeg())&&ne("unbound-bitwise-result","xor"),te(re(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&ne("negative-width","mask"),te(re(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&ne("negative-width","shl"),te(re(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&ne("negative-width","shr"),te(re(this).shrn(e))}eq(e){return re(this).eq(re(e))}lt(e){return re(this).lt(re(e))}lte(e){return re(this).lte(re(e))}gt(e){return re(this).gt(re(e))}gte(e){return re(this).gte(re(e))}isNegative(){return"-"===this._hex[0]}isZero(){return re(this).isZero()}toNumber(){try{return re(this).toNumber()}catch(e){ne("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return K.throwError("this platform does not support BigInt",I.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?W||(W=!0,K.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?K.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",I.errors.UNEXPECTED_ARGUMENT,{}):K.throwError("BigNumber.toString does not accept parameters",I.errors.UNEXPECTED_ARGUMENT,{})),re(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof Z)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new Z(z,ee(e)):e.match(/^-?[0-9]+$/)?new Z(z,ee(new $(e))):K.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&ne("underflow","BigNumber.from",e),(e>=J||e<=-J)&&ne("overflow","BigNumber.from",e),Z.from(String(e));const t=e;if("bigint"==typeof t)return Z.from(t.toString());if(k(t))return Z.from(U(t));if(t)if(t.toHexString){const e=t.toHexString();if("string"==typeof e)return Z.from(e)}else{let e=t._hex;if(null==e&&"BigNumber"===t.type&&(e=t.hex),"string"==typeof e&&(M(e)||"-"===e[0]&&M(e.substring(1))))return Z.from(e)}return K.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function ee(e){if("string"!=typeof e)return ee(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&K.throwArgumentError("invalid hex","value",e),"0x00"===(e=ee(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function te(e){return Z.from(ee(e))}function re(e){const t=Z.from(e).toHexString();return"-"===t[0]?new $("-"+t.substring(3),16):new $(t.substring(2),16)}function ne(e,t,r){const n={fault:e,operation:t};return null!=r&&(n.value=r),K.throwError(e,I.errors.NUMERIC_FAULT,n)}const ie=new I(X),se={},oe=Z.from(0),ae=Z.from(-1);function le(e,t,r,n){const i={fault:t,operation:r};return void 0!==n&&(i.value=n),ie.throwError(e,I.errors.NUMERIC_FAULT,i)}let ce="0";for(;ce.length<256;)ce+=ce;function ue(e){if("number"!=typeof e)try{e=Z.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+ce.substring(0,e):ie.throwArgumentError("invalid decimal size","decimals",e)}function de(e,t){null==t&&(t=0);const r=ue(t),n=(e=Z.from(e)).lt(oe);n&&(e=e.mul(ae));let i=e.mod(r).toString();for(;i.length<r.length-1;)i="0"+i;i=i.match(/^([0-9]*[1-9]|0)(0*)/)[1];const s=e.div(r).toString();return e=1===r.length?s:s+"."+i,n&&(e="-"+e),e}function he(e,t){null==t&&(t=0);const r=ue(t);"string"==typeof e&&e.match(/^-?[0-9.]+$/)||ie.throwArgumentError("invalid decimal value","value",e);const n="-"===e.substring(0,1);n&&(e=e.substring(1)),"."===e&&ie.throwArgumentError("missing value","value",e);const i=e.split(".");i.length>2&&ie.throwArgumentError("too many decimal points","value",e);let s=i[0],o=i[1];for(s||(s="0"),o||(o="0");"0"===o[o.length-1];)o=o.substring(0,o.length-1);for(o.length>r.length-1&&le("fractional component exceeds decimals","underflow","parseFixed"),""===o&&(o="0");o.length<r.length-1;)o+="0";const a=Z.from(s),l=Z.from(o);let c=a.mul(r).add(l);return n&&(c=c.mul(ae)),c}class fe{constructor(e,t,r,n){e!==se&&ie.throwError("cannot use FixedFormat constructor; use FixedFormat.from",I.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=r,this.decimals=n,this.name=(t?"":"u")+"fixed"+String(r)+"x"+String(n),this._multiplier=ue(n),Object.freeze(this)}static from(e){if(e instanceof fe)return e;"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,r=128,n=18;if("string"==typeof e)if("fixed"===e);else if("ufixed"===e)t=!1;else{const i=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);i||ie.throwArgumentError("invalid fixed format","format",e),t="u"!==i[1],r=parseInt(i[2]),n=parseInt(i[3])}else if(e){const i=(t,r,n)=>null==e[t]?n:(typeof e[t]!==r&&ie.throwArgumentError("invalid fixed format ("+t+" not "+r+")","format."+t,e[t]),e[t]);t=i("signed","boolean",t),r=i("width","number",r),n=i("decimals","number",n)}return r%8&&ie.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),n>80&&ie.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new fe(se,t,r,n)}}class pe{constructor(e,t,r,n){e!==se&&ie.throwError("cannot use FixedNumber constructor; use FixedNumber.from",I.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=n,this._hex=t,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&ie.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=he(this._value,this.format.decimals),r=he(e._value,e.format.decimals);return pe.fromValue(t.add(r),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=he(this._value,this.format.decimals),r=he(e._value,e.format.decimals);return pe.fromValue(t.sub(r),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=he(this._value,this.format.decimals),r=he(e._value,e.format.decimals);return pe.fromValue(t.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=he(this._value,this.format.decimals),r=he(e._value,e.format.decimals);return pe.fromValue(t.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");1===e.length&&e.push("0");let t=pe.from(e[0],this.format);const r=!e[1].match(/^(0*)$/);return this.isNegative()&&r&&(t=t.subUnsafe(me.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");1===e.length&&e.push("0");let t=pe.from(e[0],this.format);const r=!e[1].match(/^(0*)$/);return!this.isNegative()&&r&&(t=t.addUnsafe(me.toFormat(t.format))),t}round(e){null==e&&(e=0);const t=this.toString().split(".");if(1===t.length&&t.push("0"),(e<0||e>80||e%1)&&ie.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const r=pe.from("1"+ce.substring(0,e),this.format),n=ge.toFormat(this.format);return this.mulUnsafe(r).addUnsafe(n).floor().divUnsafe(r)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(e){if(null==e)return this._hex;e%8&&ie.throwArgumentError("invalid byte width","width",e);return G(Z.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString(),e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return pe.fromString(this._value,e)}static fromValue(e,t,r){return null!=r||null==t||function(e){return null!=e&&(Z.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||M(e)||"bigint"==typeof e||k(e))}(t)||(r=t,t=null),null==t&&(t=0),null==r&&(r="fixed"),pe.fromString(de(e,t),fe.from(r))}static fromString(e,t){null==t&&(t="fixed");const r=fe.from(t),n=he(e,r.decimals);!r.signed&&n.lt(oe)&&le("unsigned value cannot be negative","overflow","value",e);let i=null;r.signed?i=n.toTwos(r.width).toHexString():(i=n.toHexString(),i=G(i,r.width/8));const s=de(n,r.decimals);return new pe(se,i,s,r)}static fromBytes(e,t){null==t&&(t="fixed");const r=fe.from(t);if(S(e).length>r.width/8)throw new Error("overflow");let n=Z.from(e);r.signed&&(n=n.fromTwos(r.width));const i=n.toTwos((r.signed?0:1)+r.width).toHexString(),s=de(n,r.decimals);return new pe(se,i,s,r)}static from(e,t){if("string"==typeof e)return pe.fromString(e,t);if(k(e))return pe.fromBytes(e,t);try{return pe.fromValue(e,0,t)}catch(e){if(e.code!==I.errors.INVALID_ARGUMENT)throw e}return ie.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!(!e||!e._isFixedNumber)}}const me=pe.from(1),ge=pe.from("0.5");var ye=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const Ae=new I("properties/5.7.0");function Ee(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function ve(e,t){for(let r=0;r<32;r++){if(e[t])return e[t];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function be(e){return ye(this,void 0,void 0,(function*(){const t=Object.keys(e).map((t=>{const r=e[t];return Promise.resolve(r).then((e=>({key:t,value:e})))}));return(yield Promise.all(t)).reduce(((e,t)=>(e[t.key]=t.value,e)),{})}))}function we(e){const t={};for(const r in e)t[r]=e[r];return t}const Oe={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function Pe(e){if(null==e||Oe[typeof e])return!0;if(Array.isArray(e)||"object"==typeof e){if(!Object.isFrozen(e))return!1;const t=Object.keys(e);for(let r=0;r<t.length;r++){let n=null;try{n=e[t[r]]}catch(e){continue}if(!Pe(n))return!1}return!0}return Ae.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function De(e){if(Pe(e))return e;if(Array.isArray(e))return Object.freeze(e.map((e=>Te(e))));if("object"==typeof e){const t={};for(const r in e){const n=e[r];void 0!==n&&Ee(t,r,Te(n))}return t}return Ae.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function Te(e){return De(e)}class _e{constructor(e){for(const t in e)this[t]=Te(e[t])}}var Ie=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const Re=new I("abstract-provider/5.7.0");class Ce extends _e{static isForkEvent(e){return!(!e||!e._isForkEvent)}}class Be{constructor(){Re.checkAbstract(new.target,Be),Ee(this,"_isProvider",!0)}getFeeData(){return Ie(this,void 0,void 0,(function*(){const{block:e,gasPrice:t}=yield be({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch((e=>null))});let r=null,n=null,i=null;return e&&e.baseFeePerGas&&(r=e.baseFeePerGas,i=Z.from("1500000000"),n=e.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:r,maxFeePerGas:n,maxPriorityFeePerGas:i,gasPrice:t}}))}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!(!e||!e._isProvider)}}const xe=new I("networks/5.7.1");function Ne(e){const t=function(t,r){null==r&&(r={});const n=[];if(t.InfuraProvider&&"-"!==r.infura)try{n.push(new t.InfuraProvider(e,r.infura))}catch(e){}if(t.EtherscanProvider&&"-"!==r.etherscan)try{n.push(new t.EtherscanProvider(e,r.etherscan))}catch(e){}if(t.AlchemyProvider&&"-"!==r.alchemy)try{n.push(new t.AlchemyProvider(e,r.alchemy))}catch(e){}if(t.PocketProvider&&"-"!==r.pocket){const i=["goerli","ropsten","rinkeby","sepolia"];try{const s=new t.PocketProvider(e,r.pocket);s.network&&-1===i.indexOf(s.network.name)&&n.push(s)}catch(e){}}if(t.CloudflareProvider&&"-"!==r.cloudflare)try{n.push(new t.CloudflareProvider(e))}catch(e){}if(t.AnkrProvider&&"-"!==r.ankr)try{const i=["ropsten"],s=new t.AnkrProvider(e,r.ankr);s.network&&-1===i.indexOf(s.network.name)&&n.push(s)}catch(e){}if(0===n.length)return null;if(t.FallbackProvider){let i=1;return null!=r.quorum?i=r.quorum:"homestead"===e&&(i=2),new t.FallbackProvider(n,i)}return n[0]};return t.renetwork=function(e){return Ne(e)},t}function ke(e,t){const r=function(r,n){return r.JsonRpcProvider?new r.JsonRpcProvider(e,t):null};return r.renetwork=function(t){return ke(e,t)},r}const Se={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:Ne("homestead")},Le={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:Ne("ropsten")},Fe={chainId:63,name:"classicMordor",_defaultProvider:ke("https://www.ethercluster.com/mordor","classicMordor")},Me={unspecified:{chainId:0,name:"unspecified"},homestead:Se,mainnet:Se,morden:{chainId:2,name:"morden"},ropsten:Le,testnet:Le,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:Ne("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:Ne("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:Ne("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:Ne("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:ke("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:Fe,classicTestnet:Fe,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:ke("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:Ne("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:Ne("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function qe(e){e=atob(e);const t=[];for(let r=0;r<e.length;r++)t.push(e.charCodeAt(r));return S(t)}function Ue(e){e=S(e);let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}class Ve{constructor(e){Ee(this,"alphabet",e),Ee(this,"base",e.length),Ee(this,"_alphabetMap",{}),Ee(this,"_leader",e.charAt(0));for(let t=0;t<e.length;t++)this._alphabetMap[e.charAt(t)]=t}encode(e){let t=S(e);if(0===t.length)return"";let r=[0];for(let e=0;e<t.length;++e){let n=t[e];for(let e=0;e<r.length;++e)n+=r[e]<<8,r[e]=n%this.base,n=n/this.base|0;for(;n>0;)r.push(n%this.base),n=n/this.base|0}let n="";for(let e=0;0===t[e]&&e<t.length-1;++e)n+=this._leader;for(let e=r.length-1;e>=0;--e)n+=this.alphabet[r[e]];return n}decode(e){if("string"!=typeof e)throw new TypeError("Expected String");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let r=0;r<e.length;r++){let n=this._alphabetMap[e[r]];if(void 0===n)throw new Error("Non-base"+this.base+" character");let i=n;for(let e=0;e<t.length;++e)i+=t[e]*this.base,t[e]=255&i,i>>=8;for(;i>0;)t.push(255&i),i>>=8}for(let r=0;e[r]===this._leader&&r<e.length-1;++r)t.push(0);return S(new Uint8Array(t.reverse()))}}new Ve("abcdefghijklmnopqrstuvwxyz234567");const He=new Ve("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),je=Z.from(-1),Qe=Z.from(0),Ge=Z.from(1),Ye=Z.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Xe(e){return"0x"+t.keccak_256(S(e))}const $e=new I("strings/5.7.0");var Ke,ze;function Je(e,t,r,n,i){if(e===ze.BAD_PREFIX||e===ze.UNEXPECTED_CONTINUE){let e=0;for(let n=t+1;n<r.length&&r[n]>>6==2;n++)e++;return e}return e===ze.OVERRUN?r.length-t-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(Ke||(Ke={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(ze||(ze={}));const We=Object.freeze({error:function(e,t,r,n,i){return $e.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",r)},ignore:Je,replace:function(e,t,r,n,i){return e===ze.OVERLONG?(n.push(i),0):(n.push(65533),Je(e,t,r))}});function Ze(e,t){null==t&&(t=We.error),e=S(e);const r=[];let n=0;for(;n<e.length;){const i=e[n++];if(!(i>>7)){r.push(i);continue}let s=null,o=null;if(192==(224&i))s=1,o=127;else if(224==(240&i))s=2,o=2047;else{if(240!=(248&i)){n+=t(128==(192&i)?ze.UNEXPECTED_CONTINUE:ze.BAD_PREFIX,n-1,e,r);continue}s=3,o=65535}if(n-1+s>=e.length){n+=t(ze.OVERRUN,n-1,e,r);continue}let a=i&(1<<8-s-1)-1;for(let i=0;i<s;i++){let i=e[n];if(128!=(192&i)){n+=t(ze.MISSING_CONTINUE,n,e,r),a=null;break}a=a<<6|63&i,n++}null!==a&&(a>1114111?n+=t(ze.OUT_OF_RANGE,n-1-s,e,r,a):a>=55296&&a<=57343?n+=t(ze.UTF16_SURROGATE,n-1-s,e,r,a):a<=o?n+=t(ze.OVERLONG,n-1-s,e,r,a):r.push(a))}return r}function et(e,t=Ke.current){t!=Ke.current&&($e.checkNormalize(),e=e.normalize(t));let r=[];for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n<128)r.push(n);else if(n<2048)r.push(n>>6|192),r.push(63&n|128);else if(55296==(64512&n)){t++;const i=e.charCodeAt(t);if(t>=e.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const s=65536+((1023&n)<<10)+(1023&i);r.push(s>>18|240),r.push(s>>12&63|128),r.push(s>>6&63|128),r.push(63&s|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return S(r)}function tt(e,t){return Ze(e,t).map((e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e))))).join("")}function rt(e){return Xe(et(e))}const nt="hash/5.7.0";function it(e,t){null==t&&(t=1);const r=[],n=r.forEach,i=function(e,t){n.call(e,(function(e){t>0&&Array.isArray(e)?i(e,t-1):r.push(e)}))};return i(e,t),r}function st(e){return function(e){let t=0;return()=>e[t++]}(function(e){let t=0;function r(){return e[t++]<<8|e[t++]}let n=r(),i=1,s=[0,1];for(let e=1;e<n;e++)s.push(i+=r());let o=r(),a=t;t+=o;let l=0,c=0;function u(){return 0==l&&(c=c<<8|e[t++],l=8),c>>--l&1}const d=Math.pow(2,31),h=d>>>1,f=h>>1,p=d-1;let m=0;for(let e=0;e<31;e++)m=m<<1|u();let g=[],y=0,A=d;for(;;){let e=Math.floor(((m-y+1)*i-1)/A),t=0,r=n;for(;r-t>1;){let n=t+r>>>1;e<s[n]?r=n:t=n}if(0==t)break;g.push(t);let o=y+Math.floor(A*s[t]/i),a=y+Math.floor(A*s[t+1]/i)-1;for(;!((o^a)&h);)m=m<<1&p|u(),o=o<<1&p,a=a<<1&p|1;for(;o&~a&f;)m=m&h|m<<1&p>>>1|u(),o=o<<1^h,a=(a^h)<<1|h|1;y=o,A=1+a-o}let E=n-4;return g.map((t=>{switch(t-E){case 3:return E+65792+(e[a++]<<16|e[a++]<<8|e[a++]);case 2:return E+256+(e[a++]<<8|e[a++]);case 1:return E+e[a++];default:return t-1}}))}(e))}function ot(e){return 1&e?~e>>1:e>>1}function at(e,t){let r=Array(e);for(let n=0,i=-1;n<e;n++)r[n]=i+=1+t();return r}function lt(e,t){let r=Array(e);for(let n=0,i=0;n<e;n++)r[n]=i+=ot(t());return r}function ct(e,t){let r=at(e(),e),n=e(),i=at(n,e),s=function(e,t){let r=Array(e);for(let n=0;n<e;n++)r[n]=1+t();return r}(n,e);for(let e=0;e<n;e++)for(let t=0;t<s[e];t++)r.push(i[e]+t);return t?r.map((e=>t[e])):r}function ut(e,t,r){let n=Array(e).fill(void 0).map((()=>[]));for(let i=0;i<t;i++)lt(e,r).forEach(((e,t)=>n[t].push(e)));return n}function dt(e,t){let r=1+t(),n=t(),i=function(e){let t=[];for(;;){let r=e();if(0==r)break;t.push(r)}return t}(t);return it(ut(i.length,1+e,t).map(((e,t)=>{const s=e[0],o=e.slice(1);return Array(i[t]).fill(void 0).map(((e,t)=>{let i=t*n;return[s+t*r,o.map((e=>e+i))]}))})))}function ht(e,t){return ut(1+t(),1+e,t).map((e=>[e[0],e.slice(1)]))}const ft=st(qe("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==")),pt=new Set(ct(ft)),mt=new Set(ct(ft)),gt=function(e){let t=[];for(;;){let r=e();if(0==r)break;t.push(dt(r,e))}for(;;){let r=e()-1;if(r<0)break;t.push(ht(r,e))}return function(e){const t={};for(let r=0;r<e.length;r++){const n=e[r];t[n[0]]=n[1]}return t}(it(t))}(ft),yt=function(e){let t=ct(e).sort(((e,t)=>e-t));return function r(){let n=[];for(;;){let i=ct(e,t);if(0==i.length)break;n.push({set:new Set(i),node:r()})}n.sort(((e,t)=>t.set.size-e.set.size));let i=e(),s=i%3;i=i/3|0;let o=!!(1&i);return i>>=1,{branches:n,valid:s,fe0f:o,save:1==i,check:2==i}}()}(ft),At=45,Et=95;function vt(e){return function(e,t=Ke.current){return Ze(et(e,t))}(e)}function bt(e){return e.filter((e=>65039!=e))}function wt(e){for(let t of e.split(".")){let e=vt(t);try{for(let t=e.lastIndexOf(Et)-1;t>=0;t--)if(e[t]!==Et)throw new Error("underscore only allowed at start");if(e.length>=4&&e.every((e=>e<128))&&e[2]===At&&e[3]===At)throw new Error("invalid label extension")}catch(e){throw new Error(`Invalid label "${t}": ${e.message}`)}}return e}function Ot(e){return wt(function(e,t){let r=vt(e).reverse(),n=[];for(;r.length;){let e=Pt(r);if(e){n.push(...t(e));continue}let i=r.pop();if(pt.has(i)){n.push(i);continue}if(mt.has(i))continue;let s=gt[i];if(!s)throw new Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`);n.push(...s)}return wt((i=String.fromCodePoint(...n),i.normalize("NFC")));var i}(e,bt))}function Pt(e,t){var r;let n,i,s=yt,o=[],a=e.length;for(;a;){let t=e[--a];if(s=null===(r=s.branches.find((e=>e.set.has(t))))||void 0===r?void 0:r.node,!s)break;if(s.save)i=t;else if(s.check&&t===i)break;o.push(t),s.fe0f&&(o.push(65039),a>0&&65039==e[a-1]&&a--),s.valid&&(n=o.slice(),2==s.valid&&n.splice(1,1),e.length=a)}return n}const Dt=new I(nt),Tt=new Uint8Array(32);function _t(e){if(0===e.length)throw new Error("invalid ENS name; empty component");return e}function It(e){const t=et(Ot(e)),r=[];if(0===e.length)return r;let n=0;for(let e=0;e<t.length;e++){46===t[e]&&(r.push(_t(t.slice(n,e))),n=e+1)}if(n>=t.length)throw new Error("invalid ENS name; empty component");return r.push(_t(t.slice(n))),r}function Rt(e){"string"!=typeof e&&Dt.throwArgumentError("invalid ENS name; not a string","name",e);let t=Tt;const r=It(e);for(;r.length;)t=Xe(L([t,Xe(r.pop())]));return U(t)}Tt.fill(0);const Ct=new I("rlp/5.7.0");function Bt(e){const t=[];for(;e;)t.unshift(255&e),e>>=8;return t}function xt(e,t,r){let n=0;for(let i=0;i<r;i++)n=256*n+e[t+i];return n}function Nt(e){if(Array.isArray(e)){let t=[];if(e.forEach((function(e){t=t.concat(Nt(e))})),t.length<=55)return t.unshift(192+t.length),t;const r=Bt(t.length);return r.unshift(247+r.length),r.concat(t)}x(e)||Ct.throwArgumentError("RLP object must be BytesLike","object",e);const t=Array.prototype.slice.call(S(e));if(1===t.length&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const r=Bt(t.length);return r.unshift(183+r.length),r.concat(t)}function kt(e){return U(Nt(e))}function St(e,t,r,n){const i=[];for(;r<t+1+n;){const s=Lt(e,r);i.push(s.result),(r+=s.consumed)>t+1+n&&Ct.throwError("child data too short",I.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:i}}function Lt(e,t){if(0===e.length&&Ct.throwError("data too short",I.errors.BUFFER_OVERRUN,{}),e[t]>=248){const r=e[t]-247;t+1+r>e.length&&Ct.throwError("data short segment too short",I.errors.BUFFER_OVERRUN,{});const n=xt(e,t+1,r);return t+1+r+n>e.length&&Ct.throwError("data long segment too short",I.errors.BUFFER_OVERRUN,{}),St(e,t,t+1+r,r+n)}if(e[t]>=192){const r=e[t]-192;return t+1+r>e.length&&Ct.throwError("data array too short",I.errors.BUFFER_OVERRUN,{}),St(e,t,t+1,r)}if(e[t]>=184){const r=e[t]-183;t+1+r>e.length&&Ct.throwError("data array too short",I.errors.BUFFER_OVERRUN,{});const n=xt(e,t+1,r);t+1+r+n>e.length&&Ct.throwError("data array too short",I.errors.BUFFER_OVERRUN,{});return{consumed:1+r+n,result:U(e.slice(t+1+r,t+1+r+n))}}if(e[t]>=128){const r=e[t]-128;t+1+r>e.length&&Ct.throwError("data too short",I.errors.BUFFER_OVERRUN,{});return{consumed:1+r,result:U(e.slice(t+1,t+1+r))}}return{consumed:1,result:U(e[t])}}function Ft(e){const t=S(e),r=Lt(t,0);return r.consumed!==t.length&&Ct.throwArgumentError("invalid rlp data","data",e),r.result}const Mt=new I("address/5.7.0");function qt(e){M(e,20)||Mt.throwArgumentError("invalid address","address",e);const t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let e=0;e<40;e++)r[e]=t[e].charCodeAt(0);const n=S(Xe(r));for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&n[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}const Ut={};for(let e=0;e<10;e++)Ut[String(e)]=String(e);for(let e=0;e<26;e++)Ut[String.fromCharCode(65+e)]=String(10+e);const Vt=Math.floor((Ht=9007199254740991,Math.log10?Math.log10(Ht):Math.log(Ht)/Math.LN10));var Ht;function jt(e){let t=null;if("string"!=typeof e&&Mt.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=qt(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Mt.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==function(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((e=>Ut[e])).join("");for(;t.length>=Vt;){let e=t.substring(0,Vt);t=parseInt(e,10)%97+t.substring(e.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r="0"+r;return r}(e)&&Mt.throwArgumentError("bad icap checksum","address",e),r=e.substring(4),t=new $(r,36).toString(16);t.length<40;)t="0"+t;t=qt("0x"+t)}else Mt.throwArgumentError("invalid address","address",e);var r;return t}function Qt(e){let t=null;try{t=jt(e.from)}catch(t){Mt.throwArgumentError("missing from address","transaction",e)}return jt(H(Xe(kt([t,F(S(Z.from(e.nonce).toHexString()))])),12))}var Gt=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const Yt=new I(nt),Xt=new Uint8Array(32);Xt.fill(0);const $t=Z.from(-1),Kt=Z.from(0),zt=Z.from(1),Jt=Z.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const Wt=G(zt.toHexString(),32),Zt=G(Kt.toHexString(),32),er={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},tr=["name","version","chainId","verifyingContract","salt"];function rr(e){return function(t){return"string"!=typeof t&&Yt.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}const nr={name:rr("name"),version:rr("version"),chainId:function(e){try{return Z.from(e).toString()}catch(e){}return Yt.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return jt(e).toLowerCase()}catch(e){}return Yt.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{const t=S(e);if(32!==t.length)throw new Error("bad length");return U(t)}catch(e){}return Yt.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function ir(e){{const t=e.match(/^(u?)int(\d*)$/);if(t){const r=""===t[1],n=parseInt(t[2]||"256");(n%8!=0||n>256||t[2]&&t[2]!==String(n))&&Yt.throwArgumentError("invalid numeric width","type",e);const i=Jt.mask(r?n-1:n),s=r?i.add(zt).mul($t):Kt;return function(t){const r=Z.from(t);return(r.lt(s)||r.gt(i))&&Yt.throwArgumentError(`value out-of-bounds for ${e}`,"value",t),G(r.toTwos(256).toHexString(),32)}}}{const t=e.match(/^bytes(\d+)$/);if(t){const r=parseInt(t[1]);return(0===r||r>32||t[1]!==String(r))&&Yt.throwArgumentError("invalid bytes width","type",e),function(t){return S(t).length!==r&&Yt.throwArgumentError(`invalid length for ${e}`,"value",t),function(e){const t=S(e),r=t.length%32;return r?j([t,Xt.slice(r)]):U(t)}(t)}}}switch(e){case"address":return function(e){return G(jt(e),32)};case"bool":return function(e){return e?Wt:Zt};case"bytes":return function(e){return Xe(e)};case"string":return function(e){return rt(e)}}return null}function sr(e,t){return`${e}(${t.map((({name:e,type:t})=>t+" "+e)).join(",")})`}class or{constructor(e){Ee(this,"types",Object.freeze(Te(e))),Ee(this,"_encoderCache",{}),Ee(this,"_types",{});const t={},r={},n={};Object.keys(e).forEach((e=>{t[e]={},r[e]=[],n[e]={}}));for(const n in e){const i={};e[n].forEach((s=>{i[s.name]&&Yt.throwArgumentError(`duplicate variable name ${JSON.stringify(s.name)} in ${JSON.stringify(n)}`,"types",e),i[s.name]=!0;const o=s.type.match(/^([^\x5b]*)(\x5b|$)/)[1];o===n&&Yt.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",e);ir(o)||(r[o]||Yt.throwArgumentError(`unknown type ${JSON.stringify(o)}`,"types",e),r[o].push(n),t[n][o]=!0)}))}const i=Object.keys(r).filter((e=>0===r[e].length));0===i.length?Yt.throwArgumentError("missing primary type","types",e):i.length>1&&Yt.throwArgumentError(`ambiguous primary types or unused types: ${i.map((e=>JSON.stringify(e))).join(", ")}`,"types",e),Ee(this,"primaryType",i[0]),function i(s,o){o[s]&&Yt.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",e),o[s]=!0,Object.keys(t[s]).forEach((e=>{r[e]&&(i(e,o),Object.keys(o).forEach((t=>{n[t][e]=!0})))})),delete o[s]}(this.primaryType,{});for(const t in n){const r=Object.keys(n[t]);r.sort(),this._types[t]=sr(t,e[t])+r.map((t=>sr(t,e[t]))).join("")}}getEncoder(e){let t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}_getEncoder(e){{const t=ir(e);if(t)return t}const t=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(t){const e=t[1],r=this.getEncoder(e),n=parseInt(t[3]);return t=>{n>=0&&t.length!==n&&Yt.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);let i=t.map(r);return this._types[e]&&(i=i.map(Xe)),Xe(j(i))}}const r=this.types[e];if(r){const t=rt(this._types[e]);return e=>{const n=r.map((({name:t,type:r})=>{const n=this.getEncoder(r)(e[t]);return this._types[r]?Xe(n):n}));return n.unshift(t),j(n)}}return Yt.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const t=this._types[e];return t||Yt.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return Xe(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,r){if(ir(e))return r(e,t);const n=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(n){const e=n[1],i=parseInt(n[3]);return i>=0&&t.length!==i&&Yt.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map((t=>this._visit(e,t,r)))}const i=this.types[e];return i?i.reduce(((e,{name:n,type:i})=>(e[n]=this._visit(i,t[n],r),e)),{}):Yt.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new or(e)}static getPrimaryType(e){return or.from(e).primaryType}static hashStruct(e,t,r){return or.from(t).hashStruct(e,r)}static hashDomain(e){const t=[];for(const r in e){const n=er[r];n||Yt.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",e),t.push({name:r,type:n})}return t.sort(((e,t)=>tr.indexOf(e.name)-tr.indexOf(t.name))),or.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,r){return j(["0x1901",or.hashDomain(e),or.from(t).hash(r)])}static hash(e,t,r){return Xe(or.encode(e,t,r))}static resolveNames(e,t,r,n){return Gt(this,void 0,void 0,(function*(){e=we(e);const i={};e.verifyingContract&&!M(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const s=or.from(t);s.visit(r,((e,t)=>("address"!==e||M(t,20)||(i[t]="0x"),t)));for(const e in i)i[e]=yield n(e);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),r=s.visit(r,((e,t)=>"address"===e&&i[t]?i[t]:t)),{domain:e,value:r}}))}static getPayload(e,t,r){or.hashDomain(e);const n={},i=[];tr.forEach((t=>{const r=e[t];null!=r&&(n[t]=nr[t](r),i.push({name:t,type:er[t]}))}));const s=or.from(t),o=we(t);return o.EIP712Domain?Yt.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",t):o.EIP712Domain=i,s.encode(r),{types:o,domain:n,primaryType:s.primaryType,message:s.visit(r,((e,t)=>{if(e.match(/^bytes(\d*)/))return U(S(t));if(e.match(/^u?int/))return Z.from(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return"string"!=typeof t&&Yt.throwArgumentError("invalid string","value",t),t}return Yt.throwArgumentError("unsupported type","type",e)}))}}}function ar(e){return"0x"+n.sha256().update(S(e)).digest("hex")}var lr=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};function cr(e,t){return lr(this,void 0,void 0,(function*(){null==t&&(t={});const r={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0};if(!0!==t.skipFetchSetup&&(r.mode="cors",r.cache="no-cache",r.credentials="same-origin",r.redirect="follow",r.referrer="client"),null!=t.fetchOptions){const e=t.fetchOptions;e.mode&&(r.mode=e.mode),e.cache&&(r.cache=e.cache),e.credentials&&(r.credentials=e.credentials),e.redirect&&(r.redirect=e.redirect),e.referrer&&(r.referrer=e.referrer)}const n=yield fetch(e,r),i=yield n.arrayBuffer(),s={};return n.headers.forEach?n.headers.forEach(((e,t)=>{s[t.toLowerCase()]=e})):n.headers.keys().forEach((e=>{s[e.toLowerCase()]=n.headers.get(e)})),{headers:s,statusCode:n.status,statusMessage:n.statusText,body:S(new Uint8Array(i))}}))}var ur=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const dr=new I("web/5.7.1");function hr(e){return new Promise((t=>{setTimeout(t,e)}))}function fr(e,t){if(null==e)return null;if("string"==typeof e)return e;if(x(e)){if(t&&("text"===t.split("/")[0]||"application/json"===t.split(";")[0].trim()))try{return tt(e)}catch(e){}return U(e)}return e}function pr(e,t,r){let n=null;if(null!=t){n=et(t);const r="string"==typeof e?{url:e}:we(e);if(r.headers){0!==Object.keys(r.headers).filter((e=>"content-type"===e.toLowerCase())).length||(r.headers=we(r.headers),r.headers["content-type"]="application/json")}else r.headers={"content-type":"application/json"};e=r}return function(e,t,r){const n="object"==typeof e&&null!=e.throttleLimit?e.throttleLimit:12;dr.assertArgument(n>0&&n%1==0,"invalid connection throttle limit","connection.throttleLimit",n);const i="object"==typeof e?e.throttleCallback:null,s="object"==typeof e&&"number"==typeof e.throttleSlotInterval?e.throttleSlotInterval:100;dr.assertArgument(s>0&&s%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",s);const o="object"==typeof e&&!!e.errorPassThrough,a={};let l=null;const c={method:"GET"};let u=!1,d=12e4;if("string"==typeof e)l=e;else if("object"==typeof e){if(null!=e&&null!=e.url||dr.throwArgumentError("missing URL","connection.url",e),l=e.url,"number"==typeof e.timeout&&e.timeout>0&&(d=e.timeout),e.headers)for(const t in e.headers)a[t.toLowerCase()]={key:t,value:String(e.headers[t])},["if-none-match","if-modified-since"].indexOf(t.toLowerCase())>=0&&(u=!0);if(c.allowGzip=!!e.allowGzip,null!=e.user&&null!=e.password){"https:"!==l.substring(0,6)&&!0!==e.allowInsecureAuthentication&&dr.throwError("basic authentication requires a secure https url",I.errors.INVALID_ARGUMENT,{argument:"url",url:l,user:e.user,password:"[REDACTED]"});const t=e.user+":"+e.password;a.authorization={key:"Authorization",value:"Basic "+Ue(et(t))}}null!=e.skipFetchSetup&&(c.skipFetchSetup=!!e.skipFetchSetup),null!=e.fetchOptions&&(c.fetchOptions=we(e.fetchOptions))}const h=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),f=l?l.match(h):null;if(f)try{const e={statusCode:200,statusMessage:"OK",headers:{"content-type":f[1]||"text/plain"},body:f[2]?qe(f[3]):(p=f[3],et(p.replace(/%([0-9a-f][0-9a-f])/gi,((e,t)=>String.fromCharCode(parseInt(t,16))))))};let t=e.body;return r&&(t=r(e.body,e)),Promise.resolve(t)}catch(e){dr.throwError("processing response error",I.errors.SERVER_ERROR,{body:fr(f[1],f[2]),error:e,requestBody:null,requestMethod:"GET",url:l})}var p;t&&(c.method="POST",c.body=t,null==a["content-type"]&&(a["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==a["content-length"]&&(a["content-length"]={key:"Content-Length",value:String(t.length)}));const m={};Object.keys(a).forEach((e=>{const t=a[e];m[t.key]=t.value})),c.headers=m;const g=function(){let e=null;return{promise:new Promise((function(t,r){d&&(e=setTimeout((()=>{null!=e&&(e=null,r(dr.makeError("timeout",I.errors.TIMEOUT,{requestBody:fr(c.body,m["content-type"]),requestMethod:c.method,timeout:d,url:l})))}),d))})),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),y=function(){return ur(this,void 0,void 0,(function*(){for(let e=0;e<n;e++){let t=null;try{if(t=yield cr(l,c),e<n)if(301===t.statusCode||302===t.statusCode){const e=t.headers.location||"";if("GET"===c.method&&e.match(/^https:/)){l=t.headers.location;continue}}else if(429===t.statusCode){let r=!0;if(i&&(r=yield i(e,l)),r){let r=0;const n=t.headers["retry-after"];r="string"==typeof n&&n.match(/^[1-9][0-9]*$/)?1e3*parseInt(n):s*parseInt(String(Math.random()*Math.pow(2,e))),yield hr(r);continue}}}catch(e){t=e.response,null==t&&(g.cancel(),dr.throwError("missing response",I.errors.SERVER_ERROR,{requestBody:fr(c.body,m["content-type"]),requestMethod:c.method,serverError:e,url:l}))}let a=t.body;if(u&&304===t.statusCode?a=null:!o&&(t.statusCode<200||t.statusCode>=300)&&(g.cancel(),dr.throwError("bad response",I.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:fr(a,t.headers?t.headers["content-type"]:null),requestBody:fr(c.body,m["content-type"]),requestMethod:c.method,url:l})),r)try{const e=yield r(a,t);return g.cancel(),e}catch(r){if(r.throttleRetry&&e<n){let t=!0;if(i&&(t=yield i(e,l)),t){const t=s*parseInt(String(Math.random()*Math.pow(2,e)));yield hr(t);continue}}g.cancel(),dr.throwError("processing response error",I.errors.SERVER_ERROR,{body:fr(a,t.headers?t.headers["content-type"]:null),error:r,requestBody:fr(c.body,m["content-type"]),requestMethod:c.method,url:l})}return g.cancel(),a}return dr.throwError("failed response",I.errors.SERVER_ERROR,{requestBody:fr(c.body,m["content-type"]),requestMethod:c.method,url:l})}))}();return Promise.race([g.promise,y])}(e,n,((e,t)=>{let n=null;if(null!=e)try{n=JSON.parse(tt(e))}catch(t){dr.throwError("invalid JSON",I.errors.SERVER_ERROR,{body:e,error:t})}return r&&(n=r(n,t)),n}))}function mr(e,t){return t||(t={}),null==(t=we(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(r,n){let i=null,s=!1;const o=()=>!s&&(s=!0,i&&clearTimeout(i),!0);t.timeout&&(i=setTimeout((()=>{o()&&n(new Error("timeout"))}),t.timeout));const a=t.retryLimit;let l=0;!function i(){return e().then((function(e){if(void 0!==e)o()&&r(e);else if(t.oncePoll)t.oncePoll.once("poll",i);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!s){if(l++,l>a)return void(o()&&n(new Error("retry limit reached")));let e=t.interval*parseInt(String(Math.random()*Math.pow(2,l)));e<t.floor&&(e=t.floor),e>t.ceiling&&(e=t.ceiling),setTimeout(i,e)}return null}),(function(e){o()&&n(e)}))}()}))}const gr="providers/5.7.2";function yr(e,t,r){return r={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&r.path)}},e(r,r.exports),r.exports}var Ar=Er;function Er(e,t){if(!e)throw new Error(t||"Assertion failed")}Er.equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)};var vr=yr((function(e,t){var r=t;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r<e.length;r++)t+=n(e[r].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}else for(n=0;n<e.length;n++){var i=e.charCodeAt(n),s=i>>8,o=255&i;s?r.push(s,o):r.push(o)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}})),br=yr((function(e,t){var n=t;n.assert=Ar,n.toArray=vr.toArray,n.zero2=vr.zero2,n.toHex=vr.toHex,n.encode=vr.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<<t+1,s=e.clone(),o=0;o<n.length;o++){var a,l=s.andln(i-1);s.isOdd()?(a=l>(i>>1)-1?(i>>1)-l:l,s.isubn(a)):a=0,n[o]=a,s.iushrn(1)}return n},n.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n,i=0,s=0;e.cmpn(-i)>0||t.cmpn(-s)>0;){var o,a,l=e.andln(3)+i&3,c=t.andln(3)+s&3;3===l&&(l=-1),3===c&&(c=-1),o=1&l?3!==(n=e.andln(7)+i&7)&&5!==n||2!==c?l:-l:0,r[0].push(o),a=1&c?3!==(n=t.andln(7)+s&7)&&5!==n||2!==l?c:-c:0,r[1].push(a),2*i===o+1&&(i=1-i),2*s===a+1&&(s=1-s),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new r(e,"hex","le")}})),wr=br.getNAF,Or=br.getJSF,Pr=br.assert;function Dr(e,t){this.type=e,this.p=new r(t.p,16),this.red=t.prime?r.red(t.prime):r.mont(this.p),this.zero=new r(0).toRed(this.red),this.one=new r(1).toRed(this.red),this.two=new r(2).toRed(this.red),this.n=t.n&&new r(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Tr=Dr;function _r(e,t){this.curve=e,this.type=t,this.precomputed=null}Dr.prototype.point=function(){throw new Error("Not implemented")},Dr.prototype.validate=function(){throw new Error("Not implemented")},Dr.prototype._fixedNafMul=function(e,t){Pr(e.precomputed);var r=e._getDoubles(),n=wr(t,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;var s,o,a=[];for(s=0;s<n.length;s+=r.step){o=0;for(var l=s+r.step-1;l>=s;l--)o=(o<<1)+n[l];a.push(o)}for(var c=this.jpoint(null,null,null),u=this.jpoint(null,null,null),d=i;d>0;d--){for(s=0;s<a.length;s++)(o=a[s])===d?u=u.mixedAdd(r.points[s]):o===-d&&(u=u.mixedAdd(r.points[s].neg()));c=c.add(u)}return c.toP()},Dr.prototype._wnafMul=function(e,t){var r=4,n=e._getNAFPoints(r);r=n.wnd;for(var i=n.points,s=wr(t,r,this._bitLength),o=this.jpoint(null,null,null),a=s.length-1;a>=0;a--){for(var l=0;a>=0&&0===s[a];a--)l++;if(a>=0&&l++,o=o.dblp(l),a<0)break;var c=s[a];Pr(0!==c),o="affine"===e.type?c>0?o.mixedAdd(i[c-1>>1]):o.mixedAdd(i[-c-1>>1].neg()):c>0?o.add(i[c-1>>1]):o.add(i[-c-1>>1].neg())}return"affine"===e.type?o.toP():o},Dr.prototype._wnafMulAdd=function(e,t,r,n,i){var s,o,a,l=this._wnafT1,c=this._wnafT2,u=this._wnafT3,d=0;for(s=0;s<n;s++){var h=(a=t[s])._getNAFPoints(e);l[s]=h.wnd,c[s]=h.points}for(s=n-1;s>=1;s-=2){var f=s-1,p=s;if(1===l[f]&&1===l[p]){var m=[t[f],null,null,t[p]];0===t[f].y.cmp(t[p].y)?(m[1]=t[f].add(t[p]),m[2]=t[f].toJ().mixedAdd(t[p].neg())):0===t[f].y.cmp(t[p].y.redNeg())?(m[1]=t[f].toJ().mixedAdd(t[p]),m[2]=t[f].add(t[p].neg())):(m[1]=t[f].toJ().mixedAdd(t[p]),m[2]=t[f].toJ().mixedAdd(t[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=Or(r[f],r[p]);for(d=Math.max(y[0].length,d),u[f]=new Array(d),u[p]=new Array(d),o=0;o<d;o++){var A=0|y[0][o],E=0|y[1][o];u[f][o]=g[3*(A+1)+(E+1)],u[p][o]=0,c[f]=m}}else u[f]=wr(r[f],l[f],this._bitLength),u[p]=wr(r[p],l[p],this._bitLength),d=Math.max(u[f].length,d),d=Math.max(u[p].length,d)}var v=this.jpoint(null,null,null),b=this._wnafT4;for(s=d;s>=0;s--){for(var w=0;s>=0;){var O=!0;for(o=0;o<n;o++)b[o]=0|u[o][s],0!==b[o]&&(O=!1);if(!O)break;w++,s--}if(s>=0&&w++,v=v.dblp(w),s<0)break;for(o=0;o<n;o++){var P=b[o];0!==P&&(P>0?a=c[o][P-1>>1]:P<0&&(a=c[o][-P-1>>1].neg()),v="affine"===a.type?v.mixedAdd(a):v.add(a))}}for(s=0;s<n;s++)c[s]=null;return i?v:v.toP()},Dr.BasePoint=_r,_r.prototype.eq=function(){throw new Error("Not implemented")},_r.prototype.validate=function(){return this.curve.validate(this)},Dr.prototype.decodePoint=function(e,t){e=br.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?Pr(e[e.length-1]%2==0):7===e[0]&&Pr(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},_r.prototype.encodeCompressed=function(e){return this.encode(e,!0)},_r.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},_r.prototype.encode=function(e,t){return br.encode(this._encode(t),e)},_r.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},_r.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},_r.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<t;i+=e){for(var s=0;s<e;s++)n=n.dbl();r.push(n)}return{step:e,points:r}},_r.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1===r?null:this.dbl(),i=1;i<r;i++)t[i]=t[i-1].add(n);return{wnd:e,points:t}},_r.prototype._getBeta=function(){return null},_r.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t};var Ir=yr((function(e){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}})),Rr=br.assert;function Cr(e){Tr.call(this,"short",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}Ir(Cr,Tr);var Br=Cr;function xr(e,t,n,i){Tr.BasePoint.call(this,e,"affine"),null===t&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new r(t,16),this.y=new r(n,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function Nr(e,t,n,i){Tr.BasePoint.call(this,e,"jacobian"),null===t&&null===n&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new r(0)):(this.x=new r(t,16),this.y=new r(n,16),this.z=new r(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Cr.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,n;if(e.beta)t=new r(e.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);t=(t=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(e.lambda)n=new r(e.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))?n=s[0]:(n=s[1],Rr(0===this.g.mul(n).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:n,basis:e.basis?e.basis.map((function(e){return{a:new r(e.a,16),b:new r(e.b,16)}})):this._getEndoBasis(n)}}},Cr.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:r.mont(e),n=new r(2).toRed(t).redInvm(),i=n.redNeg(),s=new r(3).toRed(t).redNeg().redSqrt().redMul(n);return[i.redAdd(s).fromRed(),i.redSub(s).fromRed()]},Cr.prototype._getEndoBasis=function(e){for(var t,n,i,s,o,a,l,c,u,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,f=this.n.clone(),p=new r(1),m=new r(0),g=new r(0),y=new r(1),A=0;0!==h.cmpn(0);){var E=f.div(h);c=f.sub(E.mul(h)),u=g.sub(E.mul(p));var v=y.sub(E.mul(m));if(!i&&c.cmp(d)<0)t=l.neg(),n=p,i=c.neg(),s=u;else if(i&&2==++A)break;l=c,f=h,h=c,g=p,p=u,y=m,m=v}o=c.neg(),a=u;var b=i.sqr().add(s.sqr());return o.sqr().add(a.sqr()).cmp(b)>=0&&(o=t,a=n),i.negative&&(i=i.neg(),s=s.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:i,b:s},{a:o,b:a}]},Cr.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),s=r.b.neg().mul(e).divRound(this.n),o=i.mul(r.a),a=s.mul(n.a),l=i.mul(r.b),c=s.mul(n.b);return{k1:e.sub(o).sub(a),k2:l.add(c).neg()}},Cr.prototype.pointFromX=function(e,t){(e=new r(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(0!==i.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var s=i.fromRed().isOdd();return(t&&!s||!t&&s)&&(i=i.redNeg()),this.point(e,i)},Cr.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},Cr.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,s=0;s<e.length;s++){var o=this._endoSplit(t[s]),a=e[s],l=a._getBeta();o.k1.negative&&(o.k1.ineg(),a=a.neg(!0)),o.k2.negative&&(o.k2.ineg(),l=l.neg(!0)),n[2*s]=a,n[2*s+1]=l,i[2*s]=o.k1,i[2*s+1]=o.k2}for(var c=this._wnafMulAdd(1,n,i,2*s,r),u=0;u<2*s;u++)n[u]=null,i[u]=null;return c},Ir(xr,Tr.BasePoint),Cr.prototype.point=function(e,t,r){return new xr(this,e,t,r)},Cr.prototype.pointFromJSON=function(e,t){return xr.fromJSON(this,e,t)},xr.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},xr.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},xr.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function i(t){return e.point(t[0],t[1],r)}var s=t[2];return n.precomputed={beta:null,doubles:s.doubles&&{step:s.doubles.step,points:[n].concat(s.doubles.points.map(i))},naf:s.naf&&{wnd:s.naf.wnd,points:[n].concat(s.naf.points.map(i))}},n},xr.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},xr.prototype.isInfinity=function(){return this.inf},xr.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},xr.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),s=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)},xr.prototype.getX=function(){return this.x.fromRed()},xr.prototype.getY=function(){return this.y.fromRed()},xr.prototype.mul=function(e){return e=new r(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},xr.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},xr.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},xr.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},xr.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},xr.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Ir(Nr,Tr.BasePoint),Cr.prototype.jpoint=function(e,t,r){return new Nr(this,e,t,r)},Nr.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},Nr.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Nr.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),s=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(r.redMul(this.z)),a=n.redSub(i),l=s.redSub(o);if(0===a.cmpn(0))return 0!==l.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),u=c.redMul(a),d=n.redMul(c),h=l.redSqr().redIAdd(u).redISub(d).redISub(d),f=l.redMul(d.redISub(h)).redISub(s.redMul(u)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(h,f,p)},Nr.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,s=e.y.redMul(t).redMul(this.z),o=r.redSub(n),a=i.redSub(s);if(0===o.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),c=l.redMul(o),u=r.redMul(l),d=a.redSqr().redIAdd(c).redISub(u).redISub(u),h=a.redMul(u.redISub(d)).redISub(i.redMul(c)),f=this.z.redMul(o);return this.curve.jpoint(d,h,f)},Nr.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var r=this;for(t=0;t<e;t++)r=r.dbl();return r}var n=this.curve.a,i=this.curve.tinv,s=this.x,o=this.y,a=this.z,l=a.redSqr().redSqr(),c=o.redAdd(o);for(t=0;t<e;t++){var u=s.redSqr(),d=c.redSqr(),h=d.redSqr(),f=u.redAdd(u).redIAdd(u).redIAdd(n.redMul(l)),p=s.redMul(d),m=f.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=f.redMul(g);y=y.redIAdd(y).redISub(h);var A=c.redMul(a);t+1<e&&(l=l.redMul(h)),s=m,a=A,c=y}return this.curve.jpoint(s,c.redMul(i),a)},Nr.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Nr.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(n).redISub(s);o=o.redIAdd(o);var a=n.redAdd(n).redIAdd(n),l=a.redSqr().redISub(o).redISub(o),c=s.redIAdd(s);c=(c=c.redIAdd(c)).redIAdd(c),e=l,t=a.redMul(o.redISub(l)).redISub(c),r=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),d=this.y.redSqr(),h=d.redSqr(),f=this.x.redAdd(d).redSqr().redISub(u).redISub(h);f=f.redIAdd(f);var p=u.redAdd(u).redIAdd(u),m=p.redSqr(),g=h.redIAdd(h);g=(g=g.redIAdd(g)).redIAdd(g),e=m.redISub(f).redISub(f),t=p.redMul(f.redISub(e)).redISub(g),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},Nr.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(n).redISub(s);o=o.redIAdd(o);var a=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),l=a.redSqr().redISub(o).redISub(o);e=l;var c=s.redIAdd(s);c=(c=c.redIAdd(c)).redIAdd(c),t=a.redMul(o.redISub(l)).redISub(c),r=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),d=this.y.redSqr(),h=this.x.redMul(d),f=this.x.redSub(u).redMul(this.x.redAdd(u));f=f.redAdd(f).redIAdd(f);var p=h.redIAdd(h),m=(p=p.redIAdd(p)).redAdd(p);e=f.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(d).redISub(u);var g=d.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),t=f.redMul(p.redISub(e)).redISub(g)}return this.curve.jpoint(e,t,r)},Nr.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),s=t.redSqr(),o=r.redSqr(),a=s.redAdd(s).redIAdd(s).redIAdd(e.redMul(i)),l=t.redAdd(t),c=(l=l.redIAdd(l)).redMul(o),u=a.redSqr().redISub(c.redAdd(c)),d=c.redISub(u),h=o.redSqr();h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var f=a.redMul(d).redISub(h),p=r.redAdd(r).redMul(n);return this.curve.jpoint(u,f,p)},Nr.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),i=e.redAdd(e).redIAdd(e),s=i.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(n),a=(o=(o=(o=o.redIAdd(o)).redAdd(o).redIAdd(o)).redISub(s)).redSqr(),l=n.redIAdd(n);l=(l=(l=l.redIAdd(l)).redIAdd(l)).redIAdd(l);var c=i.redIAdd(o).redSqr().redISub(s).redISub(a).redISub(l),u=t.redMul(c);u=(u=u.redIAdd(u)).redIAdd(u);var d=this.x.redMul(a).redISub(u);d=(d=d.redIAdd(d)).redIAdd(d);var h=this.y.redMul(c.redMul(l.redISub(c)).redISub(o.redMul(a)));h=(h=(h=h.redIAdd(h)).redIAdd(h)).redIAdd(h);var f=this.z.redAdd(o).redSqr().redISub(r).redISub(a);return this.curve.jpoint(d,h,f)},Nr.prototype.mul=function(e,t){return e=new r(e,t),this.curve._wnafMul(this,e)},Nr.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),i=r.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(n)).cmpn(0)},Nr.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},Nr.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},Nr.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var kr=yr((function(e,t){var r=t;r.base=Tr,r.short=Br,r.mont=null,r.edwards=null})),Sr=yr((function(e,t){var r,i=t,s=br.assert;function o(e){"short"===e.type?this.curve=new kr.short(e):"edwards"===e.type?this.curve=new kr.edwards(e):this.curve=new kr.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new o(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=o,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:n.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:n.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:n.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:n.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:n.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:n.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:n.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=null.crash()}catch(e){r=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:n.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function Lr(e){if(!(this instanceof Lr))return new Lr(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=vr.toArray(e.entropy,e.entropyEnc||"hex"),r=vr.toArray(e.nonce,e.nonceEnc||"hex"),n=vr.toArray(e.pers,e.persEnc||"hex");Ar(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var Fr=Lr;Lr.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},Lr.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},Lr.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Lr.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=vr.toArray(e,t),r=vr.toArray(r,n),Ar(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},Lr.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=vr.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length<e;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var s=i.slice(0,e);return this._update(r),this._reseed++,vr.encode(s,t)};var Mr=br.assert;function qr(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}var Ur=qr;qr.fromPublic=function(e,t,r){return t instanceof qr?t:new qr(e,{pub:t,pubEnc:r})},qr.fromPrivate=function(e,t,r){return t instanceof qr?t:new qr(e,{priv:t,privEnc:r})},qr.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},qr.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},qr.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},qr.prototype._importPrivate=function(e,t){this.priv=new r(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},qr.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?Mr(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Mr(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},qr.prototype.derive=function(e){return e.validate()||Mr(e.validate(),"public point not validated"),e.mul(this.priv).getX()},qr.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},qr.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},qr.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Vr=br.assert;function Hr(e,t){if(e instanceof Hr)return e;this._importDER(e,t)||(Vr(e.r&&e.s,"Signature without r or s"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var jr=Hr;function Qr(){this.place=0}function Gr(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,s=0,o=t.place;s<n;s++,o++)i<<=8,i|=e[o],i>>>=0;return!(i<=127)&&(t.place=o,i)}function Yr(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function Xr(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}Hr.prototype._importDER=function(e,t){e=br.toArray(e,t);var n=new Qr;if(48!==e[n.place++])return!1;var i=Gr(e,n);if(!1===i)return!1;if(i+n.place!==e.length)return!1;if(2!==e[n.place++])return!1;var s=Gr(e,n);if(!1===s)return!1;var o=e.slice(n.place,s+n.place);if(n.place+=s,2!==e[n.place++])return!1;var a=Gr(e,n);if(!1===a)return!1;if(e.length!==a+n.place)return!1;var l=e.slice(n.place,a+n.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new r(o),this.s=new r(l),this.recoveryParam=null,!0},Hr.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=Yr(t),r=Yr(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];Xr(n,t.length),(n=n.concat(t)).push(2),Xr(n,r.length);var i=n.concat(r),s=[48];return Xr(s,i.length),s=s.concat(i),br.encode(s,e)};var $r=function(){throw new Error("unsupported")},Kr=br.assert;function zr(e){if(!(this instanceof zr))return new zr(e);"string"==typeof e&&(Kr(Object.prototype.hasOwnProperty.call(Sr,e),"Unknown curve "+e),e=Sr[e]),e instanceof Sr.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var Jr=zr;zr.prototype.keyPair=function(e){return new Ur(this,e)},zr.prototype.keyFromPrivate=function(e,t){return Ur.fromPrivate(this,e,t)},zr.prototype.keyFromPublic=function(e,t){return Ur.fromPublic(this,e,t)},zr.prototype.genKeyPair=function(e){e||(e={});for(var t=new Fr({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||$r(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),i=this.n.sub(new r(2));;){var s=new r(t.generate(n));if(!(s.cmp(i)>0))return s.iaddn(1),this.keyFromPrivate(s)}},zr.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},zr.prototype.sign=function(e,t,n,i){"object"==typeof n&&(i=n,n=null),i||(i={}),t=this.keyFromPrivate(t,n),e=this._truncateToN(new r(e,16));for(var s=this.n.byteLength(),o=t.getPrivate().toArray("be",s),a=e.toArray("be",s),l=new Fr({hash:this.hash,entropy:o,nonce:a,pers:i.pers,persEnc:i.persEnc||"utf8"}),c=this.n.sub(new r(1)),u=0;;u++){var d=i.k?i.k(u):new r(l.generate(this.n.byteLength()));if(!((d=this._truncateToN(d,!0)).cmpn(1)<=0||d.cmp(c)>=0)){var h=this.g.mul(d);if(!h.isInfinity()){var f=h.getX(),p=f.umod(this.n);if(0!==p.cmpn(0)){var m=d.invm(this.n).mul(p.mul(t.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var g=(h.getY().isOdd()?1:0)|(0!==f.cmp(p)?2:0);return i.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),g^=1),new jr({r:p,s:m,recoveryParam:g})}}}}}},zr.prototype.verify=function(e,t,n,i){e=this._truncateToN(new r(e,16)),n=this.keyFromPublic(n,i);var s=(t=new jr(t,"hex")).r,o=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,l=o.invm(this.n),c=l.mul(e).umod(this.n),u=l.mul(s).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,n.getPublic(),u)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(c,n.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},zr.prototype.recoverPubKey=function(e,t,n,i){Kr((3&n)===n,"The recovery param is more than two bits"),t=new jr(t,i);var s=this.n,o=new r(e),a=t.r,l=t.s,c=1&n,u=n>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");a=u?this.curve.pointFromX(a.add(this.curve.n),c):this.curve.pointFromX(a,c);var d=t.r.invm(s),h=s.sub(o).mul(d).umod(s),f=l.mul(d).umod(s);return this.g.mulAdd(h,a,f)},zr.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new jr(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var s;try{s=this.recoverPubKey(e,t,i)}catch(e){continue}if(s.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var Wr=yr((function(e,t){var r=t;r.version="6.5.4",r.utils=br,r.rand=function(){throw new Error("unsupported")},r.curve=kr,r.curves=Sr,r.ec=Jr,r.eddsa=null})).ec;const Zr=new I("signing-key/5.7.0");let en=null;function tn(){return en||(en=new Wr("secp256k1")),en}class rn{constructor(e){Ee(this,"curve","secp256k1"),Ee(this,"privateKey",U(e)),32!==V(this.privateKey)&&Zr.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=tn().keyFromPrivate(S(this.privateKey));Ee(this,"publicKey","0x"+t.getPublic(!1,"hex")),Ee(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Ee(this,"_isSigningKey",!0)}_addPoint(e){const t=tn().keyFromPublic(S(this.publicKey)),r=tn().keyFromPublic(S(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")}signDigest(e){const t=tn().keyFromPrivate(S(this.privateKey)),r=S(e);32!==r.length&&Zr.throwArgumentError("bad digest length","digest",e);const n=t.sign(r,{canonical:!0});return Y({recoveryParam:n.recoveryParam,r:G("0x"+n.r.toString(16),32),s:G("0x"+n.s.toString(16),32)})}computeSharedSecret(e){const t=tn().keyFromPrivate(S(this.privateKey)),r=tn().keyFromPublic(S(nn(e)));return G("0x"+t.derive(r.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function nn(e,t){const r=S(e);if(32===r.length){return new rn(r).publicKey}return 33===r.length?"0x"+tn().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?U(r):Zr.throwArgumentError("invalid public or private key","key","[REDACTED]")}const sn=new I("transactions/5.7.0");var on;function an(e){return"0x"===e?null:jt(e)}function ln(e){return"0x"===e?Qe:Z.from(e)}function cn(e,t){return function(e){return jt(H(Xe(H(nn(e),1)),12))}(function(e,t){const r=Y(t),n={r:S(r.r),s:S(r.s)};return"0x"+tn().recoverPubKey(S(e),n,r.recoveryParam).encode("hex",!1)}(S(e),t))}function un(e,t){const r=F(Z.from(e).toHexString());return r.length>32&&sn.throwArgumentError("invalid length for "+t,"transaction:"+t,e),r}function dn(e,t){return{address:jt(e),storageKeys:(t||[]).map(((t,r)=>(32!==V(t)&&sn.throwArgumentError("invalid access list storageKey",`accessList[${e}:${r}]`,t),t.toLowerCase())))}}function hn(e){if(Array.isArray(e))return e.map(((e,t)=>Array.isArray(e)?(e.length>2&&sn.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${t}]`,e),dn(e[0],e[1])):dn(e.address,e.storageKeys)));const t=Object.keys(e).map((t=>{const r=e[t].reduce(((e,t)=>(e[t]=!0,e)),{});return dn(t,Object.keys(r).sort())}));return t.sort(((e,t)=>e.address.localeCompare(t.address))),t}function fn(e){return hn(e).map((e=>[e.address,e.storageKeys]))}function pn(e,t){if(null!=e.gasPrice){const t=Z.from(e.gasPrice),r=Z.from(e.maxFeePerGas||0);t.eq(r)||sn.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:t,maxFeePerGas:r})}const r=[un(e.chainId||0,"chainId"),un(e.nonce||0,"nonce"),un(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),un(e.maxFeePerGas||0,"maxFeePerGas"),un(e.gasLimit||0,"gasLimit"),null!=e.to?jt(e.to):"0x",un(e.value||0,"value"),e.data||"0x",fn(e.accessList||[])];if(t){const e=Y(t);r.push(un(e.recoveryParam,"recoveryParam")),r.push(F(e.r)),r.push(F(e.s))}return j(["0x02",kt(r)])}function mn(e,t){const r=[un(e.chainId||0,"chainId"),un(e.nonce||0,"nonce"),un(e.gasPrice||0,"gasPrice"),un(e.gasLimit||0,"gasLimit"),null!=e.to?jt(e.to):"0x",un(e.value||0,"value"),e.data||"0x",fn(e.accessList||[])];if(t){const e=Y(t);r.push(un(e.recoveryParam,"recoveryParam")),r.push(F(e.r)),r.push(F(e.s))}return j(["0x01",kt(r)])}function gn(e,t,r){try{const r=ln(t[0]).toNumber();if(0!==r&&1!==r)throw new Error("bad recid");e.v=r}catch(e){sn.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=G(t[1],32),e.s=G(t[2],32);try{const t=Xe(r(e));e.from=cn(t,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}function yn(e){const t=S(e);if(t[0]>127)return function(e){const t=Ft(e);9!==t.length&&6!==t.length&&sn.throwArgumentError("invalid raw transaction","rawTransaction",e);const r={nonce:ln(t[0]).toNumber(),gasPrice:ln(t[1]),gasLimit:ln(t[2]),to:an(t[3]),value:ln(t[4]),data:t[5],chainId:0};if(6===t.length)return r;try{r.v=Z.from(t[6]).toNumber()}catch(e){return r}if(r.r=G(t[7],32),r.s=G(t[8],32),Z.from(r.r).isZero()&&Z.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const i=t.slice(0,6);0!==r.chainId&&(i.push(U(r.chainId)),i.push("0x"),i.push("0x"),n-=2*r.chainId+8);const s=Xe(kt(i));try{r.from=cn(s,{r:U(r.r),s:U(r.s),recoveryParam:n})}catch(e){}r.hash=Xe(e)}return r.type=null,r}(t);switch(t[0]){case 1:return function(e){const t=Ft(e.slice(1));8!==t.length&&11!==t.length&&sn.throwArgumentError("invalid component count for transaction type: 1","payload",U(e));const r={type:1,chainId:ln(t[0]).toNumber(),nonce:ln(t[1]).toNumber(),gasPrice:ln(t[2]),gasLimit:ln(t[3]),to:an(t[4]),value:ln(t[5]),data:t[6],accessList:hn(t[7])};return 8===t.length||(r.hash=Xe(e),gn(r,t.slice(8),mn)),r}(t);case 2:return function(e){const t=Ft(e.slice(1));9!==t.length&&12!==t.length&&sn.throwArgumentError("invalid component count for transaction type: 2","payload",U(e));const r=ln(t[2]),n=ln(t[3]),i={type:2,chainId:ln(t[0]).toNumber(),nonce:ln(t[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:ln(t[4]),to:an(t[5]),value:ln(t[6]),data:t[7],accessList:hn(t[8])};return 9===t.length||(i.hash=Xe(e),gn(i,t.slice(9),pn)),i}(t)}return sn.throwError(`unsupported transaction type: ${t[0]}`,I.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:t[0]})}!function(e){e[e.legacy=0]="legacy",e[e.eip2930=1]="eip2930",e[e.eip1559=2]="eip1559"}(on||(on={}));const An=new I(gr);class En{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),r=this.bigNumber.bind(this),n=this.blockTag.bind(this),i=this.data.bind(this),s=this.hash.bind(this),o=this.hex.bind(this),a=this.number.bind(this),l=this.type.bind(this);return e.transaction={hash:s,type:l,accessList:En.allowNull(this.accessList.bind(this),null),blockHash:En.allowNull(s,null),blockNumber:En.allowNull(a,null),transactionIndex:En.allowNull(a,null),confirmations:En.allowNull(a,null),from:t,gasPrice:En.allowNull(r),maxPriorityFeePerGas:En.allowNull(r),maxFeePerGas:En.allowNull(r),gasLimit:r,to:En.allowNull(t,null),value:r,nonce:a,data:i,r:En.allowNull(this.uint256),s:En.allowNull(this.uint256),v:En.allowNull(a),creates:En.allowNull(t,null),raw:En.allowNull(i)},e.transactionRequest={from:En.allowNull(t),nonce:En.allowNull(a),gasLimit:En.allowNull(r),gasPrice:En.allowNull(r),maxPriorityFeePerGas:En.allowNull(r),maxFeePerGas:En.allowNull(r),to:En.allowNull(t),value:En.allowNull(r),data:En.allowNull((e=>this.data(e,!0))),type:En.allowNull(a),accessList:En.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:a,blockNumber:a,transactionHash:s,address:t,topics:En.arrayOf(s),data:i,logIndex:a,blockHash:s},e.receipt={to:En.allowNull(this.address,null),from:En.allowNull(this.address,null),contractAddress:En.allowNull(t,null),transactionIndex:a,root:En.allowNull(o),gasUsed:r,logsBloom:En.allowNull(i),blockHash:s,transactionHash:s,logs:En.arrayOf(this.receiptLog.bind(this)),blockNumber:a,confirmations:En.allowNull(a,null),cumulativeGasUsed:r,effectiveGasPrice:En.allowNull(r),status:En.allowNull(a),type:l},e.block={hash:En.allowNull(s),parentHash:s,number:a,timestamp:a,nonce:En.allowNull(o),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:En.allowNull(t),extraData:i,transactions:En.allowNull(En.arrayOf(s)),baseFeePerGas:En.allowNull(r)},e.blockWithTransactions=we(e.block),e.blockWithTransactions.transactions=En.allowNull(En.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:En.allowNull(n,void 0),toBlock:En.allowNull(n,void 0),blockHash:En.allowNull(s,void 0),address:En.allowNull(t,void 0),topics:En.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:En.allowNull(a),blockHash:En.allowNull(s),transactionIndex:a,removed:En.allowNull(this.boolean.bind(this)),address:t,data:En.allowFalsish(i,"0x"),topics:En.arrayOf(s),transactionHash:s,logIndex:a},e}accessList(e){return hn(e||[])}number(e){return"0x"===e?0:Z.from(e).toNumber()}type(e){return"0x"===e||null==e?0:Z.from(e).toNumber()}bigNumber(e){return Z.from(e)}boolean(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)}hex(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),M(e))?e.toLowerCase():An.throwArgumentError("invalid hash","value",e)}data(e,t){const r=this.hex(e,t);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+e);return r}address(e){return jt(e)}callAddress(e){if(!M(e,32))return null;const t=jt(H(e,12));return"0x0000000000000000000000000000000000000000"===t?null:t}contractAddress(e){return Qt(e)}blockTag(e){if(null==e)return"latest";if("earliest"===e)return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if("number"==typeof e||M(e))return Q(e);throw new Error("invalid blockTag")}hash(e,t){const r=this.hex(e,t);return 32!==V(r)?An.throwArgumentError("invalid hash","value",e):r}difficulty(e){if(null==e)return null;const t=Z.from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!M(e))throw new Error("invalid uint256");return G(e,32)}_block(e,t){null!=e.author&&null==e.miner&&(e.miner=e.author);const r=null!=e._difficulty?e._difficulty:e.difficulty,n=En.check(t,e);return n._difficulty=null==r?null:Z.from(r),n}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return En.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&Z.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e)),1!==e.type&&2!==e.type||null!=e.accessList||(e.accessList=[]);const t=En.check(this.formats.transaction,e);if(null!=e.chainId){let r=e.chainId;M(r)&&(r=Z.from(r).toNumber()),t.chainId=r}else{let r=e.networkId;null==r&&null==t.v&&(r=e.chainId),M(r)&&(r=Z.from(r).toNumber()),"number"!=typeof r&&null!=t.v&&(r=(t.v-35)/2,r<0&&(r=0),r=parseInt(r)),"number"!=typeof r&&(r=0),t.chainId=r}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return yn(e)}receiptLog(e){return En.check(this.formats.receiptLog,e)}receipt(e){const t=En.check(this.formats.receipt,e);if(null!=t.root)if(t.root.length<=4){const e=Z.from(t.root).toNumber();0===e||1===e?(null!=t.status&&t.status!==e&&An.throwArgumentError("alt-root-status/status mismatch","value",{root:t.root,status:t.status}),t.status=e,delete t.root):An.throwArgumentError("invalid alt-root-status","value.root",t.root)}else 66!==t.root.length&&An.throwArgumentError("invalid root hash","value.root",t.root);return null!=t.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map((e=>this.topics(e))):null!=e?this.hash(e,!0):null}filter(e){return En.check(this.formats.filter,e)}filterLog(e){return En.check(this.formats.filterLog,e)}static check(e,t){const r={};for(const n in e)try{const i=e[n](t[n]);void 0!==i&&(r[n]=i)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r}static allowNull(e,t){return function(r){return null==r?t:e(r)}}static allowFalsish(e,t){return function(r){return r?e(r):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");const r=[];return t.forEach((function(t){r.push(e(t))})),r}}}var vn=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const bn=new I(gr);function wn(e){return null==e?"null":(32!==V(e)&&bn.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function On(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map((e=>{if(Array.isArray(e)){const t={};e.forEach((e=>{t[wn(e)]=!0}));const r=Object.keys(t);return r.sort(),r.join("|")}return wn(e)})).join("&")}function Pn(e){if("string"==typeof e){if(32===V(e=e.toLowerCase()))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+On(e);if(Ce.isForkEvent(e))throw bn.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+On(e.topics||[])}throw new Error("invalid event - "+e)}function Dn(){return(new Date).getTime()}function Tn(e){return new Promise((t=>{setTimeout(t,e)}))}const _n=["block","network","pending","poll"];class In{constructor(e,t,r){Ee(this,"tag",e),Ee(this,"listener",t),Ee(this,"once",r),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return"tx"!==e[0]?null:e[1]}get filter(){const e=this.tag.split(":");if("filter"!==e[0])return null;const t=e[1],r=""===(n=e[2])?[]:n.split(/&/g).map((e=>{if(""===e)return[];const t=e.split("|").map((e=>"null"===e?null:e));return 1===t.length?t[0]:t}));var n;const i={};return r.length>0&&(i.topics=r),t&&"*"!==t&&(i.address=t),i}pollable(){return this.tag.indexOf(":")>=0||_n.indexOf(this.tag)>=0}}const Rn={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function Cn(e){return G(Z.from(e).toHexString(),32)}function Bn(e){return He.encode(L([e,H(ar(ar(e)),0,4)]))}const xn=new RegExp("^(ipfs)://(.*)$","i"),Nn=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),xn,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function kn(e,t){try{return tt(Sn(e,t))}catch(e){}return null}function Sn(e,t){if("0x"===e)return null;const r=Z.from(H(e,t,t+32)).toNumber(),n=Z.from(H(e,r,r+32)).toNumber();return H(e,r+32,r+32+n)}function Ln(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):bn.throwArgumentError("unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}function Fn(e){const t=S(e);if(t.length>32)throw new Error("internal; should not happen");const r=new Uint8Array(32);return r.set(t,32-t.length),r}function Mn(e){if(e.length%32==0)return e;const t=new Uint8Array(32*Math.ceil(e.length/32));return t.set(e),t}function qn(e){const t=[];let r=0;for(let n=0;n<e.length;n++)t.push(null),r+=32;for(let n=0;n<e.length;n++){const i=S(e[n]);t[n]=Fn(r),t.push(Fn(i.length)),t.push(Mn(i)),r+=32+32*Math.ceil(i.length/32)}return j(t)}class Un{constructor(e,t,r,n){Ee(this,"provider",e),Ee(this,"name",r),Ee(this,"address",e.formatter.address(t)),Ee(this,"_resolvedAddress",n)}supportsWildcard(){return this._supportsEip2544||(this._supportsEip2544=this.provider.call({to:this.address,data:"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000"}).then((e=>Z.from(e).eq(1))).catch((e=>{if(e.code===I.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e}))),this._supportsEip2544}_fetch(e,t){return vn(this,void 0,void 0,(function*(){const r={to:this.address,ccipReadEnabled:!0,data:j([e,Rt(this.name),t||"0x"])};let n=!1;var i;(yield this.supportsWildcard())&&(n=!0,r.data=j(["0x9061b923",qn([(i=this.name,U(L(It(i).map((e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t}))))+"00"),r.data])]));try{let e=yield this.provider.call(r);return S(e).length%32==4&&bn.throwError("resolver threw error",I.errors.CALL_EXCEPTION,{transaction:r,data:e}),n&&(e=Sn(e,0)),e}catch(e){if(e.code===I.errors.CALL_EXCEPTION)return null;throw e}}))}_fetchBytes(e,t){return vn(this,void 0,void 0,(function*(){const r=yield this._fetch(e,t);return null!=r?Sn(r,0):null}))}_getAddress(e,t){const r=Rn[String(e)];if(null==r&&bn.throwError(`unsupported coin type: ${e}`,I.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),"eth"===r.ilk)return this.provider.formatter.address(t);const n=S(t);if(null!=r.p2pkh){const e=t.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return Bn(L([[r.p2pkh],"0x"+e[2]]))}}if(null!=r.p2sh){const e=t.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(e){const t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return Bn(L([[r.p2sh],"0x"+e[2]]))}}if(null!=r.prefix){const e=n[1];let t=n[0];if(0===t?20!==e&&32!==e&&(t=-1):t=-1,t>=0&&n.length===2+e&&e>=1&&e<=75){const e=i.toWords(n.slice(2));return e.unshift(t),i.encode(r.prefix,e)}}return null}getAddress(e){return vn(this,void 0,void 0,(function*(){if(null==e&&(e=60),60===e)try{const e=yield this._fetch("0x3b3b57de");return"0x"===e||"0x0000000000000000000000000000000000000000000000000000000000000000"===e?null:this.provider.formatter.callAddress(e)}catch(e){if(e.code===I.errors.CALL_EXCEPTION)return null;throw e}const t=yield this._fetchBytes("0xf1cb7e06",Cn(e));if(null==t||"0x"===t)return null;const r=this._getAddress(e,t);return null==r&&bn.throwError("invalid or unsupported coin data",I.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:t}),r}))}getAvatar(){return vn(this,void 0,void 0,(function*(){const e=[{type:"name",content:this.name}];try{const t=yield this.getText("avatar");if(null==t)return null;for(let r=0;r<Nn.length;r++){const n=t.match(Nn[r]);if(null==n)continue;const i=n[1].toLowerCase();switch(i){case"https":return e.push({type:"url",content:t}),{linkage:e,url:t};case"data":return e.push({type:"data",content:t}),{linkage:e,url:t};case"ipfs":return e.push({type:"ipfs",content:t}),{linkage:e,url:Ln(t)};case"erc721":case"erc1155":{const r="erc721"===i?"0xc87b56dd":"0x0e89341c";e.push({type:i,content:t});const s=this._resolvedAddress||(yield this.getAddress()),o=(n[2]||"").split("/");if(2!==o.length)return null;const a=yield this.provider.formatter.address(o[0]),l=G(Z.from(o[1]).toHexString(),32);if("erc721"===i){const t=this.provider.formatter.callAddress(yield this.provider.call({to:a,data:j(["0x6352211e",l])}));if(s!==t)return null;e.push({type:"owner",content:t})}else if("erc1155"===i){const t=Z.from(yield this.provider.call({to:a,data:j(["0x00fdd58e",G(s,32),l])}));if(t.isZero())return null;e.push({type:"balance",content:t.toString()})}const c={to:this.provider.formatter.address(o[0]),data:j([r,l])};let u=kn(yield this.provider.call(c),0);if(null==u)return null;e.push({type:"metadata-url-base",content:u}),"erc1155"===i&&(u=u.replace("{id}",l.substring(2)),e.push({type:"metadata-url-expanded",content:u})),u.match(/^ipfs:/i)&&(u=Ln(u)),e.push({type:"metadata-url",content:u});const d=yield pr(u);if(!d)return null;e.push({type:"metadata",content:JSON.stringify(d)});let h=d.image;if("string"!=typeof h)return null;if(h.match(/^(https:\/\/|data:)/i));else{if(null==h.match(xn))return null;e.push({type:"url-ipfs",content:h}),h=Ln(h)}return e.push({type:"url",content:h}),{linkage:e,url:h}}}}}catch(e){}return null}))}getContentHash(){return vn(this,void 0,void 0,(function*(){const e=yield this._fetchBytes("0xbc1c58d1");if(null==e||"0x"===e)return null;const t=e.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(t){const e=parseInt(t[3],16);if(t[4].length===2*e)return"ipfs://"+He.encode("0x"+t[1])}const r=e.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(r){const e=parseInt(r[3],16);if(r[4].length===2*e)return"ipns://"+He.encode("0x"+r[1])}const n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&64===n[1].length)return"bzz://"+n[1];const i=e.match(/^0x90b2c605([0-9a-f]*)$/);if(i&&68===i[1].length){const e={"=":"","+":"-","/":"_"};return"sia://"+Ue("0x"+i[1]).replace(/[=+\/]/g,(t=>e[t]))}return bn.throwError("invalid or unsupported content hash data",I.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})}))}getText(e){return vn(this,void 0,void 0,(function*(){let t=et(e);t=L([Cn(64),Cn(t.length),t]),t.length%32!=0&&(t=L([t,G("0x",32-e.length%32)]));const r=yield this._fetchBytes("0x59d1d43c",U(t));return null==r||"0x"===r?null:tt(r)}))}}let Vn=null,Hn=1;class jn extends Be{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),Ee(this,"anyNetwork","any"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch((e=>{})),this._ready().catch((e=>{}));else{const t=ve(new.target,"getNetwork")(e);t?(Ee(this,"_network",t),this.emit("network",t,null)):bn.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return vn(this,void 0,void 0,(function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||bn.throwError("no network detected",I.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:Ee(this,"_network",e),this.emit("network",e,null))}return this._network}))}get ready(){return mr((()=>this._ready().then((e=>e),(e=>{if(e.code!==I.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))))}static getFormatter(){return null==Vn&&(Vn=new En),Vn}static getNetwork(e){return function(e){if(null==e)return null;if("number"==typeof e){for(const t in Me){const r=Me[t];if(r.chainId===e)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){const t=Me[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}const t=Me[e.name];if(!t)return"number"!=typeof e.chainId&&xe.throwArgumentError("invalid network chainId","network",e),e;0!==e.chainId&&e.chainId!==t.chainId&&xe.throwArgumentError("network chainId mismatch","network",e);let r=e._defaultProvider||null;var n;return null==r&&t._defaultProvider&&(r=(n=t._defaultProvider)&&"function"==typeof n.renetwork?t._defaultProvider.renetwork(e):t._defaultProvider),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:r}}(null==e?"homestead":e)}ccipReadFetch(e,t,r){return vn(this,void 0,void 0,(function*(){if(this.disableCcipRead||0===r.length)return null;const n=e.to.toLowerCase(),i=t.toLowerCase(),s=[];for(let e=0;e<r.length;e++){const t=r[e],o=t.replace("{sender}",n).replace("{data}",i),a=t.indexOf("{data}")>=0?null:JSON.stringify({data:i,sender:n}),l=yield pr({url:o,errorPassThrough:!0},a,((e,t)=>(e.status=t.statusCode,e)));if(l.data)return l.data;const c=l.message||"unknown error";if(l.status>=400&&l.status<500)return bn.throwError(`response not found during CCIP fetch: ${c}`,I.errors.SERVER_ERROR,{url:t,errorMessage:c});s.push(c)}return bn.throwError(`error encountered during CCIP fetch: ${s.map((e=>JSON.stringify(e))).join(", ")}`,I.errors.SERVER_ERROR,{urls:r,errorMessages:s})}))}_getInternalBlockNumber(e){return vn(this,void 0,void 0,(function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const t=this._internalBlockNumber;try{const r=yield t;if(Dn()-r.respTime<=e)return r.blockNumber;break}catch(e){if(this._internalBlockNumber===t)break}}const t=Dn(),r=be({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((e=>null),(e=>e))}).then((({blockNumber:e,networkError:n})=>{if(n)throw this._internalBlockNumber===r&&(this._internalBlockNumber=null),n;const i=Dn();return(e=Z.from(e).toNumber())<this._maxInternalBlockNumber&&(e=this._maxInternalBlockNumber),this._maxInternalBlockNumber=e,this._setFastBlockNumber(e),{blockNumber:e,reqTime:t,respTime:i}}));return this._internalBlockNumber=r,r.catch((e=>{this._internalBlockNumber===r&&(this._internalBlockNumber=null)})),(yield r).blockNumber}))}poll(){return vn(this,void 0,void 0,(function*(){const e=Hn++,t=[];let r=null;try{r=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(e){return void this.emit("error",e)}if(this._setFastBlockNumber(r),this.emit("poll",e,r),r!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=r-1),Math.abs(this._emitted.block-r)>1e3)bn.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${r})`),this.emit("error",bn.makeError("network block skew detected",I.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(let e=this._emitted.block+1;e<=r;e++)this.emit("block",e);this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach((e=>{if("block"===e)return;const t=this._emitted[e];"pending"!==t&&r-t>12&&delete this._emitted[e]}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach((e=>{switch(e.type){case"tx":{const r=e.hash;let n=this.getTransactionReceipt(r).then((e=>e&&null!=e.blockNumber?(this._emitted["t:"+r]=e.blockNumber,this.emit(r,e),null):null)).catch((e=>{this.emit("error",e)}));t.push(n);break}case"filter":if(!e._inflight){e._inflight=!0,-2===e._lastBlockNumber&&(e._lastBlockNumber=r-1);const n=e.filter;n.fromBlock=e._lastBlockNumber+1,n.toBlock=r;const i=n.toBlock-this._maxFilterBlockRange;i>n.fromBlock&&(n.fromBlock=i),n.fromBlock<0&&(n.fromBlock=0);const s=this.getLogs(n).then((t=>{e._inflight=!1,0!==t.length&&t.forEach((t=>{t.blockNumber>e._lastBlockNumber&&(e._lastBlockNumber=t.blockNumber),this._emitted["b:"+t.blockHash]=t.blockNumber,this._emitted["t:"+t.transactionHash]=t.blockNumber,this.emit(n,t)}))})).catch((t=>{this.emit("error",t),e._inflight=!1}));t.push(s)}}})),this._lastBlockNumber=r,Promise.all(t).then((()=>{this.emit("didPoll",e)})).catch((e=>{this.emit("error",e)}))}else this.emit("didPoll",e)}))}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return vn(this,void 0,void 0,(function*(){return bn.throwError("provider does not support network detection",I.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return vn(this,void 0,void 0,(function*(){const e=yield this._ready(),t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),yield Tn(0),this._network;const r=bn.makeError("underlying network changed",I.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",r),r}return e}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then((e=>{this._setFastBlockNumber(e)}),(e=>{})),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval((()=>{this.poll()}),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((()=>{this.poll(),this._bootstrapPoll=setTimeout((()=>{this._poller||this.poll(),this._bootstrapPoll=null}),this.pollingInterval)}),0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((()=>{this.poll()}),this._pollingInterval))}_getFastBlockNumber(){const e=Dn();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then((e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber)))),this._fastBlockNumberPromise}_setFastBlockNumber(e){null!=this._fastBlockNumber&&e<this._fastBlockNumber||(this._fastQueryDate=Dn(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,r){return vn(this,void 0,void 0,(function*(){return this._waitForTransaction(e,null==t?1:t,r||0,null)}))}_waitForTransaction(e,t,r,n){return vn(this,void 0,void 0,(function*(){const i=yield this.getTransactionReceipt(e);return(i?i.confirmations:0)>=t?i:new Promise(((i,s)=>{const o=[];let a=!1;const l=function(){return!!a||(a=!0,o.forEach((e=>{e()})),!1)},c=e=>{e.confirmations<t||l()||i(e)};if(this.on(e,c),o.push((()=>{this.removeListener(e,c)})),n){let r=n.startBlock,i=null;const c=o=>vn(this,void 0,void 0,(function*(){a||(yield Tn(1e3),this.getTransactionCount(n.from).then((u=>vn(this,void 0,void 0,(function*(){if(!a){if(u<=n.nonce)r=o;else{{const t=yield this.getTransaction(e);if(t&&null!=t.blockNumber)return}for(null==i&&(i=r-3,i<n.startBlock&&(i=n.startBlock));i<=o;){if(a)return;const r=yield this.getBlockWithTransactions(i);for(let i=0;i<r.transactions.length;i++){const o=r.transactions[i];if(o.hash===e)return;if(o.from===n.from&&o.nonce===n.nonce){if(a)return;const r=yield this.waitForTransaction(o.hash,t);if(l())return;let i="replaced";return o.data===n.data&&o.to===n.to&&o.value.eq(n.value)?i="repriced":"0x"===o.data&&o.from===o.to&&o.value.isZero()&&(i="cancelled"),void s(bn.makeError("transaction was replaced",I.errors.TRANSACTION_REPLACED,{cancelled:"replaced"===i||"cancelled"===i,reason:i,replacement:this._wrapTransaction(o),hash:e,receipt:r}))}}i++}}a||this.once("block",c)}}))),(e=>{a||this.once("block",c)})))}));if(a)return;this.once("block",c),o.push((()=>{this.removeListener("block",c)}))}if("number"==typeof r&&r>0){const e=setTimeout((()=>{l()||s(bn.makeError("timeout exceeded",I.errors.TIMEOUT,{timeout:r}))}),r);e.unref&&e.unref(),o.push((()=>{clearTimeout(e)}))}}))}))}getBlockNumber(){return vn(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return Z.from(e)}catch(t){return bn.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:t})}}))}getBalance(e,t){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform("getBalance",r);try{return Z.from(n)}catch(e){return bn.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getBalance",params:r,result:n,error:e})}}))}getTransactionCount(e,t){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform("getTransactionCount",r);try{return Z.from(n).toNumber()}catch(e){return bn.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getTransactionCount",params:r,result:n,error:e})}}))}getCode(e,t){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform("getCode",r);try{return U(n)}catch(e){return bn.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getCode",params:r,result:n,error:e})}}))}getStorageAt(e,t,r){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(r),position:Promise.resolve(t).then((e=>Q(e)))}),i=yield this.perform("getStorageAt",n);try{return U(i)}catch(e){return bn.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getStorageAt",params:n,result:i,error:e})}}))}_wrapTransaction(e,t,r){if(null!=t&&32!==V(t))throw new Error("invalid response - sendTransaction");const n=e;return null!=t&&e.hash!==t&&bn.throwError("Transaction hash mismatch from Provider.sendTransaction.",I.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),n.wait=(t,n)=>vn(this,void 0,void 0,(function*(){let i;null==t&&(t=1),null==n&&(n=0),0!==t&&null!=r&&(i={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:r});const s=yield this._waitForTransaction(e.hash,t,n,i);return null==s&&0===t?null:(this._emitted["t:"+e.hash]=s.blockNumber,0===s.status&&bn.throwError("transaction failed",I.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:s}),s)})),n}sendTransaction(e){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then((e=>U(e))),r=this.formatter.transaction(e);null==r.confirmations&&(r.confirmations=0);const n=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(r,e,n)}catch(e){throw e.transaction=r,e.transactionHash=r.hash,e}}))}_getTransactionRequest(e){return vn(this,void 0,void 0,(function*(){const t=yield e,r={};return["from","to"].forEach((e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((e=>e?this._getAddress(e):null)))})),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((e=>e?Z.from(e):null)))})),["type"].forEach((e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((e=>null!=e?e:null)))})),t.accessList&&(r.accessList=this.formatter.accessList(t.accessList)),["data"].forEach((e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((e=>e?U(e):null)))})),this.formatter.transactionRequest(yield be(r))}))}_getFilter(e){return vn(this,void 0,void 0,(function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach((r=>{null!=e[r]&&(t[r]=e[r])})),["fromBlock","toBlock"].forEach((r=>{null!=e[r]&&(t[r]=this._getBlockTag(e[r]))})),this.formatter.filter(yield be(t))}))}_call(e,t,r){return vn(this,void 0,void 0,(function*(){r>=10&&bn.throwError("CCIP read exceeded maximum redirections",I.errors.SERVER_ERROR,{redirects:r,transaction:e});const n=e.to,i=yield this.perform("call",{transaction:e,blockTag:t});if(r>=0&&"latest"===t&&null!=n&&"0x556f1830"===i.substring(0,10)&&V(i)%32==4)try{const s=H(i,4),o=H(s,0,32);Z.from(o).eq(n)||bn.throwError("CCIP Read sender did not match",I.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const a=[],l=Z.from(H(s,32,64)).toNumber(),c=Z.from(H(s,l,l+32)).toNumber(),u=H(s,l+32);for(let t=0;t<c;t++){const r=kn(u,32*t);null==r&&bn.throwError("CCIP Read contained corrupt URL string",I.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i}),a.push(r)}const d=Sn(s,64);Z.from(H(s,100,128)).isZero()||bn.throwError("CCIP Read callback selector included junk",I.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const h=H(s,96,100),f=Sn(s,128),p=yield this.ccipReadFetch(e,d,a);null==p&&bn.throwError("CCIP Read disabled or provided no URLs",I.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const m={to:n,data:j([h,qn([p,f])])};return this._call(m,t,r+1)}catch(e){if(e.code===I.errors.SERVER_ERROR)throw e}try{return U(i)}catch(r){return bn.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"call",params:{transaction:e,blockTag:t},result:i,error:r})}}))}call(e,t){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield be({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t),ccipReadEnabled:Promise.resolve(e.ccipReadEnabled)});return this._call(r.transaction,r.blockTag,r.ccipReadEnabled?0:-1)}))}estimateGas(e){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield be({transaction:this._getTransactionRequest(e)}),r=yield this.perform("estimateGas",t);try{return Z.from(r)}catch(e){return bn.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"estimateGas",params:t,result:r,error:e})}}))}_getAddress(e){return vn(this,void 0,void 0,(function*(){"string"!=typeof(e=yield e)&&bn.throwArgumentError("invalid address or ENS name","name",e);const t=yield this.resolveName(e);return null==t&&bn.throwError("ENS name not configured",I.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t}))}_getBlock(e,t){return vn(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;let r=-128;const n={includeTransactions:!!t};if(M(e,32))n.blockHash=e;else try{n.blockTag=yield this._getBlockTag(e),M(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16))}catch(t){bn.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e)}return mr((()=>vn(this,void 0,void 0,(function*(){const e=yield this.perform("getBlock",n);if(null==e)return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?null:void 0;if(t){let t=null;for(let r=0;r<e.transactions.length;r++){const n=e.transactions[r];if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){null==t&&(t=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let e=t-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}}const r=this.formatter.blockWithTransactions(e);return r.transactions=r.transactions.map((e=>this._wrapTransaction(e))),r}return this.formatter.block(e)}))),{oncePoll:this})}))}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return vn(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return mr((()=>vn(this,void 0,void 0,(function*(){const r=yield this.perform("getTransaction",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;const n=this.formatter.transactionResponse(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}return this._wrapTransaction(n)}))),{oncePoll:this})}))}getTransactionReceipt(e){return vn(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return mr((()=>vn(this,void 0,void 0,(function*(){const r=yield this.perform("getTransactionReceipt",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;if(null==r.blockHash)return;const n=this.formatter.receipt(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}return n}))),{oncePoll:this})}))}getLogs(e){return vn(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield be({filter:this._getFilter(e)}),r=yield this.perform("getLogs",t);return r.forEach((e=>{null==e.removed&&(e.removed=!1)})),En.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)}))}getEtherPrice(){return vn(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(e){return vn(this,void 0,void 0,(function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&bn.throwArgumentError("invalid BlockTag","blockTag",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return t+=e,t<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)}))}getResolver(e){return vn(this,void 0,void 0,(function*(){let t=e;for(;;){if(""===t||"."===t)return null;if("eth"!==e&&"eth"===t)return null;const r=yield this._getResolver(t,"getResolver");if(null!=r){const n=new Un(this,r,e);return t===e||(yield n.supportsWildcard())?n:null}t=t.split(".").slice(1).join(".")}}))}_getResolver(e,t){return vn(this,void 0,void 0,(function*(){null==t&&(t="ENS");const r=yield this.getNetwork();r.ensAddress||bn.throwError("network does not support ENS",I.errors.UNSUPPORTED_OPERATION,{operation:t,network:r.name});try{const t=yield this.call({to:r.ensAddress,data:"0x0178b8bf"+Rt(e).substring(2)});return this.formatter.callAddress(t)}catch(e){}return null}))}resolveName(e){return vn(this,void 0,void 0,(function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if(M(e))throw t}"string"!=typeof e&&bn.throwArgumentError("invalid ENS name","name",e);const t=yield this.getResolver(e);return t?yield t.getAddress():null}))}lookupAddress(e){return vn(this,void 0,void 0,(function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(t,"lookupAddress");if(null==r)return null;const n=kn(yield this.call({to:r,data:"0x691f3431"+Rt(t).substring(2)}),0);return(yield this.resolveName(n))!=e?null:n}))}getAvatar(e){return vn(this,void 0,void 0,(function*(){let t=null;if(M(e)){const r=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(r,"getAvatar");if(!n)return null;t=new Un(this,n,r);try{const e=yield t.getAvatar();if(e)return e.url}catch(e){if(e.code!==I.errors.CALL_EXCEPTION)throw e}try{const e=kn(yield this.call({to:n,data:"0x691f3431"+Rt(r).substring(2)}),0);t=yield this.getResolver(e)}catch(e){if(e.code!==I.errors.CALL_EXCEPTION)throw e;return null}}else if(t=yield this.getResolver(e),!t)return null;const r=yield t.getAvatar();return null==r?null:r.url}))}perform(e,t){return bn.throwError(e+" not implemented",I.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter((e=>e.pollable())).length>0}_stopEvent(e){this.polling=this._events.filter((e=>e.pollable())).length>0}_addEventListener(e,t,r){const n=new In(Pn(e),t,r);return this._events.push(n),this._startEvent(n),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let r=!1,n=[],i=Pn(e);return this._events=this._events.filter((e=>e.tag!==i||(setTimeout((()=>{e.listener.apply(this,t)}),0),r=!0,!e.once||(n.push(e),!1)))),n.forEach((e=>{this._stopEvent(e)})),r}listenerCount(e){if(!e)return this._events.length;let t=Pn(e);return this._events.filter((e=>e.tag===t)).length}listeners(e){if(null==e)return this._events.map((e=>e.listener));let t=Pn(e);return this._events.filter((e=>e.tag===t)).map((e=>e.listener))}off(e,t){if(null==t)return this.removeAllListeners(e);const r=[];let n=!1,i=Pn(e);return this._events=this._events.filter((e=>e.tag!==i||e.listener!=t||(!!n||(n=!0,r.push(e),!1)))),r.forEach((e=>{this._stopEvent(e)})),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const r=Pn(e);this._events=this._events.filter((e=>e.tag!==r||(t.push(e),!1)))}return t.forEach((e=>{this._stopEvent(e)})),this}}var Qn=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const Gn=new I("abstract-signer/5.7.0"),Yn=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],Xn=[I.errors.INSUFFICIENT_FUNDS,I.errors.NONCE_EXPIRED,I.errors.REPLACEMENT_UNDERPRICED];class $n{constructor(){Gn.checkAbstract(new.target,$n),Ee(this,"_isSigner",!0)}getBalance(e){return Qn(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)}))}getTransactionCount(e){return Qn(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)}))}estimateGas(e){return Qn(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const t=yield be(this.checkTransaction(e));return yield this.provider.estimateGas(t)}))}call(e,t){return Qn(this,void 0,void 0,(function*(){this._checkProvider("call");const r=yield be(this.checkTransaction(e));return yield this.provider.call(r,t)}))}sendTransaction(e){return Qn(this,void 0,void 0,(function*(){this._checkProvider("sendTransaction");const t=yield this.populateTransaction(e),r=yield this.signTransaction(t);return yield this.provider.sendTransaction(r)}))}getChainId(){return Qn(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return Qn(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}getFeeData(){return Qn(this,void 0,void 0,(function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()}))}resolveName(e){return Qn(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)}))}checkTransaction(e){for(const t in e)-1===Yn.indexOf(t)&&Gn.throwArgumentError("invalid transaction key: "+t,"transaction",e);const t=we(e);return null==t.from?t.from=this.getAddress():t.from=Promise.all([Promise.resolve(t.from),this.getAddress()]).then((t=>(t[0].toLowerCase()!==t[1].toLowerCase()&&Gn.throwArgumentError("from address mismatch","transaction",e),t[0]))),t}populateTransaction(e){return Qn(this,void 0,void 0,(function*(){const t=yield be(this.checkTransaction(e));null!=t.to&&(t.to=Promise.resolve(t.to).then((e=>Qn(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.resolveName(e);return null==t&&Gn.throwArgumentError("provided ENS name resolves to null","tx.to",e),t})))),t.to.catch((e=>{})));const r=null!=t.maxFeePerGas||null!=t.maxPriorityFeePerGas;if(null==t.gasPrice||2!==t.type&&!r?0!==t.type&&1!==t.type||!r||Gn.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e):Gn.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e),2!==t.type&&null!=t.type||null==t.maxFeePerGas||null==t.maxPriorityFeePerGas)if(0===t.type||1===t.type)null==t.gasPrice&&(t.gasPrice=this.getGasPrice());else{const e=yield this.getFeeData();if(null==t.type)if(null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas)if(t.type=2,null!=t.gasPrice){const e=t.gasPrice;delete t.gasPrice,t.maxFeePerGas=e,t.maxPriorityFeePerGas=e}else null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas);else null!=e.gasPrice?(r&&Gn.throwError("network does not support EIP-1559",I.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==t.gasPrice&&(t.gasPrice=e.gasPrice),t.type=0):Gn.throwError("failed to get consistent fee data",I.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else 2===t.type&&(null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas))}else t.type=2;return null==t.nonce&&(t.nonce=this.getTransactionCount("pending")),null==t.gasLimit&&(t.gasLimit=this.estimateGas(t).catch((e=>{if(Xn.indexOf(e.code)>=0)throw e;return Gn.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",I.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,tx:t})}))),null==t.chainId?t.chainId=this.getChainId():t.chainId=Promise.all([Promise.resolve(t.chainId),this.getChainId()]).then((t=>(0!==t[1]&&t[0]!==t[1]&&Gn.throwArgumentError("chainId address mismatch","transaction",e),t[0]))),yield be(t)}))}_checkProvider(e){this.provider||Gn.throwError("missing provider",I.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!(!e||!e._isSigner)}}class Kn extends $n{constructor(e,t){super(),Ee(this,"address",e),Ee(this,"provider",t||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,t){return Promise.resolve().then((()=>{Gn.throwError(e,I.errors.UNSUPPORTED_OPERATION,{operation:t})}))}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,t,r){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(e){return new Kn(this.address,e)}}var zn=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const Jn=new I(gr),Wn=["call","estimateGas"];function Zn(e,t){if(null==e)return null;if("string"==typeof e.message&&e.message.match("reverted")){const r=M(e.data)?e.data:null;if(!t||r)return{message:e.message,data:r}}if("object"==typeof e){for(const r in e){const n=Zn(e[r],t);if(n)return n}return null}if("string"==typeof e)try{return Zn(JSON.parse(e),t)}catch(e){}return null}function ei(e,t,r){const n=r.transaction||r.signedTransaction;if("call"===e){const e=Zn(t,!0);if(e)return e.data;Jn.throwError("missing revert data in call exception; Transaction reverted without a reason string",I.errors.CALL_EXCEPTION,{data:"0x",transaction:n,error:t})}if("estimateGas"===e){let r=Zn(t.body,!1);null==r&&(r=Zn(t,!1)),r&&Jn.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",I.errors.UNPREDICTABLE_GAS_LIMIT,{reason:r.message,method:e,transaction:n,error:t})}let i=t.message;throw t.code===I.errors.SERVER_ERROR&&t.error&&"string"==typeof t.error.message?i=t.error.message:"string"==typeof t.body?i=t.body:"string"==typeof t.responseText&&(i=t.responseText),i=(i||"").toLowerCase(),i.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&Jn.throwError("insufficient funds for intrinsic transaction cost",I.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:n}),i.match(/nonce (is )?too low/i)&&Jn.throwError("nonce has already been used",I.errors.NONCE_EXPIRED,{error:t,method:e,transaction:n}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&Jn.throwError("replacement fee too low",I.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:n}),i.match(/only replay-protected/i)&&Jn.throwError("legacy pre-eip-155 transactions not supported",I.errors.UNSUPPORTED_OPERATION,{error:t,method:e,transaction:n}),Wn.indexOf(e)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&Jn.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",I.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:n}),t}function ti(e){return new Promise((function(t){setTimeout(t,e)}))}function ri(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function ni(e){return e?e.toLowerCase():e}const ii={};class si extends $n{constructor(e,t,r){if(super(),e!==ii)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");Ee(this,"provider",t),null==r&&(r=0),"string"==typeof r?(Ee(this,"_address",this.provider.formatter.address(r)),Ee(this,"_index",null)):"number"==typeof r?(Ee(this,"_index",r),Ee(this,"_address",null)):Jn.throwArgumentError("invalid address or index","addressOrIndex",r)}connect(e){return Jn.throwError("cannot alter JSON-RPC Signer connection",I.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new oi(ii,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((e=>(e.length<=this._index&&Jn.throwError("unknown account #"+this._index,I.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index]))))}sendUncheckedTransaction(e){e=we(e);const t=this.getAddress().then((e=>(e&&(e=e.toLowerCase()),e)));if(null==e.gasLimit){const r=we(e);r.from=t,e.gasLimit=this.provider.estimateGas(r)}return null!=e.to&&(e.to=Promise.resolve(e.to).then((e=>zn(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.provider.resolveName(e);return null==t&&Jn.throwArgumentError("provided ENS name resolves to null","tx.to",e),t}))))),be({tx:be(e),sender:t}).then((({tx:t,sender:r})=>{null!=t.from?t.from.toLowerCase()!==r&&Jn.throwArgumentError("from address mismatch","transaction",e):t.from=r;const n=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[n]).then((e=>e),(e=>("string"==typeof e.message&&e.message.match(/user denied/i)&&Jn.throwError("user rejected transaction",I.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:t}),ei("sendTransaction",e,n))))}))}signTransaction(e){return Jn.throwError("signing transactions is unsupported",I.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return zn(this,void 0,void 0,(function*(){const t=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),r=yield this.sendUncheckedTransaction(e);try{return yield mr((()=>zn(this,void 0,void 0,(function*(){const e=yield this.provider.getTransaction(r);if(null!==e)return this.provider._wrapTransaction(e,r,t)}))),{oncePoll:this.provider})}catch(e){throw e.transactionHash=r,e}}))}signMessage(e){return zn(this,void 0,void 0,(function*(){const t="string"==typeof e?et(e):e,r=yield this.getAddress();try{return yield this.provider.send("personal_sign",[U(t),r.toLowerCase()])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Jn.throwError("user rejected signing",I.errors.ACTION_REJECTED,{action:"signMessage",from:r,messageData:e}),t}}))}_legacySignMessage(e){return zn(this,void 0,void 0,(function*(){const t="string"==typeof e?et(e):e,r=yield this.getAddress();try{return yield this.provider.send("eth_sign",[r.toLowerCase(),U(t)])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Jn.throwError("user rejected signing",I.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:r,messageData:e}),t}}))}_signTypedData(e,t,r){return zn(this,void 0,void 0,(function*(){const n=yield or.resolveNames(e,t,r,(e=>this.provider.resolveName(e))),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(or.getPayload(n.domain,t,n.value))])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&Jn.throwError("user rejected signing",I.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:n.domain,types:t,value:n.value}}),e}}))}unlock(e){return zn(this,void 0,void 0,(function*(){const t=this.provider,r=yield this.getAddress();return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])}))}}class oi extends si{sendTransaction(e){return this.sendUncheckedTransaction(e).then((e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)})))}}const ai={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class li extends jn{constructor(e,t){let r=t;null==r&&(r=new Promise(((e,t)=>{setTimeout((()=>{this.detectNetwork().then((t=>{e(t)}),(e=>{t(e)}))}),0)}))),super(r),e||(e=ve(this.constructor,"defaultUrl")()),Ee(this,"connection","string"==typeof e?Object.freeze({url:e}):Object.freeze(we(e))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout((()=>{this._cache.detectNetwork=null}),0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return zn(this,void 0,void 0,(function*(){yield ti(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch(t){try{e=yield this.send("net_version",[])}catch(e){}}if(null!=e){const t=ve(this.constructor,"getNetwork");try{return t(Z.from(e).toNumber())}catch(t){return Jn.throwError("could not detect network",I.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})}}return Jn.throwError("could not detect network",I.errors.NETWORK_ERROR,{event:"noNetwork"})}))}getSigner(e){return new si(ii,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then((e=>e.map((e=>this.formatter.address(e)))))}send(e,t){const r={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:Te(r),provider:this});const n=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(n&&this._cache[e])return this._cache[e];const i=pr(this.connection,JSON.stringify(r),ri).then((e=>(this.emit("debug",{action:"response",request:r,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",error:e,request:r,provider:this}),e}));return n&&(this._cache[e]=i,setTimeout((()=>{this._cache[e]=null}),0)),i}prepareRequest(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[ni(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[ni(t.address),t.blockTag]];case"getCode":return["eth_getCode",[ni(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[ni(t.address),G(t.position,32),t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[ve(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[ve(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=ni(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){return zn(this,void 0,void 0,(function*(){if("call"===e||"estimateGas"===e){const e=t.transaction;if(e&&null!=e.type&&Z.from(e.type).isZero()&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){const r=yield this.getFeeData();null==r.maxFeePerGas&&null==r.maxPriorityFeePerGas&&((t=we(t)).transaction=we(e),delete t.transaction.type)}}const r=this.prepareRequest(e,t);null==r&&Jn.throwError(e+" not implemented",I.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(r[0],r[1])}catch(r){return ei(e,r,t)}}))}_startEvent(e){"pending"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;const e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then((function(r){return function n(){e.send("eth_getFilterChanges",[r]).then((function(r){if(e._pendingFilter!=t)return null;let n=Promise.resolve();return r.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),n.then((function(){return ti(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){n()}),0),null;e.send("eth_uninstallFilter",[r])})).catch((e=>{}))}(),r})).catch((e=>{}))}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const r=we(ai);if(t)for(const e in t)t[e]&&(r[e]=!0);var n,i;i=r,(n=e)&&"object"==typeof n||Ae.throwArgumentError("invalid object","object",n),Object.keys(n).forEach((e=>{i[e]||Ae.throwArgumentError("invalid object key - "+e,"transaction:"+e,n)}));const s={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(t){if(null==e[t])return;const r=Q(Z.from(e[t]));"gasLimit"===t&&(t="gas"),s[t]=r})),["from","to","data"].forEach((function(t){null!=e[t]&&(s[t]=U(e[t]))})),e.accessList&&(s.accessList=hn(e.accessList)),s}}var ci=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const ui=new I(gr);class di extends li{detectNetwork(){const e=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return ci(this,void 0,void 0,(function*(){let t=this.network;return null==t&&(t=yield e.detectNetwork.call(this),t||ui.throwError("no network detected",I.errors.UNKNOWN_ERROR,{}),null==this._network&&(Ee(this,"_network",t),this.emit("network",t,null))),t}))}}const hi="abi/5.7.0",fi=new I(hi),pi={};let mi={calldata:!0,memory:!0,storage:!0},gi={calldata:!0,memory:!0};function yi(e,t){if("bytes"===e||"string"===e){if(mi[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&gi[t])return!0;return(mi[t]||"payable"===t)&&fi.throwArgumentError("invalid modifier","name",t),!1}function Ai(e,t){for(let r in t)Ee(e,r,t[r])}const Ei=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),vi=new RegExp(/^(.*)\[([0-9]*)\]$/);class bi{constructor(e,t){e!==pi&&fi.throwError("use fromString",I.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),Ai(this,t);let r=this.type.match(vi);Ai(this,r?{arrayLength:parseInt(r[2]||"-1"),arrayChildren:bi.fromObject({type:r[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=Ei.sighash),Ei[e]||fi.throwArgumentError("invalid format type","format",e),e===Ei.json){let t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map((t=>JSON.parse(t.format(e))))),JSON.stringify(t)}let t="";return"array"===this.baseType?(t+=this.arrayChildren.format(e),t+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==Ei.sighash&&(t+=this.type),t+="("+this.components.map((t=>t.format(e))).join(e===Ei.full?", ":",")+")"):t+=this.type,e!==Ei.sighash&&(!0===this.indexed&&(t+=" indexed"),e===Ei.full&&this.name&&(t+=" "+this.name)),t}static from(e,t){return"string"==typeof e?bi.fromString(e,t):bi.fromObject(e)}static fromObject(e){return bi.isParamType(e)?e:new bi(pi,{name:e.name||null,type:xi(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(bi.fromObject):null})}static fromString(e,t){return r=function(e,t){let r=e;function n(t){fi.throwArgumentError(`unexpected character at position ${t}`,"param",e)}function i(e){let r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");let s={type:"",name:"",state:{allowType:!0}},o=s;for(let r=0;r<e.length;r++){let s=e[r];switch(s){case"(":o.state.allowType&&""===o.type?o.type="tuple":o.state.allowParams||n(r),o.state.allowType=!1,o.type=xi(o.type),o.components=[i(o)],o=o.components[0];break;case")":delete o.state,"indexed"===o.name&&(t||n(r),o.indexed=!0,o.name=""),yi(o.type,o.name)&&(o.name=""),o.type=xi(o.type);let e=o;o=o.parent,o||n(r),delete e.parent,o.state.allowParams=!1,o.state.allowName=!0,o.state.allowArray=!0;break;case",":delete o.state,"indexed"===o.name&&(t||n(r),o.indexed=!0,o.name=""),yi(o.type,o.name)&&(o.name=""),o.type=xi(o.type);let a=i(o.parent);o.parent.components.push(a),delete o.parent,o=a;break;case" ":o.state.allowType&&""!==o.type&&(o.type=xi(o.type),delete o.state.allowType,o.state.allowName=!0,o.state.allowParams=!0),o.state.allowName&&""!==o.name&&("indexed"===o.name?(t||n(r),o.indexed&&n(r),o.indexed=!0,o.name=""):yi(o.type,o.name)?o.name="":o.state.allowName=!1);break;case"[":o.state.allowArray||n(r),o.type+=s,o.state.allowArray=!1,o.state.allowName=!1,o.state.readArray=!0;break;case"]":o.state.readArray||n(r),o.type+=s,o.state.readArray=!1,o.state.allowArray=!0,o.state.allowName=!0;break;default:o.state.allowType?(o.type+=s,o.state.allowParams=!0,o.state.allowArray=!0):o.state.allowName?(o.name+=s,delete o.state.allowArray):o.state.readArray?o.type+=s:n(r)}}return o.parent&&fi.throwArgumentError("unexpected eof","param",e),delete s.state,"indexed"===o.name?(t||n(r.length-7),o.indexed&&n(r.length-7),o.indexed=!0,o.name=""):yi(o.type,o.name)&&(o.name=""),s.type=xi(s.type),s}(e,!!t),bi.fromObject({name:r.name,type:r.type,indexed:r.indexed,components:r.components});var r}static isParamType(e){return!(null==e||!e._isParamType)}}function wi(e,t){return function(e){e=e.trim();let t=[],r="",n=0;for(let i=0;i<e.length;i++){let s=e[i];","===s&&0===n?(t.push(r),r=""):(r+=s,"("===s?n++:")"===s&&(n--,-1===n&&fi.throwArgumentError("unbalanced parenthesis","value",e)))}r&&t.push(r);return t}(e).map((e=>bi.fromString(e,t)))}class Oi{constructor(e,t){e!==pi&&fi.throwError("use a static from method",I.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),Ai(this,t),this._isFragment=!0,Object.freeze(this)}static from(e){return Oi.isFragment(e)?e:"string"==typeof e?Oi.fromString(e):Oi.fromObject(e)}static fromObject(e){if(Oi.isFragment(e))return e;switch(e.type){case"function":return Ri.fromObject(e);case"event":return Pi.fromObject(e);case"constructor":return Ii.fromObject(e);case"error":return Bi.fromObject(e);case"fallback":case"receive":return null}return fi.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Pi.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?Ri.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?Ii.fromString(e.trim()):"error"===e.split(" ")[0]?Bi.fromString(e.substring(5).trim()):fi.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!(!e||!e._isFragment)}}class Pi extends Oi{format(e){if(e||(e=Ei.sighash),Ei[e]||fi.throwArgumentError("invalid format type","format",e),e===Ei.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==Ei.sighash&&(t+="event "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===Ei.full?", ":",")+") ",e!==Ei.sighash&&this.anonymous&&(t+="anonymous "),t.trim()}static from(e){return"string"==typeof e?Pi.fromString(e):Pi.fromObject(e)}static fromObject(e){if(Pi.isEventFragment(e))return e;"event"!==e.type&&fi.throwArgumentError("invalid event object","value",e);const t={name:ki(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(bi.fromObject):[],type:"event"};return new Pi(pi,t)}static fromString(e){let t=e.match(Si);t||fi.throwArgumentError("invalid event string","value",e);let r=!1;return t[3].split(" ").forEach((e=>{switch(e.trim()){case"anonymous":r=!0;break;case"":break;default:fi.warn("unknown modifier: "+e)}})),Pi.fromObject({name:t[1].trim(),anonymous:r,inputs:wi(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function Di(e,t){t.gas=null;let r=e.split("@");return 1!==r.length?(r.length>2&&fi.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||fi.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=Z.from(r[1]),r[0]):e}function Ti(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach((e=>{switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function _i(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&fi.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&fi.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||fi.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&fi.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&fi.throwArgumentError("unable to determine stateMutability","value",e),t}class Ii extends Oi{format(e){if(e||(e=Ei.sighash),Ei[e]||fi.throwArgumentError("invalid format type","format",e),e===Ei.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});e===Ei.sighash&&fi.throwError("cannot format a constructor for sighash",I.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let t="constructor("+this.inputs.map((t=>t.format(e))).join(e===Ei.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}static from(e){return"string"==typeof e?Ii.fromString(e):Ii.fromObject(e)}static fromObject(e){if(Ii.isConstructorFragment(e))return e;"constructor"!==e.type&&fi.throwArgumentError("invalid constructor object","value",e);let t=_i(e);t.constant&&fi.throwArgumentError("constructor cannot be constant","value",e);const r={name:null,type:e.type,inputs:e.inputs?e.inputs.map(bi.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?Z.from(e.gas):null};return new Ii(pi,r)}static fromString(e){let t={type:"constructor"},r=(e=Di(e,t)).match(Si);return r&&"constructor"===r[1].trim()||fi.throwArgumentError("invalid constructor string","value",e),t.inputs=wi(r[2].trim(),!1),Ti(r[3].trim(),t),Ii.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class Ri extends Ii{format(e){if(e||(e=Ei.sighash),Ei[e]||fi.throwArgumentError("invalid format type","format",e),e===Ei.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((t=>JSON.parse(t.format(e)))),outputs:this.outputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==Ei.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===Ei.full?", ":",")+") ",e!==Ei.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map((t=>t.format(e))).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}static from(e){return"string"==typeof e?Ri.fromString(e):Ri.fromObject(e)}static fromObject(e){if(Ri.isFunctionFragment(e))return e;"function"!==e.type&&fi.throwArgumentError("invalid function object","value",e);let t=_i(e);const r={type:e.type,name:ki(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(bi.fromObject):[],outputs:e.outputs?e.outputs.map(bi.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?Z.from(e.gas):null};return new Ri(pi,r)}static fromString(e){let t={type:"function"},r=(e=Di(e,t)).split(" returns ");r.length>2&&fi.throwArgumentError("invalid function string","value",e);let n=r[0].match(Si);if(n||fi.throwArgumentError("invalid function signature","value",e),t.name=n[1].trim(),t.name&&ki(t.name),t.inputs=wi(n[2],!1),Ti(n[3].trim(),t),r.length>1){let n=r[1].match(Si);""==n[1].trim()&&""==n[3].trim()||fi.throwArgumentError("unexpected tokens","value",e),t.outputs=wi(n[2],!1)}else t.outputs=[];return Ri.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function Ci(e){const t=e.format();return"Error(string)"!==t&&"Panic(uint256)"!==t||fi.throwArgumentError(`cannot specify user defined ${t} error`,"fragment",e),e}class Bi extends Oi{format(e){if(e||(e=Ei.sighash),Ei[e]||fi.throwArgumentError("invalid format type","format",e),e===Ei.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map((t=>JSON.parse(t.format(e))))});let t="";return e!==Ei.sighash&&(t+="error "),t+=this.name+"("+this.inputs.map((t=>t.format(e))).join(e===Ei.full?", ":",")+") ",t.trim()}static from(e){return"string"==typeof e?Bi.fromString(e):Bi.fromObject(e)}static fromObject(e){if(Bi.isErrorFragment(e))return e;"error"!==e.type&&fi.throwArgumentError("invalid error object","value",e);const t={type:e.type,name:ki(e.name),inputs:e.inputs?e.inputs.map(bi.fromObject):[]};return Ci(new Bi(pi,t))}static fromString(e){let t={type:"error"},r=e.match(Si);return r||fi.throwArgumentError("invalid error signature","value",e),t.name=r[1].trim(),t.name&&ki(t.name),t.inputs=wi(r[2],!1),Ci(Bi.fromObject(t))}static isErrorFragment(e){return e&&e._isFragment&&"error"===e.type}}function xi(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}const Ni=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function ki(e){return e&&e.match(Ni)||fi.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const Si=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const Li=new I(hi);class Fi{constructor(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}_throwError(e,t){Li.throwArgumentError(e,this.localName,t)}}class Mi{constructor(e){Ee(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return j(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData(L(e._data))}writeBytes(e){let t=S(e);const r=t.length%this.wordSize;return r&&(t=L([t,this._padding.slice(r)])),this._writeData(t)}_getValue(e){let t=S(Z.from(e));return t.length>this.wordSize&&Li.throwError("value out-of-bounds",I.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=L([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,t=>{this._data[e]=this._getValue(t)}}}class qi{constructor(e,t,r,n){Ee(this,"_data",S(e)),Ee(this,"wordSize",t||32),Ee(this,"_coerceFunc",r),Ee(this,"allowLoose",n),this._offset=0}get data(){return U(this._data)}get consumed(){return this._offset}static coerce(e,t){let r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):qi.coerce(e,t)}_peekBytes(e,t,r){let n=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&r&&this._offset+t<=this._data.length?n=t:Li.throwError("data out-of-bounds",I.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}subReader(e){return new qi(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let r=this._peekBytes(0,e,!!t);return this._offset+=r.length,r.slice(0,e)}readValue(){return Z.from(this.readBytes(this.wordSize))}}class Ui extends Fi{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){try{t=jt(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return jt(G(e.readValue().toHexString(),20))}}class Vi extends Fi{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}}const Hi=new I(hi);function ji(e,t,r){let n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){let e={};n=t.map((t=>{const n=t.localName;return n||Hi.throwError("cannot encode object for signature with missing names",I.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[n]&&Hi.throwError("cannot encode object for signature with duplicate names",I.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[n]=!0,r[n]}))}else Hi.throwArgumentError("invalid tuple value","tuple",r);t.length!==n.length&&Hi.throwArgumentError("types/value length mismatch","tuple",r);let i=new Mi(e.wordSize),s=new Mi(e.wordSize),o=[];t.forEach(((e,t)=>{let r=n[t];if(e.dynamic){let t=s.length;e.encode(s,r);let n=i.writeUpdatableValue();o.push((e=>{n(e+t)}))}else e.encode(i,r)})),o.forEach((e=>{e(i.length)}));let a=e.appendWriter(i);return a+=e.appendWriter(s),a}function Qi(e,t){let r=[],n=e.subReader(0);t.forEach((t=>{let i=null;if(t.dynamic){let r=e.readValue(),s=n.subReader(r.toNumber());try{i=t.decode(s)}catch(e){if(e.code===I.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}}else try{i=t.decode(e)}catch(e){if(e.code===I.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&r.push(i)}));const i=t.reduce(((e,t)=>{const r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});t.forEach(((e,t)=>{let n=e.localName;if(!n||1!==i[n])return;if("length"===n&&(n="_length"),null!=r[n])return;const s=r[t];s instanceof Error?Object.defineProperty(r,n,{enumerable:!0,get:()=>{throw s}}):r[n]=s}));for(let e=0;e<r.length;e++){const t=r[e];t instanceof Error&&Object.defineProperty(r,e,{enumerable:!0,get:()=>{throw t}})}return Object.freeze(r)}class Gi extends Fi{constructor(e,t,r){super("array",e.type+"["+(t>=0?t:"")+"]",r,-1===t||e.dynamic),this.coder=e,this.length=t}defaultValue(){const e=this.coder.defaultValue(),t=[];for(let r=0;r<this.length;r++)t.push(e);return t}encode(e,t){Array.isArray(t)||this._throwError("expected array value",t);let r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),Hi.checkArgumentCount(t.length,r,"coder array"+(this.localName?" "+this.localName:""));let n=[];for(let e=0;e<t.length;e++)n.push(this.coder);return ji(e,n,t)}decode(e){let t=this.length;-1===t&&(t=e.readValue().toNumber(),32*t>e._data.length&&Hi.throwError("insufficient data length",I.errors.BUFFER_OVERRUN,{length:e._data.length,count:t}));let r=[];for(let e=0;e<t;e++)r.push(new Vi(this.coder));return e.coerce(this.name,Qi(e,r))}}class Yi extends Fi{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){return e.writeValue(t?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}}class Xi extends Fi{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=S(t);let r=e.writeValue(t.length);return r+=e.writeBytes(t),r}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}}class $i extends Xi{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,U(super.decode(e)))}}class Ki extends Fi{constructor(e,t){let r="bytes"+String(e);super(r,r,t,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(e,t){let r=S(t);return r.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(r)}decode(e){return e.coerce(this.name,U(e.readBytes(this.size)))}}class zi extends Fi{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}}class Ji extends Fi{constructor(e,t,r){const n=(t?"int":"uint")+8*e;super(n,n,r,!1),this.size=e,this.signed=t}defaultValue(){return 0}encode(e,t){let r=Z.from(t),n=Ye.mask(8*e.wordSize);if(this.signed){let e=n.mask(8*this.size-1);(r.gt(e)||r.lt(e.add(Ge).mul(je)))&&this._throwError("value out-of-bounds",t)}else(r.lt(Qe)||r.gt(n.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(r)}decode(e){let t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}}class Wi extends Xi{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,et(t))}decode(e){return tt(super.decode(e))}}class Zi extends Fi{constructor(e,t){let r=!1;const n=[];e.forEach((e=>{e.dynamic&&(r=!0),n.push(e.type)}));super("tuple","tuple("+n.join(",")+")",t,r),this.coders=e}defaultValue(){const e=[];this.coders.forEach((t=>{e.push(t.defaultValue())}));const t=this.coders.reduce(((e,t)=>{const r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});return this.coders.forEach(((r,n)=>{let i=r.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[n]))})),Object.freeze(e)}encode(e,t){return ji(e,this.coders,t)}decode(e){return e.coerce(this.name,Qi(e,this.coders))}}const es=new I(hi),ts=new RegExp(/^bytes([0-9]*)$/),rs=new RegExp(/^(u?int)([0-9]*)$/);const ns=new class{constructor(e){Ee(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new Ui(e.name);case"bool":return new Yi(e.name);case"string":return new Wi(e.name);case"bytes":return new $i(e.name);case"array":return new Gi(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new Zi((e.components||[]).map((e=>this._getCoder(e))),e.name);case"":return new zi(e.name)}let t=e.type.match(rs);if(t){let r=parseInt(t[2]||"256");return(0===r||r>256||r%8!=0)&&es.throwArgumentError("invalid "+t[1]+" bit length","param",e),new Ji(r/8,"int"===t[1],e.name)}if(t=e.type.match(ts),t){let r=parseInt(t[1]);return(0===r||r>32)&&es.throwArgumentError("invalid bytes length","param",e),new Ki(r,e.name)}return es.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,t){return new qi(e,this._getWordSize(),this.coerceFunc,t)}_getWriter(){return new Mi(this._getWordSize())}getDefaultValue(e){const t=e.map((e=>this._getCoder(bi.from(e))));return new Zi(t,"_").defaultValue()}encode(e,t){e.length!==t.length&&es.throwError("types/values length mismatch",I.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});const r=e.map((e=>this._getCoder(bi.from(e)))),n=new Zi(r,"_"),i=this._getWriter();return n.encode(i,t),i.data}decode(e,t,r){const n=e.map((e=>this._getCoder(bi.from(e))));return new Zi(n,"_").decode(this._getReader(S(t),r))}},is=new I(hi);class ss extends _e{}class os extends _e{}class as extends _e{}class ls extends _e{static isIndexed(e){return!(!e||!e._isIndexed)}}const cs={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function us(e,t){const r=new Error(`deferred error during ABI decoding triggered accessing ${e}`);return r.error=t,r}class ds{constructor(e){let t=[];t="string"==typeof e?JSON.parse(e):e,Ee(this,"fragments",t.map((e=>Oi.from(e))).filter((e=>null!=e))),Ee(this,"_abiCoder",ve(new.target,"getAbiCoder")()),Ee(this,"functions",{}),Ee(this,"errors",{}),Ee(this,"events",{}),Ee(this,"structs",{}),this.fragments.forEach((e=>{let t=null;switch(e.type){case"constructor":return this.deploy?void is.warn("duplicate definition - constructor"):void Ee(this,"deploy",e);case"function":t=this.functions;break;case"event":t=this.events;break;case"error":t=this.errors;break;default:return}let r=e.format();t[r]?is.warn("duplicate definition - "+r):t[r]=e})),this.deploy||Ee(this,"deploy",Ii.from({payable:!1,type:"constructor"})),Ee(this,"_isInterface",!0)}format(e){e||(e=Ei.full),e===Ei.sighash&&is.throwArgumentError("interface does not support formatting sighash","format",e);const t=this.fragments.map((t=>t.format(e)));return e===Ei.json?JSON.stringify(t.map((e=>JSON.parse(e)))):t}static getAbiCoder(){return ns}static getAddress(e){return jt(e)}static getSighash(e){return H(rt(e.format()),0,4)}static getEventTopic(e){return rt(e.format())}getFunction(e){if(M(e)){for(const t in this.functions)if(e===this.getSighash(t))return this.functions[t];is.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),r=Object.keys(this.functions).filter((e=>e.split("(")[0]===t));return 0===r.length?is.throwArgumentError("no matching function","name",t):r.length>1&&is.throwArgumentError("multiple matching functions","name",t),this.functions[r[0]]}const t=this.functions[Ri.fromString(e).format()];return t||is.throwArgumentError("no matching function","signature",e),t}getEvent(e){if(M(e)){const t=e.toLowerCase();for(const e in this.events)if(t===this.getEventTopic(e))return this.events[e];is.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){const t=e.trim(),r=Object.keys(this.events).filter((e=>e.split("(")[0]===t));return 0===r.length?is.throwArgumentError("no matching event","name",t):r.length>1&&is.throwArgumentError("multiple matching events","name",t),this.events[r[0]]}const t=this.events[Pi.fromString(e).format()];return t||is.throwArgumentError("no matching event","signature",e),t}getError(e){if(M(e)){const t=ve(this.constructor,"getSighash");for(const r in this.errors){if(e===t(this.errors[r]))return this.errors[r]}is.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),r=Object.keys(this.errors).filter((e=>e.split("(")[0]===t));return 0===r.length?is.throwArgumentError("no matching error","name",t):r.length>1&&is.throwArgumentError("multiple matching errors","name",t),this.errors[r[0]]}const t=this.errors[Ri.fromString(e).format()];return t||is.throwArgumentError("no matching error","signature",e),t}getSighash(e){if("string"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return ve(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),ve(this.constructor,"getEventTopic")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){"string"==typeof e&&(e=this.getError(e));const r=S(t);return U(r.slice(0,4))!==this.getSighash(e)&&is.throwArgumentError(`data signature does not match error ${e.name}.`,"data",U(r)),this._decodeParams(e.inputs,r.slice(4))}encodeErrorResult(e,t){return"string"==typeof e&&(e=this.getError(e)),U(L([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionData(e,t){"string"==typeof e&&(e=this.getFunction(e));const r=S(t);return U(r.slice(0,4))!==this.getSighash(e)&&is.throwArgumentError(`data signature does not match function ${e.name}.`,"data",U(r)),this._decodeParams(e.inputs,r.slice(4))}encodeFunctionData(e,t){return"string"==typeof e&&(e=this.getFunction(e)),U(L([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){"string"==typeof e&&(e=this.getFunction(e));let r=S(t),n=null,i="",s=null,o=null,a=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:{const e=U(r.slice(0,4)),t=cs[e];if(t)s=this._abiCoder.decode(t.inputs,r.slice(4)),o=t.name,a=t.signature,t.reason&&(n=s[0]),"Error"===o?i=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(s[0])}`:"Panic"===o&&(i=`; VM Exception while processing transaction: reverted with panic code ${s[0]}`);else try{const t=this.getError(e);s=this._abiCoder.decode(t.inputs,r.slice(4)),o=t.name,a=t.format()}catch(e){}break}}return is.throwError("call revert exception"+i,I.errors.CALL_EXCEPTION,{method:e.format(),data:U(t),errorArgs:s,errorName:o,errorSignature:a,reason:n})}encodeFunctionResult(e,t){return"string"==typeof e&&(e=this.getFunction(e)),U(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&is.throwError("too many arguments for "+e.format(),I.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});let r=[];e.anonymous||r.push(this.getEventTopic(e));const n=(e,t)=>"string"===e.type?rt(t):"bytes"===e.type?Xe(U(t)):("bool"===e.type&&"boolean"==typeof t&&(t=t?"0x01":"0x00"),e.type.match(/^u?int/)&&(t=Z.from(t).toHexString()),"address"===e.type&&this._abiCoder.encode(["address"],[t]),G(U(t),32));for(t.forEach(((t,i)=>{let s=e.inputs[i];s.indexed?null==t?r.push(null):"array"===s.baseType||"tuple"===s.baseType?is.throwArgumentError("filtering with tuples or arrays not supported","contract."+s.name,t):Array.isArray(t)?r.push(t.map((e=>n(s,e)))):r.push(n(s,t)):null!=t&&is.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+s.name,t)}));r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));const r=[],n=[],i=[];return e.anonymous||r.push(this.getEventTopic(e)),t.length!==e.inputs.length&&is.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach(((e,s)=>{const o=t[s];if(e.indexed)if("string"===e.type)r.push(rt(o));else if("bytes"===e.type)r.push(Xe(o));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");r.push(this._abiCoder.encode([e.type],[o]))}else n.push(e),i.push(o)})),{data:this._abiCoder.encode(n,i),topics:r}}decodeEventLog(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){let t=this.getEventTopic(e);M(r[0],32)&&r[0].toLowerCase()===t||is.throwError("fragment/topic mismatch",I.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:r[0]}),r=r.slice(1)}let n=[],i=[],s=[];e.inputs.forEach(((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(n.push(bi.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(n.push(e),s.push(!1)):(i.push(e),s.push(!1))}));let o=null!=r?this._abiCoder.decode(n,L(r)):null,a=this._abiCoder.decode(i,t,!0),l=[],c=0,u=0;e.inputs.forEach(((e,t)=>{if(e.indexed)if(null==o)l[t]=new ls({_isIndexed:!0,hash:null});else if(s[t])l[t]=new ls({_isIndexed:!0,hash:o[u++]});else try{l[t]=o[u++]}catch(e){l[t]=e}else try{l[t]=a[c++]}catch(e){l[t]=e}if(e.name&&null==l[e.name]){const r=l[t];r instanceof Error?Object.defineProperty(l,e.name,{enumerable:!0,get:()=>{throw us(`property ${JSON.stringify(e.name)}`,r)}}):l[e.name]=r}}));for(let e=0;e<l.length;e++){const t=l[e];t instanceof Error&&Object.defineProperty(l,e,{enumerable:!0,get:()=>{throw us(`index ${e}`,t)}})}return Object.freeze(l)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new os({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:Z.from(e.value||"0")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new ss({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}parseError(e){const t=U(e);let r=this.getError(t.substring(0,10).toLowerCase());return r?new as({args:this._abiCoder.decode(r.inputs,"0x"+t.substring(10)),errorFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r)}):null}static isInterface(e){return!(!e||!e._isInterface)}}var hs=function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};const fs=new I("contracts/5.7.0");function ps(e,t){return hs(this,void 0,void 0,(function*(){const r=yield t;"string"!=typeof r&&fs.throwArgumentError("invalid address or ENS name","name",r);try{return jt(r)}catch(e){}e||fs.throwError("a provider or signer is needed to resolve ENS names",I.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const n=yield e.resolveName(r);return null==n&&fs.throwArgumentError("resolver or addr is not configured for ENS name","name",r),n}))}function ms(e,t,r){return hs(this,void 0,void 0,(function*(){return Array.isArray(r)?yield Promise.all(r.map(((r,n)=>ms(e,Array.isArray(t)?t[n]:t[r.name],r)))):"address"===r.type?yield ps(e,t):"tuple"===r.type?yield ms(e,t,r.components):"array"===r.baseType?Array.isArray(t)?yield Promise.all(t.map((t=>ms(e,t,r.arrayChildren)))):Promise.reject(fs.makeError("invalid value for array",I.errors.INVALID_ARGUMENT,{argument:"value",value:t})):t}))}function gs(e,t,r){return hs(this,void 0,void 0,(function*(){let n={};r.length===t.inputs.length+1&&"object"==typeof r[r.length-1]&&(n=we(r.pop())),fs.checkArgumentCount(r.length,t.inputs.length,"passed to contract"),e.signer?n.from?n.from=be({override:ps(e.signer,n.from),signer:e.signer.getAddress()}).then((e=>hs(this,void 0,void 0,(function*(){return jt(e.signer)!==e.override&&fs.throwError("Contract with a Signer cannot override from",I.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),e.override})))):n.from=e.signer.getAddress():n.from&&(n.from=ps(e.provider,n.from));const i=yield be({args:ms(e.signer||e.provider,r,t.inputs),address:e.resolvedAddress,overrides:be(n)||{}}),s=e.interface.encodeFunctionData(t,i.args),o={data:s,to:i.address},a=i.overrides;if(null!=a.nonce&&(o.nonce=Z.from(a.nonce).toNumber()),null!=a.gasLimit&&(o.gasLimit=Z.from(a.gasLimit)),null!=a.gasPrice&&(o.gasPrice=Z.from(a.gasPrice)),null!=a.maxFeePerGas&&(o.maxFeePerGas=Z.from(a.maxFeePerGas)),null!=a.maxPriorityFeePerGas&&(o.maxPriorityFeePerGas=Z.from(a.maxPriorityFeePerGas)),null!=a.from&&(o.from=a.from),null!=a.type&&(o.type=a.type),null!=a.accessList&&(o.accessList=hn(a.accessList)),null==o.gasLimit&&null!=t.gas){let e=21e3;const r=S(s);for(let t=0;t<r.length;t++)e+=4,r[t]&&(e+=64);o.gasLimit=Z.from(t.gas).add(e)}if(a.value){const e=Z.from(a.value);e.isZero()||t.payable||fs.throwError("non-payable method cannot override value",I.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:n.value}),o.value=e}a.customData&&(o.customData=we(a.customData)),a.ccipReadEnabled&&(o.ccipReadEnabled=!!a.ccipReadEnabled),delete n.nonce,delete n.gasLimit,delete n.gasPrice,delete n.from,delete n.value,delete n.type,delete n.accessList,delete n.maxFeePerGas,delete n.maxPriorityFeePerGas,delete n.customData,delete n.ccipReadEnabled;const l=Object.keys(n).filter((e=>null!=n[e]));return l.length&&fs.throwError(`cannot override ${l.map((e=>JSON.stringify(e))).join(",")}`,I.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:l}),o}))}function ys(e,t,r){const n=e.signer||e.provider;return function(...i){return hs(this,void 0,void 0,(function*(){let s;if(i.length===t.inputs.length+1&&"object"==typeof i[i.length-1]){const e=we(i.pop());null!=e.blockTag&&(s=yield e.blockTag),delete e.blockTag,i.push(e)}null!=e.deployTransaction&&(yield e._deployed(s));const o=yield gs(e,t,i),a=yield n.call(o,s);try{let n=e.interface.decodeFunctionResult(t,a);return r&&1===t.outputs.length&&(n=n[0]),n}catch(t){throw t.code===I.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=i,t.transaction=o),t}}))}}function As(e,t){return function(...r){return hs(this,void 0,void 0,(function*(){e.signer||fs.throwError("sending a transaction requires a signer",I.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=e.deployTransaction&&(yield e._deployed());const n=yield gs(e,t,r),i=yield e.signer.sendTransaction(n);return function(e,t){const r=t.wait.bind(t);t.wait=t=>r(t).then((t=>(t.events=t.logs.map((r=>{let n=Te(r),i=null;try{i=e.interface.parseLog(r)}catch(e){}return i&&(n.args=i.args,n.decode=(t,r)=>e.interface.decodeEventLog(i.eventFragment,t,r),n.event=i.name,n.eventSignature=i.signature),n.removeListener=()=>e.provider,n.getBlock=()=>e.provider.getBlock(t.blockHash),n.getTransaction=()=>e.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>Promise.resolve(t),n})),t)))}(e,i),i}))}}function Es(e,t,r){return t.constant?ys(e,t,r):As(e,t)}function vs(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.map((e=>Array.isArray(e)?e.join("|"):e)).join(":"):""):"*"}class bs{constructor(e,t){Ee(this,"tag",e),Ee(this,"filter",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter((r=>!(!t&&r.listener===e)||(t=!0,!1)))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map((e=>e.listener))}listenerCount(){return this._listeners.length}run(e){const t=this.listenerCount();return this._listeners=this._listeners.filter((t=>{const r=e.slice();return setTimeout((()=>{t.listener.apply(this,r)}),0),!t.once})),t}prepareEvent(e){}getEmit(e){return[e]}}class ws extends bs{constructor(){super("error",null)}}class Os extends bs{constructor(e,t,r,n){const i={address:e};let s=t.getEventTopic(r);n?(s!==n[0]&&fs.throwArgumentError("topic mismatch","topics",n),i.topics=n.slice()):i.topics=[s],super(vs(i),i),Ee(this,"address",e),Ee(this,"interface",t),Ee(this,"fragment",r)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){const t=function(e){const t=[],r=function(e,n){if(Array.isArray(n))for(let i in n){const s=e.slice();s.push(i);try{r(s,n[i])}catch(e){t.push({path:s,error:e})}}};return r([],e),t}(e.args);if(t.length)throw t[0].error;const r=(e.args||[]).slice();return r.push(e),r}}class Ps extends bs{constructor(e,t){super("*",{address:e}),Ee(this,"address",e),Ee(this,"interface",t)}prepareEvent(e){super.prepareEvent(e);try{const t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,r)=>this.interface.decodeEventLog(t.eventFragment,e,r),e.args=t.args}catch(e){}}}class Ds{constructor(e,t,r){Ee(this,"interface",ve(new.target,"getInterface")(t)),null==r?(Ee(this,"provider",null),Ee(this,"signer",null)):$n.isSigner(r)?(Ee(this,"provider",r.provider||null),Ee(this,"signer",r)):Be.isProvider(r)?(Ee(this,"provider",r),Ee(this,"signer",null)):fs.throwArgumentError("invalid signer or provider","signerOrProvider",r),Ee(this,"callStatic",{}),Ee(this,"estimateGas",{}),Ee(this,"functions",{}),Ee(this,"populateTransaction",{}),Ee(this,"filters",{});{const e={};Object.keys(this.interface.events).forEach((t=>{const r=this.interface.events[t];Ee(this.filters,t,((...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(r,e)}))),e[r.name]||(e[r.name]=[]),e[r.name].push(t)})),Object.keys(e).forEach((t=>{const r=e[t];1===r.length?Ee(this.filters,t,this.filters[r[0]]):fs.warn(`Duplicate definition of ${t} (${r.join(", ")})`)}))}if(Ee(this,"_runningEvents",{}),Ee(this,"_wrappedEmits",{}),null==e&&fs.throwArgumentError("invalid contract address or ENS name","addressOrName",e),Ee(this,"address",e),this.provider)Ee(this,"resolvedAddress",ps(this.provider,e));else try{Ee(this,"resolvedAddress",Promise.resolve(jt(e)))}catch(e){fs.throwError("provider is required to use ENS name as contract address",I.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch((e=>{}));const n={},i={};Object.keys(this.interface.functions).forEach((e=>{const t=this.interface.functions[e];if(i[e])fs.warn(`Duplicate ABI entry for ${JSON.stringify(e)}`);else{i[e]=!0;{const r=t.name;n[`%${r}`]||(n[`%${r}`]=[]),n[`%${r}`].push(e)}null==this[e]&&Ee(this,e,Es(this,t,!0)),null==this.functions[e]&&Ee(this.functions,e,Es(this,t,!1)),null==this.callStatic[e]&&Ee(this.callStatic,e,ys(this,t,!0)),null==this.populateTransaction[e]&&Ee(this.populateTransaction,e,function(e,t){return function(...r){return gs(e,t,r)}}(this,t)),null==this.estimateGas[e]&&Ee(this.estimateGas,e,function(e,t){const r=e.signer||e.provider;return function(...n){return hs(this,void 0,void 0,(function*(){r||fs.throwError("estimate require a provider or signer",I.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield gs(e,t,n);return yield r.estimateGas(i)}))}}(this,t))}})),Object.keys(n).forEach((e=>{const t=n[e];if(t.length>1)return;e=e.substring(1);const r=t[0];try{null==this[e]&&Ee(this,e,this[r])}catch(e){}null==this.functions[e]&&Ee(this.functions,e,this.functions[r]),null==this.callStatic[e]&&Ee(this.callStatic,e,this.callStatic[r]),null==this.populateTransaction[e]&&Ee(this.populateTransaction,e,this.populateTransaction[r]),null==this.estimateGas[e]&&Ee(this.estimateGas,e,this.estimateGas[r])}))}static getContractAddress(e){return Qt(e)}static getInterface(e){return ds.isInterface(e)?e:new ds(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((()=>this)):this._deployedPromise=this.provider.getCode(this.address,e).then((e=>("0x"===e&&fs.throwError("contract not deployed",I.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this)))),this._deployedPromise}fallback(e){this.signer||fs.throwError("sending a transactions require a signer",I.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const t=we(e||{});return["from","to"].forEach((function(e){null!=t[e]&&fs.throwError("cannot override "+e,I.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.to=this.resolvedAddress,this.deployed().then((()=>this.signer.sendTransaction(t)))}connect(e){"string"==typeof e&&(e=new Kn(e,this.provider));const t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&Ee(t,"deployTransaction",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return ls.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new ws);if("event"===e)return this._normalizeRunningEvent(new bs("event",null));if("*"===e)return this._normalizeRunningEvent(new Ps(this.address,this.interface));const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new Os(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{const t=e.topics[0];if("string"!=typeof t)throw new Error("invalid topic");const r=this.interface.getEvent(t);return this._normalizeRunningEvent(new Os(this.address,this.interface,r,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new bs(vs(t),t))}return this._normalizeRunningEvent(new Ps(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];const t=this._wrappedEmits[e.tag];t&&e.filter&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,r){const n=Te(t);return n.removeListener=()=>{r&&(e.removeListener(r),this._checkRunningEvents(e))},n.getBlock=()=>this.provider.getBlock(t.blockHash),n.getTransaction=()=>this.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(n),n}_addEventListener(e,t,r){if(this.provider||fs.throwError("events require a provider or a signer with a provider",I.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,r),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const r=r=>{let n=this._wrapEvent(e,r,t);if(null==n.decodeError)try{const t=e.getEmit(n);this.emit(e.filter,...t)}catch(e){n.decodeError=e.error}null!=e.filter&&this.emit("event",n),null!=n.decodeError&&this.emit("error",n.decodeError,n)};this._wrappedEmits[e.tag]=r,null!=e.filter&&this.provider.on(e.filter,r)}}queryFilter(e,t,r){const n=this._getRunningEvent(e),i=we(n.filter);return"string"==typeof t&&M(t,32)?(null!=r&&fs.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=r?r:"latest"),this.provider.getLogs(i).then((e=>e.map((e=>this._wrapEvent(n,e,null)))))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;const r=this._getRunningEvent(e),n=r.run(t)>0;return this._checkRunningEvents(r),n}listenerCount(e){return this.provider?null==e?Object.keys(this._runningEvents).reduce(((e,t)=>e+this._runningEvents[t].listenerCount()),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){const e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach((t=>{e.push(t)}));return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(const e in this._runningEvents){const t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}const t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;const r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this}removeListener(e,t){return this.off(e,t)}}class Ts extends Ds{}function _s(e,t,...r){return A(this,void 0,void 0,(function*(){const n=[];for(const e of r)for(const t of e)t.callData&&n.push(t.callData);const i=yield function(e,t,r){return A(this,void 0,void 0,(function*(){const n=yield Is(e,t,r),i=new Map;for(const{req:e,resp:t}of n)i.set(e,t);return e.map((e=>({req:e,resp:i.get(e)})))}))}(n,e,t),s=new Map;for(const{req:e,resp:t}of i)s.set(e,null==t?void 0:t.result);return r.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 Is(e,t,r){return A(this,void 0,void 0,(function*(){let n=[e];e.length>800&&(n=s.chunk(e,800));let i=[];const o=n.map((e=>A(this,void 0,void 0,(function*(){const n=e.map((e=>[e.to,e.data])),s={data:t.interface.encodeFunctionData("aggregate",[n]),to:r};let o;try{o=yield t.provider.call(s)}catch(n){const s=e.length;if(s>20){const n=Math.floor(s/2),[o,a]=yield Promise.all([Is(e.slice(0,n),t,r),Is(e.slice(n,s),t,r)]);i=[...i,...o,...a]}else{const e="[sendCallReqs] error";console.error(e,n)}}if(void 0===o)throw new Error("Unexpected batch result");const[a,l]=ns.decode(["uint256","bytes[]"],o);if(e.length!==l.length)throw new Error("Unexpected length mismatch");return l.map(((t,r)=>({resp:{result:t},req:e[r]})))}))));return(yield Promise.allSettled(o)).filter((e=>"fulfilled"===e.status)).forEach((({value:e})=>{i=[...i,...e]})),i}))}var Rs;function Cs(e){return A(this,void 0,void 0,(function*(){switch(e){case exports.ABIName.customERC20IsMintable:return[{inputs:[],name:"isMintable",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];case exports.ABIName.customMultiCallAggregate:return[{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"}];default:return(yield function(e){switch(e){case"./ABIs/AaveLendingPoolABI.ts":return Promise.resolve().then((function(){return require("./AaveLendingPoolABI-G3D5zkkz.cjs")}));case"./ABIs/AaveLendingPoolAddressesProvider.ts":return Promise.resolve().then((function(){return require("./AaveLendingPoolAddressesProvider-DrLP2k1o.cjs")}));case"./ABIs/AavePriceOracleABI.ts":return Promise.resolve().then((function(){return require("./AavePriceOracleABI-C4jkbxlQ.cjs")}));case"./ABIs/AaveProtocolDataProviderABI.ts":return Promise.resolve().then((function(){return require("./AaveProtocolDataProviderABI-ChLpWblx.cjs")}));case"./ABIs/BaseDrops.ts":return Promise.resolve().then((function(){return require("./BaseDrops-b4x2vqWE.cjs")}));case"./ABIs/D3MM_READ_ABI.ts":return Promise.resolve().then((function(){return require("./D3MM_READ_ABI-DPl8m5T6.cjs")}));case"./ABIs/D3Proxy.ts":return Promise.resolve().then((function(){return require("./D3Proxy-ChV5DN6z.cjs")}));case"./ABIs/DODO1155.ts":return Promise.resolve().then((function(){return require("./DODO1155-BNeD65Or.cjs")}));case"./ABIs/DODO721.ts":return Promise.resolve().then((function(){return require("./DODO721-CSXhoGSt.cjs")}));case"./ABIs/DODOCirculationHelperABI.ts":return Promise.resolve().then((function(){return require("./DODOCirculationHelperABI-BnZp9-jW.cjs")}));case"./ABIs/DODORouteProxy.ts":return Promise.resolve().then((function(){return require("./DODORouteProxy-BZ0Y3GCA.cjs")}));case"./ABIs/DODOV1PmmHelperABI.ts":return Promise.resolve().then((function(){return require("./DODOV1PmmHelperABI-DD2Zqxnx.cjs")}));case"./ABIs/DVM.ts":return Promise.resolve().then((function(){return require("./DVM-BpNPFgPh.cjs")}));case"./ABIs/DropsERC721.ts":return Promise.resolve().then((function(){return require("./DropsERC721-BhKaFHvL.cjs")}));case"./ABIs/FilterAdmin.ts":return Promise.resolve().then((function(){return require("./FilterAdmin-cj8kYpNK.cjs")}));case"./ABIs/FilterERC1155V1.ts":return Promise.resolve().then((function(){return require("./FilterERC1155V1-CYRg0d1t.cjs")}));case"./ABIs/FilterERC721V1.ts":return Promise.resolve().then((function(){return require("./FilterERC721V1-Bi0L9sSX.cjs")}));case"./ABIs/Fragment.ts":return Promise.resolve().then((function(){return require("./Fragment-B-F8I7LL.cjs")}));case"./ABIs/FundingABI.ts":return Promise.resolve().then((function(){return require("./FundingABI-CVCr1rVZ.cjs")}));case"./ABIs/IdodoV2.ts":return Promise.resolve().then((function(){return require("./IdodoV2-RfwR_GpI.cjs")}));case"./ABIs/LockedTokenVaultABI.ts":return Promise.resolve().then((function(){return require("./LockedTokenVaultABI-DRbLRj9L.cjs")}));case"./ABIs/MarginTrading.ts":return Promise.resolve().then((function(){return require("./MarginTrading-DTxWKyBB.cjs")}));case"./ABIs/MarginTradingFactory.ts":return Promise.resolve().then((function(){return require("./MarginTradingFactory-CXV_vwa8.cjs")}));case"./ABIs/MerkleDistributorABI.ts":return Promise.resolve().then((function(){return require("./MerkleDistributorABI-C8Qfs-nh.cjs")}));case"./ABIs/NonfungiblePositionManager.ts":return Promise.resolve().then((function(){return require("./NonfungiblePositionManager-C-qYqe32.cjs")}));case"./ABIs/PancakePairABI.ts":return Promise.resolve().then((function(){return require("./PancakePairABI-DYhV587D.cjs")}));case"./ABIs/UniswapV3Pool.ts":return Promise.resolve().then((function(){return require("./UniswapV3Pool-CbMV0NzU.cjs")}));case"./ABIs/baseFilterV1.ts":return Promise.resolve().then((function(){return require("./baseFilterV1-BuIlo0KL.cjs")}));case"./ABIs/classicalPoolABI.ts":return Promise.resolve().then((function(){return require("./classicalPoolABI-BECDfgEG.cjs")}));case"./ABIs/dodoABI.ts":return Promise.resolve().then((function(){return require("./dodoABI-gkjw8zb6.cjs")}));case"./ABIs/dodoBuyoutModel.ts":return Promise.resolve().then((function(){return require("./dodoBuyoutModel-iVgU8FQj.cjs")}));case"./ABIs/dodoCP.ts":return Promise.resolve().then((function(){return require("./dodoCP-CLHk9HB9.cjs")}));case"./ABIs/dodoCPABI.ts":return Promise.resolve().then((function(){return require("./dodoCPABI-DtzutjJ_.cjs")}));case"./ABIs/dodoCPABIV2.ts":return Promise.resolve().then((function(){return require("./dodoCPABIV2-fyFD9xst.cjs")}));case"./ABIs/dodoCPFactory.ts":return Promise.resolve().then((function(){return require("./dodoCPFactory-CBF19zgJ.cjs")}));case"./ABIs/dodoCpProxy.ts":return Promise.resolve().then((function(){return require("./dodoCpProxy-C0DPYWye.cjs")}));case"./ABIs/dodoCpProxyV2.ts":return Promise.resolve().then((function(){return require("./dodoCpProxyV2-DpTvj7-M.cjs")}));case"./ABIs/dodoCpProxyV202.ts":return Promise.resolve().then((function(){return require("./dodoCpProxyV202-BLhZ86Hq.cjs")}));case"./ABIs/dodoCustomMintableERC20.ts":return Promise.resolve().then((function(){return require("./dodoCustomMintableERC20-_rvvHxmy.cjs")}));case"./ABIs/dodoDPPAdmin.ts":return Promise.resolve().then((function(){return require("./dodoDPPAdmin-Dn7blhFO.cjs")}));case"./ABIs/dodoDPPFactory.ts":return Promise.resolve().then((function(){return require("./dodoDPPFactory-DZUKGMVx.cjs")}));case"./ABIs/dodoDSP.ts":return Promise.resolve().then((function(){return require("./dodoDSP-DiQP3j-f.cjs")}));case"./ABIs/dodoDSPFactory.ts":return Promise.resolve().then((function(){return require("./dodoDSPFactory-Bd74S17p.cjs")}));case"./ABIs/dodoDVM.ts":return Promise.resolve().then((function(){return require("./dodoDVM-cigh0zp3.cjs")}));case"./ABIs/dodoDVMFactory.ts":return Promise.resolve().then((function(){return require("./dodoDVMFactory-Jw7GN957.cjs")}));case"./ABIs/dodoDppProxy.ts":return Promise.resolve().then((function(){return require("./dodoDppProxy-evCBC-32.cjs")}));case"./ABIs/dodoDropsProxy.ts":return Promise.resolve().then((function(){return require("./dodoDropsProxy-aB8sftUR.cjs")}));case"./ABIs/dodoDspProxy.ts":return Promise.resolve().then((function(){return require("./dodoDspProxy-Bp3cG2Me.cjs")}));case"./ABIs/dodoERC20V3Factory.ts":return Promise.resolve().then((function(){return require("./dodoERC20V3Factory-Dp6VtQdx.cjs")}));case"./ABIs/dodoEthProxyABI.ts":return Promise.resolve().then((function(){return require("./dodoEthProxyABI-COvGooIx.cjs")}));case"./ABIs/dodoFeeImpl.ts":return Promise.resolve().then((function(){return require("./dodoFeeImpl-n8uxW-_A.cjs")}));case"./ABIs/dodoFragment.ts":return Promise.resolve().then((function(){return require("./dodoFragment-QQKv5zUw.cjs")}));case"./ABIs/dodoMineV3Proxy.ts":return Promise.resolve().then((function(){return require("./dodoMineV3Proxy-DVScIYYs.cjs")}));case"./ABIs/dodoMineV3ProxyOld.ts":return Promise.resolve().then((function(){return require("./dodoMineV3ProxyOld-C_F6KVsX.cjs")}));case"./ABIs/dodoMiningABI.ts":return Promise.resolve().then((function(){return require("./dodoMiningABI-Bz2I9IA2.cjs")}));case"./ABIs/dodoMiningReaderABI.ts":return Promise.resolve().then((function(){return require("./dodoMiningReaderABI-B2wU_50T.cjs")}));case"./ABIs/dodoNftERC1155.ts":return Promise.resolve().then((function(){return require("./dodoNftERC1155-DLIuD5w1.cjs")}));case"./ABIs/dodoNftERC721.ts":return Promise.resolve().then((function(){return require("./dodoNftERC721-CM9UVOIz.cjs")}));case"./ABIs/dodoNftPoolProxy.ts":return Promise.resolve().then((function(){return require("./dodoNftPoolProxy-D1h5SkLL.cjs")}));case"./ABIs/dodoNftProxy.ts":return Promise.resolve().then((function(){return require("./dodoNftProxy-DM2zeXHX.cjs")}));case"./ABIs/dodoNftVault.ts":return Promise.resolve().then((function(){return require("./dodoNftVault-4I3wB3W5.cjs")}));case"./ABIs/dodoOracleABI.ts":return Promise.resolve().then((function(){return require("./dodoOracleABI-CZXzRpKf.cjs")}));case"./ABIs/dodoPair.ts":return Promise.resolve().then((function(){return require("./dodoPair-DZAKf_5j.cjs")}));case"./ABIs/dodoPreminingABI.ts":return Promise.resolve().then((function(){return require("./dodoPreminingABI-BO5Cazcq.cjs")}));case"./ABIs/dodoProxyV2.ts":return Promise.resolve().then((function(){return require("./dodoProxyV2-C4O1SzS4.cjs")}));case"./ABIs/dodoStarterProxy.ts":return Promise.resolve().then((function(){return require("./dodoStarterProxy-DgcH9iEq.cjs")}));case"./ABIs/dodoTokenABI.ts":return Promise.resolve().then((function(){return require("./dodoTokenABI-6Mpqu75U.cjs")}));case"./ABIs/dodoUpCPFactoryABI.ts":return Promise.resolve().then((function(){return require("./dodoUpCPFactoryABI-XGsn8ED4.cjs")}));case"./ABIs/dodoUpCpFactory.ts":return Promise.resolve().then((function(){return require("./dodoUpCpFactory-XGsn8ED4.cjs")}));case"./ABIs/dodoV1PairProxy.ts":return Promise.resolve().then((function(){return require("./dodoV1PairProxy-DpEjE8Ne.cjs")}));case"./ABIs/dodoZooABI.ts":return Promise.resolve().then((function(){return require("./dodoZooABI-D44Zl74h.cjs")}));case"./ABIs/dppPoolABI.ts":return Promise.resolve().then((function(){return require("./dppPoolABI-BdDjNXGV.cjs")}));case"./ABIs/erc20ABI.ts":return Promise.resolve().then((function(){return require("./erc20ABI-G8oWOkZ8.cjs")}));case"./ABIs/erc20Helper.ts":return Promise.resolve().then((function(){return require("./erc20Helper-DU3PGwta.cjs")}));case"./ABIs/feeABI.ts":return Promise.resolve().then((function(){return require("./feeABI-n8uxW-_A.cjs")}));case"./ABIs/multicallABI.ts":return Promise.resolve().then((function(){return require("./multicallABI-Dhweb42q.cjs")}));case"./ABIs/nftContract.ts":return Promise.resolve().then((function(){return require("./nftContract-hvFiWn3Y.cjs")}));case"./ABIs/nftFilterAdmin.ts":return Promise.resolve().then((function(){return require("./nftFilterAdmin-Bq1uLy_8.cjs")}));case"./ABIs/oneBitSettlement.ts":return Promise.resolve().then((function(){return require("./oneBitSettlement-DiJ0ov7p.cjs")}));case"./ABIs/setApprovalForAll.ts":return Promise.resolve().then((function(){return require("./setApprovalForAll-C5PVWdKB.cjs")}));case"./ABIs/spaceIdABI.ts":return Promise.resolve().then((function(){return require("./spaceIdABI-B5tTrrz8.cjs")}));case"./ABIs/spaceIdResolverABI.ts":return Promise.resolve().then((function(){return require("./spaceIdResolverABI-CrfOXUgo.cjs")}));case"./ABIs/v3MiningABI.ts":return Promise.resolve().then((function(){return require("./v3MiningABI-C-S-QkHw.cjs")}));case"./ABIs/vdodo.ts":return Promise.resolve().then((function(){return require("./vdodo-BV3kGDOM.cjs")}));case"./ABIs/vdodoTokenABI.ts":return Promise.resolve().then((function(){return require("./vdodoTokenABI-BuOHA0B9.cjs")}));case"./ABIs/weth.ts":return Promise.resolve().then((function(){return require("./weth-CGG0Z6re.cjs")}));default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`./ABIs/${e}.ts`)).default}}))}exports.ABIName=void 0,(Rs=exports.ABIName||(exports.ABIName={})).customERC20IsMintable="customERC20IsMintable",Rs.customMultiCallAggregate="customMultiCallAggregate",Rs.erc20Helper="erc20Helper",Rs.erc20ABI="erc20ABI",Rs.erc20Mock="erc20Mock",Rs.dodoERC20V3Factory="dodoERC20V3Factory",Rs.dodoCustomMintableERC20="dodoCustomMintableERC20",Rs.multicallABI="multicallABI",Rs.dppPoolABI="dppPoolABI",Rs.dvmPoolABI="DVM",Rs.classicalPoolABI="classicalPoolABI",Rs.v3MiningABI="v3MiningABI",Rs.dodoMiningABI="dodoMiningABI",Rs.dodoCP="dodoCP",Rs.dodoCPABI="dodoCPABI",Rs.dodoCPABIV2="dodoCPABIV2",Rs.dodoCpProxyV2="dodoCpProxyV2",Rs.dodoCpProxyV202="dodoCpProxyV202",Rs.dodoFeeImpl="dodoFeeImpl",Rs.feeABI="feeABI",Rs.vdodo="vdodo",Rs.vdodoTokenABI="vdodoTokenABI",Rs.dodoPreminingABI="dodoPreminingABI",Rs.MerkleDistributorABI="MerkleDistributorABI",Rs.DODOCirculationHelperABI="DODOCirculationHelperABI",Rs.FundingABI="FundingABI",Rs.dodoStarterProxy="dodoStarterProxy",Rs.MarginTrading="MarginTrading",Rs.MarginTradingFactory="MarginTradingFactory",Rs.DODORouteProxy="DODORouteProxy",Rs.dodoProxyV2="dodoProxyV2",Rs.AaveLendingPoolABI="AaveLendingPoolABI",Rs.AaveProtocolDataProviderABI="AaveProtocolDataProviderABI",Rs.AaveLendingPoolAddressesProvider="AaveLendingPoolAddressesProvider",Rs.AavePriceOracleABI="AavePriceOracleABI",Rs.spaceIdABI="spaceIdABI",Rs.spaceIdResolverABI="spaceIdResolverABI",Rs.dodoABI="dodoABI",Rs.PancakePairABI="PancakePairABI",Rs.NonfungiblePositionManager="NonfungiblePositionManager",Rs.UniswapV3Pool="UniswapV3Pool",Rs.dodoDspProxy="dodoDspProxy",Rs.dodoDppProxy="dodoDppProxy",Rs.IdodoV2="IdodoV2",Rs.dodoDPPAdmin="dodoDPPAdmin",Rs.dodoDSP="dodoDSP",Rs.dodoDVM="dodoDVM",Rs.dodoDSPFactory="dodoDSPFactory",Rs.dodoDVMFactory="dodoDVMFactory",Rs.D3Proxy="D3Proxy",Rs.dodoNftERC721="dodoNftERC721",Rs.dodoNftERC1155="dodoNftERC1155",Rs.dodoDropsProxy="dodoDropsProxy",Rs.dodoNftVault="dodoNftVault",Rs.dodoNftProxy="dodoNftProxy",Rs.dodoFragment="dodoFragment",Rs.dodoBuyoutModel="dodoBuyoutModel",Rs.dodoNftPoolProxy="dodoNftPoolProxy",Rs.nftFilterAdmin="nftFilterAdmin",Rs.baseFilterV1="baseFilterV1",Rs.FilterERC721V1="FilterERC721V1",Rs.FilterERC1155V1="FilterERC1155V1",Rs.dodoV1PairProxy="dodoV1PairProxy",Rs.dodoPair="dodoPair",Rs.dodoMineV3Proxy="dodoMineV3Proxy",Rs.dodoMineV3ProxyOld="dodoMineV3ProxyOld",Rs.LockedTokenVaultABI="LockedTokenVaultABI",Rs.DODOV1PmmHelperABI="DODOV1PmmHelperABI",Rs.D3MM_READ_ABI="D3MM_READ_ABI";const Bs=(e,t,r)=>A(void 0,void 0,void 0,(function*(){const n=yield Cs(e);return new ds(n).encodeFunctionData(t,r)})),xs=(e,t,r)=>new ds(e).encodeFunctionData(t,r);class Ns extends di{constructor(){super(...arguments),this._pendingBatchAggregator=null,this._pendingBatch=null,this._provider=null}setProvider(e){this._provider=e}send(e,t){const r=Object.create(null,{send:{get:()=>super.send}});return A(this,void 0,void 0,(function*(){if("eth_call"!==e||2!==t.length||"object"!=typeof t[0]||!t[0].to||!t[0].data||"string"!=typeof t[1])return this._provider?this._provider.send(e,t):r.send.call(this,e,t);const n={request:{method:e,params:t},resolve:null,reject:null},i=new Promise(((e,t)=>{n.resolve=e,n.reject=t}));this._pendingBatch||(this._pendingBatch=[]),this._pendingBatch.push(n);const s=()=>A(this,void 0,void 0,(function*(){const t=this._pendingBatch||[];let r;this._pendingBatch=null,this._pendingBatchAggregator=null;const i=yield this.detectNetwork();r="object"!=typeof i?parseInt(i,i.startsWith("0x")?16:10):i.chainId;const s=yield function(e,t){return A(this,void 0,void 0,(function*(){let r="";const n=t.map((e=>{const[t]=e;return r=e[1],[t.to,t.data]})),i=yield Bs(exports.ABIName.customMultiCallAggregate,"aggregate",[n]);return[{to:g[e].MULTI_CALL,data:i},r]}))}(r,t.map((e=>e.request.params))),o={method:e,params:s,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"requestBatch",request:Te(t.map((e=>e.request))),provider:this,id:o.id});const a=e=>{if(e.error||!e.result)t.forEach((t=>{try{const r=new Error(e.error.message);r.code=e.error.code,r.data=e.error.data,t.reject(r)}catch(r){t.reject(e.error)}})),this.emit("debug",{action:"responseBatch.error",request:o,response:e,provider:this,id:o.id});else{const[r,i]=ns.decode(["uint256","bytes[]"],e.result),s=r.toNumber();if(this._setFastBlockNumber(s),this.emit("blockNumberChanged",s),t.length!==i.length)return void n.reject("Unexpected length mismatch");t.forEach(((e,t)=>{const r=i[t];e.resolve(r)})),this.emit("debug",{action:"responseBatch",request:o,response:e,provider:this,decodeList:i,id:o.id})}},l=e=>{this.emit("debug",{action:"responseBatch.error",error:e,request:o,provider:this,id:o.id}),t.forEach((t=>{t.reject(e)}))};if(!this._provider)return pr(this.connection,JSON.stringify(o)).then(a,l);try{const e=yield this._provider.send(o.method,o.params);a({id:o.id,jsonrpc:o.jsonrpc,result:e})}catch(e){l(e)}}));return this._pendingBatchAggregator?this._pendingBatch.length>800&&(clearTimeout(this._pendingBatchAggregator),s()):this._pendingBatchAggregator=setTimeout(s,10),i}))}}const ks="contract-query";class Ss{constructor(e){this.subContractRequestsList=[],this.debugQuery=null==e?void 0:e.debugQuery,this.debugProvider=null==e?void 0:e.debugProvider,this.rpc=null==e?void 0:e.rpc,this.getConfigProvider=null==e?void 0:e.getProvider,this.staticJsonRpcProviderMap=new Map,this.batchStaticJsonRpcProviderMap=new Map,this.batchContractMap=new Map}setRpc(e){this.rpc=e,this.subContractRequestsList.forEach((t=>{t.setRpc(e)}))}setGetConfigProvider(e){this.getConfigProvider=e,this.subContractRequestsList.forEach((t=>{t.setGetConfigProvider(e)})),this.batchContractMap=new Map,this.staticJsonRpcProviderMap=new Map,this.batchStaticJsonRpcProviderMap=new Map}getProvider(e){var t,r;const n=null===(t=this.getConfigProvider)||void 0===t?void 0:t.call(this,e);if(n)return n;const i=null===(r=this.rpc)||void 0===r?void 0:r[e];if(!i)throw new Error(`ChainId ${e} not found`);if(this.staticJsonRpcProviderMap.has(e))return this.staticJsonRpcProviderMap.get(e);const s=new di(i,e);return this.debugProvider&&s.on("debug",console.log),this.staticJsonRpcProviderMap.set(e,s),s}getBatchProvider(e){var t,r;const n=null===(t=this.getConfigProvider)||void 0===t?void 0:t.call(this,e),i=null===(r=this.rpc)||void 0===r?void 0:r[e];if(!i&&!n)throw new Error(`ChainId ${e} not found`);if(this.batchStaticJsonRpcProviderMap.has(e))return this.batchStaticJsonRpcProviderMap.get(e);const s=new Ns(i,e);return s.setProvider(n||null),this.debugProvider&&s.on("debug",console.log),this.batchStaticJsonRpcProviderMap.set(e,s),s}createContractRequests(){const e=new Ss({rpc:this.rpc,getProvider:this.getConfigProvider,debugQuery:this.debugQuery,debugProvider:this.debugProvider});return this.subContractRequestsList.push(e),e}getContract(e,t,r){const n=this.getProvider(e);return new Ts(t,r,n)}getBatchContract(e,t,r){var n;const i=this.batchContractMap.get(e);if(i){if(i.has(t))return i.get(t)}else this.batchContractMap.set(e,new Map);const s=this.getBatchProvider(e),o=new Ts(t,r,s);return null===(n=this.batchContractMap.get(e))||void 0===n||n.set(t,o),o}getBatchContractByAbiName(e,t,r){return A(this,void 0,void 0,(function*(){const n=yield this.getContractInterface(r);return this.getBatchContract(e,t,n)}))}getContractInterface(e){return Cs(e)}callMultiQuery(e,t){return A(this,void 0,void 0,(function*(){const r=g[e],{MULTI_CALL:n}=r,i=yield this.getContractInterface(exports.ABIName.customMultiCallAggregate),s=this.getContract(e,n,i),o=[],a=new Map,l=new Map,c={};for(let r=0;r<t.length;r++){const{contractAddress:n,method:i,params:s,abiName:u,callback:d}=t[r];let h=l.get(u);if(!h){const t=yield this.getContractInterface(u);a.set(u,t),h=this.getContract(e,n,t),l.set(u,h)}const f={to:n,data:h.interface.encodeFunctionData(i,s)};o.push({callData:f,processor:e=>{const t=new ds(a.get(u)).decodeFunctionResult(i,e);d&&d(t);const n=d?d(t):void 0;return c[r]=n||t,c[r]}})}const[u]=yield _s(s,n,o);return u}))}callQuery(e,t){return A(this,void 0,void 0,(function*(){const r=yield this.getContractInterface(t.abiName),n=this.getContract(e,t.contractAddress,r),i=yield n.callStatic[t.method](...t.params),s=t.callback?t.callback(i):void 0;return s||i}))}batchCallQuery(e,t){return A(this,void 0,void 0,(function*(){this.debugQuery&&console.log({action:"batchCallQuery.request",chainId:e,query:t});const r=yield this.getBatchProvider(e),n=yield Bs(t.abiName,t.method,t.params),i=yield r.call({to:t.contractAddress,data:n}),s=yield((e,t,r)=>A(void 0,void 0,void 0,(function*(){const n=yield Cs(e);return new ds(n).decodeFunctionResult(t,r)})))(t.abiName,t.method,i),o=t.callback?t.callback(s):void 0;return this.debugQuery&&console.log({action:"batchCallQuery.response",chainId:e,query:t,response:s}),o||s}))}getBlockNumber(e){return A(this,void 0,void 0,(function*(){const t=this.getBatchProvider(e),r=yield t.getBlockNumber();return t.emit("blockNumberChanged",r),r}))}getETHBalance(e,t){return A(this,void 0,void 0,(function*(){const r=this.getProvider(e),n=yield r.getBalance(t);return new o(n.toString()).div(1e18)}))}}const Ls=JSON;function Fs(e,t){if(!Boolean(e))throw new Error(t)}function Ms(e,t){if(!Boolean(e))throw new Error("Unexpected invariant triggered.")}const qs=/\r\n|[\n\r]/g;function Us(e,t){let r=0,n=1;for(const i of e.body.matchAll(qs)){if("number"==typeof i.index||Ms(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}function Vs(e,t){const r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,o=t.line+s,a=1===t.line?r:0,l=t.column+a,c=`${e.name}:${o}:${l}\n`,u=n.split(/\r\n|[\n\r]/g),d=u[i];if(d.length>120){const e=Math.floor(l/80),t=l%80,r=[];for(let e=0;e<d.length;e+=80)r.push(d.slice(e,e+80));return c+Hs([[`${o} |`,r[0]],...r.slice(1,e+1).map((e=>["|",e])),["|","^".padStart(t)],["|",r[e+1]]])}return c+Hs([[o-1+" |",u[i-1]],[`${o} |`,d],["|","^".padStart(l)],[`${o+1} |`,u[i+1]]])}function Hs(e){const t=e.filter((([e,t])=>void 0!==t)),r=Math.max(...t.map((([e])=>e.length)));return t.map((([e,t])=>e.padStart(r)+(t?" "+t:""))).join("\n")}class js extends Error{constructor(e,...t){var r,n,i;const{nodes:s,source:o,positions:a,path:l,originalError:c,extensions:u}=function(e){const t=e[0];return null==t||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}(t);super(e),this.name="GraphQLError",this.path=null!=l?l:void 0,this.originalError=null!=c?c:void 0,this.nodes=Qs(Array.isArray(s)?s:s?[s]:void 0);const d=Qs(null===(r=this.nodes)||void 0===r?void 0:r.map((e=>e.loc)).filter((e=>null!=e)));this.source=null!=o?o:null==d||null===(n=d[0])||void 0===n?void 0:n.source,this.positions=null!=a?a:null==d?void 0:d.map((e=>e.start)),this.locations=a&&o?a.map((e=>Us(o,e))):null==d?void 0:d.map((e=>Us(e.source,e.start)));const h="object"==typeof(f=null==c?void 0:c.extensions)&&null!==f?null==c?void 0:c.extensions:void 0;var f;this.extensions=null!==(i=null!=u?u:h)&&void 0!==i?i:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=c&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,js):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(const r of this.nodes)r.loc&&(e+="\n\n"+Vs((t=r.loc).source,Us(t.source,t.start)));else if(this.source&&this.locations)for(const t of this.locations)e+="\n\n"+Vs(this.source,t);var t;return e}toJSON(){const e={message:this.message};return null!=this.locations&&(e.locations=this.locations),null!=this.path&&(e.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}}function Qs(e){return void 0===e||0===e.length?void 0:e}function Gs(e,t,r){return new js(`Syntax Error: ${r}`,{source:e,positions:[t]})}class Ys{constructor(e,t,r){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class Xs{constructor(e,t,r,n,i,s){this.kind=e,this.start=t,this.end=r,this.line=n,this.column=i,this.value=s,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const $s={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},Ks=new Set(Object.keys($s));function zs(e){const t=null==e?void 0:e.kind;return"string"==typeof t&&Ks.has(t)}var Js,Ws,Zs,eo;function to(e){return 9===e||32===e}function ro(e){return e>=48&&e<=57}function no(e){return e>=97&&e<=122||e>=65&&e<=90}function io(e){return no(e)||95===e}function so(e){return no(e)||ro(e)||95===e}function oo(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let t=0;t<e.length;++t){var s;const o=e[t],a=ao(o);a!==o.length&&(n=null!==(s=n)&&void 0!==s?s:t,i=t,0!==t&&a<r&&(r=a))}return e.map(((e,t)=>0===t?e:e.slice(r))).slice(null!==(t=n)&&void 0!==t?t:0,i+1)}function ao(e){let t=0;for(;t<e.length&&to(e.charCodeAt(t));)++t;return t}!function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"}(Js||(Js={})),function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(Ws||(Ws={})),function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"}(Zs||(Zs={})),function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"}(eo||(eo={}));class lo{constructor(e){const t=new Xs(eo.SOF,0,0,0,0);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;return this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==eo.EOF)do{if(e.next)e=e.next;else{const t=go(this,e.end);e.next=t,t.prev=e,e=t}}while(e.kind===eo.COMMENT);return e}}function co(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}function uo(e,t){return ho(e.charCodeAt(t))&&fo(e.charCodeAt(t+1))}function ho(e){return e>=55296&&e<=56319}function fo(e){return e>=56320&&e<=57343}function po(e,t){const r=e.source.body.codePointAt(t);if(void 0===r)return eo.EOF;if(r>=32&&r<=126){const e=String.fromCodePoint(r);return'"'===e?"'\"'":`"${e}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function mo(e,t,r,n,i){const s=e.line,o=1+r-e.lineStart;return new Xs(t,r,n,s,o,i)}function go(e,t){const r=e.source.body,n=r.length;let i=t;for(;i<n;){const t=r.charCodeAt(i);switch(t){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:10===r.charCodeAt(i+1)?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return yo(e,i);case 33:return mo(e,eo.BANG,i,i+1);case 36:return mo(e,eo.DOLLAR,i,i+1);case 38:return mo(e,eo.AMP,i,i+1);case 40:return mo(e,eo.PAREN_L,i,i+1);case 41:return mo(e,eo.PAREN_R,i,i+1);case 46:if(46===r.charCodeAt(i+1)&&46===r.charCodeAt(i+2))return mo(e,eo.SPREAD,i,i+3);break;case 58:return mo(e,eo.COLON,i,i+1);case 61:return mo(e,eo.EQUALS,i,i+1);case 64:return mo(e,eo.AT,i,i+1);case 91:return mo(e,eo.BRACKET_L,i,i+1);case 93:return mo(e,eo.BRACKET_R,i,i+1);case 123:return mo(e,eo.BRACE_L,i,i+1);case 124:return mo(e,eo.PIPE,i,i+1);case 125:return mo(e,eo.BRACE_R,i,i+1);case 34:return 34===r.charCodeAt(i+1)&&34===r.charCodeAt(i+2)?To(e,i):vo(e,i)}if(ro(t)||45===t)return Ao(e,i,t);if(io(t))return _o(e,i);throw Gs(e.source,i,39===t?"Unexpected single quote character ('), did you mean to use a double quote (\")?":co(t)||uo(r,i)?`Unexpected character: ${po(e,i)}.`:`Invalid character: ${po(e,i)}.`)}return mo(e,eo.EOF,n,n)}function yo(e,t){const r=e.source.body,n=r.length;let i=t+1;for(;i<n;){const e=r.charCodeAt(i);if(10===e||13===e)break;if(co(e))++i;else{if(!uo(r,i))break;i+=2}}return mo(e,eo.COMMENT,t,i,r.slice(t+1,i))}function Ao(e,t,r){const n=e.source.body;let i=t,s=r,o=!1;if(45===s&&(s=n.charCodeAt(++i)),48===s){if(s=n.charCodeAt(++i),ro(s))throw Gs(e.source,i,`Invalid number, unexpected digit after 0: ${po(e,i)}.`)}else i=Eo(e,i,s),s=n.charCodeAt(i);if(46===s&&(o=!0,s=n.charCodeAt(++i),i=Eo(e,i,s),s=n.charCodeAt(i)),69!==s&&101!==s||(o=!0,s=n.charCodeAt(++i),43!==s&&45!==s||(s=n.charCodeAt(++i)),i=Eo(e,i,s),s=n.charCodeAt(i)),46===s||io(s))throw Gs(e.source,i,`Invalid number, expected digit but got: ${po(e,i)}.`);return mo(e,o?eo.FLOAT:eo.INT,t,i,n.slice(t,i))}function Eo(e,t,r){if(!ro(r))throw Gs(e.source,t,`Invalid number, expected digit but got: ${po(e,t)}.`);const n=e.source.body;let i=t+1;for(;ro(n.charCodeAt(i));)++i;return i}function vo(e,t){const r=e.source.body,n=r.length;let i=t+1,s=i,o="";for(;i<n;){const n=r.charCodeAt(i);if(34===n)return o+=r.slice(s,i),mo(e,eo.STRING,t,i+1,o);if(92!==n){if(10===n||13===n)break;if(co(n))++i;else{if(!uo(r,i))throw Gs(e.source,i,`Invalid character within String: ${po(e,i)}.`);i+=2}}else{o+=r.slice(s,i);const t=117===r.charCodeAt(i+1)?123===r.charCodeAt(i+2)?bo(e,i):wo(e,i):Do(e,i);o+=t.value,i+=t.size,s=i}}throw Gs(e.source,i,"Unterminated string.")}function bo(e,t){const r=e.source.body;let n=0,i=3;for(;i<12;){const e=r.charCodeAt(t+i++);if(125===e){if(i<5||!co(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Po(e),n<0)break}throw Gs(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}function wo(e,t){const r=e.source.body,n=Oo(r,t+2);if(co(n))return{value:String.fromCodePoint(n),size:6};if(ho(n)&&92===r.charCodeAt(t+6)&&117===r.charCodeAt(t+7)){const e=Oo(r,t+8);if(fo(e))return{value:String.fromCodePoint(n,e),size:12}}throw Gs(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}function Oo(e,t){return Po(e.charCodeAt(t))<<12|Po(e.charCodeAt(t+1))<<8|Po(e.charCodeAt(t+2))<<4|Po(e.charCodeAt(t+3))}function Po(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function Do(e,t){const r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw Gs(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}function To(e,t){const r=e.source.body,n=r.length;let i=e.lineStart,s=t+3,o=s,a="";const l=[];for(;s<n;){const n=r.charCodeAt(s);if(34===n&&34===r.charCodeAt(s+1)&&34===r.charCodeAt(s+2)){a+=r.slice(o,s),l.push(a);const n=mo(e,eo.BLOCK_STRING,t,s+3,oo(l).join("\n"));return e.line+=l.length-1,e.lineStart=i,n}if(92!==n||34!==r.charCodeAt(s+1)||34!==r.charCodeAt(s+2)||34!==r.charCodeAt(s+3))if(10!==n&&13!==n)if(co(n))++s;else{if(!uo(r,s))throw Gs(e.source,s,`Invalid character within String: ${po(e,s)}.`);s+=2}else a+=r.slice(o,s),l.push(a),13===n&&10===r.charCodeAt(s+1)?s+=2:++s,a="",o=s,i=s;else a+=r.slice(o,s),o=s+1,s+=4}throw Gs(e.source,s,"Unterminated string.")}function _o(e,t){const r=e.source.body,n=r.length;let i=t+1;for(;i<n;){if(!so(r.charCodeAt(i)))break;++i}return mo(e,eo.NAME,t,i,r.slice(t,i))}const Io=10,Ro=2;function Co(e){return Bo(e,[])}function Bo(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return function(e,t){if(null===e)return"null";if(t.includes(e))return"[Circular]";const r=[...t,e];if(function(e){return"function"==typeof e.toJSON}(e)){const t=e.toJSON();if(t!==e)return"string"==typeof t?t:Bo(t,r)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>Ro)return"[Array]";const r=Math.min(Io,e.length),n=e.length-r,i=[];for(let n=0;n<r;++n)i.push(Bo(e[n],t));1===n?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`);return"["+i.join(", ")+"]"}(e,r);return function(e,t){const r=Object.entries(e);if(0===r.length)return"{}";if(t.length>Ro)return"["+function(e){const t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){const t=e.constructor.name;if("string"==typeof t&&""!==t)return t}return t}(e)+"]";const n=r.map((([e,r])=>e+": "+Bo(r,t)));return"{ "+n.join(", ")+" }"}(e,r)}(e,t);default:return String(e)}}const xo=globalThis.process&&"production"===globalThis.process.env.NODE_ENV?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;if("object"==typeof e&&null!==e){var r;const n=t.prototype[Symbol.toStringTag];if(n===(Symbol.toStringTag in e?e[Symbol.toStringTag]:null===(r=e.constructor)||void 0===r?void 0:r.name)){const t=Co(e);throw new Error(`Cannot use ${n} "${t}" from another module or realm.\n\nEnsure that there is only one instance of "graphql" in the node_modules\ndirectory. If different versions of "graphql" are the dependencies of other\nrelied on modules, use "resolutions" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate "graphql" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`)}}return!1};class No{constructor(e,t="GraphQL request",r={line:1,column:1}){"string"==typeof e||Fs(!1,`Body must be a string. Received: ${Co(e)}.`),this.body=e,this.name=t,this.locationOffset=r,this.locationOffset.line>0||Fs(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||Fs(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}class ko{constructor(e,t={}){const r=function(e){return xo(e,No)}(e)?e:new No(e);this._lexer=new lo(r),this._options=t,this._tokenCounter=0}parseName(){const e=this.expectToken(eo.NAME);return this.node(e,{kind:Zs.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:Zs.DOCUMENT,definitions:this.many(eo.SOF,this.parseDefinition,eo.EOF)})}parseDefinition(){if(this.peek(eo.BRACE_L))return this.parseOperationDefinition();const e=this.peekDescription(),t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===eo.NAME){switch(t.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw Gs(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(t.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){const e=this._lexer.token;if(this.peek(eo.BRACE_L))return this.node(e,{kind:Zs.OPERATION_DEFINITION,operation:Js.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const t=this.parseOperationType();let r;return this.peek(eo.NAME)&&(r=this.parseName()),this.node(e,{kind:Zs.OPERATION_DEFINITION,operation:t,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const e=this.expectToken(eo.NAME);switch(e.value){case"query":return Js.QUERY;case"mutation":return Js.MUTATION;case"subscription":return Js.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(eo.PAREN_L,this.parseVariableDefinition,eo.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:Zs.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(eo.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(eo.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const e=this._lexer.token;return this.expectToken(eo.DOLLAR),this.node(e,{kind:Zs.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:Zs.SELECTION_SET,selections:this.many(eo.BRACE_L,this.parseSelection,eo.BRACE_R)})}parseSelection(){return this.peek(eo.SPREAD)?this.parseFragment():this.parseField()}parseField(){const e=this._lexer.token,t=this.parseName();let r,n;return this.expectOptionalToken(eo.COLON)?(r=t,n=this.parseName()):n=t,this.node(e,{kind:Zs.FIELD,alias:r,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(eo.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){const t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(eo.PAREN_L,t,eo.PAREN_R)}parseArgument(e=!1){const t=this._lexer.token,r=this.parseName();return this.expectToken(eo.COLON),this.node(t,{kind:Zs.ARGUMENT,name:r,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const e=this._lexer.token;this.expectToken(eo.SPREAD);const t=this.expectOptionalKeyword("on");return!t&&this.peek(eo.NAME)?this.node(e,{kind:Zs.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:Zs.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const e=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(e,{kind:Zs.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:Zs.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(e){const t=this._lexer.token;switch(t.kind){case eo.BRACKET_L:return this.parseList(e);case eo.BRACE_L:return this.parseObject(e);case eo.INT:return this.advanceLexer(),this.node(t,{kind:Zs.INT,value:t.value});case eo.FLOAT:return this.advanceLexer(),this.node(t,{kind:Zs.FLOAT,value:t.value});case eo.STRING:case eo.BLOCK_STRING:return this.parseStringLiteral();case eo.NAME:switch(this.advanceLexer(),t.value){case"true":return this.node(t,{kind:Zs.BOOLEAN,value:!0});case"false":return this.node(t,{kind:Zs.BOOLEAN,value:!1});case"null":return this.node(t,{kind:Zs.NULL});default:return this.node(t,{kind:Zs.ENUM,value:t.value})}case eo.DOLLAR:if(e){if(this.expectToken(eo.DOLLAR),this._lexer.token.kind===eo.NAME){const e=this._lexer.token.value;throw Gs(this._lexer.source,t.start,`Unexpected variable "$${e}" in constant value.`)}throw this.unexpected(t)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:Zs.STRING,value:e.value,block:e.kind===eo.BLOCK_STRING})}parseList(e){return this.node(this._lexer.token,{kind:Zs.LIST,values:this.any(eo.BRACKET_L,(()=>this.parseValueLiteral(e)),eo.BRACKET_R)})}parseObject(e){return this.node(this._lexer.token,{kind:Zs.OBJECT,fields:this.any(eo.BRACE_L,(()=>this.parseObjectField(e)),eo.BRACE_R)})}parseObjectField(e){const t=this._lexer.token,r=this.parseName();return this.expectToken(eo.COLON),this.node(t,{kind:Zs.OBJECT_FIELD,name:r,value:this.parseValueLiteral(e)})}parseDirectives(e){const t=[];for(;this.peek(eo.AT);)t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){const t=this._lexer.token;return this.expectToken(eo.AT),this.node(t,{kind:Zs.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){const e=this._lexer.token;let t;if(this.expectOptionalToken(eo.BRACKET_L)){const r=this.parseTypeReference();this.expectToken(eo.BRACKET_R),t=this.node(e,{kind:Zs.LIST_TYPE,type:r})}else t=this.parseNamedType();return this.expectOptionalToken(eo.BANG)?this.node(e,{kind:Zs.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:Zs.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(eo.STRING)||this.peek(eo.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");const r=this.parseConstDirectives(),n=this.many(eo.BRACE_L,this.parseOperationTypeDefinition,eo.BRACE_R);return this.node(e,{kind:Zs.SCHEMA_DEFINITION,description:t,directives:r,operationTypes:n})}parseOperationTypeDefinition(){const e=this._lexer.token,t=this.parseOperationType();this.expectToken(eo.COLON);const r=this.parseNamedType();return this.node(e,{kind:Zs.OPERATION_TYPE_DEFINITION,operation:t,type:r})}parseScalarTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");const r=this.parseName(),n=this.parseConstDirectives();return this.node(e,{kind:Zs.SCALAR_TYPE_DEFINITION,description:t,name:r,directives:n})}parseObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");const r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:Zs.OBJECT_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:s})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(eo.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(eo.BRACE_L,this.parseFieldDefinition,eo.BRACE_R)}parseFieldDefinition(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseArgumentDefs();this.expectToken(eo.COLON);const i=this.parseTypeReference(),s=this.parseConstDirectives();return this.node(e,{kind:Zs.FIELD_DEFINITION,description:t,name:r,arguments:n,type:i,directives:s})}parseArgumentDefs(){return this.optionalMany(eo.PAREN_L,this.parseInputValueDef,eo.PAREN_R)}parseInputValueDef(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseName();this.expectToken(eo.COLON);const n=this.parseTypeReference();let i;this.expectOptionalToken(eo.EQUALS)&&(i=this.parseConstValueLiteral());const s=this.parseConstDirectives();return this.node(e,{kind:Zs.INPUT_VALUE_DEFINITION,description:t,name:r,type:n,defaultValue:i,directives:s})}parseInterfaceTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");const r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:Zs.INTERFACE_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();return this.node(e,{kind:Zs.UNION_TYPE_DEFINITION,description:t,name:r,directives:n,types:i})}parseUnionMemberTypes(){return this.expectOptionalToken(eo.EQUALS)?this.delimitedMany(eo.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();return this.node(e,{kind:Zs.ENUM_TYPE_DEFINITION,description:t,name:r,directives:n,values:i})}parseEnumValuesDefinition(){return this.optionalMany(eo.BRACE_L,this.parseEnumValueDefinition,eo.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token,t=this.parseDescription(),r=this.parseEnumValueName(),n=this.parseConstDirectives();return this.node(e,{kind:Zs.ENUM_VALUE_DEFINITION,description:t,name:r,directives:n})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw Gs(this._lexer.source,this._lexer.token.start,`${So(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");const r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();return this.node(e,{kind:Zs.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:r,directives:n,fields:i})}parseInputFieldsDefinition(){return this.optionalMany(eo.BRACE_L,this.parseInputValueDef,eo.BRACE_R)}parseTypeSystemExtension(){const e=this._lexer.lookahead();if(e.kind===eo.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const t=this.parseConstDirectives(),r=this.optionalMany(eo.BRACE_L,this.parseOperationTypeDefinition,eo.BRACE_R);if(0===t.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:Zs.SCHEMA_EXTENSION,directives:t,operationTypes:r})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const t=this.parseName(),r=this.parseConstDirectives();if(0===r.length)throw this.unexpected();return this.node(e,{kind:Zs.SCALAR_TYPE_EXTENSION,name:t,directives:r})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:Zs.OBJECT_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===r.length&&0===n.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:Zs.INTERFACE_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseUnionMemberTypes();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:Zs.UNION_TYPE_EXTENSION,name:t,directives:r,types:n})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseEnumValuesDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:Zs.ENUM_TYPE_EXTENSION,name:t,directives:r,values:n})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const t=this.parseName(),r=this.parseConstDirectives(),n=this.parseInputFieldsDefinition();if(0===r.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:Zs.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:r,fields:n})}parseDirectiveDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(eo.AT);const r=this.parseName(),n=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const s=this.parseDirectiveLocations();return this.node(e,{kind:Zs.DIRECTIVE_DEFINITION,description:t,name:r,arguments:n,repeatable:i,locations:s})}parseDirectiveLocations(){return this.delimitedMany(eo.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const e=this._lexer.token,t=this.parseName();if(Object.prototype.hasOwnProperty.call(Ws,t.value))return t;throw this.unexpected(e)}node(e,t){return!0!==this._options.noLocation&&(t.loc=new Ys(e,this._lexer.lastToken,this._lexer.source)),t}peek(e){return this._lexer.token.kind===e}expectToken(e){const t=this._lexer.token;if(t.kind===e)return this.advanceLexer(),t;throw Gs(this._lexer.source,t.start,`Expected ${Lo(e)}, found ${So(t)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e&&(this.advanceLexer(),!0)}expectKeyword(e){const t=this._lexer.token;if(t.kind!==eo.NAME||t.value!==e)throw Gs(this._lexer.source,t.start,`Expected "${e}", found ${So(t)}.`);this.advanceLexer()}expectOptionalKeyword(e){const t=this._lexer.token;return t.kind===eo.NAME&&t.value===e&&(this.advanceLexer(),!0)}unexpected(e){const t=null!=e?e:this._lexer.token;return Gs(this._lexer.source,t.start,`Unexpected ${So(t)}.`)}any(e,t,r){this.expectToken(e);const n=[];for(;!this.expectOptionalToken(r);)n.push(t.call(this));return n}optionalMany(e,t,r){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(r));return e}return[]}many(e,t,r){this.expectToken(e);const n=[];do{n.push(t.call(this))}while(!this.expectOptionalToken(r));return n}delimitedMany(e,t){this.expectOptionalToken(e);const r=[];do{r.push(t.call(this))}while(this.expectOptionalToken(e));return r}advanceLexer(){const{maxTokens:e}=this._options,t=this._lexer.advance();if(void 0!==e&&t.kind!==eo.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Gs(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}}function So(e){const t=e.value;return Lo(e.kind)+(null!=t?` "${t}"`:"")}function Lo(e){return function(e){return e===eo.BANG||e===eo.DOLLAR||e===eo.AMP||e===eo.PAREN_L||e===eo.PAREN_R||e===eo.SPREAD||e===eo.COLON||e===eo.EQUALS||e===eo.AT||e===eo.BRACKET_L||e===eo.BRACKET_R||e===eo.BRACE_L||e===eo.PIPE||e===eo.BRACE_R}(e)?`"${e}"`:e}const Fo=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function Mo(e){return qo[e.charCodeAt(0)]}const qo=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],Uo=Object.freeze({});function Vo(e,t){const r=e[t];return"object"==typeof r?r:"function"==typeof r?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}function Ho(e){return function(e,t,r=$s){const n=new Map;for(const e of Object.values(Zs))n.set(e,Vo(t,e));let i,s,o,a=Array.isArray(e),l=[e],c=-1,u=[],d=e;const h=[],f=[];do{c++;const e=c===l.length,y=e&&0!==u.length;if(e){if(s=0===f.length?void 0:h[h.length-1],d=o,o=f.pop(),y)if(a){d=d.slice();let e=0;for(const[t,r]of u){const n=t-e;null===r?(d.splice(n,1),e++):d[n]=r}}else{d=Object.defineProperties({},Object.getOwnPropertyDescriptors(d));for(const[e,t]of u)d[e]=t}c=i.index,l=i.keys,u=i.edits,a=i.inArray,i=i.prev}else if(o){if(s=a?c:l[c],d=o[s],null==d)continue;h.push(s)}let A;if(!Array.isArray(d)){var p,m;zs(d)||Fs(!1,`Invalid AST Node: ${Co(d)}.`);const r=e?null===(p=n.get(d.kind))||void 0===p?void 0:p.leave:null===(m=n.get(d.kind))||void 0===m?void 0:m.enter;if(A=null==r?void 0:r.call(t,d,s,o,h,f),A===Uo)break;if(!1===A){if(!e){h.pop();continue}}else if(void 0!==A&&(u.push([s,A]),!e)){if(!zs(A)){h.pop();continue}d=A}}var g;void 0===A&&y&&u.push([s,d]),e?h.pop():(i={inArray:a,index:c,keys:l,edits:u,prev:i},a=Array.isArray(d),l=a?d:null!==(g=r[d.kind])&&void 0!==g?g:[],c=-1,u=[],o&&f.push(o),o=d)}while(void 0!==i);return 0!==u.length?u[u.length-1][1]:e}(e,jo)}const jo={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>Qo(e.definitions,"\n\n")},OperationDefinition:{leave(e){const t=Yo("(",Qo(e.variableDefinitions,", "),")"),r=Qo([e.operation,Qo([e.name,t]),Qo(e.directives," ")]," ");return("query"===r?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+Yo(" = ",r)+Yo(" ",Qo(n," "))},SelectionSet:{leave:({selections:e})=>Go(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){const s=Yo("",e,": ")+t;let o=s+Yo("(",Qo(r,", "),")");return o.length>80&&(o=s+Yo("(\n",Xo(Qo(r,"\n")),"\n)")),Qo([o,Qo(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Yo(" ",Qo(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>Qo(["...",Yo("on ",e),Qo(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${Yo("(",Qo(r,", "),")")} on ${t} ${Yo("",Qo(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t){const r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=1===n.length,s=n.length>1&&n.slice(1).every((e=>0===e.length||to(e.charCodeAt(0)))),o=r.endsWith('\\"""'),a=e.endsWith('"')&&!o,l=e.endsWith("\\"),c=a||l,u=!i||e.length>70||c||s||o;let d="";const h=i&&to(e.charCodeAt(0));return(u&&!h||s)&&(d+="\n"),d+=r,(u||c)&&(d+="\n"),'"""'+d+'"""'}(e):`"${e.replace(Fo,Mo)}"`},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+Qo(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+Qo(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+Yo("(",Qo(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>Yo("",e,"\n")+Qo(["schema",Qo(t," "),Go(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>Yo("",e,"\n")+Qo(["scalar",t,Qo(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>Yo("",e,"\n")+Qo(["type",t,Yo("implements ",Qo(r," & ")),Qo(n," "),Go(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>Yo("",e,"\n")+t+($o(r)?Yo("(\n",Xo(Qo(r,"\n")),"\n)"):Yo("(",Qo(r,", "),")"))+": "+n+Yo(" ",Qo(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>Yo("",e,"\n")+Qo([t+": "+r,Yo("= ",n),Qo(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>Yo("",e,"\n")+Qo(["interface",t,Yo("implements ",Qo(r," & ")),Qo(n," "),Go(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:r,types:n})=>Yo("",e,"\n")+Qo(["union",t,Qo(r," "),Yo("= ",Qo(n," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:r,values:n})=>Yo("",e,"\n")+Qo(["enum",t,Qo(r," "),Go(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>Yo("",e,"\n")+Qo([t,Qo(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>Yo("",e,"\n")+Qo(["input",t,Qo(r," "),Go(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>Yo("",e,"\n")+"directive @"+t+($o(r)?Yo("(\n",Xo(Qo(r,"\n")),"\n)"):Yo("(",Qo(r,", "),")"))+(n?" repeatable":"")+" on "+Qo(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Qo(["extend schema",Qo(e," "),Go(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Qo(["extend scalar",e,Qo(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>Qo(["extend type",e,Yo("implements ",Qo(t," & ")),Qo(r," "),Go(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>Qo(["extend interface",e,Yo("implements ",Qo(t," & ")),Qo(r," "),Go(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>Qo(["extend union",e,Qo(t," "),Yo("= ",Qo(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>Qo(["extend enum",e,Qo(t," "),Go(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>Qo(["extend input",e,Qo(t," "),Go(r)]," ")}};function Qo(e,t=""){var r;return null!==(r=null==e?void 0:e.filter((e=>e)).join(t))&&void 0!==r?r:""}function Go(e){return Yo("{\n",Xo(Qo(e,"\n")),"\n}")}function Yo(e,t,r=""){return null!=t&&""!==t?e+t+r:""}function Xo(e){return Yo(" ",e.replace(/\n/g,"\n "))}function $o(e){var t;return null!==(t=null==e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}const Ko=e=>{let t;const r=e.definitions.filter((e=>"OperationDefinition"===e.kind));return 1===r.length&&(t=r[0]?.name?.value),t},zo=e=>{if("string"==typeof e){let r;try{const n=new ko(e,t).parseDocument();r=Ko(n)}catch(e){}return{query:e,operationName:r}}var t;const r=Ko(e);return{query:Ho(e),operationName:r}};class Jo extends Error{constructor(e,t){super(`${Jo.extractMessage(e)}: ${JSON.stringify({response:e,request:t})}`),Object.setPrototypeOf(this,Jo.prototype),this.response=e,this.request=t,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,Jo)}static extractMessage(e){return e.errors?.[0]?.message??`GraphQL Error (Code: ${e.status})`}}const Wo=e=>{let t={};return e&&("undefined"!=typeof Headers&&e instanceof Headers||h&&h.Headers&&e instanceof h.Headers?t=(e=>{const t={};return e.forEach(((e,r)=>{t[r]=e})),t})(e):Array.isArray(e)?e.forEach((([e,r])=>{e&&void 0!==r&&(t[e]=r)})):t=e),t},Zo=e=>e.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),ea=e=>async t=>{const{url:r,query:n,variables:i,operationName:s,fetch:o,fetchOptions:a,middleware:l}=t,c={...t.headers};let u,d="";"POST"===e?(u=na(n,i,s,a.jsonSerializer),"string"==typeof u&&(c["Content-Type"]="application/json")):d=(e=>{if(!Array.isArray(e.query)){const t=e,r=[`query=${encodeURIComponent(Zo(t.query))}`];return e.variables&&r.push(`variables=${encodeURIComponent(t.jsonSerializer.stringify(t.variables))}`),t.operationName&&r.push(`operationName=${encodeURIComponent(t.operationName)}`),r.join("&")}if(void 0!==e.variables&&!Array.isArray(e.variables))throw new Error("Cannot create query with given variable type, array expected");const t=e,r=e.query.reduce(((e,r,n)=>(e.push({query:Zo(r),variables:t.variables?t.jsonSerializer.stringify(t.variables[n]):void 0}),e)),[]);return`query=${encodeURIComponent(t.jsonSerializer.stringify(r))}`})({query:n,variables:i,operationName:s,jsonSerializer:a.jsonSerializer??Ls});const h={method:e,headers:c,body:u,...a};let f=r,p=h;if(l){const e=await Promise.resolve(l({...h,url:r,operationName:s,variables:i})),{url:t,...n}=e;f=t,p=n}return d&&(f=`${f}?${d}`),await o(f,p)};class ta{constructor(e,t={}){this.url=e,this.requestConfig=t,this.rawRequest=async(...e)=>{const[t,r,n]=e,i=((e,t,r)=>e.query?e:{query:e,variables:t,requestHeaders:r,signal:void 0})(t,r,n),{headers:s,fetch:o=a,method:l="POST",requestMiddleware:c,responseMiddleware:u,...d}=this.requestConfig,{url:h}=this;void 0!==i.signal&&(d.signal=i.signal);const{operationName:f}=zo(i.query);return ra({url:h,query:i.query,variables:i.variables,headers:{...Wo(sa(s)),...Wo(i.requestHeaders)},operationName:f,fetch:o,method:l,fetchOptions:d,middleware:c}).then((e=>(u&&u(e),e))).catch((e=>{throw u&&u(e),e}))}}async request(e,...t){const[r,n]=t,i=((e,t,r)=>e.document?e:{document:e,variables:t,requestHeaders:r,signal:void 0})(e,r,n),{headers:s,fetch:o=a,method:l="POST",requestMiddleware:c,responseMiddleware:u,...d}=this.requestConfig,{url:h}=this;void 0!==i.signal&&(d.signal=i.signal);const{query:f,operationName:p}=zo(i.document);return ra({url:h,query:f,variables:i.variables,headers:{...Wo(sa(s)),...Wo(i.requestHeaders)},operationName:p,fetch:o,method:l,fetchOptions:d,middleware:c}).then((e=>(u&&u(e),e.data))).catch((e=>{throw u&&u(e),e}))}batchRequests(e,t){const r=((e,t)=>e.documents?e:{documents:e,requestHeaders:t,signal:void 0})(e,t),{headers:n,...i}=this.requestConfig;void 0!==r.signal&&(i.signal=r.signal);const s=r.documents.map((({document:e})=>zo(e).query)),o=r.documents.map((({variables:e})=>e));return ra({url:this.url,query:s,variables:o,headers:{...Wo(sa(n)),...Wo(r.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??a,method:this.requestConfig.method||"POST",fetchOptions:i,middleware:this.requestConfig.requestMiddleware}).then((e=>(this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e),e.data))).catch((e=>{throw this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(e),e}))}setHeaders(e){return this.requestConfig.headers=e,this}setHeader(e,t){const{headers:r}=this.requestConfig;return r?r[e]=t:this.requestConfig.headers={[e]:t},this}setEndpoint(e){return this.url=e,this}}const ra=async e=>{const{query:t,variables:r,fetchOptions:n}=e,i=ea((e.method??"post").toUpperCase());const s=Array.isArray(e.query),o=await i(e),a=await ia(o,n.jsonSerializer??Ls),l=Array.isArray(a)?!a.some((({data:e})=>!e)):Boolean(a.data),c=Array.isArray(a)||!a.errors||Array.isArray(a.errors)&&!a.errors.length||"all"===n.errorPolicy||"ignore"===n.errorPolicy;if(o.ok&&c&&l){const{errors:e,...t}=(Array.isArray(a),a),r="ignore"===n.errorPolicy?t:a;return{...s?{data:r}:r,headers:o.headers,status:o.status}}throw new Jo({..."string"==typeof a?{error:a}:a,status:o.status,headers:o.headers},{query:t,variables:r})},na=(e,t,r,n)=>{const i=n??Ls;if(!Array.isArray(e))return i.stringify({query:e,variables:t,operationName:r});if(void 0!==t&&!Array.isArray(t))throw new Error("Cannot create request body with given variable type, array expected");const s=e.reduce(((e,r,n)=>(e.push({query:r,variables:t?t[n]:void 0}),e)),[]);return i.stringify(s)},ia=async(e,t)=>{let r;return e.headers.forEach(((e,t)=>{"content-type"===t.toLowerCase()&&(r=e)})),r&&(r.toLowerCase().startsWith("application/json")||r.toLowerCase().startsWith("application/graphql+json")||r.toLowerCase().startsWith("application/graphql-response+json"))?t.parse(await e.text()):e.text()},sa=e=>"function"==typeof e?e():e,oa={url:"https://api.dodoex.io/frontend-graphql"};const aa={host:"https://api.dodoex.io",fetch:a};class la{constructor(e){const t=Object.assign(Object.assign({},aa),e);this.host=t.host,this._getFetch=()=>t.fetch}getUrl(e,t){let r=`${this.host}/${e}`;return t&&(r=`${r}?${l.stringify(t)}`),r}responseProcessor(e){return A(this,void 0,void 0,(function*(){if(e.ok){const t=yield e.json();return{response:e,result:t}}throw new Error(`Response ${JSON.stringify(e)} failed`)}))}getJson(e,t,r){return A(this,void 0,void 0,(function*(){const n=this.getUrl(e,t),i=this._getFetch(),o=yield i(n,s.merge({method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}},r));return this.responseProcessor(o)}))}postJson(e,t,r,n){return A(this,void 0,void 0,(function*(){const i=this.getUrl(e,r),o=this._getFetch(),a=yield o(i,s.merge({method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:t?JSON.stringify(t):void 0},n));return this.responseProcessor(a)}))}}const ca={getIsV3Mining:e=>["DSP","GSP","LPTOKEN","V3CLASSICAL"].includes(e),singleSideLp:e=>["CLASSICAL","V3CLASSICAL","DPP"].includes(e),canOperateLiquidity(e,t,r,n){const i=null!=t?t:r;return!!(e&&i&&n)&&("DPP"!==e||i.toLocaleLowerCase()===n.toLocaleLowerCase())}};class ua extends String{constructor(e,t){super(e),this.value=e,this.__meta__=t}toString(){return this.value}}const da={"\n query FetchErc20SwapCrossChainList($where: Erc20listV2Filter) {\n erc20_swapCrossChainList(where: $where) {\n name\n address\n symbol\n decimals\n slippage\n chainId\n logoImg\n tokenlists {\n name\n status\n }\n domains {\n name\n }\n funcLabels {\n key\n }\n attributeLabels {\n key\n }\n }\n }\n ":new ua("\n query FetchErc20SwapCrossChainList($where: Erc20listV2Filter) {\n erc20_swapCrossChainList(where: $where) {\n name\n address\n symbol\n decimals\n slippage\n chainId\n logoImg\n tokenlists {\n name\n status\n }\n domains {\n name\n }\n funcLabels {\n key\n }\n attributeLabels {\n key\n }\n }\n}\n "),"\n query FetchErc20ForecastSlippage($where: Erc20_extenderc20ExtendV2Filter) {\n erc20_extend_erc20ExtendV2(where: $where) {\n forecastSlippageList {\n forecastSlippage\n forecastValue\n confidenceRatio\n confidenceIntervalUpper\n confidenceIntervalLower\n }\n }\n }\n ":new ua("\n query FetchErc20ForecastSlippage($where: Erc20_extenderc20ExtendV2Filter) {\n erc20_extend_erc20ExtendV2(where: $where) {\n forecastSlippageList {\n forecastSlippage\n forecastValue\n confidenceRatio\n confidenceIntervalUpper\n confidenceIntervalLower\n }\n }\n}\n "),"\n query Ticks($where: Tick_filter, $skip: Int, $first: Int) {\n ticks(where: $where, skip: $skip, first: $first) {\n id\n poolAddress\n tickIdx\n liquidityNet\n price0\n price1\n }\n }\n":new ua("\n query Ticks($where: Tick_filter, $skip: Int, $first: Int) {\n ticks(where: $where, skip: $skip, first: $first) {\n id\n poolAddress\n tickIdx\n liquidityNet\n price0\n price1\n }\n}\n "),"\n query FetchMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n baseApy\n baseLpToken {\n decimals\n address: id\n symbol\n }\n baseToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n address: id\n symbol\n }\n quoteToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ":new ua("\n query FetchMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n baseApy\n baseLpToken {\n decimals\n address: id\n symbol\n }\n baseToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n address: id\n symbol\n }\n quoteToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n startTime\n endTime\n }\n totalCount\n chains\n }\n}\n "),"\n query MiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ":new ua("\n query MiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n startTime\n endTime\n }\n totalCount\n chains\n }\n}\n "),"\n query MyCreatedMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n participantsNum\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ":new ua("\n query MyCreatedMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n participantsNum\n startTime\n endTime\n }\n totalCount\n chains\n }\n}\n "),"\n query FetchPoolList(\n $first: Int\n $where: Pair_filter\n $orderBy: Pair_orderBy\n ) {\n pairs(\n first: $first\n where: $where\n orderBy: $orderBy\n orderDirection: desc\n ) {\n id\n type\n creator\n owner\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n lastTradePrice\n feeBase\n feeQuote\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n }\n }\n ":new ua("\n query FetchPoolList($first: Int, $where: Pair_filter, $orderBy: Pair_orderBy) {\n pairs(first: $first, where: $where, orderBy: $orderBy, orderDirection: desc) {\n id\n type\n creator\n owner\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n lastTradePrice\n feeBase\n feeQuote\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n }\n}\n "),"\n query FetchLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n currentPage\n pageSize\n totalCount\n lqList {\n id\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n ":new ua("\n query FetchLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n currentPage\n pageSize\n totalCount\n lqList {\n id\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n}\n "),"\n query FetchMyLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n lqList {\n id\n liquidityPositions {\n id\n liquidityTokenBalance\n liquidityTokenInMining\n poolShare\n liquidityUSD\n tokenId\n outOfRange\n priceRange {\n token0LowerPrice\n token0UpperPrice\n token1LowerPrice\n token1UpperPrice\n }\n tickLower {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n tickUpper {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n }\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n ":new ua("\n query FetchMyLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n lqList {\n id\n liquidityPositions {\n id\n liquidityTokenBalance\n liquidityTokenInMining\n poolShare\n liquidityUSD\n tokenId\n outOfRange\n priceRange {\n token0LowerPrice\n token0UpperPrice\n token1LowerPrice\n token1UpperPrice\n }\n tickLower {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n tickUpper {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n }\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n}\n "),"\n query FetchDashboardPairList($where: Dashboardtype_list_filter) {\n dashboard_pairs_list(where: $where) {\n list {\n chainId\n pairAddress\n poolType\n baseReserve\n quoteReserve\n totalFee\n baseAddress\n quoteAddress\n baseSymbol\n quoteSymbol\n tvl\n baseTvl\n quoteTvl\n baseTvlRate\n quoteTvlRate\n }\n }\n }\n ":new ua("\n query FetchDashboardPairList($where: Dashboardtype_list_filter) {\n dashboard_pairs_list(where: $where) {\n list {\n chainId\n pairAddress\n poolType\n baseReserve\n quoteReserve\n totalFee\n baseAddress\n quoteAddress\n baseSymbol\n quoteSymbol\n tvl\n baseTvl\n quoteTvl\n baseTvlRate\n quoteTvlRate\n }\n }\n}\n "),"\n query FetchPool(\n $id: ID!\n $where: Pair_filter\n $liquidityWhere: Liquiditylist_filter\n ) {\n pair(id: $id, where: $where) {\n id\n type\n creator\n owner\n traderCount\n volumeBaseToken\n volumeQuoteToken\n volumeUSD\n feeBase\n feeQuote\n mtFeeRate\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n baseLpToken {\n id\n symbol\n name\n decimals\n }\n quoteLpToken {\n id\n symbol\n name\n decimals\n }\n }\n liquidity_list(where: $liquidityWhere) {\n lqList {\n pair {\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n }\n }\n }\n }\n ":new ua("\n query FetchPool($id: ID!, $where: Pair_filter, $liquidityWhere: Liquiditylist_filter) {\n pair(id: $id, where: $where) {\n id\n type\n creator\n owner\n traderCount\n volumeBaseToken\n volumeQuoteToken\n volumeUSD\n feeBase\n feeQuote\n mtFeeRate\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n baseLpToken {\n id\n symbol\n name\n decimals\n }\n quoteLpToken {\n id\n symbol\n name\n decimals\n }\n }\n liquidity_list(where: $liquidityWhere) {\n lqList {\n pair {\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n }\n }\n }\n}\n "),"\n query FetchPoolDayData($where: Dashboardday_filter) {\n dashboard_pairs_day_data(where: $where) {\n timestamp\n date\n volumeUsd\n feeUsd\n mtFeeUsd\n tvlUsd\n addresses\n }\n }\n ":new ua("\n query FetchPoolDayData($where: Dashboardday_filter) {\n dashboard_pairs_day_data(where: $where) {\n timestamp\n date\n volumeUsd\n feeUsd\n mtFeeUsd\n tvlUsd\n addresses\n }\n}\n "),"\n query FetchPoolDashboard($where: Dashboardpair_detail_filter) {\n dashboard_pairs_detail(where: $where) {\n fee\n volume\n totalFee\n totalMtFee\n totalVolume\n tvl\n turnover\n liquidity\n baseReserve\n quoteReserve\n baseVolume\n quoteVolume\n basePrice\n quotePrice\n price\n baseFee\n quoteFee\n baseMtFee\n quoteMtFee\n pair\n poolType\n baseVolumeCumulative\n quoteVolumeCumulative\n baseAddress\n baseSymbol\n quoteAddress\n quoteSymbol\n network\n pairAddress\n txes\n txesNear24h\n txUsers\n txUserNear24h\n mtFeeNear24h\n feeNear24h\n }\n }\n ":new ua("\n query FetchPoolDashboard($where: Dashboardpair_detail_filter) {\n dashboard_pairs_detail(where: $where) {\n fee\n volume\n totalFee\n totalMtFee\n totalVolume\n tvl\n turnover\n liquidity\n baseReserve\n quoteReserve\n baseVolume\n quoteVolume\n basePrice\n quotePrice\n price\n baseFee\n quoteFee\n baseMtFee\n quoteMtFee\n pair\n poolType\n baseVolumeCumulative\n quoteVolumeCumulative\n baseAddress\n baseSymbol\n quoteAddress\n quoteSymbol\n network\n pairAddress\n txes\n txesNear24h\n txUsers\n txUserNear24h\n mtFeeNear24h\n feeNear24h\n }\n}\n "),"\n query FetchPoolSwapList(\n $first: Int\n $skip: Int\n $where: Swap_filter\n $orderBy: Swap_orderBy\n $orderDirection: OrderDirection\n ) {\n swaps(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n timestamp\n from\n baseVolume\n quoteVolume\n feeBase\n feeQuote\n fromToken {\n id\n symbol\n name\n decimals\n }\n toToken {\n id\n symbol\n name\n decimals\n }\n amountIn\n amountOut\n }\n }\n ":new ua("\n query FetchPoolSwapList($first: Int, $skip: Int, $where: Swap_filter, $orderBy: Swap_orderBy, $orderDirection: OrderDirection) {\n swaps(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n timestamp\n from\n baseVolume\n quoteVolume\n feeBase\n feeQuote\n fromToken {\n id\n symbol\n name\n decimals\n }\n toToken {\n id\n symbol\n name\n decimals\n }\n amountIn\n amountOut\n }\n}\n "),"\n query FetchLiquidityPositions(\n $id: ID!\n $first: Int\n $skip: Int\n $where: LiquidityPosition_filter\n $miningWhere: LiquidityPosition_filter\n $orderBy: LiquidityPosition_orderBy\n $orderDirection: OrderDirection\n ) {\n balance: liquidityPositions(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenBalance\n }\n mining: liquidityPositions(\n first: $first\n skip: $skip\n where: $miningWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenInMining\n }\n pair(id: $id) {\n lastTradePrice\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n }\n }\n ":new ua("\n query FetchLiquidityPositions($id: ID!, $first: Int, $skip: Int, $where: LiquidityPosition_filter, $miningWhere: LiquidityPosition_filter, $orderBy: LiquidityPosition_orderBy, $orderDirection: OrderDirection) {\n balance: liquidityPositions(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenBalance\n }\n mining: liquidityPositions(\n first: $first\n skip: $skip\n where: $miningWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenInMining\n }\n pair(id: $id) {\n lastTradePrice\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n }\n}\n "),"\n query FetchPoolPairList(\n $first: Int\n $baseWhere: Pair_filter\n $quoteWhere: Pair_filter\n $orderBy: Pair_orderBy\n $orderDirection: OrderDirection\n ) {\n basePairs: pairs(\n first: $first\n where: $baseWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n quotePairs: pairs(\n first: $first\n where: $quoteWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n }\n ":new ua("\n query FetchPoolPairList($first: Int, $baseWhere: Pair_filter, $quoteWhere: Pair_filter, $orderBy: Pair_orderBy, $orderDirection: OrderDirection) {\n basePairs: pairs(\n first: $first\n where: $baseWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n quotePairs: pairs(\n first: $first\n where: $quoteWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n}\n "),"\n query FetchUserSwapOrderHistories($where: User_swapswapFilter) {\n user_swap_orderHistories(where: $where) {\n count\n page\n list {\n chainId\n createdAt\n fromAmount\n fromTokenDecimals\n fromTokenPrice\n fromTokenSymbol\n fromTokenAddress\n fromTokenLogoImg\n hash\n status\n toAmount\n toTokenDecimals\n toTokenPrice\n toTokenSymbol\n toTokenAddress\n toTokenLogoImg\n minAmount\n nonce\n extra\n user\n }\n }\n }\n ":new ua("\n query FetchUserSwapOrderHistories($where: User_swapswapFilter) {\n user_swap_orderHistories(where: $where) {\n count\n page\n list {\n chainId\n createdAt\n fromAmount\n fromTokenDecimals\n fromTokenPrice\n fromTokenSymbol\n fromTokenAddress\n fromTokenLogoImg\n hash\n status\n toAmount\n toTokenDecimals\n toTokenPrice\n toTokenSymbol\n toTokenAddress\n toTokenLogoImg\n minAmount\n nonce\n extra\n user\n }\n }\n}\n "),"\n query FetchNoticeCenterTransactionList(\n $where: Notice_centertransactionListFilter\n ) {\n notice_center_transactionList(where: $where) {\n list {\n chainId\n createTime\n extend\n from\n id\n key\n type\n }\n count\n limit\n page\n }\n }\n ":new ua("\n query FetchNoticeCenterTransactionList($where: Notice_centertransactionListFilter) {\n notice_center_transactionList(where: $where) {\n list {\n chainId\n createTime\n extend\n from\n id\n key\n type\n }\n count\n limit\n page\n }\n}\n "),"\n query FetchLiquidityLpPartnerRewards(\n $where: LiquidityLpPartnerRewardsInput\n ) {\n liquidity_getLpPartnerRewards(where: $where) {\n partnerInfos {\n partner\n logo\n introduction\n link\n theme\n sort\n platform\n extra\n }\n partnerRewards {\n chainId\n pool\n partner\n reward\n type\n }\n }\n }\n ":new ua("\n query FetchLiquidityLpPartnerRewards($where: LiquidityLpPartnerRewardsInput) {\n liquidity_getLpPartnerRewards(where: $where) {\n partnerInfos {\n partner\n logo\n introduction\n link\n theme\n sort\n platform\n extra\n }\n partnerRewards {\n chainId\n pool\n partner\n reward\n type\n }\n }\n}\n "),"\n query FetchUserprofileReward($where: UserprofileReward_filter) {\n userprofile_reward(where: $where) {\n name_key\n token_address\n contract_address\n token_symbol\n locking\n version\n merkle {\n index\n amout\n proof\n }\n }\n }\n ":new ua("\n query FetchUserprofileReward($where: UserprofileReward_filter) {\n userprofile_reward(where: $where) {\n name_key\n token_address\n contract_address\n token_symbol\n locking\n version\n merkle {\n index\n amout\n proof\n }\n }\n}\n ")};function ha(e){var t;return null!==(t=da[e])&&void 0!==t?t:{}}const fa=ha("\n query Ticks($where: Tick_filter, $skip: Int, $first: Int) {\n ticks(where: $where, skip: $skip, first: $first) {\n id\n poolAddress\n tickIdx\n liquidityNet\n price0\n price1\n }\n }\n");class pa{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequests)throw new Error("AMMV3Api does not initialize the contractRequests");this.contractRequests=new Ss(e.contractRequestsConfig)}}getPositions(e,t,r){return{queryKey:[ks,"ammv3","getPositions",...arguments],enabled:!!e&&!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;return yield this.contractRequests.callMultiQuery(e,r.map((e=>({abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"positions",params:e}))))}))}}getOwner(e,t,r){return{queryKey:[ks,"ammv3","getOwner",...arguments],enabled:!!e&&!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"ownerOf",params:[r]})}))}}getBalanceOf(e,t,r){return{queryKey:[ks,"ammv3","getBalanceOf",...arguments],enabled:!!e&&!!t&&!!r,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!r)return null;const n=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"balanceOf",params:[r]});return new o(n.toString())}))}}getTokenOfOwnerByIndex(e,t,r){return{queryKey:[ks,"ammv3","getTokenOfOwnerByIndex",...arguments],enabled:!!e&&!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;return yield this.contractRequests.callMultiQuery(e,r.map((e=>({abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"tokenOfOwnerByIndex",params:e.map((e=>e.toString()))}))))}))}}getV3PoolSlot0(e,t){return{queryKey:[ks,"ammv3","getSlot0",...arguments],enabled:!!e||!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.UniswapV3Pool,contractAddress:t,method:"slot0",params:[]})}))}}getV3PoolLiquidity(e,t){return{queryKey:[ks,"ammv3","getV3PoolLiquidity",...arguments],enabled:!!e||!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.UniswapV3Pool,contractAddress:t,method:"liquidity",params:[]})}))}}getCollect(e,t,r,n){return{queryKey:[ks,"ammv3","getCollect",...arguments],enabled:!!e||!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&n))return null;const i=Z.from(2).pow(128).sub(1);return yield this.contractRequests.callQuery(e,{abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"collect",params:[{tokenId:r,recipient:n,amount0Max:i,amount1Max:i},{from:n}]})}))}}}pa.graphql={AllV3TicksDocument:fa},pa.utils=ca,pa.encode={};const ma=(e,t)=>new o.BigNumber(Z.isBigNumber(e)?e.toString():e).div(10**t),ga={fetchPoolList:ha("\n query FetchPoolList(\n $first: Int\n $where: Pair_filter\n $orderBy: Pair_orderBy\n ) {\n pairs(\n first: $first\n where: $where\n orderBy: $orderBy\n orderDirection: desc\n ) {\n id\n type\n creator\n owner\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n lastTradePrice\n feeBase\n feeQuote\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n }\n }\n "),fetchLiquidityList:ha("\n query FetchLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n currentPage\n pageSize\n totalCount\n lqList {\n id\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n "),fetchMyLiquidityList:ha("\n query FetchMyLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n lqList {\n id\n liquidityPositions {\n id\n liquidityTokenBalance\n liquidityTokenInMining\n poolShare\n liquidityUSD\n tokenId\n outOfRange\n priceRange {\n token0LowerPrice\n token0UpperPrice\n token1LowerPrice\n token1UpperPrice\n }\n tickLower {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n tickUpper {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n }\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n "),fetchDashboardPairList:ha("\n query FetchDashboardPairList($where: Dashboardtype_list_filter) {\n dashboard_pairs_list(where: $where) {\n list {\n chainId\n pairAddress\n poolType\n baseReserve\n quoteReserve\n totalFee\n baseAddress\n quoteAddress\n baseSymbol\n quoteSymbol\n tvl\n baseTvl\n quoteTvl\n baseTvlRate\n quoteTvlRate\n }\n }\n }\n "),fetchPool:ha("\n query FetchPool(\n $id: ID!\n $where: Pair_filter\n $liquidityWhere: Liquiditylist_filter\n ) {\n pair(id: $id, where: $where) {\n id\n type\n creator\n owner\n traderCount\n volumeBaseToken\n volumeQuoteToken\n volumeUSD\n feeBase\n feeQuote\n mtFeeRate\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n baseLpToken {\n id\n symbol\n name\n decimals\n }\n quoteLpToken {\n id\n symbol\n name\n decimals\n }\n }\n liquidity_list(where: $liquidityWhere) {\n lqList {\n pair {\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n }\n }\n }\n }\n "),fetchPoolDayData:ha("\n query FetchPoolDayData($where: Dashboardday_filter) {\n dashboard_pairs_day_data(where: $where) {\n timestamp\n date\n volumeUsd\n feeUsd\n mtFeeUsd\n tvlUsd\n addresses\n }\n }\n "),fetchPoolDashboard:ha("\n query FetchPoolDashboard($where: Dashboardpair_detail_filter) {\n dashboard_pairs_detail(where: $where) {\n fee\n volume\n totalFee\n totalMtFee\n totalVolume\n tvl\n turnover\n liquidity\n baseReserve\n quoteReserve\n baseVolume\n quoteVolume\n basePrice\n quotePrice\n price\n baseFee\n quoteFee\n baseMtFee\n quoteMtFee\n pair\n poolType\n baseVolumeCumulative\n quoteVolumeCumulative\n baseAddress\n baseSymbol\n quoteAddress\n quoteSymbol\n network\n pairAddress\n txes\n txesNear24h\n txUsers\n txUserNear24h\n mtFeeNear24h\n feeNear24h\n }\n }\n "),fetchPoolSwapList:ha("\n query FetchPoolSwapList(\n $first: Int\n $skip: Int\n $where: Swap_filter\n $orderBy: Swap_orderBy\n $orderDirection: OrderDirection\n ) {\n swaps(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n timestamp\n from\n baseVolume\n quoteVolume\n feeBase\n feeQuote\n fromToken {\n id\n symbol\n name\n decimals\n }\n toToken {\n id\n symbol\n name\n decimals\n }\n amountIn\n amountOut\n }\n }\n "),fetchLiquidityPositions:ha("\n query FetchLiquidityPositions(\n $id: ID!\n $first: Int\n $skip: Int\n $where: LiquidityPosition_filter\n $miningWhere: LiquidityPosition_filter\n $orderBy: LiquidityPosition_orderBy\n $orderDirection: OrderDirection\n ) {\n balance: liquidityPositions(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenBalance\n }\n mining: liquidityPositions(\n first: $first\n skip: $skip\n where: $miningWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenInMining\n }\n pair(id: $id) {\n lastTradePrice\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n }\n }\n "),fetchPoolPairList:ha("\n query FetchPoolPairList(\n $first: Int\n $baseWhere: Pair_filter\n $quoteWhere: Pair_filter\n $orderBy: Pair_orderBy\n $orderDirection: OrderDirection\n ) {\n basePairs: pairs(\n first: $first\n where: $baseWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n quotePairs: pairs(\n first: $first\n where: $quoteWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n }\n ")};class ya{QuerySellBase(e,t){try{let r;if(0===t.RStatus)r=this.ROneSellBase(e,t);else if(1===t.RStatus){const n=t.B0.minus(t.B),i=t.Q.minus(t.Q0);e.lt(n)?(r=this.RAboveSellBase(e,t),r.gt(i)&&(r=i)):r=e.eq(n)?i:i.plus(this.ROneSellBase(e.minus(n),t))}else r=this.RBelowSellBase(e,t);const n=r.multipliedBy(t.mtFeeRate),i=r.multipliedBy(t.lpFeeRate);return r.minus(n).minus(i)}catch(e){return new o(0)}}QuerySellQuote(e,t){try{let r;if(0===t.RStatus)r=this.ROneSellQuote(e,t);else if(1===t.RStatus)r=this.RAboveSellQuote(e,t);else{const n=t.B.minus(t.B0),i=t.Q0.minus(t.Q);e.lt(i)?(r=this.RBelowSellQuote(e,t),r.gt(n)&&(r=n)):r=e.eq(i)?n:n.plus(this.ROneSellQuote(e.minus(i),t))}const n=r.multipliedBy(t.mtFeeRate),i=r.multipliedBy(t.lpFeeRate);return r.minus(n).minus(i)}catch(e){return new o(0)}}GetMidPrice(e){if(2==e.RStatus){let t=e.Q0.multipliedBy(e.Q0).div(e.Q).div(e.Q);return t=new o(1).minus(e.k).plus(e.k.multipliedBy(t)),e.OraclePrice.div(t)}if(1==e.RStatus){let t=e.B0.multipliedBy(e.B0).div(e.B).div(e.B);return t=new o(1).minus(e.k).plus(e.k.multipliedBy(t)),e.OraclePrice.multipliedBy(t)}return e.OraclePrice}ROneSellBase(e,t){return Ea(t.Q0,t.Q0,e,t.OraclePrice,t.k)}ROneSellQuote(e,t){return Ea(t.B0,t.B0,e,new o(1).div(t.OraclePrice),t.k)}RAboveSellBase(e,t){return Aa(t.B0,t.B.plus(e),t.B,t.OraclePrice,t.k)}RAboveSellQuote(e,t){return Ea(t.B0,t.B,e,new o(1).div(t.OraclePrice),t.k)}RBelowSellQuote(e,t){return Aa(t.Q0,t.Q.plus(e),t.Q,new o(1).div(t.OraclePrice),t.k)}RBelowSellBase(e,t){return Ea(t.Q0,t.Q,e,t.OraclePrice,t.k)}}const Aa=(e,t,r,n,i)=>{if(e.lte(0))throw new Error("TARGET_IS_ZERO");const s=n.multipliedBy(t.minus(r));if(i.eq(0))return s;const a=e.multipliedBy(e).div(t).div(r).multipliedBy(i);return s.multipliedBy(new o(1).minus(i).plus(a))},Ea=(e,t,r,n,i)=>{if(e.lte(0))throw new Error("TARGET_IS_ZERO");if(r.eq(0))return r;if(i.eq(0))return r.multipliedBy(n).gt(t)?t:r.multipliedBy(n);if(i.eq(1)){const i=n.multipliedBy(r).multipliedBy(t).div(e.multipliedBy(e));return t.multipliedBy(i).div(i.plus(1))}const s=i.multipliedBy(e).div(t).multipliedBy(e).plus(n.multipliedBy(r));let a,l=new o(1).minus(i).multipliedBy(t);l.gte(s)?(l=l.minus(s),a=!1):(l=s.minus(l),a=!0);let c=new o(4).multipliedBy(new o(1).minus(i)).multipliedBy(i).multipliedBy(e).multipliedBy(e);c=l.multipliedBy(l).plus(c).sqrt();const u=new o(2).multipliedBy(new o(1).minus(i));let d;return d=a?c.minus(l):l.plus(c),t.minus(d.div(u))};class va{constructor(e){this.B=e.B,this.Q=e.Q,this.B0=e.B0,this.Q0=e.Q0,this.RStatus=e.R,this.OraclePrice=e.i,this.k=e.K,this.mtFeeRate=e.mtFeeRate,this.lpFeeRate=e.lpFeeRate}}function ba(e,t){let r=new o(e.toString());return t&&(r=r.div(new o(10**t))),r.dp(t)}const wa={DVM:exports.ABIName.dvmPoolABI,DSP:exports.ABIName.dvmPoolABI,GSP:exports.ABIName.dvmPoolABI,LPTOKEN:exports.ABIName.dvmPoolABI,CLASSICAL:exports.ABIName.classicalPoolABI,V3CLASSICAL:exports.ABIName.classicalPoolABI,DPP:exports.ABIName.dppPoolABI};function Oa({poolAddress:e,type:t,typeMethodObject:r,params:n=[]}){const i=r[t];if(!i)return null;const s=wa[t];return s?{abiName:s,contractAddress:e,method:i,params:n}:null}class Pa{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequestsConfig)throw new Error("PoolApi does not initialize the contractRequests");this.contractRequests=new Ss(e.contractRequestsConfig)}}getTotalBaseLpQuery(t,r,n,i){return{queryKey:[ks,"pool","getTotalBaseLpQuery",...arguments],enabled:!!t&&!!r&&!!n&&void 0!==i,queryFn:()=>A(this,void 0,void 0,(function*(){if(!t||!r||!n||void 0===i)return null;if("AMMV2"===n){const n=yield e.fetchUniswapV2PairTotalSupply(t,r);return new o(c.formatUnits(n,i))}const s=Oa({poolAddress:r,type:n,typeMethodObject:{DVM:"totalSupply",DSP:"totalSupply",GSP:"totalSupply",LPTOKEN:"totalSupply",CLASSICAL:"getTotalBaseCapital",V3CLASSICAL:"getTotalBaseCapital",DPP:null}});if(!s)return null;const a=yield this.contractRequests.batchCallQuery(t,s);return ma(a,i)}))}}getTotalQuoteLpQuery(e,t,r,n){return{queryKey:[ks,"pool","getTotalQuoteLp",...arguments],enabled:!!e&&!!t&&!!r&&void 0!==n,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!r||void 0===n)return null;const i=Oa({poolAddress:t,type:r,typeMethodObject:{DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"getTotalQuoteCapital",V3CLASSICAL:"getTotalQuoteCapital",DPP:null}});if(!i)return null;const s=yield this.contractRequests.batchCallQuery(e,i);return ma(s,n)}))}}getUserBaseLpQuery(t,r,n,i,s){return{queryKey:[ks,"pool","getUserBaseLp",...arguments],enabled:!!(t&&r&&n&&void 0!==i&&s),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(t&&r&&n&&void 0!==i&&s))return null;if("AMMV2"===n){const n=yield e.fetchUniswapV2PairBalanceOf(t,r,s);return new o(c.formatUnits(n,i))}const a=Oa({poolAddress:r,type:n,typeMethodObject:{DVM:"balanceOf",DSP:"balanceOf",GSP:"balanceOf",LPTOKEN:"balanceOf",CLASSICAL:"getBaseCapitalBalanceOf",V3CLASSICAL:"getBaseCapitalBalanceOf",DPP:null},params:[s]});if(!a)return null;const l=yield this.contractRequests.batchCallQuery(t,a);return ma(l,i)}))}}getUserQuoteLpQuery(e,t,r,n,i){return{queryKey:[ks,"pool","getUserQuoteLp",...arguments],enabled:!!(e&&t&&r&&void 0!==n&&i),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&void 0!==n&&i))return null;const s=Oa({poolAddress:t,type:r,typeMethodObject:{DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"getQuoteCapitalBalanceOf",V3CLASSICAL:"getQuoteCapitalBalanceOf",DPP:null},params:[i]});if(!s)return null;const o=yield this.contractRequests.batchCallQuery(e,s);return ma(o,n)}))}}getReserveLpQuery(t,r,n,i,s){return"CLASSICAL"===n?this.getPMMStateQuery(t,r,n,i,s):{queryKey:[ks,"pool","getReserveLp",...arguments],enabled:!!t&&!!r&&!!n&&void 0!==i&&void 0!==s,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(t&&r&&n&&void 0!==i&&void 0!==s))return null;if("AMMV2"===n){const n=yield e.fetchUniswapV2PairGetReserves(t,r);return{baseReserve:ma(n._reserve0.toString(),i),quoteReserve:ma(n._reserve1.toString(),s)}}const o=Oa({poolAddress:r,type:n,typeMethodObject:{DVM:"getVaultReserve",DSP:"getVaultReserve",GSP:"getVaultReserve",LPTOKEN:"getVaultReserve",CLASSICAL:null,V3CLASSICAL:null,DPP:"getVaultReserve"},params:[]});if(!o)return null;const a=yield this.contractRequests.batchCallQuery(t,o);return{baseReserve:ma(a.baseReserve,i),quoteReserve:ma(a.quoteReserve,s)}}))}}getClassicalTargetQuery(e,t,r,n,i){return{queryKey:[ks,"pool","getClassicalTargetQuery",...arguments],enabled:!!e&&!!t&&!!r&&void 0!==n&&void 0!==i,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&void 0!==n&&void 0!==i&&["CLASSICAL","V3CLASSICAL"].includes(r)))return null;const s=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.classicalPoolABI,contractAddress:t,method:"getExpectedTarget",params:[]});return{baseTarget:ma(s.baseTarget,n),quoteTarget:ma(s.quoteTarget,i)}}))}}getTotalBaseMiningLpQuery(e,t,r,n,i){const s=!!r&&Pa.utils.getIsV3Mining(r);return{queryKey:[ks,"pool","getTotalBaseMiningLp",...arguments],enabled:!!e&&!!t&&!!r&&void 0!==i&&(s||!!n),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&void 0!==i&&(s||n)))return null;let o;const a={DVM:"balanceOf",DSP:"totalSupply",GSP:"totalSupply",LPTOKEN:"totalSupply",CLASSICAL:"balanceOf",V3CLASSICAL:"totalSupply",DPP:null}[r];if(!a)return null;if(s)o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[]};else{if(!n)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:n,method:a,params:[t]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getTotalQuoteMiningLpQuery(e,t,r,n,i){const s=!!r&&Pa.utils.getIsV3Mining(r);return{queryKey:[ks,"pool","getTotalQuoteMiningLp",...arguments],enabled:!!e&&!!t&&!!r&&void 0!==i&&(s||!!n),queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!r||void 0===i)return null;let o;const a={DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"balanceOf",V3CLASSICAL:"totalSupply",DPP:null}[r];if(!a)return null;if(s)o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[]};else{if(!n)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:n,method:a,params:[t]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getUserBaseMiningLpQuery(e,t,r,n,i,s){const o=!!r&&Pa.utils.getIsV3Mining(r);return{queryKey:[ks,"pool","getUserBaseMiningLp",...arguments],enabled:!!e&&!!s&&!!t&&!!r&&void 0!==i&&(o||!!n),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&s&&t&&r&&void 0!==i))return null;let o;const a={DVM:"getUserLpBalance",DSP:"balanceOf",GSP:"balanceOf",LPTOKEN:"balanceOf",CLASSICAL:"getUserLpBalance",V3CLASSICAL:"balanceOf",DPP:null}[r];if(!a)return null;if(Pa.utils.getIsV3Mining(r))o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[s]};else{if(!n)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:a,params:[n,s]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getUserQuoteMiningLpQuery(e,t,r,n,i,s){const o=!!r&&Pa.utils.getIsV3Mining(r);return{queryKey:[ks,"pool","getUserQuoteMiningLp",...arguments],enabled:!!e&&!!s&&!!t&&!!r&&void 0!==i&&(o||!!n),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&s&&t&&r&&void 0!==i))return null;let o;const a={DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"getUserLpBalance",V3CLASSICAL:"balanceOf",DPP:null}[r];if(!a)return null;if(Pa.utils.getIsV3Mining(r))o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[s]};else{if(!n)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:a,params:[n,s]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getLPFeeRateQuery(e,t,r){return{queryKey:[ks,"pool","getLpFeeRateQuery",...arguments],enabled:!!e&&!!t&&!!r,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!r)return null;const n=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:t,method:"_LP_FEE_RATE_",params:[]});return new o(n.toString()).div(10**18)}))}}getFeeRateQuery(t,r,n,i){return{queryKey:[ks,"pool","getFeeRateQuery",...arguments],enabled:!!t&&!!r&&!!n,queryFn:()=>A(this,void 0,void 0,(function*(){var s;if(!t||!r||!n)return null;let a=new o(0),l=new o(0);if("CLASSICAL"===n){const{ROUTE_V1_DATA_FETCH:e}=g[t],n=yield this.contractRequests.batchCallQuery(t,{abiName:exports.ABIName.DODOV1PmmHelperABI,contractAddress:e,method:"getPairDetail",params:[r]}),i=null===(s=null==n?void 0:n.res)||void 0===s?void 0:s[0];a=new o(i.lpFeeRate.toString()).div(10**18),l=new o(i.mtFeeRate.toString()).div(10**18)}else if("AMMV2"===n)if(e.getUniswapV2Router02ContractAddressByChainId(t)&&e.getUniswapV2FactoryContractAddressByChainId(t)){const n=yield e.fetchUniswapV2PairFeeRate(t,r),i=ma(n.toString(),4);a=i.times(.8),l=i.times(.2)}else a=new o(.003),l=new o(0);else{const e=yield this.contractRequests.batchCallQuery(t,{abiName:exports.ABIName.dvmPoolABI,contractAddress:r,method:"getUserFeeRate",params:[null!=i?i:r]});a=new o(e.lpFeeRate.toString()).div(10**18),l=new o(e.mtFeeRate.toString()).div(10**18)}return{lpFeeRate:a,mtFeeRate:l}}))}}getPMMStateQuery(e,t,r,n,i){return{queryKey:[ks,"pool","getPMMStateQuery",...arguments],enabled:!!e&&!!t&&!!r&&void 0!==n&&void 0!==i,queryFn:()=>A(this,void 0,void 0,(function*(){var s;if(!e||!t||!r||void 0===n||void 0===i)return null;if("AMMV2"===r||"AMMV3"===r)return null;let a=null,l=null;if("CLASSICAL"===r){const{ROUTE_V1_DATA_FETCH:r}=g[e],n=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.DODOV1PmmHelperABI,contractAddress:r,method:"getPairDetail",params:[t]});a=null===(s=null==n?void 0:n.res)||void 0===s?void 0:s[0]}else{if(!["DVM","DPP","LPTOKEN","DSP","GSP"].includes(r))throw new Error(`type: ${r} not supported`);a=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:t,method:"getPMMStateForCall",params:[]}),l=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:t,method:"totalSupply",params:[]})}if(!Array.isArray(a)||!a.length)throw new Error("queryResult is not valid.");const c=function(e,t,r){const n=ba(e.i,18-t+r),i=ba(e.K,18),s=ba(e.B,t),o=ba(e.Q,r),a=ba(e.B0,t),l=ba(e.Q0,r),c=parseInt(e.R.toString());let u,d;return e.lpFeeRate&&(u=ba(e.lpFeeRate,18)),e.mtFeeRate&&(d=ba(e.mtFeeRate,18)),{q:o,b:s,k:i,i:n,b0:a,q0:l,R:c,lpFeeRate:u,mtFeeRate:d}}(a,n,i);let u,d;if(Array.isArray(l)&&(u=new o(l[0].toString())),c.q.isEqualTo(0)&&2===c.R||c.b.isEqualTo(0)&&(1===c.R||0===c.R));else{const e=new ya,t=new va({Q:c.q,B:c.b,K:c.k,i:c.i,B0:c.b0,Q0:c.q0,R:c.R,mtFeeRate:new o(0),lpFeeRate:new o(0)});d=e.GetMidPrice(t),d.isNaN()&&(d=void 0)}return{midPrice:d,pmmParamsBG:c,baseReserve:c.b,quoteReserve:c.q,totalSupplyBG:u}}))}}getDPPOwnerProxyAddressQuery(e,t){return{queryKey:[...arguments],enabled:!!e&&!!t,queryFn:()=>e&&t?this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.IdodoV2,contractAddress:t,method:"_OWNER_",params:[]}):null}}getWithdrawBasePenaltyQuery(e,t,r,n){return{queryKey:[...arguments],enabled:!!(e&&t&&r&&n),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&n))return null;const i=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoPair,contractAddress:t,method:"getWithdrawBasePenalty",params:[r]});return ma(i,n)}))}}}Pa.graphql=ga,Pa.utils=ca,Pa.encode={createDSPPoolABI(e,t,r,n,i,s,a,l,c){return A(this,arguments,void 0,(function*(e,t,r,n,i,s,a,l,c,u=!1){const{DODO_DSP_PROXY:d}=g[e];return{to:d,data:yield Bs(exports.ABIName.dodoDspProxy,"createDODOStablePair",[t.address,r.address,n,i,new o(s).div(1e4).multipliedBy(10**18).toString(),he(new o(a).toString(),18-t.decimals+r.decimals).toString(),he(new o(l).toString(),18).toString(),u,c])}}))},createGSPPoolABI(e,t,r,n,i,s,a,l,c,u){return A(this,void 0,void 0,(function*(){const{DODO_DSP_PROXY:d}=g[e];return{to:d,data:yield Bs(exports.ABIName.dodoDspProxy,"createDODOGasSavingPair",[t,r.address,n.address,i,s,new o(a).div(1e4).multipliedBy(10**18).toString(),"0",he(new o(l).toString(),18-r.decimals+n.decimals).toString(),he(new o(c).toString(),18).toString(),"1000",u])}}))},createDVMPoolABI(e,t,r,n,i,s,a,l,c){return A(this,arguments,void 0,(function*(e,t,r,n,i,s,a,l,c,u=!1){const{DODO_PROXY:d}=g[e];return{to:d,data:yield Bs(exports.ABIName.dodoProxyV2,"createDODOVendingMachine",[t.address,r.address,n,i,new o(s).div(1e4).multipliedBy(10**18).toString(),he(new o(a).toString(),18-t.decimals+r.decimals).toString(),he(new o(l).toString(),18).toString(),u,c])}}))},createDPPPoolABI(e,t,r,n,i,s,a,l,c){return A(this,arguments,void 0,(function*(e,t,r,n,i,s,a,l,c,u=!1){const{DODO_DPP_PROXY:d}=g[e];return{to:d,data:yield Bs(exports.ABIName.dodoDppProxy,"createDODOPrivatePool",[t.address,r.address,n,i,new o(s).div(1e4).multipliedBy(10**18).toString(),he(new o(a).toString(),18-t.decimals+r.decimals).toString(),he(new o(l).toString(),18).toString(),u,c])}}))},removeDPPPoolABI(e,t,r,n,i,s,a,l,c,u){return A(this,void 0,void 0,(function*(){const d=new o(t).div(1e4).multipliedBy(10**18).toString(),h=he(new o(r).toString(),18-c+u).toString(),f=he(new o(n).toString(),18).toString(),p=yield Bs(exports.ABIName.dodoDPPAdmin,"reset",["0x0000000000000000000000000000000000000000",d,h,f,i,s,a,l]);return{to:e,data:p}}))},resetDPPPoolABI(e,t,r,n,i,s,a,l,c,u,d,h,f,p,m){return A(this,void 0,void 0,(function*(){const{DODO_DPP_PROXY:y}=g[e],A=new o(r).div(1e4).multipliedBy(10**18).toString(),E=he(new o(n).toString(),18-f+p).toString(),v=he(new o(i).toString(),18).toString();return{to:y,data:yield Bs(exports.ABIName.dodoDppProxy,"resetDODOPrivatePool",[t,[A,E,v],[s,a,l,c],h,u,d,m])}}))},addDSPLiquidityABI(e,t,r,n,i,s,o,a){return A(this,void 0,void 0,(function*(){if(!i||"0"===i)throw new Error("Invalid baseMinAmount");const{DODO_DSP_PROXY:l}=g[e];return{to:l,data:yield Bs(exports.ABIName.dodoDspProxy,"addDSPLiquidity",[t,r,n,i,s,o,a])}}))},addDVMLiquidityABI(e,t,r,n,i,s,o,a){return A(this,void 0,void 0,(function*(){if(!i||"0"===i)throw new Error("Invalid baseMinAmount");const{DODO_PROXY:l}=g[e];return{to:l,data:yield Bs(exports.ABIName.dodoProxyV2,"addDVMLiquidity",[t,r,n,i,s,o,a])}}))},removeDSPLiquidityABI(e,t,r,n,i,s,o,a){return A(this,void 0,void 0,(function*(){if(28!=e&&69!=e){const{CALLEE_HELPER:t}=g[e];o&&(r=t)}const l=yield Bs(exports.ABIName.dodoDSP,"sellShares",[n,r,i,s,o?"0x00":"0x",a]);return{to:t,data:l}}))},removeDVMLiquidityABI(e,t,r,n,i,s,o,a){return A(this,void 0,void 0,(function*(){if(28!=e&&69!=e){const{CALLEE_HELPER:t}=g[e];o&&(r=t)}const l=yield Bs(exports.ABIName.dodoDVM,"sellShares",[n,r,i,s,o?"0x00":"0x",a]);return{to:t,data:l}}))},addClassicalLiquidityABI(e,t,r,n,i,s,o,a){return A(this,void 0,void 0,(function*(){const{DODO_PROXY:l}=g[e];return{to:l,data:yield Bs(exports.ABIName.dodoProxyV2,"addLiquidityToV1",[t,r,n,i,s,o,a])}}))},removeClassicalBaseABI(e,t,r,n){return A(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:i}=g[e];let s="",o="";return i?(o=i,s=yield Bs(exports.ABIName.dodoV1PairProxy,"withdrawBase",[t,r,n])):(o=t,s=yield Bs(exports.ABIName.dodoPair,"withdrawBase",[r])),{to:o,data:s}}))},removeMaxClassicalBaseABI(e,t,r){return A(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:n}=g[e];let i="",s="";return n?(s=n,i=yield Bs(exports.ABIName.dodoV1PairProxy,"withdrawAllBase",[t,r])):(s=t,i=yield Bs(exports.ABIName.dodoPair,"withdrawAllBase",[])),{to:s,data:i}}))},removeClassicalQuoteABI(e,t,r,n){return A(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:i}=g[e];let s="",o="";return i?(o=i,s=yield Bs(exports.ABIName.dodoV1PairProxy,"withdrawQuote",[t,r,n])):(o=t,s=yield Bs(exports.ABIName.dodoPair,"withdrawQuote",[r])),{to:o,data:s}}))},removeMaxClassicalQuoteABI(e,t,r){return A(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:n}=g[e];let i="",s="";return n?(s=n,i=yield Bs(exports.ABIName.dodoV1PairProxy,"withdrawAllQuote",[t,r])):(s=t,i=yield Bs(exports.ABIName.dodoPair,"withdrawAllQuote",[])),{to:s,data:i}}))}};const Da=(e,t,r,n,i)=>{const s=n.multipliedBy(t.minus(r)),a=e.multipliedBy(e).div(t).div(r).multipliedBy(i);return s.multipliedBy(new o.BigNumber(1).minus(i).plus(a))},Ta=(e,t,r,n,i)=>{let s=new o.BigNumber(1).minus(i).multipliedBy(t);s=s.minus(i.multipliedBy(e).multipliedBy(e).div(t)),s=s.plus(r.multipliedBy(n));let a=new o.BigNumber(4).multipliedBy(new o.BigNumber(1).minus(i)).multipliedBy(i).multipliedBy(e).multipliedBy(e);a=s.multipliedBy(s).plus(a).sqrt();const l=new o.BigNumber(2).multipliedBy(new o.BigNumber(1).minus(i));return s.plus(a).div(l)},_a=(e,t,r)=>{let n=new o.BigNumber(4).multipliedBy(t).multipliedBy(r).div(e);n=new o.BigNumber(1).plus(n).sqrt();const i=n.minus(new o.BigNumber(1)).div(t.multipliedBy(new o.BigNumber(2)));return e.multipliedBy(new o.BigNumber(1).plus(i))};o.BigNumber.config({EXPONENTIAL_AT:1e3,DECIMAL_PLACES:80});class Ia{getMidPrice(){if(0===this.RStatus)return this.i;const e=this.getExpectedTarget();if(1===this.RStatus){let t=e.base.div(this.B);return t=t.multipliedBy(t).multipliedBy(this.k).minus(this.k).plus(new o.BigNumber(1)),this.i.multipliedBy(t)}if(2===this.RStatus){let t=e.quote.div(this.Q);return t=t.multipliedBy(t).multipliedBy(this.k).minus(this.k).plus(new o.BigNumber(1)),this.i.div(t)}return this.i}getQuoteByMidPrice(e){if(1!==this.RStatus)throw new Error("No support is needed at the moment");const t=e.div(this.k.times(this.i)).plus(1).minus(new o.BigNumber(1).div(this.k)).times(this.B).times(this.B).sqrt();return this.i.times(this.k.div(this.B).times(t).times(t).plus(new o.BigNumber(1).minus(this.k.times(2)).times(t)).minus(new o.BigNumber(1).minus(this.k).times(this.B)))}getExpectedTarget(){let e,t;return e=this.B0,t=this.Q0,0===this.RStatus&&(e=this.B0,t=this.Q0),1===this.RStatus&&(t=this.Q0,e=_a(this.B,this.k,this.Q.minus(this.Q0).div(this.i))),2===this.RStatus&&(e=this.B0,t=_a(this.Q,this.k,this.B.minus(this.B0).multipliedBy(this.i))),{base:e,quote:t}}queryBuyBase(e){const t=e.multipliedBy(this.mtFeeRate),r=e.multipliedBy(this.lpFeeRate);e=e.plus(t).plus(r);const n=this.getExpectedTarget();let i=new o.BigNumber(0);if(0===this.RStatus)i=this.ROneBuyBase(e,n.base);else if(1===this.RStatus)i=this.RAboveBuyBase(e,n.base);else{const t=this.B.minus(n.base),r=n.quote.minus(this.Q);i=e.isLessThanOrEqualTo(t)?this.RBelowBuyBase(e,n.quote):r.plus(this.ROneBuyBase(e.minus(t),n.base))}return i}querySellBase(e){let t;const r=this.getExpectedTarget();if(0===this.RStatus)t=this.ROneSellBase(e,r.quote);else if(2===this.RStatus)t=this.RBelowSellBase(e,r.quote);else{const n=r.base.minus(this.B),i=this.Q.minus(r.quote);t=e.isLessThanOrEqualTo(n)?this.RAboveSellBase(e,r.base):i.plus(this.ROneSellBase(e.minus(n),r.quote))}const n=t.multipliedBy(this.mtFeeRate),i=t.multipliedBy(this.lpFeeRate);return t.minus(n).minus(i)}queryBuyQuote(e){const t=e.multipliedBy(this.mtFeeRate),r=e.multipliedBy(this.lpFeeRate);e=e.plus(t).plus(r);const n=this.getExpectedTarget();if(0===this.RStatus)return this.ROneBuyQuote(e,n.quote);if(2===this.RStatus)return this.RBelowBuyQuote(e,n.quote);const i=n.base.minus(this.B),s=this.Q.minus(n.quote);return e.isLessThanOrEqualTo(s)?this.RAboveBuyQuote(e,n.base):i.plus(this.ROneBuyQuote(e.minus(s),n.quote))}querySellQuote(e){let t;const r=this.getExpectedTarget();if(0===this.RStatus)t=this.ROneSellQuote(e,r.base);else if(1===this.RStatus)t=this.RAboveSellQuote(e,r.base);else{const n=this.B.minus(r.base),i=r.quote.minus(this.Q);t=e.isLessThanOrEqualTo(i)?this.RBelowSellQuote(e,r.quote):n.plus(this.ROneSellQuote(e.minus(i),r.base))}const n=t.multipliedBy(this.mtFeeRate),i=t.multipliedBy(this.lpFeeRate);return t.minus(n).minus(i)}getPriceDepth(e){const t=this.getExpectedTarget();let r,n;if(e.gt(this.i)){const i=e.div(this.i);r=t.base.div(i.minus(1).plus(this.k).div(this.k).sqrt()),n=this.ROneBuyBase(t.base.minus(r),t.base).plus(t.quote)}else{const i=this.i.div(e);n=t.quote.div(i.minus(1).plus(this.k).div(this.k).sqrt()),r=this.ROneBuyQuote(t.quote.minus(n),t.quote).plus(t.base)}return{baseAmount:this.B.minus(r).abs(),quoteAmount:this.Q.minus(n).abs(),isBuy:this.B.gt(r)}}getWithdrawBasePenalty(e){if(1===this.RStatus){const t=_a(this.B,this.k,this.Q.minus(this.Q0).div(this.i)),r=_a(this.B.minus(e),this.k,this.Q.minus(this.Q0).div(this.i));return t.minus(r).minus(e)}return new o.BigNumber(0)}getWithdrawQuotePenalty(e){if(2===this.RStatus){const t=_a(this.Q,this.k,this.B.minus(this.B0).multipliedBy(this.i)),r=_a(this.Q.minus(e),this.k,this.B.minus(this.B0).multipliedBy(this.i));return t.minus(r).minus(e)}return new o.BigNumber(0)}ROneBuyBase(e,t){return e.isGreaterThanOrEqualTo(t),Da(t,t,t.minus(e),this.i,this.k)}ROneBuyQuote(e,t){return e.isGreaterThanOrEqualTo(t),Da(t,t,t.minus(e),new o.BigNumber(1).div(this.i),this.k)}ROneSellBase(e,t){const r=Ta(t,t,this.i,e.negated(),this.k);return t.minus(r)}ROneSellQuote(e,t){const r=Ta(t,t,new o.BigNumber(1).div(this.i),e.negated(),this.k);return t.minus(r)}RAboveBuyBase(e,t){if(e.isGreaterThanOrEqualTo(this.B))throw new Error("RAbove Buy Base Amount Exceed Limitation");return Da(t,this.B,this.B.minus(e),this.i,this.k)}RAboveSellBase(e,t){if(e.plus(this.B).isGreaterThan(t))throw new Error("RAbove Sell Base Amount Exceed Limitation");return Da(t,this.B.plus(e),this.B,this.i,this.k)}RAboveBuyQuote(e,t){return Ta(t,this.B,new o.BigNumber(1).div(this.i),e,this.k).minus(this.B)}RAboveSellQuote(e,t){const r=Ta(t,this.B,new o.BigNumber(1).div(this.i),e.negated(),this.k);return this.B.minus(r)}RBelowBuyQuote(e,t){if(e.isGreaterThanOrEqualTo(this.Q))throw new Error("RBelow Buy Quote Amount Exceed Limitation");return Da(t,this.Q,this.Q.minus(e),new o.BigNumber(1).div(this.i),this.k)}RBelowSellQuote(e,t){if(e.plus(this.Q).isGreaterThan(t))throw new Error("RBelow Sell Quote Amount Exceed Limitation");return Da(t,this.Q.plus(e),this.Q,new o.BigNumber(1).div(this.i),this.k)}RBelowBuyBase(e,t){return Ta(t,this.Q,this.i,e,this.k).minus(this.Q)}RBelowSellBase(e,t){const r=Ta(t,this.Q,this.i,e.negated(),this.k);return this.Q.minus(r)}}function Ra(e){return e&&/^#[a-f\d]{3,6}\s*[0-9]{1,3}%/i.test(e)?(r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})\s*([0-9]{1,3})*%?$/i.exec(e),(t=r?{r:parseInt(r[1],16),g:parseInt(r[2],16),b:parseInt(r[3],16),a:r[4]?Number(r[4])/100:1}:void 0)?`rgba(${t.r}, ${t.g}, ${t.b}, ${t.a})`:t):e;var t,r}var Ca;!function(e){e.All="all"}(Ca||(Ca={}));const Ba={fetchMiningList:ha("\n query FetchMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n baseApy\n baseLpToken {\n decimals\n address: id\n symbol\n }\n baseToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n address: id\n symbol\n }\n quoteToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n "),fetchMiningListV1:ha("\n query MiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n "),fetchMyCreatedMiningList:ha("\n query MyCreatedMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n participantsNum\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ")};var xa;exports.MiningStatusE=void 0,(xa=exports.MiningStatusE||(exports.MiningStatusE={}))[xa.upcoming=0]="upcoming",xa[xa.active=1]="active",xa[xa.ended=2]="ended";const Na={getMiningStatusByTimestamp:({startTime:e,endTime:t,rewardTokenInfoList:r})=>{let n,i;for(const s of r){const r=s.startTime||e,a=s.endTime||t;r&&(n=n?o.min(r,n):o.isBigNumber(r)?r:new o(r)),a&&(i=i?o.max(a,i):o.isBigNumber(a)?a:new o(a))}const s=new o(Math.floor(Date.now()/1e3));let a=exports.MiningStatusE.ended;return n&&s.lt(n)&&(a=exports.MiningStatusE.upcoming),n&&i&&s.gte(n)&&s.lte(i)&&(a=exports.MiningStatusE.active),{status:a,firstStartTime:n,lastEndTime:i,currentTime:s}}},ka=[{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimAllRewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"stakeToken",type:"address"},{internalType:"bool",name:"isLpToken",type:"bool"},{internalType:"uint256",name:"platform",type:"uint256"},{internalType:"address[]",name:"rewardTokens",type:"address[]"},{internalType:"uint256[]",name:"rewardPerBlock",type:"uint256[]"},{internalType:"uint256[]",name:"startBlock",type:"uint256[]"},{internalType:"uint256[]",name:"endBlock",type:"uint256[]"}],name:"createDODOMineV3",outputs:[{internalType:"address",name:"newMineV3",type:"address"}],stateMutability:"nonpayable",type:"function"}],Sa=[{inputs:[{internalType:"address",name:"stakeToken",type:"address"},{internalType:"bool",name:"isLpToken",type:"bool"},{internalType:"address[]",name:"rewardTokens",type:"address[]"},{internalType:"uint256[]",name:"rewardPerBlock",type:"uint256[]"},{internalType:"uint256[]",name:"startBlock",type:"uint256[]"},{internalType:"uint256[]",name:"endBlock",type:"uint256[]"}],name:"createDODOMineV3",outputs:[{internalType:"address",name:"newMineV3",type:"address"}],stateMutability:"nonpayable",type:"function"}];class La{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequests)throw new Error("MiningApi does not initialize the contractRequests");this.contractRequests=new Ss(e.contractRequestsConfig)}}getPendingRewardQuery(e,t,r,n,i,s){return{queryKey:[ks,"mining","getPendingRewardQuery",...arguments],enabled:!!(e&&t&&r&&n&&void 0!==i),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&n&&void 0!==i))return null;let o;if("3"===s)o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:"getPendingRewardByToken",params:[r,n]});else o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:"getPendingReward",params:[n,r]});return ma(o,i)}))}}getLpStakedBalance(e,t,r,n,i,s){return{queryKey:[ks,"mining","getLpStakedBalance",...arguments],enabled:!(!e||!t||!r||void 0===i||"3"!==s&&!n),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&void 0!==i)||"3"!==s&&!n)return null;let o;if("3"===s)o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:"balanceOf",params:[r]});else o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:"getUserLpBalance",params:[r,n]});return ma(o,i)}))}}getRewardTokenInfos(e,t,r,n){return{queryKey:[ks,"mining","getRewardTokenInfos",...arguments],enabled:null!=e&&null!=t&&null!=r&&!n,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;const n=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:"rewardTokenInfos",params:[r]});if(!n)return null;const{rewardVault:i,rewardPerBlock:s,workThroughReward:o,lastFlagBlock:a,startBlock:l,endBlock:c}=n;return{rewardVault:i,rewardPerBlock:ma(s,0),workThroughReward:o?ma(o,0):void 0,lastFlagBlock:a?ma(a,0):void 0,startBlock:ma(l,0),endBlock:ma(c,0)}}))}}}La.utils=Na,La.graphql=Ba,La.encode={depositMining(e,t,r){return A(this,void 0,void 0,(function*(){const n=xs(ka,"deposit",[he(t.dp(r,o.ROUND_FLOOR).toString(),r).toString()]);return{to:e,data:n}}))},withdrawMining(e,t,r){return A(this,void 0,void 0,(function*(){const n=xs(ka,"withdraw",[he(t.dp(r,o.ROUND_FLOOR).toString(),r).toString()]);return{to:e,data:n}}))},claimAllMining(e){return A(this,void 0,void 0,(function*(){const t=xs(ka,"claimAllRewards",[]);return{to:e,data:t}}))},createDODOMineV3(e,t,r,n,i,s,o,a){return A(this,void 0,void 0,(function*(){const{DODO_MINEV3_PROXY:l}=g[e];if(!l)return null;let c;return c=[1,10,288,66,128,137,1285,42161,1313161554,43114].includes(e)?xs(Sa,"createDODOMineV3",[t,r,i,s,o,a]):xs(ka,"createDODOMineV3",[t,r,n,i,s,o,a]),{to:l,data:c}}))}};const Fa={fetchErc20SwapCrossList:ha("\n query FetchErc20SwapCrossChainList($where: Erc20listV2Filter) {\n erc20_swapCrossChainList(where: $where) {\n name\n address\n symbol\n decimals\n slippage\n chainId\n logoImg\n tokenlists {\n name\n status\n }\n domains {\n name\n }\n funcLabels {\n key\n }\n attributeLabels {\n key\n }\n }\n }\n "),fetchErc20ForecastSlippage:ha("\n query FetchErc20ForecastSlippage($where: Erc20_extenderc20ExtendV2Filter) {\n erc20_extend_erc20ExtendV2(where: $where) {\n forecastSlippageList {\n forecastSlippage\n forecastValue\n confidenceRatio\n confidenceIntervalUpper\n confidenceIntervalLower\n }\n }\n }\n ")},Ma=new o(2).pow(256).minus(1);function qa(e){return e?e.replaceAll("\0",""):e}class Ua{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequests)throw new Error("TokenApi does not initialize the contractRequests");this.contractRequests=new Ss(e.contractRequestsConfig)}this.restApiRequest=(null==e?void 0:e.restApiRequest)||new la}getTokenDecimals(e,t){return{queryKey:["token","getTokenDecimals",null!=e?e:"",null==t?void 0:t.toLocaleLowerCase()],enabled:!!e&&!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.erc20ABI,contractAddress:t,method:"decimals",params:[]})}))}}getFiatPriceBatch(e,t){return this.restApiRequest.postJson("/frontend-v2-price-api/current/batch",{networks:e.map((e=>y[e.chainId])),addresses:e.map((e=>e.address)),symbols:e.map((e=>e.symbol)),isCache:!0},void 0,{headers:{"pass-key":t}})}getFetchTokenQuery(e,t,r,n){let i=n,s="";if(void 0!==e){const t=g[e];i||(i=null==t?void 0:t.DODO_APPROVE),s=null==t?void 0:t.ERC20_HELPER}return{queryKey:[ks,"token","getFetchTokenQuery",null!=e?e:"",null==r?void 0:r.toLocaleLowerCase(),null==i?void 0:i.toLocaleLowerCase(),null==t?void 0:t.toLocaleLowerCase()],enabled:!!e&&!!t&&!!r,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&r&&i))return null;const a=yield(e=>A(void 0,void 0,void 0,(function*(){let t=[];if(!t.length)switch(e){case exports.ChainId.MAINNET:t=(yield Promise.resolve().then((function(){return require("./eth-BTzl-wbR.cjs")}))).default;break;case exports.ChainId.BSC:t=(yield Promise.resolve().then((function(){return require("./bsc-DPJpw0CZ.cjs")}))).default}return t})))(e);if(a.includes(t))return null;const l=m[e];if(Ua.utils.isSameAddress(t,l.address)){const t=yield this.contractRequests.getETHBalance(e,r);return{symbol:l.symbol,address:l.address,name:l.name,decimals:l.decimals,balance:t,allowance:Ma,account:r,spender:n,chainId:e}}const c=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.erc20Helper,contractAddress:s,method:"isERC20",params:[t,r,i]}),{name:u,isOk:d}=c;if(d&&u){const r=parseInt(c.decimals,10),i=new o(10).pow(r),s=new o(c.allownance.toString()).div(i),a=new o(c.balance.toString()).div(i);return{address:t,decimals:r,symbol:qa(c.symbol),name:qa(u),balance:a,spender:n,allowance:s,chainId:e}}return null}))}}}Ua.graphql=Fa,Ua.utils={isSameAddress:(e,t)=>{const r=e.length,n=t.length;if(0===r||0===n)return!1;if(r===n)return e.toLowerCase()===t.toLowerCase();const i=e.substring(2,r).toLowerCase(),s=t.substring(2,r).toLowerCase();return i.length>s.length?i.endsWith(s):s.endsWith(i)}},Ua.encode={approveABI:(e,t)=>Bs(exports.ABIName.erc20ABI,"approve",[e,t.toFixed()]),transferEncodeABI(e,t){return A(this,void 0,void 0,(function*(){return yield Bs(exports.ABIName.erc20ABI,"transfer",[e,t])}))}};const Va={fetchUserSwapOrderHistories:ha("\n query FetchUserSwapOrderHistories($where: User_swapswapFilter) {\n user_swap_orderHistories(where: $where) {\n count\n page\n list {\n chainId\n createdAt\n fromAmount\n fromTokenDecimals\n fromTokenPrice\n fromTokenSymbol\n fromTokenAddress\n fromTokenLogoImg\n hash\n status\n toAmount\n toTokenDecimals\n toTokenPrice\n toTokenSymbol\n toTokenAddress\n toTokenLogoImg\n minAmount\n nonce\n extra\n user\n }\n }\n }\n ")};class Ha{constructor(){}}Ha.graphql=Va;const ja={fetchNoticeCenterTransactionList:ha("\n query FetchNoticeCenterTransactionList(\n $where: Notice_centertransactionListFilter\n ) {\n notice_center_transactionList(where: $where) {\n list {\n chainId\n createTime\n extend\n from\n id\n key\n type\n }\n count\n limit\n page\n }\n }\n "),fetchLiquidityLpPartnerRewards:ha("\n query FetchLiquidityLpPartnerRewards(\n $where: LiquidityLpPartnerRewardsInput\n ) {\n liquidity_getLpPartnerRewards(where: $where) {\n partnerInfos {\n partner\n logo\n introduction\n link\n theme\n sort\n platform\n extra\n }\n partnerRewards {\n chainId\n pool\n partner\n reward\n type\n }\n }\n }\n "),fetchUserprofileReward:ha("\n query FetchUserprofileReward($where: UserprofileReward_filter) {\n userprofile_reward(where: $where) {\n name_key\n token_address\n contract_address\n token_symbol\n locking\n version\n merkle {\n index\n amout\n proof\n }\n }\n }\n ")};class Qa{constructor(){}}Qa.graphql=ja,Object.defineProperty(exports,"setContractRequests",{enumerable:!0,get:function(){return e.setContractRequests}}),exports.AMMV3Api=pa,exports.CONTRACT_QUERY_KEY=ks,exports.ContractRequests=Ss,exports.GraphQLRequests=class{constructor(e){const t=Object.assign(Object.assign({},oa),e);this.url=t.url,this.getHeaders=t.getHeaders;const r=new ta(this.url,{fetch:t.fetch,requestMiddleware:e=>{const t=new URL(e.url);return e.operationName&&t.searchParams.append("opname",e.operationName),Object.assign(Object.assign({},e),{url:t.toString()})}});this.client=r,this.setHeaders()}setHeaders(){return A(this,void 0,void 0,(function*(){var e;const t=yield null===(e=this.getHeaders)||void 0===e?void 0:e.call(this);t&&this.client.setHeaders(t)}))}getData(e,t){return A(this,void 0,void 0,(function*(){yield this.setHeaders();return this.client.request(e,t)}))}getQuery(e,...[t]){return{queryKey:["graphql","getQuery",e,t],queryFn:()=>A(this,void 0,void 0,(function*(){return yield this.getData(e.toString(),t)}))}}getInfiniteQuery(e,t,...[r]){return{queryKey:["graphql","getInfiniteQuery",t,e,r],queryFn:n=>A(this,[n],void 0,(function*({pageParam:n}){return yield this.getData(e.toString(),Object.assign(Object.assign({},r),{where:Object.assign(Object.assign({},null==r?void 0:r.where),{[t]:n})}))}))}}},exports.MiningApi=La,exports.PMMHelper=ya,exports.PMMModel=Ia,exports.PMMState=va,exports.PoolApi=Pa,exports.RestApiRequests=la,exports.SwapApi=Ha,exports.SwapWidgetApi=class{constructor(e){this.restApiRequest=(null==e?void 0:e.restApiRequest)||new la}getWidgetTokenListConfig(e,t){return this.restApiRequest.getJson("/config-center/user/tokenlist/v2",{project:e,apikey:t})}convertConfigToSwapWidgetProps(e){var t,r,n,i,s,o,a,l;const c=[];let u,d=!0,h=!0;if(e.chains.forEach((e=>{e.fromTokens&&(d=!1),e.toTokens&&(h=!1)})),e.chains.forEach((({chainId:e,fromTokens:t,toTokens:r,tokens:n})=>{if(null==n?void 0:n.length){const i=Number(e);[{isAllChain:d,selectTokens:t,side:"from"},{isAllChain:h,selectTokens:r,side:"to"}].forEach((({isAllChain:e,selectTokens:t,side:r})=>{(e||t)&&((null==t?void 0:t.length)?n.forEach((e=>{var n;t.some((t=>t.toLocaleLowerCase()===e.address.toLocaleLowerCase()))&&c.push(Object.assign(Object.assign({logoURI:e.logoImg},e),{chainId:null!==(n=e.chainId)&&void 0!==n?n:i,side:r}))})):n.forEach((e=>{var t;c.push(Object.assign(Object.assign({logoURI:e.logoImg},e),{chainId:null!==(t=e.chainId)&&void 0!==t?t:i,side:r}))})))}))}})),(null==e?void 0:e.style)&&Object.keys(e.style).length){const r=null===(t=null==e?void 0:e.basis)||void 0===t?void 0:t.fontSizeModify;u={palette:{mode:"light",primary:{main:Ra(e.style.primary)},secondary:{main:Ra(e.style.secondary),contrastText:Ra(e.style.secondaryContrast)},error:{main:Ra(e.style.error),contrastText:Ra(e.style.errorContrast)},warning:{main:Ra(e.style.warning)},success:{main:Ra(e.style.success)},background:{paper:Ra(e.style.background1),paperContrast:Ra(e.style.background2),backdrop:Ra(e.style.mask),input:Ra(e.style.input),tag:Ra(e.style.card)},text:{primary:Ra(e.style.text1),secondary:Ra(e.style.text2),disabled:Ra(e.style.textDisable),placeholder:Ra(e.style.textPlaceholder)},border:{main:Ra(e.style.borderSolid),light:Ra(e.style.borderDash),disabled:Ra(e.style.borderSolid)}},typography:r?{fontSize:16+r,ht:{fontSize:36+r},h2:{fontSize:32+r},h3:{fontSize:28+r},caption:{fontSize:20+r},h5:{fontSize:18+r},body1:{fontSize:16+r},body2:{fontSize:14+r},h6:{fontSize:12+r},button:{fontSize:16+r}}:void 0}}const f=e.rebateAddress,p=e.rebateRatio,m=e.swapSlippage,g=e.crossChainSlippage,y=null===(r=e.basis)||void 0===r?void 0:r.width,A=null===(n=e.basis)||void 0===n?void 0:n.height,E=null===(i=e.basis)||void 0===i?void 0:i.locale,v=null===(o=null===(s=e.basis)||void 0===s?void 0:s.crossChainSupport)||void 0===o||o,b=null===(a=e.basis)||void 0===a?void 0:a.rpcMap,w=null===(l=e.basis)||void 0===l?void 0:l.noPowerBy;return{tokenList:c,theme:u,rebateAddress:f,rebateRatio:p,swapSlippage:m,bridgeSlippage:g,width:y,height:A,locale:E,crossChain:v,jsonRpcUrlMap:b,noPowerBy:w}}getConfigSwapWidgetProps(e,t){return A(this,void 0,void 0,(function*(){var r;const{result:n}=yield this.getWidgetTokenListConfig(e,t),i=n.data;if(!i)throw new Error(null!==(r=n.msg)&&void 0!==r?r:"Error");return{swapWidgetProps:this.convertConfigToSwapWidgetProps(i),configTokenList:i}}))}},exports.SystemApi=Qa,exports.TokenApi=Ua,exports.basicTokenMap=m,exports.contractConfig=g,exports.etherTokenAddress=f,exports.getPmmModel=function({q:e,b:t,k:r,i:n,q0:i,b0:s,R:a}){const l=new Ia;return l.B0=new o(s),l.Q0=new o(i),l.B=new o(t),l.Q=new o(e),l.i=new o(n),l.k=new o(r),l.RStatus=a,l.mtFeeRate=new o(0),l.lpFeeRate=new o(0),l},exports.platformIdMap=y,exports.solveQuadraticFunctionForTarget=(e,t,r,n)=>{if(e.eq(0))return new o(0);if(n.eq(0))return e.plus(r.multipliedBy(t));const i=n.multipliedBy(4).multipliedBy(r).multipliedBy(t).div(e).plus(1).sqrt().minus(1).div(n.multipliedBy(2)).plus(1);return e.multipliedBy(i)};
1
+ "use strict";var e,n=require("@dodoex/dodo-contract-request"),t=require("@ethersproject/providers"),r=require("@ethersproject/contracts"),i=require("lodash"),o=require("@ethersproject/abi"),s=require("@ethersproject/properties"),a=require("@ethersproject/web"),d=require("bignumber.js"),l=require("graphql-request"),c=require("cross-fetch"),u=require("qs"),p=require("@ethersproject/bignumber"),m=require("@dodoex/contract-request");exports.ChainId=void 0,(e=exports.ChainId||(exports.ChainId={}))[e.MAINNET=1]="MAINNET",e[e.GOERLI=5]="GOERLI",e[e.SEPOLIA=11155111]="SEPOLIA",e[e.BSC=56]="BSC",e[e.POLYGON=137]="POLYGON",e[e.ARBITRUM_ONE=42161]="ARBITRUM_ONE",e[e.ARBITRUM_SEPOLIA=421614]="ARBITRUM_SEPOLIA",e[e.AURORA=1313161554]="AURORA",e[e.OKCHAIN=66]="OKCHAIN",e[e.OPTIMISM=10]="OPTIMISM",e[e.AVALANCHE=43114]="AVALANCHE",e[e.CONFLUX=1030]="CONFLUX",e[e.BASE=8453]="BASE",e[e.LINEA=59144]="LINEA",e[e.SCROLL=534352]="SCROLL",e[e.MANTA=169]="MANTA",e[e.MANTLE=5e3]="MANTLE",e[e.DODO_CHAIN_TESTNET=53457]="DODO_CHAIN_TESTNET",e[e.TAIKO=167e3]="TAIKO",e[e.PLUME=98866]="PLUME",e[e.PLUME_TESTNET=98864]="PLUME_TESTNET",e[e.NEOX=47763]="NEOX",e[e.MORPH=2818]="MORPH",e[e.RISE_TESTNET=11155931]="RISE_TESTNET",e[e.NEROCHAIN=1689]="NEROCHAIN",e[e.BITLAYER=200901]="BITLAYER",e[e.ZIRCUIT=48900]="ZIRCUIT",e[e.X_LAYER=196]="X_LAYER",e[e.ZERO=543210]="ZERO",e[e.HASHKEY=177]="HASHKEY",e[e.HEMI=43111]="HEMI",e[e.PHAROS_TESTNET=688688]="PHAROS_TESTNET",e[e.PHAROS_ATLANTIC_TESTNET=688689]="PHAROS_ATLANTIC_TESTNET",e[e.STABLE_TESTNET=2201]="STABLE_TESTNET";const A="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",h={symbol:"ETH",address:A,name:"Ether",decimals:18,showDecimals:4,wrappedTokenSymbol:"WETH"},D={[exports.ChainId.MAINNET]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}),[exports.ChainId.GOERLI]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"}),[exports.ChainId.SEPOLIA]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0x7B07164ecFaF0F0D85DFC062Bc205a4674c75Aa0"}),[exports.ChainId.OPTIMISM]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.CONFLUX]:Object.assign(Object.assign({},h),{symbol:"CFX",name:"CFX",wrappedTokenSymbol:"WCFX",wrappedTokenAddress:"0x14b2d3bc65e74dae1030eafd8ac30c533c976a9b"}),[exports.ChainId.BSC]:Object.assign(Object.assign({},h),{symbol:"BNB",name:"BNB",wrappedTokenSymbol:"WBNB",wrappedTokenAddress:"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}),[exports.ChainId.OKCHAIN]:Object.assign(Object.assign({},h),{symbol:"OKT",name:"OKT",wrappedTokenSymbol:"WOKT",wrappedTokenAddress:"0x8F8526dbfd6E38E3D8307702cA8469Bae6C56C15"}),[exports.ChainId.POLYGON]:Object.assign(Object.assign({},h),{symbol:"MATIC",name:"MATIC",showDecimals:6,wrappedTokenSymbol:"WMATIC",wrappedTokenAddress:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}),[exports.ChainId.ARBITRUM_ONE]:Object.assign(Object.assign({},h),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}),[exports.ChainId.ARBITRUM_SEPOLIA]:Object.assign(Object.assign({},h),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0xfd6fFee92D25158b29315C71b0Bb4dE727530FaF"}),[exports.ChainId.AURORA]:Object.assign(Object.assign({},h),{name:"Ethereum",showDecimals:6,wrappedTokenAddress:"0xC9BdeEd33CD01541e1eeD10f90519d2C06Fe3feB"}),[exports.ChainId.AVALANCHE]:Object.assign(Object.assign({},h),{symbol:"AVAX",name:"Avalanche",showDecimals:6,wrappedTokenSymbol:"WAVAX",wrappedTokenAddress:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7"}),[exports.ChainId.BASE]:Object.assign(Object.assign({},h),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.LINEA]:Object.assign(Object.assign({},h),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f"}),[exports.ChainId.SCROLL]:Object.assign(Object.assign({},h),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0x5300000000000000000000000000000000000004"}),[exports.ChainId.MANTA]:Object.assign(Object.assign({},h),{wrappedTokenSymbol:"WETH",wrappedTokenAddress:"0x0Dc808adcE2099A9F62AA87D9670745AbA741746"}),[exports.ChainId.MANTLE]:Object.assign(Object.assign({},h),{wrappedTokenSymbol:"WMNT",wrappedTokenAddress:"0x78c1b0C915c4FAA5FffA6CAbf0219DA63d7f4cb8"}),[exports.ChainId.DODO_CHAIN_TESTNET]:Object.assign(Object.assign({},h),{symbol:"dodo",name:"Wrapped Berd",wrappedTokenSymbol:"WBERD",wrappedTokenAddress:"0x3a64Ec3606FF7310E8fAd6FcC008e39705fB496d"}),[exports.ChainId.TAIKO]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0xA51894664A773981C6C112C43ce576f315d5b1B6"}),[exports.ChainId.PLUME]:Object.assign(Object.assign({},h),{symbol:"PLUME",name:"PLUME",wrappedTokenSymbol:"WPLUME",wrappedTokenAddress:"0xEa237441c92CAe6FC17Caaf9a7acB3f953be4bd1"}),[exports.ChainId.PLUME_TESTNET]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0xaA6210015fbf0855F0D9fDA3C415c1B12776Ae74"}),[exports.ChainId.NEOX]:Object.assign(Object.assign({},h),{symbol:"GAS",name:"GAS",showDecimals:6,wrappedTokenSymbol:"WGAS10",wrappedTokenAddress:"0xdE41591ED1f8ED1484aC2CD8ca0876428de60EfF"}),[exports.ChainId.MORPH]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0x5300000000000000000000000000000000000011"}),[exports.ChainId.RISE_TESTNET]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.NEROCHAIN]:Object.assign(Object.assign({},h),{symbol:"NERO",name:"NERO",wrappedTokenSymbol:"WNERO",wrappedTokenAddress:"0x252ba4a6efb0d91bd7108d91a067c14592a56f17"}),[exports.ChainId.BITLAYER]:Object.assign(Object.assign({},h),{symbol:"BTC",name:"BTC",wrappedTokenSymbol:"WBTC",wrappedTokenAddress:"0xff204e2681a6fa0e2c3fade68a1b28fb90e4fc5f"}),[exports.ChainId.ZIRCUIT]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.X_LAYER]:Object.assign(Object.assign({},h),{symbol:"OKB",name:"OKB",wrappedTokenSymbol:"WOKB",wrappedTokenAddress:"0xe538905cf8410324e03a5a23c1c177a474d59b2b"}),[exports.ChainId.ZERO]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0xAc98B49576B1C892ba6BFae08fE1BB0d80Cf599c"}),[exports.ChainId.HASHKEY]:Object.assign(Object.assign({},h),{symbol:"HSK",name:"HSK",wrappedTokenSymbol:"WHSK",wrappedTokenAddress:"0xB210D2120d57b758EE163cFfb43e73728c471Cf1"}),[exports.ChainId.HEMI]:Object.assign(Object.assign({},h),{wrappedTokenAddress:"0x4200000000000000000000000000000000000006"}),[exports.ChainId.PHAROS_TESTNET]:Object.assign(Object.assign({},h),{symbol:"PHRS",name:"PHRS",wrappedTokenSymbol:"WPHRS",wrappedTokenAddress:"0x3019b247381c850ab53dc0ee53bce7a07ea9155f"}),[exports.ChainId.PHAROS_ATLANTIC_TESTNET]:Object.assign(Object.assign({},h),{symbol:"PHRS",name:"PHRS",wrappedTokenSymbol:"WPHRS",wrappedTokenAddress:"0x838800b758277cc111b2d48ab01e5e164f8e9471"}),[exports.ChainId.STABLE_TESTNET]:Object.assign(Object.assign({},h),{symbol:"gUSDT",name:"gUSDT",wrappedTokenSymbol:"wgUSDT",wrappedTokenAddress:"0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb"})},y={[exports.ChainId.MAINNET]:{MULTI_CALL:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",DODO_APPROVE:"0xCB859eA579b28e02B87A1FDE08d087ab9dbE5149",ERC20_HELPER:"0x4F99cba8aAEad26fc970dc6CC4ea435779Fa9016",ROUTE_V2_DATA_FETCH:"0x9337cA090c390667984869193e10c3D4f9a17da8",ROUTE_V1_DATA_FETCH:"0x6373ceB657C83C91088d328622573FB766064Ac4",CALLEE_HELPER:"0x45a7E2E9D780613E047f7e78a9d3902ff854B522",DODO_PROXY:"0xa356867fDCEa8e71AEaF87805808803806231FdC",DODO_DSP_PROXY:"0x4599ed18F34cFE06820E3684bF0aACB8D75c644d",DODO_DPP_PROXY:"0xfF7C8F518e6f1435957ed3d3E0692C94676dAE7a",DODO_V1_PAIR_PROXY:"0x8dD0Fea5FA2f7df535F87f312641Cc15d8B151BA",DODO_MINEV3_PROXY:"0x0d9685D4037580F68D9F77B08971f17E1000bBdc"},[exports.ChainId.GOERLI]:{MULTI_CALL:"0x696E25A5e2AEd1C55E6d6Cfa0532Bbda9020165d",DODO_APPROVE:"0xC9143e54021f4a6d33b9b89DBB9F458AaEdd56FB",ERC20_HELPER:"0x24549FC74B3076A962624A26370ed556c467F74C",ROUTE_V2_DATA_FETCH:"0x7E9c460d0A10bd0605B15F0d0388e307d34a62E6",ROUTE_V1_DATA_FETCH:"0xAC716E87b0853C0712674e8E3a8435a489F276b4",CALLEE_HELPER:"0x5B2fd46E6E3Ff1E479d651ec0b210882Aa9871dF",DODO_PROXY:"0xbce44767af0a53A108b3B7ba4F740E03D228Ec0A",DODO_DSP_PROXY:"0x8d9ccc26CbF3D49bbA76E9920C3E6ed29e06b5cc",DODO_DPP_PROXY:"0xc4A1a152812dE96b2B1861E433f42290CDD7f113",DODO_MINEV3_PROXY:"0x99d69565EdA438E3ebAA0627A407968ABD0f755b"},[exports.ChainId.SEPOLIA]:{MULTI_CALL:"0x0fcB5237A1997C4700Ffa2BB4522EA38d4F851Fc",DODO_APPROVE:"0x66c45FF040e86DC613F239123A5E21FFdC3A3fEC",ERC20_HELPER:"0x297da061D1dE0132D241Fafed224288B34d81005",ROUTE_V2_DATA_FETCH:"0x03e89fC55A5ad0531576E5a502c4CA52c8bf391B",ROUTE_V1_DATA_FETCH:"0x3dD629473A2eD7f3C6299FFD9F3e0C283d073f11",CALLEE_HELPER:"0xCD536b4DECFD2fa0443666B6becD145F8aDe2E48",DODO_PROXY:"0x6292e8f7647b3b9dDf5795b1Fb77D0187e30E0F9",DODO_DSP_PROXY:"0x987bFBE33c9cF18cAA665B792Db66339a9c16D32",DODO_DPP_PROXY:"0x5e1251f4873248a030e1c92FFEB133AF1513277f",DODO_MINEV3_PROXY:"0xBbD59b9316eE65526DbBdEc2A748Cc05A285d54C"},[exports.ChainId.BSC]:{MULTI_CALL:"0x1Ee38d535d541c55C9dae27B12edf090C608E6Fb",DODO_APPROVE:"0xa128Ba44B2738A558A1fdC06d6303d52D3Cef8c1",ERC20_HELPER:"0x5B9E4c3056227C316a3da3296031DdC7a8d6a867",ROUTE_V2_DATA_FETCH:"0x35b8F92AcFE368afb90d37555f6d075Fc569a6BA",ROUTE_V1_DATA_FETCH:"0x2BBD66fC4898242BDBD2583BBe1d76E8b8f71445",CALLEE_HELPER:"0x2673E5333620bb22BD1bFB3af9Fc7012008E3b4B",DODO_PROXY:"0x8F8Dd7DB1bDA5eD3da8C9daf3bfa471c12d58486",DODO_DSP_PROXY:"0x2442A8B5cdf1E659F3F949A7E454Caa554D4E65a",DODO_DPP_PROXY:"0x624FC8368fE11BE00D8B2F3fE0B9D0053BEc21b9",DODO_V1_PAIR_PROXY:"0x4Fc222194862081866FC636893DDeCB3E4341A10",DODO_MINEV3_PROXY:"0x8f3fB1f9148dC473453163bF31de1d830Eb5c590"},[exports.ChainId.POLYGON]:{MULTI_CALL:"0xc9eD9B18e447e600238fe50e944B9062B664DEa4",DODO_APPROVE:"0x6D310348d5c12009854DFCf72e0DF9027e8cb4f4",ERC20_HELPER:"0xfd24312Ec7871A6D1a31e454D5AbB16c6c25a9b3",ROUTE_V2_DATA_FETCH:"0x1870854754d1E76C58B0a56a153E12Ff868eE3C6",ROUTE_V1_DATA_FETCH:"0x18DFdE99F578A0735410797e949E8D3e2AFCB9D2",CALLEE_HELPER:"0x261F6cF4dF0e5c1432739cDAFD9299150FEd3dFc",DODO_PROXY:"0xa222e6a71D1A1Dd5F279805fbe38d5329C1d0e70",DODO_DSP_PROXY:"0xA3dfF6ae0F73f0970E31Da63B3736F7D3CEF683e",DODO_DPP_PROXY:"0xF6f1A1Ef2f5b56bb289993F75C12Eb41e4abC2f7",DODO_V1_PAIR_PROXY:"0x58E27C46c162F2a781d750BbE1119E1b2DfE82e0",DODO_MINEV3_PROXY:"0x47a65e74dd6b6B5E3243dBb01EDEd9D55ba234Ad"},[exports.ChainId.ARBITRUM_ONE]:{MULTI_CALL:"0xF718F2bd590E5621e53f7b89398e52f7Acced8ca",DODO_APPROVE:"0xA867241cDC8d3b0C07C85cC06F25a0cD3b5474d8",ERC20_HELPER:"0x7C062B9C584fA6eC2504270790D38240A2c5fE72",ROUTE_V2_DATA_FETCH:"0x0C420970b2e5efcBB6e833601772D6E707155eA6",ROUTE_V1_DATA_FETCH:"0x4EE6398898F7FC3e648b3f6bA458310ac29cD352",CALLEE_HELPER:"0xe3B40F8D8346d428EAB28d9Fd672b784d921cfBD",DODO_PROXY:"0x88CBf433471A0CD8240D2a12354362988b4593E5",DODO_DSP_PROXY:"0x36E5238B4479d1ba0bFE47550B0B8e4f4f500EAA",DODO_DPP_PROXY:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25",DODO_V1_PAIR_PROXY:"0x49186E32fEd50fd6B5604A2618c7B0b03Cd41414",DODO_MINEV3_PROXY:"0x7E820457780Ac99B9A042Cd5f875b274855A1eE9"},[exports.ChainId.ARBITRUM_SEPOLIA]:{MULTI_CALL:n.arbsepolia.MulticallWithValid,DODO_APPROVE:n.arbsepolia.DODOApprove,ERC20_HELPER:n.arbsepolia.ERC20Helper,ROUTE_V2_DATA_FETCH:n.arbsepolia.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.arbsepolia.DODOV1PmmHelper,CALLEE_HELPER:n.arbsepolia.DODOCalleeHelper,DODO_PROXY:n.arbsepolia.DODOV2Proxy02,DODO_DSP_PROXY:n.arbsepolia.DODODspProxy,DODO_DPP_PROXY:n.arbsepolia.DODODppProxy,DODO_MINEV3_PROXY:n.arbsepolia.DODOMineV3ProxyWithoutPlatform},[exports.ChainId.AURORA]:{MULTI_CALL:"0x989DcAA95801C527C5B73AA65d3962dF9aCe1b0C",DODO_APPROVE:"0x335aC99bb3E51BDbF22025f092Ebc1Cf2c5cC619",ERC20_HELPER:"0xE8C9A78725D0451FA19878D5f8A3dC0D55FECF25",ROUTE_V2_DATA_FETCH:"0x49eAB58AAE044F31d3b136212058a00b282b2845",ROUTE_V1_DATA_FETCH:"0xbAb9F4ff4A19a0e8EEBC56b06750253228ffAc6E",CALLEE_HELPER:"0x738Ebf387A0CE0eb46b0eF8Fa5DEa2EaE6B1Df51",DODO_PROXY:"0xd9deC7c3C06e62a4c1BeEB07CadF568f496b14c2",DODO_DSP_PROXY:"0x53233ABD9108761258a4B6B7822abFD6716B129B",DODO_DPP_PROXY:"0x357c5E9cfA8B834EDcef7C7aAbD8F9Db09119d11",DODO_MINEV3_PROXY:"0x4775b1858f1e417C9609D455C3Ad8751ec01daC4"},[exports.ChainId.OKCHAIN]:{MULTI_CALL:"0x5e84190a270333aCe5B9202a3F4ceBf11b81bB01",DODO_APPROVE:"0x7737fd30535c69545deeEa54AB8Dd590ccaEBD3c",ERC20_HELPER:"0x4775b1858f1e417C9609D455C3Ad8751ec01daC4",ROUTE_V2_DATA_FETCH:"0x10Dd6d8A29D489BEDE472CC1b22dc695c144c5c7",ROUTE_V1_DATA_FETCH:"0xDfaf9584F5d229A9DBE5978523317820A8897C5A",CALLEE_HELPER:"0x3CD6D7F5fF977bf8069548eA1F9441b061162b42",DODO_PROXY:"0x6B4Fa0bc61Eddc928e0Df9c7f01e407BfcD3e5EF",DODO_DSP_PROXY:"0x5515363c0412AdD5c72d3E302fE1bD7dCBCF93Fe",DODO_DPP_PROXY:"0xa222e6a71D1A1Dd5F279805fbe38d5329C1d0e70",DODO_MINEV3_PROXY:"0x958f79e2998DFe417208b9A07D799265B0298e58"},[exports.ChainId.OPTIMISM]:{MULTI_CALL:"0xb98Ac2fEFc8b73aeAE33D02BB00c26E12afCa9Df",DODO_APPROVE:"0xa492d6eABcdc3E204676f15B950bBdD448080364",ERC20_HELPER:"0x42E456ea0dd7538ea103fBb1d0388D14C97bB5b2",ROUTE_V2_DATA_FETCH:"0xC48A8e689a644de96F80786ACb69E6F76D057F25",ROUTE_V1_DATA_FETCH:"0x6281E0628eb2B37fE9943279EA39725D5f0E0dBe",CALLEE_HELPER:"0x0BD7426f008737FeeD575ED8e2aA1bd4Fc49112D",DODO_PROXY:"0xfD9D2827AD469B72B69329dAA325ba7AfbDb3C98",DODO_DSP_PROXY:"0x61721e89a498dADa7aD579482BDC2aE60a9C5D54",DODO_DPP_PROXY:"0x51A70a33655FE1c5fae3286890DcE3bE332E85dD",DODO_MINEV3_PROXY:"0xaEdbD08D92ECccaA9A93b1A8D66D1d356e470c78"},[exports.ChainId.AVALANCHE]:{MULTI_CALL:"0x97f0153E7F5749640aDF3Ff9CFC518b79D6Fe53b",DODO_APPROVE:"0xCFea63e3DE31De53D68780Dd65675F169439e470",ERC20_HELPER:"0xC3528D128CC227fd60793007b5e3FdF7c2945282",ROUTE_V2_DATA_FETCH:"0x686984f0aa37585504f51DEbA0Eb45B0f0CB7e4a",ROUTE_V1_DATA_FETCH:"0x790B4A80Fb1094589A3c0eFC8740aA9b0C1733fB",CALLEE_HELPER:"0x4EfF1D851366b8cc51d553a87e2d12dA8Da46F2a",DODO_PROXY:"0x2cD18557E14aF72DAA8090BcAA95b231ffC9ea26",DODO_DSP_PROXY:"0xeCEaDe494FD5F913Fd937C5CAc4577236395Dc32",DODO_DPP_PROXY:"0xe44F14BFDe673B7339734a28152cCd6b821753C9",DODO_MINEV3_PROXY:"0x5D6e6A0BFB2176AFCc4FB809822D8e009216b245"},[exports.ChainId.CONFLUX]:{MULTI_CALL:"0x696e25a5e2aed1c55e6d6cfa0532bbda9020165d",DODO_APPROVE:"0x5BaF16d57620Cb361F622232F3cb4090e35F3da2",ERC20_HELPER:"0x24549FC74B3076A962624A26370ed556c467F74C",ROUTE_V2_DATA_FETCH:"0x7E9c460d0A10bd0605B15F0d0388e307d34a62E6",ROUTE_V1_DATA_FETCH:"0xAC716E87b0853C0712674e8E3a8435a489F276b4",CALLEE_HELPER:"0x5B2fd46E6E3Ff1E479d651ec0b210882Aa9871dF",DODO_PROXY:"0xbce44767af0a53A108b3B7ba4F740E03D228Ec0A",DODO_DSP_PROXY:"0x8d9ccc26cbf3d49bba76e9920c3e6ed29e06b5cc",DODO_DPP_PROXY:"0x99d69565EdA438E3ebAA0627A407968ABD0f755b",DODO_MINEV3_PROXY:"0x14F7B8Fb0c1447DdE7bcf92a8d9BB058c8A5FE64"},[exports.ChainId.BASE]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0x89872650fA1A391f58B4E144222bB02e44db7e3B",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",ROUTE_V1_DATA_FETCH:"0x17644d3B366273faC75A07996E2F90A99A2946a7",CALLEE_HELPER:"0x44023441f2Bad375b6b5C6354B03c3E9AD01E269",DODO_PROXY:"0x4CAD0052524648A7Fa2cfE279997b00239295F33",DODO_DSP_PROXY:"0x49186E32fEd50fd6B5604A2618c7B0b03Cd41414",DODO_DPP_PROXY:"0x0B1467f71c082D8d410aF4376C685D9A6893cF36",DODO_MINEV3_PROXY:"0x2F66C5aAF006Bd9c51615D617589C16c0ed35fD3"},[exports.ChainId.LINEA]:{MULTI_CALL:"0xa7b9C3a116b20bEDDdBE4d90ff97157f67F0bD97",DODO_APPROVE:"0x6de4d882a84A98f4CCD5D33ea6b3C99A07BAbeB1",ERC20_HELPER:"0xbcd2FDC3B884Cf0dfD932f55Ec2Fe1fB7e8c62Da",ROUTE_V2_DATA_FETCH:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",ROUTE_V1_DATA_FETCH:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",CALLEE_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",DODO_PROXY:"0x4CAD0052524648A7Fa2cfE279997b00239295F33",DODO_DSP_PROXY:"0x6D3bd005A8a75d6522C9cFE7d309BB1Cf9650e03",DODO_DPP_PROXY:"0xCDA4a6cc5997002B87f28D46852F9F0aA0f3c897",DODO_MINEV3_PROXY:"0xA6d0066328Edbcf3220cf8F61e8527e589DD9719"},[exports.ChainId.SCROLL]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0x20E77aD760eC9E922Fd2dA8847ABFbB2471B92CD",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0xf5048d8F9163AF17Db522Abe9FaF37735C911320",ROUTE_V1_DATA_FETCH:"0x17644d3B366273faC75A07996E2F90A99A2946a7",CALLEE_HELPER:"0x44023441f2Bad375b6b5C6354B03c3E9AD01E269",DODO_PROXY:"0xe49781e6186214d88aACFd9eBc8cE40E3CDc066D",DODO_DSP_PROXY:"0x7Dd8c909E1F48a68FfEF03492761AF17B1496EDc",DODO_DPP_PROXY:"0x99d69565EdA438E3ebAA0627A407968ABD0f755b",DODO_MINEV3_PROXY:"0x14F7B8Fb0c1447DdE7bcf92a8d9BB058c8A5FE64"},[exports.ChainId.MANTA]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0x0226fCE8c969604C3A0AD19c37d1FAFac73e13c2",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0x4CAD0052524648A7Fa2cfE279997b00239295F33",ROUTE_V1_DATA_FETCH:"0x17644d3B366273faC75A07996E2F90A99A2946a7",CALLEE_HELPER:"0x44023441f2Bad375b6b5C6354B03c3E9AD01E269",DODO_PROXY:"0x2F86652dAEF5f1728c54191C955F065Ec3C188c7",DODO_DSP_PROXY:"0x0B1467f71c082D8d410aF4376C685D9A6893cF36",DODO_DPP_PROXY:"0xCDA4a6cc5997002B87f28D46852F9F0aA0f3c897",DODO_MINEV3_PROXY:"0xA6d0066328Edbcf3220cf8F61e8527e589DD9719"},[exports.ChainId.MANTLE]:{MULTI_CALL:"0xf5Ec1a19e1570bDf0A3AaA6585274f27027270b1",DODO_APPROVE:"0xa71415675F68f29259ddD63215E5518d2735bf0a",ERC20_HELPER:"0xB5c7BA1EAde74800cD6cf5F56b1c4562De373780",ROUTE_V2_DATA_FETCH:"0xCDA4a6cc5997002B87f28D46852F9F0aA0f3c897",ROUTE_V1_DATA_FETCH:"0xa1609A1fa7DC16c025feA194c02b2822441b8c10",CALLEE_HELPER:"0x4aAe1d041C01078725dB016BA4D4F72455CaF931",DODO_PROXY:"0xe7979E2F3e77196Bb2AB206eaa67Ea278A3E33A2",DODO_DSP_PROXY:"0x2933c0374089D7D98BA0C71c5E02E1A0e09deBEE",DODO_DPP_PROXY:"0xa5fc92Ca57a21C87AA0477b1c8fE8B9Bbf69d6C2",DODO_MINEV3_PROXY:"0x6D3bd005A8a75d6522C9cFE7d309BB1Cf9650e03"},[exports.ChainId.DODO_CHAIN_TESTNET]:{MULTI_CALL:"0xD0CF7dfbF09CAfaB8AEf00e0Ce19a4638004a364",DODO_APPROVE:"0x82B26eb18382f7532015248078AB1f6030413396",ERC20_HELPER:"0xE6cecb7460c9E52aA483cb1f0E87d78D7085686F",ROUTE_V2_DATA_FETCH:"0xA3148a1765897EC0A9bCA57f855C0B4718060b78",ROUTE_V1_DATA_FETCH:"0x2e50e3e18c19C7d80B81888a961A13aEE49b962E",CALLEE_HELPER:"0x2Ba2696c63fA8b67b395de6D12F849b17C3515F9",DODO_PROXY:"0x464518e33F7Bd5E61a92b98b4332782915442580",DODO_DSP_PROXY:"0x886F677605512351e554AA53BA77eA493058b460",DODO_DPP_PROXY:"0xB4f2E70DE64F94116A6e93ff4dF2D020E91e7a63",DODO_MINEV3_PROXY:"0x391f8D754E4BaC453d059BA7D2137C4905bF48d4"},[exports.ChainId.TAIKO]:{MULTI_CALL:"0x388371233439cF57bB8C9f2e4835954841cfCb15",DODO_APPROVE:"0x2629E610dB4AC081c108cCDf8b19ED39D702df43",ERC20_HELPER:"0x0c76F95a2952DC171B26b152f2b30cA8968e79D5",ROUTE_V2_DATA_FETCH:"0xC7EaBEc77Be175432DC20c0056Cce4c2C78B84F3",ROUTE_V1_DATA_FETCH:"0x187210CE04F5B3179F0e483FCf292c34BA7568Dd",CALLEE_HELPER:"0x94B66F3156353a12A6004d098A16F2fCfF9E8348",DODO_PROXY:"0xfcd8EF54A4dA96dE6B2DDF67C6265C7405a3A9c6",DODO_DSP_PROXY:"0x928e9762B5223d5A2ac1F5b13E8A61907aCaa9Bd",DODO_DPP_PROXY:"0x38886EDE1Fc92886F9a11C37a1f5e75474858eaa",DODO_MINEV3_PROXY:"0x1dFd36964e21a2eb633991f0B95b4241c20e1db3"},[exports.ChainId.PLUME]:{MULTI_CALL:n.plume.MulticallWithValid,DODO_APPROVE:n.plume.DODOApprove,ERC20_HELPER:n.plume.ERC20Helper,ROUTE_V2_DATA_FETCH:n.plume.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.plume.DODOV1PmmHelper,CALLEE_HELPER:n.plume.DODOCalleeHelper,DODO_PROXY:n.plume.DODOV2Proxy02,DODO_DSP_PROXY:n.plume.DODODspProxy,DODO_DPP_PROXY:n.plume.DODODppProxy,DODO_MINEV3_PROXY:n.plume.DODOMineV3Proxy},[exports.ChainId.PLUME_TESTNET]:{MULTI_CALL:n.plumeTestnet.MulticallWithValid,DODO_APPROVE:n.plumeTestnet.DODOApprove,ERC20_HELPER:n.plumeTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:n.plumeTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.plumeTestnet.DODOV1PmmHelper,CALLEE_HELPER:n.plumeTestnet.DODOCalleeHelper,DODO_PROXY:n.plumeTestnet.DODOV2Proxy02,DODO_DSP_PROXY:n.plumeTestnet.DODODspProxy,DODO_DPP_PROXY:n.plumeTestnet.DODODppProxy,DODO_MINEV3_PROXY:n.plumeTestnet.DODOMineV3Proxy},[exports.ChainId.NEOX]:{MULTI_CALL:n.neox.MulticallWithValid,DODO_APPROVE:n.neox.DODOApprove,ERC20_HELPER:n.neox.ERC20Helper,ROUTE_V2_DATA_FETCH:n.neox.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.neox.DODOV1PmmHelper,CALLEE_HELPER:n.neox.DODOCalleeHelper,DODO_PROXY:n.neox.DODOV2Proxy02,DODO_DSP_PROXY:n.neox.DODODspProxy,DODO_DPP_PROXY:n.neox.DODODppProxy,DODO_MINEV3_PROXY:n.neox.DODOMineV3Proxy},[exports.ChainId.MORPH]:{MULTI_CALL:n.morph.MulticallWithValid,DODO_APPROVE:n.morph.DODOApprove,ERC20_HELPER:n.morph.ERC20Helper,ROUTE_V2_DATA_FETCH:n.morph.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.morph.DODOV1PmmHelper,CALLEE_HELPER:n.morph.DODOCalleeHelper,DODO_PROXY:n.morph.DODOV2Proxy02,DODO_DSP_PROXY:n.morph.DODODspProxy,DODO_DPP_PROXY:n.morph.DODODppProxy,DODO_MINEV3_PROXY:n.morph.DODOMineV3Proxy},[exports.ChainId.RISE_TESTNET]:{MULTI_CALL:n.riseTestnet.MulticallWithValid,DODO_APPROVE:n.riseTestnet.DODOApprove,ERC20_HELPER:n.riseTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:n.riseTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.riseTestnet.DODOV1PmmHelper,CALLEE_HELPER:n.riseTestnet.DODOCalleeHelper,DODO_PROXY:n.riseTestnet.DODOV2Proxy02,DODO_DSP_PROXY:n.riseTestnet.DODODspProxy,DODO_DPP_PROXY:n.riseTestnet.DODODppProxy,DODO_MINEV3_PROXY:n.riseTestnet.DODOMineV3Proxy},[exports.ChainId.NEROCHAIN]:{MULTI_CALL:n.nero.MulticallWithValid,DODO_APPROVE:n.nero.DODOApprove,ERC20_HELPER:n.nero.ERC20Helper,ROUTE_V2_DATA_FETCH:n.nero.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.nero.DODOV1PmmHelper,CALLEE_HELPER:n.nero.DODOCalleeHelper,DODO_PROXY:n.nero.DODOV2Proxy02,DODO_DSP_PROXY:n.nero.DODODspProxy,DODO_DPP_PROXY:n.nero.DODODppProxy,DODO_MINEV3_PROXY:n.nero.DODOMineV3Proxy},[exports.ChainId.BITLAYER]:{MULTI_CALL:n.bitlayer.MulticallWithValid,DODO_APPROVE:n.bitlayer.DODOApprove,ERC20_HELPER:n.bitlayer.ERC20Helper,ROUTE_V2_DATA_FETCH:n.bitlayer.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.bitlayer.DODOV1PmmHelper,CALLEE_HELPER:n.bitlayer.DODOCalleeHelper,DODO_PROXY:n.bitlayer.DODOV2Proxy02,DODO_DSP_PROXY:n.bitlayer.DODODspProxyWithoutGSP,DODO_DPP_PROXY:n.bitlayer.DODODppProxy,DODO_MINEV3_PROXY:n.bitlayer.DODOMineV3Proxy},[exports.ChainId.ZIRCUIT]:{MULTI_CALL:n.zircuitMainnet.MulticallWithValid,DODO_APPROVE:n.zircuitMainnet.DODOApprove,ERC20_HELPER:n.zircuitMainnet.ERC20Helper,ROUTE_V2_DATA_FETCH:n.zircuitMainnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.zircuitMainnet.DODOV1PmmHelper,CALLEE_HELPER:n.zircuitMainnet.DODOCalleeHelper,DODO_PROXY:n.zircuitMainnet.DODOV2Proxy02,DODO_DSP_PROXY:n.zircuitMainnet.DODODspProxyWithoutGSP,DODO_DPP_PROXY:n.zircuitMainnet.DODODppProxy,DODO_MINEV3_PROXY:n.zircuitMainnet.DODOMineV3Proxy},[exports.ChainId.X_LAYER]:{MULTI_CALL:n.xLayer.MulticallWithValid,DODO_APPROVE:n.xLayer.DODOApprove,ERC20_HELPER:n.xLayer.ERC20Helper,ROUTE_V2_DATA_FETCH:n.xLayer.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.xLayer.DODOV1PmmHelper,CALLEE_HELPER:n.xLayer.DODOCalleeHelper,DODO_PROXY:n.xLayer.DODOV2Proxy02,DODO_DSP_PROXY:n.xLayer.DODODspProxy,DODO_DPP_PROXY:n.xLayer.DODODppProxy,DODO_MINEV3_PROXY:n.xLayer.DODOMineV3Proxy},[exports.ChainId.ZERO]:{MULTI_CALL:n.zeroMainnet.MulticallWithValid,DODO_APPROVE:n.zeroMainnet.DODOApprove,ERC20_HELPER:n.zeroMainnet.ERC20Helper,ROUTE_V2_DATA_FETCH:n.zeroMainnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.zeroMainnet.DODOV1PmmHelper,CALLEE_HELPER:n.zeroMainnet.DODOCalleeHelper,DODO_PROXY:n.zeroMainnet.DODOV2Proxy02,DODO_DSP_PROXY:n.zeroMainnet.DODODspProxy,DODO_DPP_PROXY:n.zeroMainnet.DODODppProxy,DODO_MINEV3_PROXY:n.zeroMainnet.DODOMineV3Proxy},[exports.ChainId.HASHKEY]:{MULTI_CALL:n.hashkey.MulticallWithValid,DODO_APPROVE:n.hashkey.DODOApprove,ERC20_HELPER:n.hashkey.ERC20Helper,ROUTE_V2_DATA_FETCH:n.hashkey.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.hashkey.DODOV1PmmHelper,CALLEE_HELPER:n.hashkey.DODOCalleeHelper,DODO_PROXY:n.hashkey.DODOV2Proxy02,DODO_DSP_PROXY:n.hashkey.DODODspProxyWithoutGSP,DODO_DPP_PROXY:n.hashkey.DODODppProxy,DODO_MINEV3_PROXY:n.hashkey.DODOMineV3Proxy},[exports.ChainId.HEMI]:{MULTI_CALL:n.hemi.MulticallWithValid,DODO_APPROVE:n.hemi.DODOApprove,ERC20_HELPER:n.hemi.ERC20Helper,ROUTE_V2_DATA_FETCH:n.hemi.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.hemi.DODOV1PmmHelper,CALLEE_HELPER:n.hemi.DODOCalleeHelper,DODO_PROXY:n.hemi.DODOV2Proxy02,DODO_DSP_PROXY:n.hemi.DODODspProxyWithoutGSP,DODO_DPP_PROXY:n.hemi.DODODppProxy,DODO_MINEV3_PROXY:n.hemi.DODOMineV3Proxy},[exports.ChainId.PHAROS_TESTNET]:{MULTI_CALL:n.pharosTestnet.MulticallWithValid,DODO_APPROVE:n.pharosTestnet.DODOApprove,ERC20_HELPER:n.pharosTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:n.pharosTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.pharosTestnet.DODOV1PmmHelper,CALLEE_HELPER:n.pharosTestnet.DODOCalleeHelper,DODO_PROXY:n.pharosTestnet.DODOV2Proxy02,DODO_DSP_PROXY:n.pharosTestnet.DODODspProxy,DODO_DPP_PROXY:n.pharosTestnet.DODODppProxy,DODO_MINEV3_PROXY:n.pharosTestnet.DODOMineV3Proxy},[exports.ChainId.PHAROS_ATLANTIC_TESTNET]:{MULTI_CALL:n.pharosAtlanticTestnet.MulticallWithValid,DODO_APPROVE:n.pharosAtlanticTestnet.DODOApprove,ERC20_HELPER:n.pharosAtlanticTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:n.pharosAtlanticTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.pharosAtlanticTestnet.DODOV1PmmHelper,CALLEE_HELPER:n.pharosAtlanticTestnet.DODOCalleeHelper,DODO_PROXY:n.pharosAtlanticTestnet.DODOV2Proxy02,DODO_DSP_PROXY:n.pharosAtlanticTestnet.DODODspProxy,DODO_DPP_PROXY:n.pharosAtlanticTestnet.DODODppProxy,DODO_MINEV3_PROXY:n.pharosAtlanticTestnet.DODOMineV3Proxy},[exports.ChainId.STABLE_TESTNET]:{MULTI_CALL:n.stableTestnet.MulticallWithValid,DODO_APPROVE:n.stableTestnet.DODOApprove,ERC20_HELPER:n.stableTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:n.stableTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:n.stableTestnet.DODOV1PmmHelper,CALLEE_HELPER:n.stableTestnet.DODOCalleeHelper,DODO_PROXY:n.stableTestnet.DODOV2Proxy02,DODO_DSP_PROXY:n.stableTestnet.DODODspProxy,DODO_DPP_PROXY:n.stableTestnet.DODODppProxy,DODO_MINEV3_PROXY:n.stableTestnet.DODOMineV3Proxy}},O={[exports.ChainId.MAINNET]:"ethereum",[exports.ChainId.GOERLI]:"goerli",[exports.ChainId.OPTIMISM]:"optimism",[exports.ChainId.CONFLUX]:"cfx",[exports.ChainId.BSC]:"bsc",[exports.ChainId.OKCHAIN]:"okex-chain",[exports.ChainId.POLYGON]:"polygon",[exports.ChainId.ARBITRUM_ONE]:"arbitrum",[exports.ChainId.ARBITRUM_SEPOLIA]:"arb-sep",[exports.ChainId.AURORA]:"aurora",[exports.ChainId.AVALANCHE]:"avalanche",[exports.ChainId.BASE]:"base",[exports.ChainId.LINEA]:"linea",[exports.ChainId.SCROLL]:"scr",[exports.ChainId.MANTA]:"manta",[exports.ChainId.MANTLE]:"mantle",[exports.ChainId.SEPOLIA]:"sepolia",[exports.ChainId.DODO_CHAIN_TESTNET]:"dodochain-testnet",[exports.ChainId.TAIKO]:"taiko",[exports.ChainId.PLUME]:"plume",[exports.ChainId.PLUME_TESTNET]:"plume-testnet",[exports.ChainId.NEOX]:"neox",[exports.ChainId.MORPH]:"morph",[exports.ChainId.RISE_TESTNET]:"rise-testnet",[exports.ChainId.NEROCHAIN]:"nero",[exports.ChainId.BITLAYER]:"btr",[exports.ChainId.ZIRCUIT]:"zircuit-mainnet",[exports.ChainId.X_LAYER]:"okb",[exports.ChainId.ZERO]:"zero-mainnet",[exports.ChainId.HASHKEY]:"hashkey",[exports.ChainId.HEMI]:"hemi",[exports.ChainId.PHAROS_TESTNET]:"pharos-testnet",[exports.ChainId.PHAROS_ATLANTIC_TESTNET]:"pharos-atlantic-testnet",[exports.ChainId.STABLE_TESTNET]:"stable-testnet"};function P(e,n,t,r){return new(t||(t=Promise))((function(i,o){function s(e){try{d(r.next(e))}catch(e){o(e)}}function a(e){try{d(r.throw(e))}catch(e){o(e)}}function d(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(s,a)}d((r=r.apply(e,n||[])).next())}))}function b(e,n,...t){return P(this,void 0,void 0,(function*(){const r=[];for(const e of t)for(const n of e)n.callData&&r.push(n.callData);const i=yield function(e,n,t){return P(this,void 0,void 0,(function*(){const r=yield B(e,n,t),i=new Map;for(const{req:e,resp:n}of r)i.set(e,n);return e.map((e=>({req:e,resp:i.get(e)})))}))}(r,e,n),o=new Map;for(const{req:e,resp:n}of i)o.set(e,null==n?void 0:n.result);return t.map((e=>e.filter((e=>!e.callData||o.get(e.callData))).map(((e,n)=>e.processor(e.callData?o.get(e.callData):null,n)))))}))}function B(e,n,t){return P(this,void 0,void 0,(function*(){let r=[e];e.length>800&&(r=i.chunk(e,800));let s=[];const a=r.map((e=>P(this,void 0,void 0,(function*(){const r=e.map((e=>[e.to,e.data])),i={data:n.interface.encodeFunctionData("aggregate",[r]),to:t};let a;try{a=yield n.provider.call(i)}catch(r){const i=e.length;if(i>20){const r=Math.floor(i/2),[o,a]=yield Promise.all([B(e.slice(0,r),n,t),B(e.slice(r,i),n,t)]);s=[...s,...o,...a]}else{const e="[sendCallReqs] error";console.error(e,r)}}if(void 0===a)throw new Error("Unexpected batch result");const[d,l]=o.defaultAbiCoder.decode(["uint256","bytes[]"],a);if(e.length!==l.length)throw new Error("Unexpected length mismatch");return l.map(((n,t)=>({resp:{result:n},req:e[t]})))}))));return(yield Promise.allSettled(a)).filter((e=>"fulfilled"===e.status)).forEach((({value:e})=>{s=[...s,...e]})),s}))}var E;function f(e){return P(this,void 0,void 0,(function*(){switch(e){case exports.ABIName.customERC20IsMintable:return[{inputs:[],name:"isMintable",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];case exports.ABIName.customMultiCallAggregate:return[{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"}];default:return(yield function(e){switch(e){case"./ABIs/AaveLendingPoolABI.ts":return Promise.resolve().then((function(){return require("./AaveLendingPoolABI-G3D5zkkz.cjs")}));case"./ABIs/AaveLendingPoolAddressesProvider.ts":return Promise.resolve().then((function(){return require("./AaveLendingPoolAddressesProvider-DrLP2k1o.cjs")}));case"./ABIs/AavePriceOracleABI.ts":return Promise.resolve().then((function(){return require("./AavePriceOracleABI-C4jkbxlQ.cjs")}));case"./ABIs/AaveProtocolDataProviderABI.ts":return Promise.resolve().then((function(){return require("./AaveProtocolDataProviderABI-ChLpWblx.cjs")}));case"./ABIs/BaseDrops.ts":return Promise.resolve().then((function(){return require("./BaseDrops-b4x2vqWE.cjs")}));case"./ABIs/D3MM_READ_ABI.ts":return Promise.resolve().then((function(){return require("./D3MM_READ_ABI-DPl8m5T6.cjs")}));case"./ABIs/D3Proxy.ts":return Promise.resolve().then((function(){return require("./D3Proxy-ChV5DN6z.cjs")}));case"./ABIs/DODO1155.ts":return Promise.resolve().then((function(){return require("./DODO1155-BNeD65Or.cjs")}));case"./ABIs/DODO721.ts":return Promise.resolve().then((function(){return require("./DODO721-CSXhoGSt.cjs")}));case"./ABIs/DODOCirculationHelperABI.ts":return Promise.resolve().then((function(){return require("./DODOCirculationHelperABI-BnZp9-jW.cjs")}));case"./ABIs/DODORouteProxy.ts":return Promise.resolve().then((function(){return require("./DODORouteProxy-BZ0Y3GCA.cjs")}));case"./ABIs/DODOV1PmmHelperABI.ts":return Promise.resolve().then((function(){return require("./DODOV1PmmHelperABI-DD2Zqxnx.cjs")}));case"./ABIs/DVM.ts":return Promise.resolve().then((function(){return require("./DVM-BpNPFgPh.cjs")}));case"./ABIs/DropsERC721.ts":return Promise.resolve().then((function(){return require("./DropsERC721-BhKaFHvL.cjs")}));case"./ABIs/FilterAdmin.ts":return Promise.resolve().then((function(){return require("./FilterAdmin-cj8kYpNK.cjs")}));case"./ABIs/FilterERC1155V1.ts":return Promise.resolve().then((function(){return require("./FilterERC1155V1-CYRg0d1t.cjs")}));case"./ABIs/FilterERC721V1.ts":return Promise.resolve().then((function(){return require("./FilterERC721V1-Bi0L9sSX.cjs")}));case"./ABIs/Fragment.ts":return Promise.resolve().then((function(){return require("./Fragment-B-F8I7LL.cjs")}));case"./ABIs/FundingABI.ts":return Promise.resolve().then((function(){return require("./FundingABI-CVCr1rVZ.cjs")}));case"./ABIs/IdodoV2.ts":return Promise.resolve().then((function(){return require("./IdodoV2-RfwR_GpI.cjs")}));case"./ABIs/LockedTokenVaultABI.ts":return Promise.resolve().then((function(){return require("./LockedTokenVaultABI-DRbLRj9L.cjs")}));case"./ABIs/MarginTrading.ts":return Promise.resolve().then((function(){return require("./MarginTrading-DTxWKyBB.cjs")}));case"./ABIs/MarginTradingFactory.ts":return Promise.resolve().then((function(){return require("./MarginTradingFactory-CXV_vwa8.cjs")}));case"./ABIs/MerkleDistributorABI.ts":return Promise.resolve().then((function(){return require("./MerkleDistributorABI-C8Qfs-nh.cjs")}));case"./ABIs/NonfungiblePositionManager.ts":return Promise.resolve().then((function(){return require("./NonfungiblePositionManager-C-qYqe32.cjs")}));case"./ABIs/PancakePairABI.ts":return Promise.resolve().then((function(){return require("./PancakePairABI-DYhV587D.cjs")}));case"./ABIs/UniswapV3Pool.ts":return Promise.resolve().then((function(){return require("./UniswapV3Pool-CbMV0NzU.cjs")}));case"./ABIs/baseFilterV1.ts":return Promise.resolve().then((function(){return require("./baseFilterV1-BuIlo0KL.cjs")}));case"./ABIs/classicalPoolABI.ts":return Promise.resolve().then((function(){return require("./classicalPoolABI-BECDfgEG.cjs")}));case"./ABIs/dodoABI.ts":return Promise.resolve().then((function(){return require("./dodoABI-gkjw8zb6.cjs")}));case"./ABIs/dodoBuyoutModel.ts":return Promise.resolve().then((function(){return require("./dodoBuyoutModel-iVgU8FQj.cjs")}));case"./ABIs/dodoCP.ts":return Promise.resolve().then((function(){return require("./dodoCP-CLHk9HB9.cjs")}));case"./ABIs/dodoCPABI.ts":return Promise.resolve().then((function(){return require("./dodoCPABI-DtzutjJ_.cjs")}));case"./ABIs/dodoCPABIV2.ts":return Promise.resolve().then((function(){return require("./dodoCPABIV2-fyFD9xst.cjs")}));case"./ABIs/dodoCPFactory.ts":return Promise.resolve().then((function(){return require("./dodoCPFactory-CBF19zgJ.cjs")}));case"./ABIs/dodoCpProxy.ts":return Promise.resolve().then((function(){return require("./dodoCpProxy-C0DPYWye.cjs")}));case"./ABIs/dodoCpProxyV2.ts":return Promise.resolve().then((function(){return require("./dodoCpProxyV2-DpTvj7-M.cjs")}));case"./ABIs/dodoCpProxyV202.ts":return Promise.resolve().then((function(){return require("./dodoCpProxyV202-BLhZ86Hq.cjs")}));case"./ABIs/dodoCustomMintableERC20.ts":return Promise.resolve().then((function(){return require("./dodoCustomMintableERC20-_rvvHxmy.cjs")}));case"./ABIs/dodoDPPAdmin.ts":return Promise.resolve().then((function(){return require("./dodoDPPAdmin-Dn7blhFO.cjs")}));case"./ABIs/dodoDPPFactory.ts":return Promise.resolve().then((function(){return require("./dodoDPPFactory-DZUKGMVx.cjs")}));case"./ABIs/dodoDSP.ts":return Promise.resolve().then((function(){return require("./dodoDSP-DiQP3j-f.cjs")}));case"./ABIs/dodoDSPFactory.ts":return Promise.resolve().then((function(){return require("./dodoDSPFactory-Bd74S17p.cjs")}));case"./ABIs/dodoDVM.ts":return Promise.resolve().then((function(){return require("./dodoDVM-cigh0zp3.cjs")}));case"./ABIs/dodoDVMFactory.ts":return Promise.resolve().then((function(){return require("./dodoDVMFactory-Jw7GN957.cjs")}));case"./ABIs/dodoDppProxy.ts":return Promise.resolve().then((function(){return require("./dodoDppProxy-evCBC-32.cjs")}));case"./ABIs/dodoDropsProxy.ts":return Promise.resolve().then((function(){return require("./dodoDropsProxy-aB8sftUR.cjs")}));case"./ABIs/dodoDspProxy.ts":return Promise.resolve().then((function(){return require("./dodoDspProxy-Bp3cG2Me.cjs")}));case"./ABIs/dodoERC20V3Factory.ts":return Promise.resolve().then((function(){return require("./dodoERC20V3Factory-Dp6VtQdx.cjs")}));case"./ABIs/dodoEthProxyABI.ts":return Promise.resolve().then((function(){return require("./dodoEthProxyABI-COvGooIx.cjs")}));case"./ABIs/dodoFeeImpl.ts":return Promise.resolve().then((function(){return require("./dodoFeeImpl-n8uxW-_A.cjs")}));case"./ABIs/dodoFragment.ts":return Promise.resolve().then((function(){return require("./dodoFragment-QQKv5zUw.cjs")}));case"./ABIs/dodoMineV3Proxy.ts":return Promise.resolve().then((function(){return require("./dodoMineV3Proxy-DVScIYYs.cjs")}));case"./ABIs/dodoMineV3ProxyOld.ts":return Promise.resolve().then((function(){return require("./dodoMineV3ProxyOld-C_F6KVsX.cjs")}));case"./ABIs/dodoMiningABI.ts":return Promise.resolve().then((function(){return require("./dodoMiningABI-Bz2I9IA2.cjs")}));case"./ABIs/dodoMiningReaderABI.ts":return Promise.resolve().then((function(){return require("./dodoMiningReaderABI-B2wU_50T.cjs")}));case"./ABIs/dodoNftERC1155.ts":return Promise.resolve().then((function(){return require("./dodoNftERC1155-DLIuD5w1.cjs")}));case"./ABIs/dodoNftERC721.ts":return Promise.resolve().then((function(){return require("./dodoNftERC721-CM9UVOIz.cjs")}));case"./ABIs/dodoNftPoolProxy.ts":return Promise.resolve().then((function(){return require("./dodoNftPoolProxy-D1h5SkLL.cjs")}));case"./ABIs/dodoNftProxy.ts":return Promise.resolve().then((function(){return require("./dodoNftProxy-DM2zeXHX.cjs")}));case"./ABIs/dodoNftVault.ts":return Promise.resolve().then((function(){return require("./dodoNftVault-4I3wB3W5.cjs")}));case"./ABIs/dodoOracleABI.ts":return Promise.resolve().then((function(){return require("./dodoOracleABI-CZXzRpKf.cjs")}));case"./ABIs/dodoPair.ts":return Promise.resolve().then((function(){return require("./dodoPair-DZAKf_5j.cjs")}));case"./ABIs/dodoPreminingABI.ts":return Promise.resolve().then((function(){return require("./dodoPreminingABI-BO5Cazcq.cjs")}));case"./ABIs/dodoProxyV2.ts":return Promise.resolve().then((function(){return require("./dodoProxyV2-C4O1SzS4.cjs")}));case"./ABIs/dodoStarterProxy.ts":return Promise.resolve().then((function(){return require("./dodoStarterProxy-DgcH9iEq.cjs")}));case"./ABIs/dodoTokenABI.ts":return Promise.resolve().then((function(){return require("./dodoTokenABI-6Mpqu75U.cjs")}));case"./ABIs/dodoUpCPFactoryABI.ts":return Promise.resolve().then((function(){return require("./dodoUpCPFactoryABI-XGsn8ED4.cjs")}));case"./ABIs/dodoUpCpFactory.ts":return Promise.resolve().then((function(){return require("./dodoUpCpFactory-XGsn8ED4.cjs")}));case"./ABIs/dodoV1PairProxy.ts":return Promise.resolve().then((function(){return require("./dodoV1PairProxy-DpEjE8Ne.cjs")}));case"./ABIs/dodoZooABI.ts":return Promise.resolve().then((function(){return require("./dodoZooABI-D44Zl74h.cjs")}));case"./ABIs/dppPoolABI.ts":return Promise.resolve().then((function(){return require("./dppPoolABI-BdDjNXGV.cjs")}));case"./ABIs/erc20ABI.ts":return Promise.resolve().then((function(){return require("./erc20ABI-G8oWOkZ8.cjs")}));case"./ABIs/erc20Helper.ts":return Promise.resolve().then((function(){return require("./erc20Helper-DU3PGwta.cjs")}));case"./ABIs/feeABI.ts":return Promise.resolve().then((function(){return require("./feeABI-n8uxW-_A.cjs")}));case"./ABIs/multicallABI.ts":return Promise.resolve().then((function(){return require("./multicallABI-Dhweb42q.cjs")}));case"./ABIs/nftContract.ts":return Promise.resolve().then((function(){return require("./nftContract-hvFiWn3Y.cjs")}));case"./ABIs/nftFilterAdmin.ts":return Promise.resolve().then((function(){return require("./nftFilterAdmin-Bq1uLy_8.cjs")}));case"./ABIs/oneBitSettlement.ts":return Promise.resolve().then((function(){return require("./oneBitSettlement-DiJ0ov7p.cjs")}));case"./ABIs/setApprovalForAll.ts":return Promise.resolve().then((function(){return require("./setApprovalForAll-C5PVWdKB.cjs")}));case"./ABIs/spaceIdABI.ts":return Promise.resolve().then((function(){return require("./spaceIdABI-B5tTrrz8.cjs")}));case"./ABIs/spaceIdResolverABI.ts":return Promise.resolve().then((function(){return require("./spaceIdResolverABI-CrfOXUgo.cjs")}));case"./ABIs/v3MiningABI.ts":return Promise.resolve().then((function(){return require("./v3MiningABI-C-S-QkHw.cjs")}));case"./ABIs/vdodo.ts":return Promise.resolve().then((function(){return require("./vdodo-BV3kGDOM.cjs")}));case"./ABIs/vdodoTokenABI.ts":return Promise.resolve().then((function(){return require("./vdodoTokenABI-BuOHA0B9.cjs")}));case"./ABIs/weth.ts":return Promise.resolve().then((function(){return require("./weth-CGG0Z6re.cjs")}));default:return Promise.reject(new Error("Unknown variable dynamic import: "+e))}}(`./ABIs/${e}.ts`)).default}}))}exports.ABIName=void 0,(E=exports.ABIName||(exports.ABIName={})).customERC20IsMintable="customERC20IsMintable",E.customMultiCallAggregate="customMultiCallAggregate",E.erc20Helper="erc20Helper",E.erc20ABI="erc20ABI",E.erc20Mock="erc20Mock",E.dodoERC20V3Factory="dodoERC20V3Factory",E.dodoCustomMintableERC20="dodoCustomMintableERC20",E.multicallABI="multicallABI",E.dppPoolABI="dppPoolABI",E.dvmPoolABI="DVM",E.classicalPoolABI="classicalPoolABI",E.v3MiningABI="v3MiningABI",E.dodoMiningABI="dodoMiningABI",E.dodoCP="dodoCP",E.dodoCPABI="dodoCPABI",E.dodoCPABIV2="dodoCPABIV2",E.dodoCpProxyV2="dodoCpProxyV2",E.dodoCpProxyV202="dodoCpProxyV202",E.dodoFeeImpl="dodoFeeImpl",E.feeABI="feeABI",E.vdodo="vdodo",E.vdodoTokenABI="vdodoTokenABI",E.dodoPreminingABI="dodoPreminingABI",E.MerkleDistributorABI="MerkleDistributorABI",E.DODOCirculationHelperABI="DODOCirculationHelperABI",E.FundingABI="FundingABI",E.dodoStarterProxy="dodoStarterProxy",E.MarginTrading="MarginTrading",E.MarginTradingFactory="MarginTradingFactory",E.DODORouteProxy="DODORouteProxy",E.dodoProxyV2="dodoProxyV2",E.AaveLendingPoolABI="AaveLendingPoolABI",E.AaveProtocolDataProviderABI="AaveProtocolDataProviderABI",E.AaveLendingPoolAddressesProvider="AaveLendingPoolAddressesProvider",E.AavePriceOracleABI="AavePriceOracleABI",E.spaceIdABI="spaceIdABI",E.spaceIdResolverABI="spaceIdResolverABI",E.dodoABI="dodoABI",E.PancakePairABI="PancakePairABI",E.NonfungiblePositionManager="NonfungiblePositionManager",E.UniswapV3Pool="UniswapV3Pool",E.dodoDspProxy="dodoDspProxy",E.dodoDppProxy="dodoDppProxy",E.IdodoV2="IdodoV2",E.dodoDPPAdmin="dodoDPPAdmin",E.dodoDSP="dodoDSP",E.dodoDVM="dodoDVM",E.dodoDSPFactory="dodoDSPFactory",E.dodoDVMFactory="dodoDVMFactory",E.D3Proxy="D3Proxy",E.dodoNftERC721="dodoNftERC721",E.dodoNftERC1155="dodoNftERC1155",E.dodoDropsProxy="dodoDropsProxy",E.dodoNftVault="dodoNftVault",E.dodoNftProxy="dodoNftProxy",E.dodoFragment="dodoFragment",E.dodoBuyoutModel="dodoBuyoutModel",E.dodoNftPoolProxy="dodoNftPoolProxy",E.nftFilterAdmin="nftFilterAdmin",E.baseFilterV1="baseFilterV1",E.FilterERC721V1="FilterERC721V1",E.FilterERC1155V1="FilterERC1155V1",E.dodoV1PairProxy="dodoV1PairProxy",E.dodoPair="dodoPair",E.dodoMineV3Proxy="dodoMineV3Proxy",E.dodoMineV3ProxyOld="dodoMineV3ProxyOld",E.LockedTokenVaultABI="LockedTokenVaultABI",E.DODOV1PmmHelperABI="DODOV1PmmHelperABI",E.D3MM_READ_ABI="D3MM_READ_ABI";const T=(e,n,t)=>P(void 0,void 0,void 0,(function*(){const r=yield f(e);return new o.Interface(r).encodeFunctionData(n,t)})),g=(e,n,t)=>new o.Interface(e).encodeFunctionData(n,t);class C extends t.StaticJsonRpcProvider{constructor(){super(...arguments),this._pendingBatchAggregator=null,this._pendingBatch=null,this._provider=null}setProvider(e){this._provider=e}send(e,n){const t=Object.create(null,{send:{get:()=>super.send}});return P(this,void 0,void 0,(function*(){if("eth_call"!==e||2!==n.length||"object"!=typeof n[0]||!n[0].to||!n[0].data||"string"!=typeof n[1])return this._provider?this._provider.send(e,n):t.send.call(this,e,n);const r={request:{method:e,params:n},resolve:null,reject:null},i=new Promise(((e,n)=>{r.resolve=e,r.reject=n}));this._pendingBatch||(this._pendingBatch=[]),this._pendingBatch.push(r);const d=()=>P(this,void 0,void 0,(function*(){const n=this._pendingBatch||[];let t;this._pendingBatch=null,this._pendingBatchAggregator=null;const i=yield this.detectNetwork();t="object"!=typeof i?parseInt(i,i.startsWith("0x")?16:10):i.chainId;const d=yield function(e,n){return P(this,void 0,void 0,(function*(){let t="";const r=n.map((e=>{const[n]=e;return t=e[1],[n.to,n.data]})),i=yield T(exports.ABIName.customMultiCallAggregate,"aggregate",[r]);return[{to:y[e].MULTI_CALL,data:i},t]}))}(t,n.map((e=>e.request.params))),l={method:e,params:d,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"requestBatch",request:s.deepCopy(n.map((e=>e.request))),provider:this,id:l.id});const c=e=>{if(e.error||!e.result)n.forEach((n=>{try{const t=new Error(e.error.message);t.code=e.error.code,t.data=e.error.data,n.reject(t)}catch(t){n.reject(e.error)}})),this.emit("debug",{action:"responseBatch.error",request:l,response:e,provider:this,id:l.id});else{const[t,i]=o.defaultAbiCoder.decode(["uint256","bytes[]"],e.result),s=t.toNumber();if(this._setFastBlockNumber(s),this.emit("blockNumberChanged",s),n.length!==i.length)return void r.reject("Unexpected length mismatch");n.forEach(((e,n)=>{const t=i[n];e.resolve(t)})),this.emit("debug",{action:"responseBatch",request:l,response:e,provider:this,decodeList:i,id:l.id})}},u=e=>{this.emit("debug",{action:"responseBatch.error",error:e,request:l,provider:this,id:l.id}),n.forEach((n=>{n.reject(e)}))};if(!this._provider)return a.fetchJson(this.connection,JSON.stringify(l)).then(c,u);try{const e=yield this._provider.send(l.method,l.params);c({id:l.id,jsonrpc:l.jsonrpc,result:e})}catch(e){u(e)}}));return this._pendingBatchAggregator?this._pendingBatch.length>800&&(clearTimeout(this._pendingBatchAggregator),d()):this._pendingBatchAggregator=setTimeout(d,10),i}))}}const R="contract-query";class _{constructor(e){this.subContractRequestsList=[],this.debugQuery=null==e?void 0:e.debugQuery,this.debugProvider=null==e?void 0:e.debugProvider,this.rpc=null==e?void 0:e.rpc,this.getConfigProvider=null==e?void 0:e.getProvider,this.staticJsonRpcProviderMap=new Map,this.batchStaticJsonRpcProviderMap=new Map,this.batchContractMap=new Map}setRpc(e){this.rpc=e,this.subContractRequestsList.forEach((n=>{n.setRpc(e)}))}setGetConfigProvider(e){this.getConfigProvider=e,this.subContractRequestsList.forEach((n=>{n.setGetConfigProvider(e)})),this.batchContractMap=new Map,this.staticJsonRpcProviderMap=new Map,this.batchStaticJsonRpcProviderMap=new Map}getProvider(e){var n,r;const i=null===(n=this.getConfigProvider)||void 0===n?void 0:n.call(this,e);if(i)return i;const o=null===(r=this.rpc)||void 0===r?void 0:r[e];if(!o)throw new Error(`ChainId ${e} not found`);if(this.staticJsonRpcProviderMap.has(e))return this.staticJsonRpcProviderMap.get(e);const s=new t.StaticJsonRpcProvider(o,e);return this.debugProvider&&s.on("debug",console.log),this.staticJsonRpcProviderMap.set(e,s),s}getBatchProvider(e){var n,t;const r=null===(n=this.getConfigProvider)||void 0===n?void 0:n.call(this,e),i=null===(t=this.rpc)||void 0===t?void 0:t[e];if(!i&&!r)throw new Error(`ChainId ${e} not found`);if(this.batchStaticJsonRpcProviderMap.has(e))return this.batchStaticJsonRpcProviderMap.get(e);const o=new C(i,e);return o.setProvider(r||null),this.debugProvider&&o.on("debug",console.log),this.batchStaticJsonRpcProviderMap.set(e,o),o}createContractRequests(){const e=new _({rpc:this.rpc,getProvider:this.getConfigProvider,debugQuery:this.debugQuery,debugProvider:this.debugProvider});return this.subContractRequestsList.push(e),e}getContract(e,n,t){const i=this.getProvider(e);return new r.Contract(n,t,i)}getBatchContract(e,n,t){var i;const o=this.batchContractMap.get(e);if(o){if(o.has(n))return o.get(n)}else this.batchContractMap.set(e,new Map);const s=this.getBatchProvider(e),a=new r.Contract(n,t,s);return null===(i=this.batchContractMap.get(e))||void 0===i||i.set(n,a),a}getBatchContractByAbiName(e,n,t){return P(this,void 0,void 0,(function*(){const r=yield this.getContractInterface(t);return this.getBatchContract(e,n,r)}))}getContractInterface(e){return f(e)}callMultiQuery(e,n){return P(this,void 0,void 0,(function*(){const t=y[e],{MULTI_CALL:r}=t,i=yield this.getContractInterface(exports.ABIName.customMultiCallAggregate),s=this.getContract(e,r,i),a=[],d=new Map,l=new Map,c={};for(let t=0;t<n.length;t++){const{contractAddress:r,method:i,params:s,abiName:u,callback:p}=n[t];let m=l.get(u);if(!m){const n=yield this.getContractInterface(u);d.set(u,n),m=this.getContract(e,r,n),l.set(u,m)}const A={to:r,data:m.interface.encodeFunctionData(i,s)};a.push({callData:A,processor:e=>{const n=new o.Interface(d.get(u)).decodeFunctionResult(i,e);p&&p(n);const r=p?p(n):void 0;return c[t]=r||n,c[t]}})}const[u]=yield b(s,r,a);return u}))}callQuery(e,n){return P(this,void 0,void 0,(function*(){const t=yield this.getContractInterface(n.abiName),r=this.getContract(e,n.contractAddress,t),i=yield r.callStatic[n.method](...n.params),o=n.callback?n.callback(i):void 0;return o||i}))}batchCallQuery(e,n){return P(this,void 0,void 0,(function*(){this.debugQuery&&console.log({action:"batchCallQuery.request",chainId:e,query:n});const t=yield this.getBatchProvider(e),r=yield T(n.abiName,n.method,n.params),i=yield t.call({to:n.contractAddress,data:r}),s=yield((e,n,t)=>P(void 0,void 0,void 0,(function*(){const r=yield f(e);return new o.Interface(r).decodeFunctionResult(n,t)})))(n.abiName,n.method,i),a=n.callback?n.callback(s):void 0;return this.debugQuery&&console.log({action:"batchCallQuery.response",chainId:e,query:n,response:s}),a||s}))}getBlockNumber(e){return P(this,void 0,void 0,(function*(){const n=this.getBatchProvider(e),t=yield n.getBlockNumber();return n.emit("blockNumberChanged",t),t}))}getETHBalance(e,n){return P(this,void 0,void 0,(function*(){const t=this.getProvider(e),r=yield t.getBalance(n);return new d(r.toString()).div(1e18)}))}}const I={url:"https://api.dodoex.io/frontend-graphql"};const v={host:"https://api.dodoex.io",fetch:c};class L{constructor(e){const n=Object.assign(Object.assign({},v),e);this.host=n.host,this._getFetch=()=>n.fetch}getUrl(e,n){let t=`${this.host}/${e}`;return n&&(t=`${t}?${u.stringify(n)}`),t}responseProcessor(e){return P(this,void 0,void 0,(function*(){if(e.ok){const n=yield e.json();return{response:e,result:n}}throw new Error(`Response ${JSON.stringify(e)} failed`)}))}getJson(e,n,t){return P(this,void 0,void 0,(function*(){const r=this.getUrl(e,n),o=this._getFetch(),s=yield o(r,i.merge({method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}},t));return this.responseProcessor(s)}))}postJson(e,n,t,r){return P(this,void 0,void 0,(function*(){const o=this.getUrl(e,t),s=this._getFetch(),a=yield s(o,i.merge({method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:n?JSON.stringify(n):void 0},r));return this.responseProcessor(a)}))}}const w={getIsV3Mining:e=>["DSP","GSP","LPTOKEN","V3CLASSICAL"].includes(e),singleSideLp:e=>["CLASSICAL","V3CLASSICAL","DPP"].includes(e),canOperateLiquidity(e,n,t,r){const i=null!=n?n:t;return!!(e&&i&&r)&&("DPP"!==e||i.toLocaleLowerCase()===r.toLocaleLowerCase())}};class x extends String{constructor(e,n){super(e),this.value=e,this.__meta__=n}toString(){return this.value}}const q={"\n query FetchErc20SwapCrossChainList($where: Erc20listV2Filter) {\n erc20_swapCrossChainList(where: $where) {\n name\n address\n symbol\n decimals\n slippage\n chainId\n logoImg\n tokenlists {\n name\n status\n }\n domains {\n name\n }\n funcLabels {\n key\n }\n attributeLabels {\n key\n }\n }\n }\n ":new x("\n query FetchErc20SwapCrossChainList($where: Erc20listV2Filter) {\n erc20_swapCrossChainList(where: $where) {\n name\n address\n symbol\n decimals\n slippage\n chainId\n logoImg\n tokenlists {\n name\n status\n }\n domains {\n name\n }\n funcLabels {\n key\n }\n attributeLabels {\n key\n }\n }\n}\n "),"\n query FetchErc20ForecastSlippage($where: Erc20_extenderc20ExtendV2Filter) {\n erc20_extend_erc20ExtendV2(where: $where) {\n forecastSlippageList {\n forecastSlippage\n forecastValue\n confidenceRatio\n confidenceIntervalUpper\n confidenceIntervalLower\n }\n }\n }\n ":new x("\n query FetchErc20ForecastSlippage($where: Erc20_extenderc20ExtendV2Filter) {\n erc20_extend_erc20ExtendV2(where: $where) {\n forecastSlippageList {\n forecastSlippage\n forecastValue\n confidenceRatio\n confidenceIntervalUpper\n confidenceIntervalLower\n }\n }\n}\n "),"\n query Ticks($where: Tick_filter, $skip: Int, $first: Int) {\n ticks(where: $where, skip: $skip, first: $first) {\n id\n poolAddress\n tickIdx\n liquidityNet\n price0\n price1\n }\n }\n":new x("\n query Ticks($where: Tick_filter, $skip: Int, $first: Int) {\n ticks(where: $where, skip: $skip, first: $first) {\n id\n poolAddress\n tickIdx\n liquidityNet\n price0\n price1\n }\n}\n "),"\n query FetchMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n baseApy\n baseLpToken {\n decimals\n address: id\n symbol\n }\n baseToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n address: id\n symbol\n }\n quoteToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ":new x("\n query FetchMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n baseApy\n baseLpToken {\n decimals\n address: id\n symbol\n }\n baseToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n address: id\n symbol\n }\n quoteToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n startTime\n endTime\n }\n totalCount\n chains\n }\n}\n "),"\n query MiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ":new x("\n query MiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n startTime\n endTime\n }\n totalCount\n chains\n }\n}\n "),"\n query MyCreatedMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n participantsNum\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ":new x("\n query MyCreatedMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n participantsNum\n startTime\n endTime\n }\n totalCount\n chains\n }\n}\n "),"\n query FetchPoolList(\n $first: Int\n $where: Pair_filter\n $orderBy: Pair_orderBy\n ) {\n pairs(\n first: $first\n where: $where\n orderBy: $orderBy\n orderDirection: desc\n ) {\n id\n type\n creator\n owner\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n lastTradePrice\n feeBase\n feeQuote\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n }\n }\n ":new x("\n query FetchPoolList($first: Int, $where: Pair_filter, $orderBy: Pair_orderBy) {\n pairs(first: $first, where: $where, orderBy: $orderBy, orderDirection: desc) {\n id\n type\n creator\n owner\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n lastTradePrice\n feeBase\n feeQuote\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n }\n}\n "),"\n query FetchLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n currentPage\n pageSize\n totalCount\n lqList {\n id\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n ":new x("\n query FetchLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n currentPage\n pageSize\n totalCount\n lqList {\n id\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n}\n "),"\n query FetchMyLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n lqList {\n id\n liquidityPositions {\n id\n liquidityTokenBalance\n liquidityTokenInMining\n poolShare\n liquidityUSD\n tokenId\n outOfRange\n priceRange {\n token0LowerPrice\n token0UpperPrice\n token1LowerPrice\n token1UpperPrice\n }\n tickLower {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n tickUpper {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n }\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n ":new x("\n query FetchMyLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n lqList {\n id\n liquidityPositions {\n id\n liquidityTokenBalance\n liquidityTokenInMining\n poolShare\n liquidityUSD\n tokenId\n outOfRange\n priceRange {\n token0LowerPrice\n token0UpperPrice\n token1LowerPrice\n token1UpperPrice\n }\n tickLower {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n tickUpper {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n }\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n}\n "),"\n query FetchDashboardPairList($where: Dashboardtype_list_filter) {\n dashboard_pairs_list(where: $where) {\n list {\n chainId\n pairAddress\n poolType\n baseReserve\n quoteReserve\n totalFee\n baseAddress\n quoteAddress\n baseSymbol\n quoteSymbol\n tvl\n baseTvl\n quoteTvl\n baseTvlRate\n quoteTvlRate\n }\n }\n }\n ":new x("\n query FetchDashboardPairList($where: Dashboardtype_list_filter) {\n dashboard_pairs_list(where: $where) {\n list {\n chainId\n pairAddress\n poolType\n baseReserve\n quoteReserve\n totalFee\n baseAddress\n quoteAddress\n baseSymbol\n quoteSymbol\n tvl\n baseTvl\n quoteTvl\n baseTvlRate\n quoteTvlRate\n }\n }\n}\n "),"\n query FetchPool(\n $id: ID!\n $where: Pair_filter\n $liquidityWhere: Liquiditylist_filter\n ) {\n pair(id: $id, where: $where) {\n id\n type\n creator\n owner\n traderCount\n volumeBaseToken\n volumeQuoteToken\n volumeUSD\n feeBase\n feeQuote\n mtFeeRate\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n baseLpToken {\n id\n symbol\n name\n decimals\n }\n quoteLpToken {\n id\n symbol\n name\n decimals\n }\n }\n liquidity_list(where: $liquidityWhere) {\n lqList {\n pair {\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n }\n }\n }\n }\n ":new x("\n query FetchPool($id: ID!, $where: Pair_filter, $liquidityWhere: Liquiditylist_filter) {\n pair(id: $id, where: $where) {\n id\n type\n creator\n owner\n traderCount\n volumeBaseToken\n volumeQuoteToken\n volumeUSD\n feeBase\n feeQuote\n mtFeeRate\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n baseLpToken {\n id\n symbol\n name\n decimals\n }\n quoteLpToken {\n id\n symbol\n name\n decimals\n }\n }\n liquidity_list(where: $liquidityWhere) {\n lqList {\n pair {\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n }\n }\n }\n}\n "),"\n query FetchPoolDayData($where: Dashboardday_filter) {\n dashboard_pairs_day_data(where: $where) {\n timestamp\n date\n volumeUsd\n feeUsd\n mtFeeUsd\n tvlUsd\n addresses\n }\n }\n ":new x("\n query FetchPoolDayData($where: Dashboardday_filter) {\n dashboard_pairs_day_data(where: $where) {\n timestamp\n date\n volumeUsd\n feeUsd\n mtFeeUsd\n tvlUsd\n addresses\n }\n}\n "),"\n query FetchPoolDashboard($where: Dashboardpair_detail_filter) {\n dashboard_pairs_detail(where: $where) {\n fee\n volume\n totalFee\n totalMtFee\n totalVolume\n tvl\n turnover\n liquidity\n baseReserve\n quoteReserve\n baseVolume\n quoteVolume\n basePrice\n quotePrice\n price\n baseFee\n quoteFee\n baseMtFee\n quoteMtFee\n pair\n poolType\n baseVolumeCumulative\n quoteVolumeCumulative\n baseAddress\n baseSymbol\n quoteAddress\n quoteSymbol\n network\n pairAddress\n txes\n txesNear24h\n txUsers\n txUserNear24h\n mtFeeNear24h\n feeNear24h\n }\n }\n ":new x("\n query FetchPoolDashboard($where: Dashboardpair_detail_filter) {\n dashboard_pairs_detail(where: $where) {\n fee\n volume\n totalFee\n totalMtFee\n totalVolume\n tvl\n turnover\n liquidity\n baseReserve\n quoteReserve\n baseVolume\n quoteVolume\n basePrice\n quotePrice\n price\n baseFee\n quoteFee\n baseMtFee\n quoteMtFee\n pair\n poolType\n baseVolumeCumulative\n quoteVolumeCumulative\n baseAddress\n baseSymbol\n quoteAddress\n quoteSymbol\n network\n pairAddress\n txes\n txesNear24h\n txUsers\n txUserNear24h\n mtFeeNear24h\n feeNear24h\n }\n}\n "),"\n query FetchPoolSwapList(\n $first: Int\n $skip: Int\n $where: Swap_filter\n $orderBy: Swap_orderBy\n $orderDirection: OrderDirection\n ) {\n swaps(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n timestamp\n from\n baseVolume\n quoteVolume\n feeBase\n feeQuote\n fromToken {\n id\n symbol\n name\n decimals\n }\n toToken {\n id\n symbol\n name\n decimals\n }\n amountIn\n amountOut\n }\n }\n ":new x("\n query FetchPoolSwapList($first: Int, $skip: Int, $where: Swap_filter, $orderBy: Swap_orderBy, $orderDirection: OrderDirection) {\n swaps(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n timestamp\n from\n baseVolume\n quoteVolume\n feeBase\n feeQuote\n fromToken {\n id\n symbol\n name\n decimals\n }\n toToken {\n id\n symbol\n name\n decimals\n }\n amountIn\n amountOut\n }\n}\n "),"\n query FetchLiquidityPositions(\n $id: ID!\n $first: Int\n $skip: Int\n $where: LiquidityPosition_filter\n $miningWhere: LiquidityPosition_filter\n $orderBy: LiquidityPosition_orderBy\n $orderDirection: OrderDirection\n ) {\n balance: liquidityPositions(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenBalance\n }\n mining: liquidityPositions(\n first: $first\n skip: $skip\n where: $miningWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenInMining\n }\n pair(id: $id) {\n lastTradePrice\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n }\n }\n ":new x("\n query FetchLiquidityPositions($id: ID!, $first: Int, $skip: Int, $where: LiquidityPosition_filter, $miningWhere: LiquidityPosition_filter, $orderBy: LiquidityPosition_orderBy, $orderDirection: OrderDirection) {\n balance: liquidityPositions(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenBalance\n }\n mining: liquidityPositions(\n first: $first\n skip: $skip\n where: $miningWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenInMining\n }\n pair(id: $id) {\n lastTradePrice\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n }\n}\n "),"\n query FetchPoolPairList(\n $first: Int\n $baseWhere: Pair_filter\n $quoteWhere: Pair_filter\n $orderBy: Pair_orderBy\n $orderDirection: OrderDirection\n ) {\n basePairs: pairs(\n first: $first\n where: $baseWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n quotePairs: pairs(\n first: $first\n where: $quoteWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n }\n ":new x("\n query FetchPoolPairList($first: Int, $baseWhere: Pair_filter, $quoteWhere: Pair_filter, $orderBy: Pair_orderBy, $orderDirection: OrderDirection) {\n basePairs: pairs(\n first: $first\n where: $baseWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n quotePairs: pairs(\n first: $first\n where: $quoteWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n}\n "),"\n query FetchUserSwapOrderHistories($where: User_swapswapFilter) {\n user_swap_orderHistories(where: $where) {\n count\n page\n list {\n chainId\n createdAt\n fromAmount\n fromTokenDecimals\n fromTokenPrice\n fromTokenSymbol\n fromTokenAddress\n fromTokenLogoImg\n hash\n status\n toAmount\n toTokenDecimals\n toTokenPrice\n toTokenSymbol\n toTokenAddress\n toTokenLogoImg\n minAmount\n nonce\n extra\n user\n }\n }\n }\n ":new x("\n query FetchUserSwapOrderHistories($where: User_swapswapFilter) {\n user_swap_orderHistories(where: $where) {\n count\n page\n list {\n chainId\n createdAt\n fromAmount\n fromTokenDecimals\n fromTokenPrice\n fromTokenSymbol\n fromTokenAddress\n fromTokenLogoImg\n hash\n status\n toAmount\n toTokenDecimals\n toTokenPrice\n toTokenSymbol\n toTokenAddress\n toTokenLogoImg\n minAmount\n nonce\n extra\n user\n }\n }\n}\n "),"\n query FetchNoticeCenterTransactionList(\n $where: Notice_centertransactionListFilter\n ) {\n notice_center_transactionList(where: $where) {\n list {\n chainId\n createTime\n extend\n from\n id\n key\n type\n }\n count\n limit\n page\n }\n }\n ":new x("\n query FetchNoticeCenterTransactionList($where: Notice_centertransactionListFilter) {\n notice_center_transactionList(where: $where) {\n list {\n chainId\n createTime\n extend\n from\n id\n key\n type\n }\n count\n limit\n page\n }\n}\n "),"\n query FetchLiquidityLpPartnerRewards(\n $where: LiquidityLpPartnerRewardsInput\n ) {\n liquidity_getLpPartnerRewards(where: $where) {\n partnerInfos {\n partner\n logo\n introduction\n link\n theme\n sort\n platform\n extra\n }\n partnerRewards {\n chainId\n pool\n partner\n reward\n type\n }\n }\n }\n ":new x("\n query FetchLiquidityLpPartnerRewards($where: LiquidityLpPartnerRewardsInput) {\n liquidity_getLpPartnerRewards(where: $where) {\n partnerInfos {\n partner\n logo\n introduction\n link\n theme\n sort\n platform\n extra\n }\n partnerRewards {\n chainId\n pool\n partner\n reward\n type\n }\n }\n}\n "),"\n query FetchUserprofileReward($where: UserprofileReward_filter) {\n userprofile_reward(where: $where) {\n name_key\n token_address\n contract_address\n token_symbol\n locking\n version\n merkle {\n index\n amout\n proof\n }\n }\n }\n ":new x("\n query FetchUserprofileReward($where: UserprofileReward_filter) {\n userprofile_reward(where: $where) {\n name_key\n token_address\n contract_address\n token_symbol\n locking\n version\n merkle {\n index\n amout\n proof\n }\n }\n}\n ")};function F(e){var n;return null!==(n=q[e])&&void 0!==n?n:{}}const k=F("\n query Ticks($where: Tick_filter, $skip: Int, $first: Int) {\n ticks(where: $where, skip: $skip, first: $first) {\n id\n poolAddress\n tickIdx\n liquidityNet\n price0\n price1\n }\n }\n");class S{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequests)throw new Error("AMMV3Api does not initialize the contractRequests");this.contractRequests=new _(e.contractRequestsConfig)}}getPositions(e,n,t){return{queryKey:[R,"ammv3","getPositions",...arguments],enabled:!!e&&!!n,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n)return null;return yield this.contractRequests.callMultiQuery(e,t.map((e=>({abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:n,method:"positions",params:e}))))}))}}getOwner(e,n,t){return{queryKey:[R,"ammv3","getOwner",...arguments],enabled:!!e&&!!n,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:n,method:"ownerOf",params:[t]})}))}}getBalanceOf(e,n,t){return{queryKey:[R,"ammv3","getBalanceOf",...arguments],enabled:!!e&&!!n&&!!t,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n||!t)return null;const r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:n,method:"balanceOf",params:[t]});return new d(r.toString())}))}}getTokenOfOwnerByIndex(e,n,t){return{queryKey:[R,"ammv3","getTokenOfOwnerByIndex",...arguments],enabled:!!e&&!!n,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n)return null;return yield this.contractRequests.callMultiQuery(e,t.map((e=>({abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:n,method:"tokenOfOwnerByIndex",params:e.map((e=>e.toString()))}))))}))}}getV3PoolSlot0(e,n){return{queryKey:[R,"ammv3","getSlot0",...arguments],enabled:!!e||!!n,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.UniswapV3Pool,contractAddress:n,method:"slot0",params:[]})}))}}getV3PoolLiquidity(e,n){return{queryKey:[R,"ammv3","getV3PoolLiquidity",...arguments],enabled:!!e||!!n,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.UniswapV3Pool,contractAddress:n,method:"liquidity",params:[]})}))}}getCollect(e,n,t,r){return{queryKey:[R,"ammv3","getCollect",...arguments],enabled:!!e||!!n,queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&r))return null;const i=p.BigNumber.from(2).pow(128).sub(1);return yield this.contractRequests.callQuery(e,{abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:n,method:"collect",params:[{tokenId:t,recipient:r,amount0Max:i,amount1Max:i},{from:r}]})}))}}}S.graphql={AllV3TicksDocument:k},S.utils=w,S.encode={};const M=(e,n)=>new d.BigNumber(p.BigNumber.isBigNumber(e)?e.toString():e).div(10**n),V={fetchPoolList:F("\n query FetchPoolList(\n $first: Int\n $where: Pair_filter\n $orderBy: Pair_orderBy\n ) {\n pairs(\n first: $first\n where: $where\n orderBy: $orderBy\n orderDirection: desc\n ) {\n id\n type\n creator\n owner\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n lastTradePrice\n feeBase\n feeQuote\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n }\n }\n "),fetchLiquidityList:F("\n query FetchLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n currentPage\n pageSize\n totalCount\n lqList {\n id\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n "),fetchMyLiquidityList:F("\n query FetchMyLiquidityList($where: Liquiditylist_filter) {\n liquidity_list(where: $where) {\n lqList {\n id\n liquidityPositions {\n id\n liquidityTokenBalance\n liquidityTokenInMining\n poolShare\n liquidityUSD\n tokenId\n outOfRange\n priceRange {\n token0LowerPrice\n token0UpperPrice\n token1LowerPrice\n token1UpperPrice\n }\n tickLower {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n tickUpper {\n id\n tickIdx\n liquidityGross\n liquidityNet\n price0\n price1\n }\n }\n pair {\n id\n chainId\n type\n lpFeeRate\n mtFeeRate\n creator\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n quoteToken {\n id\n symbol\n name\n decimals\n logoImg\n }\n tvl\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n volume24H\n }\n }\n }\n }\n "),fetchDashboardPairList:F("\n query FetchDashboardPairList($where: Dashboardtype_list_filter) {\n dashboard_pairs_list(where: $where) {\n list {\n chainId\n pairAddress\n poolType\n baseReserve\n quoteReserve\n totalFee\n baseAddress\n quoteAddress\n baseSymbol\n quoteSymbol\n tvl\n baseTvl\n quoteTvl\n baseTvlRate\n quoteTvlRate\n }\n }\n }\n "),fetchPool:F("\n query FetchPool(\n $id: ID!\n $where: Pair_filter\n $liquidityWhere: Liquiditylist_filter\n ) {\n pair(id: $id, where: $where) {\n id\n type\n creator\n owner\n traderCount\n volumeBaseToken\n volumeQuoteToken\n volumeUSD\n feeBase\n feeQuote\n mtFeeRate\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n baseLpToken {\n id\n symbol\n name\n decimals\n }\n quoteLpToken {\n id\n symbol\n name\n decimals\n }\n }\n liquidity_list(where: $liquidityWhere) {\n lqList {\n pair {\n apy {\n miningBaseApy\n miningQuoteApy\n transactionBaseApy\n transactionQuoteApy\n metromMiningApy\n }\n miningAddress\n }\n }\n }\n }\n "),fetchPoolDayData:F("\n query FetchPoolDayData($where: Dashboardday_filter) {\n dashboard_pairs_day_data(where: $where) {\n timestamp\n date\n volumeUsd\n feeUsd\n mtFeeUsd\n tvlUsd\n addresses\n }\n }\n "),fetchPoolDashboard:F("\n query FetchPoolDashboard($where: Dashboardpair_detail_filter) {\n dashboard_pairs_detail(where: $where) {\n fee\n volume\n totalFee\n totalMtFee\n totalVolume\n tvl\n turnover\n liquidity\n baseReserve\n quoteReserve\n baseVolume\n quoteVolume\n basePrice\n quotePrice\n price\n baseFee\n quoteFee\n baseMtFee\n quoteMtFee\n pair\n poolType\n baseVolumeCumulative\n quoteVolumeCumulative\n baseAddress\n baseSymbol\n quoteAddress\n quoteSymbol\n network\n pairAddress\n txes\n txesNear24h\n txUsers\n txUserNear24h\n mtFeeNear24h\n feeNear24h\n }\n }\n "),fetchPoolSwapList:F("\n query FetchPoolSwapList(\n $first: Int\n $skip: Int\n $where: Swap_filter\n $orderBy: Swap_orderBy\n $orderDirection: OrderDirection\n ) {\n swaps(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n timestamp\n from\n baseVolume\n quoteVolume\n feeBase\n feeQuote\n fromToken {\n id\n symbol\n name\n decimals\n }\n toToken {\n id\n symbol\n name\n decimals\n }\n amountIn\n amountOut\n }\n }\n "),fetchLiquidityPositions:F("\n query FetchLiquidityPositions(\n $id: ID!\n $first: Int\n $skip: Int\n $where: LiquidityPosition_filter\n $miningWhere: LiquidityPosition_filter\n $orderBy: LiquidityPosition_orderBy\n $orderDirection: OrderDirection\n ) {\n balance: liquidityPositions(\n first: $first\n skip: $skip\n where: $where\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenBalance\n }\n mining: liquidityPositions(\n first: $first\n skip: $skip\n where: $miningWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n liquidityTokenInMining\n }\n pair(id: $id) {\n lastTradePrice\n baseLpToken {\n id\n decimals\n }\n quoteLpToken {\n id\n decimals\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n }\n }\n "),fetchPoolPairList:F("\n query FetchPoolPairList(\n $first: Int\n $baseWhere: Pair_filter\n $quoteWhere: Pair_filter\n $orderBy: Pair_orderBy\n $orderDirection: OrderDirection\n ) {\n basePairs: pairs(\n first: $first\n where: $baseWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n quotePairs: pairs(\n first: $first\n where: $quoteWhere\n orderBy: $orderBy\n orderDirection: $orderDirection\n ) {\n id\n type\n creator\n lpFeeRate\n i\n k\n baseReserve\n quoteReserve\n createdAtTimestamp\n lastTradePrice\n volumeUSD\n baseToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n quoteToken {\n id\n symbol\n name\n decimals\n usdPrice\n }\n }\n }\n ")};class N{QuerySellBase(e,n){try{let t;if(0===n.RStatus)t=this.ROneSellBase(e,n);else if(1===n.RStatus){const r=n.B0.minus(n.B),i=n.Q.minus(n.Q0);e.lt(r)?(t=this.RAboveSellBase(e,n),t.gt(i)&&(t=i)):t=e.eq(r)?i:i.plus(this.ROneSellBase(e.minus(r),n))}else t=this.RBelowSellBase(e,n);const r=t.multipliedBy(n.mtFeeRate),i=t.multipliedBy(n.lpFeeRate);return t.minus(r).minus(i)}catch(e){return new d(0)}}QuerySellQuote(e,n){try{let t;if(0===n.RStatus)t=this.ROneSellQuote(e,n);else if(1===n.RStatus)t=this.RAboveSellQuote(e,n);else{const r=n.B.minus(n.B0),i=n.Q0.minus(n.Q);e.lt(i)?(t=this.RBelowSellQuote(e,n),t.gt(r)&&(t=r)):t=e.eq(i)?r:r.plus(this.ROneSellQuote(e.minus(i),n))}const r=t.multipliedBy(n.mtFeeRate),i=t.multipliedBy(n.lpFeeRate);return t.minus(r).minus(i)}catch(e){return new d(0)}}GetMidPrice(e){if(2==e.RStatus){let n=e.Q0.multipliedBy(e.Q0).div(e.Q).div(e.Q);return n=new d(1).minus(e.k).plus(e.k.multipliedBy(n)),e.OraclePrice.div(n)}if(1==e.RStatus){let n=e.B0.multipliedBy(e.B0).div(e.B).div(e.B);return n=new d(1).minus(e.k).plus(e.k.multipliedBy(n)),e.OraclePrice.multipliedBy(n)}return e.OraclePrice}ROneSellBase(e,n){return $(n.Q0,n.Q0,e,n.OraclePrice,n.k)}ROneSellQuote(e,n){return $(n.B0,n.B0,e,new d(1).div(n.OraclePrice),n.k)}RAboveSellBase(e,n){return H(n.B0,n.B.plus(e),n.B,n.OraclePrice,n.k)}RAboveSellQuote(e,n){return $(n.B0,n.B,e,new d(1).div(n.OraclePrice),n.k)}RBelowSellQuote(e,n){return H(n.Q0,n.Q.plus(e),n.Q,new d(1).div(n.OraclePrice),n.k)}RBelowSellBase(e,n){return $(n.Q0,n.Q,e,n.OraclePrice,n.k)}}const H=(e,n,t,r,i)=>{if(e.lte(0))throw new Error("TARGET_IS_ZERO");const o=r.multipliedBy(n.minus(t));if(i.eq(0))return o;const s=e.multipliedBy(e).div(n).div(t).multipliedBy(i);return o.multipliedBy(new d(1).minus(i).plus(s))},$=(e,n,t,r,i)=>{if(e.lte(0))throw new Error("TARGET_IS_ZERO");if(t.eq(0))return t;if(i.eq(0))return t.multipliedBy(r).gt(n)?n:t.multipliedBy(r);if(i.eq(1)){const i=r.multipliedBy(t).multipliedBy(n).div(e.multipliedBy(e));return n.multipliedBy(i).div(i.plus(1))}const o=i.multipliedBy(e).div(n).multipliedBy(e).plus(r.multipliedBy(t));let s,a=new d(1).minus(i).multipliedBy(n);a.gte(o)?(a=a.minus(o),s=!1):(a=o.minus(a),s=!0);let l=new d(4).multipliedBy(new d(1).minus(i)).multipliedBy(i).multipliedBy(e).multipliedBy(e);l=a.multipliedBy(a).plus(l).sqrt();const c=new d(2).multipliedBy(new d(1).minus(i));let u;return u=s?l.minus(a):a.plus(l),n.minus(u.div(c))};class U{constructor(e){this.B=e.B,this.Q=e.Q,this.B0=e.B0,this.Q0=e.Q0,this.RStatus=e.R,this.OraclePrice=e.i,this.k=e.K,this.mtFeeRate=e.mtFeeRate,this.lpFeeRate=e.lpFeeRate}}function Q(e,n){let t=new d(e.toString());return n&&(t=t.div(new d(10**n))),t.dp(n)}const j={DVM:exports.ABIName.dvmPoolABI,DSP:exports.ABIName.dvmPoolABI,GSP:exports.ABIName.dvmPoolABI,LPTOKEN:exports.ABIName.dvmPoolABI,CLASSICAL:exports.ABIName.classicalPoolABI,V3CLASSICAL:exports.ABIName.classicalPoolABI,DPP:exports.ABIName.dppPoolABI};function Y({poolAddress:e,type:n,typeMethodObject:t,params:r=[]}){const i=t[n];if(!i)return null;const o=j[n];return o?{abiName:o,contractAddress:e,method:i,params:r}:null}class X{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequestsConfig)throw new Error("PoolApi does not initialize the contractRequests");this.contractRequests=new _(e.contractRequestsConfig)}}getTotalBaseLpQuery(e,t,r,i){return{queryKey:[R,"pool","getTotalBaseLpQuery",...arguments],enabled:!!e&&!!t&&!!r&&void 0!==i,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!t||!r||void 0===i)return null;if("AMMV2"===r){const r=yield n.fetchUniswapV2PairTotalSupply(e,t);return new d(m.formatUnits(r,i))}const o=Y({poolAddress:t,type:r,typeMethodObject:{DVM:"totalSupply",DSP:"totalSupply",GSP:"totalSupply",LPTOKEN:"totalSupply",CLASSICAL:"getTotalBaseCapital",V3CLASSICAL:"getTotalBaseCapital",DPP:null}});if(!o)return null;const s=yield this.contractRequests.batchCallQuery(e,o);return M(s,i)}))}}getTotalQuoteLpQuery(e,n,t,r){return{queryKey:[R,"pool","getTotalQuoteLp",...arguments],enabled:!!e&&!!n&&!!t&&void 0!==r,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n||!t||void 0===r)return null;const i=Y({poolAddress:n,type:t,typeMethodObject:{DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"getTotalQuoteCapital",V3CLASSICAL:"getTotalQuoteCapital",DPP:null}});if(!i)return null;const o=yield this.contractRequests.batchCallQuery(e,i);return M(o,r)}))}}getUserBaseLpQuery(e,t,r,i,o){return{queryKey:[R,"pool","getUserBaseLp",...arguments],enabled:!!(e&&t&&r&&void 0!==i&&o),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&t&&r&&void 0!==i&&o))return null;if("AMMV2"===r){const r=yield n.fetchUniswapV2PairBalanceOf(e,t,o);return new d(m.formatUnits(r,i))}const s=Y({poolAddress:t,type:r,typeMethodObject:{DVM:"balanceOf",DSP:"balanceOf",GSP:"balanceOf",LPTOKEN:"balanceOf",CLASSICAL:"getBaseCapitalBalanceOf",V3CLASSICAL:"getBaseCapitalBalanceOf",DPP:null},params:[o]});if(!s)return null;const a=yield this.contractRequests.batchCallQuery(e,s);return M(a,i)}))}}getUserQuoteLpQuery(e,n,t,r,i){return{queryKey:[R,"pool","getUserQuoteLp",...arguments],enabled:!!(e&&n&&t&&void 0!==r&&i),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&void 0!==r&&i))return null;const o=Y({poolAddress:n,type:t,typeMethodObject:{DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"getQuoteCapitalBalanceOf",V3CLASSICAL:"getQuoteCapitalBalanceOf",DPP:null},params:[i]});if(!o)return null;const s=yield this.contractRequests.batchCallQuery(e,o);return M(s,r)}))}}getReserveLpQuery(e,t,r,i,o){return"CLASSICAL"===r?this.getPMMStateQuery(e,t,r,i,o):{queryKey:[R,"pool","getReserveLp",...arguments],enabled:!!e&&!!t&&!!r&&void 0!==i&&void 0!==o,queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&t&&r&&void 0!==i&&void 0!==o))return null;if("AMMV2"===r){const r=yield n.fetchUniswapV2PairGetReserves(e,t);return{baseReserve:M(r._reserve0.toString(),i),quoteReserve:M(r._reserve1.toString(),o)}}const s=Y({poolAddress:t,type:r,typeMethodObject:{DVM:"getVaultReserve",DSP:"getVaultReserve",GSP:"getVaultReserve",LPTOKEN:"getVaultReserve",CLASSICAL:null,V3CLASSICAL:null,DPP:"getVaultReserve"},params:[]});if(!s)return null;const a=yield this.contractRequests.batchCallQuery(e,s);return{baseReserve:M(a.baseReserve,i),quoteReserve:M(a.quoteReserve,o)}}))}}getClassicalTargetQuery(e,n,t,r,i){return{queryKey:[R,"pool","getClassicalTargetQuery",...arguments],enabled:!!e&&!!n&&!!t&&void 0!==r&&void 0!==i,queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&void 0!==r&&void 0!==i&&["CLASSICAL","V3CLASSICAL"].includes(t)))return null;const o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.classicalPoolABI,contractAddress:n,method:"getExpectedTarget",params:[]});return{baseTarget:M(o.baseTarget,r),quoteTarget:M(o.quoteTarget,i)}}))}}getTotalBaseMiningLpQuery(e,n,t,r,i){const o=!!t&&X.utils.getIsV3Mining(t);return{queryKey:[R,"pool","getTotalBaseMiningLp",...arguments],enabled:!!e&&!!n&&!!t&&void 0!==i&&(o||!!r),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&void 0!==i&&(o||r)))return null;let s;const a={DVM:"balanceOf",DSP:"totalSupply",GSP:"totalSupply",LPTOKEN:"totalSupply",CLASSICAL:"balanceOf",V3CLASSICAL:"totalSupply",DPP:null}[t];if(!a)return null;if(o)s={abiName:exports.ABIName.v3MiningABI,contractAddress:n,method:a,params:[]};else{if(!r)return null;s={abiName:exports.ABIName.dodoMiningABI,contractAddress:r,method:a,params:[n]}}if(!s)return null;const d=yield this.contractRequests.batchCallQuery(e,s);return M(d,i)}))}}getTotalQuoteMiningLpQuery(e,n,t,r,i){const o=!!t&&X.utils.getIsV3Mining(t);return{queryKey:[R,"pool","getTotalQuoteMiningLp",...arguments],enabled:!!e&&!!n&&!!t&&void 0!==i&&(o||!!r),queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n||!t||void 0===i)return null;let s;const a={DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"balanceOf",V3CLASSICAL:"totalSupply",DPP:null}[t];if(!a)return null;if(o)s={abiName:exports.ABIName.v3MiningABI,contractAddress:n,method:a,params:[]};else{if(!r)return null;s={abiName:exports.ABIName.dodoMiningABI,contractAddress:r,method:a,params:[n]}}if(!s)return null;const d=yield this.contractRequests.batchCallQuery(e,s);return M(d,i)}))}}getUserBaseMiningLpQuery(e,n,t,r,i,o){const s=!!t&&X.utils.getIsV3Mining(t);return{queryKey:[R,"pool","getUserBaseMiningLp",...arguments],enabled:!!e&&!!o&&!!n&&!!t&&void 0!==i&&(s||!!r),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&o&&n&&t&&void 0!==i))return null;let s;const a={DVM:"getUserLpBalance",DSP:"balanceOf",GSP:"balanceOf",LPTOKEN:"balanceOf",CLASSICAL:"getUserLpBalance",V3CLASSICAL:"balanceOf",DPP:null}[t];if(!a)return null;if(X.utils.getIsV3Mining(t))s={abiName:exports.ABIName.v3MiningABI,contractAddress:n,method:a,params:[o]};else{if(!r)return null;s={abiName:exports.ABIName.dodoMiningABI,contractAddress:n,method:a,params:[r,o]}}if(!s)return null;const d=yield this.contractRequests.batchCallQuery(e,s);return M(d,i)}))}}getUserQuoteMiningLpQuery(e,n,t,r,i,o){const s=!!t&&X.utils.getIsV3Mining(t);return{queryKey:[R,"pool","getUserQuoteMiningLp",...arguments],enabled:!!e&&!!o&&!!n&&!!t&&void 0!==i&&(s||!!r),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&o&&n&&t&&void 0!==i))return null;let s;const a={DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"getUserLpBalance",V3CLASSICAL:"balanceOf",DPP:null}[t];if(!a)return null;if(X.utils.getIsV3Mining(t))s={abiName:exports.ABIName.v3MiningABI,contractAddress:n,method:a,params:[o]};else{if(!r)return null;s={abiName:exports.ABIName.dodoMiningABI,contractAddress:n,method:a,params:[r,o]}}if(!s)return null;const d=yield this.contractRequests.batchCallQuery(e,s);return M(d,i)}))}}getLPFeeRateQuery(e,n,t){return{queryKey:[R,"pool","getLpFeeRateQuery",...arguments],enabled:!!e&&!!n&&!!t,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n||!t)return null;const r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:n,method:"_LP_FEE_RATE_",params:[]});return new d(r.toString()).div(10**18)}))}}getFeeRateQuery(e,t,r,i){return{queryKey:[R,"pool","getFeeRateQuery",...arguments],enabled:!!e&&!!t&&!!r,queryFn:()=>P(this,void 0,void 0,(function*(){var o;if(!e||!t||!r)return null;let s=new d(0),a=new d(0);if("CLASSICAL"===r){const{ROUTE_V1_DATA_FETCH:n}=y[e],r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.DODOV1PmmHelperABI,contractAddress:n,method:"getPairDetail",params:[t]}),i=null===(o=null==r?void 0:r.res)||void 0===o?void 0:o[0];s=new d(i.lpFeeRate.toString()).div(10**18),a=new d(i.mtFeeRate.toString()).div(10**18)}else if("AMMV2"===r)if(n.getUniswapV2Router02ContractAddressByChainId(e)&&n.getUniswapV2FactoryContractAddressByChainId(e)){const r=yield n.fetchUniswapV2PairFeeRate(e,t),i=M(r.toString(),4);s=i.times(.8),a=i.times(.2)}else s=new d(.003),a=new d(0);else{const n=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:t,method:"getUserFeeRate",params:[null!=i?i:t]});s=new d(n.lpFeeRate.toString()).div(10**18),a=new d(n.mtFeeRate.toString()).div(10**18)}return{lpFeeRate:s,mtFeeRate:a}}))}}getPMMStateQuery(e,n,t,r,i){return{queryKey:[R,"pool","getPMMStateQuery",...arguments],enabled:!!e&&!!n&&!!t&&void 0!==r&&void 0!==i,queryFn:()=>P(this,void 0,void 0,(function*(){var o;if(!e||!n||!t||void 0===r||void 0===i)return null;if("AMMV2"===t||"AMMV3"===t)return null;let s=null,a=null;if("CLASSICAL"===t){const{ROUTE_V1_DATA_FETCH:t}=y[e],r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.DODOV1PmmHelperABI,contractAddress:t,method:"getPairDetail",params:[n]});s=null===(o=null==r?void 0:r.res)||void 0===o?void 0:o[0]}else{if(!["DVM","DPP","LPTOKEN","DSP","GSP"].includes(t))throw new Error(`type: ${t} not supported`);s=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:n,method:"getPMMStateForCall",params:[]}),a=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:n,method:"totalSupply",params:[]})}if(!Array.isArray(s)||!s.length)throw new Error("queryResult is not valid.");const l=function(e,n,t){const r=Q(e.i,18-n+t),i=Q(e.K,18),o=Q(e.B,n),s=Q(e.Q,t),a=Q(e.B0,n),d=Q(e.Q0,t),l=parseInt(e.R.toString());let c,u;return e.lpFeeRate&&(c=Q(e.lpFeeRate,18)),e.mtFeeRate&&(u=Q(e.mtFeeRate,18)),{q:s,b:o,k:i,i:r,b0:a,q0:d,R:l,lpFeeRate:c,mtFeeRate:u}}(s,r,i);let c,u;if(Array.isArray(a)&&(c=new d(a[0].toString())),l.q.isEqualTo(0)&&2===l.R||l.b.isEqualTo(0)&&(1===l.R||0===l.R));else{const e=new N,n=new U({Q:l.q,B:l.b,K:l.k,i:l.i,B0:l.b0,Q0:l.q0,R:l.R,mtFeeRate:new d(0),lpFeeRate:new d(0)});u=e.GetMidPrice(n),u.isNaN()&&(u=void 0)}return{midPrice:u,pmmParamsBG:l,baseReserve:l.b,quoteReserve:l.q,totalSupplyBG:c}}))}}getDPPOwnerProxyAddressQuery(e,n){return{queryKey:[...arguments],enabled:!!e&&!!n,queryFn:()=>e&&n?this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.IdodoV2,contractAddress:n,method:"_OWNER_",params:[]}):null}}getWithdrawBasePenaltyQuery(e,n,t,r){return{queryKey:[...arguments],enabled:!!(e&&n&&t&&r),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&r))return null;const i=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoPair,contractAddress:n,method:"getWithdrawBasePenalty",params:[t]});return M(i,r)}))}}}X.graphql=V,X.utils=w,X.encode={createDSPPoolABI(e,n,t,r,i,o,s,a,l){return P(this,arguments,void 0,(function*(e,n,t,r,i,o,s,a,l,c=!1){const{DODO_DSP_PROXY:u}=y[e];return{to:u,data:yield T(exports.ABIName.dodoDspProxy,"createDODOStablePair",[n.address,t.address,r,i,new d(o).div(1e4).multipliedBy(10**18).toString(),p.parseFixed(new d(s).toString(),18-n.decimals+t.decimals).toString(),p.parseFixed(new d(a).toString(),18).toString(),c,l])}}))},createGSPPoolABI(e,n,t,r,i,o,s,a,l,c){return P(this,void 0,void 0,(function*(){const{DODO_DSP_PROXY:u}=y[e];return{to:u,data:yield T(exports.ABIName.dodoDspProxy,"createDODOGasSavingPair",[n,t.address,r.address,i,o,new d(s).div(1e4).multipliedBy(10**18).toString(),"0",p.parseFixed(new d(a).toString(),18-t.decimals+r.decimals).toString(),p.parseFixed(new d(l).toString(),18).toString(),"1000",c])}}))},createDVMPoolABI(e,n,t,r,i,o,s,a,l){return P(this,arguments,void 0,(function*(e,n,t,r,i,o,s,a,l,c=!1){const{DODO_PROXY:u}=y[e];return{to:u,data:yield T(exports.ABIName.dodoProxyV2,"createDODOVendingMachine",[n.address,t.address,r,i,new d(o).div(1e4).multipliedBy(10**18).toString(),p.parseFixed(new d(s).toString(),18-n.decimals+t.decimals).toString(),p.parseFixed(new d(a).toString(),18).toString(),c,l])}}))},createDPPPoolABI(e,n,t,r,i,o,s,a,l){return P(this,arguments,void 0,(function*(e,n,t,r,i,o,s,a,l,c=!1){const{DODO_DPP_PROXY:u}=y[e];return{to:u,data:yield T(exports.ABIName.dodoDppProxy,"createDODOPrivatePool",[n.address,t.address,r,i,new d(o).div(1e4).multipliedBy(10**18).toString(),p.parseFixed(new d(s).toString(),18-n.decimals+t.decimals).toString(),p.parseFixed(new d(a).toString(),18).toString(),c,l])}}))},removeDPPPoolABI(e,n,t,r,i,o,s,a,l,c){return P(this,void 0,void 0,(function*(){const u=new d(n).div(1e4).multipliedBy(10**18).toString(),m=p.parseFixed(new d(t).toString(),18-l+c).toString(),A=p.parseFixed(new d(r).toString(),18).toString(),h=yield T(exports.ABIName.dodoDPPAdmin,"reset",["0x0000000000000000000000000000000000000000",u,m,A,i,o,s,a]);return{to:e,data:h}}))},resetDPPPoolABI(e,n,t,r,i,o,s,a,l,c,u,m,A,h,D){return P(this,void 0,void 0,(function*(){const{DODO_DPP_PROXY:O}=y[e],P=new d(t).div(1e4).multipliedBy(10**18).toString(),b=p.parseFixed(new d(r).toString(),18-A+h).toString(),B=p.parseFixed(new d(i).toString(),18).toString();return{to:O,data:yield T(exports.ABIName.dodoDppProxy,"resetDODOPrivatePool",[n,[P,b,B],[o,s,a,l],m,c,u,D])}}))},addDSPLiquidityABI(e,n,t,r,i,o,s,a){return P(this,void 0,void 0,(function*(){if(!i||"0"===i)throw new Error("Invalid baseMinAmount");const{DODO_DSP_PROXY:d}=y[e];return{to:d,data:yield T(exports.ABIName.dodoDspProxy,"addDSPLiquidity",[n,t,r,i,o,s,a])}}))},addDVMLiquidityABI(e,n,t,r,i,o,s,a){return P(this,void 0,void 0,(function*(){if(!i||"0"===i)throw new Error("Invalid baseMinAmount");const{DODO_PROXY:d}=y[e];return{to:d,data:yield T(exports.ABIName.dodoProxyV2,"addDVMLiquidity",[n,t,r,i,o,s,a])}}))},removeDSPLiquidityABI(e,n,t,r,i,o,s,a){return P(this,void 0,void 0,(function*(){if(28!=e&&69!=e){const{CALLEE_HELPER:n}=y[e];s&&(t=n)}const d=yield T(exports.ABIName.dodoDSP,"sellShares",[r,t,i,o,s?"0x00":"0x",a]);return{to:n,data:d}}))},removeDVMLiquidityABI(e,n,t,r,i,o,s,a){return P(this,void 0,void 0,(function*(){if(28!=e&&69!=e){const{CALLEE_HELPER:n}=y[e];s&&(t=n)}const d=yield T(exports.ABIName.dodoDVM,"sellShares",[r,t,i,o,s?"0x00":"0x",a]);return{to:n,data:d}}))},addClassicalLiquidityABI(e,n,t,r,i,o,s,a){return P(this,void 0,void 0,(function*(){const{DODO_PROXY:d}=y[e];return{to:d,data:yield T(exports.ABIName.dodoProxyV2,"addLiquidityToV1",[n,t,r,i,o,s,a])}}))},removeClassicalBaseABI(e,n,t,r){return P(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:i}=y[e];let o="",s="";return i?(s=i,o=yield T(exports.ABIName.dodoV1PairProxy,"withdrawBase",[n,t,r])):(s=n,o=yield T(exports.ABIName.dodoPair,"withdrawBase",[t])),{to:s,data:o}}))},removeMaxClassicalBaseABI(e,n,t){return P(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:r}=y[e];let i="",o="";return r?(o=r,i=yield T(exports.ABIName.dodoV1PairProxy,"withdrawAllBase",[n,t])):(o=n,i=yield T(exports.ABIName.dodoPair,"withdrawAllBase",[])),{to:o,data:i}}))},removeClassicalQuoteABI(e,n,t,r){return P(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:i}=y[e];let o="",s="";return i?(s=i,o=yield T(exports.ABIName.dodoV1PairProxy,"withdrawQuote",[n,t,r])):(s=n,o=yield T(exports.ABIName.dodoPair,"withdrawQuote",[t])),{to:s,data:o}}))},removeMaxClassicalQuoteABI(e,n,t){return P(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:r}=y[e];let i="",o="";return r?(o=r,i=yield T(exports.ABIName.dodoV1PairProxy,"withdrawAllQuote",[n,t])):(o=n,i=yield T(exports.ABIName.dodoPair,"withdrawAllQuote",[])),{to:o,data:i}}))}};const W=(e,n,t,r,i)=>{const o=r.multipliedBy(n.minus(t)),s=e.multipliedBy(e).div(n).div(t).multipliedBy(i);return o.multipliedBy(new d.BigNumber(1).minus(i).plus(s))},K=(e,n,t,r,i)=>{let o=new d.BigNumber(1).minus(i).multipliedBy(n);o=o.minus(i.multipliedBy(e).multipliedBy(e).div(n)),o=o.plus(t.multipliedBy(r));let s=new d.BigNumber(4).multipliedBy(new d.BigNumber(1).minus(i)).multipliedBy(i).multipliedBy(e).multipliedBy(e);s=o.multipliedBy(o).plus(s).sqrt();const a=new d.BigNumber(2).multipliedBy(new d.BigNumber(1).minus(i));return o.plus(s).div(a)},G=(e,n,t)=>{let r=new d.BigNumber(4).multipliedBy(n).multipliedBy(t).div(e);r=new d.BigNumber(1).plus(r).sqrt();const i=r.minus(new d.BigNumber(1)).div(n.multipliedBy(new d.BigNumber(2)));return e.multipliedBy(new d.BigNumber(1).plus(i))};d.BigNumber.config({EXPONENTIAL_AT:1e3,DECIMAL_PLACES:80});class z{getMidPrice(){if(0===this.RStatus)return this.i;const e=this.getExpectedTarget();if(1===this.RStatus){let n=e.base.div(this.B);return n=n.multipliedBy(n).multipliedBy(this.k).minus(this.k).plus(new d.BigNumber(1)),this.i.multipliedBy(n)}if(2===this.RStatus){let n=e.quote.div(this.Q);return n=n.multipliedBy(n).multipliedBy(this.k).minus(this.k).plus(new d.BigNumber(1)),this.i.div(n)}return this.i}getQuoteByMidPrice(e){if(1!==this.RStatus)throw new Error("No support is needed at the moment");const n=e.div(this.k.times(this.i)).plus(1).minus(new d.BigNumber(1).div(this.k)).times(this.B).times(this.B).sqrt();return this.i.times(this.k.div(this.B).times(n).times(n).plus(new d.BigNumber(1).minus(this.k.times(2)).times(n)).minus(new d.BigNumber(1).minus(this.k).times(this.B)))}getExpectedTarget(){let e,n;return e=this.B0,n=this.Q0,0===this.RStatus&&(e=this.B0,n=this.Q0),1===this.RStatus&&(n=this.Q0,e=G(this.B,this.k,this.Q.minus(this.Q0).div(this.i))),2===this.RStatus&&(e=this.B0,n=G(this.Q,this.k,this.B.minus(this.B0).multipliedBy(this.i))),{base:e,quote:n}}queryBuyBase(e){const n=e.multipliedBy(this.mtFeeRate),t=e.multipliedBy(this.lpFeeRate);e=e.plus(n).plus(t);const r=this.getExpectedTarget();let i=new d.BigNumber(0);if(0===this.RStatus)i=this.ROneBuyBase(e,r.base);else if(1===this.RStatus)i=this.RAboveBuyBase(e,r.base);else{const n=this.B.minus(r.base),t=r.quote.minus(this.Q);i=e.isLessThanOrEqualTo(n)?this.RBelowBuyBase(e,r.quote):t.plus(this.ROneBuyBase(e.minus(n),r.base))}return i}querySellBase(e){let n;const t=this.getExpectedTarget();if(0===this.RStatus)n=this.ROneSellBase(e,t.quote);else if(2===this.RStatus)n=this.RBelowSellBase(e,t.quote);else{const r=t.base.minus(this.B),i=this.Q.minus(t.quote);n=e.isLessThanOrEqualTo(r)?this.RAboveSellBase(e,t.base):i.plus(this.ROneSellBase(e.minus(r),t.quote))}const r=n.multipliedBy(this.mtFeeRate),i=n.multipliedBy(this.lpFeeRate);return n.minus(r).minus(i)}queryBuyQuote(e){const n=e.multipliedBy(this.mtFeeRate),t=e.multipliedBy(this.lpFeeRate);e=e.plus(n).plus(t);const r=this.getExpectedTarget();if(0===this.RStatus)return this.ROneBuyQuote(e,r.quote);if(2===this.RStatus)return this.RBelowBuyQuote(e,r.quote);const i=r.base.minus(this.B),o=this.Q.minus(r.quote);return e.isLessThanOrEqualTo(o)?this.RAboveBuyQuote(e,r.base):i.plus(this.ROneBuyQuote(e.minus(o),r.quote))}querySellQuote(e){let n;const t=this.getExpectedTarget();if(0===this.RStatus)n=this.ROneSellQuote(e,t.base);else if(1===this.RStatus)n=this.RAboveSellQuote(e,t.base);else{const r=this.B.minus(t.base),i=t.quote.minus(this.Q);n=e.isLessThanOrEqualTo(i)?this.RBelowSellQuote(e,t.quote):r.plus(this.ROneSellQuote(e.minus(i),t.base))}const r=n.multipliedBy(this.mtFeeRate),i=n.multipliedBy(this.lpFeeRate);return n.minus(r).minus(i)}getPriceDepth(e){const n=this.getExpectedTarget();let t,r;if(e.gt(this.i)){const i=e.div(this.i);t=n.base.div(i.minus(1).plus(this.k).div(this.k).sqrt()),r=this.ROneBuyBase(n.base.minus(t),n.base).plus(n.quote)}else{const i=this.i.div(e);r=n.quote.div(i.minus(1).plus(this.k).div(this.k).sqrt()),t=this.ROneBuyQuote(n.quote.minus(r),n.quote).plus(n.base)}return{baseAmount:this.B.minus(t).abs(),quoteAmount:this.Q.minus(r).abs(),isBuy:this.B.gt(t)}}getWithdrawBasePenalty(e){if(1===this.RStatus){const n=G(this.B,this.k,this.Q.minus(this.Q0).div(this.i)),t=G(this.B.minus(e),this.k,this.Q.minus(this.Q0).div(this.i));return n.minus(t).minus(e)}return new d.BigNumber(0)}getWithdrawQuotePenalty(e){if(2===this.RStatus){const n=G(this.Q,this.k,this.B.minus(this.B0).multipliedBy(this.i)),t=G(this.Q.minus(e),this.k,this.B.minus(this.B0).multipliedBy(this.i));return n.minus(t).minus(e)}return new d.BigNumber(0)}ROneBuyBase(e,n){return e.isGreaterThanOrEqualTo(n),W(n,n,n.minus(e),this.i,this.k)}ROneBuyQuote(e,n){return e.isGreaterThanOrEqualTo(n),W(n,n,n.minus(e),new d.BigNumber(1).div(this.i),this.k)}ROneSellBase(e,n){const t=K(n,n,this.i,e.negated(),this.k);return n.minus(t)}ROneSellQuote(e,n){const t=K(n,n,new d.BigNumber(1).div(this.i),e.negated(),this.k);return n.minus(t)}RAboveBuyBase(e,n){if(e.isGreaterThanOrEqualTo(this.B))throw new Error("RAbove Buy Base Amount Exceed Limitation");return W(n,this.B,this.B.minus(e),this.i,this.k)}RAboveSellBase(e,n){if(e.plus(this.B).isGreaterThan(n))throw new Error("RAbove Sell Base Amount Exceed Limitation");return W(n,this.B.plus(e),this.B,this.i,this.k)}RAboveBuyQuote(e,n){return K(n,this.B,new d.BigNumber(1).div(this.i),e,this.k).minus(this.B)}RAboveSellQuote(e,n){const t=K(n,this.B,new d.BigNumber(1).div(this.i),e.negated(),this.k);return this.B.minus(t)}RBelowBuyQuote(e,n){if(e.isGreaterThanOrEqualTo(this.Q))throw new Error("RBelow Buy Quote Amount Exceed Limitation");return W(n,this.Q,this.Q.minus(e),new d.BigNumber(1).div(this.i),this.k)}RBelowSellQuote(e,n){if(e.plus(this.Q).isGreaterThan(n))throw new Error("RBelow Sell Quote Amount Exceed Limitation");return W(n,this.Q.plus(e),this.Q,new d.BigNumber(1).div(this.i),this.k)}RBelowBuyBase(e,n){return K(n,this.Q,this.i,e,this.k).minus(this.Q)}RBelowSellBase(e,n){const t=K(n,this.Q,this.i,e.negated(),this.k);return this.Q.minus(t)}}function J(e){return e&&/^#[a-f\d]{3,6}\s*[0-9]{1,3}%/i.test(e)?(t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})\s*([0-9]{1,3})*%?$/i.exec(e),(n=t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16),a:t[4]?Number(t[4])/100:1}:void 0)?`rgba(${n.r}, ${n.g}, ${n.b}, ${n.a})`:n):e;var n,t}var Z;!function(e){e.All="all"}(Z||(Z={}));const ee={fetchMiningList:F("\n query FetchMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n baseApy\n baseLpToken {\n decimals\n address: id\n symbol\n }\n baseToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n address: id\n symbol\n }\n quoteToken {\n decimals\n address: id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n address: id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n "),fetchMiningListV1:F("\n query MiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n miningTotalDollar\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n "),fetchMyCreatedMiningList:F("\n query MyCreatedMiningList($where: Miningmining_list_filter) {\n mining_list(where: $where) {\n list {\n chainId\n type\n version\n address\n isGSP\n isNewERCMineV3\n baseApy\n baseLpToken {\n decimals\n id\n symbol\n }\n baseToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n endBlock\n miningContractAddress\n baseLpTokenMining\n quoteLpTokenMining\n quoteApy\n quoteLpToken {\n decimals\n id\n symbol\n }\n quoteToken {\n decimals\n id\n price\n symbol\n logoImg\n }\n rewardTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n rewardQuoteTokenInfos {\n apy\n decimals\n id\n price\n logoImg\n rewardNumIndex\n rewardPerBlock\n startBlock\n endBlock\n startTime\n endTime\n symbol\n }\n startBlock\n title\n platform\n blockNumber\n participantsNum\n startTime\n endTime\n }\n totalCount\n chains\n }\n }\n ")};var ne;exports.MiningStatusE=void 0,(ne=exports.MiningStatusE||(exports.MiningStatusE={}))[ne.upcoming=0]="upcoming",ne[ne.active=1]="active",ne[ne.ended=2]="ended";const te={getMiningStatusByTimestamp:({startTime:e,endTime:n,rewardTokenInfoList:t})=>{let r,i;for(const o of t){const t=o.startTime||e,s=o.endTime||n;t&&(r=r?d.min(t,r):d.isBigNumber(t)?t:new d(t)),s&&(i=i?d.max(s,i):d.isBigNumber(s)?s:new d(s))}const o=new d(Math.floor(Date.now()/1e3));let s=exports.MiningStatusE.ended;return r&&o.lt(r)&&(s=exports.MiningStatusE.upcoming),r&&i&&o.gte(r)&&o.lte(i)&&(s=exports.MiningStatusE.active),{status:s,firstStartTime:r,lastEndTime:i,currentTime:o}}},re=[{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"claimAllRewards",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"stakeToken",type:"address"},{internalType:"bool",name:"isLpToken",type:"bool"},{internalType:"uint256",name:"platform",type:"uint256"},{internalType:"address[]",name:"rewardTokens",type:"address[]"},{internalType:"uint256[]",name:"rewardPerBlock",type:"uint256[]"},{internalType:"uint256[]",name:"startBlock",type:"uint256[]"},{internalType:"uint256[]",name:"endBlock",type:"uint256[]"}],name:"createDODOMineV3",outputs:[{internalType:"address",name:"newMineV3",type:"address"}],stateMutability:"nonpayable",type:"function"}],ie=[{inputs:[{internalType:"address",name:"stakeToken",type:"address"},{internalType:"bool",name:"isLpToken",type:"bool"},{internalType:"address[]",name:"rewardTokens",type:"address[]"},{internalType:"uint256[]",name:"rewardPerBlock",type:"uint256[]"},{internalType:"uint256[]",name:"startBlock",type:"uint256[]"},{internalType:"uint256[]",name:"endBlock",type:"uint256[]"}],name:"createDODOMineV3",outputs:[{internalType:"address",name:"newMineV3",type:"address"}],stateMutability:"nonpayable",type:"function"}];class oe{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequests)throw new Error("MiningApi does not initialize the contractRequests");this.contractRequests=new _(e.contractRequestsConfig)}}getPendingRewardQuery(e,n,t,r,i,o){return{queryKey:[R,"mining","getPendingRewardQuery",...arguments],enabled:!!(e&&n&&t&&r&&void 0!==i),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&r&&void 0!==i))return null;let s;if("3"===o)s=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:n,method:"getPendingRewardByToken",params:[t,r]});else s=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoMiningABI,contractAddress:n,method:"getPendingReward",params:[r,t]});return M(s,i)}))}}getLpStakedBalance(e,n,t,r,i,o){return{queryKey:[R,"mining","getLpStakedBalance",...arguments],enabled:!(!e||!n||!t||void 0===i||"3"!==o&&!r),queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&void 0!==i)||"3"!==o&&!r)return null;let s;if("3"===o)s=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:n,method:"balanceOf",params:[t]});else s=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoMiningABI,contractAddress:n,method:"getUserLpBalance",params:[t,r]});return M(s,i)}))}}getRewardTokenInfos(e,n,t,r){return{queryKey:[R,"mining","getRewardTokenInfos",...arguments],enabled:null!=e&&null!=n&&null!=t&&!r,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n)return null;const r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:n,method:"rewardTokenInfos",params:[t]});if(!r)return null;const{rewardVault:i,rewardPerBlock:o,workThroughReward:s,lastFlagBlock:a,startBlock:d,endBlock:l}=r;return{rewardVault:i,rewardPerBlock:M(o,0),workThroughReward:s?M(s,0):void 0,lastFlagBlock:a?M(a,0):void 0,startBlock:M(d,0),endBlock:M(l,0)}}))}}}oe.utils=te,oe.graphql=ee,oe.encode={depositMining(e,n,t){return P(this,void 0,void 0,(function*(){const r=g(re,"deposit",[p.parseFixed(n.dp(t,d.ROUND_FLOOR).toString(),t).toString()]);return{to:e,data:r}}))},withdrawMining(e,n,t){return P(this,void 0,void 0,(function*(){const r=g(re,"withdraw",[p.parseFixed(n.dp(t,d.ROUND_FLOOR).toString(),t).toString()]);return{to:e,data:r}}))},claimAllMining(e){return P(this,void 0,void 0,(function*(){const n=g(re,"claimAllRewards",[]);return{to:e,data:n}}))},createDODOMineV3(e,n,t,r,i,o,s,a){return P(this,void 0,void 0,(function*(){const{DODO_MINEV3_PROXY:d}=y[e];if(!d)return null;let l;return l=[1,10,288,66,128,137,1285,42161,1313161554,43114].includes(e)?g(ie,"createDODOMineV3",[n,t,i,o,s,a]):g(re,"createDODOMineV3",[n,t,r,i,o,s,a]),{to:d,data:l}}))}};const se={fetchErc20SwapCrossList:F("\n query FetchErc20SwapCrossChainList($where: Erc20listV2Filter) {\n erc20_swapCrossChainList(where: $where) {\n name\n address\n symbol\n decimals\n slippage\n chainId\n logoImg\n tokenlists {\n name\n status\n }\n domains {\n name\n }\n funcLabels {\n key\n }\n attributeLabels {\n key\n }\n }\n }\n "),fetchErc20ForecastSlippage:F("\n query FetchErc20ForecastSlippage($where: Erc20_extenderc20ExtendV2Filter) {\n erc20_extend_erc20ExtendV2(where: $where) {\n forecastSlippageList {\n forecastSlippage\n forecastValue\n confidenceRatio\n confidenceIntervalUpper\n confidenceIntervalLower\n }\n }\n }\n ")},ae=new d(2).pow(256).minus(1);function de(e){return e?e.replaceAll("\0",""):e}class le{constructor(e){if(e.contractRequests)this.contractRequests=e.contractRequests;else{if(!e.contractRequests)throw new Error("TokenApi does not initialize the contractRequests");this.contractRequests=new _(e.contractRequestsConfig)}this.restApiRequest=(null==e?void 0:e.restApiRequest)||new L}getTokenDecimals(e,n){return{queryKey:["token","getTokenDecimals",null!=e?e:"",null==n?void 0:n.toLocaleLowerCase()],enabled:!!e&&!!n,queryFn:()=>P(this,void 0,void 0,(function*(){if(!e||!n)return null;return yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.erc20ABI,contractAddress:n,method:"decimals",params:[]})}))}}getFiatPriceBatch(e,n){return this.restApiRequest.postJson("/frontend-v2-price-api/current/batch",{networks:e.map((e=>O[e.chainId])),addresses:e.map((e=>e.address)),symbols:e.map((e=>e.symbol)),isCache:!0},void 0,{headers:{"pass-key":n}})}getFetchTokenQuery(e,n,t,r){let i=r,o="";if(void 0!==e){const n=y[e];i||(i=null==n?void 0:n.DODO_APPROVE),o=null==n?void 0:n.ERC20_HELPER}return{queryKey:[R,"token","getFetchTokenQuery",null!=e?e:"",null==t?void 0:t.toLocaleLowerCase(),null==i?void 0:i.toLocaleLowerCase(),null==n?void 0:n.toLocaleLowerCase()],enabled:!!e&&!!n&&!!t,queryFn:()=>P(this,void 0,void 0,(function*(){if(!(e&&n&&t&&i))return null;const s=yield(e=>P(void 0,void 0,void 0,(function*(){let n=[];if(!n.length)switch(e){case exports.ChainId.MAINNET:n=(yield Promise.resolve().then((function(){return require("./eth-BTzl-wbR.cjs")}))).default;break;case exports.ChainId.BSC:n=(yield Promise.resolve().then((function(){return require("./bsc-DPJpw0CZ.cjs")}))).default}return n})))(e);if(s.includes(n))return null;const a=D[e];if(le.utils.isSameAddress(n,a.address)){const n=yield this.contractRequests.getETHBalance(e,t);return{symbol:a.symbol,address:a.address,name:a.name,decimals:a.decimals,balance:n,allowance:ae,account:t,spender:r,chainId:e}}const l=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.erc20Helper,contractAddress:o,method:"isERC20",params:[n,t,i]}),{name:c,isOk:u}=l;if(u&&c){const t=parseInt(l.decimals,10),i=new d(10).pow(t),o=new d(l.allownance.toString()).div(i),s=new d(l.balance.toString()).div(i);return{address:n,decimals:t,symbol:de(l.symbol),name:de(c),balance:s,spender:r,allowance:o,chainId:e}}return null}))}}}le.graphql=se,le.utils={isSameAddress:(e,n)=>{const t=e.length,r=n.length;if(0===t||0===r)return!1;if(t===r)return e.toLowerCase()===n.toLowerCase();const i=e.substring(2,t).toLowerCase(),o=n.substring(2,t).toLowerCase();return i.length>o.length?i.endsWith(o):o.endsWith(i)}},le.encode={approveABI:(e,n)=>T(exports.ABIName.erc20ABI,"approve",[e,n.toFixed()]),transferEncodeABI(e,n){return P(this,void 0,void 0,(function*(){return yield T(exports.ABIName.erc20ABI,"transfer",[e,n])}))}};const ce={fetchUserSwapOrderHistories:F("\n query FetchUserSwapOrderHistories($where: User_swapswapFilter) {\n user_swap_orderHistories(where: $where) {\n count\n page\n list {\n chainId\n createdAt\n fromAmount\n fromTokenDecimals\n fromTokenPrice\n fromTokenSymbol\n fromTokenAddress\n fromTokenLogoImg\n hash\n status\n toAmount\n toTokenDecimals\n toTokenPrice\n toTokenSymbol\n toTokenAddress\n toTokenLogoImg\n minAmount\n nonce\n extra\n user\n }\n }\n }\n ")};class ue{constructor(){}}ue.graphql=ce;const pe={fetchNoticeCenterTransactionList:F("\n query FetchNoticeCenterTransactionList(\n $where: Notice_centertransactionListFilter\n ) {\n notice_center_transactionList(where: $where) {\n list {\n chainId\n createTime\n extend\n from\n id\n key\n type\n }\n count\n limit\n page\n }\n }\n "),fetchLiquidityLpPartnerRewards:F("\n query FetchLiquidityLpPartnerRewards(\n $where: LiquidityLpPartnerRewardsInput\n ) {\n liquidity_getLpPartnerRewards(where: $where) {\n partnerInfos {\n partner\n logo\n introduction\n link\n theme\n sort\n platform\n extra\n }\n partnerRewards {\n chainId\n pool\n partner\n reward\n type\n }\n }\n }\n "),fetchUserprofileReward:F("\n query FetchUserprofileReward($where: UserprofileReward_filter) {\n userprofile_reward(where: $where) {\n name_key\n token_address\n contract_address\n token_symbol\n locking\n version\n merkle {\n index\n amout\n proof\n }\n }\n }\n ")};class me{constructor(){}}me.graphql=pe,Object.defineProperty(exports,"setContractRequests",{enumerable:!0,get:function(){return n.setContractRequests}}),exports.AMMV3Api=S,exports.CONTRACT_QUERY_KEY=R,exports.ContractRequests=_,exports.GraphQLRequests=class{constructor(e){const n=Object.assign(Object.assign({},I),e);this.url=n.url,this.getHeaders=n.getHeaders;const t=new l.GraphQLClient(this.url,{fetch:n.fetch,requestMiddleware:e=>{const n=new URL(e.url);return e.operationName&&n.searchParams.append("opname",e.operationName),Object.assign(Object.assign({},e),{url:n.toString()})}});this.client=t,this.setHeaders()}setHeaders(){return P(this,void 0,void 0,(function*(){var e;const n=yield null===(e=this.getHeaders)||void 0===e?void 0:e.call(this);n&&this.client.setHeaders(n)}))}getData(e,n){return P(this,void 0,void 0,(function*(){yield this.setHeaders();return this.client.request(e,n)}))}getQuery(e,...[n]){return{queryKey:["graphql","getQuery",e,n],queryFn:()=>P(this,void 0,void 0,(function*(){return yield this.getData(e.toString(),n)}))}}getInfiniteQuery(e,n,...[t]){return{queryKey:["graphql","getInfiniteQuery",n,e,t],queryFn:r=>P(this,[r],void 0,(function*({pageParam:r}){return yield this.getData(e.toString(),Object.assign(Object.assign({},t),{where:Object.assign(Object.assign({},null==t?void 0:t.where),{[n]:r})}))}))}}},exports.MiningApi=oe,exports.PMMHelper=N,exports.PMMModel=z,exports.PMMState=U,exports.PoolApi=X,exports.RestApiRequests=L,exports.SwapApi=ue,exports.SwapWidgetApi=class{constructor(e){this.restApiRequest=(null==e?void 0:e.restApiRequest)||new L}getWidgetTokenListConfig(e,n){return this.restApiRequest.getJson("/config-center/user/tokenlist/v2",{project:e,apikey:n})}convertConfigToSwapWidgetProps(e){var n,t,r,i,o,s,a,d;const l=[];let c,u=!0,p=!0;if(e.chains.forEach((e=>{e.fromTokens&&(u=!1),e.toTokens&&(p=!1)})),e.chains.forEach((({chainId:e,fromTokens:n,toTokens:t,tokens:r})=>{if(null==r?void 0:r.length){const i=Number(e);[{isAllChain:u,selectTokens:n,side:"from"},{isAllChain:p,selectTokens:t,side:"to"}].forEach((({isAllChain:e,selectTokens:n,side:t})=>{(e||n)&&((null==n?void 0:n.length)?r.forEach((e=>{var r;n.some((n=>n.toLocaleLowerCase()===e.address.toLocaleLowerCase()))&&l.push(Object.assign(Object.assign({logoURI:e.logoImg},e),{chainId:null!==(r=e.chainId)&&void 0!==r?r:i,side:t}))})):r.forEach((e=>{var n;l.push(Object.assign(Object.assign({logoURI:e.logoImg},e),{chainId:null!==(n=e.chainId)&&void 0!==n?n:i,side:t}))})))}))}})),(null==e?void 0:e.style)&&Object.keys(e.style).length){const t=null===(n=null==e?void 0:e.basis)||void 0===n?void 0:n.fontSizeModify;c={palette:{mode:"light",primary:{main:J(e.style.primary)},secondary:{main:J(e.style.secondary),contrastText:J(e.style.secondaryContrast)},error:{main:J(e.style.error),contrastText:J(e.style.errorContrast)},warning:{main:J(e.style.warning)},success:{main:J(e.style.success)},background:{paper:J(e.style.background1),paperContrast:J(e.style.background2),backdrop:J(e.style.mask),input:J(e.style.input),tag:J(e.style.card)},text:{primary:J(e.style.text1),secondary:J(e.style.text2),disabled:J(e.style.textDisable),placeholder:J(e.style.textPlaceholder)},border:{main:J(e.style.borderSolid),light:J(e.style.borderDash),disabled:J(e.style.borderSolid)}},typography:t?{fontSize:16+t,ht:{fontSize:36+t},h2:{fontSize:32+t},h3:{fontSize:28+t},caption:{fontSize:20+t},h5:{fontSize:18+t},body1:{fontSize:16+t},body2:{fontSize:14+t},h6:{fontSize:12+t},button:{fontSize:16+t}}:void 0}}const m=e.rebateAddress,A=e.rebateRatio,h=e.swapSlippage,D=e.crossChainSlippage,y=null===(t=e.basis)||void 0===t?void 0:t.width,O=null===(r=e.basis)||void 0===r?void 0:r.height,P=null===(i=e.basis)||void 0===i?void 0:i.locale,b=null===(s=null===(o=e.basis)||void 0===o?void 0:o.crossChainSupport)||void 0===s||s,B=null===(a=e.basis)||void 0===a?void 0:a.rpcMap,E=null===(d=e.basis)||void 0===d?void 0:d.noPowerBy;return{tokenList:l,theme:c,rebateAddress:m,rebateRatio:A,swapSlippage:h,bridgeSlippage:D,width:y,height:O,locale:P,crossChain:b,jsonRpcUrlMap:B,noPowerBy:E}}getConfigSwapWidgetProps(e,n){return P(this,void 0,void 0,(function*(){var t;const{result:r}=yield this.getWidgetTokenListConfig(e,n),i=r.data;if(!i)throw new Error(null!==(t=r.msg)&&void 0!==t?t:"Error");return{swapWidgetProps:this.convertConfigToSwapWidgetProps(i),configTokenList:i}}))}},exports.SystemApi=me,exports.TokenApi=le,exports.basicTokenMap=D,exports.contractConfig=y,exports.etherTokenAddress=A,exports.getPmmModel=function({q:e,b:n,k:t,i:r,q0:i,b0:o,R:s}){const a=new z;return a.B0=new d(o),a.Q0=new d(i),a.B=new d(n),a.Q=new d(e),a.i=new d(r),a.k=new d(t),a.RStatus=s,a.mtFeeRate=new d(0),a.lpFeeRate=new d(0),a},exports.platformIdMap=O,exports.solveQuadraticFunctionForTarget=(e,n,t,r)=>{if(e.eq(0))return new d(0);if(r.eq(0))return e.plus(t.multipliedBy(n));const i=r.multipliedBy(4).multipliedBy(t).multipliedBy(n).div(e).plus(1).sqrt().minus(1).div(r.multipliedBy(2)).plus(1);return e.multipliedBy(i)};