@dahlia-labs/stableswap-sdk
Version:
SDK for Mobius's StableSwap program.
757 lines • 61.2 kB
TypeScript
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): 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<BigNumber>;
getToken(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getTokenBalance(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
getTokenIndex(tokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
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<BigNumber>;
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<BigNumber>;
metaSwapStorage(overrides?: CallOverri