intents-framework
Version:
A reference ERC7683 implementation with TypeScript support
338 lines • 17.7 kB
TypeScript
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common";
export declare namespace InterchainGasPaymaster {
type DomainGasConfigStruct = {
gasOracle: AddressLike;
gasOverhead: BigNumberish;
};
type DomainGasConfigStructOutput = [
gasOracle: string,
gasOverhead: bigint
] & {
gasOracle: string;
gasOverhead: bigint;
};
type GasParamStruct = {
remoteDomain: BigNumberish;
config: InterchainGasPaymaster.DomainGasConfigStruct;
};
type GasParamStructOutput = [
remoteDomain: bigint,
config: InterchainGasPaymaster.DomainGasConfigStructOutput
] & {
remoteDomain: bigint;
config: InterchainGasPaymaster.DomainGasConfigStructOutput;
};
}
export interface TestInterchainGasPaymasterInterface extends Interface {
getFunction(nameOrSignature: "PACKAGE_VERSION" | "beneficiary" | "claim" | "deployedBlock" | "destinationGasConfigs" | "destinationGasLimit" | "gasPrice" | "getDefaultGasUsage" | "getExchangeRateAndGasPrice" | "hookType" | "initialize" | "owner" | "payForGas" | "postDispatch" | "quoteDispatch" | "quoteGasPayment" | "renounceOwnership" | "setBeneficiary" | "setDestinationGasConfigs" | "supportsMetadata" | "transferOwnership"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "BeneficiarySet" | "DestinationGasConfigSet" | "GasPayment" | "Initialized" | "OwnershipTransferred"): EventFragment;
encodeFunctionData(functionFragment: "PACKAGE_VERSION", values?: undefined): string;
encodeFunctionData(functionFragment: "beneficiary", values?: undefined): string;
encodeFunctionData(functionFragment: "claim", values?: undefined): string;
encodeFunctionData(functionFragment: "deployedBlock", values?: undefined): string;
encodeFunctionData(functionFragment: "destinationGasConfigs", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "destinationGasLimit", values: [BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "gasPrice", values?: undefined): string;
encodeFunctionData(functionFragment: "getDefaultGasUsage", values?: undefined): string;
encodeFunctionData(functionFragment: "getExchangeRateAndGasPrice", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "hookType", values?: undefined): string;
encodeFunctionData(functionFragment: "initialize", values: [AddressLike, AddressLike]): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "payForGas", values: [BytesLike, BigNumberish, BigNumberish, AddressLike]): string;
encodeFunctionData(functionFragment: "postDispatch", values: [BytesLike, BytesLike]): string;
encodeFunctionData(functionFragment: "quoteDispatch", values: [BytesLike, BytesLike]): string;
encodeFunctionData(functionFragment: "quoteGasPayment", values: [BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "setBeneficiary", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "setDestinationGasConfigs", values: [InterchainGasPaymaster.GasParamStruct[]]): string;
encodeFunctionData(functionFragment: "supportsMetadata", values: [BytesLike]): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string;
decodeFunctionResult(functionFragment: "PACKAGE_VERSION", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "beneficiary", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "deployedBlock", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "destinationGasConfigs", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "destinationGasLimit", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "gasPrice", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getDefaultGasUsage", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getExchangeRateAndGasPrice", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hookType", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "payForGas", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "postDispatch", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "quoteDispatch", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "quoteGasPayment", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setBeneficiary", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setDestinationGasConfigs", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "supportsMetadata", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
}
export declare namespace BeneficiarySetEvent {
type InputTuple = [beneficiary: AddressLike];
type OutputTuple = [beneficiary: string];
interface OutputObject {
beneficiary: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace DestinationGasConfigSetEvent {
type InputTuple = [
remoteDomain: BigNumberish,
gasOracle: AddressLike,
gasOverhead: BigNumberish
];
type OutputTuple = [
remoteDomain: bigint,
gasOracle: string,
gasOverhead: bigint
];
interface OutputObject {
remoteDomain: bigint;
gasOracle: string;
gasOverhead: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace GasPaymentEvent {
type InputTuple = [
messageId: BytesLike,
destinationDomain: BigNumberish,
gasAmount: BigNumberish,
payment: BigNumberish
];
type OutputTuple = [
messageId: string,
destinationDomain: bigint,
gasAmount: bigint,
payment: bigint
];
interface OutputObject {
messageId: string;
destinationDomain: bigint;
gasAmount: bigint;
payment: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace InitializedEvent {
type InputTuple = [version: BigNumberish];
type OutputTuple = [version: bigint];
interface OutputObject {
version: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace OwnershipTransferredEvent {
type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
type OutputTuple = [previousOwner: string, newOwner: string];
interface OutputObject {
previousOwner: string;
newOwner: string;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface TestInterchainGasPaymaster extends BaseContract {
connect(runner?: ContractRunner | null): TestInterchainGasPaymaster;
waitForDeployment(): Promise<this>;
interface: TestInterchainGasPaymasterInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
PACKAGE_VERSION: TypedContractMethod<[], [string], "view">;
beneficiary: TypedContractMethod<[], [string], "view">;
claim: TypedContractMethod<[], [void], "nonpayable">;
deployedBlock: TypedContractMethod<[], [bigint], "view">;
destinationGasConfigs: TypedContractMethod<[
arg0: BigNumberish
], [
[string, bigint] & {
gasOracle: string;
gasOverhead: bigint;
}
], "view">;
destinationGasLimit: TypedContractMethod<[
_destinationDomain: BigNumberish,
_gasLimit: BigNumberish
], [
bigint
], "view">;
gasPrice: TypedContractMethod<[], [bigint], "view">;
getDefaultGasUsage: TypedContractMethod<[], [bigint], "view">;
getExchangeRateAndGasPrice: TypedContractMethod<[
_destinationDomain: BigNumberish
], [
[bigint, bigint] & {
tokenExchangeRate: bigint;
gasPrice: bigint;
}
], "view">;
hookType: TypedContractMethod<[], [bigint], "view">;
initialize: TypedContractMethod<[
_owner: AddressLike,
_beneficiary: AddressLike
], [
void
], "nonpayable">;
owner: TypedContractMethod<[], [string], "view">;
payForGas: TypedContractMethod<[
_messageId: BytesLike,
_destinationDomain: BigNumberish,
_gasLimit: BigNumberish,
_refundAddress: AddressLike
], [
void
], "payable">;
postDispatch: TypedContractMethod<[
metadata: BytesLike,
message: BytesLike
], [
void
], "payable">;
quoteDispatch: TypedContractMethod<[
metadata: BytesLike,
message: BytesLike
], [
bigint
], "view">;
quoteGasPayment: TypedContractMethod<[
arg0: BigNumberish,
gasAmount: BigNumberish
], [
bigint
], "view">;
renounceOwnership: TypedContractMethod<[], [void], "nonpayable">;
setBeneficiary: TypedContractMethod<[
_beneficiary: AddressLike
], [
void
], "nonpayable">;
setDestinationGasConfigs: TypedContractMethod<[
_configs: InterchainGasPaymaster.GasParamStruct[]
], [
void
], "nonpayable">;
supportsMetadata: TypedContractMethod<[
metadata: BytesLike
], [
boolean
], "view">;
transferOwnership: TypedContractMethod<[
newOwner: AddressLike
], [
void
], "nonpayable">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "PACKAGE_VERSION"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "beneficiary"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "claim"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "deployedBlock"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "destinationGasConfigs"): TypedContractMethod<[
arg0: BigNumberish
], [
[string, bigint] & {
gasOracle: string;
gasOverhead: bigint;
}
], "view">;
getFunction(nameOrSignature: "destinationGasLimit"): TypedContractMethod<[
_destinationDomain: BigNumberish,
_gasLimit: BigNumberish
], [
bigint
], "view">;
getFunction(nameOrSignature: "gasPrice"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "getDefaultGasUsage"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "getExchangeRateAndGasPrice"): TypedContractMethod<[
_destinationDomain: BigNumberish
], [
[bigint, bigint] & {
tokenExchangeRate: bigint;
gasPrice: bigint;
}
], "view">;
getFunction(nameOrSignature: "hookType"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "initialize"): TypedContractMethod<[
_owner: AddressLike,
_beneficiary: AddressLike
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "payForGas"): TypedContractMethod<[
_messageId: BytesLike,
_destinationDomain: BigNumberish,
_gasLimit: BigNumberish,
_refundAddress: AddressLike
], [
void
], "payable">;
getFunction(nameOrSignature: "postDispatch"): TypedContractMethod<[
metadata: BytesLike,
message: BytesLike
], [
void
], "payable">;
getFunction(nameOrSignature: "quoteDispatch"): TypedContractMethod<[
metadata: BytesLike,
message: BytesLike
], [
bigint
], "view">;
getFunction(nameOrSignature: "quoteGasPayment"): TypedContractMethod<[
arg0: BigNumberish,
gasAmount: BigNumberish
], [
bigint
], "view">;
getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">;
getFunction(nameOrSignature: "setBeneficiary"): TypedContractMethod<[_beneficiary: AddressLike], [void], "nonpayable">;
getFunction(nameOrSignature: "setDestinationGasConfigs"): TypedContractMethod<[
_configs: InterchainGasPaymaster.GasParamStruct[]
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "supportsMetadata"): TypedContractMethod<[metadata: BytesLike], [boolean], "view">;
getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
getEvent(key: "BeneficiarySet"): TypedContractEvent<BeneficiarySetEvent.InputTuple, BeneficiarySetEvent.OutputTuple, BeneficiarySetEvent.OutputObject>;
getEvent(key: "DestinationGasConfigSet"): TypedContractEvent<DestinationGasConfigSetEvent.InputTuple, DestinationGasConfigSetEvent.OutputTuple, DestinationGasConfigSetEvent.OutputObject>;
getEvent(key: "GasPayment"): TypedContractEvent<GasPaymentEvent.InputTuple, GasPaymentEvent.OutputTuple, GasPaymentEvent.OutputObject>;
getEvent(key: "Initialized"): TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
getEvent(key: "OwnershipTransferred"): TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
filters: {
"BeneficiarySet(address)": TypedContractEvent<BeneficiarySetEvent.InputTuple, BeneficiarySetEvent.OutputTuple, BeneficiarySetEvent.OutputObject>;
BeneficiarySet: TypedContractEvent<BeneficiarySetEvent.InputTuple, BeneficiarySetEvent.OutputTuple, BeneficiarySetEvent.OutputObject>;
"DestinationGasConfigSet(uint32,address,uint96)": TypedContractEvent<DestinationGasConfigSetEvent.InputTuple, DestinationGasConfigSetEvent.OutputTuple, DestinationGasConfigSetEvent.OutputObject>;
DestinationGasConfigSet: TypedContractEvent<DestinationGasConfigSetEvent.InputTuple, DestinationGasConfigSetEvent.OutputTuple, DestinationGasConfigSetEvent.OutputObject>;
"GasPayment(bytes32,uint32,uint256,uint256)": TypedContractEvent<GasPaymentEvent.InputTuple, GasPaymentEvent.OutputTuple, GasPaymentEvent.OutputObject>;
GasPayment: TypedContractEvent<GasPaymentEvent.InputTuple, GasPaymentEvent.OutputTuple, GasPaymentEvent.OutputObject>;
"Initialized(uint8)": TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
Initialized: TypedContractEvent<InitializedEvent.InputTuple, InitializedEvent.OutputTuple, InitializedEvent.OutputObject>;
"OwnershipTransferred(address,address)": TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
};
}
//# sourceMappingURL=TestInterchainGasPaymaster.d.ts.map