UNPKG

@thirdweb-dev/contracts-js

Version:
88 lines 4.88 kB
import type { BaseContract, BigNumber, BytesLike, CallOverrides, 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 declare namespace IPluginMap { type PluginStruct = { functionSelector: BytesLike; functionSignature: string; pluginAddress: string; }; type PluginStructOutput = [string, string, string] & { functionSelector: string; functionSignature: string; pluginAddress: string; }; } export interface IPluginMapInterface extends utils.Interface { functions: { "getAllFunctionsOfPlugin(address)": FunctionFragment; "getAllPlugins()": FunctionFragment; "getPluginForFunction(bytes4)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getAllFunctionsOfPlugin" | "getAllPlugins" | "getPluginForFunction"): FunctionFragment; encodeFunctionData(functionFragment: "getAllFunctionsOfPlugin", values: [string]): string; encodeFunctionData(functionFragment: "getAllPlugins", values?: undefined): string; encodeFunctionData(functionFragment: "getPluginForFunction", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "getAllFunctionsOfPlugin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAllPlugins", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPluginForFunction", data: BytesLike): Result; events: { "PluginSet(bytes4,string,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "PluginSet"): EventFragment; } export interface PluginSetEventObject { functionSelector: string; functionSignature: string; pluginAddress: string; } export type PluginSetEvent = TypedEvent<[ string, string, string ], PluginSetEventObject>; export type PluginSetEventFilter = TypedEventFilter<PluginSetEvent>; export interface IPluginMap extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: IPluginMapInterface; queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { getAllFunctionsOfPlugin(pluginAddress: string, overrides?: CallOverrides): Promise<[string[]]>; getAllPlugins(overrides?: CallOverrides): Promise<[IPluginMap.PluginStructOutput[]]>; getPluginForFunction(functionSelector: BytesLike, overrides?: CallOverrides): Promise<[string]>; }; getAllFunctionsOfPlugin(pluginAddress: string, overrides?: CallOverrides): Promise<string[]>; getAllPlugins(overrides?: CallOverrides): Promise<IPluginMap.PluginStructOutput[]>; getPluginForFunction(functionSelector: BytesLike, overrides?: CallOverrides): Promise<string>; callStatic: { getAllFunctionsOfPlugin(pluginAddress: string, overrides?: CallOverrides): Promise<string[]>; getAllPlugins(overrides?: CallOverrides): Promise<IPluginMap.PluginStructOutput[]>; getPluginForFunction(functionSelector: BytesLike, overrides?: CallOverrides): Promise<string>; }; filters: { "PluginSet(bytes4,string,address)"(functionSelector?: BytesLike | null, functionSignature?: string | null, pluginAddress?: string | null): PluginSetEventFilter; PluginSet(functionSelector?: BytesLike | null, functionSignature?: string | null, pluginAddress?: string | null): PluginSetEventFilter; }; estimateGas: { getAllFunctionsOfPlugin(pluginAddress: string, overrides?: CallOverrides): Promise<BigNumber>; getAllPlugins(overrides?: CallOverrides): Promise<BigNumber>; getPluginForFunction(functionSelector: BytesLike, overrides?: CallOverrides): Promise<BigNumber>; }; populateTransaction: { getAllFunctionsOfPlugin(pluginAddress: string, overrides?: CallOverrides): Promise<PopulatedTransaction>; getAllPlugins(overrides?: CallOverrides): Promise<PopulatedTransaction>; getPluginForFunction(functionSelector: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>; }; } //# sourceMappingURL=IPluginMap.d.ts.map