intents-framework
Version:
A reference ERC7683 implementation with TypeScript support
308 lines (278 loc) • 7.87 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 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 namespace OpenEvent {
export type InputTuple = [
orderId: BytesLike,
resolvedOrder: ResolvedCrossChainOrderStruct
];
export type OutputTuple = [
orderId: string,
resolvedOrder: ResolvedCrossChainOrderStructOutput
];
export interface OutputObject {
orderId: string;
resolvedOrder: ResolvedCrossChainOrderStructOutput;
}
export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
export type Filter = TypedDeferredTopicFilter<Event>;
export type Log = TypedEventLog<Event>;
export 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
>;
};
}