diff --git a/package.json b/package.json index e048d11..4f89879 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@orionprotocol/sdk", - "version": "0.16.5", + "version": "0.16.7-rc.0", "description": "Orion Protocol SDK", "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", diff --git a/src/constants/positionStatuses.ts b/src/constants/positionStatuses.ts index a4b0abe..09975f3 100644 --- a/src/constants/positionStatuses.ts +++ b/src/constants/positionStatuses.ts @@ -1,9 +1,9 @@ const positionStatuses = [ 'SHORT', 'LONG', - 'CLOSED', - 'LIQUIDATED', - 'NOT_OPEN', + 'CLOSING', + 'LIQUIDATION', + 'ZERO', ] as const; export default positionStatuses; diff --git a/src/services/OrionAggregator/ws/schemas/addressUpdateSchema.ts b/src/services/OrionAggregator/ws/schemas/addressUpdateSchema.ts index 715aeb7..1850585 100644 --- a/src/services/OrionAggregator/ws/schemas/addressUpdateSchema.ts +++ b/src/services/OrionAggregator/ws/schemas/addressUpdateSchema.ts @@ -32,6 +32,7 @@ export const orderUpdateSchema = z.object({ I: z.string(), // id A: z.number(), // settled amount S: z.enum(orderStatuses), // status + l: z.boolean().optional(), // is liquidation order t: z.number(), // update time c: subOrderSchema.array(), }) @@ -43,6 +44,7 @@ export const orderUpdateSchema = z.object({ id: o.I, settledAmount: o.A, status: o.S, + liquidated: o.l, subOrders: o.c.map((so) => ({ pair: so.P, exchange: so.e, @@ -66,6 +68,7 @@ export const fullOrderSchema = z.object({ p: z.number(), // price F: z.string(), // fee asset f: z.number(), // fee + l: z.boolean().optional(), // is liquidation order o: z.boolean(), // internal only S: z.enum(orderStatuses), // status T: z.number(), // creation time / unix timestamp @@ -80,6 +83,7 @@ export const fullOrderSchema = z.object({ settledAmount: o.A, feeAsset: o.F, fee: o.f, + liquidated: o.l, status: o.S, date: o.T, clientOrdId: o.O, diff --git a/src/types.ts b/src/types.ts index e46ecc4..c9fddfb 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,7 @@ import BigNumber from 'bignumber.js'; import exchanges from './constants/exchanges'; import subOrderStatuses from './constants/subOrderStatuses'; +import positionStatuses from './constants/positionStatuses'; export type AssetPairUpdate = { minQty: number, @@ -26,6 +27,8 @@ export type Balance = { allowance: string, } +export type PositionStatus = typeof positionStatuses[number]; + export type CFDBalance = { instrument: string, balance: string, @@ -235,5 +238,3 @@ export enum HistoryTransactionStatus { APPROVING = 'Approving', CANCELLED = 'Cancelled', } - -export type PositionStatus = 'SHORT' | 'LONG' | 'CLOSED' | 'LIQUIDATED' | 'NOT_OPEN';