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 HomaInterface extends utils.Interface { functions: { "getCommissionRate()": FunctionFragment; "getEstimatedRewardRate()": FunctionFragment; "getExchangeRate()": FunctionFragment; "getFastMatchFee()": FunctionFragment; "mint(uint256)": FunctionFragment; "requestRedeem(uint256,bool)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getCommissionRate" | "getEstimatedRewardRate" | "getExchangeRate" | "getFastMatchFee" | "mint" | "requestRedeem"): FunctionFragment; encodeFunctionData(functionFragment: "getCommissionRate", values?: undefined): string; encodeFunctionData(functionFragment: "getEstimatedRewardRate", values?: undefined): string; encodeFunctionData(functionFragment: "getExchangeRate", values?: undefined): string; encodeFunctionData(functionFragment: "getFastMatchFee", values?: undefined): string; encodeFunctionData(functionFragment: "mint", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "requestRedeem", values: [PromiseOrValue, PromiseOrValue]): string; decodeFunctionResult(functionFragment: "getCommissionRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEstimatedRewardRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getExchangeRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getFastMatchFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "requestRedeem", data: BytesLike): Result; events: { "Minted(address,uint256)": EventFragment; "RequestedRedeem(address,uint256,bool)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Minted"): EventFragment; getEvent(nameOrSignatureOrTopic: "RequestedRedeem"): EventFragment; } export interface MintedEventObject { sender: string; amount: BigNumber; } export declare type MintedEvent = TypedEvent<[string, BigNumber], MintedEventObject>; export declare type MintedEventFilter = TypedEventFilter; export interface RequestedRedeemEventObject { sender: string; amount: BigNumber; fastMatch: boolean; } export declare type RequestedRedeemEvent = TypedEvent<[ string, BigNumber, boolean ], RequestedRedeemEventObject>; export declare type RequestedRedeemEventFilter = TypedEventFilter; export interface Homa extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: HomaInterface; 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: { getCommissionRate(overrides?: CallOverrides): Promise<[BigNumber]>; getEstimatedRewardRate(overrides?: CallOverrides): Promise<[BigNumber]>; getExchangeRate(overrides?: CallOverrides): Promise<[BigNumber]>; getFastMatchFee(overrides?: CallOverrides): Promise<[BigNumber]>; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; requestRedeem(redeemAmount: PromiseOrValue, fastMatch: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; getCommissionRate(overrides?: CallOverrides): Promise; getEstimatedRewardRate(overrides?: CallOverrides): Promise; getExchangeRate(overrides?: CallOverrides): Promise; getFastMatchFee(overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; requestRedeem(redeemAmount: PromiseOrValue, fastMatch: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { getCommissionRate(overrides?: CallOverrides): Promise; getEstimatedRewardRate(overrides?: CallOverrides): Promise; getExchangeRate(overrides?: CallOverrides): Promise; getFastMatchFee(overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: CallOverrides): Promise; requestRedeem(redeemAmount: PromiseOrValue, fastMatch: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: { "Minted(address,uint256)"(sender?: PromiseOrValue | null, amount?: null): MintedEventFilter; Minted(sender?: PromiseOrValue | null, amount?: null): MintedEventFilter; "RequestedRedeem(address,uint256,bool)"(sender?: PromiseOrValue | null, amount?: null, fastMatch?: null): RequestedRedeemEventFilter; RequestedRedeem(sender?: PromiseOrValue | null, amount?: null, fastMatch?: null): RequestedRedeemEventFilter; }; estimateGas: { getCommissionRate(overrides?: CallOverrides): Promise; getEstimatedRewardRate(overrides?: CallOverrides): Promise; getExchangeRate(overrides?: CallOverrides): Promise; getFastMatchFee(overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; requestRedeem(redeemAmount: PromiseOrValue, fastMatch: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { getCommissionRate(overrides?: CallOverrides): Promise; getEstimatedRewardRate(overrides?: CallOverrides): Promise; getExchangeRate(overrides?: CallOverrides): Promise; getFastMatchFee(overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; requestRedeem(redeemAmount: PromiseOrValue, fastMatch: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }