UNPKG

intents-framework

Version:

A reference ERC7683 implementation with TypeScript support

202 lines 7.84 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 type OnchainCrossChainOrderStruct = { fillDeadline: BigNumberish; orderDataType: BytesLike; orderData: BytesLike; }; export type OnchainCrossChainOrderStructOutput = [ fillDeadline: bigint, orderDataType: string, orderData: string ] & { fillDeadline: bigint; orderDataType: string; orderData: string; }; export type GaslessCrossChainOrderStruct = { originSettler: AddressLike; user: AddressLike; nonce: BigNumberish; originChainId: BigNumberish; openDeadline: BigNumberish; fillDeadline: BigNumberish; orderDataType: BytesLike; orderData: BytesLike; }; export type GaslessCrossChainOrderStructOutput = [ originSettler: string, user: string, nonce: bigint, originChainId: bigint, openDeadline: bigint, fillDeadline: bigint, orderDataType: string, orderData: string ] & { originSettler: string; user: string; nonce: bigint; originChainId: bigint; openDeadline: bigint; fillDeadline: bigint; orderDataType: string; orderData: string; }; export type OutputStruct = { token: BytesLike; amount: BigNumberish; recipient: BytesLike; chainId: BigNumberish; }; export type OutputStructOutput = [ token: string, amount: bigint, recipient: string, chainId: bigint ] & { token: string; amount: bigint; recipient: string; chainId: bigint; }; export type FillInstructionStruct = { destinationChainId: BigNumberish; destinationSettler: BytesLike; originData: BytesLike; }; export type FillInstructionStructOutput = [ destinationChainId: bigint, destinationSettler: string, originData: string ] & { destinationChainId: bigint; destinationSettler: string; originData: string; }; export type ResolvedCrossChainOrderStruct = { user: AddressLike; originChainId: BigNumberish; openDeadline: BigNumberish; fillDeadline: BigNumberish; orderId: BytesLike; maxSpent: OutputStruct[]; minReceived: OutputStruct[]; fillInstructions: FillInstructionStruct[]; }; export type ResolvedCrossChainOrderStructOutput = [ user: string, originChainId: bigint, openDeadline: bigint, fillDeadline: bigint, orderId: string, maxSpent: OutputStructOutput[], minReceived: OutputStructOutput[], fillInstructions: FillInstructionStructOutput[] ] & { user: string; originChainId: bigint; openDeadline: bigint; fillDeadline: bigint; orderId: string; maxSpent: OutputStructOutput[]; minReceived: OutputStructOutput[]; fillInstructions: FillInstructionStructOutput[]; }; export interface IOriginSettlerInterface extends Interface { getFunction(nameOrSignature: "open" | "openFor" | "resolve" | "resolveFor"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Open"): EventFragment; encodeFunctionData(functionFragment: "open", values: [OnchainCrossChainOrderStruct]): string; encodeFunctionData(functionFragment: "openFor", values: [GaslessCrossChainOrderStruct, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "resolve", values: [OnchainCrossChainOrderStruct]): string; encodeFunctionData(functionFragment: "resolveFor", values: [GaslessCrossChainOrderStruct, BytesLike]): string; decodeFunctionResult(functionFragment: "open", data: BytesLike): Result; decodeFunctionResult(functionFragment: "openFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "resolveFor", data: BytesLike): Result; } export declare namespace OpenEvent { type InputTuple = [ orderId: BytesLike, resolvedOrder: ResolvedCrossChainOrderStruct ]; type OutputTuple = [ orderId: string, resolvedOrder: ResolvedCrossChainOrderStructOutput ]; interface OutputObject { orderId: string; resolvedOrder: ResolvedCrossChainOrderStructOutput; } type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; type Filter = TypedDeferredTopicFilter<Event>; type Log = TypedEventLog<Event>; type LogDescription = TypedLogDescription<Event>; } export interface IOriginSettler extends BaseContract { connect(runner?: ContractRunner | null): IOriginSettler; waitForDeployment(): Promise<this>; interface: IOriginSettlerInterface; 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>; open: TypedContractMethod<[ order: OnchainCrossChainOrderStruct ], [ void ], "payable">; openFor: TypedContractMethod<[ order: GaslessCrossChainOrderStruct, signature: BytesLike, originFillerData: BytesLike ], [ void ], "nonpayable">; resolve: TypedContractMethod<[ order: OnchainCrossChainOrderStruct ], [ ResolvedCrossChainOrderStructOutput ], "view">; resolveFor: TypedContractMethod<[ order: GaslessCrossChainOrderStruct, originFillerData: BytesLike ], [ ResolvedCrossChainOrderStructOutput ], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "open"): TypedContractMethod<[ order: OnchainCrossChainOrderStruct ], [ void ], "payable">; getFunction(nameOrSignature: "openFor"): TypedContractMethod<[ order: GaslessCrossChainOrderStruct, signature: BytesLike, originFillerData: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "resolve"): TypedContractMethod<[ order: OnchainCrossChainOrderStruct ], [ ResolvedCrossChainOrderStructOutput ], "view">; getFunction(nameOrSignature: "resolveFor"): TypedContractMethod<[ order: GaslessCrossChainOrderStruct, originFillerData: BytesLike ], [ ResolvedCrossChainOrderStructOutput ], "view">; getEvent(key: "Open"): TypedContractEvent<OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject>; filters: { "Open(bytes32,tuple)": TypedContractEvent<OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject>; Open: TypedContractEvent<OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject>; }; } //# sourceMappingURL=IOriginSettler.d.ts.map