import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 } from "../common"; export interface TokenPurchaseInterface extends utils.Interface { functions: { "currentPrice()": FunctionFragment; "getPrice()": FunctionFragment; "minPurchaseAmount()": FunctionFragment; "owner()": FunctionFragment; "paymentReceiver()": FunctionFragment; "paymentToken()": FunctionFragment; "purchase(uint256)": FunctionFragment; "renounceOwnership()": FunctionFragment; "setMinPurchaseAmount(uint256)": FunctionFragment; "setPaymentReceiver(address)": FunctionFragment; "setPaymentToken(address)": FunctionFragment; "setPrice(uint256)": FunctionFragment; "setToken(address)": FunctionFragment; "token()": FunctionFragment; "transferOwnership(address)": FunctionFragment; "withdrawTokens(uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "currentPrice" | "getPrice" | "minPurchaseAmount" | "owner" | "paymentReceiver" | "paymentToken" | "purchase" | "renounceOwnership" | "setMinPurchaseAmount" | "setPaymentReceiver" | "setPaymentToken" | "setPrice" | "setToken" | "token" | "transferOwnership" | "withdrawTokens"): FunctionFragment; encodeFunctionData(functionFragment: "currentPrice", values?: undefined): string; encodeFunctionData(functionFragment: "getPrice", values?: undefined): string; encodeFunctionData(functionFragment: "minPurchaseAmount", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "paymentReceiver", values?: undefined): string; encodeFunctionData(functionFragment: "paymentToken", values?: undefined): string; encodeFunctionData(functionFragment: "purchase", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setMinPurchaseAmount", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setPaymentReceiver", values: [string]): string; encodeFunctionData(functionFragment: "setPaymentToken", values: [string]): string; encodeFunctionData(functionFragment: "setPrice", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setToken", values: [string]): string; encodeFunctionData(functionFragment: "token", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; encodeFunctionData(functionFragment: "withdrawTokens", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "currentPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minPurchaseAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paymentReceiver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paymentToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "purchase", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMinPurchaseAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPaymentReceiver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPaymentToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawTokens", data: BytesLike): Result; events: { "MinPurchaseAmountUpdated(uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "PriceUpdated(uint256)": EventFragment; "TokensPurchased(address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "MinPurchaseAmountUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "PriceUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TokensPurchased"): EventFragment; } export interface MinPurchaseAmountUpdatedEventObject { newMinAmount: BigNumber; } export type MinPurchaseAmountUpdatedEvent = TypedEvent<[ BigNumber ], MinPurchaseAmountUpdatedEventObject>; export type MinPurchaseAmountUpdatedEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface PriceUpdatedEventObject { newPrice: BigNumber; } export type PriceUpdatedEvent = TypedEvent<[ BigNumber ], PriceUpdatedEventObject>; export type PriceUpdatedEventFilter = TypedEventFilter; export interface TokensPurchasedEventObject { buyer: string; amount: BigNumber; totalCost: BigNumber; } export type TokensPurchasedEvent = TypedEvent<[ string, BigNumber, BigNumber ], TokensPurchasedEventObject>; export type TokensPurchasedEventFilter = TypedEventFilter; export interface TokenPurchase extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: TokenPurchaseInterface; 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: { currentPrice(overrides?: CallOverrides): Promise<[BigNumber]>; getPrice(overrides?: CallOverrides): Promise<[BigNumber]>; minPurchaseAmount(overrides?: CallOverrides): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; paymentReceiver(overrides?: CallOverrides): Promise<[string]>; paymentToken(overrides?: CallOverrides): Promise<[string]>; purchase(_amount: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setMinPurchaseAmount(_minAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPaymentReceiver(_paymentReceiver: string, overrides?: Overrides & { from?: string; }): Promise; setPaymentToken(_paymentToken: string, overrides?: Overrides & { from?: string; }): Promise; setPrice(_price: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setToken(_token: string, overrides?: Overrides & { from?: string; }): Promise; token(overrides?: CallOverrides): Promise<[string]>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; withdrawTokens(_amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; currentPrice(overrides?: CallOverrides): Promise; getPrice(overrides?: CallOverrides): Promise; minPurchaseAmount(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; paymentReceiver(overrides?: CallOverrides): Promise; paymentToken(overrides?: CallOverrides): Promise; purchase(_amount: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setMinPurchaseAmount(_minAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPaymentReceiver(_paymentReceiver: string, overrides?: Overrides & { from?: string; }): Promise; setPaymentToken(_paymentToken: string, overrides?: Overrides & { from?: string; }): Promise; setPrice(_price: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setToken(_token: string, overrides?: Overrides & { from?: string; }): Promise; token(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; withdrawTokens(_amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { currentPrice(overrides?: CallOverrides): Promise; getPrice(overrides?: CallOverrides): Promise; minPurchaseAmount(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; paymentReceiver(overrides?: CallOverrides): Promise; paymentToken(overrides?: CallOverrides): Promise; purchase(_amount: BigNumberish, overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; setMinPurchaseAmount(_minAmount: BigNumberish, overrides?: CallOverrides): Promise; setPaymentReceiver(_paymentReceiver: string, overrides?: CallOverrides): Promise; setPaymentToken(_paymentToken: string, overrides?: CallOverrides): Promise; setPrice(_price: BigNumberish, overrides?: CallOverrides): Promise; setToken(_token: string, overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; withdrawTokens(_amount: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "MinPurchaseAmountUpdated(uint256)"(newMinAmount?: null): MinPurchaseAmountUpdatedEventFilter; MinPurchaseAmountUpdated(newMinAmount?: null): MinPurchaseAmountUpdatedEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; "PriceUpdated(uint256)"(newPrice?: null): PriceUpdatedEventFilter; PriceUpdated(newPrice?: null): PriceUpdatedEventFilter; "TokensPurchased(address,uint256,uint256)"(buyer?: string | null, amount?: null, totalCost?: null): TokensPurchasedEventFilter; TokensPurchased(buyer?: string | null, amount?: null, totalCost?: null): TokensPurchasedEventFilter; }; estimateGas: { currentPrice(overrides?: CallOverrides): Promise; getPrice(overrides?: CallOverrides): Promise; minPurchaseAmount(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; paymentReceiver(overrides?: CallOverrides): Promise; paymentToken(overrides?: CallOverrides): Promise; purchase(_amount: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setMinPurchaseAmount(_minAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPaymentReceiver(_paymentReceiver: string, overrides?: Overrides & { from?: string; }): Promise; setPaymentToken(_paymentToken: string, overrides?: Overrides & { from?: string; }): Promise; setPrice(_price: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setToken(_token: string, overrides?: Overrides & { from?: string; }): Promise; token(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; withdrawTokens(_amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { currentPrice(overrides?: CallOverrides): Promise; getPrice(overrides?: CallOverrides): Promise; minPurchaseAmount(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; paymentReceiver(overrides?: CallOverrides): Promise; paymentToken(overrides?: CallOverrides): Promise; purchase(_amount: BigNumberish, overrides?: PayableOverrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setMinPurchaseAmount(_minAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPaymentReceiver(_paymentReceiver: string, overrides?: Overrides & { from?: string; }): Promise; setPaymentToken(_paymentToken: string, overrides?: Overrides & { from?: string; }): Promise; setPrice(_price: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setToken(_token: string, overrides?: Overrides & { from?: string; }): Promise; token(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; withdrawTokens(_amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }