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 interface MockFlashLoanRecipientInterface extends utils.Interface { functions: { "receiveFlashLoan(address[],uint256[],uint256[],bytes)": FunctionFragment; "reenter()": FunctionFragment; "repayInExcess()": FunctionFragment; "repayLoan()": FunctionFragment; "setReenter(bool)": FunctionFragment; "setRepayInExcess(bool)": FunctionFragment; "setRepayLoan(bool)": FunctionFragment; "vault()": FunctionFragment; }; encodeFunctionData(functionFragment: "receiveFlashLoan", values: [string[], BigNumberish[], BigNumberish[], BytesLike]): string; encodeFunctionData(functionFragment: "reenter", values?: undefined): string; encodeFunctionData(functionFragment: "repayInExcess", values?: undefined): string; encodeFunctionData(functionFragment: "repayLoan", values?: undefined): string; encodeFunctionData(functionFragment: "setReenter", values: [boolean]): string; encodeFunctionData(functionFragment: "setRepayInExcess", values: [boolean]): string; encodeFunctionData(functionFragment: "setRepayLoan", values: [boolean]): string; encodeFunctionData(functionFragment: "vault", values?: undefined): string; decodeFunctionResult(functionFragment: "receiveFlashLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reenter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayInExcess", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setReenter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRepayInExcess", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRepayLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result; events: {}; } export interface MockFlashLoanRecipient extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: MockFlashLoanRecipientInterface; 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: { receiveFlashLoan(tokens: string[], amounts: BigNumberish[], feeAmounts: BigNumberish[], userData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; reenter(overrides?: CallOverrides): Promise<[boolean]>; repayInExcess(overrides?: CallOverrides): Promise<[boolean]>; repayLoan(overrides?: CallOverrides): Promise<[boolean]>; setReenter(_reenter: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayInExcess(_repayInExcess: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayLoan(_repayLoan: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; vault(overrides?: CallOverrides): Promise<[string]>; }; receiveFlashLoan(tokens: string[], amounts: BigNumberish[], feeAmounts: BigNumberish[], userData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; reenter(overrides?: CallOverrides): Promise; repayInExcess(overrides?: CallOverrides): Promise; repayLoan(overrides?: CallOverrides): Promise; setReenter(_reenter: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayInExcess(_repayInExcess: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayLoan(_repayLoan: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; vault(overrides?: CallOverrides): Promise; callStatic: { receiveFlashLoan(tokens: string[], amounts: BigNumberish[], feeAmounts: BigNumberish[], userData: BytesLike, overrides?: CallOverrides): Promise; reenter(overrides?: CallOverrides): Promise; repayInExcess(overrides?: CallOverrides): Promise; repayLoan(overrides?: CallOverrides): Promise; setReenter(_reenter: boolean, overrides?: CallOverrides): Promise; setRepayInExcess(_repayInExcess: boolean, overrides?: CallOverrides): Promise; setRepayLoan(_repayLoan: boolean, overrides?: CallOverrides): Promise; vault(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { receiveFlashLoan(tokens: string[], amounts: BigNumberish[], feeAmounts: BigNumberish[], userData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; reenter(overrides?: CallOverrides): Promise; repayInExcess(overrides?: CallOverrides): Promise; repayLoan(overrides?: CallOverrides): Promise; setReenter(_reenter: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayInExcess(_repayInExcess: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayLoan(_repayLoan: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; vault(overrides?: CallOverrides): Promise; }; populateTransaction: { receiveFlashLoan(tokens: string[], amounts: BigNumberish[], feeAmounts: BigNumberish[], userData: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; reenter(overrides?: CallOverrides): Promise; repayInExcess(overrides?: CallOverrides): Promise; repayLoan(overrides?: CallOverrides): Promise; setReenter(_reenter: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayInExcess(_repayInExcess: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; setRepayLoan(_repayLoan: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; vault(overrides?: CallOverrides): Promise; }; }