UNPKG

intents-framework

Version:

A reference ERC7683 implementation with TypeScript support

871 lines (805 loc) 24.2 kB
/* 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 Base7683ForTestInterface extends Interface { getFunction( nameOrSignature: | "FILLED" | "OPENED" | "PERMIT2" | "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH" | "UNKNOWN" | "counterpart" | "fill" | "filledFillerData" | "filledId" | "filledOrders" | "filledOriginData" | "invalidateNonces" | "isValidNonce" | "localDomain" | "open" | "openFor" | "openOrders" | "orderStatus" | "refund((uint32,bytes32,bytes)[])" | "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])" | "refundedOrderIds" | "resolve" | "resolveFor" | "setCounterpart" | "setNative" | "settle" | "settledOrderIds" | "settledOrdersFillerData" | "settledOrdersOriginData" | "usedNonces" | "witnessHash" | "witnessTypeString" ): FunctionFragment; getEvent( nameOrSignatureOrTopic: | "Filled" | "NonceInvalidation" | "Open" | "Refund" | "Settle" ): EventFragment; encodeFunctionData(functionFragment: "FILLED", values?: undefined): string; encodeFunctionData(functionFragment: "OPENED", values?: undefined): string; encodeFunctionData(functionFragment: "PERMIT2", values?: undefined): string; encodeFunctionData( functionFragment: "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH", values?: undefined ): string; encodeFunctionData(functionFragment: "UNKNOWN", values?: undefined): string; encodeFunctionData( functionFragment: "counterpart", values?: undefined ): string; encodeFunctionData( functionFragment: "fill", values: [BytesLike, BytesLike, BytesLike] ): string; encodeFunctionData( functionFragment: "filledFillerData", values?: undefined ): string; encodeFunctionData(functionFragment: "filledId", values?: undefined): string; encodeFunctionData( functionFragment: "filledOrders", values: [BytesLike] ): string; encodeFunctionData( functionFragment: "filledOriginData", values?: undefined ): string; encodeFunctionData( functionFragment: "invalidateNonces", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "isValidNonce", values: [AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "localDomain", values?: undefined ): string; encodeFunctionData( functionFragment: "open", values: [OnchainCrossChainOrderStruct] ): string; encodeFunctionData( functionFragment: "openFor", values: [GaslessCrossChainOrderStruct, BytesLike, BytesLike] ): string; encodeFunctionData( functionFragment: "openOrders", values: [BytesLike] ): string; encodeFunctionData( functionFragment: "orderStatus", values: [BytesLike] ): string; encodeFunctionData( functionFragment: "refund((uint32,bytes32,bytes)[])", values: [OnchainCrossChainOrderStruct[]] ): string; encodeFunctionData( functionFragment: "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])", values: [GaslessCrossChainOrderStruct[]] ): string; encodeFunctionData( functionFragment: "refundedOrderIds", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "resolve", values: [OnchainCrossChainOrderStruct] ): string; encodeFunctionData( functionFragment: "resolveFor", values: [GaslessCrossChainOrderStruct, BytesLike] ): string; encodeFunctionData( functionFragment: "setCounterpart", values: [BytesLike] ): string; encodeFunctionData(functionFragment: "setNative", values: [boolean]): string; encodeFunctionData(functionFragment: "settle", values: [BytesLike[]]): string; encodeFunctionData( functionFragment: "settledOrderIds", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "settledOrdersFillerData", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "settledOrdersOriginData", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "usedNonces", values: [AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "witnessHash", values: [ResolvedCrossChainOrderStruct] ): string; encodeFunctionData( functionFragment: "witnessTypeString", values?: undefined ): string; decodeFunctionResult(functionFragment: "FILLED", data: BytesLike): Result; decodeFunctionResult(functionFragment: "OPENED", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PERMIT2", data: BytesLike): Result; decodeFunctionResult( functionFragment: "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "UNKNOWN", data: BytesLike): Result; decodeFunctionResult( functionFragment: "counterpart", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "fill", data: BytesLike): Result; decodeFunctionResult( functionFragment: "filledFillerData", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "filledId", data: BytesLike): Result; decodeFunctionResult( functionFragment: "filledOrders", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "filledOriginData", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "invalidateNonces", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isValidNonce", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "localDomain", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "open", data: BytesLike): Result; decodeFunctionResult(functionFragment: "openFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "openOrders", data: BytesLike): Result; decodeFunctionResult( functionFragment: "orderStatus", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "refund((uint32,bytes32,bytes)[])", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "refundedOrderIds", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "resolveFor", data: BytesLike): Result; decodeFunctionResult( functionFragment: "setCounterpart", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "setNative", data: BytesLike): Result; decodeFunctionResult(functionFragment: "settle", data: BytesLike): Result; decodeFunctionResult( functionFragment: "settledOrderIds", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "settledOrdersFillerData", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "settledOrdersOriginData", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "usedNonces", data: BytesLike): Result; decodeFunctionResult( functionFragment: "witnessHash", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "witnessTypeString", data: BytesLike ): Result; } export namespace FilledEvent { export type InputTuple = [ orderId: BytesLike, originData: BytesLike, fillerData: BytesLike ]; export type OutputTuple = [ orderId: string, originData: string, fillerData: string ]; export interface OutputObject { orderId: string; originData: string; fillerData: 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 NonceInvalidationEvent { export type InputTuple = [owner: AddressLike, nonce: BigNumberish]; export type OutputTuple = [owner: string, nonce: bigint]; export interface OutputObject { owner: string; nonce: 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 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 namespace RefundEvent { export type InputTuple = [orderIds: BytesLike[]]; export type OutputTuple = [orderIds: string[]]; export interface OutputObject { orderIds: 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 SettleEvent { export type InputTuple = [ orderIds: BytesLike[], ordersFillerData: BytesLike[] ]; export type OutputTuple = [orderIds: string[], ordersFillerData: string[]]; export interface OutputObject { orderIds: string[]; ordersFillerData: 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 Base7683ForTest extends BaseContract { connect(runner?: ContractRunner | null): Base7683ForTest; waitForDeployment(): Promise<this>; interface: Base7683ForTestInterface; 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>; FILLED: TypedContractMethod<[], [string], "view">; OPENED: TypedContractMethod<[], [string], "view">; PERMIT2: TypedContractMethod<[], [string], "view">; RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH: TypedContractMethod< [], [string], "view" >; UNKNOWN: TypedContractMethod<[], [string], "view">; counterpart: TypedContractMethod<[], [string], "view">; fill: TypedContractMethod< [_orderId: BytesLike, _originData: BytesLike, _fillerData: BytesLike], [void], "payable" >; filledFillerData: TypedContractMethod<[], [string], "view">; filledId: TypedContractMethod<[], [string], "view">; filledOrders: TypedContractMethod< [orderId: BytesLike], [[string, string] & { originData: string; fillerData: string }], "view" >; filledOriginData: TypedContractMethod<[], [string], "view">; invalidateNonces: TypedContractMethod< [_nonce: BigNumberish], [void], "nonpayable" >; isValidNonce: TypedContractMethod< [_from: AddressLike, _nonce: BigNumberish], [boolean], "view" >; localDomain: TypedContractMethod<[], [bigint], "view">; open: TypedContractMethod< [_order: OnchainCrossChainOrderStruct], [void], "payable" >; openFor: TypedContractMethod< [ _order: GaslessCrossChainOrderStruct, _signature: BytesLike, _originFillerData: BytesLike ], [void], "nonpayable" >; openOrders: TypedContractMethod<[orderId: BytesLike], [string], "view">; orderStatus: TypedContractMethod<[orderId: BytesLike], [string], "view">; "refund((uint32,bytes32,bytes)[])": TypedContractMethod< [_orders: OnchainCrossChainOrderStruct[]], [void], "payable" >; "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])": TypedContractMethod< [_orders: GaslessCrossChainOrderStruct[]], [void], "payable" >; refundedOrderIds: TypedContractMethod<[arg0: BigNumberish], [string], "view">; resolve: TypedContractMethod< [_order: OnchainCrossChainOrderStruct], [ResolvedCrossChainOrderStructOutput], "view" >; resolveFor: TypedContractMethod< [_order: GaslessCrossChainOrderStruct, _originFillerData: BytesLike], [ResolvedCrossChainOrderStructOutput], "view" >; setCounterpart: TypedContractMethod< [_counterpart: BytesLike], [void], "nonpayable" >; setNative: TypedContractMethod<[_isNative: boolean], [void], "nonpayable">; settle: TypedContractMethod<[_orderIds: BytesLike[]], [void], "payable">; settledOrderIds: TypedContractMethod<[arg0: BigNumberish], [string], "view">; settledOrdersFillerData: TypedContractMethod< [arg0: BigNumberish], [string], "view" >; settledOrdersOriginData: TypedContractMethod< [arg0: BigNumberish], [string], "view" >; usedNonces: TypedContractMethod< [arg0: AddressLike, arg1: BigNumberish], [boolean], "view" >; witnessHash: TypedContractMethod< [_resolvedOrder: ResolvedCrossChainOrderStruct], [string], "view" >; witnessTypeString: TypedContractMethod<[], [string], "view">; getFunction<T extends ContractMethod = ContractMethod>( key: string | FunctionFragment ): T; getFunction( nameOrSignature: "FILLED" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "OPENED" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "PERMIT2" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "RESOLVED_CROSS_CHAIN_ORDER_TYPEHASH" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "UNKNOWN" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "counterpart" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "fill" ): TypedContractMethod< [_orderId: BytesLike, _originData: BytesLike, _fillerData: BytesLike], [void], "payable" >; getFunction( nameOrSignature: "filledFillerData" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "filledId" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "filledOrders" ): TypedContractMethod< [orderId: BytesLike], [[string, string] & { originData: string; fillerData: string }], "view" >; getFunction( nameOrSignature: "filledOriginData" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "invalidateNonces" ): TypedContractMethod<[_nonce: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "isValidNonce" ): TypedContractMethod< [_from: AddressLike, _nonce: BigNumberish], [boolean], "view" >; getFunction( nameOrSignature: "localDomain" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "open" ): TypedContractMethod< [_order: OnchainCrossChainOrderStruct], [void], "payable" >; getFunction( nameOrSignature: "openFor" ): TypedContractMethod< [ _order: GaslessCrossChainOrderStruct, _signature: BytesLike, _originFillerData: BytesLike ], [void], "nonpayable" >; getFunction( nameOrSignature: "openOrders" ): TypedContractMethod<[orderId: BytesLike], [string], "view">; getFunction( nameOrSignature: "orderStatus" ): TypedContractMethod<[orderId: BytesLike], [string], "view">; getFunction( nameOrSignature: "refund((uint32,bytes32,bytes)[])" ): TypedContractMethod< [_orders: OnchainCrossChainOrderStruct[]], [void], "payable" >; getFunction( nameOrSignature: "refund((address,address,uint256,uint256,uint32,uint32,bytes32,bytes)[])" ): TypedContractMethod< [_orders: GaslessCrossChainOrderStruct[]], [void], "payable" >; getFunction( nameOrSignature: "refundedOrderIds" ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction( nameOrSignature: "resolve" ): TypedContractMethod< [_order: OnchainCrossChainOrderStruct], [ResolvedCrossChainOrderStructOutput], "view" >; getFunction( nameOrSignature: "resolveFor" ): TypedContractMethod< [_order: GaslessCrossChainOrderStruct, _originFillerData: BytesLike], [ResolvedCrossChainOrderStructOutput], "view" >; getFunction( nameOrSignature: "setCounterpart" ): TypedContractMethod<[_counterpart: BytesLike], [void], "nonpayable">; getFunction( nameOrSignature: "setNative" ): TypedContractMethod<[_isNative: boolean], [void], "nonpayable">; getFunction( nameOrSignature: "settle" ): TypedContractMethod<[_orderIds: BytesLike[]], [void], "payable">; getFunction( nameOrSignature: "settledOrderIds" ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction( nameOrSignature: "settledOrdersFillerData" ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction( nameOrSignature: "settledOrdersOriginData" ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; getFunction( nameOrSignature: "usedNonces" ): TypedContractMethod< [arg0: AddressLike, arg1: BigNumberish], [boolean], "view" >; getFunction( nameOrSignature: "witnessHash" ): TypedContractMethod< [_resolvedOrder: ResolvedCrossChainOrderStruct], [string], "view" >; getFunction( nameOrSignature: "witnessTypeString" ): TypedContractMethod<[], [string], "view">; getEvent( key: "Filled" ): TypedContractEvent< FilledEvent.InputTuple, FilledEvent.OutputTuple, FilledEvent.OutputObject >; getEvent( key: "NonceInvalidation" ): TypedContractEvent< NonceInvalidationEvent.InputTuple, NonceInvalidationEvent.OutputTuple, NonceInvalidationEvent.OutputObject >; getEvent( key: "Open" ): TypedContractEvent< OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject >; getEvent( key: "Refund" ): TypedContractEvent< RefundEvent.InputTuple, RefundEvent.OutputTuple, RefundEvent.OutputObject >; getEvent( key: "Settle" ): TypedContractEvent< SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject >; filters: { "Filled(bytes32,bytes,bytes)": TypedContractEvent< FilledEvent.InputTuple, FilledEvent.OutputTuple, FilledEvent.OutputObject >; Filled: TypedContractEvent< FilledEvent.InputTuple, FilledEvent.OutputTuple, FilledEvent.OutputObject >; "NonceInvalidation(address,uint256)": TypedContractEvent< NonceInvalidationEvent.InputTuple, NonceInvalidationEvent.OutputTuple, NonceInvalidationEvent.OutputObject >; NonceInvalidation: TypedContractEvent< NonceInvalidationEvent.InputTuple, NonceInvalidationEvent.OutputTuple, NonceInvalidationEvent.OutputObject >; "Open(bytes32,tuple)": TypedContractEvent< OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject >; Open: TypedContractEvent< OpenEvent.InputTuple, OpenEvent.OutputTuple, OpenEvent.OutputObject >; "Refund(bytes32[])": TypedContractEvent< RefundEvent.InputTuple, RefundEvent.OutputTuple, RefundEvent.OutputObject >; Refund: TypedContractEvent< RefundEvent.InputTuple, RefundEvent.OutputTuple, RefundEvent.OutputObject >; "Settle(bytes32[],bytes[])": TypedContractEvent< SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject >; Settle: TypedContractEvent< SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject >; }; }