UNPKG

@dahlia-labs/stableswap-sdk

Version:
1,631 lines (1,445 loc) 63.4 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils, } from "ethers"; import type { FunctionFragment, Result, EventFragment, } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue, } from "./common"; export interface SwapInterface extends utils.Interface { functions: { "addLiquidity(uint256[],uint256,uint256)": FunctionFragment; "calculateCurrentWithdrawFee(address)": FunctionFragment; "calculateRemoveLiquidity(address,uint256)": FunctionFragment; "calculateRemoveLiquidityOneToken(address,uint256,uint8)": FunctionFragment; "calculateSwap(uint8,uint8,uint256)": FunctionFragment; "calculateSwapUnderlying(uint8,uint8,uint256)": FunctionFragment; "calculateTokenAmount(address,uint256[],bool)": FunctionFragment; "getA()": FunctionFragment; "getAPrecise()": FunctionFragment; "getAdminBalance(uint256)": FunctionFragment; "getBalances()": FunctionFragment; "getDepositTimestamp(address)": FunctionFragment; "getLpToken()": FunctionFragment; "getToken(uint8)": FunctionFragment; "getTokenBalance(uint8)": FunctionFragment; "getTokenIndex(address)": FunctionFragment; "getVirtualPrice()": FunctionFragment; "initialize(address[],uint8[],string,string,uint256,uint256,uint256,uint256,uint256,address)": FunctionFragment; "initializeMetaSwap(address[],uint8[],string,string,uint256,uint256,uint256,uint256,uint256,address,address)": FunctionFragment; "metaSwapStorage()": FunctionFragment; "owner()": FunctionFragment; "pause()": FunctionFragment; "paused()": FunctionFragment; "rampA(uint256,uint256)": FunctionFragment; "removeLiquidity(uint256,uint256[],uint256)": FunctionFragment; "removeLiquidityImbalance(uint256[],uint256,uint256)": FunctionFragment; "removeLiquidityOneToken(uint256,uint8,uint256,uint256)": FunctionFragment; "renounceOwnership()": FunctionFragment; "setAdminFee(uint256)": FunctionFragment; "setDefaultDepositFee(uint256)": FunctionFragment; "setDefaultWithdrawFee(uint256)": FunctionFragment; "setDevAddress(address)": FunctionFragment; "setSwapFee(uint256)": FunctionFragment; "stopRampA()": FunctionFragment; "swap(uint8,uint8,uint256,uint256,uint256)": FunctionFragment; "swapStorage()": FunctionFragment; "swapUnderlying(uint8,uint8,uint256,uint256,uint256)": FunctionFragment; "transferOwnership(address)": FunctionFragment; "unpause()": FunctionFragment; "updateUserWithdrawFee(address,uint256)": FunctionFragment; "withdrawAdminFees()": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "addLiquidity" | "calculateCurrentWithdrawFee" | "calculateRemoveLiquidity" | "calculateRemoveLiquidityOneToken" | "calculateSwap" | "calculateSwapUnderlying" | "calculateTokenAmount" | "getA" | "getAPrecise" | "getAdminBalance" | "getBalances" | "getDepositTimestamp" | "getLpToken" | "getToken" | "getTokenBalance" | "getTokenIndex" | "getVirtualPrice" | "initialize" | "initializeMetaSwap" | "metaSwapStorage" | "owner" | "pause" | "paused" | "rampA" | "removeLiquidity" | "removeLiquidityImbalance" | "removeLiquidityOneToken" | "renounceOwnership" | "setAdminFee" | "setDefaultDepositFee" | "setDefaultWithdrawFee" | "setDevAddress" | "setSwapFee" | "stopRampA" | "swap" | "swapStorage" | "swapUnderlying" | "transferOwnership" | "unpause" | "updateUserWithdrawFee" | "withdrawAdminFees" ): FunctionFragment; encodeFunctionData( functionFragment: "addLiquidity", values: [ PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "calculateCurrentWithdrawFee", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "calculateRemoveLiquidity", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "calculateRemoveLiquidityOneToken", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "calculateSwap", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "calculateSwapUnderlying", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "calculateTokenAmount", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>[], PromiseOrValue<boolean> ] ): string; encodeFunctionData(functionFragment: "getA", values?: undefined): string; encodeFunctionData( functionFragment: "getAPrecise", values?: undefined ): string; encodeFunctionData( functionFragment: "getAdminBalance", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "getBalances", values?: undefined ): string; encodeFunctionData( functionFragment: "getDepositTimestamp", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "getLpToken", values?: undefined ): string; encodeFunctionData( functionFragment: "getToken", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "getTokenBalance", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "getTokenIndex", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "getVirtualPrice", values?: undefined ): string; encodeFunctionData( functionFragment: "initialize", values: [ PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[], PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string> ] ): string; encodeFunctionData( functionFragment: "initializeMetaSwap", values: [ PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[], PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<string> ] ): string; encodeFunctionData( functionFragment: "metaSwapStorage", values?: undefined ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pause", values?: undefined): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData( functionFragment: "rampA", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "removeLiquidity", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "removeLiquidityImbalance", values: [ PromiseOrValue<BigNumberish>[], PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "removeLiquidityOneToken", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "renounceOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "setAdminFee", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "setDefaultDepositFee", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "setDefaultWithdrawFee", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "setDevAddress", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "setSwapFee", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData(functionFragment: "stopRampA", values?: undefined): string; encodeFunctionData( functionFragment: "swap", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "swapStorage", values?: undefined ): string; encodeFunctionData( functionFragment: "swapUnderlying", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "transferOwnership", values: [PromiseOrValue<string>] ): string; encodeFunctionData(functionFragment: "unpause", values?: undefined): string; encodeFunctionData( functionFragment: "updateUserWithdrawFee", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "withdrawAdminFees", values?: undefined ): string; decodeFunctionResult( functionFragment: "addLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateCurrentWithdrawFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateRemoveLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateRemoveLiquidityOneToken", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateSwap", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateSwapUnderlying", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "calculateTokenAmount", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getA", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getAPrecise", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getAdminBalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getBalances", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getDepositTimestamp", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getLpToken", 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: "initializeMetaSwap", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "metaSwapStorage", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rampA", data: BytesLike): Result; decodeFunctionResult( functionFragment: "removeLiquidity", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityImbalance", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeLiquidityOneToken", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "renounceOwnership", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setAdminFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setDefaultDepositFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setDefaultWithdrawFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setDevAddress", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "setSwapFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stopRampA", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; decodeFunctionResult( functionFragment: "swapStorage", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "swapUnderlying", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferOwnership", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; decodeFunctionResult( functionFragment: "updateUserWithdrawFee", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawAdminFees", data: BytesLike ): Result; events: { "AddLiquidity(address,uint256[],uint256[],uint256,uint256)": EventFragment; "NewAdminFee(uint256)": EventFragment; "NewDepositFee(uint256)": EventFragment; "NewSwapFee(uint256)": EventFragment; "NewWithdrawFee(uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Paused(address)": 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; "TokenSwapUnderlying(address,uint256,uint256,uint128,uint128)": EventFragment; "Unpaused(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AddLiquidity"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewAdminFee"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewDepositFee"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewSwapFee"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewWithdrawFee"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Paused"): 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; getEvent(nameOrSignatureOrTopic: "TokenSwapUnderlying"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment; } export interface AddLiquidityEventObject { provider: string; tokenAmounts: BigNumber[]; fees: BigNumber[]; invariant: BigNumber; lpTokenSupply: BigNumber; } export type AddLiquidityEvent = TypedEvent< [string, BigNumber[], BigNumber[], BigNumber, BigNumber], AddLiquidityEventObject >; export type AddLiquidityEventFilter = TypedEventFilter<AddLiquidityEvent>; export interface NewAdminFeeEventObject { newAdminFee: BigNumber; } export type NewAdminFeeEvent = TypedEvent<[BigNumber], NewAdminFeeEventObject>; export type NewAdminFeeEventFilter = TypedEventFilter<NewAdminFeeEvent>; export interface NewDepositFeeEventObject { newDepositFee: BigNumber; } export type NewDepositFeeEvent = TypedEvent< [BigNumber], NewDepositFeeEventObject >; export type NewDepositFeeEventFilter = TypedEventFilter<NewDepositFeeEvent>; export interface NewSwapFeeEventObject { newSwapFee: BigNumber; } export type NewSwapFeeEvent = TypedEvent<[BigNumber], NewSwapFeeEventObject>; export type NewSwapFeeEventFilter = TypedEventFilter<NewSwapFeeEvent>; export interface NewWithdrawFeeEventObject { newWithdrawFee: BigNumber; } export type NewWithdrawFeeEvent = TypedEvent< [BigNumber], NewWithdrawFeeEventObject >; export type NewWithdrawFeeEventFilter = TypedEventFilter<NewWithdrawFeeEvent>; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent< [string, string], OwnershipTransferredEventObject >; export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>; export interface PausedEventObject { account: string; } export type PausedEvent = TypedEvent<[string], PausedEventObject>; export type PausedEventFilter = TypedEventFilter<PausedEvent>; export interface RampAEventObject { oldA: BigNumber; newA: BigNumber; initialTime: BigNumber; futureTime: BigNumber; } export type RampAEvent = TypedEvent< [BigNumber, BigNumber, BigNumber, BigNumber], RampAEventObject >; export type RampAEventFilter = TypedEventFilter<RampAEvent>; export interface RemoveLiquidityEventObject { provider: string; tokenAmounts: BigNumber[]; lpTokenSupply: BigNumber; } export type RemoveLiquidityEvent = TypedEvent< [string, BigNumber[], BigNumber], RemoveLiquidityEventObject >; export type RemoveLiquidityEventFilter = TypedEventFilter<RemoveLiquidityEvent>; export interface RemoveLiquidityImbalanceEventObject { provider: string; tokenAmounts: BigNumber[]; fees: BigNumber[]; invariant: BigNumber; lpTokenSupply: BigNumber; } export type RemoveLiquidityImbalanceEvent = TypedEvent< [string, BigNumber[], BigNumber[], BigNumber, BigNumber], RemoveLiquidityImbalanceEventObject >; export type RemoveLiquidityImbalanceEventFilter = TypedEventFilter<RemoveLiquidityImbalanceEvent>; export interface RemoveLiquidityOneEventObject { provider: string; lpTokenAmount: BigNumber; lpTokenSupply: BigNumber; boughtId: BigNumber; tokensBought: BigNumber; } export type RemoveLiquidityOneEvent = TypedEvent< [string, BigNumber, BigNumber, BigNumber, BigNumber], RemoveLiquidityOneEventObject >; export type RemoveLiquidityOneEventFilter = TypedEventFilter<RemoveLiquidityOneEvent>; export interface StopRampAEventObject { currentA: BigNumber; time: BigNumber; } export type StopRampAEvent = TypedEvent< [BigNumber, BigNumber], StopRampAEventObject >; export type StopRampAEventFilter = TypedEventFilter<StopRampAEvent>; export interface TokenSwapEventObject { buyer: string; tokensSold: BigNumber; tokensBought: BigNumber; soldId: BigNumber; boughtId: BigNumber; } export type TokenSwapEvent = TypedEvent< [string, BigNumber, BigNumber, BigNumber, BigNumber], TokenSwapEventObject >; export type TokenSwapEventFilter = TypedEventFilter<TokenSwapEvent>; export interface TokenSwapUnderlyingEventObject { buyer: string; tokensSold: BigNumber; tokensBought: BigNumber; soldId: BigNumber; boughtId: BigNumber; } export type TokenSwapUnderlyingEvent = TypedEvent< [string, BigNumber, BigNumber, BigNumber, BigNumber], TokenSwapUnderlyingEventObject >; export type TokenSwapUnderlyingEventFilter = TypedEventFilter<TokenSwapUnderlyingEvent>; export interface UnpausedEventObject { account: string; } export type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>; export type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>; export interface Swap extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: SwapInterface; queryFilter<TEvent extends TypedEvent>( event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>( eventFilter?: TypedEventFilter<TEvent> ): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>( eventFilter: TypedEventFilter<TEvent> ): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { addLiquidity( amounts: PromiseOrValue<BigNumberish>[], minToMint: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; calculateCurrentWithdrawFee( user: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateRemoveLiquidity( account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<[BigNumber[]]>; calculateRemoveLiquidityOneToken( account: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, tokenIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSwap( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSwapUnderlying( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateTokenAmount( account: PromiseOrValue<string>, amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<[BigNumber]>; getA(overrides?: CallOverrides): Promise<[BigNumber]>; getAPrecise(overrides?: CallOverrides): Promise<[BigNumber]>; getAdminBalance( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<[BigNumber]>; getBalances(overrides?: CallOverrides): Promise<[BigNumber[]]>; getDepositTimestamp( user: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; getLpToken(overrides?: CallOverrides): Promise<[string]>; getToken( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<[string]>; getTokenBalance( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<[BigNumber]>; getTokenIndex( tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[number]>; getVirtualPrice(overrides?: CallOverrides): Promise<[BigNumber]>; initialize( _pooledTokens: PromiseOrValue<string>[], decimals: PromiseOrValue<BigNumberish>[], lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, _depositFee: PromiseOrValue<BigNumberish>, _withdrawFee: PromiseOrValue<BigNumberish>, _devaddr: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; initializeMetaSwap( _pooledTokens: PromiseOrValue<string>[], decimals: PromiseOrValue<BigNumberish>[], lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, _depositFee: PromiseOrValue<BigNumberish>, _withdrawFee: PromiseOrValue<BigNumberish>, _devaddr: PromiseOrValue<string>, baseSwap: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; metaSwapStorage( overrides?: CallOverrides ): Promise< [string, BigNumber, BigNumber] & { baseSwap: string; baseVirtualPrice: BigNumber; baseCacheLastUpdated: BigNumber; } >; owner(overrides?: CallOverrides): Promise<[string]>; pause( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<[boolean]>; rampA( futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; removeLiquidity( amount: PromiseOrValue<BigNumberish>, minAmounts: PromiseOrValue<BigNumberish>[], deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; removeLiquidityImbalance( amounts: PromiseOrValue<BigNumberish>[], maxBurnAmount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; removeLiquidityOneToken( tokenAmount: PromiseOrValue<BigNumberish>, tokenIndex: PromiseOrValue<BigNumberish>, minAmount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setAdminFee( newAdminFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setDefaultDepositFee( newDepositFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setDefaultWithdrawFee( newWithdrawFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setDevAddress( _devaddr: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setSwapFee( newSwapFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; stopRampA( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; swap( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, minDy: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; swapStorage( overrides?: CallOverrides ): Promise< [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, string ] & { initialA: BigNumber; futureA: BigNumber; initialATime: BigNumber; futureATime: BigNumber; swapFee: BigNumber; adminFee: BigNumber; defaultDepositFee: BigNumber; defaultWithdrawFee: BigNumber; lpToken: string; devaddr: string; } >; swapUnderlying( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, minDy: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; unpause( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; updateUserWithdrawFee( recipient: PromiseOrValue<string>, transferAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; withdrawAdminFees( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; }; addLiquidity( amounts: PromiseOrValue<BigNumberish>[], minToMint: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; calculateCurrentWithdrawFee( user: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; calculateRemoveLiquidity( account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber[]>; calculateRemoveLiquidityOneToken( account: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, tokenIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateSwap( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateSwapUnderlying( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateTokenAmount( account: PromiseOrValue<string>, amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<BigNumber>; getA(overrides?: CallOverrides): Promise<BigNumber>; getAPrecise(overrides?: CallOverrides): Promise<BigNumber>; getAdminBalance( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; getBalances(overrides?: CallOverrides): Promise<BigNumber[]>; getDepositTimestamp( user: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; getLpToken(overrides?: CallOverrides): Promise<string>; getToken( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<string>; getTokenBalance( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; getTokenIndex( tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<number>; getVirtualPrice(overrides?: CallOverrides): Promise<BigNumber>; initialize( _pooledTokens: PromiseOrValue<string>[], decimals: PromiseOrValue<BigNumberish>[], lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, _depositFee: PromiseOrValue<BigNumberish>, _withdrawFee: PromiseOrValue<BigNumberish>, _devaddr: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; initializeMetaSwap( _pooledTokens: PromiseOrValue<string>[], decimals: PromiseOrValue<BigNumberish>[], lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, _depositFee: PromiseOrValue<BigNumberish>, _withdrawFee: PromiseOrValue<BigNumberish>, _devaddr: PromiseOrValue<string>, baseSwap: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; metaSwapStorage( overrides?: CallOverrides ): Promise< [string, BigNumber, BigNumber] & { baseSwap: string; baseVirtualPrice: BigNumber; baseCacheLastUpdated: BigNumber; } >; owner(overrides?: CallOverrides): Promise<string>; pause( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<boolean>; rampA( futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; removeLiquidity( amount: PromiseOrValue<BigNumberish>, minAmounts: PromiseOrValue<BigNumberish>[], deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; removeLiquidityImbalance( amounts: PromiseOrValue<BigNumberish>[], maxBurnAmount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; removeLiquidityOneToken( tokenAmount: PromiseOrValue<BigNumberish>, tokenIndex: PromiseOrValue<BigNumberish>, minAmount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setAdminFee( newAdminFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setDefaultDepositFee( newDepositFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setDefaultWithdrawFee( newWithdrawFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setDevAddress( _devaddr: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setSwapFee( newSwapFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; stopRampA( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; swap( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, minDy: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; swapStorage( overrides?: CallOverrides ): Promise< [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, string ] & { initialA: BigNumber; futureA: BigNumber; initialATime: BigNumber; futureATime: BigNumber; swapFee: BigNumber; adminFee: BigNumber; defaultDepositFee: BigNumber; defaultWithdrawFee: BigNumber; lpToken: string; devaddr: string; } >; swapUnderlying( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, minDy: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; unpause( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; updateUserWithdrawFee( recipient: PromiseOrValue<string>, transferAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; withdrawAdminFees( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; callStatic: { addLiquidity( amounts: PromiseOrValue<BigNumberish>[], minToMint: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateCurrentWithdrawFee( user: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; calculateRemoveLiquidity( account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber[]>; calculateRemoveLiquidityOneToken( account: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, tokenIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateSwap( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateSwapUnderlying( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateTokenAmount( account: PromiseOrValue<string>, amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<BigNumber>; getA(overrides?: CallOverrides): Promise<BigNumber>; getAPrecise(overrides?: CallOverrides): Promise<BigNumber>; getAdminBalance( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; getBalances(overrides?: CallOverrides): Promise<BigNumber[]>; getDepositTimestamp( user: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; getLpToken(overrides?: CallOverrides): Promise<string>; getToken( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<string>; getTokenBalance( index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; getTokenIndex( tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<number>; getVirtualPrice(overrides?: CallOverrides): Promise<BigNumber>; initialize( _pooledTokens: PromiseOrValue<string>[], decimals: PromiseOrValue<BigNumberish>[], lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, _depositFee: PromiseOrValue<BigNumberish>, _withdrawFee: PromiseOrValue<BigNumberish>, _devaddr: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; initializeMetaSwap( _pooledTokens: PromiseOrValue<string>[], decimals: PromiseOrValue<BigNumberish>[], lpTokenName: PromiseOrValue<string>, lpTokenSymbol: PromiseOrValue<string>, _a: PromiseOrValue<BigNumberish>, _fee: PromiseOrValue<BigNumberish>, _adminFee: PromiseOrValue<BigNumberish>, _depositFee: PromiseOrValue<BigNumberish>, _withdrawFee: PromiseOrValue<BigNumberish>, _devaddr: PromiseOrValue<string>, baseSwap: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; metaSwapStorage( overrides?: CallOverrides ): Promise< [string, BigNumber, BigNumber] & { baseSwap: string; baseVirtualPrice: BigNumber; baseCacheLastUpdated: BigNumber; } >; owner(overrides?: CallOverrides): Promise<string>; pause(overrides?: CallOverrides): Promise<void>; paused(overrides?: CallOverrides): Promise<boolean>; rampA( futureA: PromiseOrValue<BigNumberish>, futureTime: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; removeLiquidity( amount: PromiseOrValue<BigNumberish>, minAmounts: PromiseOrValue<BigNumberish>[], deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber[]>; removeLiquidityImbalance( amounts: PromiseOrValue<BigNumberish>[], maxBurnAmount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; removeLiquidityOneToken( tokenAmount: PromiseOrValue<BigNumberish>, tokenIndex: PromiseOrValue<BigNumberish>, minAmount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; renounceOwnership(overrides?: CallOverrides): Promise<void>; setAdminFee( newAdminFee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; setDefaultDepositFee( newDepositFee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; setDefaultWithdrawFee( newWithdrawFee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; setDevAddress( _devaddr: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; setSwapFee( newSwapFee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; stopRampA(overrides?: CallOverrides): Promise<void>; swap( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, minDy: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; swapStorage( overrides?: CallOverrides ): Promise< [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, string ] & { initialA: BigNumber; futureA: BigNumber; initialATime: BigNumber; futureATime: BigNumber; swapFee: BigNumber; adminFee: BigNumber; defaultDepositFee: BigNumber; defaultWithdrawFee: BigNumber; lpToken: string; devaddr: string; } >; swapUnderlying( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, minDy: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; unpause(overrides?: CallOverrides): Promise<void>; updateUserWithdrawFee( recipient: PromiseOrValue<string>, transferAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; withdrawAdminFees(overrides?: CallOverrides): Promise<void>; }; filters: { "AddLiquidity(address,uint256[],uint256[],uint256,uint256)"( provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): AddLiquidityEventFilter; AddLiquidity( provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): AddLiquidityEventFilter; "NewAdminFee(uint256)"(newAdminFee?: null): NewAdminFeeEventFilter; NewAdminFee(newAdminFee?: null): NewAdminFeeEventFilter; "NewDepositFee(uint256)"(newDepositFee?: null): NewDepositFeeEventFilter; NewDepositFee(newDepositFee?: null): NewDepositFeeEventFilter; "NewSwapFee(uint256)"(newSwapFee?: null): NewSwapFeeEventFilter; NewSwapFee(newSwapFee?: null): NewSwapFeeEventFilter; "NewWithdrawFee(uint256)"(newWithdrawFee?: null): NewWithdrawFeeEventFilter; NewWithdrawFee(newWithdrawFee?: null): NewWithdrawFeeEventFilter; "OwnershipTransferred(address,address)"( previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null ): OwnershipTransferredEventFilter; OwnershipTransferred( previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null ): OwnershipTransferredEventFilter; "Paused(address)"(account?: null): PausedEventFilter; Paused(account?: null): PausedEventFilter; "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?: PromiseOrValue<string> | null, tokenAmounts?: null, lpTokenSupply?: null ): RemoveLiquidityEventFilter; RemoveLiquidity( provider?: PromiseOrValue<string> | null, tokenAmounts?: null, lpTokenSupply?: null ): RemoveLiquidityEventFilter; "RemoveLiquidityImbalance(address,uint256[],uint256[],uint256,uint256)"( provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): RemoveLiquidityImbalanceEventFilter; RemoveLiquidityImbalance( provider?: PromiseOrValue<string> | null, tokenAmounts?: null, fees?: null, invariant?: null, lpTokenSupply?: null ): RemoveLiquidityImbalanceEventFilter; "RemoveLiquidityOne(address,uint256,uint256,uint256,uint256)"( provider?: PromiseOrValue<string> | null, lpTokenAmount?: null, lpTokenSupply?: null, boughtId?: null, tokensBought?: null ): RemoveLiquidityOneEventFilter; RemoveLiquidityOne( provider?: PromiseOrValue<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?: PromiseOrValue<string> | null, tokensSold?: null, tokensBought?: null, soldId?: null, boughtId?: null ): TokenSwapEventFilter; TokenSwap( buyer?: PromiseOrValue<string> | null, tokensSold?: null, tokensBought?: null, soldId?: null, boughtId?: null ): TokenSwapEventFilter; "TokenSwapUnderlying(address,uint256,uint256,uint128,uint128)"( buyer?: PromiseOrValue<string> | null, tokensSold?: null, tokensBought?: null, soldId?: null, boughtId?: null ): TokenSwapUnderlyingEventFilter; TokenSwapUnderlying( buyer?: PromiseOrValue<string> | null, tokensSold?: null, tokensBought?: null, soldId?: null, boughtId?: null ): TokenSwapUnderlyingEventFilter; "Unpaused(address)"(account?: null): UnpausedEventFilter; Unpaused(account?: null): UnpausedEventFilter; }; estimateGas: { addLiquidity( amounts: PromiseOrValue<BigNumberish>[], minToMint: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; calculateCurrentWithdrawFee( user: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; calculateRemoveLiquidity( account: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateRemoveLiquidityOneToken( account: PromiseOrValue<string>, tokenAmount: PromiseOrValue<BigNumberish>, tokenIndex: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateSwap( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateSwapUnderlying( tokenIndexFrom: PromiseOrValue<BigNumberish>, tokenIndexTo: PromiseOrValue<BigNumberish>, dx: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; calculateTokenAmount( account: PromiseOrValue<string>, amounts: PromiseOrValue<BigNumberish>[], deposit: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<BigNumber>; getA(overrides?: CallOverrides): Pro