import { UniswapV2 } from '../uniswap-v2/uniswap-v2'; import { Network } from '../../constants'; import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, PoolLiquidity, SimpleExchangeParam, Token, TransferFeeParams } from '../../types'; import { IDexHelper } from '../../dex-helper'; import { UniswapData, UniswapV2Data } from '../uniswap-v2/types'; import { NumberAsString, SwapSide } from '@paraswap/core'; import { PoolState, SolidlyData, SolidlyPair, SolidlyPoolOrderedParams } from './types'; export declare class Solidly extends UniswapV2 { protected network: Network; protected dexHelper: IDexHelper; pairs: { [key: string]: SolidlyPair; }; stableFee?: number; volatileFee?: number; getPairMethodName: string; private findSolidlyPairPromises; readonly isFeeOnTransferSupported: boolean; readonly SRC_TOKEN_DEX_TRANSFERS = 1; readonly DEST_TOKEN_DEX_TRANSFERS = 1; static dexKeysWithNetwork: { key: string; networks: Network[]; }[]; constructor(network: Network, dexKey: string, dexHelper: IDexHelper, isDynamicFees?: boolean, factoryAddress?: Address, subgraphURL?: string, initCode?: string, feeCode?: number, poolGasCost?: number, routerAddress?: Address); findSolidlyPairs(from: Token, to: Token): Promise; private _findSolidlyPairs; batchCatchUpPairs(pairs: [Token, Token][], blockNumber: number): Promise; getManyPoolReserves(pairs: SolidlyPair[], blockNumber: number): Promise; getSellPrice(priceParams: SolidlyPoolOrderedParams, srcAmount: bigint): bigint; getBuyPrice(priceParams: SolidlyPoolOrderedParams, srcAmount: bigint): bigint; getPricesVolume(_from: Token, _to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[], transferFees?: TransferFeeParams): Promise | null>; getTopPoolsForToken(tokenAddress: Address, count: number): Promise; getSolidlyPairOrderedParams(from: Token, to: Token, blockNumber: number, tokenDexTransferFee: number): Promise>; getPoolIdentifiers(_from: Token, _to: Token, side: SwapSide, blockNumber: number): Promise; protected getPoolIdentifier(token0: string, token1: string, stable?: boolean): string; poolPostfix(stable: boolean): "S" | "U"; getSimpleParam(src: Address, dest: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: UniswapData, side: SwapSide): Promise; getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, toAmount: NumberAsString, // required for buy case data: SolidlyData, side: SwapSide): AdapterExchangeParam; getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: SolidlyData, side: SwapSide): DexExchangeParam; }