@ring-protocol/smart-order-router 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/main/routers/alpha-router/alpha-router.js +1 -4
- package/build/main/tsconfig.tsbuildinfo +1 -1
- package/build/main/util/methodParameters.js +1 -3
- package/build/module/routers/alpha-router/alpha-router.js +1 -4
- package/build/module/tsconfig.module.tsbuildinfo +1 -1
- package/build/module/util/methodParameters.js +1 -3
- package/package.json +5 -5
- package/build/main/index.js.map +0 -1
- package/build/main/providers/cache-node.js.map +0 -1
- package/build/main/providers/cache.js.map +0 -1
- package/build/main/providers/caching/route/index.js.map +0 -1
- package/build/main/providers/caching/route/model/cache-mode.js.map +0 -1
- package/build/main/providers/caching/route/model/cached-route.js.map +0 -1
- package/build/main/providers/caching/route/model/cached-routes.js.map +0 -1
- package/build/main/providers/caching/route/model/index.js.map +0 -1
- package/build/main/providers/caching/route/route-caching-provider.js.map +0 -1
- package/build/main/providers/caching-gas-provider.js.map +0 -1
- package/build/main/providers/caching-subgraph-provider.js.map +0 -1
- package/build/main/providers/caching-token-list-provider.js.map +0 -1
- package/build/main/providers/caching-token-provider.js.map +0 -1
- package/build/main/providers/eip-1559-gas-price-provider.js.map +0 -1
- package/build/main/providers/eth-estimate-gas-provider.js.map +0 -1
- package/build/main/providers/eth-gas-station-info-gas-price-provider.js.map +0 -1
- package/build/main/providers/fewV2/ring-caching-pool-provider.js.map +0 -1
- package/build/main/providers/fewV2/ring-caching-subgraph-provider.js.map +0 -1
- package/build/main/providers/fewV2/ring-pool-provider.js.map +0 -1
- package/build/main/providers/fewV2/ring-quote-provider.js.map +0 -1
- package/build/main/providers/fewV2/ring-static-subgraph-provider.js.map +0 -1
- package/build/main/providers/fewV2/ring-subgraph-provider-with-fallback.js.map +0 -1
- package/build/main/providers/fewV2/ring-subgraph-provider.js.map +0 -1
- package/build/main/providers/fewV2/ring-uri-subgraph-provider.js.map +0 -1
- package/build/main/providers/gas-price-provider.js.map +0 -1
- package/build/main/providers/index.js.map +0 -1
- package/build/main/providers/legacy-gas-price-provider.js.map +0 -1
- package/build/main/providers/multicall-provider.js.map +0 -1
- package/build/main/providers/multicall-ringswap-provider.js.map +0 -1
- package/build/main/providers/multicall-uniswap-provider.js.map +0 -1
- package/build/main/providers/on-chain-gas-price-provider.js.map +0 -1
- package/build/main/providers/on-chain-quote-provider.js.map +0 -1
- package/build/main/providers/pool-provider.js.map +0 -1
- package/build/main/providers/portion-provider.js.map +0 -1
- package/build/main/providers/provider.js.map +0 -1
- package/build/main/providers/simulation-provider.js.map +0 -1
- package/build/main/providers/static-gas-price-provider.js.map +0 -1
- package/build/main/providers/subgraph-provider-with-fallback.js.map +0 -1
- package/build/main/providers/subgraph-provider.js.map +0 -1
- package/build/main/providers/swap-router-provider.js.map +0 -1
- package/build/main/providers/tenderly-simulation-provider.js.map +0 -1
- package/build/main/providers/token-fee-fetcher.js.map +0 -1
- package/build/main/providers/token-properties-provider.js.map +0 -1
- package/build/main/providers/token-provider.js.map +0 -1
- package/build/main/providers/token-validator-provider.js.map +0 -1
- package/build/main/providers/uri-subgraph-provider.js.map +0 -1
- package/build/main/providers/v2/caching-pool-provider.js.map +0 -1
- package/build/main/providers/v2/caching-subgraph-provider.js.map +0 -1
- package/build/main/providers/v2/pool-provider.js.map +0 -1
- package/build/main/providers/v2/quote-provider.js.map +0 -1
- package/build/main/providers/v2/static-subgraph-provider.js.map +0 -1
- package/build/main/providers/v2/subgraph-provider-with-fallback.js.map +0 -1
- package/build/main/providers/v2/subgraph-provider.js.map +0 -1
- package/build/main/providers/v2/uri-subgraph-provider.js.map +0 -1
- package/build/main/providers/v3/caching-pool-provider.js.map +0 -1
- package/build/main/providers/v3/caching-subgraph-provider.js.map +0 -1
- package/build/main/providers/v3/gas-data-provider.js.map +0 -1
- package/build/main/providers/v3/pool-provider.js.map +0 -1
- package/build/main/providers/v3/static-subgraph-provider.js.map +0 -1
- package/build/main/providers/v3/subgraph-provider-with-fallback.js.map +0 -1
- package/build/main/providers/v3/subgraph-provider.js.map +0 -1
- package/build/main/providers/v3/uri-subgraph-provider.js.map +0 -1
- package/build/main/providers/v4/caching-pool-provider.js.map +0 -1
- package/build/main/providers/v4/caching-subgraph-provider.js.map +0 -1
- package/build/main/providers/v4/pool-provider.js.map +0 -1
- package/build/main/providers/v4/static-subgraph-provider.js.map +0 -1
- package/build/main/providers/v4/subgraph-provider-with-fallback.js.map +0 -1
- package/build/main/providers/v4/subgraph-provider.js.map +0 -1
- package/build/main/providers/v4/uri-subgraph-provider.js.map +0 -1
- package/build/main/routers/alpha-router/alpha-router.js.map +0 -1
- package/build/main/routers/alpha-router/config.js.map +0 -1
- package/build/main/routers/alpha-router/entities/index.js.map +0 -1
- package/build/main/routers/alpha-router/entities/route-with-valid-quote.js.map +0 -1
- package/build/main/routers/alpha-router/functions/best-swap-route.js.map +0 -1
- package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.js.map +0 -1
- package/build/main/routers/alpha-router/functions/compute-all-routes.js.map +0 -1
- package/build/main/routers/alpha-router/functions/get-candidate-pools.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/gas-costs.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/index.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/ring-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.js.map +0 -1
- package/build/main/routers/alpha-router/index.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/base-quoter.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/few-v2-quoter.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/index.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/mixed-quoter.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/model/index.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/model/results/index.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/uniswap-few-v3-quoter.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/uniswap-few-v4-quoter.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/v2-quoter.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/v3-quoter.js.map +0 -1
- package/build/main/routers/alpha-router/quoters/v4-quoter.js.map +0 -1
- package/build/main/routers/index.js.map +0 -1
- package/build/main/routers/legacy-router/bases.js.map +0 -1
- package/build/main/routers/legacy-router/index.js.map +0 -1
- package/build/main/routers/legacy-router/legacy-router.js.map +0 -1
- package/build/main/routers/router.js.map +0 -1
- package/build/main/types/other/commons.js.map +0 -1
- package/build/main/types/other/factories/Erc20__factory.js.map +0 -1
- package/build/main/types/other/factories/GasDataArbitrum__factory.js.map +0 -1
- package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.js.map +0 -1
- package/build/main/types/other/factories/ITokenValidator__factory.js.map +0 -1
- package/build/main/types/other/factories/MixedRouteQuoterV2__factory.js.map +0 -1
- package/build/main/types/other/factories/Permit2__factory.js.map +0 -1
- package/build/main/types/other/factories/StateView__factory.js.map +0 -1
- package/build/main/types/other/factories/SwapRouter02__factory.js.map +0 -1
- package/build/main/types/other/factories/TokenFeeDetector__factory.js.map +0 -1
- package/build/main/types/other/factories/V4Quoter__factory.js.map +0 -1
- package/build/main/types/v2/commons.js.map +0 -1
- package/build/main/types/v2/factories/IUniswapV2Pair__factory.js.map +0 -1
- package/build/main/types/v3/commons.js.map +0 -1
- package/build/main/types/v3/factories/IERC20Metadata__factory.js.map +0 -1
- package/build/main/types/v3/factories/IQuoterV2__factory.js.map +0 -1
- package/build/main/types/v3/factories/IUniswapV3PoolState__factory.js.map +0 -1
- package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.js.map +0 -1
- package/build/main/util/addresses.js.map +0 -1
- package/build/main/util/amounts.js.map +0 -1
- package/build/main/util/callData.js.map +0 -1
- package/build/main/util/chains.js.map +0 -1
- package/build/main/util/defaultBlocksToLive.js.map +0 -1
- package/build/main/util/fewAddress.js.map +0 -1
- package/build/main/util/gas-factory-helpers.js.map +0 -1
- package/build/main/util/hooksOptions.js.map +0 -1
- package/build/main/util/index.js.map +0 -1
- package/build/main/util/intent.js.map +0 -1
- package/build/main/util/l2FeeChains.js.map +0 -1
- package/build/main/util/log.js.map +0 -1
- package/build/main/util/methodParameters.js.map +0 -1
- package/build/main/util/metric.js.map +0 -1
- package/build/main/util/mixedRouteFilterOutV4Pools.js.map +0 -1
- package/build/main/util/onchainQuoteProviderConfigs.js.map +0 -1
- package/build/main/util/pool.js.map +0 -1
- package/build/main/util/protocols.js.map +0 -1
- package/build/main/util/routes.js.map +0 -1
- package/build/main/util/serializeRouteIds.js.map +0 -1
- package/build/main/util/simple-perf-tracker.js.map +0 -1
- package/build/main/util/tenderlySimulationErrorBreakDown.js.map +0 -1
- package/build/main/util/unsupported-tokens.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/util/chains.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChainId,\n Currency,\n Ether,\n NativeCurrency,\n Token,\n} from '@fewprotocol/sdk-core';\n\n// WIP: Gnosis, Moonbeam\nexport const SUPPORTED_CHAINS: ChainId[] = [\n ChainId.MAINNET,\n ChainId.OPTIMISM,\n ChainId.OPTIMISM_GOERLI,\n ChainId.OPTIMISM_SEPOLIA,\n ChainId.ARBITRUM_ONE,\n ChainId.ARBITRUM_GOERLI,\n ChainId.ARBITRUM_SEPOLIA,\n ChainId.POLYGON,\n ChainId.POLYGON_MUMBAI,\n ChainId.SEPOLIA,\n ChainId.CELO_ALFAJORES,\n ChainId.CELO,\n ChainId.BNB,\n ChainId.AVALANCHE,\n ChainId.BASE,\n ChainId.BLAST,\n ChainId.ZORA,\n ChainId.ZKSYNC,\n ChainId.WORLDCHAIN,\n ChainId.UNICHAIN,\n ChainId.UNICHAIN_SEPOLIA,\n ChainId.MONAD_TESTNET,\n ChainId.BASE_SEPOLIA,\n ChainId.SONEIUM,\n ChainId.HYPER_MAINNET,\n // Gnosis and Moonbeam don't yet have contracts deployed yet\n];\n\nexport const V2_SUPPORTED = [\n ChainId.MAINNET,\n ChainId.SEPOLIA,\n ChainId.ARBITRUM_ONE,\n ChainId.OPTIMISM,\n ChainId.POLYGON,\n ChainId.BASE,\n ChainId.BNB,\n ChainId.AVALANCHE,\n ChainId.MONAD_TESTNET,\n ChainId.UNICHAIN_SEPOLIA,\n ChainId.UNICHAIN,\n ChainId.SONEIUM,\n];\n\nexport const RING_FEW_V2_SUPPORTED = [\n ChainId.MAINNET,\n ChainId.SEPOLIA,\n ChainId.ARBITRUM_ONE,\n ChainId.OPTIMISM,\n ChainId.POLYGON,\n ChainId.BASE,\n ChainId.BNB,\n ChainId.AVALANCHE,\n ChainId.MONAD_TESTNET,\n ChainId.UNICHAIN_SEPOLIA,\n ChainId.UNICHAIN,\n ChainId.SONEIUM,\n ChainId.BLAST,\n ChainId.HYPER_MAINNET,\n];\nexport const V4_SUPPORTED = [\n ChainId.MAINNET,\n ChainId.SEPOLIA,\n ChainId.ARBITRUM_ONE,\n ChainId.OPTIMISM,\n ChainId.POLYGON,\n ChainId.BASE,\n ChainId.BNB,\n ChainId.AVALANCHE,\n ChainId.MONAD_TESTNET,\n ChainId.UNICHAIN_SEPOLIA,\n ChainId.UNICHAIN,\n ChainId.SONEIUM,\n];\n\nexport const MIXED_SUPPORTED = [\n ChainId.MAINNET,\n ChainId.SEPOLIA,\n ChainId.GOERLI,\n ChainId.BASE,\n ChainId.UNICHAIN,\n ChainId.BASE,\n ChainId.ARBITRUM_ONE,\n ChainId.POLYGON,\n ChainId.OPTIMISM,\n ChainId.AVALANCHE,\n ChainId.BNB,\n ChainId.WORLDCHAIN,\n ChainId.ZORA,\n ChainId.SONEIUM,\n];\n\nexport const HAS_L1_FEE = [\n ChainId.OPTIMISM,\n ChainId.OPTIMISM_GOERLI,\n ChainId.OPTIMISM_SEPOLIA,\n ChainId.ARBITRUM_ONE,\n ChainId.ARBITRUM_GOERLI,\n ChainId.ARBITRUM_SEPOLIA,\n ChainId.BASE,\n ChainId.BASE_GOERLI,\n ChainId.BLAST,\n ChainId.ZORA,\n ChainId.WORLDCHAIN,\n ChainId.UNICHAIN_SEPOLIA,\n ChainId.MONAD_TESTNET,\n ChainId.UNICHAIN,\n ChainId.SONEIUM,\n ChainId.HYPER_MAINNET,\n];\n\nexport const NETWORKS_WITH_SAME_UNISWAP_ADDRESSES = [\n ChainId.MAINNET,\n ChainId.GOERLI,\n ChainId.OPTIMISM,\n ChainId.ARBITRUM_ONE,\n ChainId.POLYGON,\n ChainId.POLYGON_MUMBAI,\n];\n\nexport const ID_TO_CHAIN_ID = (id: number): ChainId => {\n switch (id) {\n case 1:\n return ChainId.MAINNET;\n case 5:\n return ChainId.GOERLI;\n case 11155111:\n return ChainId.SEPOLIA;\n case 56:\n return ChainId.BNB;\n case 10:\n return ChainId.OPTIMISM;\n case 420:\n return ChainId.OPTIMISM_GOERLI;\n case 999:\n return ChainId.HYPER_MAINNET;\n case 11155420:\n return ChainId.OPTIMISM_SEPOLIA;\n case 42161:\n return ChainId.ARBITRUM_ONE;\n case 421613:\n return ChainId.ARBITRUM_GOERLI;\n case 421614:\n return ChainId.ARBITRUM_SEPOLIA;\n case 137:\n return ChainId.POLYGON;\n case 80001:\n return ChainId.POLYGON_MUMBAI;\n case 42220:\n return ChainId.CELO;\n case 44787:\n return ChainId.CELO_ALFAJORES;\n case 100:\n return ChainId.GNOSIS;\n case 1284:\n return ChainId.MOONBEAM;\n case 43114:\n return ChainId.AVALANCHE;\n case 8453:\n return ChainId.BASE;\n case 84531:\n return ChainId.BASE_GOERLI;\n case 84532:\n return ChainId.BASE_SEPOLIA;\n case 81457:\n return ChainId.BLAST;\n case 7777777:\n return ChainId.ZORA;\n case 324:\n return ChainId.ZKSYNC;\n case 480:\n return ChainId.WORLDCHAIN;\n case 1301:\n return ChainId.UNICHAIN_SEPOLIA;\n case 10143:\n return ChainId.MONAD_TESTNET;\n case 130:\n return ChainId.UNICHAIN;\n case 1868:\n return ChainId.SONEIUM;\n default:\n throw new Error(`Unknown chain id: ${id}`);\n }\n};\n\nexport enum ChainName {\n MAINNET = 'mainnet',\n GOERLI = 'goerli',\n SEPOLIA = 'sepolia',\n OPTIMISM = 'optimism-mainnet',\n OPTIMISM_GOERLI = 'optimism-goerli',\n OPTIMISM_SEPOLIA = 'optimism-sepolia',\n ARBITRUM_ONE = 'arbitrum-mainnet',\n ARBITRUM_GOERLI = 'arbitrum-goerli',\n ARBITRUM_SEPOLIA = 'arbitrum-sepolia',\n POLYGON = 'polygon-mainnet',\n POLYGON_MUMBAI = 'polygon-mumbai',\n CELO = 'celo-mainnet',\n CELO_ALFAJORES = 'celo-alfajores',\n GNOSIS = 'gnosis-mainnet',\n MOONBEAM = 'moonbeam-mainnet',\n BNB = 'bnb-mainnet',\n AVALANCHE = 'avalanche-mainnet',\n BASE = 'base-mainnet',\n BASE_GOERLI = 'base-goerli',\n BASE_SEPOLIA = 'base-sepolia',\n BLAST = 'blast-mainnet',\n ZORA = 'zora-mainnet',\n ZKSYNC = 'zksync-mainnet',\n WORLDCHAIN = 'worldchain-mainnet',\n UNICHAIN_SEPOLIA = 'unichain-sepolia',\n UNICHAIN = 'unichain-mainnet',\n MONAD_TESTNET = 'monad-testnet',\n SONEIUM = 'soneium-mainnet',\n HYPER_MAINNET = 'hyper-mainnet',\n}\n\nexport enum NativeCurrencyName {\n // Strings match input for CLI\n ETHER = 'ETH',\n MATIC = 'MATIC',\n CELO = 'CELO',\n GNOSIS = 'XDAI',\n MOONBEAM = 'GLMR',\n BNB = 'BNB',\n AVALANCHE = 'AVAX',\n MONAD = 'MON',\n HYPER = 'HYPE',\n}\n\nexport const NATIVE_NAMES_BY_ID: { [chainId: number]: string[] } = {\n [ChainId.HYPER_MAINNET]: [\n 'HYPE',\n 'HYPE',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.MAINNET]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.GOERLI]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.SEPOLIA]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.OPTIMISM]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.OPTIMISM_GOERLI]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.OPTIMISM_SEPOLIA]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.ARBITRUM_ONE]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.ARBITRUM_GOERLI]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.ARBITRUM_SEPOLIA]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.POLYGON]: ['MATIC', '0x0000000000000000000000000000000000001010'],\n [ChainId.POLYGON_MUMBAI]: [\n 'MATIC',\n '0x0000000000000000000000000000000000001010',\n ],\n [ChainId.CELO]: ['CELO'],\n [ChainId.CELO_ALFAJORES]: ['CELO'],\n [ChainId.GNOSIS]: ['XDAI'],\n [ChainId.MOONBEAM]: ['GLMR'],\n [ChainId.BNB]: ['BNB', 'BNB', '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'],\n [ChainId.AVALANCHE]: [\n 'AVAX',\n 'AVALANCHE',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.BASE]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.BLAST]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.ZORA]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.ZKSYNC]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.WORLDCHAIN]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.UNICHAIN_SEPOLIA]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.MONAD_TESTNET]: [\n 'MON',\n 'MONAD',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.BASE_SEPOLIA]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.UNICHAIN]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n [ChainId.SONEIUM]: [\n 'ETH',\n 'ETHER',\n '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',\n ],\n};\n\nexport const NATIVE_CURRENCY: { [chainId: number]: NativeCurrencyName } = {\n [ChainId.MAINNET]: NativeCurrencyName.ETHER,\n [ChainId.GOERLI]: NativeCurrencyName.ETHER,\n [ChainId.SEPOLIA]: NativeCurrencyName.ETHER,\n [ChainId.OPTIMISM]: NativeCurrencyName.ETHER,\n [ChainId.OPTIMISM_GOERLI]: NativeCurrencyName.ETHER,\n [ChainId.OPTIMISM_SEPOLIA]: NativeCurrencyName.ETHER,\n [ChainId.ARBITRUM_ONE]: NativeCurrencyName.ETHER,\n [ChainId.ARBITRUM_GOERLI]: NativeCurrencyName.ETHER,\n [ChainId.ARBITRUM_SEPOLIA]: NativeCurrencyName.ETHER,\n [ChainId.POLYGON]: NativeCurrencyName.MATIC,\n [ChainId.POLYGON_MUMBAI]: NativeCurrencyName.MATIC,\n [ChainId.CELO]: NativeCurrencyName.CELO,\n [ChainId.CELO_ALFAJORES]: NativeCurrencyName.CELO,\n [ChainId.GNOSIS]: NativeCurrencyName.GNOSIS,\n [ChainId.MOONBEAM]: NativeCurrencyName.MOONBEAM,\n [ChainId.BNB]: NativeCurrencyName.BNB,\n [ChainId.AVALANCHE]: NativeCurrencyName.AVALANCHE,\n [ChainId.BASE]: NativeCurrencyName.ETHER,\n [ChainId.BLAST]: NativeCurrencyName.ETHER,\n [ChainId.ZORA]: NativeCurrencyName.ETHER,\n [ChainId.ZKSYNC]: NativeCurrencyName.ETHER,\n [ChainId.WORLDCHAIN]: NativeCurrencyName.ETHER,\n [ChainId.UNICHAIN_SEPOLIA]: NativeCurrencyName.ETHER,\n [ChainId.MONAD_TESTNET]: NativeCurrencyName.MONAD,\n [ChainId.BASE_SEPOLIA]: NativeCurrencyName.ETHER,\n [ChainId.UNICHAIN]: NativeCurrencyName.ETHER,\n [ChainId.SONEIUM]: NativeCurrencyName.ETHER,\n [ChainId.HYPER_MAINNET]: NativeCurrencyName.HYPER,\n};\n\nexport const ID_TO_NETWORK_NAME = (id: number): ChainName => {\n switch (id) {\n case 1:\n return ChainName.MAINNET;\n case 5:\n return ChainName.GOERLI;\n case 11155111:\n return ChainName.SEPOLIA;\n case 56:\n return ChainName.BNB;\n case 10:\n return ChainName.OPTIMISM;\n case 420:\n return ChainName.OPTIMISM_GOERLI;\n case 11155420:\n return ChainName.OPTIMISM_SEPOLIA;\n case 42161:\n return ChainName.ARBITRUM_ONE;\n case 421613:\n return ChainName.ARBITRUM_GOERLI;\n case 421614:\n return ChainName.ARBITRUM_SEPOLIA;\n case 137:\n return ChainName.POLYGON;\n case 80001:\n return ChainName.POLYGON_MUMBAI;\n case 42220:\n return ChainName.CELO;\n case 44787:\n return ChainName.CELO_ALFAJORES;\n case 100:\n return ChainName.GNOSIS;\n case 1284:\n return ChainName.MOONBEAM;\n case 43114:\n return ChainName.AVALANCHE;\n case 8453:\n return ChainName.BASE;\n case 84531:\n return ChainName.BASE_GOERLI;\n case 84532:\n return ChainName.BASE_SEPOLIA;\n case 81457:\n return ChainName.BLAST;\n case 7777777:\n return ChainName.ZORA;\n case 324:\n return ChainName.ZKSYNC;\n case 480:\n return ChainName.WORLDCHAIN;\n case 1301:\n return ChainName.UNICHAIN_SEPOLIA;\n case 130:\n return ChainName.UNICHAIN;\n case 10143:\n return ChainName.MONAD_TESTNET;\n case 1868:\n return ChainName.SONEIUM;\n case 999:\n return ChainName.HYPER_MAINNET;\n default:\n throw new Error(`Unknown chain id: ${id}`);\n }\n};\n\nexport const CHAIN_IDS_LIST = Object.values(ChainId).map((c) =>\n c.toString()\n) as string[];\n\nexport const ID_TO_PROVIDER = (id: ChainId): string => {\n switch (id) {\n case ChainId.MAINNET:\n return process.env.JSON_RPC_PROVIDER!;\n case ChainId.GOERLI:\n return process.env.JSON_RPC_PROVIDER_GORLI!;\n case ChainId.SEPOLIA:\n return process.env.JSON_RPC_PROVIDER_SEPOLIA!;\n case ChainId.OPTIMISM:\n return process.env.JSON_RPC_PROVIDER_OPTIMISM!;\n case ChainId.OPTIMISM_GOERLI:\n return process.env.JSON_RPC_PROVIDER_OPTIMISM_GOERLI!;\n case ChainId.OPTIMISM_SEPOLIA:\n return process.env.JSON_RPC_PROVIDER_OPTIMISM_SEPOLIA!;\n case ChainId.ARBITRUM_ONE:\n return process.env.JSON_RPC_PROVIDER_ARBITRUM_ONE!;\n case ChainId.ARBITRUM_GOERLI:\n return process.env.JSON_RPC_PROVIDER_ARBITRUM_GOERLI!;\n case ChainId.ARBITRUM_SEPOLIA:\n return process.env.JSON_RPC_PROVIDER_ARBITRUM_SEPOLIA!;\n case ChainId.POLYGON:\n return process.env.JSON_RPC_PROVIDER_POLYGON!;\n case ChainId.POLYGON_MUMBAI:\n return process.env.JSON_RPC_PROVIDER_POLYGON_MUMBAI!;\n case ChainId.CELO:\n return process.env.JSON_RPC_PROVIDER_CELO!;\n case ChainId.CELO_ALFAJORES:\n return process.env.JSON_RPC_PROVIDER_CELO_ALFAJORES!;\n case ChainId.BNB:\n return process.env.JSON_RPC_PROVIDER_BNB!;\n case ChainId.AVALANCHE:\n return process.env.JSON_RPC_PROVIDER_AVALANCHE!;\n case ChainId.BASE:\n return process.env.JSON_RPC_PROVIDER_BASE!;\n case ChainId.BLAST:\n return process.env.JSON_RPC_PROVIDER_BLAST!;\n case ChainId.ZORA:\n return process.env.JSON_RPC_PROVIDER_ZORA!;\n case ChainId.ZKSYNC:\n return process.env.JSON_RPC_PROVIDER_ZKSYNC!;\n case ChainId.WORLDCHAIN:\n return process.env.JSON_RPC_PROVIDER_WORLDCHAIN!;\n case ChainId.UNICHAIN_SEPOLIA:\n return process.env.JSON_RPC_PROVIDER_UNICHAIN_SEPOLIA!;\n case ChainId.MONAD_TESTNET:\n return process.env.JSON_RPC_PROVIDER_MONAD_TESTNET!;\n case ChainId.BASE_SEPOLIA:\n return process.env.JSON_RPC_PROVIDER_BASE_SEPOLIA!;\n case ChainId.UNICHAIN:\n return process.env.JSON_RPC_PROVIDER_UNICHAIN!;\n case ChainId.SONEIUM:\n return process.env.JSON_RPC_PROVIDER_SONEIUM!;\n case ChainId.HYPER_MAINNET:\n return process.env.JSON_RPC_PROVIDER_HYPER_MAINNET!;\n default:\n throw new Error(`Chain id: ${id} not supported`);\n }\n};\n\nexport const WRAPPED_NATIVE_CURRENCY: { [chainId in ChainId]: Token } = {\n [ChainId.HYPER_MAINNET]: new Token(\n ChainId.HYPER_MAINNET,\n '0x5555555555555555555555555555555555555555',\n 18,\n 'WHYPE',\n 'Wrapped Hyper'\n ),\n [ChainId.MAINNET]: new Token(\n 1,\n '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.GOERLI]: new Token(\n 5,\n '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.SEPOLIA]: new Token(\n 11155111,\n '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.BNB]: new Token(\n 56,\n '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',\n 18,\n 'WBNB',\n 'Wrapped BNB'\n ),\n [ChainId.OPTIMISM]: new Token(\n ChainId.OPTIMISM,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.OPTIMISM_GOERLI]: new Token(\n ChainId.OPTIMISM_GOERLI,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.OPTIMISM_SEPOLIA]: new Token(\n ChainId.OPTIMISM_SEPOLIA,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.ARBITRUM_ONE]: new Token(\n ChainId.ARBITRUM_ONE,\n '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.ARBITRUM_GOERLI]: new Token(\n ChainId.ARBITRUM_GOERLI,\n '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.ARBITRUM_SEPOLIA]: new Token(\n ChainId.ARBITRUM_SEPOLIA,\n '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.POLYGON]: new Token(\n ChainId.POLYGON,\n '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',\n 18,\n 'WMATIC',\n 'Wrapped MATIC'\n ),\n [ChainId.POLYGON_MUMBAI]: new Token(\n ChainId.POLYGON_MUMBAI,\n '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',\n 18,\n 'WMATIC',\n 'Wrapped MATIC'\n ),\n\n // The Celo native currency 'CELO' implements the erc-20 token standard\n [ChainId.CELO]: new Token(\n ChainId.CELO,\n '0x471EcE3750Da237f93B8E339c536989b8978a438',\n 18,\n 'CELO',\n 'Celo native asset'\n ),\n [ChainId.CELO_ALFAJORES]: new Token(\n ChainId.CELO_ALFAJORES,\n '0xF194afDf50B03e69Bd7D057c1Aa9e10c9954E4C9',\n 18,\n 'CELO',\n 'Celo native asset'\n ),\n [ChainId.GNOSIS]: new Token(\n ChainId.GNOSIS,\n '0xe91d153e0b41518a2ce8dd3d7944fa863463a97d',\n 18,\n 'WXDAI',\n 'Wrapped XDAI on Gnosis'\n ),\n [ChainId.MOONBEAM]: new Token(\n ChainId.MOONBEAM,\n '0xAcc15dC74880C9944775448304B263D191c6077F',\n 18,\n 'WGLMR',\n 'Wrapped GLMR'\n ),\n [ChainId.AVALANCHE]: new Token(\n ChainId.AVALANCHE,\n '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',\n 18,\n 'WAVAX',\n 'Wrapped AVAX'\n ),\n [ChainId.BASE]: new Token(\n ChainId.BASE,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.BASE_GOERLI]: new Token(\n ChainId.BASE_GOERLI,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.ROOTSTOCK]: new Token(\n ChainId.ROOTSTOCK,\n '0x542fDA317318eBF1d3DEAf76E0b632741A7e677d',\n 18,\n 'WRBTC',\n 'Wrapped BTC'\n ),\n [ChainId.ZORA]: new Token(\n ChainId.ZORA,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.ZORA_SEPOLIA]: new Token(\n ChainId.ZORA_SEPOLIA,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.BLAST]: new Token(\n ChainId.BLAST,\n '0x4300000000000000000000000000000000000004',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.ZKSYNC]: new Token(\n ChainId.ZKSYNC,\n '0x5aea5775959fbc2557cc8789bc1bf90a239d9a91',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.WORLDCHAIN]: new Token(\n ChainId.WORLDCHAIN,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.UNICHAIN_SEPOLIA]: new Token(\n ChainId.UNICHAIN_SEPOLIA,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.UNICHAIN]: new Token(\n ChainId.UNICHAIN,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.MONAD_TESTNET]: new Token(\n ChainId.MONAD_TESTNET,\n '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701',\n 18,\n 'WMON',\n 'Wrapped Monad'\n ),\n [ChainId.BASE_SEPOLIA]: new Token(\n ChainId.BASE_SEPOLIA,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.SONEIUM]: new Token(\n ChainId.SONEIUM,\n '0x4200000000000000000000000000000000000006',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n // networks exclusive to ring swap\n [ChainId.BLAST_SEPOLIA]: new Token(\n ChainId.BLAST_SEPOLIA,\n '0x4200000000000000000000000000000000000023',\n 18,\n 'WETH',\n 'Wrapped Ether'\n ),\n [ChainId.STORY_ODYSSEY]: new Token(\n ChainId.STORY_ODYSSEY,\n '0xe8CabF9d1FFB6CE23cF0a86641849543ec7BD7d5',\n 18,\n 'WIP',\n 'Wrapped IP'\n ),\n [ChainId.STORY_MAINNET]: new Token(\n ChainId.STORY_MAINNET,\n '0x1514000000000000000000000000000000000000',\n 18,\n 'WIP',\n 'Wrapped IP'\n ),\n};\n\nexport const FEW_WRAPPED_NATIVE_CURRENCY: { [chainId: number]: Token } = {\n [ChainId.HYPER_MAINNET]: new Token(\n 999,\n '0x9e1148bC3665a9f7C35F313d89c0432c34928AEf',\n 18,\n 'fwWHYPE',\n 'Few Wrapped Wrapped Hyper'\n ),\n [ChainId.MAINNET]: new Token(\n 1,\n '0xa250CC729Bb3323e7933022a67B52200fE354767',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.BASE]: new Token(\n 8453,\n '0xd38e4149df30AfFFEE13d771f3Ec9277c72333E4',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.ARBITRUM_ONE]: new Token(\n 42161,\n '0x76CDff74222533Efa4BAa713BC3d14df81A460F7',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.ARBITRUM_SEPOLIA]: new Token(\n 421614,\n '0x1fc632A9A9c99ae7C406f8565cd709b52BA0ed47',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.UNICHAIN]: new Token(\n 130,\n '0x05e6c1B4Da05c41c86c35Ce42a8a222C1a450167',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.UNICHAIN_SEPOLIA]: new Token(\n 1301,\n '0x1fc632A9A9c99ae7C406f8565cd709b52BA0ed47', //TODO: replace to mainnet\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.GOERLI]: new Token(\n 5,\n '0x6b7e07C37a157d01D71012c36644907Ab5a7694e',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.BLAST]: new Token(\n 81457,\n '0x66714DB8F3397c767d0A602458B5b4E3C0FE7dd1',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.SEPOLIA]: new Token(\n 11155111,\n '0x98b902eF4f9fEB2F6982ceEB4E98761294854D61',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n\n // networks exclusive to ring swap\n [ChainId.BLAST_SEPOLIA]: new Token(\n ChainId.BLAST_SEPOLIA,\n '0x798dE0520497E28E8eBfF0DF1d791c2E942eA881',\n 18,\n 'fwWETH',\n 'Few Wrapped Wrapped Ether'\n ),\n [ChainId.STORY_ODYSSEY]: new Token(\n ChainId.STORY_ODYSSEY,\n '0xA67013F71AF4f21563BAf8C1d156F1Dc7ab681C6',\n 18,\n 'fwWIP',\n 'Few Wrapped Wrapped IP'\n ),\n [ChainId.STORY_MAINNET]: new Token(\n ChainId.STORY_MAINNET,\n '0x088dE218b725975E6285995C25Ce3706BAe0f4Ec',\n 18,\n 'fwWIP',\n 'Few Wrapped Wrapped IP'\n ),\n [ChainId.BNB]: new Token(\n 56,\n '0x7f0172b75d3823D8aF04feE3A3f6a14aBD68EFE1',\n 18,\n 'fwWBNB',\n 'Few Wrapped Wrapped BNB'\n ),\n};\n\nfunction isMatic(\n chainId: number\n): chainId is ChainId.POLYGON | ChainId.POLYGON_MUMBAI {\n return chainId === ChainId.POLYGON_MUMBAI || chainId === ChainId.POLYGON;\n}\n\nclass MaticNativeCurrency extends NativeCurrency {\n equals(other: Currency): boolean {\n return other.isNative && other.chainId === this.chainId;\n }\n\n get wrapped(): Token {\n if (!isMatic(this.chainId)) throw new Error('Not matic');\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[this.chainId];\n if (nativeCurrency) {\n return nativeCurrency;\n }\n throw new Error(`Does not support this chain ${this.chainId}`);\n }\n\n public constructor(chainId: number) {\n if (!isMatic(chainId)) throw new Error('Not matic');\n super(chainId, 18, 'MATIC', 'Polygon Matic');\n }\n}\n\nfunction isCelo(\n chainId: number\n): chainId is ChainId.CELO | ChainId.CELO_ALFAJORES {\n return chainId === ChainId.CELO_ALFAJORES || chainId === ChainId.CELO;\n}\n\nclass CeloNativeCurrency extends NativeCurrency {\n equals(other: Currency): boolean {\n return other.isNative && other.chainId === this.chainId;\n }\n\n get wrapped(): Token {\n if (!isCelo(this.chainId)) throw new Error('Not celo');\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[this.chainId];\n if (nativeCurrency) {\n return nativeCurrency;\n }\n throw new Error(`Does not support this chain ${this.chainId}`);\n }\n\n public constructor(chainId: number) {\n if (!isCelo(chainId)) throw new Error('Not celo');\n super(chainId, 18, 'CELO', 'Celo');\n }\n}\n\nclass StoryNativeCurrency extends NativeCurrency {\n equals(other: Currency): boolean {\n return other.isNative && other.chainId === this.chainId;\n }\n\n get wrapped(): Token {\n if (!isStory(this.chainId)) throw new Error('Not story');\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[this.chainId];\n if (nativeCurrency) {\n return nativeCurrency;\n }\n throw new Error(`Does not support this chain ${this.chainId}`);\n }\n\n public constructor(chainId: number) {\n if (!isStory(chainId)) throw new Error('Not story');\n super(chainId, 18, 'WIP', 'Wrapped IP');\n }\n}\n\nfunction isGnosis(chainId: number): chainId is ChainId.GNOSIS {\n return chainId === ChainId.GNOSIS;\n}\n\nclass GnosisNativeCurrency extends NativeCurrency {\n equals(other: Currency): boolean {\n return other.isNative && other.chainId === this.chainId;\n }\n\n get wrapped(): Token {\n if (!isGnosis(this.chainId)) throw new Error('Not gnosis');\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[this.chainId];\n if (nativeCurrency) {\n return nativeCurrency;\n }\n throw new Error(`Does not support this chain ${this.chainId}`);\n }\n\n public constructor(chainId: number) {\n if (!isGnosis(chainId)) throw new Error('Not gnosis');\n super(chainId, 18, 'XDAI', 'xDai');\n }\n}\n\nfunction isBnb(chainId: number): chainId is ChainId.BNB {\n return chainId === ChainId.BNB;\n}\n\nclass BnbNativeCurrency extends NativeCurrency {\n equals(other: Currency): boolean {\n return other.isNative && other.chainId === this.chainId;\n }\n\n get wrapped(): Token {\n if (!isBnb(this.chainId)) throw new Error('Not bnb');\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[this.chainId];\n if (nativeCurrency) {\n return nativeCurrency;\n }\n throw new Error(`Does not support this chain ${this.chainId}`);\n }\n\n public constructor(chainId: number) {\n if (!isBnb(chainId)) throw new Error('Not bnb');\n super(chainId, 18, 'BNB', 'BNB');\n }\n}\n\nfunction isMoonbeam(chainId: number): chainId is ChainId.MOONBEAM {\n return chainId === ChainId.MOONBEAM;\n}\n\nclass MoonbeamNativeCurrency extends NativeCurrency {\n equals(other: Currency): boolean {\n return other.isNative && other.chainId === this.chainId;\n }\n\n get wrapped(): Token {\n if (!isMoonbeam(this.chainId)) throw new Error('Not moonbeam');\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[this.chainId];\n if (nativeCurrency) {\n return nativeCurrency;\n }\n throw new Error(`Does not support this chain ${this.chainId}`);\n }\n\n public constructor(chainId: number) {\n if (!isMoonbeam(chainId)) throw new Error('Not moonbeam');\n super(chainId, 18, 'GLMR', 'Glimmer');\n }\n}\n\nfunction isAvax(chainId: number): chainId is ChainId.AVALANCHE {\n return chainId === ChainId.AVALANCHE;\n}\n\nfunction isStory(\n chainId: number\n): chainId is ChainId.STORY_ODYSSEY | ChainId.STORY_MAINNET {\n return chainId === ChainId.STORY_ODYSSEY || chainId === ChainId.STORY_MAINNET;\n}\n\nclass AvalancheNativeCurrency extends NativeCurrency {\n equals(other: Currency): boolean {\n return other.isNative && other.chainId === this.chainId;\n }\n\n get wrapped(): Token {\n if (!isAvax(this.chainId)) throw new Error('Not avalanche');\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[this.chainId];\n if (nativeCurrency) {\n return nativeCurrency;\n }\n throw new Error(`Does not support this chain ${this.chainId}`);\n }\n\n public constructor(chainId: number) {\n if (!isAvax(chainId)) throw new Error('Not avalanche');\n super(chainId, 18, 'AVAX', 'Avalanche');\n }\n}\n\nexport class ExtendedEther extends Ether {\n public get wrapped(): Token {\n if (this.chainId in WRAPPED_NATIVE_CURRENCY) {\n return WRAPPED_NATIVE_CURRENCY[this.chainId as ChainId];\n }\n throw new Error('Unsupported chain ID');\n }\n\n private static _cachedExtendedEther: { [chainId: number]: NativeCurrency } =\n {};\n\n public static onChain(chainId: number): ExtendedEther {\n return (\n this._cachedExtendedEther[chainId] ??\n (this._cachedExtendedEther[chainId] = new ExtendedEther(chainId))\n );\n }\n}\n\nconst cachedNativeCurrency: { [chainId: number]: NativeCurrency } = {};\n\nexport function nativeOnChain(chainId: number): NativeCurrency {\n if (cachedNativeCurrency[chainId] != undefined) {\n return cachedNativeCurrency[chainId]!;\n }\n if (isMatic(chainId)) {\n cachedNativeCurrency[chainId] = new MaticNativeCurrency(chainId);\n } else if (isCelo(chainId)) {\n cachedNativeCurrency[chainId] = new CeloNativeCurrency(chainId);\n } else if (isGnosis(chainId)) {\n cachedNativeCurrency[chainId] = new GnosisNativeCurrency(chainId);\n } else if (isMoonbeam(chainId)) {\n cachedNativeCurrency[chainId] = new MoonbeamNativeCurrency(chainId);\n } else if (isBnb(chainId)) {\n cachedNativeCurrency[chainId] = new BnbNativeCurrency(chainId);\n } else if (isAvax(chainId)) {\n cachedNativeCurrency[chainId] = new AvalancheNativeCurrency(chainId);\n } else if (isStory(chainId)) {\n cachedNativeCurrency[chainId] = new StoryNativeCurrency(chainId);\n } else {\n cachedNativeCurrency[chainId] = ExtendedEther.onChain(chainId);\n }\n\n return cachedNativeCurrency[chainId]!;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultBlocksToLive.js","sourceRoot":"","sources":["../../../src/util/defaultBlocksToLive.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEnC,QAAA,sBAAsB,GAAmC;IACpE,mCAAmC;IACnC,CAAC,kBAAO,CAAC,OAAO,CAAC,EAAE,GAAG;IACtB,CAAC,kBAAO,CAAC,MAAM,CAAC,EAAE,GAAG;IACrB,CAAC,kBAAO,CAAC,OAAO,CAAC,EAAE,GAAG;IACtB,oCAAoC;IACpC,CAAC,kBAAO,CAAC,QAAQ,CAAC,EAAE,IAAI;IACxB,CAAC,kBAAO,CAAC,eAAe,CAAC,EAAE,IAAI;IAC/B,CAAC,kBAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAChC,CAAC,kBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;IACpB,CAAC,kBAAO,CAAC,IAAI,CAAC,EAAE,IAAI;IACpB,CAAC,kBAAO,CAAC,WAAW,CAAC,EAAE,IAAI;IAC3B,CAAC,kBAAO,CAAC,YAAY,CAAC,EAAE,IAAI;IAC5B,CAAC,kBAAO,CAAC,YAAY,CAAC,EAAE,IAAI;IAC5B,CAAC,kBAAO,CAAC,KAAK,CAAC,EAAE,IAAI;IACrB,CAAC,kBAAO,CAAC,aAAa,CAAC,EAAE,IAAI;IAC7B,CAAC,kBAAO,CAAC,aAAa,CAAC,EAAE,IAAI;IAC7B,CAAC,kBAAO,CAAC,aAAa,CAAC,EAAE,IAAI;IAC7B,mCAAmC;IACnC,mCAAmC;IACnC,CAAC,kBAAO,CAAC,UAAU,CAAC,EAAE,KAAK;IAC3B,oCAAoC;IACpC,CAAC,kBAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAChC,CAAC,kBAAO,CAAC,QAAQ,CAAC,EAAE,IAAI;IACxB,CAAC,kBAAO,CAAC,aAAa,CAAC,EAAE,IAAI;IAC7B,4CAA4C;IAC5C,CAAC,kBAAO,CAAC,YAAY,CAAC,EAAE,KAAK;IAC7B,CAAC,kBAAO,CAAC,eAAe,CAAC,EAAE,KAAK;IAChC,CAAC,kBAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK;IACjC,oCAAoC;IACpC,CAAC,kBAAO,CAAC,OAAO,CAAC,EAAE,IAAI;IACvB,CAAC,kBAAO,CAAC,cAAc,CAAC,EAAE,IAAI;IAC9B,mCAAmC;IACnC,CAAC,kBAAO,CAAC,IAAI,CAAC,EAAE,GAAG;IACnB,CAAC,kBAAO,CAAC,cAAc,CAAC,EAAE,GAAG;IAC7B,mCAAmC;IACnC,CAAC,kBAAO,CAAC,MAAM,CAAC,EAAE,GAAG;IACrB,mCAAmC;IACnC,CAAC,kBAAO,CAAC,QAAQ,CAAC,EAAE,GAAG;IACvB,oCAAoC;IACpC,CAAC,kBAAO,CAAC,GAAG,CAAC,EAAE,IAAI;IACnB,oCAAoC;IACpC,CAAC,kBAAO,CAAC,aAAa,CAAC,EAAE,IAAI;IAC7B,CAAC,kBAAO,CAAC,SAAS,CAAC,EAAE,IAAI;IACzB,oCAAoC;IACpC,CAAC,kBAAO,CAAC,SAAS,CAAC,EAAE,GAAG;IACxB,oCAAoC;IACpC,CAAC,kBAAO,CAAC,MAAM,CAAC,EAAE,IAAI;IACtB,oCAAoC;IACpC,CAAC,kBAAO,CAAC,OAAO,CAAC,EAAE,IAAI;CACxB,CAAC","sourcesContent":["import { ChainId } from '@fewprotocol/sdk-core';\n\nexport const DEFAULT_BLOCKS_TO_LIVE: { [chain in ChainId]: number } = {\n // (60 minutes) / (12 seconds)= 300\n [ChainId.MAINNET]: 300,\n [ChainId.GOERLI]: 300,\n [ChainId.SEPOLIA]: 300,\n // (60 minutes) / (2 seconds) = 1800\n [ChainId.OPTIMISM]: 1800,\n [ChainId.OPTIMISM_GOERLI]: 1800,\n [ChainId.OPTIMISM_SEPOLIA]: 1800,\n [ChainId.BASE]: 1800,\n [ChainId.ZORA]: 1800,\n [ChainId.BASE_GOERLI]: 1800,\n [ChainId.BASE_SEPOLIA]: 1800,\n [ChainId.ZORA_SEPOLIA]: 1800,\n [ChainId.BLAST]: 1800,\n [ChainId.BLAST_SEPOLIA]: 1800,\n [ChainId.STORY_ODYSSEY]: 1800,\n [ChainId.STORY_MAINNET]: 1800,\n // Note: Experiment with longer TTL\n // (12 hours) / (2 seconds) = 21600\n [ChainId.WORLDCHAIN]: 21600,\n // (60 minutes) / (1 seconds) = 3600\n [ChainId.UNICHAIN_SEPOLIA]: 3600,\n [ChainId.UNICHAIN]: 3600,\n [ChainId.MONAD_TESTNET]: 3600,\n // (60 minutes) / (250 milliseconds) = 14400\n [ChainId.ARBITRUM_ONE]: 14400,\n [ChainId.ARBITRUM_GOERLI]: 14400,\n [ChainId.ARBITRUM_SEPOLIA]: 14400,\n // (60 minutes) / (2 seconds) = 1800\n [ChainId.POLYGON]: 1800,\n [ChainId.POLYGON_MUMBAI]: 1800,\n // (60 minutes) / (5 seconds) = 720\n [ChainId.CELO]: 720,\n [ChainId.CELO_ALFAJORES]: 720,\n // (60 minutes) / (5 seconds) = 720\n [ChainId.GNOSIS]: 720,\n // (60 minutes) / (6 seconds) = 600\n [ChainId.MOONBEAM]: 600,\n // (60 minutes) / (3 seconds) = 1200\n [ChainId.BNB]: 1200,\n // (60 minutes) / (3 seconds) = 1200\n [ChainId.HYPER_MAINNET]: 1200,\n [ChainId.AVALANCHE]: 1200,\n // (60 minutes) / (33 seconds) = 148\n [ChainId.ROOTSTOCK]: 148,\n // (60 minutes) / (1 seconds) = 3600\n [ChainId.ZKSYNC]: 3600,\n // (60 minutes) / (1 seconds) = 3600\n [ChainId.SONEIUM]: 3600,\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fewAddress.js","sourceRoot":"","sources":["../../../src/util/fewAddress.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChainId, SupportedChainsType, Token } from \"@fewprotocol/sdk-core\"\n\ntype AddressMap = { [chainId: number]: string }\n\ntype ChainAddresses = {\n v3CoreFactoryAddress: string\n multicallAddress: string\n quoterAddress: string\n v3MigratorAddress?: string\n nonfungiblePositionManagerAddress?: string\n tickLensAddress?: string\n swapRouter02Address?: string\n mixedRouteQuoterV1Address?: string\n mixedRouteQuoterV2Address?: string\n\n // v4\n v4PoolManagerAddress?: string\n v4PositionManagerAddress?: string\n v4StateView?: string\n v4QuoterAddress?: string\n}\n\nconst DEFAULT_NETWORKS = [\n ChainId.MAINNET,\n ChainId.SEPOLIA,\n ChainId.BLAST,\n ChainId.UNICHAIN_SEPOLIA,\n ChainId.UNICHAIN,\n ChainId.ARBITRUM_SEPOLIA,\n ChainId.BASE,\n]\n\nfunction constructSameAddressMap(address: string, additionalNetworks: ChainId[] = []): AddressMap {\n return DEFAULT_NETWORKS.concat(additionalNetworks).reduce<AddressMap>((memo, chainId) => {\n memo[chainId] = address\n return memo\n }, {})\n}\n\nexport const UNI_ADDRESSES: AddressMap = constructSameAddressMap('0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', [\n ChainId.OPTIMISM,\n ChainId.ARBITRUM_ONE,\n ChainId.POLYGON,\n ChainId.POLYGON_MUMBAI,\n ChainId.SEPOLIA\n])\n\nexport const UNISWAP_NFT_AIRDROP_CLAIM_ADDRESS = '0x8B799381ac40b838BBA4131ffB26197C432AFe78'\n\nexport const SEPOLIA_V2_FACTORY_ADDRESS = '0x509166db8Fb9571F8C34EfcD7347809B34dE4e04'\nexport const BLAST_V2_FACTORY_ADDRESS = '0xe4aa82591AD0E8AbFD15ca2A2ff74439c6052Fbf'\nexport const BLAST_MAINNET_V2_FACTORY_ADDRESS = '0x24F5Ac9A706De0cF795A8193F6AB3966B14ECfE6'\nexport const ETH_MAINNET_V2_FACTORY_ADDRESS = '0xeb2A625B704d73e82946D8d026E1F588Eed06416'\nexport const UNICHAIN_SEPOLIA_V2_FACTORY_ADDRESS = '0xd7413358bFE4Aa5D707CcF8Ae7B4FF58E79e149A'\nexport const UNICHAIN_V2_FACTORY_ADDRESS = '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD'\nexport const ARBITRUM_SEPOLIA_V2_FACTORY_ADDRESS = '0x13429d9780662560F526Ba0DA751C191DFdF1849'\nexport const BASE_V2_FACTORY_ADDRESS = '0x9BfFC3B30D6659e3D84754cc38865B3D60B4980E'\nexport const STORY_ODYSSEY_V2_FACTORY_ADDRESS = '0x13429d9780662560F526Ba0DA751C191DFdF1849'\nexport const BNB_V2_FACTORY_ADDRESS = '0x4De602A30Ad7fEf8223dcf67A9fB704324C4dd9B'\nexport const STORY_MAINNET_V2_FACTORY_ADDRESS = '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD'\n\nexport const V2_FACTORY_ADDRESSES: AddressMap = {\n 11155111: '0x509166db8Fb9571F8C34EfcD7347809B34dE4e04',\n 168587773: '0xe4aa82591AD0E8AbFD15ca2A2ff74439c6052Fbf',\n 81457: '0x24F5Ac9A706De0cF795A8193F6AB3966B14ECfE6',\n 1: '0xeb2A625B704d73e82946D8d026E1F588Eed06416',\n 1301: '0xd7413358bFE4Aa5D707CcF8Ae7B4FF58E79e149A',\n 130: '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD',\n 421614: '0x13429d9780662560F526Ba0DA751C191DFdF1849',\n 8453: '0x9BfFC3B30D6659e3D84754cc38865B3D60B4980E',\n 1516: '0x13429d9780662560F526Ba0DA751C191DFdF1849',\n 1514: '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD',\n 56: '0x4De602A30Ad7fEf8223dcf67A9fB704324C4dd9B'\n}\nexport const SEPOLIA_V2_ROUTER_ADDRESS = '0x1F802559f8b5495bD4fE6c23BC79345804DBA12A'\nexport const BLAST_V2_ROUTER_ADDRESS = '0x02F1e7A518e3E286C8E305E39cA7D4f25e0a44Aa'\nexport const BLAST_MAINNET_V2_ROUTER_ADDRESS = '0x7001F706ACB6440d17cBFaD63Fa50a22D51696fF'\nexport const ETH_MAINNET_V2_ROUTER_ADDRESS = '0x39d1d8fcC5E6EEAf567Bce4e29B94fec956D3519'\nexport const UNICHAIN_SEPOLIA_V2_ROUTER_ADDRESS = '0x32BC26BeA846951226d2c49f0B7D1adD8727D8e6'\nexport const UNICHAIN_V2_ROUTER_ADDRESS = '0xf9d7ff2f6A0c3631A807199276a493Af8097916F'\nexport const ARBITRUM_SEPOLIA_V2_ROUTER_ADDRESS = '0xCe8eA134624D439489f8a781e7750db533C0920'\nexport const BASE_V2_ROUTER_ADDRESS = '0x224749CDd5791480ECEBE452e5FFAEfEf94Cd254'\nexport const STORY_ODYSSEY_V2_ROUTER_ADDRESS = '0x8cf5249b81C0dF0F2Ce7Ca75677581D82018E503'\nexport const BNB_V2_ROUTER_ADDRESS = '0x20504f37A95eF80e3FC7476c4801fb39AaE6bAd0'\nexport const STORY_MAINNET_V2_ROUTER_ADDRESS = '0xf9d7ff2f6A0c3631A807199276a493Af8097916F'\n\nexport const V2_ROUTER_ADDRESSES: AddressMap = {\n 11155111: '0x1F802559f8b5495bD4fE6c23BC79345804DBA12A',\n 168587773: '0x02F1e7A518e3E286C8E305E39cA7D4f25e0a44Aa',\n 81457: '0x7001F706ACB6440d17cBFaD63Fa50a22D51696fF',\n 1: '0x39d1d8fcC5E6EEAf567Bce4e29B94fec956D3519',\n 1301: '0x32BC26BeA846951226d2c49f0B7D1adD8727D8e6',\n 130: '0xf9d7ff2f6A0c3631A807199276a493Af8097916F',\n 421614: '0xCe8eA134624D439489f8a781e7750db533C0920',\n 8453: '0x224749CDd5791480ECEBE452e5FFAEfEf94Cd254',\n 1516: '0x8cf5249b81C0dF0F2Ce7Ca75677581D82018E503',\n 1514: '0xf9d7ff2f6A0c3631A807199276a493Af8097916F',\n 56: '0x20504f37A95eF80e3FC7476c4801fb39AaE6bAd0'\n}\n\n// Networks that share most of the same addresses i.e. Mainnet, Goerli, Optimism, Arbitrum, Polygon\nconst DEFAULT_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',\n multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',\n quoterAddress: '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6',\n v3MigratorAddress: '0xA5644E29708357803b5A882D272c41cC0dF92B34',\n nonfungiblePositionManagerAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88'\n}\n// const MAINNET_ADDRESSES: ChainAddresses = {\n// ...DEFAULT_ADDRESSES,\n// mixedRouteQuoterV1Address: '0x84E44095eeBfEC7793Cd7d5b57B7e401D7f1cA2E'\n// }\nconst GOERLI_ADDRESSES: ChainAddresses = {\n ...DEFAULT_ADDRESSES,\n mixedRouteQuoterV1Address: '0xBa60b6e6fF25488308789E6e0A65D838be34194e'\n}\n\n// const BLAST_SEPOLIA_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n// multicallAddress: '0x54c55551fEe014ec7C63F47Cd69f20e47ae178EB',\n// quoterAddress: '0x0000000000000000000000000000000000000000',\n// v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n// nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n// tickLensAddress: '0x0000000000000000000000000000000000000000',\n// mixedRouteQuoterV1Address: '0x2947892b6bFcd719868f2d7Fe4A3F9A49B0894B9'\n// }\n\nconst BLAST_MAINNET_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0x8B34f931069645043b24Efc20aebc5E3E00cf256',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n mixedRouteQuoterV1Address: '0x39d1d8fcC5E6EEAf567Bce4e29B94fec956D3519'\n}\n\nconst BLAST_SEPOLIA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0x54c55551fEe014ec7C63F47Cd69f20e47ae178EB',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n\n mixedRouteQuoterV1Address: '0x2947892b6bFcd719868f2d7Fe4A3F9A49B0894B9'\n}\n\nconst STORY_ODYSSEY_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0xb3Ad7754f363af676dC1C5be40423FE538a47920',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n\n mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'\n}\n\nconst STORY_MAINNET_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0xb981b930c6b78C4DfDe258eD2a9119ED69fB2faf',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n\n mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'\n}\n\nconst ETH_MAINNET_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n mixedRouteQuoterV1Address: '0xf09F1899074B5659148C615dd30C29060f264894'\n}\n\nconst UNICHAIN_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0x8721eaBF3F37B74C2ac8Abc3ceCD672aB2e15ABA',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'\n}\n\nconst UNICHAIN_SEPOLIA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n mixedRouteQuoterV1Address: '0xf09F1899074B5659148C615dd30C29060f264894'\n}\n\nconst ARBITRUM_SEPOLIA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0xeF0A2a9CdbDf2F6b5b3508dE2bb9399502bc4598',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n mixedRouteQuoterV1Address: '0xcd58C52236c4A77BD0322857a662B09eAd5b0387'\n}\n\n// const STORY_ODYSSEY_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n// multicallAddress: '0xb3Ad7754f363af676dC1C5be40423FE538a47920',\n// quoterAddress: '0x0000000000000000000000000000000000000000',\n// v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n// nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n// tickLensAddress: '0x0000000000000000000000000000000000000000',\n// mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'\n// }\n\n// const STORY_MAINNET_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n// multicallAddress: '0xb981b930c6b78C4DfDe258eD2a9119ED69fB2faf',\n// quoterAddress: '0x0000000000000000000000000000000000000000',\n// v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n// nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n// tickLensAddress: '0x0000000000000000000000000000000000000000',\n// mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'\n// }\n\nconst OPTIMISM_ADDRESSES: ChainAddresses = DEFAULT_ADDRESSES\nconst ARBITRUM_ONE_ADDRESSES: ChainAddresses = {\n ...DEFAULT_ADDRESSES,\n multicallAddress: '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB',\n tickLensAddress: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573'\n}\nconst POLYGON_ADDRESSES: ChainAddresses = DEFAULT_ADDRESSES\n\n// celo v3 addresses\nconst CELO_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0xAfE208a311B21f13EF87E33A90049fC17A7acDEc',\n multicallAddress: '0x633987602DE5C4F337e3DbF265303A1080324204',\n quoterAddress: '0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8',\n v3MigratorAddress: '0x3cFd4d48EDfDCC53D3f173F596f621064614C582',\n nonfungiblePositionManagerAddress: '0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A',\n tickLensAddress: '0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D'\n}\n\n// hyper mainnet v3 addresses\nconst HYPER_MAINNET_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0x793b1b0111Ba64673f983Ea7d7C0aF15a1161bED',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n}\n\n// BNB v3 addresses\nconst BNB_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7',\n multicallAddress: '0x963Df249eD09c358A4819E39d9Cd5736c3087184',\n quoterAddress: '0x78D78E420Da98ad378D7799bE8f4AF69033EB077',\n v3MigratorAddress: '0x32681814957e0C13117ddc0c2aba232b5c9e760f',\n nonfungiblePositionManagerAddress: '0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613',\n tickLensAddress: '0xD9270014D396281579760619CCf4c3af0501A47C',\n swapRouter02Address: '0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2'\n}\n\n// optimism goerli addresses\nconst OPTIMISM_GOERLI_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0xB656dA17129e7EB733A557f4EBc57B76CFbB5d10',\n multicallAddress: '0x07F2D8a2a02251B62af965f22fC4744A5f96BCCd',\n quoterAddress: '0x9569CbA925c8ca2248772A9A4976A516743A246F',\n v3MigratorAddress: '0xf6c55fBe84B1C8c3283533c53F51bC32F5C7Aba8',\n nonfungiblePositionManagerAddress: '0x39Ca85Af2F383190cBf7d7c41ED9202D27426EF6',\n tickLensAddress: '0xe6140Bd164b63E8BfCfc40D5dF952f83e171758e'\n}\n\n// arbitrum goerli v3 addresses\nconst ARBITRUM_GOERLI_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x4893376342d5D7b3e31d4184c08b265e5aB2A3f6',\n multicallAddress: '0x8260CB40247290317a4c062F3542622367F206Ee',\n quoterAddress: '0x1dd92b83591781D0C6d98d07391eea4b9a6008FA',\n v3MigratorAddress: '0xA815919D2584Ac3F76ea9CB62E6Fd40a43BCe0C3',\n nonfungiblePositionManagerAddress: '0x622e4726a167799826d1E1D150b076A7725f5D81',\n tickLensAddress: '0xb52429333da969a0C79a60930a4Bf0020E5D1DE8'\n}\n\n// sepolia v3 addresses\nconst SEPOLIA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',\n multicallAddress: '0x23B0338e947A1f2B551e34969285C83e6eD5e5c8',\n quoterAddress: '0x0000000000000000000000000000000000000000',\n v3MigratorAddress: '0x0000000000000000000000000000000000000000',\n nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',\n tickLensAddress: '0x0000000000000000000000000000000000000000',\n mixedRouteQuoterV1Address: '0x7B77A426044f952540890148b65282CB7374e9e9'\n}\n\n// Avalanche v3 addresses\nconst AVALANCHE_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD',\n multicallAddress: '0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2',\n quoterAddress: '0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F',\n v3MigratorAddress: '0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97',\n nonfungiblePositionManagerAddress: '0x655C406EBFa14EE2006250925e54ec43AD184f8B',\n tickLensAddress: '0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950',\n swapRouter02Address: '0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE'\n}\n\nconst BASE_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',\n multicallAddress: '0x091e99cb1C49331a94dD62755D168E941AbD0693',\n quoterAddress: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',\n v3MigratorAddress: '0x23cF10b1ee3AdfCA73B0eF17C07F7577e7ACd2d7',\n nonfungiblePositionManagerAddress: '0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1',\n tickLensAddress: '0x0CdeE061c75D43c82520eD998C23ac2991c9ac6d',\n swapRouter02Address: '0x2626664c2603336E57B271c5C0b26F421741e481'\n}\n\n// Base Goerli v3 addresses\nconst BASE_GOERLI_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x9323c1d6D800ed51Bd7C6B216cfBec678B7d0BC2',\n multicallAddress: '0xB206027a9E0E13F05eBEFa5D2402Bab3eA716439',\n quoterAddress: '0xedf539058e28E5937dAef3f69cEd0b25fbE66Ae9',\n v3MigratorAddress: '0x3efe5d02a04b7351D671Db7008ec6eBA9AD9e3aE',\n nonfungiblePositionManagerAddress: '0x3c61369ef0D1D2AFa70d8feC2F31C5D6Ce134F30',\n tickLensAddress: '0x1acB873Ee909D0c98adB18e4474943249F931b92',\n swapRouter02Address: '0x8357227D4eDc78991Db6FDB9bD6ADE250536dE1d'\n}\n\n\n\n\n\n//////\n// Networks that share most of the same addresses i.e. Mainnet, Goerli, Optimism, Arbitrum, Polygon\n// const DEFAULT_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',\n// multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',\n// quoterAddress: '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6',\n// v3MigratorAddress: '0xA5644E29708357803b5A882D272c41cC0dF92B34',\n// nonfungiblePositionManagerAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',\n// }\n// const MAINNET_ADDRESSES: ChainAddresses = {\n// ...DEFAULT_ADDRESSES,\n// mixedRouteQuoterV1Address: '0x84E44095eeBfEC7793Cd7d5b57B7e401D7f1cA2E',\n\n// v4PoolManagerAddress: '0x000000000004444c5dc75cB358380D2e3dE08A90',\n// v4PositionManagerAddress: '0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e',\n// v4StateView: '0x7ffe42c4a5deea5b0fec41c94c136cf115597227',\n// v4QuoterAddress: '0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203',\n// }\n// const GOERLI_ADDRESSES: ChainAddresses = {\n// ...DEFAULT_ADDRESSES,\n// mixedRouteQuoterV1Address: '0xBa60b6e6fF25488308789E6e0A65D838be34194e',\n// }\n\n// const OPTIMISM_ADDRESSES: ChainAddresses = {\n// ...DEFAULT_ADDRESSES,\n\n// v4PoolManagerAddress: '0x9a13f98cb987694c9f086b1f5eb990eea8264ec3',\n// v4PositionManagerAddress: '0x3c3ea4b57a46241e54610e5f022e5c45859a1017',\n// v4StateView: '0xc18a3169788f4f75a170290584eca6395c75ecdb',\n// v4QuoterAddress: '0x1f3131a13296fb91c90870043742c3cdbff1a8d7',\n// }\n\n// const ARBITRUM_ONE_ADDRESSES: ChainAddresses = {\n// ...DEFAULT_ADDRESSES,\n// multicallAddress: '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB',\n// tickLensAddress: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573',\n\n// v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32',\n// v4PositionManagerAddress: '0xd88f38f930b7952f2db2432cb002e7abbf3dd869',\n// v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990',\n// v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5',\n// }\n// const POLYGON_ADDRESSES: ChainAddresses = {\n// ...DEFAULT_ADDRESSES,\n\n// v4PoolManagerAddress: '0x67366782805870060151383f4bbff9dab53e5cd6',\n// v4PositionManagerAddress: '0x1ec2ebf4f37e7363fdfe3551602425af0b3ceef9',\n// v4StateView: '0x5ea1bd7974c8a611cbab0bdcafcb1d9cc9b3ba5a',\n// v4QuoterAddress: '0xb3d5c3dfc3a7aebff71895a7191796bffc2c81b9',\n// }\n\n// // celo v3 addresses\n// const CELO_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0xAfE208a311B21f13EF87E33A90049fC17A7acDEc',\n// multicallAddress: '0x633987602DE5C4F337e3DbF265303A1080324204',\n// quoterAddress: '0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8',\n// v3MigratorAddress: '0x3cFd4d48EDfDCC53D3f173F596f621064614C582',\n// nonfungiblePositionManagerAddress: '0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A',\n// tickLensAddress: '0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D',\n// }\n\n// // BNB v3 addresses\n// const BNB_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7',\n// multicallAddress: '0x963Df249eD09c358A4819E39d9Cd5736c3087184',\n// quoterAddress: '0x78D78E420Da98ad378D7799bE8f4AF69033EB077',\n// v3MigratorAddress: '0x32681814957e0C13117ddc0c2aba232b5c9e760f',\n// nonfungiblePositionManagerAddress: '0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613',\n// tickLensAddress: '0xD9270014D396281579760619CCf4c3af0501A47C',\n// swapRouter02Address: '0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2',\n\n// v4PoolManagerAddress: '0x28e2ea090877bf75740558f6bfb36a5ffee9e9df',\n// v4PositionManagerAddress: '0x7a4a5c919ae2541aed11041a1aeee68f1287f95b',\n// v4StateView: '0xd13dd3d6e93f276fafc9db9e6bb47c1180aee0c4',\n// v4QuoterAddress: '0x9f75dd27d6664c475b90e105573e550ff69437b0',\n// }\n\n// // optimism goerli addresses\n// const OPTIMISM_GOERLI_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0xB656dA17129e7EB733A557f4EBc57B76CFbB5d10',\n// multicallAddress: '0x07F2D8a2a02251B62af965f22fC4744A5f96BCCd',\n// quoterAddress: '0x9569CbA925c8ca2248772A9A4976A516743A246F',\n// v3MigratorAddress: '0xf6c55fBe84B1C8c3283533c53F51bC32F5C7Aba8',\n// nonfungiblePositionManagerAddress: '0x39Ca85Af2F383190cBf7d7c41ED9202D27426EF6',\n// tickLensAddress: '0xe6140Bd164b63E8BfCfc40D5dF952f83e171758e',\n// }\n\n// optimism sepolia addresses\nconst OPTIMISM_SEPOLIA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x8CE191193D15ea94e11d327b4c7ad8bbE520f6aF',\n multicallAddress: '0x80e4e06841bb76AA9735E0448cB8d003C0EF009a',\n quoterAddress: '0x0FBEa6cf957d95ee9313490050F6A0DA68039404',\n v3MigratorAddress: '0xE7EcbAAaA54D007A00dbb6c1d2f150066D69dA07',\n nonfungiblePositionManagerAddress: '0xdA75cEf1C93078e8b736FCA5D5a30adb97C8957d',\n tickLensAddress: '0xCb7f54747F58F8944973cea5b8f4ac2209BadDC5',\n swapRouter02Address: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4',\n}\n\n// // arbitrum goerli v3 addresses\n// const ARBITRUM_GOERLI_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x4893376342d5D7b3e31d4184c08b265e5aB2A3f6',\n// multicallAddress: '0x8260CB40247290317a4c062F3542622367F206Ee',\n// quoterAddress: '0x1dd92b83591781D0C6d98d07391eea4b9a6008FA',\n// v3MigratorAddress: '0xA815919D2584Ac3F76ea9CB62E6Fd40a43BCe0C3',\n// nonfungiblePositionManagerAddress: '0x622e4726a167799826d1E1D150b076A7725f5D81',\n// tickLensAddress: '0xb52429333da969a0C79a60930a4Bf0020E5D1DE8',\n// }\n\n// // arbitrum sepolia v3 addresses\n// const ARBITRUM_SEPOLIA_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x248AB79Bbb9bC29bB72f7Cd42F17e054Fc40188e',\n// multicallAddress: '0x2B718b475e385eD29F56775a66aAB1F5cC6B2A0A',\n// quoterAddress: '0x2779a0CC1c3e0E44D2542EC3e79e3864Ae93Ef0B',\n// v3MigratorAddress: '0x398f43ef2c67B941147157DA1c5a868E906E043D',\n// nonfungiblePositionManagerAddress: '0x6b2937Bde17889EDCf8fbD8dE31C3C2a70Bc4d65',\n// tickLensAddress: '0x0fd18587734e5C2dcE2dccDcC7DD1EC89ba557d9',\n// swapRouter02Address: '0x101F443B4d1b059569D643917553c771E1b9663E',\n\n// v4PoolManagerAddress: '0xFB3e0C6F74eB1a21CC1Da29aeC80D2Dfe6C9a317',\n// v4PositionManagerAddress: '0xAc631556d3d4019C95769033B5E719dD77124BAc',\n// v4StateView: '0x9d467fa9062b6e9b1a46e26007ad82db116c67cb',\n// v4QuoterAddress: '0x7de51022d70a725b508085468052e25e22b5c4c9',\n// }\n\n// // sepolia v3 addresses\n// const SEPOLIA_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x0227628f3F023bb0B980b67D528571c95c6DaC1c',\n// multicallAddress: '0xD7F33bCdb21b359c8ee6F0251d30E94832baAd07',\n// quoterAddress: '0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3',\n// v3MigratorAddress: '0x729004182cF005CEC8Bd85df140094b6aCbe8b15',\n// nonfungiblePositionManagerAddress: '0x1238536071E1c677A632429e3655c799b22cDA52',\n// tickLensAddress: '0xd7f33bcdb21b359c8ee6f0251d30e94832baad07',\n// swapRouter02Address: '0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E',\n\n// // TODO: update mixedRouteQuoterV2Address once v4 on sepolia redeployed\n// mixedRouteQuoterV2Address: '0x4745f77b56a0e2294426e3936dc4fab68d9543cd',\n\n// // TODO: update all below once v4 on sepolia redeployed\n// v4PoolManagerAddress: '0xE03A1074c86CFeDd5C142C4F04F1a1536e203543',\n// v4PositionManagerAddress: '0x429ba70129df741B2Ca2a85BC3A2a3328e5c09b4',\n// v4StateView: '0xe1dd9c3fa50edb962e442f60dfbc432e24537e4c',\n// v4QuoterAddress: '0x61b3f2011a92d183c7dbadbda940a7555ccf9227',\n// }\n\n// // Avalanche v3 addresses\n// const AVALANCHE_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD',\n// multicallAddress: '0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2',\n// quoterAddress: '0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F',\n// v3MigratorAddress: '0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97',\n// nonfungiblePositionManagerAddress: '0x655C406EBFa14EE2006250925e54ec43AD184f8B',\n// tickLensAddress: '0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950',\n// swapRouter02Address: '0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE',\n\n// v4PoolManagerAddress: '0x06380c0e0912312b5150364b9dc4542ba0dbbc85',\n// v4PositionManagerAddress: '0xb74b1f14d2754acfcbbe1a221023a5cf50ab8acd',\n// v4StateView: '0xc3c9e198c735a4b97e3e683f391ccbdd60b69286',\n// v4QuoterAddress: '0xbe40675bb704506a3c2ccfb762dcfd1e979845c2',\n// }\n\n// const BASE_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',\n// multicallAddress: '0x091e99cb1C49331a94dD62755D168E941AbD0693',\n// quoterAddress: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',\n// v3MigratorAddress: '0x23cF10b1ee3AdfCA73B0eF17C07F7577e7ACd2d7',\n// nonfungiblePositionManagerAddress: '0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1',\n// tickLensAddress: '0x0CdeE061c75D43c82520eD998C23ac2991c9ac6d',\n// swapRouter02Address: '0x2626664c2603336E57B271c5C0b26F421741e481',\n// mixedRouteQuoterV1Address: '0xe544efae946f0008ae9a8d64493efa7886b73776',\n\n// v4PoolManagerAddress: '0x498581ff718922c3f8e6a244956af099b2652b2b',\n// v4PositionManagerAddress: '0x7c5f5a4bbd8fd63184577525326123b519429bdc',\n// v4StateView: '0xa3c0c9b65bad0b08107aa264b0f3db444b867a71',\n// v4QuoterAddress: '0x0d5e0f971ed27fbff6c2837bf31316121532048d',\n// }\n\n// // Base Goerli v3 addresses\n// const BASE_GOERLI_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x9323c1d6D800ed51Bd7C6B216cfBec678B7d0BC2',\n// multicallAddress: '0xB206027a9E0E13F05eBEFa5D2402Bab3eA716439',\n// quoterAddress: '0xedf539058e28E5937dAef3f69cEd0b25fbE66Ae9',\n// v3MigratorAddress: '0x3efe5d02a04b7351D671Db7008ec6eBA9AD9e3aE',\n// nonfungiblePositionManagerAddress: '0x3c61369ef0D1D2AFa70d8feC2F31C5D6Ce134F30',\n// tickLensAddress: '0x1acB873Ee909D0c98adB18e4474943249F931b92',\n// swapRouter02Address: '0x8357227D4eDc78991Db6FDB9bD6ADE250536dE1d',\n// }\n\n// // Base Sepolia v3 addresses\nconst BASE_SEPOLIA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24',\n multicallAddress: '0xd867e273eAbD6c853fCd0Ca0bFB6a3aE6491d2C1',\n quoterAddress: '0xC5290058841028F1614F3A6F0F5816cAd0df5E27',\n v3MigratorAddress: '0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10',\n nonfungiblePositionManagerAddress: '0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2',\n tickLensAddress: '0xedf6066a2b290C185783862C7F4776A2C8077AD1',\n swapRouter02Address: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4',\n\n // v4\n v4PoolManagerAddress: '0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408',\n v4PositionManagerAddress: '0x4b2c77d209d3405f41a037ec6c77f7f5b8e2ca80',\n v4StateView: '0x571291b572ed32ce6751a2cb2486ebee8defb9b4',\n v4QuoterAddress: '0x4a6513c898fe1b2d0e78d3b0e0a4a151589b1cba',\n}\n\nconst ZORA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x7145F8aeef1f6510E92164038E1B6F8cB2c42Cbb',\n multicallAddress: '0xA51c76bEE6746cB487a7e9312E43e2b8f4A37C15',\n quoterAddress: '0x11867e1b3348F3ce4FcC170BC5af3d23E07E64Df',\n v3MigratorAddress: '0x048352d8dCF13686982C799da63fA6426a9D0b60',\n nonfungiblePositionManagerAddress: '0xbC91e8DfA3fF18De43853372A3d7dfe585137D78',\n tickLensAddress: '0x209AAda09D74Ad3B8D0E92910Eaf85D2357e3044',\n swapRouter02Address: '0x7De04c96BE5159c3b5CeffC82aa176dc81281557',\n\n v4PoolManagerAddress: '0x0575338e4c17006ae181b47900a84404247ca30f',\n v4PositionManagerAddress: '0xf66c7b99e2040f0d9b326b3b7c152e9663543d63',\n v4StateView: '0x385785af07d63b50d0a0ea57c4ff89d06adf7328',\n v4QuoterAddress: '0x5edaccc0660e0a2c44b06e07ce8b915e625dc2c6',\n}\n\nconst ZORA_SEPOLIA_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x4324A677D74764f46f33ED447964252441aA8Db6',\n multicallAddress: '0xA1E7e3A69671C4494EC59Dbd442de930a93F911A',\n quoterAddress: '0xC195976fEF0985886E37036E2DF62bF371E12Df0',\n v3MigratorAddress: '0x65ef259b31bf1d977c37e9434658694267674897',\n nonfungiblePositionManagerAddress: '0xB8458EaAe43292e3c1F7994EFd016bd653d23c20',\n tickLensAddress: '0x23C0F71877a1Fc4e20A78018f9831365c85f3064',\n}\n\nconst ROOTSTOCK_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0xaF37EC98A00FD63689CF3060BF3B6784E00caD82',\n multicallAddress: '0x996a9858cDfa45Ad68E47c9A30a7201E29c6a386',\n quoterAddress: '0xb51727c996C68E60F598A923a5006853cd2fEB31',\n v3MigratorAddress: '0x16678977CA4ec3DAD5efc7b15780295FE5f56162',\n nonfungiblePositionManagerAddress: '0x9d9386c042F194B460Ec424a1e57ACDE25f5C4b1',\n tickLensAddress: '0x55B9dF5bF68ADe972191a91980459f48ecA16afC',\n swapRouter02Address: '0x0B14ff67f0014046b4b99057Aec4509640b3947A',\n}\n\n// const BLAST_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x792edAdE80af5fC680d96a2eD80A44247D2Cf6Fd',\n// multicallAddress: '0xdC7f370de7631cE9e2c2e1DCDA6B3B5744Cf4705',\n// quoterAddress: '0x6Cdcd65e03c1CEc3730AeeCd45bc140D57A25C77',\n// v3MigratorAddress: '0x15CA7043CD84C5D21Ae76Ba0A1A967d42c40ecE0',\n// nonfungiblePositionManagerAddress: '0xB218e4f7cF0533d4696fDfC419A0023D33345F28',\n// tickLensAddress: '0x2E95185bCdD928a3e984B7e2D6560Ab1b17d7274',\n// swapRouter02Address: '0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66',\n\n// v4PoolManagerAddress: '0x1631559198a9e474033433b2958dabc135ab6446',\n// v4PositionManagerAddress: '0x4ad2f4cca2682cbb5b950d660dd458a1d3f1baad',\n// v4StateView: '0x12a88ae16f46dce4e8b15368008ab3380885df30',\n// v4QuoterAddress: '0x6f71cdcb0d119ff72c6eb501abceb576fbf62bcf',\n// }\n\nconst ZKSYNC_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x8FdA5a7a8dCA67BBcDd10F02Fa0649A937215422',\n multicallAddress: '0x0c68a7C72f074d1c45C16d41fa74eEbC6D16a65C',\n quoterAddress: '0x8Cb537fc92E26d8EBBb760E632c95484b6Ea3e28',\n v3MigratorAddress: '0x611841b24E43C4ACfd290B427a3D6cf1A59dac8E',\n nonfungiblePositionManagerAddress: '0x0616e5762c1E7Dc3723c50663dF10a162D690a86',\n tickLensAddress: '0xe10FF11b809f8EE07b056B452c3B2caa7FE24f89',\n swapRouter02Address: '0x99c56385daBCE3E81d8499d0b8d0257aBC07E8A3',\n}\n\nconst WORLDCHAIN_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x7a5028BDa40e7B173C278C5342087826455ea25a',\n multicallAddress: '0x0a22c04215c97E3F532F4eF30e0aD9458792dAB9',\n quoterAddress: '0x10158D43e6cc414deE1Bd1eB0EfC6a5cBCfF244c',\n v3MigratorAddress: '0x9EBDdCBa71C9027E1eB45135672a30bcFEec9de3',\n nonfungiblePositionManagerAddress: '0xec12a9F9a09f50550686363766Cc153D03c27b5e',\n tickLensAddress: '0xE61df0CaC9d85876aCE5E3037005D80943570623',\n swapRouter02Address: '0x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6',\n\n v4PoolManagerAddress: '0xb1860d529182ac3bc1f51fa2abd56662b7d13f33',\n v4PositionManagerAddress: '0xc585e0f504613b5fbf874f21af14c65260fb41fa',\n v4StateView: '0x51d394718bc09297262e368c1a481217fdeb71eb',\n v4QuoterAddress: '0x55d235b3ff2daf7c3ede0defc9521f1d6fe6c5c0',\n}\n\n// const UNICHAIN_SEPOLIA_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',\n// multicallAddress: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1',\n// quoterAddress: '0x6Dd37329A1A225a6Fca658265D460423DCafBF89',\n// v3MigratorAddress: '0xb5FA244C9d6D04B2FBac84418b3c4910ED1Ae5f2',\n// nonfungiblePositionManagerAddress: '0xB7F724d6dDDFd008eFf5cc2834edDE5F9eF0d075',\n// tickLensAddress: '0x5f739c790a48E97eec0efb81bab5D152c0A0ecA0',\n// swapRouter02Address: '0xd1AAE39293221B77B0C71fBD6dCb7Ea29Bb5B166',\n\n// v4PoolManagerAddress: '0x00b036b58a818b1bc34d502d3fe730db729e62ac',\n// v4PositionManagerAddress: '0xf969aee60879c54baaed9f3ed26147db216fd664',\n// v4StateView: '0xc199f1072a74d4e905aba1a84d9a45e2546b6222',\n// v4QuoterAddress: '0x56dcd40a3f2d466f48e7f48bdbe5cc9b92ae4472',\n// }\n\n// const UNICHAIN_ADDRESSES: ChainAddresses = {\n// v3CoreFactoryAddress: '0x1f98400000000000000000000000000000000003',\n// multicallAddress: '0xb7610f9b733e7d45184be3a1bc966960ccc54f0b',\n// quoterAddress: '0x565ac8c7863d9bb16d07e809ff49fe5cd467634c',\n// v3MigratorAddress: '0xb9d0c246f306b1aaf02ae6ba112d5ef25e5b60dc',\n// nonfungiblePositionManagerAddress: '0x943e6e07a7e8e791dafc44083e54041d743c46e9',\n// tickLensAddress: '0xd5d76fa166ab8d8ad4c9f61aaa81457b66cbe443',\n// swapRouter02Address: '0x73855d06de49d0fe4a9c42636ba96c62da12ff9c',\n\n// v4PoolManagerAddress: '0x1f98400000000000000000000000000000000004',\n// v4PositionManagerAddress: '0x4529a01c7a0410167c5740c487a8de60232617bf',\n// v4StateView: '0x86e8631a016f9068c3f085faf484ee3f5fdee8f2',\n// v4QuoterAddress: '0x333e3c607b141b18ff6de9f258db6e77fe7491e0',\n// }\n\nconst MONAD_TESTNET_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x961235a9020b05c44df1026d956d1f4d78014276',\n multicallAddress: '0xa707ceb989cc3728551ed0e6e44b718dd114cf44',\n quoterAddress: '0x1ba215c17565de7b0cb7ecab971bcf540c24a862',\n v3MigratorAddress: '0x0a78348b71f8ae8caff2f8f9d4d74a2f36516661',\n nonfungiblePositionManagerAddress: '0x3dcc735c74f10fe2b9db2bb55c40fbbbf24490f7',\n tickLensAddress: '0x337478eb6058455ecb3696184b30dd6a29e3a893',\n swapRouter02Address: '0x4c4eabd5fb1d1a7234a48692551eaecff8194ca7',\n}\n\nconst SONEIUM_ADDRESSES: ChainAddresses = {\n v3CoreFactoryAddress: '0x42ae7ec7ff020412639d443e245d936429fbe717',\n multicallAddress: '0x8ad5ef2f2508288d2de66f04dd883ad5f4ef62b2',\n quoterAddress: '0x3e6c707d0125226ff60f291b6bd1404634f00aba',\n v3MigratorAddress: '0xa107580f73bd797bd8b87ff24e98346d99f93ddb',\n nonfungiblePositionManagerAddress: '0x56c1205b0244332011c1e866f4ea5384eb6bfa2c',\n tickLensAddress: '0xcd08eefb928c86499e6235ac155906bb7c4dc41a',\n swapRouter02Address: '0x7e40db01736f88464e5f4e42394f3d5bbb6705b9',\n\n v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32',\n v4PositionManagerAddress: '0x1b35d13a2e2528f192637f14b05f0dc0e7deb566',\n v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990',\n v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5',\n}\n\n\nexport const RING_CHAIN_TO_ADDRESSES_MAP: Record<SupportedChainsType, ChainAddresses> = {\n [ChainId.HYPER_MAINNET]: HYPER_MAINNET_ADDRESSES,\n [ChainId.MAINNET]: ETH_MAINNET_ADDRESSES,\n [ChainId.OPTIMISM]: OPTIMISM_ADDRESSES,\n [ChainId.ARBITRUM_ONE]: ARBITRUM_ONE_ADDRESSES,\n [ChainId.POLYGON]: POLYGON_ADDRESSES,\n [ChainId.POLYGON_MUMBAI]: POLYGON_ADDRESSES,\n [ChainId.GOERLI]: GOERLI_ADDRESSES,\n [ChainId.CELO]: CELO_ADDRESSES,\n [ChainId.CELO_ALFAJORES]: CELO_ADDRESSES,\n [ChainId.BNB]: BNB_ADDRESSES,\n [ChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_ADDRESSES,\n [ChainId.OPTIMISM_SEPOLIA]: OPTIMISM_SEPOLIA_ADDRESSES,\n [ChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_ADDRESSES,\n [ChainId.ARBITRUM_SEPOLIA]: ARBITRUM_SEPOLIA_ADDRESSES,\n [ChainId.SEPOLIA]: SEPOLIA_ADDRESSES,\n [ChainId.AVALANCHE]: AVALANCHE_ADDRESSES,\n [ChainId.BASE]: BASE_ADDRESSES,\n [ChainId.BASE_GOERLI]: BASE_GOERLI_ADDRESSES,\n [ChainId.BASE_SEPOLIA]: BASE_SEPOLIA_ADDRESSES,\n [ChainId.ZORA]: ZORA_ADDRESSES,\n [ChainId.ZORA_SEPOLIA]: ZORA_SEPOLIA_ADDRESSES,\n [ChainId.ROOTSTOCK]: ROOTSTOCK_ADDRESSES,\n [ChainId.BLAST]: BLAST_MAINNET_ADDRESSES,\n [ChainId.BLAST_SEPOLIA]: BLAST_SEPOLIA_ADDRESSES,\n [ChainId.STORY_ODYSSEY]: STORY_ODYSSEY_ADDRESSES,\n [ChainId.STORY_MAINNET]: STORY_MAINNET_ADDRESSES,\n [ChainId.ZKSYNC]: ZKSYNC_ADDRESSES,\n [ChainId.WORLDCHAIN]: WORLDCHAIN_ADDRESSES,\n [ChainId.UNICHAIN_SEPOLIA]: UNICHAIN_SEPOLIA_ADDRESSES,\n [ChainId.UNICHAIN]: UNICHAIN_ADDRESSES,\n [ChainId.MONAD_TESTNET]: MONAD_TESTNET_ADDRESSES,\n [ChainId.SONEIUM]: SONEIUM_ADDRESSES,\n}\n\nexport function isFewToken(token: Token): boolean {\n const isFewWrappedName = token.name?.startsWith('Few Wrapped ') ?? false\n const isFwSymbol = token.symbol?.startsWith('fw') ?? false\n return isFewWrappedName || isFwSymbol\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gas-factory-helpers.js","sourceRoot":"","sources":["../../../src/util/gas-factory-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { estimateL1Gas, estimateL1GasCost } from '@eth-optimism/sdk';\nimport { BigNumber } from '@ethersproject/bignumber';\nimport { BaseProvider, TransactionRequest } from '@ethersproject/providers';\nimport { Protocol } from '@fewprotocol/router-sdk';\nimport { ChainId, Percent, Token, TradeType } from '@fewprotocol/sdk-core';\nimport { Pair } from '@fewprotocol/uniswap-v2-sdk';\nimport { FeeAmount, Pool } from '@fewprotocol/uniswap-v3-sdk';\nimport { UniversalRouterVersion } from '@fewprotocol/universal-router-sdk';\nimport { Pair as RingFewPair } from '@fewprotocol/v2-sdk';\nimport { getFewTokenFromOriginalToken } from '@fewprotocol/v2-sdk';\nimport JSBI from 'jsbi';\nimport _ from 'lodash';\n\nimport { IRingV2PoolProvider, IV2PoolProvider, IV4PoolProvider } from '../providers';\nimport { IPortionProvider } from '../providers/portion-provider';\nimport { ProviderConfig } from '../providers/provider';\nimport { ArbitrumGasData } from '../providers/v3/gas-data-provider';\nimport { IV3PoolProvider } from '../providers/v3/pool-provider';\nimport {\n GasModelProviderConfig,\n getQuoteThroughNativePool,\n getRingQuoteThroughNativePool,\n MethodParameters,\n metric,\n MetricLoggerUnit,\n MixedRouteWithValidQuote,\n ringUsdGasTokensByChain,\n RouteWithValidQuote,\n SwapOptions,\n SwapOptionsUniversalRouter,\n SwapRoute,\n SwapType,\n usdGasTokensByChain,\n V2RouteWithValidQuote,\n V3RouteWithValidQuote,\n V4RouteWithValidQuote,\n} from '../routers';\nimport {\n CurrencyAmount,\n FEW_WRAPPED_NATIVE_CURRENCY,\n getApplicableV3FeeAmounts,\n log,\n WRAPPED_NATIVE_CURRENCY,\n} from '../util';\n\nimport { isFewToken } from './fewAddress';\nimport { opStackChains } from './l2FeeChains';\nimport { buildSwapMethodParameters, buildTrade } from './methodParameters';\n\nexport async function getV2NativePool(\n token: Token,\n poolProvider: IV2PoolProvider,\n providerConfig?: GasModelProviderConfig\n): Promise<Pair | null> {\n const chainId = token.chainId as ChainId;\n const weth = WRAPPED_NATIVE_CURRENCY[chainId]!;\n\n const poolAccessor = await poolProvider.getPools(\n [[weth, token]],\n providerConfig\n );\n const pool = poolAccessor.getPool(weth, token);\n\n if (!pool || pool.reserve0.equalTo(0) || pool.reserve1.equalTo(0)) {\n log.error(\n {\n weth,\n token,\n reserve0: pool?.reserve0.toExact(),\n reserve1: pool?.reserve1.toExact(),\n },\n `Could not find a valid WETH V2 pool with ${token.symbol} for computing gas costs.`\n );\n\n return null;\n }\n\n return pool;\n}\n\nexport async function getRingFewV2NativePool(\n token: Token,\n poolProvider: IRingV2PoolProvider,\n providerConfig?: GasModelProviderConfig\n): Promise<RingFewPair | null> {\n const chainId = token.chainId as ChainId;\n const weth = FEW_WRAPPED_NATIVE_CURRENCY[chainId]!;\n\n const poolAccessor = await poolProvider.getPools(\n [[weth, token]],\n providerConfig\n );\n const pool = poolAccessor.getPool(weth, token);\n\n if (!pool || pool.reserve0.equalTo(0) || pool.reserve1.equalTo(0)) {\n log.error(\n {\n weth,\n token,\n reserve0: pool?.reserve0.toExact(),\n reserve1: pool?.reserve1.toExact(),\n },\n `Could not find a valid WETH V2 pool with ${token.symbol} for computing gas costs.`\n );\n\n return null;\n }\n\n return pool;\n}\n\nexport async function getHighestLiquidityV3NativePool(\n token: Token,\n poolProvider: IV3PoolProvider,\n providerConfig?: GasModelProviderConfig\n): Promise<Pool | null> {\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[token.chainId as ChainId]!;\n\n const feeAmounts = getApplicableV3FeeAmounts(token.chainId);\n\n const nativePools = _(feeAmounts)\n .map<[Token, Token, FeeAmount]>((feeAmount) => {\n return [nativeCurrency, token, feeAmount];\n })\n .value();\n\n const poolAccessor = await poolProvider.getPools(nativePools, providerConfig);\n\n const pools = _(feeAmounts)\n .map((feeAmount) => {\n return poolAccessor.getPool(nativeCurrency, token, feeAmount);\n })\n .compact()\n .value();\n\n if (pools.length == 0) {\n log.error(\n { pools },\n `Could not find a ${nativeCurrency.symbol} pool with ${token.symbol} for computing gas costs.`\n );\n\n return null;\n }\n\n const maxPool = pools.reduce((prev, current) => {\n return JSBI.greaterThan(prev.liquidity, current.liquidity) ? prev : current;\n });\n\n return maxPool;\n}\n\nexport async function getHighestLiquidityV3NativeFewTokenPool(\n token: Token,\n poolProvider: IV3PoolProvider,\n providerConfig?: GasModelProviderConfig\n): Promise<Pool | null> {\n const nativeCurrency = FEW_WRAPPED_NATIVE_CURRENCY[token.chainId as ChainId]!;\n\n const feeAmounts = getApplicableV3FeeAmounts(token.chainId);\n\n const nativePools = _(feeAmounts)\n .map<[Token, Token, FeeAmount]>((feeAmount) => {\n return [nativeCurrency, token, feeAmount];\n })\n .value();\n\n const poolAccessor = await poolProvider.getPools(nativePools, providerConfig);\n\n const pools = _(feeAmounts)\n .map((feeAmount) => {\n return poolAccessor.getPool(nativeCurrency, token, feeAmount);\n })\n .compact()\n .value();\n\n if (pools.length == 0) {\n log.error(\n { pools },\n `Could not find a ${nativeCurrency.symbol} pool with ${token.symbol} for computing gas costs.`\n );\n\n return null;\n }\n\n const maxPool = pools.reduce((prev, current) => {\n return JSBI.greaterThan(prev.liquidity, current.liquidity) ? prev : current;\n });\n\n return maxPool;\n}\n\nexport async function getHighestLiquidityV3USDPool(\n chainId: ChainId,\n poolProvider: IV3PoolProvider,\n providerConfig?: GasModelProviderConfig\n): Promise<Pool | null> {\n const usdTokens = usdGasTokensByChain[chainId];\n const wrappedCurrency = WRAPPED_NATIVE_CURRENCY[chainId]!;\n\n if (!usdTokens) {\n throw new Error(\n `Could not find a USD token for computing gas costs on ${chainId}`\n );\n }\n\n const feeAmounts = getApplicableV3FeeAmounts(chainId);\n\n const usdPools = _(feeAmounts)\n .flatMap((feeAmount) => {\n return _.map<Token, [Token, Token, FeeAmount]>(usdTokens, (usdToken) => [\n wrappedCurrency,\n usdToken,\n feeAmount,\n ]);\n })\n .value();\n\n const poolAccessor = await poolProvider.getPools(usdPools, providerConfig);\n\n const pools = _(feeAmounts)\n .flatMap((feeAmount) => {\n const pools = [];\n\n for (const usdToken of usdTokens) {\n const pool = poolAccessor.getPool(wrappedCurrency, usdToken, feeAmount);\n if (pool) {\n pools.push(pool);\n }\n }\n\n return pools;\n })\n .compact()\n .value();\n\n if (pools.length == 0) {\n const message = `Could not find a USD/${wrappedCurrency.symbol} pool for computing gas costs.`;\n log.error({ pools }, message);\n // throw new Error(message);\n return null;\n }\n\n const maxPool = pools.reduce((prev, current) => {\n return JSBI.greaterThan(prev.liquidity, current.liquidity) ? prev : current;\n });\n\n return maxPool;\n}\n\nexport async function getHighestLiquidityV3FewTokenUSDPool(\n chainId: ChainId,\n poolProvider: IV3PoolProvider,\n providerConfig?: GasModelProviderConfig\n): Promise<Pool | null> {\n // const only_support_v2_network: ChainId[] = [\n // ChainId.BLAST,\n // ]\n\n // const usdTokens = only_support_v2_network.includes(chainId)\n // ? onlySupportV2NetworkUsdGasTokensByChain[chainId]\n // : ringUsdGasTokensByChain[chainId];\n\n // const wrappedCurrency = only_support_v2_network.includes(chainId)\n // ? WRAPPED_NATIVE_CURRENCY[chainId]!\n // : FEW_WRAPPED_NATIVE_CURRENCY[chainId]!;\n\n const usdTokens = ringUsdGasTokensByChain[chainId];\n const wrappedCurrency = FEW_WRAPPED_NATIVE_CURRENCY[chainId]!;\n\n if (!usdTokens) {\n throw new Error(\n `Could not find a USD token for computing gas costs on ${chainId}`\n );\n }\n\n const feeAmounts = getApplicableV3FeeAmounts(chainId);\n\n const usdPools = _(feeAmounts)\n .flatMap((feeAmount) => {\n return _.map<Token, [Token, Token, FeeAmount]>(usdTokens, (usdToken) => [\n wrappedCurrency,\n usdToken,\n feeAmount,\n ]);\n })\n .value();\n\n const poolAccessor = await poolProvider.getPools(usdPools, providerConfig);\n const pools = _(feeAmounts)\n .flatMap((feeAmount) => {\n const pools = [];\n\n for (const usdToken of usdTokens) {\n const pool = poolAccessor.getPool(wrappedCurrency, usdToken, feeAmount);\n if (pool) {\n pools.push(pool);\n }\n }\n\n return pools;\n })\n .compact()\n .value();\n\n if (pools.length == 0) {\n const message = `Could not find a USD/${wrappedCurrency.symbol} few pool for computing gas costs.`;\n log.error({ pools }, message);\n // throw new Error(message);\n return null;\n }\n\n const maxPool = pools.reduce((prev, current) => {\n return JSBI.greaterThan(prev.liquidity, current.liquidity) ? prev : current;\n });\n\n return maxPool;\n}\n\nexport function getGasCostInNativeCurrency(\n nativeCurrency: Token,\n gasCostInWei: BigNumber\n) {\n // wrap fee to native currency\n const costNativeCurrency = CurrencyAmount.fromRawAmount(\n nativeCurrency,\n gasCostInWei.toString()\n );\n return costNativeCurrency;\n}\n\nexport function getArbitrumBytes(data: string): BigNumber {\n if (data == '') return BigNumber.from(0);\n\n // Calculate actual bytes (remove '0x' prefix, every 2 hex characters = 1 byte)\n const actualBytes = (data.length - 2) / 2;\n\n // Smart compression ratio estimation based on data characteristics\n let compressionRatio = 0.5; // Default baseline compression ratio\n\n // 1. Detect zero byte density (zero bytes compress very well)\n const zeroBytes = (data.match(/00/g) || []).length;\n const zeroDensity = zeroBytes / actualBytes;\n\n // 2. Detect repeated patterns\n const repeatedPatterns = countRepeatedPatterns(data);\n const repetitionScore = Math.min(repeatedPatterns / actualBytes, 0.5);\n\n // 3. Detect function call pattern (calldata characteristics)\n const isFunctionCall = data.length > 10 && /^0x[a-f0-9]{8}/.test(data);\n\n // 4. Calculate dynamic compression ratio\n if (zeroDensity > 0.5) {\n // High zero byte density: excellent compression\n compressionRatio = 0.25 + (zeroDensity * 0.2);\n } else if (zeroDensity > 0.3) {\n // Medium zero byte density: good compression\n compressionRatio = 0.35 + (zeroDensity * 0.3);\n } else if (isFunctionCall) {\n // Standard function call: typical compression\n compressionRatio = 0.45 - (repetitionScore * 0.1);\n } else if (repetitionScore > 0.2) {\n // High repetition pattern: better compression\n compressionRatio = 0.4 - (repetitionScore * 0.15);\n } else {\n // Random data: poor compression\n compressionRatio = 0.55 + (Math.random() * 0.1 - 0.05); // Add slight randomness\n }\n\n // Ensure compression ratio is within reasonable bounds\n compressionRatio = Math.max(0.2, Math.min(0.8, compressionRatio));\n\n const estimatedCompressedSize = Math.floor(actualBytes * compressionRatio);\n\n // Apply original 20% buffer (due to using Brotli 1 instead of Brotli 0)\n return BigNumber.from(estimatedCompressedSize).mul(120).div(100);\n}\n\n// Helper function: detect repeated patterns\nfunction countRepeatedPatterns(data: string): number {\n const cleanData = data.replace('0x', '');\n let patterns = 0;\n\n // Detect 2-8 byte repeated patterns\n for (let patternLength = 4; patternLength <= 16; patternLength += 2) {\n const pattern = cleanData.substring(0, patternLength);\n const regex = new RegExp(pattern, 'g');\n const matches = (cleanData.match(regex) || []).length;\n\n if (matches > 1) {\n patterns += (matches - 1) * (patternLength / 2); // Convert to byte count\n }\n }\n\n return patterns;\n}\n\nexport function calculateArbitrumToL1FeeFromCalldata(\n calldata: string,\n gasData: ArbitrumGasData,\n chainId: ChainId\n): [BigNumber, BigNumber, BigNumber] {\n const { perL2TxFee, perL1CalldataFee, perArbGasTotal } = gasData;\n // calculates gas amounts based on bytes of calldata, use 0 as overhead.\n const l1GasUsed = getL2ToL1GasUsed(calldata, chainId);\n // multiply by the fee per calldata and add the flat l2 fee\n const l1Fee = l1GasUsed.mul(perL1CalldataFee).add(perL2TxFee);\n const gasUsedL1OnL2 = l1Fee.div(perArbGasTotal);\n return [l1GasUsed, l1Fee, gasUsedL1OnL2];\n}\n\nexport async function calculateOptimismToL1FeeFromCalldata(\n calldata: string,\n chainId: ChainId,\n provider: BaseProvider\n): Promise<[BigNumber, BigNumber]> {\n const tx: TransactionRequest = {\n data: calldata,\n chainId: chainId,\n type: 2, // sign the transaction as EIP-1559, otherwise it will fail at maxFeePerGas\n };\n const [l1GasUsed, l1GasCost] = await Promise.all([\n estimateL1Gas(provider, tx),\n estimateL1GasCost(provider, tx),\n ]);\n return [l1GasUsed, l1GasCost];\n}\n\nexport function getL2ToL1GasUsed(data: string, chainId: ChainId): BigNumber {\n switch (chainId) {\n case ChainId.ARBITRUM_ONE:\n case ChainId.ARBITRUM_GOERLI: {\n // calculates bytes of compressed calldata\n const l1ByteUsed = getArbitrumBytes(data);\n return l1ByteUsed.mul(16);\n }\n default:\n return BigNumber.from(0);\n }\n}\n\nexport async function calculateGasUsed(\n chainId: ChainId,\n route: SwapRoute,\n simulatedGasUsed: BigNumber,\n v2PoolProvider: IV2PoolProvider,\n v3PoolProvider: IV3PoolProvider,\n provider: BaseProvider,\n providerConfig?: GasModelProviderConfig\n): Promise<{\n estimatedGasUsedUSD: CurrencyAmount;\n estimatedGasUsedQuoteToken: CurrencyAmount;\n estimatedGasUsedGasToken?: CurrencyAmount;\n quoteGasAdjusted: CurrencyAmount;\n}> {\n const quoteToken = route.quote.currency.wrapped;\n const gasPriceWei = route.gasPriceWei;\n // calculate L2 to L1 security fee if relevant\n let l2toL1FeeInWei = BigNumber.from(0);\n // Arbitrum charges L2 gas for L1 calldata posting costs.\n // See https://github.com/Uniswap/smart-order-router/pull/464/files#r1441376802\n if (opStackChains.includes(chainId)) {\n l2toL1FeeInWei = (\n await calculateOptimismToL1FeeFromCalldata(\n route.methodParameters!.calldata,\n chainId,\n provider\n )\n )[1];\n }\n\n // add l2 to l1 fee and wrap fee to native currency\n const gasCostInWei = gasPriceWei.mul(simulatedGasUsed).add(l2toL1FeeInWei);\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[chainId];\n const costNativeCurrency = getGasCostInNativeCurrency(\n nativeCurrency,\n gasCostInWei\n );\n\n const usdPool: Pool | null = await getHighestLiquidityV3USDPool(\n chainId,\n v3PoolProvider,\n providerConfig\n );\n\n /** ------ MARK: USD logic -------- */\n const gasCostUSD = getQuoteThroughNativePool(\n chainId,\n costNativeCurrency,\n usdPool\n );\n\n /** ------ MARK: Conditional logic run if gasToken is specified -------- */\n let gasCostInTermsOfGasToken: CurrencyAmount | undefined = undefined;\n if (providerConfig?.gasToken) {\n if (providerConfig.gasToken.equals(nativeCurrency)) {\n gasCostInTermsOfGasToken = costNativeCurrency;\n } else {\n const nativeAndSpecifiedGasTokenPool =\n await getHighestLiquidityV3NativePool(\n providerConfig.gasToken,\n v3PoolProvider,\n providerConfig\n );\n if (nativeAndSpecifiedGasTokenPool) {\n gasCostInTermsOfGasToken = getQuoteThroughNativePool(\n chainId,\n costNativeCurrency,\n nativeAndSpecifiedGasTokenPool\n );\n } else {\n log.info(\n `Could not find a V3 pool for gas token ${providerConfig.gasToken.symbol}`\n );\n }\n }\n }\n\n /** ------ MARK: Main gas logic in terms of quote token -------- */\n let gasCostQuoteToken: CurrencyAmount | undefined = undefined;\n // shortcut if quote token is native currency\n if (quoteToken.equals(nativeCurrency)) {\n gasCostQuoteToken = costNativeCurrency;\n }\n // get fee in terms of quote token\n else {\n const nativePools = await Promise.all([\n getHighestLiquidityV3NativePool(\n quoteToken,\n v3PoolProvider,\n providerConfig\n ),\n getV2NativePool(quoteToken, v2PoolProvider, providerConfig),\n ]);\n const nativePool = nativePools.find((pool) => pool !== null);\n\n if (!nativePool) {\n log.info(\n 'Could not find any V2 or V3 pools to convert the cost into the quote token'\n );\n gasCostQuoteToken = CurrencyAmount.fromRawAmount(quoteToken, 0);\n } else {\n gasCostQuoteToken = getQuoteThroughNativePool(\n chainId,\n costNativeCurrency,\n nativePool\n );\n }\n }\n\n // Adjust quote for gas fees\n let quoteGasAdjusted;\n if (route.trade.tradeType == TradeType.EXACT_OUTPUT) {\n // Exact output - need more of tokenIn to get the desired amount of tokenOut\n quoteGasAdjusted = route.quote.add(gasCostQuoteToken);\n } else {\n // Exact input - can get less of tokenOut due to fees\n quoteGasAdjusted = route.quote.subtract(gasCostQuoteToken);\n }\n\n return {\n estimatedGasUsedUSD: gasCostUSD,\n estimatedGasUsedQuoteToken: gasCostQuoteToken,\n estimatedGasUsedGasToken: gasCostInTermsOfGasToken,\n quoteGasAdjusted: quoteGasAdjusted,\n };\n}\n\nexport function initSwapRouteFromExisting(\n swapRoute: SwapRoute,\n v2PoolProvider: IV2PoolProvider,\n v3PoolProvider: IV3PoolProvider,\n v4PoolProvider: IV4PoolProvider,\n portionProvider: IPortionProvider,\n quoteGasAdjusted: CurrencyAmount,\n estimatedGasUsed: BigNumber,\n estimatedGasUsedQuoteToken: CurrencyAmount,\n estimatedGasUsedUSD: CurrencyAmount,\n swapOptions: SwapOptions,\n estimatedGasUsedGasToken?: CurrencyAmount,\n providerConfig?: ProviderConfig\n): SwapRoute {\n const currencyIn = swapRoute.trade.inputAmount.currency;\n const currencyOut = swapRoute.trade.outputAmount.currency;\n\n const fewTokenIn = isFewToken(swapRoute.trade.inputAmount.currency.wrapped) ?\n currencyIn.wrapped :\n getFewTokenFromOriginalToken(swapRoute.trade.inputAmount.currency.wrapped, currencyIn.chainId);\n const fewTokenOut = isFewToken(swapRoute.trade.outputAmount.currency.wrapped) ?\n currencyOut.wrapped :\n getFewTokenFromOriginalToken(swapRoute.trade.outputAmount.currency.wrapped, currencyOut.chainId);\n\n const tradeType = swapRoute.trade.tradeType.valueOf()\n ? TradeType.EXACT_OUTPUT\n : TradeType.EXACT_INPUT;\n const routesWithValidQuote = swapRoute.route.map((route) => {\n switch (route.protocol) {\n case Protocol.V4:\n return new V4RouteWithValidQuote({\n amount: CurrencyAmount.fromFractionalAmount(\n route.amount.currency,\n route.amount.numerator,\n route.amount.denominator\n ),\n rawQuote: BigNumber.from(route.rawQuote),\n sqrtPriceX96AfterList: route.sqrtPriceX96AfterList.map((num) =>\n BigNumber.from(num)\n ),\n initializedTicksCrossedList: [...route.initializedTicksCrossedList],\n quoterGasEstimate: BigNumber.from(route.gasEstimate),\n percent: route.percent,\n route: route.route,\n gasModel: route.gasModel,\n quoteToken: new Token(\n currencyIn.chainId,\n route.quoteToken.address,\n route.quoteToken.decimals,\n route.quoteToken.symbol,\n route.quoteToken.name\n ),\n tradeType: tradeType,\n v4PoolProvider: v4PoolProvider,\n });\n case Protocol.V3:\n return new V3RouteWithValidQuote({\n amount: CurrencyAmount.fromFractionalAmount(\n route.amount.currency,\n route.amount.numerator,\n route.amount.denominator\n ),\n rawQuote: BigNumber.from(route.rawQuote),\n sqrtPriceX96AfterList: route.sqrtPriceX96AfterList.map((num) =>\n BigNumber.from(num)\n ),\n initializedTicksCrossedList: [...route.initializedTicksCrossedList],\n quoterGasEstimate: BigNumber.from(route.gasEstimate),\n percent: route.percent,\n route: route.route,\n gasModel: route.gasModel,\n quoteToken: new Token(\n currencyIn.chainId,\n route.quoteToken.address,\n route.quoteToken.decimals,\n route.quoteToken.symbol,\n route.quoteToken.name\n ),\n tradeType: tradeType,\n v3PoolProvider: v3PoolProvider,\n });\n case Protocol.V2:\n return new V2RouteWithValidQuote({\n amount: CurrencyAmount.fromFractionalAmount(\n route.amount.currency,\n route.amount.numerator,\n route.amount.denominator\n ),\n rawQuote: BigNumber.from(route.rawQuote),\n percent: route.percent,\n route: route.route,\n gasModel: route.gasModel,\n quoteToken: new Token(\n currencyIn.chainId,\n route.quoteToken.address,\n route.quoteToken.decimals,\n route.quoteToken.symbol,\n route.quoteToken.name\n ),\n tradeType: tradeType,\n v2PoolProvider: v2PoolProvider,\n });\n case Protocol.MIXED:\n return new MixedRouteWithValidQuote({\n amount: CurrencyAmount.fromFractionalAmount(\n route.amount.currency,\n route.amount.numerator,\n route.amount.denominator\n ),\n rawQuote: BigNumber.from(route.rawQuote),\n sqrtPriceX96AfterList: route.sqrtPriceX96AfterList.map((num) =>\n BigNumber.from(num)\n ),\n initializedTicksCrossedList: [...route.initializedTicksCrossedList],\n quoterGasEstimate: BigNumber.from(route.gasEstimate),\n percent: route.percent,\n route: route.route,\n mixedRouteGasModel: route.gasModel,\n v2PoolProvider,\n quoteToken: new Token(\n currencyIn.chainId,\n route.quoteToken.address,\n route.quoteToken.decimals,\n route.quoteToken.symbol,\n route.quoteToken.name\n ),\n tradeType: tradeType,\n v3PoolProvider: v3PoolProvider,\n v4PoolProvider: v4PoolProvider,\n });\n default:\n throw new Error('Invalid protocol');\n }\n });\n const trade = buildTrade<typeof tradeType>(\n currencyIn,\n fewTokenIn!,\n currencyOut,\n fewTokenOut!,\n tradeType,\n routesWithValidQuote\n );\n\n const quoteGasAndPortionAdjusted = swapRoute.portionAmount\n ? portionProvider.getQuoteGasAndPortionAdjusted(\n swapRoute.trade.tradeType,\n quoteGasAdjusted,\n swapRoute.portionAmount\n )\n : undefined;\n const routesWithValidQuotePortionAdjusted =\n portionProvider.getRouteWithQuotePortionAdjusted(\n swapRoute.trade.tradeType,\n routesWithValidQuote,\n swapOptions,\n providerConfig\n );\n\n return {\n quote: swapRoute.quote,\n quoteGasAdjusted,\n quoteGasAndPortionAdjusted,\n estimatedGasUsed,\n estimatedGasUsedQuoteToken,\n estimatedGasUsedGasToken,\n estimatedGasUsedUSD,\n gasPriceWei: BigNumber.from(swapRoute.gasPriceWei),\n trade,\n route: routesWithValidQuotePortionAdjusted,\n blockNumber: BigNumber.from(swapRoute.blockNumber),\n methodParameters: swapRoute.methodParameters\n ? ({\n calldata: swapRoute.methodParameters.calldata,\n value: swapRoute.methodParameters.value,\n to: swapRoute.methodParameters.to,\n } as MethodParameters)\n : undefined,\n simulationStatus: swapRoute.simulationStatus,\n portionAmount: swapRoute.portionAmount,\n hitsCachedRoute: swapRoute.hitsCachedRoute,\n };\n}\n\nexport const calculateL1GasFeesHelper = async (\n route: RouteWithValidQuote[],\n chainId: ChainId,\n usdPool: RingFewPair | Pair | Pool | null,\n quoteToken: Token,\n nativePool: RingFewPair | Pair | Pool | null,\n provider: BaseProvider,\n l2GasData?: ArbitrumGasData,\n providerConfig?: GasModelProviderConfig\n): Promise<{\n gasUsedL1: BigNumber;\n gasUsedL1OnL2: BigNumber;\n gasCostL1USD: CurrencyAmount;\n gasCostL1QuoteToken: CurrencyAmount;\n}> => {\n const swapOptions: SwapOptionsUniversalRouter = {\n type: SwapType.UNIVERSAL_ROUTER,\n version:\n providerConfig?.universalRouterVersion ?? UniversalRouterVersion.V1_2,\n recipient: '0x0000000000000000000000000000000000000001',\n deadlineOrPreviousBlockhash: 100,\n slippageTolerance: new Percent(5, 10_000),\n };\n let mainnetGasUsed = BigNumber.from(0);\n let mainnetFeeInWei = BigNumber.from(0);\n let gasUsedL1OnL2 = BigNumber.from(0);\n if (opStackChains.includes(chainId)) {\n [mainnetGasUsed, mainnetFeeInWei] = await calculateOptimismToL1SecurityFee(\n route,\n swapOptions,\n chainId,\n provider\n );\n } else if (\n chainId == ChainId.ARBITRUM_ONE ||\n chainId == ChainId.ARBITRUM_GOERLI\n ) {\n [mainnetGasUsed, mainnetFeeInWei, gasUsedL1OnL2] =\n calculateArbitrumToL1SecurityFee(\n route,\n swapOptions,\n l2GasData as ArbitrumGasData,\n chainId\n );\n }\n\n // wrap fee to native currency\n const nativeCurrency = WRAPPED_NATIVE_CURRENCY[chainId];\n const costNativeCurrency = CurrencyAmount.fromRawAmount(\n nativeCurrency,\n mainnetFeeInWei.toString()\n );\n\n // convert fee into usd\n const gasCostL1USD: CurrencyAmount = getRingQuoteThroughNativePool(\n chainId,\n costNativeCurrency,\n usdPool\n );\n\n let gasCostL1QuoteToken = costNativeCurrency;\n // if the inputted token is not in the native currency, quote a native/quote token pool to get the gas cost in terms of the quote token\n if (!quoteToken.equals(nativeCurrency)) {\n if (!nativePool) {\n log.info(\n 'Could not find a pool to convert the cost into the quote token'\n );\n gasCostL1QuoteToken = CurrencyAmount.fromRawAmount(quoteToken, 0);\n } else {\n const nativeTokenPrice =\n nativePool.token0.address == nativeCurrency.address\n ? nativePool.token0Price\n : nativePool.token1Price;\n gasCostL1QuoteToken = nativeTokenPrice.quote(costNativeCurrency);\n }\n }\n // gasUsedL1 is the gas units used calculated from the bytes of the calldata\n // gasCostL1USD and gasCostL1QuoteToken is the cost of gas in each of those tokens\n return {\n gasUsedL1: mainnetGasUsed,\n gasUsedL1OnL2,\n gasCostL1USD,\n gasCostL1QuoteToken,\n };\n\n /**\n * To avoid having a call to optimism's L1 security fee contract for every route and amount combination,\n * we replicate the gas cost accounting here.\n */\n async function calculateOptimismToL1SecurityFee(\n routes: RouteWithValidQuote[],\n swapConfig: SwapOptionsUniversalRouter,\n chainId: ChainId,\n provider: BaseProvider\n ): Promise<[BigNumber, BigNumber]> {\n const route: RouteWithValidQuote = routes[0]!;\n const amountToken =\n route.tradeType == TradeType.EXACT_INPUT\n ? route.amount.currency\n : route.quote.currency;\n const outputToken =\n route.tradeType == TradeType.EXACT_INPUT\n ? route.quote.currency\n : route.amount.currency;\n\n const fewTokenIn = isFewToken(amountToken.wrapped) ?\n amountToken.wrapped :\n getFewTokenFromOriginalToken(amountToken.wrapped, amountToken.chainId);\n const fewTokenOut = isFewToken(outputToken.wrapped) ?\n outputToken.wrapped :\n getFewTokenFromOriginalToken(outputToken.wrapped, outputToken.chainId);\n\n // build trade for swap calldata\n const trade = buildTrade(amountToken, fewTokenIn, outputToken, fewTokenOut, route.tradeType, routes);\n const data = buildSwapMethodParameters(\n trade,\n swapConfig,\n ChainId.OPTIMISM\n ).calldata;\n\n const [l1GasUsed, l1GasCost] = await calculateOptimismToL1FeeFromCalldata(\n data,\n chainId,\n provider\n );\n return [l1GasUsed, l1GasCost];\n }\n\n function calculateArbitrumToL1SecurityFee(\n routes: RouteWithValidQuote[],\n swapConfig: SwapOptionsUniversalRouter,\n gasData: ArbitrumGasData,\n chainId: ChainId\n ): [BigNumber, BigNumber, BigNumber] {\n const route: RouteWithValidQuote = routes[0]!;\n\n const amountToken =\n route.tradeType == TradeType.EXACT_INPUT\n ? route.amount.currency\n : route.quote.currency;\n const outputToken =\n route.tradeType == TradeType.EXACT_INPUT\n ? route.quote.currency\n : route.amount.currency;\n\n const fewTokenIn = isFewToken(amountToken.wrapped) ?\n amountToken.wrapped :\n getFewTokenFromOriginalToken(amountToken.wrapped, amountToken.chainId);\n const fewTokenOut = isFewToken(outputToken.wrapped) ?\n outputToken.wrapped :\n getFewTokenFromOriginalToken(outputToken.wrapped, outputToken.chainId);\n\n // build trade for swap calldata\n const trade = buildTrade(amountToken, fewTokenIn, outputToken, fewTokenOut, route.tradeType, routes);\n const data = buildSwapMethodParameters(\n trade,\n swapConfig,\n ChainId.ARBITRUM_ONE\n ).calldata;\n return calculateArbitrumToL1FeeFromCalldata(data, gasData, chainId);\n }\n};\n\n// Logs metrics about the diff between original estimatedGasUsed based on heuristics and the simulated gas used.\n// This will help us track the quality of our gas estimation quality per chain.\nexport const logGasEstimationVsSimulationMetrics = (\n route: SwapRoute,\n simulationGasUsed: BigNumber,\n chainId: ChainId\n) => {\n try {\n // Log the diff between original estimatedGasUsed and the simulated gas used\n const estimatedGasUsed = route.estimatedGasUsed.toNumber();\n const simulatedGasUsed = simulationGasUsed.toNumber();\n const diff = estimatedGasUsed - simulatedGasUsed;\n const absDiff = Math.abs(estimatedGasUsed - simulatedGasUsed);\n const misEstimatePercent = (diff / estimatedGasUsed) * 100;\n const misEstimateAbsPercent = (absDiff / estimatedGasUsed) * 100;\n\n log.info(\n {\n estimatedGasUsed: estimatedGasUsed,\n simulatedGasUsed: simulatedGasUsed,\n absDiff: absDiff,\n diff: diff,\n },\n 'Gas used diff between estimatedGasUsed and simulatedGasUsed'\n );\n log.info(\n {\n misEstimateAbsPercent: misEstimateAbsPercent,\n },\n 'Gas used mis-estimate percent'\n );\n\n metric.putMetric(\n `TenderlySimulationGasUsed_AbsDiff_Chain_${chainId}`,\n absDiff,\n MetricLoggerUnit.Count\n );\n metric.putMetric(\n `TenderlySimulationGasUsed_MisEstimateAbsPercent_Chain_${chainId}`,\n misEstimateAbsPercent,\n MetricLoggerUnit.Count\n );\n\n const label = diff >= 0 ? 'OverEstimate' : 'UnderEstimate';\n metric.putMetric(\n `TenderlySimulationGasUsed_${label}Percent_Chain_${chainId}`,\n misEstimatePercent,\n MetricLoggerUnit.Count\n );\n } catch (err) {\n log.error(\n { err: err },\n 'Failed to log diff between original estimatedGasUsed and the simulated gas used'\n );\n }\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooksOptions.js","sourceRoot":"","sources":["../../../src/util/hooksOptions.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,yCAAyB,CAAA;IACzB,mDAAmC,CAAA;AACrC,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB","sourcesContent":["export enum HooksOptions {\n NO_HOOKS = 'NO_HOOKS',\n HOOKS_ONLY = 'HOOKS_ONLY',\n HOOKS_INCLUSIVE = 'HOOKS_INCLUSIVE',\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,4CAA0B;AAC1B,2CAAyB;AACzB,iDAA+B;AAC/B,2CAAyB;AACzB,wCAAsB;AACtB,2CAAyB;AACzB,yCAAuB;AACvB,8CAA4B;AAC5B,2CAAyB","sourcesContent":["export * from './addresses';\nexport * from './amounts';\nexport * from './chains';\nexport * from './hooksOptions';\nexport * from './intent';\nexport * from './log';\nexport * from './metric';\nexport * from './pool';\nexport * from './protocols';\nexport * from './routes';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/util/intent.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,wHAAwH;AACxH,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,6BAAmB,CAAA;IACnB,yBAAe,CAAA;IACf,uBAAa,CAAA;IACb,6BAAmB,CAAA;AACrB,CAAC,EALW,MAAM,GAAN,cAAM,KAAN,cAAM,QAKjB","sourcesContent":["// NOTE: intent is a routing-api concept,\n// but we have to introduce this strongly-typed enum in SOR to ensure some codepath only gets executed during async path\nexport enum INTENT {\n CACHING = 'caching',\n QUOTE = 'quote',\n SWAP = 'swap',\n PRICING = 'pricing',\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"l2FeeChains.js","sourceRoot":"","sources":["../../../src/util/l2FeeChains.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEnC,QAAA,aAAa,GAAG;IAC3B,kBAAO,CAAC,QAAQ;IAChB,kBAAO,CAAC,eAAe;IACvB,kBAAO,CAAC,gBAAgB;IACxB,kBAAO,CAAC,IAAI;IACZ,kBAAO,CAAC,WAAW;IACnB,kBAAO,CAAC,KAAK;IACb,kBAAO,CAAC,IAAI;IACZ,kBAAO,CAAC,UAAU;IAClB,kBAAO,CAAC,gBAAgB;IACxB,kBAAO,CAAC,QAAQ;IAChB,kBAAO,CAAC,OAAO;CAChB,CAAC","sourcesContent":["import { ChainId } from '@fewprotocol/sdk-core';\n\nexport const opStackChains = [\n ChainId.OPTIMISM,\n ChainId.OPTIMISM_GOERLI,\n ChainId.OPTIMISM_SEPOLIA,\n ChainId.BASE,\n ChainId.BASE_GOERLI,\n ChainId.BLAST,\n ChainId.ZORA,\n ChainId.WORLDCHAIN,\n ChainId.UNICHAIN_SEPOLIA,\n ChainId.UNICHAIN,\n ChainId.SONEIUM,\n];\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/util/log.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable */\n\nimport Logger from 'bunyan';\n\nclass NullLogger implements Logger {\n private ERROR_MESSAGE =\n 'NullLogger does not support. Instantiate a valid logger using \"setGlobalLogger\"';\n addStream(_stream: Logger.Stream): void {\n throw new Error(this.ERROR_MESSAGE);\n }\n addSerializers(_serializers: Logger.Serializers): void {\n throw new Error(this.ERROR_MESSAGE);\n }\n child(_options: Object, _simple?: boolean): Logger {\n return this;\n }\n reopenFileStreams(): void {\n throw new Error(this.ERROR_MESSAGE);\n }\n level(): number;\n level(value: Logger.LogLevel): void;\n level(_value?: any): number | void {\n return;\n }\n levels(): number[];\n levels(name: string | number): number;\n levels(name: string | number, value: Logger.LogLevel): void;\n levels(_name?: any, _value?: any): number | void | number[] {\n return;\n }\n fields: any;\n src = true;\n trace(): boolean;\n trace(error: Error, ...params: any[]): void;\n trace(obj: Object, ...params: any[]): void;\n trace(format: any, ...params: any[]): void;\n trace(..._rest: any): boolean | void {\n return true;\n }\n debug(): boolean;\n debug(error: Error, ...params: any[]): void;\n debug(obj: Object, ...params: any[]): void;\n debug(format: any, ...params: any[]): void;\n debug(..._rest: any): boolean | void {\n return true;\n }\n info(): boolean;\n info(error: Error, ...params: any[]): void;\n info(obj: Object, ...params: any[]): void;\n info(format: any, ...params: any[]): void;\n info(..._rest: any): boolean | void {\n return true;\n }\n warn(): boolean;\n warn(error: Error, ...params: any[]): void;\n warn(obj: Object, ...params: any[]): void;\n warn(format: any, ...params: any[]): void;\n warn(..._rest: any): boolean | void {\n return true;\n }\n error(): boolean;\n error(error: Error, ...params: any[]): void;\n error(obj: Object, ...params: any[]): void;\n error(format: any, ...params: any[]): void;\n error(..._rest: any): boolean | void {\n return true;\n }\n fatal(): boolean;\n fatal(error: Error, ...params: any[]): void;\n fatal(obj: Object, ...params: any[]): void;\n fatal(format: any, ...params: any[]): void;\n fatal(..._rest: any): boolean | void {\n return true;\n }\n addListener(\n _event: string | symbol,\n _listener: (...args: any[]) => void\n ): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n on(_event: string | symbol, _listener: (...args: any[]) => void): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n once(_event: string | symbol, _listener: (...args: any[]) => void): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n removeListener(\n _event: string | symbol,\n _listener: (...args: any[]) => void\n ): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n off(_event: string | symbol, _listener: (...args: any[]) => void): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n removeAllListeners(_event?: string | symbol): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n setMaxListeners(_n: number): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n getMaxListeners(): number {\n throw new Error(this.ERROR_MESSAGE);\n }\n listeners(_event: string | symbol): Function[] {\n throw new Error(this.ERROR_MESSAGE);\n }\n rawListeners(_event: string | symbol): Function[] {\n throw new Error(this.ERROR_MESSAGE);\n }\n emit(_event: string | symbol, ..._args: any[]): boolean {\n throw new Error(this.ERROR_MESSAGE);\n }\n listenerCount(_event: string | symbol): number {\n throw new Error(this.ERROR_MESSAGE);\n }\n prependListener(\n _event: string | symbol,\n _listener: (...args: any[]) => void\n ): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n prependOnceListener(\n _event: string | symbol,\n _listener: (...args: any[]) => void\n ): this {\n throw new Error(this.ERROR_MESSAGE);\n }\n eventNames(): (string | symbol)[] {\n throw new Error(this.ERROR_MESSAGE);\n }\n}\n\nexport let log: Logger = new NullLogger();\n\nexport const setGlobalLogger = (_log: Logger) => {\n log = _log;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"methodParameters.js","sourceRoot":"","sources":["../../../src/util/methodParameters.ts"],"names":[],"mappings":";;;;;;AAAA,wDAKiC;AACjC,oDAA4E;AAC5E,4EAI2C;AAC3C,gDAAiE;AACjE,gEAAkE;AAClE,gEAAkE;AAClE,gEAAkE;AAClE,oDAAuB;AAEvB,0BAYY;AAEZ,SAAgB,UAAU,CACxB,eAAyB,EACzB,eAAsB,EACtB,gBAA0B,EAC1B,gBAAuB,EACvB,SAAqB,EACrB,YAAmC;IAEnC,gDAAgD;IAChD,MAAM,cAAc,GAAG,gBAAC,CAAC,MAAM,CAC7B,YAAY,EACZ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,KAAK,qBAAQ,CAAC,EAAE,CACtD,CAAC;IACF,MAAM,cAAc,GAAG,gBAAC,CAAC,MAAM,CAC7B,YAAY,EACZ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,KAAK,qBAAQ,CAAC,EAAE,CACtD,CAAC;IACF,MAAM,cAAc,GAAG,gBAAC,CAAC,MAAM,CAC7B,YAAY,EACZ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,KAAK,qBAAQ,CAAC,EAAE,CACtD,CAAC;IACF,MAAM,qBAAqB,GAAG,gBAAC,CAAC,MAAM,CACpC,YAAY,EACZ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,KAAK,qBAAQ,CAAC,KAAK,CACzD,CAAC;IACF,MAAM,iBAAiB,GAAG,gBAAC,CAAC,MAAM,CAChC,YAAY,EACZ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,KAAK,qBAAQ,CAAC,KAAK,CACzD,CAAC;IAEF,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,gBAAC,CAAC,GAAG,CAQpB,cAAyC,EACzC,CAAC,WAAkC,EAAE,EAAE;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAE7C,kEAAkE;QAClE,uEAAuE;QACvE,kGAAkG;QAClG,IAAI,SAAS,IAAI,oBAAS,CAAC,WAAW,EAAE;YACtC,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,eAAe,EACf,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,gBAAgB,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,sBAAU,CAC7B,KAAK,CAAC,KAAK,EACX,cAAc,CAAC,QAAQ,EACvB,aAAa,CAAC,QAAQ,CACvB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,cAAc;gBAC3B,YAAY,EAAE,aAAa;aAC5B,CAAC;SACH;aAAM;YACL,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,eAAe,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,gBAAgB,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,sBAAU,CAClC,KAAK,CAAC,KAAK,EACX,aAAa,CAAC,QAAQ,EACtB,cAAc,CAAC,QAAQ,CACxB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,aAAa;gBAC1B,YAAY,EAAE,cAAc;aAC7B,CAAC;SACH;IACH,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,gBAAC,CAAC,GAAG,CAQpB,cAAyC,EACzC,CAAC,WAAkC,EAAE,EAAE;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAE7C,kEAAkE;QAClE,uEAAuE;QACvE,kGAAkG;QAClG,IAAI,SAAS,IAAI,oBAAS,CAAC,WAAW,EAAE;YACtC,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,eAAe,EACf,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,gBAAgB,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,sBAAU,CAC7B,KAAK,CAAC,KAAK,EACX,cAAc,CAAC,QAAQ,EACvB,aAAa,CAAC,QAAQ,CACvB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,cAAc;gBAC3B,YAAY,EAAE,aAAa;aAC5B,CAAC;SACH;aAAM;YACL,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,eAAe,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,gBAAgB,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,sBAAU,CAClC,KAAK,CAAC,KAAK,EACX,aAAa,CAAC,QAAQ,EACtB,cAAc,CAAC,QAAQ,CACxB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,aAAa;gBAC1B,YAAY,EAAE,cAAc;aAC7B,CAAC;SACH;IACH,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAG,gBAAC,CAAC,GAAG,CAQpB,cAAyC,EACzC,CAAC,WAAkC,EAAE,EAAE;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAE7C,kEAAkE;QAClE,uEAAuE;QACvE,kGAAkG;QAClG,IAAI,SAAS,IAAI,oBAAS,CAAC,WAAW,EAAE;YACtC,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,eAAe,EACf,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,gBAAgB,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,sBAAU,CAC/B,KAAK,CAAC,KAAK,EACX,cAAc,CAAC,QAAQ,EACvB,aAAa,CAAC,QAAQ,CACvB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,cAAc;gBAC3B,YAAY,EAAE,aAAa;aAC5B,CAAC;SACH;aAAM;YACL,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,eAAe,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,gBAAgB,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,sBAAU,CAC/B,KAAK,CAAC,KAAK,EACX,aAAa,CAAC,QAAQ,EACtB,cAAc,CAAC,QAAQ,CACxB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,aAAa;gBAC1B,YAAY,EAAE,cAAc;aAC7B,CAAC;SACH;IACH,CAAC,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,gBAAC,CAAC,GAAG,CAQvB,qBAAuD,EACvD,CAAC,WAAyC,EAAE,EAAE;QAC5C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAE7C,kEAAkE;QAClE,uEAAuE;QACvE,kGAAkG;QAClG,IAAI,SAAS,IAAI,oBAAS,CAAC,WAAW,EAAE;YACtC,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,eAAe,EACf,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YACF,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,gBAAgB,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,iBAAiB,GAAG,IAAI,cAAiB,CAC7C,KAAK,CAAC,KAAK,EACX,cAAc,CAAC,QAAQ,EACvB,aAAa,CAAC,QAAQ,CACvB,CAAC;YAEF,OAAO;gBACL,UAAU,EAAE,iBAAiB;gBAC7B,WAAW,EAAE,cAAc;gBAC3B,YAAY,EAAE,aAAa;aAC5B,CAAC;SACH;aAAM;YACL,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,eAAe,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YAEF,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,gBAAgB,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;YAEF,MAAM,iBAAiB,GAAG,IAAI,cAAiB,CAC7C,KAAK,CAAC,KAAK,EACX,aAAa,CAAC,QAAQ,EACtB,cAAc,CAAC,QAAQ,CACxB,CAAC;YAEF,OAAO;gBACL,UAAU,EAAE,iBAAiB;gBAC7B,WAAW,EAAE,aAAa;gBAC1B,YAAY,EAAE,cAAc;aAC7B,CAAC;SACH;IACH,CAAC,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,gBAAC,CAAC,GAAG,CAQvB,iBAA+C,EAC/C,CAAC,WAAqC,EAAE,EAAE;QACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAE7C,IAAI,SAAS,IAAI,oBAAS,CAAC,WAAW,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;SACH;QAED,kEAAkE;QAClE,uEAAuE;QACvE,kGAAkG;QAClG,MAAM,cAAc,GAAG,kBAAc,CAAC,oBAAoB,CACxD,eAAe,EACf,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,CACnB,CAAC;QACF,MAAM,aAAa,GAAG,kBAAc,CAAC,oBAAoB,CACvD,gBAAgB,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;QAEF,gDAAgD;QAChD,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,0BAAa,CAChC,KAAK,CAAC,KAAK,EACX,cAAc,CAAC,QAAQ,EACvB,aAAa,CAAC,QAAQ,CACvB,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,aAAa;SAC5B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,6DAA6D;IAC7D,aAAa;IACb,MAAM,KAAK,GAAG,IAAI,kBAAK,CAAC;QACtB,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,SAAS;KACV,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAnWD,gCAmWC;AAED,SAAgB,yBAAyB,CACvC,KAA2C,EAC3C,UAAuB,EACvB,OAAgB;IAEhB,IAAI,UAAU,CAAC,IAAI,IAAI,YAAQ,CAAC,gBAAgB,EAAE;QAChD,uCACK,iCAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,KACxD,EAAE,EAAE,IAAA,+CAAwB,EAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IACzD;KACH;SAAM,IAAI,UAAU,CAAC,IAAI,IAAI,YAAQ,CAAC,cAAc,EAAE;QACrD,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAChE,UAAU,CAAC;QAEb,uCACK,uBAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE;YACxC,SAAS;YACT,iBAAiB;YACjB,2BAA2B,EAAE,QAAQ;YACrC,gBAAgB;SACjB,CAAC,KACF,EAAE,EAAE,IAAA,4BAAwB,EAAC,OAAO,CAAC,IACrC;KACH;IAED,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;AACzD,CAAC;AA1BD,8DA0BC","sourcesContent":["import {\n MixedRouteSDK,\n Protocol,\n SwapRouter as SwapRouter02,\n Trade,\n} from '@fewprotocol/router-sdk';\nimport { ChainId, Currency, Token, TradeType } from '@fewprotocol/sdk-core';\nimport {\n UNIVERSAL_ROUTER_ADDRESS,\n SwapRouter as UniversalRouter,\n // UNIVERSAL_ROUTER_ADDRESS,\n} from '@fewprotocol/universal-router-sdk';\nimport { Route as RingFewV2RouteRaw } from '@fewprotocol/v2-sdk';\nimport { Route as V2RouteRaw } from '@fewprotocol/uniswap-v2-sdk';\nimport { Route as V3RouteRaw } from '@fewprotocol/uniswap-v3-sdk';\nimport { Route as V4RouteRaw } from '@fewprotocol/uniswap-v4-sdk';\nimport _ from 'lodash';\n\nimport {\n CurrencyAmount,\n MethodParameters,\n MixedRouteWithValidQuote,\n RouteWithValidQuote,\n SwapOptions,\n SwapType,\n SWAP_ROUTER_02_ADDRESSES,\n RingFewV2RouteWithValidQuote,\n V2RouteWithValidQuote,\n V3RouteWithValidQuote,\n V4RouteWithValidQuote,\n} from '..';\n\nexport function buildTrade<TTradeType extends TradeType>(\n tokenInCurrency: Currency,\n fewTokenInToken: Token,\n tokenOutCurrency: Currency,\n fewTokenOutToken: Token,\n tradeType: TTradeType,\n routeAmounts: RouteWithValidQuote[]\n): Trade<Currency, Currency, TTradeType> {\n /// Removed partition because of new mixedRoutes\n const v4RouteAmounts = _.filter(\n routeAmounts,\n (routeAmount) => routeAmount.protocol === Protocol.V4\n );\n const v3RouteAmounts = _.filter(\n routeAmounts,\n (routeAmount) => routeAmount.protocol === Protocol.V3\n );\n const v2RouteAmounts = _.filter(\n routeAmounts,\n (routeAmount) => routeAmount.protocol === Protocol.V2\n );\n const ringFewV2RouteAmounts = _.filter(\n routeAmounts,\n (routeAmount) => routeAmount.protocol === Protocol.FEWV2\n );\n const mixedRouteAmounts = _.filter(\n routeAmounts,\n (routeAmount) => routeAmount.protocol === Protocol.MIXED\n );\n\n // TODO: ROUTE-248 - refactor route objects for the trade object composition\n const v4Routes = _.map<\n V4RouteWithValidQuote,\n {\n routev4: V4RouteRaw<Currency, Currency>;\n inputAmount: CurrencyAmount;\n outputAmount: CurrencyAmount;\n }\n >(\n v4RouteAmounts as V4RouteWithValidQuote[],\n (routeAmount: V4RouteWithValidQuote) => {\n const { route, amount, quote } = routeAmount;\n\n // The route, amount and quote are all in terms of wrapped tokens.\n // When constructing the Trade object the inputAmount/outputAmount must\n // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.\n if (tradeType == TradeType.EXACT_INPUT) {\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n tokenInCurrency,\n amount.numerator,\n amount.denominator\n );\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n tokenOutCurrency,\n quote.numerator,\n quote.denominator\n );\n\n const routeRaw = new V4RouteRaw(\n route.pools,\n amountCurrency.currency,\n quoteCurrency.currency\n );\n\n return {\n routev4: routeRaw,\n inputAmount: amountCurrency,\n outputAmount: quoteCurrency,\n };\n } else {\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n tokenInCurrency,\n quote.numerator,\n quote.denominator\n );\n\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n tokenOutCurrency,\n amount.numerator,\n amount.denominator\n );\n\n const routeCurrency = new V4RouteRaw(\n route.pools,\n quoteCurrency.currency,\n amountCurrency.currency\n );\n\n return {\n routev4: routeCurrency,\n inputAmount: quoteCurrency,\n outputAmount: amountCurrency,\n };\n }\n }\n );\n\n const v3Routes = _.map<\n V3RouteWithValidQuote,\n {\n routev3: V3RouteRaw<Currency, Currency>;\n inputAmount: CurrencyAmount;\n outputAmount: CurrencyAmount;\n }\n >(\n v3RouteAmounts as V3RouteWithValidQuote[],\n (routeAmount: V3RouteWithValidQuote) => {\n const { route, amount, quote } = routeAmount;\n\n // The route, amount and quote are all in terms of wrapped tokens.\n // When constructing the Trade object the inputAmount/outputAmount must\n // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.\n if (tradeType == TradeType.EXACT_INPUT) {\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n tokenInCurrency,\n amount.numerator,\n amount.denominator\n );\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n tokenOutCurrency,\n quote.numerator,\n quote.denominator\n );\n\n const routeRaw = new V3RouteRaw(\n route.pools,\n amountCurrency.currency,\n quoteCurrency.currency\n );\n\n return {\n routev3: routeRaw,\n inputAmount: amountCurrency,\n outputAmount: quoteCurrency,\n };\n } else {\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n tokenInCurrency,\n quote.numerator,\n quote.denominator\n );\n\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n tokenOutCurrency,\n amount.numerator,\n amount.denominator\n );\n\n const routeCurrency = new V3RouteRaw(\n route.pools,\n quoteCurrency.currency,\n amountCurrency.currency\n );\n\n return {\n routev3: routeCurrency,\n inputAmount: quoteCurrency,\n outputAmount: amountCurrency,\n };\n }\n }\n );\n\n const v2Routes = _.map<\n V2RouteWithValidQuote,\n {\n routev2: V2RouteRaw<Currency, Currency>;\n inputAmount: CurrencyAmount;\n outputAmount: CurrencyAmount;\n }\n >(\n v2RouteAmounts as V2RouteWithValidQuote[],\n (routeAmount: V2RouteWithValidQuote) => {\n const { route, amount, quote } = routeAmount;\n\n // The route, amount and quote are all in terms of wrapped tokens.\n // When constructing the Trade object the inputAmount/outputAmount must\n // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.\n if (tradeType == TradeType.EXACT_INPUT) {\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n tokenInCurrency,\n amount.numerator,\n amount.denominator\n );\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n tokenOutCurrency,\n quote.numerator,\n quote.denominator\n );\n\n const routeV2SDK = new V2RouteRaw(\n route.pairs,\n amountCurrency.currency,\n quoteCurrency.currency\n );\n\n return {\n routev2: routeV2SDK,\n inputAmount: amountCurrency,\n outputAmount: quoteCurrency,\n };\n } else {\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n tokenInCurrency,\n quote.numerator,\n quote.denominator\n );\n\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n tokenOutCurrency,\n amount.numerator,\n amount.denominator\n );\n\n const routeV2SDK = new V2RouteRaw(\n route.pairs,\n quoteCurrency.currency,\n amountCurrency.currency\n );\n\n return {\n routev2: routeV2SDK,\n inputAmount: quoteCurrency,\n outputAmount: amountCurrency,\n };\n }\n }\n );\n\n const fewV2Routes = _.map<\n RingFewV2RouteWithValidQuote,\n {\n fewRouteV2: RingFewV2RouteRaw<Currency, Currency>;\n inputAmount: CurrencyAmount;\n outputAmount: CurrencyAmount;\n }\n >(\n ringFewV2RouteAmounts as RingFewV2RouteWithValidQuote[],\n (routeAmount: RingFewV2RouteWithValidQuote) => {\n const { route, amount, quote } = routeAmount;\n\n // The route, amount and quote are all in terms of wrapped tokens.\n // When constructing the Trade object the inputAmount/outputAmount must\n // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.\n if (tradeType == TradeType.EXACT_INPUT) {\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n fewTokenInToken,\n amount.numerator,\n amount.denominator\n );\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n fewTokenOutToken,\n quote.numerator,\n quote.denominator\n );\n\n const ringFewRouteV2SDK = new RingFewV2RouteRaw(\n route.pairs,\n amountCurrency.currency,\n quoteCurrency.currency\n );\n\n return {\n fewRouteV2: ringFewRouteV2SDK,\n inputAmount: amountCurrency,\n outputAmount: quoteCurrency,\n };\n } else {\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n fewTokenInToken,\n quote.numerator,\n quote.denominator\n );\n\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n fewTokenOutToken,\n amount.numerator,\n amount.denominator\n );\n\n const ringFewRouteV2SDK = new RingFewV2RouteRaw(\n route.pairs,\n quoteCurrency.currency,\n amountCurrency.currency\n );\n\n return {\n fewRouteV2: ringFewRouteV2SDK,\n inputAmount: quoteCurrency,\n outputAmount: amountCurrency,\n };\n }\n }\n );\n\n const mixedRoutes = _.map<\n MixedRouteWithValidQuote,\n {\n mixedRoute: MixedRouteSDK<Currency, Currency>;\n inputAmount: CurrencyAmount;\n outputAmount: CurrencyAmount;\n }\n >(\n mixedRouteAmounts as MixedRouteWithValidQuote[],\n (routeAmount: MixedRouteWithValidQuote) => {\n const { route, amount, quote } = routeAmount;\n\n if (tradeType != TradeType.EXACT_INPUT) {\n throw new Error(\n 'Mixed routes are only supported for exact input trades'\n );\n }\n\n // The route, amount and quote are all in terms of wrapped tokens.\n // When constructing the Trade object the inputAmount/outputAmount must\n // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.\n const amountCurrency = CurrencyAmount.fromFractionalAmount(\n tokenInCurrency,\n amount.numerator,\n amount.denominator\n );\n const quoteCurrency = CurrencyAmount.fromFractionalAmount(\n tokenOutCurrency,\n quote.numerator,\n quote.denominator\n );\n\n // we cannot retain fake pools for mixed routes,\n // when we generate the ur swap calldata\n const routeRaw = new MixedRouteSDK(\n route.pools,\n amountCurrency.currency,\n quoteCurrency.currency\n );\n\n return {\n mixedRoute: routeRaw,\n inputAmount: amountCurrency,\n outputAmount: quoteCurrency,\n };\n }\n );\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const trade = new Trade({\n fewV2Routes,\n v2Routes,\n v3Routes,\n v4Routes,\n mixedRoutes,\n tradeType,\n });\n\n return trade;\n}\n\nexport function buildSwapMethodParameters(\n trade: Trade<Currency, Currency, TradeType>,\n swapConfig: SwapOptions,\n chainId: ChainId\n): MethodParameters {\n if (swapConfig.type == SwapType.UNIVERSAL_ROUTER) {\n return {\n ...UniversalRouter.swapCallParameters(trade, swapConfig),\n to: UNIVERSAL_ROUTER_ADDRESS(swapConfig.version, chainId),\n };\n } else if (swapConfig.type == SwapType.SWAP_ROUTER_02) {\n const { recipient, slippageTolerance, deadline, inputTokenPermit } =\n swapConfig;\n\n return {\n ...SwapRouter02.swapCallParameters(trade, {\n recipient,\n slippageTolerance,\n deadlineOrPreviousBlockhash: deadline,\n inputTokenPermit,\n }),\n to: SWAP_ROUTER_02_ADDRESSES(chainId),\n };\n }\n\n throw new Error(`Unsupported swap type ${swapConfig}`);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metric.js","sourceRoot":"","sources":["../../../src/util/metric.ts"],"names":[],"mappings":";;;AAEA,+BAA4B;AAE5B,IAAY,gBA4BX;AA5BD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,iDAA6B,CAAA;IAC7B,iDAA6B,CAAA;IAC7B,mCAAe,CAAA;IACf,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,2CAAuB,CAAA;IACvB,iCAAa,CAAA;IACb,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,mDAA+B,CAAA;IAC/B,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,iDAA6B,CAAA;IAC7B,yDAAqC,CAAA;IACrC,yDAAqC,CAAA;IACrC,yDAAqC,CAAA;IACrC,yDAAqC,CAAA;IACrC,mDAA+B,CAAA;IAC/B,iCAAa,CAAA;AACf,CAAC,EA5BW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA4B3B;AAED,MAAsB,OAAO;CAM5B;AAND,0BAMC;AAOD,MAAa,YAAa,SAAQ,OAAO;IAGvC,YAAY,OAAuB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,SAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAEM,WAAW,CAAC,GAAW,EAAE,KAAc;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,aAAa,CAAC,UAAkC;QACrD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAEM,SAAS,CAAC,GAAW,EAAE,KAAa,EAAE,IAAuB;QAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EACpB,aAAa,GAAG,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnD,CAAC;IACJ,CAAC;CACF;AAtBD,oCAsBC;AAEU,QAAA,MAAM,GAAY,IAAI,YAAY,EAAE,CAAC;AAEzC,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;IAClD,cAAM,GAAG,OAAO,CAAC;AACnB,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B","sourcesContent":["import Logger from 'bunyan';\n\nimport { log } from './log';\n\nexport enum MetricLoggerUnit {\n Seconds = 'Seconds',\n Microseconds = 'Microseconds',\n Milliseconds = 'Milliseconds',\n Bytes = 'Bytes',\n Kilobytes = 'Kilobytes',\n Megabytes = 'Megabytes',\n Gigabytes = 'Gigabytes',\n Terabytes = 'Terabytes',\n Bits = 'Bits',\n Kilobits = 'Kilobits',\n Megabits = 'Megabits',\n Gigabits = 'Gigabits',\n Terabits = 'Terabits',\n Percent = 'Percent',\n Count = 'Count',\n BytesPerSecond = 'Bytes/Second',\n KilobytesPerSecond = 'Kilobytes/Second',\n MegabytesPerSecond = 'Megabytes/Second',\n GigabytesPerSecond = 'Gigabytes/Second',\n TerabytesPerSecond = 'Terabytes/Second',\n BitsPerSecond = 'Bits/Second',\n KilobitsPerSecond = 'Kilobits/Second',\n MegabitsPerSecond = 'Megabits/Second',\n GigabitsPerSecond = 'Gigabits/Second',\n TerabitsPerSecond = 'Terabits/Second',\n CountPerSecond = 'Count/Second',\n None = 'None',\n}\n\nexport abstract class IMetric {\n abstract setProperty(key: string, value: unknown): void;\n\n abstract putDimensions(dimensions: Record<string, string>): void;\n\n abstract putMetric(key: string, value: number, unit?: MetricLoggerUnit): void;\n}\n\ninterface MetricContext {\n chainId: number;\n networkName: string;\n}\n\nexport class MetricLogger extends IMetric {\n private log: Logger;\n\n constructor(context?: MetricContext) {\n super();\n this.log = log.child(context || {});\n }\n\n public setProperty(key: string, value: unknown): void {\n this.log = this.log.child({ [key]: value });\n }\n\n public putDimensions(dimensions: Record<string, string>): void {\n this.log = this.log.child(dimensions);\n }\n\n public putMetric(key: string, value: number, unit?: MetricLoggerUnit): void {\n this.log.info(\n { key, value, unit },\n `[Metric]: ${key}: ${value} | ${unit ? unit : ''}`\n );\n }\n}\n\nexport let metric: IMetric = new MetricLogger();\n\nexport const setGlobalMetric = (_metric: IMetric) => {\n metric = _metric;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mixedRouteFilterOutV4Pools.js","sourceRoot":"","sources":["../../../src/util/mixedRouteFilterOutV4Pools.ts"],"names":[],"mappings":";;;AAAA,gEAA6D;AAG7D,SAAgB,yBAAyB,CAAC,KAAiB;IACzD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,OAAO,IAAI,YAAY,qBAAM,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,SAAgB,0BAA0B,CAAC,MAAoB;IAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,gEAIC","sourcesContent":["import { Pool as V4Pool } from '@fewprotocol/uniswap-v4-sdk';\nimport { MixedRoute } from '../routers';\n\nexport function mixedRouteContainsV4Pools(route: MixedRoute): boolean {\n return route.pools.some((pool) => {\n return pool instanceof V4Pool;\n });\n}\n\nexport function mixedRouteFilterOutV4Pools(routes: MixedRoute[]): MixedRoute[] {\n return routes.filter((route) => {\n return !mixedRouteContainsV4Pools(route);\n });\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onchainQuoteProviderConfigs.js","sourceRoot":"","sources":["../../../src/util/onchainQuoteProviderConfigs.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChainId } from '@fewprotocol/sdk-core';\n\nimport {\n BatchParams,\n BlockNumberConfig,\n FailureOverrides,\n QuoteRetryOptions,\n} from '../providers';\n\nexport const NETWORKS_WITH_SAME_RETRY_OPTIONS = Object.values(\n ChainId\n) as ChainId[];\n\nexport function constructSameRetryOptionsMap<T extends QuoteRetryOptions>(\n retryOptions: T,\n additionalNetworks: ChainId[] = []\n): { [chainId: number]: T } {\n return NETWORKS_WITH_SAME_RETRY_OPTIONS.concat(additionalNetworks).reduce<{\n [chainId: number]: T;\n }>((memo, chainId) => {\n memo[chainId] = retryOptions;\n return memo;\n }, {});\n}\n\nexport const DEFAULT_RETRY_OPTIONS: QuoteRetryOptions = {\n retries: 2,\n minTimeout: 100,\n maxTimeout: 1000,\n};\n\nexport const RETRY_OPTIONS = {\n ...constructSameRetryOptionsMap(DEFAULT_RETRY_OPTIONS),\n};\n\nexport const NETWORKS_WITH_SAME_BATCH_PARAMS = Object.values(\n ChainId\n) as ChainId[];\n\nexport function constructSameBatchParamsMap<T extends BatchParams>(\n batchParams: T,\n additionalNetworks: ChainId[] = []\n): { [chainId: number]: T } {\n return NETWORKS_WITH_SAME_BATCH_PARAMS.concat(additionalNetworks).reduce<{\n [chainId: number]: T;\n }>((memo, chainId) => {\n memo[chainId] = batchParams;\n return memo;\n }, {});\n}\n\nexport const DEFAULT_BATCH_PARAMS: BatchParams = {\n multicallChunk: 210,\n gasLimitPerCall: 705_000,\n quoteMinSuccessRate: 0.15,\n};\n\nexport const BATCH_PARAMS = {\n ...constructSameBatchParamsMap(DEFAULT_BATCH_PARAMS),\n};\n\nexport const NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES = Object.values(\n ChainId\n) as ChainId[];\n\nexport function constructSameGasErrorFailureOverridesMap<\n T extends FailureOverrides\n>(\n gasErrorFailureOverrides: T,\n additionalNetworks: ChainId[] = []\n): { [chainId: number]: T } {\n return NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES.concat(\n additionalNetworks\n ).reduce<{\n [chainId: number]: T;\n }>((memo, chainId) => {\n memo[chainId] = gasErrorFailureOverrides;\n return memo;\n }, {});\n}\n\nexport const DEFAULT_GAS_ERROR_FAILURE_OVERRIDES: FailureOverrides = {\n gasLimitOverride: 2_000_000,\n multicallChunk: 70,\n};\n\nexport const GAS_ERROR_FAILURE_OVERRIDES = {\n ...constructSameGasErrorFailureOverridesMap(\n DEFAULT_GAS_ERROR_FAILURE_OVERRIDES\n ),\n};\n\nexport const NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES = Object.values(\n ChainId\n) as ChainId[];\n\nexport function constructSameSuccessRateFailureOverridesMap<\n T extends FailureOverrides\n>(\n successRateFailureOverrides: T,\n additionalNetworks: ChainId[] = []\n): { [chainId: number]: T } {\n return NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES.concat(\n additionalNetworks\n ).reduce<{\n [chainId: number]: T;\n }>((memo, chainId) => {\n memo[chainId] = successRateFailureOverrides;\n return memo;\n }, {});\n}\n\nexport const DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES: FailureOverrides = {\n gasLimitOverride: 1_300_000,\n multicallChunk: 110,\n};\n\nexport const SUCCESS_RATE_FAILURE_OVERRIDES = {\n ...constructSameSuccessRateFailureOverridesMap(\n DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES\n ),\n};\n\nexport const NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS = Object.values(\n ChainId\n) as ChainId[];\n\nexport function constructSameBlockNumberConfigsMap<T extends BlockNumberConfig>(\n blockNumberConfigs: T,\n additionalNetworks: ChainId[] = []\n): { [chainId: number]: T } {\n return NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS.concat(\n additionalNetworks\n ).reduce<{\n [chainId: number]: T;\n }>((memo, chainId) => {\n memo[chainId] = blockNumberConfigs;\n return memo;\n }, {});\n}\n\nexport const DEFAULT_BLOCK_NUMBER_CONFIGS: BlockNumberConfig = {\n baseBlockOffset: 0,\n rollback: { enabled: false },\n};\n\nexport const BLOCK_NUMBER_CONFIGS = {\n ...constructSameBlockNumberConfigsMap(DEFAULT_BLOCK_NUMBER_CONFIGS),\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/util/pool.ts"],"names":[],"mappings":"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","sourcesContent":["import { ADDRESS_ZERO } from '@fewprotocol/router-sdk';\nimport { ChainId } from '@fewprotocol/sdk-core';\nimport { Pool as V4Pool } from '@fewprotocol/uniswap-v4-sdk';\n\nimport { nativeOnChain } from './chains';\n\nconst FAKE_TICK_SPACING = 0;\n\nexport const V4_ETH_WETH_FAKE_POOL: { [chainId in ChainId]: V4Pool } = {\n [ChainId.HYPER_MAINNET]: new V4Pool(\n nativeOnChain(ChainId.HYPER_MAINNET),\n nativeOnChain(ChainId.HYPER_MAINNET).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.MAINNET]: new V4Pool(\n nativeOnChain(ChainId.MAINNET),\n nativeOnChain(ChainId.MAINNET).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.GOERLI]: new V4Pool(\n nativeOnChain(ChainId.GOERLI),\n nativeOnChain(ChainId.GOERLI).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.SEPOLIA]: new V4Pool(\n nativeOnChain(ChainId.SEPOLIA),\n nativeOnChain(ChainId.SEPOLIA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.OPTIMISM]: new V4Pool(\n nativeOnChain(ChainId.OPTIMISM),\n nativeOnChain(ChainId.OPTIMISM).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.OPTIMISM_GOERLI]: new V4Pool(\n nativeOnChain(ChainId.OPTIMISM_GOERLI),\n nativeOnChain(ChainId.OPTIMISM_GOERLI).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.OPTIMISM_SEPOLIA]: new V4Pool(\n nativeOnChain(ChainId.OPTIMISM_SEPOLIA),\n nativeOnChain(ChainId.OPTIMISM_SEPOLIA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.ARBITRUM_ONE]: new V4Pool(\n nativeOnChain(ChainId.ARBITRUM_ONE),\n nativeOnChain(ChainId.ARBITRUM_ONE).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.ARBITRUM_GOERLI]: new V4Pool(\n nativeOnChain(ChainId.ARBITRUM_GOERLI),\n nativeOnChain(ChainId.ARBITRUM_GOERLI).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.ARBITRUM_SEPOLIA]: new V4Pool(\n nativeOnChain(ChainId.ARBITRUM_SEPOLIA),\n nativeOnChain(ChainId.ARBITRUM_SEPOLIA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.POLYGON]: new V4Pool(\n nativeOnChain(ChainId.POLYGON),\n nativeOnChain(ChainId.POLYGON).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.POLYGON_MUMBAI]: new V4Pool(\n nativeOnChain(ChainId.POLYGON_MUMBAI),\n nativeOnChain(ChainId.POLYGON_MUMBAI).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.CELO]: new V4Pool(\n nativeOnChain(ChainId.CELO),\n nativeOnChain(ChainId.CELO).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.CELO_ALFAJORES]: new V4Pool(\n nativeOnChain(ChainId.CELO_ALFAJORES),\n nativeOnChain(ChainId.CELO_ALFAJORES).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.GNOSIS]: new V4Pool(\n nativeOnChain(ChainId.GNOSIS),\n nativeOnChain(ChainId.GNOSIS).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.MOONBEAM]: new V4Pool(\n nativeOnChain(ChainId.MOONBEAM),\n nativeOnChain(ChainId.MOONBEAM).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.BNB]: new V4Pool(\n nativeOnChain(ChainId.BNB),\n nativeOnChain(ChainId.BNB).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.AVALANCHE]: new V4Pool(\n nativeOnChain(ChainId.AVALANCHE),\n nativeOnChain(ChainId.AVALANCHE).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.BASE_GOERLI]: new V4Pool(\n nativeOnChain(ChainId.BASE_GOERLI),\n nativeOnChain(ChainId.BASE_GOERLI).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.BASE_SEPOLIA]: new V4Pool(\n nativeOnChain(ChainId.BASE_SEPOLIA),\n nativeOnChain(ChainId.BASE_SEPOLIA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.BASE]: new V4Pool(\n nativeOnChain(ChainId.BASE),\n nativeOnChain(ChainId.BASE).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.ZORA]: new V4Pool(\n nativeOnChain(ChainId.ZORA),\n nativeOnChain(ChainId.ZORA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.ZORA_SEPOLIA]: new V4Pool(\n nativeOnChain(ChainId.ZORA_SEPOLIA),\n nativeOnChain(ChainId.ZORA_SEPOLIA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.ROOTSTOCK]: new V4Pool(\n nativeOnChain(ChainId.ROOTSTOCK),\n nativeOnChain(ChainId.ROOTSTOCK).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.BLAST]: new V4Pool(\n nativeOnChain(ChainId.BLAST),\n nativeOnChain(ChainId.BLAST).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.ZKSYNC]: new V4Pool(\n nativeOnChain(ChainId.ZKSYNC),\n nativeOnChain(ChainId.ZKSYNC).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.WORLDCHAIN]: new V4Pool(\n nativeOnChain(ChainId.WORLDCHAIN),\n nativeOnChain(ChainId.WORLDCHAIN).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.UNICHAIN_SEPOLIA]: new V4Pool(\n nativeOnChain(ChainId.UNICHAIN_SEPOLIA),\n nativeOnChain(ChainId.UNICHAIN_SEPOLIA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.UNICHAIN]: new V4Pool(\n nativeOnChain(ChainId.UNICHAIN),\n nativeOnChain(ChainId.UNICHAIN).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.MONAD_TESTNET]: new V4Pool(\n nativeOnChain(ChainId.MONAD_TESTNET),\n nativeOnChain(ChainId.MONAD_TESTNET).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.BLAST_SEPOLIA]: new V4Pool(\n nativeOnChain(ChainId.BLAST_SEPOLIA),\n nativeOnChain(ChainId.BLAST_SEPOLIA).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.STORY_MAINNET]: new V4Pool(\n nativeOnChain(ChainId.STORY_MAINNET),\n nativeOnChain(ChainId.STORY_MAINNET).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.STORY_ODYSSEY]: new V4Pool(\n nativeOnChain(ChainId.STORY_ODYSSEY),\n nativeOnChain(ChainId.STORY_ODYSSEY).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n [ChainId.SONEIUM]: new V4Pool(\n nativeOnChain(ChainId.SONEIUM),\n nativeOnChain(ChainId.SONEIUM).wrapped,\n 0,\n FAKE_TICK_SPACING,\n ADDRESS_ZERO,\n 79228162514264337593543950336,\n 0,\n 0\n ),\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/util/protocols.ts"],"names":[],"mappings":";;;AAAA,wDAAmD;AAE5C,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAY,EAAE;IACxD,QAAQ,QAAQ,CAAC,WAAW,EAAE,EAAE;QAC9B,KAAK,IAAI;YACP,OAAO,qBAAQ,CAAC,EAAE,CAAC;QACrB,KAAK,IAAI;YACP,OAAO,qBAAQ,CAAC,EAAE,CAAC;QACrB,KAAK,IAAI;YACP,OAAO,qBAAQ,CAAC,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,qBAAQ,CAAC,KAAK,CAAC;QACxB,KAAK,OAAO;YACV,OAAO,qBAAQ,CAAC,KAAK,CAAC;QACxB;YACE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC7C;AACH,CAAC,CAAC;AAfW,QAAA,WAAW,eAetB","sourcesContent":["import { Protocol } from '@fewprotocol/router-sdk';\n\nexport const TO_PROTOCOL = (protocol: string): Protocol => {\n switch (protocol.toLowerCase()) {\n case 'v4':\n return Protocol.V4;\n case 'v3':\n return Protocol.V3;\n case 'v2':\n return Protocol.V2;\n case 'fewv2':\n return Protocol.FEWV2;\n case 'mixed':\n return Protocol.MIXED;\n default:\n throw new Error(`Unknown protocol: {id}`);\n }\n};\n"]}
|