import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface MockStableMathInterface extends utils.Interface { functions: { "bptInForExactTokensOut(uint256,uint256[],uint256[],uint256,uint256)": FunctionFragment; "calculateDueTokenProtocolSwapFeeAmount(uint256,uint256[],uint256,uint256,uint256)": FunctionFragment; "exactBPTInForTokenOut(uint256,uint256[],uint256,uint256,uint256,uint256)": FunctionFragment; "exactBPTInForTokensOut(uint256[],uint256,uint256)": FunctionFragment; "exactTokensInForBPTOut(uint256,uint256[],uint256[],uint256,uint256)": FunctionFragment; "inGivenOut(uint256,uint256[],uint256,uint256,uint256)": FunctionFragment; "invariant(uint256,uint256[])": FunctionFragment; "outGivenIn(uint256,uint256[],uint256,uint256,uint256)": FunctionFragment; "tokenInForExactBPTOut(uint256,uint256[],uint256,uint256,uint256,uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "bptInForExactTokensOut", values: [ BigNumberish, BigNumberish[], BigNumberish[], BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "calculateDueTokenProtocolSwapFeeAmount", values: [ BigNumberish, BigNumberish[], BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "exactBPTInForTokenOut", values: [ BigNumberish, BigNumberish[], BigNumberish, BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "exactBPTInForTokensOut", values: [BigNumberish[], BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "exactTokensInForBPTOut", values: [ BigNumberish, BigNumberish[], BigNumberish[], BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "inGivenOut", values: [ BigNumberish, BigNumberish[], BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "invariant", values: [BigNumberish, BigNumberish[]]): string; encodeFunctionData(functionFragment: "outGivenIn", values: [ BigNumberish, BigNumberish[], BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "tokenInForExactBPTOut", values: [ BigNumberish, BigNumberish[], BigNumberish, BigNumberish, BigNumberish, BigNumberish ]): string; decodeFunctionResult(functionFragment: "bptInForExactTokensOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "calculateDueTokenProtocolSwapFeeAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exactBPTInForTokenOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exactBPTInForTokensOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exactTokensInForBPTOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "inGivenOut", data: BytesLike): Result; decodeFunctionResult(functionFragment: "invariant", data: BytesLike): Result; decodeFunctionResult(functionFragment: "outGivenIn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenInForExactBPTOut", data: BytesLike): Result; events: {}; } export interface MockStableMath extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: MockStableMathInterface; 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: { bptInForExactTokensOut(amp: BigNumberish, balances: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; calculateDueTokenProtocolSwapFeeAmount(amp: BigNumberish, balances: BigNumberish[], lastInvariant: BigNumberish, tokenIndex: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; exactBPTInForTokenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; exactBPTInForTokensOut(balances: BigNumberish[], bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber[]]>; exactTokensInForBPTOut(amp: BigNumberish, balances: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; inGivenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; invariant(amp: BigNumberish, balances: BigNumberish[], overrides?: CallOverrides): Promise<[BigNumber]>; outGivenIn(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; tokenInForExactBPTOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; }; bptInForExactTokensOut(amp: BigNumberish, balances: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(amp: BigNumberish, balances: BigNumberish[], lastInvariant: BigNumberish, tokenIndex: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(balances: BigNumberish[], bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(amp: BigNumberish, balances: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(amp: BigNumberish, balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; callStatic: { bptInForExactTokensOut(amp: BigNumberish, balances: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(amp: BigNumberish, balances: BigNumberish[], lastInvariant: BigNumberish, tokenIndex: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(balances: BigNumberish[], bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(amp: BigNumberish, balances: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(amp: BigNumberish, balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { bptInForExactTokensOut(amp: BigNumberish, balances: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(amp: BigNumberish, balances: BigNumberish[], lastInvariant: BigNumberish, tokenIndex: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(balances: BigNumberish[], bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(amp: BigNumberish, balances: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(amp: BigNumberish, balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; }; populateTransaction: { bptInForExactTokensOut(amp: BigNumberish, balances: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(amp: BigNumberish, balances: BigNumberish[], lastInvariant: BigNumberish, tokenIndex: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(balances: BigNumberish[], bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(amp: BigNumberish, balances: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(amp: BigNumberish, balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(amp: BigNumberish, balances: BigNumberish[], tokenIndexIn: BigNumberish, tokenIndexOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(amp: BigNumberish, balances: BigNumberish[], tokenIndex: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; }; }