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 IAccountFactoryInterface extends utils.Interface { functions: { "countCreditAccounts()": FunctionFragment; "countCreditAccountsInStock()": FunctionFragment; "creditAccounts(uint256)": FunctionFragment; "getNext(address)": FunctionFragment; "head()": FunctionFragment; "returnCreditAccount(address)": FunctionFragment; "tail()": FunctionFragment; "takeCreditAccount(uint256,uint256)": FunctionFragment; "version()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "countCreditAccounts" | "countCreditAccountsInStock" | "creditAccounts" | "getNext" | "head" | "returnCreditAccount" | "tail" | "takeCreditAccount" | "version"): FunctionFragment; encodeFunctionData(functionFragment: "countCreditAccounts", values?: undefined): string; encodeFunctionData(functionFragment: "countCreditAccountsInStock", values?: undefined): string; encodeFunctionData(functionFragment: "creditAccounts", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getNext", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "head", values?: undefined): string; encodeFunctionData(functionFragment: "returnCreditAccount", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "tail", values?: undefined): string; encodeFunctionData(functionFragment: "takeCreditAccount", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; decodeFunctionResult(functionFragment: "countCreditAccounts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "countCreditAccountsInStock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "creditAccounts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNext", data: BytesLike): Result; decodeFunctionResult(functionFragment: "head", data: BytesLike): Result; decodeFunctionResult(functionFragment: "returnCreditAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tail", data: BytesLike): Result; decodeFunctionResult(functionFragment: "takeCreditAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; events: { "AccountMinerChanged(address)": EventFragment; "InitializeCreditAccount(address,address)": EventFragment; "NewCreditAccount(address)": EventFragment; "ReturnCreditAccount(address)": EventFragment; "TakeForever(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AccountMinerChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "InitializeCreditAccount"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewCreditAccount"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReturnCreditAccount"): EventFragment; getEvent(nameOrSignatureOrTopic: "TakeForever"): EventFragment; } export interface AccountMinerChangedEventObject { miner: string; } export declare type AccountMinerChangedEvent = TypedEvent<[ string ], AccountMinerChangedEventObject>; export declare type AccountMinerChangedEventFilter = TypedEventFilter; export interface InitializeCreditAccountEventObject { account: string; creditManager: string; } export declare type InitializeCreditAccountEvent = TypedEvent<[ string, string ], InitializeCreditAccountEventObject>; export declare type InitializeCreditAccountEventFilter = TypedEventFilter; export interface NewCreditAccountEventObject { account: string; } export declare type NewCreditAccountEvent = TypedEvent<[ string ], NewCreditAccountEventObject>; export declare type NewCreditAccountEventFilter = TypedEventFilter; export interface ReturnCreditAccountEventObject { account: string; } export declare type ReturnCreditAccountEvent = TypedEvent<[ string ], ReturnCreditAccountEventObject>; export declare type ReturnCreditAccountEventFilter = TypedEventFilter; export interface TakeForeverEventObject { creditAccount: string; to: string; } export declare type TakeForeverEvent = TypedEvent<[ string, string ], TakeForeverEventObject>; export declare type TakeForeverEventFilter = TypedEventFilter; export interface IAccountFactory extends BaseContract { contractName: "IAccountFactory"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IAccountFactoryInterface; 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: { countCreditAccounts(overrides?: CallOverrides): Promise<[BigNumber]>; countCreditAccountsInStock(overrides?: CallOverrides): Promise<[BigNumber]>; creditAccounts(id: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; getNext(creditAccount: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; head(overrides?: CallOverrides): Promise<[string]>; returnCreditAccount(usedAccount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; tail(overrides?: CallOverrides): Promise<[string]>; takeCreditAccount(_borrowedAmount: PromiseOrValue, _cumulativeIndexAtOpen: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise<[BigNumber]>; }; countCreditAccounts(overrides?: CallOverrides): Promise; countCreditAccountsInStock(overrides?: CallOverrides): Promise; creditAccounts(id: PromiseOrValue, overrides?: CallOverrides): Promise; getNext(creditAccount: PromiseOrValue, overrides?: CallOverrides): Promise; head(overrides?: CallOverrides): Promise; returnCreditAccount(usedAccount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; tail(overrides?: CallOverrides): Promise; takeCreditAccount(_borrowedAmount: PromiseOrValue, _cumulativeIndexAtOpen: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise; callStatic: { countCreditAccounts(overrides?: CallOverrides): Promise; countCreditAccountsInStock(overrides?: CallOverrides): Promise; creditAccounts(id: PromiseOrValue, overrides?: CallOverrides): Promise; getNext(creditAccount: PromiseOrValue, overrides?: CallOverrides): Promise; head(overrides?: CallOverrides): Promise; returnCreditAccount(usedAccount: PromiseOrValue, overrides?: CallOverrides): Promise; tail(overrides?: CallOverrides): Promise; takeCreditAccount(_borrowedAmount: PromiseOrValue, _cumulativeIndexAtOpen: PromiseOrValue, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; }; filters: { "AccountMinerChanged(address)"(miner?: PromiseOrValue | null): AccountMinerChangedEventFilter; AccountMinerChanged(miner?: PromiseOrValue | null): AccountMinerChangedEventFilter; "InitializeCreditAccount(address,address)"(account?: PromiseOrValue | null, creditManager?: PromiseOrValue | null): InitializeCreditAccountEventFilter; InitializeCreditAccount(account?: PromiseOrValue | null, creditManager?: PromiseOrValue | null): InitializeCreditAccountEventFilter; "NewCreditAccount(address)"(account?: PromiseOrValue | null): NewCreditAccountEventFilter; NewCreditAccount(account?: PromiseOrValue | null): NewCreditAccountEventFilter; "ReturnCreditAccount(address)"(account?: PromiseOrValue | null): ReturnCreditAccountEventFilter; ReturnCreditAccount(account?: PromiseOrValue | null): ReturnCreditAccountEventFilter; "TakeForever(address,address)"(creditAccount?: PromiseOrValue | null, to?: PromiseOrValue | null): TakeForeverEventFilter; TakeForever(creditAccount?: PromiseOrValue | null, to?: PromiseOrValue | null): TakeForeverEventFilter; }; estimateGas: { countCreditAccounts(overrides?: CallOverrides): Promise; countCreditAccountsInStock(overrides?: CallOverrides): Promise; creditAccounts(id: PromiseOrValue, overrides?: CallOverrides): Promise; getNext(creditAccount: PromiseOrValue, overrides?: CallOverrides): Promise; head(overrides?: CallOverrides): Promise; returnCreditAccount(usedAccount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; tail(overrides?: CallOverrides): Promise; takeCreditAccount(_borrowedAmount: PromiseOrValue, _cumulativeIndexAtOpen: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise; }; populateTransaction: { countCreditAccounts(overrides?: CallOverrides): Promise; countCreditAccountsInStock(overrides?: CallOverrides): Promise; creditAccounts(id: PromiseOrValue, overrides?: CallOverrides): Promise; getNext(creditAccount: PromiseOrValue, overrides?: CallOverrides): Promise; head(overrides?: CallOverrides): Promise; returnCreditAccount(usedAccount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; tail(overrides?: CallOverrides): Promise; takeCreditAccount(_borrowedAmount: PromiseOrValue, _cumulativeIndexAtOpen: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; version(overrides?: CallOverrides): Promise; }; }