intents-framework
Version:
A reference ERC7683 implementation with TypeScript support
651 lines (602 loc) • 18.3 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
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 {
export type DomainGasConfigStruct = {
gasOracle: AddressLike;
gasOverhead: BigNumberish;
};
export type DomainGasConfigStructOutput = [
gasOracle: string,
gasOverhead: bigint
] & { gasOracle: string; gasOverhead: bigint };
export type GasParamStruct = {
remoteDomain: BigNumberish;
config: InterchainGasPaymaster.DomainGasConfigStruct;
};
export 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 namespace BeneficiarySetEvent {
export type InputTuple = [beneficiary: AddressLike];
export type OutputTuple = [beneficiary: string];
export interface OutputObject {
beneficiary: string;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace DestinationGasConfigSetEvent {
export type InputTuple = [
remoteDomain: BigNumberish,
gasOracle: AddressLike,
gasOverhead: BigNumberish
];
export type OutputTuple = [
remoteDomain: bigint,
gasOracle: string,
gasOverhead: bigint
];
export interface OutputObject {
remoteDomain: bigint;
gasOracle: string;
gasOverhead: bigint;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace GasPaymentEvent {
export type InputTuple = [
messageId: BytesLike,
destinationDomain: BigNumberish,
gasAmount: BigNumberish,
payment: BigNumberish
];
export type OutputTuple = [
messageId: string,
destinationDomain: bigint,
gasAmount: bigint,
payment: bigint
];
export interface OutputObject {
messageId: string;
destinationDomain: bigint;
gasAmount: bigint;
payment: bigint;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace InitializedEvent {
export type InputTuple = [version: BigNumberish];
export type OutputTuple = [version: bigint];
export interface OutputObject {
version: bigint;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export type LogDescription = TypedLogDescription<Event>;
}
export namespace OwnershipTransferredEvent {
export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
export type OutputTuple = [previousOwner: string, newOwner: string];
export interface OutputObject {
previousOwner: string;
newOwner: string;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export 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
>;
};
}