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 MockWeightedMathInterface extends utils.Interface { functions: { "bptInForExactTokensOut(uint256[],uint256[],uint256[],uint256,uint256)": FunctionFragment; "calculateDueTokenProtocolSwapFeeAmount(uint256,uint256,uint256,uint256,uint256)": FunctionFragment; "exactBPTInForTokenOut(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)": 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 ]): 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 ]): 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 MockWeightedMath extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: MockWeightedMathInterface; 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(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; calculateDueTokenProtocolSwapFeeAmount(balance: BigNumberish, normalizedWeight: BigNumberish, previousInvariant: BigNumberish, currentInvariant: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; exactBPTInForTokenOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; exactBPTInForTokensOut(currentBalances: BigNumberish[], bptAmountIn: BigNumberish, totalBPT: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber[]]>; exactTokensInForBPTOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; inGivenOut(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; invariant(normalizedWeights: BigNumberish[], balances: BigNumberish[], overrides?: CallOverrides): Promise<[BigNumber]>; outGivenIn(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; tokenInForExactBPTOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; }; bptInForExactTokensOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(balance: BigNumberish, normalizedWeight: BigNumberish, previousInvariant: BigNumberish, currentInvariant: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(currentBalances: BigNumberish[], bptAmountIn: BigNumberish, totalBPT: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(normalizedWeights: BigNumberish[], balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; callStatic: { bptInForExactTokensOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(balance: BigNumberish, normalizedWeight: BigNumberish, previousInvariant: BigNumberish, currentInvariant: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(currentBalances: BigNumberish[], bptAmountIn: BigNumberish, totalBPT: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(normalizedWeights: BigNumberish[], balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { bptInForExactTokensOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(balance: BigNumberish, normalizedWeight: BigNumberish, previousInvariant: BigNumberish, currentInvariant: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(currentBalances: BigNumberish[], bptAmountIn: BigNumberish, totalBPT: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(normalizedWeights: BigNumberish[], balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; }; populateTransaction: { bptInForExactTokensOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsOut: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; calculateDueTokenProtocolSwapFeeAmount(balance: BigNumberish, normalizedWeight: BigNumberish, previousInvariant: BigNumberish, currentInvariant: BigNumberish, protocolSwapFeePercentage: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokenOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountIn: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; exactBPTInForTokensOut(currentBalances: BigNumberish[], bptAmountIn: BigNumberish, totalBPT: BigNumberish, overrides?: CallOverrides): Promise; exactTokensInForBPTOut(balances: BigNumberish[], normalizedWeights: BigNumberish[], amountsIn: BigNumberish[], bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; inGivenOut(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountOut: BigNumberish, overrides?: CallOverrides): Promise; invariant(normalizedWeights: BigNumberish[], balances: BigNumberish[], overrides?: CallOverrides): Promise; outGivenIn(tokenBalanceIn: BigNumberish, tokenWeightIn: BigNumberish, tokenBalanceOut: BigNumberish, tokenWeightOut: BigNumberish, tokenAmountIn: BigNumberish, overrides?: CallOverrides): Promise; tokenInForExactBPTOut(tokenBalance: BigNumberish, tokenNormalizedWeight: BigNumberish, bptAmountOut: BigNumberish, bptTotalSupply: BigNumberish, swapFee: BigNumberish, overrides?: CallOverrides): Promise; }; }