import { Token } from "../../../../../../../common/tokens"; import { BlockchainName, EvmBlockchainName } from "../../../../../../../core/blockchain/models/blockchain-name"; import { EvmWeb3Private } from "../../../../../../../core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private"; import { ContractMulticallResponse } from "../../../../../../../core/blockchain/web3-public-service/web3-public/models/contract-multicall-response"; import { EncodeTransactionOptions } from "../../../../../../common/models/encode-transaction-options"; import { SwapTransactionOptions } from "../../../../../../common/models/swap-transaction-options"; import { OnChainTradeType } from "../../../common/models/on-chain-trade-type"; import { EvmEncodedConfigAndToAmount } from "../../../common/on-chain-aggregator/models/aggregator-on-chain-types"; import { EvmOnChainTrade } from "../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade"; import { Exact } from "../../../common/on-chain-trade/evm-on-chain-trade/models/exact"; import { ExactInputOutputSwapMethodsList } from "./constants/SWAP_METHOD"; import { AerodromeRoutePoolArgument } from "./models/aerodrome-route-method-arguments"; import { DefaultEstimatedGas } from "./models/default-estimated-gas"; import { ExtendedRoutesMethodArguments } from "./models/route-method-arguments"; import { UniswapV2TradeStruct } from "./models/uniswap-v2-trade-struct"; import { AbiItem } from 'web3-utils'; export declare abstract class UniswapV2AbstractTrade extends EvmOnChainTrade { /** @internal */ static getDexContractAddress(blockchain: BlockchainName): string; static get type(): OnChainTradeType; /** @internal */ static readonly contractAbi: AbiItem[]; /** @internal */ static readonly swapMethods: ExactInputOutputSwapMethodsList; /** @internal */ static readonly defaultEstimatedGasInfo: DefaultEstimatedGas; static callForRoutes(blockchain: EvmBlockchainName, exact: Exact, routesMethodArguments: ExtendedRoutesMethodArguments): Promise[]>; /** * Deadline for transaction in minutes. */ readonly deadlineMinutes: number; /** * @internal * Path with wrapped native address. */ readonly wrappedPath: ReadonlyArray; readonly routPoolInfo: AerodromeRoutePoolArgument[] | undefined; /** * Defines, whether to call 'exactInput' or 'exactOutput' method. */ readonly exact: Exact; get type(): OnChainTradeType; protected get deadlineMinutesTimestamp(): number; protected get nativeValueToSend(): string | undefined; private get regularSwapMethod(); private get supportedFeeSwapMethod(); private get regularSwapMethodKey(); constructor(tradeStruct: UniswapV2TradeStruct, providerAddress: string); protected getAmountInAndAmountOut(): { amountIn: string; amountOut: string; }; protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise; protected getSwapError(err: Error & { code: number; }): Error; protected getCallParameters(receiverAddress?: string): unknown[]; protected getMethodName(options: SwapTransactionOptions, fromAddress?: string, supportFee?: boolean): Promise; protected getSwapParametersByMethod(method: string, options: SwapTransactionOptions): Parameters['executeContractMethod']>; private convertSwapParametersToCallParameters; }