@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":"v2-quoter.js","sourceRoot":"","sources":["../../../../../src/routers/alpha-router/quoters/v2-quoter.ts"],"names":[],"mappings":"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","sourcesContent":["import { BigNumber } from '@ethersproject/bignumber';\nimport { Protocol } from '@fewprotocol/router-sdk';\nimport { ChainId, Currency, Token, TradeType } from '@fewprotocol/sdk-core';\nimport _ from 'lodash';\n\nimport {\n ITokenListProvider,\n ITokenProvider,\n ITokenValidatorProvider,\n IV2PoolProvider,\n IV2QuoteProvider,\n IV2SubgraphProvider,\n TokenValidationResult,\n} from '../../../providers';\nimport {\n ArbitrumGasData,\n IL2GasDataProvider,\n} from '../../../providers/v3/gas-data-provider';\nimport {\n CurrencyAmount,\n log,\n metric,\n MetricLoggerUnit,\n routeToString,\n} from '../../../util';\nimport { V2Route } from '../../router';\nimport { AlphaRouterConfig } from '../alpha-router';\nimport { V2RouteWithValidQuote } from '../entities';\nimport { computeAllV2Routes } from '../functions/compute-all-routes';\nimport {\n CandidatePoolsBySelectionCriteria,\n V2CandidatePools,\n} from '../functions/get-candidate-pools';\nimport { IGasModel, IV2GasModelFactory } from '../gas-models';\nimport { NATIVE_OVERHEAD } from '../gas-models/gas-costs';\n\nimport { BaseQuoter } from './base-quoter';\nimport { GetQuotesResult } from './model/results/get-quotes-result';\nimport { GetRoutesResult } from './model/results/get-routes-result';\n\nexport class V2Quoter extends BaseQuoter<V2CandidatePools, V2Route, Token> {\n protected v2SubgraphProvider: IV2SubgraphProvider;\n protected v2PoolProvider: IV2PoolProvider;\n protected v2QuoteProvider: IV2QuoteProvider;\n protected v2GasModelFactory: IV2GasModelFactory;\n protected l2GasDataProvider?: IL2GasDataProvider<ArbitrumGasData>;\n\n constructor(\n v2SubgraphProvider: IV2SubgraphProvider,\n v2PoolProvider: IV2PoolProvider,\n v2QuoteProvider: IV2QuoteProvider,\n v2GasModelFactory: IV2GasModelFactory,\n tokenProvider: ITokenProvider,\n chainId: ChainId,\n blockedTokenListProvider?: ITokenListProvider,\n tokenValidatorProvider?: ITokenValidatorProvider,\n l2GasDataProvider?: IL2GasDataProvider<ArbitrumGasData>\n ) {\n super(\n tokenProvider,\n chainId,\n Protocol.V2,\n blockedTokenListProvider,\n tokenValidatorProvider\n );\n this.v2SubgraphProvider = v2SubgraphProvider;\n this.v2PoolProvider = v2PoolProvider;\n this.v2QuoteProvider = v2QuoteProvider;\n this.v2GasModelFactory = v2GasModelFactory;\n this.l2GasDataProvider = l2GasDataProvider;\n }\n\n protected async getRoutes(\n tokenIn: Token,\n tokenOut: Token,\n v2CandidatePools: V2CandidatePools,\n _tradeType: TradeType,\n routingConfig: AlphaRouterConfig\n ): Promise<GetRoutesResult<V2Route>> {\n const beforeGetRoutes = Date.now();\n // Fetch all the pools that we will consider routing via. There are thousands\n // of pools, so we filter them to a set of candidate pools that we expect will\n // result in good prices.\n const { poolAccessor, candidatePools } = v2CandidatePools;\n const poolsRaw = poolAccessor.getAllPools();\n\n // Drop any pools that contain tokens that can not be transferred according to the token validator.\n const pools = await this.applyTokenValidatorToPools(\n poolsRaw,\n (\n token: Currency,\n tokenValidation: TokenValidationResult | undefined\n ): boolean => {\n // If there is no available validation result we assume the token is fine.\n if (!tokenValidation) {\n return false;\n }\n\n // Only filters out *intermediate* pools that involve tokens that we detect\n // cant be transferred. This prevents us trying to route through tokens that may\n // not be transferrable, but allows users to still swap those tokens if they\n // specify.\n if (\n tokenValidation == TokenValidationResult.STF &&\n (token.equals(tokenIn) || token.equals(tokenOut))\n ) {\n return false;\n }\n\n return tokenValidation == TokenValidationResult.STF;\n }\n );\n\n // Given all our candidate pools, compute all the possible ways to route from tokenIn to tokenOut.\n const { maxSwapsPerPath } = routingConfig;\n const routes = computeAllV2Routes(\n tokenIn,\n tokenOut,\n pools,\n maxSwapsPerPath\n );\n\n metric.putMetric(\n 'V2GetRoutesLoad',\n Date.now() - beforeGetRoutes,\n MetricLoggerUnit.Milliseconds\n );\n\n metric.putMetric(\n `V2GetRoutesLoad_Chain${this.chainId}`,\n Date.now() - beforeGetRoutes,\n MetricLoggerUnit.Milliseconds\n );\n\n return {\n routes,\n candidatePools,\n };\n }\n\n public override async getQuotes(\n routes: V2Route[],\n amounts: CurrencyAmount[],\n percents: number[],\n quoteToken: Token,\n tradeType: TradeType,\n _routingConfig: AlphaRouterConfig,\n candidatePools?: CandidatePoolsBySelectionCriteria,\n _gasModel?: IGasModel<V2RouteWithValidQuote>,\n gasPriceWei?: BigNumber\n ): Promise<GetQuotesResult> {\n const beforeGetQuotes = Date.now();\n log.info('Starting to get V2 quotes');\n if (gasPriceWei === undefined) {\n throw new Error('GasPriceWei for V2Routes is required to getQuotes');\n }\n // throw if we have no amounts or if there are different tokens in the amounts\n if (\n amounts.length == 0 ||\n !amounts.every((amount) => amount.currency.equals(amounts[0]!.currency))\n ) {\n throw new Error(\n 'Amounts must have at least one amount and must be same token'\n );\n }\n // safe to force unwrap here because we throw if there are no amounts\n const amountToken = amounts[0]!.currency;\n const gasToken = _routingConfig.gasToken\n ? (\n await this.tokenProvider.getTokens([_routingConfig.gasToken])\n ).getTokenByAddress(_routingConfig.gasToken)\n : undefined;\n\n if (routes.length == 0) {\n return { routesWithValidQuotes: [], candidatePools };\n }\n\n // For all our routes, and all the fractional amounts, fetch quotes on-chain.\n const quoteFn =\n tradeType == TradeType.EXACT_INPUT\n ? this.v2QuoteProvider.getQuotesManyExactIn.bind(this.v2QuoteProvider)\n : this.v2QuoteProvider.getQuotesManyExactOut.bind(this.v2QuoteProvider);\n\n const beforeQuotes = Date.now();\n\n log.info(\n `Getting quotes for V2 for ${routes.length} routes with ${amounts.length} amounts per route.`\n );\n const { routesWithQuotes } = await quoteFn(amounts, routes, _routingConfig);\n\n const v2GasModel = await this.v2GasModelFactory.buildGasModel({\n chainId: this.chainId,\n gasPriceWei,\n poolProvider: this.v2PoolProvider,\n token: quoteToken,\n l2GasDataProvider: this.l2GasDataProvider,\n providerConfig: {\n ..._routingConfig,\n additionalGasOverhead: NATIVE_OVERHEAD(\n this.chainId,\n amountToken,\n quoteToken\n ),\n gasToken,\n },\n });\n\n metric.putMetric(\n 'V2QuotesLoad',\n Date.now() - beforeQuotes,\n MetricLoggerUnit.Milliseconds\n );\n\n metric.putMetric(\n 'V2QuotesFetched',\n _(routesWithQuotes)\n .map(([, quotes]) => quotes.length)\n .sum(),\n MetricLoggerUnit.Count\n );\n\n const routesWithValidQuotes = [];\n\n for (const routeWithQuote of routesWithQuotes) {\n const [route, quotes] = routeWithQuote;\n\n for (let i = 0; i < quotes.length; i++) {\n const percent = percents[i]!;\n const amountQuote = quotes[i]!;\n const { quote, amount } = amountQuote;\n\n if (!quote) {\n log.debug(\n {\n route: routeToString(route),\n amountQuote,\n },\n 'Dropping a null V2 quote for route.'\n );\n continue;\n }\n\n const routeWithValidQuote = new V2RouteWithValidQuote({\n route,\n rawQuote: quote,\n amount,\n percent,\n gasModel: v2GasModel,\n quoteToken,\n tradeType,\n v2PoolProvider: this.v2PoolProvider,\n });\n\n routesWithValidQuotes.push(routeWithValidQuote);\n }\n }\n\n metric.putMetric(\n 'V2GetQuotesLoad',\n Date.now() - beforeGetQuotes,\n MetricLoggerUnit.Milliseconds\n );\n\n return {\n routesWithValidQuotes,\n candidatePools,\n };\n }\n\n public async refreshRoutesThenGetQuotes(\n tokenIn: Token,\n tokenOut: Token,\n routes: V2Route[],\n amounts: CurrencyAmount[],\n percents: number[],\n quoteToken: Token,\n tradeType: TradeType,\n routingConfig: AlphaRouterConfig,\n gasPriceWei?: BigNumber\n ): Promise<GetQuotesResult> {\n const tokenPairs: [Token, Token][] = [];\n routes.forEach((route) =>\n route.pairs.forEach((pair) => tokenPairs.push([pair.token0, pair.token1]))\n );\n\n return this.v2PoolProvider\n .getPools(tokenPairs, routingConfig)\n .then((poolAccesor) => {\n const routes = computeAllV2Routes(\n tokenIn,\n tokenOut,\n poolAccesor.getAllPools(),\n routingConfig.maxSwapsPerPath\n );\n\n return this.getQuotes(\n routes,\n amounts,\n percents,\n quoteToken,\n tradeType,\n routingConfig,\n undefined,\n undefined,\n gasPriceWei\n );\n });\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v3-quoter.js","sourceRoot":"","sources":["../../../../../src/routers/alpha-router/quoters/v3-quoter.ts"],"names":[],"mappings":"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","sourcesContent":["import { Protocol } from '@fewprotocol/router-sdk';\nimport { ChainId, Currency, Token, TradeType } from '@fewprotocol/sdk-core';\nimport _ from 'lodash';\n\nimport {\n IOnChainQuoteProvider,\n ITokenListProvider,\n ITokenProvider,\n ITokenValidatorProvider,\n IV3PoolProvider,\n IV3SubgraphProvider,\n TokenValidationResult,\n} from '../../../providers';\nimport {\n CurrencyAmount,\n log,\n metric,\n MetricLoggerUnit,\n routeToString,\n} from '../../../util';\nimport { V3Route } from '../../router';\nimport { AlphaRouterConfig } from '../alpha-router';\nimport { V3RouteWithValidQuote } from '../entities';\nimport { computeAllV3Routes } from '../functions/compute-all-routes';\nimport {\n CandidatePoolsBySelectionCriteria,\n V3CandidatePools,\n} from '../functions/get-candidate-pools';\nimport { IGasModel } from '../gas-models';\n\nimport { BaseQuoter } from './base-quoter';\nimport { GetQuotesResult } from './model/results/get-quotes-result';\nimport { GetRoutesResult } from './model/results/get-routes-result';\n\nexport class V3Quoter extends BaseQuoter<V3CandidatePools, V3Route, Token> {\n protected v3SubgraphProvider: IV3SubgraphProvider;\n protected v3PoolProvider: IV3PoolProvider;\n protected onChainQuoteProvider: IOnChainQuoteProvider;\n\n constructor(\n v3SubgraphProvider: IV3SubgraphProvider,\n v3PoolProvider: IV3PoolProvider,\n onChainQuoteProvider: IOnChainQuoteProvider,\n tokenProvider: ITokenProvider,\n chainId: ChainId,\n blockedTokenListProvider?: ITokenListProvider,\n tokenValidatorProvider?: ITokenValidatorProvider\n ) {\n super(\n tokenProvider,\n chainId,\n Protocol.V3,\n blockedTokenListProvider,\n tokenValidatorProvider\n );\n this.v3SubgraphProvider = v3SubgraphProvider;\n this.v3PoolProvider = v3PoolProvider;\n this.onChainQuoteProvider = onChainQuoteProvider;\n }\n\n protected async getRoutes(\n tokenIn: Token,\n tokenOut: Token,\n v3CandidatePools: V3CandidatePools,\n _tradeType: TradeType,\n routingConfig: AlphaRouterConfig\n ): Promise<GetRoutesResult<V3Route>> {\n const beforeGetRoutes = Date.now();\n // Fetch all the pools that we will consider routing via. There are thousands\n // of pools, so we filter them to a set of candidate pools that we expect will\n // result in good prices.\n const { poolAccessor, candidatePools } = v3CandidatePools;\n const poolsRaw = poolAccessor.getAllPools();\n\n // Drop any pools that contain fee on transfer tokens (not supported by v3) or have issues with being transferred.\n const pools = await this.applyTokenValidatorToPools(\n poolsRaw,\n (\n token: Currency,\n tokenValidation: TokenValidationResult | undefined\n ): boolean => {\n // If there is no available validation result we assume the token is fine.\n if (!tokenValidation) {\n return false;\n }\n\n // Only filters out *intermediate* pools that involve tokens that we detect\n // cant be transferred. This prevents us trying to route through tokens that may\n // not be transferrable, but allows users to still swap those tokens if they\n // specify.\n //\n if (\n tokenValidation == TokenValidationResult.STF &&\n (token.equals(tokenIn) || token.equals(tokenOut))\n ) {\n return false;\n }\n\n return (\n tokenValidation == TokenValidationResult.FOT ||\n tokenValidation == TokenValidationResult.STF\n );\n }\n );\n\n // Given all our candidate pools, compute all the possible ways to route from tokenIn to tokenOut.\n const { maxSwapsPerPath } = routingConfig;\n const routes = computeAllV3Routes(\n tokenIn,\n tokenOut,\n pools,\n maxSwapsPerPath\n );\n\n metric.putMetric(\n 'V3GetRoutesLoad',\n Date.now() - beforeGetRoutes,\n MetricLoggerUnit.Milliseconds\n );\n\n metric.putMetric(\n `V3GetRoutesLoad_Chain${this.chainId}`,\n Date.now() - beforeGetRoutes,\n MetricLoggerUnit.Milliseconds\n );\n\n return {\n routes,\n candidatePools,\n };\n }\n\n public override async getQuotes(\n routes: V3Route[],\n amounts: CurrencyAmount[],\n percents: number[],\n quoteToken: Token,\n tradeType: TradeType,\n routingConfig: AlphaRouterConfig,\n candidatePools?: CandidatePoolsBySelectionCriteria,\n gasModel?: IGasModel<V3RouteWithValidQuote>\n ): Promise<GetQuotesResult> {\n const beforeGetQuotes = Date.now();\n log.info('Starting to get V3 quotes');\n\n if (gasModel === undefined) {\n throw new Error(\n 'GasModel for V3RouteWithValidQuote is required to getQuotes'\n );\n }\n\n if (routes.length == 0) {\n return { routesWithValidQuotes: [], candidatePools };\n }\n\n // For all our routes, and all the fractional amounts, fetch quotes on-chain.\n const quoteFn =\n tradeType == TradeType.EXACT_INPUT\n ? this.onChainQuoteProvider.getQuotesManyExactIn.bind(\n this.onChainQuoteProvider\n )\n : this.onChainQuoteProvider.getQuotesManyExactOut.bind(\n this.onChainQuoteProvider\n );\n\n const beforeQuotes = Date.now();\n log.info(\n `Getting quotes for V3 for ${routes.length} routes with ${amounts.length} amounts per route.`\n );\n\n const { routesWithQuotes } = await quoteFn<V3Route>(\n amounts,\n routes,\n routingConfig\n );\n\n metric.putMetric(\n 'V3QuotesLoad',\n Date.now() - beforeQuotes,\n MetricLoggerUnit.Milliseconds\n );\n\n metric.putMetric(\n 'V3QuotesFetched',\n _(routesWithQuotes)\n .map(([, quotes]) => quotes.length)\n .sum(),\n MetricLoggerUnit.Count\n );\n\n const routesWithValidQuotes = [];\n\n for (const routeWithQuote of routesWithQuotes) {\n const [route, quotes] = routeWithQuote;\n\n for (let i = 0; i < quotes.length; i++) {\n const percent = percents[i]!;\n const amountQuote = quotes[i]!;\n const {\n quote,\n amount,\n sqrtPriceX96AfterList,\n initializedTicksCrossedList,\n gasEstimate,\n } = amountQuote;\n\n if (\n !quote ||\n !sqrtPriceX96AfterList ||\n !initializedTicksCrossedList ||\n !gasEstimate\n ) {\n log.debug(\n {\n route: routeToString(route),\n amountQuote,\n },\n 'Dropping a null V3 quote for route.'\n );\n continue;\n }\n\n const routeWithValidQuote = new V3RouteWithValidQuote({\n route,\n rawQuote: quote,\n amount,\n percent,\n sqrtPriceX96AfterList,\n initializedTicksCrossedList,\n quoterGasEstimate: gasEstimate,\n gasModel,\n quoteToken,\n tradeType,\n v3PoolProvider: this.v3PoolProvider,\n });\n\n routesWithValidQuotes.push(routeWithValidQuote);\n }\n }\n\n metric.putMetric(\n 'V3GetQuotesLoad',\n Date.now() - beforeGetQuotes,\n MetricLoggerUnit.Milliseconds\n );\n\n return {\n routesWithValidQuotes,\n candidatePools,\n };\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v4-quoter.js","sourceRoot":"","sources":["../../../../../src/routers/alpha-router/quoters/v4-quoter.ts"],"names":[],"mappings":"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","sourcesContent":["import { Protocol } from '@fewprotocol/router-sdk';\nimport { ChainId, Currency, TradeType } from '@fewprotocol/sdk-core';\nimport _ from 'lodash';\n\nimport {\n IOnChainQuoteProvider,\n ITokenListProvider,\n ITokenProvider,\n ITokenValidatorProvider,\n IV4PoolProvider,\n IV4SubgraphProvider,\n TokenValidationResult,\n} from '../../../providers';\nimport {\n CurrencyAmount,\n log,\n metric,\n MetricLoggerUnit,\n routeToString,\n} from '../../../util';\nimport { V4Route } from '../../router';\nimport { AlphaRouterConfig } from '../alpha-router';\nimport { RouteWithValidQuote, V4RouteWithValidQuote } from '../entities';\nimport { computeAllV4Routes } from '../functions/compute-all-routes';\nimport {\n CandidatePoolsBySelectionCriteria,\n V4CandidatePools,\n} from '../functions/get-candidate-pools';\nimport { IGasModel } from '../gas-models';\n\nimport { BaseQuoter } from './base-quoter';\nimport { GetQuotesResult, GetRoutesResult } from './model';\n\nexport class V4Quoter extends BaseQuoter<V4CandidatePools, V4Route, Currency> {\n protected v4SubgraphProvider: IV4SubgraphProvider;\n protected v4PoolProvider: IV4PoolProvider;\n protected onChainQuoteProvider: IOnChainQuoteProvider;\n\n constructor(\n v4SubgraphProvider: IV4SubgraphProvider,\n v4PoolProvider: IV4PoolProvider,\n onChainQuoteProvider: IOnChainQuoteProvider,\n tokenProvider: ITokenProvider,\n chainId: ChainId,\n blockedTokenListProvider?: ITokenListProvider,\n tokenValidatorProvider?: ITokenValidatorProvider\n ) {\n super(\n tokenProvider,\n chainId,\n Protocol.V4,\n blockedTokenListProvider,\n tokenValidatorProvider\n );\n this.v4SubgraphProvider = v4SubgraphProvider;\n this.v4PoolProvider = v4PoolProvider;\n this.onChainQuoteProvider = onChainQuoteProvider;\n }\n\n protected async getRoutes(\n currencyIn: Currency,\n currencyOut: Currency,\n v4CandidatePools: V4CandidatePools,\n _tradeType: TradeType,\n routingConfig: AlphaRouterConfig\n ): Promise<GetRoutesResult<V4Route>> {\n const beforeGetRoutes = Date.now();\n // Fetch all the pools that we will consider routing via. There are thousands\n // of pools, so we filter them to a set of candidate pools that we expect will\n // result in good prices.\n const { poolAccessor, candidatePools } = v4CandidatePools;\n const poolsRaw = poolAccessor.getAllPools();\n\n // Drop any pools that contain fee on transfer tokens (not supported by v4) or have issues with being transferred.\n const pools = await this.applyTokenValidatorToPools(\n poolsRaw,\n (\n token: Currency,\n tokenValidation: TokenValidationResult | undefined\n ): boolean => {\n // If there is no available validation result we assume the token is fine.\n if (!tokenValidation) {\n return false;\n }\n\n // Only filters out *intermediate* pools that involve tokens that we detect\n // cant be transferred. This prevents us trying to route through tokens that may\n // not be transferrable, but allows users to still swap those tokens if they\n // specify.\n //\n if (\n tokenValidation == TokenValidationResult.STF &&\n (token.equals(currencyIn) || token.equals(currencyOut))\n ) {\n return false;\n }\n\n return (\n tokenValidation == TokenValidationResult.FOT ||\n tokenValidation == TokenValidationResult.STF\n );\n }\n );\n\n // Given all our candidate pools, compute all the possible ways to route from currencyIn to tokenOut.\n const { maxSwapsPerPath } = routingConfig;\n const routes = computeAllV4Routes(\n currencyIn,\n currencyOut,\n pools,\n maxSwapsPerPath,\n routingConfig.hooksOptions\n );\n\n metric.putMetric(\n 'V4GetRoutesLoad',\n Date.now() - beforeGetRoutes,\n MetricLoggerUnit.Milliseconds\n );\n\n metric.putMetric(\n `V4GetRoutesLoad_Chain${this.chainId}`,\n Date.now() - beforeGetRoutes,\n MetricLoggerUnit.Milliseconds\n );\n\n return {\n routes,\n candidatePools,\n };\n }\n\n public override async getQuotes(\n routes: V4Route[],\n amounts: CurrencyAmount[],\n percents: number[],\n quoteCurrency: Currency,\n tradeType: TradeType,\n routingConfig: AlphaRouterConfig,\n candidatePools?: CandidatePoolsBySelectionCriteria,\n gasModel?: IGasModel<RouteWithValidQuote>\n ): Promise<GetQuotesResult> {\n const beforeGetQuotes = Date.now();\n log.info('Starting to get V4 quotes');\n\n if (gasModel === undefined) {\n throw new Error(\n 'GasModel for V4RouteWithValidQuote is required to getQuotes'\n );\n }\n\n if (routes.length == 0) {\n return { routesWithValidQuotes: [], candidatePools };\n }\n\n // For all our routes, and all the fractional amounts, fetch quotes on-chain.\n const quoteFn =\n tradeType == TradeType.EXACT_INPUT\n ? this.onChainQuoteProvider.getQuotesManyExactIn.bind(\n this.onChainQuoteProvider\n )\n : this.onChainQuoteProvider.getQuotesManyExactOut.bind(\n this.onChainQuoteProvider\n );\n\n const beforeQuotes = Date.now();\n log.info(\n `Getting quotes for V4 for ${routes.length} routes with ${amounts.length} amounts per route.`\n );\n\n const { routesWithQuotes } = await quoteFn<V4Route>(\n amounts,\n routes,\n routingConfig\n );\n\n metric.putMetric(\n 'V4QuotesLoad',\n Date.now() - beforeQuotes,\n MetricLoggerUnit.Milliseconds\n );\n\n metric.putMetric(\n 'V4QuotesFetched',\n _(routesWithQuotes)\n .map(([, quotes]) => quotes.length)\n .sum(),\n MetricLoggerUnit.Count\n );\n\n const routesWithValidQuotes = [];\n\n for (const routeWithQuote of routesWithQuotes) {\n const [route, quotes] = routeWithQuote;\n\n for (let i = 0; i < quotes.length; i++) {\n const percent = percents[i]!;\n const amountQuote = quotes[i]!;\n const {\n quote,\n amount,\n sqrtPriceX96AfterList,\n initializedTicksCrossedList,\n gasEstimate,\n } = amountQuote;\n\n if (\n !quote ||\n !sqrtPriceX96AfterList ||\n !initializedTicksCrossedList ||\n !gasEstimate\n ) {\n log.debug(\n {\n route: routeToString(route),\n amountQuote,\n },\n 'Dropping a null V4 quote for route.'\n );\n continue;\n }\n\n const routeWithValidQuote = new V4RouteWithValidQuote({\n route,\n rawQuote: quote,\n amount,\n percent,\n sqrtPriceX96AfterList,\n initializedTicksCrossedList,\n quoterGasEstimate: gasEstimate,\n gasModel,\n // TODO: ROUTE-306 make it unwrapped, once v4 gas model supports native quote currency\n // For now it's ok to keep it wrapped,\n // because the quote is the fairly accurate quote from the native currency routing\n quoteToken: quoteCurrency.wrapped,\n tradeType,\n v4PoolProvider: this.v4PoolProvider,\n });\n\n routesWithValidQuotes.push(routeWithValidQuote);\n }\n }\n\n metric.putMetric(\n 'V4GetQuotesLoad',\n Date.now() - beforeGetQuotes,\n MetricLoggerUnit.Milliseconds\n );\n\n return {\n routesWithValidQuotes,\n candidatePools,\n };\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,2CAAyB","sourcesContent":["export * from '../util/metric';\nexport * from './alpha-router';\nexport * from './legacy-router';\nexport * from './router';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bases.js","sourceRoot":"","sources":["../../../../src/routers/legacy-router/bases.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { ChainId, Token } from '@fewprotocol/sdk-core';\n\nimport {\n BTC_BNB,\n BUSD_BNB,\n DAI_AVAX,\n DAI_BNB,\n DAI_MAINNET,\n DAI_UNICHAIN,\n FEW_USDT_HYPER_MAINNET,\n ITokenProvider,\n USDB_BLAST,\n USDC_AVAX,\n USDC_BASE,\n USDC_BASE_SEPOLIA,\n USDC_BNB,\n USDC_MAINNET,\n USDC_SONEIUM,\n USDC_UNICHAIN,\n USDC_UNICHAIN_SEPOLIA,\n USDC_WORLDCHAIN,\n USDC_ZKSYNC,\n USDCE_ZKSYNC,\n USDT_BNB,\n USDT_MAINNET,\n USDT_MONAD_TESTNET,\n WBTC_MAINNET,\n WBTC_WORLDCHAIN,\n WLD_WORLDCHAIN,\n WMATIC_POLYGON,\n WMATIC_POLYGON_MUMBAI,\n} from '../../providers/token-provider';\nimport { FEW_WRAPPED_NATIVE_CURRENCY, WRAPPED_NATIVE_CURRENCY } from '../../util/chains';\n\ntype ChainTokenList = {\n readonly [chainId in ChainId]: Token[];\n};\n\nexport const BASES_TO_CHECK_TRADES_AGAINST = (\n _tokenProvider: ITokenProvider\n): ChainTokenList => {\n return {\n [ChainId.HYPER_MAINNET]: [\n FEW_WRAPPED_NATIVE_CURRENCY[ChainId.HYPER_MAINNET]!,\n FEW_USDT_HYPER_MAINNET,\n ],\n [ChainId.MAINNET]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.MAINNET]!,\n DAI_MAINNET,\n USDC_MAINNET,\n USDT_MAINNET,\n WBTC_MAINNET,\n ],\n [ChainId.GOERLI]: [WRAPPED_NATIVE_CURRENCY[ChainId.GOERLI]!],\n [ChainId.SEPOLIA]: [WRAPPED_NATIVE_CURRENCY[ChainId.SEPOLIA]!],\n [ChainId.OPTIMISM]: [WRAPPED_NATIVE_CURRENCY[ChainId.OPTIMISM]!],\n [ChainId.OPTIMISM_GOERLI]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.OPTIMISM_GOERLI]!,\n ],\n [ChainId.OPTIMISM_SEPOLIA]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.OPTIMISM_SEPOLIA]!,\n ],\n [ChainId.BLAST_SEPOLIA]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.BLAST_SEPOLIA]!,\n ],\n [ChainId.STORY_ODYSSEY]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.STORY_ODYSSEY]!,\n ],\n [ChainId.STORY_MAINNET]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.STORY_MAINNET]!,\n ],\n [ChainId.ARBITRUM_ONE]: [WRAPPED_NATIVE_CURRENCY[ChainId.ARBITRUM_ONE]!],\n [ChainId.ARBITRUM_GOERLI]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.ARBITRUM_GOERLI]!,\n ],\n [ChainId.ARBITRUM_SEPOLIA]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.ARBITRUM_SEPOLIA]!,\n ],\n [ChainId.POLYGON]: [WMATIC_POLYGON],\n [ChainId.POLYGON_MUMBAI]: [WMATIC_POLYGON_MUMBAI],\n [ChainId.CELO]: [WRAPPED_NATIVE_CURRENCY[ChainId.CELO]],\n [ChainId.CELO_ALFAJORES]: [WRAPPED_NATIVE_CURRENCY[ChainId.CELO_ALFAJORES]],\n [ChainId.GNOSIS]: [WRAPPED_NATIVE_CURRENCY[ChainId.GNOSIS]],\n [ChainId.MOONBEAM]: [WRAPPED_NATIVE_CURRENCY[ChainId.MOONBEAM]],\n [ChainId.BNB]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.BNB]!,\n BUSD_BNB,\n DAI_BNB,\n USDC_BNB,\n USDT_BNB,\n BTC_BNB,\n ],\n [ChainId.AVALANCHE]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.AVALANCHE]!,\n USDC_AVAX,\n DAI_AVAX,\n ],\n [ChainId.BASE]: [WRAPPED_NATIVE_CURRENCY[ChainId.BASE]!, USDC_BASE],\n [ChainId.BASE_GOERLI]: [WRAPPED_NATIVE_CURRENCY[ChainId.BASE_GOERLI]!],\n [ChainId.ZORA]: [WRAPPED_NATIVE_CURRENCY[ChainId.ZORA]!],\n [ChainId.ZORA_SEPOLIA]: [WRAPPED_NATIVE_CURRENCY[ChainId.ZORA_SEPOLIA]!],\n [ChainId.ROOTSTOCK]: [WRAPPED_NATIVE_CURRENCY[ChainId.ROOTSTOCK]!],\n [ChainId.BLAST]: [WRAPPED_NATIVE_CURRENCY[ChainId.BLAST]!, USDB_BLAST],\n [ChainId.ZKSYNC]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.ZKSYNC]!,\n USDCE_ZKSYNC,\n USDC_ZKSYNC,\n ],\n [ChainId.WORLDCHAIN]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.WORLDCHAIN]!,\n USDC_WORLDCHAIN,\n WLD_WORLDCHAIN,\n WBTC_WORLDCHAIN,\n ],\n [ChainId.UNICHAIN_SEPOLIA]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.UNICHAIN_SEPOLIA]!,\n USDC_UNICHAIN_SEPOLIA,\n ],\n [ChainId.UNICHAIN]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.UNICHAIN]!,\n DAI_UNICHAIN,\n USDC_UNICHAIN,\n ],\n [ChainId.MONAD_TESTNET]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.MONAD_TESTNET]!,\n USDT_MONAD_TESTNET,\n ],\n [ChainId.BASE_SEPOLIA]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.BASE_SEPOLIA]!,\n USDC_BASE_SEPOLIA,\n ],\n [ChainId.SONEIUM]: [\n WRAPPED_NATIVE_CURRENCY[ChainId.SONEIUM]!,\n USDC_SONEIUM,\n ],\n };\n};\n\nconst getBasePairByAddress = async (\n tokenProvider: ITokenProvider,\n _chainId: ChainId,\n fromAddress: string,\n toAddress: string\n): Promise<{ [tokenAddress: string]: Token[] }> => {\n const accessor = await tokenProvider.getTokens([toAddress]);\n const toToken: Token | undefined = accessor.getTokenByAddress(toAddress);\n\n if (!toToken) return {};\n\n return {\n [fromAddress]: [toToken],\n };\n};\n\nexport const ADDITIONAL_BASES = async (\n tokenProvider: ITokenProvider\n): Promise<{\n [chainId in ChainId]?: { [tokenAddress: string]: Token[] };\n}> => {\n return {\n [ChainId.MAINNET]: {\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0xA948E86885e12Fb09AfEF8C52142EBDbDf73cD18',\n '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984'\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0x561a4717537ff4AF5c687328c0f7E90a319705C0',\n '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984'\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0x956F47F50A910163D8BF957Cf5846D573E7f87CA',\n '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B'\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B',\n '0x956F47F50A910163D8BF957Cf5846D573E7f87CA'\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0x853d955acef822db058eb8505911ed77f175b99e',\n '0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0'\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0',\n '0x853d955acef822db058eb8505911ed77f175b99e'\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',\n '0xeb4c2781e4eba804ce9a9803c67d0893436bb27d'\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0xeb4c2781e4eba804ce9a9803c67d0893436bb27d',\n '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'\n )),\n },\n };\n};\n\n/**\n * Some tokens can only be swapped via certain pairs, so we override the list of bases that are considered for these\n * tokens.\n */\nexport const CUSTOM_BASES = async (\n tokenProvider: ITokenProvider\n): Promise<{\n [chainId in ChainId]?: { [tokenAddress: string]: Token[] };\n}> => {\n return {\n [ChainId.MAINNET]: {\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0xd46ba6d942050d489dbd938a2c909a5d5039a161',\n DAI_MAINNET.address\n )),\n ...(await getBasePairByAddress(\n tokenProvider,\n ChainId.MAINNET,\n '0xd46ba6d942050d489dbd938a2c909a5d5039a161',\n WRAPPED_NATIVE_CURRENCY[1]!.address\n )),\n },\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/routers/legacy-router/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC","sourcesContent":["export * from './legacy-router';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-router.js","sourceRoot":"","sources":["../../../../src/routers/legacy-router/legacy-router.ts"],"names":[],"mappings":"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","sourcesContent":["import { BigNumber } from '@ethersproject/bignumber';\nimport { Logger } from '@ethersproject/logger';\nimport { SwapRouter, Trade } from '@fewprotocol/router-sdk';\nimport { ChainId, Currency, Token, TradeType } from '@fewprotocol/sdk-core';\nimport { FeeAmount, MethodParameters, Pool, Route } from '@fewprotocol/uniswap-v3-sdk';\nimport _ from 'lodash';\n\nimport { IOnChainQuoteProvider, RouteWithQuotes } from '../../providers';\nimport { IMulticallProvider } from '../../providers/multicall-provider';\nimport {\n DAI_MAINNET,\n ITokenProvider,\n USDC_MAINNET,\n} from '../../providers/token-provider';\nimport { IV3PoolProvider } from '../../providers/v3/pool-provider';\nimport { SWAP_ROUTER_02_ADDRESSES } from '../../util';\nimport { CurrencyAmount } from '../../util/amounts';\nimport { log } from '../../util/log';\nimport { routeToString } from '../../util/routes';\nimport { V3RouteWithValidQuote } from '../alpha-router';\nimport { SwapOptionsSwapRouter02, SwapRoute, V3Route } from '../router';\n\nimport {\n ADDITIONAL_BASES,\n BASES_TO_CHECK_TRADES_AGAINST,\n CUSTOM_BASES,\n} from './bases';\n\nexport type LegacyRouterParams = {\n chainId: ChainId;\n multicall2Provider: IMulticallProvider;\n poolProvider: IV3PoolProvider;\n quoteProvider: IOnChainQuoteProvider;\n tokenProvider: ITokenProvider;\n};\n\n// Interface defaults to 2.\nconst MAX_HOPS = 2;\n\nexport type LegacyRoutingConfig = {\n blockNumber?: number;\n};\n\n/**\n * Replicates the router implemented in the V3 interface.\n * Code is mostly a copy from https://github.com/Uniswap/uniswap-interface/blob/0190b5a408c13016c87e1030ffc59326c085f389/src/hooks/useBestV3Trade.ts#L22-L23\n * with React/Redux hooks removed, and refactoring to allow re-use in other routers.\n */\nexport class LegacyRouter {\n protected chainId: ChainId;\n protected multicall2Provider: IMulticallProvider;\n protected poolProvider: IV3PoolProvider;\n protected quoteProvider: IOnChainQuoteProvider;\n protected tokenProvider: ITokenProvider;\n\n constructor({\n chainId,\n multicall2Provider,\n poolProvider,\n quoteProvider,\n tokenProvider,\n }: LegacyRouterParams) {\n this.chainId = chainId;\n this.multicall2Provider = multicall2Provider;\n this.poolProvider = poolProvider;\n this.quoteProvider = quoteProvider;\n this.tokenProvider = tokenProvider;\n }\n public async route(\n amount: CurrencyAmount,\n quoteCurrency: Currency,\n swapType: TradeType,\n swapConfig?: SwapOptionsSwapRouter02,\n partialRoutingConfig?: Partial<LegacyRoutingConfig>\n ): Promise<SwapRoute | null> {\n if (swapType == TradeType.EXACT_INPUT) {\n return this.routeExactIn(\n amount.currency,\n quoteCurrency,\n amount,\n swapConfig,\n partialRoutingConfig\n );\n }\n\n return this.routeExactOut(\n quoteCurrency,\n amount.currency,\n amount,\n swapConfig,\n partialRoutingConfig\n );\n }\n\n public async routeExactIn(\n currencyIn: Currency,\n currencyOut: Currency,\n amountIn: CurrencyAmount,\n swapConfig?: SwapOptionsSwapRouter02,\n routingConfig?: LegacyRoutingConfig\n ): Promise<SwapRoute | null> {\n const tokenIn = currencyIn.wrapped;\n const tokenOut = currencyOut.wrapped;\n const routes = await this.getAllRoutes(tokenIn, tokenOut, routingConfig);\n const routeQuote = await this.findBestRouteExactIn(\n amountIn,\n tokenOut,\n routes,\n routingConfig\n );\n\n if (!routeQuote) {\n return null;\n }\n\n const trade = this.buildTrade<TradeType.EXACT_INPUT>(\n currencyIn,\n currencyOut,\n TradeType.EXACT_INPUT,\n routeQuote\n );\n\n return {\n quote: routeQuote.quote,\n quoteGasAdjusted: routeQuote.quote,\n route: [routeQuote],\n estimatedGasUsed: BigNumber.from(0),\n estimatedGasUsedQuoteToken: CurrencyAmount.fromFractionalAmount(\n tokenOut,\n 0,\n 1\n ),\n estimatedGasUsedUSD: CurrencyAmount.fromFractionalAmount(\n DAI_MAINNET!,\n 0,\n 1\n ),\n gasPriceWei: BigNumber.from(0),\n trade,\n methodParameters: swapConfig\n ? {\n ...this.buildMethodParameters(trade, swapConfig),\n to: SWAP_ROUTER_02_ADDRESSES(this.chainId),\n }\n : undefined,\n blockNumber: BigNumber.from(0),\n };\n }\n\n public async routeExactOut(\n currencyIn: Currency,\n currencyOut: Currency,\n amountOut: CurrencyAmount,\n swapConfig?: SwapOptionsSwapRouter02,\n routingConfig?: LegacyRoutingConfig\n ): Promise<SwapRoute | null> {\n const tokenIn = currencyIn.wrapped;\n const tokenOut = currencyOut.wrapped;\n const routes = await this.getAllRoutes(tokenIn, tokenOut, routingConfig);\n const routeQuote = await this.findBestRouteExactOut(\n amountOut,\n tokenIn,\n routes,\n routingConfig\n );\n\n if (!routeQuote) {\n return null;\n }\n\n const trade = this.buildTrade<TradeType.EXACT_OUTPUT>(\n currencyIn,\n currencyOut,\n TradeType.EXACT_OUTPUT,\n routeQuote\n );\n\n return {\n quote: routeQuote.quote,\n quoteGasAdjusted: routeQuote.quote,\n route: [routeQuote],\n estimatedGasUsed: BigNumber.from(0),\n estimatedGasUsedQuoteToken: CurrencyAmount.fromFractionalAmount(\n tokenIn,\n 0,\n 1\n ),\n estimatedGasUsedUSD: CurrencyAmount.fromFractionalAmount(\n DAI_MAINNET,\n 0,\n 1\n ),\n gasPriceWei: BigNumber.from(0),\n trade,\n methodParameters: swapConfig\n ? {\n ...this.buildMethodParameters(trade, swapConfig),\n to: SWAP_ROUTER_02_ADDRESSES(this.chainId),\n }\n : undefined,\n blockNumber: BigNumber.from(0),\n };\n }\n\n private async findBestRouteExactIn(\n amountIn: CurrencyAmount,\n tokenOut: Token,\n routes: V3Route[],\n routingConfig?: LegacyRoutingConfig\n ): Promise<V3RouteWithValidQuote | null> {\n const { routesWithQuotes: quotesRaw } =\n await this.quoteProvider.getQuotesManyExactIn<V3Route>(\n [amountIn],\n routes,\n {\n blockNumber: routingConfig?.blockNumber,\n }\n );\n\n const quotes100Percent = _.map(\n quotesRaw,\n ([route, quotes]: RouteWithQuotes<V3Route>) =>\n `${routeToString(route)} : ${quotes[0]?.quote?.toString()}`\n );\n log.info({ quotes100Percent }, '100% Quotes');\n\n const bestQuote = await this.getBestQuote(\n routes,\n quotesRaw,\n tokenOut,\n TradeType.EXACT_INPUT\n );\n\n return bestQuote;\n }\n\n private async findBestRouteExactOut(\n amountOut: CurrencyAmount,\n tokenIn: Token,\n routes: V3Route[],\n routingConfig?: LegacyRoutingConfig\n ): Promise<V3RouteWithValidQuote | null> {\n const { routesWithQuotes: quotesRaw } =\n await this.quoteProvider.getQuotesManyExactOut<V3Route>(\n [amountOut],\n routes,\n {\n blockNumber: routingConfig?.blockNumber,\n }\n );\n const bestQuote = await this.getBestQuote(\n routes,\n quotesRaw,\n tokenIn,\n TradeType.EXACT_OUTPUT\n );\n\n return bestQuote;\n }\n\n private async getBestQuote(\n routes: V3Route[],\n quotesRaw: RouteWithQuotes<V3Route>[],\n quoteToken: Token,\n routeType: TradeType\n ): Promise<V3RouteWithValidQuote | null> {\n log.debug(\n `Got ${\n _.filter(quotesRaw, ([_, quotes]) => !!quotes[0]).length\n } valid quotes from ${routes.length} possible routes.`\n );\n\n const routeQuotesRaw: {\n route: V3Route;\n quote: BigNumber;\n amount: CurrencyAmount;\n }[] = [];\n\n for (let i = 0; i < quotesRaw.length; i++) {\n const [route, quotes] = quotesRaw[i]!;\n const { quote, amount } = quotes[0]!;\n\n if (!quote) {\n Logger.globalLogger().debug(`No quote for ${routeToString(route)}`);\n continue;\n }\n\n routeQuotesRaw.push({ route, quote, amount });\n }\n\n if (routeQuotesRaw.length == 0) {\n return null;\n }\n\n routeQuotesRaw.sort((routeQuoteA, routeQuoteB) => {\n if (routeType == TradeType.EXACT_INPUT) {\n return routeQuoteA.quote.gt(routeQuoteB.quote) ? -1 : 1;\n } else {\n return routeQuoteA.quote.lt(routeQuoteB.quote) ? -1 : 1;\n }\n });\n\n const routeQuotes = _.map(routeQuotesRaw, ({ route, quote, amount }) => {\n return new V3RouteWithValidQuote({\n route,\n rawQuote: quote,\n amount,\n percent: 100,\n gasModel: {\n estimateGasCost: () => ({\n gasCostInToken: CurrencyAmount.fromRawAmount(quoteToken, 0),\n gasCostInUSD: CurrencyAmount.fromRawAmount(USDC_MAINNET, 0),\n gasEstimate: BigNumber.from(0),\n }),\n },\n sqrtPriceX96AfterList: [],\n initializedTicksCrossedList: [],\n quoterGasEstimate: BigNumber.from(0),\n tradeType: routeType,\n quoteToken,\n v3PoolProvider: this.poolProvider,\n });\n });\n\n for (const rq of routeQuotes) {\n log.debug(\n `Quote: ${rq.amount.toFixed(\n Math.min(rq.amount.currency.decimals, 2)\n )} Route: ${routeToString(rq.route)}`\n );\n }\n\n return routeQuotes[0]!;\n }\n\n private async getAllRoutes(\n tokenIn: Token,\n tokenOut: Token,\n routingConfig?: LegacyRoutingConfig\n ): Promise<V3Route[]> {\n const tokenPairs: [Token, Token, FeeAmount][] =\n await this.getAllPossiblePairings(tokenIn, tokenOut);\n\n const poolAccessor = await this.poolProvider.getPools(tokenPairs, {\n blockNumber: routingConfig?.blockNumber,\n });\n const pools = poolAccessor.getAllPools();\n\n const routes: V3Route[] = this.computeAllRoutes(\n tokenIn,\n tokenOut,\n pools,\n this.chainId,\n [],\n [],\n tokenIn,\n MAX_HOPS\n );\n\n log.info(\n { routes: _.map(routes, routeToString) },\n `Computed ${routes.length} possible routes.`\n );\n\n return routes;\n }\n\n private async getAllPossiblePairings(\n tokenIn: Token,\n tokenOut: Token\n ): Promise<[Token, Token, FeeAmount][]> {\n const common =\n BASES_TO_CHECK_TRADES_AGAINST(this.tokenProvider)[this.chainId] ?? [];\n const additionalA =\n (await ADDITIONAL_BASES(this.tokenProvider))[this.chainId]?.[\n tokenIn.address\n ] ?? [];\n const additionalB =\n (await ADDITIONAL_BASES(this.tokenProvider))[this.chainId]?.[\n tokenOut.address\n ] ?? [];\n const bases = [...common, ...additionalA, ...additionalB];\n\n const basePairs: [Token, Token][] = _.flatMap(\n bases,\n (base): [Token, Token][] => bases.map((otherBase) => [base, otherBase])\n );\n\n const customBases = (await CUSTOM_BASES(this.tokenProvider))[this.chainId];\n\n const allPairs: [Token, Token, FeeAmount][] = _([\n // the direct pair\n [tokenIn, tokenOut],\n // token A against all bases\n ...bases.map((base): [Token, Token] => [tokenIn, base]),\n // token B against all bases\n ...bases.map((base): [Token, Token] => [tokenOut, base]),\n // each base against all bases\n ...basePairs,\n ])\n .filter((tokens): tokens is [Token, Token] =>\n Boolean(tokens[0] && tokens[1])\n )\n .filter(\n ([tokenA, tokenB]) =>\n tokenA.address !== tokenB.address && !tokenA.equals(tokenB)\n )\n .filter(([tokenA, tokenB]) => {\n const customBasesA: Token[] | undefined = customBases?.[tokenA.address];\n const customBasesB: Token[] | undefined = customBases?.[tokenB.address];\n\n if (!customBasesA && !customBasesB) return true;\n\n if (customBasesA && !customBasesA.find((base) => tokenB.equals(base)))\n return false;\n if (customBasesB && !customBasesB.find((base) => tokenA.equals(base)))\n return false;\n\n return true;\n })\n .flatMap<[Token, Token, FeeAmount]>(([tokenA, tokenB]) => {\n return [\n [tokenA, tokenB, FeeAmount.LOW],\n [tokenA, tokenB, FeeAmount.MEDIUM],\n [tokenA, tokenB, FeeAmount.HIGH],\n ];\n })\n .value();\n\n return allPairs;\n }\n\n private computeAllRoutes(\n tokenIn: Token,\n tokenOut: Token,\n pools: Pool[],\n chainId: ChainId,\n currentPath: Pool[] = [],\n allPaths: V3Route[] = [],\n startTokenIn: Token = tokenIn,\n maxHops = 2\n ): V3Route[] {\n for (const pool of pools) {\n if (currentPath.indexOf(pool) !== -1 || !pool.involvesToken(tokenIn))\n continue;\n\n const outputToken = pool.token0.equals(tokenIn)\n ? pool.token1\n : pool.token0;\n if (outputToken.equals(tokenOut)) {\n allPaths.push(\n new V3Route([...currentPath, pool], startTokenIn, tokenOut)\n );\n } else if (maxHops > 1) {\n this.computeAllRoutes(\n outputToken,\n tokenOut,\n pools,\n chainId,\n [...currentPath, pool],\n allPaths,\n startTokenIn,\n maxHops - 1\n );\n }\n }\n\n return allPaths;\n }\n\n private buildTrade<TTradeType extends TradeType>(\n tokenInCurrency: Currency,\n tokenOutCurrency: Currency,\n tradeType: TTradeType,\n routeAmount: V3RouteWithValidQuote\n ): Trade<Currency, Currency, TTradeType> {\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 necessary. 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 routeCurrency = new Route(\n route.pools,\n amountCurrency.currency,\n quoteCurrency.currency\n );\n\n return new Trade({\n v4Routes: [],\n v3Routes: [\n {\n routev3: routeCurrency,\n inputAmount: amountCurrency,\n outputAmount: quoteCurrency,\n },\n ],\n v2Routes: [],\n tradeType: tradeType,\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 Route(\n route.pools,\n quoteCurrency.currency,\n amountCurrency.currency\n );\n\n return new Trade({\n v4Routes: [],\n v3Routes: [\n {\n routev3: routeCurrency,\n inputAmount: quoteCurrency,\n outputAmount: amountCurrency,\n },\n ],\n v2Routes: [],\n tradeType: tradeType,\n });\n }\n }\n\n private buildMethodParameters<TTradeType extends TradeType>(\n trade: Trade<Currency, Currency, TTradeType>,\n swapConfig: SwapOptionsSwapRouter02\n ): MethodParameters {\n const { recipient, slippageTolerance, deadline } = swapConfig;\n\n const methodParameters = SwapRouter.swapCallParameters(trade, {\n recipient,\n slippageTolerance,\n deadlineOrPreviousBlockhash: deadline,\n // ...(signatureData\n // ? {\n // inputTokenPermit:\n // 'allowed' in signatureData\n // ? {\n // expiry: signatureData.deadline,\n // nonce: signatureData.nonce,\n // s: signatureData.s,\n // r: signatureData.r,\n // v: signatureData.v as any,\n // }\n // : {\n // deadline: signatureData.deadline,\n // amount: signatureData.amount,\n // s: signatureData.s,\n // r: signatureData.r,\n // v: signatureData.v as any,\n // },\n // }\n // : {}),\n });\n\n return methodParameters;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/routers/router.ts"],"names":[],"mappings":";;;AACA,wDAKiC;AAYjC,gEAAkE;AAClE,gDAA6D;AAC7D,gEAKqC;AACrC,gEAAkE;AAOlE,MAAa,OAAQ,SAAQ,sBAA8B;IAA3D;;QACE,aAAQ,GAAgB,qBAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;CAAA;AAFD,0BAEC;AACD,MAAa,OAAQ,SAAQ,sBAAwB;IAArD;;QACE,aAAQ,GAAgB,qBAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;CAAA;AAFD,0BAEC;AACD,MAAa,OAAQ,SAAQ,sBAAwB;IAArD;;QACE,aAAQ,GAAgB,qBAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;CAAA;AAFD,0BAEC;AACD,MAAa,cAAe,SAAQ,cAA2B;IAA/D;;QACE,aAAQ,GAAmB,qBAAQ,CAAC,KAAK,CAAC;IAC5C,CAAC;CAAA;AAFD,wCAEC;AACD,MAAa,UAAW,SAAQ,0BAAiC;IAAjE;;QACE,aAAQ,GAAmB,qBAAQ,CAAC,KAAK,CAAC;IAC5C,CAAC;CAAA;AAFD,gCAEC;AAwFD,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,+DAAW,CAAA;IACX,6EAAkB,CAAA;IAClB,6EAAkB,CAAA;AACpB,CAAC,EAJW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAI5B;AAqBD,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,+DAAgB,CAAA;IAChB,2DAAc,CAAA;AAChB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AA2DD;;;;;;GAMG;AACH,MAAsB,OAAO;CAoB5B;AApBD,0BAoBC;AAED,MAAsB,YAAY;CASjC;AATD,oCASC","sourcesContent":["import { BigNumber } from '@ethersproject/bignumber';\nimport {\n CondensedAddLiquidityOptions,\n MixedRouteSDK,\n Protocol,\n Trade,\n} from '@fewprotocol/router-sdk';\nimport {\n Currency,\n Fraction,\n Percent,\n Token,\n TradeType,\n} from '@fewprotocol/sdk-core';\nimport {\n SwapOptions as UniversalRouterSwapOptions,\n UniversalRouterVersion,\n} from '@fewprotocol/universal-router-sdk';\nimport { Route as V2RouteRaw } from '@fewprotocol/uniswap-v2-sdk';\nimport { Route as FewV2RouteRaw } from '@fewprotocol/v2-sdk';\nimport {\n MethodParameters as SDKMethodParameters,\n Pool,\n Position,\n Route as V3RouteRaw,\n} from '@fewprotocol/uniswap-v3-sdk';\nimport { Route as V4RouteRaw } from '@fewprotocol/uniswap-v4-sdk';\n\nimport { SimulationStatus } from '../providers';\nimport { CurrencyAmount } from '../util/amounts';\n\nimport { RouteWithValidQuote } from './alpha-router';\n\nexport class V4Route extends V4RouteRaw<Currency, Currency> {\n protocol: Protocol.V4 = Protocol.V4;\n}\nexport class V3Route extends V3RouteRaw<Token, Token> {\n protocol: Protocol.V3 = Protocol.V3;\n}\nexport class V2Route extends V2RouteRaw<Token, Token> {\n protocol: Protocol.V2 = Protocol.V2;\n}\nexport class RingFewV2Route extends FewV2RouteRaw<Token, Token> {\n protocol: Protocol.FEWV2 = Protocol.FEWV2;\n}\nexport class MixedRoute extends MixedRouteSDK<Currency, Currency> {\n protocol: Protocol.MIXED = Protocol.MIXED;\n}\nexport type SupportedRoutes = V4Route | V3Route | V2Route | RingFewV2Route | MixedRoute;\n\nexport type SwapRoute = {\n /**\n * The quote for the swap.\n * For EXACT_IN swaps this will be an amount of token out.\n * For EXACT_OUT this will be an amount of token in.\n */\n quote: CurrencyAmount;\n /**\n * The quote adjusted for the estimated gas used by the swap.\n * This is computed by estimating the amount of gas used by the swap, converting\n * this estimate to be in terms of the quote token, and subtracting that from the quote.\n * i.e. quoteGasAdjusted = quote - estimatedGasUsedQuoteToken\n */\n quoteGasAdjusted: CurrencyAmount;\n /**\n * The quote adjusted for the estimated gas used by the swap as well as the portion amount, if applicable.\n * This is computed by estimating the amount of gas used by the swap, converting\n * this estimate to be in terms of the quote token, and subtracting that from the quote.\n * Then it uses the IPortionProvider.getPortionAdjustedQuote method to adjust the quote for the portion amount.\n * i.e. quoteGasAdjusted = quote - estimatedGasUsedQuoteToken - portionAmount\n */\n quoteGasAndPortionAdjusted?: CurrencyAmount;\n /**\n * The estimate of the gas used by the swap.\n */\n estimatedGasUsed: BigNumber;\n /**\n * The estimate of the gas used by the swap in terms of the quote token.\n */\n estimatedGasUsedQuoteToken: CurrencyAmount;\n /**\n * The estimate of the gas used by the swap in USD.\n */\n estimatedGasUsedUSD: CurrencyAmount;\n /**\n * The estimate of the gas used by the swap in terms of the gas token if specified.\n * will be undefined if no gas token is specified in the AlphaRouter config\n */\n estimatedGasUsedGasToken?: CurrencyAmount;\n /*\n * The gas price used when computing quoteGasAdjusted, estimatedGasUsedQuoteToken, etc.\n */\n gasPriceWei: BigNumber;\n /**\n * The Trade object representing the swap.\n */\n trade: Trade<Currency, Currency, TradeType>;\n /**\n * The routes of the swap.\n */\n route: RouteWithValidQuote[];\n /**\n * The block number used when computing the swap.\n */\n blockNumber: BigNumber;\n /**\n * The calldata to execute the swap. Only returned if swapConfig was provided when calling the router.\n */\n methodParameters?: MethodParameters;\n /**\n * Enum that is returned if simulation was requested\n * 0 if simulation was not supported\n * 1 if simulation was attempted and failed\n * 2 if simulation was successful (simulated gas estimates are returned)\n * 3... rest of the simulation statuses\n */\n simulationStatus?: SimulationStatus;\n /**\n * Used internally within routing-api to see how many route requests\n * hit the cached routes. This is used further down the line for future perf optimizations.\n */\n hitsCachedRoute?: boolean;\n /**\n * Portion amount either echoed from upstream routing-api for exact out or calculated from portionBips for exact in\n */\n portionAmount?: CurrencyAmount;\n};\n\nexport type MethodParameters = SDKMethodParameters & { to: string };\n\nexport type SwapToRatioRoute = SwapRoute & {\n optimalRatio: Fraction;\n postSwapTargetPool: Pool;\n};\n\nexport enum SwapToRatioStatus {\n SUCCESS = 1,\n NO_ROUTE_FOUND = 2,\n NO_SWAP_NEEDED = 3,\n}\n\nexport type SwapToRatioSuccess = {\n status: SwapToRatioStatus.SUCCESS;\n result: SwapToRatioRoute;\n};\n\nexport type SwapToRatioFail = {\n status: SwapToRatioStatus.NO_ROUTE_FOUND;\n error: string;\n};\n\nexport type SwapToRatioNoSwapNeeded = {\n status: SwapToRatioStatus.NO_SWAP_NEEDED;\n};\n\nexport type SwapToRatioResponse =\n | SwapToRatioSuccess\n | SwapToRatioFail\n | SwapToRatioNoSwapNeeded;\n\nexport enum SwapType {\n UNIVERSAL_ROUTER,\n SWAP_ROUTER_02,\n}\n\n// Swap options for Universal Router and Permit2.\nexport type SwapOptionsUniversalRouter = UniversalRouterSwapOptions & {\n type: SwapType.UNIVERSAL_ROUTER;\n version: UniversalRouterVersion;\n simulate?: { fromAddress: string };\n};\n\n// Swap options for router-sdk and SwapRouter02.\nexport type SwapOptionsSwapRouter02 = {\n type: SwapType.SWAP_ROUTER_02;\n recipient: string;\n slippageTolerance: Percent;\n deadline: number;\n simulate?: { fromAddress: string };\n inputTokenPermit?: {\n v: 0 | 1 | 27 | 28;\n r: string;\n s: string;\n } & (\n | {\n amount: string;\n deadline: string;\n }\n | {\n nonce: string;\n expiry: string;\n }\n );\n};\n\nexport type SwapOptions = SwapOptionsUniversalRouter | SwapOptionsSwapRouter02;\n\n// Config passed in to determine configurations on acceptable liquidity\n// to add to a position and max iterations on the route-finding algorithm\nexport type SwapAndAddConfig = {\n maxIterations: number;\n ratioErrorTolerance: Fraction;\n};\n\n// Options for executing the swap and add.\n// If provided, calldata for executing the swap and add will also be returned.\nexport type SwapAndAddOptions = {\n swapOptions: SwapOptionsSwapRouter02;\n addLiquidityOptions: CondensedAddLiquidityOptions;\n};\n\n// SwapAndAddOptions plus all other parameters needed to encode the\n// on-chain swap-and-add process\nexport type SwapAndAddParameters = {\n // starting balance for tokenIn which will inform the tokenIn position amount\n initialBalanceTokenIn: CurrencyAmount;\n // starting balance for tokenOut which will inform the tokenOut position amount\n initialBalanceTokenOut: CurrencyAmount;\n // position details needed to create a new Position with the known liquidity amounts\n preLiquidityPosition: Position;\n};\n\n/**\n * Provides functionality for finding optimal swap routes on the Uniswap protocol.\n *\n * @export\n * @abstract\n * @class IRouter\n */\nexport abstract class IRouter<RoutingConfig> {\n /**\n * Finds the optimal way to swap tokens, and returns the route as well as a quote for the swap.\n * Considers split routes, multi-hop swaps, and gas costs.\n *\n * @abstract\n * @param amount The amount specified by the user. For EXACT_IN swaps, this is the input token amount. For EXACT_OUT swaps, this is the output token.\n * @param quoteCurrency The currency of the token we are returning a quote for. For EXACT_IN swaps, this is the output token. For EXACT_OUT, this is the input token.\n * @param tradeType The type of the trade, either exact in or exact out.\n * @param [swapOptions] Optional config for executing the swap. If provided, calldata for executing the swap will also be returned.\n * @param [partialRoutingConfig] Optional config for finding the optimal route.\n * @returns The swap route.\n */\n abstract route(\n amount: CurrencyAmount,\n quoteCurrency: Currency,\n swapType: TradeType,\n swapOptions?: SwapOptions,\n partialRoutingConfig?: Partial<RoutingConfig>\n ): Promise<SwapRoute | null>;\n}\n\nexport abstract class ISwapToRatio<RoutingConfig, SwapAndAddConfig> {\n abstract routeToRatio(\n token0Balance: CurrencyAmount,\n token1Balance: CurrencyAmount,\n position: Position,\n swapAndAddConfig: SwapAndAddConfig,\n swapAndAddOptions?: SwapAndAddOptions,\n routingConfig?: RoutingConfig\n ): Promise<SwapToRatioResponse>;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../../../src/types/other/commons.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Result } from \"@ethersproject/abi\";\nimport { Event, EventFilter } from \"ethers\";\n\nexport interface TypedEventFilter<_EventArgsArray, _EventArgsObject>\n extends EventFilter {}\n\nexport interface TypedEvent<EventArgs extends Result> extends Event {\n args: EventArgs;\n}\n\nexport type TypedListener<\n EventArgsArray extends Array<any>,\n EventArgsObject\n> = (\n ...listenerArg: [\n ...EventArgsArray,\n TypedEvent<EventArgsArray & EventArgsObject>\n ]\n) => void;\n\nexport type MinEthersFactory<C, ARGS> = {\n deploy(...a: ARGS[]): Promise<C>;\n};\nexport type GetContractTypeFromFactory<F> = F extends MinEthersFactory<\n infer C,\n any\n>\n ? C\n : never;\nexport type GetARGsTypeFromFactory<F> = F extends MinEthersFactory<any, any>\n ? Parameters<F[\"deploy\"]>\n : never;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Erc20__factory.js","sourceRoot":"","sources":["../../../../../src/types/other/factories/Erc20__factory.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Provider } from \"@ethersproject/providers\";\nimport { Contract, Signer, utils } from \"ethers\";\nimport type { Erc20, Erc20Interface } from \"../Erc20\";\n\nconst _abi = [\n {\n constant: true,\n inputs: [],\n name: \"name\",\n outputs: [\n {\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_spender\",\n type: \"address\",\n },\n {\n name: \"_value\",\n type: \"uint256\",\n },\n ],\n name: \"approve\",\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"totalSupply\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_from\",\n type: \"address\",\n },\n {\n name: \"_to\",\n type: \"address\",\n },\n {\n name: \"_value\",\n type: \"uint256\",\n },\n ],\n name: \"transferFrom\",\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"decimals\",\n outputs: [\n {\n name: \"\",\n type: \"uint8\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"_owner\",\n type: \"address\",\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n name: \"balance\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"symbol\",\n outputs: [\n {\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_to\",\n type: \"address\",\n },\n {\n name: \"_value\",\n type: \"uint256\",\n },\n ],\n name: \"transfer\",\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"_owner\",\n type: \"address\",\n },\n {\n name: \"_spender\",\n type: \"address\",\n },\n ],\n name: \"allowance\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n payable: true,\n stateMutability: \"payable\",\n type: \"fallback\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: true,\n name: \"spender\",\n type: \"address\",\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\",\n },\n ],\n name: \"Approval\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n name: \"from\",\n type: \"address\",\n },\n {\n indexed: true,\n name: \"to\",\n type: \"address\",\n },\n {\n indexed: false,\n name: \"value\",\n type: \"uint256\",\n },\n ],\n name: \"Transfer\",\n type: \"event\",\n },\n];\n\nexport class Erc20__factory {\n static readonly abi = _abi;\n static createInterface(): Erc20Interface {\n return new utils.Interface(_abi) as Erc20Interface;\n }\n static connect(address: string, signerOrProvider: Signer | Provider): Erc20 {\n return new Contract(address, _abi, signerOrProvider) as Erc20;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GasDataArbitrum__factory.js","sourceRoot":"","sources":["../../../../../src/types/other/factories/GasDataArbitrum__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAGpB,mCAAiD;AAMjD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAa,wBAAwB;IAEnC,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAA6B,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAoB,CAAC;IAC1E,CAAC;;AAVH,4DAWC;AAViB,4BAAG,GAAG,IAAI,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Provider } from \"@ethersproject/providers\";\nimport { Contract, Signer, utils } from \"ethers\";\nimport type {\n GasDataArbitrum,\n GasDataArbitrumInterface,\n} from \"../GasDataArbitrum\";\n\nconst _abi = [\n {\n inputs: [],\n name: \"getPricesInWei\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n];\n\nexport class GasDataArbitrum__factory {\n static readonly abi = _abi;\n static createInterface(): GasDataArbitrumInterface {\n return new utils.Interface(_abi) as GasDataArbitrumInterface;\n }\n static connect(\n address: string,\n signerOrProvider: Signer | Provider\n ): GasDataArbitrum {\n return new Contract(address, _abi, signerOrProvider) as GasDataArbitrum;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IMixedRouteQuoterV1__factory.js","sourceRoot":"","sources":["../../../../../src/types/other/factories/IMixedRouteQuoterV1__factory.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Provider } from \"@ethersproject/providers\";\nimport { Contract, Signer, utils } from \"ethers\";\nimport type {\n IMixedRouteQuoterV1,\n IMixedRouteQuoterV1Interface,\n} from \"../IMixedRouteQuoterV1\";\n\nconst _abi = [\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"path\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"amountIn\",\n type: \"uint256\",\n },\n ],\n name: \"quoteExactInput\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"amountOut\",\n type: \"uint256\",\n },\n {\n internalType: \"uint160[]\",\n name: \"v3SqrtPriceX96AfterList\",\n type: \"uint160[]\",\n },\n {\n internalType: \"uint32[]\",\n name: \"v3InitializedTicksCrossedList\",\n type: \"uint32[]\",\n },\n {\n internalType: \"uint256\",\n name: \"v3SwapGasEstimate\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"tokenIn\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"tokenOut\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amountIn\",\n type: \"uint256\",\n },\n ],\n internalType:\n \"struct IMixedRouteQuoterV1.QuoteExactInputSingleV2Params\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"quoteExactInputSingleV2\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"amountOut\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"tokenIn\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"tokenOut\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amountIn\",\n type: \"uint256\",\n },\n {\n internalType: \"uint24\",\n name: \"fee\",\n type: \"uint24\",\n },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n },\n ],\n internalType:\n \"struct IMixedRouteQuoterV1.QuoteExactInputSingleV3Params\",\n name: \"params\",\n type: \"tuple\",\n },\n ],\n name: \"quoteExactInputSingleV3\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"amountOut\",\n type: \"uint256\",\n },\n {\n internalType: \"uint160\",\n name: \"sqrtPriceX96After\",\n type: \"uint160\",\n },\n {\n internalType: \"uint32\",\n name: \"initializedTicksCrossed\",\n type: \"uint32\",\n },\n {\n internalType: \"uint256\",\n name: \"gasEstimate\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\n\nexport class IMixedRouteQuoterV1__factory {\n static readonly abi = _abi;\n static createInterface(): IMixedRouteQuoterV1Interface {\n return new utils.Interface(_abi) as IMixedRouteQuoterV1Interface;\n }\n static connect(\n address: string,\n signerOrProvider: Signer | Provider\n ): IMixedRouteQuoterV1 {\n return new Contract(address, _abi, signerOrProvider) as IMixedRouteQuoterV1;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ITokenValidator__factory.js","sourceRoot":"","sources":["../../../../../src/types/other/factories/ITokenValidator__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAGpB,mCAAiD;AAMjD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,+BAA+B;gBAC7C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,6BAA6B;gBAC3C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAa,wBAAwB;IAEnC,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,cAAK,CAAC,SAAS,CAAC,IAAI,CAA6B,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,OAAe,EACf,gBAAmC;QAEnC,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAoB,CAAC;IAC1E,CAAC;;AAVH,4DAWC;AAViB,4BAAG,GAAG,IAAI,CAAC","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Provider } from \"@ethersproject/providers\";\nimport { Contract, Signer, utils } from \"ethers\";\nimport type {\n ITokenValidator,\n ITokenValidatorInterface,\n} from \"../ITokenValidator\";\n\nconst _abi = [\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"tokens\",\n type: \"address[]\",\n },\n {\n internalType: \"address[]\",\n name: \"baseTokens\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"amountToBorrow\",\n type: \"uint256\",\n },\n ],\n name: \"batchValidate\",\n outputs: [\n {\n internalType: \"enum ITokenValidator.Status[]\",\n name: \"\",\n type: \"uint8[]\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"baseTokens\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"amountToBorrow\",\n type: \"uint256\",\n },\n ],\n name: \"validate\",\n outputs: [\n {\n internalType: \"enum ITokenValidator.Status\",\n name: \"\",\n type: \"uint8\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\n\nexport class ITokenValidator__factory {\n static readonly abi = _abi;\n static createInterface(): ITokenValidatorInterface {\n return new utils.Interface(_abi) as ITokenValidatorInterface;\n }\n static connect(\n address: string,\n signerOrProvider: Signer | Provider\n ): ITokenValidator {\n return new Contract(address, _abi, signerOrProvider) as ITokenValidator;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MixedRouteQuoterV2__factory.js","sourceRoot":"","sources":["../../../../../src/types/other/factories/MixedRouteQuoterV2__factory.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Provider } from \"@ethersproject/providers\";\nimport { Contract, Signer, utils } from \"ethers\";\nimport type {\n MixedRouteQuoterV2,\n MixedRouteQuoterV2Interface,\n} from \"../MixedRouteQuoterV2\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_uniswapV4PoolManager\",\n type: \"address\",\n internalType: \"contract IPoolManager\",\n },\n {\n name: \"_uniswapV3Poolfactory\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"_uniswapV2Poolfactory\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"_quoteExactInputSingleV4\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n internalType:\n \"struct IMixedRouteQuoterV2.QuoteExactInputSingleV4Params\",\n components: [\n {\n name: \"poolKey\",\n type: \"tuple\",\n internalType: \"struct PoolKey\",\n components: [\n {\n name: \"currency0\",\n type: \"address\",\n internalType: \"Currency\",\n },\n {\n name: \"currency1\",\n type: \"address\",\n internalType: \"Currency\",\n },\n {\n name: \"fee\",\n type: \"uint24\",\n internalType: \"uint24\",\n },\n {\n name: \"tickSpacing\",\n type: \"int24\",\n internalType: \"int24\",\n },\n {\n name: \"hooks\",\n type: \"address\",\n internalType: \"contract IHooks\",\n },\n ],\n },\n {\n name: \"zeroForOne\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"exactAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n internalType: \"uint160\",\n },\n {\n name: \"hookData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"poolManager\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract IPoolManager\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"quoteExactInput\",\n inputs: [\n {\n name: \"path\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"param\",\n type: \"tuple\",\n internalType: \"struct IMixedRouteQuoterV2.ExtraQuoteExactInputParams\",\n components: [\n {\n name: \"nonEncodableData\",\n type: \"tuple[]\",\n internalType: \"struct IMixedRouteQuoterV2.NonEncodableData[]\",\n components: [\n {\n name: \"hookData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n ],\n },\n {\n name: \"amountIn\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [\n {\n name: \"amountOut\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"gasEstimate\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"quoteExactInputSingleV2\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n internalType:\n \"struct IMixedRouteQuoterV2.QuoteExactInputSingleV2Params\",\n components: [\n {\n name: \"tokenIn\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"tokenOut\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amountIn\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"amountOut\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"quoteExactInputSingleV3\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n internalType:\n \"struct IMixedRouteQuoterV2.QuoteExactInputSingleV3Params\",\n components: [\n {\n name: \"tokenIn\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"tokenOut\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amountIn\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"fee\",\n type: \"uint24\",\n internalType: \"uint24\",\n },\n {\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n internalType: \"uint160\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"amountOut\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"gasEstimate\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"quoteExactInputSingleV4\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n internalType:\n \"struct IMixedRouteQuoterV2.QuoteExactInputSingleV4Params\",\n components: [\n {\n name: \"poolKey\",\n type: \"tuple\",\n internalType: \"struct PoolKey\",\n components: [\n {\n name: \"currency0\",\n type: \"address\",\n internalType: \"Currency\",\n },\n {\n name: \"currency1\",\n type: \"address\",\n internalType: \"Currency\",\n },\n {\n name: \"fee\",\n type: \"uint24\",\n internalType: \"uint24\",\n },\n {\n name: \"tickSpacing\",\n type: \"int24\",\n internalType: \"int24\",\n },\n {\n name: \"hooks\",\n type: \"address\",\n internalType: \"contract IHooks\",\n },\n ],\n },\n {\n name: \"zeroForOne\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"exactAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"sqrtPriceLimitX96\",\n type: \"uint160\",\n internalType: \"uint160\",\n },\n {\n name: \"hookData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"amountOut\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"gasEstimate\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"uniswapV2Poolfactory\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"uniswapV3Poolfactory\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"uniswapV3SwapCallback\",\n inputs: [\n {\n name: \"amount0Delta\",\n type: \"int256\",\n internalType: \"int256\",\n },\n {\n name: \"amount1Delta\",\n type: \"int256\",\n internalType: \"int256\",\n },\n {\n name: \"path\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"unlockCallback\",\n inputs: [\n {\n name: \"data\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"error\",\n name: \"InvalidPoolVersion\",\n inputs: [\n {\n name: \"poolVersion\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"LockFailure\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NoLiquidityV3\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotEnoughLiquidity\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"NotPoolManager\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotSelf\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"QuoteSwap\",\n inputs: [\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"SliceOutOfBounds\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UnexpectedRevertBytes\",\n inputs: [\n {\n name: \"revertData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n];\n\nexport class MixedRouteQuoterV2__factory {\n static readonly abi = _abi;\n static createInterface(): MixedRouteQuoterV2Interface {\n return new utils.Interface(_abi) as MixedRouteQuoterV2Interface;\n }\n static connect(\n address: string,\n signerOrProvider: Signer | Provider\n ): MixedRouteQuoterV2 {\n return new Contract(address, _abi, signerOrProvider) as MixedRouteQuoterV2;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permit2__factory.js","sourceRoot":"","sources":["../../../../../src/types/other/factories/Permit2__factory.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Provider, TransactionRequest } from \"@ethersproject/providers\";\nimport { Contract, ContractFactory, Overrides, Signer, utils } from \"ethers\";\nimport type { Permit2, Permit2Interface } from \"../Permit2\";\n\nconst _abi = [\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"AllowanceExpired\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"ExcessiveInvalidation\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"InsufficientAllowance\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"maxAmount\",\n type: \"uint256\",\n },\n ],\n name: \"InvalidAmount\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidContractSignature\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidNonce\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidSignature\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidSignatureLength\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"InvalidSigner\",\n type: \"error\",\n },\n {\n inputs: [],\n name: \"LengthMismatch\",\n type: \"error\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"signatureDeadline\",\n type: \"uint256\",\n },\n ],\n name: \"SignatureExpired\",\n type: \"error\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n indexed: false,\n internalType: \"uint48\",\n name: \"expiration\",\n type: \"uint48\",\n },\n ],\n name: \"Approval\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n ],\n name: \"Lockdown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint48\",\n name: \"newNonce\",\n type: \"uint48\",\n },\n {\n indexed: false,\n internalType: \"uint48\",\n name: \"oldNonce\",\n type: \"uint48\",\n },\n ],\n name: \"NonceInvalidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n indexed: false,\n internalType: \"uint48\",\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n indexed: false,\n internalType: \"uint48\",\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n name: \"Permit\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"word\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"mask\",\n type: \"uint256\",\n },\n ],\n name: \"UnorderedNonceInvalidation\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"DOMAIN_SEPARATOR\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n name: \"allowance\",\n outputs: [\n {\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n internalType: \"uint48\",\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n internalType: \"uint48\",\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n {\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n internalType: \"uint48\",\n name: \"expiration\",\n type: \"uint48\",\n },\n ],\n name: \"approve\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n {\n internalType: \"uint48\",\n name: \"newNonce\",\n type: \"uint48\",\n },\n ],\n name: \"invalidateNonces\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"wordPos\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"mask\",\n type: \"uint256\",\n },\n ],\n name: \"invalidateUnorderedNonces\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n ],\n internalType: \"struct IAllowanceTransfer.TokenSpenderPair[]\",\n name: \"approvals\",\n type: \"tuple[]\",\n },\n ],\n name: \"lockdown\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n name: \"nonceBitmap\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n internalType: \"uint48\",\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n internalType: \"uint48\",\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n internalType: \"struct IAllowanceTransfer.PermitDetails[]\",\n name: \"details\",\n type: \"tuple[]\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct IAllowanceTransfer.PermitBatch\",\n name: \"permitBatch\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"permit\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n internalType: \"uint48\",\n name: \"expiration\",\n type: \"uint48\",\n },\n {\n internalType: \"uint48\",\n name: \"nonce\",\n type: \"uint48\",\n },\n ],\n internalType: \"struct IAllowanceTransfer.PermitDetails\",\n name: \"details\",\n type: \"tuple\",\n },\n {\n internalType: \"address\",\n name: \"spender\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"sigDeadline\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct IAllowanceTransfer.PermitSingle\",\n name: \"permitSingle\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"permit\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.TokenPermissions\",\n name: \"permitted\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.PermitTransferFrom\",\n name: \"permit\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.SignatureTransferDetails\",\n name: \"transferDetails\",\n type: \"tuple\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"permitTransferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.TokenPermissions[]\",\n name: \"permitted\",\n type: \"tuple[]\",\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.PermitBatchTransferFrom\",\n name: \"permit\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.SignatureTransferDetails[]\",\n name: \"transferDetails\",\n type: \"tuple[]\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"permitTransferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.TokenPermissions\",\n name: \"permitted\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.PermitTransferFrom\",\n name: \"permit\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.SignatureTransferDetails\",\n name: \"transferDetails\",\n type: \"tuple\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"witness\",\n type: \"bytes32\",\n },\n {\n internalType: \"string\",\n name: \"witnessTypeString\",\n type: \"string\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"permitWitnessTransferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.TokenPermissions[]\",\n name: \"permitted\",\n type: \"tuple[]\",\n },\n {\n internalType: \"uint256\",\n name: \"nonce\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.PermitBatchTransferFrom\",\n name: \"permit\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedAmount\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct ISignatureTransfer.SignatureTransferDetails[]\",\n name: \"transferDetails\",\n type: \"tuple[]\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"witness\",\n type: \"bytes32\",\n },\n {\n internalType: \"string\",\n name: \"witnessTypeString\",\n type: \"string\",\n },\n {\n internalType: \"bytes\",\n name: \"signature\",\n type: \"bytes\",\n },\n ],\n name: \"permitWitnessTransferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n ],\n internalType: \"struct IAllowanceTransfer.AllowanceTransferDetails[]\",\n name: \"transferDetails\",\n type: \"tuple[]\",\n },\n ],\n name: \"transferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"from\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint160\",\n name: \"amount\",\n type: \"uint160\",\n },\n {\n internalType: \"address\",\n name: \"token\",\n type: \"address\",\n },\n ],\n name: \"transferFrom\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\n\nconst _bytecode =\n \"0x60c0346100bb574660a052602081017f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408301524660608301523060808301526080825260a082019180831060018060401b038411176100a557826040525190206080526123c090816100c1823960805181611a90015260a05181611a6a0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db1461126c578063137c29fe146110755780632a2d80d114610db75780632b67b57014610bde57806330f28b7a14610ade5780633644e51514610a9d57806336c7851614610a285780633ff9dcb1146109a85780634fe02b441461093f57806365d9723c146107ac57806387517c451461067a578063927da105146105c3578063cc53287f146104a3578063edd9444b1461033a5763fe8ec1a7146100c657600080fd5b346103365760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff833581811161033257610114903690860161164b565b60243582811161032e5761012b903690870161161a565b6101336114e6565b9160843585811161032a5761014b9036908a016115c1565b98909560a43590811161032657610164913691016115c1565b969095815190610173826113ff565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610222602085018096611edc565b918237018a8152039961025b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611437565b5190209085515161026b81611e04565b908a5b8181106102f95750506102f6999a6102ed9183516102a081610294602082018095611eaf565b03848101835282611437565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611437565b51902093611c40565b80f35b8061031161030b610321938c5161175e565b51611f9d565b61031b828661175e565b52611e53565b61026e565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff9080358281116103325761038b903690830161164b565b60243583811161032e576103a2903690840161161a565b9390926103ad6114e6565b9160643590811161049f576103c4913691016115c1565b949093835151976103d489611e04565b98885b81811061047d5750506102f697988151610425816103f9602082018095611eaf565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611437565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102ed8161141b565b808b61031b8261049461030b61049a968d5161175e565b9261175e565b6103d7565b8680fd5b5082346105bf57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325780359067ffffffffffffffff821161032e576104f49136910161161a565b929091845b848110610504578580f35b8061051a61051560019388886118b5565b6118c5565b61052f84610529848a8a6118b5565b016118c5565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a2016104f9565b8280fd5b50346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610676816105ff6114a0565b936106086114c3565b6106106114e6565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336576106b26114a0565b906106bb6114c3565b916106c46114e6565b65ffffffffffff926064358481169081810361032a5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c209486156000146107a457504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b905092610783565b5082346105bf5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576107e56114a0565b906107ee6114c3565b9265ffffffffffff604435818116939084810361032a57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156109175761ffff9085840316116108f05750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b503461033657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336578060209273ffffffffffffffffffffffffffffffffffffffff61098f6114a0565b1681528084528181206024358252845220549051908152f35b5082346105bf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b8234610a9a5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a9a57610a606114a0565b610a686114c3565b610a706114e6565b6064359173ffffffffffffffffffffffffffffffffffffffff8316830361032e576102f6936117a1565b80fd5b503461033657817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657602090610ad7611a67565b9051908152f35b508290346105bf576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf57610b1a3661152a565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261033257610b4c611478565b9160e43567ffffffffffffffff8111610bda576102f694610b6f913691016115c1565b939092610b7c8351611f9d565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610bd18161141b565b51902091611b6e565b8580fd5b509134610336576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610c186114a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610332576080855191610c51836113e3565b1261033257845190610c6282611398565b73ffffffffffffffffffffffffffffffffffffffff91602435838116810361049f578152604435838116810361049f57602082015265ffffffffffff606435818116810361032a5788830152608435908116810361049f576060820152815260a435938285168503610bda576020820194855260c4359087830182815260e43567ffffffffffffffff811161032657610cfe90369084016115c1565b929093804211610d88575050918591610d786102f6999a610d7e95610d238851611f07565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610d70816113ff565b519020611b22565b91612010565b51925116916118e6565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b5091346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc93818536011261033257610df36114a0565b9260249081359267ffffffffffffffff9788851161032a578590853603011261049f578051978589018981108282111761104a578252848301358181116103265785019036602383011215610326578382013591610e50836115ef565b90610e5d85519283611437565b838252602093878584019160071b83010191368311611046578801905b828210610fe9575050508a526044610e93868801611509565b96838c01978852013594838b0191868352604435908111610fe557610ebb90369087016115c1565b959096804211610fba575050508998995151610ed681611e04565b908b5b818110610f9757505092889492610d7892610f6497958351610f02816103f98682018095611eaf565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610d70816113ff565b51169082515192845b848110610f78578580f35b80610f918585610f8b600195875161175e565b516118e6565b01610f6d565b80610311610fac8e9f9e93610fb2945161175e565b51611f07565b9b9a9b610ed9565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b6080823603126110465785608091885161100281611398565b61100b85611509565b8152611018838601611509565b838201526110278a8601611607565b8a8201528d611037818701611607565b90820152815201910190610e7a565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105bf576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576110b03661152a565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c360112610332576110e2611478565b67ffffffffffffffff93906101043585811161049f5761110590369086016115c1565b90936101243596871161032a57611125610bd1966102f6983691016115c1565b969095825190611134826113ff565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c0000000000000000000000000000000000000000000000000000000060808301528351948591816111e3602085018096611edc565b918237018b8152039361121c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611437565b5190209261122a8651611f9d565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102e1565b5082346105bf576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257813567ffffffffffffffff92838211610bda5736602383011215610bda5781013592831161032e576024906007368386831b8401011161049f57865b8581106112e5578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83360301126103265761139288876001946060835161132c81611398565b611368608461133c8d8601611509565b9485845261134c60448201611509565b809785015261135d60648201611509565b809885015201611509565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166117a1565b016112da565b6080810190811067ffffffffffffffff8211176113b457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176113b457604052565b60a0810190811067ffffffffffffffff8211176113b457604052565b60c0810190811067ffffffffffffffff8211176113b457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b457604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01906080821261149b576040805190611563826113e3565b8082941261149b57805181810181811067ffffffffffffffff8211176113b457825260043573ffffffffffffffffffffffffffffffffffffffff8116810361149b578152602435602082015282526044356020830152606435910152565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020838186019501011161149b57565b67ffffffffffffffff81116113b45760051b60200190565b359065ffffffffffff8216820361149b57565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020808501948460061b01011161149b57565b91909160608184031261149b576040805191611666836113e3565b8294813567ffffffffffffffff9081811161149b57830182601f8201121561149b578035611693816115ef565b926116a087519485611437565b818452602094858086019360061b8501019381851161149b579086899897969594939201925b8484106116e3575050505050855280820135908501520135910152565b90919293949596978483031261149b578851908982019082821085831117611730578a928992845261171487611509565b81528287013583820152815201930191908897969594936116c6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156117725760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c16804211611884575082871696838803611812575b5050611810955016926122fc565b565b878484161160001461184f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846118109a031691161790553880611802565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b91908110156117725760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff8116810361149b5790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c03611a3e579185611a1794927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec98979694508715600014611a1c5779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff0000000000000000000000000000000000000000876119a9565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f000000000000000000000000000000000000000000000000000000000000000003611ab2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a604082015246606082015230608082015260808152611b1c816113ff565b51902090565b611b2a611a67565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152611b1c81611398565b9192909360a435936040840151804211611c0f5750602084510151808611611bde5750918591610d78611bae94611ba9602088015186611d90565b611b22565b73ffffffffffffffffffffffffffffffffffffffff809151511692608435918216820361149b57611810936122fc565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611d605750848803611d3757611c77918691610d7860209b611ba98d88015186611d90565b60005b868110611c8b575050505050505050565b611c9681835161175e565b5188611ca383878a6118b5565b01359089810151808311611d07575091818888886001968596611ccd575b50505050505001611c7a565b611cfc95611cf69273ffffffffffffffffffffffffffffffffffffffff610515935116956118b5565b916122fc565b803888888883611cc1565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611dda57565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611e0e826115ef565b611e1b6040519182611437565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611e4982946115ef565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e805760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611ec8575050505090565b835185529381019392810192600101611eba565b9081519160005b838110611ef4575050016000815290565b8060208092840101518185015201611ee3565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176113b45760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff81511660408401520151606082015260608152611b1c81611398565b919082604091031261149b576020823592013590565b6000843b6121775750604182036120f55761202d82820182611ffa565b939092604010156117725760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa156120e95773ffffffffffffffffffffffffffffffffffffffff80600051169182156120bf57160361209557565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b6040820361214d5761210991810190611ffa565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611e805760209360009360ff60809461204b565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa9081156122f1578291612273575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361224957565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d82116122e9575b8161228d60209383611437565b810103126103365751907fffffffff0000000000000000000000000000000000000000000000000000000082168203610a9a57507fffffffff00000000000000000000000000000000000000000000000000000000903861221d565b3d9150612280565b6040513d84823e3d90fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561235557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fdfea164736f6c6343000811000a\";\n\nexport class Permit2__factory extends ContractFactory {\n constructor(signer?: Signer) {\n super(_abi, _bytecode, signer);\n }\n\n deploy(\n overrides?: Overrides & { from?: string | Promise<string> }\n ): Promise<Permit2> {\n return super.deploy(overrides || {}) as Promise<Permit2>;\n }\n getDeployTransaction(\n overrides?: Overrides & { from?: string | Promise<string> }\n ): TransactionRequest {\n return super.getDeployTransaction(overrides || {});\n }\n attach(address: string): Permit2 {\n return super.attach(address) as Permit2;\n }\n connect(signer: Signer): Permit2__factory {\n return super.connect(signer) as Permit2__factory;\n }\n static readonly bytecode = _bytecode;\n static readonly abi = _abi;\n static createInterface(): Permit2Interface {\n return new utils.Interface(_abi) as Permit2Interface;\n }\n static connect(\n address: string,\n signerOrProvider: Signer | Provider\n ): Permit2 {\n return new Contract(address, _abi, signerOrProvider) as Permit2;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StateView__factory.js","sourceRoot":"","sources":["../../../../../src/types/other/factories/StateView__factory.ts"],"names":[],"mappings":"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","sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Provider } from \"@ethersproject/providers\";\nimport { Contract, Signer, utils } from \"ethers\";\nimport type { StateView, StateViewInterface } from \"../StateView\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_poolManager\",\n type: \"address\",\n internalType: \"contract IPoolManager\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getFeeGrowthGlobals\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n ],\n outputs: [\n {\n name: \"feeGrowthGlobal0\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeGrowthGlobal1\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getFeeGrowthInside\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"tickLower\",\n type: \"int24\",\n internalType: \"int24\",\n },\n {\n name: \"tickUpper\",\n type: \"int24\",\n internalType: \"int24\",\n },\n ],\n outputs: [\n {\n name: \"feeGrowthInside0X128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeGrowthInside1X128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getLiquidity\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n ],\n outputs: [\n {\n name: \"liquidity\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPositionInfo\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"positionId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"liquidity\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n {\n name: \"feeGrowthInside0LastX128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeGrowthInside1LastX128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPositionInfo\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"owner\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"tickLower\",\n type: \"int24\",\n internalType: \"int24\",\n },\n {\n name: \"tickUpper\",\n type: \"int24\",\n internalType: \"int24\",\n },\n {\n name: \"salt\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"liquidity\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n {\n name: \"feeGrowthInside0LastX128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeGrowthInside1LastX128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getPositionLiquidity\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"positionId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"liquidity\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getSlot0\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n ],\n outputs: [\n {\n name: \"sqrtPriceX96\",\n type: \"uint160\",\n internalType: \"uint160\",\n },\n {\n name: \"tick\",\n type: \"int24\",\n internalType: \"int24\",\n },\n {\n name: \"protocolFee\",\n type: \"uint24\",\n internalType: \"uint24\",\n },\n {\n name: \"lpFee\",\n type: \"uint24\",\n internalType: \"uint24\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getTickBitmap\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"tick\",\n type: \"int16\",\n internalType: \"int16\",\n },\n ],\n outputs: [\n {\n name: \"tickBitmap\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getTickFeeGrowthOutside\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"tick\",\n type: \"int24\",\n internalType: \"int24\",\n },\n ],\n outputs: [\n {\n name: \"feeGrowthOutside0X128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeGrowthOutside1X128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getTickInfo\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"tick\",\n type: \"int24\",\n internalType: \"int24\",\n },\n ],\n outputs: [\n {\n name: \"liquidityGross\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n {\n name: \"liquidityNet\",\n type: \"int128\",\n internalType: \"int128\",\n },\n {\n name: \"feeGrowthOutside0X128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeGrowthOutside1X128\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getTickLiquidity\",\n inputs: [\n {\n name: \"poolId\",\n type: \"bytes32\",\n internalType: \"PoolId\",\n },\n {\n name: \"tick\",\n type: \"int24\",\n internalType: \"int24\",\n },\n ],\n outputs: [\n {\n name: \"liquidityGross\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n {\n name: \"liquidityNet\",\n type: \"int128\",\n internalType: \"int128\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"poolManager\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract IPoolManager\",\n },\n ],\n stateMutability: \"view\",\n },\n];\n\nexport class StateView__factory {\n static readonly abi = _abi;\n static createInterface(): StateViewInterface {\n return new utils.Interface(_abi) as StateViewInterface;\n }\n static connect(\n address: string,\n signerOrProvider: Signer | Provider\n ): StateView {\n return new Contract(address, _abi, signerOrProvider) as StateView;\n }\n}\n"]}
|