UNPKG

intents-framework

Version:

A reference ERC7683 implementation with TypeScript support

338 lines 17.7 kB
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