@d8x/perpetuals-sdk
Version:
Node TypeScript SDK for D8X Perpetual Futures
831 lines (784 loc) • 21.8 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 declare namespace IPerpetualOrder {
export type OrderStruct = {
leverageTDR: BigNumberish;
brokerFeeTbps: BigNumberish;
iPerpetualId: BigNumberish;
traderAddr: AddressLike;
executionTimestamp: BigNumberish;
brokerAddr: AddressLike;
submittedTimestamp: BigNumberish;
flags: BigNumberish;
iDeadline: BigNumberish;
executorAddr: AddressLike;
fAmount: BigNumberish;
fLimitPrice: BigNumberish;
fTriggerPrice: BigNumberish;
brokerSignature: BytesLike;
};
export type OrderStructOutput = [
leverageTDR: bigint,
brokerFeeTbps: bigint,
iPerpetualId: bigint,
traderAddr: string,
executionTimestamp: bigint,
brokerAddr: string,
submittedTimestamp: bigint,
flags: bigint,
iDeadline: bigint,
executorAddr: string,
fAmount: bigint,
fLimitPrice: bigint,
fTriggerPrice: bigint,
brokerSignature: string
] & {
leverageTDR: bigint;
brokerFeeTbps: bigint;
iPerpetualId: bigint;
traderAddr: string;
executionTimestamp: bigint;
brokerAddr: string;
submittedTimestamp: bigint;
flags: bigint;
iDeadline: bigint;
executorAddr: string;
fAmount: bigint;
fLimitPrice: bigint;
fTriggerPrice: bigint;
brokerSignature: string;
};
}
export declare namespace IClientOrder {
export type ClientOrderStruct = {
iPerpetualId: BigNumberish;
fLimitPrice: BigNumberish;
leverageTDR: BigNumberish;
executionTimestamp: BigNumberish;
flags: BigNumberish;
iDeadline: BigNumberish;
brokerAddr: AddressLike;
fTriggerPrice: BigNumberish;
fAmount: BigNumberish;
parentChildDigest1: BytesLike;
traderAddr: AddressLike;
parentChildDigest2: BytesLike;
brokerFeeTbps: BigNumberish;
brokerSignature: BytesLike;
callbackTarget: AddressLike;
};
export type ClientOrderStructOutput = [
iPerpetualId: bigint,
fLimitPrice: bigint,
leverageTDR: bigint,
executionTimestamp: bigint,
flags: bigint,
iDeadline: bigint,
brokerAddr: string,
fTriggerPrice: bigint,
fAmount: bigint,
parentChildDigest1: string,
traderAddr: string,
parentChildDigest2: string,
brokerFeeTbps: bigint,
brokerSignature: string,
callbackTarget: string
] & {
iPerpetualId: bigint;
fLimitPrice: bigint;
leverageTDR: bigint;
executionTimestamp: bigint;
flags: bigint;
iDeadline: bigint;
brokerAddr: string;
fTriggerPrice: bigint;
fAmount: bigint;
parentChildDigest1: string;
traderAddr: string;
parentChildDigest2: string;
brokerFeeTbps: bigint;
brokerSignature: string;
callbackTarget: string;
};
}
export interface LimitOrderBookInterface extends Interface {
getFunction(
nameOrSignature:
| "CALLBACK_GAS_LIMIT"
| "actvDigestPos"
| "callbackFunctions"
| "cancelOrder"
| "digestsOfTrader"
| "executeOrders"
| "getOrderStatus"
| "getOrders"
| "getTrader"
| "initialize"
| "lastOrderHash"
| "limitDigestsOfTrader"
| "marketCloseSwitchTimestamp"
| "numberOfDigestsOfTrader"
| "orderCount"
| "orderDependency"
| "orderOfDigest"
| "perpManager"
| "perpetualId"
| "pollRange"
| "postOrders"
): FunctionFragment;
getEvent(
nameOrSignatureOrTopic:
| "Callback"
| "ExecutionFailed"
| "Initialized"
| "PerpetualLimitOrderCreated"
): EventFragment;
encodeFunctionData(
functionFragment: "CALLBACK_GAS_LIMIT",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "actvDigestPos",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "callbackFunctions",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "cancelOrder",
values: [BytesLike, BytesLike, BytesLike[], BigNumberish[]]
): string;
encodeFunctionData(
functionFragment: "digestsOfTrader",
values: [AddressLike, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "executeOrders",
values: [BytesLike[], AddressLike, BytesLike[], BigNumberish[]]
): string;
encodeFunctionData(
functionFragment: "getOrderStatus",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "getOrders",
values: [AddressLike, BigNumberish, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "getTrader",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "initialize",
values: [AddressLike, BigNumberish, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "lastOrderHash",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "limitDigestsOfTrader",
values: [AddressLike, BigNumberish, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "marketCloseSwitchTimestamp",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "numberOfDigestsOfTrader",
values: [AddressLike]
): string;
encodeFunctionData(
functionFragment: "orderCount",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "orderDependency",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "orderOfDigest",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "perpManager",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "perpetualId",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "pollRange",
values: [BigNumberish, BigNumberish]
): string;
encodeFunctionData(
functionFragment: "postOrders",
values: [IClientOrder.ClientOrderStruct[], BytesLike[]]
): string;
decodeFunctionResult(
functionFragment: "CALLBACK_GAS_LIMIT",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "actvDigestPos",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "callbackFunctions",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "cancelOrder",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "digestsOfTrader",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "executeOrders",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getOrderStatus",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "getOrders", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getTrader", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "lastOrderHash",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "limitDigestsOfTrader",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "marketCloseSwitchTimestamp",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "numberOfDigestsOfTrader",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "orderCount", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "orderDependency",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "orderOfDigest",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "perpManager",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "perpetualId",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "pollRange", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "postOrders", data: BytesLike): Result;
}
export namespace CallbackEvent {
export type InputTuple = [
callbackTarget: AddressLike,
success: boolean,
gasLimit: BigNumberish
];
export type OutputTuple = [
callbackTarget: string,
success: boolean,
gasLimit: bigint
];
export interface OutputObject {
callbackTarget: string;
success: boolean;
gasLimit: 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 ExecutionFailedEvent {
export type InputTuple = [
perpetualId: BigNumberish,
trader: AddressLike,
digest: BytesLike,
reason: string
];
export type OutputTuple = [
perpetualId: bigint,
trader: string,
digest: string,
reason: string
];
export interface OutputObject {
perpetualId: bigint;
trader: string;
digest: string;
reason: 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 InitializedEvent {
export type InputTuple = [version: BigNumberish];
export type OutputTuple = [version: bigint];
export interface OutputObject {
version: 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 PerpetualLimitOrderCreatedEvent {
export type InputTuple = [
perpetualId: BigNumberish,
trader: AddressLike,
brokerAddr: AddressLike,
order: IPerpetualOrder.OrderStruct,
digest: BytesLike
];
export type OutputTuple = [
perpetualId: bigint,
trader: string,
brokerAddr: string,
order: IPerpetualOrder.OrderStructOutput,
digest: string
];
export interface OutputObject {
perpetualId: bigint;
trader: string;
brokerAddr: string;
order: IPerpetualOrder.OrderStructOutput;
digest: 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 LimitOrderBook extends BaseContract {
connect(runner?: ContractRunner | null): LimitOrderBook;
waitForDeployment(): Promise<this>;
interface: LimitOrderBookInterface;
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>;
CALLBACK_GAS_LIMIT: TypedContractMethod<[], [bigint], "view">;
actvDigestPos: TypedContractMethod<[arg0: BytesLike], [bigint], "view">;
callbackFunctions: TypedContractMethod<[arg0: BytesLike], [string], "view">;
cancelOrder: TypedContractMethod<
[
_digest: BytesLike,
_signature: BytesLike,
_updateData: BytesLike[],
_publishTimes: BigNumberish[]
],
[void],
"payable"
>;
digestsOfTrader: TypedContractMethod<
[arg0: AddressLike, arg1: BigNumberish],
[string],
"view"
>;
executeOrders: TypedContractMethod<
[
_digests: BytesLike[],
_executorAddr: AddressLike,
_updateData: BytesLike[],
_publishTimes: BigNumberish[]
],
[void],
"payable"
>;
getOrderStatus: TypedContractMethod<[_digest: BytesLike], [bigint], "view">;
getOrders: TypedContractMethod<
[trader: AddressLike, offset: BigNumberish, limit: BigNumberish],
[IClientOrder.ClientOrderStructOutput[]],
"view"
>;
getTrader: TypedContractMethod<[digest: BytesLike], [string], "view">;
initialize: TypedContractMethod<
[
_perpetualManagerAddr: AddressLike,
_perpetualId: BigNumberish,
_iCancelDelaySec: BigNumberish
],
[void],
"nonpayable"
>;
lastOrderHash: TypedContractMethod<[], [string], "view">;
limitDigestsOfTrader: TypedContractMethod<
[trader: AddressLike, page: BigNumberish, limit: BigNumberish],
[string[]],
"view"
>;
marketCloseSwitchTimestamp: TypedContractMethod<[], [bigint], "view">;
numberOfDigestsOfTrader: TypedContractMethod<
[trader: AddressLike],
[bigint],
"view"
>;
orderCount: TypedContractMethod<[], [bigint], "view">;
orderDependency: TypedContractMethod<
[arg0: BytesLike],
[
[string, string] & {
parentChildDigest1: string;
parentChildDigest2: string;
}
],
"view"
>;
orderOfDigest: TypedContractMethod<
[arg0: BytesLike],
[
[
bigint,
bigint,
bigint,
string,
bigint,
string,
bigint,
bigint,
bigint,
string,
bigint,
bigint,
bigint,
string
] & {
leverageTDR: bigint;
brokerFeeTbps: bigint;
iPerpetualId: bigint;
traderAddr: string;
executionTimestamp: bigint;
brokerAddr: string;
submittedTimestamp: bigint;
flags: bigint;
iDeadline: bigint;
executorAddr: string;
fAmount: bigint;
fLimitPrice: bigint;
fTriggerPrice: bigint;
brokerSignature: string;
}
],
"view"
>;
perpManager: TypedContractMethod<[], [string], "view">;
perpetualId: TypedContractMethod<[], [bigint], "view">;
pollRange: TypedContractMethod<
[_from: BigNumberish, _numElements: BigNumberish],
[
[IClientOrder.ClientOrderStructOutput[], string[], bigint[]] & {
orders: IClientOrder.ClientOrderStructOutput[];
orderHashes: string[];
submittedTs: bigint[];
}
],
"view"
>;
postOrders: TypedContractMethod<
[_orders: IClientOrder.ClientOrderStruct[], _signatures: BytesLike[]],
[void],
"nonpayable"
>;
getFunction<T extends ContractMethod = ContractMethod>(
key: string | FunctionFragment
): T;
getFunction(
nameOrSignature: "CALLBACK_GAS_LIMIT"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "actvDigestPos"
): TypedContractMethod<[arg0: BytesLike], [bigint], "view">;
getFunction(
nameOrSignature: "callbackFunctions"
): TypedContractMethod<[arg0: BytesLike], [string], "view">;
getFunction(
nameOrSignature: "cancelOrder"
): TypedContractMethod<
[
_digest: BytesLike,
_signature: BytesLike,
_updateData: BytesLike[],
_publishTimes: BigNumberish[]
],
[void],
"payable"
>;
getFunction(
nameOrSignature: "digestsOfTrader"
): TypedContractMethod<
[arg0: AddressLike, arg1: BigNumberish],
[string],
"view"
>;
getFunction(
nameOrSignature: "executeOrders"
): TypedContractMethod<
[
_digests: BytesLike[],
_executorAddr: AddressLike,
_updateData: BytesLike[],
_publishTimes: BigNumberish[]
],
[void],
"payable"
>;
getFunction(
nameOrSignature: "getOrderStatus"
): TypedContractMethod<[_digest: BytesLike], [bigint], "view">;
getFunction(
nameOrSignature: "getOrders"
): TypedContractMethod<
[trader: AddressLike, offset: BigNumberish, limit: BigNumberish],
[IClientOrder.ClientOrderStructOutput[]],
"view"
>;
getFunction(
nameOrSignature: "getTrader"
): TypedContractMethod<[digest: BytesLike], [string], "view">;
getFunction(
nameOrSignature: "initialize"
): TypedContractMethod<
[
_perpetualManagerAddr: AddressLike,
_perpetualId: BigNumberish,
_iCancelDelaySec: BigNumberish
],
[void],
"nonpayable"
>;
getFunction(
nameOrSignature: "lastOrderHash"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "limitDigestsOfTrader"
): TypedContractMethod<
[trader: AddressLike, page: BigNumberish, limit: BigNumberish],
[string[]],
"view"
>;
getFunction(
nameOrSignature: "marketCloseSwitchTimestamp"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "numberOfDigestsOfTrader"
): TypedContractMethod<[trader: AddressLike], [bigint], "view">;
getFunction(
nameOrSignature: "orderCount"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "orderDependency"
): TypedContractMethod<
[arg0: BytesLike],
[
[string, string] & {
parentChildDigest1: string;
parentChildDigest2: string;
}
],
"view"
>;
getFunction(
nameOrSignature: "orderOfDigest"
): TypedContractMethod<
[arg0: BytesLike],
[
[
bigint,
bigint,
bigint,
string,
bigint,
string,
bigint,
bigint,
bigint,
string,
bigint,
bigint,
bigint,
string
] & {
leverageTDR: bigint;
brokerFeeTbps: bigint;
iPerpetualId: bigint;
traderAddr: string;
executionTimestamp: bigint;
brokerAddr: string;
submittedTimestamp: bigint;
flags: bigint;
iDeadline: bigint;
executorAddr: string;
fAmount: bigint;
fLimitPrice: bigint;
fTriggerPrice: bigint;
brokerSignature: string;
}
],
"view"
>;
getFunction(
nameOrSignature: "perpManager"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "perpetualId"
): TypedContractMethod<[], [bigint], "view">;
getFunction(
nameOrSignature: "pollRange"
): TypedContractMethod<
[_from: BigNumberish, _numElements: BigNumberish],
[
[IClientOrder.ClientOrderStructOutput[], string[], bigint[]] & {
orders: IClientOrder.ClientOrderStructOutput[];
orderHashes: string[];
submittedTs: bigint[];
}
],
"view"
>;
getFunction(
nameOrSignature: "postOrders"
): TypedContractMethod<
[_orders: IClientOrder.ClientOrderStruct[], _signatures: BytesLike[]],
[void],
"nonpayable"
>;
getEvent(
key: "Callback"
): TypedContractEvent<
CallbackEvent.InputTuple,
CallbackEvent.OutputTuple,
CallbackEvent.OutputObject
>;
getEvent(
key: "ExecutionFailed"
): TypedContractEvent<
ExecutionFailedEvent.InputTuple,
ExecutionFailedEvent.OutputTuple,
ExecutionFailedEvent.OutputObject
>;
getEvent(
key: "Initialized"
): TypedContractEvent<
InitializedEvent.InputTuple,
InitializedEvent.OutputTuple,
InitializedEvent.OutputObject
>;
getEvent(
key: "PerpetualLimitOrderCreated"
): TypedContractEvent<
PerpetualLimitOrderCreatedEvent.InputTuple,
PerpetualLimitOrderCreatedEvent.OutputTuple,
PerpetualLimitOrderCreatedEvent.OutputObject
>;
filters: {
"Callback(address,bool,uint32)": TypedContractEvent<
CallbackEvent.InputTuple,
CallbackEvent.OutputTuple,
CallbackEvent.OutputObject
>;
Callback: TypedContractEvent<
CallbackEvent.InputTuple,
CallbackEvent.OutputTuple,
CallbackEvent.OutputObject
>;
"ExecutionFailed(uint24,address,bytes32,string)": TypedContractEvent<
ExecutionFailedEvent.InputTuple,
ExecutionFailedEvent.OutputTuple,
ExecutionFailedEvent.OutputObject
>;
ExecutionFailed: TypedContractEvent<
ExecutionFailedEvent.InputTuple,
ExecutionFailedEvent.OutputTuple,
ExecutionFailedEvent.OutputObject
>;
"Initialized(uint8)": TypedContractEvent<
InitializedEvent.InputTuple,
InitializedEvent.OutputTuple,
InitializedEvent.OutputObject
>;
Initialized: TypedContractEvent<
InitializedEvent.InputTuple,
InitializedEvent.OutputTuple,
InitializedEvent.OutputObject
>;
"PerpetualLimitOrderCreated(uint24,address,address,tuple,bytes32)": TypedContractEvent<
PerpetualLimitOrderCreatedEvent.InputTuple,
PerpetualLimitOrderCreatedEvent.OutputTuple,
PerpetualLimitOrderCreatedEvent.OutputObject
>;
PerpetualLimitOrderCreated: TypedContractEvent<
PerpetualLimitOrderCreatedEvent.InputTuple,
PerpetualLimitOrderCreatedEvent.OutputTuple,
PerpetualLimitOrderCreatedEvent.OutputObject
>;
};
}