import { BigintIsh, Currency, Percent, TradeType } from '@pancakeswap/sdk'; import { Trade } from './entities/trade'; import { PermitOptions } from './selfPermit'; import { MethodParameters } from './utils/calldata'; import { FeeOptions } from './payments'; /** * Options for producing the arguments to send calls to the router. */ export interface SwapOptions { /** * How much the execution price is allowed to move unfavorably from the trade execution price. */ slippageTolerance: Percent; /** * The account that should receive the output. */ recipient: string; /** * When the transaction expires, in epoch seconds. */ deadline: BigintIsh; /** * The optional permit parameters for spending the input. */ inputTokenPermit?: PermitOptions; /** * The optional price limit for the trade. */ sqrtPriceLimitX96?: BigintIsh; /** * Optional information for taking a fee on output. */ fee?: FeeOptions; } /** * Represents the Pancake V3 SwapRouter, and has static methods for helping execute trades. */ export declare abstract class SwapRouter { static ABI: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_deployer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_factory"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH9"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "WETH9"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "deployer"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes"; readonly name: "path"; readonly type: "bytes"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountOutMinimum"; readonly type: "uint256"; }]; readonly internalType: "struct ISwapRouter.ExactInputParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "exactInput"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountOutMinimum"; readonly type: "uint256"; }, { readonly internalType: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly type: "uint160"; }]; readonly internalType: "struct ISwapRouter.ExactInputSingleParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "exactInputSingle"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes"; readonly name: "path"; readonly type: "bytes"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountInMaximum"; readonly type: "uint256"; }]; readonly internalType: "struct ISwapRouter.ExactOutputParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "exactOutput"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "tokenIn"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "tokenOut"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountOut"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amountInMaximum"; readonly type: "uint256"; }, { readonly internalType: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly type: "uint160"; }]; readonly internalType: "struct ISwapRouter.ExactOutputSingleParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "exactOutputSingle"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountIn"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "amount0Delta"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "amount1Delta"; readonly type: "int256"; }, { readonly internalType: "bytes"; readonly name: "_data"; readonly type: "bytes"; }]; readonly name: "pancakeV3SwapCallback"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "refundETH"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiry"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermitAllowed"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiry"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermitAllowedIfNecessary"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermitIfNecessary"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "sweepToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeBips"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "feeRecipient"; readonly type: "address"; }]; readonly name: "sweepTokenWithFee"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "unwrapWETH9"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "feeBips"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "feeRecipient"; readonly type: "address"; }]; readonly name: "unwrapWETH9WithFee"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; /** * Cannot be constructed. */ private constructor(); /** * Produces the on-chain method name to call and the hex encoded parameters to pass as arguments for a given trade. * @param trade to produce call parameters for * @param options options for the call parameters */ static swapCallParameters(trades: Trade | Trade[], options: SwapOptions): MethodParameters; } //# sourceMappingURL=swapRouter.d.ts.map