/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 type SwapRequestStruct = { kind: BigNumberish; tokenIn: string; tokenOut: string; amount: BigNumberish; poolId: BytesLike; lastChangeBlock: BigNumberish; from: string; to: string; userData: BytesLike; }; export type SwapRequestStructOutput = [ number, string, string, BigNumber, string, BigNumber, string, string, string ] & { kind: number; tokenIn: string; tokenOut: string; amount: BigNumber; poolId: string; lastChangeBlock: BigNumber; from: string; to: string; userData: string; }; export interface IGeneralPoolInterface extends utils.Interface { functions: { "onExitPool(bytes32,address,address,uint256[],uint256,uint256,bytes)": FunctionFragment; "onJoinPool(bytes32,address,address,uint256[],uint256,uint256,bytes)": FunctionFragment; "onSwap((uint8,address,address,uint256,bytes32,uint256,address,address,bytes),uint256[],uint256,uint256)": FunctionFragment; }; encodeFunctionData( functionFragment: "onExitPool", values: [ BytesLike, string, string, BigNumberish[], BigNumberish, BigNumberish, BytesLike ] ): string; encodeFunctionData( functionFragment: "onJoinPool", values: [ BytesLike, string, string, BigNumberish[], BigNumberish, BigNumberish, BytesLike ] ): string; encodeFunctionData( functionFragment: "onSwap", values: [SwapRequestStruct, BigNumberish[], BigNumberish, BigNumberish] ): string; decodeFunctionResult(functionFragment: "onExitPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onJoinPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "onSwap", data: BytesLike): Result; events: {}; } export interface IGeneralPool extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IGeneralPoolInterface; 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: { onExitPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onJoinPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onSwap( swapRequest: SwapRequestStruct, balances: BigNumberish[], indexIn: BigNumberish, indexOut: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; onExitPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onJoinPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onSwap( swapRequest: SwapRequestStruct, balances: BigNumberish[], indexIn: BigNumberish, indexOut: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; callStatic: { onExitPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: CallOverrides ): Promise< [BigNumber[], BigNumber[]] & { amountsOut: BigNumber[]; dueProtocolFeeAmounts: BigNumber[]; } >; onJoinPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: CallOverrides ): Promise< [BigNumber[], BigNumber[]] & { amountsIn: BigNumber[]; dueProtocolFeeAmounts: BigNumber[]; } >; onSwap( swapRequest: SwapRequestStruct, balances: BigNumberish[], indexIn: BigNumberish, indexOut: BigNumberish, overrides?: CallOverrides ): Promise; }; filters: {}; estimateGas: { onExitPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onJoinPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onSwap( swapRequest: SwapRequestStruct, balances: BigNumberish[], indexIn: BigNumberish, indexOut: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; populateTransaction: { onExitPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onJoinPool( poolId: BytesLike, sender: string, recipient: string, balances: BigNumberish[], lastChangeBlock: BigNumberish, protocolSwapFeePercentage: BigNumberish, userData: BytesLike, overrides?: Overrides & { from?: string | Promise } ): Promise; onSwap( swapRequest: SwapRequestStruct, balances: BigNumberish[], indexIn: BigNumberish, indexOut: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; }; }