/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils, } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface IStableSwapInterface extends utils.Interface { functions: { "addLiquidity(uint256[],uint256,uint256)": FunctionFragment; "calculateRemoveLiquidity(uint256)": FunctionFragment; "calculateRemoveLiquidityOneToken(uint256,uint8)": FunctionFragment; "calculateSwap(uint8,uint8,uint256)": FunctionFragment; "calculateSwapFromAddress(address,address,uint256)": FunctionFragment; "calculateSwapOut(uint8,uint8,uint256)": FunctionFragment; "calculateSwapOutFromAddress(address,address,uint256)": FunctionFragment; "calculateTokenAmount(uint256[],bool)": FunctionFragment; "getA()": FunctionFragment; "getToken(uint8)": FunctionFragment; "getTokenBalance(uint8)": FunctionFragment; "getTokenIndex(address)": FunctionFragment; "getVirtualPrice()": FunctionFragment; "initialize(address[],uint8[],string,string,uint256,uint256,uint256,address)": FunctionFragment; "removeLiquidity(uint256,uint256[],uint256)": FunctionFragment; "removeLiquidityImbalance(uint256[],uint256,uint256)": FunctionFragment; "removeLiquidityOneToken(uint256,uint8,uint256,uint256)": FunctionFragment; "swap(uint8,uint8,uint256,uint256,uint256)": FunctionFragment; "swapExact(uint256,address,address,uint256,uint256)": FunctionFragment; "swapExactOut(uint256,address,address,uint256,uint256)": FunctionFragment; }; encodeFunctionData( functionFragment: "addLiquidity", values: [BigNumberish[], BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateRemoveLiquidity", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateRemoveLiquidityOneToken", values: [BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateSwap", values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateSwapFromAddress", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateSwapOut", values: [BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateSwapOutFromAddress", values: [string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "calculateTokenAmount", values: [BigNumberish[], boolean] ): string; encodeFunctionData(functionFragment: "getA", values?: undefined): string; encodeFunctionData( functionFragment: "getToken", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getTokenBalance", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getTokenIndex", values: [string] ): string; encodeFunctionData( functionFragment: "getVirtualPrice", values?: undefined ): string; encodeFunctionData( functionFragment: "initialize", values: [ string[], BigNumberish[], string, string, BigNumberish, BigNumberish, BigNumberish, string ] ): string; encodeFunctionData( functionFragment: "removeLiquidity", values: [BigNumberish, BigNumberish[], BigNumberish] ): string; encodeFunctionData( functionFragment: "removeLiquidityImbalance", values: [BigNumberish[], BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "removeLiquidityOneToken", values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "swap", values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish ] ): string; encodeFunctionData( functionFragment: "swapExact", values: [BigNumberish, string, string, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "swapExactOut", values: [BigNumberish, string, string, BigNumberish, BigNumberish] ): string; decodeFunctionResult( functionFragment: "addLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateRemoveLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateRemoveLiquidityOneToken", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateSwap", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateSwapFromAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateSwapOut", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateSwapOutFromAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateTokenAmount", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getA", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getToken", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getTokenBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getTokenIndex", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getVirtualPrice", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult( functionFragment: "removeLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityImbalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityOneToken", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapExact", data: BytesLike): Result; decodeFunctionResult( functionFragment: "swapExactOut", data: BytesLike ): Result; events: { "AddLiquidity(address,uint256[],uint256[],uint256,uint256)": EventFragment; "NewAdminFee(uint256)": EventFragment; "NewSwapFee(uint256)": EventFragment; "NewWithdrawFee(uint256)": EventFragment; "RampA(uint256,uint256,uint256,uint256)": EventFragment; "RemoveLiquidity(address,uint256[],uint256)": EventFragment; "RemoveLiquidityImbalance(address,uint256[],uint256[],uint256,uint256)": EventFragment; "RemoveLiquidityOne(address,uint256,uint256,uint256,uint256)": EventFragment; "StopRampA(uint256,uint256)": EventFragment; "TokenSwap(address,uint256,uint256,uint128,uint128)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewAdminFee"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewSwapFee"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewWithdrawFee"): EventFragment; getEvent(nameOrSignatureOrTopic: "RampA"): EventFragment; getEvent(nameOrSignatureOrTopic: "RemoveLiquidity"): EventFragment; getEvent(nameOrSignatureOrTopic: "RemoveLiquidityImbalance"): EventFragment; getEvent(nameOrSignatureOrTopic: "RemoveLiquidityOne"): EventFragment; getEvent(nameOrSignatureOrTopic: "StopRampA"): EventFragment; getEvent(nameOrSignatureOrTopic: "TokenSwap"): EventFragment; } export type AddLiquidityEvent = TypedEvent< [string, BigNumber[], BigNumber[], BigNumber, BigNumber], { provider: string; tokenAmounts: BigNumber[]; fees: BigNumber[]; invariant: BigNumber; lpTokenSupply: BigNumber; } >; export type AddLiquidityEventFilter = TypedEventFilter; export type NewAdminFeeEvent = TypedEvent< [BigNumber], { newAdminFee: BigNumber } >; export type NewAdminFeeEventFilter = TypedEventFilter; export type NewSwapFeeEvent = TypedEvent< [BigNumber], { newSwapFee: BigNumber } >; export type NewSwapFeeEventFilter = TypedEventFilter; export type NewWithdrawFeeEvent = TypedEvent< [BigNumber], { newWithdrawFee: BigNumber } >; export type NewWithdrawFeeEventFilter = TypedEventFilter; export type RampAEvent = TypedEvent< [BigNumber, BigNumber, BigNumber, BigNumber], { oldA: BigNumber; newA: BigNumber; initialTime: BigNumber; futureTime: BigNumber; } >; export type RampAEventFilter = TypedEventFilter; export type RemoveLiquidityEvent = TypedEvent< [string, BigNumber[], BigNumber], { provider: string; tokenAmounts: BigNumber[]; lpTokenSupply: BigNumber } >; export type RemoveLiquidityEventFilter = TypedEventFilter; export type RemoveLiquidityImbalanceEvent = TypedEvent< [string, BigNumber[], BigNumber[], BigNumber, BigNumber], { provider: string; tokenAmounts: BigNumber[]; fees: BigNumber[]; invariant: BigNumber; lpTokenSupply: BigNumber; } >; export type RemoveLiquidityImbalanceEventFilter = TypedEventFilter; export type RemoveLiquidityOneEvent = TypedEvent< [string, BigNumber, BigNumber, BigNumber, BigNumber], { provider: string; lpTokenAmount: BigNumber; lpTokenSupply: BigNumber; boughtId: BigNumber; tokensBought: BigNumber; } >; export type RemoveLiquidityOneEventFilter = TypedEventFilter; export type StopRampAEvent = TypedEvent< [BigNumber, BigNumber], { currentA: BigNumber; time: BigNumber } >; export type StopRampAEventFilter = TypedEventFilter; export type TokenSwapEvent = TypedEvent< [string, BigNumber, BigNumber, BigNumber, BigNumber], { buyer: string; tokensSold: BigNumber; tokensBought: BigNumber; soldId: BigNumber; boughtId: BigNumber; } >; export type TokenSwapEventFilter = TypedEventFilter; export interface IStableSwap extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IStableSwapInterface; queryFilter( event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise>; listeners( eventFilter?: TypedEventFilter ): Array>; listeners(eventName?: string): Array; removeAllListeners( eventFilter: TypedEventFilter ): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { addLiquidity( amounts: BigNumberish[], minToMint: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; calculateRemoveLiquidity( amount: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber[]]>; calculateRemoveLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber] & { availableTokenAmount: BigNumber }>; calculateSwap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSwapFromAddress( assetIn: string, assetOut: string, amountIn: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSwapOut( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dy: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSwapOutFromAddress( assetIn: string, assetOut: string, amountOut: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateTokenAmount( amounts: BigNumberish[], deposit: boolean, overrides?: CallOverrides ): Promise<[BigNumber]>; getA(overrides?: CallOverrides): Promise<[BigNumber]>; getToken(index: BigNumberish, overrides?: CallOverrides): Promise<[string]>; getTokenBalance( index: BigNumberish, overrides?: CallOverrides ): Promise<[BigNumber]>; getTokenIndex( tokenAddress: string, overrides?: CallOverrides ): Promise<[number]>; getVirtualPrice(overrides?: CallOverrides): Promise<[BigNumber]>; initialize( pooledTokens: string[], decimals: BigNumberish[], lpTokenName: string, lpTokenSymbol: string, a: BigNumberish, fee: BigNumberish, adminFee: BigNumberish, lpTokenTargetAddress: string, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidity( amount: BigNumberish, minAmounts: BigNumberish[], deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityImbalance( amounts: BigNumberish[], maxBurnAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, minAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swapExact( amountIn: BigNumberish, assetIn: string, assetOut: string, minAmountOut: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; swapExactOut( amountOut: BigNumberish, assetIn: string, assetOut: string, maxAmountIn: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; addLiquidity( amounts: BigNumberish[], minToMint: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; calculateRemoveLiquidity( amount: BigNumberish, overrides?: CallOverrides ): Promise; calculateRemoveLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapFromAddress( assetIn: string, assetOut: string, amountIn: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOut( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dy: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOutFromAddress( assetIn: string, assetOut: string, amountOut: BigNumberish, overrides?: CallOverrides ): Promise; calculateTokenAmount( amounts: BigNumberish[], deposit: boolean, overrides?: CallOverrides ): Promise; getA(overrides?: CallOverrides): Promise; getToken(index: BigNumberish, overrides?: CallOverrides): Promise; getTokenBalance( index: BigNumberish, overrides?: CallOverrides ): Promise; getTokenIndex( tokenAddress: string, overrides?: CallOverrides ): Promise; getVirtualPrice(overrides?: CallOverrides): Promise; initialize( pooledTokens: string[], decimals: BigNumberish[], lpTokenName: string, lpTokenSymbol: string, a: BigNumberish, fee: BigNumberish, adminFee: BigNumberish, lpTokenTargetAddress: string, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidity( amount: BigNumberish, minAmounts: BigNumberish[], deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityImbalance( amounts: BigNumberish[], maxBurnAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, minAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swapExact( amountIn: BigNumberish, assetIn: string, assetOut: string, minAmountOut: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; swapExactOut( amountOut: BigNumberish, assetIn: string, assetOut: string, maxAmountIn: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; callStatic: { addLiquidity( amounts: BigNumberish[], minToMint: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides ): Promise; calculateRemoveLiquidity( amount: BigNumberish, overrides?: CallOverrides ): Promise; calculateRemoveLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapFromAddress( assetIn: string, assetOut: string, amountIn: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOut( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dy: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOutFromAddress( assetIn: string, assetOut: string, amountOut: BigNumberish, overrides?: CallOverrides ): Promise; calculateTokenAmount( amounts: BigNumberish[], deposit: boolean, overrides?: CallOverrides ): Promise; getA(overrides?: CallOverrides): Promise; getToken(index: BigNumberish, overrides?: CallOverrides): Promise; getTokenBalance( index: BigNumberish, overrides?: CallOverrides ): Promise; getTokenIndex( tokenAddress: string, overrides?: CallOverrides ): Promise; getVirtualPrice(overrides?: CallOverrides): Promise; initialize( pooledTokens: string[], decimals: BigNumberish[], lpTokenName: string, lpTokenSymbol: string, a: BigNumberish, fee: BigNumberish, adminFee: BigNumberish, lpTokenTargetAddress: string, overrides?: CallOverrides ): Promise; removeLiquidity( amount: BigNumberish, minAmounts: BigNumberish[], deadline: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidityImbalance( amounts: BigNumberish[], maxBurnAmount: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides ): Promise; removeLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, minAmount: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExact( amountIn: BigNumberish, assetIn: string, assetOut: string, minAmountOut: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides ): Promise; swapExactOut( amountOut: BigNumberish, assetIn: string, assetOut: string, maxAmountIn: BigNumberish, deadline: BigNumberish, overrides?: CallOverrides ): Promise; }; filters: { "AddLiquidity(address,uint256[],uint256[],uint256,uint256)"( provider?: string | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): AddLiquidityEventFilter; AddLiquidity( provider?: string | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): AddLiquidityEventFilter; "NewAdminFee(uint256)"(newAdminFee?: null): NewAdminFeeEventFilter; NewAdminFee(newAdminFee?: null): NewAdminFeeEventFilter; "NewSwapFee(uint256)"(newSwapFee?: null): NewSwapFeeEventFilter; NewSwapFee(newSwapFee?: null): NewSwapFeeEventFilter; "NewWithdrawFee(uint256)"(newWithdrawFee?: null): NewWithdrawFeeEventFilter; NewWithdrawFee(newWithdrawFee?: null): NewWithdrawFeeEventFilter; "RampA(uint256,uint256,uint256,uint256)"( oldA?: null, newA?: null, initialTime?: null, futureTime?: null ): RampAEventFilter; RampA( oldA?: null, newA?: null, initialTime?: null, futureTime?: null ): RampAEventFilter; "RemoveLiquidity(address,uint256[],uint256)"( provider?: string | null, tokenAmounts?: null, lpTokenSupply?: null ): RemoveLiquidityEventFilter; RemoveLiquidity( provider?: string | null, tokenAmounts?: null, lpTokenSupply?: null ): RemoveLiquidityEventFilter; "RemoveLiquidityImbalance(address,uint256[],uint256[],uint256,uint256)"( provider?: string | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): RemoveLiquidityImbalanceEventFilter; RemoveLiquidityImbalance( provider?: string | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): RemoveLiquidityImbalanceEventFilter; "RemoveLiquidityOne(address,uint256,uint256,uint256,uint256)"( provider?: string | null, lpTokenAmount?: null, lpTokenSupply?: null, boughtId?: null, tokensBought?: null ): RemoveLiquidityOneEventFilter; RemoveLiquidityOne( provider?: string | null, lpTokenAmount?: null, lpTokenSupply?: null, boughtId?: null, tokensBought?: null ): RemoveLiquidityOneEventFilter; "StopRampA(uint256,uint256)"( currentA?: null, time?: null ): StopRampAEventFilter; StopRampA(currentA?: null, time?: null): StopRampAEventFilter; "TokenSwap(address,uint256,uint256,uint128,uint128)"( buyer?: string | null, tokensSold?: null, tokensBought?: null, soldId?: null, boughtId?: null ): TokenSwapEventFilter; TokenSwap( buyer?: string | null, tokensSold?: null, tokensBought?: null, soldId?: null, boughtId?: null ): TokenSwapEventFilter; }; estimateGas: { addLiquidity( amounts: BigNumberish[], minToMint: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; calculateRemoveLiquidity( amount: BigNumberish, overrides?: CallOverrides ): Promise; calculateRemoveLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapFromAddress( assetIn: string, assetOut: string, amountIn: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOut( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dy: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOutFromAddress( assetIn: string, assetOut: string, amountOut: BigNumberish, overrides?: CallOverrides ): Promise; calculateTokenAmount( amounts: BigNumberish[], deposit: boolean, overrides?: CallOverrides ): Promise; getA(overrides?: CallOverrides): Promise; getToken( index: BigNumberish, overrides?: CallOverrides ): Promise; getTokenBalance( index: BigNumberish, overrides?: CallOverrides ): Promise; getTokenIndex( tokenAddress: string, overrides?: CallOverrides ): Promise; getVirtualPrice(overrides?: CallOverrides): Promise; initialize( pooledTokens: string[], decimals: BigNumberish[], lpTokenName: string, lpTokenSymbol: string, a: BigNumberish, fee: BigNumberish, adminFee: BigNumberish, lpTokenTargetAddress: string, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidity( amount: BigNumberish, minAmounts: BigNumberish[], deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityImbalance( amounts: BigNumberish[], maxBurnAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, minAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swapExact( amountIn: BigNumberish, assetIn: string, assetOut: string, minAmountOut: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; swapExactOut( amountOut: BigNumberish, assetIn: string, assetOut: string, maxAmountIn: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; populateTransaction: { addLiquidity( amounts: BigNumberish[], minToMint: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; calculateRemoveLiquidity( amount: BigNumberish, overrides?: CallOverrides ): Promise; calculateRemoveLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapFromAddress( assetIn: string, assetOut: string, amountIn: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOut( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dy: BigNumberish, overrides?: CallOverrides ): Promise; calculateSwapOutFromAddress( assetIn: string, assetOut: string, amountOut: BigNumberish, overrides?: CallOverrides ): Promise; calculateTokenAmount( amounts: BigNumberish[], deposit: boolean, overrides?: CallOverrides ): Promise; getA(overrides?: CallOverrides): Promise; getToken( index: BigNumberish, overrides?: CallOverrides ): Promise; getTokenBalance( index: BigNumberish, overrides?: CallOverrides ): Promise; getTokenIndex( tokenAddress: string, overrides?: CallOverrides ): Promise; getVirtualPrice(overrides?: CallOverrides): Promise; initialize( pooledTokens: string[], decimals: BigNumberish[], lpTokenName: string, lpTokenSymbol: string, a: BigNumberish, fee: BigNumberish, adminFee: BigNumberish, lpTokenTargetAddress: string, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidity( amount: BigNumberish, minAmounts: BigNumberish[], deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityImbalance( amounts: BigNumberish[], maxBurnAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; removeLiquidityOneToken( tokenAmount: BigNumberish, tokenIndex: BigNumberish, minAmount: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swap( tokenIndexFrom: BigNumberish, tokenIndexTo: BigNumberish, dx: BigNumberish, minDy: BigNumberish, deadline: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; swapExact( amountIn: BigNumberish, assetIn: string, assetOut: string, minAmountOut: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; swapExactOut( amountOut: BigNumberish, assetIn: string, assetOut: string, maxAmountIn: BigNumberish, deadline: BigNumberish, overrides?: PayableOverrides & { from?: string | Promise } ): Promise; }; }