@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
383 lines (382 loc) • 22.5 kB
TypeScript
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 type MessageActionStruct = {
to: string[];
data: BytesLike;
action: BigNumberish;
};
export type MessageActionStructOutput = [string[], string, number] & {
to: string[];
data: string;
action: number;
};
export interface ForeignNFTMintingModuleInterface extends utils.Interface {
functions: {
"NFT_MINTING_RESOURCE()": FunctionFragment;
"__ForeignNFTMintingModule_init(address,uint256)": FunctionFragment;
"arbitraryNFTExecute(bytes)": FunctionFragment;
"batchMintTo(address[])": FunctionFragment;
"domains()": FunctionFragment;
"enrollRemoteRouter(uint32,bytes32)": FunctionFragment;
"enrollRemoteRouters(uint32[],bytes32[])": FunctionFragment;
"handle(uint32,bytes32,bytes)": FunctionFragment;
"hook()": FunctionFragment;
"interchainSecurityModule()": FunctionFragment;
"isModuleNFTOwner()": FunctionFragment;
"localDomain()": FunctionFragment;
"mailbox()": FunctionFragment;
"mintTo(address)": FunctionFragment;
"owner()": FunctionFragment;
"renounceOwnership()": FunctionFragment;
"routers(uint32)": FunctionFragment;
"setHook(address)": FunctionFragment;
"setInterchainSecurityModule(address)": FunctionFragment;
"startPoint()": FunctionFragment;
"supportedNFT()": FunctionFragment;
"transferOwnership(address)": FunctionFragment;
"unenrollRemoteRouter(uint32)": FunctionFragment;
"unenrollRemoteRouters(uint32[])": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "NFT_MINTING_RESOURCE" | "__ForeignNFTMintingModule_init" | "arbitraryNFTExecute" | "batchMintTo" | "domains" | "enrollRemoteRouter" | "enrollRemoteRouters" | "handle" | "hook" | "interchainSecurityModule" | "isModuleNFTOwner" | "localDomain" | "mailbox" | "mintTo" | "owner" | "renounceOwnership" | "routers" | "setHook" | "setInterchainSecurityModule" | "startPoint" | "supportedNFT" | "transferOwnership" | "unenrollRemoteRouter" | "unenrollRemoteRouters"): FunctionFragment;
encodeFunctionData(functionFragment: "NFT_MINTING_RESOURCE", values?: undefined): string;
encodeFunctionData(functionFragment: "__ForeignNFTMintingModule_init", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "arbitraryNFTExecute", values: [BytesLike]): string;
encodeFunctionData(functionFragment: "batchMintTo", values: [string[]]): string;
encodeFunctionData(functionFragment: "domains", values?: undefined): string;
encodeFunctionData(functionFragment: "enrollRemoteRouter", values: [BigNumberish, BytesLike]): string;
encodeFunctionData(functionFragment: "enrollRemoteRouters", values: [BigNumberish[], BytesLike[]]): string;
encodeFunctionData(functionFragment: "handle", values: [BigNumberish, BytesLike, BytesLike]): string;
encodeFunctionData(functionFragment: "hook", values?: undefined): string;
encodeFunctionData(functionFragment: "interchainSecurityModule", values?: undefined): string;
encodeFunctionData(functionFragment: "isModuleNFTOwner", values?: undefined): string;
encodeFunctionData(functionFragment: "localDomain", values?: undefined): string;
encodeFunctionData(functionFragment: "mailbox", values?: undefined): string;
encodeFunctionData(functionFragment: "mintTo", values: [string]): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "routers", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "setHook", values: [string]): string;
encodeFunctionData(functionFragment: "setInterchainSecurityModule", values: [string]): string;
encodeFunctionData(functionFragment: "startPoint", values?: undefined): string;
encodeFunctionData(functionFragment: "supportedNFT", values?: undefined): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string;
encodeFunctionData(functionFragment: "unenrollRemoteRouter", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "unenrollRemoteRouters", values: [BigNumberish[]]): string;
decodeFunctionResult(functionFragment: "NFT_MINTING_RESOURCE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "__ForeignNFTMintingModule_init", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "arbitraryNFTExecute", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "batchMintTo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "domains", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "enrollRemoteRouter", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "enrollRemoteRouters", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "handle", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hook", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "interchainSecurityModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "isModuleNFTOwner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "localDomain", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "mailbox", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "mintTo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "routers", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setHook", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setInterchainSecurityModule", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "startPoint", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "supportedNFT", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unenrollRemoteRouter", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unenrollRemoteRouters", data: BytesLike): Result;
events: {
"Initialized(uint8)": EventFragment;
"MessageReceived(uint32,uint32,bytes32,(address[],bytes,uint8))": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
getEvent(nameOrSignatureOrTopic: "MessageReceived"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
}
export interface InitializedEventObject {
version: number;
}
export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface MessageReceivedEventObject {
origin: number;
destination: number;
sender: string;
action: MessageActionStructOutput;
}
export type MessageReceivedEvent = TypedEvent<[
number,
number,
string,
MessageActionStructOutput
], MessageReceivedEventObject>;
export type MessageReceivedEventFilter = TypedEventFilter<MessageReceivedEvent>;
export interface OwnershipTransferredEventObject {
previousOwner: string;
newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
string,
string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface ForeignNFTMintingModule extends BaseContract {
contractName: "ForeignNFTMintingModule";
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: ForeignNFTMintingModuleInterface;
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: {
NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise<[string]>;
__ForeignNFTMintingModule_init(token_: string, startPoint_: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
batchMintTo(recipients_: string[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
domains(overrides?: CallOverrides): Promise<[number[]]>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<ContractTransaction>;
hook(overrides?: CallOverrides): Promise<[string]>;
interchainSecurityModule(overrides?: CallOverrides): Promise<[string]>;
isModuleNFTOwner(overrides?: CallOverrides): Promise<[boolean]>;
localDomain(overrides?: CallOverrides): Promise<[number]>;
mailbox(overrides?: CallOverrides): Promise<[string]>;
mintTo(to_: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
owner(overrides?: CallOverrides): Promise<[string]>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
startPoint(overrides?: CallOverrides): Promise<[BigNumber]>;
supportedNFT(overrides?: CallOverrides): Promise<[string]>;
transferOwnership(newOwner_: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
};
NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise<string>;
__ForeignNFTMintingModule_init(token_: string, startPoint_: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
batchMintTo(recipients_: string[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
domains(overrides?: CallOverrides): Promise<number[]>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<ContractTransaction>;
hook(overrides?: CallOverrides): Promise<string>;
interchainSecurityModule(overrides?: CallOverrides): Promise<string>;
isModuleNFTOwner(overrides?: CallOverrides): Promise<boolean>;
localDomain(overrides?: CallOverrides): Promise<number>;
mailbox(overrides?: CallOverrides): Promise<string>;
mintTo(to_: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
owner(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<string>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
startPoint(overrides?: CallOverrides): Promise<BigNumber>;
supportedNFT(overrides?: CallOverrides): Promise<string>;
transferOwnership(newOwner_: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
callStatic: {
NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise<string>;
__ForeignNFTMintingModule_init(token_: string, startPoint_: BigNumberish, overrides?: CallOverrides): Promise<void>;
arbitraryNFTExecute(data_: BytesLike, overrides?: CallOverrides): Promise<string>;
batchMintTo(recipients_: string[], overrides?: CallOverrides): Promise<void>;
domains(overrides?: CallOverrides): Promise<number[]>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: CallOverrides): Promise<void>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: CallOverrides): Promise<void>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: CallOverrides): Promise<void>;
hook(overrides?: CallOverrides): Promise<string>;
interchainSecurityModule(overrides?: CallOverrides): Promise<string>;
isModuleNFTOwner(overrides?: CallOverrides): Promise<boolean>;
localDomain(overrides?: CallOverrides): Promise<number>;
mailbox(overrides?: CallOverrides): Promise<string>;
mintTo(to_: string, overrides?: CallOverrides): Promise<void>;
owner(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: CallOverrides): Promise<void>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<string>;
setHook(_hook: string, overrides?: CallOverrides): Promise<void>;
setInterchainSecurityModule(_module: string, overrides?: CallOverrides): Promise<void>;
startPoint(overrides?: CallOverrides): Promise<BigNumber>;
supportedNFT(overrides?: CallOverrides): Promise<string>;
transferOwnership(newOwner_: string, overrides?: CallOverrides): Promise<void>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: CallOverrides): Promise<void>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: CallOverrides): Promise<void>;
};
filters: {
"Initialized(uint8)"(version?: null): InitializedEventFilter;
Initialized(version?: null): InitializedEventFilter;
"MessageReceived(uint32,uint32,bytes32,(address[],bytes,uint8))"(origin?: BigNumberish | null, destination?: BigNumberish | null, sender?: null, action?: null): MessageReceivedEventFilter;
MessageReceived(origin?: BigNumberish | null, destination?: BigNumberish | null, sender?: null, action?: null): MessageReceivedEventFilter;
"OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
};
estimateGas: {
NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise<BigNumber>;
__ForeignNFTMintingModule_init(token_: string, startPoint_: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
batchMintTo(recipients_: string[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
domains(overrides?: CallOverrides): Promise<BigNumber>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<BigNumber>;
hook(overrides?: CallOverrides): Promise<BigNumber>;
interchainSecurityModule(overrides?: CallOverrides): Promise<BigNumber>;
isModuleNFTOwner(overrides?: CallOverrides): Promise<BigNumber>;
localDomain(overrides?: CallOverrides): Promise<BigNumber>;
mailbox(overrides?: CallOverrides): Promise<BigNumber>;
mintTo(to_: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
startPoint(overrides?: CallOverrides): Promise<BigNumber>;
supportedNFT(overrides?: CallOverrides): Promise<BigNumber>;
transferOwnership(newOwner_: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
};
populateTransaction: {
NFT_MINTING_RESOURCE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
__ForeignNFTMintingModule_init(token_: string, startPoint_: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
arbitraryNFTExecute(data_: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
batchMintTo(recipients_: string[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
domains(overrides?: CallOverrides): Promise<PopulatedTransaction>;
enrollRemoteRouter(_domain: BigNumberish, _router: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
enrollRemoteRouters(_domains: BigNumberish[], _addresses: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
handle(_origin: BigNumberish, _sender: BytesLike, _message: BytesLike, overrides?: PayableOverrides & {
from?: string;
}): Promise<PopulatedTransaction>;
hook(overrides?: CallOverrides): Promise<PopulatedTransaction>;
interchainSecurityModule(overrides?: CallOverrides): Promise<PopulatedTransaction>;
isModuleNFTOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
localDomain(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mailbox(overrides?: CallOverrides): Promise<PopulatedTransaction>;
mintTo(to_: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
routers(_domain: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
setHook(_hook: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
setInterchainSecurityModule(_module: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
startPoint(overrides?: CallOverrides): Promise<PopulatedTransaction>;
supportedNFT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
transferOwnership(newOwner_: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
unenrollRemoteRouter(_domain: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
unenrollRemoteRouters(_domains: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
};
}