@dodoex/api 3.4.0-op.1 → 3.5.0-cp.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,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)};
1
+ "use strict";var e=require("@dodoex/dodo-contract-request"),t=require("js-sha3"),n=require("bn.js"),r=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(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),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",d[d.STABLE_TESTNET=2201]="STABLE_TESTNET",d[d.STABLE=988]="STABLE";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"}),[exports.ChainId.STABLE_TESTNET]:Object.assign(Object.assign({},p),{symbol:"gUSDT",name:"gUSDT",wrappedTokenSymbol:"wgUSDT",wrappedTokenAddress:"0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb"}),[exports.ChainId.STABLE]:{address:f,decimals:18,showDecimals:4,symbol:"gUSDT",name:"gUSDT",wrappedTokenSymbol:"USDT0",wrappedTokenAddress:"0x779Ded0c9e1022225f8E0630b35a9b54bE713736"}},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},[exports.ChainId.STABLE_TESTNET]:{MULTI_CALL:e.stableTestnet.MulticallWithValid,DODO_APPROVE:e.stableTestnet.DODOApprove,ERC20_HELPER:e.stableTestnet.ERC20Helper,ROUTE_V2_DATA_FETCH:e.stableTestnet.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.stableTestnet.DODOV1PmmHelper,CALLEE_HELPER:e.stableTestnet.DODOCalleeHelper,DODO_PROXY:e.stableTestnet.DODOV2Proxy02,DODO_DSP_PROXY:e.stableTestnet.DODODspProxy,DODO_DPP_PROXY:e.stableTestnet.DODODppProxy,DODO_MINEV3_PROXY:e.stableTestnet.DODOMineV3Proxy},[exports.ChainId.STABLE]:{MULTI_CALL:e.stable.MulticallWithValid,DODO_APPROVE:e.stable.DODOApprove,ERC20_HELPER:e.stable.ERC20Helper,ROUTE_V2_DATA_FETCH:e.stable.DODOV2RouteHelper,ROUTE_V1_DATA_FETCH:e.stable.DODOV1PmmHelper,CALLEE_HELPER:e.stable.DODOCalleeHelper,DODO_PROXY:e.stable.DODOV2Proxy02,DODO_DSP_PROXY:e.stable.DODODspProxy,DODO_DPP_PROXY:e.stable.DODODppProxy,DODO_MINEV3_PROXY:e.stable.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",[exports.ChainId.STABLE_TESTNET]:"stable-testnet",[exports.ChainId.STABLE]:"stable"};function A(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.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 D=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(n){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 P,T;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(P||(P={})),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 n=e.toLowerCase();null==b[n]&&this.throwArgumentError("invalid log level name","logLevel",e),w>b[n]||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,n){if(v)return this.makeError("censored error",t,{});t||(t=I.errors.UNKNOWN_ERROR),n||(n={});const r=[];Object.keys(n).forEach((e=>{const t=n[e];try{if(t instanceof Uint8Array){let n="";for(let e=0;e<t.length;e++)n+=_[t[e]>>4],n+=_[15&t[e]];r.push(e+"=Uint8Array(0x"+n+")")}else r.push(e+"="+JSON.stringify(t))}catch(t){r.push(e+"="+JSON.stringify(n[e].toString()))}})),r.push(`code=${t}`),r.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+" ]"),r.length&&(e+=" ("+r.join(", ")+")");const o=new Error(e);return o.reason=i,o.code=t,Object.keys(n).forEach((function(e){o[e]=n[e]})),o}throwError(e,t,n){throw this.makeError(e,t,n)}throwArgumentError(e,t,n){return this.throwError(e,I.errors.INVALID_ARGUMENT,{argument:t,value:n})}assert(e,t,n,r){e||this.throwError(t,n,r)}assertArgument(e,t,n,r){e||this.throwArgumentError(t,n,r)}checkNormalize(e){D&&this.throwError("platform missing String.prototype.normalize",I.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:D})}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,n){n=n?": "+n:"",e<t&&this.throwError("missing argument"+n,I.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+n,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=P;const C=new I("bytes/5.7.0");function R(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)||N(e)}function k(e){return"number"==typeof e&&e==e&&e%1==0}function N(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(!k(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){const n=e[t];if(!k(n)||n<0||n>=256)return!1}return!0}function S(e,t){if(t||(t={}),"number"==typeof e){C.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),R(e)&&(e=e.toHexString()),M(e)){let n=e.substring(2);n.length%2&&("left"===t.hexPad?n="0"+n:"right"===t.hexPad?n+="0":C.throwArgumentError("hex data is odd-length","value",e));const r=[];for(let e=0;e<n.length;e+=2)r.push(parseInt(n.substring(e,e+2),16));return B(new Uint8Array(r))}return N(e)?B(new Uint8Array(e)):C.throwArgumentError("invalid arrayify value","value",e)}function L(e){const t=e.map((e=>S(e))),n=t.reduce(((e,t)=>e+t.length),0),r=new Uint8Array(n);return t.reduce(((e,t)=>(r.set(t,e),e+t.length)),0),B(r)}function F(e){let t=S(e);if(0===t.length)return t;let n=0;for(;n<t.length&&0===t[n];)n++;return n&&(t=t.slice(n)),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){C.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),R(e))return e.toHexString();if(M(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":C.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(N(e)){let t="0x";for(let n=0;n<e.length;n++){let r=e[n];t+=q[(240&r)>>4]+q[15&r]}return t}return C.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,n){return"string"!=typeof e?e=U(e):(!M(e)||e.length%2)&&C.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=n?"0x"+e.substring(t,2+2*n):"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)||C.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 Y(e,t){for("string"!=typeof e?e=U(e):M(e)||C.throwArgumentError("invalid hex string","value",e),e.length>2*t+2&&C.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function G(e){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(x(e)){let n=S(e);64===n.length?(t.v=27+(n[32]>>7),n[32]&=127,t.r=U(n.slice(0,32)),t.s=U(n.slice(32,64))):65===n.length?(t.r=U(n.slice(0,32)),t.s=U(n.slice(32,64)),t.v=n[64]):C.throwArgumentError("invalid signature string","signature",e),t.v<27&&(0===t.v||1===t.v?t.v+=27:C.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(n[32]|=128),t._vs=U(n.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 n=function(e,t){(e=S(e)).length>t&&C.throwArgumentError("value out of range","value",arguments[0]);const n=new Uint8Array(t);return n.set(e,t-e.length),B(n)}(S(t._vs),32);t._vs=U(n);const r=n[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=r:t.recoveryParam!==r&&C.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),n[0]&=127;const i=U(n);null==t.s?t.s=i:t.s!==i&&C.throwArgumentError("signature v mismatch _vs","signature",e)}if(null==t.recoveryParam)null==t.v?C.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 n=0===t.v||1===t.v?t.v:1-t.v%2;t.recoveryParam!==n&&C.throwArgumentError("signature recoveryParam mismatch v","signature",e)}null!=t.r&&M(t.r)?t.r=Y(t.r,32):C.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&M(t.s)?t.s=Y(t.s,32):C.throwArgumentError("signature missing or invalid s","signature",e);const n=S(t.s);n[0]>=128&&C.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(n[0]|=128);const r=U(n);t._vs&&(M(t._vs)||C.throwArgumentError("signature invalid _vs","signature",e),t._vs=Y(t._vs,32)),null==t._vs?t._vs=r:t._vs!==r&&C.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}const $="bignumber/5.7.0";var X=n.BN;const z=new I($),K={},J=9007199254740991;let W=!1;class Z{constructor(e,t){e!==K&&z.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(ne(this).fromTwos(e))}toTwos(e){return te(ne(this).toTwos(e))}abs(){return"-"===this._hex[0]?Z.from(this._hex.substring(1)):this}add(e){return te(ne(this).add(ne(e)))}sub(e){return te(ne(this).sub(ne(e)))}div(e){return Z.from(e).isZero()&&re("division-by-zero","div"),te(ne(this).div(ne(e)))}mul(e){return te(ne(this).mul(ne(e)))}mod(e){const t=ne(e);return t.isNeg()&&re("division-by-zero","mod"),te(ne(this).umod(t))}pow(e){const t=ne(e);return t.isNeg()&&re("negative-power","pow"),te(ne(this).pow(t))}and(e){const t=ne(e);return(this.isNegative()||t.isNeg())&&re("unbound-bitwise-result","and"),te(ne(this).and(t))}or(e){const t=ne(e);return(this.isNegative()||t.isNeg())&&re("unbound-bitwise-result","or"),te(ne(this).or(t))}xor(e){const t=ne(e);return(this.isNegative()||t.isNeg())&&re("unbound-bitwise-result","xor"),te(ne(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&re("negative-width","mask"),te(ne(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&re("negative-width","shl"),te(ne(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&re("negative-width","shr"),te(ne(this).shrn(e))}eq(e){return ne(this).eq(ne(e))}lt(e){return ne(this).lt(ne(e))}lte(e){return ne(this).lte(ne(e))}gt(e){return ne(this).gt(ne(e))}gte(e){return ne(this).gte(ne(e))}isNegative(){return"-"===this._hex[0]}isZero(){return ne(this).isZero()}toNumber(){try{return ne(this).toNumber()}catch(e){re("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return z.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,z.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?z.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",I.errors.UNEXPECTED_ARGUMENT,{}):z.throwError("BigNumber.toString does not accept parameters",I.errors.UNEXPECTED_ARGUMENT,{})),ne(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(K,ee(e)):e.match(/^-?[0-9]+$/)?new Z(K,ee(new X(e))):z.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&re("underflow","BigNumber.from",e),(e>=J||e<=-J)&&re("overflow","BigNumber.from",e),Z.from(String(e));const t=e;if("bigint"==typeof t)return Z.from(t.toString());if(N(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 z.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]&&z.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 ne(e){const t=Z.from(e).toHexString();return"-"===t[0]?new X("-"+t.substring(3),16):new X(t.substring(2),16)}function re(e,t,n){const r={fault:e,operation:t};return null!=n&&(r.value=n),z.throwError(e,I.errors.NUMERIC_FAULT,r)}const ie=new I($),se={},oe=Z.from(0),ae=Z.from(-1);function le(e,t,n,r){const i={fault:t,operation:n};return void 0!==r&&(i.value=r),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 n=ue(t),r=(e=Z.from(e)).lt(oe);r&&(e=e.mul(ae));let i=e.mod(n).toString();for(;i.length<n.length-1;)i="0"+i;i=i.match(/^([0-9]*[1-9]|0)(0*)/)[1];const s=e.div(n).toString();return e=1===n.length?s:s+"."+i,r&&(e="-"+e),e}function he(e,t){null==t&&(t=0);const n=ue(t);"string"==typeof e&&e.match(/^-?[0-9.]+$/)||ie.throwArgumentError("invalid decimal value","value",e);const r="-"===e.substring(0,1);r&&(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>n.length-1&&le("fractional component exceeds decimals","underflow","parseFixed"),""===o&&(o="0");o.length<n.length-1;)o+="0";const a=Z.from(s),l=Z.from(o);let c=a.mul(n).add(l);return r&&(c=c.mul(ae)),c}class fe{constructor(e,t,n,r){e!==se&&ie.throwError("cannot use FixedFormat constructor; use FixedFormat.from",I.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=n,this.decimals=r,this.name=(t?"":"u")+"fixed"+String(n)+"x"+String(r),this._multiplier=ue(r),Object.freeze(this)}static from(e){if(e instanceof fe)return e;"number"==typeof e&&(e=`fixed128x${e}`);let t=!0,n=128,r=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],n=parseInt(i[2]),r=parseInt(i[3])}else if(e){const i=(t,n,r)=>null==e[t]?r:(typeof e[t]!==n&&ie.throwArgumentError("invalid fixed format ("+t+" not "+n+")","format."+t,e[t]),e[t]);t=i("signed","boolean",t),n=i("width","number",n),r=i("decimals","number",r)}return n%8&&ie.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),r>80&&ie.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",r),new fe(se,t,n,r)}}class pe{constructor(e,t,n,r){e!==se&&ie.throwError("cannot use FixedNumber constructor; use FixedNumber.from",I.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=r,this._hex=t,this._value=n,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),n=he(e._value,e.format.decimals);return pe.fromValue(t.add(n),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=he(this._value,this.format.decimals),n=he(e._value,e.format.decimals);return pe.fromValue(t.sub(n),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=he(this._value,this.format.decimals),n=he(e._value,e.format.decimals);return pe.fromValue(t.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=he(this._value,this.format.decimals),n=he(e._value,e.format.decimals);return pe.fromValue(t.mul(this.format._multiplier).div(n),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 n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(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 n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(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 n=pe.from("1"+ce.substring(0,e),this.format),r=ge.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(r).floor().divUnsafe(n)}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 Y(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,n){return null!=n||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||N(e))}(t)||(n=t,t=null),null==t&&(t=0),null==n&&(n="fixed"),pe.fromString(de(e,t),fe.from(n))}static fromString(e,t){null==t&&(t="fixed");const n=fe.from(t),r=he(e,n.decimals);!n.signed&&r.lt(oe)&&le("unsigned value cannot be negative","overflow","value",e);let i=null;n.signed?i=r.toTwos(n.width).toHexString():(i=r.toHexString(),i=Y(i,n.width/8));const s=de(r,n.decimals);return new pe(se,i,s,n)}static fromBytes(e,t){null==t&&(t="fixed");const n=fe.from(t);if(S(e).length>n.width/8)throw new Error("overflow");let r=Z.from(e);n.signed&&(r=r.fromTwos(n.width));const i=r.toTwos((n.signed?0:1)+n.width).toHexString(),s=de(r,n.decimals);return new pe(se,i,s,n)}static from(e,t){if("string"==typeof e)return pe.fromString(e,t);if(N(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,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const Ae=new I("properties/5.7.0");function Ee(e,t,n){Object.defineProperty(e,t,{enumerable:!0,value:n,writable:!1})}function ve(e,t){for(let n=0;n<32;n++){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 n=e[t];return Promise.resolve(n).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 n in e)t[n]=e[n];return t}const Oe={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function De(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 n=0;n<t.length;n++){let r=null;try{r=e[t[n]]}catch(e){continue}if(!De(r))return!1}return!0}return Ae.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function Pe(e){if(De(e))return e;if(Array.isArray(e))return Object.freeze(e.map((e=>Te(e))));if("object"==typeof e){const t={};for(const n in e){const r=e[n];void 0!==r&&Ee(t,n,Te(r))}return t}return Ae.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function Te(e){return Pe(e)}class _e{constructor(e){for(const t in e)this[t]=Te(e[t])}}var Ie=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const Ce=new I("abstract-provider/5.7.0");class Re extends _e{static isForkEvent(e){return!(!e||!e._isForkEvent)}}class Be{constructor(){Ce.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 n=null,r=null,i=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,i=Z.from("1500000000"),r=e.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:n,maxFeePerGas:r,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 ke(e){const t=function(t,n){null==n&&(n={});const r=[];if(t.InfuraProvider&&"-"!==n.infura)try{r.push(new t.InfuraProvider(e,n.infura))}catch(e){}if(t.EtherscanProvider&&"-"!==n.etherscan)try{r.push(new t.EtherscanProvider(e,n.etherscan))}catch(e){}if(t.AlchemyProvider&&"-"!==n.alchemy)try{r.push(new t.AlchemyProvider(e,n.alchemy))}catch(e){}if(t.PocketProvider&&"-"!==n.pocket){const i=["goerli","ropsten","rinkeby","sepolia"];try{const s=new t.PocketProvider(e,n.pocket);s.network&&-1===i.indexOf(s.network.name)&&r.push(s)}catch(e){}}if(t.CloudflareProvider&&"-"!==n.cloudflare)try{r.push(new t.CloudflareProvider(e))}catch(e){}if(t.AnkrProvider&&"-"!==n.ankr)try{const i=["ropsten"],s=new t.AnkrProvider(e,n.ankr);s.network&&-1===i.indexOf(s.network.name)&&r.push(s)}catch(e){}if(0===r.length)return null;if(t.FallbackProvider){let i=1;return null!=n.quorum?i=n.quorum:"homestead"===e&&(i=2),new t.FallbackProvider(r,i)}return r[0]};return t.renetwork=function(e){return ke(e)},t}function Ne(e,t){const n=function(n,r){return n.JsonRpcProvider?new n.JsonRpcProvider(e,t):null};return n.renetwork=function(t){return Ne(e,t)},n}const Se={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:ke("homestead")},Le={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:ke("ropsten")},Fe={chainId:63,name:"classicMordor",_defaultProvider:Ne("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:ke("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:ke("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:ke("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:ke("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:Ne("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:Fe,classicTestnet:Fe,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:Ne("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:ke("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:ke("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 n=0;n<e.length;n++)t.push(e.charCodeAt(n));return S(t)}function Ue(e){e=S(e);let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);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 n=[0];for(let e=0;e<t.length;++e){let r=t[e];for(let e=0;e<n.length;++e)r+=n[e]<<8,n[e]=r%this.base,r=r/this.base|0;for(;r>0;)n.push(r%this.base),r=r/this.base|0}let r="";for(let e=0;0===t[e]&&e<t.length-1;++e)r+=this._leader;for(let e=n.length-1;e>=0;--e)r+=this.alphabet[n[e]];return r}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 n=0;n<e.length;n++){let r=this._alphabetMap[e[n]];if(void 0===r)throw new Error("Non-base"+this.base+" character");let i=r;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 n=0;e[n]===this._leader&&n<e.length-1;++n)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),Ye=Z.from(1),Ge=Z.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function $e(e){return"0x"+t.keccak_256(S(e))}const Xe=new I("strings/5.7.0");var ze,Ke;function Je(e,t,n,r,i){if(e===Ke.BAD_PREFIX||e===Ke.UNEXPECTED_CONTINUE){let e=0;for(let r=t+1;r<n.length&&n[r]>>6==2;r++)e++;return e}return e===Ke.OVERRUN?n.length-t-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(ze||(ze={})),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"}(Ke||(Ke={}));const We=Object.freeze({error:function(e,t,n,r,i){return Xe.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",n)},ignore:Je,replace:function(e,t,n,r,i){return e===Ke.OVERLONG?(r.push(i),0):(r.push(65533),Je(e,t,n))}});function Ze(e,t){null==t&&(t=We.error),e=S(e);const n=[];let r=0;for(;r<e.length;){const i=e[r++];if(!(i>>7)){n.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)){r+=t(128==(192&i)?Ke.UNEXPECTED_CONTINUE:Ke.BAD_PREFIX,r-1,e,n);continue}s=3,o=65535}if(r-1+s>=e.length){r+=t(Ke.OVERRUN,r-1,e,n);continue}let a=i&(1<<8-s-1)-1;for(let i=0;i<s;i++){let i=e[r];if(128!=(192&i)){r+=t(Ke.MISSING_CONTINUE,r,e,n),a=null;break}a=a<<6|63&i,r++}null!==a&&(a>1114111?r+=t(Ke.OUT_OF_RANGE,r-1-s,e,n,a):a>=55296&&a<=57343?r+=t(Ke.UTF16_SURROGATE,r-1-s,e,n,a):a<=o?r+=t(Ke.OVERLONG,r-1-s,e,n,a):n.push(a))}return n}function et(e,t=ze.current){t!=ze.current&&(Xe.checkNormalize(),e=e.normalize(t));let n=[];for(let t=0;t<e.length;t++){const r=e.charCodeAt(t);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(63&r|128);else if(55296==(64512&r)){t++;const i=e.charCodeAt(t);if(t>=e.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const s=65536+((1023&r)<<10)+(1023&i);n.push(s>>18|240),n.push(s>>12&63|128),n.push(s>>6&63|128),n.push(63&s|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(63&r|128)}return S(n)}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 nt(e){return $e(et(e))}const rt="hash/5.7.0";function it(e,t){null==t&&(t=1);const n=[],r=n.forEach,i=function(e,t){r.call(e,(function(e){t>0&&Array.isArray(e)?i(e,t-1):n.push(e)}))};return i(e,t),n}function st(e){return function(e){let t=0;return()=>e[t++]}(function(e){let t=0;function n(){return e[t++]<<8|e[t++]}let r=n(),i=1,s=[0,1];for(let e=1;e<r;e++)s.push(i+=n());let o=n(),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,n=r;for(;n-t>1;){let r=t+n>>>1;e<s[r]?n=r:t=r}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=r-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 n=Array(e);for(let r=0,i=-1;r<e;r++)n[r]=i+=1+t();return n}function lt(e,t){let n=Array(e);for(let r=0,i=0;r<e;r++)n[r]=i+=ot(t());return n}function ct(e,t){let n=at(e(),e),r=e(),i=at(r,e),s=function(e,t){let n=Array(e);for(let r=0;r<e;r++)n[r]=1+t();return n}(r,e);for(let e=0;e<r;e++)for(let t=0;t<s[e];t++)n.push(i[e]+t);return t?n.map((e=>t[e])):n}function ut(e,t,n){let r=Array(e).fill(void 0).map((()=>[]));for(let i=0;i<t;i++)lt(e,n).forEach(((e,t)=>r[t].push(e)));return r}function dt(e,t){let n=1+t(),r=t(),i=function(e){let t=[];for(;;){let n=e();if(0==n)break;t.push(n)}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*r;return[s+t*n,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 n=e();if(0==n)break;t.push(dt(n,e))}for(;;){let n=e()-1;if(n<0)break;t.push(ht(n,e))}return function(e){const t={};for(let n=0;n<e.length;n++){const r=e[n];t[r[0]]=r[1]}return t}(it(t))}(ft),yt=function(e){let t=ct(e).sort(((e,t)=>e-t));return function n(){let r=[];for(;;){let i=ct(e,t);if(0==i.length)break;r.push({set:new Set(i),node:n()})}r.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:r,valid:s,fe0f:o,save:1==i,check:2==i}}()}(ft),At=45,Et=95;function vt(e){return function(e,t=ze.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 n=vt(e).reverse(),r=[];for(;n.length;){let e=Dt(n);if(e){r.push(...t(e));continue}let i=n.pop();if(pt.has(i)){r.push(i);continue}if(mt.has(i))continue;let s=gt[i];if(!s)throw new Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`);r.push(...s)}return wt((i=String.fromCodePoint(...r),i.normalize("NFC")));var i}(e,bt))}function Dt(e,t){var n;let r,i,s=yt,o=[],a=e.length;for(;a;){let t=e[--a];if(s=null===(n=s.branches.find((e=>e.set.has(t))))||void 0===n?void 0:n.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&&(r=o.slice(),2==s.valid&&r.splice(1,1),e.length=a)}return r}const Pt=new I(rt),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)),n=[];if(0===e.length)return n;let r=0;for(let e=0;e<t.length;e++){46===t[e]&&(n.push(_t(t.slice(r,e))),r=e+1)}if(r>=t.length)throw new Error("invalid ENS name; empty component");return n.push(_t(t.slice(r))),n}function Ct(e){"string"!=typeof e&&Pt.throwArgumentError("invalid ENS name; not a string","name",e);let t=Tt;const n=It(e);for(;n.length;)t=$e(L([t,$e(n.pop())]));return U(t)}Tt.fill(0);const Rt=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,n){let r=0;for(let i=0;i<n;i++)r=256*r+e[t+i];return r}function kt(e){if(Array.isArray(e)){let t=[];if(e.forEach((function(e){t=t.concat(kt(e))})),t.length<=55)return t.unshift(192+t.length),t;const n=Bt(t.length);return n.unshift(247+n.length),n.concat(t)}x(e)||Rt.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 n=Bt(t.length);return n.unshift(183+n.length),n.concat(t)}function Nt(e){return U(kt(e))}function St(e,t,n,r){const i=[];for(;n<t+1+r;){const s=Lt(e,n);i.push(s.result),(n+=s.consumed)>t+1+r&&Rt.throwError("child data too short",I.errors.BUFFER_OVERRUN,{})}return{consumed:1+r,result:i}}function Lt(e,t){if(0===e.length&&Rt.throwError("data too short",I.errors.BUFFER_OVERRUN,{}),e[t]>=248){const n=e[t]-247;t+1+n>e.length&&Rt.throwError("data short segment too short",I.errors.BUFFER_OVERRUN,{});const r=xt(e,t+1,n);return t+1+n+r>e.length&&Rt.throwError("data long segment too short",I.errors.BUFFER_OVERRUN,{}),St(e,t,t+1+n,n+r)}if(e[t]>=192){const n=e[t]-192;return t+1+n>e.length&&Rt.throwError("data array too short",I.errors.BUFFER_OVERRUN,{}),St(e,t,t+1,n)}if(e[t]>=184){const n=e[t]-183;t+1+n>e.length&&Rt.throwError("data array too short",I.errors.BUFFER_OVERRUN,{});const r=xt(e,t+1,n);t+1+n+r>e.length&&Rt.throwError("data array too short",I.errors.BUFFER_OVERRUN,{});return{consumed:1+n+r,result:U(e.slice(t+1+n,t+1+n+r))}}if(e[t]>=128){const n=e[t]-128;t+1+n>e.length&&Rt.throwError("data too short",I.errors.BUFFER_OVERRUN,{});return{consumed:1+n,result:U(e.slice(t+1,t+1+n))}}return{consumed:1,result:U(e[t])}}function Ft(e){const t=S(e),n=Lt(t,0);return n.consumed!==t.length&&Rt.throwArgumentError("invalid rlp data","data",e),n.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(""),n=new Uint8Array(40);for(let e=0;e<40;e++)n[e]=t[e].charCodeAt(0);const r=S($e(n));for(let e=0;e<40;e+=2)r[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&r[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 n=String(98-parseInt(t,10)%97);for(;n.length<2;)n="0"+n;return n}(e)&&Mt.throwArgumentError("bad icap checksum","address",e),n=e.substring(4),t=new X(n,36).toString(16);t.length<40;)t="0"+t;t=qt("0x"+t)}else Mt.throwArgumentError("invalid address","address",e);var n;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($e(Nt([t,F(S(Z.from(e.nonce).toHexString()))])),12))}var Yt=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const Gt=new I(rt),$t=new Uint8Array(32);$t.fill(0);const Xt=Z.from(-1),zt=Z.from(0),Kt=Z.from(1),Jt=Z.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const Wt=Y(Kt.toHexString(),32),Zt=Y(zt.toHexString(),32),en={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},tn=["name","version","chainId","verifyingContract","salt"];function nn(e){return function(t){return"string"!=typeof t&&Gt.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}const rn={name:nn("name"),version:nn("version"),chainId:function(e){try{return Z.from(e).toString()}catch(e){}return Gt.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return jt(e).toLowerCase()}catch(e){}return Gt.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 Gt.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function sn(e){{const t=e.match(/^(u?)int(\d*)$/);if(t){const n=""===t[1],r=parseInt(t[2]||"256");(r%8!=0||r>256||t[2]&&t[2]!==String(r))&&Gt.throwArgumentError("invalid numeric width","type",e);const i=Jt.mask(n?r-1:r),s=n?i.add(Kt).mul(Xt):zt;return function(t){const n=Z.from(t);return(n.lt(s)||n.gt(i))&&Gt.throwArgumentError(`value out-of-bounds for ${e}`,"value",t),Y(n.toTwos(256).toHexString(),32)}}}{const t=e.match(/^bytes(\d+)$/);if(t){const n=parseInt(t[1]);return(0===n||n>32||t[1]!==String(n))&&Gt.throwArgumentError("invalid bytes width","type",e),function(t){return S(t).length!==n&&Gt.throwArgumentError(`invalid length for ${e}`,"value",t),function(e){const t=S(e),n=t.length%32;return n?j([t,$t.slice(n)]):U(t)}(t)}}}switch(e){case"address":return function(e){return Y(jt(e),32)};case"bool":return function(e){return e?Wt:Zt};case"bytes":return function(e){return $e(e)};case"string":return function(e){return nt(e)}}return null}function on(e,t){return`${e}(${t.map((({name:e,type:t})=>t+" "+e)).join(",")})`}class an{constructor(e){Ee(this,"types",Object.freeze(Te(e))),Ee(this,"_encoderCache",{}),Ee(this,"_types",{});const t={},n={},r={};Object.keys(e).forEach((e=>{t[e]={},n[e]=[],r[e]={}}));for(const r in e){const i={};e[r].forEach((s=>{i[s.name]&&Gt.throwArgumentError(`duplicate variable name ${JSON.stringify(s.name)} in ${JSON.stringify(r)}`,"types",e),i[s.name]=!0;const o=s.type.match(/^([^\x5b]*)(\x5b|$)/)[1];o===r&&Gt.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",e);sn(o)||(n[o]||Gt.throwArgumentError(`unknown type ${JSON.stringify(o)}`,"types",e),n[o].push(r),t[r][o]=!0)}))}const i=Object.keys(n).filter((e=>0===n[e].length));0===i.length?Gt.throwArgumentError("missing primary type","types",e):i.length>1&&Gt.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]&&Gt.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",e),o[s]=!0,Object.keys(t[s]).forEach((e=>{n[e]&&(i(e,o),Object.keys(o).forEach((t=>{r[t][e]=!0})))})),delete o[s]}(this.primaryType,{});for(const t in r){const n=Object.keys(r[t]);n.sort(),this._types[t]=on(t,e[t])+n.map((t=>on(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=sn(e);if(t)return t}const t=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(t){const e=t[1],n=this.getEncoder(e),r=parseInt(t[3]);return t=>{r>=0&&t.length!==r&&Gt.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);let i=t.map(n);return this._types[e]&&(i=i.map($e)),$e(j(i))}}const n=this.types[e];if(n){const t=nt(this._types[e]);return e=>{const r=n.map((({name:t,type:n})=>{const r=this.getEncoder(n)(e[t]);return this._types[n]?$e(r):r}));return r.unshift(t),j(r)}}return Gt.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const t=this._types[e];return t||Gt.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return $e(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,n){if(sn(e))return n(e,t);const r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const e=r[1],i=parseInt(r[3]);return i>=0&&t.length!==i&&Gt.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map((t=>this._visit(e,t,n)))}const i=this.types[e];return i?i.reduce(((e,{name:r,type:i})=>(e[r]=this._visit(i,t[r],n),e)),{}):Gt.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new an(e)}static getPrimaryType(e){return an.from(e).primaryType}static hashStruct(e,t,n){return an.from(t).hashStruct(e,n)}static hashDomain(e){const t=[];for(const n in e){const r=en[n];r||Gt.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),t.push({name:n,type:r})}return t.sort(((e,t)=>tn.indexOf(e.name)-tn.indexOf(t.name))),an.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,n){return j(["0x1901",an.hashDomain(e),an.from(t).hash(n)])}static hash(e,t,n){return $e(an.encode(e,t,n))}static resolveNames(e,t,n,r){return Yt(this,void 0,void 0,(function*(){e=we(e);const i={};e.verifyingContract&&!M(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const s=an.from(t);s.visit(n,((e,t)=>("address"!==e||M(t,20)||(i[t]="0x"),t)));for(const e in i)i[e]=yield r(e);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=s.visit(n,((e,t)=>"address"===e&&i[t]?i[t]:t)),{domain:e,value:n}}))}static getPayload(e,t,n){an.hashDomain(e);const r={},i=[];tn.forEach((t=>{const n=e[t];null!=n&&(r[t]=rn[t](n),i.push({name:t,type:en[t]}))}));const s=an.from(t),o=we(t);return o.EIP712Domain?Gt.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",t):o.EIP712Domain=i,s.encode(n),{types:o,domain:r,primaryType:s.primaryType,message:s.visit(n,((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&&Gt.throwArgumentError("invalid string","value",t),t}return Gt.throwArgumentError("unsupported type","type",e)}))}}}function ln(e){return"0x"+r.sha256().update(S(e)).digest("hex")}var cn=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};function un(e,t){return cn(this,void 0,void 0,(function*(){null==t&&(t={});const n={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0};if(!0!==t.skipFetchSetup&&(n.mode="cors",n.cache="no-cache",n.credentials="same-origin",n.redirect="follow",n.referrer="client"),null!=t.fetchOptions){const e=t.fetchOptions;e.mode&&(n.mode=e.mode),e.cache&&(n.cache=e.cache),e.credentials&&(n.credentials=e.credentials),e.redirect&&(n.redirect=e.redirect),e.referrer&&(n.referrer=e.referrer)}const r=yield fetch(e,n),i=yield r.arrayBuffer(),s={};return r.headers.forEach?r.headers.forEach(((e,t)=>{s[t.toLowerCase()]=e})):r.headers.keys().forEach((e=>{s[e.toLowerCase()]=r.headers.get(e)})),{headers:s,statusCode:r.status,statusMessage:r.statusText,body:S(new Uint8Array(i))}}))}var dn=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const hn=new I("web/5.7.1");function fn(e){return new Promise((t=>{setTimeout(t,e)}))}function pn(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 mn(e,t,n){let r=null;if(null!=t){r=et(t);const n="string"==typeof e?{url:e}:we(e);if(n.headers){0!==Object.keys(n.headers).filter((e=>"content-type"===e.toLowerCase())).length||(n.headers=we(n.headers),n.headers["content-type"]="application/json")}else n.headers={"content-type":"application/json"};e=n}return function(e,t,n){const r="object"==typeof e&&null!=e.throttleLimit?e.throttleLimit:12;hn.assertArgument(r>0&&r%1==0,"invalid connection throttle limit","connection.throttleLimit",r);const i="object"==typeof e?e.throttleCallback:null,s="object"==typeof e&&"number"==typeof e.throttleSlotInterval?e.throttleSlotInterval:100;hn.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||hn.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&&hn.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 n&&(t=n(e.body,e)),Promise.resolve(t)}catch(e){hn.throwError("processing response error",I.errors.SERVER_ERROR,{body:pn(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,n){d&&(e=setTimeout((()=>{null!=e&&(e=null,n(hn.makeError("timeout",I.errors.TIMEOUT,{requestBody:pn(c.body,m["content-type"]),requestMethod:c.method,timeout:d,url:l})))}),d))})),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),y=function(){return dn(this,void 0,void 0,(function*(){for(let e=0;e<r;e++){let t=null;try{if(t=yield un(l,c),e<r)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 n=!0;if(i&&(n=yield i(e,l)),n){let n=0;const r=t.headers["retry-after"];n="string"==typeof r&&r.match(/^[1-9][0-9]*$/)?1e3*parseInt(r):s*parseInt(String(Math.random()*Math.pow(2,e))),yield fn(n);continue}}}catch(e){t=e.response,null==t&&(g.cancel(),hn.throwError("missing response",I.errors.SERVER_ERROR,{requestBody:pn(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(),hn.throwError("bad response",I.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:pn(a,t.headers?t.headers["content-type"]:null),requestBody:pn(c.body,m["content-type"]),requestMethod:c.method,url:l})),n)try{const e=yield n(a,t);return g.cancel(),e}catch(n){if(n.throttleRetry&&e<r){let t=!0;if(i&&(t=yield i(e,l)),t){const t=s*parseInt(String(Math.random()*Math.pow(2,e)));yield fn(t);continue}}g.cancel(),hn.throwError("processing response error",I.errors.SERVER_ERROR,{body:pn(a,t.headers?t.headers["content-type"]:null),error:n,requestBody:pn(c.body,m["content-type"]),requestMethod:c.method,url:l})}return g.cancel(),a}return hn.throwError("failed response",I.errors.SERVER_ERROR,{requestBody:pn(c.body,m["content-type"]),requestMethod:c.method,url:l})}))}();return Promise.race([g.promise,y])}(e,r,((e,t)=>{let r=null;if(null!=e)try{r=JSON.parse(tt(e))}catch(t){hn.throwError("invalid JSON",I.errors.SERVER_ERROR,{body:e,error:t})}return n&&(r=n(r,t)),r}))}function gn(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(n,r){let i=null,s=!1;const o=()=>!s&&(s=!0,i&&clearTimeout(i),!0);t.timeout&&(i=setTimeout((()=>{o()&&r(new Error("timeout"))}),t.timeout));const a=t.retryLimit;let l=0;!function i(){return e().then((function(e){if(void 0!==e)o()&&n(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()&&r(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()&&r(e)}))}()}))}const yn="providers/5.7.2";function An(e,t,n){return n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},e(n,n.exports),n.exports}var En=vn;function vn(e,t){if(!e)throw new Error(t||"Assertion failed")}vn.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)};var bn=An((function(e,t){var n=t;function r(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",n=0;n<e.length;n++)t+=r(e[n].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"!=typeof e){for(var r=0;r<e.length;r++)n[r]=0|e[r];return n}if("hex"===t){(e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e);for(r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(r=0;r<e.length;r++){var i=e.charCodeAt(r),s=i>>8,o=255&i;s?n.push(s,o):n.push(o)}return n},n.zero2=r,n.toHex=i,n.encode=function(e,t){return"hex"===t?i(e):e}})),wn=An((function(e,t){var r=t;r.assert=En,r.toArray=bn.toArray,r.zero2=bn.zero2,r.toHex=bn.toHex,r.encode=bn.encode,r.getNAF=function(e,t,n){var r=new Array(Math.max(e.bitLength(),n)+1);r.fill(0);for(var i=1<<t+1,s=e.clone(),o=0;o<r.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,r[o]=a,s.iushrn(1)}return r},r.getJSF=function(e,t){var n=[[],[]];e=e.clone(),t=t.clone();for(var r,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!==(r=e.andln(7)+i&7)&&5!==r||2!==c?l:-l:0,n[0].push(o),a=1&c?3!==(r=t.andln(7)+s&7)&&5!==r||2!==l?c:-c:0,n[1].push(a),2*i===o+1&&(i=1-i),2*s===a+1&&(s=1-s),e.iushrn(1),t.iushrn(1)}return n},r.cachedProperty=function(e,t,n){var r="_"+t;e.prototype[t]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new n(e,"hex","le")}})),On=wn.getNAF,Dn=wn.getJSF,Pn=wn.assert;function Tn(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(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 r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var _n=Tn;function In(e,t){this.curve=e,this.type=t,this.precomputed=null}Tn.prototype.point=function(){throw new Error("Not implemented")},Tn.prototype.validate=function(){throw new Error("Not implemented")},Tn.prototype._fixedNafMul=function(e,t){Pn(e.precomputed);var n=e._getDoubles(),r=On(t,1,this._bitLength),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;var s,o,a=[];for(s=0;s<r.length;s+=n.step){o=0;for(var l=s+n.step-1;l>=s;l--)o=(o<<1)+r[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(n.points[s]):o===-d&&(u=u.mixedAdd(n.points[s].neg()));c=c.add(u)}return c.toP()},Tn.prototype._wnafMul=function(e,t){var n=4,r=e._getNAFPoints(n);n=r.wnd;for(var i=r.points,s=On(t,n,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];Pn(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},Tn.prototype._wnafMulAdd=function(e,t,n,r,i){var s,o,a,l=this._wnafT1,c=this._wnafT2,u=this._wnafT3,d=0;for(s=0;s<r;s++){var h=(a=t[s])._getNAFPoints(e);l[s]=h.wnd,c[s]=h.points}for(s=r-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=Dn(n[f],n[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]=On(n[f],l[f],this._bitLength),u[p]=On(n[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<r;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<r;o++){var D=b[o];0!==D&&(D>0?a=c[o][D-1>>1]:D<0&&(a=c[o][-D-1>>1].neg()),v="affine"===a.type?v.mixedAdd(a):v.add(a))}}for(s=0;s<r;s++)c[s]=null;return i?v:v.toP()},Tn.BasePoint=In,In.prototype.eq=function(){throw new Error("Not implemented")},In.prototype.validate=function(){return this.curve.validate(this)},Tn.prototype.decodePoint=function(e,t){e=wn.toArray(e,t);var n=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*n)return 6===e[0]?Pn(e[e.length-1]%2==0):7===e[0]&&Pn(e[e.length-1]%2==1),this.point(e.slice(1,1+n),e.slice(1+n,1+2*n));if((2===e[0]||3===e[0])&&e.length-1===n)return this.pointFromX(e.slice(1,1+n),3===e[0]);throw new Error("Unknown point format")},In.prototype.encodeCompressed=function(e){return this.encode(e,!0)},In.prototype._encode=function(e){var t=this.curve.p.byteLength(),n=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",t))},In.prototype.encode=function(e,t){return wn.encode(this._encode(t),e)},In.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},In.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)},In.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<t;i+=e){for(var s=0;s<e;s++)r=r.dbl();n.push(r)}return{step:e,points:n}},In.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],n=(1<<e)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)t[i]=t[i-1].add(r);return{wnd:e,points:t}},In.prototype._getBeta=function(){return null},In.prototype.dblp=function(e){for(var t=this,n=0;n<e;n++)t=t.dbl();return t};var Cn=An((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 n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Rn=wn.assert;function Bn(e){_n.call(this,"short",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(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)}Cn(Bn,_n);var xn=Bn;function kn(e,t,r,i){_n.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new n(t,16),this.y=new n(r,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 Nn(e,t,r,i){_n.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new n(0)):(this.x=new n(t,16),this.y=new n(r,16),this.z=new n(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}Bn.prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new n(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)r=new n(e.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))?r=s[0]:(r=s[1],Rn(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new n(e.a,16),b:new n(e.b,16)}})):this._getEndoBasis(r)}}},Bn.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:n.mont(e),r=new n(2).toRed(t).redInvm(),i=r.redNeg(),s=new n(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(s).fromRed(),i.redSub(s).fromRed()]},Bn.prototype._getEndoBasis=function(e){for(var t,r,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 n(1),m=new n(0),g=new n(0),y=new n(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(),r=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=r),i.negative&&(i=i.neg(),s=s.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:i,b:s},{a:o,b:a}]},Bn.prototype._endoSplit=function(e){var t=this.endo.basis,n=t[0],r=t[1],i=r.b.mul(e).divRound(this.n),s=n.b.neg().mul(e).divRound(this.n),o=i.mul(n.a),a=s.mul(r.a),l=i.mul(n.b),c=s.mul(r.b);return{k1:e.sub(o).sub(a),k2:l.add(c).neg()}},Bn.prototype.pointFromX=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).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)},Bn.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,n=e.y,r=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},Bn.prototype._endoWnafMulAdd=function(e,t,n){for(var r=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)),r[2*s]=a,r[2*s+1]=l,i[2*s]=o.k1,i[2*s+1]=o.k2}for(var c=this._wnafMulAdd(1,r,i,2*s,n),u=0;u<2*s;u++)r[u]=null,i[u]=null;return c},Cn(kn,_n.BasePoint),Bn.prototype.point=function(e,t,n){return new kn(this,e,t,n)},Bn.prototype.pointFromJSON=function(e,t){return kn.fromJSON(this,e,t)},kn.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 n=this.curve,r=function(e){return n.point(e.x.redMul(n.endo.beta),e.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(r)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(r)}}}return t}},kn.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]},kn.fromJSON=function(e,t,n){"string"==typeof t&&(t=JSON.parse(t));var r=e.point(t[0],t[1],n);if(!t[2])return r;function i(t){return e.point(t[0],t[1],n)}var s=t[2];return r.precomputed={beta:null,doubles:s.doubles&&{step:s.doubles.step,points:[r].concat(s.doubles.points.map(i))},naf:s.naf&&{wnd:s.naf.wnd,points:[r].concat(s.naf.points.map(i))}},r},kn.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)+">"},kn.prototype.isInfinity=function(){return this.inf},kn.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 n=t.redSqr().redISub(this.x).redISub(e.x),r=t.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},kn.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,n=this.x.redSqr(),r=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(t).redMul(r),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)},kn.prototype.getX=function(){return this.x.fromRed()},kn.prototype.getY=function(){return this.y.fromRed()},kn.prototype.mul=function(e){return e=new n(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)},kn.prototype.mulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},kn.prototype.jmulAdd=function(e,t,n){var r=[this,t],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},kn.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))},kn.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,r=function(e){return e.neg()};t.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return t},kn.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Cn(Nn,_n.BasePoint),Bn.prototype.jpoint=function(e,t,n){return new Nn(this,e,t,n)},Nn.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),n=this.x.redMul(t),r=this.y.redMul(t).redMul(e);return this.curve.point(n,r)},Nn.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Nn.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(t),i=e.x.redMul(n),s=this.y.redMul(t.redMul(e.z)),o=e.y.redMul(n.redMul(this.z)),a=r.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=r.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)},Nn.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),n=this.x,r=e.x.redMul(t),i=this.y,s=e.y.redMul(t).redMul(this.z),o=n.redSub(r),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=n.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)},Nn.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 n=this;for(t=0;t<e;t++)n=n.dbl();return n}var r=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(r.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)},Nn.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Nn.prototype._zeroDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(s);o=o.redIAdd(o);var a=r.redAdd(r).redIAdd(r),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),n=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),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(e,t,n)},Nn.prototype._threeDbl=function(){var e,t,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),s=i.redSqr(),o=this.x.redAdd(i).redSqr().redISub(r).redISub(s);o=o.redIAdd(o);var a=r.redAdd(r).redIAdd(r).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),n=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),n=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,n)},Nn.prototype._dbl=function(){var e=this.curve.a,t=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),s=t.redSqr(),o=n.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=n.redAdd(n).redMul(r);return this.curve.jpoint(u,f,p)},Nn.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),n=this.z.redSqr(),r=t.redSqr(),i=e.redAdd(e).redIAdd(e),s=i.redSqr(),o=this.x.redAdd(t).redSqr().redISub(e).redISub(r),a=(o=(o=(o=o.redIAdd(o)).redAdd(o).redIAdd(o)).redISub(s)).redSqr(),l=r.redIAdd(r);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(n).redISub(a);return this.curve.jpoint(d,h,f)},Nn.prototype.mul=function(e,t){return e=new n(e,t),this.curve._wnafMul(this,e)},Nn.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),n=e.z.redSqr();if(0!==this.x.redMul(n).redISub(e.x.redMul(t)).cmpn(0))return!1;var r=t.redMul(this.z),i=n.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(r)).cmpn(0)},Nn.prototype.eqXToP=function(e){var t=this.z.redSqr(),n=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(n))return!0;for(var r=e.clone(),i=this.curve.redN.redMul(t);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},Nn.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)+">"},Nn.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Sn=An((function(e,t){var n=t;n.base=_n,n.short=xn,n.mont=null,n.edwards=null})),Ln=An((function(e,t){var n,i=t,s=wn.assert;function o(e){"short"===e.type?this.curve=new Sn.short(e):"edwards"===e.type?this.curve=new Sn.edwards(e):this.curve=new Sn.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 n=new o(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:n}),n}})}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:r.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:r.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:r.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:r.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:r.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:r.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:r.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=null.crash()}catch(e){n=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:r.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})}));function Fn(e){if(!(this instanceof Fn))return new Fn(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=bn.toArray(e.entropy,e.entropyEnc||"hex"),n=bn.toArray(e.nonce,e.nonceEnc||"hex"),r=bn.toArray(e.pers,e.persEnc||"hex");En(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,n,r)}var Mn=Fn;Fn.prototype._init=function(e,t,n){var r=e.concat(t).concat(n);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(r),this._reseed=1,this.reseedInterval=281474976710656},Fn.prototype._hmac=function(){return new r.hmac(this.hash,this.K)},Fn.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())},Fn.prototype.reseed=function(e,t,n,r){"string"!=typeof t&&(r=n,n=t,t=null),e=bn.toArray(e,t),n=bn.toArray(n,r),En(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1},Fn.prototype.generate=function(e,t,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(r=n,n=t,t=null),n&&(n=bn.toArray(n,r||"hex"),this._update(n));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(n),this._reseed++,bn.encode(s,t)};var qn=wn.assert;function Un(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 Vn=Un;Un.fromPublic=function(e,t,n){return t instanceof Un?t:new Un(e,{pub:t,pubEnc:n})},Un.fromPrivate=function(e,t,n){return t instanceof Un?t:new Un(e,{priv:t,privEnc:n})},Un.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"}},Un.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},Un.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},Un.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},Un.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?qn(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||qn(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)},Un.prototype.derive=function(e){return e.validate()||qn(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Un.prototype.sign=function(e,t,n){return this.ec.sign(e,this,t,n)},Un.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},Un.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Hn=wn.assert;function jn(e,t){if(e instanceof jn)return e;this._importDER(e,t)||(Hn(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var Qn=jn;function Yn(){this.place=0}function Gn(e,t){var n=e[t.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;for(var i=0,s=0,o=t.place;s<r;s++,o++)i<<=8,i|=e[o],i>>>=0;return!(i<=127)&&(t.place=o,i)}function $n(e){for(var t=0,n=e.length-1;!e[t]&&!(128&e[t+1])&&t<n;)t++;return 0===t?e:e.slice(t)}function Xn(e,t){if(t<128)e.push(t);else{var n=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|n);--n;)e.push(t>>>(n<<3)&255);e.push(t)}}jn.prototype._importDER=function(e,t){e=wn.toArray(e,t);var r=new Yn;if(48!==e[r.place++])return!1;var i=Gn(e,r);if(!1===i)return!1;if(i+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var s=Gn(e,r);if(!1===s)return!1;var o=e.slice(r.place,s+r.place);if(r.place+=s,2!==e[r.place++])return!1;var a=Gn(e,r);if(!1===a)return!1;if(e.length!==a+r.place)return!1;var l=e.slice(r.place,a+r.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 n(o),this.s=new n(l),this.recoveryParam=null,!0},jn.prototype.toDER=function(e){var t=this.r.toArray(),n=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&n[0]&&(n=[0].concat(n)),t=$n(t),n=$n(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];Xn(r,t.length),(r=r.concat(t)).push(2),Xn(r,n.length);var i=r.concat(n),s=[48];return Xn(s,i.length),s=s.concat(i),wn.encode(s,e)};var zn=function(){throw new Error("unsupported")},Kn=wn.assert;function Jn(e){if(!(this instanceof Jn))return new Jn(e);"string"==typeof e&&(Kn(Object.prototype.hasOwnProperty.call(Ln,e),"Unknown curve "+e),e=Ln[e]),e instanceof Ln.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 Wn=Jn;Jn.prototype.keyPair=function(e){return new Vn(this,e)},Jn.prototype.keyFromPrivate=function(e,t){return Vn.fromPrivate(this,e,t)},Jn.prototype.keyFromPublic=function(e,t){return Vn.fromPublic(this,e,t)},Jn.prototype.genKeyPair=function(e){e||(e={});for(var t=new Mn({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||zn(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),i=this.n.sub(new n(2));;){var s=new n(t.generate(r));if(!(s.cmp(i)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Jn.prototype._truncateToN=function(e,t){var n=8*e.byteLength()-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},Jn.prototype.sign=function(e,t,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var s=this.n.byteLength(),o=t.getPrivate().toArray("be",s),a=e.toArray("be",s),l=new Mn({hash:this.hash,entropy:o,nonce:a,pers:i.pers,persEnc:i.persEnc||"utf8"}),c=this.n.sub(new n(1)),u=0;;u++){var d=i.k?i.k(u):new n(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 Qn({r:p,s:m,recoveryParam:g})}}}}}},Jn.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var s=(t=new Qn(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,r.getPublic(),u)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(c,r.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},Jn.prototype.recoverPubKey=function(e,t,r,i){Kn((3&r)===r,"The recovery param is more than two bits"),t=new Qn(t,i);var s=this.n,o=new n(e),a=t.r,l=t.s,c=1&r,u=r>>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)},Jn.prototype.getKeyRecoveryParam=function(e,t,n,r){if(null!==(t=new Qn(t,r)).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(n))return i}throw new Error("Unable to find valid recovery factor")};var Zn=An((function(e,t){var n=t;n.version="6.5.4",n.utils=wn,n.rand=function(){throw new Error("unsupported")},n.curve=Sn,n.curves=Ln,n.ec=Wn,n.eddsa=null})).ec;const er=new I("signing-key/5.7.0");let tr=null;function nr(){return tr||(tr=new Zn("secp256k1")),tr}class rr{constructor(e){Ee(this,"curve","secp256k1"),Ee(this,"privateKey",U(e)),32!==V(this.privateKey)&&er.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=nr().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=nr().keyFromPublic(S(this.publicKey)),n=nr().keyFromPublic(S(e));return"0x"+t.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const t=nr().keyFromPrivate(S(this.privateKey)),n=S(e);32!==n.length&&er.throwArgumentError("bad digest length","digest",e);const r=t.sign(n,{canonical:!0});return G({recoveryParam:r.recoveryParam,r:Y("0x"+r.r.toString(16),32),s:Y("0x"+r.s.toString(16),32)})}computeSharedSecret(e){const t=nr().keyFromPrivate(S(this.privateKey)),n=nr().keyFromPublic(S(ir(e)));return Y("0x"+t.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function ir(e,t){const n=S(e);if(32===n.length){return new rr(n).publicKey}return 33===n.length?"0x"+nr().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?U(n):er.throwArgumentError("invalid public or private key","key","[REDACTED]")}const sr=new I("transactions/5.7.0");var or;function ar(e){return"0x"===e?null:jt(e)}function lr(e){return"0x"===e?Qe:Z.from(e)}function cr(e,t){return function(e){return jt(H($e(H(ir(e),1)),12))}(function(e,t){const n=G(t),r={r:S(n.r),s:S(n.s)};return"0x"+nr().recoverPubKey(S(e),r,n.recoveryParam).encode("hex",!1)}(S(e),t))}function ur(e,t){const n=F(Z.from(e).toHexString());return n.length>32&&sr.throwArgumentError("invalid length for "+t,"transaction:"+t,e),n}function dr(e,t){return{address:jt(e),storageKeys:(t||[]).map(((t,n)=>(32!==V(t)&&sr.throwArgumentError("invalid access list storageKey",`accessList[${e}:${n}]`,t),t.toLowerCase())))}}function hr(e){if(Array.isArray(e))return e.map(((e,t)=>Array.isArray(e)?(e.length>2&&sr.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${t}]`,e),dr(e[0],e[1])):dr(e.address,e.storageKeys)));const t=Object.keys(e).map((t=>{const n=e[t].reduce(((e,t)=>(e[t]=!0,e)),{});return dr(t,Object.keys(n).sort())}));return t.sort(((e,t)=>e.address.localeCompare(t.address))),t}function fr(e){return hr(e).map((e=>[e.address,e.storageKeys]))}function pr(e,t){if(null!=e.gasPrice){const t=Z.from(e.gasPrice),n=Z.from(e.maxFeePerGas||0);t.eq(n)||sr.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:t,maxFeePerGas:n})}const n=[ur(e.chainId||0,"chainId"),ur(e.nonce||0,"nonce"),ur(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),ur(e.maxFeePerGas||0,"maxFeePerGas"),ur(e.gasLimit||0,"gasLimit"),null!=e.to?jt(e.to):"0x",ur(e.value||0,"value"),e.data||"0x",fr(e.accessList||[])];if(t){const e=G(t);n.push(ur(e.recoveryParam,"recoveryParam")),n.push(F(e.r)),n.push(F(e.s))}return j(["0x02",Nt(n)])}function mr(e,t){const n=[ur(e.chainId||0,"chainId"),ur(e.nonce||0,"nonce"),ur(e.gasPrice||0,"gasPrice"),ur(e.gasLimit||0,"gasLimit"),null!=e.to?jt(e.to):"0x",ur(e.value||0,"value"),e.data||"0x",fr(e.accessList||[])];if(t){const e=G(t);n.push(ur(e.recoveryParam,"recoveryParam")),n.push(F(e.r)),n.push(F(e.s))}return j(["0x01",Nt(n)])}function gr(e,t,n){try{const n=lr(t[0]).toNumber();if(0!==n&&1!==n)throw new Error("bad recid");e.v=n}catch(e){sr.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=Y(t[1],32),e.s=Y(t[2],32);try{const t=$e(n(e));e.from=cr(t,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}function yr(e){const t=S(e);if(t[0]>127)return function(e){const t=Ft(e);9!==t.length&&6!==t.length&&sr.throwArgumentError("invalid raw transaction","rawTransaction",e);const n={nonce:lr(t[0]).toNumber(),gasPrice:lr(t[1]),gasLimit:lr(t[2]),to:ar(t[3]),value:lr(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=Z.from(t[6]).toNumber()}catch(e){return n}if(n.r=Y(t[7],32),n.s=Y(t[8],32),Z.from(n.r).isZero()&&Z.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);let r=n.v-27;const i=t.slice(0,6);0!==n.chainId&&(i.push(U(n.chainId)),i.push("0x"),i.push("0x"),r-=2*n.chainId+8);const s=$e(Nt(i));try{n.from=cr(s,{r:U(n.r),s:U(n.s),recoveryParam:r})}catch(e){}n.hash=$e(e)}return n.type=null,n}(t);switch(t[0]){case 1:return function(e){const t=Ft(e.slice(1));8!==t.length&&11!==t.length&&sr.throwArgumentError("invalid component count for transaction type: 1","payload",U(e));const n={type:1,chainId:lr(t[0]).toNumber(),nonce:lr(t[1]).toNumber(),gasPrice:lr(t[2]),gasLimit:lr(t[3]),to:ar(t[4]),value:lr(t[5]),data:t[6],accessList:hr(t[7])};return 8===t.length||(n.hash=$e(e),gr(n,t.slice(8),mr)),n}(t);case 2:return function(e){const t=Ft(e.slice(1));9!==t.length&&12!==t.length&&sr.throwArgumentError("invalid component count for transaction type: 2","payload",U(e));const n=lr(t[2]),r=lr(t[3]),i={type:2,chainId:lr(t[0]).toNumber(),nonce:lr(t[1]).toNumber(),maxPriorityFeePerGas:n,maxFeePerGas:r,gasPrice:null,gasLimit:lr(t[4]),to:ar(t[5]),value:lr(t[6]),data:t[7],accessList:hr(t[8])};return 9===t.length||(i.hash=$e(e),gr(i,t.slice(9),pr)),i}(t)}return sr.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"}(or||(or={}));const Ar=new I(yn);class Er{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),n=this.bigNumber.bind(this),r=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:Er.allowNull(this.accessList.bind(this),null),blockHash:Er.allowNull(s,null),blockNumber:Er.allowNull(a,null),transactionIndex:Er.allowNull(a,null),confirmations:Er.allowNull(a,null),from:t,gasPrice:Er.allowNull(n),maxPriorityFeePerGas:Er.allowNull(n),maxFeePerGas:Er.allowNull(n),gasLimit:n,to:Er.allowNull(t,null),value:n,nonce:a,data:i,r:Er.allowNull(this.uint256),s:Er.allowNull(this.uint256),v:Er.allowNull(a),creates:Er.allowNull(t,null),raw:Er.allowNull(i)},e.transactionRequest={from:Er.allowNull(t),nonce:Er.allowNull(a),gasLimit:Er.allowNull(n),gasPrice:Er.allowNull(n),maxPriorityFeePerGas:Er.allowNull(n),maxFeePerGas:Er.allowNull(n),to:Er.allowNull(t),value:Er.allowNull(n),data:Er.allowNull((e=>this.data(e,!0))),type:Er.allowNull(a),accessList:Er.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:a,blockNumber:a,transactionHash:s,address:t,topics:Er.arrayOf(s),data:i,logIndex:a,blockHash:s},e.receipt={to:Er.allowNull(this.address,null),from:Er.allowNull(this.address,null),contractAddress:Er.allowNull(t,null),transactionIndex:a,root:Er.allowNull(o),gasUsed:n,logsBloom:Er.allowNull(i),blockHash:s,transactionHash:s,logs:Er.arrayOf(this.receiptLog.bind(this)),blockNumber:a,confirmations:Er.allowNull(a,null),cumulativeGasUsed:n,effectiveGasPrice:Er.allowNull(n),status:Er.allowNull(a),type:l},e.block={hash:Er.allowNull(s),parentHash:s,number:a,timestamp:a,nonce:Er.allowNull(o),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:Er.allowNull(t),extraData:i,transactions:Er.allowNull(Er.arrayOf(s)),baseFeePerGas:Er.allowNull(n)},e.blockWithTransactions=we(e.block),e.blockWithTransactions.transactions=Er.allowNull(Er.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:Er.allowNull(r,void 0),toBlock:Er.allowNull(r,void 0),blockHash:Er.allowNull(s,void 0),address:Er.allowNull(t,void 0),topics:Er.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:Er.allowNull(a),blockHash:Er.allowNull(s),transactionIndex:a,removed:Er.allowNull(this.boolean.bind(this)),address:t,data:Er.allowFalsish(i,"0x"),topics:Er.arrayOf(s),transactionHash:s,logIndex:a},e}accessList(e){return hr(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():Ar.throwArgumentError("invalid hash","value",e)}data(e,t){const n=this.hex(e,t);if(n.length%2!=0)throw new Error("invalid data; odd-length - "+e);return n}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 n=this.hex(e,t);return 32!==V(n)?Ar.throwArgumentError("invalid hash","value",e):n}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 Y(e,32)}_block(e,t){null!=e.author&&null==e.miner&&(e.miner=e.author);const n=null!=e._difficulty?e._difficulty:e.difficulty,r=Er.check(t,e);return r._difficulty=null==n?null:Z.from(n),r}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return Er.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=Er.check(this.formats.transaction,e);if(null!=e.chainId){let n=e.chainId;M(n)&&(n=Z.from(n).toNumber()),t.chainId=n}else{let n=e.networkId;null==n&&null==t.v&&(n=e.chainId),M(n)&&(n=Z.from(n).toNumber()),"number"!=typeof n&&null!=t.v&&(n=(t.v-35)/2,n<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),t.chainId=n}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return yr(e)}receiptLog(e){return Er.check(this.formats.receiptLog,e)}receipt(e){const t=Er.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&&Ar.throwArgumentError("alt-root-status/status mismatch","value",{root:t.root,status:t.status}),t.status=e,delete t.root):Ar.throwArgumentError("invalid alt-root-status","value.root",t.root)}else 66!==t.root.length&&Ar.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 Er.check(this.formats.filter,e)}filterLog(e){return Er.check(this.formats.filterLog,e)}static check(e,t){const n={};for(const r in e)try{const i=e[r](t[r]);void 0!==i&&(n[r]=i)}catch(e){throw e.checkKey=r,e.checkValue=t[r],e}return n}static allowNull(e,t){return function(n){return null==n?t:e(n)}}static allowFalsish(e,t){return function(n){return n?e(n):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");const n=[];return t.forEach((function(t){n.push(e(t))})),n}}}var vr=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const br=new I(yn);function wr(e){return null==e?"null":(32!==V(e)&&br.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function Or(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[wr(e)]=!0}));const n=Object.keys(t);return n.sort(),n.join("|")}return wr(e)})).join("&")}function Dr(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:*:"+Or(e);if(Re.isForkEvent(e))throw br.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+Or(e.topics||[])}throw new Error("invalid event - "+e)}function Pr(){return(new Date).getTime()}function Tr(e){return new Promise((t=>{setTimeout(t,e)}))}const _r=["block","network","pending","poll"];class Ir{constructor(e,t,n){Ee(this,"tag",e),Ee(this,"listener",t),Ee(this,"once",n),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],n=""===(r=e[2])?[]:r.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 r;const i={};return n.length>0&&(i.topics=n),t&&"*"!==t&&(i.address=t),i}pollable(){return this.tag.indexOf(":")>=0||_r.indexOf(this.tag)>=0}}const Cr={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 Rr(e){return Y(Z.from(e).toHexString(),32)}function Br(e){return He.encode(L([e,H(ln(ln(e)),0,4)]))}const xr=new RegExp("^(ipfs)://(.*)$","i"),kr=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),xr,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function Nr(e,t){try{return tt(Sr(e,t))}catch(e){}return null}function Sr(e,t){if("0x"===e)return null;const n=Z.from(H(e,t,t+32)).toNumber(),r=Z.from(H(e,n,n+32)).toNumber();return H(e,n+32,n+32+r)}function Lr(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):br.throwArgumentError("unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}function Fr(e){const t=S(e);if(t.length>32)throw new Error("internal; should not happen");const n=new Uint8Array(32);return n.set(t,32-t.length),n}function Mr(e){if(e.length%32==0)return e;const t=new Uint8Array(32*Math.ceil(e.length/32));return t.set(e),t}function qr(e){const t=[];let n=0;for(let r=0;r<e.length;r++)t.push(null),n+=32;for(let r=0;r<e.length;r++){const i=S(e[r]);t[r]=Fr(n),t.push(Fr(i.length)),t.push(Mr(i)),n+=32+32*Math.ceil(i.length/32)}return j(t)}class Ur{constructor(e,t,n,r){Ee(this,"provider",e),Ee(this,"name",n),Ee(this,"address",e.formatter.address(t)),Ee(this,"_resolvedAddress",r)}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 vr(this,void 0,void 0,(function*(){const n={to:this.address,ccipReadEnabled:!0,data:j([e,Ct(this.name),t||"0x"])};let r=!1;var i;(yield this.supportsWildcard())&&(r=!0,n.data=j(["0x9061b923",qr([(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"),n.data])]));try{let e=yield this.provider.call(n);return S(e).length%32==4&&br.throwError("resolver threw error",I.errors.CALL_EXCEPTION,{transaction:n,data:e}),r&&(e=Sr(e,0)),e}catch(e){if(e.code===I.errors.CALL_EXCEPTION)return null;throw e}}))}_fetchBytes(e,t){return vr(this,void 0,void 0,(function*(){const n=yield this._fetch(e,t);return null!=n?Sr(n,0):null}))}_getAddress(e,t){const n=Cr[String(e)];if(null==n&&br.throwError(`unsupported coin type: ${e}`,I.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),"eth"===n.ilk)return this.provider.formatter.address(t);const r=S(t);if(null!=n.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 Br(L([[n.p2pkh],"0x"+e[2]]))}}if(null!=n.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 Br(L([[n.p2sh],"0x"+e[2]]))}}if(null!=n.prefix){const e=r[1];let t=r[0];if(0===t?20!==e&&32!==e&&(t=-1):t=-1,t>=0&&r.length===2+e&&e>=1&&e<=75){const e=i.toWords(r.slice(2));return e.unshift(t),i.encode(n.prefix,e)}}return null}getAddress(e){return vr(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",Rr(e));if(null==t||"0x"===t)return null;const n=this._getAddress(e,t);return null==n&&br.throwError("invalid or unsupported coin data",I.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:t}),n}))}getAvatar(){return vr(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 n=0;n<kr.length;n++){const r=t.match(kr[n]);if(null==r)continue;const i=r[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:Lr(t)};case"erc721":case"erc1155":{const n="erc721"===i?"0xc87b56dd":"0x0e89341c";e.push({type:i,content:t});const s=this._resolvedAddress||(yield this.getAddress()),o=(r[2]||"").split("/");if(2!==o.length)return null;const a=yield this.provider.formatter.address(o[0]),l=Y(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",Y(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([n,l])};let u=Nr(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=Lr(u)),e.push({type:"metadata-url",content:u});const d=yield mn(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(xr))return null;e.push({type:"url-ipfs",content:h}),h=Lr(h)}return e.push({type:"url",content:h}),{linkage:e,url:h}}}}}catch(e){}return null}))}getContentHash(){return vr(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 n=e.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(n){const e=parseInt(n[3],16);if(n[4].length===2*e)return"ipns://"+He.encode("0x"+n[1])}const r=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return"bzz://"+r[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 br.throwError("invalid or unsupported content hash data",I.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})}))}getText(e){return vr(this,void 0,void 0,(function*(){let t=et(e);t=L([Rr(64),Rr(t.length),t]),t.length%32!=0&&(t=L([t,Y("0x",32-e.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",U(t));return null==n||"0x"===n?null:tt(n)}))}}let Vr=null,Hr=1;class jr 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)):br.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return vr(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||br.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 gn((()=>this._ready().then((e=>e),(e=>{if(e.code!==I.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))))}static getFormatter(){return null==Vr&&(Vr=new Er),Vr}static getNetwork(e){return function(e){if(null==e)return null;if("number"==typeof e){for(const t in Me){const n=Me[t];if(n.chainId===e)return{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress||null,_defaultProvider:n._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 n=e._defaultProvider||null;var r;return null==n&&t._defaultProvider&&(n=(r=t._defaultProvider)&&"function"==typeof r.renetwork?t._defaultProvider.renetwork(e):t._defaultProvider),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:n}}(null==e?"homestead":e)}ccipReadFetch(e,t,n){return vr(this,void 0,void 0,(function*(){if(this.disableCcipRead||0===n.length)return null;const r=e.to.toLowerCase(),i=t.toLowerCase(),s=[];for(let e=0;e<n.length;e++){const t=n[e],o=t.replace("{sender}",r).replace("{data}",i),a=t.indexOf("{data}")>=0?null:JSON.stringify({data:i,sender:r}),l=yield mn({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 br.throwError(`response not found during CCIP fetch: ${c}`,I.errors.SERVER_ERROR,{url:t,errorMessage:c});s.push(c)}return br.throwError(`error encountered during CCIP fetch: ${s.map((e=>JSON.stringify(e))).join(", ")}`,I.errors.SERVER_ERROR,{urls:n,errorMessages:s})}))}_getInternalBlockNumber(e){return vr(this,void 0,void 0,(function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const t=this._internalBlockNumber;try{const n=yield t;if(Pr()-n.respTime<=e)return n.blockNumber;break}catch(e){if(this._internalBlockNumber===t)break}}const t=Pr(),n=be({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((e=>null),(e=>e))}).then((({blockNumber:e,networkError:r})=>{if(r)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),r;const i=Pr();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=n,n.catch((e=>{this._internalBlockNumber===n&&(this._internalBlockNumber=null)})),(yield n).blockNumber}))}poll(){return vr(this,void 0,void 0,(function*(){const e=Hr++,t=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(e){return void this.emit("error",e)}if(this._setFastBlockNumber(n),this.emit("poll",e,n),n!==this._lastBlockNumber){if(-2===this._emitted.block&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)br.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",br.makeError("network block skew detected",I.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let e=this._emitted.block+1;e<=n;e++)this.emit("block",e);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach((e=>{if("block"===e)return;const t=this._emitted[e];"pending"!==t&&n-t>12&&delete this._emitted[e]}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=n-1),this._events.forEach((e=>{switch(e.type){case"tx":{const n=e.hash;let r=this.getTransactionReceipt(n).then((e=>e&&null!=e.blockNumber?(this._emitted["t:"+n]=e.blockNumber,this.emit(n,e),null):null)).catch((e=>{this.emit("error",e)}));t.push(r);break}case"filter":if(!e._inflight){e._inflight=!0,-2===e._lastBlockNumber&&(e._lastBlockNumber=n-1);const r=e.filter;r.fromBlock=e._lastBlockNumber+1,r.toBlock=n;const i=r.toBlock-this._maxFilterBlockRange;i>r.fromBlock&&(r.fromBlock=i),r.fromBlock<0&&(r.fromBlock=0);const s=this.getLogs(r).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(r,t)}))})).catch((t=>{this.emit("error",t),e._inflight=!1}));t.push(s)}}})),this._lastBlockNumber=n,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 vr(this,void 0,void 0,(function*(){return br.throwError("provider does not support network detection",I.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return vr(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 Tr(0),this._network;const n=br.makeError("underlying network changed",I.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",n),n}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=Pr();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=Pr(),(null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,n){return vr(this,void 0,void 0,(function*(){return this._waitForTransaction(e,null==t?1:t,n||0,null)}))}_waitForTransaction(e,t,n,r){return vr(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)})),r){let n=r.startBlock,i=null;const c=o=>vr(this,void 0,void 0,(function*(){a||(yield Tr(1e3),this.getTransactionCount(r.from).then((u=>vr(this,void 0,void 0,(function*(){if(!a){if(u<=r.nonce)n=o;else{{const t=yield this.getTransaction(e);if(t&&null!=t.blockNumber)return}for(null==i&&(i=n-3,i<r.startBlock&&(i=r.startBlock));i<=o;){if(a)return;const n=yield this.getBlockWithTransactions(i);for(let i=0;i<n.transactions.length;i++){const o=n.transactions[i];if(o.hash===e)return;if(o.from===r.from&&o.nonce===r.nonce){if(a)return;const n=yield this.waitForTransaction(o.hash,t);if(l())return;let i="replaced";return o.data===r.data&&o.to===r.to&&o.value.eq(r.value)?i="repriced":"0x"===o.data&&o.from===o.to&&o.value.isZero()&&(i="cancelled"),void s(br.makeError("transaction was replaced",I.errors.TRANSACTION_REPLACED,{cancelled:"replaced"===i||"cancelled"===i,reason:i,replacement:this._wrapTransaction(o),hash:e,receipt:n}))}}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 n&&n>0){const e=setTimeout((()=>{l()||s(br.makeError("timeout exceeded",I.errors.TIMEOUT,{timeout:n}))}),n);e.unref&&e.unref(),o.push((()=>{clearTimeout(e)}))}}))}))}getBlockNumber(){return vr(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return Z.from(e)}catch(t){return br.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:t})}}))}getBalance(e,t){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getBalance",n);try{return Z.from(r)}catch(e){return br.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getBalance",params:n,result:r,error:e})}}))}getTransactionCount(e,t){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getTransactionCount",n);try{return Z.from(r).toNumber()}catch(e){return br.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:r,error:e})}}))}getCode(e,t){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),r=yield this.perform("getCode",n);try{return U(r)}catch(e){return br.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getCode",params:n,result:r,error:e})}}))}getStorageAt(e,t,n){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield be({address:this._getAddress(e),blockTag:this._getBlockTag(n),position:Promise.resolve(t).then((e=>Q(e)))}),i=yield this.perform("getStorageAt",r);try{return U(i)}catch(e){return br.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"getStorageAt",params:r,result:i,error:e})}}))}_wrapTransaction(e,t,n){if(null!=t&&32!==V(t))throw new Error("invalid response - sendTransaction");const r=e;return null!=t&&e.hash!==t&&br.throwError("Transaction hash mismatch from Provider.sendTransaction.",I.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),r.wait=(t,r)=>vr(this,void 0,void 0,(function*(){let i;null==t&&(t=1),null==r&&(r=0),0!==t&&null!=n&&(i={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:n});const s=yield this._waitForTransaction(e.hash,t,r,i);return null==s&&0===t?null:(this._emitted["t:"+e.hash]=s.blockNumber,0===s.status&&br.throwError("transaction failed",I.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:s}),s)})),r}sendTransaction(e){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then((e=>U(e))),n=this.formatter.transaction(e);null==n.confirmations&&(n.confirmations=0);const r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(n,e,r)}catch(e){throw e.transaction=n,e.transactionHash=n.hash,e}}))}_getTransactionRequest(e){return vr(this,void 0,void 0,(function*(){const t=yield e,n={};return["from","to"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?this._getAddress(e):null)))})),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?Z.from(e):null)))})),["type"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>null!=e?e:null)))})),t.accessList&&(n.accessList=this.formatter.accessList(t.accessList)),["data"].forEach((e=>{null!=t[e]&&(n[e]=Promise.resolve(t[e]).then((e=>e?U(e):null)))})),this.formatter.transactionRequest(yield be(n))}))}_getFilter(e){return vr(this,void 0,void 0,(function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach((n=>{null!=e[n]&&(t[n]=e[n])})),["fromBlock","toBlock"].forEach((n=>{null!=e[n]&&(t[n]=this._getBlockTag(e[n]))})),this.formatter.filter(yield be(t))}))}_call(e,t,n){return vr(this,void 0,void 0,(function*(){n>=10&&br.throwError("CCIP read exceeded maximum redirections",I.errors.SERVER_ERROR,{redirects:n,transaction:e});const r=e.to,i=yield this.perform("call",{transaction:e,blockTag:t});if(n>=0&&"latest"===t&&null!=r&&"0x556f1830"===i.substring(0,10)&&V(i)%32==4)try{const s=H(i,4),o=H(s,0,32);Z.from(o).eq(r)||br.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 n=Nr(u,32*t);null==n&&br.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(n)}const d=Sr(s,64);Z.from(H(s,100,128)).isZero()||br.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=Sr(s,128),p=yield this.ccipReadFetch(e,d,a);null==p&&br.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:r,data:j([h,qr([p,f])])};return this._call(m,t,n+1)}catch(e){if(e.code===I.errors.SERVER_ERROR)throw e}try{return U(i)}catch(n){return br.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"call",params:{transaction:e,blockTag:t},result:i,error:n})}}))}call(e,t){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield be({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t),ccipReadEnabled:Promise.resolve(e.ccipReadEnabled)});return this._call(n.transaction,n.blockTag,n.ccipReadEnabled?0:-1)}))}estimateGas(e){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield be({transaction:this._getTransactionRequest(e)}),n=yield this.perform("estimateGas",t);try{return Z.from(n)}catch(e){return br.throwError("bad result from backend",I.errors.SERVER_ERROR,{method:"estimateGas",params:t,result:n,error:e})}}))}_getAddress(e){return vr(this,void 0,void 0,(function*(){"string"!=typeof(e=yield e)&&br.throwArgumentError("invalid address or ENS name","name",e);const t=yield this.resolveName(e);return null==t&&br.throwError("ENS name not configured",I.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t}))}_getBlock(e,t){return vr(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;let n=-128;const r={includeTransactions:!!t};if(M(e,32))r.blockHash=e;else try{r.blockTag=yield this._getBlockTag(e),M(r.blockTag)&&(n=parseInt(r.blockTag.substring(2),16))}catch(t){br.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e)}return gn((()=>vr(this,void 0,void 0,(function*(){const e=yield this.perform("getBlock",r);if(null==e)return null!=r.blockHash&&null==this._emitted["b:"+r.blockHash]||null!=r.blockTag&&n>this._emitted.block?null:void 0;if(t){let t=null;for(let n=0;n<e.transactions.length;n++){const r=e.transactions[n];if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){null==t&&(t=yield this._getInternalBlockNumber(100+2*this.pollingInterval));let e=t-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}}const n=this.formatter.blockWithTransactions(e);return n.transactions=n.transactions.map((e=>this._wrapTransaction(e))),n}return this.formatter.block(e)}))),{oncePoll:this})}))}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return vr(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return gn((()=>vr(this,void 0,void 0,(function*(){const n=yield this.perform("getTransaction",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;const r=this.formatter.transactionResponse(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return this._wrapTransaction(r)}))),{oncePoll:this})}))}getTransactionReceipt(e){return vr(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return gn((()=>vr(this,void 0,void 0,(function*(){const n=yield this.perform("getTransactionReceipt",t);if(null==n)return null==this._emitted["t:"+e]?null:void 0;if(null==n.blockHash)return;const r=this.formatter.receipt(n);if(null==r.blockNumber)r.confirmations=0;else if(null==r.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-r.blockNumber+1;e<=0&&(e=1),r.confirmations=e}return r}))),{oncePoll:this})}))}getLogs(e){return vr(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield be({filter:this._getFilter(e)}),n=yield this.perform("getLogs",t);return n.forEach((e=>{null==e.removed&&(e.removed=!1)})),Er.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)}))}getEtherPrice(){return vr(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(e){return vr(this,void 0,void 0,(function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&br.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 vr(this,void 0,void 0,(function*(){let t=e;for(;;){if(""===t||"."===t)return null;if("eth"!==e&&"eth"===t)return null;const n=yield this._getResolver(t,"getResolver");if(null!=n){const r=new Ur(this,n,e);return t===e||(yield r.supportsWildcard())?r:null}t=t.split(".").slice(1).join(".")}}))}_getResolver(e,t){return vr(this,void 0,void 0,(function*(){null==t&&(t="ENS");const n=yield this.getNetwork();n.ensAddress||br.throwError("network does not support ENS",I.errors.UNSUPPORTED_OPERATION,{operation:t,network:n.name});try{const t=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+Ct(e).substring(2)});return this.formatter.callAddress(t)}catch(e){}return null}))}resolveName(e){return vr(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&&br.throwArgumentError("invalid ENS name","name",e);const t=yield this.getResolver(e);return t?yield t.getAddress():null}))}lookupAddress(e){return vr(this,void 0,void 0,(function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(t,"lookupAddress");if(null==n)return null;const r=Nr(yield this.call({to:n,data:"0x691f3431"+Ct(t).substring(2)}),0);return(yield this.resolveName(r))!=e?null:r}))}getAvatar(e){return vr(this,void 0,void 0,(function*(){let t=null;if(M(e)){const n=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(n,"getAvatar");if(!r)return null;t=new Ur(this,r,n);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=Nr(yield this.call({to:r,data:"0x691f3431"+Ct(n).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 n=yield t.getAvatar();return null==n?null:n.url}))}perform(e,t){return br.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,n){const r=new Ir(Dr(e),t,n);return this._events.push(r),this._startEvent(r),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let n=!1,r=[],i=Dr(e);return this._events=this._events.filter((e=>e.tag!==i||(setTimeout((()=>{e.listener.apply(this,t)}),0),n=!0,!e.once||(r.push(e),!1)))),r.forEach((e=>{this._stopEvent(e)})),n}listenerCount(e){if(!e)return this._events.length;let t=Dr(e);return this._events.filter((e=>e.tag===t)).length}listeners(e){if(null==e)return this._events.map((e=>e.listener));let t=Dr(e);return this._events.filter((e=>e.tag===t)).map((e=>e.listener))}off(e,t){if(null==t)return this.removeAllListeners(e);const n=[];let r=!1,i=Dr(e);return this._events=this._events.filter((e=>e.tag!==i||e.listener!=t||(!!r||(r=!0,n.push(e),!1)))),n.forEach((e=>{this._stopEvent(e)})),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const n=Dr(e);this._events=this._events.filter((e=>e.tag!==n||(t.push(e),!1)))}return t.forEach((e=>{this._stopEvent(e)})),this}}var Qr=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const Yr=new I("abstract-signer/5.7.0"),Gr=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],$r=[I.errors.INSUFFICIENT_FUNDS,I.errors.NONCE_EXPIRED,I.errors.REPLACEMENT_UNDERPRICED];class Xr{constructor(){Yr.checkAbstract(new.target,Xr),Ee(this,"_isSigner",!0)}getBalance(e){return Qr(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)}))}getTransactionCount(e){return Qr(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)}))}estimateGas(e){return Qr(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 Qr(this,void 0,void 0,(function*(){this._checkProvider("call");const n=yield be(this.checkTransaction(e));return yield this.provider.call(n,t)}))}sendTransaction(e){return Qr(this,void 0,void 0,(function*(){this._checkProvider("sendTransaction");const t=yield this.populateTransaction(e),n=yield this.signTransaction(t);return yield this.provider.sendTransaction(n)}))}getChainId(){return Qr(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return Qr(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}getFeeData(){return Qr(this,void 0,void 0,(function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()}))}resolveName(e){return Qr(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)}))}checkTransaction(e){for(const t in e)-1===Gr.indexOf(t)&&Yr.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()&&Yr.throwArgumentError("from address mismatch","transaction",e),t[0]))),t}populateTransaction(e){return Qr(this,void 0,void 0,(function*(){const t=yield be(this.checkTransaction(e));null!=t.to&&(t.to=Promise.resolve(t.to).then((e=>Qr(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.resolveName(e);return null==t&&Yr.throwArgumentError("provided ENS name resolves to null","tx.to",e),t})))),t.to.catch((e=>{})));const n=null!=t.maxFeePerGas||null!=t.maxPriorityFeePerGas;if(null==t.gasPrice||2!==t.type&&!n?0!==t.type&&1!==t.type||!n||Yr.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e):Yr.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?(n&&Yr.throwError("network does not support EIP-1559",I.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==t.gasPrice&&(t.gasPrice=e.gasPrice),t.type=0):Yr.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($r.indexOf(e.code)>=0)throw e;return Yr.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]&&Yr.throwArgumentError("chainId address mismatch","transaction",e),t[0]))),yield be(t)}))}_checkProvider(e){this.provider||Yr.throwError("missing provider",I.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!(!e||!e._isSigner)}}class zr extends Xr{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((()=>{Yr.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,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(e){return new zr(this.address,e)}}var Kr=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const Jr=new I(yn),Wr=["call","estimateGas"];function Zr(e,t){if(null==e)return null;if("string"==typeof e.message&&e.message.match("reverted")){const n=M(e.data)?e.data:null;if(!t||n)return{message:e.message,data:n}}if("object"==typeof e){for(const n in e){const r=Zr(e[n],t);if(r)return r}return null}if("string"==typeof e)try{return Zr(JSON.parse(e),t)}catch(e){}return null}function ei(e,t,n){const r=n.transaction||n.signedTransaction;if("call"===e){const e=Zr(t,!0);if(e)return e.data;Jr.throwError("missing revert data in call exception; Transaction reverted without a reason string",I.errors.CALL_EXCEPTION,{data:"0x",transaction:r,error:t})}if("estimateGas"===e){let n=Zr(t.body,!1);null==n&&(n=Zr(t,!1)),n&&Jr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",I.errors.UNPREDICTABLE_GAS_LIMIT,{reason:n.message,method:e,transaction:r,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)&&Jr.throwError("insufficient funds for intrinsic transaction cost",I.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:r}),i.match(/nonce (is )?too low/i)&&Jr.throwError("nonce has already been used",I.errors.NONCE_EXPIRED,{error:t,method:e,transaction:r}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&Jr.throwError("replacement fee too low",I.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:r}),i.match(/only replay-protected/i)&&Jr.throwError("legacy pre-eip-155 transactions not supported",I.errors.UNSUPPORTED_OPERATION,{error:t,method:e,transaction:r}),Wr.indexOf(e)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&Jr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",I.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:r}),t}function ti(e){return new Promise((function(t){setTimeout(t,e)}))}function ni(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 ri(e){return e?e.toLowerCase():e}const ii={};class si extends Xr{constructor(e,t,n){if(super(),e!==ii)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");Ee(this,"provider",t),null==n&&(n=0),"string"==typeof n?(Ee(this,"_address",this.provider.formatter.address(n)),Ee(this,"_index",null)):"number"==typeof n?(Ee(this,"_index",n),Ee(this,"_address",null)):Jr.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(e){return Jr.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&&Jr.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 n=we(e);n.from=t,e.gasLimit=this.provider.estimateGas(n)}return null!=e.to&&(e.to=Promise.resolve(e.to).then((e=>Kr(this,void 0,void 0,(function*(){if(null==e)return null;const t=yield this.provider.resolveName(e);return null==t&&Jr.throwArgumentError("provided ENS name resolves to null","tx.to",e),t}))))),be({tx:be(e),sender:t}).then((({tx:t,sender:n})=>{null!=t.from?t.from.toLowerCase()!==n&&Jr.throwArgumentError("from address mismatch","transaction",e):t.from=n;const r=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[r]).then((e=>e),(e=>("string"==typeof e.message&&e.message.match(/user denied/i)&&Jr.throwError("user rejected transaction",I.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:t}),ei("sendTransaction",e,r))))}))}signTransaction(e){return Jr.throwError("signing transactions is unsupported",I.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return Kr(this,void 0,void 0,(function*(){const t=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(e);try{return yield gn((()=>Kr(this,void 0,void 0,(function*(){const e=yield this.provider.getTransaction(n);if(null!==e)return this.provider._wrapTransaction(e,n,t)}))),{oncePoll:this.provider})}catch(e){throw e.transactionHash=n,e}}))}signMessage(e){return Kr(this,void 0,void 0,(function*(){const t="string"==typeof e?et(e):e,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[U(t),n.toLowerCase()])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Jr.throwError("user rejected signing",I.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:e}),t}}))}_legacySignMessage(e){return Kr(this,void 0,void 0,(function*(){const t="string"==typeof e?et(e):e,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),U(t)])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&Jr.throwError("user rejected signing",I.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:e}),t}}))}_signTypedData(e,t,n){return Kr(this,void 0,void 0,(function*(){const r=yield an.resolveNames(e,t,n,(e=>this.provider.resolveName(e))),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(an.getPayload(r.domain,t,r.value))])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&Jr.throwError("user rejected signing",I.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:r.domain,types:t,value:r.value}}),e}}))}unlock(e){return Kr(this,void 0,void 0,(function*(){const t=this.provider,n=yield this.getAddress();return t.send("personal_unlockAccount",[n.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 jr{constructor(e,t){let n=t;null==n&&(n=new Promise(((e,t)=>{setTimeout((()=>{this.detectNetwork().then((t=>{e(t)}),(e=>{t(e)}))}),0)}))),super(n),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 Kr(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 Jr.throwError("could not detect network",I.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})}}return Jr.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 n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:Te(n),provider:this});const r=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(r&&this._cache[e])return this._cache[e];const i=mn(this.connection,JSON.stringify(n),ni).then((e=>(this.emit("debug",{action:"response",request:n,response:e,provider:this}),e)),(e=>{throw this.emit("debug",{action:"response",error:e,request:n,provider:this}),e}));return r&&(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",[ri(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[ri(t.address),t.blockTag]];case"getCode":return["eth_getCode",[ri(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[ri(t.address),Y(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=ri(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){return Kr(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 n=yield this.getFeeData();null==n.maxFeePerGas&&null==n.maxPriorityFeePerGas&&((t=we(t)).transaction=we(e),delete t.transaction.type)}}const n=this.prepareRequest(e,t);null==n&&Jr.throwError(e+" not implemented",I.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(n[0],n[1])}catch(n){return ei(e,n,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(n){return function r(){e.send("eth_getFilterChanges",[n]).then((function(n){if(e._pendingFilter!=t)return null;let r=Promise.resolve();return n.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",r=r.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),r.then((function(){return ti(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){r()}),0),null;e.send("eth_uninstallFilter",[n])})).catch((e=>{}))}(),n})).catch((e=>{}))}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const n=we(ai);if(t)for(const e in t)t[e]&&(n[e]=!0);var r,i;i=n,(r=e)&&"object"==typeof r||Ae.throwArgumentError("invalid object","object",r),Object.keys(r).forEach((e=>{i[e]||Ae.throwArgumentError("invalid object key - "+e,"transaction:"+e,r)}));const s={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach((function(t){if(null==e[t])return;const n=Q(Z.from(e[t]));"gasLimit"===t&&(t="gas"),s[t]=n})),["from","to","data"].forEach((function(t){null!=e[t]&&(s[t]=U(e[t]))})),e.accessList&&(s.accessList=hr(e.accessList)),s}}var ci=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.apply(e,t||[])).next())}))};const ui=new I(yn);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 n in t)Ee(e,n,t[n])}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 n=this.type.match(vi);Ai(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:bi.fromObject({type:n[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 n=function(e,t){let n=e;function r(t){fi.throwArgumentError(`unexpected character at position ${t}`,"param",e)}function i(e){let n={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(n.indexed=!1),n}e=e.replace(/\s/g," ");let s={type:"",name:"",state:{allowType:!0}},o=s;for(let n=0;n<e.length;n++){let s=e[n];switch(s){case"(":o.state.allowType&&""===o.type?o.type="tuple":o.state.allowParams||r(n),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||r(n),o.indexed=!0,o.name=""),yi(o.type,o.name)&&(o.name=""),o.type=xi(o.type);let e=o;o=o.parent,o||r(n),delete e.parent,o.state.allowParams=!1,o.state.allowName=!0,o.state.allowArray=!0;break;case",":delete o.state,"indexed"===o.name&&(t||r(n),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||r(n),o.indexed&&r(n),o.indexed=!0,o.name=""):yi(o.type,o.name)?o.name="":o.state.allowName=!1);break;case"[":o.state.allowArray||r(n),o.type+=s,o.state.allowArray=!1,o.state.allowName=!1,o.state.readArray=!0;break;case"]":o.state.readArray||r(n),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:r(n)}}return o.parent&&fi.throwArgumentError("unexpected eof","param",e),delete s.state,"indexed"===o.name?(t||r(n.length-7),o.indexed&&r(n.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:n.name,type:n.type,indexed:n.indexed,components:n.components});var n}static isParamType(e){return!(null==e||!e._isParamType)}}function wi(e,t){return function(e){e=e.trim();let t=[],n="",r=0;for(let i=0;i<e.length;i++){let s=e[i];","===s&&0===r?(t.push(n),n=""):(n+=s,"("===s?r++:")"===s&&(r--,-1===r&&fi.throwArgumentError("unbalanced parenthesis","value",e)))}n&&t.push(n);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 Ci.fromObject(e);case"event":return Di.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]?Di.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?Ci.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 Di 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?Di.fromString(e):Di.fromObject(e)}static fromObject(e){if(Di.isEventFragment(e))return e;"event"!==e.type&&fi.throwArgumentError("invalid event object","value",e);const t={name:Ni(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(bi.fromObject):[],type:"event"};return new Di(pi,t)}static fromString(e){let t=e.match(Si);t||fi.throwArgumentError("invalid event string","value",e);let n=!1;return t[3].split(" ").forEach((e=>{switch(e.trim()){case"anonymous":n=!0;break;case"":break;default:fi.warn("unknown modifier: "+e)}})),Di.fromObject({name:t[1].trim(),anonymous:n,inputs:wi(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function Pi(e,t){t.gas=null;let n=e.split("@");return 1!==n.length?(n.length>2&&fi.throwArgumentError("invalid human-readable ABI signature","value",e),n[1].match(/^[0-9]+$/)||fi.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=Z.from(n[1]),n[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 n={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,n)}static fromString(e){let t={type:"constructor"},n=(e=Pi(e,t)).match(Si);return n&&"constructor"===n[1].trim()||fi.throwArgumentError("invalid constructor string","value",e),t.inputs=wi(n[2].trim(),!1),Ti(n[3].trim(),t),Ii.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class Ci 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?Ci.fromString(e):Ci.fromObject(e)}static fromObject(e){if(Ci.isFunctionFragment(e))return e;"function"!==e.type&&fi.throwArgumentError("invalid function object","value",e);let t=_i(e);const n={type:e.type,name:Ni(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 Ci(pi,n)}static fromString(e){let t={type:"function"},n=(e=Pi(e,t)).split(" returns ");n.length>2&&fi.throwArgumentError("invalid function string","value",e);let r=n[0].match(Si);if(r||fi.throwArgumentError("invalid function signature","value",e),t.name=r[1].trim(),t.name&&Ni(t.name),t.inputs=wi(r[2],!1),Ti(r[3].trim(),t),n.length>1){let r=n[1].match(Si);""==r[1].trim()&&""==r[3].trim()||fi.throwArgumentError("unexpected tokens","value",e),t.outputs=wi(r[2],!1)}else t.outputs=[];return Ci.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function Ri(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:Ni(e.name),inputs:e.inputs?e.inputs.map(bi.fromObject):[]};return Ri(new Bi(pi,t))}static fromString(e){let t={type:"error"},n=e.match(Si);return n||fi.throwArgumentError("invalid error signature","value",e),t.name=n[1].trim(),t.name&&Ni(t.name),t.inputs=wi(n[2],!1),Ri(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 ki=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function Ni(e){return e&&e.match(ki)||fi.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const Si=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const Li=new I(hi);class Fi{constructor(e,t,n,r){this.name=e,this.type=t,this.localName=n,this.dynamic=r}_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 n=t.length%this.wordSize;return n&&(t=L([t,this._padding.slice(n)])),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,n,r){Ee(this,"_data",S(e)),Ee(this,"wordSize",t||32),Ee(this,"_coerceFunc",n),Ee(this,"allowLoose",r),this._offset=0}get data(){return U(this._data)}get consumed(){return this._offset}static coerce(e,t){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):qi.coerce(e,t)}_peekBytes(e,t,n){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&(this.allowLoose&&n&&this._offset+t<=this._data.length?r=t:Li.throwError("data out-of-bounds",I.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r})),this._data.slice(this._offset,this._offset+r)}subReader(e){return new qi(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let n=this._peekBytes(0,e,!!t);return this._offset+=n.length,n.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(Y(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,n){let r=null;if(Array.isArray(n))r=n;else if(n&&"object"==typeof n){let e={};r=t.map((t=>{const r=t.localName;return r||Hi.throwError("cannot encode object for signature with missing names",I.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]&&Hi.throwError("cannot encode object for signature with duplicate names",I.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:n}),e[r]=!0,n[r]}))}else Hi.throwArgumentError("invalid tuple value","tuple",n);t.length!==r.length&&Hi.throwArgumentError("types/value length mismatch","tuple",n);let i=new Mi(e.wordSize),s=new Mi(e.wordSize),o=[];t.forEach(((e,t)=>{let n=r[t];if(e.dynamic){let t=s.length;e.encode(s,n);let r=i.writeUpdatableValue();o.push((e=>{r(e+t)}))}else e.encode(i,n)})),o.forEach((e=>{e(i.length)}));let a=e.appendWriter(i);return a+=e.appendWriter(s),a}function Qi(e,t){let n=[],r=e.subReader(0);t.forEach((t=>{let i=null;if(t.dynamic){let n=e.readValue(),s=r.subReader(n.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&&n.push(i)}));const i=t.reduce(((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e}),{});t.forEach(((e,t)=>{let r=e.localName;if(!r||1!==i[r])return;if("length"===r&&(r="_length"),null!=n[r])return;const s=n[t];s instanceof Error?Object.defineProperty(n,r,{enumerable:!0,get:()=>{throw s}}):n[r]=s}));for(let e=0;e<n.length;e++){const t=n[e];t instanceof Error&&Object.defineProperty(n,e,{enumerable:!0,get:()=>{throw t}})}return Object.freeze(n)}class Yi extends Fi{constructor(e,t,n){super("array",e.type+"["+(t>=0?t:"")+"]",n,-1===t||e.dynamic),this.coder=e,this.length=t}defaultValue(){const e=this.coder.defaultValue(),t=[];for(let n=0;n<this.length;n++)t.push(e);return t}encode(e,t){Array.isArray(t)||this._throwError("expected array value",t);let n=this.length;-1===n&&(n=t.length,e.writeValue(t.length)),Hi.checkArgumentCount(t.length,n,"coder array"+(this.localName?" "+this.localName:""));let r=[];for(let e=0;e<t.length;e++)r.push(this.coder);return ji(e,r,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 n=[];for(let e=0;e<t;e++)n.push(new Vi(this.coder));return e.coerce(this.name,Qi(e,n))}}class Gi 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 $i extends Fi{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){t=S(t);let n=e.writeValue(t.length);return n+=e.writeBytes(t),n}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}}class Xi extends $i{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,U(super.decode(e)))}}class zi extends Fi{constructor(e,t){let n="bytes"+String(e);super(n,n,t,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(e,t){let n=S(t);return n.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(n)}decode(e){return e.coerce(this.name,U(e.readBytes(this.size)))}}class Ki 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,n){const r=(t?"int":"uint")+8*e;super(r,r,n,!1),this.size=e,this.signed=t}defaultValue(){return 0}encode(e,t){let n=Z.from(t),r=Ge.mask(8*e.wordSize);if(this.signed){let e=r.mask(8*this.size-1);(n.gt(e)||n.lt(e.add(Ye).mul(je)))&&this._throwError("value out-of-bounds",t)}else(n.lt(Qe)||n.gt(r.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return n=n.toTwos(8*this.size).mask(8*this.size),this.signed&&(n=n.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(n)}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 $i{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 n=!1;const r=[];e.forEach((e=>{e.dynamic&&(n=!0),r.push(e.type)}));super("tuple","tuple("+r.join(",")+")",t,n),this.coders=e}defaultValue(){const e=[];this.coders.forEach((t=>{e.push(t.defaultValue())}));const t=this.coders.reduce(((e,t)=>{const n=t.localName;return n&&(e[n]||(e[n]=0),e[n]++),e}),{});return this.coders.forEach(((n,r)=>{let i=n.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[r]))})),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]*)$/),ns=new RegExp(/^(u?int)([0-9]*)$/);const rs=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 Gi(e.name);case"string":return new Wi(e.name);case"bytes":return new Xi(e.name);case"array":return new Yi(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 Ki(e.name)}let t=e.type.match(ns);if(t){let n=parseInt(t[2]||"256");return(0===n||n>256||n%8!=0)&&es.throwArgumentError("invalid "+t[1]+" bit length","param",e),new Ji(n/8,"int"===t[1],e.name)}if(t=e.type.match(ts),t){let n=parseInt(t[1]);return(0===n||n>32)&&es.throwArgumentError("invalid bytes length","param",e),new zi(n,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 n=e.map((e=>this._getCoder(bi.from(e)))),r=new Zi(n,"_"),i=this._getWriter();return r.encode(i,t),i.data}decode(e,t,n){const r=e.map((e=>this._getCoder(bi.from(e))));return new Zi(r,"_").decode(this._getReader(S(t),n))}},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 n=new Error(`deferred error during ABI decoding triggered accessing ${e}`);return n.error=t,n}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 n=e.format();t[n]?is.warn("duplicate definition - "+n):t[n]=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 rs}static getAddress(e){return jt(e)}static getSighash(e){return H(nt(e.format()),0,4)}static getEventTopic(e){return nt(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(),n=Object.keys(this.functions).filter((e=>e.split("(")[0]===t));return 0===n.length?is.throwArgumentError("no matching function","name",t):n.length>1&&is.throwArgumentError("multiple matching functions","name",t),this.functions[n[0]]}const t=this.functions[Ci.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(),n=Object.keys(this.events).filter((e=>e.split("(")[0]===t));return 0===n.length?is.throwArgumentError("no matching event","name",t):n.length>1&&is.throwArgumentError("multiple matching events","name",t),this.events[n[0]]}const t=this.events[Di.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 n in this.errors){if(e===t(this.errors[n]))return this.errors[n]}is.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),n=Object.keys(this.errors).filter((e=>e.split("(")[0]===t));return 0===n.length?is.throwArgumentError("no matching error","name",t):n.length>1&&is.throwArgumentError("multiple matching errors","name",t),this.errors[n[0]]}const t=this.errors[Ci.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 n=S(t);return U(n.slice(0,4))!==this.getSighash(e)&&is.throwArgumentError(`data signature does not match error ${e.name}.`,"data",U(n)),this._decodeParams(e.inputs,n.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 n=S(t);return U(n.slice(0,4))!==this.getSighash(e)&&is.throwArgumentError(`data signature does not match function ${e.name}.`,"data",U(n)),this._decodeParams(e.inputs,n.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 n=S(t),r=null,i="",s=null,o=null,a=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch(e){}break;case 4:{const e=U(n.slice(0,4)),t=cs[e];if(t)s=this._abiCoder.decode(t.inputs,n.slice(4)),o=t.name,a=t.signature,t.reason&&(r=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,n.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:r})}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 n=[];e.anonymous||n.push(this.getEventTopic(e));const r=(e,t)=>"string"===e.type?nt(t):"bytes"===e.type?$e(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]),Y(U(t),32));for(t.forEach(((t,i)=>{let s=e.inputs[i];s.indexed?null==t?n.push(null):"array"===s.baseType||"tuple"===s.baseType?is.throwArgumentError("filtering with tuples or arrays not supported","contract."+s.name,t):Array.isArray(t)?n.push(t.map((e=>r(s,e)))):n.push(r(s,t)):null!=t&&is.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+s.name,t)}));n.length&&null===n[n.length-1];)n.pop();return n}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));const n=[],r=[],i=[];return e.anonymous||n.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)n.push(nt(o));else if("bytes"===e.type)n.push($e(o));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(this._abiCoder.encode([e.type],[o]))}else r.push(e),i.push(o)})),{data:this._abiCoder.encode(r,i),topics:n}}decodeEventLog(e,t,n){if("string"==typeof e&&(e=this.getEvent(e)),null!=n&&!e.anonymous){let t=this.getEventTopic(e);M(n[0],32)&&n[0].toLowerCase()===t||is.throwError("fragment/topic mismatch",I.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:n[0]}),n=n.slice(1)}let r=[],i=[],s=[];e.inputs.forEach(((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(r.push(bi.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(r.push(e),s.push(!1)):(i.push(e),s.push(!1))}));let o=null!=n?this._abiCoder.decode(r,L(n)):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 n=l[t];n instanceof Error?Object.defineProperty(l,e.name,{enumerable:!0,get:()=>{throw us(`property ${JSON.stringify(e.name)}`,n)}}):l[e.name]=n}}));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 n=this.getError(t.substring(0,10).toLowerCase());return n?new as({args:this._abiCoder.decode(n.inputs,"0x"+t.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!(!e||!e._isInterface)}}var hs=function(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function a(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}l((r=r.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 n=yield t;"string"!=typeof n&&fs.throwArgumentError("invalid address or ENS name","name",n);try{return jt(n)}catch(e){}e||fs.throwError("a provider or signer is needed to resolve ENS names",I.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const r=yield e.resolveName(n);return null==r&&fs.throwArgumentError("resolver or addr is not configured for ENS name","name",n),r}))}function ms(e,t,n){return hs(this,void 0,void 0,(function*(){return Array.isArray(n)?yield Promise.all(n.map(((n,r)=>ms(e,Array.isArray(t)?t[r]:t[n.name],n)))):"address"===n.type?yield ps(e,t):"tuple"===n.type?yield ms(e,t,n.components):"array"===n.baseType?Array.isArray(t)?yield Promise.all(t.map((t=>ms(e,t,n.arrayChildren)))):Promise.reject(fs.makeError("invalid value for array",I.errors.INVALID_ARGUMENT,{argument:"value",value:t})):t}))}function gs(e,t,n){return hs(this,void 0,void 0,(function*(){let r={};n.length===t.inputs.length+1&&"object"==typeof n[n.length-1]&&(r=we(n.pop())),fs.checkArgumentCount(n.length,t.inputs.length,"passed to contract"),e.signer?r.from?r.from=be({override:ps(e.signer,r.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})))):r.from=e.signer.getAddress():r.from&&(r.from=ps(e.provider,r.from));const i=yield be({args:ms(e.signer||e.provider,n,t.inputs),address:e.resolvedAddress,overrides:be(r)||{}}),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=hr(a.accessList)),null==o.gasLimit&&null!=t.gas){let e=21e3;const n=S(s);for(let t=0;t<n.length;t++)e+=4,n[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:r.value}),o.value=e}a.customData&&(o.customData=we(a.customData)),a.ccipReadEnabled&&(o.ccipReadEnabled=!!a.ccipReadEnabled),delete r.nonce,delete r.gasLimit,delete r.gasPrice,delete r.from,delete r.value,delete r.type,delete r.accessList,delete r.maxFeePerGas,delete r.maxPriorityFeePerGas,delete r.customData,delete r.ccipReadEnabled;const l=Object.keys(r).filter((e=>null!=r[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,n){const r=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 r.call(o,s);try{let r=e.interface.decodeFunctionResult(t,a);return n&&1===t.outputs.length&&(r=r[0]),r}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(...n){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 r=yield gs(e,t,n),i=yield e.signer.sendTransaction(r);return function(e,t){const n=t.wait.bind(t);t.wait=t=>n(t).then((t=>(t.events=t.logs.map((n=>{let r=Te(n),i=null;try{i=e.interface.parseLog(n)}catch(e){}return i&&(r.args=i.args,r.decode=(t,n)=>e.interface.decodeEventLog(i.eventFragment,t,n),r.event=i.name,r.eventSignature=i.signature),r.removeListener=()=>e.provider,r.getBlock=()=>e.provider.getBlock(t.blockHash),r.getTransaction=()=>e.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>Promise.resolve(t),r})),t)))}(e,i),i}))}}function Es(e,t,n){return t.constant?ys(e,t,n):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((n=>!(!t&&n.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 n=e.slice();return setTimeout((()=>{t.listener.apply(this,n)}),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,n,r){const i={address:e};let s=t.getEventTopic(n);r?(s!==r[0]&&fs.throwArgumentError("topic mismatch","topics",r),i.topics=r.slice()):i.topics=[s],super(vs(i),i),Ee(this,"address",e),Ee(this,"interface",t),Ee(this,"fragment",n)}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=[],n=function(e,r){if(Array.isArray(r))for(let i in r){const s=e.slice();s.push(i);try{n(s,r[i])}catch(e){t.push({path:s,error:e})}}};return n([],e),t}(e.args);if(t.length)throw t[0].error;const n=(e.args||[]).slice();return n.push(e),n}}class Ds 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,n)=>this.interface.decodeEventLog(t.eventFragment,e,n),e.args=t.args}catch(e){}}}class Ps{constructor(e,t,n){Ee(this,"interface",ve(new.target,"getInterface")(t)),null==n?(Ee(this,"provider",null),Ee(this,"signer",null)):Xr.isSigner(n)?(Ee(this,"provider",n.provider||null),Ee(this,"signer",n)):Be.isProvider(n)?(Ee(this,"provider",n),Ee(this,"signer",null)):fs.throwArgumentError("invalid signer or provider","signerOrProvider",n),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 n=this.interface.events[t];Ee(this.filters,t,((...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(n,e)}))),e[n.name]||(e[n.name]=[]),e[n.name].push(t)})),Object.keys(e).forEach((t=>{const n=e[t];1===n.length?Ee(this.filters,t,this.filters[n[0]]):fs.warn(`Duplicate definition of ${t} (${n.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 r={},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 n=t.name;r[`%${n}`]||(r[`%${n}`]=[]),r[`%${n}`].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(...n){return gs(e,t,n)}}(this,t)),null==this.estimateGas[e]&&Ee(this.estimateGas,e,function(e,t){const n=e.signer||e.provider;return function(...r){return hs(this,void 0,void 0,(function*(){n||fs.throwError("estimate require a provider or signer",I.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield gs(e,t,r);return yield n.estimateGas(i)}))}}(this,t))}})),Object.keys(r).forEach((e=>{const t=r[e];if(t.length>1)return;e=e.substring(1);const n=t[0];try{null==this[e]&&Ee(this,e,this[n])}catch(e){}null==this.functions[e]&&Ee(this.functions,e,this.functions[n]),null==this.callStatic[e]&&Ee(this.callStatic,e,this.callStatic[n]),null==this.populateTransaction[e]&&Ee(this.populateTransaction,e,this.populateTransaction[n]),null==this.estimateGas[e]&&Ee(this.estimateGas,e,this.estimateGas[n])}))}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 zr(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 Ds(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 n=this.interface.getEvent(t);return this._normalizeRunningEvent(new Os(this.address,this.interface,n,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new bs(vs(t),t))}return this._normalizeRunningEvent(new Ds(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,n){const r=Te(t);return r.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},r.getBlock=()=>this.provider.getBlock(t.blockHash),r.getTransaction=()=>this.provider.getTransaction(t.transactionHash),r.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(r),r}_addEventListener(e,t,n){if(this.provider||fs.throwError("events require a provider or a signer with a provider",I.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const n=n=>{let r=this._wrapEvent(e,n,t);if(null==r.decodeError)try{const t=e.getEmit(r);this.emit(e.filter,...t)}catch(e){r.decodeError=e.error}null!=e.filter&&this.emit("event",r),null!=r.decodeError&&this.emit("error",r.decodeError,r)};this._wrappedEmits[e.tag]=n,null!=e.filter&&this.provider.on(e.filter,n)}}queryFilter(e,t,n){const r=this._getRunningEvent(e),i=we(r.filter);return"string"==typeof t&&M(t,32)?(null!=n&&fs.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=n?n:"latest"),this.provider.getLogs(i).then((e=>e.map((e=>this._wrapEvent(r,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 n=this._getRunningEvent(e),r=n.run(t)>0;return this._checkRunningEvents(n),r}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 n=this._getRunningEvent(e);return n.removeListener(t),this._checkRunningEvents(n),this}removeListener(e,t){return this.off(e,t)}}class Ts extends Ps{}function _s(e,t,...n){return A(this,void 0,void 0,(function*(){const r=[];for(const e of n)for(const t of e)t.callData&&r.push(t.callData);const i=yield function(e,t,n){return A(this,void 0,void 0,(function*(){const r=yield Is(e,t,n),i=new Map;for(const{req:e,resp:t}of r)i.set(e,t);return e.map((e=>({req:e,resp:i.get(e)})))}))}(r,e,t),s=new Map;for(const{req:e,resp:t}of i)s.set(e,null==t?void 0:t.result);return n.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,n){return A(this,void 0,void 0,(function*(){let r=[e];e.length>800&&(r=s.chunk(e,800));let i=[];const o=r.map((e=>A(this,void 0,void 0,(function*(){const r=e.map((e=>[e.to,e.data])),s={data:t.interface.encodeFunctionData("aggregate",[r]),to:n};let o;try{o=yield t.provider.call(s)}catch(r){const s=e.length;if(s>20){const r=Math.floor(s/2),[o,a]=yield Promise.all([Is(e.slice(0,r),t,n),Is(e.slice(r,s),t,n)]);i=[...i,...o,...a]}else{const e="[sendCallReqs] error";console.error(e,r)}}if(void 0===o)throw new Error("Unexpected batch result");const[a,l]=rs.decode(["uint256","bytes[]"],o);if(e.length!==l.length)throw new Error("Unexpected length mismatch");return l.map(((t,n)=>({resp:{result:t},req:e[n]})))}))));return(yield Promise.allSettled(o)).filter((e=>"fulfilled"===e.status)).forEach((({value:e})=>{i=[...i,...e]})),i}))}var Cs;function Rs(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,(Cs=exports.ABIName||(exports.ABIName={})).customERC20IsMintable="customERC20IsMintable",Cs.customMultiCallAggregate="customMultiCallAggregate",Cs.erc20Helper="erc20Helper",Cs.erc20ABI="erc20ABI",Cs.erc20Mock="erc20Mock",Cs.dodoERC20V3Factory="dodoERC20V3Factory",Cs.dodoCustomMintableERC20="dodoCustomMintableERC20",Cs.multicallABI="multicallABI",Cs.dppPoolABI="dppPoolABI",Cs.dvmPoolABI="DVM",Cs.classicalPoolABI="classicalPoolABI",Cs.v3MiningABI="v3MiningABI",Cs.dodoMiningABI="dodoMiningABI",Cs.dodoCP="dodoCP",Cs.dodoCPABI="dodoCPABI",Cs.dodoCPABIV2="dodoCPABIV2",Cs.dodoCpProxyV2="dodoCpProxyV2",Cs.dodoCpProxyV202="dodoCpProxyV202",Cs.dodoFeeImpl="dodoFeeImpl",Cs.feeABI="feeABI",Cs.vdodo="vdodo",Cs.vdodoTokenABI="vdodoTokenABI",Cs.dodoPreminingABI="dodoPreminingABI",Cs.MerkleDistributorABI="MerkleDistributorABI",Cs.DODOCirculationHelperABI="DODOCirculationHelperABI",Cs.FundingABI="FundingABI",Cs.dodoStarterProxy="dodoStarterProxy",Cs.MarginTrading="MarginTrading",Cs.MarginTradingFactory="MarginTradingFactory",Cs.DODORouteProxy="DODORouteProxy",Cs.dodoProxyV2="dodoProxyV2",Cs.AaveLendingPoolABI="AaveLendingPoolABI",Cs.AaveProtocolDataProviderABI="AaveProtocolDataProviderABI",Cs.AaveLendingPoolAddressesProvider="AaveLendingPoolAddressesProvider",Cs.AavePriceOracleABI="AavePriceOracleABI",Cs.spaceIdABI="spaceIdABI",Cs.spaceIdResolverABI="spaceIdResolverABI",Cs.dodoABI="dodoABI",Cs.PancakePairABI="PancakePairABI",Cs.NonfungiblePositionManager="NonfungiblePositionManager",Cs.UniswapV3Pool="UniswapV3Pool",Cs.dodoDspProxy="dodoDspProxy",Cs.dodoDppProxy="dodoDppProxy",Cs.IdodoV2="IdodoV2",Cs.dodoDPPAdmin="dodoDPPAdmin",Cs.dodoDSP="dodoDSP",Cs.dodoDVM="dodoDVM",Cs.dodoDSPFactory="dodoDSPFactory",Cs.dodoDVMFactory="dodoDVMFactory",Cs.D3Proxy="D3Proxy",Cs.dodoNftERC721="dodoNftERC721",Cs.dodoNftERC1155="dodoNftERC1155",Cs.dodoDropsProxy="dodoDropsProxy",Cs.dodoNftVault="dodoNftVault",Cs.dodoNftProxy="dodoNftProxy",Cs.dodoFragment="dodoFragment",Cs.dodoBuyoutModel="dodoBuyoutModel",Cs.dodoNftPoolProxy="dodoNftPoolProxy",Cs.nftFilterAdmin="nftFilterAdmin",Cs.baseFilterV1="baseFilterV1",Cs.FilterERC721V1="FilterERC721V1",Cs.FilterERC1155V1="FilterERC1155V1",Cs.dodoV1PairProxy="dodoV1PairProxy",Cs.dodoPair="dodoPair",Cs.dodoMineV3Proxy="dodoMineV3Proxy",Cs.dodoMineV3ProxyOld="dodoMineV3ProxyOld",Cs.LockedTokenVaultABI="LockedTokenVaultABI",Cs.DODOV1PmmHelperABI="DODOV1PmmHelperABI",Cs.D3MM_READ_ABI="D3MM_READ_ABI";const Bs=(e,t,n)=>A(void 0,void 0,void 0,(function*(){const r=yield Rs(e);return new ds(r).encodeFunctionData(t,n)})),xs=(e,t,n)=>new ds(e).encodeFunctionData(t,n);class ks extends di{constructor(){super(...arguments),this._pendingBatchAggregator=null,this._pendingBatch=null,this._provider=null}setProvider(e){this._provider=e}send(e,t){const n=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):n.send.call(this,e,t);const r={request:{method:e,params:t},resolve:null,reject:null},i=new Promise(((e,t)=>{r.resolve=e,r.reject=t}));this._pendingBatch||(this._pendingBatch=[]),this._pendingBatch.push(r);const s=()=>A(this,void 0,void 0,(function*(){const t=this._pendingBatch||[];let n;this._pendingBatch=null,this._pendingBatchAggregator=null;const i=yield this.detectNetwork();n="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 n="";const r=t.map((e=>{const[t]=e;return n=e[1],[t.to,t.data]})),i=yield Bs(exports.ABIName.customMultiCallAggregate,"aggregate",[r]);return[{to:g[e].MULTI_CALL,data:i},n]}))}(n,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 n=new Error(e.error.message);n.code=e.error.code,n.data=e.error.data,t.reject(n)}catch(n){t.reject(e.error)}})),this.emit("debug",{action:"responseBatch.error",request:o,response:e,provider:this,id:o.id});else{const[n,i]=rs.decode(["uint256","bytes[]"],e.result),s=n.toNumber();if(this._setFastBlockNumber(s),this.emit("blockNumberChanged",s),t.length!==i.length)return void r.reject("Unexpected length mismatch");t.forEach(((e,t)=>{const n=i[t];e.resolve(n)})),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 mn(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 Ns="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,n;const r=null===(t=this.getConfigProvider)||void 0===t?void 0:t.call(this,e);if(r)return r;const i=null===(n=this.rpc)||void 0===n?void 0:n[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,n;const r=null===(t=this.getConfigProvider)||void 0===t?void 0:t.call(this,e),i=null===(n=this.rpc)||void 0===n?void 0:n[e];if(!i&&!r)throw new Error(`ChainId ${e} not found`);if(this.batchStaticJsonRpcProviderMap.has(e))return this.batchStaticJsonRpcProviderMap.get(e);const s=new ks(i,e);return s.setProvider(r||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,n){const r=this.getProvider(e);return new Ts(t,n,r)}getBatchContract(e,t,n){var r;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,n,s);return null===(r=this.batchContractMap.get(e))||void 0===r||r.set(t,o),o}getBatchContractByAbiName(e,t,n){return A(this,void 0,void 0,(function*(){const r=yield this.getContractInterface(n);return this.getBatchContract(e,t,r)}))}getContractInterface(e){return Rs(e)}callMultiQuery(e,t){return A(this,void 0,void 0,(function*(){const n=g[e],{MULTI_CALL:r}=n,i=yield this.getContractInterface(exports.ABIName.customMultiCallAggregate),s=this.getContract(e,r,i),o=[],a=new Map,l=new Map,c={};for(let n=0;n<t.length;n++){const{contractAddress:r,method:i,params:s,abiName:u,callback:d}=t[n];let h=l.get(u);if(!h){const t=yield this.getContractInterface(u);a.set(u,t),h=this.getContract(e,r,t),l.set(u,h)}const f={to:r,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 r=d?d(t):void 0;return c[n]=r||t,c[n]}})}const[u]=yield _s(s,r,o);return u}))}callQuery(e,t){return A(this,void 0,void 0,(function*(){const n=yield this.getContractInterface(t.abiName),r=this.getContract(e,t.contractAddress,n),i=yield r.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 n=yield this.getBatchProvider(e),r=yield Bs(t.abiName,t.method,t.params),i=yield n.call({to:t.contractAddress,data:r}),s=yield((e,t,n)=>A(void 0,void 0,void 0,(function*(){const r=yield Rs(e);return new ds(r).decodeFunctionResult(t,n)})))(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),n=yield t.getBlockNumber();return t.emit("blockNumberChanged",n),n}))}getETHBalance(e,t){return A(this,void 0,void 0,(function*(){const n=this.getProvider(e),r=yield n.getBalance(t);return new o(r.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 n=0,r=1;for(const i of e.body.matchAll(qs)){if("number"==typeof i.index||Ms(!1),i.index>=t)break;n=i.index+i[0].length,r+=1}return{line:r,column:t+1-n}}function Vs(e,t){const n=e.locationOffset.column-1,r="".padStart(n)+e.body,i=t.line-1,s=e.locationOffset.line-1,o=t.line+s,a=1===t.line?n:0,l=t.column+a,c=`${e.name}:${o}:${l}\n`,u=r.split(/\r\n|[\n\r]/g),d=u[i];if(d.length>120){const e=Math.floor(l/80),t=l%80,n=[];for(let e=0;e<d.length;e+=80)n.push(d.slice(e,e+80));return c+Hs([[`${o} |`,n[0]],...n.slice(1,e+1).map((e=>["|",e])),["|","^".padStart(t)],["|",n[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)),n=Math.max(...t.map((([e])=>e.length)));return t.map((([e,t])=>e.padStart(n)+(t?" "+t:""))).join("\n")}class js extends Error{constructor(e,...t){var n,r,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===(n=this.nodes)||void 0===n?void 0:n.map((e=>e.loc)).filter((e=>null!=e)));this.source=null!=o?o:null==d||null===(r=d[0])||void 0===r?void 0:r.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 n of this.nodes)n.loc&&(e+="\n\n"+Vs((t=n.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 Ys(e,t,n){return new js(`Syntax Error: ${n}`,{source:e,positions:[t]})}class Gs{constructor(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class $s{constructor(e,t,n,r,i,s){this.kind=e,this.start=t,this.end=n,this.line=r,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 Xs={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"]},zs=new Set(Object.keys(Xs));function Ks(e){const t=null==e?void 0:e.kind;return"string"==typeof t&&zs.has(t)}var Js,Ws,Zs,eo;function to(e){return 9===e||32===e}function no(e){return e>=48&&e<=57}function ro(e){return e>=97&&e<=122||e>=65&&e<=90}function io(e){return ro(e)||95===e}function so(e){return ro(e)||no(e)||95===e}function oo(e){var t;let n=Number.MAX_SAFE_INTEGER,r=null,i=-1;for(let t=0;t<e.length;++t){var s;const o=e[t],a=ao(o);a!==o.length&&(r=null!==(s=r)&&void 0!==s?s:t,i=t,0!==t&&a<n&&(n=a))}return e.map(((e,t)=>0===t?e:e.slice(n))).slice(null!==(t=r)&&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 $s(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 n=e.source.body.codePointAt(t);if(void 0===n)return eo.EOF;if(n>=32&&n<=126){const e=String.fromCodePoint(n);return'"'===e?"'\"'":`"${e}"`}return"U+"+n.toString(16).toUpperCase().padStart(4,"0")}function mo(e,t,n,r,i){const s=e.line,o=1+n-e.lineStart;return new $s(t,n,r,s,o,i)}function go(e,t){const n=e.source.body,r=n.length;let i=t;for(;i<r;){const t=n.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===n.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===n.charCodeAt(i+1)&&46===n.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===n.charCodeAt(i+1)&&34===n.charCodeAt(i+2)?To(e,i):vo(e,i)}if(no(t)||45===t)return Ao(e,i,t);if(io(t))return _o(e,i);throw Ys(e.source,i,39===t?"Unexpected single quote character ('), did you mean to use a double quote (\")?":co(t)||uo(n,i)?`Unexpected character: ${po(e,i)}.`:`Invalid character: ${po(e,i)}.`)}return mo(e,eo.EOF,r,r)}function yo(e,t){const n=e.source.body,r=n.length;let i=t+1;for(;i<r;){const e=n.charCodeAt(i);if(10===e||13===e)break;if(co(e))++i;else{if(!uo(n,i))break;i+=2}}return mo(e,eo.COMMENT,t,i,n.slice(t+1,i))}function Ao(e,t,n){const r=e.source.body;let i=t,s=n,o=!1;if(45===s&&(s=r.charCodeAt(++i)),48===s){if(s=r.charCodeAt(++i),no(s))throw Ys(e.source,i,`Invalid number, unexpected digit after 0: ${po(e,i)}.`)}else i=Eo(e,i,s),s=r.charCodeAt(i);if(46===s&&(o=!0,s=r.charCodeAt(++i),i=Eo(e,i,s),s=r.charCodeAt(i)),69!==s&&101!==s||(o=!0,s=r.charCodeAt(++i),43!==s&&45!==s||(s=r.charCodeAt(++i)),i=Eo(e,i,s),s=r.charCodeAt(i)),46===s||io(s))throw Ys(e.source,i,`Invalid number, expected digit but got: ${po(e,i)}.`);return mo(e,o?eo.FLOAT:eo.INT,t,i,r.slice(t,i))}function Eo(e,t,n){if(!no(n))throw Ys(e.source,t,`Invalid number, expected digit but got: ${po(e,t)}.`);const r=e.source.body;let i=t+1;for(;no(r.charCodeAt(i));)++i;return i}function vo(e,t){const n=e.source.body,r=n.length;let i=t+1,s=i,o="";for(;i<r;){const r=n.charCodeAt(i);if(34===r)return o+=n.slice(s,i),mo(e,eo.STRING,t,i+1,o);if(92!==r){if(10===r||13===r)break;if(co(r))++i;else{if(!uo(n,i))throw Ys(e.source,i,`Invalid character within String: ${po(e,i)}.`);i+=2}}else{o+=n.slice(s,i);const t=117===n.charCodeAt(i+1)?123===n.charCodeAt(i+2)?bo(e,i):wo(e,i):Po(e,i);o+=t.value,i+=t.size,s=i}}throw Ys(e.source,i,"Unterminated string.")}function bo(e,t){const n=e.source.body;let r=0,i=3;for(;i<12;){const e=n.charCodeAt(t+i++);if(125===e){if(i<5||!co(r))break;return{value:String.fromCodePoint(r),size:i}}if(r=r<<4|Do(e),r<0)break}throw Ys(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+i)}".`)}function wo(e,t){const n=e.source.body,r=Oo(n,t+2);if(co(r))return{value:String.fromCodePoint(r),size:6};if(ho(r)&&92===n.charCodeAt(t+6)&&117===n.charCodeAt(t+7)){const e=Oo(n,t+8);if(fo(e))return{value:String.fromCodePoint(r,e),size:12}}throw Ys(e.source,t,`Invalid Unicode escape sequence: "${n.slice(t,t+6)}".`)}function Oo(e,t){return Do(e.charCodeAt(t))<<12|Do(e.charCodeAt(t+1))<<8|Do(e.charCodeAt(t+2))<<4|Do(e.charCodeAt(t+3))}function Do(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function Po(e,t){const n=e.source.body;switch(n.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 Ys(e.source,t,`Invalid character escape sequence: "${n.slice(t,t+2)}".`)}function To(e,t){const n=e.source.body,r=n.length;let i=e.lineStart,s=t+3,o=s,a="";const l=[];for(;s<r;){const r=n.charCodeAt(s);if(34===r&&34===n.charCodeAt(s+1)&&34===n.charCodeAt(s+2)){a+=n.slice(o,s),l.push(a);const r=mo(e,eo.BLOCK_STRING,t,s+3,oo(l).join("\n"));return e.line+=l.length-1,e.lineStart=i,r}if(92!==r||34!==n.charCodeAt(s+1)||34!==n.charCodeAt(s+2)||34!==n.charCodeAt(s+3))if(10!==r&&13!==r)if(co(r))++s;else{if(!uo(n,s))throw Ys(e.source,s,`Invalid character within String: ${po(e,s)}.`);s+=2}else a+=n.slice(o,s),l.push(a),13===r&&10===n.charCodeAt(s+1)?s+=2:++s,a="",o=s,i=s;else a+=n.slice(o,s),o=s+1,s+=4}throw Ys(e.source,s,"Unterminated string.")}function _o(e,t){const n=e.source.body,r=n.length;let i=t+1;for(;i<r;){if(!so(n.charCodeAt(i)))break;++i}return mo(e,eo.NAME,t,i,n.slice(t,i))}const Io=10,Co=2;function Ro(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 n=[...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,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>Co)return"[Array]";const n=Math.min(Io,e.length),r=e.length-n,i=[];for(let r=0;r<n;++r)i.push(Bo(e[r],t));1===r?i.push("... 1 more item"):r>1&&i.push(`... ${r} more items`);return"["+i.join(", ")+"]"}(e,n);return function(e,t){const n=Object.entries(e);if(0===n.length)return"{}";if(t.length>Co)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 r=n.map((([e,n])=>e+": "+Bo(n,t)));return"{ "+r.join(", ")+" }"}(e,n)}(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 n;const r=t.prototype[Symbol.toStringTag];if(r===(Symbol.toStringTag in e?e[Symbol.toStringTag]:null===(n=e.constructor)||void 0===n?void 0:n.name)){const t=Ro(e);throw new Error(`Cannot use ${r} "${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 ko{constructor(e,t="GraphQL request",n={line:1,column:1}){"string"==typeof e||Fs(!1,`Body must be a string. Received: ${Ro(e)}.`),this.body=e,this.name=t,this.locationOffset=n,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 No{constructor(e,t={}){const n=function(e){return xo(e,ko)}(e)?e:new ko(e);this._lexer=new lo(n),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 Ys(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 n;return this.peek(eo.NAME)&&(n=this.parseName()),this.node(e,{kind:Zs.OPERATION_DEFINITION,operation:t,name:n,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 n,r;return this.expectOptionalToken(eo.COLON)?(n=t,r=this.parseName()):r=t,this.node(e,{kind:Zs.FIELD,alias:n,name:r,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,n=this.parseName();return this.expectToken(eo.COLON),this.node(t,{kind:Zs.ARGUMENT,name:n,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 Ys(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,n=this.parseName();return this.expectToken(eo.COLON),this.node(t,{kind:Zs.OBJECT_FIELD,name:n,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 n=this.parseTypeReference();this.expectToken(eo.BRACKET_R),t=this.node(e,{kind:Zs.LIST_TYPE,type:n})}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 n=this.parseConstDirectives(),r=this.many(eo.BRACE_L,this.parseOperationTypeDefinition,eo.BRACE_R);return this.node(e,{kind:Zs.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:r})}parseOperationTypeDefinition(){const e=this._lexer.token,t=this.parseOperationType();this.expectToken(eo.COLON);const n=this.parseNamedType();return this.node(e,{kind:Zs.OPERATION_TYPE_DEFINITION,operation:t,type:n})}parseScalarTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");const n=this.parseName(),r=this.parseConstDirectives();return this.node(e,{kind:Zs.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r})}parseObjectTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:Zs.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,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(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(eo.COLON);const i=this.parseTypeReference(),s=this.parseConstDirectives();return this.node(e,{kind:Zs.FIELD_DEFINITION,description:t,name:n,arguments:r,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(),n=this.parseName();this.expectToken(eo.COLON);const r=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:n,type:r,defaultValue:i,directives:s})}parseInterfaceTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");const n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:Zs.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:s})}parseUnionTypeDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");const n=this.parseName(),r=this.parseConstDirectives(),i=this.parseUnionMemberTypes();return this.node(e,{kind:Zs.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,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 n=this.parseName(),r=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();return this.node(e,{kind:Zs.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i})}parseEnumValuesDefinition(){return this.optionalMany(eo.BRACE_L,this.parseEnumValueDefinition,eo.BRACE_R)}parseEnumValueDefinition(){const e=this._lexer.token,t=this.parseDescription(),n=this.parseEnumValueName(),r=this.parseConstDirectives();return this.node(e,{kind:Zs.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw Ys(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 n=this.parseName(),r=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();return this.node(e,{kind:Zs.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,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(),n=this.optionalMany(eo.BRACE_L,this.parseOperationTypeDefinition,eo.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return this.node(e,{kind:Zs.SCHEMA_EXTENSION,directives:t,operationTypes:n})}parseScalarTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const t=this.parseName(),n=this.parseConstDirectives();if(0===n.length)throw this.unexpected();return this.node(e,{kind:Zs.SCALAR_TYPE_EXTENSION,name:t,directives:n})}parseObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:Zs.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i})}parseInterfaceTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return this.node(e,{kind:Zs.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i})}parseUnionTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:Zs.UNION_TYPE_EXTENSION,name:t,directives:n,types:r})}parseEnumTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:Zs.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r})}parseInputObjectTypeExtension(){const e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const t=this.parseName(),n=this.parseConstDirectives(),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return this.node(e,{kind:Zs.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r})}parseDirectiveDefinition(){const e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(eo.AT);const n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const s=this.parseDirectiveLocations();return this.node(e,{kind:Zs.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,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 Gs(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 Ys(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 Ys(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 Ys(this._lexer.source,t.start,`Unexpected ${So(t)}.`)}any(e,t,n){this.expectToken(e);const r=[];for(;!this.expectOptionalToken(n);)r.push(t.call(this));return r}optionalMany(e,t,n){if(this.expectOptionalToken(e)){const e=[];do{e.push(t.call(this))}while(!this.expectOptionalToken(n));return e}return[]}many(e,t,n){this.expectToken(e);const r=[];do{r.push(t.call(this))}while(!this.expectOptionalToken(n));return r}delimitedMany(e,t){this.expectOptionalToken(e);const n=[];do{n.push(t.call(this))}while(this.expectOptionalToken(e));return n}advanceLexer(){const{maxTokens:e}=this._options,t=this._lexer.advance();if(void 0!==e&&t.kind!==eo.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw Ys(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 n=e[t];return"object"==typeof n?n:"function"==typeof n?{enter:n,leave:void 0}:{enter:e.enter,leave:e.leave}}function Ho(e){return function(e,t,n=Xs){const r=new Map;for(const e of Object.values(Zs))r.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,n]of u){const r=t-e;null===n?(d.splice(r,1),e++):d[r]=n}}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;Ks(d)||Fs(!1,`Invalid AST Node: ${Ro(d)}.`);const n=e?null===(p=r.get(d.kind))||void 0===p?void 0:p.leave:null===(m=r.get(d.kind))||void 0===m?void 0:m.enter;if(A=null==n?void 0:n.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(!Ks(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=n[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=Go("(",Qo(e.variableDefinitions,", "),")"),n=Qo([e.operation,Qo([e.name,t]),Qo(e.directives," ")]," ");return("query"===n?"":n+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:n,directives:r})=>e+": "+t+Go(" = ",n)+Go(" ",Qo(r," "))},SelectionSet:{leave:({selections:e})=>Yo(e)},Field:{leave({alias:e,name:t,arguments:n,directives:r,selectionSet:i}){const s=Go("",e,": ")+t;let o=s+Go("(",Qo(n,", "),")");return o.length>80&&(o=s+Go("(\n",$o(Qo(n,"\n")),"\n)")),Qo([o,Qo(r," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+Go(" ",Qo(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:n})=>Qo(["...",Go("on ",e),Qo(t," "),n]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:n,directives:r,selectionSet:i})=>`fragment ${e}${Go("(",Qo(n,", "),")")} on ${t} ${Go("",Qo(r," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?function(e,t){const n=e.replace(/"""/g,'\\"""'),r=n.split(/\r\n|[\n\r]/g),i=1===r.length,s=r.length>1&&r.slice(1).every((e=>0===e.length||to(e.charCodeAt(0)))),o=n.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+=n,(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+Go("(",Qo(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:n})=>Go("",e,"\n")+Qo(["schema",Qo(t," "),Yo(n)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:n})=>Go("",e,"\n")+Qo(["scalar",t,Qo(n," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Go("",e,"\n")+Qo(["type",t,Go("implements ",Qo(n," & ")),Qo(r," "),Yo(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:n,type:r,directives:i})=>Go("",e,"\n")+t+(Xo(n)?Go("(\n",$o(Qo(n,"\n")),"\n)"):Go("(",Qo(n,", "),")"))+": "+r+Go(" ",Qo(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:n,defaultValue:r,directives:i})=>Go("",e,"\n")+Qo([t+": "+n,Go("= ",r),Qo(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:n,directives:r,fields:i})=>Go("",e,"\n")+Qo(["interface",t,Go("implements ",Qo(n," & ")),Qo(r," "),Yo(i)]," ")},UnionTypeDefinition:{leave:({description:e,name:t,directives:n,types:r})=>Go("",e,"\n")+Qo(["union",t,Qo(n," "),Go("= ",Qo(r," | "))]," ")},EnumTypeDefinition:{leave:({description:e,name:t,directives:n,values:r})=>Go("",e,"\n")+Qo(["enum",t,Qo(n," "),Yo(r)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:n})=>Go("",e,"\n")+Qo([t,Qo(n," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:n,fields:r})=>Go("",e,"\n")+Qo(["input",t,Qo(n," "),Yo(r)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:n,repeatable:r,locations:i})=>Go("",e,"\n")+"directive @"+t+(Xo(n)?Go("(\n",$o(Qo(n,"\n")),"\n)"):Go("(",Qo(n,", "),")"))+(r?" repeatable":"")+" on "+Qo(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>Qo(["extend schema",Qo(e," "),Yo(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>Qo(["extend scalar",e,Qo(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Qo(["extend type",e,Go("implements ",Qo(t," & ")),Qo(n," "),Yo(r)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:n,fields:r})=>Qo(["extend interface",e,Go("implements ",Qo(t," & ")),Qo(n," "),Yo(r)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:n})=>Qo(["extend union",e,Qo(t," "),Go("= ",Qo(n," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:n})=>Qo(["extend enum",e,Qo(t," "),Yo(n)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:n})=>Qo(["extend input",e,Qo(t," "),Yo(n)]," ")}};function Qo(e,t=""){var n;return null!==(n=null==e?void 0:e.filter((e=>e)).join(t))&&void 0!==n?n:""}function Yo(e){return Go("{\n",$o(Qo(e,"\n")),"\n}")}function Go(e,t,n=""){return null!=t&&""!==t?e+t+n:""}function $o(e){return Go(" ",e.replace(/\n/g,"\n "))}function Xo(e){var t;return null!==(t=null==e?void 0:e.some((e=>e.includes("\n"))))&&void 0!==t&&t}const zo=e=>{let t;const n=e.definitions.filter((e=>"OperationDefinition"===e.kind));return 1===n.length&&(t=n[0]?.name?.value),t},Ko=e=>{if("string"==typeof e){let n;try{const r=new No(e,t).parseDocument();n=zo(r)}catch(e){}return{query:e,operationName:n}}var t;const n=zo(e);return{query:Ho(e),operationName:n}};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,n)=>{t[n]=e})),t})(e):Array.isArray(e)?e.forEach((([e,n])=>{e&&void 0!==n&&(t[e]=n)})):t=e),t},Zo=e=>e.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),ea=e=>async t=>{const{url:n,query:r,variables:i,operationName:s,fetch:o,fetchOptions:a,middleware:l}=t,c={...t.headers};let u,d="";"POST"===e?(u=ra(r,i,s,a.jsonSerializer),"string"==typeof u&&(c["Content-Type"]="application/json")):d=(e=>{if(!Array.isArray(e.query)){const t=e,n=[`query=${encodeURIComponent(Zo(t.query))}`];return e.variables&&n.push(`variables=${encodeURIComponent(t.jsonSerializer.stringify(t.variables))}`),t.operationName&&n.push(`operationName=${encodeURIComponent(t.operationName)}`),n.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,n=e.query.reduce(((e,n,r)=>(e.push({query:Zo(n),variables:t.variables?t.jsonSerializer.stringify(t.variables[r]):void 0}),e)),[]);return`query=${encodeURIComponent(t.jsonSerializer.stringify(n))}`})({query:r,variables:i,operationName:s,jsonSerializer:a.jsonSerializer??Ls});const h={method:e,headers:c,body:u,...a};let f=n,p=h;if(l){const e=await Promise.resolve(l({...h,url:n,operationName:s,variables:i})),{url:t,...r}=e;f=t,p=r}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,n,r]=e,i=((e,t,n)=>e.query?e:{query:e,variables:t,requestHeaders:n,signal:void 0})(t,n,r),{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}=Ko(i.query);return na({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[n,r]=t,i=((e,t,n)=>e.document?e:{document:e,variables:t,requestHeaders:n,signal:void 0})(e,n,r),{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}=Ko(i.document);return na({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 n=((e,t)=>e.documents?e:{documents:e,requestHeaders:t,signal:void 0})(e,t),{headers:r,...i}=this.requestConfig;void 0!==n.signal&&(i.signal=n.signal);const s=n.documents.map((({document:e})=>Ko(e).query)),o=n.documents.map((({variables:e})=>e));return na({url:this.url,query:s,variables:o,headers:{...Wo(sa(r)),...Wo(n.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:n}=this.requestConfig;return n?n[e]=t:this.requestConfig.headers={[e]:t},this}setEndpoint(e){return this.url=e,this}}const na=async e=>{const{query:t,variables:n,fetchOptions:r}=e,i=ea((e.method??"post").toUpperCase());const s=Array.isArray(e.query),o=await i(e),a=await ia(o,r.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"===r.errorPolicy||"ignore"===r.errorPolicy;if(o.ok&&c&&l){const{errors:e,...t}=(Array.isArray(a),a),n="ignore"===r.errorPolicy?t:a;return{...s?{data:n}:n,headers:o.headers,status:o.status}}throw new Jo({..."string"==typeof a?{error:a}:a,status:o.status,headers:o.headers},{query:t,variables:n})},ra=(e,t,n,r)=>{const i=r??Ls;if(!Array.isArray(e))return i.stringify({query:e,variables:t,operationName:n});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,n,r)=>(e.push({query:n,variables:t?t[r]:void 0}),e)),[]);return i.stringify(s)},ia=async(e,t)=>{let n;return e.headers.forEach(((e,t)=>{"content-type"===t.toLowerCase()&&(n=e)})),n&&(n.toLowerCase().startsWith("application/json")||n.toLowerCase().startsWith("application/graphql+json")||n.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 n=`${this.host}/${e}`;return t&&(n=`${n}?${l.stringify(t)}`),n}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,n){return A(this,void 0,void 0,(function*(){const r=this.getUrl(e,t),i=this._getFetch(),o=yield i(r,s.merge({method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"}},n));return this.responseProcessor(o)}))}postJson(e,t,n,r){return A(this,void 0,void 0,(function*(){const i=this.getUrl(e,n),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},r));return this.responseProcessor(a)}))}}const ca={getIsV3Mining:e=>["DSP","GSP","LPTOKEN","V3CLASSICAL"].includes(e),singleSideLp:e=>["CLASSICAL","V3CLASSICAL","DPP"].includes(e),canOperateLiquidity(e,t,n,r){const i=null!=t?t:n;return!!(e&&i&&r)&&("DPP"!==e||i.toLocaleLowerCase()===r.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 FetchCPList($first: Int, $where: CrowdPooling_filter) {\n crowdPoolings(\n first: $first\n where: $where\n orderBy: bidStartTime\n orderDirection: desc\n ) {\n id\n creator\n bidStartTime\n bidEndTime\n freezeDuration\n i\n k\n poolQuoteCap\n poolQuote\n investorsCount\n totalBase\n createTime\n settled\n totalShares\n calmEndTime\n dvm {\n id\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n version\n feeRate\n isOvercapStop\n tokenCliffRate\n tokenClaimDuration\n tokenVestingDuration\n }\n }\n ":new ua("\n query FetchCPList($first: Int, $where: CrowdPooling_filter) {\n crowdPoolings(\n first: $first\n where: $where\n orderBy: bidStartTime\n orderDirection: desc\n ) {\n id\n creator\n bidStartTime\n bidEndTime\n freezeDuration\n i\n k\n poolQuoteCap\n poolQuote\n investorsCount\n totalBase\n createTime\n settled\n totalShares\n calmEndTime\n dvm {\n id\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n version\n feeRate\n isOvercapStop\n tokenCliffRate\n tokenClaimDuration\n tokenVestingDuration\n }\n}\n "),"\n query FetchCPDetail($id: ID!, $where: CrowdPooling_filter) {\n crowdPooling(id: $id, where: $where) {\n id\n creator\n bidStartTime\n bidEndTime\n freezeDuration\n i\n k\n poolQuoteCap\n poolQuote\n investorsCount\n totalBase\n createTime\n settled\n totalShares\n calmEndTime\n dvm {\n id\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n version\n feeRate\n isOvercapStop\n tokenCliffRate\n tokenClaimDuration\n tokenVestingDuration\n }\n }\n ":new ua("\n query FetchCPDetail($id: ID!, $where: CrowdPooling_filter) {\n crowdPooling(id: $id, where: $where) {\n id\n creator\n bidStartTime\n bidEndTime\n freezeDuration\n i\n k\n poolQuoteCap\n poolQuote\n investorsCount\n totalBase\n createTime\n settled\n totalShares\n calmEndTime\n dvm {\n id\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n version\n feeRate\n isOvercapStop\n tokenCliffRate\n tokenClaimDuration\n tokenVestingDuration\n }\n}\n "),"\n query FetchIOPCPList(\n $where: Crowd_pooling_read_servercrowdpoolingListFilter\n $voteWhere: Crowd_pooling_read_servercrowdpoolingVoteListFilter\n ) {\n crowd_pooling_read_server_list(where: $where) {\n address\n votes {\n id\n }\n }\n crowd_pooling_read_server_voteList(where: $voteWhere) {\n id\n account {\n address\n }\n }\n }\n ":new ua("\n query FetchIOPCPList($where: Crowd_pooling_read_servercrowdpoolingListFilter, $voteWhere: Crowd_pooling_read_servercrowdpoolingVoteListFilter) {\n crowd_pooling_read_server_list(where: $where) {\n address\n votes {\n id\n }\n }\n crowd_pooling_read_server_voteList(where: $voteWhere) {\n id\n account {\n address\n }\n }\n}\n "),"\n query FetchBidPosition($where: BidPosition_filter) {\n bidPositions(where: $where, orderBy: lastTxTime, orderDirection: desc) {\n user {\n id\n }\n cp {\n id\n }\n shares\n investedQuote\n }\n }\n ":new ua("\n query FetchBidPosition($where: BidPosition_filter) {\n bidPositions(where: $where, orderBy: lastTxTime, orderDirection: desc) {\n user {\n id\n }\n cp {\n id\n }\n shares\n investedQuote\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,n){return{queryKey:[Ns,"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,n.map((e=>({abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"positions",params:e}))))}))}}getOwner(e,t,n){return{queryKey:[Ns,"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:[n]})}))}}getBalanceOf(e,t,n){return{queryKey:[Ns,"ammv3","getBalanceOf",...arguments],enabled:!!e&&!!t&&!!n,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!n)return null;const r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"balanceOf",params:[n]});return new o(r.toString())}))}}getTokenOfOwnerByIndex(e,t,n){return{queryKey:[Ns,"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,n.map((e=>({abiName:exports.ABIName.NonfungiblePositionManager,contractAddress:t,method:"tokenOfOwnerByIndex",params:e.map((e=>e.toString()))}))))}))}}getV3PoolSlot0(e,t){return{queryKey:[Ns,"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:[Ns,"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,n,r){return{queryKey:[Ns,"ammv3","getCollect",...arguments],enabled:!!e||!!t,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&r))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:n,recipient:r,amount0Max:i,amount1Max:i},{from:r}]})}))}}}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 n;if(0===t.RStatus)n=this.ROneSellBase(e,t);else if(1===t.RStatus){const r=t.B0.minus(t.B),i=t.Q.minus(t.Q0);e.lt(r)?(n=this.RAboveSellBase(e,t),n.gt(i)&&(n=i)):n=e.eq(r)?i:i.plus(this.ROneSellBase(e.minus(r),t))}else n=this.RBelowSellBase(e,t);const r=n.multipliedBy(t.mtFeeRate),i=n.multipliedBy(t.lpFeeRate);return n.minus(r).minus(i)}catch(e){return new o(0)}}QuerySellQuote(e,t){try{let n;if(0===t.RStatus)n=this.ROneSellQuote(e,t);else if(1===t.RStatus)n=this.RAboveSellQuote(e,t);else{const r=t.B.minus(t.B0),i=t.Q0.minus(t.Q);e.lt(i)?(n=this.RBelowSellQuote(e,t),n.gt(r)&&(n=r)):n=e.eq(i)?r:r.plus(this.ROneSellQuote(e.minus(i),t))}const r=n.multipliedBy(t.mtFeeRate),i=n.multipliedBy(t.lpFeeRate);return n.minus(r).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,n,r,i)=>{if(e.lte(0))throw new Error("TARGET_IS_ZERO");const s=r.multipliedBy(t.minus(n));if(i.eq(0))return s;const a=e.multipliedBy(e).div(t).div(n).multipliedBy(i);return s.multipliedBy(new o(1).minus(i).plus(a))},Ea=(e,t,n,r,i)=>{if(e.lte(0))throw new Error("TARGET_IS_ZERO");if(n.eq(0))return n;if(i.eq(0))return n.multipliedBy(r).gt(t)?t:n.multipliedBy(r);if(i.eq(1)){const i=r.multipliedBy(n).multipliedBy(t).div(e.multipliedBy(e));return t.multipliedBy(i).div(i.plus(1))}const s=i.multipliedBy(e).div(t).multipliedBy(e).plus(r.multipliedBy(n));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 n=new o(e.toString());return t&&(n=n.div(new o(10**t))),n.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:n,params:r=[]}){const i=n[t];if(!i)return null;const s=wa[t];return s?{abiName:s,contractAddress:e,method:i,params:r}:null}class Da{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,n,r,i){return{queryKey:[Ns,"pool","getTotalBaseLpQuery",...arguments],enabled:!!t&&!!n&&!!r&&void 0!==i,queryFn:()=>A(this,void 0,void 0,(function*(){if(!t||!n||!r||void 0===i)return null;if("AMMV2"===r){const r=yield e.fetchUniswapV2PairTotalSupply(t,n);return new o(c.formatUnits(r,i))}const s=Oa({poolAddress:n,type:r,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,n,r){return{queryKey:[Ns,"pool","getTotalQuoteLp",...arguments],enabled:!!e&&!!t&&!!n&&void 0!==r,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!n||void 0===r)return null;const i=Oa({poolAddress:t,type:n,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,r)}))}}getUserBaseLpQuery(t,n,r,i,s){return{queryKey:[Ns,"pool","getUserBaseLp",...arguments],enabled:!!(t&&n&&r&&void 0!==i&&s),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(t&&n&&r&&void 0!==i&&s))return null;if("AMMV2"===r){const r=yield e.fetchUniswapV2PairBalanceOf(t,n,s);return new o(c.formatUnits(r,i))}const a=Oa({poolAddress:n,type:r,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,n,r,i){return{queryKey:[Ns,"pool","getUserQuoteLp",...arguments],enabled:!!(e&&t&&n&&void 0!==r&&i),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&void 0!==r&&i))return null;const s=Oa({poolAddress:t,type:n,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,r)}))}}getReserveLpQuery(t,n,r,i,s){return"CLASSICAL"===r?this.getPMMStateQuery(t,n,r,i,s):{queryKey:[Ns,"pool","getReserveLp",...arguments],enabled:!!t&&!!n&&!!r&&void 0!==i&&void 0!==s,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(t&&n&&r&&void 0!==i&&void 0!==s))return null;if("AMMV2"===r){const r=yield e.fetchUniswapV2PairGetReserves(t,n);return{baseReserve:ma(r._reserve0.toString(),i),quoteReserve:ma(r._reserve1.toString(),s)}}const o=Oa({poolAddress:n,type:r,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,n,r,i){return{queryKey:[Ns,"pool","getClassicalTargetQuery",...arguments],enabled:!!e&&!!t&&!!n&&void 0!==r&&void 0!==i,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&void 0!==r&&void 0!==i&&["CLASSICAL","V3CLASSICAL"].includes(n)))return null;const s=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.classicalPoolABI,contractAddress:t,method:"getExpectedTarget",params:[]});return{baseTarget:ma(s.baseTarget,r),quoteTarget:ma(s.quoteTarget,i)}}))}}getTotalBaseMiningLpQuery(e,t,n,r,i){const s=!!n&&Da.utils.getIsV3Mining(n);return{queryKey:[Ns,"pool","getTotalBaseMiningLp",...arguments],enabled:!!e&&!!t&&!!n&&void 0!==i&&(s||!!r),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&void 0!==i&&(s||r)))return null;let o;const a={DVM:"balanceOf",DSP:"totalSupply",GSP:"totalSupply",LPTOKEN:"totalSupply",CLASSICAL:"balanceOf",V3CLASSICAL:"totalSupply",DPP:null}[n];if(!a)return null;if(s)o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[]};else{if(!r)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:r,method:a,params:[t]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getTotalQuoteMiningLpQuery(e,t,n,r,i){const s=!!n&&Da.utils.getIsV3Mining(n);return{queryKey:[Ns,"pool","getTotalQuoteMiningLp",...arguments],enabled:!!e&&!!t&&!!n&&void 0!==i&&(s||!!r),queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!n||void 0===i)return null;let o;const a={DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"balanceOf",V3CLASSICAL:"totalSupply",DPP:null}[n];if(!a)return null;if(s)o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[]};else{if(!r)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:r,method:a,params:[t]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getUserBaseMiningLpQuery(e,t,n,r,i,s){const o=!!n&&Da.utils.getIsV3Mining(n);return{queryKey:[Ns,"pool","getUserBaseMiningLp",...arguments],enabled:!!e&&!!s&&!!t&&!!n&&void 0!==i&&(o||!!r),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&s&&t&&n&&void 0!==i))return null;let o;const a={DVM:"getUserLpBalance",DSP:"balanceOf",GSP:"balanceOf",LPTOKEN:"balanceOf",CLASSICAL:"getUserLpBalance",V3CLASSICAL:"balanceOf",DPP:null}[n];if(!a)return null;if(Da.utils.getIsV3Mining(n))o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[s]};else{if(!r)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:a,params:[r,s]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getUserQuoteMiningLpQuery(e,t,n,r,i,s){const o=!!n&&Da.utils.getIsV3Mining(n);return{queryKey:[Ns,"pool","getUserQuoteMiningLp",...arguments],enabled:!!e&&!!s&&!!t&&!!n&&void 0!==i&&(o||!!r),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&s&&t&&n&&void 0!==i))return null;let o;const a={DVM:null,DSP:null,GSP:null,LPTOKEN:null,CLASSICAL:"getUserLpBalance",V3CLASSICAL:"balanceOf",DPP:null}[n];if(!a)return null;if(Da.utils.getIsV3Mining(n))o={abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:a,params:[s]};else{if(!r)return null;o={abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:a,params:[r,s]}}if(!o)return null;const l=yield this.contractRequests.batchCallQuery(e,o);return ma(l,i)}))}}getLPFeeRateQuery(e,t,n){return{queryKey:[Ns,"pool","getLpFeeRateQuery",...arguments],enabled:!!e&&!!t&&!!n,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t||!n)return null;const r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dvmPoolABI,contractAddress:t,method:"_LP_FEE_RATE_",params:[]});return new o(r.toString()).div(10**18)}))}}getFeeRateQuery(t,n,r,i){return{queryKey:[Ns,"pool","getFeeRateQuery",...arguments],enabled:!!t&&!!n&&!!r,queryFn:()=>A(this,void 0,void 0,(function*(){var s;if(!t||!n||!r)return null;let a=new o(0),l=new o(0);if("CLASSICAL"===r){const{ROUTE_V1_DATA_FETCH:e}=g[t],r=yield this.contractRequests.batchCallQuery(t,{abiName:exports.ABIName.DODOV1PmmHelperABI,contractAddress:e,method:"getPairDetail",params:[n]}),i=null===(s=null==r?void 0:r.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"===r)if(e.getUniswapV2Router02ContractAddressByChainId(t)&&e.getUniswapV2FactoryContractAddressByChainId(t)){const r=yield e.fetchUniswapV2PairFeeRate(t,n),i=ma(r.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:n,method:"getUserFeeRate",params:[null!=i?i:n]});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,n,r,i){return{queryKey:[Ns,"pool","getPMMStateQuery",...arguments],enabled:!!e&&!!t&&!!n&&void 0!==r&&void 0!==i,queryFn:()=>A(this,void 0,void 0,(function*(){var s;if(!e||!t||!n||void 0===r||void 0===i)return null;if("AMMV2"===n||"AMMV3"===n)return null;let a=null,l=null;if("CLASSICAL"===n){const{ROUTE_V1_DATA_FETCH:n}=g[e],r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.DODOV1PmmHelperABI,contractAddress:n,method:"getPairDetail",params:[t]});a=null===(s=null==r?void 0:r.res)||void 0===s?void 0:s[0]}else{if(!["DVM","DPP","LPTOKEN","DSP","GSP"].includes(n))throw new Error(`type: ${n} 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,n){const r=ba(e.i,18-t+n),i=ba(e.K,18),s=ba(e.B,t),o=ba(e.Q,n),a=ba(e.B0,t),l=ba(e.Q0,n),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:r,b0:a,q0:l,R:c,lpFeeRate:u,mtFeeRate:d}}(a,r,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,n,r){return{queryKey:[...arguments],enabled:!!(e&&t&&n&&r),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&r))return null;const i=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoPair,contractAddress:t,method:"getWithdrawBasePenalty",params:[n]});return ma(i,r)}))}}}Da.graphql=ga,Da.utils=ca,Da.encode={createDSPPoolABI(e,t,n,r,i,s,a,l,c){return A(this,arguments,void 0,(function*(e,t,n,r,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,n.address,r,i,new o(s).div(1e4).multipliedBy(10**18).toString(),he(new o(a).toString(),18-t.decimals+n.decimals).toString(),he(new o(l).toString(),18).toString(),u,c])}}))},createGSPPoolABI(e,t,n,r,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,n.address,r.address,i,s,new o(a).div(1e4).multipliedBy(10**18).toString(),"0",he(new o(l).toString(),18-n.decimals+r.decimals).toString(),he(new o(c).toString(),18).toString(),"1000",u])}}))},createDVMPoolABI(e,t,n,r,i,s,a,l,c){return A(this,arguments,void 0,(function*(e,t,n,r,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,n.address,r,i,new o(s).div(1e4).multipliedBy(10**18).toString(),he(new o(a).toString(),18-t.decimals+n.decimals).toString(),he(new o(l).toString(),18).toString(),u,c])}}))},createDPPPoolABI(e,t,n,r,i,s,a,l,c){return A(this,arguments,void 0,(function*(e,t,n,r,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,n.address,r,i,new o(s).div(1e4).multipliedBy(10**18).toString(),he(new o(a).toString(),18-t.decimals+n.decimals).toString(),he(new o(l).toString(),18).toString(),u,c])}}))},removeDPPPoolABI(e,t,n,r,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(n).toString(),18-c+u).toString(),f=he(new o(r).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,n,r,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(n).div(1e4).multipliedBy(10**18).toString(),E=he(new o(r).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,n,r,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,n,r,i,s,o,a])}}))},addDVMLiquidityABI(e,t,n,r,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,n,r,i,s,o,a])}}))},removeDSPLiquidityABI(e,t,n,r,i,s,o,a){return A(this,void 0,void 0,(function*(){if(28!=e&&69!=e){const{CALLEE_HELPER:t}=g[e];o&&(n=t)}const l=yield Bs(exports.ABIName.dodoDSP,"sellShares",[r,n,i,s,o?"0x00":"0x",a]);return{to:t,data:l}}))},removeDVMLiquidityABI(e,t,n,r,i,s,o,a){return A(this,void 0,void 0,(function*(){if(28!=e&&69!=e){const{CALLEE_HELPER:t}=g[e];o&&(n=t)}const l=yield Bs(exports.ABIName.dodoDVM,"sellShares",[r,n,i,s,o?"0x00":"0x",a]);return{to:t,data:l}}))},addClassicalLiquidityABI(e,t,n,r,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,n,r,i,s,o,a])}}))},removeClassicalBaseABI(e,t,n,r){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,n,r])):(o=t,s=yield Bs(exports.ABIName.dodoPair,"withdrawBase",[n])),{to:o,data:s}}))},removeMaxClassicalBaseABI(e,t,n){return A(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:r}=g[e];let i="",s="";return r?(s=r,i=yield Bs(exports.ABIName.dodoV1PairProxy,"withdrawAllBase",[t,n])):(s=t,i=yield Bs(exports.ABIName.dodoPair,"withdrawAllBase",[])),{to:s,data:i}}))},removeClassicalQuoteABI(e,t,n,r){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,n,r])):(o=t,s=yield Bs(exports.ABIName.dodoPair,"withdrawQuote",[n])),{to:o,data:s}}))},removeMaxClassicalQuoteABI(e,t,n){return A(this,void 0,void 0,(function*(){const{DODO_V1_PAIR_PROXY:r}=g[e];let i="",s="";return r?(s=r,i=yield Bs(exports.ABIName.dodoV1PairProxy,"withdrawAllQuote",[t,n])):(s=t,i=yield Bs(exports.ABIName.dodoPair,"withdrawAllQuote",[])),{to:s,data:i}}))}};const Pa=(e,t,n,r,i)=>{const s=r.multipliedBy(t.minus(n)),a=e.multipliedBy(e).div(t).div(n).multipliedBy(i);return s.multipliedBy(new o.BigNumber(1).minus(i).plus(a))},Ta=(e,t,n,r,i)=>{let s=new o.BigNumber(1).minus(i).multipliedBy(t);s=s.minus(i.multipliedBy(e).multipliedBy(e).div(t)),s=s.plus(n.multipliedBy(r));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,n)=>{let r=new o.BigNumber(4).multipliedBy(t).multipliedBy(n).div(e);r=new o.BigNumber(1).plus(r).sqrt();const i=r.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),n=e.multipliedBy(this.lpFeeRate);e=e.plus(t).plus(n);const r=this.getExpectedTarget();let i=new o.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 t=this.B.minus(r.base),n=r.quote.minus(this.Q);i=e.isLessThanOrEqualTo(t)?this.RBelowBuyBase(e,r.quote):n.plus(this.ROneBuyBase(e.minus(t),r.base))}return i}querySellBase(e){let t;const n=this.getExpectedTarget();if(0===this.RStatus)t=this.ROneSellBase(e,n.quote);else if(2===this.RStatus)t=this.RBelowSellBase(e,n.quote);else{const r=n.base.minus(this.B),i=this.Q.minus(n.quote);t=e.isLessThanOrEqualTo(r)?this.RAboveSellBase(e,n.base):i.plus(this.ROneSellBase(e.minus(r),n.quote))}const r=t.multipliedBy(this.mtFeeRate),i=t.multipliedBy(this.lpFeeRate);return t.minus(r).minus(i)}queryBuyQuote(e){const t=e.multipliedBy(this.mtFeeRate),n=e.multipliedBy(this.lpFeeRate);e=e.plus(t).plus(n);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),s=this.Q.minus(r.quote);return e.isLessThanOrEqualTo(s)?this.RAboveBuyQuote(e,r.base):i.plus(this.ROneBuyQuote(e.minus(s),r.quote))}querySellQuote(e){let t;const n=this.getExpectedTarget();if(0===this.RStatus)t=this.ROneSellQuote(e,n.base);else if(1===this.RStatus)t=this.RAboveSellQuote(e,n.base);else{const r=this.B.minus(n.base),i=n.quote.minus(this.Q);t=e.isLessThanOrEqualTo(i)?this.RBelowSellQuote(e,n.quote):r.plus(this.ROneSellQuote(e.minus(i),n.base))}const r=t.multipliedBy(this.mtFeeRate),i=t.multipliedBy(this.lpFeeRate);return t.minus(r).minus(i)}getPriceDepth(e){const t=this.getExpectedTarget();let n,r;if(e.gt(this.i)){const i=e.div(this.i);n=t.base.div(i.minus(1).plus(this.k).div(this.k).sqrt()),r=this.ROneBuyBase(t.base.minus(n),t.base).plus(t.quote)}else{const i=this.i.div(e);r=t.quote.div(i.minus(1).plus(this.k).div(this.k).sqrt()),n=this.ROneBuyQuote(t.quote.minus(r),t.quote).plus(t.base)}return{baseAmount:this.B.minus(n).abs(),quoteAmount:this.Q.minus(r).abs(),isBuy:this.B.gt(n)}}getWithdrawBasePenalty(e){if(1===this.RStatus){const t=_a(this.B,this.k,this.Q.minus(this.Q0).div(this.i)),n=_a(this.B.minus(e),this.k,this.Q.minus(this.Q0).div(this.i));return t.minus(n).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)),n=_a(this.Q.minus(e),this.k,this.B.minus(this.B0).multipliedBy(this.i));return t.minus(n).minus(e)}return new o.BigNumber(0)}ROneBuyBase(e,t){return e.isGreaterThanOrEqualTo(t),Pa(t,t,t.minus(e),this.i,this.k)}ROneBuyQuote(e,t){return e.isGreaterThanOrEqualTo(t),Pa(t,t,t.minus(e),new o.BigNumber(1).div(this.i),this.k)}ROneSellBase(e,t){const n=Ta(t,t,this.i,e.negated(),this.k);return t.minus(n)}ROneSellQuote(e,t){const n=Ta(t,t,new o.BigNumber(1).div(this.i),e.negated(),this.k);return t.minus(n)}RAboveBuyBase(e,t){if(e.isGreaterThanOrEqualTo(this.B))throw new Error("RAbove Buy Base Amount Exceed Limitation");return Pa(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 Pa(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 n=Ta(t,this.B,new o.BigNumber(1).div(this.i),e.negated(),this.k);return this.B.minus(n)}RBelowBuyQuote(e,t){if(e.isGreaterThanOrEqualTo(this.Q))throw new Error("RBelow Buy Quote Amount Exceed Limitation");return Pa(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 Pa(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 n=Ta(t,this.Q,this.i,e.negated(),this.k);return this.Q.minus(n)}}function Ca(e){return e&&/^#[a-f\d]{3,6}\s*[0-9]{1,3}%/i.test(e)?(n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})\s*([0-9]{1,3})*%?$/i.exec(e),(t=n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16),a:n[4]?Number(n[4])/100:1}:void 0)?`rgba(${t.r}, ${t.g}, ${t.b}, ${t.a})`:t):e;var t,n}var Ra;!function(e){e.All="all"}(Ra||(Ra={}));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 ka={getMiningStatusByTimestamp:({startTime:e,endTime:t,rewardTokenInfoList:n})=>{let r,i;for(const s of n){const n=s.startTime||e,a=s.endTime||t;n&&(r=r?o.min(n,r):o.isBigNumber(n)?n:new o(n)),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 r&&s.lt(r)&&(a=exports.MiningStatusE.upcoming),r&&i&&s.gte(r)&&s.lte(i)&&(a=exports.MiningStatusE.active),{status:a,firstStartTime:r,lastEndTime:i,currentTime:s}}},Na=[{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,n,r,i,s){return{queryKey:[Ns,"mining","getPendingRewardQuery",...arguments],enabled:!!(e&&t&&n&&r&&void 0!==i),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&r&&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:[n,r]});else o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:"getPendingReward",params:[r,n]});return ma(o,i)}))}}getLpStakedBalance(e,t,n,r,i,s){return{queryKey:[Ns,"mining","getLpStakedBalance",...arguments],enabled:!(!e||!t||!n||void 0===i||"3"!==s&&!r),queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&void 0!==i)||"3"!==s&&!r)return null;let o;if("3"===s)o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:"balanceOf",params:[n]});else o=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.dodoMiningABI,contractAddress:t,method:"getUserLpBalance",params:[n,r]});return ma(o,i)}))}}getRewardTokenInfos(e,t,n,r){return{queryKey:[Ns,"mining","getRewardTokenInfos",...arguments],enabled:null!=e&&null!=t&&null!=n&&!r,queryFn:()=>A(this,void 0,void 0,(function*(){if(!e||!t)return null;const r=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.v3MiningABI,contractAddress:t,method:"rewardTokenInfos",params:[n]});if(!r)return null;const{rewardVault:i,rewardPerBlock:s,workThroughReward:o,lastFlagBlock:a,startBlock:l,endBlock:c}=r;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=ka,La.graphql=Ba,La.encode={depositMining(e,t,n){return A(this,void 0,void 0,(function*(){const r=xs(Na,"deposit",[he(t.dp(n,o.ROUND_FLOOR).toString(),n).toString()]);return{to:e,data:r}}))},withdrawMining(e,t,n){return A(this,void 0,void 0,(function*(){const r=xs(Na,"withdraw",[he(t.dp(n,o.ROUND_FLOOR).toString(),n).toString()]);return{to:e,data:r}}))},claimAllMining(e){return A(this,void 0,void 0,(function*(){const t=xs(Na,"claimAllRewards",[]);return{to:e,data:t}}))},createDODOMineV3(e,t,n,r,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,n,i,s,o,a]):xs(Na,"createDODOMineV3",[t,n,r,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,n,r){let i=r,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:[Ns,"token","getFetchTokenQuery",null!=e?e:"",null==n?void 0:n.toLocaleLowerCase(),null==i?void 0:i.toLocaleLowerCase(),null==t?void 0:t.toLocaleLowerCase()],enabled:!!e&&!!t&&!!n,queryFn:()=>A(this,void 0,void 0,(function*(){if(!(e&&t&&n&&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,n);return{symbol:l.symbol,address:l.address,name:l.name,decimals:l.decimals,balance:t,allowance:Ma,account:n,spender:r,chainId:e}}const c=yield this.contractRequests.batchCallQuery(e,{abiName:exports.ABIName.erc20Helper,contractAddress:s,method:"isERC20",params:[t,n,i]}),{name:u,isOk:d}=c;if(d&&u){const n=parseInt(c.decimals,10),i=new o(10).pow(n),s=new o(c.allownance.toString()).div(i),a=new o(c.balance.toString()).div(i);return{address:t,decimals:n,symbol:qa(c.symbol),name:qa(u),balance:a,spender:r,allowance:s,chainId:e}}return null}))}}}Ua.graphql=Fa,Ua.utils={isSameAddress:(e,t)=>{const n=e.length,r=t.length;if(0===n||0===r)return!1;if(n===r)return e.toLowerCase()===t.toLowerCase();const i=e.substring(2,n).toLowerCase(),s=t.substring(2,n).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;const Ya={fetchCPList:ha("\n query FetchCPList($first: Int, $where: CrowdPooling_filter) {\n crowdPoolings(\n first: $first\n where: $where\n orderBy: bidStartTime\n orderDirection: desc\n ) {\n id\n creator\n bidStartTime\n bidEndTime\n freezeDuration\n i\n k\n poolQuoteCap\n poolQuote\n investorsCount\n totalBase\n createTime\n settled\n totalShares\n calmEndTime\n dvm {\n id\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n version\n feeRate\n isOvercapStop\n tokenCliffRate\n tokenClaimDuration\n tokenVestingDuration\n }\n }\n "),fetchCPDetail:ha("\n query FetchCPDetail($id: ID!, $where: CrowdPooling_filter) {\n crowdPooling(id: $id, where: $where) {\n id\n creator\n bidStartTime\n bidEndTime\n freezeDuration\n i\n k\n poolQuoteCap\n poolQuote\n investorsCount\n totalBase\n createTime\n settled\n totalShares\n calmEndTime\n dvm {\n id\n }\n baseToken {\n id\n symbol\n name\n decimals\n }\n quoteToken {\n id\n symbol\n name\n decimals\n }\n version\n feeRate\n isOvercapStop\n tokenCliffRate\n tokenClaimDuration\n tokenVestingDuration\n }\n }\n "),fetchIOPCPList:ha("\n query FetchIOPCPList(\n $where: Crowd_pooling_read_servercrowdpoolingListFilter\n $voteWhere: Crowd_pooling_read_servercrowdpoolingVoteListFilter\n ) {\n crowd_pooling_read_server_list(where: $where) {\n address\n votes {\n id\n }\n }\n crowd_pooling_read_server_voteList(where: $voteWhere) {\n id\n account {\n address\n }\n }\n }\n "),fetchBidPosition:ha("\n query FetchBidPosition($where: BidPosition_filter) {\n bidPositions(where: $where, orderBy: lastTxTime, orderDirection: desc) {\n user {\n id\n }\n cp {\n id\n }\n shares\n investedQuote\n }\n }\n ")};Object.defineProperty(exports,"setContractRequests",{enumerable:!0,get:function(){return e.setContractRequests}}),exports.AMMV3Api=pa,exports.CONTRACT_QUERY_KEY=Ns,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 n=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=n,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,...[n]){return{queryKey:["graphql","getInfiniteQuery",t,e,n],queryFn:r=>A(this,[r],void 0,(function*({pageParam:r}){return yield this.getData(e.toString(),Object.assign(Object.assign({},n),{where:Object.assign(Object.assign({},null==n?void 0:n.where),{[t]:r})}))}))}}},exports.MiningApi=La,exports.PMMHelper=ya,exports.PMMModel=Ia,exports.PMMState=va,exports.PoolApi=Da,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,n,r,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:n,tokens:r})=>{if(null==r?void 0:r.length){const i=Number(e);[{isAllChain:d,selectTokens:t,side:"from"},{isAllChain:h,selectTokens:n,side:"to"}].forEach((({isAllChain:e,selectTokens:t,side:n})=>{(e||t)&&((null==t?void 0:t.length)?r.forEach((e=>{var r;t.some((t=>t.toLocaleLowerCase()===e.address.toLocaleLowerCase()))&&c.push(Object.assign(Object.assign({logoURI:e.logoImg},e),{chainId:null!==(r=e.chainId)&&void 0!==r?r:i,side:n}))})):r.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:n}))})))}))}})),(null==e?void 0:e.style)&&Object.keys(e.style).length){const n=null===(t=null==e?void 0:e.basis)||void 0===t?void 0:t.fontSizeModify;u={palette:{mode:"light",primary:{main:Ca(e.style.primary)},secondary:{main:Ca(e.style.secondary),contrastText:Ca(e.style.secondaryContrast)},error:{main:Ca(e.style.error),contrastText:Ca(e.style.errorContrast)},warning:{main:Ca(e.style.warning)},success:{main:Ca(e.style.success)},background:{paper:Ca(e.style.background1),paperContrast:Ca(e.style.background2),backdrop:Ca(e.style.mask),input:Ca(e.style.input),tag:Ca(e.style.card)},text:{primary:Ca(e.style.text1),secondary:Ca(e.style.text2),disabled:Ca(e.style.textDisable),placeholder:Ca(e.style.textPlaceholder)},border:{main:Ca(e.style.borderSolid),light:Ca(e.style.borderDash),disabled:Ca(e.style.borderSolid)}},typography:n?{fontSize:16+n,ht:{fontSize:36+n},h2:{fontSize:32+n},h3:{fontSize:28+n},caption:{fontSize:20+n},h5:{fontSize:18+n},body1:{fontSize:16+n},body2:{fontSize:14+n},h6:{fontSize:12+n},button:{fontSize:16+n}}:void 0}}const f=e.rebateAddress,p=e.rebateRatio,m=e.swapSlippage,g=e.crossChainSlippage,y=null===(n=e.basis)||void 0===n?void 0:n.width,A=null===(r=e.basis)||void 0===r?void 0:r.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 n;const{result:r}=yield this.getWidgetTokenListConfig(e,t),i=r.data;if(!i)throw new Error(null!==(n=r.msg)&&void 0!==n?n:"Error");return{swapWidgetProps:this.convertConfigToSwapWidgetProps(i),configTokenList:i}}))}},exports.SystemApi=Qa,exports.TokenApi=Ua,exports.basicTokenMap=m,exports.contractConfig=g,exports.cpGraphqlQuery=Ya,exports.etherTokenAddress=f,exports.getPmmModel=function({q:e,b:t,k:n,i:r,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(r),l.k=new o(n),l.RStatus=a,l.mtFeeRate=new o(0),l.lpFeeRate=new o(0),l},exports.platformIdMap=y,exports.solveQuadraticFunctionForTarget=(e,t,n,r)=>{if(e.eq(0))return new o(0);if(r.eq(0))return e.plus(n.multipliedBy(t));const i=r.multipliedBy(4).multipliedBy(n).multipliedBy(t).div(e).plus(1).sqrt().minus(1).div(r.multipliedBy(2)).plus(1);return e.multipliedBy(i)};