UNPKG

@orionprotocol/contracts

Version:
270 lines (269 loc) 12.4 kB
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "./common.js"; export declare namespace LibValidator { type OrderStruct = { senderAddress: AddressLike; matcherAddress: AddressLike; baseAsset: AddressLike; quoteAsset: AddressLike; matcherFeeAsset: AddressLike; amount: BigNumberish; price: BigNumberish; matcherFee: BigNumberish; nonce: BigNumberish; expiration: BigNumberish; buySide: BigNumberish; signature: BytesLike; }; type OrderStructOutput = [ senderAddress: string, matcherAddress: string, baseAsset: string, quoteAsset: string, matcherFeeAsset: string, amount: bigint, price: bigint, matcherFee: bigint, nonce: bigint, expiration: bigint, buySide: bigint, signature: string ] & { senderAddress: string; matcherAddress: string; baseAsset: string; quoteAsset: string; matcherFeeAsset: string; amount: bigint; price: bigint; matcherFee: bigint; nonce: bigint; expiration: bigint; buySide: bigint; signature: string; }; type CrossChainOrderStruct = { limitOrder: LibValidator.OrderStruct; targetChainId: BigNumberish; secretHash: BytesLike; lockOrderExpiration: BigNumberish; }; type CrossChainOrderStructOutput = [ limitOrder: LibValidator.OrderStructOutput, targetChainId: bigint, secretHash: string, lockOrderExpiration: bigint ] & { limitOrder: LibValidator.OrderStructOutput; targetChainId: bigint; secretHash: string; lockOrderExpiration: bigint; }; type LockOrderStruct = { sender: AddressLike; expiration: BigNumberish; asset: AddressLike; amount: BigNumberish; targetChainId: BigNumberish; secretHash: BytesLike; signature: BytesLike; }; type LockOrderStructOutput = [ sender: string, expiration: bigint, asset: string, amount: bigint, targetChainId: bigint, secretHash: string, signature: string ] & { sender: string; expiration: bigint; asset: string; amount: bigint; targetChainId: bigint; secretHash: string; signature: string; }; } export interface LibValidatorInterface extends Interface { getFunction(nameOrSignature: "CHAIN_ID" | "CROSS_CHAIN_ORDER_TYPEHASH" | "DOMAIN_NAME" | "DOMAIN_SALT" | "DOMAIN_SEPARATOR" | "DOMAIN_VERSION" | "EIP712_DOMAIN_TYPEHASH" | "LOCK_ORDER_TYPEHASH" | "ORDER_TYPEHASH" | "checkCrossChainOrdersInfo" | "checkOrdersInfo" | "getEthSignedOrderHash" | "validateCrossChainOrder" | "validateLockOrder" | "validateV3"): FunctionFragment; encodeFunctionData(functionFragment: "CHAIN_ID", values?: undefined): string; encodeFunctionData(functionFragment: "CROSS_CHAIN_ORDER_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_NAME", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_SALT", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_VERSION", values?: undefined): string; encodeFunctionData(functionFragment: "EIP712_DOMAIN_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "LOCK_ORDER_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "ORDER_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "checkCrossChainOrdersInfo", values: [ LibValidator.CrossChainOrderStruct, LibValidator.OrderStruct, AddressLike, BigNumberish, BigNumberish, BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "checkOrdersInfo", values: [ LibValidator.OrderStruct, LibValidator.OrderStruct, AddressLike, BigNumberish, BigNumberish, BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "getEthSignedOrderHash", values: [LibValidator.OrderStruct]): string; encodeFunctionData(functionFragment: "validateCrossChainOrder", values: [LibValidator.CrossChainOrderStruct]): string; encodeFunctionData(functionFragment: "validateLockOrder", values: [LibValidator.LockOrderStruct]): string; encodeFunctionData(functionFragment: "validateV3", values: [LibValidator.OrderStruct]): string; decodeFunctionResult(functionFragment: "CHAIN_ID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "CROSS_CHAIN_ORDER_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_NAME", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_SALT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_VERSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "EIP712_DOMAIN_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LOCK_ORDER_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ORDER_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkCrossChainOrdersInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkOrdersInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEthSignedOrderHash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validateCrossChainOrder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validateLockOrder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validateV3", data: BytesLike): Result; } export interface LibValidator extends BaseContract { connect(runner?: ContractRunner | null): LibValidator; waitForDeployment(): Promise<this>; interface: LibValidatorInterface; 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>; CHAIN_ID: TypedContractMethod<[], [bigint], "view">; CROSS_CHAIN_ORDER_TYPEHASH: TypedContractMethod<[], [string], "view">; DOMAIN_NAME: TypedContractMethod<[], [string], "view">; DOMAIN_SALT: TypedContractMethod<[], [string], "view">; DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; DOMAIN_VERSION: TypedContractMethod<[], [string], "view">; EIP712_DOMAIN_TYPEHASH: TypedContractMethod<[], [string], "view">; LOCK_ORDER_TYPEHASH: TypedContractMethod<[], [string], "view">; ORDER_TYPEHASH: TypedContractMethod<[], [string], "view">; checkCrossChainOrdersInfo: TypedContractMethod<[ crossChainOrder: LibValidator.CrossChainOrderStruct, brokerOrder: LibValidator.OrderStruct, sender: AddressLike, filledAmount: BigNumberish, filledPrice: BigNumberish, currentTime: BigNumberish, allowedMatcher: AddressLike ], [ [ string, string ] & { crossChainOrderHash: string; brokerOrderHash: string; } ], "view">; checkOrdersInfo: TypedContractMethod<[ buyOrder: LibValidator.OrderStruct, sellOrder: LibValidator.OrderStruct, sender: AddressLike, filledAmount: BigNumberish, filledPrice: BigNumberish, currentTime: BigNumberish, allowedMatcher: AddressLike ], [ [string, string] & { buyOrderHash: string; sellOrderHash: string; } ], "view">; getEthSignedOrderHash: TypedContractMethod<[ _order: LibValidator.OrderStruct ], [ string ], "view">; validateCrossChainOrder: TypedContractMethod<[ crossChainOrder: LibValidator.CrossChainOrderStruct ], [ [boolean, string] ], "view">; validateLockOrder: TypedContractMethod<[ lockOrder: LibValidator.LockOrderStruct ], [ boolean ], "view">; validateV3: TypedContractMethod<[ order: LibValidator.OrderStruct ], [ [boolean, string] ], "view">; getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T; getFunction(nameOrSignature: "CHAIN_ID"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "CROSS_CHAIN_ORDER_TYPEHASH"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "DOMAIN_NAME"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "DOMAIN_SALT"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "DOMAIN_VERSION"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "EIP712_DOMAIN_TYPEHASH"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "LOCK_ORDER_TYPEHASH"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "ORDER_TYPEHASH"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "checkCrossChainOrdersInfo"): TypedContractMethod<[ crossChainOrder: LibValidator.CrossChainOrderStruct, brokerOrder: LibValidator.OrderStruct, sender: AddressLike, filledAmount: BigNumberish, filledPrice: BigNumberish, currentTime: BigNumberish, allowedMatcher: AddressLike ], [ [ string, string ] & { crossChainOrderHash: string; brokerOrderHash: string; } ], "view">; getFunction(nameOrSignature: "checkOrdersInfo"): TypedContractMethod<[ buyOrder: LibValidator.OrderStruct, sellOrder: LibValidator.OrderStruct, sender: AddressLike, filledAmount: BigNumberish, filledPrice: BigNumberish, currentTime: BigNumberish, allowedMatcher: AddressLike ], [ [string, string] & { buyOrderHash: string; sellOrderHash: string; } ], "view">; getFunction(nameOrSignature: "getEthSignedOrderHash"): TypedContractMethod<[_order: LibValidator.OrderStruct], [string], "view">; getFunction(nameOrSignature: "validateCrossChainOrder"): TypedContractMethod<[ crossChainOrder: LibValidator.CrossChainOrderStruct ], [ [boolean, string] ], "view">; getFunction(nameOrSignature: "validateLockOrder"): TypedContractMethod<[ lockOrder: LibValidator.LockOrderStruct ], [ boolean ], "view">; getFunction(nameOrSignature: "validateV3"): TypedContractMethod<[ order: LibValidator.OrderStruct ], [ [boolean, string] ], "view">; filters: {}; }