@lifi/perps-types 0.1.1-alpha.1 → 0.1.1-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/package.json +28 -5
  2. package/providers/hyperliquid/package.json +5 -0
  3. package/src/_cjs/enums.js +8 -1
  4. package/src/_cjs/enums.js.map +1 -1
  5. package/src/_cjs/index.js +1 -0
  6. package/src/_cjs/index.js.map +1 -1
  7. package/src/_cjs/providers/hyperliquid/assetId.js +19 -0
  8. package/src/_cjs/providers/hyperliquid/assetId.js.map +1 -0
  9. package/src/_cjs/providers/hyperliquid/index.js +20 -0
  10. package/src/_cjs/providers/hyperliquid/index.js.map +1 -0
  11. package/src/_cjs/providers/hyperliquid/mappers/activity.js +56 -0
  12. package/src/_cjs/providers/hyperliquid/mappers/activity.js.map +1 -0
  13. package/src/_cjs/providers/hyperliquid/mappers/history.js +22 -0
  14. package/src/_cjs/providers/hyperliquid/mappers/history.js.map +1 -0
  15. package/src/_cjs/providers/hyperliquid/mappers/index.js +18 -0
  16. package/src/_cjs/providers/hyperliquid/mappers/index.js.map +1 -0
  17. package/src/_cjs/providers/hyperliquid/mappers/market.js +28 -0
  18. package/src/_cjs/providers/hyperliquid/mappers/market.js.map +1 -0
  19. package/src/_cjs/providers/hyperliquid/mappers/order.js +76 -0
  20. package/src/_cjs/providers/hyperliquid/mappers/order.js.map +1 -0
  21. package/src/_cjs/providers/hyperliquid/mappers/position.js +29 -0
  22. package/src/_cjs/providers/hyperliquid/mappers/position.js.map +1 -0
  23. package/src/_cjs/providers/hyperliquid/mappers/shared.js +12 -0
  24. package/src/_cjs/providers/hyperliquid/mappers/shared.js.map +1 -0
  25. package/src/_cjs/providers/hyperliquid/types.js +3 -0
  26. package/src/_cjs/providers/hyperliquid/types.js.map +1 -0
  27. package/src/_cjs/subscriptions.js +3 -0
  28. package/src/_cjs/subscriptions.js.map +1 -0
  29. package/src/_esm/enums.js +7 -0
  30. package/src/_esm/enums.js.map +1 -1
  31. package/src/_esm/index.js +1 -0
  32. package/src/_esm/index.js.map +1 -1
  33. package/src/_esm/providers/hyperliquid/assetId.js +23 -0
  34. package/src/_esm/providers/hyperliquid/assetId.js.map +1 -0
  35. package/src/_esm/providers/hyperliquid/index.js +4 -0
  36. package/src/_esm/providers/hyperliquid/index.js.map +1 -0
  37. package/src/_esm/providers/hyperliquid/mappers/activity.js +59 -0
  38. package/src/_esm/providers/hyperliquid/mappers/activity.js.map +1 -0
  39. package/src/_esm/providers/hyperliquid/mappers/history.js +18 -0
  40. package/src/_esm/providers/hyperliquid/mappers/history.js.map +1 -0
  41. package/src/_esm/providers/hyperliquid/mappers/index.js +7 -0
  42. package/src/_esm/providers/hyperliquid/mappers/index.js.map +1 -0
  43. package/src/_esm/providers/hyperliquid/mappers/market.js +24 -0
  44. package/src/_esm/providers/hyperliquid/mappers/market.js.map +1 -0
  45. package/src/_esm/providers/hyperliquid/mappers/order.js +71 -0
  46. package/src/_esm/providers/hyperliquid/mappers/order.js.map +1 -0
  47. package/src/_esm/providers/hyperliquid/mappers/position.js +25 -0
  48. package/src/_esm/providers/hyperliquid/mappers/position.js.map +1 -0
  49. package/src/_esm/providers/hyperliquid/mappers/shared.js +13 -0
  50. package/src/_esm/providers/hyperliquid/mappers/shared.js.map +1 -0
  51. package/src/_esm/providers/hyperliquid/types.js +5 -0
  52. package/src/_esm/providers/hyperliquid/types.js.map +1 -0
  53. package/src/_esm/subscriptions.js +2 -0
  54. package/src/_esm/subscriptions.js.map +1 -0
  55. package/src/_types/account.d.ts +39 -1
  56. package/src/_types/account.d.ts.map +1 -1
  57. package/src/_types/enums.d.ts +6 -0
  58. package/src/_types/enums.d.ts.map +1 -1
  59. package/src/_types/index.d.ts +1 -0
  60. package/src/_types/index.d.ts.map +1 -1
  61. package/src/_types/market.d.ts +1 -0
  62. package/src/_types/market.d.ts.map +1 -1
  63. package/src/_types/providers/hyperliquid/assetId.d.ts +12 -0
  64. package/src/_types/providers/hyperliquid/assetId.d.ts.map +1 -0
  65. package/src/_types/providers/hyperliquid/index.d.ts +4 -0
  66. package/src/_types/providers/hyperliquid/index.d.ts.map +1 -0
  67. package/src/_types/providers/hyperliquid/mappers/activity.d.ts +13 -0
  68. package/src/_types/providers/hyperliquid/mappers/activity.d.ts.map +1 -0
  69. package/src/_types/providers/hyperliquid/mappers/history.d.ts +4 -0
  70. package/src/_types/providers/hyperliquid/mappers/history.d.ts.map +1 -0
  71. package/src/_types/providers/hyperliquid/mappers/index.d.ts +7 -0
  72. package/src/_types/providers/hyperliquid/mappers/index.d.ts.map +1 -0
  73. package/src/_types/providers/hyperliquid/mappers/market.d.ts +4 -0
  74. package/src/_types/providers/hyperliquid/mappers/market.d.ts.map +1 -0
  75. package/src/_types/providers/hyperliquid/mappers/order.d.ts +6 -0
  76. package/src/_types/providers/hyperliquid/mappers/order.d.ts.map +1 -0
  77. package/src/_types/providers/hyperliquid/mappers/position.d.ts +4 -0
  78. package/src/_types/providers/hyperliquid/mappers/position.d.ts.map +1 -0
  79. package/src/_types/providers/hyperliquid/mappers/shared.d.ts +7 -0
  80. package/src/_types/providers/hyperliquid/mappers/shared.d.ts.map +1 -0
  81. package/src/_types/providers/hyperliquid/types.d.ts +201 -0
  82. package/src/_types/providers/hyperliquid/types.d.ts.map +1 -0
  83. package/src/_types/subscriptions.d.ts +71 -0
  84. package/src/_types/subscriptions.d.ts.map +1 -0
  85. package/src/_types/trading.d.ts +0 -2
  86. package/src/_types/trading.d.ts.map +1 -1
  87. package/src/account.ts +55 -0
  88. package/src/enums.ts +7 -0
  89. package/src/index.ts +1 -0
  90. package/src/market.ts +1 -0
  91. package/src/providers/hyperliquid/assetId.ts +26 -0
  92. package/src/providers/hyperliquid/index.ts +3 -0
  93. package/src/providers/hyperliquid/mappers/activity.ts +84 -0
  94. package/src/providers/hyperliquid/mappers/history.ts +25 -0
  95. package/src/providers/hyperliquid/mappers/index.ts +6 -0
  96. package/src/providers/hyperliquid/mappers/market.ts +35 -0
  97. package/src/providers/hyperliquid/mappers/order.ts +88 -0
  98. package/src/providers/hyperliquid/mappers/position.ts +35 -0
  99. package/src/providers/hyperliquid/mappers/shared.ts +15 -0
  100. package/src/providers/hyperliquid/types.ts +255 -0
  101. package/src/subscriptions.ts +73 -0
  102. package/src/trading.ts +0 -2
@@ -0,0 +1,255 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Hyperliquid /info response types
3
+ // ---------------------------------------------------------------------------
4
+
5
+ // -- metaAndAssetCtxs -------------------------------------------------------
6
+
7
+ export type HlUniverseItem = {
8
+ name: string
9
+ szDecimals: number
10
+ maxLeverage: number
11
+ onlyIsolated?: boolean
12
+ isDelisted?: boolean
13
+ }
14
+
15
+ export type HlMeta = {
16
+ universe: HlUniverseItem[]
17
+ }
18
+
19
+ export type HlAssetCtx = {
20
+ funding: string
21
+ openInterest: string
22
+ dayNtlVlm: string
23
+ markPx: string
24
+ }
25
+
26
+ export type HlMetaAndAssetCtxs = [HlMeta, HlAssetCtx[]]
27
+
28
+ export type HlUniverse = HlMeta['universe']
29
+
30
+ // -- allMids ----------------------------------------------------------------
31
+
32
+ export type HlAllMids = Record<string, string>
33
+
34
+ // -- candleSnapshot ---------------------------------------------------------
35
+
36
+ export type HlCandle = {
37
+ t: number
38
+ o: string
39
+ h: string
40
+ l: string
41
+ c: string
42
+ v: string
43
+ }
44
+
45
+ export type HlCandleSnapshot = HlCandle[]
46
+
47
+ // -- l2Book -----------------------------------------------------------------
48
+
49
+ export type HlLevel = {
50
+ px: string
51
+ sz: string
52
+ n: number
53
+ }
54
+
55
+ export type HlL2Book = {
56
+ levels: [HlLevel[], HlLevel[]]
57
+ time: number
58
+ }
59
+
60
+ // -- clearinghouseState -----------------------------------------------------
61
+
62
+ export type HlPosition = {
63
+ coin: string
64
+ szi: string
65
+ entryPx: string
66
+ positionValue: string
67
+ liquidationPx: string
68
+ unrealizedPnl: string
69
+ marginUsed: string
70
+ leverage: {
71
+ type: string
72
+ value: number
73
+ }
74
+ }
75
+
76
+ export type HlAssetPosition = {
77
+ position: HlPosition
78
+ }
79
+
80
+ export type HlClearinghouseState = {
81
+ assetPositions: HlAssetPosition[]
82
+ marginSummary: {
83
+ accountValue: string
84
+ totalMarginUsed: string
85
+ }
86
+ crossMarginSummary: {
87
+ accountValue: string
88
+ totalMarginUsed: string
89
+ }
90
+ }
91
+
92
+ // -- spotClearinghouseState -------------------------------------------------
93
+
94
+ export type HlSpotBalance = {
95
+ coin: string
96
+ token: number
97
+ total: string
98
+ hold: string
99
+ entryNtl: string
100
+ }
101
+
102
+ export type HlSpotClearinghouseState = {
103
+ balances: HlSpotBalance[]
104
+ }
105
+
106
+ // -- userFees ---------------------------------------------------------------
107
+
108
+ export type HlUserFees = {
109
+ userAddRate: string
110
+ userCrossRate: string
111
+ activeReferralDiscount: string
112
+ }
113
+
114
+ // -- frontendOpenOrders -----------------------------------------------------
115
+
116
+ export type HlFrontendOpenOrder = {
117
+ oid: number
118
+ coin: string
119
+ side: string
120
+ sz: string
121
+ limitPx: string
122
+ orderType: string
123
+ origSz: string
124
+ reduceOnly: boolean
125
+ timestamp: number
126
+ }
127
+
128
+ export type HlFrontendOpenOrders = HlFrontendOpenOrder[]
129
+
130
+ // -- extraAgents ------------------------------------------------------------
131
+
132
+ export type HlExtraAgents = Record<string, unknown>[]
133
+
134
+ // -- userFills / userFillsByTime --------------------------------------------
135
+
136
+ export type HlUserFill = {
137
+ tid: number
138
+ coin: string
139
+ side: string
140
+ sz: string
141
+ px: string
142
+ dir: string
143
+ fee: string
144
+ closedPnl: string
145
+ time: number
146
+ }
147
+
148
+ export type HlUserFills = HlUserFill[]
149
+
150
+ export type HlUserFillsByTime = HlUserFill[]
151
+
152
+ // -- orderStatus ------------------------------------------------------------
153
+
154
+ export type HlOrderDetail = {
155
+ order: {
156
+ oid: number
157
+ coin: string
158
+ side: string
159
+ sz: string
160
+ limitPx: string
161
+ orderType: string
162
+ origSz: string
163
+ reduceOnly: boolean
164
+ timestamp: number
165
+ tif: string | null
166
+ cloid: string | null
167
+ triggerCondition: string
168
+ triggerPx: string | null
169
+ }
170
+ status: string
171
+ statusTimestamp: number
172
+ }
173
+
174
+ export type HlOrderStatusFound = {
175
+ status: 'order'
176
+ order: HlOrderDetail
177
+ }
178
+
179
+ export type HlOrderStatusResponse =
180
+ | HlOrderStatusFound
181
+ | { status: 'unknownOid' }
182
+
183
+ // -- userNonFundingLedgerUpdates --------------------------------------------
184
+
185
+ export type HlLedgerDelta = {
186
+ type: string
187
+ usdc?: string
188
+ [key: string]: unknown
189
+ }
190
+
191
+ export type HlLedgerUpdate = {
192
+ time: number
193
+ hash: string
194
+ delta: HlLedgerDelta
195
+ }
196
+
197
+ export type HlUserNonFundingLedgerUpdates = HlLedgerUpdate[]
198
+
199
+ // -- userFunding ------------------------------------------------------------
200
+
201
+ export type HlFundingDelta = {
202
+ type: 'funding'
203
+ coin: string
204
+ usdc: string
205
+ szi: string
206
+ fundingRate: string
207
+ }
208
+
209
+ export type HlFundingUpdate = {
210
+ time: number
211
+ hash: string
212
+ delta: HlFundingDelta
213
+ }
214
+
215
+ export type HlUserFunding = HlFundingUpdate[]
216
+
217
+ // -- perpDexs ---------------------------------------------------------------
218
+
219
+ export type HlPerpDexs = (null | { name: string })[]
220
+
221
+ // ---------------------------------------------------------------------------
222
+ // Exchange request / response types
223
+ // ---------------------------------------------------------------------------
224
+
225
+ export type HlExchangeRequest = {
226
+ action: Record<string, unknown>
227
+ signature: {
228
+ r: string
229
+ s: string
230
+ v: number
231
+ }
232
+ nonce: number
233
+ vaultAddress?: string | null
234
+ }
235
+
236
+ export type HlExchangeResponse = {
237
+ status: string
238
+ response?:
239
+ | string
240
+ | {
241
+ type: string
242
+ data?: {
243
+ statuses?: (
244
+ | string
245
+ | { filled: { totalSz: string; avgPx: string; oid: number } }
246
+ | { resting: { oid: number } }
247
+ | { waitingForFill: { oid: number } }
248
+ | { waitingForTrigger: { oid: number } }
249
+ | { success: true }
250
+ | { error: string }
251
+ )[]
252
+ status?: unknown
253
+ }
254
+ }
255
+ }
@@ -0,0 +1,73 @@
1
+ import type { Address } from './typedData.js'
2
+ import type {
3
+ Candle,
4
+ OhlcvInterval,
5
+ OrderbookResponse,
6
+ PricesResponse,
7
+ } from './market.js'
8
+ import type { HistoryItem, Position } from './account.js'
9
+ import type { Order } from './trading.js'
10
+
11
+ // --- Channels the user can subscribe to ---
12
+
13
+ export type PricesSubscription = { channel: 'prices'; dex: string }
14
+ export type OrderbookSubscription = {
15
+ channel: 'orderbook'
16
+ dex: string
17
+ symbol: string
18
+ depth?: number
19
+ }
20
+ export type TradesSubscription = {
21
+ channel: 'trades'
22
+ dex: string
23
+ symbol: string
24
+ }
25
+ export type CandleSubscription = {
26
+ channel: 'candle'
27
+ dex: string
28
+ symbol: string
29
+ interval: OhlcvInterval
30
+ }
31
+ export type OrderUpdatesSubscription = {
32
+ channel: 'orderUpdates'
33
+ dex: string
34
+ address: Address
35
+ }
36
+ export type FillsSubscription = {
37
+ channel: 'fills'
38
+ dex: string
39
+ address: Address
40
+ }
41
+ export type PositionsSubscription = {
42
+ channel: 'positions'
43
+ dex: string
44
+ address: Address
45
+ }
46
+
47
+ export type Subscription =
48
+ | PricesSubscription
49
+ | OrderbookSubscription
50
+ | TradesSubscription
51
+ | CandleSubscription
52
+ | OrderUpdatesSubscription
53
+ | FillsSubscription
54
+ | PositionsSubscription
55
+
56
+ // --- Events emitted to listeners ---
57
+
58
+ export type PricesEvent = { channel: 'prices'; data: PricesResponse }
59
+ export type OrderbookEvent = { channel: 'orderbook'; data: OrderbookResponse }
60
+ export type TradesEvent = { channel: 'trades'; data: HistoryItem[] }
61
+ export type CandleEvent = { channel: 'candle'; data: Candle }
62
+ export type OrderUpdatesEvent = { channel: 'orderUpdates'; data: Order[] }
63
+ export type FillsEvent = { channel: 'fills'; data: HistoryItem[] }
64
+ export type PositionsEvent = { channel: 'positions'; data: Position[] }
65
+
66
+ export type SubscriptionEvent =
67
+ | PricesEvent
68
+ | OrderbookEvent
69
+ | TradesEvent
70
+ | CandleEvent
71
+ | OrderUpdatesEvent
72
+ | FillsEvent
73
+ | PositionsEvent
package/src/trading.ts CHANGED
@@ -17,7 +17,6 @@ export interface CreateOrderRequest {
17
17
  dex: string
18
18
  address: Address
19
19
  signerAddress?: Address
20
- clientOrderId?: string
21
20
  symbol: string
22
21
  side: OrderSide
23
22
  type: OrderType
@@ -78,7 +77,6 @@ export interface SubmitOrderResponse {
78
77
 
79
78
  export interface Order {
80
79
  orderId: string
81
- clientOrderId?: string
82
80
  symbol: string
83
81
  side: OrderSide
84
82
  type: OrderType