{"version":3,"file":"static/js/main.83fabfe7.js","mappings":"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","sources":["locales|lazy|/^/.//.*/.js$/|referencedExports: [[\"messages\"]]|groupOptions: {}|namespace object","constants/canister.ts","constants/swap-tokens.ts","constants/index.ts","constants/locales.ts","constants/server.ts","hooks/swap/v2/calls.ts","constants/v2/SwapPositionManager.did.js","hooks/useActor.ts","hooks/swap/v2/useSwapNFTSvg.ts","hooks/swap/v2/index.ts","hooks/useICPCalls.ts","constants/v2/SwapPool.did.js","constants/v2/SwapFactory.did.js","hooks/v2-actor.ts","serviceWorker.ts","hooks/useInitialTokenStandard.ts","hooks/staking-token/useAllStakingPools.ts","ui-component/Loading/LinearLoader.tsx","../../../packages/hooks/src/exchange_rate.ts","../../../packages/ui/src/components/GlobalTips.tsx","assets/images/logo.svg","ui-component/Logo.tsx","ui-component/MainLayout/Header/index.tsx","ui-component/MainLayout/NavBar/index.tsx","ui-component/MainLayout/index.tsx","ui-component/Maintenance/index.tsx","ui-component/404/index.tsx","ui-component/Loading/Loadable.tsx","routes/config.ts","routes/Routes.tsx","routes/index.tsx","themes/colors.ts","themes/compStyleOverride.ts","themes/palette.ts","themes/typography.ts","themes/index.ts","ui-component/NavigationScroll.tsx","ui-component/Snackbar.tsx","App.tsx","hooks/useXDR2USD.ts","hooks/useActiveLocale.ts","i18n.tsx","index.tsx","store/allTokens.ts","store/global/actions.ts","../../../packages/hooks/src/icp.ts","store/global/hooks.ts","../../../packages/hooks/src/sns/useSNSTokenRoot.ts","store/hooks.ts","store/global/states.ts","store/global/reducer.ts","store/loadingReducer.ts","store/token/cache/states.ts","store/token/cache/reducer.ts","store/call/actions.ts","store/call/reducer.ts","store/call/states.ts","store/sns/states.ts","store/sns/reducer.ts","store/reducer.ts","store/index.ts","store/snackbarReducer.ts","store/sns/actions.ts","store/sns/hooks.ts","store/token/cache/actions.ts","store/token/cache/hooks.ts","utils/nft/index.ts","utils/index.ts","../../../packages/candid/src/token-list/TokenList.did.ts","../../../packages/candid/src/token-list/AllTokenOfSwap.did.ts","../../../packages/constants/src/host.ts","../../../packages/actor/src/actor.ts","../../../packages/actor/src/BaseActor.ts","../../../packages/actor/src/ActorName.ts","../../../packages/actor/src/token-list/index.ts","../../../packages/actor/src/sns/root.ts","../../../packages/candid/src/sns/wasm.did.ts","../../../packages/actor/src/sns/wasm.ts","../../../packages/actor/src/sns/governance.ts","../../../packages/candid/src/info/node_index.did.ts","../../../packages/actor/src/info/node_index.ts","../../../packages/candid/src/info/BaseIndex.did.ts","../../../packages/candid/src/info/BaseStorage.did.ts","../../../packages/actor/src/info/base.ts","../../../packages/candid/src/info/GlobalIndex.did.ts","../../../packages/candid/src/info/GlobalStorage.did.ts","../../../packages/candid/src/info/GlobalTVL.did.ts","../../../packages/actor/src/info/global.ts","../../../packages/candid/src/info/PoolStorage.did.ts","../../../packages/actor/src/info/pool.ts","../../../packages/candid/src/info/TokenStorage.did.ts","../../../packages/actor/src/info/token.ts","../../../packages/candid/src/info/UserStorage.did.ts","../../../packages/actor/src/info/user.ts","../../../packages/candid/src/icrc/icrc.archive.did.ts","../../../packages/candid/src/icrc/icrc1.did.ts","../../../packages/candid/src/icrc/icrc2.did.ts","../../../packages/actor/src/token/icrc1.ts","../../../packages/candid/src/dip20/dip20.did.ts","../../../packages/candid/src/dip20/dip20_balance.did.ts","../../../packages/candid/src/dip20/dip20_supply.did.ts","../../../packages/actor/src/token/dip20.ts","../../../packages/candid/src/token/token.did.ts","../../../packages/candid/src/token/wicp.did.ts","../../../packages/actor/src/token/ext.ts","../../../packages/candid/src/icp/ledger.did.ts","../../../packages/actor/src/icp/ledger.ts","../../../packages/candid/src/nft/V3NFTCanisterController.did.ts","../../../packages/candid/src/nft/NFTCanister.did.ts","../../../packages/candid/src/nft/V3TradeCanister.did.ts","../../../packages/candid/src/nft/V3TradeStat.did.ts","../../../packages/candid/src/nft/v1NFTCanister.did.ts","../../../packages/actor/src/nft/index.ts","../../../packages/candid/src/other/ExchangeRate.did.ts","../../../packages/actor/src/other/exchangeRate.ts","../../../packages/candid/src/other/LiquidityLocks.did.ts","../../../packages/actor/src/other/liquidityLocks.ts","../../../packages/candid/src/swap/SwapNFT.did.ts","../../../packages/candid/src/swap/Factory.did.ts","../../../packages/candid/src/swap/SwapPool.did.ts","../../../packages/candid/src/swap/PositionCharts.did.ts","../../../packages/actor/src/swap/global.ts","../../../packages/actor/src/swap/index.ts","../../../packages/candid/src/staking-farm/Farm.did.ts","../../../packages/candid/src/staking-farm/FarmIndex.did.ts","../../../packages/actor/src/staking/farm.ts","../../../packages/candid/src/staking-token/StakingPoolController.did.ts","../../../packages/candid/src/staking-token/TokenPool.did.ts","../../../packages/actor/src/staking/token.ts","../../../packages/candid/src/token-claim/ClaimController.did.ts","../../../packages/actor/src/token-claim.ts","../../../packages/constants/src/canisterIds.ts","../../../packages/hooks/src/info/node.ts","../../../packages/hooks/src/info/useInfoToken.ts","../../../packages/hooks/src/sns/useListDeployedSNSs.ts","../../../packages/hooks/src/staking-token/calls.ts","../../../packages/hooks/src/swap/calls.ts","../../../packages/hooks/src/token-list/calls.ts","../../../packages/utils/src/sleep.ts","../../../packages/hooks/src/useCallData.ts","../../../packages/hooks/src/useLimitedInfinityCall.ts","../../../packages/swap-sdk/src/core/entities/baseCurrency.ts","../../../packages/swap-sdk/src/core/entities/token.ts","../../../packages/swap-sdk/src/core/utils/validateAndParseAddress.ts","../../../packages/utils/src/isBigIntMemo.ts","../../../packages/token-adapter/src/BaseTokenAdapter.ts","../../../packages/token-adapter/src/EXTAdapter.ts","../../../packages/token-adapter/src/DIP20Adapter.ts","../../../packages/token-adapter/src/DIP20WICPAdapter.ts","../../../packages/token-adapter/src/DIP20XTCAdapter.ts","../../../packages/token-adapter/src/ICRC1.ts","../../../packages/token-adapter/src/utils.ts","../../../packages/token-adapter/src/ICRC2.ts","../../../packages/token-adapter/src/ICP.ts","../../../packages/token-adapter/src/index.ts","../../../packages/token-adapter/src/types.ts","../../../packages/constants/src/standards.ts","../../../packages/tokens/src/wicp.ts","../../../packages/tokens/src/icp.ts","../../../packages/tokens/src/ics.ts","../../../packages/tokens/src/ghost.ts","../../../packages/tokens/src/ckBTC.ts","../../../packages/tokens/src/ckUSDC.ts","../../../packages/swap-sdk/src/core/entities/erc20Token.ts","../../../packages/tokens/src/erc20/usdc.ts","../../../packages/tokens/src/erc20/link.ts","../../../packages/tokens/src/ckETH.ts","../../../packages/tokens/src/ckLink.ts","../../../packages/tokens/src/bob.ts","../../../packages/types/src/global.ts","../../../packages/ui/src/components/Grid/Flex.tsx","../../../packages/utils/src/availableArgsNull.ts","../../../packages/utils/src/enumToString.ts","../../../packages/utils/src/ic.ts","../../../packages/utils/src/isAvailablePageArgs.ts","../../../packages/utils/src/isNullArgs.ts","../../../packages/utils/src/isValidPrincipal.ts","../../../packages/utils/src/mockALink.ts","../../../packages/utils/src/number.ts","../../../packages/utils/src/pageArgsFormat.ts","../../../packages/utils/src/principalToAccount.ts","../../../packages/utils/src/resultFormat.ts","../../../packages/utils/src/time.ts","../../../packages/utils/src/toSignificant.ts","../../../packages/utils/src/tokenAmount.ts","../webpack/bootstrap","../webpack/runtime/amd options","../webpack/runtime/chunk loaded","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/compat","../webpack/runtime/jsonp chunk loading","../webpack/startup"],"sourcesContent":["var map = {\n\t\"./en-US.js\": [\n\t\t99847,\n\t\t9847\n\t],\n\t\"./ja-JP.js\": [\n\t\t69927,\n\t\t9927\n\t],\n\t\"./ko-KR.js\": [\n\t\t70641,\n\t\t641\n\t],\n\t\"./vi-VN.js\": [\n\t\t22997,\n\t\t2997\n\t],\n\t\"./zh-CN.js\": [\n\t\t99801,\n\t\t9801\n\t],\n\t\"./zh-TW.js\": [\n\t\t5821,\n\t\t5821\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 5871;\nmodule.exports = webpackAsyncContext;","/* eslint-disable global-require */\n/* eslint-disable @typescript-eslint/no-var-requires */\nimport { actor, Actor } from \"@icpswap/actor\";\nimport { network, NETWORK, host } from \"./server\";\n\nlet CanisterIdsJson: { [key: string]: { [key1: string]: string } } = {};\n\ntry {\n const canister_ids = require(\"../canister_ids.json\");\n const temp_canister_ids = require(\"../temp_canister_ids.json\");\n\n CanisterIdsJson = {\n ...canister_ids,\n ...temp_canister_ids,\n };\n} catch (error) {\n console.error(error);\n}\n\nconst canisterIds: any = {};\n\nObject.keys(CanisterIdsJson).forEach((key) => {\n canisterIds[key] = CanisterIdsJson[key][network];\n});\n\nexport const getCanisterId = (canisterName: string): string => canisterIds[canisterName];\n\nexport const CANISTER_NAMES = {\n SWAP_POSITION_MANAGER: \"SwapPositionManager\",\n SwapFactory: \"SwapFactory\",\n SwapRouter: \"SwapRouter\",\n SwapRecord: \"SwapRecordData\",\n SwapNFT: \"SwapNFT\",\n WICP: network === NETWORK.IC ? \"wicp\" : \"WICP_T\",\n\n FILE: \"FileAssets\",\n NFTCanisterController: \"V3NFTCanisterController\",\n NFTCanister: \"V3NFT\",\n NFTTrade: \"V3TradeCanister\",\n FileCanister: \"FileCanister\",\n SwapStaker: \"SwapStaker\",\n SwapStakerController: \"SwapStakerController\",\n SwapStakerStorage: \"SwapStakerStorage\",\n SingleSmartChef: \"SingleSmartChef\",\n\n V3NFTCanister: \"NFTDynamicCanister\",\n V3TradeStat: \"V3TradeStat\",\n SwapPool: \"SwapPool\",\n};\n\nexport const WICPCanisterId = getCanisterId(CANISTER_NAMES.WICP);\nexport const fileCanisterId = getCanisterId(CANISTER_NAMES.FILE);\nexport const swapRouterCanisterId = getCanisterId(CANISTER_NAMES.SwapRouter);\nexport const swapPositionManagerCanisterId = getCanisterId(CANISTER_NAMES.SWAP_POSITION_MANAGER);\nexport const SwapNFTCanisterId = getCanisterId(CANISTER_NAMES.SwapNFT);\nexport const stakingCanisterId = getCanisterId(CANISTER_NAMES.SwapStaker);\n\nActor.setActorCanisterIds(canisterIds);\nactor.setHost(host.host);\n\nexport { canisterIds };\n","export const HIDDEN_POOLS = [\"tnyoa-2iaaa-aaaag-qkgfa-cai\"];\n","export const APP_LINK = \"https://app.icpswap.com\";\n\nexport * from \"./canister\";\nexport * from \"./server\";\nexport * from \"./nft\";\nexport * from \"./swap-tokens\";\n","export const SUPPORTED_LOCALES = [\n // order as they appear in the language dropdown\n \"en-US\",\n \"ja-JP\",\n \"ko-KR\",\n \"vi-VN\",\n \"zh-CN\",\n \"zh-TW\",\n] as const;\nexport type SupportedLocale = (typeof SUPPORTED_LOCALES)[number];\n\nexport const DEFAULT_LOCALE: SupportedLocale = \"en-US\";\n\nexport const LOCALE_LABEL: { [locale in SupportedLocale]: string } = {\n \"en-US\": \"English\",\n \"ja-JP\": \"日本語\",\n \"ko-KR\": \"한국어\",\n \"vi-VN\": \"Tiếng Việt\",\n \"zh-CN\": \"简体中文\",\n \"zh-TW\": \"繁体中文\",\n};\n","export enum NETWORK {\n IC = \"ic\",\n TEST = \"test\",\n LOCAL = \"local\",\n}\n\nexport const hostMap = {\n [NETWORK.LOCAL]: \"http://localhost:8000\",\n [NETWORK.IC]: \"https://icp0.io\",\n};\n\nexport const isIC: boolean = process.env.REACT_APP_IC_NETWORK === NETWORK.IC;\n\nexport const network = (process.env.REACT_APP_IC_NETWORK as NETWORK) || NETWORK.TEST;\n\nexport const host = {\n host: hostMap[network],\n};\n\nexport const ICHost = hostMap[NETWORK.IC];\n","import { useCallback } from \"react\";\nimport { v2SwapFactory, v2SwapPool } from \"hooks/v2-actor\";\nimport { PoolInfo, TickLiquidityInfo } from \"types/swap-v2\";\nimport { useCallsData } from \"@icpswap/hooks\";\nimport { resultFormat } from \"@icpswap/utils\";\nimport { TOKEN_STANDARD } from \"@icpswap/token-adapter\";\n\nexport async function getSwapPoolIds() {\n return resultFormat(await (await v2SwapFactory()).getPoolIds()).data;\n}\n\nexport async function getSwapPoolInfo(canisterId: string) {\n return resultFormat(await (await v2SwapPool(canisterId)).infoWithNoBalance()).data;\n}\n\nexport function useSwapPoolInfo(canisterId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapPoolInfo(canisterId);\n }, [canisterId]),\n );\n}\n\nexport async function getSwapPools() {\n const poolIds = await getSwapPoolIds();\n\n if (poolIds && poolIds.length > 0) {\n const pools = await Promise.all(\n poolIds.map(async (poolId) => {\n return await getSwapPoolInfo(poolId);\n }),\n );\n\n return pools;\n }\n\n return [];\n}\n\nexport function useSwapPools() {\n return useCallsData(\n useCallback(async () => {\n const pools = await getSwapPools();\n const _pools = pools.filter((pool) => pool !== undefined) as PoolInfo[];\n return _pools;\n }, []),\n );\n}\n\nexport async function getSwapPoolTokenStandard(canisterId: string, tokenId: string) {\n return (await (await v2SwapPool(canisterId)).getStandard(tokenId)) as TOKEN_STANDARD;\n}\n\nexport function useSwapPoolTokenStandard(canisterId: string | undefined, tokenId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !tokenId) return undefined;\n return await getSwapPoolTokenStandard(canisterId, tokenId);\n }, [canisterId, tokenId]),\n );\n}\n\nexport async function getSwapPoolIdByKey(key: string) {\n return await (await v2SwapFactory()).getPool(key);\n}\n\nexport function useSwapPoolIdByKey(key: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!key) return undefined;\n return await getSwapPoolIdByKey(key);\n }, [key]),\n );\n}\n\nexport async function getSwapPoolTicks(canisterId: string) {\n return resultFormat(await (await v2SwapPool(canisterId)).getTickInfos()).data;\n}\n\nexport function useLiquidityTicks(canisterId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapPoolTicks(canisterId);\n }, [canisterId]),\n );\n}\n","export const idlFactory = ({ IDL }) => {\n const BoolResult__1 = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const Address = IDL.Text;\n const ResultAmount = IDL.Record({ amount0: IDL.Nat, amount1: IDL.Nat });\n const ResponseResult_1 = IDL.Variant({\n ok: ResultAmount,\n err: IDL.Text,\n });\n const CollectParams = IDL.Record({\n tokenId: IDL.Nat,\n internalCall: IDL.Bool,\n recipient: IDL.Principal,\n amount0Max: IDL.Text,\n amount1Max: IDL.Text,\n });\n const ResponseResult_9 = IDL.Variant({ ok: Address, err: IDL.Text });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const DecreaseLiquidityParams = IDL.Record({\n tokenId: IDL.Nat,\n liquidity: IDL.Text,\n recipient: IDL.Principal,\n amount0Min: IDL.Text,\n amount1Min: IDL.Text,\n deadline: IDL.Nat,\n });\n const ResponseResult_10 = IDL.Variant({\n ok: IDL.Vec(IDL.Text),\n err: IDL.Text,\n });\n const TransactionType = IDL.Variant({\n fee: IDL.Null,\n burn: IDL.Null,\n claim: IDL.Null,\n mint: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n removeLiquidity: IDL.Null,\n refreshIncome: IDL.Null,\n transfer: IDL.Null,\n collect: IDL.Null,\n });\n const Address__1 = IDL.Text;\n const SwapRecordInfo = IDL.Record({\n to: IDL.Text,\n feeAmount: IDL.Int,\n action: TransactionType,\n feeAmountTotal: IDL.Int,\n token0Id: Address__1,\n token1Id: Address__1,\n token0AmountTotal: IDL.Nat,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n tick: IDL.Int,\n feeTire: IDL.Nat,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Nat,\n token1AmountTotal: IDL.Nat,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n TVLToken0: IDL.Int,\n TVLToken1: IDL.Int,\n token0Fee: IDL.Nat,\n token1Fee: IDL.Nat,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Nat,\n token0Standard: IDL.Text,\n price: IDL.Nat,\n poolId: IDL.Text,\n });\n const PoolKey = IDL.Record({\n fee: IDL.Nat,\n token0: Address__1,\n token1: Address__1,\n });\n const TVLResult = IDL.Record({\n token0TVL: IDL.Nat,\n token1TVL: IDL.Nat,\n });\n const ResponseResult_8 = IDL.Variant({\n ok: IDL.Vec(TVLResult),\n err: IDL.Text,\n });\n const PositionWithTokenAmount = IDL.Record({\n tickUpper: IDL.Int,\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n operator: Address,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n nonce: IDL.Nat,\n token0Amount: IDL.Nat,\n token1Amount: IDL.Nat,\n tickLower: IDL.Int,\n poolId: IDL.Nat,\n });\n const TickLiquidityInfo = IDL.Record({\n tickIndex: IDL.Int,\n price0Decimal: IDL.Nat,\n liquidityNet: IDL.Int,\n price0: IDL.Nat,\n price1: IDL.Nat,\n liquidityGross: IDL.Nat,\n price1Decimal: IDL.Nat,\n });\n const ResponseResult_7 = IDL.Variant({\n ok: IDL.Vec(TickLiquidityInfo),\n err: IDL.Text,\n });\n const VolumeMapType = IDL.Record({ tokenA: IDL.Nat, tokenB: IDL.Nat });\n const ResponseResult_6 = IDL.Variant({\n ok: VolumeMapType,\n err: IDL.Text,\n });\n const PushError = IDL.Record({ time: IDL.Int, message: IDL.Text });\n const TxStorageCanisterResponse = IDL.Record({\n errors: IDL.Vec(PushError),\n retryCount: IDL.Nat,\n canisterId: IDL.Text,\n });\n const IncreaseLiquidityParams = IDL.Record({\n tokenId: IDL.Nat,\n recipient: IDL.Principal,\n amount0Min: IDL.Text,\n amount1Min: IDL.Text,\n deadline: IDL.Nat,\n amount0Desired: IDL.Text,\n amount1Desired: IDL.Text,\n });\n const LiquidityType = IDL.Record({\n liquidity: IDL.Nat,\n amount0: IDL.Nat,\n amount1: IDL.Nat,\n });\n const ResponseResult_5 = IDL.Variant({\n ok: LiquidityType,\n err: IDL.Text,\n });\n const QueryPositionResult = IDL.Record({\n fee: IDL.Nat,\n tickUpper: IDL.Int,\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n operator: Address__1,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n token0: Address__1,\n token1: Address__1,\n nonce: IDL.Nat,\n tickLower: IDL.Int,\n poolId: IDL.Nat,\n });\n const ResponseResult_2 = IDL.Variant({\n ok: QueryPositionResult,\n err: IDL.Text,\n });\n const MintParams = IDL.Record({\n fee: IDL.Nat,\n tickUpper: IDL.Int,\n recipient: IDL.Principal,\n amount0Min: IDL.Text,\n amount1Min: IDL.Text,\n deadline: IDL.Nat,\n token0: Address__1,\n token1: Address__1,\n amount0Desired: IDL.Text,\n amount1Desired: IDL.Text,\n tickLower: IDL.Int,\n });\n const MintResult = IDL.Record({\n tokenId: IDL.Nat,\n liquidity: IDL.Nat,\n amount0: IDL.Nat,\n amount1: IDL.Nat,\n });\n const ResponseResult_4 = IDL.Variant({ ok: MintResult, err: IDL.Text });\n const ResponseResult_3 = IDL.Variant({\n ok: IDL.Vec(IDL.Nat),\n err: IDL.Text,\n });\n const BoolResult = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const ResponseResult = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n return IDL.Service({\n addAdmin: IDL.Func([IDL.Text], [BoolResult__1], []),\n addTokenId: IDL.Func([Address, IDL.Nat], [], []),\n burn: IDL.Func([IDL.Nat], [ResponseResult_1], []),\n clearTxStorageErrors: IDL.Func([], [IDL.Nat], []),\n collect: IDL.Func([CollectParams], [ResponseResult_1], []),\n collectInInvalidPosition: IDL.Func([CollectParams], [ResponseResult_1], []),\n createAndInitializePoolIfNecessary: IDL.Func(\n [Address, IDL.Text, Address, IDL.Text, IDL.Nat, IDL.Text],\n [ResponseResult_9],\n [],\n ),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n decreaseLiquidity: IDL.Func([DecreaseLiquidityParams], [ResponseResult_1], []),\n decreaseLiquidityInInvalidPosition: IDL.Func([DecreaseLiquidityParams], [ResponseResult_1], []),\n fixOperator: IDL.Func([IDL.Nat, Address], [], []),\n getAdminList: IDL.Func([], [ResponseResult_10], [\"query\"]),\n getApproved: IDL.Func([IDL.Nat], [ResponseResult_9], [\"query\"]),\n getBaseDataStructureCanister: IDL.Func([IDL.Text], [IDL.Text], [\"query\"]),\n getCachedSwapRecord: IDL.Func([], [IDL.Vec(SwapRecordInfo)], [\"query\"]),\n getIntervalTime: IDL.Func([], [IDL.Int], [\"query\"]),\n getMaxRetrys: IDL.Func([], [IDL.Nat], [\"query\"]),\n getPoolTVL: IDL.Func([IDL.Vec(PoolKey)], [ResponseResult_8], []),\n getPositionByPoolAddress: IDL.Func([Address, IDL.Nat, IDL.Nat], [IDL.Vec(PositionWithTokenAmount)], []),\n getPositionTotalLiquidityByPoolAddress: IDL.Func([Address], [IDL.Nat], [\"query\"]),\n getTickInfos: IDL.Func([IDL.Text], [ResponseResult_7], []),\n getTotalVolume: IDL.Func([IDL.Text], [ResponseResult_6], []),\n getTxStorage: IDL.Func([], [IDL.Opt(TxStorageCanisterResponse)], [\"query\"]),\n increaseLiquidity: IDL.Func([IncreaseLiquidityParams], [ResponseResult_5], []),\n invalidPositions: IDL.Func([IDL.Nat], [ResponseResult_2], [\"query\"]),\n isTxStorageAvailable: IDL.Func([], [IDL.Bool], [\"query\"]),\n mint: IDL.Func([MintParams], [ResponseResult_4], []),\n ownerInvalidTokens: IDL.Func([IDL.Text], [ResponseResult_3], [\"query\"]),\n ownerTokens: IDL.Func([IDL.Text], [ResponseResult_3], [\"query\"]),\n positions: IDL.Func([IDL.Nat], [ResponseResult_2], [\"query\"]),\n recoverTxStorage: IDL.Func([], [IDL.Nat], []),\n refreshIncome: IDL.Func([IDL.Nat], [ResponseResult_1], []),\n refreshInvalidIncome: IDL.Func([IDL.Nat], [ResponseResult_1], []),\n removeAdmin: IDL.Func([IDL.Text], [BoolResult__1], []),\n removeSwapPool: IDL.Func([Address], [BoolResult], []),\n removeTokenId: IDL.Func([Address, IDL.Nat], [], []),\n removeTxStorage: IDL.Func([], [], []),\n setAvailable: IDL.Func([IDL.Bool], [], [\"oneway\"]),\n setBaseDataStructureCanister: IDL.Func([IDL.Text], [], []),\n setIntervalTime: IDL.Func([IDL.Int], [], []),\n setLockServerCanisterId: IDL.Func([IDL.Text], [], []),\n setMaxRetrys: IDL.Func([IDL.Nat], [], []),\n setSwapNFTCanisterId: IDL.Func([IDL.Text], [], [\"oneway\"]),\n setTxStorage: IDL.Func([IDL.Opt(IDL.Text)], [IDL.Nat], []),\n swapNFTCanisterId: IDL.Func([], [IDL.Text], [\"query\"]),\n tokenURI: IDL.Func([IDL.Nat], [ResponseResult], []),\n transfer: IDL.Func([IDL.Nat, IDL.Text], [ResponseResult], []),\n });\n};\nexport const init = ({ IDL }) => {\n return [];\n};\n","import { actor } from \"@icpswap/actor\";\nimport v2Ids from \"constants/v2/swap-v2-ids.json\";\nimport { _SERVICE } from \"constants/v2/SwapPositionManager.did\";\n// @ts-ignore\nimport { idlFactory } from \"constants/v2/SwapPositionManager.did.js\";\n\nexport const v2SwapPositionManager = () =>\n actor.create<_SERVICE>({ canisterId: v2Ids.SwapPositionManager.ic, idlFactory });\n","import { useCallback } from \"react\";\nimport { resultFormat } from \"@icpswap/utils\";\nimport { v2SwapPositionManager } from \"hooks/useActor\";\n\nexport function useV2SwapNFTSvg() {\n return useCallback(async (tokenId: bigint | number) => {\n const {data} = resultFormat(await (await v2SwapPositionManager()).tokenURI(BigInt(tokenId)));\n return JSON.parse(data ?? \"\") as { image: string; [key: string]: any };\n }, []);\n}\n","import { useMemo, useCallback } from \"react\";\nimport { parseTokenAmount, formatTokenAmount, numberToString } from \"@icpswap/utils\";\nimport type { NumberType } from \"@icpswap/types\";\nimport { Token } from \"@icpswap/swap-sdk\";\nimport { getTokenStandard, useUpdateTokenStandards } from \"store/token/cache/hooks\";\nimport { getSwapPoolTokenStandard } from \"hooks/swap/v2/calls\";\n\nexport function useActualSwapAmount(amount: NumberType | undefined, currency: Token | undefined): string | undefined {\n return useMemo(() => {\n if (!amount || !currency) return undefined;\n\n const typedValue = formatTokenAmount(amount, currency.decimals);\n const fee = currency.transFee;\n\n if (typedValue.isGreaterThan(currency.transFee)) {\n return numberToString(parseTokenAmount(typedValue.minus(fee), currency.decimals));\n }\n return \"0\";\n }, [amount, currency]);\n}\n\nexport function useUpdatePoolTokenStandardCallback() {\n const updateTokenStandard = useUpdateTokenStandards();\n\n return useCallback(async (poolId: string, tokenId: string) => {\n if (!getTokenStandard(tokenId)) {\n const standard = await getSwapPoolTokenStandard(poolId, tokenId);\n updateTokenStandard({ canisterId: tokenId, standard });\n }\n }, []);\n}\n\nexport * from \"./useSwapNFTSvg\";\n","import { useCallback } from \"react\";\nimport { useCallsData } from \"@icpswap/hooks\";\n\nconst ROSETTA_API__BASE = \"https://rosetta-api.internetcomputer.org\";\nconst INTERNET_COMPUTER_BASE = \"https://ic-api.internetcomputer.org/api/v3\";\n\nexport type ICPTransactionOperation = {\n account: {\n address: string;\n };\n amount: {\n currency: {\n decimals: number;\n symbol: string;\n };\n value: string;\n };\n operation_identifier: {\n index: number;\n };\n status: string;\n type: string;\n};\n\nexport type ICPTransaction = {\n block_identifier: {\n hash: string;\n index: number;\n };\n transaction: {\n metadata: {\n block_height: number;\n memo: number;\n timestamp: number;\n };\n operations: ICPTransactionOperation[];\n transaction_identifier: {\n hash: string;\n };\n };\n};\nexport interface ICPTransactions {\n total_count: number;\n transactions: ICPTransaction[];\n}\n\nexport async function getICPTransactions(address: string) {\n const fetch_result = await fetch(`${ROSETTA_API__BASE}/search/transactions`, {\n method: \"post\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n network_identifier: {\n blockchain: \"Internet Computer\",\n network: \"00000000000000020101\",\n },\n account_identifier: {\n address,\n },\n }),\n }).catch(() => undefined);\n\n if (!fetch_result) return undefined;\n\n const result = (await fetch_result.json()) as ICPTransactions;\n\n return result;\n}\n\nexport function useICPTransactions(address: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!address) return undefined;\n return await getICPTransactions(address);\n }, [address]),\n );\n}\n\nexport function useICPBlocksCall() {\n return useCallsData(\n useCallback(async () => {\n const fetch_result = await fetch(`${INTERNET_COMPUTER_BASE}/metrics/block-rate`).catch(() => undefined);\n\n if (!fetch_result) return undefined;\n\n const result = (await fetch_result.json()) as {\n block_rate: [number, number][];\n };\n\n return {\n blocks: result.block_rate[0][0],\n secondBlocks: result.block_rate[0][1],\n };\n }, []),\n );\n}\n","export const idlFactory = ({ IDL }) => {\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const AmountAndCycleResult = IDL.Record({\n cycles: IDL.Nat,\n amount0: IDL.Nat,\n amount1: IDL.Nat,\n });\n const ResponseResult_2 = IDL.Variant({\n ok: AmountAndCycleResult,\n err: IDL.Text,\n });\n const VolumeMapType = IDL.Record({ tokenA: IDL.Nat, tokenB: IDL.Nat });\n const ResponseResult_3 = IDL.Variant({\n ok: IDL.Vec(IDL.Text),\n err: IDL.Text,\n });\n const PositionInfo = IDL.Record({\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n });\n const SharedSlot0 = IDL.Record({\n observationCardinalityNext: IDL.Nat,\n sqrtPriceX96: IDL.Nat,\n observationIndex: IDL.Nat,\n feeProtocol: IDL.Nat,\n tick: IDL.Int,\n unlocked: IDL.Bool,\n observationCardinality: IDL.Nat,\n });\n const TickLiquidityInfo = IDL.Record({\n tickIndex: IDL.Int,\n price0Decimal: IDL.Nat,\n liquidityNet: IDL.Int,\n price0: IDL.Nat,\n price1: IDL.Nat,\n liquidityGross: IDL.Nat,\n price1Decimal: IDL.Nat,\n });\n const Address__1 = IDL.Text;\n const Uint16 = IDL.Nat;\n const TextResult = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const PoolInfo = IDL.Record({\n fee: IDL.Nat,\n ticks: IDL.Vec(IDL.Int),\n pool: IDL.Text,\n liquidity: IDL.Nat,\n tickCurrent: IDL.Int,\n token0: IDL.Text,\n token1: IDL.Text,\n sqrtRatioX96: IDL.Nat,\n balance0: IDL.Nat,\n balance1: IDL.Nat,\n });\n const Address = IDL.Text;\n const InitParameters = IDL.Record({\n fee: IDL.Nat,\n tickSpacing: IDL.Nat,\n token1Standard: IDL.Text,\n token0: Address,\n token1: Address,\n factory: Address,\n token0Standard: IDL.Text,\n canisterId: IDL.Text,\n });\n const Uint160 = IDL.Nat;\n const Int24 = IDL.Int;\n const Uint128 = IDL.Nat;\n const ResponseResult_1 = IDL.Variant({\n ok: IDL.Record({\n cycles: IDL.Nat,\n amount0: IDL.Int,\n amount1: IDL.Int,\n }),\n err: IDL.Text,\n });\n const PaymentEntry = IDL.Record({\n token: Address,\n value: IDL.Nat,\n tokenStandard: IDL.Text,\n recipient: IDL.Principal,\n payer: IDL.Principal,\n });\n const SnapshotCumulativesInsideResult = IDL.Record({\n tickCumulativeInside: IDL.Int,\n secondsPerLiquidityInsideX128: IDL.Nat,\n secondsInside: IDL.Nat,\n });\n const Int256 = IDL.Int;\n const SwapResult = IDL.Record({\n feeAmount: IDL.Int,\n cycles: IDL.Nat,\n amount0: IDL.Int,\n amount1: IDL.Int,\n });\n const ResponseResult = IDL.Variant({ ok: SwapResult, err: IDL.Text });\n const SwapPool = IDL.Service({\n balance: IDL.Func([IDL.Text], [NatResult], []),\n balance0: IDL.Func([], [NatResult], []),\n balance1: IDL.Func([], [NatResult], []),\n burn: IDL.Func([IDL.Int, IDL.Int, IDL.Nat], [ResponseResult_2], []),\n claimSwapFeeRepurchase: IDL.Func([], [], []),\n collect: IDL.Func([IDL.Principal, IDL.Int, IDL.Int, IDL.Nat, IDL.Nat], [ResponseResult_2], []),\n cycleAvailable: IDL.Func([], [IDL.Nat], []),\n cycleBalance: IDL.Func([], [IDL.Nat], [\"query\"]),\n get24HVolume: IDL.Func([], [VolumeMapType], [\"query\"]),\n getAdminList: IDL.Func([], [ResponseResult_3], [\"query\"]),\n getPosition: IDL.Func([IDL.Text], [PositionInfo], [\"query\"]),\n getSlot0: IDL.Func([], [SharedSlot0], [\"query\"]),\n getStandard: IDL.Func([IDL.Text], [IDL.Text], [\"query\"]),\n getSwapFeeRepurchase: IDL.Func([], [IDL.Record({ amount0: IDL.Nat, amount1: IDL.Nat })], [\"query\"]),\n getSwapTokenMap: IDL.Func([IDL.Text], [IDL.Int], [\"query\"]),\n getTickInfos: IDL.Func([], [IDL.Vec(TickLiquidityInfo)], [\"query\"]),\n getTickSpacing: IDL.Func([], [IDL.Int], [\"query\"]),\n getTotalVolume: IDL.Func([], [VolumeMapType], [\"query\"]),\n getWalletAddress: IDL.Func([], [Address__1], []),\n increaseObservationCardinalityNext: IDL.Func([Uint16], [TextResult], []),\n info: IDL.Func([], [PoolInfo], []),\n infoWithNoBalance: IDL.Func([], [PoolInfo], [\"query\"]),\n init: IDL.Func([InitParameters], [], []),\n initAdminList: IDL.Func([IDL.Vec(IDL.Text)], [], []),\n initialize: IDL.Func([Uint160], [], []),\n lockPool: IDL.Func([], [], []),\n mint: IDL.Func([IDL.Principal, Int24, Int24, Uint128, IDL.Nat, IDL.Nat], [ResponseResult_2], []),\n quoter: IDL.Func([IDL.Int, IDL.Nat, IDL.Bool, IDL.Nat, IDL.Nat], [ResponseResult_1], [\"query\"]),\n rollBackData: IDL.Func([], [], []),\n rollBackTransfer: IDL.Func([], [IDL.Vec(PaymentEntry)], []),\n setAvailable: IDL.Func([IDL.Bool], [], [\"oneway\"]),\n setFeeProtocol: IDL.Func([IDL.Nat, IDL.Nat], [TextResult], []),\n setLockServerCanisterId: IDL.Func([IDL.Text], [], []),\n setSwapFeeHolderCanisterId: IDL.Func([IDL.Principal], [], []),\n setSwapFeeRepurchase: IDL.Func([IDL.Nat, IDL.Nat], [], []),\n setTransFeeCache: IDL.Func([], [], []),\n snapshotCumulativesInside: IDL.Func([Int24, Int24], [SnapshotCumulativesInsideResult], [\"query\"]),\n swap: IDL.Func([IDL.Principal, Int256, Uint160, IDL.Bool, IDL.Nat, IDL.Nat], [ResponseResult], []),\n transFee: IDL.Func([IDL.Text], [NatResult], []),\n transFee0: IDL.Func([], [NatResult], []),\n transFee0Cache: IDL.Func([], [NatResult], [\"query\"]),\n transFee1: IDL.Func([], [NatResult], []),\n transFee1Cache: IDL.Func([], [NatResult], [\"query\"]),\n transFeeCache: IDL.Func([IDL.Text], [NatResult], [\"query\"]),\n unlockPool: IDL.Func([], [], []),\n });\n return SwapPool;\n};\nexport const init = ({ IDL }) => {\n return [];\n};\n","export const idlFactory = ({ IDL }) => {\n const Pool = IDL.Record({\n fee: IDL.Nat,\n ticks: IDL.Vec(IDL.Int),\n liquidity: IDL.Nat,\n tickCurrent: IDL.Int,\n token0: IDL.Text,\n token1: IDL.Text,\n sqrtRatioX96: IDL.Nat,\n });\n const Address = IDL.Text;\n const PrincipalText = IDL.Text;\n const Uint24 = IDL.Nat;\n const Int24 = IDL.Int;\n const TextResult = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const TradeOverview = IDL.Record({\n tvl: IDL.Nat,\n tradeUserNum: IDL.Nat,\n volume: IDL.Nat,\n tradeSymbolNum: IDL.Nat,\n });\n const PoolInfo = IDL.Record({\n fee: IDL.Nat,\n ticks: IDL.Vec(IDL.Int),\n pool: IDL.Text,\n liquidity: IDL.Nat,\n tickCurrent: IDL.Int,\n token0: IDL.Text,\n token1: IDL.Text,\n sqrtRatioX96: IDL.Nat,\n balance0: IDL.Nat,\n balance1: IDL.Nat,\n });\n const Page = IDL.Record({\n content: IDL.Vec(PoolInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n return IDL.Service({\n _getPool: IDL.Func([IDL.Text], [Pool], []),\n addAdmin: IDL.Func([IDL.Text], [IDL.Bool], []),\n createPool: IDL.Func([Address, IDL.Text, Address, IDL.Text, IDL.Nat], [PrincipalText], []),\n cycleAvailable: IDL.Func([], [IDL.Nat], []),\n cycleBalance: IDL.Func([], [IDL.Nat], [\"query\"]),\n enableFeeAmount: IDL.Func([Uint24, Int24], [TextResult], []),\n getAdminList: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n getInvalidPool: IDL.Func([IDL.Text], [PrincipalText], [\"query\"]),\n getOverview: IDL.Func([], [TradeOverview], []),\n getPool: IDL.Func([IDL.Text], [PrincipalText], [\"query\"]),\n getPoolIds: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n getPoolList: IDL.Func([], [IDL.Vec(PoolInfo)], []),\n getPoolListByPage: IDL.Func([IDL.Nat, IDL.Nat], [Page], []),\n getPools: IDL.Func([IDL.Vec(IDL.Text)], [IDL.Vec(Pool)], []),\n removeAdmin: IDL.Func([IDL.Text], [IDL.Bool], []),\n removePool: IDL.Func([Address], [], [\"oneway\"]),\n setBaseDataStructureCanister: IDL.Func([IDL.Text], [], []),\n });\n};\nexport const init = ({ IDL }) => {\n return [];\n};\n","import { actor } from \"@icpswap/actor\";\nimport type { ActorIdentity } from \"@icpswap/types\";\n\nimport { _SERVICE as SwapGraphPool } from \"constants/v2/Pools.did\";\n// @ts-ignore\nimport { idlFactory as SwapGraphPoolIdl } from \"constants/v2/Pools.did.js\";\n\nimport { _SERVICE as SwapGraphToken } from \"constants/v2/Token.did\";\n// @ts-ignore\nimport { idlFactory as SwapGraphTokenIdl } from \"constants/v2/Token.did.js\";\n\nimport { _SERVICE as BaseDataStructure } from \"constants/v2/BaseDataStructure.did\";\n// @ts-ignore\nimport { idlFactory as BaseDataStructureIdl } from \"constants/v2/BaseDataStructure.did.js\";\n\nimport { _SERVICE as SwapPool } from \"constants/v2/SwapPool.did\";\n// @ts-ignore\nimport { idlFactory as SwapPoolIdl } from \"constants/v2/SwapPool.did.js\";\n\nimport { _SERVICE as SwapFactory } from \"constants/v2/SwapFactory.did\";\n// @ts-ignore\nimport { idlFactory as SwapFactoryIdl } from \"constants/v2/SwapFactory.did.js\";\n\nimport v2Ids from \"constants/v2/swap-v2-ids.json\";\n\nexport const v2SwapPool = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n identity,\n canisterId,\n idlFactory: SwapPoolIdl,\n });\n\nexport const v2SwapFactory = (identity?: ActorIdentity) =>\n actor.create({\n identity,\n canisterId: v2Ids.SwapFactory.ic,\n idlFactory: SwapFactoryIdl,\n });\n\nexport const analyticSwap = (identity?: ActorIdentity) =>\n actor.create({\n identity,\n canisterId: v2Ids.BaseDataStructure.ic,\n idlFactory: BaseDataStructureIdl,\n });\n\nexport const analyticPool = () =>\n actor.create({\n idlFactory: SwapGraphPoolIdl,\n canisterId: v2Ids.Pools.ic,\n });\n\nexport const analyticToken = () =>\n actor.create({\n idlFactory: SwapGraphTokenIdl,\n canisterId: v2Ids.Token.ic,\n });\n","/* eslint-disable no-param-reassign */\n/* eslint-disable no-console */\n\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n \"New content is available and will be used when all \" +\n \"tabs for this page are closed. See https://cra.link/PWA.\",\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { \"Service-Worker\": \"script\" },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (response.status === 404 || (contentType != null && contentType.indexOf(\"javascript\") === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\"No internet connection found. App is running in offline mode.\");\n });\n}\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n \"This web app is being served cache-first by a service \" +\n \"worker. To learn more, visit https://cra.link/PWA\",\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import { useEffect, useState } from \"react\";\nimport { TOKEN_STANDARD, registerTokens } from \"@icpswap/token-adapter\";\nimport { network, NETWORK } from \"constants/server\";\nimport { useUpdateTokenStandards, useTokenStandards } from \"store/token/cache/hooks\";\nimport { useSwapPools, useTokensFromList } from \"@icpswap/hooks\";\nimport { useSwapPools as useV2SwapPools } from \"hooks/swap/v2/calls\";\nimport { useUpdatePoolTokenStandardCallback } from \"hooks/swap/v2/index\";\nimport { updateTokens } from \"store/allTokens\";\nimport { useStakingTokenAllPools } from \"hooks/staking-token/useAllStakingPools\";\n\nexport const TOKENS = [\n { canisterId: \"utozz-siaaa-aaaam-qaaxq-cai\", standard: TOKEN_STANDARD.DIP20_WICP },\n { canisterId: \"aanaa-xaaaa-aaaah-aaeiq-cai\", standard: TOKEN_STANDARD.DIP20_XTC },\n { canisterId: \"rd6wb-lyaaa-aaaaj-acvla-cai\", standard: TOKEN_STANDARD.DIP20 },\n];\n\nexport function useInitialTokenStandard() {\n const [loading, setLoading] = useState(true);\n const { result: pools } = useSwapPools();\n const { result: tokenList, loading: fetchListLoading } = useTokensFromList();\n const [tokenListLoading, setTokenListLoading] = useState(true);\n const [stakingPoolsLoading, setStakingPoolsLoading] = useState(true);\n const updateTokenStandard = useUpdateTokenStandards();\n const updatePoolTokenStandard = useUpdatePoolTokenStandardCallback();\n const tokenStandards = useTokenStandards();\n\n const { result: v2Pools } = useV2SwapPools();\n const { result: allStakingPools } = useStakingTokenAllPools();\n\n useEffect(() => {\n if (network === NETWORK.IC) {\n TOKENS.forEach((token) => {\n updateTokenStandard({ canisterId: token.canisterId, standard: token.standard as TOKEN_STANDARD });\n });\n }\n }, [network, NETWORK]);\n\n useEffect(() => {\n if (allStakingPools) {\n allStakingPools.forEach((stakingPool) => {\n updateTokenStandard({\n canisterId: stakingPool.stakingToken.address,\n standard: stakingPool.stakingToken.standard as TOKEN_STANDARD,\n });\n updateTokenStandard({\n canisterId: stakingPool.rewardToken.address,\n standard: stakingPool.rewardToken.standard as TOKEN_STANDARD,\n });\n });\n\n setStakingPoolsLoading(false);\n }\n }, [allStakingPools]);\n\n useEffect(() => {\n const call = async () => {\n if (pools && pools.length) {\n let allTokenIds: string[] = [];\n\n for (let i = 0; i < pools.length; i++) {\n const pool = pools[i];\n\n updateTokenStandard({ canisterId: pool.token0.address, standard: pool.token0.standard as TOKEN_STANDARD });\n updateTokenStandard({ canisterId: pool.token1.address, standard: pool.token1.standard as TOKEN_STANDARD });\n\n allTokenIds = allTokenIds.concat([pool.token0.address, pool.token1.address]);\n }\n\n updateTokens(allTokenIds);\n }\n };\n\n call();\n }, [pools]);\n\n useEffect(() => {\n const call = async () => {\n if (v2Pools && v2Pools.length) {\n for (let i = 0; i < v2Pools.length; i++) {\n const pool = v2Pools[i];\n await updatePoolTokenStandard(pool.pool, pool.token0);\n await updatePoolTokenStandard(pool.pool, pool.token1);\n updateTokens([pool.token0, pool.token1]);\n }\n }\n };\n\n call();\n }, [v2Pools]);\n\n useEffect(() => {\n if (tokenStandards) {\n const allTokenStandards = Object.keys(tokenStandards).map((key) => ({\n canisterId: key,\n standard: tokenStandards[key],\n }));\n\n registerTokens(allTokenStandards);\n }\n }, [tokenStandards]);\n\n useEffect(() => {\n if (tokenList) {\n tokenList.forEach((token) => {\n updateTokenStandard({\n canisterId: token.canisterId,\n standard: token.standard as TOKEN_STANDARD,\n });\n\n updateTokens([token.canisterId]);\n });\n\n setTokenListLoading(false);\n } else if (!fetchListLoading) {\n setTokenListLoading(false);\n }\n }, [tokenList, setTokenListLoading, fetchListLoading]);\n\n useEffect(() => {\n if (!tokenListLoading && !stakingPoolsLoading) {\n setLoading(false);\n }\n }, [tokenListLoading, stakingPoolsLoading]);\n\n return {\n loading,\n };\n}\n","import { useCallback } from \"react\";\nimport { getStakingPools, usePaginationAllData, getPaginationAllData } from \"@icpswap/hooks\";\n\nexport async function getAllTokenPools() {\n const call = async (offset: number, limit: number) => {\n return await getStakingPools(undefined, offset, limit);\n };\n\n return getPaginationAllData(call, 500);\n}\n\nexport function useStakingTokenAllPools() {\n const call = useCallback(async (offset: number, limit: number) => {\n return await getStakingPools(undefined, offset, limit);\n }, []);\n\n return usePaginationAllData(call, 500);\n}\n","import { makeStyles } from \"@mui/styles\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport { Theme } from \"@mui/material/styles\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n root: {\n position: \"fixed\",\n top: 0,\n left: 0,\n zIndex: 1301,\n width: \"100%\",\n \"& > * + *\": {\n marginTop: theme.spacing(2),\n },\n },\n}));\n\nexport default function LinearLoader() {\n const classes = useStyles();\n\n return (\n
\n \n
\n );\n}\n","import { useCallback } from \"react\";\nimport { exchangeRate } from \"@icpswap/actor\";\nimport { useCallsData } from \"./useCallData\";\nimport { parseTokenAmount } from \"@icpswap/utils\";\n\nexport async function getExchangeRates() {\n return await (await exchangeRate()).get_exchange_rates();\n}\n\nexport function useExchangeRates() {\n return useCallsData(\n useCallback(async () => {\n return await getExchangeRates();\n }, [])\n );\n}\n\nexport async function getExchangeRate(pair: string) {\n return await (await exchangeRate()).get_exchange_rate(pair);\n}\n\nexport function useExchangeRate(pair: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n return await getExchangeRate(pair!);\n }, [pair]),\n !!pair\n );\n}\n\nexport async function getXDR2USD() {\n const result = await getExchangeRate(\"f_USD-f_XDR\");\n return parseTokenAmount(result.rate, result.decimals).toString();\n}\n\nexport function useXDR2USD() {\n return useCallsData(\n useCallback(async () => {\n return await getXDR2USD();\n }, [])\n );\n}\n","import { ReactNode } from \"react\";\nimport { Box, Typography } from \"./Mui\";\nimport { Flex } from \"./Grid/Flex\";\n\nfunction CloseIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport interface GlobalTipsProps {\n onClose?: () => void;\n children?: ReactNode;\n}\n\nexport function GlobalTips({ children, onClose }: GlobalTipsProps) {\n return (\n \n \n {children}\n \n\n {onClose ? (\n \n \n \n ) : null}\n \n );\n}\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _g, _circle, _path8, _path9;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgLogo({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 177,\n height: 36,\n viewBox: \"0 0 177 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M42.0642 24.9568H44.7989V10.3438H42.0642V24.9568Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M60.2689 23.1192C58.766 24.6012 56.8245 25.2901 54.7157 25.2901C49.288 25.2901 46.9917 21.5534 46.9711 17.7542C46.9503 13.9341 49.4342 10.0508 54.7157 10.0508C56.6991 10.0508 58.5782 10.8023 60.0812 12.2845L58.2439 14.0591C57.2838 13.12 55.9897 12.6814 54.7157 12.6814C51.188 12.6814 49.664 15.3117 49.6851 17.7542C49.7057 20.1759 51.1046 22.702 54.7157 22.702C55.9897 22.702 57.4298 22.18 58.3903 21.2198L60.2689 23.1192Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M64.363 18.1315H68.4965C72.0243 18.1315 72.0037 12.9541 68.4965 12.9541H64.363V18.1315ZM68.4966 20.6577H64.3631V24.958H61.6074V10.345C63.9039 10.345 66.2002 10.3242 68.4966 10.3242C75.6361 10.3242 75.6569 20.6577 68.4966 20.6577Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M84.7405 13.873C84.2399 13.0378 82.8617 12.2446 81.2755 12.2446C79.2293 12.2446 78.2483 13.1004 78.2483 14.1862C78.2483 15.4594 79.7511 15.8146 81.505 16.0234C84.5529 16.3991 87.3917 17.192 87.3917 20.6782C87.3917 23.935 84.5107 25.3338 81.2541 25.3338C78.2691 25.3338 75.9726 24.4155 74.8875 21.7433L77.1832 20.5532C77.8305 22.1604 79.5215 22.8705 81.2961 22.8705C83.0287 22.8705 84.6571 22.265 84.6571 20.6782C84.6571 19.3008 83.2167 18.7369 81.2755 18.5281C78.2897 18.1735 75.5342 17.3802 75.5342 14.1026C75.5342 11.0962 78.4986 9.86492 81.1915 9.84375C83.467 9.84375 85.8261 10.4911 86.9328 12.7452L84.7405 13.873Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M98.5839 14.6445L100.838 22.3892L103.197 14.6445H106.016L102.425 24.9992H99.4605L98.396 21.9514L97.4777 18.5066L96.5586 21.9514L95.4941 24.9992H92.5297L88.918 14.6445H91.7576L94.1161 22.3892L96.3504 14.6445H98.5839Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M111.467 22.9062C109.86 22.9062 108.552 21.5981 108.552 19.9903C108.552 18.3829 109.86 17.0748 111.467 17.0748C113.075 17.0748 114.383 18.3829 114.383 19.9903C114.383 21.5981 113.075 22.9062 111.467 22.9062ZM114.409 15.4035C113.529 14.8376 112.514 14.5391 111.467 14.5391C108.461 14.5391 106.016 16.9848 106.016 19.9905C106.016 22.9966 108.461 25.4422 111.467 25.4422C112.514 25.4422 113.529 25.1436 114.409 24.5777V25.2317H116.919V14.7283H114.409V15.4035Z\",\n fill: \"white\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_638_0\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 118,\n y: 14,\n width: 13,\n height: 16\n }, _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M118.62 14.5273H130V29.3623H118.62V14.5273Z\",\n fill: \"white\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_638_0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M124.548 22.8943C122.941 22.8943 121.633 21.5864 121.633 19.9786C121.633 18.371 122.941 17.0631 124.548 17.0631C126.156 17.0631 127.464 18.371 127.464 19.9786C127.464 21.5864 126.156 22.8943 124.548 22.8943ZM124.549 14.5273C123.307 14.5273 122.098 14.9566 121.129 15.7386V14.7792H118.62V29.3623H121.129V24.2192C122.098 25.0012 123.307 25.4304 124.549 25.4304C127.555 25.4304 130 22.9847 130 19.9788C130 16.9731 127.555 14.5273 124.549 14.5273Z\",\n fill: \"white\"\n }))), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 17.6411,\n cy: 17.6411,\n r: 17.6411,\n fill: \"white\",\n fillOpacity: 0.06\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.243 7.75391C19.4032 7.75391 17.3519 10.0256 16.8048 11.6297C15.8451 14.098 16.2502 15.994 16.6072 17.6662L16.6331 17.7879C16.9647 19.343 17.2775 20.8118 16.8295 22.6552C16.7879 22.9076 16.7139 23.1558 16.6098 23.393C16.0971 24.5686 14.9346 25.3277 13.6484 25.3277C11.8683 25.3277 10.42 23.8882 10.42 22.1182C10.42 20.3476 11.8683 18.9071 13.6484 18.9071C14.1278 18.9071 14.5885 19.0098 15.0187 19.2119L15.3936 19.3883L14.9265 16.5491L14.7791 16.5194C14.4092 16.4455 14.0287 16.4082 13.6484 16.4082C10.483 16.4082 7.90796 18.9696 7.90796 22.1182C7.90796 25.267 10.483 27.8282 13.6484 27.8282C16.2761 27.8282 18.5629 26.061 19.2061 23.5448C19.8564 21.5741 19.5524 19.776 19.1215 17.7972L19.0733 17.577C18.6505 15.6416 18.3164 14.1129 19.3237 12.0943C19.8539 10.9765 20.9997 10.254 22.243 10.254C24.0224 10.254 25.4702 11.6935 25.4702 13.4635C25.4702 15.2332 24.0224 16.6734 22.243 16.6734C21.8019 16.6734 21.3734 16.5863 20.9682 16.4137L20.6041 16.259L21.064 19.0549L21.2153 19.0825C21.5515 19.1429 21.8974 19.1739 22.243 19.1739C25.4077 19.1739 27.9823 16.6121 27.9823 13.4635C27.9823 10.3152 25.4077 7.75391 22.243 7.75391Z\",\n fill: \"white\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.72 11V25H142.4V11H139.72ZM152.173 14.2C150.433 14.22 149.093 14.88 148.333 16.3V14.3H145.733V25H148.333V19.74C148.333 17.98 149.373 16.68 151.133 16.66C152.613 16.66 153.513 17.58 153.513 19.08V25H156.133V18.32C156.133 15.78 154.633 14.2 152.173 14.2ZM163.514 12.28C163.974 12.28 164.494 12.46 164.934 12.76L165.894 10.78C165.174 10.3 164.234 10.04 163.334 10.04C161.354 10.04 159.534 11.26 159.534 13.72V14.74H158.134V16.64H159.534V25H162.134V16.64H164.814V14.74H162.134V13.64C162.134 12.7 162.754 12.28 163.514 12.28ZM170.648 14.22C167.268 14.22 164.988 16.4 164.988 19.64C164.988 22.9 167.268 25.1 170.648 25.1C173.988 25.1 176.268 22.9 176.268 19.64C176.268 16.4 173.988 14.22 170.648 14.22ZM170.648 16.44C172.408 16.44 173.648 17.76 173.648 19.68C173.648 21.6 172.408 22.92 170.648 22.92C168.848 22.92 167.608 21.6 167.608 19.68C167.608 17.76 168.848 16.44 170.648 16.44Z\",\n fill: \"white\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.06a02c7cda2b6ac0830fc866687a0328.svg\";\nexport { ForwardRef as ReactComponent };","import logo from \"assets/images/logo.svg\";\n\nexport default function Logo() {\n return \"ICPSwap\";\n}\n","import { Box, Grid, Typography, ButtonBase } from \"@mui/material\";\nimport { makeStyles } from \"@mui/styles\";\nimport { APP_LINK } from \"constants/index\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Link } from \"react-router-dom\";\nimport Logo from \"ui-component/Logo\";\nimport { useInfoToken } from \"@icpswap/hooks\";\nimport { ICP } from \"@icpswap/tokens\";\nimport { mockALinkAndOpen, formatDollarAmount } from \"@icpswap/utils\";\n\nconst useStyles = makeStyles((theme: Theme) => ({\n logo: {\n marginLeft: \"20px\",\n display: \"flex\",\n [theme.breakpoints.down(\"md\")]: {\n width: \"auto\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n marginLeft: \"0px\",\n },\n },\n price: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"30px\",\n background: theme.palette.background.level2,\n borderRadius: \"12px\",\n padding: \"0 16px\",\n },\n}));\n\nexport function APP() {\n const handleLoadToApp = () => {\n mockALinkAndOpen(APP_LINK, \"link_app\");\n };\n\n return (\n \n App\n \n );\n}\n\nexport default function Header() {\n const classes = useStyles();\n\n const icpInfo = useInfoToken(ICP.address);\n\n return (\n \n \n \n \n \n \n \n \n ICP: {icpInfo ? formatDollarAmount(icpInfo.priceUSD) : \"--\"}\n \n \n \n \n \n \n \n \n );\n}\n","import { useRef, useState } from \"react\";\nimport { makeStyles, useTheme } from \"@mui/styles\";\nimport { MenuList, MenuItem, Popper, Box, Grid, Typography, useMediaQuery } from \"@mui/material\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { t } from \"@lingui/macro\";\nimport { ClickAwayListener } from \"@mui/base\";\nimport { Theme } from \"@mui/material/styles\";\n\nconst linearGradient = \"linear-gradient(89.44deg, #5569DB -0.31%, #8572FF 91.14%)\";\n\nconst useStyles = makeStyles((theme: Theme) => {\n return {\n container: {\n background: theme.palette.background.level2,\n padding: \"30px 40px 30px 20px\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: \"10px\",\n },\n },\n barLink: {\n background: \"red\",\n },\n navItem: {\n height: \"40px\",\n borderRadius: \"12px\",\n cursor: \"pointer\",\n padding: \"0 16px\",\n background: theme.palette.background.level4,\n [theme.breakpoints.down(\"sm\")]: {\n height: \"36px\",\n padding: \"0 10px\",\n },\n \"&:hover\": {\n background: linearGradient,\n \"& .MuiTypography-root\": {\n color: \"#FFFFFF\",\n },\n },\n \"&.active\": {\n background: linearGradient,\n },\n },\n more: {\n padding: \"0 17px\",\n background: theme.palette.background.level4,\n borderRadius: \"12px\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: linearGradient,\n },\n },\n dot: {\n width: \"5px\",\n height: \"5px\",\n background: \"#fff\",\n borderRadius: \"50%\",\n marginRight: \"6px\",\n \"&:last-child\": {\n marginRight: \"0px\",\n },\n },\n };\n});\n\ntype Route = {\n key: string;\n name: string;\n path: string;\n};\n\nexport default function NavBar() {\n const classes = useStyles();\n const location = useLocation();\n const theme = useTheme() as Theme;\n const history = useHistory();\n const ref = useRef(null);\n const pathName = location.pathname;\n\n const matchUpLG = useMediaQuery(theme.breakpoints.up(\"lg\"));\n const matchDownMD = useMediaQuery(theme.breakpoints.down(\"md\"));\n const matchDownSM = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n const RoutesNumber = matchDownMD ? (matchDownSM ? 3 : 4) : matchUpLG ? 6 : 5;\n\n const [open, setOpen] = useState(false);\n\n const handleMouseEnter = () => {\n setOpen(true);\n };\n\n const handleMouseLeave = () => {\n setOpen(false);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handlerOpenTo = (val: Route) => {\n history.push(val.path);\n };\n\n const handleMenuClick = (route: Route) => {\n if (!route.path) return;\n handleClose();\n history.push(route.path);\n };\n\n const routes: Route[] = [\n {\n key: \"/\",\n name: t`Overview`,\n path: \"/\",\n },\n {\n name: t`Swap`,\n path: \"/swap\",\n key: \"swap\",\n },\n {\n key: \"token\",\n name: t`Tokens`,\n path: \"/token/list\",\n },\n {\n key: \"stake\",\n name: t`Stake`,\n path: \"/stake\",\n },\n {\n key: \"marketplace\",\n name: t`Marketplace`,\n path: `/marketplace`,\n },\n\n {\n key: \"farm\",\n name: t`Farm`,\n path: \"/farm\",\n },\n {\n key: \"/token-claim\",\n name: t`Token Claim`,\n path: \"/token-claim\",\n },\n {\n key: \"nft\",\n name: t`NFTs`,\n path: `/nft/canisters`,\n },\n {\n key: \"wrap\",\n name: t`WICP`,\n path: \"/wrap\",\n },\n ];\n\n function isActive(route: Route) {\n return (!!route.path && route.key === pathName.split(\"/\")[1]) || (pathName === \"/\" && route.path === \"/\");\n }\n\n function hidden() {\n return (\n pathName.includes(\"/token/details\") &&\n !pathName.includes(\"/swap/token/details\") &&\n !pathName.includes(\"/swap/v2/token/details\")\n );\n }\n\n return (\n \n \n \n {routes.map((route, index) =>\n index >= RoutesNumber ? null : (\n handlerOpenTo(route)}\n className={`${classes.navItem} ${isActive(route) ? \"active\" : \"\"}`}\n sx={{\n marginRight: \"12px\",\n }}\n >\n \n ({\n fontSize: \"16px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"14px\",\n },\n })}\n color={isActive(route) ? \"text.primary\" : \"text.secondary\"}\n >\n {route.name}\n \n \n \n ),\n )}\n {RoutesNumber < routes.length ? (\n \n \n \n \n \n \n\n \n \n \n {routes.map((route, index) =>\n index > RoutesNumber || index === RoutesNumber ? (\n handleMenuClick(route)}>\n {route.name}\n \n ) : null,\n )}\n \n \n \n \n ) : null}\n \n \n \n );\n}\n","import { ReactNode, useState } from \"react\";\nimport { makeStyles } from \"@mui/styles\";\nimport { CssBaseline } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { GlobalTips } from \"@icpswap/ui\";\nimport Header from \"./Header\";\nimport NavBar from \"./NavBar/index\";\n\nconst useStyles = makeStyles((theme: Theme) => {\n return {\n content: {\n backgroundColor: theme.palette.background.level1,\n width: \"100%\",\n minHeight: \"calc(100vh - 160px)\", // 100 + 60\n borderRadius: \"8px\",\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n [theme.breakpoints.down(\"sm\")]: {\n padding: \"0px\",\n backgroundColor: \"transparent\",\n },\n },\n };\n});\n\nexport default function MainLayout({ children }: { children: ReactNode }) {\n const classes = useStyles();\n\n const [globalTipsOpen, setGlobalTipsOpen] = useState(false);\n\n return (\n
\n \n\n
\n\n {globalTipsOpen ? setGlobalTipsOpen(false)} /> : null}\n\n \n\n
{children}
\n
\n );\n}\n","import { Typography, Box } from \"@mui/material\";\nimport { Trans } from \"@lingui/macro\";\n\nexport default function Maintenance() {\n return (\n \n \n \n This feature is currently under maintenance. Please wait for a while. We apologize for the inconvenience and\n appreciate your patience as we work on improving our product.\n \n \n \n );\n}\n","import { Grid, Box, Typography } from \"@mui/material\";\nimport { Trans } from \"@lingui/macro\";\n\nexport default function PageNotFound() {\n return (\n \n \n \n \n Page not found\n \n \n \n \n );\n}\n","import React, { Suspense } from \"react\";\nimport Loader from \"./LinearLoader\";\n\nexport default function Loadable(Component: React.FC) {\n return (props: any) => (\n }>\n \n \n );\n}\n","import { lazy } from \"react\";\nimport Loadable from \"ui-component/Loading/Loadable\";\n\nconst Overview = Loadable(lazy(() => import(\"../views/overview\")));\nconst Wrap = Loadable(lazy(() => import(\"../views/wrap\")));\n\nconst Swap = Loadable(lazy(() => import(\"../views/swap/index\")));\nconst SwapPool = Loadable(lazy(() => import(\"../views/swap-pools/index\")));\nconst SwapPoolDetails = Loadable(lazy(() => import(\"../views/swap-pools/details\")));\nconst SwapToken = Loadable(lazy(() => import(\"../views/swap-tokens/index\")));\nconst SwapTokenDetails = Loadable(lazy(() => import(\"../views/swap-tokens/details\")));\n\nconst NFTCanisterList = Loadable(lazy(() => import(\"../views/nft/CanisterList\")));\nconst NFTCanisterDetails = Loadable(lazy(() => import(\"../views/nft/CanisterDetails\")));\nconst NFTView = Loadable(lazy(() => import(\"../views/nft/View\")));\nconst NFTMarket = Loadable(lazy(() => import(\"../views/marketplace/index\")));\n\nconst TokenList = Loadable(lazy(() => import(\"../views/token-list\")));\nconst TokenDetail = Loadable(lazy(() => import(\"../views/token-list/Details\")));\n\nconst Farms = Loadable(lazy(() => import(\"views/staking-farm/index\")));\nconst FarmsDetails = Loadable(lazy(() => import(\"views/staking-farm/Details\")));\nconst StakingToken = Loadable(lazy(() => import(\"views/staking-token/index\")));\nconst StakingTokenDetails = Loadable(lazy(() => import(\"views/staking-token/Details\")));\n\nconst TokenTransactions = Loadable(lazy(() => import(\"../views/token-list/Transactions\")));\nconst UserTokenTransactions = Loadable(lazy(() => import(\"../views/token-list/UserTransactions\")));\nconst TokenHolders = Loadable(lazy(() => import(\"../views/token-list/Holders\")));\n\nconst TokenClaim = Loadable(lazy(() => import(\"../views/token-claim/index\")));\nconst TokenClaimTransactions = Loadable(lazy(() => import(\"../views/token-claim/transactions\")));\n\nconst SwapScanTransactions = Loadable(lazy(() => import(\"../views/swap-scan/SwapTransactions\")));\nconst SwapScanPositions = Loadable(lazy(() => import(\"../views/swap-scan/Positions\")));\nconst SwapScanReclaims = Loadable(lazy(() => import(\"../views/swap-scan/Reclaim\")));\nconst SwapScanValuation = Loadable(lazy(() => import(\"../views/swap-scan/AddressValuation\")));\n\nexport const routesConfig: { [path: string]: (props: any) => JSX.Element } = {\n \"/\": Overview,\n \"/wrap\": Wrap,\n\n \"/token/list\": TokenList,\n \"/token/details/:canisterId\": TokenDetail,\n \"/token/holders/:canisterId\": TokenHolders,\n \"/token/transactions/:canisterId\": TokenTransactions,\n \"/token/transactions/:canisterId/:account\": UserTokenTransactions,\n\n \"/swap\": Swap,\n \"/swap/pool\": SwapPool,\n \"/swap/pool/details/:canisterId\": SwapPoolDetails,\n \"/swap/token\": SwapToken,\n \"/swap/token/details/:canisterId\": SwapTokenDetails,\n\n \"/nft/canisters\": NFTCanisterList,\n \"/nft/canister/details/:id\": NFTCanisterDetails,\n \"/nft/view/:canisterId/:tokenId\": NFTView,\n\n \"/stake\": StakingToken,\n \"/stake/details/:poolId\": StakingTokenDetails,\n \"/farm\": Farms,\n \"/farm/details/:farmId\": FarmsDetails,\n \"/marketplace\": NFTMarket,\n \"/token-claim\": TokenClaim,\n \"/token-claim/transactions/:id\": TokenClaimTransactions,\n \"/swap-scan/transactions\": SwapScanTransactions,\n \"/swap-scan/positions\": SwapScanPositions,\n \"/swap-scan/pool-balances\": SwapScanReclaims,\n \"/swap-scan/valuation\": SwapScanValuation,\n};\n","import { Route, Switch, useLocation } from \"react-router-dom\";\nimport MainLayout from \"ui-component/MainLayout\";\nimport Maintenance from \"ui-component/Maintenance\";\nimport PageNotFound from \"ui-component/404\";\nimport { routesConfig } from \"./config\";\n\nconst maintenancePages: string[] = [];\n\nexport default function MainRoutes() {\n const location = useLocation();\n\n const allPath = Object.keys(routesConfig);\n\n return (\n \n \n \n {allPath.map((pathName) => {\n const component = maintenancePages.includes(pathName) ? Maintenance : routesConfig[pathName];\n\n // @ts-ignore TODO:FIX\n return ;\n })}\n {/* @ts-ignore */} TODO:FIX\n \n \n \n \n );\n}\n","import { Switch } from \"react-router-dom\";\n\nimport AllRoutes from \"./Routes\";\n\nexport default function Routes() {\n return (\n \n \n \n );\n}\n","export const lightColors = {};\n\nexport const darkColors = {};\n\nexport default {\n paper: \"#ffffff\",\n\n level1: \"#111936\",\n level2: \"#1a223f\",\n level3: \"#212946\",\n level4: \"#29314f\",\n\n // primary\n primaryLight: \"#e3f2fd\",\n primary200: \"#ffffff\",\n primaryMain: \"#8672FF\",\n primaryDark: \"#8672FF\",\n primary800: \"#1565c0\",\n\n // secondary\n secondaryLight: \"#ffffff\",\n secondary200: \"#b39ddb\",\n secondaryMain: \"#5669dc\",\n secondaryDark: \"#5669dc\",\n secondary800: \"#4527a0\",\n\n // success\n successLight: \"#b9f6ca\",\n success200: \"#69f0ae\",\n successMain: \"#00e676\",\n successDark: \"#54c081\",\n\n // error\n errorLight: \"#ef9a9a\",\n errorMain: \"#f44336\",\n\n // orange\n orangeLight: \"#fbe9e7\",\n orangeMain: \"#ffab91\",\n orangeDark: \"#d84315\",\n\n // warning\n warningLight: \"#F2994A\",\n warningMain: \"#ffe57f\",\n warningDark: \"#ffc107\",\n warning: \"#D3625B\",\n\n // grey\n grey50: \"#fafafa\",\n grey100: \"#f5f5f5\",\n grey200: \"#eeeeee\",\n grey300: \"#e0e0e0\",\n grey500: \"#9e9e9e\",\n grey600: \"#757575\",\n grey700: \"#616161\",\n grey900: \"#212121\",\n\n // -----------------------|| DARK THEME VARIANTS ||-----------------------//\n\n // paper & background\n darkPaper: \"#111936\",\n darkBackground: \"#1a223f\",\n\n // dark 800 & 900\n darkLevel1: \"#111936\",\n darkLevel2: \"#1a223f\",\n darkLevel3: \"#212946\",\n darkLevel4: \"#29314f\",\n darkLevel5: \"#273051\",\n\n // text variants\n darkTextPrimary: \"#ffffff\",\n darkTextSecondary: \"#8492c4\",\n darkTextTertiary: \"#4F5A84\",\n darkTextFourth: \"#29314F\",\n darkTextFifth: \"#212946\",\n\n lightPrimaryMain: \"#8672FF\",\n\n lightTextTitle: \"#212121\",\n lightTextPrimary: \"#212121\",\n lightTextSecondary: \"#757575\",\n lightTextTertiary: \"#9E9E9E\",\n lightTextFourth: \"#F5F5F5\",\n lightTextFifth: \"#FAFAFA\",\n\n lightLevel2: \"#EFEFFF\",\n lightLevel4: \"#FAFAFA\",\n lightLevel5: \"#FAFAFA\",\n\n lightGray200: \"#f5f5f5\",\n lightGray50: \"#fafafa\",\n\n lightGray200BorderColor: \"#EFEFFF\",\n\n // primary dark\n darkPrimaryLight: \"#e3f2fd\",\n darkPrimaryMain: \"#8672FF\",\n darkPrimaryDark: \"#5669dc\",\n darkPrimary200: \"#000001\",\n darkPrimary800: \"#1565c0\",\n darkPrimary400: \"#4F5A84\",\n\n // secondary dark\n darkSecondaryLight: \"#212946\",\n darkSecondaryMain: \"#5669dc\",\n darkSecondaryDark: \"#5669dc\",\n darkSecondary200: \"#b39ddb\",\n darkSecondary800: \"#6200ea\",\n\n defaultGradientStart: \"#5569db\",\n defaultGradientEnd: \"#8572ff\",\n\n apr: \"#54C081\",\n\n \"text.success\": \"#54C081\",\n\n border0: \"#4F5A84\",\n border1: \"#353C5D\",\n};\n","import { isDarkTheme } from \"utils/index\";\nimport { createTheme } from \"@mui/material\";\nimport { DynamicObject } from \"types/index\";\n\nimport colors from \"./colors\";\n\nconst MuiTheme = createTheme({});\n\nexport function componentStyleOverrides(theme: DynamicObject) {\n const isDark = isDarkTheme(theme);\n const globalButtonBackground = isDark ? theme.defaultGradient : theme.colors.lightPrimaryMain;\n const menuHoverBackground = isDark ? theme.menuSelectedBack : theme.colors.lightLevel2;\n\n return {\n MuiButton: {\n styleOverrides: {\n root: {\n fontWeight: 500,\n borderRadius: \"8px\",\n textTransform: \"none\",\n \"&.MuiButton-outlinedPrimary\": {\n color: isDark ? theme.colors.secondaryMain : theme.colors.lightPrimaryMain,\n borderColor: isDark ? theme.colors.secondaryMain : theme.colors.lightPrimaryMain,\n \"&:hover\": {\n background: \"rgba(86, 105, 220, 0.1)\",\n },\n },\n \"&.MuiButton-contained.Mui-disabled\": {\n ...(isDark\n ? {\n background: \"#4F5A84\",\n }\n : { color: \"#9E9E9E\", background: \"#E0E0E0\" }),\n },\n \"&.secondary\": {\n background: \"#4F5A84\",\n \"&:hover\": {\n background: \"#4F5A84\",\n },\n },\n \"&.MuiButton-contained\": {\n \"&.secondary\": {\n background: colors.darkLevel4,\n boxShadow: \"none\",\n \"&.Mui-disabled\": {\n color: colors.darkTextTertiary,\n },\n },\n },\n },\n containedPrimary: {\n background: globalButtonBackground,\n },\n containedSecondary: {\n background: isDark ? theme.colors.darkLevel4 : \"#EFEFFF\",\n color: isDark ? theme.colors.darkTextSecondary : theme.colors.primaryMain,\n },\n },\n },\n MuiPaper: {\n defaultProps: {\n elevation: 0,\n },\n styleOverrides: {\n root: {\n backgroundImage: \"none\",\n backgroundColor: isDark ? theme.colors.darkLevel1 : theme.colors.paper,\n },\n rounded: {\n borderRadius: \"8px\",\n },\n },\n },\n MuiCardHeader: {\n styleOverrides: {\n root: {\n color: theme.colors.textDark,\n padding: \"24px\",\n },\n title: {\n fontSize: \"1.125rem\",\n },\n },\n },\n MuiCardContent: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n [MuiTheme.breakpoints.down(\"sm\")]: {\n padding: \"12px\",\n paddingBottom: \"12px!important\",\n },\n },\n },\n },\n MuiCardActions: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n },\n },\n },\n MuiAlert: {\n styleOverrides: {\n root: {\n alignItems: \"center\",\n },\n outlined: {\n border: \"1px dashed\",\n },\n },\n },\n MuiButtonBase: {\n styleOverrides: {\n root: {\n \"&.radius-12\": {\n borderRadius: \"12px\",\n },\n \"&.MuiListItem-root\": {\n color: theme.textSecondary,\n paddingTop: \"10px\",\n paddingBottom: \"10px\",\n backgroundColor: theme.menuBackground,\n \"&.Mui-selected\": {\n color: theme.textPrimary,\n backgroundColor: menuHoverBackground,\n \"&:hover\": {\n backgroundColor: menuHoverBackground,\n },\n \"& .MuiListItemIcon-root\": {\n color: theme.textPrimary,\n },\n },\n \"&:hover\": {\n backgroundColor: menuHoverBackground,\n color: theme.textPrimary,\n \"& .MuiListItemIcon-root\": {\n color: theme.textPrimary,\n },\n },\n },\n\n // sidebar menu\n \"&.MuiListItem-root&.sidebar\": {\n color: theme.textPrimary,\n paddingTop: \"10px\",\n paddingBottom: \"10px\",\n marginBottom: \"5px\",\n paddingLeft: \"0px\",\n \"&:last-child\": {\n marginBottom: 0,\n },\n \"& .MuiSvgIcon-root\": {\n color: \"#8492C4\",\n },\n \"&.Mui-selected, &:hover\": {\n color: theme.menuSelected,\n background: globalButtonBackground,\n \"& .MuiListItemIcon-root\": {\n color: theme.menuSelected,\n },\n \"& .MuiSvgIcon-root\": {\n color: theme.menuSelected,\n },\n },\n },\n \"&.MuiListItem-root&.sub\": {\n color: theme.textPrimary,\n paddingTop: \"7px\",\n paddingBottom: \"7px\",\n paddingLeft: \"0px\",\n background: \"transparent\",\n \"& .MuiSvgIcon-root\": {\n color: \"#8492C4\",\n },\n \"&.Mui-selected, &:hover\": {\n color: theme.menuSelected,\n background: \"transparent\",\n \"& .MuiListItemIcon-root\": {\n color: theme.menuSelected,\n },\n \"& .MuiSvgIcon-root\": {\n color: theme.colors.darkSecondaryMain,\n },\n },\n },\n },\n },\n },\n MuiListItemIcon: {\n styleOverrides: {\n root: {\n color: theme.textPrimary,\n minWidth: \"36px\",\n },\n },\n },\n MuiListItemText: {\n styleOverrides: {\n primary: {\n color: theme.textDark,\n },\n },\n },\n MuiInputBase: {\n styleOverrides: {\n input: {\n color: theme.textDark,\n \"&::placeholder\": {\n color: theme.textSecondary,\n fontSize: \"0.875rem\",\n },\n },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n background: theme.customization.outlinedFilled\n ? isDark\n ? theme.colors.darkBackground\n : theme.colors.grey50\n : \"transparent\",\n borderRadius: \"8px\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor:\n theme.customization.navType === \"dark\" ? theme.colors.textPrimary + 28 : theme.colors.lightGray200,\n },\n \"&:hover $notchedOutline\": {\n borderColor: theme.colors.primaryLight,\n },\n \"&.MuiInputBase-multiline\": {\n padding: 1,\n },\n },\n input: {\n fontWeight: 500,\n background: theme.customization.outlinedFilled\n ? isDark\n ? theme.colors.darkBackground\n : theme.colors.grey50\n : \"transparent\",\n padding: \"15.5px 14px\",\n borderRadius: \"8px\",\n \"&.MuiInputBase-inputSizeSmall\": {\n padding: \"10px 14px\",\n \"&.MuiInputBase-inputAdornedStart\": {\n paddingLeft: 0,\n },\n },\n },\n inputAdornedStart: {\n paddingLeft: 4,\n },\n notchedOutline: {\n borderRadius: \"8px\",\n },\n },\n },\n MuiSlider: {\n styleOverrides: {\n root: {\n \"&.Mui-disabled\": {\n color: isDark ? theme.colors.textPrimary + 50 : theme.colors.grey300,\n },\n },\n mark: {\n backgroundColor: theme.paper,\n width: \"4px\",\n },\n valueLabel: {\n color: theme.colors.primaryMain,\n },\n },\n },\n MuiAutocomplete: {\n styleOverrides: {\n root: {\n \"& .MuiAutocomplete-tag\": {\n background: isDark ? theme.colors.textPrimary + 20 : theme.colors.secondaryLight,\n borderRadius: 4,\n color: theme.textDark,\n \".MuiChip-deleteIcon\": {\n color: isDark ? theme.colors.textPrimary + 80 : theme.colors.secondary200,\n },\n },\n },\n popper: {\n borderRadius: \"8px\",\n boxShadow:\n \"0px 8px 10px -5px rgb(0 0 0 / 20%), 0px 16px 24px 2px rgb(0 0 0 / 14%), 0px 6px 30px 5px rgb(0 0 0 / 12%)\",\n },\n },\n },\n MuiDivider: {\n styleOverrides: {\n root: {\n borderColor: theme.divider,\n opacity: isDark ? 0.2 : 1,\n },\n },\n },\n MuiSelect: {\n styleOverrides: {\n select: {\n \"&:focus\": {\n backgroundColor: \"transparent\",\n },\n },\n },\n },\n MuiCheckbox: {\n styleOverrides: {\n select: {\n fontSize: \"28px\",\n },\n },\n },\n MuiAvatar: {\n styleOverrides: {\n root: {\n color: isDark ? theme.colors.darkLevel1 : theme.colors.primaryDark,\n background: isDark ? theme.textPrimary : theme.colors.primary200,\n },\n },\n },\n MuiChip: {\n styleOverrides: {\n root: {\n \"&.MuiChip-deletable .MuiChip-deleteIcon\": {\n color: \"inherit\",\n },\n },\n },\n },\n MuiTimelineContent: {\n styleOverrides: {\n root: {\n color: theme.textDark,\n fontSize: \"16px\",\n },\n },\n },\n MuiTreeItem: {\n styleOverrides: {\n label: {\n marginTop: 14,\n marginBottom: 14,\n },\n },\n },\n MuiTimelineDot: {\n styleOverrides: {\n root: {\n boxShadow: \"none\",\n },\n },\n },\n MuiInternalDateTimePickerTabs: {\n styleOverrides: {\n tabs: {\n backgroundColor: isDark ? theme.colors.darkPaper : theme.colors.primaryLight,\n \"& .MuiTabs-flexContainer\": {\n borderColor: isDark ? theme.colors.textPrimary + 20 : theme.colors.primary200,\n },\n \"& .MuiTab-root\": {\n color: isDark ? theme.colors.textSecondary : theme.colors.grey900,\n },\n \"& .MuiTabs-indicator\": {\n backgroundColor: theme.colors.primaryDark,\n },\n \"& .Mui-selected\": {\n color: theme.colors.primaryDark,\n },\n },\n },\n },\n MuiTabs: {\n styleOverrides: {\n flexContainer: {\n borderBottom: \"1px solid\",\n borderColor: isDark ? theme.colors.textPrimary + 20 : theme.colors.grey200,\n },\n },\n },\n MuiDialog: {\n styleOverrides: {\n paper: {\n padding: \"12px 0 12px 0\",\n backgroundColor: isDark ? theme.colors.darkLevel3 : theme.colors.primary200,\n },\n },\n },\n MuiTable: {\n styleOverrides: {\n root: {\n \"& td\": {\n whiteSpace: \"nowrap\",\n },\n \"& td:first-of-type, & th:first-of-type\": {\n paddingLeft: \"0px\",\n },\n },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderColor: isDark ? \"rgba(189, 200, 240, 0.082)\" : theme.colors.grey200,\n \"&.MuiTableCell-head\": {\n fontSize: theme.fontSize.xs,\n color: theme.textTertiary,\n \"&.MuiTableCell-stickyHeader\": {\n background: theme.colors.darkLevel2,\n },\n },\n },\n },\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n color: isDark ? theme.colors.darkLevel1 : theme.paper,\n background: isDark ? theme.colors.grey50 : theme.colors.grey700,\n },\n },\n },\n MuiPagination: {\n styleOverrides: {\n root: {\n \".MuiPaginationItem-previousNext\": {\n borderRadius: \"50%\",\n },\n \".MuiPaginationItem-root\": {\n \"&.Mui-selected\": {\n backgroundColor: theme.colors.secondaryMain,\n },\n },\n \".MuiButtonBase-root\": {\n minWidth: \"22px\",\n height: \"22px\",\n },\n },\n nav: {\n backgroundColor: theme.colors.primaryMain,\n },\n },\n },\n MuiTableContainer: {\n styleOverrides: {\n root: {\n position: \"relative\",\n \"&.with-loading\": {\n minHeight: \"210px\",\n },\n },\n },\n },\n MuiStepper: {\n styleOverrides: {\n root: {\n \"& .MuiStepLabel-label\": {\n color: isDark ? theme.textSecondary : theme.textPrimary,\n \"&.Mui-active\": {\n color: theme.textPrimary,\n },\n },\n \"& .MuiStepIcon-root\": {\n color: isDark ? theme.colors.darkLevel4 : \"#BDBDBD\",\n \"&.Mui-active\": {\n color: isDark ? theme.colors.darkSecondaryMain : theme.colors.lightPrimaryMain,\n },\n \"&.MuiStepIcon-completed\": {\n color: isDark ? theme.colors.darkSecondaryMain : \"#00C853\",\n },\n },\n \"& .MuiStepConnector-line\": {\n borderColor: isDark ? theme.colors.darkLevel4 : \"#E0E0E0\",\n },\n },\n },\n },\n MuiBreadcrumbs: {\n styleOverrides: {\n root: {\n \"& a\": {\n \"&:hover\": {\n textDecoration: `underline solid ${theme.textSecondary}!important`,\n },\n \"& .MuiTypography-root\": {\n color: theme.textSecondary,\n },\n },\n \"& .MuiTypography-root\": {\n color: theme.textPrimary,\n },\n },\n },\n },\n MuiSwitch: {\n styleOverrides: {\n root: {\n width: \"36px\",\n borderRadius: \"12px\",\n },\n },\n },\n MuiGrid: {\n styleOverrides: {\n root: {\n \"& .lightGray200\": {\n ...(theme.customization.navType !== \"dark\" ? { backgroundColor: theme.colors.lightGray200 } : {}),\n },\n \"& .lightGray50\": {\n ...(theme.customization.navType !== \"dark\" ? { backgroundColor: theme.colors.lightGray50 } : {}),\n },\n },\n },\n },\n MuiPopover: {\n styleOverrides: {\n root: {\n \"&.custom-select\": {\n \"& .MuiPaper-root\": {\n background: theme.colors.darkLevel3,\n border: \"1px solid #49588E\",\n \"& .MuiList-root\": {\n padding: 0,\n },\n \"& .MuiMenuItem-root\": {\n background: theme.colors.darkLevel3,\n paddingTop: \"13px\",\n paddingBottom: \"13px\",\n \"&.active\": {\n background: \"#313D67\",\n },\n \"&:hover\": {\n background: \"#313D67\",\n },\n },\n },\n },\n },\n },\n },\n MuiList: {\n styleOverrides: {\n root: {\n \"&.customize-menu-list\": {\n padding: 0,\n background: theme.colors.darkLevel3,\n border: \"1px solid #49588E\",\n borderRadius: \"8px\",\n width: \"146px\",\n overflow: \"hidden\",\n \"& .MuiMenuItem-root.MuiButtonBase-root\": {\n background: theme.colors.darkLevel3,\n paddingTop: \"8px\",\n paddingBottom: \"8px\",\n \"&:first-of-type\": {\n borderRadius: \"8px 8px 0 0\",\n },\n \"&:last-child\": {\n borderRadius: \"0 0 8px 8px\",\n },\n \"&.active\": {\n background: \"#313D67\",\n },\n \"&:hover\": {\n background: \"#313D67\",\n },\n },\n },\n },\n },\n },\n };\n}\n","import { isDarkTheme } from \"utils\";\nimport { type ThemeOption } from \"./types\";\n\nexport function themePalette(theme: ThemeOption) {\n const isDark = isDarkTheme(theme);\n\n return {\n mode: theme.customization.navType,\n common: {\n black: theme.colors.darkPaper,\n },\n primary: {\n accountCardBg: isDark ? theme.colors.accountCardBgDarkPrimaryLight : theme.colors.primaryLight,\n light: isDark ? theme.colors.darkPrimaryLight : theme.colors.primaryLight,\n main: isDark ? theme.colors.darkPrimaryMain : theme.colors.lightPrimaryMain,\n dark: isDark ? theme.colors.darkPrimaryDark : theme.colors.primaryDark,\n 200: isDark ? theme.colors.darkPrimary200 : theme.colors.primary200,\n 800: isDark ? theme.colors.darkPrimary800 : theme.colors.primary800,\n 400: isDark ? theme.colors.darkPrimary400 : theme.colors.primary800,\n },\n secondary: {\n light: isDark ? theme.colors.darkSecondaryLight : theme.colors.secondaryLight,\n main: isDark ? theme.colors.darkSecondaryMain : theme.colors.secondaryMain,\n dark: isDark ? theme.colors.darkSecondaryLight : theme.colors.secondaryDark,\n 200: isDark ? theme.colors.darkSecondary200 : theme.colors.secondary200,\n 800: isDark ? theme.colors.darkSecondary800 : theme.colors.secondary800,\n },\n error: {\n light: theme.colors.errorLight,\n main: theme.colors.errorMain,\n },\n orange: {\n light: theme.colors.orangeLight,\n main: theme.colors.orangeMain,\n dark: theme.colors.orangeDark,\n },\n warning: {\n light: theme.colors.warningLight,\n main: theme.colors.warningMain,\n dark: theme.colors.warningDark,\n },\n success: {\n light: theme.colors.successLight,\n 200: theme.colors.success200,\n main: theme.colors.successMain,\n dark: theme.colors.successDark,\n },\n grey: {\n 50: theme.colors.grey50,\n 100: theme.colors.grey100,\n 500: theme.darkTextSecondary,\n 600: theme.heading,\n 700: theme.colors.darkTextPrimary,\n 900: theme.textDark,\n },\n dark: {\n light: theme.colors.darkTextPrimary,\n main: theme.colors.darkLevel1,\n dark: theme.colors.darkLevel2,\n level3: theme.colors.darkLevel3,\n level4: theme.colors.darkLevel4,\n 800: theme.colors.darkBackground,\n 900: theme.colors.darkPaper,\n adStyle1: \"#2B3049\",\n adStyle2: \"#FFF\",\n },\n text: {\n primary: theme.textPrimary,\n secondary: theme.textSecondary,\n tertiary: theme.textTertiary,\n dark: theme.textDark,\n light: theme.textLight,\n hint: theme.colors.grey100,\n \"theme-primary\": theme.colors.darkPrimaryMain,\n \"theme-secondary\": theme.colors.darkSecondaryMain,\n success: theme.colors[\"text.success\"],\n apr: theme.colors.apr,\n },\n background: {\n paper: theme.paper,\n default: theme.backgroundDefault,\n level1: isDark ? theme.colors.darkLevel1 : theme.colors.primaryLight,\n level2: isDark ? theme.colors.darkLevel2 : theme.colors.lightLevel2,\n level3: isDark ? theme.colors.darkLevel3 : theme.colors.paper,\n level4: isDark ? theme.colors.darkLevel4 : theme.colors.lightLevel4,\n },\n border: {\n normal: isDark ? \"1px solid #313A5A\" : `1px solid ${theme.colors.lightGray200BorderColor}`,\n gray200: isDark ? \"1px solid #29314F\" : `1px solid ${theme.colors.lightGray200BorderColor}`,\n level1: theme.colors.darkLevel1,\n },\n avatar: {\n gray200BgColor: isDark ? { bgcolor: \"#384368\" } : { bgcolor: \"transparent\" },\n },\n loading: {\n background: isDark ? theme.colors.darkLevel3 : theme.colors.paper,\n },\n };\n}\n","import { type ThemeOption } from \"./types\";\n\nexport function themeTypography(theme: ThemeOption) {\n return {\n fontFamily: \"'Poppins', 'Roboto', sans-serif\",\n h6: {\n fontWeight: 500,\n color: theme.textSecondary,\n fontSize: \"0.75rem\",\n },\n h5: {\n fontSize: \"0.875rem\",\n color: theme.textSecondary,\n fontWeight: 500,\n },\n h4: {\n fontSize: \"1rem\",\n color: theme.textSecondary,\n fontWeight: 600,\n },\n h3: {\n fontSize: \"1.25rem\",\n color: theme.textSecondary,\n fontWeight: 600,\n },\n h2: {\n fontSize: \"1.5rem\",\n color: theme.textSecondary,\n fontWeight: 700,\n },\n h1: {\n fontSize: \"2.125rem\",\n color: theme.textSecondary,\n fontWeight: 700,\n },\n subtitle1: {\n fontSize: \"0.875rem\",\n fontWeight: 500,\n color: theme.customization.navType === \"dark\" ? theme.heading : theme.textDark,\n },\n subtitle2: {\n fontSize: \"0.75rem\",\n fontWeight: 400,\n color: theme.textSecondary,\n },\n caption: {\n fontSize: \"0.75rem\",\n color: theme.textSecondary,\n fontWeight: 400,\n },\n body1: {\n fontSize: \"0.875rem\",\n fontWeight: 400,\n lineHeight: \"1.334em\",\n color: theme.textSecondary,\n },\n body2: {\n letterSpacing: \"0em\",\n fontWeight: 400,\n lineHeight: \"1.5em\",\n color: theme.textSecondary,\n },\n customInput: {\n marginTop: 8,\n marginBottom: 8,\n \"& > label\": {\n top: \"23px\",\n left: 0,\n color: theme.grey500,\n '&[data-shrink=\"false\"]': {\n top: \"5px\",\n },\n },\n \"& > div > input\": {\n padding: \"30.5px 14px 11.5px !important\",\n },\n \"& legend\": {\n display: \"none\",\n },\n \"& fieldset\": {\n top: 0,\n },\n },\n menuCaption: {\n fontSize: \"0.875rem\",\n color: theme.heading,\n padding: \"11px 0 11px 19px\",\n textTransform: \"capitalize\",\n fontWeight: \"400\",\n },\n subMenuCaption: {\n fontSize: \"0.6875rem\",\n fontWeight: 500,\n color: theme.textSecondary,\n textTransform: \"capitalize\",\n },\n commonAvatar: {\n cursor: \"pointer\",\n borderRadius: \"8px\",\n },\n smallAvatar: {\n width: \"22px\",\n height: \"22px\",\n fontSize: \"1rem\",\n },\n mediumAvatar: {\n width: \"34px\",\n height: \"34px\",\n fontSize: \"1.2rem\",\n },\n largeAvatar: {\n width: \"44px\",\n height: \"44px\",\n fontSize: \"1.5rem\",\n },\n };\n}\n","import { createTheme } from \"@mui/material/styles\";\nimport { DynamicObject } from \"types/index\";\nimport colors from \"./colors\";\nimport { componentStyleOverrides } from \"./compStyleOverride\";\nimport { themePalette } from \"./palette\";\nimport { themeTypography } from \"./typography\";\nimport { type ThemeOption } from \"./types\";\n\nconst fontSize = {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n md: \"1rem\",\n lg: \"1.25rem\",\n};\n\nconst Radius = 12;\n\nexport function theme(customization: DynamicObject) {\n const themeOption: ThemeOption = {\n colors,\n fontSize,\n heading: \"\",\n paper: \"\",\n backgroundDefault: \"\",\n background: \"\",\n textPrimary: \"\",\n darkTextSecondary: \"\",\n textDark: \"\",\n textLight: \"\",\n menuSelected: \"\",\n menuSelectedBack: \"\",\n divider: \"\",\n customization,\n defaultGradient: `linear-gradient(89.44deg, ${colors.defaultGradientStart} -0.31%, ${colors.defaultGradientEnd} 91.14%)`,\n };\n\n switch (customization.navType) {\n case \"dark\":\n themeOption.paper = colors.darkLevel2;\n themeOption.backgroundDefault = colors.darkPaper;\n themeOption.background = colors.darkBackground;\n themeOption.textPrimary = colors.darkTextPrimary;\n themeOption.textSecondary = colors.darkTextSecondary;\n themeOption.textTertiary = colors.darkTextTertiary;\n themeOption.textDark = colors.darkTextPrimary;\n themeOption.textLight = colors.lightTextPrimary;\n themeOption.menuBackground = colors.darkLevel1;\n themeOption.menuSelected = colors.darkSecondaryMain;\n themeOption.menuSelectedBack = colors.darkSecondaryMain + 15;\n themeOption.menuSelected = colors.paper;\n themeOption.divider = colors.darkTextPrimary;\n themeOption.heading = colors.darkTextSecondary;\n break;\n case \"light\":\n default:\n themeOption.paper = colors.paper;\n themeOption.backgroundDefault = colors.paper;\n // themeOption.background = colors.primaryLight;\n themeOption.background = colors.primaryLight;\n themeOption.textPrimary = colors.lightTextPrimary;\n themeOption.textSecondary = colors.lightTextSecondary;\n themeOption.textTertiary = colors.lightTextTertiary;\n themeOption.textDark = colors.grey900;\n themeOption.menuBackground = colors.paper;\n themeOption.menuSelected = colors.lightTextPrimary;\n themeOption.menuSelectedBack = colors.secondaryLight;\n themeOption.menuSelected = colors.paper;\n themeOption.divider = colors.grey200;\n themeOption.heading = colors.grey900;\n break;\n }\n\n return createTheme({\n direction: customization.rtlLayout ? \"rtl\" : \"ltr\",\n palette: themePalette(themeOption),\n mixins: {\n toolbar: {\n minHeight: \"48px\",\n padding: \"16px\",\n \"@media (min-width: 600px)\": {\n minHeight: \"48px\",\n },\n },\n overflowEllipsis: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n overflowEllipsis2: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n display: \"-webkit-box\",\n \"-webkit-box-orient\": \"vertical\",\n \"-webkit-line-clamp\": 2,\n },\n },\n typography: themeTypography(themeOption),\n components: componentStyleOverrides(themeOption),\n themeOption,\n colors,\n fontSize,\n customization,\n radius: Radius,\n });\n}\n","import { useEffect, ReactNode } from \"react\";\nimport { withRouter, RouteComponentProps } from \"react-router-dom\";\n\nexport interface NavigationScrollProps extends RouteComponentProps {\n children: ReactNode;\n}\n\nexport default withRouter(({ children, location: { pathname } }: NavigationScrollProps) => {\n useEffect(() => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: \"smooth\",\n });\n }, [pathname]);\n\n return children || (null as any);\n});\n","import React from \"react\";\nimport { useAppDispatch, useAppSelector } from \"store/hooks\";\nimport { Fade, Alert } from \"@mui/material\";\nimport MuiSnackbar, { SnackbarCloseReason } from \"@mui/material/Snackbar\";\nimport { SNACKBAR_CLOSE } from \"store/snackbarReducer\";\n\nexport default function Snackbar() {\n const dispatch = useAppDispatch();\n const [open, setOpen] = React.useState(false);\n const snackbarInitial = useAppSelector((state) => state.snackbar);\n\n const handleClose = (event: Event | React.SyntheticEvent, reason: SnackbarCloseReason) => {\n if (reason === \"clickaway\") return;\n dispatch(SNACKBAR_CLOSE());\n };\n\n React.useEffect(() => {\n setOpen(snackbarInitial.open);\n }, [snackbarInitial.action, snackbarInitial.open]);\n\n return (\n \n \n {snackbarInitial.message}\n \n \n );\n}\n","import { ThemeProvider } from \"@mui/material/styles\";\nimport { CssBaseline, StyledEngineProvider } from \"@mui/material\";\nimport { useInitialTokenStandard } from \"hooks/useInitialTokenStandard\";\nimport Loader from \"ui-component/Loading/LinearLoader\";\nimport { useInitialXDR2USD } from \"hooks/useXDR2USD\";\nimport { useFetchInfoAllTokens } from \"hooks/info/useInfoTokens\";\n\nimport Routes from \"./routes\";\nimport { theme } from \"./themes\";\nimport NavigationScroll from \"./ui-component/NavigationScroll\";\nimport Snackbar from \"./ui-component/Snackbar\";\nimport { useICPPrices, useFetchSNSTokenRootIds } from \"./store/global/hooks\";\nimport { useFetchSnsAllTokensInfo } from \"./store/sns/hooks\";\n\nexport default function App() {\n const { loading: initialTokenStandardLoading } = useInitialTokenStandard();\n\n useICPPrices();\n useInitialXDR2USD();\n useFetchSNSTokenRootIds();\n useFetchInfoAllTokens();\n useFetchSnsAllTokensInfo();\n\n return (\n \n \n \n \n {initialTokenStandardLoading ? : }\n \n \n \n \n );\n}\n","import { useXDR2USD } from \"@icpswap/hooks\";\nimport { useEffect } from \"react\";\nimport { useUpdateXDR2USD } from \"store/global/hooks\";\n\nexport function useInitialXDR2USD() {\n const { result: xdr_usdt } = useXDR2USD();\n const updateXDR2USD = useUpdateXDR2USD();\n\n useEffect(() => {\n if (xdr_usdt && !isNaN(Number(xdr_usdt))) {\n updateXDR2USD(Number(xdr_usdt));\n }\n }, [xdr_usdt, updateXDR2USD]);\n}\n","import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from \"constants/locales\";\nimport { useMemo } from \"react\";\nimport { useUserLocale } from \"store/global/hooks\";\n\nfunction parseLocale(maybeSupportedLocale: string) {\n const lowerMaybeSupportedLocale = maybeSupportedLocale.toLowerCase();\n return SUPPORTED_LOCALES.find(\n (locale) =>\n locale.toLowerCase() === lowerMaybeSupportedLocale || locale.split(\"-\")[0] === lowerMaybeSupportedLocale,\n );\n}\n\nexport function navigatorLocale() {\n if (!navigator.language) return undefined;\n\n const [language, region] = navigator.language.split(\"-\");\n\n if (region) {\n return parseLocale(`${language}-${region.toUpperCase()}`) ?? parseLocale(language);\n }\n\n return parseLocale(language);\n}\n\nexport function useActiveLocale() {\n const userLocale = useUserLocale();\n\n return useMemo(() => {\n return userLocale ?? navigatorLocale() ?? DEFAULT_LOCALE;\n }, [userLocale]);\n}\n","import { useEffect, useState, ReactNode } from \"react\";\nimport { i18n } from \"@lingui/core\";\nimport { I18nProvider } from \"@lingui/react\";\nimport { useActiveLocale } from \"hooks/useActiveLocale\";\nimport { SupportedLocale } from \"constants/locales\";\n\nasync function dynamicActivate(locale: SupportedLocale) {\n const { messages } = await import(`./locales/${locale}.js`);\n i18n.load(locale, messages);\n i18n.activate(locale);\n}\n\nexport interface LanguageProviderProps {\n children: ReactNode;\n}\n\nexport function LanguageProvider({ children }: LanguageProviderProps) {\n const locale = useActiveLocale();\n const [loaded, setLoaded] = useState(false);\n\n useEffect(() => {\n dynamicActivate(locale)\n .then(() => {\n setLoaded(true);\n })\n .catch((error) => {\n console.error(\"Failed to activate locale\", locale, error);\n });\n }, [locale]);\n\n return loaded ? {children} : null;\n}\n","import { createRoot } from \"react-dom/client\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { Provider } from \"react-redux\";\nimport { PersistGate } from \"redux-persist/lib/integration/react\";\n\nimport * as serviceWorker from \"./serviceWorker\";\nimport App from \"./App\";\nimport store, { persistor } from \"./store\";\nimport { LanguageProvider } from \"./i18n\";\n\nimport \"./assets/css/global.css\";\n\nwindow.onerror = (msg, url, row, col, error) => {\n let _error = \"\";\n\n if (error) {\n _error = error.toString();\n }\n\n console.error(msg, url, row, col, error, \"msg, row, col, error\");\n // update users not reload error debug\n if (/Loading chunk *.{1,} failed./.test(_error) || /Unexpected token '<'/.test(_error)) {\n window.location.reload();\n }\n};\n\nconst root = document.getElementById(\"root\") as HTMLElement;\n\ncreateRoot(root).render(\n \n \n \n \n \n \n \n \n ,\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import { isValidPrincipal } from \"@icpswap/utils\";\nimport storage from \"redux-persist/lib/storage\";\n\nconst KEY = \"ALL_TOKENS\";\n\nexport async function getAllTokens() {\n const allTokens = await storage.getItem(KEY);\n return allTokens?.split(\",\").filter((ele) => !!ele && isValidPrincipal(ele));\n}\n\nexport async function setAllTokens(canisterIds: string[]) {\n const storageAllTokens = await getAllTokens();\n\n const AllTokens = [...(storageAllTokens ?? []), ...canisterIds];\n\n await storage.setItem(KEY, [...new Set(AllTokens)].join(\",\"));\n}\n\nexport async function updateTokens(canisterIds: string[]) {\n await setAllTokens(canisterIds);\n}\n","import { createAction } from \"@reduxjs/toolkit\";\nimport { ICPPriceInfo, TokenMetadata } from \"types/token\";\nimport { SupportedLocale } from \"constants/locales\";\n\nexport const storeTokenList = createAction(\"global/storeTokenList\");\n\nexport const updateICPBlocks = createAction<{\n blocks: string | number;\n secondBlocks: string | number;\n}>(\"global/updateICPBlocks\");\n\nexport const updateICPPriceList = createAction(\"global/updateICPPriceList\");\n\nexport const updateUserLocale = createAction(\"global/updateUserLocale\");\n\nexport const updateXDR2USD = createAction(\"global/updateXDR2USD\");\n\nexport const updateTokenSNSRootId = createAction<{ root_id: string; id: string }>(\"global/updateTokenSNSRootId\");\n","import { useCallback } from \"react\";\nimport { resultFormat } from \"@icpswap/utils\";\nimport { useCallsData } from \"./useCallData\";\n\ntype PriceResult = [number, number];\n\ntype ICPPriceResult = {\n icp_xdr_conversion_rates: PriceResult[];\n};\n\nexport async function get100ICPPriceInfo() {\n const now = new Date().getTime();\n const start = now - 10 * 24 * 60 * 60 * 1000;\n\n const fetch_result = await fetch(\n `https://ic-api.internetcomputer.org/api/v3/icp-xdr-conversion-rates?start=${parseInt(\n (start / 1000).toString(),\n 10,\n )}&end=${parseInt((now / 1000).toString(), 10)}&step=600`,\n ).catch(() => undefined);\n\n if (!fetch_result) return undefined;\n\n const result = (await fetch_result.json()) as { icp_xdr_conversion_rates: ICPPriceResult };\n\n return resultFormat(result.icp_xdr_conversion_rates).data;\n}\n\nexport function use100ICPPriceInfo() {\n return useCallsData(\n useCallback(async () => {\n return await get100ICPPriceInfo();\n }, []),\n );\n}\n","import { useEffect, useMemo, useCallback } from \"react\";\nimport { WRAPPED_ICP_TOKEN_INFO } from \"@icpswap/tokens\";\nimport { useICPBlocksCall } from \"hooks/useICPCalls\";\nimport { useAppDispatch, useAppSelector } from \"store/hooks\";\nimport { use100ICPPriceInfo, useSNSTokensRootIds, useListDeployedSNSs } from \"@icpswap/hooks\";\nimport { useDispatch } from \"react-redux\";\nimport { timestampFormat, parseTokenAmount } from \"@icpswap/utils\";\nimport BigNumber from \"bignumber.js\";\nimport { updateICPBlocks, updateUserLocale, updateICPPriceList, updateXDR2USD, updateTokenSNSRootId } from \"./actions\";\n\nexport function useICPPriceList() {\n return useAppSelector((state) => state.global.ICPPriceList);\n}\n\nexport function useUserLocale() {\n return useAppSelector((state) => state.global.userLocale);\n}\n\nexport function useICPBlocksManager() {\n const dispatch = useAppDispatch();\n const { result } = useICPBlocksCall();\n const { blocks, secondBlocks } = result ?? {};\n\n useEffect(() => {\n dispatch(updateICPBlocks({ blocks: blocks ?? \"\", secondBlocks: secondBlocks ?? \"\" }));\n }, [dispatch, blocks, secondBlocks]);\n\n return useMemo(\n () => ({\n blocks,\n secondBlocks,\n }),\n [blocks, secondBlocks],\n );\n}\n\nexport function useICPPrice() {\n const ICPPriceList = useICPPriceList();\n\n return useMemo(() => {\n if (ICPPriceList && ICPPriceList.length) {\n const price = ICPPriceList[ICPPriceList.length - 1].usd;\n return price;\n }\n return undefined;\n }, [ICPPriceList]);\n}\n\nexport function useUSDValueFromICPAmount(value: number | null | string | undefined | bigint) {\n const ICPPrice = useICPPrice();\n\n return useMemo(() => {\n if (!ICPPrice || !value) return undefined;\n\n return new BigNumber(ICPPrice).multipliedBy(parseTokenAmount(value, WRAPPED_ICP_TOKEN_INFO.decimals));\n }, [ICPPrice, value]);\n}\n\nexport function useXDR2USD() {\n return useAppSelector((state) => state.global.xdr_usdt);\n}\n\nexport function useUpdateXDR2USD() {\n const dispatch = useDispatch();\n\n return useCallback(\n (xdr_usdt: number) => {\n dispatch(updateXDR2USD(xdr_usdt));\n },\n [dispatch],\n );\n}\n\nexport function useUserLocaleManager() {\n const dispatch = useAppDispatch();\n const locale = useUserLocale();\n\n const setLocale = useCallback(\n (newLocale) => {\n dispatch(updateUserLocale(newLocale));\n },\n [dispatch],\n );\n\n return [locale, setLocale];\n}\n\nexport function useICPPrices() {\n const dispatch = useAppDispatch();\n const xdr_usdt = useXDR2USD();\n\n const { result: icpPrices } = use100ICPPriceInfo();\n\n useEffect(() => {\n if (xdr_usdt && icpPrices) {\n const prices = icpPrices.map((icpPrice) => {\n return {\n usd: Number(new BigNumber(icpPrice[1]).div(10000).multipliedBy(xdr_usdt).toFixed(4)),\n timestamp: timestampFormat(new BigNumber(icpPrice[0]).times(1000).toNumber()),\n xdr: new BigNumber(icpPrice[1]).div(10000).toNumber(),\n };\n });\n\n dispatch(updateICPPriceList(prices.slice(prices.length - 120, prices.length - 1)));\n }\n }, [xdr_usdt, icpPrices]);\n}\n\nexport function useFetchSNSTokenRootIds() {\n const dispatch = useAppDispatch();\n const { result: snsTokenRootIds, loading } = useSNSTokensRootIds();\n const { result: list_deployed_sns } = useListDeployedSNSs();\n\n useEffect(() => {\n async function call() {\n if (snsTokenRootIds && list_deployed_sns && snsTokenRootIds.data.length > 0) {\n snsTokenRootIds.data.forEach((sns_root) => {\n const deployed_sns = list_deployed_sns.instances.find((e) => {\n const root_id = e.root_canister_id[0];\n if (root_id) return root_id.toString() === sns_root.root_canister_id;\n return false;\n });\n\n if (deployed_sns) {\n const ledger_canister_id = deployed_sns.ledger_canister_id[0];\n if (ledger_canister_id) {\n dispatch(\n updateTokenSNSRootId({\n id: deployed_sns.ledger_canister_id.toString(),\n root_id: sns_root.root_canister_id,\n }),\n );\n }\n }\n });\n }\n }\n\n call();\n }, [snsTokenRootIds, dispatch, list_deployed_sns]);\n\n return {\n loading,\n result: snsTokenRootIds,\n };\n}\n\nexport function useTokenSNSRootIds() {\n return useAppSelector((state) => state.global.snsTokenRootIds);\n}\n","import { useCallback } from \"react\";\nimport type { TokenRoots } from \"@icpswap/types\";\nimport { useCallsData } from \"../useCallData\";\n\nexport function useSNSTokensRootIds() {\n const call = async () => {\n const fetch_result = await fetch(\n \"https://sns-api.internetcomputer.org/api/v1/snses?include_swap_lifecycle=LIFECYCLE_PENDING&include_swap_lifecycle=LIFECYCLE_ADOPTED&include_swap_lifecycle=LIFECYCLE_OPEN&include_swap_lifecycle=LIFECYCLE_COMMITTED\",\n ).catch(() => undefined);\n\n if (!fetch_result) return undefined;\n\n return (await fetch_result.json()) as {\n data: TokenRoots[];\n total_snses: number;\n max_sns_index: number;\n };\n };\n\n return useCallsData(\n useCallback(async () => {\n return await call();\n }, []),\n );\n}\n","import { TypedUseSelectorHook, useDispatch, useSelector } from \"react-redux\";\nimport store from \"./index\";\n\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook> = useSelector;\n","import { DEFAULT_LOCALE, SupportedLocale } from \"constants/locales\";\nimport { ICPPriceInfo, TokenMetadata } from \"types/token\";\n\nexport interface GlobalState {\n xdr_usdt: number;\n ICPPriceList: ICPPriceInfo[];\n tokenList: TokenMetadata[];\n userLocale: SupportedLocale;\n secondBlocks: string | number;\n blocks: string | number;\n snsTokenRootIds: { [key: string]: string };\n}\n\nexport const initialState: GlobalState = {\n xdr_usdt: 1.31,\n ICPPriceList: [],\n tokenList: [],\n userLocale: DEFAULT_LOCALE,\n secondBlocks: \"0\",\n blocks: \"0\",\n snsTokenRootIds: {},\n};\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport {\n updateICPBlocks,\n updateICPPriceList,\n updateUserLocale,\n storeTokenList,\n updateXDR2USD,\n updateTokenSNSRootId,\n} from \"./actions\";\nimport { initialState } from \"./states\";\n\n\nexport default createReducer(initialState, (builder) => {\n builder\n .addCase(storeTokenList, (state, { payload }) => {\n state.tokenList = [...payload, ...(state.tokenList || [])];\n })\n .addCase(updateICPBlocks, (state, { payload }) => {\n state.blocks = payload.blocks;\n state.secondBlocks = payload.secondBlocks;\n })\n .addCase(updateICPPriceList, (state, { payload }) => {\n state.ICPPriceList = payload;\n })\n .addCase(updateUserLocale, (state, { payload }) => {\n state.userLocale = payload;\n })\n .addCase(updateXDR2USD, (state, { payload }) => {\n state.xdr_usdt = payload;\n })\n .addCase(updateTokenSNSRootId, (state, { payload }) => {\n state.snsTokenRootIds[payload.id] = payload.root_id;\n });\n});\n","import { createAction , createReducer } from \"@reduxjs/toolkit\";\n\nexport const openLoading = createAction(\"loading/open\");\nexport const closeLoading = createAction(\"loading/close\");\n\nexport interface LoadingState {\n open: boolean;\n}\n\nconst initialState: LoadingState = {\n open: false,\n};\n\nexport default createReducer(initialState, (builder) => {\n builder\n .addCase(openLoading, (state) => {\n state.open = true;\n })\n .addCase(closeLoading, (state) => {\n state.open = false;\n });\n});\n","import { TOKEN_STANDARD } from \"@icpswap/token-adapter\";\n\nexport interface TokenCacheState {\n standards: { [canisterId: string]: TOKEN_STANDARD };\n caps: { [canisterId: string]: string };\n}\n\nexport const initialState: TokenCacheState = {\n standards: {},\n caps: {},\n};\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport { updateTokenStandard, updateTokenCapId } from \"./actions\";\nimport { initialState } from \"./states\";\n\nexport default createReducer(initialState, (builder) => {\n builder\n .addCase(updateTokenStandard, (state, { payload }) => {\n if (!!payload && !!payload.canisterId) {\n state.standards[payload.canisterId] = payload.standard;\n }\n })\n .addCase(updateTokenCapId, (state, { payload }) => {\n state.caps[payload.canisterId] = payload.capId;\n });\n});\n","import { createAction } from \"@reduxjs/toolkit\";\n\nexport const updateCallResult = createAction<{ callKey: string; result: any }>(\"auth/updateCallResult\");\n\nexport const updateCallIndex = createAction(\"auth/updateCallIndex\");\n\nexport const updateCallKeys = createAction<{ callKey: string; callIndex: number }>(\"auth/updateCallKeys\");\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport { updateCallResult, updateCallIndex, updateCallKeys } from \"./actions\";\nimport { initialState } from \"./states\";\n\n\nexport default createReducer(initialState, (builder) => {\n builder\n .addCase(updateCallResult, (state, { payload }) => {\n state.callResults = {\n ...state.callResults,\n [payload.callKey]: payload.result,\n };\n })\n .addCase(updateCallIndex, (state) => {\n state.callIndex += 1;\n })\n .addCase(updateCallKeys, (state, { payload }) => {\n state.callKeys = {\n ...state.callKeys,\n [payload.callKey]: payload.callIndex,\n };\n });\n});\n","export interface CallState {\n callResults: {\n [callKey: string]: any;\n };\n callIndex: number;\n callKeys: {\n [callKey: string]: number;\n };\n}\n\nexport const initialState: CallState = {\n callResults: {},\n callIndex: 0,\n callKeys: {},\n};\n","import type { SnsTokensInfo } from \"@icpswap/types\";\n\nexport interface SnsState {\n snsAllTokensInfo: SnsTokensInfo[];\n}\n\nexport const initialState: SnsState = {\n snsAllTokensInfo: [],\n};\n","import { createReducer } from \"@reduxjs/toolkit\";\nimport { updateSnsAllTokensInfo } from \"./actions\";\nimport { initialState } from \"./states\";\n\nexport default createReducer(initialState, (builder) => {\n builder.addCase(updateSnsAllTokensInfo, (state, { payload }) => {\n state.snsAllTokensInfo = payload;\n });\n});\n","import snackbarReducer from \"./snackbarReducer\";\nimport globalReducer from \"./global/reducer\";\nimport loadingReducer from \"./loadingReducer\";\nimport tokenCacheReducer from \"./token/cache/reducer\";\nimport callReducer from \"./call/reducer\";\nimport snsReducer from \"./sns/reducer\"\n\nexport { tokenCacheReducer };\n\nexport default {\n snackbar: snackbarReducer,\n loading: loadingReducer,\n global: globalReducer,\n call: callReducer,\n tokenCache: tokenCacheReducer,\n sns:snsReducer\n};\n","import { configureStore } from \"@reduxjs/toolkit\";\nimport { AnyAction, combineReducers } from \"redux\";\nimport { persistStore, persistReducer } from \"redux-persist\";\nimport storage from \"redux-persist/lib/storage\";\nimport autoMergeLevel2 from \"redux-persist/lib/stateReconciler/autoMergeLevel2\";\nimport allReducer from \"./reducer\";\n\nimport { GlobalState } from \"./global/states\";\nimport { TokenCacheState } from \"./token/cache/states\";\nimport { LoadingState } from \"./loadingReducer\";\nimport { CallState } from \"./call/states\";\nimport { SnackbarState } from \"./snackbarReducer\";\nimport { SnsState } from \"./sns/states\";\n\nexport interface AllState {\n global: GlobalState;\n tokenCache: TokenCacheState;\n loading: LoadingState;\n call: CallState;\n snackbar: SnackbarState;\n sns: SnsState;\n}\n\nconst rootPersistConfig = {\n key: \"root\",\n storage,\n stateReconciler: autoMergeLevel2,\n blacklist: [\"global\", \"loading\", \"snackbar\", \"swap\", \"token\", \"sns\"],\n migrate: (state: any) => {\n let newState = { _persist: state?._persist ?? {} };\n\n // 2023/12/06 Fix ckETH decimals upgrade\n if (state?._persist?.version === -1) {\n newState = { ...(state ?? {}), tokens: {} };\n } else {\n newState = { ...(state ?? {}) };\n }\n\n return Promise.resolve(newState);\n },\n version: 1,\n};\n\nconst rootReducer = combineReducers({\n ...allReducer,\n});\n\n// @ts-ignore\nconst PersistReducer = persistReducer(rootPersistConfig, rootReducer);\n\nconst store = configureStore({\n reducer: PersistReducer,\n middleware: (getDefaultMiddleware) => getDefaultMiddleware({ thunk: true, serializableCheck: false }),\n});\n\nexport const persistor = persistStore(store);\n\nexport type AppState = ReturnType;\nexport type AppDispatch = typeof store.dispatch;\n\nexport default store;\n","import { createReducer, createAction } from \"@reduxjs/toolkit\";\nimport { SnackbarOrigin, AlertColor } from \"@mui/material\";\n\nexport const SNACKBAR_OPEN = createAction<{ message: string; type: \"success\" | \"error\" }>(\"snackbar/SNACKBAR_OPEN\");\nexport const SNACKBAR_CLOSE = createAction(\"snackbar/SNACKBAR_CLOSE\");\n\nexport interface SnackbarState {\n action: boolean;\n open: boolean;\n message: string;\n anchorOrigin: SnackbarOrigin;\n variant: string;\n alertSeverity: AlertColor;\n transition: string;\n close: boolean;\n actionButton: boolean;\n autoHideDuration: number;\n}\n\nexport const initialState: SnackbarState = {\n action: false,\n open: false,\n message: \"No message\",\n anchorOrigin: {\n vertical: \"top\",\n horizontal: \"right\",\n },\n variant: \"default\",\n alertSeverity: \"success\",\n transition: \"Fade\",\n close: true,\n actionButton: false,\n autoHideDuration: 3000,\n};\n\nexport default createReducer(initialState, (builder) => {\n builder\n .addCase(SNACKBAR_OPEN, (state, { payload }) => {\n state.open = true;\n state.message = payload.message;\n state.alertSeverity = payload.type;\n })\n .addCase(SNACKBAR_CLOSE, (state) => {\n state.open = false;\n });\n});\n","import { createAction } from \"@reduxjs/toolkit\";\nimport type { SnsTokensInfo } from \"@icpswap/types\";\n\nexport const updateSnsAllTokensInfo = createAction(\"global/updateSnsAllTokensInfo\");\n","import { useEffect, useMemo, useState } from \"react\";\nimport { AppState } from \"store/index\";\nimport { useAppDispatch, useAppSelector } from \"store/hooks\";\nimport { getSnsAllTokensInfo } from \"@icpswap/hooks\";\nimport { updateSnsAllTokensInfo } from \"./actions\";\n\nexport function useStateSnsAllTokensInfo() {\n return useAppSelector((state: AppState) => state.sns.snsAllTokensInfo);\n}\n\nexport function useFetchSnsAllTokensInfo() {\n const dispatch = useAppDispatch();\n const allTokensInfo = useStateSnsAllTokensInfo();\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n async function call() {\n if (allTokensInfo.length > 0 || loading) return;\n\n setLoading(true);\n const data = await getSnsAllTokensInfo();\n dispatch(updateSnsAllTokensInfo(data));\n setLoading(false);\n }\n\n call();\n }, [dispatch]);\n\n return useMemo(() => ({ loading, result: allTokensInfo }), [loading, allTokensInfo]);\n}\n","import { createAction } from \"@reduxjs/toolkit\";\nimport { TOKEN_STANDARD } from \"@icpswap/token-adapter\";\n\nexport const updateTokenStandard = createAction<{ canisterId: string; standard: TOKEN_STANDARD }>(\n \"tokenCache/updateTokenStandard\",\n);\n\nexport const updateTokenCapId = createAction<{ canisterId: string; capId: string }>(\"tokenCache/updateTokenCapId\");\n","import { useCallback, useMemo } from \"react\";\nimport { useAppDispatch, useAppSelector } from \"store/hooks\";\nimport store from \"store/index\";\nimport { TOKEN_STANDARD, tokenAdapter } from \"@icpswap/token-adapter\";\nimport { updateTokenStandard, updateTokenCapId } from \"./actions\";\n\nexport function useUpdateTokenStandards() {\n const dispatch = useAppDispatch();\n\n return useCallback(\n ({ canisterId, standard }: { canisterId: string; standard: TOKEN_STANDARD }) => {\n if (canisterId) {\n dispatch(updateTokenStandard({ canisterId, standard }));\n }\n },\n [dispatch],\n );\n}\n\nexport function useTokenStandards() {\n return useAppSelector((state) => state.tokenCache.standards);\n}\n\nexport function useTokenStandardIsRegistered(canisterId: string) {\n const standards = tokenAdapter.getAll();\n const canisterIds = [...standards.keys()];\n\n return useMemo(() => {\n if (canisterId === \"ICP\" || canisterId === \"aaaaa-aa\") return true;\n return canisterIds.includes(canisterId);\n }, [canisterId, canisterIds]);\n}\n\nexport function useTokenStandard(canisterId: string | undefined) {\n const standards = useAppSelector((state) => state.tokenCache.standards);\n\n return useMemo(() => {\n if (canisterId) {\n return standards[canisterId];\n }\n }, [canisterId, standards]);\n}\n\nexport function getTokenStandard(canisterId: string | undefined) {\n const {\n tokenCache: { standards },\n } = store.getState();\n\n if (canisterId) {\n return standards[canisterId];\n }\n}\n\nexport function useUpdateTokenCapId() {\n const dispatch = useAppDispatch();\n\n return useCallback(\n ({ canisterId, capId }: { canisterId: string; capId: string }) => {\n if (canisterId) {\n dispatch(updateTokenCapId({ canisterId, capId }));\n }\n },\n [dispatch],\n );\n}\n\nexport function useStateTokenCapId(canisterId: string | undefined) {\n const caps = useAppSelector((state) => state.tokenCache.caps);\n\n return useMemo(() => {\n if (!canisterId) return undefined;\n return caps[canisterId] === \"xxxxx\" ? undefined : caps[canisterId];\n }, [caps, canisterId]);\n}\n","import { Principal } from \"@dfinity/principal\";\nimport { Buffer } from \"buffer\";\n\nexport function from32bits(data: number[]) {\n let value;\n\n for (let i = 0; i < 4; i++) {\n // @ts-ignore\n value = (value << 8) | data[i];\n }\n\n return value;\n}\n\nexport function to32bits(num: number) {\n const arrayBuffer = new ArrayBuffer(4);\n new DataView(arrayBuffer).setUint32(0, num);\n return Array.from(new Uint8Array(arrayBuffer));\n}\n\nexport function toHexString(byteArray: number[]) {\n return Array.from(byteArray, (byte) => {\n return `0${(byte & 0xff).toString(16)}`.slice(-2);\n }).join(\"\");\n}\n\nexport function encodeTokenIdentifier(principal: string, index: number | bigint) {\n // @ts-ignore\n const padding = Buffer(\"\\x0Atid\");\n\n const array = new Uint8Array([\n ...padding,\n ...Principal.fromText(principal).toUint8Array(),\n ...to32bits(Number(index)),\n ]);\n return Principal.fromUint8Array(array).toText();\n}\n\nexport function decodeTokenId(tid: string) {\n const p = [...Principal.fromText(tid).toUint8Array()];\n const padding = p.splice(0, 4);\n\n // @ts-ignore\n if (toHexString(padding) !== toHexString(Buffer(\"\\x0Atid\"))) {\n return {\n index: 0,\n canister: tid,\n token: encodeTokenIdentifier(tid, 0),\n };\n }\n return {\n index: from32bits(p.splice(-4)),\n // @ts-ignore\n canister: Principal.fromUint8Array(p).toText(),\n token: tid,\n };\n}\n","/* eslint-disable no-extend-native */\nimport _BigNumber from \"bignumber.js\";\nimport { APP_LINK } from \"constants/index\";\nimport { parseTokenAmount, explorerLink } from \"@icpswap/utils\";\nimport JSBI from \"jsbi\";\nimport { ICP_TOKEN_INFO, WRAPPED_ICP_TOKEN_INFO } from \"@icpswap/tokens\";\n\n// @ts-ignore hijack bigint\nBigInt.prototype.toJSON = function toJSON() {\n return this.toString();\n};\n\n_BigNumber.set({ EXPONENTIAL_AT: 10 ** 9 });\n\n_BigNumber.config({\n ROUNDING_MODE: _BigNumber.ROUND_DOWN,\n});\n\nexport const BigNumber = _BigNumber;\n\nexport { _BigNumber, JSBI };\n\nexport const NO_GROUP_SEPARATOR_FORMATTER = {\n groupSeparator: \"\",\n};\n\nexport const cycleValueFormat = (value: string | number | bigint | undefined, noUnit?: boolean): string => {\n if (value === undefined) return \"--\";\n if (value === 0 || !value) return noUnit ? `0` : `0 T`;\n return `${new BigNumber(parseTokenAmount(value, 12).toFixed(4)).toFormat()}${noUnit ? \"\" : \" T\"}`;\n};\n\nexport function transactionsTypeFormat(type: any): string {\n if (typeof type === \"string\") return type;\n if (typeof type === \"object\") {\n if (type) {\n return Object.keys(type)[0];\n }\n }\n return type;\n}\n\nexport function isDarkTheme(theme: any): boolean {\n return theme.customization.navType === \"dark\";\n}\n\nexport const isICPSwapOfficial = (account: string | undefined): boolean => {\n return (\n account === \"b2b33b29fa0f9458ec7ba0025f6a53126043fad143dd17619d5f162f41e69869\" ||\n account === \"e695fda51d898ad6f46211d8f468f85dd1364819e52c7740e4b4db90918ea6bc\" ||\n account === \"fbe00b464da19fc7bf234cf05e376631ad896163558174c375f6e9be96d95e95\" ||\n account === \"1ce94412fa0ad3b93132c651105d86e17bb87bafc78e9010a9e24a47a98e5b03\"\n );\n};\n\nexport function isAvailablePageArgs(offset: number, limit: number): boolean {\n return (!!offset || offset === 0) && !!limit;\n}\n\nexport function getExplorerPrincipalLink(principalId: string): string {\n return explorerLink(principalId);\n}\n\nexport function getExplorerAccountLink(account: string): string {\n return `https://icscan.io/account/${account}`;\n}\n\nexport function arrayBufferToString(arrayBuffer: Uint8Array): string {\n return new TextDecoder(\"utf-8\").decode(arrayBuffer);\n}\n\nexport function percentageFormat(num: bigint | number | string | undefined | null, digits = 2) {\n if (num || num === 0 || num === BigInt(0)) {\n return `${new BigNumber(String(num)).div(100).toFixed(digits)}%`;\n }\n return undefined;\n}\n\nexport function swapLink(canisterId: string) {\n if (canisterId === ICP_TOKEN_INFO.canisterId || canisterId === WRAPPED_ICP_TOKEN_INFO.canisterId)\n return `${APP_LINK}/swap?input=${ICP_TOKEN_INFO.canisterId}`;\n return `${APP_LINK}/swap?input=${ICP_TOKEN_INFO.canisterId}&output=${canisterId}`;\n}\n\nexport function addLiquidityLink(canisterId: string) {\n if (canisterId === ICP_TOKEN_INFO.canisterId || canisterId === WRAPPED_ICP_TOKEN_INFO.canisterId)\n return `${APP_LINK}/liquidity/add/${ICP_TOKEN_INFO.canisterId}/`;\n return `${APP_LINK}/liquidity/add/${ICP_TOKEN_INFO.canisterId}/${canisterId}/3000`;\n}\n\nexport function swapLinkOfPool(token0Id: string, token1Id: string) {\n return `${APP_LINK}/swap?input=${token0Id}&output=${token1Id}`;\n}\n\nexport function toFormat(value: string | number | undefined) {\n if (value === undefined) return \"\";\n return new BigNumber(value).toFormat();\n}\n\nexport * from \"./nft\";\n","export const idlFactory = ({ IDL }: any) => {\n const Config = IDL.Record({ value: IDL.Text, name: IDL.Text });\n const Media = IDL.Record({ link: IDL.Text, mediaType: IDL.Text });\n const TokenMetadata = IDL.Record({\n fee: IDL.Nat,\n configs: IDL.Vec(Config),\n decimals: IDL.Nat,\n name: IDL.Text,\n rank: IDL.Nat32,\n mediaLinks: IDL.Vec(Media),\n totalSupply: IDL.Nat,\n introduction: IDL.Text,\n standard: IDL.Text,\n symbol: IDL.Text,\n canisterId: IDL.Text,\n });\n const BoolResult = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const Result_3 = IDL.Variant({\n ok: IDL.Opt(TokenMetadata),\n err: IDL.Text,\n });\n const Result_2 = IDL.Variant({ ok: IDL.Vec(IDL.Text), err: IDL.Text });\n const Result_1 = IDL.Variant({\n ok: IDL.Vec(TokenMetadata),\n err: IDL.Text,\n });\n const Result = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n return IDL.Service({\n add: IDL.Func([TokenMetadata], [BoolResult], []),\n addAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n edit: IDL.Func([IDL.Text, TokenMetadata], [BoolResult], []),\n get: IDL.Func([IDL.Text], [Result_3], [\"query\"]),\n getAdminList: IDL.Func([], [Result_2], [\"query\"]),\n getList: IDL.Func([], [Result_1], [\"query\"]),\n getLogo: IDL.Func([IDL.Text], [Result], [\"query\"]),\n remove: IDL.Func([IDL.Text], [BoolResult], []),\n removeAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n updateLogo: IDL.Func([IDL.Text, IDL.Text], [BoolResult], []),\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const Result_2 = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const Result = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(Subaccount),\n });\n const TokenInfo = IDL.Record({\n fee: IDL.Nat,\n decimals: IDL.Nat,\n minting_account: IDL.Opt(Account),\n logo: IDL.Opt(IDL.Text),\n name: IDL.Text,\n ledger_id: IDL.Principal,\n min_burn_amount: IDL.Nat,\n max_supply: IDL.Opt(IDL.Nat),\n index: IDL.Nat,\n standard: IDL.Text,\n total_supply: IDL.Nat,\n symbol: IDL.Text,\n });\n const Page = IDL.Record({\n content: IDL.Vec(TokenInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_1 = IDL.Variant({ ok: Page, err: IDL.Text });\n return IDL.Service({\n get_logo: IDL.Func([IDL.Principal], [Result_2], [\"query\"]),\n get_task_state: IDL.Func([], [Result], [\"query\"]),\n get_token_list: IDL.Func([IDL.Nat, IDL.Nat, IDL.Opt(IDL.Bool)], [Result_1], [\"query\"]),\n set_task_state: IDL.Func([IDL.Bool], [Result], []),\n set_token_index: IDL.Func([IDL.Principal, IDL.Nat], [Result], []),\n set_token_logo: IDL.Func([IDL.Principal, IDL.Text], [Result], []),\n });\n};\n","export const ic_host = \"https://icp0.io\";\n","import { HttpAgent, ActorSubclass } from \"@dfinity/agent\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { IDL } from \"@dfinity/candid\";\nimport { ic_host } from \"@icpswap/constants\";\nimport { ActorName } from \"./ActorName\";\nimport { createBaseActor } from \"./BaseActor\";\n\nlet cachedCanisterIds: { [key: string]: string } = {};\n\nexport type ActorConstructor = {\n canisterId?: string;\n actorName?: ActorName;\n host?: string;\n idlFactory: IDL.InterfaceFactory;\n identity?: ActorIdentity;\n agent?: HttpAgent;\n};\n\nexport enum Connector {\n ICPSwap = \"ICPSwap\",\n PLUG = \"PLUG\",\n STOIC = \"STOIC\",\n IC = \"IC\",\n NFID = \"NFID\",\n INFINITY = \"INFINITY\",\n ME = \"ME\",\n STOIC_MNEMONIC = \"STOIC_MNEMONIC\",\n Metamask = \"Metamask\",\n}\n\nexport function isICConnector(connector: Connector) {\n return connector === Connector.IC || connector === Connector.STOIC || connector === Connector.NFID;\n}\n\nexport type ActorError = {\n canisterId: string;\n message: string;\n method: string;\n};\nexport type ActorErrorCallback = (error: ActorError) => void;\nexport type BeforeSubmitArgs = {\n canisterId: string;\n method: string;\n identity: ActorIdentity | undefined;\n connector: Connector;\n};\nexport type BeforeSubmitCallback = (args: BeforeSubmitArgs) => Promise<{ success: boolean; message: string }>;\n\nexport function isPlugTypeConnector(connector: Connector) {\n return connector === Connector.PLUG || connector === Connector.INFINITY;\n}\n\nexport function isMeConnector(connector: Connector) {\n return connector === Connector.ME;\n}\n\nexport class Actor {\n private connector: Connector = Connector.ICPSwap;\n\n private agent: null | HttpAgent = null;\n\n private host: string = ic_host;\n\n private errorCallbacks: ActorErrorCallback[] = [];\n\n private beforeSubmit: BeforeSubmitCallback;\n\n public log = false;\n\n public setConnector(connector: Connector) {\n this.connector = connector;\n }\n\n public async create({\n canisterId,\n host,\n idlFactory,\n identity,\n agent,\n actorName,\n }: ActorConstructor): Promise> {\n let id = canisterId;\n if (!id && actorName) id = cachedCanisterIds[actorName];\n if (!id) throw new Error(\"No canister id\");\n\n const _host = host ?? this.host;\n\n const isRejected = false;\n\n const serviceClass = idlFactory({ IDL });\n\n let actor: ActorSubclass | null = null;\n\n // catch create infinity actor rejected\n let createActorError: null | string = null;\n\n if (identity) {\n try {\n actor = await window.icConnector.createActor({\n canisterId: id,\n interfaceFactory: idlFactory,\n });\n } catch (error) {\n createActorError = String(error);\n }\n } else {\n actor = await createBaseActor({\n canisterId: id,\n interfaceFactory: idlFactory,\n agent: this.AnonymousAgent(_host),\n fetchRootKey: _host !== ic_host,\n });\n }\n\n const _actor: any = {};\n\n serviceClass._fields.forEach((ele) => {\n const key = ele[0];\n\n _actor[key] = async (...args) => {\n if (createActorError)\n return {\n err: `${createActorError}. Please try reconnecting your wallet and ensure the account inside matches the account displayed on the ICPSwap page.`,\n };\n\n if (isRejected) {\n return {\n err: \"The agent creation was rejected. Please try reconnecting your wallet and ensure the account inside matches the account displayed on the ICPSwap page.\",\n };\n }\n\n try {\n if (!actor) return { err: \"no actor\" };\n\n if (this.beforeSubmit) {\n const checkResult = await this.beforeSubmit({\n canisterId: id ?? \"\",\n method: key,\n identity,\n connector: this.connector,\n });\n\n if (checkResult.success === false) {\n return { err: checkResult.message };\n }\n }\n\n const result = actor[key](...args) as Promise;\n return await result;\n } catch (error) {\n const _error = String(error);\n\n let message = \"\";\n if (_error.includes(\"Reject text:\")) {\n const _message = _error.split(`Reject text: `)[1]?.split(\" at\") ?? \"\";\n message = _message ? _message[0]?.trim() : _error;\n } else {\n const _message = _error.includes(`\"Message\"`) ? _error.split(`\"Message\": `)[1]?.split('\"') : \"\";\n message = _error.includes(`\"Message\"`) && !!_message ? _message[1] : _error;\n }\n\n if (this.log) {\n console.log(\"Actor =====================>\");\n console.log(\"canister: \", id);\n console.log(\"method: \", key);\n console.log(\"rejected: \", message);\n console.log(\"Actor =====================>\");\n }\n\n this.errorCallbacks.forEach((call) => {\n call({ canisterId: id ?? \"\", method: key, message });\n });\n\n return { err: message };\n }\n };\n });\n\n return _actor as ActorSubclass;\n }\n\n public AnonymousAgent(host?: string) {\n return new HttpAgent({\n host: host ?? this.host,\n });\n }\n\n public async createAgent(canisterId: string, host: string, identity?: ActorIdentity): Promise {\n // connector is plug type\n if (identity === true) {\n if (this.connector === Connector.PLUG) {\n await window.ic.plug.createAgent({ whitelist: [canisterId], host });\n return window.ic.plug.agent;\n }\n if (this.connector === Connector.INFINITY) {\n return new HttpAgent({\n host,\n });\n }\n return window.icConnector.httpAgent;\n }\n\n return new HttpAgent({\n host,\n });\n }\n\n public setAgent(agent: HttpAgent | null) {\n this.agent = agent;\n }\n\n public setHost(host: string) {\n this.host = host;\n }\n\n public static setActorCanisterIds(canisterIds: { [key: string]: string }) {\n cachedCanisterIds = canisterIds;\n }\n\n public onError(callback: ActorErrorCallback) {\n this.errorCallbacks.push(callback);\n }\n\n public onSubmit(callback: BeforeSubmitCallback) {\n this.beforeSubmit = callback;\n }\n\n public setLog(log: boolean) {\n this.log = log;\n }\n}\n\nexport const actor = new Actor();\n","import { Actor, HttpAgent } from \"@dfinity/agent\";\nimport { IDL } from \"@dfinity/candid\";\n\nexport interface CreateBaseActorProps {\n canisterId: string;\n interfaceFactory: IDL.InterfaceFactory;\n actorOptions?: any;\n agent: HttpAgent;\n fetchRootKey?: boolean;\n}\n\nexport async function createBaseActor({\n canisterId,\n interfaceFactory,\n actorOptions,\n agent,\n fetchRootKey = false,\n}: CreateBaseActorProps) {\n // Fetch root key for certificate validation during development\n if (fetchRootKey) {\n await agent?.fetchRootKey().catch((err) => {\n console.warn(\n \"Unable to fetch root key. Check to ensure that your local replica is running\"\n );\n console.error(err);\n });\n }\n\n return Actor.createActor(interfaceFactory, {\n agent: agent,\n canisterId,\n ...(actorOptions ?? {}),\n });\n}\n","export enum ActorName {\n SwapPool = \"SwapPool\",\n SwapFactory = \"SwapFactory\",\n SwapNFTCanister = \"SwapNFT\",\n Position = \"PositionIndex\",\n PassCodeManager = \"PassCodeManager\",\n PositionCharts = \"PositionCharts\",\n\n SwapGraphRecord = \"BaseDataStructure\",\n SwapGraphPool = \"Pools\",\n SwapGraphToken = \"Token\",\n SwapTicket = \"Ticket\",\n GraphICP = \"ICPPrice\",\n TVL = \"TVL\",\n\n TokenList = \"TokenList\",\n AllTokenOfSwap = \"AllTokenOfSwap\",\n\n Token = \"token\",\n WICP = \"wicp\",\n\n FarmController = \"FarmController\",\n Farm = \"Farm\",\n FarmStorage = \"FarmStorage\",\n FarmIndex = \"FarmIndex\",\n\n NFTCanisterController = \"V3NFTCanisterController\",\n NFTCanister = \"NFTDynamicCanister\",\n NFTTradeCanister = \"V3TradeCanister\",\n NFTTradeStat = \"V3TradeStat\",\n\n LaunchpadCanister = \"LaunchpadCanister\",\n LaunchpadController = \"LaunchpadController\",\n LaunchpadManager = \"LaunchpadManager\",\n LaunchpadStorage = \"LaunchpadStorage\",\n\n ClaimController = \"ClaimController\",\n ClaimStorage = \"ClaimStorage\",\n\n VotingController = \"VoteController\",\n VotingCanister = \"VoteProjectCanister\",\n VotingFileCanister = \"VoteFileCanister\",\n\n StakingTokenController = \"StakingTokenController\",\n TokenPool = \"TokenPool\",\n TokenPoolStorage = \"TokenPoolStorage\",\n StakeIndex = \"StakeIndex\",\n\n V1TokenPoolController = \"V1TokenPoolController\",\n V1TokenPool = \"V1TokenPool\",\n V1TokenPoolStorage = \"V1TokenPoolStorage\",\n\n GlobalIndex = \"GlobalIndex\",\n NodeIndex = \"NodeIndex\",\n BaseIndex = \"BaseIndex\",\n\n LiquidityLocks = \"LiquidityLocks\",\n TokenAnalysis = \"TokenAnalysis\",\n}\n","import {\n TokenListService,\n TokenListInterfaceFactory,\n AllTokenOfSwapInterfaceFactory,\n AllTokenOfSwapService,\n} from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\nimport { ActorName } from \"../ActorName\";\n\nexport const tokenList = async (identity?: true) =>\n actor.create({\n actorName: ActorName.TokenList,\n identity,\n idlFactory: TokenListInterfaceFactory,\n });\n\nexport const allTokenOfSwap = async () =>\n actor.create({\n canisterId: \"aofop-yyaaa-aaaag-qdiqa-cai\",\n idlFactory: AllTokenOfSwapInterfaceFactory,\n });\n","import { SNS_ROOT_SERVE, SNS_INTERFACE_FACTORY } from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\n\nexport const sns_root = async (canisterId: string) =>\n actor.create({\n canisterId,\n idlFactory: SNS_INTERFACE_FACTORY,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const SnsWasmCanisterInitPayload = IDL.Record({\n allowed_principals: IDL.Vec(IDL.Principal),\n access_controls_enabled: IDL.Bool,\n sns_subnet_ids: IDL.Vec(IDL.Principal),\n });\n const SnsWasm = IDL.Record({\n wasm: IDL.Vec(IDL.Nat8),\n canister_type: IDL.Int32,\n });\n const AddWasmRequest = IDL.Record({\n hash: IDL.Vec(IDL.Nat8),\n wasm: IDL.Opt(SnsWasm),\n });\n const SnsWasmError = IDL.Record({ message: IDL.Text });\n const Result = IDL.Variant({\n Error: SnsWasmError,\n Hash: IDL.Vec(IDL.Nat8),\n });\n const AddWasmResponse = IDL.Record({ result: IDL.Opt(Result) });\n const NeuronBasketConstructionParameters = IDL.Record({\n dissolve_delay_interval_seconds: IDL.Nat64,\n count: IDL.Nat64,\n });\n const Canister = IDL.Record({ id: IDL.Opt(IDL.Principal) });\n const DappCanisters = IDL.Record({ canisters: IDL.Vec(Canister) });\n const LinearScalingCoefficient = IDL.Record({\n slope_numerator: IDL.Opt(IDL.Nat64),\n intercept_icp_e8s: IDL.Opt(IDL.Nat64),\n from_direct_participation_icp_e8s: IDL.Opt(IDL.Nat64),\n slope_denominator: IDL.Opt(IDL.Nat64),\n to_direct_participation_icp_e8s: IDL.Opt(IDL.Nat64),\n });\n const IdealMatchedParticipationFunction = IDL.Record({\n serialized_representation: IDL.Opt(IDL.Text),\n });\n const NeuronsFundParticipationConstraints = IDL.Record({\n coefficient_intervals: IDL.Vec(LinearScalingCoefficient),\n max_neurons_fund_participation_icp_e8s: IDL.Opt(IDL.Nat64),\n min_direct_participation_threshold_icp_e8s: IDL.Opt(IDL.Nat64),\n ideal_matched_participation_function: IDL.Opt(\n IdealMatchedParticipationFunction\n ),\n });\n const CfNeuron = IDL.Record({\n has_created_neuron_recipes: IDL.Opt(IDL.Bool),\n nns_neuron_id: IDL.Nat64,\n amount_icp_e8s: IDL.Nat64,\n });\n const CfParticipant = IDL.Record({\n hotkey_principal: IDL.Text,\n cf_neurons: IDL.Vec(CfNeuron),\n });\n const NeuronsFundParticipants = IDL.Record({\n participants: IDL.Vec(CfParticipant),\n });\n const TreasuryDistribution = IDL.Record({ total_e8s: IDL.Nat64 });\n const NeuronDistribution = IDL.Record({\n controller: IDL.Opt(IDL.Principal),\n dissolve_delay_seconds: IDL.Nat64,\n memo: IDL.Nat64,\n stake_e8s: IDL.Nat64,\n vesting_period_seconds: IDL.Opt(IDL.Nat64),\n });\n const DeveloperDistribution = IDL.Record({\n developer_neurons: IDL.Vec(NeuronDistribution),\n });\n const AirdropDistribution = IDL.Record({\n airdrop_neurons: IDL.Vec(NeuronDistribution),\n });\n const SwapDistribution = IDL.Record({\n total_e8s: IDL.Nat64,\n initial_swap_amount_e8s: IDL.Nat64,\n });\n const FractionalDeveloperVotingPower = IDL.Record({\n treasury_distribution: IDL.Opt(TreasuryDistribution),\n developer_distribution: IDL.Opt(DeveloperDistribution),\n airdrop_distribution: IDL.Opt(AirdropDistribution),\n swap_distribution: IDL.Opt(SwapDistribution),\n });\n const InitialTokenDistribution = IDL.Variant({\n FractionalDeveloperVotingPower: FractionalDeveloperVotingPower,\n });\n const Countries = IDL.Record({ iso_codes: IDL.Vec(IDL.Text) });\n const SnsInitPayload = IDL.Record({\n url: IDL.Opt(IDL.Text),\n max_dissolve_delay_seconds: IDL.Opt(IDL.Nat64),\n max_dissolve_delay_bonus_percentage: IDL.Opt(IDL.Nat64),\n nns_proposal_id: IDL.Opt(IDL.Nat64),\n neurons_fund_participation: IDL.Opt(IDL.Bool),\n min_participant_icp_e8s: IDL.Opt(IDL.Nat64),\n neuron_basket_construction_parameters: IDL.Opt(\n NeuronBasketConstructionParameters\n ),\n fallback_controller_principal_ids: IDL.Vec(IDL.Text),\n token_symbol: IDL.Opt(IDL.Text),\n final_reward_rate_basis_points: IDL.Opt(IDL.Nat64),\n max_icp_e8s: IDL.Opt(IDL.Nat64),\n neuron_minimum_stake_e8s: IDL.Opt(IDL.Nat64),\n confirmation_text: IDL.Opt(IDL.Text),\n logo: IDL.Opt(IDL.Text),\n name: IDL.Opt(IDL.Text),\n swap_start_timestamp_seconds: IDL.Opt(IDL.Nat64),\n swap_due_timestamp_seconds: IDL.Opt(IDL.Nat64),\n initial_voting_period_seconds: IDL.Opt(IDL.Nat64),\n neuron_minimum_dissolve_delay_to_vote_seconds: IDL.Opt(IDL.Nat64),\n description: IDL.Opt(IDL.Text),\n max_neuron_age_seconds_for_age_bonus: IDL.Opt(IDL.Nat64),\n min_participants: IDL.Opt(IDL.Nat64),\n initial_reward_rate_basis_points: IDL.Opt(IDL.Nat64),\n wait_for_quiet_deadline_increase_seconds: IDL.Opt(IDL.Nat64),\n transaction_fee_e8s: IDL.Opt(IDL.Nat64),\n dapp_canisters: IDL.Opt(DappCanisters),\n neurons_fund_participation_constraints: IDL.Opt(\n NeuronsFundParticipationConstraints\n ),\n neurons_fund_participants: IDL.Opt(NeuronsFundParticipants),\n max_age_bonus_percentage: IDL.Opt(IDL.Nat64),\n initial_token_distribution: IDL.Opt(InitialTokenDistribution),\n reward_rate_transition_duration_seconds: IDL.Opt(IDL.Nat64),\n token_logo: IDL.Opt(IDL.Text),\n token_name: IDL.Opt(IDL.Text),\n max_participant_icp_e8s: IDL.Opt(IDL.Nat64),\n min_direct_participation_icp_e8s: IDL.Opt(IDL.Nat64),\n proposal_reject_cost_e8s: IDL.Opt(IDL.Nat64),\n restricted_countries: IDL.Opt(Countries),\n min_icp_e8s: IDL.Opt(IDL.Nat64),\n max_direct_participation_icp_e8s: IDL.Opt(IDL.Nat64),\n });\n const DeployNewSnsRequest = IDL.Record({\n sns_init_payload: IDL.Opt(SnsInitPayload),\n });\n const DappCanistersTransferResult = IDL.Record({\n restored_dapp_canisters: IDL.Vec(Canister),\n nns_controlled_dapp_canisters: IDL.Vec(Canister),\n sns_controlled_dapp_canisters: IDL.Vec(Canister),\n });\n const SnsCanisterIds = IDL.Record({\n root: IDL.Opt(IDL.Principal),\n swap: IDL.Opt(IDL.Principal),\n ledger: IDL.Opt(IDL.Principal),\n index: IDL.Opt(IDL.Principal),\n governance: IDL.Opt(IDL.Principal),\n });\n const DeployNewSnsResponse = IDL.Record({\n dapp_canisters_transfer_result: IDL.Opt(DappCanistersTransferResult),\n subnet_id: IDL.Opt(IDL.Principal),\n error: IDL.Opt(SnsWasmError),\n canisters: IDL.Opt(SnsCanisterIds),\n });\n const GetAllowedPrincipalsResponse = IDL.Record({\n allowed_principals: IDL.Vec(IDL.Principal),\n });\n const GetDeployedSnsByProposalIdRequest = IDL.Record({\n proposal_id: IDL.Nat64,\n });\n const DeployedSns = IDL.Record({\n root_canister_id: IDL.Opt(IDL.Principal),\n governance_canister_id: IDL.Opt(IDL.Principal),\n index_canister_id: IDL.Opt(IDL.Principal),\n swap_canister_id: IDL.Opt(IDL.Principal),\n ledger_canister_id: IDL.Opt(IDL.Principal),\n });\n const GetDeployedSnsByProposalIdResult = IDL.Variant({\n Error: SnsWasmError,\n DeployedSns: DeployedSns,\n });\n const GetDeployedSnsByProposalIdResponse = IDL.Record({\n get_deployed_sns_by_proposal_id_result: IDL.Opt(\n GetDeployedSnsByProposalIdResult\n ),\n });\n const SnsVersion = IDL.Record({\n archive_wasm_hash: IDL.Vec(IDL.Nat8),\n root_wasm_hash: IDL.Vec(IDL.Nat8),\n swap_wasm_hash: IDL.Vec(IDL.Nat8),\n ledger_wasm_hash: IDL.Vec(IDL.Nat8),\n governance_wasm_hash: IDL.Vec(IDL.Nat8),\n index_wasm_hash: IDL.Vec(IDL.Nat8),\n });\n const GetNextSnsVersionRequest = IDL.Record({\n governance_canister_id: IDL.Opt(IDL.Principal),\n current_version: IDL.Opt(SnsVersion),\n });\n const GetNextSnsVersionResponse = IDL.Record({\n next_version: IDL.Opt(SnsVersion),\n });\n const GetSnsSubnetIdsResponse = IDL.Record({\n sns_subnet_ids: IDL.Vec(IDL.Principal),\n });\n const GetWasmRequest = IDL.Record({ hash: IDL.Vec(IDL.Nat8) });\n const GetWasmResponse = IDL.Record({ wasm: IDL.Opt(SnsWasm) });\n const SnsUpgrade = IDL.Record({\n next_version: IDL.Opt(SnsVersion),\n current_version: IDL.Opt(SnsVersion),\n });\n const InsertUpgradePathEntriesRequest = IDL.Record({\n upgrade_path: IDL.Vec(SnsUpgrade),\n sns_governance_canister_id: IDL.Opt(IDL.Principal),\n });\n const InsertUpgradePathEntriesResponse = IDL.Record({\n error: IDL.Opt(SnsWasmError),\n });\n const ListDeployedSnsesResponse = IDL.Record({\n instances: IDL.Vec(DeployedSns),\n });\n const ListUpgradeStepsRequest = IDL.Record({\n limit: IDL.Nat32,\n starting_at: IDL.Opt(SnsVersion),\n sns_governance_canister_id: IDL.Opt(IDL.Principal),\n });\n const PrettySnsVersion = IDL.Record({\n archive_wasm_hash: IDL.Text,\n root_wasm_hash: IDL.Text,\n swap_wasm_hash: IDL.Text,\n ledger_wasm_hash: IDL.Text,\n governance_wasm_hash: IDL.Text,\n index_wasm_hash: IDL.Text,\n });\n const ListUpgradeStep = IDL.Record({\n pretty_version: IDL.Opt(PrettySnsVersion),\n version: IDL.Opt(SnsVersion),\n });\n const ListUpgradeStepsResponse = IDL.Record({\n steps: IDL.Vec(ListUpgradeStep),\n });\n const UpdateAllowedPrincipalsRequest = IDL.Record({\n added_principals: IDL.Vec(IDL.Principal),\n removed_principals: IDL.Vec(IDL.Principal),\n });\n const UpdateAllowedPrincipalsResult = IDL.Variant({\n Error: SnsWasmError,\n AllowedPrincipals: GetAllowedPrincipalsResponse,\n });\n const UpdateAllowedPrincipalsResponse = IDL.Record({\n update_allowed_principals_result: IDL.Opt(UpdateAllowedPrincipalsResult),\n });\n const UpdateSnsSubnetListRequest = IDL.Record({\n sns_subnet_ids_to_add: IDL.Vec(IDL.Principal),\n sns_subnet_ids_to_remove: IDL.Vec(IDL.Principal),\n });\n const UpdateSnsSubnetListResponse = IDL.Record({\n error: IDL.Opt(SnsWasmError),\n });\n return IDL.Service({\n add_wasm: IDL.Func([AddWasmRequest], [AddWasmResponse], []),\n deploy_new_sns: IDL.Func([DeployNewSnsRequest], [DeployNewSnsResponse], []),\n get_allowed_principals: IDL.Func(\n [IDL.Record({})],\n [GetAllowedPrincipalsResponse],\n [\"query\"]\n ),\n get_deployed_sns_by_proposal_id: IDL.Func(\n [GetDeployedSnsByProposalIdRequest],\n [GetDeployedSnsByProposalIdResponse],\n [\"query\"]\n ),\n get_latest_sns_version_pretty: IDL.Func(\n [IDL.Null],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [\"query\"]\n ),\n get_next_sns_version: IDL.Func(\n [GetNextSnsVersionRequest],\n [GetNextSnsVersionResponse],\n [\"query\"]\n ),\n get_sns_subnet_ids: IDL.Func(\n [IDL.Record({})],\n [GetSnsSubnetIdsResponse],\n [\"query\"]\n ),\n get_wasm: IDL.Func([GetWasmRequest], [GetWasmResponse], [\"query\"]),\n insert_upgrade_path_entries: IDL.Func(\n [InsertUpgradePathEntriesRequest],\n [InsertUpgradePathEntriesResponse],\n []\n ),\n list_deployed_snses: IDL.Func(\n [IDL.Record({})],\n [ListDeployedSnsesResponse],\n [\"query\"]\n ),\n list_upgrade_steps: IDL.Func(\n [ListUpgradeStepsRequest],\n [ListUpgradeStepsResponse],\n [\"query\"]\n ),\n update_allowed_principals: IDL.Func(\n [UpdateAllowedPrincipalsRequest],\n [UpdateAllowedPrincipalsResponse],\n []\n ),\n update_sns_subnet_list: IDL.Func(\n [UpdateSnsSubnetListRequest],\n [UpdateSnsSubnetListResponse],\n []\n ),\n });\n};\n","import { SNS_WASM_SERVICE, SNS_WASM_INTERFACE_FACTORY } from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\n\nexport const sns_wasm = async () =>\n actor.create({\n canisterId: \"qaa6y-5yaaa-aaaaa-aaafa-cai\",\n idlFactory: SNS_WASM_INTERFACE_FACTORY,\n });\n","import { SNS_GOVERNANCE_INTERFACE_FACTORY, SNS_GOVERNANCE_SERVICE } from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\n\nexport const sns_governance = async (canisterId: string, identity?: true) =>\n actor.create({\n canisterId,\n idlFactory: SNS_GOVERNANCE_INTERFACE_FACTORY,\n identity,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const TransactionType = IDL.Variant({\n decreaseLiquidity: IDL.Null,\n claim: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n increaseLiquidity: IDL.Null,\n });\n const Transaction = IDL.Record({\n to: IDL.Text,\n action: TransactionType,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n hash: IDL.Text,\n tick: IDL.Int,\n token1Price: IDL.Float64,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Float64,\n sender: IDL.Text,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n token0Fee: IDL.Float64,\n token1Fee: IDL.Float64,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Float64,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n amountUSD: IDL.Float64,\n amountToken0: IDL.Float64,\n amountToken1: IDL.Float64,\n poolFee: IDL.Nat,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text,\n poolId: IDL.Text,\n });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const PublicPoolOverView = IDL.Record({\n id: IDL.Nat,\n token0TotalVolume: IDL.Float64,\n volumeUSD1d: IDL.Float64,\n volumeUSD7d: IDL.Float64,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n token1Volume24H: IDL.Float64,\n totalVolumeUSD: IDL.Float64,\n sqrtPrice: IDL.Float64,\n pool: IDL.Text,\n tick: IDL.Int,\n liquidity: IDL.Nat,\n token1Price: IDL.Float64,\n feeTier: IDL.Nat,\n token1TotalVolume: IDL.Float64,\n volumeUSD: IDL.Float64,\n feesUSD: IDL.Float64,\n token0Volume24H: IDL.Float64,\n token1Standard: IDL.Text,\n txCount: IDL.Nat,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text,\n });\n const PublicTokenOverview = IDL.Record({\n id: IDL.Nat,\n volumeUSD1d: IDL.Float64,\n volumeUSD7d: IDL.Float64,\n totalVolumeUSD: IDL.Float64,\n name: IDL.Text,\n volumeUSD: IDL.Float64,\n feesUSD: IDL.Float64,\n priceUSDChange: IDL.Float64,\n address: IDL.Text,\n txCount: IDL.Int,\n priceUSD: IDL.Float64,\n standard: IDL.Text,\n symbol: IDL.Text,\n });\n const Address = IDL.Text;\n return IDL.Service({\n addOwner: IDL.Func([IDL.Principal], [], []),\n addQuoteToken: IDL.Func([IDL.Text, IDL.Bool], [], []),\n allPoolStorage: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n allTokenStorage: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n allUserStorage: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n batchInsert: IDL.Func([IDL.Vec(Transaction)], [], []),\n clean: IDL.Func([], [], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n getAllPools: IDL.Func([], [IDL.Vec(PublicPoolOverView)], [\"query\"]),\n getAllTokens: IDL.Func([], [IDL.Vec(PublicTokenOverview)], [\"query\"]),\n getControllers: IDL.Func([], [IDL.Vec(IDL.Principal)], [\"query\"]),\n getDataQueueSize: IDL.Func([], [IDL.Nat], [\"query\"]),\n getLastDataTime: IDL.Func([], [IDL.Int], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], [\"query\"]),\n getPoolQueueSize: IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat))],\n [\"query\"]\n ),\n getPoolsForToken: IDL.Func(\n [IDL.Text],\n [IDL.Vec(PublicPoolOverView)],\n [\"query\"]\n ),\n getQuoteTokens: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n getSyncLock: IDL.Func([], [IDL.Bool], [\"query\"]),\n getSyncStatus: IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Bool, IDL.Text))],\n [\"query\"]\n ),\n getTokenQueueSize: IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat))],\n [\"query\"]\n ),\n getTotalVolumeAndUser: IDL.Func([], [IDL.Float64, IDL.Nat], [\"query\"]),\n getUserQueueSize: IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Nat))],\n [\"query\"]\n ),\n insert: IDL.Func([Transaction], [], []),\n poolMapping: IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [\"query\"]\n ),\n poolStorage: IDL.Func([IDL.Text], [IDL.Opt(IDL.Text)], [\"query\"]),\n setPoolSyncStatus: IDL.Func([IDL.Bool], [IDL.Bool], []),\n setQuoteTokens: IDL.Func([IDL.Vec(IDL.Text), IDL.Bool], [], []),\n setTokenSyncStatus: IDL.Func([IDL.Bool], [IDL.Bool], []),\n setUserSyncStatus: IDL.Func([IDL.Bool], [IDL.Bool], []),\n syncOverview: IDL.Func([], [], []),\n tokenMapping: IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [\"query\"]\n ),\n tokenStorage: IDL.Func([IDL.Text], [IDL.Opt(IDL.Text)], [\"query\"]),\n userMapping: IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Text))],\n [\"query\"]\n ),\n userStorage: IDL.Func([Address], [IDL.Opt(IDL.Text)], [\"query\"]),\n });\n};\n","import { NodeIndex, NodeIndexInterfaceFactory } from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\nimport { ActorName } from \"../ActorName\";\n\nexport const node_index = () =>\n actor.create({\n actorName: ActorName.NodeIndex,\n idlFactory: NodeIndexInterfaceFactory,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const TransactionType = IDL.Variant({\n decreaseLiquidity: IDL.Null,\n claim: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n increaseLiquidity: IDL.Null,\n });\n const SwapRecordInfo = IDL.Record({\n to: IDL.Text,\n feeAmount: IDL.Int,\n action: TransactionType,\n feeAmountTotal: IDL.Int,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n token0AmountTotal: IDL.Nat,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n tick: IDL.Int,\n feeTire: IDL.Nat,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Nat,\n token1AmountTotal: IDL.Nat,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n token0Fee: IDL.Nat,\n token1Fee: IDL.Nat,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Nat,\n token0Standard: IDL.Text,\n price: IDL.Nat,\n poolId: IDL.Text,\n });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const BaseIndex = IDL.Service({\n addOwner: IDL.Func([IDL.Principal], [], []),\n baseLastStorage: IDL.Func([], [IDL.Text], [\"query\"]),\n baseStorage: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n batchPush: IDL.Func([IDL.Vec(SwapRecordInfo)], [], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n getAllowTokens: IDL.Func([], [IDL.Vec(IDL.Text)], []),\n getEnableSync: IDL.Func([], [IDL.Bool], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n getPoolLastPrice: IDL.Func([IDL.Text], [IDL.Float64], [\"query\"]),\n getSyncError: IDL.Func([], [IDL.Text], [\"query\"]),\n getSyncLock: IDL.Func([], [IDL.Bool], [\"query\"]),\n getSyncOffset: IDL.Func([], [IDL.Nat], [\"query\"]),\n getSyncStatus: IDL.Func([], [IDL.Bool], [\"query\"]),\n priceCanister: IDL.Func([], [IDL.Vec(IDL.Text)], []),\n push: IDL.Func([SwapRecordInfo], [], []),\n setEnableSync: IDL.Func([IDL.Bool], [IDL.Bool], [\"query\"]),\n setPriceCanister: IDL.Func([IDL.Text], [], []),\n syncOldDataToLast: IDL.Func([IDL.Nat], [IDL.Bool], []),\n });\n return BaseIndex;\n};\n","export const idlFactory = ({ IDL }: any) => {\n const TransactionType = IDL.Variant({\n decreaseLiquidity: IDL.Null,\n claim: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n increaseLiquidity: IDL.Null,\n });\n const Transaction = IDL.Record({\n to: IDL.Text,\n action: TransactionType,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n hash: IDL.Text,\n tick: IDL.Int,\n token1Price: IDL.Float64,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Float64,\n sender: IDL.Text,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n token0Fee: IDL.Float64,\n token1Fee: IDL.Float64,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Float64,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n amountUSD: IDL.Float64,\n amountToken0: IDL.Float64,\n amountToken1: IDL.Float64,\n poolFee: IDL.Nat,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text,\n poolId: IDL.Text,\n });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const RecordPage = IDL.Record({\n content: IDL.Vec(Transaction),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n return IDL.Service({\n addOwners: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n batchInsert: IDL.Func([IDL.Vec(Transaction)], [], []),\n clean: IDL.Func([], [], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n getBaseRecord: IDL.Func([IDL.Nat, IDL.Nat, IDL.Vec(IDL.Text)], [RecordPage], [\"query\"]),\n getByPool: IDL.Func([IDL.Nat, IDL.Nat, IDL.Text], [RecordPage], [\"query\"]),\n getByToken: IDL.Func([IDL.Nat, IDL.Nat, IDL.Text], [RecordPage], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n getTxCount: IDL.Func([], [IDL.Nat], [\"query\"]),\n insert: IDL.Func([Transaction], [], []),\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { ActorName } from \"../ActorName\";\n\nimport {\n BaseIndex,\n BaseStorage,\n BaseIndexInterfaceFactory,\n BaseStorageInterfaceFactory,\n} from \"@icpswap/candid\";\n\nexport const baseIndex = (identity?: ActorIdentity) =>\n actor.create({\n idlFactory: BaseIndexInterfaceFactory,\n actorName: ActorName.BaseIndex,\n identity,\n });\n\nexport const baseStorage = (id: string, identity?: ActorIdentity) =>\n actor.create({\n idlFactory: BaseStorageInterfaceFactory,\n canisterId: id,\n identity,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const TvlOverview = IDL.Record({\n tvlUSD: IDL.Float64,\n tvlUSDChange: IDL.Float64\n });\n const PublicProtocolData = IDL.Record({\n volumeUSD: IDL.Float64,\n feesUSD: IDL.Float64,\n tvlUSD: IDL.Float64,\n txCount: IDL.Int\n });\n return IDL.Service({\n addOwner: IDL.Func([IDL.Principal], [], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n getAllPoolTvl: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Float64))], [\"query\"]),\n getAllTokenTvl: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, IDL.Float64))], [\"query\"]),\n getAllowTokens: IDL.Func([], [IDL.Vec(IDL.Text)], []),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n getPoolLastTvl: IDL.Func([IDL.Text], [TvlOverview], [\"query\"]),\n getProtocolData: IDL.Func([], [PublicProtocolData], [\"query\"]),\n getSyncError: IDL.Func([], [IDL.Text], [\"query\"]),\n getSyncState: IDL.Func([], [IDL.Bool], [\"query\"]),\n getSyncTime: IDL.Func([], [IDL.Int], [\"query\"]),\n getTokenLastTvl: IDL.Func([IDL.Text], [TvlOverview], [\"query\"]),\n getTvlSyncState: IDL.Func([], [IDL.Bool], [\"query\"]),\n globalLastStorageCanister: IDL.Func([], [IDL.Text], [\"query\"]),\n globalStorageCanister: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n syncGlobal: IDL.Func([], [], []),\n syncTvl: IDL.Func([], [], []),\n syncTvlStatus: IDL.Func([], [IDL.Bool], [\"query\"]),\n tvlLastStorageCanister: IDL.Func([], [IDL.Text], [\"query\"]),\n tvlStorageCanister: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"])\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const NatResult__1 = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const PublicSwapChartDayData = IDL.Record({\n id: IDL.Int,\n volumeUSD: IDL.Float64,\n feesUSD: IDL.Float64,\n tvlUSD: IDL.Float64,\n timestamp: IDL.Int,\n txCount: IDL.Int\n });\n return IDL.Service({\n addOwners: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n cycleAvailable: IDL.Func([], [NatResult__1], []),\n cycleBalance: IDL.Func([], [NatResult__1], [\"query\"]),\n getChartData: IDL.Func([], [IDL.Vec(PublicSwapChartDayData)], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n insert: IDL.Func([PublicSwapChartDayData], [], [])\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const NatResult__2 = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const TvlChartDayData = IDL.Record({\n id: IDL.Nat,\n tvlUSD: IDL.Float64,\n timestamp: IDL.Int\n });\n return IDL.Service({\n addOwners: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n cycleAvailable: IDL.Func([], [NatResult__2], []),\n cycleBalance: IDL.Func([], [NatResult__2], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n getPoolChartTvl: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [IDL.Vec(TvlChartDayData)], [\"query\"]),\n getTokenChartTvl: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [IDL.Vec(TvlChartDayData)], [\"query\"]),\n insert: IDL.Func(\n [IDL.Vec(IDL.Tuple(IDL.Text, TvlChartDayData)), IDL.Vec(IDL.Tuple(IDL.Text, TvlChartDayData))],\n [IDL.Nat],\n []\n )\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { ActorName } from \"../ActorName\";\n\nimport {\n GlobalIndex,\n GlobalIndexInterfaceFactory,\n GlobalStorage,\n GlobalStorageInterfaceFactory,\n GlobalTVL,\n GlobalTVLInterfaceFactory,\n} from \"@icpswap/candid\";\n\nexport const globalIndex = (identity?: ActorIdentity) =>\n actor.create({\n idlFactory: GlobalIndexInterfaceFactory,\n actorName: ActorName.GlobalIndex,\n identity,\n });\n\nexport const globalStorage = (id: string) =>\n actor.create({\n idlFactory: GlobalStorageInterfaceFactory,\n canisterId: id,\n });\n\nexport const globalTVL = (id: string, identity?: ActorIdentity) =>\n actor.create({\n idlFactory: GlobalTVLInterfaceFactory,\n canisterId: id,\n identity,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const PublicPoolOverView = IDL.Record({\n id: IDL.Nat,\n volumeUSD1d: IDL.Float64,\n volumeUSD7d: IDL.Float64,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n totalVolumeUSD: IDL.Float64,\n sqrtPrice: IDL.Float64,\n pool: IDL.Text,\n tick: IDL.Int,\n liquidity: IDL.Nat,\n token1Price: IDL.Float64,\n feeTier: IDL.Nat,\n volumeUSD: IDL.Float64,\n feesUSD: IDL.Float64,\n token1Standard: IDL.Text,\n txCount: IDL.Nat,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text\n });\n const PublicPoolChartDayData = IDL.Record({\n id: IDL.Int,\n volumeUSD: IDL.Float64,\n timestamp: IDL.Int,\n txCount: IDL.Int\n });\n const TransactionType = IDL.Variant({\n decreaseLiquidity: IDL.Null,\n claim: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n increaseLiquidity: IDL.Null\n });\n const Transaction = IDL.Record({\n to: IDL.Text,\n action: TransactionType,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n hash: IDL.Text,\n tick: IDL.Int,\n token1Price: IDL.Float64,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Float64,\n sender: IDL.Text,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n token0Fee: IDL.Float64,\n token1Fee: IDL.Float64,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Float64,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n amountUSD: IDL.Float64,\n amountToken0: IDL.Float64,\n amountToken1: IDL.Float64,\n poolFee: IDL.Nat,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text,\n poolId: IDL.Text\n });\n return IDL.Service({\n addOwners: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n getAllPools: IDL.Func([], [IDL.Vec(PublicPoolOverView)], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n getPool: IDL.Func([IDL.Text], [PublicPoolOverView], [\"query\"]),\n getPoolChartData: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [IDL.Vec(PublicPoolChartDayData)], [\"query\"]),\n getPoolTransactions: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [IDL.Vec(Transaction)], [\"query\"]),\n insert: IDL.Func([Transaction], [], [])\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { PoolStorage, PoolStorageInterfaceFactory } from \"@icpswap/candid\";\n\nexport const poolStorage = (id: string, identity?: ActorIdentity) =>\n actor.create({\n idlFactory: PoolStorageInterfaceFactory,\n canisterId: id,\n identity,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const PublicTokenOverview = IDL.Record({\n id: IDL.Nat,\n volumeUSD1d: IDL.Float64,\n volumeUSD7d: IDL.Float64,\n totalVolumeUSD: IDL.Float64,\n name: IDL.Text,\n volumeUSD: IDL.Float64,\n feesUSD: IDL.Float64,\n priceUSDChange: IDL.Float64,\n address: IDL.Text,\n txCount: IDL.Int,\n priceUSD: IDL.Float64,\n standard: IDL.Text,\n symbol: IDL.Text\n });\n const PoolInfo = IDL.Record({\n fee: IDL.Int,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n pool: IDL.Text,\n token1Price: IDL.Float64,\n token1Standard: IDL.Text,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text\n });\n const PublicTokenChartDayData = IDL.Record({\n id: IDL.Int,\n volumeUSD: IDL.Float64,\n timestamp: IDL.Int,\n txCount: IDL.Int\n });\n const PublicTokenPricesData = IDL.Record({\n id: IDL.Int,\n low: IDL.Float64,\n high: IDL.Float64,\n close: IDL.Float64,\n open: IDL.Float64,\n timestamp: IDL.Int\n });\n const TransactionType = IDL.Variant({\n decreaseLiquidity: IDL.Null,\n claim: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n increaseLiquidity: IDL.Null\n });\n const Transaction = IDL.Record({\n to: IDL.Text,\n action: TransactionType,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n hash: IDL.Text,\n tick: IDL.Int,\n token1Price: IDL.Float64,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Float64,\n sender: IDL.Text,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n token0Fee: IDL.Float64,\n token1Fee: IDL.Float64,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Float64,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n amountUSD: IDL.Float64,\n amountToken0: IDL.Float64,\n amountToken1: IDL.Float64,\n poolFee: IDL.Nat,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text,\n poolId: IDL.Text\n });\n return IDL.Service({\n addOwners: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n getAllTokens: IDL.Func([], [IDL.Vec(PublicTokenOverview)], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n getPoolsForToken: IDL.Func([IDL.Text], [IDL.Vec(PoolInfo)], [\"query\"]),\n getToken: IDL.Func([IDL.Text], [PublicTokenOverview], [\"query\"]),\n getTokenChartData: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [IDL.Vec(PublicTokenChartDayData)], [\"query\"]),\n getTokenPricesData: IDL.Func([IDL.Text, IDL.Int, IDL.Int, IDL.Nat], [IDL.Vec(PublicTokenPricesData)], [\"query\"]),\n getTokenTransactions: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [IDL.Vec(Transaction)], [\"query\"]),\n insert: IDL.Func([IDL.Text, Transaction], [], [])\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { TokenStorage, TokenStorageInterfaceFactory } from \"@icpswap/candid\";\n\nexport const tokenStorage = (id: string, identity?: ActorIdentity) =>\n actor.create({\n idlFactory: TokenStorageInterfaceFactory,\n canisterId: id,\n identity,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const TransactionType = IDL.Variant({\n decreaseLiquidity: IDL.Null,\n claim: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n increaseLiquidity: IDL.Null,\n });\n const Transaction = IDL.Record({\n to: IDL.Text,\n action: TransactionType,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n hash: IDL.Text,\n tick: IDL.Int,\n token1Price: IDL.Float64,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Float64,\n sender: IDL.Text,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n token0Fee: IDL.Float64,\n token1Fee: IDL.Float64,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Float64,\n token1Decimals: IDL.Float64,\n token0Standard: IDL.Text,\n amountUSD: IDL.Float64,\n amountToken0: IDL.Float64,\n amountToken1: IDL.Float64,\n poolFee: IDL.Nat,\n token0Symbol: IDL.Text,\n token0Decimals: IDL.Float64,\n token0Price: IDL.Float64,\n token1Symbol: IDL.Text,\n poolId: IDL.Text,\n });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const Address = IDL.Text;\n const RecordPage = IDL.Record({\n content: IDL.Vec(Transaction),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n return IDL.Service({\n addOwners: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n batchInsert: IDL.Func([IDL.Text, IDL.Vec(Transaction)], [], []),\n clean: IDL.Func([], [], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n get: IDL.Func([Address, IDL.Nat, IDL.Nat, IDL.Vec(IDL.Text)], [RecordPage], [\"query\"]),\n getOwners: IDL.Func([], [IDL.Vec(IDL.Principal)], []),\n insert: IDL.Func([Transaction], [], []),\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { UserStorage, UserStorageInterfaceFactory } from \"@icpswap/candid\";\n\nexport const userStorage = (id: string, identity?: ActorIdentity) =>\n actor.create({\n idlFactory: UserStorageInterfaceFactory,\n canisterId: id,\n identity,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const Value = IDL.Rec();\n const Map = IDL.Vec(IDL.Tuple(IDL.Text, Value));\n Value.fill(\n IDL.Variant({\n Int: IDL.Int,\n Map: Map,\n Nat: IDL.Nat,\n Nat64: IDL.Nat64,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text,\n Array: IDL.Vec(Value)\n })\n );\n const Block = Value;\n const Account = IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n });\n const Transaction = IDL.Record({\n burn: IDL.Opt(\n IDL.Record({\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n })\n ),\n kind: IDL.Text,\n mint: IDL.Opt(\n IDL.Record({\n to: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n })\n ),\n timestamp: IDL.Nat64,\n transfer: IDL.Opt(\n IDL.Record({\n to: Account,\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n })\n )\n });\n return IDL.Service({\n append_blocks: IDL.Func([IDL.Vec(IDL.Vec(IDL.Nat8))], [], []),\n get_blocks: IDL.Func(\n [IDL.Record({ start: IDL.Nat, length: IDL.Nat })],\n [IDL.Record({ blocks: IDL.Vec(Block) })],\n [\"query\"]\n ),\n get_transaction: IDL.Func([IDL.Nat64], [IDL.Opt(Transaction)], [\"query\"]),\n get_transactions: IDL.Func(\n [IDL.Record({ start: IDL.Nat, length: IDL.Nat })],\n [IDL.Record({ transactions: IDL.Vec(Transaction) })],\n [\"query\"]\n ),\n remaining_capacity: IDL.Func([], [IDL.Nat64], [\"query\"])\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const Subaccount = IDL.Vec(IDL.Nat8);\n const Account = IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(Subaccount)\n });\n const Tokens = IDL.Nat;\n const Value = IDL.Variant({\n Int: IDL.Int,\n Nat: IDL.Nat,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text\n });\n const Memo = IDL.Vec(IDL.Nat8);\n const Timestamp = IDL.Nat64;\n const TxIndex = IDL.Nat;\n const TransferError = IDL.Variant({\n GenericError: IDL.Record({\n message: IDL.Text,\n error_code: IDL.Nat\n }),\n TemporarilyUnavailable: IDL.Null,\n BadBurn: IDL.Record({ min_burn_amount: Tokens }),\n Duplicate: IDL.Record({ duplicate_of: TxIndex }),\n BadFee: IDL.Record({ expected_fee: Tokens }),\n CreatedInFuture: IDL.Record({ ledger_time: Timestamp }),\n TooOld: IDL.Null,\n InsufficientFunds: IDL.Record({ balance: Tokens })\n });\n const TransferResult = IDL.Variant({ Ok: TxIndex, Err: TransferError });\n const GetTransactionsRequest = IDL.Record({\n start: IDL.Nat,\n length: IDL.Nat\n });\n const Burn = IDL.Record({\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n });\n const Mint = IDL.Record({\n to: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n });\n const Transfer = IDL.Record({\n to: Account,\n fee: IDL.Opt(IDL.Nat),\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n });\n const Transaction = IDL.Record({\n burn: IDL.Opt(Burn),\n kind: IDL.Text,\n mint: IDL.Opt(Mint),\n timestamp: IDL.Nat64,\n transfer: IDL.Opt(Transfer)\n });\n const ArchivedTransactionRange = IDL.Record({\n callback: IDL.Func([GetTransactionsRequest], [IDL.Record({ transactions: IDL.Vec(Transaction) })], [\"query\"]),\n start: IDL.Nat,\n length: IDL.Nat\n });\n const GetTransactionsResponse = IDL.Record({\n first_index: IDL.Nat,\n log_length: IDL.Nat,\n transactions: IDL.Vec(Transaction),\n archived_transactions: IDL.Vec(ArchivedTransactionRange)\n });\n const Ledger = IDL.Service({\n get_transactions: IDL.Func([GetTransactionsRequest], [GetTransactionsResponse], [\"query\"]),\n icrc1_balance_of: IDL.Func([Account], [Tokens], [\"query\"]),\n icrc1_decimals: IDL.Func([], [IDL.Nat8], [\"query\"]),\n icrc1_fee: IDL.Func([], [IDL.Nat], [\"query\"]),\n icrc1_metadata: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, Value))], [\"query\"]),\n icrc1_minting_account: IDL.Func([], [IDL.Opt(Account)], [\"query\"]),\n icrc1_name: IDL.Func([], [IDL.Text], [\"query\"]),\n icrc1_supported_standards: IDL.Func([], [IDL.Vec(IDL.Record({ url: IDL.Text, name: IDL.Text }))], [\"query\"]),\n icrc1_symbol: IDL.Func([], [IDL.Text], [\"query\"]),\n icrc1_total_supply: IDL.Func([], [Tokens], [\"query\"]),\n icrc1_logo: IDL.Func([], [IDL.Text], [\"query\"]),\n icrc1_transfer: IDL.Func(\n [\n IDL.Record({\n to: Account,\n fee: IDL.Opt(Tokens),\n memo: IDL.Opt(Memo),\n from_subaccount: IDL.Opt(Subaccount),\n created_at_time: IDL.Opt(Timestamp),\n amount: Tokens\n })\n ],\n [TransferResult],\n []\n )\n });\n return Ledger;\n};\n\nexport const init = ({ IDL }: any) => {\n return [\n IDL.Record({\n decimals: IDL.Nat8,\n token_symbol: IDL.Text,\n transfer_fee: IDL.Nat,\n minting_account: IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n }),\n initial_mints: IDL.Vec(\n IDL.Record({\n account: IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n }),\n amount: IDL.Nat\n })\n ),\n token_name: IDL.Text\n })\n ];\n};\n","export const idlFactory = ({ IDL }: any) => {\n const Value = IDL.Rec();\n const Vec = IDL.Rec();\n const MetadataValue = IDL.Variant({\n Int: IDL.Int,\n Nat: IDL.Nat,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text\n });\n const Account = IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n });\n const ChangeFeeCollector = IDL.Variant({\n SetTo: Account,\n Unset: IDL.Null\n });\n const FeatureFlags = IDL.Record({ icrc2: IDL.Bool });\n const UpgradeArgs = IDL.Record({\n token_symbol: IDL.Opt(IDL.Text),\n transfer_fee: IDL.Opt(IDL.Nat),\n metadata: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue))),\n maximum_number_of_accounts: IDL.Opt(IDL.Nat64),\n accounts_overflow_trim_quantity: IDL.Opt(IDL.Nat64),\n change_fee_collector: IDL.Opt(ChangeFeeCollector),\n max_memo_length: IDL.Opt(IDL.Nat16),\n token_name: IDL.Opt(IDL.Text),\n feature_flags: IDL.Opt(FeatureFlags)\n });\n const ArchiveOptions = IDL.Record({\n num_blocks_to_archive: IDL.Nat64,\n max_transactions_per_response: IDL.Opt(IDL.Nat64),\n trigger_threshold: IDL.Nat64,\n max_message_size_bytes: IDL.Opt(IDL.Nat64),\n cycles_for_archive_creation: IDL.Opt(IDL.Nat64),\n node_max_memory_size_bytes: IDL.Opt(IDL.Nat64),\n controller_id: IDL.Principal\n });\n const InitArgs = IDL.Record({\n decimals: IDL.Opt(IDL.Nat8),\n token_symbol: IDL.Text,\n transfer_fee: IDL.Nat,\n metadata: IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue)),\n minting_account: Account,\n initial_balances: IDL.Vec(IDL.Tuple(Account, IDL.Nat)),\n maximum_number_of_accounts: IDL.Opt(IDL.Nat64),\n accounts_overflow_trim_quantity: IDL.Opt(IDL.Nat64),\n fee_collector_account: IDL.Opt(Account),\n archive_options: ArchiveOptions,\n max_memo_length: IDL.Opt(IDL.Nat16),\n token_name: IDL.Text,\n feature_flags: IDL.Opt(FeatureFlags)\n });\n const LedgerArgument = IDL.Variant({\n Upgrade: IDL.Opt(UpgradeArgs),\n Init: InitArgs\n });\n const GetBlocksRequest = IDL.Record({\n start: IDL.Nat,\n length: IDL.Nat\n });\n Vec.fill(\n IDL.Vec(\n IDL.Variant({\n Int: IDL.Int,\n Map: IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n Nat: IDL.Nat,\n Nat64: IDL.Nat64,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text,\n Array: Vec\n })\n )\n );\n Value.fill(\n IDL.Variant({\n Int: IDL.Int,\n Map: IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n Nat: IDL.Nat,\n Nat64: IDL.Nat64,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text,\n Array: Vec\n })\n );\n const BlockRange = IDL.Record({ blocks: IDL.Vec(Value) });\n const ArchivedRange = IDL.Record({\n callback: IDL.Func([GetBlocksRequest], [BlockRange], [\"query\"]),\n start: IDL.Nat,\n length: IDL.Nat\n });\n const GetBlocksResponse = IDL.Record({\n certificate: IDL.Opt(IDL.Vec(IDL.Nat8)),\n first_index: IDL.Nat,\n blocks: IDL.Vec(Value),\n chain_length: IDL.Nat64,\n archived_blocks: IDL.Vec(ArchivedRange)\n });\n const DataCertificate = IDL.Record({\n certificate: IDL.Opt(IDL.Vec(IDL.Nat8)),\n hash_tree: IDL.Vec(IDL.Nat8)\n });\n const Burn = IDL.Record({\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat,\n spender: IDL.Opt(Account)\n });\n const Mint = IDL.Record({\n to: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n });\n const Approve = IDL.Record({\n fee: IDL.Opt(IDL.Nat),\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat,\n expected_allowance: IDL.Opt(IDL.Nat),\n expires_at: IDL.Opt(IDL.Nat64),\n spender: Account\n });\n const Transfer = IDL.Record({\n to: Account,\n fee: IDL.Opt(IDL.Nat),\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat,\n spender: IDL.Opt(Account)\n });\n const Transaction = IDL.Record({\n burn: IDL.Opt(Burn),\n kind: IDL.Text,\n mint: IDL.Opt(Mint),\n approve: IDL.Opt(Approve),\n timestamp: IDL.Nat64,\n transfer: IDL.Opt(Transfer)\n });\n const TransactionRange = IDL.Record({\n transactions: IDL.Vec(Transaction)\n });\n const ArchivedRange_1 = IDL.Record({\n callback: IDL.Func([GetBlocksRequest], [TransactionRange], [\"query\"]),\n start: IDL.Nat,\n length: IDL.Nat\n });\n const GetTransactionsResponse = IDL.Record({\n first_index: IDL.Nat,\n log_length: IDL.Nat,\n transactions: IDL.Vec(Transaction),\n archived_transactions: IDL.Vec(ArchivedRange_1)\n });\n const StandardRecord = IDL.Record({ url: IDL.Text, name: IDL.Text });\n const TransferArg = IDL.Record({\n to: Account,\n fee: IDL.Opt(IDL.Nat),\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n });\n const TransferError = IDL.Variant({\n GenericError: IDL.Record({\n message: IDL.Text,\n error_code: IDL.Nat\n }),\n TemporarilyUnavailable: IDL.Null,\n BadBurn: IDL.Record({ min_burn_amount: IDL.Nat }),\n Duplicate: IDL.Record({ duplicate_of: IDL.Nat }),\n BadFee: IDL.Record({ expected_fee: IDL.Nat }),\n CreatedInFuture: IDL.Record({ ledger_time: IDL.Nat64 }),\n TooOld: IDL.Null,\n InsufficientFunds: IDL.Record({ balance: IDL.Nat })\n });\n const Result = IDL.Variant({ Ok: IDL.Nat, Err: TransferError });\n const AllowanceArgs = IDL.Record({\n account: Account,\n spender: Account\n });\n const Allowance = IDL.Record({\n allowance: IDL.Nat,\n expires_at: IDL.Opt(IDL.Nat64)\n });\n const ApproveArgs = IDL.Record({\n fee: IDL.Opt(IDL.Nat),\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat,\n expected_allowance: IDL.Opt(IDL.Nat),\n expires_at: IDL.Opt(IDL.Nat64),\n spender: Account\n });\n const ApproveError = IDL.Variant({\n GenericError: IDL.Record({\n message: IDL.Text,\n error_code: IDL.Nat\n }),\n TemporarilyUnavailable: IDL.Null,\n Duplicate: IDL.Record({ duplicate_of: IDL.Nat }),\n BadFee: IDL.Record({ expected_fee: IDL.Nat }),\n AllowanceChanged: IDL.Record({ current_allowance: IDL.Nat }),\n CreatedInFuture: IDL.Record({ ledger_time: IDL.Nat64 }),\n TooOld: IDL.Null,\n Expired: IDL.Record({ ledger_time: IDL.Nat64 }),\n InsufficientFunds: IDL.Record({ balance: IDL.Nat })\n });\n const Result_1 = IDL.Variant({ Ok: IDL.Nat, Err: ApproveError });\n const TransferFromArgs = IDL.Record({\n to: Account,\n fee: IDL.Opt(IDL.Nat),\n spender_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n from: Account,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n });\n const TransferFromError = IDL.Variant({\n GenericError: IDL.Record({\n message: IDL.Text,\n error_code: IDL.Nat\n }),\n TemporarilyUnavailable: IDL.Null,\n InsufficientAllowance: IDL.Record({ allowance: IDL.Nat }),\n BadBurn: IDL.Record({ min_burn_amount: IDL.Nat }),\n Duplicate: IDL.Record({ duplicate_of: IDL.Nat }),\n BadFee: IDL.Record({ expected_fee: IDL.Nat }),\n CreatedInFuture: IDL.Record({ ledger_time: IDL.Nat64 }),\n TooOld: IDL.Null,\n InsufficientFunds: IDL.Record({ balance: IDL.Nat })\n });\n const Result_2 = IDL.Variant({ Ok: IDL.Nat, Err: TransferFromError });\n return IDL.Service({\n get_blocks: IDL.Func([GetBlocksRequest], [GetBlocksResponse], [\"query\"]),\n get_data_certificate: IDL.Func([], [DataCertificate], [\"query\"]),\n get_transactions: IDL.Func([GetBlocksRequest], [GetTransactionsResponse], [\"query\"]),\n icrc1_balance_of: IDL.Func([Account], [IDL.Nat], [\"query\"]),\n icrc1_decimals: IDL.Func([], [IDL.Nat8], [\"query\"]),\n icrc1_fee: IDL.Func([], [IDL.Nat], [\"query\"]),\n icrc1_metadata: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue))], [\"query\"]),\n icrc1_minting_account: IDL.Func([], [IDL.Opt(Account)], [\"query\"]),\n icrc1_name: IDL.Func([], [IDL.Text], [\"query\"]),\n icrc1_supported_standards: IDL.Func([], [IDL.Vec(StandardRecord)], [\"query\"]),\n icrc1_symbol: IDL.Func([], [IDL.Text], [\"query\"]),\n icrc1_total_supply: IDL.Func([], [IDL.Nat], [\"query\"]),\n icrc1_transfer: IDL.Func([TransferArg], [Result], []),\n icrc2_allowance: IDL.Func([AllowanceArgs], [Allowance], [\"query\"]),\n icrc2_approve: IDL.Func([ApproveArgs], [Result_1], []),\n icrc2_transfer_from: IDL.Func([TransferFromArgs], [Result_2], [])\n });\n};\nexport const init = ({ IDL }) => {\n const MetadataValue = IDL.Variant({\n Int: IDL.Int,\n Nat: IDL.Nat,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text\n });\n const Account = IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n });\n const ChangeFeeCollector = IDL.Variant({\n SetTo: Account,\n Unset: IDL.Null\n });\n const FeatureFlags = IDL.Record({ icrc2: IDL.Bool });\n const UpgradeArgs = IDL.Record({\n token_symbol: IDL.Opt(IDL.Text),\n transfer_fee: IDL.Opt(IDL.Nat),\n metadata: IDL.Opt(IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue))),\n maximum_number_of_accounts: IDL.Opt(IDL.Nat64),\n accounts_overflow_trim_quantity: IDL.Opt(IDL.Nat64),\n change_fee_collector: IDL.Opt(ChangeFeeCollector),\n max_memo_length: IDL.Opt(IDL.Nat16),\n token_name: IDL.Opt(IDL.Text),\n feature_flags: IDL.Opt(FeatureFlags)\n });\n const ArchiveOptions = IDL.Record({\n num_blocks_to_archive: IDL.Nat64,\n max_transactions_per_response: IDL.Opt(IDL.Nat64),\n trigger_threshold: IDL.Nat64,\n max_message_size_bytes: IDL.Opt(IDL.Nat64),\n cycles_for_archive_creation: IDL.Opt(IDL.Nat64),\n node_max_memory_size_bytes: IDL.Opt(IDL.Nat64),\n controller_id: IDL.Principal\n });\n const InitArgs = IDL.Record({\n decimals: IDL.Opt(IDL.Nat8),\n token_symbol: IDL.Text,\n transfer_fee: IDL.Nat,\n metadata: IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue)),\n minting_account: Account,\n initial_balances: IDL.Vec(IDL.Tuple(Account, IDL.Nat)),\n maximum_number_of_accounts: IDL.Opt(IDL.Nat64),\n accounts_overflow_trim_quantity: IDL.Opt(IDL.Nat64),\n fee_collector_account: IDL.Opt(Account),\n archive_options: ArchiveOptions,\n max_memo_length: IDL.Opt(IDL.Nat16),\n token_name: IDL.Text,\n feature_flags: IDL.Opt(FeatureFlags)\n });\n const LedgerArgument = IDL.Variant({\n Upgrade: IDL.Opt(UpgradeArgs),\n Init: InitArgs\n });\n return [LedgerArgument];\n};\n","import { actor } from \"../actor\";\nimport {\n ICRCArchive,\n ICRCArchiveInterfaceFactory,\n ICRC1_SERVICE,\n ICRC1InterfaceFactory,\n ICRC2,\n ICRC2InterfaceFactory,\n} from \"@icpswap/candid\";\nimport type { ActorIdentity } from \"@icpswap/types\";\n\nexport const icrcArchive = (canisterId: string) =>\n actor.create({\n idlFactory: ICRCArchiveInterfaceFactory,\n canisterId,\n });\n\nexport const icrc1 = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n identity,\n idlFactory: ICRC1InterfaceFactory,\n canisterId,\n });\n\nexport const icrc2 = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n identity,\n idlFactory: ICRC2InterfaceFactory,\n canisterId,\n });\n","export default ({ IDL }: any) => {\n const TxReceipt = IDL.Variant({\n Ok: IDL.Nat,\n Err: IDL.Variant({\n InsufficientAllowance: IDL.Null,\n InsufficientBalance: IDL.Null,\n ErrorOperationStyle: IDL.Null,\n Unauthorized: IDL.Null,\n LedgerTrap: IDL.Null,\n ErrorTo: IDL.Null,\n Other: IDL.Text,\n BlockUsed: IDL.Null,\n AmountTooSmall: IDL.Null\n })\n });\n const Metadata = IDL.Record({\n fee: IDL.Nat,\n decimals: IDL.Nat8,\n owner: IDL.Principal,\n logo: IDL.Text,\n name: IDL.Text,\n totalSupply: IDL.Nat,\n symbol: IDL.Text\n });\n const Time = IDL.Int;\n const TokenInfo = IDL.Record({\n holderNumber: IDL.Nat,\n deployTime: Time,\n metadata: Metadata,\n historySize: IDL.Nat,\n cycles: IDL.Nat,\n feeTo: IDL.Principal\n });\n return IDL.Service({\n allowance: IDL.Func([IDL.Principal, IDL.Principal], [IDL.Nat], [\"query\"]),\n approve: IDL.Func([IDL.Principal, IDL.Nat], [TxReceipt], []),\n balanceOf: IDL.Func([IDL.Principal], [IDL.Nat], [\"query\"]),\n burn: IDL.Func([IDL.Nat], [TxReceipt], []),\n decimals: IDL.Func([], [IDL.Nat8], [\"query\"]),\n getAllowanceSize: IDL.Func([], [IDL.Nat], [\"query\"]),\n getHolders: IDL.Func([IDL.Nat, IDL.Nat], [IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Nat))], [\"query\"]),\n getMetadata: IDL.Func([], [Metadata], [\"query\"]),\n getTokenFee: IDL.Func([], [IDL.Nat], [\"query\"]),\n getTokenInfo: IDL.Func([], [TokenInfo], [\"query\"]),\n getUserApprovals: IDL.Func([IDL.Principal], [IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Nat))], [\"query\"]),\n historySize: IDL.Func([], [IDL.Nat], [\"query\"]),\n logo: IDL.Func([], [IDL.Text], [\"query\"]),\n mint: IDL.Func([IDL.Principal, IDL.Nat], [TxReceipt], []),\n name: IDL.Func([], [IDL.Text], [\"query\"]),\n setFee: IDL.Func([IDL.Nat], [], [\"oneway\"]),\n setFeeTo: IDL.Func([IDL.Principal], [], [\"oneway\"]),\n setLogo: IDL.Func([IDL.Text], [], [\"oneway\"]),\n setName: IDL.Func([IDL.Text], [], [\"oneway\"]),\n setOwner: IDL.Func([IDL.Principal], [], [\"oneway\"]),\n symbol: IDL.Func([], [IDL.Text], [\"query\"]),\n totalSupply: IDL.Func([], [IDL.Nat], [\"query\"]),\n transfer: IDL.Func([IDL.Principal, IDL.Nat], [TxReceipt], []),\n transferFrom: IDL.Func([IDL.Principal, IDL.Principal, IDL.Nat], [TxReceipt], [])\n });\n};\n","export default ({ IDL }) => {\n return IDL.Service({\n balanceOf: IDL.Func([IDL.Principal], [IDL.Nat], []),\n });\n};\n","export default ({ IDL }) => {\n return IDL.Service({\n totalSupply: IDL.Func([], [IDL.Nat], [])\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport {\n DIP20,\n DIP20Balance,\n DIP20InterfaceFactory,\n DIP20BalanceInterfaceFactory,\n XTC,\n XTCInterfaceFactory,\n DIP20Supply,\n DIP20SupplyInterfaceFactory,\n} from \"@icpswap/candid\";\n\nexport const xtc = (identity?: ActorIdentity) =>\n actor.create({\n identity,\n idlFactory: XTCInterfaceFactory,\n canisterId: \"aanaa-xaaaa-aaaah-aaeiq-cai\",\n });\n\nexport const dip20 = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n identity,\n idlFactory: DIP20InterfaceFactory,\n canisterId,\n });\n\nexport const dip20BalanceActor = (\n canisterId: string,\n identity?: ActorIdentity\n) =>\n actor.create({\n identity,\n idlFactory: DIP20BalanceInterfaceFactory,\n canisterId,\n });\n\nexport const dip20SupplyActor = (\n canisterId: string,\n identity?: ActorIdentity\n) =>\n actor.create({\n identity,\n idlFactory: DIP20SupplyInterfaceFactory,\n canisterId,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const Balance = IDL.Nat;\n const AccountIdentifier = IDL.Text;\n const User = IDL.Variant({\n principal: IDL.Principal,\n address: AccountIdentifier\n });\n const SubAccount = IDL.Vec(IDL.Nat8);\n const AllowanceRequest = IDL.Record({\n owner: User,\n subaccount: IDL.Opt(SubAccount),\n spender: IDL.Principal\n });\n const Balance__1 = IDL.Nat;\n const TokenIdentifier = IDL.Text;\n const CommonError__1 = IDL.Variant({\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n });\n const Result_2 = IDL.Variant({ ok: Balance__1, err: CommonError__1 });\n const ApproveRequest = IDL.Record({\n subaccount: IDL.Opt(SubAccount),\n allowance: Balance,\n spender: IDL.Principal\n });\n const Result_3 = IDL.Variant({ ok: IDL.Bool, err: CommonError__1 });\n const BalanceRequest = IDL.Record({\n token: TokenIdentifier,\n user: User\n });\n const CommonError = IDL.Variant({\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n });\n const BalanceResponse = IDL.Variant({ ok: Balance, err: CommonError });\n const Result_7 = IDL.Variant({ ok: IDL.Nat, err: CommonError__1 });\n const Extension = IDL.Text;\n const HoldersRequest = IDL.Record({\n offset: IDL.Opt(IDL.Nat),\n limit: IDL.Opt(IDL.Nat)\n });\n const Holder = IDL.Record({\n balance: IDL.Nat,\n account: AccountIdentifier\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(Holder),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result_6 = IDL.Variant({ ok: Page_1, err: CommonError });\n const Result_5 = IDL.Variant({ ok: IDL.Text, err: CommonError__1 });\n const Metadata = IDL.Variant({\n fungible: IDL.Record({\n decimals: IDL.Nat8,\n ownerAccount: AccountIdentifier,\n metadata: IDL.Opt(IDL.Vec(IDL.Nat8)),\n name: IDL.Text,\n symbol: IDL.Text\n }),\n nonfungible: IDL.Record({ metadata: IDL.Opt(IDL.Vec(IDL.Nat8)) })\n });\n const Result_4 = IDL.Variant({ ok: Metadata, err: CommonError__1 });\n const MintRequest = IDL.Record({ to: User, amount: Balance });\n const TransferResponse = IDL.Variant({\n ok: Balance,\n err: IDL.Variant({\n InsufficientAllowance: IDL.Null,\n CannotNotify: AccountIdentifier,\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Rejected: IDL.Null,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n })\n });\n const AccountIdentifier__1 = IDL.Text;\n const User__1 = IDL.Variant({\n principal: IDL.Principal,\n address: AccountIdentifier\n });\n const Result_1 = IDL.Variant({ ok: IDL.Nat, err: CommonError });\n const TransactionRequest = IDL.Record({\n hash: IDL.Opt(IDL.Text),\n user: IDL.Opt(User),\n offset: IDL.Opt(IDL.Nat),\n limit: IDL.Opt(IDL.Nat),\n index: IDL.Opt(IDL.Nat)\n });\n const TransType = IDL.Variant({\n burn: IDL.Null,\n mint: IDL.Null,\n approve: IDL.Null,\n transfer: IDL.Null\n });\n const Transaction = IDL.Record({\n to: AccountIdentifier,\n fee: Balance,\n status: IDL.Text,\n transType: TransType,\n from: AccountIdentifier,\n hash: IDL.Text,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n timestamp: IDL.Int,\n index: IDL.Nat,\n amount: Balance\n });\n const Page = IDL.Record({\n content: IDL.Vec(Transaction),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result = IDL.Variant({ ok: Page, err: CommonError });\n const Memo = IDL.Vec(IDL.Nat8);\n const TransferRequest = IDL.Record({\n to: User,\n token: TokenIdentifier,\n notify: IDL.Bool,\n from: User,\n memo: Memo,\n subaccount: IDL.Opt(SubAccount),\n nonce: IDL.Opt(IDL.Nat),\n amount: Balance\n });\n const Token = IDL.Service({\n allowance: IDL.Func([AllowanceRequest], [Result_2], [\"query\"]),\n approve: IDL.Func([ApproveRequest], [Result_3], []),\n balance: IDL.Func([BalanceRequest], [BalanceResponse], [\"query\"]),\n cycleAvailable: IDL.Func([], [Result_7], []),\n cycleBalance: IDL.Func([], [Result_7], [\"query\"]),\n extensions: IDL.Func([], [IDL.Vec(Extension)], [\"query\"]),\n getFee: IDL.Func([], [Result_2], [\"query\"]),\n holders: IDL.Func([HoldersRequest], [Result_6], [\"query\"]),\n logo: IDL.Func([], [Result_5], [\"query\"]),\n metadata: IDL.Func([], [Result_4], [\"query\"]),\n mint: IDL.Func([MintRequest], [TransferResponse], []),\n registry: IDL.Func([], [IDL.Vec(IDL.Tuple(AccountIdentifier__1, Balance__1))], [\"query\"]),\n setFee: IDL.Func([Balance__1], [Result_3], []),\n setFeeTo: IDL.Func([User__1], [Result_3], []),\n setLogo: IDL.Func([IDL.Text], [Result_3], []),\n supply: IDL.Func([], [Result_2], [\"query\"]),\n totalHolders: IDL.Func([], [Result_1], [\"query\"]),\n transactions: IDL.Func([TransactionRequest], [Result], [\"query\"]),\n transfer: IDL.Func([TransferRequest], [TransferResponse], []),\n transferFrom: IDL.Func([TransferRequest], [TransferResponse], [])\n });\n return Token;\n};\n","export const idlFactory = ({ IDL }: any) => {\n const Balance = IDL.Nat;\n const AccountIdentifier = IDL.Text;\n const User = IDL.Variant({\n principal: IDL.Principal,\n address: AccountIdentifier\n });\n const SubAccount = IDL.Vec(IDL.Nat8);\n const AllowanceRequest = IDL.Record({\n owner: User,\n subaccount: IDL.Opt(SubAccount),\n spender: IDL.Principal\n });\n const Balance__1 = IDL.Nat;\n const TokenIdentifier = IDL.Text;\n const CommonError__1 = IDL.Variant({\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n });\n const Result_4 = IDL.Variant({ ok: Balance__1, err: CommonError__1 });\n const ApproveRequest = IDL.Record({\n subaccount: IDL.Opt(SubAccount),\n allowance: Balance,\n spender: IDL.Principal\n });\n const Result_5 = IDL.Variant({ ok: IDL.Bool, err: CommonError__1 });\n const BalanceRequest = IDL.Record({\n token: TokenIdentifier,\n user: User\n });\n const CommonError = IDL.Variant({\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n });\n const BalanceResponse = IDL.Variant({ ok: Balance, err: CommonError });\n const Result_10 = IDL.Variant({ ok: IDL.Nat, err: CommonError__1 });\n const Extension = IDL.Text;\n const HoldersRequest = IDL.Record({\n offset: IDL.Opt(IDL.Nat),\n limit: IDL.Opt(IDL.Nat)\n });\n const Holder = IDL.Record({\n balance: IDL.Nat,\n account: AccountIdentifier\n });\n const Page_2 = IDL.Record({\n content: IDL.Vec(Holder),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result_9 = IDL.Variant({ ok: Page_2, err: CommonError });\n const Result_8 = IDL.Variant({ ok: IDL.Text, err: CommonError__1 });\n const Metadata = IDL.Variant({\n fungible: IDL.Record({\n decimals: IDL.Nat8,\n ownerAccount: AccountIdentifier,\n metadata: IDL.Opt(IDL.Vec(IDL.Nat8)),\n name: IDL.Text,\n symbol: IDL.Text\n }),\n nonfungible: IDL.Record({ metadata: IDL.Opt(IDL.Vec(IDL.Nat8)) })\n });\n const Result_7 = IDL.Variant({ ok: Metadata, err: CommonError__1 });\n const BlockHeight = IDL.Nat64;\n const MintRequest = IDL.Record({ to: User, blockHeight: BlockHeight });\n const Result_6 = IDL.Variant({ ok: IDL.Bool, err: CommonError });\n const AccountIdentifier__1 = IDL.Text;\n const User__1 = IDL.Variant({\n principal: IDL.Principal,\n address: AccountIdentifier\n });\n const Result_3 = IDL.Variant({ ok: IDL.Nat, err: CommonError });\n const TransactionRequest = IDL.Record({\n hash: IDL.Opt(IDL.Text),\n user: IDL.Opt(User),\n offset: IDL.Opt(IDL.Nat),\n limit: IDL.Opt(IDL.Nat),\n index: IDL.Opt(IDL.Nat)\n });\n const TransType = IDL.Variant({\n burn: IDL.Null,\n mint: IDL.Null,\n approve: IDL.Null,\n transfer: IDL.Null\n });\n const Transaction = IDL.Record({\n to: AccountIdentifier,\n fee: Balance,\n status: IDL.Text,\n transType: TransType,\n from: AccountIdentifier,\n hash: IDL.Text,\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n timestamp: IDL.Int,\n index: IDL.Nat,\n amount: Balance\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(Transaction),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result_2 = IDL.Variant({ ok: Page_1, err: CommonError });\n const Memo = IDL.Vec(IDL.Nat8);\n const TransferRequest = IDL.Record({\n to: User,\n token: TokenIdentifier,\n notify: IDL.Bool,\n from: User,\n memo: Memo,\n subaccount: IDL.Opt(SubAccount),\n nonce: IDL.Opt(IDL.Nat),\n amount: Balance\n });\n const TransferResponse = IDL.Variant({\n ok: Balance,\n err: IDL.Variant({\n InsufficientAllowance: IDL.Null,\n CannotNotify: AccountIdentifier,\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Rejected: IDL.Null,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n })\n });\n const WithdrawRequest = IDL.Record({ to: User, amount: Balance });\n const BlockHeight__1 = IDL.Nat64;\n const Result_1 = IDL.Variant({ ok: BlockHeight__1, err: CommonError });\n const WrapRequest = IDL.Record({\n user: IDL.Opt(User),\n offset: IDL.Opt(IDL.Nat),\n limit: IDL.Opt(IDL.Nat),\n index: IDL.Opt(IDL.Nat)\n });\n const Date = IDL.Nat64;\n const WrapType = IDL.Variant({ wrap: IDL.Null, unwrap: IDL.Null });\n const WrapRecord = IDL.Record({\n to: AccountIdentifier,\n date: Date,\n from: AccountIdentifier,\n wrapType: WrapType,\n blockHeight: BlockHeight,\n index: IDL.Nat,\n amount: Balance\n });\n const Page = IDL.Record({\n content: IDL.Vec(WrapRecord),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result = IDL.Variant({ ok: Page, err: CommonError });\n const WrapToken = IDL.Service({\n allowance: IDL.Func([AllowanceRequest], [Result_4], [\"query\"]),\n approve: IDL.Func([ApproveRequest], [Result_5], []),\n balance: IDL.Func([BalanceRequest], [BalanceResponse], [\"query\"]),\n cycleAvailable: IDL.Func([], [Result_10], []),\n cycleBalance: IDL.Func([], [Result_10], [\"query\"]),\n extensions: IDL.Func([], [IDL.Vec(Extension)], [\"query\"]),\n getFee: IDL.Func([], [Result_4], [\"query\"]),\n holders: IDL.Func([HoldersRequest], [Result_9], [\"query\"]),\n logo: IDL.Func([], [Result_8], [\"query\"]),\n metadata: IDL.Func([], [Result_7], [\"query\"]),\n mint: IDL.Func([MintRequest], [Result_6], []),\n registry: IDL.Func([], [IDL.Vec(IDL.Tuple(AccountIdentifier__1, Balance__1))], [\"query\"]),\n setFee: IDL.Func([Balance__1], [Result_5], []),\n setFeeTo: IDL.Func([User__1], [Result_5], []),\n setLogo: IDL.Func([IDL.Text], [Result_5], []),\n supply: IDL.Func([], [Result_4], [\"query\"]),\n totalHolders: IDL.Func([], [Result_3], [\"query\"]),\n transactions: IDL.Func([TransactionRequest], [Result_2], [\"query\"]),\n transfer: IDL.Func([TransferRequest], [TransferResponse], []),\n transferFrom: IDL.Func([TransferRequest], [TransferResponse], []),\n withdraw: IDL.Func([WithdrawRequest], [Result_1], []),\n wrappedTx: IDL.Func([WrapRequest], [Result], [])\n });\n return WrapToken;\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { ActorName } from \"../ActorName\";\nimport {\n WrapICP,\n WrapICPInterfaceFactory,\n EXTToken,\n EXTTokenInterfaceFactory,\n} from \"@icpswap/candid\";\n\nexport const ext = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n identity,\n canisterId,\n idlFactory: EXTTokenInterfaceFactory,\n });\n\nexport const wrapICP = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.WICP,\n identity,\n idlFactory: WrapICPInterfaceFactory,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const Account = IDL.Record({\n owner: IDL.Principal,\n subaccount: IDL.Opt(IDL.Vec(IDL.Nat8))\n });\n const UpgradeArgs = IDL.Record({\n maximum_number_of_accounts: IDL.Opt(IDL.Nat64),\n icrc1_minting_account: IDL.Opt(Account)\n });\n const Tokens = IDL.Record({ e8s: IDL.Nat64 });\n const Duration = IDL.Record({ secs: IDL.Nat64, nanos: IDL.Nat32 });\n const ArchiveOptions = IDL.Record({\n num_blocks_to_archive: IDL.Nat64,\n max_transactions_per_response: IDL.Opt(IDL.Nat64),\n trigger_threshold: IDL.Nat64,\n max_message_size_bytes: IDL.Opt(IDL.Nat64),\n cycles_for_archive_creation: IDL.Opt(IDL.Nat64),\n node_max_memory_size_bytes: IDL.Opt(IDL.Nat64),\n controller_id: IDL.Principal\n });\n const InitArgs = IDL.Record({\n send_whitelist: IDL.Vec(IDL.Principal),\n token_symbol: IDL.Opt(IDL.Text),\n transfer_fee: IDL.Opt(Tokens),\n minting_account: IDL.Text,\n transaction_window: IDL.Opt(Duration),\n max_message_size_bytes: IDL.Opt(IDL.Nat64),\n icrc1_minting_account: IDL.Opt(Account),\n archive_options: IDL.Opt(ArchiveOptions),\n initial_values: IDL.Vec(IDL.Tuple(IDL.Text, Tokens)),\n token_name: IDL.Opt(IDL.Text)\n });\n const LedgerCanisterPayload = IDL.Variant({\n Upgrade: IDL.Opt(UpgradeArgs),\n Init: InitArgs\n });\n const BinaryAccountBalanceArgs = IDL.Record({\n account: IDL.Vec(IDL.Nat8)\n });\n const AccountBalanceArgs = IDL.Record({ account: IDL.Text });\n const ArchiveInfo = IDL.Record({ canister_id: IDL.Principal });\n const Archives = IDL.Record({ archives: IDL.Vec(ArchiveInfo) });\n const Decimals = IDL.Record({ decimals: IDL.Nat32 });\n const MetadataValue = IDL.Variant({\n Int: IDL.Int,\n Nat: IDL.Nat,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text\n });\n const StandardRecord = IDL.Record({ url: IDL.Text, name: IDL.Text });\n const TransferArg = IDL.Record({\n to: Account,\n fee: IDL.Opt(IDL.Nat),\n memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(IDL.Nat64),\n amount: IDL.Nat\n });\n const TransferError = IDL.Variant({\n GenericError: IDL.Record({\n message: IDL.Text,\n error_code: IDL.Nat\n }),\n TemporarilyUnavailable: IDL.Null,\n BadBurn: IDL.Record({ min_burn_amount: IDL.Nat }),\n Duplicate: IDL.Record({ duplicate_of: IDL.Nat }),\n BadFee: IDL.Record({ expected_fee: IDL.Nat }),\n CreatedInFuture: IDL.Record({ ledger_time: IDL.Nat64 }),\n TooOld: IDL.Null,\n InsufficientFunds: IDL.Record({ balance: IDL.Nat })\n });\n const Result = IDL.Variant({ Ok: IDL.Nat, Err: TransferError });\n const Name = IDL.Record({ name: IDL.Text });\n const GetBlocksArgs = IDL.Record({\n start: IDL.Nat64,\n length: IDL.Nat64\n });\n const TimeStamp = IDL.Record({ timestamp_nanos: IDL.Nat64 });\n const CandidOperation = IDL.Variant({\n Approve: IDL.Record({\n fee: Tokens,\n from: IDL.Vec(IDL.Nat8),\n allowance_e8s: IDL.Int,\n allowance: Tokens,\n expires_at: IDL.Opt(TimeStamp),\n spender: IDL.Vec(IDL.Nat8)\n }),\n Burn: IDL.Record({ from: IDL.Vec(IDL.Nat8), amount: Tokens }),\n Mint: IDL.Record({ to: IDL.Vec(IDL.Nat8), amount: Tokens }),\n Transfer: IDL.Record({\n to: IDL.Vec(IDL.Nat8),\n fee: Tokens,\n from: IDL.Vec(IDL.Nat8),\n amount: Tokens\n }),\n TransferFrom: IDL.Record({\n to: IDL.Vec(IDL.Nat8),\n fee: Tokens,\n from: IDL.Vec(IDL.Nat8),\n amount: Tokens,\n spender: IDL.Vec(IDL.Nat8)\n })\n });\n const CandidTransaction = IDL.Record({\n memo: IDL.Nat64,\n icrc1_memo: IDL.Opt(IDL.Vec(IDL.Nat8)),\n operation: IDL.Opt(CandidOperation),\n created_at_time: TimeStamp\n });\n const CandidBlock = IDL.Record({\n transaction: CandidTransaction,\n timestamp: TimeStamp,\n parent_hash: IDL.Opt(IDL.Vec(IDL.Nat8))\n });\n const BlockRange = IDL.Record({ blocks: IDL.Vec(CandidBlock) });\n const GetBlocksError = IDL.Variant({\n BadFirstBlockIndex: IDL.Record({\n requested_index: IDL.Nat64,\n first_valid_index: IDL.Nat64\n }),\n Other: IDL.Record({\n error_message: IDL.Text,\n error_code: IDL.Nat64\n })\n });\n const ArchivedBlocksRange = IDL.Record({\n callback: IDL.Func([GetBlocksArgs], [IDL.Variant({ Ok: BlockRange, Err: GetBlocksError })], [\"query\"]),\n start: IDL.Nat64,\n length: IDL.Nat64\n });\n const QueryBlocksResponse = IDL.Record({\n certificate: IDL.Opt(IDL.Vec(IDL.Nat8)),\n blocks: IDL.Vec(CandidBlock),\n chain_length: IDL.Nat64,\n first_block_index: IDL.Nat64,\n archived_blocks: IDL.Vec(ArchivedBlocksRange)\n });\n const ArchivedEncodedBlocksRange = IDL.Record({\n callback: IDL.Func(\n [GetBlocksArgs],\n [\n IDL.Variant({\n Ok: IDL.Vec(IDL.Vec(IDL.Nat8)),\n Err: GetBlocksError\n })\n ],\n [\"query\"]\n ),\n start: IDL.Nat64,\n length: IDL.Nat64\n });\n const QueryEncodedBlocksResponse = IDL.Record({\n certificate: IDL.Opt(IDL.Vec(IDL.Nat8)),\n blocks: IDL.Vec(IDL.Vec(IDL.Nat8)),\n chain_length: IDL.Nat64,\n first_block_index: IDL.Nat64,\n archived_blocks: IDL.Vec(ArchivedEncodedBlocksRange)\n });\n const SendArgs = IDL.Record({\n to: IDL.Text,\n fee: Tokens,\n memo: IDL.Nat64,\n from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(TimeStamp),\n amount: Tokens\n });\n const Symbol = IDL.Record({ symbol: IDL.Text });\n const TransferArgs = IDL.Record({\n to: IDL.Vec(IDL.Nat8),\n fee: Tokens,\n memo: IDL.Nat64,\n from_subaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n created_at_time: IDL.Opt(TimeStamp),\n amount: Tokens\n });\n const TransferError_1 = IDL.Variant({\n TxTooOld: IDL.Record({ allowed_window_nanos: IDL.Nat64 }),\n BadFee: IDL.Record({ expected_fee: Tokens }),\n TxDuplicate: IDL.Record({ duplicate_of: IDL.Nat64 }),\n TxCreatedInFuture: IDL.Null,\n InsufficientFunds: IDL.Record({ balance: Tokens })\n });\n const Result_1 = IDL.Variant({ Ok: IDL.Nat64, Err: TransferError_1 });\n const TransferFee = IDL.Record({ transfer_fee: Tokens });\n return IDL.Service({\n account_balance: IDL.Func([BinaryAccountBalanceArgs], [Tokens], [\"query\"]),\n account_balance_dfx: IDL.Func([AccountBalanceArgs], [Tokens], [\"query\"]),\n archives: IDL.Func([], [Archives], [\"query\"]),\n decimals: IDL.Func([], [Decimals], [\"query\"]),\n icrc1_balance_of: IDL.Func([Account], [IDL.Nat], [\"query\"]),\n icrc1_decimals: IDL.Func([], [IDL.Nat8], [\"query\"]),\n icrc1_fee: IDL.Func([], [IDL.Nat], [\"query\"]),\n icrc1_metadata: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Text, MetadataValue))], [\"query\"]),\n icrc1_minting_account: IDL.Func([], [IDL.Opt(Account)], [\"query\"]),\n icrc1_name: IDL.Func([], [IDL.Text], [\"query\"]),\n icrc1_supported_standards: IDL.Func([], [IDL.Vec(StandardRecord)], [\"query\"]),\n icrc1_symbol: IDL.Func([], [IDL.Text], [\"query\"]),\n icrc1_total_supply: IDL.Func([], [IDL.Nat], [\"query\"]),\n icrc1_transfer: IDL.Func([TransferArg], [Result], []),\n name: IDL.Func([], [Name], [\"query\"]),\n query_blocks: IDL.Func([GetBlocksArgs], [QueryBlocksResponse], [\"query\"]),\n query_encoded_blocks: IDL.Func([GetBlocksArgs], [QueryEncodedBlocksResponse], [\"query\"]),\n send_dfx: IDL.Func([SendArgs], [IDL.Nat64], []),\n symbol: IDL.Func([], [Symbol], [\"query\"]),\n transfer: IDL.Func([TransferArgs], [Result_1], []),\n transfer_fee: IDL.Func([IDL.Record({})], [TransferFee], [\"query\"])\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { Ledger, LedgerInterfaceFactory } from \"@icpswap/candid\";\n\nimport { LEDGER_CANISTER_ID, ic_host } from \"@icpswap/constants\";\n\nexport const ledgerService = (identity?: ActorIdentity) =>\n actor.create({\n idlFactory: LedgerInterfaceFactory,\n canisterId: LEDGER_CANISTER_ID,\n identity,\n host: ic_host,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const BoolResult = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const AccountIdentifier = IDL.Text;\n const KVPair = IDL.Record({ k: IDL.Text, v: IDL.Text });\n const CanisterInfo = IDL.Record({\n cid: IDL.Text,\n creator: AccountIdentifier,\n linkMap: IDL.Vec(KVPair),\n ownerName: IDL.Text,\n owner: AccountIdentifier,\n name: IDL.Text,\n createTime: IDL.Int,\n totalSupply: IDL.Nat,\n introduction: IDL.Text,\n mintSupply: IDL.Nat,\n royalties: IDL.Nat,\n image: IDL.Text\n });\n const ResponseResult_5 = IDL.Variant({\n ok: CanisterInfo,\n err: IDL.Text\n });\n const CanisterRequest = IDL.Record({\n linkMap: IDL.Vec(KVPair),\n ownerName: IDL.Text,\n name: IDL.Text,\n introduction: IDL.Text,\n royalties: IDL.Nat,\n image: IDL.Text\n });\n const TextResult = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const ResponseResult = IDL.Variant({\n ok: IDL.Tuple(IDL.Nat, IDL.Nat, IDL.Text, IDL.Text),\n err: IDL.Text\n });\n const PageResponse = IDL.Record({\n content: IDL.Vec(CanisterInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const ResponseResult_2 = IDL.Variant({\n ok: PageResponse,\n err: IDL.Text\n });\n const ResponseResult_4 = IDL.Variant({\n ok: IDL.Tuple(IDL.Nat, IDL.Text, IDL.Text, IDL.Text),\n err: IDL.Text\n });\n const Page = IDL.Record({\n content: IDL.Vec(CanisterInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const ResponseResult_3 = IDL.Variant({ ok: Page, err: IDL.Text });\n const ResponseResult_1 = IDL.Variant({\n ok: IDL.Vec(IDL.Text),\n err: IDL.Text\n });\n return IDL.Service({\n add: IDL.Func([IDL.Text, IDL.Nat], [NatResult], []),\n addAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n canisterInfo: IDL.Func([IDL.Text], [ResponseResult_5], [\"query\"]),\n create: IDL.Func([CanisterRequest], [TextResult], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], []),\n delete: IDL.Func([IDL.Text], [BoolResult], []),\n deleteTradeStatCanister: IDL.Func([IDL.Text], [BoolResult], []),\n feeInfo: IDL.Func([], [ResponseResult], [\"query\"]),\n findCanister: IDL.Func([IDL.Nat, IDL.Nat], [ResponseResult_2], [\"query\"]),\n findCanisterConfig: IDL.Func([], [ResponseResult_4], [\"query\"]),\n findTop5Canister: IDL.Func([IDL.Nat, IDL.Nat], [ResponseResult_3], [\"query\"]),\n findUserCanister: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [ResponseResult_2], [\"query\"]),\n getAdminList: IDL.Func([], [ResponseResult_1], [\"query\"]),\n initLogo: IDL.Func([], [BoolResult], []),\n insert: IDL.Func([CanisterInfo], [NatResult], []),\n removeAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n setCanisterConfig: IDL.Func(\n [IDL.Nat, IDL.Opt(IDL.Text), IDL.Opt(IDL.Text), IDL.Opt(IDL.Text), IDL.Nat32],\n [BoolResult],\n []\n ),\n setFeeInfo: IDL.Func([IDL.Nat, IDL.Nat, IDL.Text, IDL.Text], [ResponseResult], []),\n setLogo: IDL.Func([IDL.Text, IDL.Text], [BoolResult], [])\n });\n};\n","export const idlFactory = ({ IDL }) => {\n const TokenIdentifier = IDL.Text;\n const AccountIdentifier = IDL.Text;\n const User = IDL.Variant({\n 'principal' : IDL.Principal,\n 'address' : AccountIdentifier,\n });\n const AllowanceRequest = IDL.Record({\n 'token' : TokenIdentifier,\n 'owner' : User,\n 'spender' : IDL.Principal,\n });\n const Balance__1 = IDL.Nat;\n const CommonError = IDL.Variant({\n 'InsufficientBalance' : IDL.Null,\n 'InvalidToken' : TokenIdentifier,\n 'Unauthorized' : AccountIdentifier,\n 'Other' : IDL.Text,\n });\n const Result_1 = IDL.Variant({ 'ok' : Balance__1, 'err' : CommonError });\n const SubAccount = IDL.Vec(IDL.Nat8);\n const Balance = IDL.Nat;\n const ApproveRequest = IDL.Record({\n 'token' : TokenIdentifier,\n 'subaccount' : IDL.Opt(SubAccount),\n 'allowance' : Balance,\n 'spender' : IDL.Principal,\n });\n const ApproveAllRequest = IDL.Record({\n 'approved' : IDL.Bool,\n 'spender' : User,\n });\n const BoolResult = IDL.Variant({ 'ok' : IDL.Bool, 'err' : IDL.Text });\n const BalanceRequest = IDL.Record({\n 'token' : TokenIdentifier,\n 'user' : User,\n });\n const CommonError__1 = IDL.Variant({\n 'InsufficientBalance' : IDL.Null,\n 'InvalidToken' : TokenIdentifier,\n 'Unauthorized' : AccountIdentifier,\n 'Other' : IDL.Text,\n });\n const BalanceResponse = IDL.Variant({\n 'ok' : Balance,\n 'err' : CommonError__1,\n });\n const TokenIdentifier__1 = IDL.Text;\n const AccountIdentifier__1 = IDL.Text;\n const Result_4 = IDL.Variant({\n 'ok' : AccountIdentifier__1,\n 'err' : CommonError,\n });\n const AccountIdentifier__2 = IDL.Text;\n const KVPair__1 = IDL.Record({ 'k' : IDL.Text, 'v' : IDL.Text });\n const CanisterInfo = IDL.Record({\n 'cid' : IDL.Text,\n 'creator' : AccountIdentifier__2,\n 'linkMap' : IDL.Vec(KVPair__1),\n 'ownerName' : IDL.Text,\n 'owner' : AccountIdentifier__2,\n 'name' : IDL.Text,\n 'createTime' : IDL.Int,\n 'totalSupply' : IDL.Nat,\n 'introduction' : IDL.Text,\n 'mintSupply' : IDL.Nat,\n 'royalties' : IDL.Nat,\n 'image' : IDL.Text,\n });\n const ResponseResult_6 = IDL.Variant({\n 'ok' : CanisterInfo,\n 'err' : IDL.Text,\n });\n const TokenIndex = IDL.Nat32;\n const TextResult = IDL.Variant({ 'ok' : IDL.Text, 'err' : IDL.Text });\n const Chunk = IDL.Record({\n 'content' : IDL.Vec(IDL.Nat8),\n 'batch_id' : IDL.Nat,\n });\n const NatResult = IDL.Variant({ 'ok' : IDL.Nat, 'err' : IDL.Text });\n const Extension = IDL.Text;\n const User__1 = IDL.Variant({\n 'principal' : IDL.Principal,\n 'address' : AccountIdentifier,\n });\n const TokenIndex__1 = IDL.Nat32;\n const KVPair = IDL.Record({ 'k' : IDL.Text, 'v' : IDL.Text });\n const IcsMetadata = IDL.Record({\n 'cId' : IDL.Text,\n 'tokenId' : TokenIndex__1,\n 'owner' : AccountIdentifier,\n 'metadata' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'link' : IDL.Text,\n 'name' : IDL.Text,\n 'minter' : AccountIdentifier,\n 'filePath' : IDL.Text,\n 'fileType' : IDL.Text,\n 'mintTime' : IDL.Int,\n 'introduction' : IDL.Text,\n 'attributes' : IDL.Vec(KVPair),\n 'royalties' : IDL.Nat,\n 'nftType' : IDL.Text,\n 'artistName' : IDL.Text,\n });\n const Page_1 = IDL.Record({\n 'content' : IDL.Vec(IcsMetadata),\n 'offset' : IDL.Nat,\n 'limit' : IDL.Nat,\n 'totalElements' : IDL.Nat,\n });\n const ResponseResult_5 = IDL.Variant({ 'ok' : Page_1, 'err' : IDL.Text });\n const Remark = IDL.Text;\n const Memo = IDL.Vec(IDL.Nat8);\n const TransType = IDL.Variant({\n 'burn' : IDL.Null,\n 'mint' : IDL.Null,\n 'approve' : IDL.Null,\n 'transfer' : IDL.Null,\n });\n const TransferRecord = IDL.Record({\n 'to' : AccountIdentifier,\n 'remark' : Remark,\n 'tokenId' : TokenIndex__1,\n 'from' : AccountIdentifier,\n 'hash' : IDL.Text,\n 'memo' : IDL.Opt(Memo),\n 'time' : IDL.Int,\n 'tokenName' : IDL.Text,\n 'txType' : TransType,\n 'caller' : AccountIdentifier,\n 'price' : Balance,\n 'amount' : Balance,\n });\n const Page = IDL.Record({\n 'content' : IDL.Vec(TransferRecord),\n 'offset' : IDL.Nat,\n 'limit' : IDL.Nat,\n 'totalElements' : IDL.Nat,\n });\n const ResponseResult_4 = IDL.Variant({ 'ok' : Page, 'err' : IDL.Text });\n const ResponseResult_3 = IDL.Variant({\n 'ok' : IDL.Tuple(IDL.Nat, IDL.Nat),\n 'err' : IDL.Text,\n });\n const Metadata = IDL.Variant({\n 'fungible' : IDL.Record({\n 'decimals' : IDL.Nat8,\n 'ownerAccount' : AccountIdentifier,\n 'metadata' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'name' : IDL.Text,\n 'symbol' : IDL.Text,\n }),\n 'nonfungible' : IDL.Record({ 'metadata' : IDL.Opt(IDL.Vec(IDL.Nat8)) }),\n });\n const HeaderField = IDL.Tuple(IDL.Text, IDL.Text);\n const HttpRequest = IDL.Record({\n 'url' : IDL.Text,\n 'method' : IDL.Text,\n 'body' : IDL.Vec(IDL.Nat8),\n 'headers' : IDL.Vec(HeaderField),\n });\n const StreamingCallbackToken__1 = IDL.Record({\n 'key' : IDL.Text,\n 'index' : IDL.Nat,\n 'content_encoding' : IDL.Text,\n });\n const StreamingStrategy = IDL.Variant({\n 'Callback' : IDL.Record({\n 'token' : StreamingCallbackToken__1,\n 'callback' : IDL.Func([], [], []),\n }),\n });\n const HttpResponse = IDL.Record({\n 'body' : IDL.Vec(IDL.Nat8),\n 'headers' : IDL.Vec(HeaderField),\n 'streaming_strategy' : IDL.Opt(StreamingStrategy),\n 'status_code' : IDL.Nat16,\n });\n const StreamingCallbackToken = IDL.Record({\n 'key' : IDL.Text,\n 'index' : IDL.Nat,\n 'content_encoding' : IDL.Text,\n });\n const StreamingCallbackHttpResponse = IDL.Record({\n 'token' : IDL.Opt(StreamingCallbackToken__1),\n 'body' : IDL.Vec(IDL.Nat8),\n });\n const ResponseResult_2 = IDL.Variant({\n 'ok' : IcsMetadata,\n 'err' : IDL.Text,\n });\n const ResponseResult = IDL.Variant({ 'ok' : Balance__1, 'err' : IDL.Text });\n const Result_3 = IDL.Variant({ 'ok' : IDL.Text, 'err' : IDL.Text });\n const Result_2 = IDL.Variant({ 'ok' : Metadata, 'err' : CommonError });\n const IcsMintRequest = IDL.Record({\n 'owner' : User,\n 'metadata' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'link' : IDL.Text,\n 'name' : IDL.Text,\n 'filePath' : IDL.Text,\n 'fileType' : IDL.Text,\n 'introduction' : IDL.Text,\n 'attributes' : IDL.Vec(KVPair),\n 'royalties' : IDL.Nat,\n 'nftType' : IDL.Text,\n 'image' : IDL.Text,\n 'artistName' : IDL.Text,\n });\n const ResponseResult_1 = IDL.Variant({ 'ok' : TokenIndex, 'err' : IDL.Text });\n const MintRequest = IDL.Record({\n 'to' : User,\n 'metadata' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n });\n const IcsMintRequests = IDL.Record({\n 'owner' : User,\n 'metadata' : IDL.Opt(IDL.Vec(IDL.Nat8)),\n 'link' : IDL.Text,\n 'name' : IDL.Text,\n 'count' : IDL.Nat,\n 'filePath' : IDL.Text,\n 'fileType' : IDL.Text,\n 'introduction' : IDL.Text,\n 'attributes' : IDL.Vec(KVPair),\n 'royalties' : IDL.Nat,\n 'nftType' : IDL.Text,\n 'image' : IDL.Text,\n 'artistName' : IDL.Text,\n });\n const Time = IDL.Int;\n const Listing = IDL.Record({\n 'locked' : IDL.Opt(Time),\n 'seller' : IDL.Principal,\n 'price' : IDL.Nat64,\n });\n const Result = IDL.Variant({\n 'ok' : IDL.Vec(\n IDL.Tuple(TokenIndex, IDL.Opt(Listing), IDL.Opt(IDL.Vec(IDL.Nat8)))\n ),\n 'err' : CommonError,\n });\n const TransferRequest = IDL.Record({\n 'to' : User,\n 'token' : TokenIdentifier,\n 'notify' : IDL.Bool,\n 'from' : User,\n 'memo' : Memo,\n 'subaccount' : IDL.Opt(SubAccount),\n 'nonce' : IDL.Opt(IDL.Nat),\n 'amount' : Balance,\n });\n const TransferResponse = IDL.Variant({\n 'ok' : Balance,\n 'err' : IDL.Variant({\n 'InsufficientAllowance' : IDL.Null,\n 'CannotNotify' : AccountIdentifier,\n 'InsufficientBalance' : IDL.Null,\n 'InvalidToken' : TokenIdentifier,\n 'Rejected' : IDL.Null,\n 'Unauthorized' : AccountIdentifier,\n 'Other' : IDL.Text,\n }),\n });\n const NFTDynamicCanister = IDL.Service({\n 'acceptCycles' : IDL.Func([], [], []),\n 'allowance' : IDL.Func([AllowanceRequest], [Result_1], ['query']),\n 'approve' : IDL.Func([ApproveRequest], [], []),\n 'approveForAll' : IDL.Func([ApproveAllRequest], [BoolResult], []),\n 'availableCycles' : IDL.Func([], [IDL.Nat], ['query']),\n 'balance' : IDL.Func([BalanceRequest], [BalanceResponse], ['query']),\n 'bearer' : IDL.Func([TokenIdentifier__1], [Result_4], ['query']),\n 'canisterInfo' : IDL.Func([], [ResponseResult_6], ['query']),\n 'chunkSize' : IDL.Func([], [IDL.Nat], ['query']),\n 'clearChunk' : IDL.Func([], [IDL.Bool], []),\n 'commit_batch' : IDL.Func(\n [\n IDL.Record({\n 'batch_id' : IDL.Nat,\n 'content_type' : IDL.Text,\n 'chunk_ids' : IDL.Vec(IDL.Nat),\n }),\n ],\n [],\n [],\n ),\n 'create' : IDL.Func([CanisterInfo, TokenIndex, IDL.Text], [TextResult], []),\n 'create_batch' : IDL.Func([], [IDL.Record({ 'batch_id' : IDL.Nat })], []),\n 'create_chunk' : IDL.Func(\n [Chunk],\n [IDL.Record({ 'chunk_id' : IDL.Nat })],\n [],\n ),\n 'cycleAvailable' : IDL.Func([], [NatResult], []),\n 'cycleBalance' : IDL.Func([], [NatResult], []),\n 'extensions' : IDL.Func([], [IDL.Vec(Extension)], ['query']),\n 'findCanisterId' : IDL.Func([], [TextResult], []),\n 'findTokenList' : IDL.Func(\n [User__1, IDL.Nat, IDL.Nat],\n [ResponseResult_5],\n ['query'],\n ),\n 'findTokenMarket' : IDL.Func(\n [IDL.Vec(IDL.Text), IDL.Nat, IDL.Nat],\n [ResponseResult_5],\n ['query'],\n ),\n 'findTokenTxRecord' : IDL.Func(\n [User__1, IDL.Nat, IDL.Nat],\n [ResponseResult_4],\n ['query'],\n ),\n 'findTxRecord' : IDL.Func(\n [TokenIdentifier, IDL.Nat, IDL.Nat],\n [ResponseResult_4],\n ['query'],\n ),\n 'getAllowances' : IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(TokenIndex, IDL.Vec(AccountIdentifier__1)))],\n ['query'],\n ),\n 'getMinter' : IDL.Func([], [IDL.Principal], ['query']),\n 'getNftStat' : IDL.Func([], [ResponseResult_3], ['query']),\n 'getRegistry' : IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(TokenIndex, AccountIdentifier__1))],\n ['query'],\n ),\n 'getTokens' : IDL.Func(\n [],\n [IDL.Vec(IDL.Tuple(TokenIndex, Metadata))],\n ['query'],\n ),\n 'http_request' : IDL.Func([HttpRequest], [HttpResponse], ['query']),\n 'http_request_streaming_callback' : IDL.Func(\n [StreamingCallbackToken],\n [StreamingCallbackHttpResponse],\n ['query'],\n ),\n 'icsMetadata' : IDL.Func([TokenIndex], [ResponseResult_2], ['query']),\n 'isApproveForAll' : IDL.Func(\n [AccountIdentifier__1, AccountIdentifier__1],\n [BoolResult],\n ['query'],\n ),\n 'isApproveForToken' : IDL.Func(\n [TokenIndex, AccountIdentifier__1, AccountIdentifier__1],\n [ResponseResult],\n ['query'],\n ),\n 'maxFileSize' : IDL.Func([IDL.Nat], [Result_3], []),\n 'metadata' : IDL.Func([TokenIdentifier__1], [Result_2], ['query']),\n 'mint' : IDL.Func([IcsMintRequest], [ResponseResult_1], []),\n 'mintNFT' : IDL.Func([MintRequest], [TokenIndex], []),\n 'mint_batch' : IDL.Func([IcsMintRequests], [ResponseResult_1], []),\n 'ownerNFTCount' : IDL.Func([User__1], [ResponseResult], ['query']),\n 'removeAllApproval' : IDL.Func([ApproveAllRequest], [BoolResult], []),\n 'removeApproval' : IDL.Func([ApproveRequest], [BoolResult], []),\n 'setCanisterId' : IDL.Func([IDL.Opt(IDL.Text)], [BoolResult], []),\n 'setLogo' : IDL.Func([IDL.Text], [BoolResult], []),\n 'setMinter' : IDL.Func([IDL.Principal], [], []),\n 'spenderRemoveApproval' : IDL.Func([TokenIdentifier], [BoolResult], []),\n 'supply' : IDL.Func([TokenIdentifier__1], [Result_1], ['query']),\n 'tokens_ext' : IDL.Func([AccountIdentifier__1], [Result], ['query']),\n 'transfer' : IDL.Func([TransferRequest], [TransferResponse], []),\n });\n return NFTDynamicCanister;\n};\nexport const init = ({ IDL }) => { return [IDL.Principal]; };\n","export const idlFactory = ({ IDL }: any) => {\n const BoolResult = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const TokenIndex__1 = IDL.Nat32;\n const BuyRequest = IDL.Record({\n nftCid: IDL.Text,\n tokenIndex: TokenIndex__1\n });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const ResponseResult_6 = IDL.Variant({\n ok: IDL.Tuple(IDL.Text, IDL.Text),\n err: IDL.Text\n });\n const Time = IDL.Int;\n const AccountIdentifier = IDL.Text;\n const OrderInfo = IDL.Record({\n cid: IDL.Text,\n nftCid: IDL.Text,\n tokenIndex: TokenIndex__1,\n hash: IDL.Text,\n link: IDL.Text,\n name: IDL.Text,\n time: Time,\n minter: AccountIdentifier,\n filePath: IDL.Text,\n fileType: IDL.Text,\n seller: AccountIdentifier,\n introduction: IDL.Text,\n royalties: IDL.Nat,\n artistName: IDL.Text,\n price: IDL.Nat\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(OrderInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const ResponseResult_5 = IDL.Variant({ ok: Page_1, err: IDL.Text });\n const AccountIdentifier__1 = IDL.Text;\n const TokenIndex = IDL.Nat32;\n const TxInfoResponse = IDL.Record({\n cid: IDL.Text,\n nftCid: IDL.Text,\n txFee: IDL.Nat,\n tokenIndex: TokenIndex__1,\n hash: IDL.Text,\n name: IDL.Text,\n time: Time,\n minter: AccountIdentifier,\n settleAmountStatus: IDL.Text,\n royaltiesFeeStatus: IDL.Text,\n royaltiesFee: IDL.Nat,\n filePath: IDL.Text,\n fileType: IDL.Text,\n txFeeStatus: IDL.Text,\n seller: AccountIdentifier,\n txStatus: IDL.Text,\n settleAmount: IDL.Nat,\n buyer: AccountIdentifier,\n price: IDL.Nat\n });\n const Page = IDL.Record({\n content: IDL.Vec(TxInfoResponse),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const ResponseResult_4 = IDL.Variant({ ok: Page, err: IDL.Text });\n const ResponseResult_3 = IDL.Variant({\n ok: IDL.Vec(IDL.Text),\n err: IDL.Text\n });\n const ResponseResult_2 = IDL.Variant({ ok: OrderInfo, err: IDL.Text });\n const StatResponse = IDL.Record({\n totalVolume: IDL.Nat,\n listSize: IDL.Nat,\n totalTurnover: IDL.Nat,\n avgPrice: IDL.Nat,\n maxPrice: IDL.Nat,\n minPrice: IDL.Nat\n });\n const ResponseResult_1 = IDL.Variant({\n ok: StatResponse,\n err: IDL.Text\n });\n const ResponseResult = IDL.Variant({\n ok: IDL.Tuple(IDL.Bool, IDL.Nat, IDL.Nat, IDL.Nat),\n err: IDL.Text\n });\n const RevokeRequest = IDL.Record({\n nftCid: IDL.Text,\n tokenIndex: TokenIndex__1\n });\n const SaleRequest = IDL.Record({\n nftCid: IDL.Text,\n tokenIndex: TokenIndex__1,\n price: IDL.Nat\n });\n return IDL.Service({\n addAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n buy: IDL.Func([BuyRequest], [BoolResult], []),\n cancel: IDL.Func([IDL.Nat32, IDL.Text], [BoolResult], []),\n cancelOrder: IDL.Func([IDL.Nat32], [BoolResult], []),\n checkPayment: IDL.Func([IDL.Text], [BoolResult], []),\n cycleAvailable: IDL.Func([], [NatResult], []),\n cycleBalance: IDL.Func([], [NatResult], []),\n findCanisterId: IDL.Func([], [ResponseResult_6], []),\n findCanisterRecommend: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [ResponseResult_5], [\"query\"]),\n findOrderPage: IDL.Func(\n [\n IDL.Opt(IDL.Text),\n IDL.Opt(IDL.Text),\n IDL.Opt(AccountIdentifier__1),\n IDL.Opt(TokenIndex),\n IDL.Nat,\n IDL.Nat,\n IDL.Text,\n IDL.Bool\n ],\n [ResponseResult_5],\n [\"query\"]\n ),\n findRecommend: IDL.Func([IDL.Nat, IDL.Nat], [ResponseResult_5], [\"query\"]),\n findTokenOrderPage: IDL.Func(\n [TokenIndex, IDL.Text, IDL.Nat, IDL.Nat, IDL.Text, IDL.Bool],\n [ResponseResult_5],\n [\"query\"]\n ),\n findTokenTxPage: IDL.Func(\n [TokenIndex, IDL.Text, IDL.Nat, IDL.Nat, IDL.Text, IDL.Bool],\n [ResponseResult_4],\n [\"query\"]\n ),\n findTxPage: IDL.Func(\n [IDL.Opt(IDL.Text), IDL.Opt(IDL.Text), IDL.Opt(TokenIndex), IDL.Nat, IDL.Nat, IDL.Text, IDL.Bool],\n [ResponseResult_4],\n [\"query\"]\n ),\n findUserTxPage: IDL.Func(\n [AccountIdentifier__1, IDL.Opt(IDL.Text), IDL.Opt(IDL.Text), IDL.Nat, IDL.Nat, IDL.Text, IDL.Bool],\n [ResponseResult_4],\n [\"query\"]\n ),\n getAddress: IDL.Func([], [IDL.Text], [\"query\"]),\n getAdminList: IDL.Func([], [ResponseResult_3], [\"query\"]),\n getOrder: IDL.Func([IDL.Text, TokenIndex], [ResponseResult_2], [\"query\"]),\n getStat: IDL.Func([], [ResponseResult_1], [\"query\"]),\n getTradeState: IDL.Func([], [ResponseResult], [\"query\"]),\n removeAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n removeList: IDL.Func([], [BoolResult], []),\n revoke: IDL.Func([RevokeRequest], [BoolResult], []),\n sale: IDL.Func([SaleRequest], [BoolResult], []),\n setCanisterId: IDL.Func([IDL.Opt(IDL.Text), IDL.Opt(IDL.Text), IDL.Opt(IDL.Text)], [BoolResult], []),\n setState: IDL.Func([IDL.Text, IDL.Text, IDL.Text], [BoolResult], []),\n setTradeState: IDL.Func([IDL.Bool], [BoolResult], []),\n unlock: IDL.Func([IDL.Text, TokenIndex], [BoolResult], [])\n });\n};\n","export const idlFactory = ({ IDL }) => {\n const BoolResult = IDL.Variant({ 'ok' : IDL.Bool, 'err' : IDL.Text });\n const NatResult = IDL.Variant({ 'ok' : IDL.Nat, 'err' : IDL.Text });\n const TradeStatResp = IDL.Record({\n 'cid' : IDL.Text,\n 'totalVolume' : IDL.Nat,\n 'listSize' : IDL.Nat,\n 'name' : IDL.Text,\n 'totalTurnover' : IDL.Nat,\n 'floorPrice' : IDL.Nat,\n 'avgPrice' : IDL.Nat,\n 'maxPrice' : IDL.Nat,\n 'minPrice' : IDL.Nat,\n 'transactionCount' : IDL.Nat,\n });\n const Page = IDL.Record({\n 'content' : IDL.Vec(TradeStatResp),\n 'offset' : IDL.Nat,\n 'limit' : IDL.Nat,\n 'totalElements' : IDL.Nat,\n });\n const ResponseResult_3 = IDL.Variant({ 'ok' : Page, 'err' : IDL.Text });\n const ResponseResult_2 = IDL.Variant({\n 'ok' : IDL.Vec(IDL.Text),\n 'err' : IDL.Text,\n });\n const ResponseResult_1 = IDL.Variant({\n 'ok' : TradeStatResp,\n 'err' : IDL.Text,\n });\n const StatResponse = IDL.Record({\n 'totalVolume' : IDL.Nat,\n 'listSize' : IDL.Nat,\n 'totalTurnover' : IDL.Nat,\n 'avgPrice' : IDL.Nat,\n 'maxPrice' : IDL.Nat,\n 'minPrice' : IDL.Nat,\n });\n const ResponseResult = IDL.Variant({ 'ok' : StatResponse, 'err' : IDL.Text });\n return IDL.Service({\n 'addAdmin' : IDL.Func([IDL.Text], [BoolResult], []),\n 'cycleAvailable' : IDL.Func([], [NatResult], []),\n 'cycleBalance' : IDL.Func([], [NatResult], []),\n 'findCanisterStat' : IDL.Func(\n [IDL.Nat, IDL.Nat],\n [ResponseResult_3],\n ['query'],\n ),\n 'findNameStat' : IDL.Func(\n [IDL.Text, IDL.Nat, IDL.Nat],\n [ResponseResult_3],\n ['query'],\n ),\n 'getAdminList' : IDL.Func([], [ResponseResult_2], ['query']),\n 'getCanisterStat' : IDL.Func([IDL.Text], [ResponseResult_1], ['query']),\n 'getNameStat' : IDL.Func([IDL.Text], [ResponseResult_1], ['query']),\n 'getStat' : IDL.Func([], [ResponseResult], ['query']),\n 'init' : IDL.Func([], [NatResult], []),\n 'listStat' : IDL.Func(\n [IDL.Text, IDL.Text, IDL.Nat, IDL.Bool],\n [BoolResult],\n [],\n ),\n 'removeAdmin' : IDL.Func([IDL.Text], [BoolResult], []),\n 'setCanisterId' : IDL.Func(\n [IDL.Opt(IDL.Text), IDL.Opt(IDL.Text), IDL.Opt(IDL.Text)],\n [BoolResult],\n [],\n ),\n 'tradeStat' : IDL.Func(\n [IDL.Nat, IDL.Nat, IDL.Text, IDL.Text],\n [BoolResult],\n [],\n ),\n });\n};\nexport const init = ({ IDL }) => { return []; };\n","export default ({ IDL }: any) => {\n const List = IDL.Rec();\n const TokenIndex = IDL.Nat;\n const User = IDL.Text;\n const SendBatchRequest = IDL.Record({\n tokens: IDL.Vec(TokenIndex),\n users: IDL.Vec(User)\n });\n const AllowanceRequest = IDL.Record({\n token: TokenIndex,\n owner: User,\n spender: User\n });\n const Balance__1 = IDL.Nat;\n const Result_2 = IDL.Variant({ ok: Balance__1, err: IDL.Text });\n const Balance = IDL.Nat;\n const ApproveRequest = IDL.Record({\n token: TokenIndex,\n allowance: Balance,\n spender: User\n });\n const Result_6 = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const BalanceRequest = IDL.Record({ token: TokenIndex, user: User });\n const BalanceResponseV2 = IDL.Variant({ ok: Balance, err: IDL.Text });\n const TokenIndex__1 = IDL.Nat;\n const Result_7 = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const ClaimRequest = IDL.Record({ code: IDL.Text, email: IDL.Text });\n const User__1 = IDL.Text;\n const KVPair = IDL.Record({ k: IDL.Text, v: IDL.Text });\n const TokenMetadataV2 = IDL.Record({\n cId: IDL.Text,\n tokenId: IDL.Nat,\n owner: User,\n link: IDL.Text,\n name: IDL.Text,\n minter: User,\n filePath: IDL.Text,\n fileType: IDL.Text,\n mintTime: IDL.Int,\n introduction: IDL.Text,\n attributes: IDL.Vec(KVPair),\n royalties: IDL.Nat,\n nftType: IDL.Text,\n artistName: IDL.Text\n });\n const PageResponse_1 = IDL.Record({\n content: IDL.Vec(TokenMetadataV2),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result_5 = IDL.Variant({ ok: PageResponse_1, err: IDL.Text });\n const Memo = IDL.Text;\n const TxType = IDL.Variant({\n handsel: IDL.Null,\n mint: IDL.Null,\n transaction: IDL.Null\n });\n const TransferRecordV2 = IDL.Record({\n to: User,\n tokenId: TokenIndex,\n from: User,\n memo: Memo,\n time: IDL.Int,\n tokenName: IDL.Text,\n txType: TxType,\n caller: User,\n price: Balance,\n amount: Balance\n });\n const PageResponse = IDL.Record({\n content: IDL.Vec(TransferRecordV2),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result_4 = IDL.Variant({ ok: PageResponse, err: IDL.Text });\n const NftHolderInfo = IDL.Record({\n bronze: IDL.Nat,\n gold: IDL.Nat,\n iron: IDL.Nat,\n platinum: IDL.Nat,\n silver: IDL.Nat,\n roseGold: IDL.Nat\n });\n const NftStatInfo = IDL.Record({\n holderAmount: IDL.Nat,\n userMintAmount: IDL.Nat,\n officialMintAmount: IDL.Nat,\n totalMintAmount: IDL.Nat\n });\n const EmailCode = IDL.Record({\n token: TokenIndex,\n code: IDL.Text,\n email: IDL.Text\n });\n const EmailCodeRequest = IDL.Record({ emailCode: IDL.Vec(EmailCode) });\n const Result_3 = IDL.Variant({ ok: TokenMetadataV2, err: IDL.Text });\n const MintRequestV2 = IDL.Record({\n owner: User,\n link: IDL.Text,\n name: IDL.Text,\n filePath: IDL.Text,\n fileType: IDL.Text,\n introduction: IDL.Text,\n attributes: IDL.Vec(KVPair),\n royalties: IDL.Nat,\n nftType: IDL.Text,\n image: IDL.Text,\n artistName: IDL.Text\n });\n const Result_1 = IDL.Variant({ ok: TokenIndex__1, err: IDL.Text });\n const MintRequestsV2 = IDL.Record({\n owner: User,\n link: IDL.Text,\n name: IDL.Text,\n count: IDL.Nat,\n filePath: IDL.Text,\n fileType: IDL.Text,\n introduction: IDL.Text,\n attributes: IDL.Vec(KVPair),\n royalties: IDL.Nat,\n nftType: IDL.Text,\n image: IDL.Text,\n artistName: IDL.Text\n });\n List.fill(IDL.Opt(IDL.Tuple(IDL.Text, List)));\n const EmailState = IDL.Record({\n result: List,\n total: IDL.Nat,\n claimCount: IDL.Nat,\n emailCodeCount: IDL.Nat\n });\n const Result = IDL.Variant({\n ok: IDL.Tuple(IDL.Nat, IDL.Nat),\n err: IDL.Text\n });\n const TransferRequest = IDL.Record({\n to: User,\n token: TokenIndex,\n from: User,\n memo: Memo,\n amount: Balance\n });\n const TransferResponseV2 = IDL.Variant({ ok: Balance, err: IDL.Text });\n return IDL.Service({\n airdrop: IDL.Func([SendBatchRequest], [IDL.Bool, IDL.Text], []),\n allowState: IDL.Func([IDL.Nat, IDL.Bool], [], []),\n allowable: IDL.Func([], [IDL.Nat, IDL.Nat, IDL.Bool, IDL.Bool, IDL.Nat], [\"query\"]),\n allowance: IDL.Func([AllowanceRequest], [Result_2], [\"query\"]),\n approve: IDL.Func([ApproveRequest], [Result_6], []),\n balance: IDL.Func([BalanceRequest], [BalanceResponseV2], [\"query\"]),\n bearer: IDL.Func([TokenIndex__1], [Result_7], [\"query\"]),\n claim: IDL.Func([ClaimRequest], [Result_6], []),\n cycleAvailable: IDL.Func([], [IDL.Nat], []),\n cycleBalance: IDL.Func([], [IDL.Nat], []),\n findSeriesType: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n findTokenList: IDL.Func([User__1, IDL.Nat, IDL.Nat], [Result_5], [\"query\"]),\n findTokenMarket: IDL.Func([IDL.Vec(IDL.Text), IDL.Nat, IDL.Nat], [Result_5], [\"query\"]),\n findTokenTxRecord: IDL.Func([User__1, IDL.Nat, IDL.Nat], [Result_4], [\"query\"]),\n findTxRecord: IDL.Func([TokenIndex__1, IDL.Nat, IDL.Nat], [Result_4], [\"query\"]),\n getNftHolderInfo: IDL.Func([], [NftHolderInfo], [\"query\"]),\n getNftStat: IDL.Func([], [NftStatInfo], [\"query\"]),\n initEmailCode: IDL.Func([EmailCodeRequest], [], [\"oneway\"]),\n metadata: IDL.Func([TokenIndex__1], [Result_3], [\"query\"]),\n mint: IDL.Func([MintRequestV2], [Result_1], []),\n mintNFT: IDL.Func([MintRequestV2], [Result_1], []),\n mintNFTs: IDL.Func([MintRequestsV2], [Result_1], []),\n mint_batch: IDL.Func([MintRequestsV2], [Result_1], []),\n ownerNFTCount: IDL.Func([User__1], [BalanceResponseV2], [\"query\"]),\n queryEmailState: IDL.Func([IDL.Nat, IDL.Nat], [EmailState], [\"query\"]),\n setClaimState: IDL.Func([IDL.Nat, IDL.Bool], [], []),\n setSeriesType: IDL.Func([IDL.Text, IDL.Bool], [], []),\n supply: IDL.Func([], [Result_2], [\"query\"]),\n swapMint: IDL.Func([MintRequestV2, IDL.Principal], [Result_1], []),\n tokenHolds: IDL.Func([IDL.Text], [Result], [\"query\"]),\n transfer: IDL.Func([TransferRequest], [TransferResponseV2], [])\n });\n};\n","import { actor } from \"../actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { ActorName } from \"../ActorName\";\n\nimport {\n V3TradeCanister,\n V3TradeCanisterInterfaceFactory,\n NFTCanister as NFT_SERVICE,\n NFTCanisterInterfaceFactory,\n V3TradeStat,\n V3TradeStatInterfaceFactory,\n V3NFTCanisterController,\n V3NFTCanisterControllerInterfaceFactory,\n NFTFile,\n NFTFileInterfaceFactory,\n V1NFTCanister,\n V1NFTCanisterInterfaceFactory,\n ExtNFTInterfaceFactory,\n ExtNFTService,\n} from \"@icpswap/candid\";\n\nexport const NFTCanisterController = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.NFTCanisterController,\n identity,\n idlFactory: V3NFTCanisterControllerInterfaceFactory,\n });\n\nexport const NFTCanister = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n canisterId,\n identity,\n actorName: ActorName.NFTCanister,\n idlFactory: NFTCanisterInterfaceFactory,\n });\n\nexport const NFTTradeCanister = (identity?: ActorIdentity) => {\n return actor.create({\n identity,\n actorName: ActorName.NFTTradeCanister,\n idlFactory: V3TradeCanisterInterfaceFactory,\n });\n};\n\nexport const NFTTradeStat = (identity?: ActorIdentity) => {\n return actor.create({\n identity,\n actorName: ActorName.NFTTradeStat,\n idlFactory: V3TradeStatInterfaceFactory,\n });\n};\n\nexport const NFT_V1 = (canisterId: string, identity?: ActorIdentity) => {\n return actor.create({\n identity,\n idlFactory: V1NFTCanisterInterfaceFactory,\n canisterId,\n });\n};\n\nexport const nftFile = (canisterId: string, identity?: ActorIdentity) => {\n return actor.create({\n identity,\n idlFactory: NFTFileInterfaceFactory,\n canisterId,\n });\n};\n\nexport const ext_nft = (canisterId: string, identity?: ActorIdentity) => {\n return actor.create({\n identity,\n idlFactory: ExtNFTInterfaceFactory,\n canisterId,\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const AssetClass = IDL.Variant({\n Cryptocurrency: IDL.Null,\n FiatCurrency: IDL.Null\n });\n const Asset = IDL.Record({ class: AssetClass, symbol: IDL.Text });\n const ExchangeRateError = IDL.Variant({\n AnonymousPrincipalNotAllowed: IDL.Null,\n CryptoQuoteAssetNotFound: IDL.Null,\n FailedToAcceptCycles: IDL.Null,\n ForexBaseAssetNotFound: IDL.Null,\n CryptoBaseAssetNotFound: IDL.Null,\n StablecoinRateTooFewRates: IDL.Null,\n ForexAssetsNotFound: IDL.Null,\n InconsistentRatesReceived: IDL.Null,\n RateLimited: IDL.Null,\n StablecoinRateZeroRate: IDL.Null,\n Other: IDL.Record({ code: IDL.Nat32, description: IDL.Text }),\n ForexInvalidTimestamp: IDL.Null,\n NotEnoughCycles: IDL.Null,\n ForexQuoteAssetNotFound: IDL.Null,\n StablecoinRateNotFound: IDL.Null,\n Pending: IDL.Null\n });\n const Error = IDL.Record({\n message: ExchangeRateError,\n timestamp: IDL.Int\n });\n const ExchangeRate__1 = IDL.Record({\n decimals: IDL.Nat32,\n rate: IDL.Nat64,\n error: IDL.Opt(Error),\n timestamp: IDL.Nat64,\n quote_symbol: IDL.Text,\n quote_class: IDL.Text,\n base_symbol: IDL.Text,\n base_class: IDL.Text\n });\n return IDL.Service({\n add_asset: IDL.Func([Asset, Asset], [], []),\n force_update_rate: IDL.Func([], [], []),\n get_assets: IDL.Func([], [IDL.Vec(IDL.Tuple(Asset, Asset))], [\"query\"]),\n get_exchange_rate: IDL.Func([IDL.Text], [ExchangeRate__1], [\"query\"]),\n get_exchange_rates: IDL.Func([], [IDL.Vec(ExchangeRate__1)], [\"query\"])\n });\n};\n","import { actor } from \"../actor\";\nimport { ExchangeRate, ExchangeRateInterfaceFactory } from \"@icpswap/candid\";\n\nexport const exchangeRate = () =>\n actor.create({\n canisterId: \"2ixw4-taaaa-aaaag-qcpdq-cai\",\n idlFactory: ExchangeRateInterfaceFactory,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const Result = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const Result_2 = IDL.Variant({\n ok: IDL.Vec(IDL.Principal),\n err: IDL.Text,\n });\n const AliasResult = IDL.Record({\n is_public: IDL.Bool,\n alias: IDL.Opt(IDL.Text),\n governance_id: IDL.Opt(IDL.Principal),\n ledger_id: IDL.Principal,\n });\n const Page = IDL.Record({\n content: IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Text)),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_1 = IDL.Variant({ ok: Page, err: IDL.Text });\n return IDL.Service({\n addPrincipalAlias: IDL.Func([IDL.Principal, IDL.Text], [Result], []),\n addSharedPrincipal: IDL.Func([IDL.Principal], [Result], []),\n cycleBalance: IDL.Func([], [IDL.Nat], []),\n getAdmins: IDL.Func([], [Result_2], [\"query\"]),\n getAllPrincipalAliases: IDL.Func([], [IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Text))], [\"query\"]),\n getPrincipalAlias: IDL.Func([IDL.Principal], [IDL.Opt(IDL.Text)], [\"query\"]),\n getPrincipalAliasByLedger: IDL.Func([IDL.Principal], [IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Text))], [\"query\"]),\n getPrincipalAliasByLedgers: IDL.Func([IDL.Vec(IDL.Principal)], [IDL.Vec(AliasResult)], [\"query\"]),\n queryPrincipalAliasPage: IDL.Func([IDL.Nat, IDL.Nat], [Result_1], [\"query\"]),\n setAdmins: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n syncSNSProject: IDL.Func([], [Result], []),\n });\n};\n","import { LiquidityLocksService, LiquidityLocksInterfaceFactory } from \"@icpswap/candid\";\nimport { ActorName } from \"../ActorName\";\n\nimport { actor } from \"../actor\";\n\nexport const liquidityLocks = () =>\n actor.create({\n actorName: ActorName.LiquidityLocks,\n idlFactory: LiquidityLocksInterfaceFactory,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const TokenIdentifier = IDL.Text;\n const AccountIdentifier = IDL.Text;\n const User = IDL.Variant({\n principal: IDL.Principal,\n address: AccountIdentifier\n });\n const AllowanceRequest = IDL.Record({\n token: TokenIdentifier,\n owner: User,\n spender: IDL.Principal\n });\n const CommonError = IDL.Variant({\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n });\n const Result_17 = IDL.Variant({ ok: IDL.Nat, err: CommonError });\n const SubAccount = IDL.Vec(IDL.Nat8);\n const Balance = IDL.Nat;\n const ApproveRequest = IDL.Record({\n token: TokenIdentifier,\n subaccount: IDL.Opt(SubAccount),\n allowance: Balance,\n spender: IDL.Principal\n });\n const ApproveAllRequest = IDL.Record({\n approved: IDL.Bool,\n spender: User\n });\n const Result_3 = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const BalanceRequest = IDL.Record({\n token: TokenIdentifier,\n user: User\n });\n const BalanceResponse = IDL.Variant({ ok: Balance, err: CommonError });\n const Result_16 = IDL.Variant({ ok: IDL.Text, err: CommonError });\n const Chunk = IDL.Record({\n content: IDL.Vec(IDL.Nat8),\n batch_id: IDL.Nat\n });\n const Extension = IDL.Text;\n const TokenIndex = IDL.Nat32;\n const KVPair = IDL.Record({ k: IDL.Text, v: IDL.Text });\n const TokenMetadata = IDL.Record({\n cId: IDL.Text,\n tokenId: TokenIndex,\n owner: AccountIdentifier,\n metadata: IDL.Opt(IDL.Vec(IDL.Nat8)),\n link: IDL.Text,\n name: IDL.Text,\n minter: AccountIdentifier,\n filePath: IDL.Text,\n fileType: IDL.Text,\n mintTime: IDL.Int,\n introduction: IDL.Text,\n attributes: IDL.Vec(KVPair),\n royalties: IDL.Nat,\n nftType: IDL.Text,\n artistName: IDL.Text\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(TokenMetadata),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result_15 = IDL.Variant({ ok: Page_1, err: IDL.Text });\n const Remark = IDL.Text;\n const Memo = IDL.Vec(IDL.Nat8);\n const TransType = IDL.Variant({\n burn: IDL.Null,\n mint: IDL.Null,\n approve: IDL.Null,\n transfer: IDL.Null\n });\n const TransferRecord = IDL.Record({\n to: AccountIdentifier,\n remark: Remark,\n tokenId: TokenIndex,\n from: AccountIdentifier,\n hash: IDL.Text,\n memo: IDL.Opt(Memo),\n time: IDL.Int,\n tokenName: IDL.Text,\n txType: TransType,\n caller: AccountIdentifier,\n price: Balance,\n amount: Balance\n });\n const Page = IDL.Record({\n content: IDL.Vec(TransferRecord),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const Result_14 = IDL.Variant({ ok: Page, err: IDL.Text });\n const KVPair__1 = IDL.Record({ k: IDL.Text, v: IDL.Text });\n const CanisterInfo = IDL.Record({\n cid: IDL.Text,\n creator: AccountIdentifier,\n linkMap: IDL.Vec(KVPair__1),\n ownerName: IDL.Text,\n owner: AccountIdentifier,\n name: IDL.Text,\n createTime: IDL.Int,\n totalSupply: IDL.Nat,\n introduction: IDL.Text,\n mintSupply: IDL.Nat,\n royalties: IDL.Nat,\n image: IDL.Text\n });\n const Result_13 = IDL.Variant({ ok: CanisterInfo, err: IDL.Text });\n const CycleInfo = IDL.Record({ balance: IDL.Nat, available: IDL.Nat });\n const Error = IDL.Variant({\n CommonError: IDL.Null,\n InternalError: IDL.Text,\n UnsupportedToken: IDL.Text,\n InsufficientFunds: IDL.Null\n });\n const Result_12 = IDL.Variant({ ok: CycleInfo, err: Error });\n const Result_11 = IDL.Variant({\n ok: IDL.Tuple(IDL.Nat, IDL.Nat),\n err: IDL.Text\n });\n const Result_10 = IDL.Variant({ ok: IDL.Vec(IDL.Text), err: IDL.Text });\n const Result_6 = IDL.Variant({ ok: TokenIndex, err: IDL.Text });\n const Result_1 = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const HeaderField = IDL.Tuple(IDL.Text, IDL.Text);\n const HttpRequest = IDL.Record({\n url: IDL.Text,\n method: IDL.Text,\n body: IDL.Vec(IDL.Nat8),\n headers: IDL.Vec(HeaderField)\n });\n const StreamingCallbackToken = IDL.Record({\n key: IDL.Text,\n index: IDL.Nat,\n content_encoding: IDL.Text\n });\n const StreamingStrategy = IDL.Variant({\n Callback: IDL.Record({\n token: StreamingCallbackToken,\n callback: IDL.Func([], [], [])\n })\n });\n const HttpResponse = IDL.Record({\n body: IDL.Vec(IDL.Nat8),\n headers: IDL.Vec(HeaderField),\n streaming_strategy: IDL.Opt(StreamingStrategy),\n status_code: IDL.Nat16\n });\n const StreamingCallbackHttpResponse = IDL.Record({\n token: IDL.Opt(StreamingCallbackToken),\n body: IDL.Vec(IDL.Nat8)\n });\n const Result_9 = IDL.Variant({ ok: TokenMetadata, err: IDL.Text });\n const Result_8 = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const Metadata = IDL.Variant({\n fungible: IDL.Record({\n decimals: IDL.Nat8,\n ownerAccount: AccountIdentifier,\n metadata: IDL.Opt(IDL.Vec(IDL.Nat8)),\n name: IDL.Text,\n symbol: IDL.Text\n }),\n nonfungible: IDL.Record({ metadata: IDL.Opt(IDL.Vec(IDL.Nat8)) })\n });\n const Result_7 = IDL.Variant({ ok: Metadata, err: CommonError });\n const MintRequest = IDL.Record({\n owner: User,\n metadata: IDL.Opt(IDL.Vec(IDL.Nat8)),\n link: IDL.Text,\n name: IDL.Text,\n filePath: IDL.Text,\n fileType: IDL.Text,\n introduction: IDL.Text,\n attributes: IDL.Vec(KVPair),\n royalties: IDL.Nat,\n nftType: IDL.Text,\n image: IDL.Text,\n artistName: IDL.Text\n });\n const Result_5 = IDL.Variant({ ok: Balance, err: IDL.Text });\n const Token = IDL.Record({ address: IDL.Text, standard: IDL.Text });\n const QueryPositionResult = IDL.Record({\n fee: IDL.Nat,\n tickUpper: IDL.Int,\n feeGrowthInside1LastX128: IDL.Nat,\n pool: IDL.Text,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n positionId: IDL.Text,\n token0: Token,\n token1: Token,\n tickLower: IDL.Int\n });\n const Result_4 = IDL.Variant({\n ok: QueryPositionResult,\n err: IDL.Text\n });\n const Result_2 = IDL.Variant({ ok: Balance, err: CommonError });\n const Time = IDL.Int;\n const Listing = IDL.Record({\n locked: IDL.Opt(Time),\n seller: IDL.Principal,\n price: IDL.Nat64\n });\n const Result = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(TokenIndex, IDL.Opt(Listing), IDL.Opt(IDL.Vec(IDL.Nat8)))),\n err: CommonError\n });\n const TransferRequest = IDL.Record({\n to: User,\n token: TokenIdentifier,\n notify: IDL.Bool,\n from: User,\n memo: Memo,\n subaccount: IDL.Opt(SubAccount),\n nonce: IDL.Opt(IDL.Nat),\n amount: Balance\n });\n const TransferResponse = IDL.Variant({\n ok: Balance,\n err: IDL.Variant({\n InsufficientAllowance: IDL.Null,\n CannotNotify: AccountIdentifier,\n InsufficientBalance: IDL.Null,\n InvalidToken: TokenIdentifier,\n Rejected: IDL.Null,\n Unauthorized: AccountIdentifier,\n Other: IDL.Text\n })\n });\n const SwapNFT = IDL.Service({\n allowance: IDL.Func([AllowanceRequest], [Result_17], [\"query\"]),\n approve: IDL.Func([ApproveRequest], [], []),\n approveForAll: IDL.Func([ApproveAllRequest], [Result_3], []),\n balance: IDL.Func([BalanceRequest], [BalanceResponse], [\"query\"]),\n bearer: IDL.Func([TokenIdentifier], [Result_16], [\"query\"]),\n checkOperator: IDL.Func([IDL.Text, IDL.Text, IDL.Text], [IDL.Bool], []),\n chunkSize: IDL.Func([], [IDL.Nat], [\"query\"]),\n clearChunk: IDL.Func([], [IDL.Bool], []),\n commit_batch: IDL.Func(\n [\n IDL.Record({\n batch_id: IDL.Nat,\n content_type: IDL.Text,\n chunk_ids: IDL.Vec(IDL.Nat)\n })\n ],\n [],\n []\n ),\n create_batch: IDL.Func([], [IDL.Record({ batch_id: IDL.Nat })], []),\n create_chunk: IDL.Func([Chunk], [IDL.Record({ chunk_id: IDL.Nat })], []),\n deletePool: IDL.Func([IDL.Text], [], []),\n extensions: IDL.Func([], [IDL.Vec(Extension)], [\"query\"]),\n findRemovedTokenList: IDL.Func([User, IDL.Nat, IDL.Nat], [Result_15], [\"query\"]),\n findTokenList: IDL.Func([User, IDL.Nat, IDL.Nat], [Result_15], [\"query\"]),\n findTokenListByPool: IDL.Func([IDL.Text, IDL.Nat, IDL.Nat], [Result_15], [\"query\"]),\n findTokenMarket: IDL.Func([IDL.Vec(IDL.Text), IDL.Nat, IDL.Nat], [Result_15], [\"query\"]),\n findTokenTxRecord: IDL.Func([User, IDL.Nat, IDL.Nat], [Result_14], [\"query\"]),\n findTxRecord: IDL.Func([TokenIdentifier, IDL.Nat, IDL.Nat], [Result_14], [\"query\"]),\n getAllowances: IDL.Func([], [IDL.Vec(IDL.Tuple(TokenIndex, IDL.Vec(AccountIdentifier)))], [\"query\"]),\n getCanisterInfo: IDL.Func([], [Result_13], [\"query\"]),\n getCycleInfo: IDL.Func([], [Result_12], []),\n getMinter: IDL.Func([], [IDL.Principal], [\"query\"]),\n getNftStat: IDL.Func([], [Result_11], [\"query\"]),\n getRegistry: IDL.Func([], [IDL.Vec(IDL.Tuple(TokenIndex, IDL.Text))], [\"query\"]),\n getRemovedPools: IDL.Func([], [Result_10], [\"query\"]),\n getTokenId: IDL.Func([IDL.Text, IDL.Text], [Result_6], [\"query\"]),\n getTokens: IDL.Func([], [IDL.Vec(IDL.Tuple(TokenIndex, TokenMetadata))], [\"query\"]),\n getTradeCanisterId: IDL.Func([], [Result_1], [\"query\"]),\n http_request: IDL.Func([HttpRequest], [HttpResponse], [\"query\"]),\n http_request_streaming_callback: IDL.Func([StreamingCallbackToken], [StreamingCallbackHttpResponse], [\"query\"]),\n icsMetadata: IDL.Func([TokenIndex], [Result_9], [\"query\"]),\n initNFTCanisterInfo: IDL.Func([CanisterInfo, TokenIndex, IDL.Text], [Result_1], []),\n isApproveForAll: IDL.Func([IDL.Text, IDL.Text], [Result_3], [\"query\"]),\n isApproveForToken: IDL.Func([TokenIndex, IDL.Text, IDL.Text], [Result_8], [\"query\"]),\n maxFileSize: IDL.Func([IDL.Nat], [Result_1], []),\n metadata: IDL.Func([TokenIdentifier], [Result_7], [\"query\"]),\n mint: IDL.Func([MintRequest], [Result_6], []),\n ownerNFTCount: IDL.Func([User], [Result_5], [\"query\"]),\n positions: IDL.Func([TokenIndex], [Result_4], []),\n removeAllApproval: IDL.Func([ApproveAllRequest], [Result_3], []),\n removeApproval: IDL.Func([ApproveRequest], [Result_3], []),\n removePool: IDL.Func([IDL.Text], [], []),\n setLogo: IDL.Func([IDL.Text], [Result_3], []),\n setMinter: IDL.Func([IDL.Principal], [], []),\n setTradeCanisterId: IDL.Func([IDL.Opt(IDL.Text)], [Result_3], []),\n spenderRemoveApproval: IDL.Func([TokenIdentifier], [Result_3], []),\n supply: IDL.Func([TokenIdentifier], [Result_2], [\"query\"]),\n tokenURI: IDL.Func([IDL.Nat], [Result_1], []),\n tokens_ext: IDL.Func([AccountIdentifier], [Result], [\"query\"]),\n transfer: IDL.Func([TransferRequest], [TransferResponse], [])\n });\n return SwapNFT;\n};\n","export const idlFactory = ({ IDL }: any) => {\n const Passcode = IDL.Record({\n fee: IDL.Nat,\n token0: IDL.Principal,\n token1: IDL.Principal,\n });\n const Error = IDL.Variant({\n CommonError: IDL.Null,\n InternalError: IDL.Text,\n UnsupportedToken: IDL.Text,\n InsufficientFunds: IDL.Null,\n });\n const Result_1 = IDL.Variant({ ok: IDL.Null, err: Error });\n const Token = IDL.Record({ address: IDL.Text, standard: IDL.Text });\n const CreatePoolArgs = IDL.Record({\n fee: IDL.Nat,\n sqrtPriceX96: IDL.Text,\n token0: Token,\n token1: Token,\n });\n const PoolData = IDL.Record({\n fee: IDL.Nat,\n key: IDL.Text,\n tickSpacing: IDL.Int,\n token0: Token,\n token1: Token,\n canisterId: IDL.Principal,\n });\n const Result_4 = IDL.Variant({ ok: PoolData, err: Error });\n const CycleInfo = IDL.Record({ balance: IDL.Nat, available: IDL.Nat });\n const Result_7 = IDL.Variant({ ok: CycleInfo, err: Error });\n const Result_6 = IDL.Variant({\n ok: IDL.Opt(IDL.Principal),\n err: Error,\n });\n const Result_5 = IDL.Variant({ ok: IDL.Vec(Passcode), err: Error });\n const GetPoolArgs = IDL.Record({\n fee: IDL.Nat,\n token0: Token,\n token1: Token,\n });\n const Result_2 = IDL.Variant({ ok: IDL.Vec(PoolData), err: Error });\n const Result_3 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Vec(Passcode))),\n err: Error,\n });\n const Result = IDL.Variant({ ok: IDL.Text, err: Error });\n return IDL.Service({\n addPasscode: IDL.Func([IDL.Principal, Passcode], [Result_1], []),\n addPoolControllers: IDL.Func(\n [IDL.Principal, IDL.Vec(IDL.Principal)],\n [],\n []\n ),\n batchAddPoolControllers: IDL.Func(\n [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)],\n [],\n []\n ),\n batchRemovePoolControllers: IDL.Func(\n [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)],\n [],\n []\n ),\n batchSetPoolAdmins: IDL.Func(\n [IDL.Vec(IDL.Principal), IDL.Vec(IDL.Principal)],\n [],\n []\n ),\n clearRemovedPool: IDL.Func([IDL.Principal], [IDL.Text], []),\n createPool: IDL.Func([CreatePoolArgs], [Result_4], []),\n deletePasscode: IDL.Func([IDL.Principal, Passcode], [Result_1], []),\n getCycleInfo: IDL.Func([], [Result_7], []),\n getGovernanceCid: IDL.Func([], [Result_6], [\"query\"]),\n getPasscodesByPrincipal: IDL.Func([IDL.Principal], [Result_5], [\"query\"]),\n getPool: IDL.Func([GetPoolArgs], [Result_4], [\"query\"]),\n getPools: IDL.Func([], [Result_2], [\"query\"]),\n getPrincipalPasscodes: IDL.Func([], [Result_3], [\"query\"]),\n getRemovedPools: IDL.Func([], [Result_2], [\"query\"]),\n getVersion: IDL.Func([], [IDL.Text], [\"query\"]),\n removePool: IDL.Func([GetPoolArgs], [IDL.Text], []),\n removePoolControllers: IDL.Func(\n [IDL.Principal, IDL.Vec(IDL.Principal)],\n [],\n []\n ),\n removePoolWithdrawErrorLog: IDL.Func(\n [IDL.Principal, IDL.Nat, IDL.Bool],\n [Result_1],\n []\n ),\n restorePool: IDL.Func([IDL.Principal], [IDL.Text], []),\n setPoolAdmins: IDL.Func([IDL.Principal, IDL.Vec(IDL.Principal)], [], []),\n upgradePoolTokenStandard: IDL.Func(\n [IDL.Principal, IDL.Principal],\n [Result],\n []\n ),\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const AccountBalance = IDL.Record({\n balance0: IDL.Nat,\n balance1: IDL.Nat,\n });\n const Page_5 = IDL.Record({\n content: IDL.Vec(IDL.Tuple(IDL.Principal, AccountBalance)),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Error = IDL.Variant({\n CommonError: IDL.Null,\n InternalError: IDL.Text,\n UnsupportedToken: IDL.Text,\n InsufficientFunds: IDL.Null,\n });\n const Result_26 = IDL.Variant({ ok: Page_5, err: Error });\n const Result_2 = IDL.Variant({ ok: IDL.Bool, err: Error });\n const Result_25 = IDL.Variant({\n ok: IDL.Record({\n tokenIncome: IDL.Vec(\n IDL.Tuple(\n IDL.Nat,\n IDL.Record({ tokensOwed0: IDL.Nat, tokensOwed1: IDL.Nat })\n )\n ),\n totalTokensOwed0: IDL.Nat,\n totalTokensOwed1: IDL.Nat,\n }),\n err: Error,\n });\n const ClaimArgs = IDL.Record({ positionId: IDL.Nat });\n const Result_24 = IDL.Variant({\n ok: IDL.Record({ amount0: IDL.Nat, amount1: IDL.Nat }),\n err: Error,\n });\n const DecreaseLiquidityArgs = IDL.Record({\n liquidity: IDL.Text,\n positionId: IDL.Nat,\n });\n const DepositArgs = IDL.Record({\n fee: IDL.Nat,\n token: IDL.Text,\n amount: IDL.Nat,\n });\n const Result = IDL.Variant({ ok: IDL.Nat, err: Error });\n const DepositAndMintArgs = IDL.Record({\n tickUpper: IDL.Int,\n fee0: IDL.Nat,\n fee1: IDL.Nat,\n amount0: IDL.Nat,\n amount1: IDL.Nat,\n positionOwner: IDL.Principal,\n amount0Desired: IDL.Text,\n amount1Desired: IDL.Text,\n tickLower: IDL.Int,\n });\n const Result_23 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Principal)),\n err: Error,\n });\n const CycleInfo = IDL.Record({ balance: IDL.Nat, available: IDL.Nat });\n const Result_22 = IDL.Variant({ ok: CycleInfo, err: Error });\n const Token = IDL.Record({ address: IDL.Text, standard: IDL.Text });\n const GetPositionArgs = IDL.Record({\n tickUpper: IDL.Int,\n tickLower: IDL.Int,\n });\n const PositionInfo = IDL.Record({\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n });\n const Result_21 = IDL.Variant({ ok: PositionInfo, err: Error });\n const PositionInfoWithId = IDL.Record({\n id: IDL.Text,\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n });\n const Page_4 = IDL.Record({\n content: IDL.Vec(PositionInfoWithId),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_20 = IDL.Variant({ ok: Page_4, err: Error });\n const Result_19 = IDL.Variant({ ok: IDL.Principal, err: Error });\n const TransactionType = IDL.Variant({\n decreaseLiquidity: IDL.Null,\n claim: IDL.Null,\n swap: IDL.Null,\n addLiquidity: IDL.Null,\n increaseLiquidity: IDL.Null,\n });\n const SwapRecordInfo = IDL.Record({\n to: IDL.Text,\n feeAmount: IDL.Int,\n action: TransactionType,\n feeAmountTotal: IDL.Int,\n token0Id: IDL.Text,\n token1Id: IDL.Text,\n token0AmountTotal: IDL.Nat,\n liquidityTotal: IDL.Nat,\n from: IDL.Text,\n tick: IDL.Int,\n feeTire: IDL.Nat,\n recipient: IDL.Text,\n token0ChangeAmount: IDL.Nat,\n token1AmountTotal: IDL.Nat,\n liquidityChange: IDL.Nat,\n token1Standard: IDL.Text,\n TVLToken0: IDL.Int,\n TVLToken1: IDL.Int,\n token0Fee: IDL.Nat,\n token1Fee: IDL.Nat,\n timestamp: IDL.Int,\n token1ChangeAmount: IDL.Nat,\n token0Standard: IDL.Text,\n price: IDL.Nat,\n poolId: IDL.Text,\n });\n const PushError = IDL.Record({ time: IDL.Int, message: IDL.Text });\n const Result_18 = IDL.Variant({\n ok: IDL.Record({\n infoCid: IDL.Text,\n records: IDL.Vec(SwapRecordInfo),\n errors: IDL.Vec(PushError),\n retryCount: IDL.Nat,\n }),\n err: Error,\n });\n const TickLiquidityInfo = IDL.Record({\n tickIndex: IDL.Int,\n price0Decimal: IDL.Nat,\n liquidityNet: IDL.Int,\n price0: IDL.Nat,\n price1: IDL.Nat,\n liquidityGross: IDL.Nat,\n price1Decimal: IDL.Nat,\n });\n const Page_3 = IDL.Record({\n content: IDL.Vec(TickLiquidityInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_17 = IDL.Variant({ ok: Page_3, err: Error });\n const TickInfoWithId = IDL.Record({\n id: IDL.Text,\n initialized: IDL.Bool,\n feeGrowthOutside1X128: IDL.Nat,\n secondsPerLiquidityOutsideX128: IDL.Nat,\n liquidityNet: IDL.Int,\n secondsOutside: IDL.Nat,\n liquidityGross: IDL.Nat,\n feeGrowthOutside0X128: IDL.Nat,\n tickCumulativeOutside: IDL.Int,\n });\n const Page_2 = IDL.Record({\n content: IDL.Vec(TickInfoWithId),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_16 = IDL.Variant({ ok: Page_2, err: Error });\n const Result_15 = IDL.Variant({\n ok: IDL.Record({\n swapFee0Repurchase: IDL.Nat,\n token0Amount: IDL.Nat,\n swapFeeReceiver: IDL.Text,\n token1Amount: IDL.Nat,\n swapFee1Repurchase: IDL.Nat,\n }),\n err: Error,\n });\n const Value = IDL.Variant({\n Int: IDL.Int,\n Nat: IDL.Nat,\n Blob: IDL.Vec(IDL.Nat8),\n Text: IDL.Text,\n });\n const TransferLog = IDL.Record({\n to: IDL.Principal,\n fee: IDL.Nat,\n result: IDL.Text,\n token: Token,\n action: IDL.Text,\n daysFrom19700101: IDL.Nat,\n owner: IDL.Principal,\n from: IDL.Principal,\n fromSubaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n timestamp: IDL.Nat,\n index: IDL.Nat,\n amount: IDL.Nat,\n errorMsg: IDL.Text,\n });\n const Result_14 = IDL.Variant({ ok: IDL.Vec(TransferLog), err: Error });\n const Result_1 = IDL.Variant({ ok: IDL.Text, err: Error });\n const UserPositionInfo = IDL.Record({\n tickUpper: IDL.Int,\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n tickLower: IDL.Int,\n });\n const Result_13 = IDL.Variant({ ok: UserPositionInfo, err: Error });\n const Result_12 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Text, IDL.Vec(IDL.Nat))),\n err: Error,\n });\n const Result_11 = IDL.Variant({ ok: IDL.Vec(IDL.Nat), err: Error });\n const UserPositionInfoWithTokenAmount = IDL.Record({\n id: IDL.Nat,\n tickUpper: IDL.Int,\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n token0Amount: IDL.Nat,\n token1Amount: IDL.Nat,\n tickLower: IDL.Int,\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(UserPositionInfoWithTokenAmount),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_10 = IDL.Variant({ ok: Page_1, err: Error });\n const UserPositionInfoWithId = IDL.Record({\n id: IDL.Nat,\n tickUpper: IDL.Int,\n tokensOwed0: IDL.Nat,\n tokensOwed1: IDL.Nat,\n feeGrowthInside1LastX128: IDL.Nat,\n liquidity: IDL.Nat,\n feeGrowthInside0LastX128: IDL.Nat,\n tickLower: IDL.Int,\n });\n const Page = IDL.Record({\n content: IDL.Vec(UserPositionInfoWithId),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_9 = IDL.Variant({ ok: Page, err: Error });\n const Result_8 = IDL.Variant({\n ok: IDL.Vec(UserPositionInfoWithId),\n err: Error,\n });\n const Result_7 = IDL.Variant({\n ok: IDL.Record({ balance0: IDL.Nat, balance1: IDL.Nat }),\n err: Error,\n });\n const WithdrawErrorLog = IDL.Record({\n token: Token,\n time: IDL.Int,\n user: IDL.Principal,\n amount: IDL.Nat,\n });\n const Result_6 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Nat, WithdrawErrorLog)),\n err: Error,\n });\n const IncreaseLiquidityArgs = IDL.Record({\n positionId: IDL.Nat,\n amount0Desired: IDL.Text,\n amount1Desired: IDL.Text,\n });\n const PoolMetadata = IDL.Record({\n fee: IDL.Nat,\n key: IDL.Text,\n sqrtPriceX96: IDL.Nat,\n tick: IDL.Int,\n liquidity: IDL.Nat,\n token0: Token,\n token1: Token,\n maxLiquidityPerTick: IDL.Nat,\n nextPositionId: IDL.Nat,\n });\n const Result_5 = IDL.Variant({ ok: PoolMetadata, err: Error });\n const MintArgs = IDL.Record({\n fee: IDL.Nat,\n tickUpper: IDL.Int,\n token0: IDL.Text,\n token1: IDL.Text,\n amount0Desired: IDL.Text,\n amount1Desired: IDL.Text,\n tickLower: IDL.Int,\n });\n const SwapArgs = IDL.Record({\n amountIn: IDL.Text,\n zeroForOne: IDL.Bool,\n amountOutMinimum: IDL.Text,\n });\n const Result_4 = IDL.Variant({\n ok: IDL.Record({ tokensOwed0: IDL.Nat, tokensOwed1: IDL.Nat }),\n err: Error,\n });\n const Result_3 = IDL.Variant({ ok: IDL.Int, err: Error });\n const WithdrawArgs = IDL.Record({\n fee: IDL.Nat,\n token: IDL.Text,\n amount: IDL.Nat,\n });\n return IDL.Service({\n allTokenBalance: IDL.Func([IDL.Nat, IDL.Nat], [Result_26], [\"query\"]),\n approvePosition: IDL.Func([IDL.Principal, IDL.Nat], [Result_2], []),\n batchRefreshIncome: IDL.Func([IDL.Vec(IDL.Nat)], [Result_25], [\"query\"]),\n checkOwnerOfUserPosition: IDL.Func(\n [IDL.Principal, IDL.Nat],\n [Result_2],\n [\"query\"]\n ),\n claim: IDL.Func([ClaimArgs], [Result_24], []),\n decreaseLiquidity: IDL.Func([DecreaseLiquidityArgs], [Result_24], []),\n deposit: IDL.Func([DepositArgs], [Result], []),\n depositAllAndMint: IDL.Func([DepositAndMintArgs], [Result], []),\n depositFrom: IDL.Func([DepositArgs], [Result], []),\n getAddressPrincipals: IDL.Func([], [Result_23], [\"query\"]),\n getAdmins: IDL.Func([], [IDL.Vec(IDL.Principal)], [\"query\"]),\n getAvailabilityState: IDL.Func(\n [],\n [\n IDL.Record({\n whiteList: IDL.Vec(IDL.Principal),\n available: IDL.Bool,\n }),\n ],\n [\"query\"]\n ),\n getClaimLog: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n getCycleInfo: IDL.Func([], [Result_22], []),\n getMistransferBalance: IDL.Func([Token], [Result], []),\n getPosition: IDL.Func([GetPositionArgs], [Result_21], [\"query\"]),\n getPositions: IDL.Func([IDL.Nat, IDL.Nat], [Result_20], [\"query\"]),\n getPrincipal: IDL.Func([IDL.Text], [Result_19], [\"query\"]),\n getSwapRecordState: IDL.Func([], [Result_18], [\"query\"]),\n getTickInfos: IDL.Func([IDL.Nat, IDL.Nat], [Result_17], [\"query\"]),\n getTicks: IDL.Func([IDL.Nat, IDL.Nat], [Result_16], [\"query\"]),\n getTokenAmountState: IDL.Func([], [Result_15], [\"query\"]),\n getTokenBalance: IDL.Func(\n [],\n [IDL.Record({ token0: IDL.Nat, token1: IDL.Nat })],\n []\n ),\n getTokenMeta: IDL.Func(\n [],\n [\n IDL.Record({\n token0: IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n token1: IDL.Vec(IDL.Tuple(IDL.Text, Value)),\n }),\n ],\n []\n ),\n getTransferLogs: IDL.Func([], [Result_14], [\"query\"]),\n getUserByPositionId: IDL.Func([IDL.Nat], [Result_1], [\"query\"]),\n getUserPosition: IDL.Func([IDL.Nat], [Result_13], [\"query\"]),\n getUserPositionIds: IDL.Func([], [Result_12], [\"query\"]),\n getUserPositionIdsByPrincipal: IDL.Func(\n [IDL.Principal],\n [Result_11],\n [\"query\"]\n ),\n getUserPositionWithTokenAmount: IDL.Func(\n [IDL.Nat, IDL.Nat],\n [Result_10],\n [\"query\"]\n ),\n getUserPositions: IDL.Func([IDL.Nat, IDL.Nat], [Result_9], [\"query\"]),\n getUserPositionsByPrincipal: IDL.Func(\n [IDL.Principal],\n [Result_8],\n [\"query\"]\n ),\n getUserUnusedBalance: IDL.Func([IDL.Principal], [Result_7], [\"query\"]),\n getVersion: IDL.Func([], [IDL.Text], [\"query\"]),\n getWithdrawErrorLog: IDL.Func([], [Result_6], [\"query\"]),\n increaseLiquidity: IDL.Func([IncreaseLiquidityArgs], [Result], []),\n init: IDL.Func([IDL.Nat, IDL.Int, IDL.Nat], [], []),\n metadata: IDL.Func([], [Result_5], [\"query\"]),\n mint: IDL.Func([MintArgs], [Result], []),\n quote: IDL.Func([SwapArgs], [Result], [\"query\"]),\n quoteForAll: IDL.Func([SwapArgs], [Result], [\"query\"]),\n refreshIncome: IDL.Func([IDL.Nat], [Result_4], [\"query\"]),\n removeErrorTransferLog: IDL.Func([IDL.Nat, IDL.Bool], [], []),\n removeWithdrawErrorLog: IDL.Func([IDL.Nat, IDL.Bool], [], []),\n resetTokenAmountState: IDL.Func(\n [IDL.Nat, IDL.Nat, IDL.Nat, IDL.Nat],\n [],\n []\n ),\n setAdmins: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n setAvailable: IDL.Func([IDL.Bool], [], []),\n setWhiteList: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n sumTick: IDL.Func([], [Result_3], [\"query\"]),\n swap: IDL.Func([SwapArgs], [Result], []),\n transferPosition: IDL.Func(\n [IDL.Principal, IDL.Principal, IDL.Nat],\n [Result_2],\n []\n ),\n upgradeTokenStandard: IDL.Func([IDL.Principal], [Result_1], []),\n withdraw: IDL.Func([WithdrawArgs], [Result], []),\n withdrawMistransferBalance: IDL.Func([Token], [Result], []),\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const Result_11 = IDL.Variant({\n ok: IDL.Vec(IDL.Principal),\n err: IDL.Text,\n });\n const PoolAprIndex = IDL.Record({\n aprAvg1D: IDL.Float64,\n aprAvg7D: IDL.Float64,\n pool: IDL.Principal,\n aprAvg30D: IDL.Float64,\n });\n const Result_10 = IDL.Variant({ ok: PoolAprIndex, err: IDL.Text });\n const PositionDataIndex = IDL.Record({\n apr: IDL.Float64,\n snapshotTime: IDL.Nat,\n token0FeeAmount: IDL.Nat,\n value: IDL.Float64,\n token1FeeDayAmount: IDL.Nat,\n fees: IDL.Float64,\n pool: IDL.Principal,\n positionId: IDL.Nat,\n token0Amount: IDL.Nat,\n token1USDPrice: IDL.Float64,\n dayId: IDL.Nat,\n token1Amount: IDL.Nat,\n token1FeeAmount: IDL.Nat,\n token0FeeDayAmount: IDL.Nat,\n token0USDPrice: IDL.Float64,\n });\n const Result_9 = IDL.Variant({\n ok: IDL.Vec(PositionDataIndex),\n err: IDL.Text,\n });\n const PriceIndex = IDL.Record({\n priceLow7D: IDL.Float64,\n pool: IDL.Principal,\n priceHigh24H: IDL.Float64,\n priceHigh30D: IDL.Float64,\n priceHigh7D: IDL.Float64,\n priceLow24H: IDL.Float64,\n priceLow30D: IDL.Float64,\n });\n const Result_8 = IDL.Variant({ ok: PriceIndex, err: IDL.Text });\n const TaskPositionStatus = IDL.Record({\n lastSyncDay4Position: IDL.Nat,\n syncErrorMsgs: IDL.Vec(IDL.Text),\n syncPoolSize: IDL.Nat,\n taskStatus: IDL.Bool,\n currentSyncPool: IDL.Text,\n pendingSyncPoolSize: IDL.Nat,\n step1: IDL.Text,\n step2: IDL.Text,\n step3: IDL.Text,\n step4: IDL.Text,\n step5: IDL.Text,\n currentPoolPositionSize: IDL.Nat,\n currentDay: IDL.Nat,\n syncPositionDataLock: IDL.Bool,\n nowTime: IDL.Nat,\n });\n const TaskPriceStatus = IDL.Record({\n syncErrorMsgs: IDL.Vec(IDL.Text),\n syncPoolSize: IDL.Nat,\n taskStatus: IDL.Bool,\n currentSyncPool: IDL.Text,\n pendingSyncPoolSize: IDL.Nat,\n currentHour: IDL.Nat,\n step1: IDL.Text,\n step2: IDL.Text,\n step3: IDL.Text,\n step4: IDL.Text,\n lastSyncHour4PoolPrice: IDL.Nat,\n currentDay: IDL.Nat,\n syncPoolPriceLock: IDL.Bool,\n nowTime: IDL.Nat,\n });\n const TaskStatus = IDL.Record({\n lastSyncDay4Position: IDL.Nat,\n lastSyncDay4PoolData: IDL.Nat,\n totalPoolSize: IDL.Nat,\n taskStatus: IDL.Bool,\n currentHour: IDL.Nat,\n syncPoolDataLock: IDL.Bool,\n pendingSyncPriceSize: IDL.Nat,\n totalTokenListSize: IDL.Nat,\n lastSyncHour4PoolPrice: IDL.Nat,\n currentDay: IDL.Nat,\n pendingSyncPoolDataSize: IDL.Nat,\n syncPositionDataLock: IDL.Bool,\n pendingSyncPositionSize: IDL.Nat,\n syncPoolPriceLock: IDL.Bool,\n nowTime: IDL.Nat,\n });\n const Result_7 = IDL.Variant({\n ok: IDL.Vec(\n IDL.Record({\n apr: IDL.Float64,\n snapshotTime: IDL.Nat,\n dayId: IDL.Nat,\n poolId: IDL.Text,\n }),\n ),\n err: IDL.Text,\n });\n const ICPSwapPoolDataIndex = IDL.Record({\n low: IDL.Float64,\n snapshotTime: IDL.Nat,\n volumeToken0: IDL.Float64,\n volumeToken1: IDL.Float64,\n sqrtPrice: IDL.Float64,\n high: IDL.Float64,\n close: IDL.Float64,\n open: IDL.Float64,\n token1Price: IDL.Float64,\n volumeUSD: IDL.Float64,\n feesUSD: IDL.Float64,\n tvlUSD: IDL.Float64,\n token0LockedAmount: IDL.Float64,\n txCount: IDL.Int,\n token1LedgerId: IDL.Text,\n dayId: IDL.Nat,\n token0LedgerId: IDL.Text,\n token1LockedAmount: IDL.Float64,\n token0Price: IDL.Float64,\n poolId: IDL.Text,\n });\n const Page_2 = IDL.Record({\n content: IDL.Vec(ICPSwapPoolDataIndex),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_6 = IDL.Variant({ ok: Page_2, err: IDL.Text });\n const Result_5 = IDL.Variant({\n ok: IDL.Vec(\n IDL.Record({\n snapshotTime: IDL.Nat,\n price: IDL.Float64,\n hourId: IDL.Nat,\n dayId: IDL.Nat,\n poolId: IDL.Principal,\n }),\n ),\n err: IDL.Text,\n });\n const Result_4 = IDL.Variant({\n ok: IDL.Vec(\n IDL.Record({\n apr: IDL.Float64,\n snapshotTime: IDL.Nat,\n positionId: IDL.Nat,\n dayId: IDL.Nat,\n poolId: IDL.Principal,\n }),\n ),\n err: IDL.Text,\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(PositionDataIndex),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_3 = IDL.Variant({ ok: Page_1, err: IDL.Text });\n const Result_2 = IDL.Variant({\n ok: IDL.Vec(\n IDL.Record({\n snapshotTime: IDL.Nat,\n fees: IDL.Float64,\n positionId: IDL.Nat,\n dayId: IDL.Nat,\n poolId: IDL.Principal,\n }),\n ),\n err: IDL.Text,\n });\n const Result_1 = IDL.Variant({\n ok: IDL.Vec(\n IDL.Record({\n snapshotTime: IDL.Nat,\n value: IDL.Float64,\n positionId: IDL.Nat,\n dayId: IDL.Nat,\n poolId: IDL.Principal,\n }),\n ),\n err: IDL.Text,\n });\n const Page = IDL.Record({\n content: IDL.Vec(PriceIndex),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result = IDL.Variant({ ok: Page, err: IDL.Text });\n return IDL.Service({\n cycleBalance: IDL.Func([], [IDL.Nat], []),\n getAdmins: IDL.Func([], [Result_11], [\"query\"]),\n getPoolAprIndex: IDL.Func([IDL.Principal], [Result_10], [\"query\"]),\n getPositionIndexs: IDL.Func([IDL.Principal, IDL.Nat], [Result_9], [\"query\"]),\n getPriceIndex: IDL.Func([IDL.Principal], [Result_8], [\"query\"]),\n getStat: IDL.Func([], [TaskPositionStatus], [\"query\"]),\n getStatPrice: IDL.Func([], [TaskPriceStatus], [\"query\"]),\n getStatus: IDL.Func([], [TaskStatus], [\"query\"]),\n getTaskState: IDL.Func([], [IDL.Bool], [\"query\"]),\n queryPoolAprLine: IDL.Func([IDL.Principal], [Result_7], [\"query\"]),\n queryPoolDataIndexPage: IDL.Func([IDL.Nat, IDL.Nat], [Result_6], [\"query\"]),\n queryPoolPriceLine: IDL.Func([IDL.Principal], [Result_5], [\"query\"]),\n queryPositionAprLine: IDL.Func([IDL.Principal, IDL.Nat], [Result_4], [\"query\"]),\n queryPositionDataIndexPage: IDL.Func([IDL.Opt(IDL.Text), IDL.Nat, IDL.Nat], [Result_3], [\"query\"]),\n queryPositionFeesLine: IDL.Func([IDL.Principal, IDL.Nat], [Result_2], [\"query\"]),\n queryPositionValueLine: IDL.Func([IDL.Principal, IDL.Nat], [Result_1], [\"query\"]),\n queryPriceIndexPage: IDL.Func([IDL.Nat, IDL.Nat], [Result], [\"query\"]),\n setAdmins: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n setTaskState: IDL.Func([IDL.Bool], [IDL.Bool], []),\n syncPoolAndTokenList: IDL.Func([], [], []),\n syncPoolPriceData: IDL.Func([], [], []),\n syncPositionData: IDL.Func([], [], []),\n });\n};\n","import { ActorIdentity } from \"@icpswap/types\";\nimport {\n SwapFactory,\n SwapFactoryInterfaceFactory,\n SwapNFT,\n SwapNFTInterfaceFactory,\n SwapPool,\n SwapPoolInterfaceFactory,\n TICKET_SERVICE,\n TicketInterfaceFactory,\n PositionIndex,\n PositionIndexInterfaceFactory,\n PositionChartsService,\n PositionChartsFactory,\n} from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\nimport { ActorName } from \"../ActorName\";\n\nexport const swapNFT = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.SwapNFTCanister,\n identity,\n idlFactory: SwapNFTInterfaceFactory,\n });\n\nexport const swapFactory = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.SwapFactory,\n identity,\n idlFactory: SwapFactoryInterfaceFactory,\n });\n\nexport const swapPool = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n identity,\n canisterId,\n idlFactory: SwapPoolInterfaceFactory,\n });\n\nexport const swapTicket = () =>\n actor.create({\n actorName: ActorName.SwapTicket,\n idlFactory: TicketInterfaceFactory,\n });\n\nexport const swapPosition = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.Position,\n idlFactory: PositionIndexInterfaceFactory,\n identity,\n });\n\nexport const positionCharts = () =>\n actor.create({\n actorName: ActorName.PositionCharts,\n idlFactory: PositionChartsFactory,\n });\n","import { PassCodeManagerService, PassCodeManagerInterfaceFactory } from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\nimport { ActorName } from \"../ActorName\";\n\nexport const passCodeManager = async (identity?: true) =>\n actor.create({\n identity,\n idlFactory: PassCodeManagerInterfaceFactory,\n actorName: ActorName.PassCodeManager,\n });\n\nexport * from \"./global\";\nexport * from \"./tokenAnalysis\";\n","export const idlFactory = ({ IDL }: any) => {\n const Error = IDL.Variant({\n CommonError: IDL.Null,\n InternalError: IDL.Text,\n UnsupportedToken: IDL.Text,\n InsufficientFunds: IDL.Null,\n });\n const Result = IDL.Variant({ ok: IDL.Text, err: Error });\n const Result_21 = IDL.Variant({\n ok: IDL.Record({\n token0DecimalsConst: IDL.Float64,\n token1DecimalsConst: IDL.Float64,\n rewardTokenDecimalsConst: IDL.Float64,\n timeConst: IDL.Float64,\n }),\n err: Error,\n });\n const Result_20 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Nat, IDL.Float64)),\n err: Error,\n });\n const Result_19 = IDL.Variant({\n ok: IDL.Vec(IDL.Principal),\n err: Error,\n });\n const Result_18 = IDL.Variant({ ok: IDL.Float64, err: Error });\n const CycleInfo = IDL.Record({ balance: IDL.Nat, available: IDL.Nat });\n const Result_17 = IDL.Variant({ ok: CycleInfo, err: Error });\n const Deposit = IDL.Record({\n tickUpper: IDL.Int,\n rewardAmount: IDL.Nat,\n owner: IDL.Principal,\n liquidity: IDL.Nat,\n initTime: IDL.Nat,\n lastDistributeTime: IDL.Nat,\n positionId: IDL.Nat,\n token0Amount: IDL.Int,\n holder: IDL.Principal,\n token1Amount: IDL.Int,\n tickLower: IDL.Int,\n });\n const Result_16 = IDL.Variant({ ok: Deposit, err: Error });\n const DistributeRecord = IDL.Record({\n rewardTotal: IDL.Nat,\n owner: IDL.Principal,\n positionId: IDL.Nat,\n timestamp: IDL.Nat,\n rewardGained: IDL.Nat,\n });\n const Page_2 = IDL.Record({\n content: IDL.Vec(DistributeRecord),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_15 = IDL.Variant({ ok: Page_2, err: IDL.Text });\n const FarmStatus = IDL.Variant({\n LIVE: IDL.Null,\n NOT_STARTED: IDL.Null,\n CLOSED: IDL.Null,\n FINISHED: IDL.Null,\n });\n const Token = IDL.Record({ address: IDL.Text, standard: IDL.Text });\n const FarmInfo = IDL.Record({\n startTime: IDL.Nat,\n status: FarmStatus,\n creator: IDL.Principal,\n totalRewardHarvested: IDL.Nat,\n numberOfStakes: IDL.Nat,\n rewardToken: Token,\n endTime: IDL.Nat,\n totalRewardBalance: IDL.Nat,\n pool: IDL.Principal,\n refunder: IDL.Principal,\n poolToken0: Token,\n poolToken1: Token,\n poolFee: IDL.Nat,\n totalRewardUnharvested: IDL.Nat,\n totalReward: IDL.Nat,\n userNumberOfStakes: IDL.Nat,\n positionIds: IDL.Vec(IDL.Nat),\n });\n const Result_14 = IDL.Variant({ ok: FarmInfo, err: Error });\n const InitFarmArgs = IDL.Record({\n fee: IDL.Nat,\n startTime: IDL.Nat,\n status: FarmStatus,\n secondPerCycle: IDL.Nat,\n creator: IDL.Principal,\n nodeIndexCid: IDL.Principal,\n farmIndexCid: IDL.Principal,\n rewardToken: Token,\n endTime: IDL.Nat,\n pool: IDL.Principal,\n refunder: IDL.Principal,\n governanceCid: IDL.Opt(IDL.Principal),\n priceInsideLimit: IDL.Bool,\n token0AmountLimit: IDL.Nat,\n token1AmountLimit: IDL.Nat,\n totalReward: IDL.Nat,\n farmFactoryCid: IDL.Principal,\n feeReceiverCid: IDL.Principal,\n });\n const Result_13 = IDL.Variant({ ok: InitFarmArgs, err: Error });\n const Result_12 = IDL.Variant({\n ok: IDL.Record({\n priceInsideLimit: IDL.Bool,\n positionNumLimit: IDL.Nat,\n token0AmountLimit: IDL.Nat,\n token1AmountLimit: IDL.Nat,\n }),\n err: Error,\n });\n const Result_11 = IDL.Variant({\n ok: IDL.Record({\n poolToken0Amount: IDL.Nat,\n totalLiquidity: IDL.Nat,\n poolToken1Amount: IDL.Nat,\n }),\n err: Error,\n });\n const Result_10 = IDL.Variant({\n ok: IDL.Record({\n poolToken0Symbol: IDL.Text,\n poolToken1Symbol: IDL.Text,\n poolToken1Decimals: IDL.Nat,\n poolToken0Decimals: IDL.Nat,\n poolToken0: IDL.Record({\n address: IDL.Text,\n standard: IDL.Text,\n }),\n poolToken1: IDL.Record({\n address: IDL.Text,\n standard: IDL.Text,\n }),\n }),\n err: Error,\n });\n const Result_9 = IDL.Variant({ ok: IDL.Vec(IDL.Nat), err: Error });\n const Result_1 = IDL.Variant({ ok: IDL.Nat, err: Error });\n const Result_8 = IDL.Variant({\n ok: IDL.Record({\n secondPerCycle: IDL.Nat,\n totalRewardHarvested: IDL.Nat,\n totalRewardBalance: IDL.Nat,\n totalRewardFee: IDL.Nat,\n rewardPerCycle: IDL.Nat,\n rewardTokenFee: IDL.Nat,\n totalCycleCount: IDL.Nat,\n totalRewardUnharvested: IDL.Nat,\n currentCycleCount: IDL.Nat,\n totalReward: IDL.Nat,\n rewardTokenDecimals: IDL.Nat,\n }),\n err: Error,\n });\n const TransType = IDL.Variant({\n withdraw: IDL.Null,\n distribute: IDL.Null,\n unstake: IDL.Null,\n stake: IDL.Null,\n harvest: IDL.Null,\n });\n const StakeRecord = IDL.Record({\n to: IDL.Principal,\n transType: TransType,\n from: IDL.Principal,\n liquidity: IDL.Nat,\n positionId: IDL.Nat,\n timestamp: IDL.Nat,\n amount: IDL.Nat,\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(StakeRecord),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_7 = IDL.Variant({ ok: Page_1, err: IDL.Text });\n const TokenAmount = IDL.Record({\n address: IDL.Text,\n amount: IDL.Nat,\n standard: IDL.Text,\n });\n const TVL = IDL.Record({\n poolToken0: TokenAmount,\n poolToken1: TokenAmount,\n });\n const Result_6 = IDL.Variant({ ok: TVL, err: Error });\n const TransferLog = IDL.Record({\n to: IDL.Principal,\n fee: IDL.Nat,\n result: IDL.Text,\n token: Token,\n action: IDL.Text,\n daysFrom19700101: IDL.Nat,\n owner: IDL.Principal,\n from: IDL.Principal,\n fromSubaccount: IDL.Opt(IDL.Vec(IDL.Nat8)),\n timestamp: IDL.Nat,\n index: IDL.Nat,\n amount: IDL.Nat,\n errorMsg: IDL.Text,\n });\n const Result_5 = IDL.Variant({ ok: IDL.Vec(TransferLog), err: Error });\n const Result_4 = IDL.Variant({ ok: IDL.Vec(Deposit), err: Error });\n const Page = IDL.Record({\n content: IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Nat)),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_3 = IDL.Variant({ ok: Page, err: Error });\n const Result_2 = IDL.Variant({\n ok: IDL.Record({\n poolToken0: TokenAmount,\n poolToken1: TokenAmount,\n }),\n err: Error,\n });\n return IDL.Service({\n clearErrorLog: IDL.Func([], [], []),\n close: IDL.Func([], [Result], []),\n finishManually: IDL.Func([], [Result], []),\n getAPRConst: IDL.Func([], [Result_21], [\"query\"]),\n getAPRRecord: IDL.Func([], [Result_20], [\"query\"]),\n getAdmins: IDL.Func([], [Result_19], [\"query\"]),\n getAvgAPR: IDL.Func([], [Result_18], [\"query\"]),\n getCycleInfo: IDL.Func([], [Result_17], []),\n getDeposit: IDL.Func([IDL.Nat], [Result_16], [\"query\"]),\n getDistributeRecord: IDL.Func([IDL.Nat, IDL.Nat, IDL.Text], [Result_15], [\"query\"]),\n getErrorLog: IDL.Func([], [IDL.Vec(IDL.Text)], [\"query\"]),\n getFarmInfo: IDL.Func([IDL.Text], [Result_14], [\"query\"]),\n getInitArgs: IDL.Func([], [Result_13], [\"query\"]),\n getLimitInfo: IDL.Func([], [Result_12], [\"query\"]),\n getLiquidityInfo: IDL.Func([], [Result_11], [\"query\"]),\n getPoolMeta: IDL.Func([], [IDL.Record({ sqrtPriceX96: IDL.Nat, tick: IDL.Int })], []),\n getPoolTokenMeta: IDL.Func([], [Result_10], [\"query\"]),\n getPositionIds: IDL.Func([], [Result_9], [\"query\"]),\n getRewardInfo: IDL.Func([IDL.Vec(IDL.Nat)], [Result_1], [\"query\"]),\n getRewardMeta: IDL.Func([], [Result_8], [\"query\"]),\n getRewardTokenBalance: IDL.Func([], [IDL.Nat], []),\n getStakeRecord: IDL.Func([IDL.Nat, IDL.Nat, IDL.Text], [Result_7], [\"query\"]),\n getTVL: IDL.Func([], [Result_6], [\"query\"]),\n getTransferLogs: IDL.Func([], [Result_5], [\"query\"]),\n getUserDeposits: IDL.Func([IDL.Principal], [Result_4], [\"query\"]),\n getUserRewardBalance: IDL.Func([IDL.Principal], [Result_1], [\"query\"]),\n getUserRewardBalances: IDL.Func([IDL.Nat, IDL.Nat], [Result_3], [\"query\"]),\n getUserTVL: IDL.Func([IDL.Principal], [Result_2], [\"query\"]),\n getVersion: IDL.Func([], [IDL.Text], [\"query\"]),\n init: IDL.Func([], [], []),\n removeErrorTransferLog: IDL.Func([IDL.Nat, IDL.Bool], [], []),\n restartManually: IDL.Func([], [Result], []),\n sendRewardManually: IDL.Func([], [Result], []),\n setAdmins: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n setLimitInfo: IDL.Func([IDL.Nat, IDL.Nat, IDL.Nat, IDL.Bool], [], []),\n stake: IDL.Func([IDL.Nat], [Result], []),\n unstake: IDL.Func([IDL.Nat], [Result], []),\n withdraw: IDL.Func([], [Result_1], []),\n withdrawRewardFee: IDL.Func([], [Result], []),\n });\n};\nexport const init = ({ IDL }) => {\n return [];\n};\n","export const idlFactory = ({ IDL }) => {\n const Token = IDL.Record({ address: IDL.Text, standard: IDL.Text });\n const AddFarmIndexArgs = IDL.Record({\n rewardToken: Token,\n farmCid: IDL.Principal,\n poolToken0: Token,\n poolToken1: Token,\n poolCid: IDL.Principal,\n totalReward: IDL.Nat,\n });\n const Error = IDL.Variant({\n CommonError: IDL.Null,\n InternalError: IDL.Text,\n UnsupportedToken: IDL.Text,\n InsufficientFunds: IDL.Null,\n });\n const Result_8 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Vec(IDL.Principal))),\n err: Error,\n });\n const Result_9 = IDL.Variant({\n ok: IDL.Record({\n LIVE: IDL.Vec(IDL.Principal),\n NOT_STARTED: IDL.Vec(IDL.Principal),\n CLOSED: IDL.Vec(IDL.Principal),\n FINISHED: IDL.Vec(IDL.Principal),\n }),\n err: IDL.Text,\n });\n const CycleInfo = IDL.Record({ balance: IDL.Nat, available: IDL.Nat });\n const Result_7 = IDL.Variant({ ok: CycleInfo, err: Error });\n const FarmRewardInfo = IDL.Record({\n poolToken0TVL: IDL.Record({\n address: IDL.Principal,\n amount: IDL.Nat,\n standard: IDL.Text,\n }),\n poolToken1TVL: IDL.Record({\n address: IDL.Principal,\n amount: IDL.Nat,\n standard: IDL.Text,\n }),\n pool: IDL.Principal,\n initTime: IDL.Nat,\n totalReward: IDL.Record({\n address: IDL.Principal,\n amount: IDL.Nat,\n standard: IDL.Text,\n }),\n });\n const Result_6 = IDL.Variant({ ok: FarmRewardInfo, err: Error });\n const FarmStatus = IDL.Variant({\n LIVE: IDL.Null,\n NOT_STARTED: IDL.Null,\n CLOSED: IDL.Null,\n FINISHED: IDL.Null,\n });\n const Result_5 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Principal, FarmRewardInfo)),\n err: Error,\n });\n const Result = IDL.Variant({ ok: IDL.Vec(IDL.Principal), err: Error });\n const Result_4 = IDL.Variant({\n ok: IDL.Vec(IDL.Principal),\n err: IDL.Text,\n });\n const SearchCondition = IDL.Record({\n status: IDL.Opt(IDL.Vec(FarmStatus)),\n rewardToken: IDL.Opt(IDL.Principal),\n pool: IDL.Opt(IDL.Principal),\n user: IDL.Opt(IDL.Principal),\n });\n const Result_3 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Principal, IDL.Principal)),\n err: Error,\n });\n const Result_2 = IDL.Variant({\n ok: IDL.Vec(FarmRewardInfo),\n err: Error,\n });\n const Result_1 = IDL.Variant({\n ok: IDL.Record({ farmAmount: IDL.Nat, principalAmount: IDL.Nat }),\n err: Error,\n });\n const TokenAmount = IDL.Record({\n address: IDL.Text,\n amount: IDL.Nat,\n standard: IDL.Text,\n });\n const TVL = IDL.Record({\n poolToken0: TokenAmount,\n poolToken1: TokenAmount,\n });\n return IDL.Service({\n addFarmIndex: IDL.Func([AddFarmIndexArgs], [], []),\n getAllFarmUsers: IDL.Func([], [Result_8], [\"query\"]),\n getAllFarms: IDL.Func([], [Result_9], [\"query\"]),\n getAllPoolFarms: IDL.Func([], [Result_8], [\"query\"]),\n getAllRewardTokenFarms: IDL.Func([], [Result_8], [\"query\"]),\n getAllUserFarms: IDL.Func([], [Result_8], [\"query\"]),\n getCycleInfo: IDL.Func([], [Result_7], []),\n getFarmRewardTokenInfo: IDL.Func([IDL.Principal], [Result_6], [\"query\"]),\n getFarmRewardTokenInfos: IDL.Func([IDL.Opt(FarmStatus)], [Result_5], [\"query\"]),\n getFarmUsers: IDL.Func([IDL.Principal], [Result], [\"query\"]),\n getFarms: IDL.Func([IDL.Opt(FarmStatus)], [Result_4], [\"query\"]),\n getFarmsByConditions: IDL.Func([SearchCondition], [Result], [\"query\"]),\n getFarmsByPool: IDL.Func([IDL.Principal], [Result], [\"query\"]),\n getFarmsByRewardToken: IDL.Func([IDL.Principal], [Result], [\"query\"]),\n getLiveFarmsByPools: IDL.Func([IDL.Vec(IDL.Principal)], [Result_3], [\"query\"]),\n getPrincipalRecord: IDL.Func([], [Result], [\"query\"]),\n getRewardInfoByStatus: IDL.Func([FarmStatus], [Result_2], [\"query\"]),\n getTotalAmount: IDL.Func([], [Result_1], [\"query\"]),\n getUserFarms: IDL.Func([IDL.Principal], [Result], [\"query\"]),\n getVersion: IDL.Func([], [IDL.Text], [\"query\"]),\n syncHisData: IDL.Func([IDL.Principal, IDL.Nat], [IDL.Text], []),\n updateFarmStatus: IDL.Func([FarmStatus], [], []),\n updateFarmTVL: IDL.Func([TVL], [], []),\n updateUserInfo: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n });\n};\n","import { ActorIdentity } from \"@icpswap/types\";\nimport {\n Farm,\n FarmInterfaceFactory,\n FarmController,\n FarmControllerInterfaceFactory,\n FarmStorage,\n FarmStorageInterfaceFactory,\n FarmIndex,\n FarmIndexInterfaceFactory,\n} from \"@icpswap/candid\";\nimport { actor } from \"../actor\";\nimport { ActorName } from \"../ActorName\";\n\nexport const farmController = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.FarmController,\n identity,\n idlFactory: FarmControllerInterfaceFactory,\n });\n\nexport const farm = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.Farm,\n canisterId,\n identity,\n idlFactory: FarmInterfaceFactory,\n });\n\nexport const farmStorage = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.FarmStorage,\n canisterId,\n identity,\n idlFactory: FarmStorageInterfaceFactory,\n });\n\nexport const farmIndex = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.FarmIndex,\n identity,\n idlFactory: FarmIndexInterfaceFactory,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const Token = IDL.Record({ address: IDL.Text, standard: IDL.Text });\n const InitRequest = IDL.Record({\n stakingTokenSymbol: IDL.Text,\n startTime: IDL.Nat,\n rewardTokenSymbol: IDL.Text,\n stakingToken: Token,\n rewardToken: Token,\n rewardPerTime: IDL.Nat,\n name: IDL.Text,\n stakingTokenFee: IDL.Nat,\n rewardTokenFee: IDL.Nat,\n stakingTokenDecimals: IDL.Nat,\n bonusEndTime: IDL.Nat,\n rewardTokenDecimals: IDL.Nat,\n });\n const Result_11 = IDL.Variant({ ok: IDL.Principal, err: IDL.Text });\n const Result_2 = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const TokenGlobalDataInfo = IDL.Record({\n rewardAmount: IDL.Float64,\n stakingAmount: IDL.Float64,\n rewardTokenPrice: IDL.Float64,\n rewardTokenCanisterId: IDL.Text,\n stakingTokenCanisterId: IDL.Text,\n stakingTokenPrice: IDL.Float64,\n stakingTokenAmount: IDL.Nat,\n rewardTokenAmount: IDL.Nat,\n });\n const Result_10 = IDL.Variant({\n ok: IDL.Vec(TokenGlobalDataInfo),\n err: IDL.Text,\n });\n const StakingPoolInfo = IDL.Record({\n stakingTokenSymbol: IDL.Text,\n startTime: IDL.Nat,\n rewardTokenSymbol: IDL.Text,\n creator: IDL.Principal,\n stakingToken: Token,\n rewardToken: Token,\n rewardPerTime: IDL.Nat,\n name: IDL.Text,\n createTime: IDL.Nat,\n stakingTokenFee: IDL.Nat,\n rewardTokenFee: IDL.Nat,\n stakingTokenDecimals: IDL.Nat,\n bonusEndTime: IDL.Nat,\n rewardTokenDecimals: IDL.Nat,\n canisterId: IDL.Principal,\n });\n const Page = IDL.Record({\n content: IDL.Vec(StakingPoolInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_9 = IDL.Variant({ ok: Page, err: Page });\n const Error = IDL.Variant({\n CommonError: IDL.Null,\n InternalError: IDL.Text,\n UnsupportedToken: IDL.Text,\n InsufficientFunds: IDL.Null,\n });\n const Result_8 = IDL.Variant({\n ok: IDL.Vec(IDL.Principal),\n err: Error,\n });\n const CycleInfo = IDL.Record({ balance: IDL.Nat, available: IDL.Nat });\n const Result_7 = IDL.Variant({ ok: CycleInfo, err: Error });\n const GlobalDataInfo = IDL.Record({\n valueOfStaking: IDL.Float64,\n valueOfRewarded: IDL.Float64,\n totalStaker: IDL.Nat,\n valueOfRewardsInProgress: IDL.Float64,\n totalPools: IDL.Nat,\n });\n const Result_6 = IDL.Variant({ ok: GlobalDataInfo, err: IDL.Text });\n const Result_5 = IDL.Variant({\n ok: IDL.Record({\n governanceCid: IDL.Opt(IDL.Principal),\n userIndexCid: IDL.Principal,\n feeReceiverCid: IDL.Principal,\n }),\n err: Error,\n });\n const Result_4 = IDL.Variant({\n ok: IDL.Tuple(IDL.Text, IDL.Text, IDL.Nat, IDL.Nat, IDL.Bool),\n err: IDL.Text,\n });\n const Result_3 = IDL.Variant({\n ok: TokenGlobalDataInfo,\n err: IDL.Text,\n });\n const Result_1 = IDL.Variant({ ok: StakingPoolInfo, err: IDL.Text });\n const Result = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n return IDL.Service({\n addStakingPoolControllers: IDL.Func([IDL.Principal, IDL.Vec(IDL.Principal)], [], []),\n createStakingPool: IDL.Func([InitRequest], [Result_11], []),\n deleteStakingPool: IDL.Func([IDL.Principal], [Result_2], []),\n findPoolStatInfo: IDL.Func([], [Result_10], [\"query\"]),\n findStakingPoolPage: IDL.Func([IDL.Opt(IDL.Nat), IDL.Nat, IDL.Nat], [Result_9], [\"query\"]),\n findStakingPoolPageV2: IDL.Func(\n [IDL.Opt(IDL.Nat), IDL.Nat, IDL.Nat, IDL.Opt(IDL.Text), IDL.Opt(IDL.Text)],\n [Result_9],\n [\"query\"],\n ),\n getAdmins: IDL.Func([], [Result_8], [\"query\"]),\n getCycleInfo: IDL.Func([], [Result_7], []),\n getGlobalData: IDL.Func([], [Result_6], [\"query\"]),\n getInitArgs: IDL.Func([], [Result_5], [\"query\"]),\n getOperationInfo: IDL.Func([], [Result_4], [\"query\"]),\n getPoolStatInfo: IDL.Func([IDL.Principal], [Result_3], [\"query\"]),\n getStakingPool: IDL.Func([IDL.Principal], [Result_1], [\"query\"]),\n getVersion: IDL.Func([], [IDL.Text], [\"query\"]),\n removeStakingPoolControllers: IDL.Func([IDL.Principal, IDL.Vec(IDL.Principal)], [], []),\n setAdmins: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n setRewardFee: IDL.Func([IDL.Nat], [Result_2], []),\n setStakingPoolAdmins: IDL.Func([IDL.Principal, IDL.Vec(IDL.Principal)], [], []),\n setStakingPoolTime: IDL.Func([IDL.Principal, IDL.Nat, IDL.Nat], [Result_1], []),\n setUpdateGlobalDataState: IDL.Func([IDL.Bool], [Result_2], []),\n setUserIndexCanister: IDL.Func([IDL.Principal], [Result_2], []),\n stopStakingPool: IDL.Func([IDL.Principal], [Result_1], []),\n stopTimer: IDL.Func([], [], []),\n unclaimdRewardFee: IDL.Func([IDL.Principal], [Result], []),\n });\n};\n","export const idlFactory = ({ IDL }: any) => {\n const Result = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const TransType = IDL.Variant({\n withdraw: IDL.Null,\n liquidate: IDL.Null,\n deposit: IDL.Null,\n unstake: IDL.Null,\n stake: IDL.Null,\n harvest: IDL.Null,\n });\n const TransTokenType = IDL.Variant({\n stakeToken: IDL.Null,\n rewardToken: IDL.Null,\n });\n const Record = IDL.Record({\n to: IDL.Principal,\n stakingTokenSymbol: IDL.Text,\n result: IDL.Text,\n rewardTokenSymbol: IDL.Text,\n stakingToken: IDL.Text,\n rewardToken: IDL.Text,\n stakingStandard: IDL.Text,\n transType: TransType,\n from: IDL.Principal,\n transTokenType: TransTokenType,\n errMsg: IDL.Text,\n rewardStandard: IDL.Text,\n timestamp: IDL.Nat,\n stakingTokenDecimals: IDL.Nat,\n amount: IDL.Nat,\n rewardTokenDecimals: IDL.Nat,\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(Record),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_9 = IDL.Variant({ ok: Page_1, err: IDL.Text });\n const Error = IDL.Variant({\n CommonError: IDL.Null,\n InternalError: IDL.Text,\n UnsupportedToken: IDL.Text,\n InsufficientFunds: IDL.Null,\n });\n const Result_8 = IDL.Variant({\n ok: IDL.Vec(IDL.Tuple(IDL.Nat, Record)),\n err: Error,\n });\n const PublicUserInfo = IDL.Record({\n pendingReward: IDL.Nat,\n lastRewardTime: IDL.Nat,\n stakeAmount: IDL.Nat,\n rewardTokenBalance: IDL.Nat,\n rewardDebt: IDL.Nat,\n lastStakeTime: IDL.Nat,\n stakeTokenBalance: IDL.Nat,\n });\n const Page = IDL.Record({\n content: IDL.Vec(IDL.Tuple(IDL.Principal, PublicUserInfo)),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat,\n });\n const Result_7 = IDL.Variant({ ok: Page, err: IDL.Text });\n const Result_6 = IDL.Variant({\n ok: IDL.Vec(IDL.Principal),\n err: Error,\n });\n const CycleInfo = IDL.Record({ balance: IDL.Nat, available: IDL.Nat });\n const Result_5 = IDL.Variant({ ok: CycleInfo, err: Error });\n const Token = IDL.Record({ address: IDL.Text, standard: IDL.Text });\n const LiquidationStatus = IDL.Variant({\n pending: IDL.Null,\n liquidation: IDL.Null,\n liquidated: IDL.Null,\n });\n const PublicStakingPoolInfo = IDL.Record({\n stakingTokenSymbol: IDL.Text,\n startTime: IDL.Nat,\n lastRewardTime: IDL.Nat,\n totalDeposit: IDL.Nat,\n rewardTokenSymbol: IDL.Text,\n creator: IDL.Principal,\n stakingToken: Token,\n rewardToken: Token,\n totalUnstaked: IDL.Float64,\n rewardPerTime: IDL.Nat,\n totalHarvest: IDL.Float64,\n name: IDL.Text,\n liquidationStatus: LiquidationStatus,\n createTime: IDL.Nat,\n stakingTokenFee: IDL.Nat,\n rewardFee: IDL.Nat,\n rewardDebt: IDL.Nat,\n rewardTokenFee: IDL.Nat,\n accPerShare: IDL.Nat,\n stakingTokenDecimals: IDL.Nat,\n bonusEndTime: IDL.Nat,\n totalStaked: IDL.Float64,\n rewardTokenDecimals: IDL.Nat,\n feeReceiverCid: IDL.Principal,\n });\n const Result_1 = IDL.Variant({\n ok: PublicStakingPoolInfo,\n err: IDL.Text,\n });\n const Result_4 = IDL.Variant({ ok: PublicUserInfo, err: IDL.Text });\n const Result_2 = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const Result_3 = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const UpdateStakingPool = IDL.Record({\n startTime: IDL.Nat,\n rewardPerTime: IDL.Nat,\n bonusEndTime: IDL.Nat,\n });\n return IDL.Service({\n claim: IDL.Func([], [Result], []),\n deposit: IDL.Func([], [Result], []),\n depositFrom: IDL.Func([IDL.Nat], [Result], []),\n findRewardRecordPage: IDL.Func([IDL.Opt(IDL.Principal), IDL.Nat, IDL.Nat], [Result_9], [\"query\"]),\n findStakingRecordPage: IDL.Func([IDL.Opt(IDL.Principal), IDL.Nat, IDL.Nat], [Result_9], [\"query\"]),\n findTransferRecord: IDL.Func([], [Result_8], [\"query\"]),\n findUserInfo: IDL.Func([IDL.Nat, IDL.Nat], [Result_7], [\"query\"]),\n getAdmins: IDL.Func([], [Result_6], [\"query\"]),\n getCycleInfo: IDL.Func([], [Result_5], []),\n getPoolInfo: IDL.Func([], [Result_1], [\"query\"]),\n getUserInfo: IDL.Func([IDL.Principal], [Result_4], [\"query\"]),\n getVersion: IDL.Func([], [IDL.Text], [\"query\"]),\n harvest: IDL.Func([], [Result_2], []),\n liquidation: IDL.Func([], [Result], []),\n pendingReward: IDL.Func([IDL.Principal], [Result_2], [\"query\"]),\n refundRewardToken: IDL.Func([], [Result], []),\n refundUserToken: IDL.Func([], [Result], []),\n removeTransferRecord: IDL.Func([IDL.Nat, IDL.Bool], [Result_3], []),\n setAdmins: IDL.Func([IDL.Vec(IDL.Principal)], [], []),\n stake: IDL.Func([], [Result_2], []),\n stop: IDL.Func([], [Result_1], []),\n unclaimdRewardFee: IDL.Func([], [Result_2], [\"query\"]),\n unstake: IDL.Func([IDL.Nat], [Result_2], []),\n updateStakingPool: IDL.Func([UpdateStakingPool], [Result_1], []),\n withdraw: IDL.Func([IDL.Bool, IDL.Nat], [Result], []),\n withdrawRewardFee: IDL.Func([], [Result], []),\n });\n};\n","import { ActorIdentity } from \"@icpswap/types\";\nimport {\n TokenPool,\n StakingPoolController,\n StakingPoolControllerInterfaceFactory,\n TokenPoolInterfaceFactory,\n StakeIndex,\n StakeIndexInterfaceFactor,\n} from \"@icpswap/candid\";\n\nimport { actor } from \"../actor\";\nimport { ActorName } from \"../ActorName\";\n\nexport const stakingPoolController = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.StakingTokenController,\n identity,\n idlFactory: StakingPoolControllerInterfaceFactory,\n });\n\nexport const stakingPool = (canisterId: string, identity?: ActorIdentity) =>\n actor.create({\n canisterId,\n actorName: ActorName.TokenPool,\n identity,\n idlFactory: TokenPoolInterfaceFactory,\n });\n\nexport const stakeIndex = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.StakeIndex,\n identity,\n idlFactory: StakeIndexInterfaceFactor,\n });\n","export const idlFactory = ({ IDL }: any) => {\n const BoolResult = IDL.Variant({ ok: IDL.Bool, err: IDL.Text });\n const ClaimEventInfo = IDL.Record({\n claimEventCreator: IDL.Principal,\n tokenCid: IDL.Text,\n tokenStandard: IDL.Text,\n claimedTokenAmount: IDL.Nat,\n claimEventId: IDL.Text,\n tokenDecimals: IDL.Nat8,\n claimEventStatus: IDL.Nat,\n tokenSymbol: IDL.Text,\n totalUserAmount: IDL.Nat,\n totalTokenAmount: IDL.Nat,\n claimedUserAmount: IDL.Nat,\n tokenName: IDL.Text,\n claimCanisterId: IDL.Text,\n claimEventName: IDL.Text\n });\n const TextResult = IDL.Variant({ ok: IDL.Text, err: IDL.Text });\n const NatResult = IDL.Variant({ ok: IDL.Nat, err: IDL.Text });\n const Page = IDL.Record({\n content: IDL.Vec(ClaimEventInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const ResponseResult_2 = IDL.Variant({ ok: Page, err: IDL.Text });\n const User__1 = IDL.Variant({\n principal: IDL.Principal,\n address: IDL.Text\n });\n const ClaimRecordInfo = IDL.Record({\n claimAmount: IDL.Nat,\n tokenCid: IDL.Text,\n tokenStandard: IDL.Text,\n claimStatus: IDL.Nat,\n claimEventId: IDL.Text,\n tokenDecimals: IDL.Nat8,\n claimTime: IDL.Opt(IDL.Int),\n claimUser: User__1,\n tokenSymbol: IDL.Text,\n tokenName: IDL.Text,\n claimEventName: IDL.Text\n });\n const Page_1 = IDL.Record({\n content: IDL.Vec(ClaimRecordInfo),\n offset: IDL.Nat,\n limit: IDL.Nat,\n totalElements: IDL.Nat\n });\n const ResponseResult_3 = IDL.Variant({ ok: Page_1, err: IDL.Text });\n const ResponseResult_1 = IDL.Variant({\n ok: IDL.Vec(IDL.Text),\n err: IDL.Text\n });\n const ResponseResult = IDL.Variant({\n ok: ClaimEventInfo,\n err: IDL.Text\n });\n const User = IDL.Variant({\n principal: IDL.Principal,\n address: IDL.Text\n });\n const ClaimQuota = IDL.Record({ user: User, quota: IDL.Nat });\n return IDL.Service({\n addAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n claim: IDL.Func([IDL.Text], [BoolResult], []),\n create: IDL.Func([ClaimEventInfo], [TextResult], []),\n cycleAvailable: IDL.Func([], [NatResult], [\"query\"]),\n cycleBalance: IDL.Func([], [NatResult], [\"query\"]),\n delete: IDL.Func([IDL.Text], [BoolResult], []),\n findAllEvents: IDL.Func([IDL.Nat, IDL.Nat], [ResponseResult_2], [\"query\"]),\n findCreateEvents: IDL.Func([IDL.Principal, IDL.Nat, IDL.Nat], [ResponseResult_2], [\"query\"]),\n findEventRecords: IDL.Func([IDL.Text, IDL.Opt(IDL.Nat), IDL.Nat, IDL.Nat], [ResponseResult_3], []),\n findUserEventRecords: IDL.Func(\n [IDL.Principal, IDL.Opt(IDL.Text), IDL.Opt(IDL.Nat), IDL.Nat, IDL.Nat],\n [ResponseResult_3],\n []\n ),\n findUserEvents: IDL.Func([IDL.Principal, IDL.Nat, IDL.Nat], [ResponseResult_2], [\"query\"]),\n getAdminList: IDL.Func([], [ResponseResult_1], [\"query\"]),\n getControllerAddress: IDL.Func([], [TextResult], [\"query\"]),\n getEvent: IDL.Func([IDL.Text], [ResponseResult], [\"query\"]),\n getStorageCanister: IDL.Func([], [TextResult], [\"query\"]),\n importQuota: IDL.Func([IDL.Text, IDL.Vec(ClaimQuota)], [BoolResult], []),\n ready: IDL.Func([IDL.Text], [BoolResult], []),\n removeAdmin: IDL.Func([IDL.Text], [BoolResult], []),\n setStatus: IDL.Func([IDL.Text, IDL.Bool], [BoolResult], []),\n setStorageCanister: IDL.Func([IDL.Text], [BoolResult], []),\n unlock: IDL.Func([IDL.Principal], [BoolResult], []),\n updateEvent: IDL.Func([ClaimEventInfo], [BoolResult], [])\n });\n};\n","import { actor } from \"./actor\";\nimport { ActorIdentity } from \"@icpswap/types\";\nimport { ActorName } from \"./ActorName\";\nimport {\n ClaimController,\n ClaimControllerInterfaceFactory,\n ClaimStorage,\n ClaimStorageInterfaceFactory,\n} from \"@icpswap/candid\";\n\nexport const tokenClaimController = (identity?: ActorIdentity) =>\n actor.create({\n actorName: ActorName.ClaimController,\n identity,\n idlFactory: ClaimControllerInterfaceFactory,\n });\n\nexport const tokenClaimStorage = (\n canisterId: string,\n identity?: ActorIdentity\n) =>\n actor.create({\n identity,\n canisterId,\n idlFactory: ClaimStorageInterfaceFactory,\n });\n","export const LEDGER_CANISTER_ID = \"ryjl3-tyaaa-aaaaa-aaaba-cai\";\n\nexport const GOVERNANCE_CANISTER_ID = \"rrkah-fqaaa-aaaaa-aaaaq-cai\";\n\nexport const WICP_CANISTER_ID = \"5xnja-6aaaa-aaaan-qad4a-cai\";\n\nexport const ICS_CANISTER_ID = \"ca6gz-lqaaa-aaaaq-aacwa-cai\";\n","import { useCallback } from \"react\";\nimport { resultFormat } from \"@icpswap/utils\";\nimport { node_index } from \"@icpswap/actor\";\nimport { PublicPoolOverView, PublicTokenOverview } from \"@icpswap/types\";\nimport { useCallsData } from \"../useCallData\";\n\nexport async function getNodeInfoAllPools() {\n return resultFormat(await (await node_index()).getAllPools()).data;\n}\n\nexport function useNodeInfoAllPools() {\n return useCallsData(\n useCallback(async () => {\n return await getNodeInfoAllPools();\n }, []),\n );\n}\n\nexport async function getNodeInfoAllTokens() {\n return resultFormat(await (await node_index()).getAllTokens()).data;\n}\n\nexport function useNodeInfoAllTokens() {\n return useCallsData(\n useCallback(async () => {\n return await getNodeInfoAllTokens();\n }, []),\n );\n}\n\nexport async function getInfoPoolStorageIds(pool: string) {\n return resultFormat(await (await node_index()).poolStorage(pool)).data;\n}\n\nexport function useInfoPoolStorageIds(pool: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!pool) return undefined;\n return await getInfoPoolStorageIds(pool!);\n }, [pool]),\n );\n}\n\nexport async function getInfoTokenStorageIds(token: string) {\n return resultFormat(await (await node_index()).tokenStorage(token)).data;\n}\n\nexport function useInfoTokenStorageIds(token: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!token) return undefined;\n return await getInfoTokenStorageIds(token!);\n }, [token]),\n );\n}\n\nexport async function getInfoUserStorageIds(principal: string) {\n return resultFormat(await (await node_index()).userStorage(principal)).data;\n}\n\nexport function useInfoUserStorageIds(principal: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!principal) return undefined;\n return await getInfoUserStorageIds(principal!);\n }, [principal]),\n );\n}\n","import { useMemo } from \"react\";\nimport useSwr from \"swr\";\nimport useSWRImmutable from \"swr/immutable\";\nimport type { PublicTokenOverview } from \"@icpswap/types\";\nimport { ckUSDC } from \"@icpswap/tokens\";\n\nimport { getNodeInfoAllTokens } from \"./node\";\n\nexport function useFetchInfoAllTokens() {\n const { data } = useSwr(\n [\"info_all_tokens\"],\n async () => {\n return await getNodeInfoAllTokens();\n },\n {\n refreshInterval: 300000,\n },\n );\n\n return data;\n}\n\nexport function useInfoAllTokens() {\n const { data } = useSWRImmutable([\"info_all_tokens\"]);\n return useMemo(() => data, data);\n}\n\nexport function useInfoToken(tokenId: string | undefined): PublicTokenOverview | undefined {\n const { data } = useSWRImmutable([\"info_all_tokens\"]);\n\n return useMemo(() => {\n const info = data?.find((e) => e.address === tokenId);\n // Make ckUSDC price USD is 1\n if (tokenId === ckUSDC.address && info) return { ...info, priceUSD: 1 } as PublicTokenOverview;\n\n return info;\n }, [data, tokenId]);\n}\n","import { resultFormat } from \"@icpswap/utils\";\nimport { sns_wasm } from \"@icpswap/actor\";\nimport type { ListDeployedSnsesResponse } from \"@icpswap/candid\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport type { SnsTokensInfo } from \"@icpswap/types\";\nimport { useCallsData } from \"../useCallData\";\n\nexport async function getListDeployedSNSs() {\n return resultFormat(await (await sns_wasm()).list_deployed_snses({})).data;\n}\n\nexport function useListDeployedSNSs() {\n return useCallsData(\n useCallback(async () => {\n return await getListDeployedSNSs();\n }, []),\n );\n}\n\nexport async function getSnsTokensInfo(page: number): Promise {\n let result: any;\n\n try {\n result = await fetch(`https://3r4gx-wqaaa-aaaaq-aaaia-cai.icp0.io/v1/sns/list/page/${page}/slow.json`).catch(\n () => undefined,\n );\n } catch (error) {\n console.log(error);\n }\n\n if (!result || result.ok === false) return undefined;\n\n return (await result.json()) as SnsTokensInfo[];\n}\n\nconst sns_all_tokens_info_call_rounds = 5;\n\nexport async function getSnsAllTokensInfo(): Promise {\n let fetch_index = 0;\n let fetch_done = false;\n\n let data: SnsTokensInfo[] = [];\n\n const fetch = async (index: number) => {\n fetch_index += 1;\n\n const allResults: (SnsTokensInfo | undefined)[] = (\n await Promise.all(\n Array.from({ length: sns_all_tokens_info_call_rounds }, (_, i) => i).map(async (call_index) => {\n const page = call_index + index * sns_all_tokens_info_call_rounds;\n const result = await getSnsTokensInfo(page);\n\n if (!result) return undefined;\n\n data = data.concat(result);\n\n if (result.length < 10) {\n fetch_done = true;\n }\n\n return result;\n }),\n )\n ).flat();\n\n // If happened network error, make is fetch_done = true when have two or more undefined result\n if (allResults.filter((e) => !e).length >= 2) {\n fetch_done = true;\n }\n\n if (!fetch_done) {\n await fetch(fetch_index);\n }\n };\n\n await fetch(fetch_index);\n\n return data\n .sort((a, b) => {\n if (a.index < b.index) return -1;\n if (a.index > b.index) return 1;\n return 0;\n })\n .map((e) => ({ ...e, meta: { ...e.meta, logo: `https://3r4gx-wqaaa-aaaaq-aaaia-cai.icp0.io${e.meta.logo}` } }));\n}\n\nexport function useSnsAllTokensInfo() {\n const [snsAllTokensInfo, setSnsAllTokensInfo] = useState(undefined);\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n async function call() {\n setLoading(true);\n const data = await getSnsAllTokensInfo();\n setSnsAllTokensInfo(data);\n setLoading(false);\n }\n\n call();\n }, []);\n\n return useMemo(\n () => ({\n loading,\n result: snsAllTokensInfo,\n }),\n [loading, snsAllTokensInfo],\n );\n}\n","import { useCallback } from \"react\";\nimport { resultFormat, isAvailablePageArgs, availableArgsNull } from \"@icpswap/utils\";\nimport { stakingPoolController, stakingPool } from \"@icpswap/actor\";\nimport type {\n CreateStakingPoolArgs,\n StakingPoolInfo,\n StakingPoolControllerPoolInfo,\n StakingPoolTransaction,\n StakingPoolUserInfo,\n StakingPoolCycle,\n StakingPoolGlobalData,\n PaginationResult,\n StakeGlobalDataInfo,\n} from \"@icpswap/types\";\nimport { Principal } from \"@dfinity/principal\";\nimport { useCallsData } from \"../useCallData\";\n\n/* token controller */\nexport async function createStakingPool(args: CreateStakingPoolArgs) {\n return resultFormat(await (await stakingPoolController(true)).createStakingPool(args));\n}\n\nexport async function getStakingPools(state: bigint | undefined, offset: number, limit: number) {\n return resultFormat>(\n await (\n await stakingPoolController()\n ).findStakingPoolPage(availableArgsNull(state), BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useStakingPools(state: bigint | undefined, offset: number, limit: number) {\n return useCallsData(\n useCallback(async () => {\n if (!isAvailablePageArgs(offset, limit)) return undefined;\n return await getStakingPools(state, offset, limit);\n }, [offset, limit, state]),\n );\n}\n\nexport interface GetStakePoolsProps {\n state: bigint | undefined;\n offset: number;\n limit: number;\n rewardTokenId?: string | null;\n stakeTokenId?: string | null;\n}\n\nexport async function getStakePools({ state, offset, limit, rewardTokenId, stakeTokenId }: GetStakePoolsProps) {\n return resultFormat>(\n await (\n await stakingPoolController()\n ).findStakingPoolPageV2(\n availableArgsNull(state),\n BigInt(offset),\n BigInt(limit),\n availableArgsNull(stakeTokenId),\n availableArgsNull(rewardTokenId),\n ),\n ).data;\n}\n\nexport interface UseStakePoolsProps {\n state: bigint | undefined;\n offset: number;\n limit: number;\n rewardTokenId?: string | null;\n stakeTokenId?: string | null;\n}\n\nexport function useStakePools({ state, offset, limit, rewardTokenId, stakeTokenId }: UseStakePoolsProps) {\n return useCallsData(\n useCallback(async () => {\n if (!isAvailablePageArgs(offset, limit)) return undefined;\n return await getStakePools({ state, offset, limit, rewardTokenId, stakeTokenId });\n }, [offset, limit, state, rewardTokenId, stakeTokenId]),\n );\n}\n\nexport async function getStakingPoolGlobalData() {\n return resultFormat(await (await stakingPoolController()).getGlobalData()).data;\n}\n\nexport function useStakingPoolGlobalData(reload?: boolean) {\n return useCallsData(\n useCallback(async () => {\n return await getStakingPoolGlobalData();\n }, []),\n reload,\n );\n}\n\nexport async function getStakingPoolFromController(canisterId: string) {\n return resultFormat(\n await (await stakingPoolController()).getStakingPool(Principal.fromText(canisterId)),\n ).data;\n}\n\nexport function useStakingPoolInfoFromController(canisterId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getStakingPoolFromController(canisterId);\n }, [canisterId]),\n );\n}\n\n/* token pool */\nexport async function getStakingTokenPool(canisterId: string) {\n return resultFormat(await (await stakingPool(canisterId)).getPoolInfo()).data;\n}\n\nexport function useStakingTokenPool(canisterId: string | undefined, reload?: boolean) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getStakingTokenPool(canisterId);\n }, [canisterId]),\n reload,\n );\n}\n\nexport async function getStakingTokenUserInfo(canisterId: string, principal: Principal) {\n return resultFormat(await (await stakingPool(canisterId)).getUserInfo(principal)).data;\n}\n\nexport function useStakingTokenUserInfo(\n canisterId: string | undefined,\n principal: Principal | undefined,\n reload?: boolean,\n) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !principal) return undefined;\n return await getStakingTokenUserInfo(canisterId, principal);\n }, [canisterId, principal]),\n reload,\n );\n}\n\n// export async function getStakingPoolAllUserInfo(canisterId: string, offset: number, limit: number) {\n// return resultFormat(\n// await (await stakingPool(canisterId)).findAllUserInfo(BigInt(offset), BigInt(limit)),\n// ).data;\n// }\n\n// export function useStakingPoolAllUserInfo(\n// canisterId: string | undefined,\n// offset: number,\n// limit: number,\n// reload?: boolean,\n// ) {\n// return useCallsData(\n// useCallback(async () => {\n// if (!canisterId || !isAvailablePageArgs(offset, limit)) return undefined;\n// return await getStakingPoolAllUserInfo(canisterId!, offset, limit);\n// }, [canisterId, offset, limit]),\n// reload,\n// );\n// }\n\nexport async function getStakingPoolCycles(canisterId: string) {\n return resultFormat(await (await stakingPool(canisterId)).getCycleInfo()).data;\n}\n\nexport function useStakingPoolCycles(canisterId: string | undefined, reload?: boolean) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getStakingPoolCycles(canisterId);\n }, [canisterId]),\n reload,\n );\n}\n\n/**\n * @description claim the failed deposit token\n * @param canisterId - pool canister id\n * @returns\n */\nexport async function stakingPoolClaim(canisterId: string) {\n return resultFormat(await (await stakingPool(canisterId, true)).claim());\n}\n\nexport async function stakingPoolDeposit(canisterId: string) {\n return resultFormat(await (await stakingPool(canisterId, true)).deposit());\n}\n\nexport async function stakingPoolDepositFrom(canisterId: string, amount: bigint) {\n return resultFormat(await (await stakingPool(canisterId, true)).depositFrom(amount));\n}\n\nexport async function stakingPoolHarvest(canisterId: string) {\n return resultFormat(await (await stakingPool(canisterId, true)).harvest());\n}\n\nexport async function stakingTokenStake(canisterId: string) {\n return resultFormat(await (await stakingPool(canisterId, true)).stake());\n}\n\n/**\n * @description withdraw the token for staked token and reward token\n * @export\n * @param {string} canisterId - pool canister id\n * @param {boolean} isStakeToken - staked token is true, reward token is false\n * @param {bigint} amount - withdraw amount\n * @return {*}\n */\nexport async function stakingPoolWithdraw(canisterId: string, isStakeToken: boolean, amount: bigint) {\n return resultFormat(await (await stakingPool(canisterId, true)).withdraw(isStakeToken, amount));\n}\n\nexport async function stakingPoolUnstake(canisterId: string, amount: bigint) {\n return resultFormat(await (await stakingPool(canisterId, true)).unstake(amount));\n}\n\n/* records */\nexport async function getStakingPoolTransactions(\n canisterId: string,\n principal: Principal | undefined,\n offset: number,\n limit: number,\n) {\n return resultFormat>(\n await (\n await stakingPool(canisterId)\n ).findStakingRecordPage(availableArgsNull(principal), BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useStakingPoolTransactions(\n canisterId: string | undefined,\n principal: Principal | undefined,\n offset: number,\n limit: number,\n reload?: boolean,\n) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !isAvailablePageArgs(offset, limit)) return undefined;\n return await getStakingPoolTransactions(canisterId, principal, offset, limit);\n }, [canisterId, offset, limit, principal]),\n reload,\n );\n}\n\nexport async function getStakingPoolClaimTransactions(\n canisterId: string,\n principal: Principal | undefined,\n offset: number,\n limit: number,\n) {\n return resultFormat>(\n await (\n await stakingPool(canisterId)\n ).findRewardRecordPage(availableArgsNull(principal), BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useStakingPoolClaimTransactions(\n canisterId: string | undefined,\n principal: Principal | undefined,\n offset: number,\n limit: number,\n reload?: boolean,\n) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !isAvailablePageArgs(offset, limit)) return undefined;\n return await getStakingPoolClaimTransactions(canisterId!, principal, offset, limit);\n }, [canisterId, offset, limit, principal]),\n reload,\n );\n}\n\nexport async function stakingPoolClaimRewards(canisterId: string, owner: Principal | undefined) {\n if (!owner) return resultFormat({ err: \"Principal is undefined\" });\n\n return resultFormat(await (await stakingPool(canisterId, true)).claim());\n}\n\nexport async function getStakePoolStatInfo(principal: string) {\n return resultFormat(\n await (await stakingPoolController()).getPoolStatInfo(Principal.fromText(principal)),\n ).data;\n}\n\nexport function useStakePoolStatInfo(canisterId: string | undefined, reload?: boolean) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getStakePoolStatInfo(canisterId);\n }, [canisterId]),\n reload,\n );\n}\n","import { useCallback } from \"react\";\nimport { swapFactory, swapPool, swapNFT, swapPosition } from \"@icpswap/actor\";\nimport type {\n SwapPoolData,\n TickLiquidityInfo,\n PoolMetadata,\n GetPoolArgs,\n CreatePoolArgs,\n MintArgs,\n UserPositionInfo,\n DecreaseLiquidityArgs,\n IncreaseLiquidityArgs,\n SwapArgs,\n ClaimArgs,\n NFTTokenMetadata,\n UserPositionInfoWithTokenAmount,\n UserPositionInfoWithId,\n PositionInfoWithId,\n TickInfoWithId,\n ActorIdentity,\n PaginationResult,\n Null,\n} from \"@icpswap/types\";\nimport { resultFormat, isAvailablePageArgs } from \"@icpswap/utils\";\nimport { Principal } from \"@dfinity/principal\";\n\nimport { useCallsData, getPaginationAllData, usePaginationAllData, getPaginationAllDataLimit } from \"../useCallData\";\n\nexport async function createSwapPool(args: CreatePoolArgs) {\n return resultFormat(await (await swapFactory(true)).createPool(args));\n}\n\nexport async function getSwapPool(args: GetPoolArgs) {\n return resultFormat(await (await swapFactory()).getPool(args)).data;\n}\n\nexport function useSwapPool(args: GetPoolArgs | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!args) return undefined;\n return await getSwapPool(args);\n }, [args]),\n );\n}\n\nexport async function getSwapPools() {\n return resultFormat(await (await swapFactory()).getPools()).data;\n}\n\nexport function useSwapPools() {\n return useCallsData(\n useCallback(async () => {\n return await getSwapPools();\n }, []),\n );\n}\n\nexport async function getSwapPoolMetadata(canisterId: string) {\n return resultFormat(await (await swapPool(canisterId)).metadata()).data;\n}\n\nexport function useSwapPoolMetadata(canisterId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapPoolMetadata(canisterId);\n }, [canisterId]),\n );\n}\n\nexport async function getSwapTickInfos(canisterId: string, offset: number, limit: number) {\n return resultFormat>(\n await (await swapPool(canisterId)).getTickInfos(BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport async function getSwapPoolAllTickInfos(poolId: string, limit = 500) {\n const callback = async (offset: number, limit: number) => {\n return await getSwapTickInfos(poolId, offset, limit);\n };\n\n return await getPaginationAllData(callback, limit);\n}\n\nexport function useLiquidityTickInfos(canisterId: string | undefined, limit?: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapPoolAllTickInfos(canisterId, limit);\n }, [canisterId, limit]),\n );\n}\n\nexport async function deposit(canisterId: string, token: string, amount: bigint, fee: bigint) {\n return resultFormat(await (await swapPool(canisterId, true)).deposit({ token, amount, fee }));\n}\n\nexport async function depositFrom(canisterId: string, token: string, amount: bigint, fee: bigint) {\n return resultFormat(await (await swapPool(canisterId, true)).depositFrom({ token, amount, fee }));\n}\n\nexport async function mint(canisterId: string, args: MintArgs) {\n return resultFormat(await (await swapPool(canisterId, true)).mint(args));\n}\n\nexport async function increaseLiquidity(poolId: string, args: IncreaseLiquidityArgs) {\n return resultFormat(await (await swapPool(poolId, true)).increaseLiquidity(args));\n}\n\nexport async function decreaseLiquidity(poolId: string, args: DecreaseLiquidityArgs) {\n return resultFormat<{ amount0: bigint; amount1: bigint }>(\n await (await swapPool(poolId, true)).decreaseLiquidity(args),\n );\n}\n\nexport async function withdraw(poolId: string, token: string, fee: bigint, amount: bigint) {\n return resultFormat(await (await swapPool(poolId, true)).withdraw({ token, fee, amount }));\n}\n\nexport async function quote(poolId: string, args: SwapArgs) {\n return resultFormat(await (await swapPool(poolId)).quote(args)).data;\n}\n\nexport async function swap(poolId: string, args: SwapArgs) {\n return resultFormat(await (await swapPool(poolId, true)).swap(args));\n}\n\nexport async function collect(poolId: string, args: ClaimArgs) {\n return resultFormat<{ amount0: bigint; amount1: bigint }>(await (await swapPool(poolId, true)).claim(args));\n}\n\nexport async function getUserUnusedBalance(canisterId: string, user: Principal) {\n return resultFormat<{ balance0: bigint; balance1: bigint }>(\n await (await swapPool(canisterId)).getUserUnusedBalance(user),\n ).data;\n}\n\nexport function useUserUnusedBalance(\n canisterId: string | undefined,\n user: Principal | undefined,\n refresh?: number | boolean,\n) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !user) return undefined;\n return await getUserUnusedBalance(canisterId, user);\n }, [canisterId, user]),\n refresh,\n );\n}\n\nexport async function getSwapPosition(canisterId: string, tokenId: bigint) {\n return resultFormat(await (await swapPool(canisterId)).getUserPosition(tokenId)).data;\n}\n\nexport function useSwapPosition(canisterId: string | undefined, positionId: bigint | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || (!positionId && positionId !== BigInt(0))) return undefined;\n return await getSwapPosition(canisterId, positionId);\n }, [canisterId, positionId]),\n );\n}\n\nexport async function getPositionFee(canisterId: string, positionId: bigint) {\n return resultFormat<{ tokensOwed0: bigint; tokensOwed1: bigint }>(\n await (await swapPool(canisterId)).refreshIncome(positionId),\n ).data;\n}\n\nexport function usePositionFee(\n canisterId: string | undefined,\n positionId: bigint | undefined,\n refresh?: number | boolean,\n) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || (!positionId && positionId === BigInt(0))) return undefined;\n return await getPositionFee(canisterId, positionId);\n }, [canisterId, positionId]),\n refresh,\n );\n}\n\nexport type SwapPoolAllBalance = [Principal, { balance0: bigint; balance1: bigint }];\n\nexport async function getSwapPoolAllBalance(canisterId: string, offset: number, limit: number) {\n return resultFormat>(\n await (await swapPool(canisterId)).allTokenBalance(BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useSwapPoolAllBalance(canisterId: string | undefined, offset: number, limit: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapPoolAllBalance(canisterId, offset, limit);\n }, [canisterId, offset, limit]),\n );\n}\n\nexport async function _getSwapPoolAllBalance(poolId: string, limit = 1000) {\n const callback = async (offset: number, limit: number) => {\n return await getSwapPoolAllBalance(poolId, offset, limit);\n };\n\n return await getPaginationAllData(callback, limit);\n}\n\nexport function _useSwapPoolAllBalance(canisterId: string | undefined, limit?: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await _getSwapPoolAllBalance(canisterId, limit);\n }, [canisterId, limit]),\n );\n}\n\n/* swap nft */\n\nexport async function getUserSwapNFTs(principal: string, offset: number, limit: number) {\n return resultFormat>(\n await (await swapNFT()).findTokenList({ principal: Principal.fromText(principal) }, BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useUserSwapNFTs(principal: string | undefined, offset: number, limit: number) {\n return useCallsData(\n useCallback(async () => {\n if (!principal || !isAvailablePageArgs(offset, limit)) return undefined;\n return await getUserSwapNFTs(principal, offset, limit);\n }, [principal, offset, limit]),\n );\n}\n\nexport function useUserAllNFTs(principal: string | undefined) {\n const callback = useCallback(\n async (offset: number, limit: number) => {\n if (!principal) return undefined;\n return await getUserSwapNFTs(principal, offset, limit);\n },\n [principal],\n );\n\n return usePaginationAllData(callback, 2000);\n}\n\nexport async function getSwapNFTTokenURI(tokenId: bigint | number) {\n const data = resultFormat(await (await swapNFT()).tokenURI(BigInt(tokenId))).data;\n return JSON.parse(data ?? \"\") as { image: string; [key: string]: any };\n}\n\nexport function useSwapNFTTokenURI(tokenId: bigint | number | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (tokenId === undefined) return undefined;\n return await getSwapNFTTokenURI(tokenId);\n }, [tokenId]),\n );\n}\n\nexport async function getPositionNFTId(poolId: string, positionId: string) {\n return resultFormat(await (await swapNFT()).getTokenId(poolId, positionId)).data;\n}\n\nexport function usePositionNFTId(poolId: string | undefined, positionId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (poolId === undefined || positionId === undefined) return undefined;\n\n return await getPositionNFTId(poolId, positionId);\n }, [poolId, positionId]),\n );\n}\n\n/* swap nft */\n\n/* swap records */\n\nexport async function getSwapUserPositionWithAmount(canisterId: string, offset: number, limit: number) {\n return resultFormat>(\n await (await swapPool(canisterId)).getUserPositionWithTokenAmount(BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useSwapUserPositionWithAmount(canisterId: string | undefined, offset: number, limit: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !isAvailablePageArgs(offset, limit)) return undefined;\n return await getSwapUserPositionWithAmount(canisterId, offset, limit);\n }, [canisterId, offset, limit]),\n );\n}\n\nexport async function _getSwapUserPositionsWithAmount(poolId: string, limit = 1000) {\n const callback = async (offset: number, limit: number) => {\n return await getSwapUserPositionWithAmount(poolId, offset, limit);\n };\n\n return await getPaginationAllData(callback, limit);\n}\n\nexport function _useSwapUserPositionsWithAmount(canisterId: string | undefined, limit?: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await _getSwapUserPositionsWithAmount(canisterId, limit);\n }, [canisterId, limit]),\n );\n}\n\nexport async function getSwapPositions(canisterId: string, offset: number, limit: number) {\n return resultFormat>(\n await (await swapPool(canisterId)).getUserPositions(BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useSwapPositions(canisterId: string | Null, offset: number, limit: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !isAvailablePageArgs(offset, limit)) return undefined;\n return await getSwapPositions(canisterId, offset, limit);\n }, [canisterId, offset, limit]),\n );\n}\n\nexport async function getSwapAllUserPositions(poolId: string, limit = 2000) {\n const callback = async (offset: number, limit: number) => {\n return await getSwapPositions(poolId, offset, limit);\n };\n\n return await getPaginationAllData(callback, limit);\n}\n\nexport function useSwapAllUserPositions(canisterId: string | undefined, limit?: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapAllUserPositions(canisterId, limit);\n }, [canisterId, limit]),\n );\n}\n\nexport async function getSwapPoolPositions(canisterId: string, offset: number, limit: number) {\n return resultFormat>(\n await (await swapPool(canisterId)).getPositions(BigInt(offset), BigInt(limit)),\n ).data;\n}\n\nexport function useSwapPoolPositions(canisterId: string | undefined, offset: number, limit: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId || !isAvailablePageArgs(offset, limit)) return undefined;\n return await getSwapPoolPositions(canisterId, offset, limit);\n }, [canisterId, offset, limit]),\n );\n}\n\nexport async function getSwapPoolAllPositions(poolId: string, limit = 1000) {\n const callback = async (offset: number, limit: number) => {\n return await getSwapPoolPositions(poolId, offset, limit);\n };\n\n return await getPaginationAllData(callback, limit);\n}\n\nexport function useSwapPoolAllPositions(canisterId: string | undefined, limit?: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapPoolAllPositions(canisterId, limit);\n }, [canisterId, limit]),\n );\n}\n\nexport async function getSwapTicks(canisterId: string, offset: number, limit: number) {\n const result = await (await swapPool(canisterId)).getTicks(BigInt(offset), BigInt(limit));\n return resultFormat>(result).data;\n}\n\nexport async function getSwapAllTicks(canisterId: string, limit = 1000) {\n const callback = async (offset: number, limit: number) => {\n return await getSwapTicks(canisterId, offset, limit);\n };\n\n return await getPaginationAllDataLimit(callback, limit);\n}\n\nexport function useSwapAllTicks(canisterId: string | undefined, limit?: number) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapAllTicks(canisterId, limit);\n }, [canisterId, limit]),\n );\n}\n\nexport async function getSwapCyclesInfo(canisterId: string) {\n return resultFormat<{ balance: bigint; available: bigint }>(await (await swapPool(canisterId)).getCycleInfo()).data;\n}\n\nexport function useSwapCyclesInfo(canisterId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapCyclesInfo(canisterId);\n }, [canisterId]),\n );\n}\n\nexport async function getSwapTokenAmountState(canisterId: string) {\n return resultFormat<{\n swapFee0Repurchase: bigint;\n token0Amount: bigint;\n token1Amount: bigint;\n swapFee1Repurchase: bigint;\n }>(await (await swapPool(canisterId)).getTokenAmountState()).data;\n}\n\nexport function useSwapTokenAmountState(canisterId: string | undefined) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n return await getSwapTokenAmountState(canisterId);\n }, [canisterId]),\n );\n}\n\n/* swap records */\n\n/* swap positions */\nexport async function updateUserPositionPoolId(poolId: string, identity?: ActorIdentity) {\n return resultFormat(await (await swapPosition(identity)).addPoolId(poolId));\n}\n\nexport async function getUserPositionsPools(account: string) {\n return resultFormat(await (await swapPosition()).getUserPools(account)).data;\n}\n\nexport function useUserPositionPools(account: string | undefined | null) {\n return useCallsData(\n useCallback(async () => {\n if (!account) return undefined;\n return await getUserPositionsPools(account);\n }, [account]),\n );\n}\n\nexport async function getSwapUserPositions(poolId: string, principal: string) {\n return resultFormat(\n await (await swapPool(poolId)).getUserPositionsByPrincipal(Principal.fromText(principal)),\n ).data;\n}\n\nexport function useSwapUserPositions(poolId: string | Null, principal: string | Null, refresh?: boolean | number) {\n return useCallsData(\n useCallback(async () => {\n if (!principal || !poolId) return undefined;\n return await getSwapUserPositions(poolId, principal);\n }, [principal, poolId]),\n refresh,\n );\n}\n\nexport async function approvePosition(poolId: string, spender: string, index: number | bigint) {\n return resultFormat(\n await (await swapPool(poolId, true)).approvePosition(Principal.fromText(spender), BigInt(index)),\n );\n}\n\nexport async function getSwapPositionOwner(poolId: string, positionIndex: number | bigint) {\n return resultFormat(await (await swapPool(poolId)).getUserByPositionId(BigInt(positionIndex))).data;\n}\n\nexport function useSwapPositionOwner(\n poolId: string | undefined,\n positionIndex: number | bigint | undefined,\n refresh?: number,\n) {\n return useCallsData(\n useCallback(async () => {\n if (!poolId || positionIndex === undefined) return undefined;\n return await getSwapPositionOwner(poolId, positionIndex);\n }, [positionIndex, poolId]),\n refresh,\n );\n}\n\n/* swap positions */\n","import { tokenList, allTokenOfSwap } from \"@icpswap/actor\";\nimport type { TokenListMetadata, AllTokenOfSwapTokenInfo, PaginationResult } from \"@icpswap/types\";\nimport { useCallback } from \"react\";\nimport { resultFormat } from \"@icpswap/utils\";\nimport { useCallsData } from \"../useCallData\";\nimport { getLimitedInfinityCall } from \"../useLimitedInfinityCall\";\n\nexport async function getTokensFromList() {\n return resultFormat(await (await tokenList()).getList()).data;\n}\n\nexport function useTokensFromList() {\n return useCallsData(\n useCallback(async () => {\n return await getTokensFromList();\n }, []),\n );\n}\n\nexport function useTokenListTokenInfo(canisterId: string | undefined | null) {\n return useCallsData(\n useCallback(async () => {\n if (!canisterId) return undefined;\n const info = resultFormat(await (await tokenList()).get(canisterId)).data;\n return info ? info[0] : undefined;\n }, [canisterId]),\n );\n}\n\nexport async function getAllTokensOfSwap(offset: number, limit: number) {\n return resultFormat>(\n await (await allTokenOfSwap()).get_token_list(BigInt(offset), BigInt(limit), []),\n ).data;\n}\n\nexport function useAllTokensOfSwap() {\n const call = async (offset: number, limit: number) => {\n const result = resultFormat>(\n await (await allTokenOfSwap()).get_token_list(BigInt(offset), BigInt(limit), []),\n ).data;\n\n return result?.content;\n };\n\n return useCallsData(\n useCallback(async () => {\n return getLimitedInfinityCall(call, 1000, 2);\n }, []),\n );\n}\n","export function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","import { useState, useMemo, useEffect, useRef } from \"react\";\nimport type { ApiResult, CallResult, PaginationResult } from \"@icpswap/types\";\nimport { pageArgsFormat, sleep } from \"@icpswap/utils\";\n\nexport type Call = () => Promise>;\n\nexport function useCallsData(fn: Call, reload?: number | string | boolean): CallResult {\n const result = useRef(undefined);\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (fn) {\n result.current = undefined;\n setLoading(true);\n fn().then((res) => {\n result.current = res;\n setLoading(false);\n });\n }\n }, [fn, reload]);\n\n return useMemo(\n () => ({\n result: result.current,\n loading,\n }),\n [result, loading],\n );\n}\n\nexport function useLatestDataCall(fn: Call, refresh?: number | string | boolean) {\n const [loading, setLoading] = useState(false);\n\n const indexRef = useRef(0);\n const resultsRef = useRef<{ [key: string]: T | undefined }>({});\n\n useEffect(() => {\n if (fn) {\n setLoading(true);\n\n indexRef.current += 1;\n const index = indexRef.current;\n\n fn().then((result) => {\n resultsRef.current = {\n ...resultsRef.current,\n [String(index)]: result as T,\n };\n\n setLoading(false);\n });\n }\n }, [fn, refresh]);\n\n return useMemo(() => {\n return {\n result: resultsRef.current[indexRef.current] as T | undefined,\n loading,\n };\n }, [resultsRef.current, indexRef.current, loading]);\n}\n\nexport function usePaginationAllData(\n callback: (offset: number, limit: number) => Promise | undefined>,\n limit: number,\n reload = false,\n) {\n const [loading, setLoading] = useState(false);\n const [list, setList] = useState([]);\n\n const fetch = async (offset: number, limit: number) => {\n return await callback(offset, limit).then((result) => {\n if (result) {\n const content = result.content;\n if (content && content.length > 0) {\n return content;\n }\n return [];\n }\n return [];\n });\n };\n\n const fetchDone = async (_list: { [k: string]: T[] }) => {\n let data: T[] = [];\n Object.keys(_list).forEach((key) => {\n data = data.concat(_list[key]);\n });\n setList(data);\n };\n\n useEffect(() => {\n async function getTotalElements() {\n if (callback) {\n const result = await callback(0, 1);\n if (result) {\n return result.totalElements;\n }\n return BigInt(0);\n }\n\n return BigInt(0);\n }\n\n async function call() {\n const totalElements = await getTotalElements();\n\n if (Number(totalElements) !== 0) {\n const num = Number(totalElements) % limit;\n const totalPage =\n num === 0 ? Number(totalElements) / limit : parseInt(String(Number(totalElements) / limit)) + 1;\n\n setLoading(true);\n\n const _list: { [k: string]: T[] } = {};\n\n for (let i = 0; i < totalPage; i++) {\n const [offset] = pageArgsFormat(i + 1, limit);\n\n if (totalPage % 80 === 0) {\n await sleep(2000);\n }\n\n const _fetch = () => {\n fetch(offset, limit)\n .then(async (content) => {\n if (content && content.length > 0) {\n _list[`${i + 1}`] = content;\n if (Object.keys(_list).length === totalPage) {\n await fetchDone(_list);\n setLoading(false);\n }\n }\n })\n .catch((error) => {\n console.log(error);\n _fetch();\n });\n };\n\n _fetch();\n }\n } else {\n setList([]);\n setLoading(false);\n }\n }\n\n call();\n }, [reload, callback]);\n\n return useMemo(\n () => ({\n result: list,\n loading,\n }),\n [list, loading],\n );\n}\n\nexport async function getPaginationAllData(\n callback: (offset: number, limit: number) => Promise | undefined>,\n limit: number,\n) {\n const fetch = async (offset: number, limit: number) => {\n return await callback(offset, limit);\n };\n\n const _result = await fetch(0, 1);\n const totalElements = Number(_result?.totalElements ?? 0);\n const totalPage =\n totalElements % limit === 0 ? parseInt(String(totalElements / limit)) : parseInt(String(totalElements / limit)) + 1;\n\n const promise: Promise | undefined>[] = [];\n\n for (let i = 1; i < totalPage + 1; i++) {\n const [offset] = pageArgsFormat(i, limit);\n promise.push(fetch(offset, limit));\n }\n\n const result = await Promise.all(promise);\n\n return result\n .filter((res) => !!res)\n .reduce((prev, curr) => {\n return prev.concat(curr?.content ?? []);\n }, [] as T[]);\n}\n\nexport async function getPaginationAllDataLimit(\n callback: (offset: number, limit: number) => Promise | undefined>,\n limit: number,\n) {\n const fetch = async (offset: number, limit: number) => {\n return await callback(offset, limit);\n };\n\n const __result = await fetch(0, limit);\n const totalElements = Number(__result?.totalElements ?? 0);\n const totalPage =\n totalElements % limit === 0 ? parseInt(String(totalElements / limit)) : parseInt(String(totalElements / limit)) + 1;\n\n const promise: Promise | undefined>[] = [];\n\n for (let i = 2; i < totalPage + 1; i++) {\n const [offset] = pageArgsFormat(i, limit);\n promise.push(fetch(offset, limit));\n }\n\n const result = await Promise.all(promise);\n\n return result\n .filter((res) => !!res)\n .reduce(\n (prev, curr) => {\n return prev.concat(curr?.content ?? []);\n },\n __result.content ?? ([] as T[]),\n );\n}\n","import { useState, useMemo, useEffect } from \"react\";\n\nexport function useLimitedInfinityCall(\n callback: (offset: number, limit: number) => Promise,\n limit: number,\n reload = false,\n) {\n const [loading, setLoading] = useState(false);\n const [list, setList] = useState([]);\n\n useEffect(() => {\n async function call() {\n setLoading(true);\n const result = await getLimitedInfinityCall(callback, limit, 5);\n setList(result);\n }\n\n call();\n }, [reload, callback, limit]);\n\n return useMemo(\n () => ({\n result: list,\n loading,\n }),\n [list, loading],\n );\n}\n\ntype Callback = (offset: number, limit: number) => Promise;\n\nexport async function fetch_data(start: number, limit: number, callback: Callback) {\n const result = await callback(start, limit);\n return result;\n}\n\n/**\n * @description getLimitedInfinityCall\n * @param callback The call to fetch the data\n * @param limit The data length in each call\n * @param call_rounds Number of call\n */\nexport async function getLimitedInfinityCall(\n callback: (offset: number, limit: number) => Promise,\n limit: number,\n call_rounds = 10,\n start_index?: number,\n) {\n let data: T[] = [];\n let fetch_index = 0;\n let fetch_done = false;\n\n const fetch = async (index: number) => {\n fetch_index += 1;\n\n await Promise.all(\n Array.from({ length: call_rounds }, (_, i) => i).map(async (call_index) => {\n const start = (start_index ?? 0) + call_index * limit + index * limit * call_rounds;\n\n const result = await fetch_data(start, limit, callback);\n\n if (!result) {\n return undefined;\n } \n data = data.concat(result);\n\n if (result.length < limit) {\n fetch_done = true;\n }\n \n\n return undefined;\n }),\n );\n\n if (!fetch_done) {\n await fetch(fetch_index);\n }\n };\n\n await fetch(fetch_index);\n\n return data;\n}\n","import invariant from \"tiny-invariant\";\n\n/**\n * A currency is any fungible financial instrument, including Ether, all ERC20 tokens, and other chain-native currencies\n */\nexport abstract class BaseCurrency {\n /**\n * Returns whether the currency is native to the chain and must be wrapped (e.g. Ether)\n */\n public abstract readonly isNative: boolean;\n\n /**\n * Returns whether the currency is a token that is usable without wrapping\n */\n public abstract readonly isToken: boolean;\n\n /**\n * The decimals used in representing currency amounts\n */\n public readonly decimals: number;\n\n /**\n * The symbol of the currency, i.e. a short textual non-unique identifier\n */\n public readonly symbol: string;\n\n /**\n * The name of the currency, i.e. a descriptive textual non-unique identifier\n */\n public readonly name: string;\n\n public readonly logo: string;\n\n public readonly transFee: number;\n\n public readonly standard: string;\n\n /**\n * Constructs an instance of the base class `BaseCurrency`.\n * @param decimals decimals of the currency\n * @param symbol symbol of the currency\n * @param name of the currency\n */\n protected constructor({\n decimals,\n symbol,\n name,\n logo,\n transFee,\n standard,\n }: {\n decimals: number;\n symbol: string;\n name: string;\n logo?: string;\n transFee?: number;\n standard: string;\n }) {\n invariant(decimals >= 0 && decimals < 255 && Number.isInteger(decimals), \"DECIMALS\");\n\n this.decimals = decimals;\n this.symbol = symbol;\n this.name = name ?? \"\";\n this.logo = logo ?? \"\";\n this.transFee = transFee ?? 0;\n this.standard = standard;\n }\n\n /**\n * Returns whether this currency is functionally equivalent to the other currency\n * @param other the other currency\n */\n public abstract equals(other: BaseCurrency): boolean;\n}\n","/* eslint-disable @typescript-eslint/prefer-as-const */\n\nimport invariant from \"tiny-invariant\";\nimport { validateAndParseAddress } from \"../utils/validateAndParseAddress\";\nimport { BaseCurrency } from \"./baseCurrency\";\n\ninterface ConstructorArgs {\n address: string;\n decimals: number;\n symbol: string;\n name: string;\n logo?: string;\n transFee?: number;\n standard: string;\n}\n\n/**\n * Represents an ICP token with a unique address and some metadata.\n */\nexport class Token extends BaseCurrency {\n public readonly isNative: false = false;\n\n public readonly isToken: true = true;\n\n /**\n * The contract address on the chain on which this token lives\n */\n public readonly address: string;\n\n public constructor({ address, decimals, symbol, name, logo, transFee, standard }: ConstructorArgs) {\n super({\n decimals,\n symbol,\n name,\n logo,\n transFee,\n standard,\n });\n\n this.address = validateAndParseAddress(address);\n }\n\n /**\n * Returns true if the two tokens are equivalent, i.e. have the same address.\n * @param other other token to compare\n */\n public equals(other: Token): boolean {\n return other.isToken && this.address === other.address;\n }\n\n /**\n * Returns true if the address of this token sorts before the address of the other token\n * @param other other token to compare\n * @throws if the tokens have the same address\n * @throws if the tokens are on different chains\n */\n public sortsBefore(other: Token): boolean {\n invariant(this.address !== other.address, \"ADDRESSES\");\n return this.address.toLowerCase() < other.address.toLowerCase();\n }\n\n /**\n * Return this token, which does not need to be wrapped\n */\n public get wrapped(): Token {\n return this;\n }\n}\n","import { isValidPrincipal } from \"@icpswap/utils\";\nimport { getAddress } from \"@ethersproject/address\";\n\n/**\n * Validates an address and returns the address\n * @param address the principal address\n */\nexport function validateAndParseAddress(address: string): string {\n if (isValidPrincipal(address)) return address;\n throw new Error(`${address} is not a valid address.`);\n}\n\nexport function validateAndParseERC20Address(address: string): string {\n try {\n return getAddress(address);\n } catch (error) {\n throw new Error(`${address} is not a valid address.`);\n }\n}\n","export function isBigIntMemo(\n memo: bigint | number[] | undefined\n): memo is bigint {\n if (typeof memo === \"bigint\") return true;\n return false;\n}\n","import { BigNumber } from \"bignumber.js\";\nimport { Override, ActorIdentity, StatusResult, PaginationResult } from \"@icpswap/types\";\nimport { ActorSubclass } from \"@dfinity/agent\";\nimport { Principal } from \"@dfinity/principal\";\nimport type { TokenTransaction } from \"@icpswap/types\";\nimport {\n TokenHolder,\n BalanceRequest as _BalanceRequest,\n TokenTransferRequest as _TransferRequest,\n SetFeeToRequest as _SetFeeToRequest,\n TransactionRequest as _TransactionRequest,\n Transaction,\n TokenAllowanceRequest,\n TokenApproveRequest,\n Metadata,\n} from \"./types\";\n\nexport type BaseTokenRequestNoParams = {\n canisterId: string;\n};\n\nexport type BaseTokenRequest = {\n canisterId: string;\n params: T;\n};\n\nexport type BaseTokenIdentityRequest = {\n canisterId: string;\n params: T;\n identity: ActorIdentity;\n};\n\nexport type BaseTokenResult = Promise>;\n\nexport interface TotalHoldersRequest {\n canisterId: string;\n}\n\nexport type TotalHoldersResult = BaseTokenResult;\n\nexport type HoldersRequest = BaseTokenRequest<{\n offset: bigint;\n limit: bigint;\n}>;\nexport type HoldersResult = BaseTokenResult>;\n\nexport type SupplyRequest = { canisterId: string };\nexport type SupplyResult = Promise>;\n\nexport type BalanceRequest = BaseTokenRequest<_BalanceRequest>;\nexport type BalanceResult = Promise>;\n\nexport type TransferRequest = BaseTokenIdentityRequest<_TransferRequest>;\nexport type TransferResult = BaseTokenResult;\n\nexport type GetFeeRequest = BaseTokenRequestNoParams;\nexport type GetFeeResult = BaseTokenResult;\nexport type SetFeeRequest = BaseTokenIdentityRequest;\nexport type SetFeeResult = BaseTokenResult;\nexport type SetFeeToRequest = BaseTokenIdentityRequest<_SetFeeToRequest>;\nexport type SetFeeToResult = BaseTokenResult;\n\nexport type TransactionRequest = BaseTokenRequest<\n Override<\n _TransactionRequest,\n {\n capId?: string;\n getCapRootId?: (canisterId: string) => Promise;\n getCapUserTransactions?: (\n canisterId: string,\n principal: Principal,\n witness: boolean,\n offset: number,\n ) => Promise<{\n totalElements: number;\n offset: number;\n limit: number;\n content: TokenTransaction[];\n }>;\n getCapTransactions?: (\n canisterId: string,\n witness: boolean,\n offset: number,\n ) => Promise<{\n totalElements: number;\n offset: number;\n limit: number;\n content: TokenTransaction[];\n }>;\n witness?: boolean;\n }\n >\n>;\nexport type TransactionResult = BaseTokenResult>;\n\nexport type ApproveRequest = BaseTokenIdentityRequest;\nexport type ApproveResult = BaseTokenResult;\nexport type AllowanceRequest = BaseTokenRequest;\nexport type AllowanceResult = BaseTokenResult;\n\nexport type MetadataRequest = BaseTokenRequestNoParams;\nexport type MetadataResult = BaseTokenResult;\n\nexport type SetLogoRequest = BaseTokenIdentityRequest;\nexport type SetLogoResult = BaseTokenResult;\nexport type LogoRequest = BaseTokenRequestNoParams;\nexport type LogoResult = BaseTokenResult;\n\nexport type ActualReceivedByTransferRequest = {\n amount: BigNumber;\n fee: BigNumber;\n canisterId: string;\n};\nexport type ActualReceivedByTransferResult = BigNumber;\n\nexport abstract class BaseTokenAdapter {\n public readonly actor: (canister?: string, identity?: ActorIdentity) => Promise>;\n\n constructor({ actor }: { actor: (canister?: string, identity?: ActorIdentity) => Promise> }) {\n this.actor = actor;\n }\n\n public abstract totalHolders({ canisterId }: TotalHoldersRequest): TotalHoldersResult;\n\n public abstract holders({ canisterId, params }: HoldersRequest): HoldersResult;\n\n public abstract supply({ canisterId }: SupplyRequest): SupplyResult;\n\n public abstract balance({ canisterId, params }: BalanceRequest): BalanceResult;\n\n public abstract transfer(request: TransferRequest): TransferResult;\n\n public abstract setFee(request: SetFeeRequest): SetFeeResult;\n\n public abstract setFeeTo(request: SetFeeToRequest): SetFeeToResult;\n\n public abstract transactions(request: TransactionRequest): TransactionResult;\n\n public abstract approve(request: ApproveRequest): ApproveResult;\n\n public abstract allowance(request: AllowanceRequest): AllowanceResult;\n\n public abstract metadata(request: MetadataRequest): MetadataResult;\n\n public abstract setLogo(request: SetLogoRequest): SetLogoResult;\n\n public abstract actualReceivedByTransfer(request: ActualReceivedByTransferRequest): ActualReceivedByTransferResult;\n\n public abstract getMintingAccount({\n canisterId,\n }: {\n canisterId: string;\n }): BaseTokenResult<{ owner: string; sub: number[] | undefined }>;\n}\n","import { resultFormat, availableArgsNull, principalToAccount, isOkSubAccount, isBigIntMemo } from \"@icpswap/utils\";\nimport { SubAccount } from \"@dfinity/ledger-icp\";\nimport { PaginationResult, ResultStatus } from \"@icpswap/types\";\nimport { ext } from \"@icpswap/actor\";\nimport { EXTToken, TokenUser } from \"@icpswap/candid\";\nimport { TokenHolder, Transaction, Metadata } from \"./types\";\nimport {\n BaseTokenAdapter,\n HoldersRequest,\n TotalHoldersRequest,\n SupplyRequest,\n BalanceRequest,\n TransferRequest,\n SetFeeRequest,\n SetFeeToRequest,\n TransactionRequest,\n ApproveRequest,\n AllowanceRequest,\n MetadataRequest,\n SetLogoRequest,\n ActualReceivedByTransferRequest,\n BaseTokenResult,\n} from \"./BaseTokenAdapter\";\n\nexport class EXTTokenAdapter extends BaseTokenAdapter {\n public async holders({ canisterId, params }: HoldersRequest) {\n return resultFormat>(\n await (\n await this.actor(canisterId)\n ).holders({\n offset: [params.offset],\n limit: [params.limit],\n }),\n );\n }\n\n public async totalHolders({ canisterId }: TotalHoldersRequest) {\n return resultFormat(await (await this.actor(canisterId)).totalHolders());\n }\n\n public async supply({ canisterId }: SupplyRequest) {\n return resultFormat(await (await this.actor(canisterId)).supply());\n }\n\n public async balance({ canisterId, params }: BalanceRequest) {\n if (!params.user.address && !params.user.principal) throw Error(\"no user address or principal\");\n\n let address = \"\";\n\n if (params.user.principal) {\n const sub = params.subaccount ? SubAccount.fromBytes(Uint8Array.from(params.subaccount)) : undefined;\n address = principalToAccount(params.user.principal.toString(), isOkSubAccount(sub) ? sub : undefined);\n } else if (params.user.address) {\n address = params.user.address;\n }\n\n return resultFormat(\n await (\n await this.actor(canisterId)\n ).balance({\n token: params.token,\n user: { address },\n }),\n );\n }\n\n public async transfer({ canisterId, identity, params }: TransferRequest) {\n if (!params.to.address && !params.to.principal) throw Error(\"No to address or principal\");\n if (!params.from.address && !params.from.principal) throw Error(\"No from address or principal\");\n if (isBigIntMemo(params.memo)) throw Error(\"Can't support bigint (memo)\");\n\n const subaccount = params.subaccount ? SubAccount.fromBytes(Uint8Array.from(params.subaccount)) : undefined;\n\n return resultFormat(\n await (\n await this.actor(canisterId, identity)\n ).transfer({\n token: params.token ?? \"\",\n to: params.to.principal\n ? params.subaccount\n ? {\n address: principalToAccount(\n params.to.principal.toString(),\n isOkSubAccount(subaccount) ? subaccount : undefined,\n ),\n }\n : { address: principalToAccount(params.to.principal.toString()) }\n : { address: params.to.address as string },\n from: params.from.principal\n ? { address: principalToAccount(params.from.principal.toString()) }\n : { address: params.from.address as string },\n memo: params.memo ? params.memo : [],\n subaccount: availableArgsNull(undefined),\n nonce: availableArgsNull(params.nonce),\n amount: params.amount,\n notify: params.notify ?? true,\n }),\n );\n }\n\n public async setFee({ canisterId, identity, params }: SetFeeRequest) {\n return resultFormat(await (await this.actor(canisterId, identity)).setFee(params));\n }\n\n public async setFeeTo({ canisterId, identity, params }: SetFeeToRequest) {\n if (!params.address) throw Error(\"no user address\");\n\n return resultFormat(await (await this.actor(canisterId, identity)).setFeeTo({ address: params.address }));\n }\n\n public async transactions({ canisterId, params }: TransactionRequest) {\n let cap_id = params.capId;\n\n if (!cap_id) {\n const extensions = await this.extensions({ canisterId });\n\n if (extensions.includes(\"@ext/cap\")) {\n cap_id = (await params.getCapRootId(canisterId))?.toString();\n }\n }\n\n if (cap_id) {\n if (!params.offset && params.offset !== 0) throw Error(\"no cap offset\");\n\n if (params.user?.principal) {\n return resultFormat>(\n await params.getCapUserTransactions(cap_id, params.user?.principal, params.witness ?? false, params.offset),\n );\n }\n\n return resultFormat>(\n await params.getCapTransactions(cap_id, params.witness ?? false, params.offset),\n );\n }\n\n return resultFormat>(\n await (\n await this.actor(canisterId)\n ).transactions({\n hash: availableArgsNull(params.hash),\n user: availableArgsNull(params.user?.address ? { address: params.user.address } : undefined),\n offset: availableArgsNull(params.offset ? BigInt(params.offset) : null),\n limit: availableArgsNull(params.limit ? BigInt(params.limit) : null),\n index: availableArgsNull(params.index ? BigInt(params.index) : null),\n }),\n );\n }\n\n public async approve({ canisterId, params, identity }: ApproveRequest) {\n return resultFormat(\n await (\n await this.actor(canisterId, identity)\n ).approve({\n subaccount: params.subaccount ? [Array.from(params.subaccount)] : [],\n spender: params.spender,\n allowance: BigInt(Number.MAX_VALUE),\n }),\n );\n }\n\n public async allowance({ canisterId, params }: AllowanceRequest) {\n if (!params.owner.address && !params.owner.principal) throw Error(\"no owner address or principal\");\n\n return resultFormat(\n await (\n await this.actor(canisterId)\n ).allowance({\n owner: params.owner.address ? { address: params.owner.address } : { principal: params.owner.principal! },\n subaccount: params.subaccount ? [Array.from(params.subaccount)] : [],\n spender: params.spender,\n }),\n );\n }\n\n public async metadata({ canisterId }: MetadataRequest) {\n const metadata = resultFormat<{\n fungible: Metadata;\n }>(await (await this.actor(canisterId)).metadata()).data?.fungible;\n const logo = resultFormat(await (await this.actor(canisterId)).logo()).data;\n const fee = resultFormat(await (await this.actor(canisterId)).getFee()).data;\n\n return {\n status: ResultStatus.OK,\n data: {\n ...metadata,\n logo,\n fee,\n } as Metadata,\n message: \"\",\n };\n }\n\n public async setLogo({ canisterId, params, identity }: SetLogoRequest) {\n return resultFormat(await (await this.actor(canisterId, identity)).setLogo(params));\n }\n\n public actualReceivedByTransfer({ amount }: ActualReceivedByTransferRequest) {\n return amount;\n }\n\n public async extensions({ canisterId }: { canisterId: string }) {\n return await (await this.actor(canisterId)).extensions();\n }\n\n public async getMintingAccount({\n canisterId,\n }: {\n canisterId: string;\n }): BaseTokenResult<{ owner: string; sub: number[] | undefined }> {\n return {\n status: ResultStatus.OK,\n data: undefined,\n message: \"\",\n };\n }\n}\n\nexport const EXTAdapter = new EXTTokenAdapter({\n actor: ext,\n});\n","import { resultFormat } from \"@icpswap/utils\";\nimport { PaginationResult, ResultStatus } from \"@icpswap/types\";\nimport { dip20, dip20BalanceActor, dip20SupplyActor } from \"@icpswap/actor\";\nimport { Principal } from \"@dfinity/principal\";\nimport { DIP20, type DIP20TokenInfo } from \"@icpswap/candid\";\nimport { TokenHolder, Transaction, DIP20Metadata, Metadata } from \"./types\";\nimport {\n BaseTokenAdapter,\n HoldersRequest,\n TotalHoldersRequest,\n SupplyRequest,\n BalanceRequest,\n TransferRequest,\n SetFeeRequest,\n SetFeeToRequest,\n GetFeeRequest,\n TransactionRequest,\n ApproveRequest,\n AllowanceRequest,\n MetadataRequest,\n SetLogoRequest,\n ActualReceivedByTransferRequest,\n BaseTokenResult,\n} from \"./BaseTokenAdapter\";\n\nexport class DIP20TokenAdapter extends BaseTokenAdapter {\n public async holders({ canisterId, params }: HoldersRequest) {\n const totalHolder = (await this.totalHolders({ canisterId })).data;\n\n if (totalHolder) {\n const _holders = (await (await this.actor(canisterId)).getHolders(params.offset, params.limit)) as Array<\n [Principal, bigint]\n >;\n\n const holders = _holders.map((holder) => {\n return {\n balance: holder[1],\n account: holder[0].toString(),\n };\n }) as TokenHolder[];\n\n return {\n status: ResultStatus.OK,\n message: \"\",\n data: {\n content: holders,\n totalElements: Number(totalHolder),\n limit: Number(params.limit),\n offset: Number(params.offset),\n } as PaginationResult,\n };\n }\n\n return {\n status: ResultStatus.OK,\n data: {\n content: [] as TokenHolder[],\n totalElements: 0,\n limit: 10,\n offset: 0,\n } as PaginationResult,\n message: \"\",\n };\n }\n\n public async totalHolders({ canisterId }: TotalHoldersRequest) {\n let tokenInfo: null | DIP20TokenInfo = null;\n\n try {\n tokenInfo = (await (await this.actor(canisterId)).getTokenInfo()) as DIP20TokenInfo;\n return resultFormat(tokenInfo.holderNumber);\n } catch (error) {\n console.error(error);\n }\n\n return resultFormat(undefined);\n }\n\n public async supply({ canisterId }: SupplyRequest) {\n try {\n return resultFormat(await (await this.actor(canisterId)).totalSupply());\n } catch (error) {\n console.error(error);\n return resultFormat(await (await dip20SupplyActor(canisterId)).totalSupply());\n }\n }\n\n public async balance({ canisterId, params }: BalanceRequest) {\n if (params.user.principal) {\n // DIP20 not support subaccount balance\n if (params.subaccount) {\n return resultFormat(BigInt(0));\n }\n\n let balance = BigInt(0);\n\n try {\n balance = (await (await this.actor(canisterId)).balanceOf(params.user.principal)) as bigint;\n } catch (error) {\n console.error(error);\n balance = (await (await dip20BalanceActor(canisterId)).balanceOf(params.user.principal)) as bigint;\n }\n\n return resultFormat(balance);\n }\n\n return resultFormat(BigInt(0));\n }\n\n public async transfer({ canisterId, identity, params }: TransferRequest) {\n if (!params.to.principal) throw Error(\"no user principal\");\n\n const result = await (await this.actor(canisterId, identity)).transfer(params.to.principal, params.amount);\n return resultFormat(result);\n }\n\n public async getFee({ canisterId }: GetFeeRequest) {\n const metadata = await (await this.actor(canisterId)).getMetadata();\n return resultFormat(metadata.fee);\n }\n\n public async setFee({ canisterId, identity, params }: SetFeeRequest) {\n return resultFormat(await (await this.actor(canisterId, identity)).setFee(params));\n }\n\n public async setFeeTo({ canisterId, identity, params }: SetFeeToRequest) {\n if (!params.principal) throw Error(\"no principal\");\n return resultFormat(await (await this.actor(canisterId, identity)).setFeeTo(params.principal));\n }\n\n public async transactions({ canisterId, params }: TransactionRequest) {\n return resultFormat>({\n Ok: {\n content: [],\n totalElements: BigInt(0),\n offset: BigInt(0),\n limit: BigInt(10),\n },\n });\n }\n\n public async approve({ canisterId, params, identity }: ApproveRequest) {\n // 10 times approve amount to fix dip20 insufficient allowance amount\n // TODO: A better way to fix it\n return resultFormat(\n await (await this.actor(canisterId, identity)).approve(params.spender, params.allowance * BigInt(10)),\n );\n }\n\n public async allowance({ canisterId, params }: AllowanceRequest) {\n if (!params.owner.principal) {\n throw Error(\"no principal\");\n }\n\n return resultFormat(await (await this.actor(canisterId)).allowance(params.owner.principal, params.spender));\n }\n\n public async metadata({ canisterId }: MetadataRequest) {\n const metadata = (await (await this.actor(canisterId)).getMetadata()) as DIP20Metadata;\n\n return {\n status: ResultStatus.OK,\n data: {\n decimals: metadata.decimals,\n metadata: [],\n name: metadata.name,\n symbol: metadata.symbol,\n logo: metadata.logo,\n fee: metadata.fee,\n } as Metadata,\n message: \"\",\n };\n }\n\n public async setLogo({ canisterId, params, identity }: SetLogoRequest) {\n return resultFormat(await (await this.actor(canisterId, identity)).setLogo(params));\n }\n\n public actualReceivedByTransfer({ amount }: ActualReceivedByTransferRequest) {\n return amount;\n }\n\n public async getMintingAccount({\n canisterId,\n }: {\n canisterId: string;\n }): BaseTokenResult<{ owner: string; sub: number[] | undefined }> {\n return {\n status: ResultStatus.OK,\n data: undefined,\n message: \"\",\n };\n }\n}\n\nexport const DIP20Adapter = new DIP20TokenAdapter({\n actor: dip20,\n});\n","import { dip20 } from \"@icpswap/actor\";\nimport { DIP20TokenAdapter } from \"./DIP20Adapter\";\n\nexport class DIP20WICPTokenAdapter extends DIP20TokenAdapter {}\n\nexport const DIP20WICPAdapter = new DIP20WICPTokenAdapter({\n actor: dip20,\n});\n","import { dip20 } from \"@icpswap/actor\";\nimport { DIP20TokenAdapter } from \"./DIP20Adapter\";\n\nexport class DIP20XTCTokenAdapter extends DIP20TokenAdapter {}\n\nexport const DIP20XTCAdapter = new DIP20XTCTokenAdapter({\n actor: dip20,\n});\n","import { resultFormat, availableArgsNull, isBigIntMemo } from \"@icpswap/utils\";\nimport { PaginationResult, ResultStatus } from \"@icpswap/types\";\nimport { icrc1, icrcArchive } from \"@icpswap/actor\";\nimport { ICRC1_SERVICE, MetadataValue, GetTransactionsResponse, ArchivedTransaction } from \"@icpswap/candid\";\nimport { Principal } from \"@dfinity/principal\";\n\nimport { TokenHolder, Transaction, Metadata } from \"./types\";\nimport {\n BaseTokenAdapter,\n SupplyRequest,\n BalanceRequest,\n TransferRequest,\n GetFeeRequest,\n TransactionRequest,\n MetadataRequest,\n ActualReceivedByTransferRequest,\n} from \"./BaseTokenAdapter\";\nimport { icrcTransactionFormat } from \"./utils\";\n\nexport class ICRC1Adapter extends BaseTokenAdapter {\n public async holders() {\n return {\n status: ResultStatus.OK,\n data: {\n content: [] as TokenHolder[],\n totalElements: 0,\n limit: 10,\n offset: 0,\n } as PaginationResult,\n message: \"\",\n };\n }\n\n public async totalHolders() {\n return resultFormat(undefined);\n }\n\n public async supply({ canisterId }: SupplyRequest) {\n return resultFormat(await (await this.actor(canisterId)).icrc1_total_supply());\n }\n\n public async balance({ canisterId, params }: BalanceRequest) {\n if (params.user.principal) {\n return resultFormat(\n await (\n await this.actor(canisterId)\n ).icrc1_balance_of({\n owner: params.user.principal,\n subaccount: availableArgsNull>(params.subaccount ? params.subaccount : undefined),\n }),\n );\n }\n\n return resultFormat(BigInt(0));\n }\n\n public async transfer({ canisterId, identity, params }: TransferRequest) {\n if (!params.to.principal) throw Error(\"no user principal address\");\n if (isBigIntMemo(params.memo)) throw Error(\"Can't support bigint (memo)\");\n\n const result = await (\n await this.actor(canisterId, identity)\n ).icrc1_transfer({\n to: {\n owner: params.to.principal,\n subaccount: availableArgsNull>(params.subaccount ? params.subaccount : undefined),\n },\n memo: availableArgsNull(params.memo),\n amount: params.amount,\n created_at_time: availableArgsNull(params.create_at_time),\n from_subaccount: availableArgsNull>(params.from_sub_account ? params.from_sub_account : undefined),\n fee: availableArgsNull(params.fee),\n });\n\n return resultFormat(result);\n }\n\n public async getFee({ canisterId }: GetFeeRequest) {\n return resultFormat(await (await this.actor(canisterId)).icrc1_fee());\n }\n\n public async setFee() {\n return resultFormat({ err: \"no setFee\" });\n }\n\n public async setFeeTo() {\n return resultFormat({ err: \"no setFeeTo\" });\n }\n\n public async transactions({ canisterId, params }: TransactionRequest) {\n if (params.offset === undefined || params.limit === undefined) throw Error(\"no offset or limit\");\n\n // To get the total length\n const init_result = resultFormat(\n await (await this.actor(canisterId)).get_transactions({ start: BigInt(0), length: BigInt(10) }),\n ).data;\n\n if (init_result) {\n const { log_length } = init_result;\n\n // The start index of the transactions\n let start_index = Number(log_length) - 1 - params.offset - params.limit;\n\n if (start_index < 0) start_index = 0;\n\n const _result = resultFormat(\n await (\n await this.actor(canisterId)\n ).get_transactions({\n start: BigInt(start_index),\n length: BigInt(params.limit),\n }),\n ).data;\n\n if (_result) {\n const { archived_transactions, transactions: token_canister_transactions } = _result;\n\n let archivedTransactions: ArchivedTransaction[] = [];\n\n if (archived_transactions.length > 0) {\n archivedTransactions = (\n await Promise.all(\n archived_transactions.map(async (ele) => {\n return (\n await (\n await icrcArchive(ele.callback[0].toString())\n ).get_transactions({\n start: ele.start,\n length: ele.length,\n })\n ).transactions;\n }),\n )\n )\n .flat()\n .sort((a, b) => {\n if (a.timestamp < b.timestamp) return -1;\n if (a.timestamp > b.timestamp) return 1;\n return 0;\n });\n }\n\n const transactions = archivedTransactions\n .concat(token_canister_transactions)\n .sort((a, b) => {\n if (a.timestamp < b.timestamp) return -1;\n if (a.timestamp > b.timestamp) return 1;\n return 0;\n })\n .map((ele, index) =>\n // @ts-ignore\n icrcTransactionFormat(ele, BigInt(start_index) + BigInt(index)),\n );\n\n return resultFormat>({\n content: transactions.reverse(),\n totalElements: log_length,\n offset: BigInt(params.offset),\n limit: BigInt(params.limit),\n });\n }\n }\n\n return resultFormat>(undefined);\n }\n\n public async approve() {\n return resultFormat({ err: \"no approve\" });\n }\n\n public async allowance() {\n return resultFormat({ err: \"no allowance\" });\n }\n\n public async metadata({ canisterId }: MetadataRequest) {\n const metadata = resultFormat>(\n await (await this.actor(canisterId)).icrc1_metadata(),\n ).data;\n\n if (!metadata) {\n return {\n status: ResultStatus.ERROR,\n data: undefined,\n message: \"\",\n };\n }\n\n let name = \"\";\n let symbol = \"\";\n let decimals = BigInt(0);\n let fee = BigInt(0);\n let logo = \"\";\n\n for (let i = 0; i < metadata.length; i++) {\n const ele = metadata[i];\n if (ele[0] === \"icrc1:name\") {\n const val = ele[1] as { Text: string };\n name = val.Text;\n } else if (ele[0] === \"icrc1:symbol\") {\n const val = ele[1] as { Text: string };\n symbol = val.Text;\n } else if (ele[0] === \"icrc1:decimals\") {\n const val = ele[1] as { Nat: bigint };\n decimals = val.Nat;\n } else if (ele[0] === \"icrc1:fee\") {\n const val = ele[1] as { Nat: bigint };\n fee = val.Nat;\n } else if (ele[0] === \"icrc1:logo\") {\n const val = ele[1] as { Text: string };\n logo = val.Text;\n }\n }\n\n return {\n status: ResultStatus.OK,\n data: {\n decimals: Number(decimals),\n name,\n symbol,\n fee,\n logo,\n } as Metadata,\n message: \"\",\n };\n }\n\n public async setLogo() {\n return resultFormat({ err: \"no approve\" });\n }\n\n public actualReceivedByTransfer({ amount }: ActualReceivedByTransferRequest) {\n return amount;\n }\n\n public async getMintingAccount({ canisterId }: { canisterId: string }) {\n const result = (await (await this.actor(canisterId)).icrc1_minting_account())[0];\n return resultFormat<{ owner: string; sub: number[] | undefined }>(\n result\n ? { owner: result.owner.toString(), sub: result.subaccount[0] ? [...result.subaccount[0]] : undefined }\n : undefined,\n );\n }\n}\n\nexport const icrc1Adapter = new ICRC1Adapter({\n actor: icrc1,\n});\n","import { enumToString, isOkSubAccount } from \"@icpswap/utils\";\nimport { ICRCTransaction } from \"@icpswap/candid\";\nimport { AccountIdentifier, SubAccount } from \"@dfinity/ledger-icp\";\nimport { Transaction as TokenTransaction } from \"./types\";\n\nexport function icrcTransactionFormat(transaction: ICRCTransaction, index: bigint) {\n const memo = transaction.transfer[0]?.memo.length\n ? transaction.transfer[0]?.memo\n : transaction.burn[0]?.memo.length\n ? transaction.burn[0]?.memo\n : transaction.mint[0]?.memo.length\n ? transaction.mint[0]?.memo\n : undefined;\n\n const from_owner = transaction.transfer[0]?.from.owner ?? transaction.burn[0]?.from.owner;\n const _from_sub = transaction.transfer[0]?.from.subaccount[0] ?? transaction.burn[0]?.from.subaccount[0];\n const to_owner = transaction.transfer[0]?.to.owner ?? transaction.mint[0]?.to.owner;\n const _to_sub = transaction.transfer[0]?.to.subaccount[0] ?? transaction.mint[0]?.to.subaccount[0];\n\n const from_sub = _from_sub ? SubAccount.fromBytes(Uint8Array.from(_from_sub)) : undefined;\n const from_account = from_owner\n ? AccountIdentifier.fromPrincipal({\n principal: from_owner,\n subAccount: isOkSubAccount(from_sub) ? from_sub : undefined,\n })\n : undefined;\n\n const to_sub = _to_sub ? SubAccount.fromBytes(Uint8Array.from(_to_sub)) : undefined;\n const to_account = to_owner\n ? AccountIdentifier.fromPrincipal({\n principal: to_owner,\n subAccount: isOkSubAccount(to_sub) ? to_sub : undefined,\n })\n : undefined;\n\n const feeArray = transaction.transfer[0]?.fee;\n\n return {\n timestamp: transaction.timestamp,\n hash: \"\",\n fee: feeArray ? feeArray[0] : undefined,\n from_owner: from_owner?.toString() ?? \"\",\n from_sub: _from_sub,\n from_account: from_account?.toHex() ?? \"\",\n to_owner: to_owner?.toString() ?? \"\",\n to_sub: _to_sub,\n to_account: to_account?.toHex() ?? \"\",\n transType: enumToString(\n transaction.transfer[0]\n ? { Transfer: null }\n : transaction.burn[0]\n ? { Burn: null }\n : transaction.mint[0]\n ? { Mint: null }\n : { Approve: null },\n ),\n amount: transaction.transfer[0]?.amount ?? transaction.burn[0]?.amount ?? transaction.mint[0]?.amount,\n index,\n memo: memo ? [...memo[0]] : [],\n status: \"\",\n } as TokenTransaction;\n}\n","import { resultFormat, availableArgsNull, isBigIntMemo } from \"@icpswap/utils\";\nimport { PaginationResult, ResultStatus } from \"@icpswap/types\";\nimport { icrc2 } from \"@icpswap/actor\";\nimport { ICRC2 } from \"@icpswap/candid\";\nimport {\n BaseTokenAdapter,\n SupplyRequest,\n BalanceRequest,\n TransferRequest,\n GetFeeRequest,\n TransactionRequest,\n ApproveRequest,\n AllowanceRequest,\n MetadataRequest,\n ActualReceivedByTransferRequest,\n} from \"./BaseTokenAdapter\";\nimport { TokenHolder } from \"./types\";\nimport { icrc1Adapter } from \"./ICRC1\";\n\nexport class ICRC2Adapter extends BaseTokenAdapter {\n public async holders() {\n return {\n status: ResultStatus.OK,\n data: {\n content: [] as TokenHolder[],\n totalElements: 0,\n limit: 10,\n offset: 0,\n } as PaginationResult,\n message: \"\",\n };\n }\n\n public async totalHolders() {\n return resultFormat(undefined);\n }\n\n public async supply({ canisterId }: SupplyRequest) {\n return resultFormat(await (await this.actor(canisterId)).icrc1_total_supply());\n }\n\n public async balance({ canisterId, params }: BalanceRequest) {\n if (params.user.principal) {\n return await icrc1Adapter.balance({ canisterId, params });\n }\n\n return resultFormat(BigInt(0));\n }\n\n public async transfer({ canisterId, identity, params }: TransferRequest) {\n if (!params.to.principal) throw Error(\"no user principal address\");\n if (isBigIntMemo(params.memo)) throw Error(\"Can't support bigint (memo)\");\n\n return await icrc1Adapter.transfer({\n canisterId,\n identity,\n params,\n });\n }\n\n public async getFee({ canisterId }: GetFeeRequest) {\n return await icrc1Adapter.getFee({ canisterId });\n }\n\n public async setFee() {\n return resultFormat({ err: \"no setFee\" });\n }\n\n public async setFeeTo() {\n return resultFormat({ err: \"no setFeeTo\" });\n }\n\n public async transactions({ canisterId, params }: TransactionRequest) {\n return await icrc1Adapter.transactions({ canisterId, params });\n }\n\n public async approve({ canisterId, params, identity }: ApproveRequest) {\n return resultFormat(\n await (\n await this.actor(canisterId, identity)\n ).icrc2_approve({\n spender: {\n owner: params.spender,\n subaccount: availableArgsNull(params.spenderSub ? params.spenderSub : undefined),\n },\n fee: availableArgsNull(params.fee),\n created_at_time: [],\n amount: params.allowance,\n memo: [],\n expected_allowance: availableArgsNull(params.expected_allowance),\n expires_at: availableArgsNull(params.expires_at),\n from_subaccount: availableArgsNull(params.subaccount ? params.subaccount : undefined),\n }),\n );\n }\n\n public async allowance({ canisterId, params }: AllowanceRequest) {\n if (!params.owner.principal) throw Error(\"no principal\");\n\n const result = await (\n await this.actor(canisterId)\n ).icrc2_allowance({\n spender: {\n owner: params.spender,\n subaccount: availableArgsNull>(params.spenderSub ? params.spenderSub : undefined),\n },\n account: {\n owner: params.owner.principal,\n subaccount: availableArgsNull>(params.subaccount ? params.subaccount : undefined),\n },\n });\n\n return resultFormat(result.allowance);\n }\n\n public async metadata({ canisterId }: MetadataRequest) {\n return await icrc1Adapter.metadata({ canisterId });\n }\n\n public async setLogo() {\n return resultFormat({ err: \"no approve\" });\n }\n\n public actualReceivedByTransfer({ amount }: ActualReceivedByTransferRequest) {\n return amount;\n }\n\n public async getMintingAccount({ canisterId }: { canisterId: string }) {\n return await icrc1Adapter.getMintingAccount({ canisterId });\n }\n}\n\nexport const icrc2Adapter = new ICRC2Adapter({\n actor: icrc2,\n});\n","import { resultFormat, availableArgsNull, isBigIntMemo } from \"@icpswap/utils\";\nimport { ledgerService } from \"@icpswap/actor\";\nimport { Ledger } from \"@icpswap/candid\";\nimport { ActorIdentity, PaginationResult, ResultStatus } from \"@icpswap/types\";\nimport { TokenHolder, Transaction, Metadata } from \"./types\";\nimport {\n BaseTokenAdapter,\n BalanceRequest,\n TransferRequest,\n MetadataRequest,\n ActualReceivedByTransferRequest,\n} from \"./BaseTokenAdapter\";\nimport { icrc1Adapter } from \"./ICRC1\";\n\nexport class ICPAdapter extends BaseTokenAdapter {\n public async holders() {\n return {\n status: ResultStatus.OK,\n data: {\n content: [] as TokenHolder[],\n totalElements: 0,\n limit: 10,\n offset: 0,\n } as PaginationResult,\n message: \"\",\n };\n }\n\n public async totalHolders() {\n return resultFormat(undefined);\n }\n\n public async supply() {\n return resultFormat(await (await this.actor()).icrc1_total_supply());\n }\n\n public async balance({ params }: BalanceRequest) {\n if (params.user.address) {\n return resultFormat(\n (\n await (\n await this.actor()\n ).account_balance({\n account: Array.from(Uint8Array.from(Buffer.from(params.user.address, \"hex\"))),\n })\n ).e8s,\n );\n }\n if (params.user.principal) {\n return resultFormat(\n await (\n await this.actor()\n ).icrc1_balance_of({\n owner: params.user.principal,\n subaccount: availableArgsNull>(params.subaccount ? params.subaccount : undefined),\n }),\n );\n }\n\n return resultFormat(BigInt(0));\n }\n\n public async transfer({ canisterId, identity, params }: TransferRequest) {\n if (!params.to.address && !params.to.principal) throw Error(\"No transfer to\");\n\n if (params.to.address) {\n if (params.memo && !isBigIntMemo(params.memo)) throw Error(\"Only bigint support (memo)\");\n\n const result = await (\n await this.actor(canisterId, identity)\n ).transfer({\n to: Array.from(Uint8Array.from(Buffer.from(params.to.address, \"hex\"))),\n memo: (params.memo as bigint) ?? BigInt(0),\n amount: { e8s: params.amount },\n created_at_time: availableArgsNull<{ timestamp_nanos: bigint }>(\n params.create_at_time ? { timestamp_nanos: params.create_at_time } : undefined,\n ),\n from_subaccount: availableArgsNull(params.from_sub_account),\n fee: { e8s: BigInt(10000) },\n });\n\n return resultFormat(result);\n }\n if (params.to.principal) {\n const result = await (\n await this.actor(canisterId, identity)\n ).icrc1_transfer({\n to: {\n owner: params.to.principal,\n subaccount: availableArgsNull>(params.subaccount ? params.subaccount : undefined),\n },\n memo: typeof params.memo === \"bigint\" ? [] : availableArgsNull(params.memo),\n amount: params.amount,\n created_at_time: availableArgsNull(params.create_at_time),\n from_subaccount: availableArgsNull>(\n params.from_sub_account ? params.from_sub_account : undefined,\n ),\n fee: availableArgsNull(null),\n });\n\n return resultFormat(result);\n }\n\n return resultFormat(undefined);\n }\n\n public async getFee() {\n return resultFormat(await (await (await this.actor()).transfer_fee({})).transfer_fee.e8s);\n }\n\n public async setFee() {\n return resultFormat({ err: \"no setFee\" });\n }\n\n public async setFeeTo() {\n return resultFormat({ err: \"no setFeeTo\" });\n }\n\n public async transactions() {\n return resultFormat>({\n content: [],\n totalElements: BigInt(0),\n offset: BigInt(0),\n limit: BigInt(10),\n });\n }\n\n public async approve() {\n return resultFormat({ err: \"no approve\" });\n }\n\n public async allowance() {\n return resultFormat({ err: \"no allowance\" });\n }\n\n public async metadata({ canisterId }: MetadataRequest) {\n const symbol = (await (await this.actor(canisterId)).symbol()).symbol;\n const decimals = (await (await this.actor()).decimals()).decimals;\n const name = \"Internet Computer\";\n const fee = resultFormat(await (await (await this.actor()).transfer_fee({})).transfer_fee.e8s).data;\n\n return {\n status: ResultStatus.OK,\n data: {\n decimals,\n metadata: [],\n name,\n symbol,\n fee: fee ?? BigInt(1000),\n logo: \"\",\n } as Metadata,\n message: \"\",\n };\n }\n\n public async setLogo() {\n return resultFormat({ err: \"no approve\" });\n }\n\n public actualReceivedByTransfer({ amount }: ActualReceivedByTransferRequest) {\n return amount;\n }\n\n public async getMintingAccount({ canisterId }: { canisterId: string }) {\n return await icrc1Adapter.getMintingAccount({ canisterId });\n }\n}\n\nexport const icpAdapter = new ICPAdapter({\n // @ts-ignore\n actor: async (canisterId?: string, identity?: ActorIdentity) => await ledgerService(identity),\n});\n","import { ActorIdentity, Override } from \"@icpswap/types\";\nimport {\n HoldersRequest,\n TotalHoldersRequest,\n SupplyRequest,\n BalanceRequest,\n TransferRequest,\n SetFeeRequest,\n SetFeeToRequest,\n TransactionRequest,\n ApproveRequest,\n AllowanceRequest,\n MetadataRequest,\n SetLogoRequest,\n ActualReceivedByTransferRequest,\n} from \"./BaseTokenAdapter\";\nimport { EXTAdapter, EXTTokenAdapter } from \"./EXTAdapter\";\nimport { DIP20Adapter, DIP20TokenAdapter } from \"./DIP20Adapter\";\nimport { DIP20WICPAdapter, DIP20WICPTokenAdapter } from \"./DIP20WICPAdapter\";\nimport { DIP20XTCAdapter, DIP20XTCTokenAdapter } from \"./DIP20XTCAdapter\";\nimport { icrc1Adapter, ICRC1Adapter } from \"./ICRC1\";\nimport { icrc2Adapter, ICRC2Adapter } from \"./ICRC2\";\nimport { icpAdapter, ICPAdapter } from \"./ICP\";\nimport { TOKEN_STANDARD } from \"./types\";\n\nexport type AdapterRequest = T;\n\nexport type AdapterIdentityRequest = Override;\n\nexport type RegisterProps = { canisterId: string; standard: TOKEN_STANDARD }[];\n\nexport class TokenAdapter {\n public canisterAdapters = new Map();\n\n public adapters = new Map<\n TOKEN_STANDARD,\n | DIP20XTCTokenAdapter\n | DIP20WICPTokenAdapter\n | DIP20TokenAdapter\n | EXTTokenAdapter\n | ICRC1Adapter\n | ICRC2Adapter\n | ICPAdapter\n >();\n\n public initialAdapter(\n name: TOKEN_STANDARD,\n adapter:\n | DIP20XTCTokenAdapter\n | DIP20WICPTokenAdapter\n | DIP20TokenAdapter\n | EXTTokenAdapter\n | ICRC1Adapter\n | ICRC2Adapter\n | ICPAdapter,\n ) {\n if (this.adapters.get(name)) throw Error(\"This adapter is already initialed\");\n this.adapters.set(name, adapter);\n }\n\n public register(standards: RegisterProps) {\n standards.forEach(({ standard, canisterId }) => {\n this.canisterAdapters.set(canisterId, standard);\n });\n }\n\n public getAll() {\n return this.canisterAdapters;\n }\n\n public getAdapter(canisterId: string) {\n let standard = this.canisterAdapters.get(canisterId);\n if (!standard) {\n console.error(`Can't not found adapter ===> ${canisterId}`);\n standard = TOKEN_STANDARD.EXT;\n }\n return this.getAdapterByName(standard);\n }\n\n public getAdapterByName(adapterName: TOKEN_STANDARD | undefined) {\n if (!adapterName || !this.adapters.get(adapterName)) throw Error(`Can't not found adapter ${adapterName}`);\n return this.adapters.get(adapterName);\n }\n\n public async totalHolders({ canisterId }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.totalHolders({ canisterId });\n }\n\n public async holders({ params, canisterId }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.holders({\n canisterId,\n params,\n });\n }\n\n public async supply({ canisterId }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.supply({\n canisterId,\n });\n }\n\n public async balance({ canisterId, params }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n\n return await adapter!.balance({\n canisterId,\n params,\n });\n }\n\n public async transfer({ canisterId, params, identity }: AdapterIdentityRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.transfer({\n canisterId,\n params,\n identity,\n });\n }\n\n public async setFee({ canisterId, identity, params }: AdapterIdentityRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.setFee({\n canisterId,\n identity,\n params,\n });\n }\n\n public async setFeeTo({ canisterId, identity, params }: AdapterIdentityRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.setFeeTo({\n canisterId,\n identity,\n params,\n });\n }\n\n public async transactions({ canisterId, params }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.transactions({\n canisterId,\n params,\n });\n }\n\n public async approve({ canisterId, identity, params }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.approve({\n canisterId,\n params,\n identity,\n });\n }\n\n public async allowance({ canisterId, params }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.allowance({\n canisterId,\n params,\n });\n }\n\n public async metadata({ canisterId }: AdapterRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.metadata({\n canisterId,\n });\n }\n\n public async setLogo({ canisterId, identity, params }: AdapterIdentityRequest) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.setLogo({\n canisterId,\n params,\n identity,\n });\n }\n\n public actualReceivedByTransfer(request: ActualReceivedByTransferRequest) {\n const adapter = this.getAdapter(request.canisterId);\n return adapter!.actualReceivedByTransfer(request);\n }\n\n public async getMintingAccount({ canisterId }: { canisterId: string }) {\n const adapter = this.getAdapter(canisterId);\n return await adapter!.getMintingAccount({\n canisterId,\n });\n }\n}\n\nexport const tokenAdapter = new TokenAdapter();\n\nexport const registerTokens = (standards: RegisterProps) => tokenAdapter.register(standards);\n\ntokenAdapter.initialAdapter(TOKEN_STANDARD.EXT, EXTAdapter);\ntokenAdapter.initialAdapter(TOKEN_STANDARD.DIP20, DIP20Adapter);\ntokenAdapter.initialAdapter(TOKEN_STANDARD.DIP20_XTC, DIP20XTCAdapter);\ntokenAdapter.initialAdapter(TOKEN_STANDARD.DIP20_WICP, DIP20WICPAdapter);\ntokenAdapter.initialAdapter(TOKEN_STANDARD.ICRC1, icrc1Adapter);\ntokenAdapter.initialAdapter(TOKEN_STANDARD.ICRC2, icrc2Adapter);\ntokenAdapter.initialAdapter(TOKEN_STANDARD.ICP, icpAdapter);\n\nexport {\n EXTAdapter,\n DIP20Adapter,\n DIP20XTCAdapter,\n DIP20WICPAdapter,\n ICRC1Adapter,\n ICRC2Adapter,\n icrc1Adapter,\n icrc2Adapter,\n icpAdapter,\n ICPAdapter,\n TOKEN_STANDARD,\n};\n\nexport * from \"./token-standard-verification\";\nexport * from \"./utils\";\n","import type { Principal } from \"@dfinity/principal\";\nimport { Null, Override } from \"@icpswap/types\";\n\nexport type { TokenHolder, TokenHolderArgs } from \"@icpswap/candid\";\n\nexport interface Transaction {\n fee: bigint | undefined;\n status: string;\n transType: string;\n from_owner: string;\n from_sub: number[] | undefined;\n from_account: string;\n to_owner: string;\n to_sub: number[] | undefined;\n to_account: string;\n hash: string;\n memo: [] | [Array];\n timestamp: bigint;\n index: bigint;\n amount: bigint;\n}\n\nexport type TransactionRequest = {\n hash?: string;\n user?: User;\n offset?: number;\n limit?: number;\n index?: number;\n};\n\nexport type User = { principal?: Principal; address?: string };\n\nexport type SetFeeToRequest = User;\n\nexport type BalanceRequest = {\n token: string;\n user: User;\n subaccount?: number[];\n};\n\nexport type TransferRequest = {\n to: User;\n token?: string;\n notify?: boolean;\n from: User;\n memo?: number[] | bigint;\n subaccount?: number[];\n nonce?: bigint;\n amount: bigint;\n create_at_time?: bigint;\n from_sub_account?: number[];\n fee?: bigint;\n};\n\nexport type TokenTransferRequest = TransferRequest;\n\nexport type TokenAllowanceRequest = {\n owner: User;\n subaccount?: number[] | Null;\n spender: Principal;\n spenderSub?: number[] | Null;\n};\n\nexport type Metadata = {\n decimals: number;\n name: string;\n symbol: string;\n logo: string;\n fee: bigint;\n};\n\nexport type ApproveRequest = {\n subaccount?: number[];\n allowance: bigint;\n spender: Principal;\n spenderSub?: number[];\n fee?: bigint;\n expires_at?: bigint;\n expected_allowance?: bigint;\n};\n\nexport type TokenApproveRequest = Override;\n\nexport type { DIP20Metadata } from \"@icpswap/candid\";\n\nexport enum TOKEN_STANDARD {\n EXT = \"EXT\",\n DIP20 = \"DIP20\",\n ICP = \"ICP\",\n DIP20_WICP = \"DIP20-WICP\",\n DIP20_XTC = \"DIP20-XTC\",\n ICRC1 = \"ICRC1\",\n ICRC2 = \"ICRC2\",\n}\n","export enum TOKEN_STANDARD {\n EXT = \"EXT\",\n DIP20 = \"DIP20\",\n ICP = \"ICP\",\n DIP20_WICP = \"DIP20-WICP\",\n DIP20_XTC = \"DIP20-XTC\",\n ICRC1 = \"ICRC1\",\n ICRC2 = \"ICRC2\",\n}\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD, WICP_CANISTER_ID } from \"@icpswap/constants\";\n\nexport const WRAPPED_ICP_TOKEN_INFO: TokenInfo = {\n standardType: TOKEN_STANDARD.EXT,\n name: \"Wrapped ICP\",\n decimals: 8,\n symbol: \"WICP\",\n canisterId: WICP_CANISTER_ID,\n totalSupply: BigInt(100000000000000000),\n transFee: BigInt(0),\n logo: `/images/tokens/${WICP_CANISTER_ID}.jpeg`,\n};\n\nexport const WRAPPED_ICP = new Token({\n address: WRAPPED_ICP_TOKEN_INFO.canisterId,\n decimals: WRAPPED_ICP_TOKEN_INFO.decimals,\n symbol: WRAPPED_ICP_TOKEN_INFO.symbol,\n name: WRAPPED_ICP_TOKEN_INFO.name,\n logo: WRAPPED_ICP_TOKEN_INFO.logo,\n standard: TOKEN_STANDARD.EXT,\n transFee: Number(WRAPPED_ICP_TOKEN_INFO.transFee),\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD, LEDGER_CANISTER_ID } from \"@icpswap/constants\";\n\nexport const ICP_TOKEN_INFO: TokenInfo = {\n symbol: \"ICP\",\n name: \"Internet Computer\",\n decimals: 8,\n canisterId: LEDGER_CANISTER_ID,\n transFee: BigInt(10000),\n totalSupply: BigInt(200000000000000),\n standardType: TOKEN_STANDARD.ICRC2,\n logo: `/images/tokens/${LEDGER_CANISTER_ID}.svg`,\n};\n\nexport const ICP = new Token({\n address: ICP_TOKEN_INFO.canisterId,\n decimals: ICP_TOKEN_INFO.decimals,\n symbol: ICP_TOKEN_INFO.symbol,\n name: ICP_TOKEN_INFO.name,\n logo: ICP_TOKEN_INFO.logo,\n standard: TOKEN_STANDARD.ICRC2,\n transFee: Number(ICP_TOKEN_INFO.transFee),\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD, ICS_CANISTER_ID } from \"@icpswap/constants\";\n\nexport const ICS_TOKEN_INFO: TokenInfo = {\n symbol: \"ICS\",\n name: \"ICPSwap Token\",\n decimals: 8,\n canisterId: ICS_CANISTER_ID,\n transFee: BigInt(1000000),\n totalSupply: BigInt(200000000000000),\n standardType: TOKEN_STANDARD.ICRC1,\n logo: `/images/tokens/${ICS_CANISTER_ID}.png`,\n};\n\nexport const ICS = new Token({\n address: ICS_TOKEN_INFO.canisterId,\n decimals: ICS_TOKEN_INFO.decimals,\n symbol: ICS_TOKEN_INFO.symbol,\n name: ICS_TOKEN_INFO.name,\n logo: ICS_TOKEN_INFO.logo,\n standard: TOKEN_STANDARD.ICRC1,\n transFee: Number(ICS_TOKEN_INFO.transFee),\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD } from \"@icpswap/constants\";\n\nexport const GHOST_TOKEN_ID = \"4c4fd-caaaa-aaaaq-aaa3a-cai\";\n\nexport const GHOST_TOKEN_INFO: TokenInfo = {\n standardType: TOKEN_STANDARD.ICRC1,\n name: \"GHOST\",\n decimals: 8,\n symbol: \"GHOST\",\n canisterId: GHOST_TOKEN_ID,\n totalSupply: BigInt(100000000000000000),\n transFee: BigInt(100000000),\n logo: `/images/tokens/${GHOST_TOKEN_ID}.png`,\n};\n\nexport const GHOST = new Token({\n address: GHOST_TOKEN_INFO.canisterId,\n decimals: GHOST_TOKEN_INFO.decimals,\n symbol: GHOST_TOKEN_INFO.symbol,\n name: GHOST_TOKEN_INFO.name,\n logo: GHOST_TOKEN_INFO.logo,\n standard: TOKEN_STANDARD.ICRC1,\n transFee: Number(GHOST_TOKEN_INFO.transFee),\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD } from \"@icpswap/constants\";\n\nexport const ck_BTC_TOKEN_INFO: TokenInfo = {\n standardType: TOKEN_STANDARD.ICRC2,\n name: \"ckBTC\",\n decimals: 8,\n symbol: \"ckBTC\",\n canisterId: \"mxzaz-hqaaa-aaaar-qaada-cai\",\n totalSupply: BigInt(0),\n transFee: BigInt(10),\n logo: \"/images/tokens/mxzaz-hqaaa-aaaar-qaada-cai.svg\",\n};\n\nexport const ckBTC = new Token({\n address: ck_BTC_TOKEN_INFO.canisterId,\n decimals: ck_BTC_TOKEN_INFO.decimals,\n symbol: ck_BTC_TOKEN_INFO.symbol,\n name: ck_BTC_TOKEN_INFO.name,\n logo: ck_BTC_TOKEN_INFO.logo,\n standard: TOKEN_STANDARD.ICRC1,\n transFee: Number(ck_BTC_TOKEN_INFO.transFee),\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD } from \"@icpswap/constants\";\n\nexport const ckUSDCTokenInfo: TokenInfo = {\n standardType: TOKEN_STANDARD.ICRC2,\n name: \"ckUSDC\",\n decimals: 6,\n symbol: \"ckUSDC\",\n canisterId: \"xevnm-gaaaa-aaaar-qafnq-cai\",\n totalSupply: BigInt(0),\n transFee: BigInt(10),\n logo: `/images/tokens/xevnm-gaaaa-aaaar-qafnq-cai.svg`,\n};\n\nexport const ckUSDC = new Token({\n address: ckUSDCTokenInfo.canisterId,\n decimals: ckUSDCTokenInfo.decimals,\n symbol: ckUSDCTokenInfo.symbol,\n name: ckUSDCTokenInfo.name,\n logo: ckUSDCTokenInfo.logo,\n standard: TOKEN_STANDARD.ICRC2,\n transFee: Number(ckUSDCTokenInfo.transFee),\n});\n\nexport const ckSepoliaUSDCTokenInfo: TokenInfo = {\n standardType: TOKEN_STANDARD.ICRC2,\n name: \"Chain key Sepolia USD\",\n decimals: 6,\n symbol: \"ckSepoliaUSDC\",\n canisterId: \"yfumr-cyaaa-aaaar-qaela-cai\",\n totalSupply: BigInt(0),\n transFee: BigInt(4000),\n logo: `/images/tokens/yfumr-cyaaa-aaaar-qaela-cai.png`,\n};\n\nexport const ckSepoliaUSDC = new Token({\n address: ckSepoliaUSDCTokenInfo.canisterId,\n decimals: ckSepoliaUSDCTokenInfo.decimals,\n symbol: ckSepoliaUSDCTokenInfo.symbol,\n name: ckSepoliaUSDCTokenInfo.name,\n logo: ckSepoliaUSDCTokenInfo.logo,\n standard: ckSepoliaUSDCTokenInfo.standardType,\n transFee: Number(ckSepoliaUSDCTokenInfo.transFee),\n});\n","/* eslint-disable @typescript-eslint/prefer-as-const */\n\nimport invariant from \"tiny-invariant\";\nimport { validateAndParseERC20Address } from \"../utils/validateAndParseAddress\";\n\ninterface ConstructorArgs {\n address: string;\n decimals: number;\n symbol: string;\n name: string;\n logo?: string;\n transFee?: number;\n}\n\n/**\n * Represents an ERC20 token with a unique address and some metadata.\n */\nexport class ERC20Token {\n public readonly isNative: false = false;\n\n public readonly isToken: true = true;\n\n /**\n * The decimals used in representing currency amounts\n */\n public readonly decimals: number;\n\n /**\n * The symbol of the currency, i.e. a short textual non-unique identifier\n */\n public readonly symbol: string;\n\n /**\n * The name of the currency, i.e. a descriptive textual non-unique identifier\n */\n public readonly name: string;\n\n public readonly logo: string;\n\n public readonly transFee: number;\n\n public readonly standard: string;\n\n /**\n * The contract address on the chain on which this token lives\n */\n public readonly address: string;\n\n public constructor({ address, decimals, symbol, name, logo, transFee }: ConstructorArgs) {\n invariant(decimals >= 0 && decimals < 255 && Number.isInteger(decimals), \"DECIMALS\");\n\n this.decimals = decimals;\n this.symbol = symbol;\n this.name = name ?? \"\";\n this.logo = logo ?? \"\";\n this.transFee = transFee;\n this.address = validateAndParseERC20Address(address);\n }\n\n /**\n * Returns true if the two tokens are equivalent, i.e. have the same address.\n * @param other other token to compare\n */\n public equals(other: ERC20Token): boolean {\n return other.isToken && this.address === other.address;\n }\n\n /**\n * Returns true if the address of this token sorts before the address of the other token\n * @param other other token to compare\n * @throws if the tokens have the same address\n * @throws if the tokens are on different chains\n */\n public sortsBefore(other: ERC20Token): boolean {\n invariant(this.address !== other.address, \"ADDRESSES\");\n return this.address.toLowerCase() < other.address.toLowerCase();\n }\n}\n","import { ERC20Token } from \"@icpswap/swap-sdk\";\n\nexport const USDC = new ERC20Token({\n address: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n name: \"USDC\",\n symbol: \"USDC\",\n decimals: 6,\n logo: \"/images/tokens/yfumr-cyaaa-aaaar-qaela-cai-erc20.png\",\n});\n\nexport const SepoliaUSDC = new ERC20Token({\n address: \"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238\",\n name: \"USDC(Sepolia)\",\n symbol: \"USDC(Sepolia)\",\n decimals: 6,\n logo: \"/images/tokens/yfumr-cyaaa-aaaar-qaela-cai-erc20.png\",\n});\n","import { ERC20Token } from \"@icpswap/swap-sdk\";\n\nexport const LINK = new ERC20Token({\n address: \"0x514910771AF9Ca656af840dff83E8264EcF986CA\",\n name: \"LINK\",\n symbol: \"LINK\",\n decimals: 18,\n logo: \"/images/tokens/g4tto-rqaaa-aaaar-qageq-cai-erc20.png\",\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD } from \"@icpswap/constants\";\n\nexport const ckETHTokenInfo: TokenInfo = {\n standardType: TOKEN_STANDARD.ICRC2,\n name: \"Chain key Ethereum\",\n decimals: 18,\n symbol: \"ckETH\",\n canisterId: \"ss2fx-dyaaa-aaaar-qacoq-cai\",\n totalSupply: BigInt(0),\n transFee: BigInt(10_000_000_000),\n logo: `/images/tokens/ss2fx-dyaaa-aaaar-qacoq-cai.svg`,\n};\n\nexport const ckETH = new Token({\n address: ckETHTokenInfo.canisterId,\n decimals: ckETHTokenInfo.decimals,\n symbol: ckETHTokenInfo.symbol,\n name: ckETHTokenInfo.name,\n logo: ckETHTokenInfo.logo,\n standard: TOKEN_STANDARD.ICRC2,\n transFee: Number(ckETHTokenInfo.transFee),\n});\n\nexport const ckSepoliaETHTokenInfo: TokenInfo = {\n standardType: TOKEN_STANDARD.ICRC2,\n name: \"Chain key Sepolia Ethereum\",\n decimals: 18,\n symbol: \"ckSepoliaETH\",\n canisterId: \"apia6-jaaaa-aaaar-qabma-cai\",\n totalSupply: BigInt(0),\n transFee: BigInt(10_000_000_000),\n logo: `/images/tokens/apia6-jaaaa-aaaar-qabma-cai.png`,\n};\n\nexport const ckSepoliaETH = new Token({\n address: ckSepoliaETHTokenInfo.canisterId,\n decimals: ckSepoliaETHTokenInfo.decimals,\n symbol: ckSepoliaETHTokenInfo.symbol,\n name: ckSepoliaETHTokenInfo.name,\n logo: ckSepoliaETHTokenInfo.logo,\n standard: ckSepoliaETHTokenInfo.standardType,\n transFee: Number(ckSepoliaETHTokenInfo.transFee),\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TokenInfo } from \"@icpswap/types\";\nimport { TOKEN_STANDARD } from \"@icpswap/constants\";\n\nexport const ckLinkTokenInfo: TokenInfo = {\n standardType: TOKEN_STANDARD.ICRC2,\n name: \"ckLINK\",\n decimals: 18,\n symbol: \"ckLINK\",\n canisterId: \"g4tto-rqaaa-aaaar-qageq-cai\",\n totalSupply: BigInt(0),\n transFee: BigInt(100000000000000),\n logo: `/images/tokens/g4tto-rqaaa-aaaar-qageq-cai.png`,\n};\n\nexport const ckLink = new Token({\n address: ckLinkTokenInfo.canisterId,\n decimals: ckLinkTokenInfo.decimals,\n symbol: ckLinkTokenInfo.symbol,\n name: ckLinkTokenInfo.name,\n logo: ckLinkTokenInfo.logo,\n standard: TOKEN_STANDARD.ICRC2,\n transFee: Number(ckLinkTokenInfo.transFee),\n});\n","import { Token } from \"@icpswap/swap-sdk\";\nimport { TOKEN_STANDARD } from \"@icpswap/constants\";\n\nexport const BOB = new Token({\n address: \"7pail-xaaaa-aaaas-aabmq-cai\",\n decimals: 8,\n symbol: \"BOB\",\n name: \"BOB\",\n logo: \"/images/tokens/7pail-xaaaa-aaaas-aabmq-cai.png\",\n standard: TOKEN_STANDARD.ICRC2,\n transFee: 1000000,\n});\n","export enum ResultStatus {\n ERROR = \"err\",\n OK = \"ok\",\n}\n\nexport type ApiResult = undefined | T;\n\nexport type Null = null | undefined;\n\nexport type Override = Omit & S;\n\nexport type ActorIdentity = true;\n\nexport type StatusResult = {\n readonly status: ResultStatus;\n readonly data?: T;\n readonly message: string;\n};\n\nexport type CallResult = {\n readonly result: ApiResult;\n readonly loading: boolean;\n};\n\nexport type PaginationResult = {\n totalElements: number;\n offset: number;\n limit: number;\n content: T[];\n};\n","import { Box, BoxProps } from \"@mui/material\";\nimport { ReactNode } from \"react\";\n\nexport interface FlexProps {\n width?: string;\n align?: BoxProps[\"alignItems\"];\n justify?: BoxProps[\"justifyContent\"];\n padding?: string;\n border?: string;\n borderRadius?: string;\n children: ReactNode;\n margin?: string;\n gap?: BoxProps[\"gap\"];\n vertical?: boolean;\n sx?: BoxProps[\"sx\"];\n fullWidth?: boolean;\n className?: string;\n wrap?: BoxProps[\"flexWrap\"];\n onClick?: BoxProps[\"onClick\"];\n onMouseEnter?: BoxProps[\"onMouseEnter\"];\n onMouseLeave?: BoxProps[\"onMouseLeave\"];\n}\n\nexport function Flex({\n vertical,\n gap,\n children,\n width,\n align,\n justify,\n padding,\n border,\n borderRadius,\n margin,\n sx,\n fullWidth,\n className,\n wrap,\n onClick,\n onMouseEnter,\n onMouseLeave,\n}: FlexProps) {\n return (\n \n {children}\n \n );\n}\n","export function availableArgsNull(value: T | null | undefined): [T] | [] {\n return value ? [value] : [];\n}\n","export function enumToString(type: any): string {\n if (typeof type === \"string\") return type;\n\n if (typeof type === \"object\") {\n if (type) {\n return Object.keys(type)[0];\n }\n }\n\n return type as string;\n}\n","import { SubAccount } from \"@dfinity/ledger-icp\";\n\n// TODO\nexport function isOkSubAccount(\n sub: SubAccount | Error | undefined\n): sub is SubAccount | undefined {\n if (sub && sub instanceof Error) return false;\n return true;\n}\n\nexport function isSubAccount(sub: any): sub is SubAccount {\n if (sub && sub instanceof SubAccount) return true;\n return false;\n}\n","export function isAvailablePageArgs(offset: number, limit: number): boolean {\n return (!!offset || offset === 0) && !!limit;\n}\n","/** Is null or undefined */\nexport function isNullArgs(argument: T | undefined | null): argument is undefined | null {\n return argument === null || argument === undefined;\n}\n\n/** Not null and not undefined */\nexport function nonNullArgs(argument: T | undefined | null): argument is T {\n return !isNullArgs(argument);\n}\n","import { Principal } from \"@dfinity/principal\";\n\nexport function isValidPrincipal(principal: string): boolean {\n try {\n return principal === Principal.fromText(principal).toText();\n } catch (e) {\n return false;\n }\n}\n","export function mockALinkAndOpen(url: string, id: string): void {\n let a = document.createElement(\"a\");\n a.setAttribute(\"href\", url);\n a.setAttribute(\"target\", \"_blank\");\n a.setAttribute(\"id\", id);\n if (!document.getElementById(id)) {\n document.body.appendChild(a);\n }\n a.click();\n}\n","import numbro from \"numbro\";\n\nimport { BigNumber } from \"./bignumber\";\nimport { toSignificant, toSignificantWithGroupSeparator } from \"./toSignificant\";\nimport { nonNullArgs } from \"./isNullArgs\";\n\n// using a currency library here in case we want to add more in future\nexport const formatDollarAmount = (num: number | string | undefined, digits = 3, ab?: number) => {\n const _num = num;\n if (_num === 0 || _num === \"0\") return \"$0.00\";\n if (!_num) return \"-\";\n\n if (new BigNumber(_num).isLessThan(0.01)) {\n if (nonNullArgs(ab) && new BigNumber(_num).isLessThan(ab)) return `<$${ab}`;\n return `$${toSignificant(_num, digits)}`;\n }\n\n if (new BigNumber(_num).isLessThan(1)) {\n return `$${toSignificant(_num, digits)}`;\n }\n\n return numbro(_num).formatCurrency({\n average: true,\n mantissa: Number(_num) > 1000 ? 2 : digits,\n abbreviations: {\n million: \"M\",\n billion: \"B\",\n },\n });\n};\n\n// using a currency library here in case we want to add more in future\nexport const formatDollarTokenPrice = ({\n num,\n digits = 3,\n ab,\n}: {\n num: number | string | undefined;\n digits?: number;\n ab?: number;\n}) => {\n const _num = num;\n if (_num === 0 || _num === \"0\") return \"$0.00\";\n if (!_num) return \"-\";\n\n if (nonNullArgs(ab) && new BigNumber(_num).isLessThan(ab)) {\n return `<$${ab}`;\n }\n\n if (new BigNumber(_num).isLessThan(1)) {\n return `$${toSignificant(_num, digits)}`;\n }\n\n return `$${new BigNumber(new BigNumber(_num).toFixed(2)).toFormat()}`;\n};\n\n// using a currency library here in case we want to add more in future\nexport const formatAmount = (num: number | string | undefined, digits = 2) => {\n if (num === 0 || num === \"0\") return \"0\";\n\n if (!num) return \"-\";\n\n if (new BigNumber(num).isLessThan(0.0001)) {\n return \"<0.0001\";\n }\n\n if (new BigNumber(num).isLessThan(0.001)) {\n return toSignificantWithGroupSeparator(num, 4);\n }\n\n return numbro(num).format({\n average: true,\n mantissa: Number(num) > 1000 ? 2 : digits,\n abbreviations: {\n million: \"M\",\n billion: \"B\",\n },\n });\n};\n\nexport function percentToNum(val: string) {\n return new BigNumber(val.replace(\"%\", \"\")).dividedBy(100).toNumber();\n}\n\nexport function numToPercent(num: string | number | BigNumber, digits?: number) {\n return digits || digits === 0\n ? `${new BigNumber(num).multipliedBy(100).toFixed(digits)}%`\n : `${new BigNumber(num).multipliedBy(100).toString()}%`;\n}\n","import invariant from \"tiny-invariant\";\n\nexport function pageArgsFormat(\n pageNum: number,\n pageSize: number\n): [number, number] {\n invariant(pageNum > 0, \"Invalid pageNum\");\n invariant(pageSize > 0, \"Invalid pageSize\");\n\n const pageStart = (pageNum - 1) * pageSize;\n const pageEnd = pageStart + pageSize;\n return [pageStart, pageEnd];\n}\n","import { AccountIdentifier, SubAccount } from \"@dfinity/ledger-icp\";\nimport { Principal } from \"@dfinity/principal\";\nimport { isSubAccount } from \"./ic\";\nimport { isValidPrincipal } from \"./isValidPrincipal\";\n\nexport function principalToAccount(\n principal: string,\n subAccount?: SubAccount | string\n): string {\n if (!principal) return principal;\n\n if (\n subAccount &&\n !isSubAccount(subAccount) &&\n !isValidPrincipal(subAccount)\n ) {\n throw Error(\"Wrong sub account\");\n }\n\n const sub = subAccount\n ? isSubAccount(subAccount)\n ? subAccount\n : isValidPrincipal(subAccount)\n ? SubAccount.fromPrincipal(Principal.fromText(subAccount))\n : undefined\n : undefined;\n\n return AccountIdentifier.fromPrincipal({\n principal: Principal.fromText(principal),\n subAccount: sub,\n }).toHex();\n}\n","import { StatusResult, ResultStatus } from \"@icpswap/types\";\nimport isObject from \"lodash/isObject\";\n\nexport function isResultKey(key: string) {\n return isResultErrKey(key) || isResultOkKey(key);\n}\n\nexport function isResultErrKey(key: string) {\n return key === ResultStatus.ERROR || key === \"Err\";\n}\n\nexport function isResultOkKey(key: string) {\n return key === ResultStatus.OK || key === \"Ok\";\n}\n\nexport function resultFormat(result: any): StatusResult {\n if (result === null || result === undefined) {\n return {\n status: ResultStatus.ERROR,\n message: \"\",\n data: undefined,\n };\n }\n\n const key = Object.keys(result);\n\n if (\n result &&\n isObject(result as object) &&\n key &&\n key[0] &&\n isResultKey(key[0])\n ) {\n let message = \"\";\n\n if (isResultErrKey(key[0]) && isObject(result[key[0]])) {\n const messageKey = Object.keys(result[key[0]])[0];\n const value = result[key[0]][messageKey];\n\n // TODO: for token\n if (messageKey === \"Other\") {\n message = value;\n } else {\n if (typeof value === \"object\") {\n message = `${messageKey}: ${JSON.stringify(value).replace(\n /\\\"/g,\n \"\"\n )}`;\n } else {\n message = `${messageKey}: ${value}`;\n }\n }\n } else if (typeof result[key[0]] === \"string\") {\n message = result[key[0]];\n }\n\n return {\n status: isResultErrKey(key[0]) ? ResultStatus.ERROR : ResultStatus.OK,\n data: isResultOkKey(key[0]) ? (result[key[0]] as T) : undefined,\n message,\n };\n }\n\n return {\n status: ResultStatus.OK,\n data: result as T,\n message: \"\",\n };\n}\n","import dayjs from \"dayjs\";\nimport { SECONDS_IN_DAY } from \"@icpswap/constants\";\n\nexport function nanosecond2Millisecond(time: string | number | bigint) {\n return Number(BigInt(time) / BigInt(1000000));\n}\n\nexport function millisecond2Nanosecond(time: string | number | bigint) {\n return Number(BigInt(time) * BigInt(1000000));\n}\n\nexport function timestampFormat(timestamp: bigint | string | number, format = \"YYYY-MM-DD HH:mm:ss\"): string {\n if (!timestamp) return \"\";\n\n const newTimestamp = Number(String(timestamp).substr(0, 13));\n return dayjs(newTimestamp).format(format);\n}\n\nexport const secondsToDays = (seconds: number): number => seconds / SECONDS_IN_DAY;\nexport const daysToSeconds = (days: number): number => Math.round(days * SECONDS_IN_DAY);\n","import _Decimal from \"decimal.js-light\";\nimport _Big from \"big.js\";\nimport toFormat from \"toformat\";\n\nenum Rounding {\n ROUND_DOWN,\n ROUND_HALF_UP,\n ROUND_UP,\n}\n\nconst Decimal = toFormat(_Decimal);\n\nconst toSignificantRounding = {\n [Rounding.ROUND_DOWN]: Decimal.ROUND_DOWN,\n [Rounding.ROUND_HALF_UP]: Decimal.ROUND_HALF_UP,\n [Rounding.ROUND_UP]: Decimal.ROUND_UP,\n};\n\nexport function toSignificant(\n num: number | string,\n significantDigits = 6,\n format: object = { groupSeparator: \"\" },\n rounding: Rounding = Rounding.ROUND_DOWN,\n): string {\n Decimal.set({\n precision: significantDigits + 1,\n rounding: toSignificantRounding[rounding],\n });\n\n const quotient = new Decimal(num).toSignificantDigits(significantDigits);\n return quotient.toFormat(quotient.decimalPlaces(), format);\n}\n\nexport function toSignificantWithGroupSeparator(num: number | string, significantDigits = 6): string {\n Decimal.set({\n precision: significantDigits + 1,\n rounding: toSignificantRounding[Rounding.ROUND_DOWN],\n });\n\n const quotient = new Decimal(num).toSignificantDigits(significantDigits);\n return quotient.toFormat(quotient.decimalPlaces(), { groupSeparator: \",\" });\n}\n","import BigNumber from \"bignumber.js\";\nimport type { NumberType } from \"@icpswap/types\";\n\nexport function formatTokenAmount(\n amount: NumberType | null | undefined,\n decimals: number | bigint = 8\n): BigNumber {\n let _amount = amount;\n let _decimals = decimals;\n\n if (_amount !== 0 && !_amount) return new BigNumber(0);\n if (typeof _amount === \"bigint\") _amount = Number(_amount);\n if (typeof decimals === \"bigint\") _decimals = Number(_decimals);\n if (Number.isNaN(Number(amount))) return new BigNumber(_amount);\n return new BigNumber(_amount).multipliedBy(10 ** Number(_decimals));\n}\n\nexport function parseTokenAmount(\n amount: NumberType | null | undefined,\n decimals: number | bigint = 8\n): BigNumber {\n if (amount !== 0 && !amount) return new BigNumber(0);\n if (typeof amount === \"bigint\") amount = Number(amount);\n if (typeof decimals === \"bigint\") decimals = Number(decimals);\n if (Number.isNaN(Number(amount))) return new BigNumber(String(amount));\n return new BigNumber(String(amount)).dividedBy(10 ** Number(decimals));\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"212\":\"f0d1ae86\",\"232\":\"feaee553\",\"406\":\"4a719e59\",\"456\":\"69a07b17\",\"537\":\"6b51c887\",\"641\":\"d24fb72f\",\"807\":\"a49b20a7\",\"903\":\"ac0cc9c1\",\"1089\":\"8549a62c\",\"1110\":\"b1c7082d\",\"1507\":\"e86a9d51\",\"1720\":\"602caa72\",\"1789\":\"04a7a72c\",\"2008\":\"5d704f1e\",\"2268\":\"68da122e\",\"2329\":\"f4d09f03\",\"2603\":\"c01dd959\",\"2735\":\"233d3c80\",\"2997\":\"871b3ebd\",\"3683\":\"51ee1fcb\",\"4075\":\"a22ac83a\",\"4461\":\"55703e5b\",\"4463\":\"7803e09d\",\"4652\":\"65d1a72a\",\"4722\":\"3ed04075\",\"4817\":\"20bb9e8b\",\"5388\":\"6a543ff1\",\"5543\":\"72170931\",\"5600\":\"e3eaf8aa\",\"5821\":\"4a4cb2d1\",\"5864\":\"5fea003f\",\"5885\":\"4f2a2340\",\"5902\":\"e93e9bab\",\"5966\":\"01801135\",\"6460\":\"03122499\",\"6540\":\"e4161b8f\",\"6554\":\"a6292360\",\"6580\":\"de1eed4f\",\"6767\":\"edc992fa\",\"7154\":\"3862f894\",\"7450\":\"f0ff3e27\",\"8359\":\"8b94019d\",\"8618\":\"199fa17e\",\"9160\":\"5a1c020e\",\"9225\":\"7555a02b\",\"9427\":\"50c45b21\",\"9801\":\"651a96fe\",\"9847\":\"463a3311\",\"9927\":\"c433fff8\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"@icpswap/info:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","(() => {\n if (typeof __webpack_require__ !== 'undefined') {\n var oldGetScript = __webpack_require__.u;\n var oldLoadScript = __webpack_require__.e;\n var queryMap = {};\n var countMap = {};\n var getRetryDelay = function (retryAttempt) {\n return 2 ** (retryAttempt - 1) * 500;\n };\n __webpack_require__.u = function (chunkId) {\n var result = oldGetScript(chunkId);\n return (\n result +\n (queryMap.hasOwnProperty(chunkId) ? '?' + queryMap[chunkId] : '')\n );\n };\n __webpack_require__.e = function (chunkId) {\n var result = oldLoadScript(chunkId);\n return result.catch(function (error) {\n var retries = countMap.hasOwnProperty(chunkId) ? countMap[chunkId] : 3;\n if (retries < 1) {\n var realSrc = oldGetScript(chunkId);\n error.message =\n 'Loading chunk ' +\n chunkId +\n ' failed after 3 retries.\\n(' +\n realSrc +\n ')';\n error.request = realSrc;\n throw error;\n }\n return new Promise(function (resolve) {\n var retryAttempt = 3 - retries + 1;\n setTimeout(function () {\n var retryAttemptString = '&retry-attempt=' + retryAttempt;\n var cacheBust = (function () {\n return 'cache-bust=' + Date.now();\n })();\n +retryAttemptString;\n queryMap[chunkId] = cacheBust;\n countMap[chunkId] = retries - 1;\n resolve(__webpack_require__.e(chunkId));\n }, getRetryDelay(retryAttempt));\n });\n });\n };\n }\n})();\n","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t8792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk_icpswap_info\"] = globalThis[\"webpackChunk_icpswap_info\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4395], () => (__webpack_require__(65425)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","t","keys","Object","module","exports","CanisterIdsJson","canister_ids","require","temp_canister_ids","error","console","canisterIds","forEach","key","network","getCanisterId","canisterName","CANISTER_NAMES","SWAP_POSITION_MANAGER","SwapFactory","SwapRouter","SwapRecord","SwapNFT","WICP","NETWORK","IC","FILE","NFTCanisterController","NFTCanister","NFTTrade","FileCanister","SwapStaker","SwapStakerController","SwapStakerStorage","SingleSmartChef","V3NFTCanister","V3TradeStat","SwapPool","WICPCanisterId","SwapNFTCanisterId","Actor","setActorCanisterIds","actor","setHost","host","HIDDEN_POOLS","APP_LINK","SUPPORTED_LOCALES","DEFAULT_LOCALE","hostMap","LOCAL","process","async","getSwapPoolInfo","canisterId","resultFormat","v2SwapPool","infoWithNoBalance","data","getSwapPools","poolIds","v2SwapFactory","getPoolIds","getSwapPoolIds","length","all","poolId","useSwapPools","useCallsData","useCallback","filter","pool","undefined","getSwapPoolTokenStandard","tokenId","getStandard","idlFactory","IDL","BoolResult__1","Variant","ok","Bool","err","Text","Address","ResultAmount","Record","amount0","Nat","amount1","ResponseResult_1","CollectParams","internalCall","recipient","Principal","amount0Max","amount1Max","ResponseResult_9","NatResult","DecreaseLiquidityParams","liquidity","amount0Min","amount1Min","deadline","ResponseResult_10","Vec","TransactionType","fee","Null","burn","claim","mint","swap","addLiquidity","removeLiquidity","refreshIncome","transfer","collect","Address__1","SwapRecordInfo","to","feeAmount","Int","action","feeAmountTotal","token0Id","token1Id","token0AmountTotal","liquidityTotal","from","tick","feeTire","token0ChangeAmount","token1AmountTotal","liquidityChange","token1Standard","TVLToken0","TVLToken1","token0Fee","token1Fee","timestamp","token1ChangeAmount","token0Standard","price","PoolKey","token0","token1","TVLResult","token0TVL","token1TVL","ResponseResult_8","PositionWithTokenAmount","tickUpper","tokensOwed0","tokensOwed1","operator","feeGrowthInside1LastX128","feeGrowthInside0LastX128","nonce","token0Amount","token1Amount","tickLower","TickLiquidityInfo","tickIndex","price0Decimal","liquidityNet","price0","price1","liquidityGross","price1Decimal","ResponseResult_7","VolumeMapType","tokenA","tokenB","ResponseResult_6","PushError","time","message","TxStorageCanisterResponse","errors","retryCount","IncreaseLiquidityParams","amount0Desired","amount1Desired","LiquidityType","ResponseResult_5","QueryPositionResult","ResponseResult_2","MintParams","MintResult","ResponseResult_4","ResponseResult_3","BoolResult","ResponseResult","Service","addAdmin","Func","addTokenId","clearTxStorageErrors","collectInInvalidPosition","createAndInitializePoolIfNecessary","cycleAvailable","cycleBalance","decreaseLiquidity","decreaseLiquidityInInvalidPosition","fixOperator","getAdminList","getApproved","getBaseDataStructureCanister","getCachedSwapRecord","getIntervalTime","getMaxRetrys","getPoolTVL","getPositionByPoolAddress","getPositionTotalLiquidityByPoolAddress","getTickInfos","getTotalVolume","getTxStorage","Opt","increaseLiquidity","invalidPositions","isTxStorageAvailable","ownerInvalidTokens","ownerTokens","positions","recoverTxStorage","refreshInvalidIncome","removeAdmin","removeSwapPool","removeTokenId","removeTxStorage","setAvailable","setBaseDataStructureCanister","setIntervalTime","setLockServerCanisterId","setMaxRetrys","setSwapNFTCanisterId","setTxStorage","swapNFTCanisterId","tokenURI","v2SwapPositionManager","create","v2Ids","useV2SwapNFTSvg","BigInt","JSON","parse","useUpdatePoolTokenStandardCallback","updateTokenStandard","useUpdateTokenStandards","getTokenStandard","standard","ROSETTA_API__BASE","INTERNET_COMPUTER_BASE","useICPTransactions","address","fetch_result","fetch","method","headers","body","stringify","network_identifier","blockchain","account_identifier","catch","json","getICPTransactions","useICPBlocksCall","result","blocks","block_rate","secondBlocks","AmountAndCycleResult","cycles","PositionInfo","SharedSlot0","observationCardinalityNext","sqrtPriceX96","observationIndex","feeProtocol","unlocked","observationCardinality","Uint16","TextResult","PoolInfo","ticks","tickCurrent","sqrtRatioX96","balance0","balance1","InitParameters","tickSpacing","factory","Uint160","Int24","Uint128","PaymentEntry","token","value","tokenStandard","payer","SnapshotCumulativesInsideResult","tickCumulativeInside","secondsPerLiquidityInsideX128","secondsInside","Int256","SwapResult","balance","claimSwapFeeRepurchase","get24HVolume","getPosition","getSlot0","getSwapFeeRepurchase","getSwapTokenMap","getTickSpacing","getWalletAddress","increaseObservationCardinalityNext","info","init","initAdminList","initialize","lockPool","quoter","rollBackData","rollBackTransfer","setFeeProtocol","setSwapFeeHolderCanisterId","setSwapFeeRepurchase","setTransFeeCache","snapshotCumulativesInside","transFee","transFee0","transFee0Cache","transFee1","transFee1Cache","transFeeCache","unlockPool","Pool","PrincipalText","Uint24","TradeOverview","tvl","tradeUserNum","volume","tradeSymbolNum","Page","content","offset","limit","totalElements","_getPool","createPool","enableFeeAmount","getInvalidPool","getOverview","getPool","getPoolList","getPoolListByPage","getPools","removePool","identity","SwapPoolIdl","SwapFactoryIdl","Boolean","window","location","hostname","match","TOKENS","TOKEN_STANDARD","DIP20_WICP","DIP20_XTC","DIP20","useInitialTokenStandard","loading","setLoading","useState","pools","tokenList","fetchListLoading","useTokensFromList","tokenListLoading","setTokenListLoading","stakingPoolsLoading","setStakingPoolsLoading","updatePoolTokenStandard","tokenStandards","useTokenStandards","v2Pools","useV2SwapPools","allStakingPools","call","getStakingPools","usePaginationAllData","useStakingTokenAllPools","useEffect","stakingPool","stakingToken","rewardToken","allTokenIds","i","concat","updateTokens","allTokenStandards","registerTokens","useStyles","makeStyles","theme","root","position","top","left","zIndex","width","marginTop","spacing","LinearLoader","classes","_jsx","className","children","LinearProgress","color","getExchangeRate","pair","exchangeRate","get_exchange_rate","useXDR2USD","__awaiter","parseTokenAmount","rate","decimals","toString","getXDR2USD","CloseIcon","_jsxs","height","viewBox","fill","xmlns","clipPath","d","GlobalTips","onClose","Flex","sx","background","padding","gap","Typography","cursor","fontSize","Box","onClick","Logo","src","logo","alt","marginLeft","display","breakpoints","down","justifyContent","alignItems","palette","level2","borderRadius","APP","border","handleLoadToApp","mockALinkAndOpen","Header","icpInfo","useInfoToken","ICP","Grid","container","component","xs","md","flexGrow","ButtonBase","disableRipple","Link","ml","formatDollarAmount","priceUSD","item","paddingRight","linearGradient","barLink","navItem","level4","more","dot","marginRight","NavBar","useLocation","useTheme","history","useHistory","ref","useRef","pathName","pathname","matchUpLG","useMediaQuery","up","matchDownMD","matchDownSM","RoutesNumber","open","setOpen","handleClose","routes","name","i18n","_","path","isActive","route","split","includes","index","handlerOpenTo","val","push","onMouseEnter","handleMouseEnter","onMouseLeave","handleMouseLeave","Popper","style","anchorEl","current","placement","popperOptions","modifiers","options","ClickAwayListener","onClickAway","MenuList","autoFocusItem","MenuItem","handleMenuClick","backgroundColor","level1","minHeight","borderBottomLeftRadius","borderBottomRightRadius","MainLayout","globalTipsOpen","setGlobalTipsOpen","CssBaseline","Maintenance","maxWidth","Trans","PageNotFound","align","Loadable","Component","props","Suspense","fallback","Loader","Overview","lazy","Wrap","Swap","SwapPoolDetails","SwapToken","SwapTokenDetails","NFTCanisterList","NFTCanisterDetails","NFTView","NFTMarket","TokenList","TokenDetail","Farms","FarmsDetails","StakingToken","StakingTokenDetails","TokenTransactions","UserTokenTransactions","routesConfig","maintenancePages","MainRoutes","allPath","Route","Switch","exact","Routes","AllRoutes","paper","level3","primaryLight","primary200","primaryMain","primaryDark","primary800","secondaryLight","secondary200","secondaryMain","secondaryDark","secondary800","successLight","success200","successMain","successDark","errorLight","errorMain","orangeLight","orangeMain","orangeDark","warningLight","warningMain","warningDark","warning","grey50","grey100","grey200","grey300","grey500","grey600","grey700","grey900","darkPaper","darkBackground","darkLevel1","darkLevel2","darkLevel3","darkLevel4","darkLevel5","darkTextPrimary","darkTextSecondary","darkTextTertiary","darkTextFourth","darkTextFifth","lightPrimaryMain","lightTextTitle","lightTextPrimary","lightTextSecondary","lightTextTertiary","lightTextFourth","lightTextFifth","lightLevel2","lightLevel4","lightLevel5","lightGray200","lightGray50","lightGray200BorderColor","darkPrimaryLight","darkPrimaryMain","darkPrimaryDark","darkPrimary200","darkPrimary800","darkPrimary400","darkSecondaryLight","darkSecondaryMain","darkSecondaryDark","darkSecondary200","darkSecondary800","defaultGradientStart","defaultGradientEnd","apr","border0","border1","MuiTheme","createTheme","componentStyleOverrides","isDark","isDarkTheme","globalButtonBackground","defaultGradient","colors","menuHoverBackground","menuSelectedBack","MuiButton","styleOverrides","fontWeight","textTransform","borderColor","boxShadow","containedPrimary","containedSecondary","MuiPaper","defaultProps","elevation","backgroundImage","rounded","MuiCardHeader","textDark","title","MuiCardContent","paddingBottom","MuiCardActions","MuiAlert","outlined","MuiButtonBase","textSecondary","paddingTop","menuBackground","textPrimary","marginBottom","paddingLeft","menuSelected","MuiListItemIcon","minWidth","MuiListItemText","primary","MuiInputBase","input","MuiOutlinedInput","customization","outlinedFilled","navType","inputAdornedStart","notchedOutline","MuiSlider","mark","valueLabel","MuiAutocomplete","popper","MuiDivider","divider","opacity","MuiSelect","select","MuiCheckbox","MuiAvatar","MuiChip","MuiTimelineContent","MuiTreeItem","label","MuiTimelineDot","MuiInternalDateTimePickerTabs","tabs","MuiTabs","flexContainer","borderBottom","MuiDialog","MuiTable","whiteSpace","MuiTableCell","textTertiary","MuiTooltip","tooltip","MuiPagination","nav","MuiTableContainer","MuiStepper","MuiBreadcrumbs","textDecoration","MuiSwitch","MuiGrid","MuiPopover","MuiList","overflow","themePalette","mode","common","black","accountCardBg","accountCardBgDarkPrimaryLight","light","main","dark","secondary","orange","success","grey","heading","adStyle1","adStyle2","text","tertiary","textLight","hint","default","backgroundDefault","normal","gray200","avatar","gray200BgColor","bgcolor","themeTypography","fontFamily","h6","h5","h4","h3","h2","h1","subtitle1","subtitle2","caption","body1","lineHeight","body2","letterSpacing","customInput","menuCaption","subMenuCaption","commonAvatar","smallAvatar","mediumAvatar","largeAvatar","sm","lg","themeOption","direction","rtlLayout","mixins","toolbar","overflowEllipsis","textOverflow","overflowEllipsis2","typography","components","radius","withRouter","scrollTo","behavior","Snackbar","dispatch","useAppDispatch","React","snackbarInitial","useAppSelector","state","snackbar","MuiSnackbar","TransitionComponent","Fade","anchorOrigin","autoHideDuration","event","reason","SNACKBAR_CLOSE","Alert","variant","severity","alertSeverity","App","initialTokenStandardLoading","useICPPrices","xdr_usdt","updateXDR2USD","useUpdateXDR2USD","isNaN","Number","useInitialXDR2USD","useFetchSNSTokenRootIds","useFetchInfoAllTokens","useFetchSnsAllTokensInfo","StyledEngineProvider","injectFirst","ThemeProvider","NavigationScroll","parseLocale","maybeSupportedLocale","lowerMaybeSupportedLocale","toLowerCase","find","locale","useActiveLocale","userLocale","useUserLocale","useMemo","_ref","navigator","language","region","_parseLocale","toUpperCase","navigatorLocale","LanguageProvider","loaded","setLoaded","messages","load","activate","dynamicActivate","I18nProvider","onerror","msg","url","row","col","_error","test","reload","document","getElementById","createRoot","render","Provider","store","PersistGate","persistor","BrowserRouter","serviceWorker","ready","registration","unregister","KEY","getAllTokens","allTokens","storage","getItem","ele","isValidPrincipal","storageAllTokens","AllTokens","setItem","Set","join","setAllTokens","storeTokenList","createAction","updateICPBlocks","updateICPPriceList","updateUserLocale","updateTokenSNSRootId","use100ICPPriceInfo","now","Date","getTime","start","parseInt","icp_xdr_conversion_rates","get100ICPPriceInfo","useICPPriceList","global","ICPPriceList","useICPBlocksManager","useICPPrice","usd","useUSDValueFromICPAmount","ICPPrice","BigNumber","multipliedBy","WRAPPED_ICP_TOKEN_INFO","useDispatch","icpPrices","prices","icpPrice","div","toFixed","timestampFormat","times","toNumber","xdr","slice","snsTokenRootIds","useSNSTokensRootIds","list_deployed_sns","useListDeployedSNSs","sns_root","deployed_sns","instances","root_id","root_canister_id","ledger_canister_id","useTokenSNSRootIds","useSelector","initialState","createReducer","builder","addCase","payload","openLoading","closeLoading","standards","caps","updateTokenCapId","capId","updateCallResult","updateCallIndex","updateCallKeys","callResults","callIndex","callKeys","callKey","snsAllTokensInfo","updateSnsAllTokensInfo","snackbarReducer","loadingReducer","globalReducer","callReducer","tokenCache","tokenCacheReducer","sns","snsReducer","rootPersistConfig","stateReconciler","autoMergeLevel2","blacklist","migrate","_state$_persist","_state$_persist2","newState","_persist","version","tokens","rootReducer","combineReducers","allReducer","PersistReducer","persistReducer","configureStore","reducer","middleware","getDefaultMiddleware","thunk","serializableCheck","persistStore","SNACKBAR_OPEN","vertical","horizontal","transition","close","actionButton","type","useStateSnsAllTokensInfo","allTokensInfo","getSnsAllTokensInfo","useTokenStandardIsRegistered","tokenAdapter","getAll","getState","useStateTokenCapId","to32bits","num","arrayBuffer","ArrayBuffer","DataView","setUint32","Array","Uint8Array","encodeTokenIdentifier","principal","Buffer","array","fromText","toUint8Array","fromUint8Array","toText","prototype","toJSON","this","_BigNumber","set","EXPONENTIAL_AT","config","ROUNDING_MODE","ROUND_DOWN","cycleValueFormat","noUnit","toFormat","transactionsTypeFormat","isICPSwapOfficial","account","arrayBufferToString","TextDecoder","decode","swapLink","ICP_TOKEN_INFO","addLiquidityLink","swapLinkOfPool","Config","Media","link","mediaType","TokenMetadata","configs","rank","Nat32","mediaLinks","totalSupply","introduction","symbol","Result_3","Result_2","Result_1","Result","add","edit","get","getList","getLogo","remove","updateLogo","Subaccount","Nat8","Account","owner","subaccount","TokenInfo","minting_account","ledger_id","min_burn_amount","max_supply","total_supply","get_logo","get_task_state","get_token_list","set_task_state","set_token_index","set_token_logo","ic_host","cachedCanisterIds","Connector","constructor","connector","ICPSwap","agent","errorCallbacks","log","setConnector","_a","actorName","_host","serviceClass","createActorError","icConnector","createActor","interfaceFactory","String","actorOptions","fetchRootKey","warn","assign","createBaseActor","AnonymousAgent","_actor","_fields","args","beforeSubmit","checkResult","_message","_b","_c","trim","_d","HttpAgent","createAgent","PLUG","ic","plug","whitelist","INFINITY","httpAgent","setAgent","onError","callback","onSubmit","setLog","ActorName","TokenListInterfaceFactory","allTokenOfSwap","AllTokenOfSwapInterfaceFactory","allowed_principals","access_controls_enabled","sns_subnet_ids","SnsWasm","wasm","canister_type","Int32","AddWasmRequest","hash","SnsWasmError","Hash","AddWasmResponse","NeuronBasketConstructionParameters","dissolve_delay_interval_seconds","Nat64","count","Canister","DappCanisters","canisters","LinearScalingCoefficient","slope_numerator","intercept_icp_e8s","from_direct_participation_icp_e8s","slope_denominator","to_direct_participation_icp_e8s","IdealMatchedParticipationFunction","serialized_representation","NeuronsFundParticipationConstraints","coefficient_intervals","max_neurons_fund_participation_icp_e8s","min_direct_participation_threshold_icp_e8s","ideal_matched_participation_function","CfNeuron","has_created_neuron_recipes","nns_neuron_id","amount_icp_e8s","CfParticipant","hotkey_principal","cf_neurons","NeuronsFundParticipants","participants","TreasuryDistribution","total_e8s","NeuronDistribution","controller","dissolve_delay_seconds","memo","stake_e8s","vesting_period_seconds","DeveloperDistribution","developer_neurons","AirdropDistribution","airdrop_neurons","SwapDistribution","initial_swap_amount_e8s","FractionalDeveloperVotingPower","treasury_distribution","developer_distribution","airdrop_distribution","swap_distribution","InitialTokenDistribution","Countries","iso_codes","SnsInitPayload","max_dissolve_delay_seconds","max_dissolve_delay_bonus_percentage","nns_proposal_id","neurons_fund_participation","min_participant_icp_e8s","neuron_basket_construction_parameters","fallback_controller_principal_ids","token_symbol","final_reward_rate_basis_points","max_icp_e8s","neuron_minimum_stake_e8s","confirmation_text","swap_start_timestamp_seconds","swap_due_timestamp_seconds","initial_voting_period_seconds","neuron_minimum_dissolve_delay_to_vote_seconds","description","max_neuron_age_seconds_for_age_bonus","min_participants","initial_reward_rate_basis_points","wait_for_quiet_deadline_increase_seconds","transaction_fee_e8s","dapp_canisters","neurons_fund_participation_constraints","neurons_fund_participants","max_age_bonus_percentage","initial_token_distribution","reward_rate_transition_duration_seconds","token_logo","token_name","max_participant_icp_e8s","min_direct_participation_icp_e8s","proposal_reject_cost_e8s","restricted_countries","min_icp_e8s","max_direct_participation_icp_e8s","DeployNewSnsRequest","sns_init_payload","DappCanistersTransferResult","restored_dapp_canisters","nns_controlled_dapp_canisters","sns_controlled_dapp_canisters","SnsCanisterIds","ledger","governance","DeployNewSnsResponse","dapp_canisters_transfer_result","subnet_id","GetAllowedPrincipalsResponse","GetDeployedSnsByProposalIdRequest","proposal_id","DeployedSns","governance_canister_id","index_canister_id","swap_canister_id","GetDeployedSnsByProposalIdResult","GetDeployedSnsByProposalIdResponse","get_deployed_sns_by_proposal_id_result","SnsVersion","archive_wasm_hash","root_wasm_hash","swap_wasm_hash","ledger_wasm_hash","governance_wasm_hash","index_wasm_hash","GetNextSnsVersionRequest","current_version","GetNextSnsVersionResponse","next_version","GetSnsSubnetIdsResponse","GetWasmRequest","GetWasmResponse","SnsUpgrade","InsertUpgradePathEntriesRequest","upgrade_path","sns_governance_canister_id","InsertUpgradePathEntriesResponse","ListDeployedSnsesResponse","ListUpgradeStepsRequest","starting_at","PrettySnsVersion","ListUpgradeStep","pretty_version","ListUpgradeStepsResponse","steps","UpdateAllowedPrincipalsRequest","added_principals","removed_principals","UpdateAllowedPrincipalsResult","AllowedPrincipals","UpdateAllowedPrincipalsResponse","update_allowed_principals_result","UpdateSnsSubnetListRequest","sns_subnet_ids_to_add","sns_subnet_ids_to_remove","UpdateSnsSubnetListResponse","add_wasm","deploy_new_sns","get_allowed_principals","get_deployed_sns_by_proposal_id","get_latest_sns_version_pretty","Tuple","get_next_sns_version","get_sns_subnet_ids","get_wasm","insert_upgrade_path_entries","list_deployed_snses","list_upgrade_steps","update_allowed_principals","update_sns_subnet_list","sns_wasm","SNS_WASM_INTERFACE_FACTORY","Transaction","token1Price","Float64","sender","token1Decimals","amountUSD","amountToken0","amountToken1","poolFee","token0Symbol","token0Decimals","token0Price","token1Symbol","PublicPoolOverView","token0TotalVolume","volumeUSD1d","volumeUSD7d","token1Volume24H","totalVolumeUSD","sqrtPrice","feeTier","token1TotalVolume","volumeUSD","feesUSD","token0Volume24H","txCount","PublicTokenOverview","priceUSDChange","addOwner","addQuoteToken","allPoolStorage","allTokenStorage","allUserStorage","batchInsert","clean","getAllPools","getControllers","getDataQueueSize","getLastDataTime","getOwners","getPoolQueueSize","getPoolsForToken","getQuoteTokens","getSyncLock","getSyncStatus","getTokenQueueSize","getTotalVolumeAndUser","getUserQueueSize","insert","poolMapping","poolStorage","setPoolSyncStatus","setQuoteTokens","setTokenSyncStatus","setUserSyncStatus","syncOverview","tokenMapping","tokenStorage","userMapping","userStorage","node_index","NodeIndex","NodeIndexInterfaceFactory","baseLastStorage","baseStorage","batchPush","getAllowTokens","getEnableSync","getPoolLastPrice","getSyncError","getSyncOffset","priceCanister","setEnableSync","setPriceCanister","syncOldDataToLast","RecordPage","addOwners","getBaseRecord","getByPool","getByToken","getTxCount","baseIndex","BaseIndexInterfaceFactory","BaseIndex","BaseStorageInterfaceFactory","TvlOverview","tvlUSD","tvlUSDChange","PublicProtocolData","getAllPoolTvl","getAllTokenTvl","getPoolLastTvl","getProtocolData","getSyncState","getSyncTime","getTokenLastTvl","getTvlSyncState","globalLastStorageCanister","globalStorageCanister","syncGlobal","syncTvl","syncTvlStatus","tvlLastStorageCanister","tvlStorageCanister","NatResult__1","PublicSwapChartDayData","getChartData","NatResult__2","TvlChartDayData","getPoolChartTvl","getTokenChartTvl","globalIndex","GlobalIndexInterfaceFactory","GlobalIndex","globalStorage","GlobalStorageInterfaceFactory","globalTVL","GlobalTVLInterfaceFactory","PublicPoolChartDayData","getPoolChartData","getPoolTransactions","PoolStorageInterfaceFactory","PublicTokenChartDayData","PublicTokenPricesData","low","high","getToken","getTokenChartData","getTokenPricesData","getTokenTransactions","TokenStorageInterfaceFactory","UserStorageInterfaceFactory","Value","Rec","Map","Blob","Block","created_at_time","amount","kind","append_blocks","get_blocks","get_transaction","get_transactions","transactions","remaining_capacity","Tokens","Memo","Timestamp","TxIndex","TransferError","GenericError","error_code","TemporarilyUnavailable","BadBurn","Duplicate","duplicate_of","BadFee","expected_fee","CreatedInFuture","ledger_time","TooOld","InsufficientFunds","TransferResult","Ok","Err","GetTransactionsRequest","Burn","Mint","Transfer","ArchivedTransactionRange","GetTransactionsResponse","first_index","log_length","archived_transactions","icrc1_balance_of","icrc1_decimals","icrc1_fee","icrc1_metadata","icrc1_minting_account","icrc1_name","icrc1_supported_standards","icrc1_symbol","icrc1_total_supply","icrc1_logo","icrc1_transfer","from_subaccount","MetadataValue","ChangeFeeCollector","SetTo","Unset","FeatureFlags","icrc2","UpgradeArgs","transfer_fee","metadata","maximum_number_of_accounts","accounts_overflow_trim_quantity","change_fee_collector","max_memo_length","Nat16","feature_flags","ArchiveOptions","num_blocks_to_archive","max_transactions_per_response","trigger_threshold","max_message_size_bytes","cycles_for_archive_creation","node_max_memory_size_bytes","controller_id","InitArgs","initial_balances","fee_collector_account","archive_options","GetBlocksRequest","Upgrade","Init","BlockRange","ArchivedRange","GetBlocksResponse","certificate","chain_length","archived_blocks","DataCertificate","hash_tree","spender","Approve","expected_allowance","expires_at","approve","TransactionRange","ArchivedRange_1","StandardRecord","TransferArg","AllowanceArgs","Allowance","allowance","ApproveArgs","ApproveError","AllowanceChanged","current_allowance","Expired","TransferFromArgs","spender_subaccount","TransferFromError","InsufficientAllowance","get_data_certificate","icrc2_allowance","icrc2_approve","icrc2_transfer_from","icrcArchive","ICRCArchiveInterfaceFactory","icrc1","ICRC1InterfaceFactory","ICRC2InterfaceFactory","TxReceipt","InsufficientBalance","ErrorOperationStyle","Unauthorized","LedgerTrap","ErrorTo","Other","BlockUsed","AmountTooSmall","Metadata","Time","holderNumber","deployTime","historySize","feeTo","balanceOf","getAllowanceSize","getHolders","getMetadata","getTokenFee","getTokenInfo","getUserApprovals","setFee","setFeeTo","setLogo","setName","setOwner","transferFrom","dip20","DIP20InterfaceFactory","dip20BalanceActor","DIP20BalanceInterfaceFactory","dip20SupplyActor","DIP20SupplyInterfaceFactory","Balance","AccountIdentifier","User","SubAccount","AllowanceRequest","Balance__1","TokenIdentifier","CommonError__1","InvalidToken","ApproveRequest","BalanceRequest","user","CommonError","BalanceResponse","Result_7","Extension","HoldersRequest","Holder","Page_1","Result_6","Result_5","fungible","ownerAccount","nonfungible","Result_4","MintRequest","TransferResponse","CannotNotify","Rejected","AccountIdentifier__1","User__1","TransactionRequest","TransType","status","transType","TransferRequest","notify","extensions","getFee","holders","registry","supply","totalHolders","Result_10","Page_2","Result_9","Result_8","BlockHeight","blockHeight","WithdrawRequest","BlockHeight__1","WrapRequest","WrapType","wrap","unwrap","WrapRecord","date","wrapType","withdraw","wrappedTx","ext","EXTTokenInterfaceFactory","wrapICP","WrapICPInterfaceFactory","e8s","Duration","secs","nanos","send_whitelist","transaction_window","initial_values","BinaryAccountBalanceArgs","AccountBalanceArgs","ArchiveInfo","canister_id","Archives","archives","Decimals","Name","GetBlocksArgs","TimeStamp","timestamp_nanos","CandidOperation","allowance_e8s","TransferFrom","CandidTransaction","icrc1_memo","operation","CandidBlock","transaction","parent_hash","GetBlocksError","BadFirstBlockIndex","requested_index","first_valid_index","error_message","ArchivedBlocksRange","QueryBlocksResponse","first_block_index","ArchivedEncodedBlocksRange","QueryEncodedBlocksResponse","SendArgs","Symbol","TransferArgs","TransferError_1","TxTooOld","allowed_window_nanos","TxDuplicate","TxCreatedInFuture","TransferFee","account_balance","account_balance_dfx","query_blocks","query_encoded_blocks","send_dfx","ledgerService","LedgerInterfaceFactory","LEDGER_CANISTER_ID","KVPair","k","v","CanisterInfo","cid","creator","linkMap","ownerName","createTime","mintSupply","royalties","image","CanisterRequest","PageResponse","canisterInfo","delete","deleteTradeStatCanister","feeInfo","findCanister","findCanisterConfig","findTop5Canister","findUserCanister","initLogo","setCanisterConfig","setFeeInfo","ApproveAllRequest","TokenIdentifier__1","AccountIdentifier__2","KVPair__1","TokenIndex","Chunk","TokenIndex__1","IcsMetadata","Remark","TransferRecord","HeaderField","HttpRequest","StreamingCallbackToken__1","StreamingStrategy","HttpResponse","StreamingCallbackToken","StreamingCallbackHttpResponse","IcsMintRequest","IcsMintRequests","Listing","BuyRequest","nftCid","tokenIndex","OrderInfo","minter","filePath","fileType","seller","artistName","TxInfoResponse","txFee","settleAmountStatus","royaltiesFeeStatus","royaltiesFee","txFeeStatus","txStatus","settleAmount","buyer","StatResponse","totalVolume","listSize","totalTurnover","avgPrice","maxPrice","minPrice","RevokeRequest","SaleRequest","buy","cancel","cancelOrder","checkPayment","findCanisterId","findCanisterRecommend","findOrderPage","findRecommend","findTokenOrderPage","findTokenTxPage","findTxPage","findUserTxPage","getAddress","getOrder","getStat","getTradeState","removeList","revoke","sale","setCanisterId","setState","setTradeState","unlock","TradeStatResp","List","SendBatchRequest","users","BalanceResponseV2","ClaimRequest","email","TokenMetadataV2","cId","mintTime","attributes","nftType","PageResponse_1","TxType","handsel","TransferRecordV2","tokenName","txType","caller","NftHolderInfo","bronze","gold","iron","platinum","silver","roseGold","NftStatInfo","holderAmount","userMintAmount","officialMintAmount","totalMintAmount","EmailCode","EmailCodeRequest","emailCode","MintRequestV2","MintRequestsV2","EmailState","total","claimCount","emailCodeCount","TransferResponseV2","airdrop","allowState","allowable","bearer","findSeriesType","findTokenList","findTokenMarket","findTokenTxRecord","findTxRecord","getNftHolderInfo","getNftStat","initEmailCode","mintNFT","mintNFTs","mint_batch","ownerNFTCount","queryEmailState","setClaimState","setSeriesType","swapMint","tokenHolds","V3NFTCanisterControllerInterfaceFactory","NFTCanisterInterfaceFactory","NFTTradeCanister","V3TradeCanisterInterfaceFactory","NFTTradeStat","V3TradeStatInterfaceFactory","NFT_V1","V1NFTCanisterInterfaceFactory","AssetClass","Cryptocurrency","FiatCurrency","Asset","class","ExchangeRateError","AnonymousPrincipalNotAllowed","CryptoQuoteAssetNotFound","FailedToAcceptCycles","ForexBaseAssetNotFound","CryptoBaseAssetNotFound","StablecoinRateTooFewRates","ForexAssetsNotFound","InconsistentRatesReceived","RateLimited","StablecoinRateZeroRate","ForexInvalidTimestamp","NotEnoughCycles","ForexQuoteAssetNotFound","StablecoinRateNotFound","Pending","ExchangeRate__1","quote_symbol","quote_class","base_symbol","base_class","add_asset","force_update_rate","get_assets","get_exchange_rates","ExchangeRateInterfaceFactory","AliasResult","is_public","alias","governance_id","addPrincipalAlias","addSharedPrincipal","getAdmins","getAllPrincipalAliases","getPrincipalAlias","getPrincipalAliasByLedger","getPrincipalAliasByLedgers","queryPrincipalAliasPage","setAdmins","syncSNSProject","liquidityLocks","LiquidityLocks","LiquidityLocksInterfaceFactory","Result_17","approved","Result_16","batch_id","Result_15","remark","Result_14","Result_13","CycleInfo","available","InternalError","UnsupportedToken","Result_12","Result_11","content_encoding","Callback","streaming_strategy","status_code","Token","positionId","locked","approveForAll","checkOperator","chunkSize","clearChunk","commit_batch","content_type","chunk_ids","create_batch","create_chunk","chunk_id","deletePool","findRemovedTokenList","findTokenListByPool","getAllowances","getCanisterInfo","getCycleInfo","getMinter","getRegistry","getRemovedPools","getTokenId","getTokens","getTradeCanisterId","http_request","http_request_streaming_callback","icsMetadata","initNFTCanisterInfo","isApproveForAll","isApproveForToken","maxFileSize","removeAllApproval","removeApproval","setMinter","setTradeCanisterId","spenderRemoveApproval","tokens_ext","Passcode","CreatePoolArgs","PoolData","GetPoolArgs","addPasscode","addPoolControllers","batchAddPoolControllers","batchRemovePoolControllers","batchSetPoolAdmins","clearRemovedPool","deletePasscode","getGovernanceCid","getPasscodesByPrincipal","getPrincipalPasscodes","getVersion","removePoolControllers","removePoolWithdrawErrorLog","restorePool","setPoolAdmins","upgradePoolTokenStandard","AccountBalance","Page_5","Result_26","Result_25","tokenIncome","totalTokensOwed0","totalTokensOwed1","ClaimArgs","Result_24","DecreaseLiquidityArgs","DepositArgs","DepositAndMintArgs","fee0","fee1","positionOwner","Result_23","Result_22","GetPositionArgs","Result_21","PositionInfoWithId","Page_4","Result_20","Result_19","Result_18","infoCid","records","Page_3","TickInfoWithId","initialized","feeGrowthOutside1X128","secondsPerLiquidityOutsideX128","secondsOutside","feeGrowthOutside0X128","tickCumulativeOutside","swapFee0Repurchase","swapFeeReceiver","swapFee1Repurchase","TransferLog","daysFrom19700101","fromSubaccount","errorMsg","UserPositionInfo","UserPositionInfoWithTokenAmount","UserPositionInfoWithId","WithdrawErrorLog","IncreaseLiquidityArgs","PoolMetadata","maxLiquidityPerTick","nextPositionId","MintArgs","SwapArgs","amountIn","zeroForOne","amountOutMinimum","WithdrawArgs","allTokenBalance","approvePosition","batchRefreshIncome","checkOwnerOfUserPosition","deposit","depositAllAndMint","depositFrom","getAddressPrincipals","getAvailabilityState","whiteList","getClaimLog","getMistransferBalance","getPositions","getPrincipal","getSwapRecordState","getTicks","getTokenAmountState","getTokenBalance","getTokenMeta","getTransferLogs","getUserByPositionId","getUserPosition","getUserPositionIds","getUserPositionIdsByPrincipal","getUserPositionWithTokenAmount","getUserPositions","getUserPositionsByPrincipal","getUserUnusedBalance","getWithdrawErrorLog","quote","quoteForAll","removeErrorTransferLog","removeWithdrawErrorLog","resetTokenAmountState","setWhiteList","sumTick","transferPosition","upgradeTokenStandard","withdrawMistransferBalance","PoolAprIndex","aprAvg1D","aprAvg7D","aprAvg30D","PositionDataIndex","snapshotTime","token0FeeAmount","token1FeeDayAmount","fees","token1USDPrice","dayId","token1FeeAmount","token0FeeDayAmount","token0USDPrice","PriceIndex","priceLow7D","priceHigh24H","priceHigh30D","priceHigh7D","priceLow24H","priceLow30D","TaskPositionStatus","lastSyncDay4Position","syncErrorMsgs","syncPoolSize","taskStatus","currentSyncPool","pendingSyncPoolSize","step1","step2","step3","step4","step5","currentPoolPositionSize","currentDay","syncPositionDataLock","nowTime","TaskPriceStatus","currentHour","lastSyncHour4PoolPrice","syncPoolPriceLock","TaskStatus","lastSyncDay4PoolData","totalPoolSize","syncPoolDataLock","pendingSyncPriceSize","totalTokenListSize","pendingSyncPoolDataSize","pendingSyncPositionSize","ICPSwapPoolDataIndex","volumeToken0","volumeToken1","token0LockedAmount","token1LedgerId","token0LedgerId","token1LockedAmount","hourId","getPoolAprIndex","getPositionIndexs","getPriceIndex","getStatPrice","getStatus","getTaskState","queryPoolAprLine","queryPoolDataIndexPage","queryPoolPriceLine","queryPositionAprLine","queryPositionDataIndexPage","queryPositionFeesLine","queryPositionValueLine","queryPriceIndexPage","setTaskState","syncPoolAndTokenList","syncPoolPriceData","syncPositionData","swapNFT","SwapNFTCanister","SwapNFTInterfaceFactory","swapFactory","SwapFactoryInterfaceFactory","swapPool","SwapPoolInterfaceFactory","positionCharts","PositionCharts","PositionChartsFactory","token0DecimalsConst","token1DecimalsConst","rewardTokenDecimalsConst","timeConst","Deposit","rewardAmount","initTime","lastDistributeTime","holder","DistributeRecord","rewardTotal","rewardGained","FarmStatus","LIVE","NOT_STARTED","CLOSED","FINISHED","FarmInfo","startTime","totalRewardHarvested","numberOfStakes","endTime","totalRewardBalance","refunder","poolToken0","poolToken1","totalRewardUnharvested","totalReward","userNumberOfStakes","positionIds","InitFarmArgs","secondPerCycle","nodeIndexCid","farmIndexCid","governanceCid","priceInsideLimit","token0AmountLimit","token1AmountLimit","farmFactoryCid","feeReceiverCid","positionNumLimit","poolToken0Amount","totalLiquidity","poolToken1Amount","poolToken0Symbol","poolToken1Symbol","poolToken1Decimals","poolToken0Decimals","totalRewardFee","rewardPerCycle","rewardTokenFee","totalCycleCount","currentCycleCount","rewardTokenDecimals","distribute","unstake","stake","harvest","StakeRecord","TokenAmount","TVL","clearErrorLog","finishManually","getAPRConst","getAPRRecord","getAvgAPR","getDeposit","getDistributeRecord","getErrorLog","getFarmInfo","getInitArgs","getLimitInfo","getLiquidityInfo","getPoolMeta","getPoolTokenMeta","getPositionIds","getRewardInfo","getRewardMeta","getRewardTokenBalance","getStakeRecord","getTVL","getUserDeposits","getUserRewardBalance","getUserRewardBalances","getUserTVL","restartManually","sendRewardManually","setLimitInfo","withdrawRewardFee","AddFarmIndexArgs","farmCid","poolCid","FarmRewardInfo","poolToken0TVL","poolToken1TVL","SearchCondition","farmAmount","principalAmount","addFarmIndex","getAllFarmUsers","getAllFarms","getAllPoolFarms","getAllRewardTokenFarms","getAllUserFarms","getFarmRewardTokenInfo","getFarmRewardTokenInfos","getFarmUsers","getFarms","getFarmsByConditions","getFarmsByPool","getFarmsByRewardToken","getLiveFarmsByPools","getPrincipalRecord","getRewardInfoByStatus","getTotalAmount","getUserFarms","syncHisData","updateFarmStatus","updateFarmTVL","updateUserInfo","farm","Farm","FarmInterfaceFactory","farmIndex","FarmIndex","FarmIndexInterfaceFactory","InitRequest","stakingTokenSymbol","rewardTokenSymbol","rewardPerTime","stakingTokenFee","stakingTokenDecimals","bonusEndTime","TokenGlobalDataInfo","stakingAmount","rewardTokenPrice","rewardTokenCanisterId","stakingTokenCanisterId","stakingTokenPrice","stakingTokenAmount","rewardTokenAmount","StakingPoolInfo","GlobalDataInfo","valueOfStaking","valueOfRewarded","totalStaker","valueOfRewardsInProgress","totalPools","userIndexCid","addStakingPoolControllers","createStakingPool","deleteStakingPool","findPoolStatInfo","findStakingPoolPage","findStakingPoolPageV2","getGlobalData","getOperationInfo","getPoolStatInfo","getStakingPool","removeStakingPoolControllers","setRewardFee","setStakingPoolAdmins","setStakingPoolTime","setUpdateGlobalDataState","setUserIndexCanister","stopStakingPool","stopTimer","unclaimdRewardFee","liquidate","TransTokenType","stakeToken","stakingStandard","transTokenType","errMsg","rewardStandard","PublicUserInfo","pendingReward","lastRewardTime","stakeAmount","rewardTokenBalance","rewardDebt","lastStakeTime","stakeTokenBalance","LiquidationStatus","pending","liquidation","liquidated","PublicStakingPoolInfo","totalDeposit","totalUnstaked","totalHarvest","liquidationStatus","rewardFee","accPerShare","totalStaked","UpdateStakingPool","findRewardRecordPage","findStakingRecordPage","findTransferRecord","findUserInfo","getPoolInfo","getUserInfo","refundRewardToken","refundUserToken","removeTransferRecord","stop","updateStakingPool","stakingPoolController","StakingTokenController","StakingPoolControllerInterfaceFactory","TokenPool","TokenPoolInterfaceFactory","ClaimEventInfo","claimEventCreator","tokenCid","claimedTokenAmount","claimEventId","tokenDecimals","claimEventStatus","tokenSymbol","totalUserAmount","totalTokenAmount","claimedUserAmount","claimCanisterId","claimEventName","ClaimRecordInfo","claimAmount","claimStatus","claimTime","claimUser","ClaimQuota","quota","findAllEvents","findCreateEvents","findEventRecords","findUserEventRecords","findUserEvents","getControllerAddress","getEvent","getStorageCanister","importQuota","setStatus","setStorageCanister","updateEvent","tokenClaimController","ClaimController","ClaimControllerInterfaceFactory","WICP_CANISTER_ID","ICS_CANISTER_ID","useNodeInfoAllPools","getNodeInfoAllPools","getNodeInfoAllTokens","useNodeInfoAllTokens","useInfoPoolStorageIds","getInfoPoolStorageIds","getInfoTokenStorageIds","useInfoTokenStorageIds","useInfoUserStorageIds","getInfoUserStorageIds","useSwr","refreshInterval","useInfoAllTokens","useSWRImmutable","ckUSDC","getListDeployedSNSs","getSnsTokensInfo","page","sns_all_tokens_info_call_rounds","fetch_index","fetch_done","call_index","flat","sort","a","b","meta","availableArgsNull","useStakingPools","isAvailablePageArgs","getStakingPoolGlobalData","getStakingTokenPool","useStakingPoolCycles","getStakingPoolCycles","useStakingPoolTransactions","getStakingPoolTransactions","useStakingPoolClaimTransactions","getStakingPoolClaimTransactions","getSwapPool","useSwapPool","getSwapPoolMetadata","useSwapPoolMetadata","getSwapPoolAllTickInfos","poolId_1","getPaginationAllData","getSwapTickInfos","useLiquidityTickInfos","getSwapPosition","usePositionFee","refresh","getPositionFee","getSwapPositions","useSwapPositions","getSwapUserPositions","useSwapUserPositions","useSwapPositionOwner","positionIndex","getSwapPositionOwner","getTokensFromList","useTokenListTokenInfo","useAllTokensOfSwap","getLimitedInfinityCall","sleep","ms","setTimeout","fn","res","useLatestDataCall","indexRef","resultsRef","list","setList","fetchDone","_list","getTotalElements","totalPage","pageArgsFormat","_fetch","_result","promise","reduce","prev","curr","callback_1","limit_1","call_rounds","start_index","fetch_data","BaseCurrency","invariant","isInteger","super","isNative","isToken","validateAndParseAddress","equals","other","sortsBefore","wrapped","validateAndParseERC20Address","isBigIntMemo","BaseTokenAdapter","EXTAdapter","params","sub","fromBytes","principalToAccount","isOkSubAccount","cap_id","getCapRootId","getCapUserTransactions","_e","witness","getCapTransactions","_f","_g","MAX_VALUE","ResultStatus","OK","actualReceivedByTransfer","getMintingAccount","DIP20TokenAdapter","totalHolder","tokenInfo","DIP20Adapter","DIP20WICPAdapter","DIP20XTCAdapter","icrc1Adapter","create_at_time","from_sub_account","init_result","token_canister_transactions","archivedTransactions","from_owner","_h","_j","_from_sub","_l","_k","_m","to_owner","_p","_o","_q","_to_sub","_s","_r","_t","from_sub","from_account","fromPrincipal","subAccount","to_sub","to_account","feeArray","_u","_v","_w","toHex","_x","_y","enumToString","_2","_0","_z","_1","_3","icrcTransactionFormat","reverse","ERROR","icrc2Adapter","spenderSub","icpAdapter","canisterAdapters","adapters","initialAdapter","adapter","register","getAdapter","EXT","getAdapterByName","adapterName","request","ICRC1","ICRC2","standardType","WRAPPED_ICP","ICS_TOKEN_INFO","GHOST_TOKEN_ID","GHOST_TOKEN_INFO","ck_BTC_TOKEN_INFO","ckUSDCTokenInfo","ckSepoliaUSDCTokenInfo","ERC20Token","ckETHTokenInfo","ckSepoliaETHTokenInfo","ckLinkTokenInfo","justify","margin","fullWidth","flexDirection","gridAutoRows","flexWrap","isSubAccount","isNullArgs","argument","nonNullArgs","createElement","setAttribute","appendChild","click","digits","ab","_num","isLessThan","toSignificant","numbro","formatCurrency","average","mantissa","abbreviations","million","billion","formatDollarTokenPrice","formatAmount","toSignificantWithGroupSeparator","format","numToPercent","pageNum","pageSize","pageStart","isResultErrKey","isResultOkKey","isObject","isResultKey","messageKey","replace","newTimestamp","substr","dayjs","Rounding","Decimal","_Decimal","toSignificantRounding","ROUND_HALF_UP","ROUND_UP","significantDigits","groupSeparator","rounding","precision","quotient","toSignificantDigits","decimalPlaces","dividedBy","Math","pow","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","m","amdO","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","ns","def","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","Function","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","onScriptComplete","onload","clearTimeout","doneFns","parentNode","removeChild","bind","target","head","toStringTag","nmd","paths","p","oldGetScript","oldLoadScript","queryMap","countMap","retries","realSrc","retryAttempt","cacheBust","getRetryDelay","installedChunks","installedChunkData","reject","errorType","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}