extended-typescript-sdk 0.0.1

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 (173) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +445 -0
  3. package/dist/config.d.ts +11 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/config.js +15 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/errors.d.ts +25 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +45 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/index.d.ts +39 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +142 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/perpetual/accounts.d.ts +88 -0
  16. package/dist/perpetual/accounts.d.ts.map +1 -0
  17. package/dist/perpetual/accounts.js +152 -0
  18. package/dist/perpetual/accounts.js.map +1 -0
  19. package/dist/perpetual/amounts.d.ts +41 -0
  20. package/dist/perpetual/amounts.d.ts.map +1 -0
  21. package/dist/perpetual/amounts.js +79 -0
  22. package/dist/perpetual/amounts.js.map +1 -0
  23. package/dist/perpetual/assets.d.ts +74 -0
  24. package/dist/perpetual/assets.d.ts.map +1 -0
  25. package/dist/perpetual/assets.js +119 -0
  26. package/dist/perpetual/assets.js.map +1 -0
  27. package/dist/perpetual/bridges.d.ts +29 -0
  28. package/dist/perpetual/bridges.d.ts.map +1 -0
  29. package/dist/perpetual/bridges.js +45 -0
  30. package/dist/perpetual/bridges.js.map +1 -0
  31. package/dist/perpetual/candles.d.ts +26 -0
  32. package/dist/perpetual/candles.d.ts.map +1 -0
  33. package/dist/perpetual/candles.js +29 -0
  34. package/dist/perpetual/candles.js.map +1 -0
  35. package/dist/perpetual/clients.d.ts +15 -0
  36. package/dist/perpetual/clients.d.ts.map +1 -0
  37. package/dist/perpetual/clients.js +25 -0
  38. package/dist/perpetual/clients.js.map +1 -0
  39. package/dist/perpetual/configuration.d.ts +39 -0
  40. package/dist/perpetual/configuration.d.ts.map +1 -0
  41. package/dist/perpetual/configuration.js +61 -0
  42. package/dist/perpetual/configuration.js.map +1 -0
  43. package/dist/perpetual/crypto/signer.d.ts +164 -0
  44. package/dist/perpetual/crypto/signer.d.ts.map +1 -0
  45. package/dist/perpetual/crypto/signer.js +318 -0
  46. package/dist/perpetual/crypto/signer.js.map +1 -0
  47. package/dist/perpetual/fees.d.ts +20 -0
  48. package/dist/perpetual/fees.d.ts.map +1 -0
  49. package/dist/perpetual/fees.js +35 -0
  50. package/dist/perpetual/fees.js.map +1 -0
  51. package/dist/perpetual/funding-rates.d.ts +15 -0
  52. package/dist/perpetual/funding-rates.d.ts.map +1 -0
  53. package/dist/perpetual/funding-rates.js +23 -0
  54. package/dist/perpetual/funding-rates.js.map +1 -0
  55. package/dist/perpetual/markets.d.ts +83 -0
  56. package/dist/perpetual/markets.d.ts.map +1 -0
  57. package/dist/perpetual/markets.js +124 -0
  58. package/dist/perpetual/markets.js.map +1 -0
  59. package/dist/perpetual/order-object-settlement.d.ts +43 -0
  60. package/dist/perpetual/order-object-settlement.d.ts.map +1 -0
  61. package/dist/perpetual/order-object-settlement.js +121 -0
  62. package/dist/perpetual/order-object-settlement.js.map +1 -0
  63. package/dist/perpetual/order-object.d.ts +38 -0
  64. package/dist/perpetual/order-object.d.ts.map +1 -0
  65. package/dist/perpetual/order-object.js +90 -0
  66. package/dist/perpetual/order-object.js.map +1 -0
  67. package/dist/perpetual/orderbooks.d.ts +23 -0
  68. package/dist/perpetual/orderbooks.d.ts.map +1 -0
  69. package/dist/perpetual/orderbooks.js +36 -0
  70. package/dist/perpetual/orderbooks.js.map +1 -0
  71. package/dist/perpetual/orders.d.ts +207 -0
  72. package/dist/perpetual/orders.d.ts.map +1 -0
  73. package/dist/perpetual/orders.js +266 -0
  74. package/dist/perpetual/orders.js.map +1 -0
  75. package/dist/perpetual/positions.d.ts +80 -0
  76. package/dist/perpetual/positions.d.ts.map +1 -0
  77. package/dist/perpetual/positions.js +94 -0
  78. package/dist/perpetual/positions.js.map +1 -0
  79. package/dist/perpetual/stream-client/perpetual-stream-connection.d.ts +47 -0
  80. package/dist/perpetual/stream-client/perpetual-stream-connection.d.ts.map +1 -0
  81. package/dist/perpetual/stream-client/perpetual-stream-connection.js +125 -0
  82. package/dist/perpetual/stream-client/perpetual-stream-connection.js.map +1 -0
  83. package/dist/perpetual/stream-client/stream-client.d.ts +46 -0
  84. package/dist/perpetual/stream-client/stream-client.d.ts.map +1 -0
  85. package/dist/perpetual/stream-client/stream-client.js +79 -0
  86. package/dist/perpetual/stream-client/stream-client.js.map +1 -0
  87. package/dist/perpetual/trades.d.ts +44 -0
  88. package/dist/perpetual/trades.d.ts.map +1 -0
  89. package/dist/perpetual/trades.js +48 -0
  90. package/dist/perpetual/trades.js.map +1 -0
  91. package/dist/perpetual/trading-client/account-module.d.ts +192 -0
  92. package/dist/perpetual/trading-client/account-module.d.ts.map +1 -0
  93. package/dist/perpetual/trading-client/account-module.js +357 -0
  94. package/dist/perpetual/trading-client/account-module.js.map +1 -0
  95. package/dist/perpetual/trading-client/base-module.d.ts +27 -0
  96. package/dist/perpetual/trading-client/base-module.d.ts.map +1 -0
  97. package/dist/perpetual/trading-client/base-module.js +49 -0
  98. package/dist/perpetual/trading-client/base-module.js.map +1 -0
  99. package/dist/perpetual/trading-client/info-module.d.ts +24 -0
  100. package/dist/perpetual/trading-client/info-module.d.ts.map +1 -0
  101. package/dist/perpetual/trading-client/info-module.js +33 -0
  102. package/dist/perpetual/trading-client/info-module.js.map +1 -0
  103. package/dist/perpetual/trading-client/markets-information-module.d.ts +53 -0
  104. package/dist/perpetual/trading-client/markets-information-module.d.ts.map +1 -0
  105. package/dist/perpetual/trading-client/markets-information-module.js +106 -0
  106. package/dist/perpetual/trading-client/markets-information-module.js.map +1 -0
  107. package/dist/perpetual/trading-client/order-management-module.d.ts +40 -0
  108. package/dist/perpetual/trading-client/order-management-module.d.ts.map +1 -0
  109. package/dist/perpetual/trading-client/order-management-module.js +71 -0
  110. package/dist/perpetual/trading-client/order-management-module.js.map +1 -0
  111. package/dist/perpetual/trading-client/testnet-module.d.ts +27 -0
  112. package/dist/perpetual/trading-client/testnet-module.d.ts.map +1 -0
  113. package/dist/perpetual/trading-client/testnet-module.js +45 -0
  114. package/dist/perpetual/trading-client/testnet-module.js.map +1 -0
  115. package/dist/perpetual/trading-client/trading-client.d.ts +75 -0
  116. package/dist/perpetual/trading-client/trading-client.d.ts.map +1 -0
  117. package/dist/perpetual/trading-client/trading-client.js +115 -0
  118. package/dist/perpetual/trading-client/trading-client.js.map +1 -0
  119. package/dist/perpetual/transfer-object.d.ts +12 -0
  120. package/dist/perpetual/transfer-object.d.ts.map +1 -0
  121. package/dist/perpetual/transfer-object.js +57 -0
  122. package/dist/perpetual/transfer-object.js.map +1 -0
  123. package/dist/perpetual/transfers.d.ts +54 -0
  124. package/dist/perpetual/transfers.d.ts.map +1 -0
  125. package/dist/perpetual/transfers.js +90 -0
  126. package/dist/perpetual/transfers.js.map +1 -0
  127. package/dist/perpetual/user-client/onboarding.d.ts +101 -0
  128. package/dist/perpetual/user-client/onboarding.d.ts.map +1 -0
  129. package/dist/perpetual/user-client/onboarding.js +247 -0
  130. package/dist/perpetual/user-client/onboarding.js.map +1 -0
  131. package/dist/perpetual/user-client/user-client.d.ts +45 -0
  132. package/dist/perpetual/user-client/user-client.d.ts.map +1 -0
  133. package/dist/perpetual/user-client/user-client.js +185 -0
  134. package/dist/perpetual/user-client/user-client.js.map +1 -0
  135. package/dist/perpetual/withdrawal-object.d.ts +12 -0
  136. package/dist/perpetual/withdrawal-object.d.ts.map +1 -0
  137. package/dist/perpetual/withdrawal-object.js +51 -0
  138. package/dist/perpetual/withdrawal-object.js.map +1 -0
  139. package/dist/perpetual/withdrawals.d.ts +40 -0
  140. package/dist/perpetual/withdrawals.d.ts.map +1 -0
  141. package/dist/perpetual/withdrawals.js +65 -0
  142. package/dist/perpetual/withdrawals.js.map +1 -0
  143. package/dist/utils/date.d.ts +13 -0
  144. package/dist/utils/date.d.ts.map +1 -0
  145. package/dist/utils/date.js +21 -0
  146. package/dist/utils/date.js.map +1 -0
  147. package/dist/utils/env.d.ts +50 -0
  148. package/dist/utils/env.d.ts.map +1 -0
  149. package/dist/utils/env.js +157 -0
  150. package/dist/utils/env.js.map +1 -0
  151. package/dist/utils/http.d.ts +98 -0
  152. package/dist/utils/http.d.ts.map +1 -0
  153. package/dist/utils/http.js +290 -0
  154. package/dist/utils/http.js.map +1 -0
  155. package/dist/utils/model.d.ts +35 -0
  156. package/dist/utils/model.d.ts.map +1 -0
  157. package/dist/utils/model.js +86 -0
  158. package/dist/utils/model.js.map +1 -0
  159. package/dist/utils/nonce.d.ts +9 -0
  160. package/dist/utils/nonce.d.ts.map +1 -0
  161. package/dist/utils/nonce.js +14 -0
  162. package/dist/utils/nonce.js.map +1 -0
  163. package/dist/utils/string.d.ts +10 -0
  164. package/dist/utils/string.d.ts.map +1 -0
  165. package/dist/utils/string.js +20 -0
  166. package/dist/utils/string.js.map +1 -0
  167. package/package.json +56 -0
  168. package/wasm/stark_crypto_wasm-web.js +5 -0
  169. package/wasm/stark_crypto_wasm.d-web.ts +63 -0
  170. package/wasm/stark_crypto_wasm.d.ts +63 -0
  171. package/wasm/stark_crypto_wasm.js +362 -0
  172. package/wasm/stark_crypto_wasm_bg-web.wasm +0 -0
  173. package/wasm/stark_crypto_wasm_bg.wasm +0 -0
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ /**
3
+ * Order types and models
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PlacedOrderModel = exports.OpenOrderModel = exports.NewOrderModel = exports.CreateOrderTpslTriggerModel = exports.StarkDebuggingOrderAmountsModel = exports.StarkSettlementModel = exports.SelfTradeProtectionLevel = exports.OrderPriceType = exports.OrderTriggerDirection = exports.OrderTriggerPriceType = exports.OrderStatusReason = exports.OrderStatus = exports.OrderTpslType = exports.OrderType = exports.OrderSide = exports.TimeInForce = void 0;
7
+ const model_1 = require("../utils/model");
8
+ /**
9
+ * Time in force
10
+ */
11
+ var TimeInForce;
12
+ (function (TimeInForce) {
13
+ TimeInForce["GTT"] = "GTT";
14
+ TimeInForce["IOC"] = "IOC";
15
+ TimeInForce["FOK"] = "FOK";
16
+ })(TimeInForce || (exports.TimeInForce = TimeInForce = {}));
17
+ /**
18
+ * Order side
19
+ */
20
+ var OrderSide;
21
+ (function (OrderSide) {
22
+ OrderSide["BUY"] = "BUY";
23
+ OrderSide["SELL"] = "SELL";
24
+ })(OrderSide || (exports.OrderSide = OrderSide = {}));
25
+ /**
26
+ * Order type
27
+ */
28
+ var OrderType;
29
+ (function (OrderType) {
30
+ OrderType["LIMIT"] = "LIMIT";
31
+ OrderType["CONDITIONAL"] = "CONDITIONAL";
32
+ OrderType["MARKET"] = "MARKET";
33
+ OrderType["TPSL"] = "TPSL";
34
+ })(OrderType || (exports.OrderType = OrderType = {}));
35
+ /**
36
+ * Order TPSL type
37
+ */
38
+ var OrderTpslType;
39
+ (function (OrderTpslType) {
40
+ OrderTpslType["ORDER"] = "ORDER";
41
+ OrderTpslType["POSITION"] = "POSITION";
42
+ })(OrderTpslType || (exports.OrderTpslType = OrderTpslType = {}));
43
+ /**
44
+ * Order status
45
+ */
46
+ var OrderStatus;
47
+ (function (OrderStatus) {
48
+ OrderStatus["UNKNOWN"] = "UNKNOWN";
49
+ OrderStatus["NEW"] = "NEW";
50
+ OrderStatus["UNTRIGGERED"] = "UNTRIGGERED";
51
+ OrderStatus["PARTIALLY_FILLED"] = "PARTIALLY_FILLED";
52
+ OrderStatus["FILLED"] = "FILLED";
53
+ OrderStatus["CANCELLED"] = "CANCELLED";
54
+ OrderStatus["EXPIRED"] = "EXPIRED";
55
+ OrderStatus["REJECTED"] = "REJECTED";
56
+ })(OrderStatus || (exports.OrderStatus = OrderStatus = {}));
57
+ /**
58
+ * Order status reason
59
+ */
60
+ var OrderStatusReason;
61
+ (function (OrderStatusReason) {
62
+ OrderStatusReason["UNKNOWN"] = "UNKNOWN";
63
+ OrderStatusReason["NONE"] = "NONE";
64
+ OrderStatusReason["UNKNOWN_MARKET"] = "UNKNOWN_MARKET";
65
+ OrderStatusReason["DISABLED_MARKET"] = "DISABLED_MARKET";
66
+ OrderStatusReason["NOT_ENOUGH_FUNDS"] = "NOT_ENOUGH_FUNDS";
67
+ OrderStatusReason["NO_LIQUIDITY"] = "NO_LIQUIDITY";
68
+ OrderStatusReason["INVALID_FEE"] = "INVALID_FEE";
69
+ OrderStatusReason["INVALID_QTY"] = "INVALID_QTY";
70
+ OrderStatusReason["INVALID_PRICE"] = "INVALID_PRICE";
71
+ OrderStatusReason["INVALID_VALUE"] = "INVALID_VALUE";
72
+ OrderStatusReason["UNKNOWN_ACCOUNT"] = "UNKNOWN_ACCOUNT";
73
+ OrderStatusReason["SELF_TRADE_PROTECTION"] = "SELF_TRADE_PROTECTION";
74
+ OrderStatusReason["POST_ONLY_FAILED"] = "POST_ONLY_FAILED";
75
+ OrderStatusReason["REDUCE_ONLY_FAILED"] = "REDUCE_ONLY_FAILED";
76
+ OrderStatusReason["INVALID_EXPIRE_TIME"] = "INVALID_EXPIRE_TIME";
77
+ OrderStatusReason["POSITION_TPSL_CONFLICT"] = "POSITION_TPSL_CONFLICT";
78
+ OrderStatusReason["INVALID_LEVERAGE"] = "INVALID_LEVERAGE";
79
+ OrderStatusReason["PREV_ORDER_NOT_FOUND"] = "PREV_ORDER_NOT_FOUND";
80
+ OrderStatusReason["PREV_ORDER_TRIGGERED"] = "PREV_ORDER_TRIGGERED";
81
+ OrderStatusReason["TPSL_OTHER_SIDE_FILLED"] = "TPSL_OTHER_SIDE_FILLED";
82
+ OrderStatusReason["PREV_ORDER_CONFLICT"] = "PREV_ORDER_CONFLICT";
83
+ OrderStatusReason["ORDER_REPLACED"] = "ORDER_REPLACED";
84
+ OrderStatusReason["POST_ONLY_MODE"] = "POST_ONLY_MODE";
85
+ OrderStatusReason["REDUCE_ONLY_MODE"] = "REDUCE_ONLY_MODE";
86
+ OrderStatusReason["TRADING_OFF_MODE"] = "TRADING_OFF_MODE";
87
+ })(OrderStatusReason || (exports.OrderStatusReason = OrderStatusReason = {}));
88
+ /**
89
+ * Order trigger price type
90
+ */
91
+ var OrderTriggerPriceType;
92
+ (function (OrderTriggerPriceType) {
93
+ OrderTriggerPriceType["UNKNOWN"] = "UNKNOWN";
94
+ OrderTriggerPriceType["MARK"] = "MARK";
95
+ OrderTriggerPriceType["INDEX"] = "INDEX";
96
+ OrderTriggerPriceType["LAST"] = "LAST";
97
+ })(OrderTriggerPriceType || (exports.OrderTriggerPriceType = OrderTriggerPriceType = {}));
98
+ /**
99
+ * Order trigger direction
100
+ */
101
+ var OrderTriggerDirection;
102
+ (function (OrderTriggerDirection) {
103
+ OrderTriggerDirection["UNKNOWN"] = "UNKNOWN";
104
+ OrderTriggerDirection["UP"] = "UP";
105
+ OrderTriggerDirection["DOWN"] = "DOWN";
106
+ })(OrderTriggerDirection || (exports.OrderTriggerDirection = OrderTriggerDirection = {}));
107
+ /**
108
+ * Order price type
109
+ */
110
+ var OrderPriceType;
111
+ (function (OrderPriceType) {
112
+ OrderPriceType["UNKNOWN"] = "UNKNOWN";
113
+ OrderPriceType["MARKET"] = "MARKET";
114
+ OrderPriceType["LIMIT"] = "LIMIT";
115
+ })(OrderPriceType || (exports.OrderPriceType = OrderPriceType = {}));
116
+ /**
117
+ * Self trade protection level
118
+ */
119
+ var SelfTradeProtectionLevel;
120
+ (function (SelfTradeProtectionLevel) {
121
+ SelfTradeProtectionLevel["NONE"] = "NONE";
122
+ SelfTradeProtectionLevel["MARKET"] = "MARKET";
123
+ SelfTradeProtectionLevel["ACCOUNT"] = "ACCOUNT";
124
+ })(SelfTradeProtectionLevel || (exports.SelfTradeProtectionLevel = SelfTradeProtectionLevel = {}));
125
+ /**
126
+ * Settlement model
127
+ */
128
+ class StarkSettlementModel extends model_1.X10BaseModel {
129
+ signature;
130
+ starkKey;
131
+ collateralPosition;
132
+ constructor(signature, starkKey, collateralPosition) {
133
+ super();
134
+ this.signature = signature;
135
+ this.starkKey = starkKey;
136
+ this.collateralPosition = collateralPosition;
137
+ }
138
+ }
139
+ exports.StarkSettlementModel = StarkSettlementModel;
140
+ /**
141
+ * Debugging order amounts model
142
+ */
143
+ class StarkDebuggingOrderAmountsModel extends model_1.X10BaseModel {
144
+ collateralAmount;
145
+ feeAmount;
146
+ syntheticAmount;
147
+ constructor(collateralAmount, feeAmount, syntheticAmount) {
148
+ super();
149
+ this.collateralAmount = collateralAmount;
150
+ this.feeAmount = feeAmount;
151
+ this.syntheticAmount = syntheticAmount;
152
+ }
153
+ }
154
+ exports.StarkDebuggingOrderAmountsModel = StarkDebuggingOrderAmountsModel;
155
+ /**
156
+ * Order TPSL trigger model
157
+ */
158
+ class CreateOrderTpslTriggerModel extends model_1.X10BaseModel {
159
+ triggerPrice;
160
+ triggerPriceType;
161
+ price;
162
+ priceType;
163
+ settlement;
164
+ debuggingAmounts;
165
+ constructor(triggerPrice, triggerPriceType, price, priceType, settlement, debuggingAmounts) {
166
+ super();
167
+ this.triggerPrice = triggerPrice;
168
+ this.triggerPriceType = triggerPriceType;
169
+ this.price = price;
170
+ this.priceType = priceType;
171
+ this.settlement = settlement;
172
+ this.debuggingAmounts = debuggingAmounts;
173
+ }
174
+ }
175
+ exports.CreateOrderTpslTriggerModel = CreateOrderTpslTriggerModel;
176
+ /**
177
+ * New order model
178
+ */
179
+ class NewOrderModel extends model_1.X10BaseModel {
180
+ id;
181
+ market;
182
+ type;
183
+ side;
184
+ qty;
185
+ price;
186
+ postOnly;
187
+ timeInForce;
188
+ expiryEpochMillis;
189
+ fee;
190
+ selfTradeProtectionLevel;
191
+ nonce;
192
+ cancelId;
193
+ settlement;
194
+ tpSlType;
195
+ takeProfit;
196
+ stopLoss;
197
+ debuggingAmounts;
198
+ builderFee;
199
+ builderId;
200
+ reduceOnly;
201
+ constructor(id, market, type, side, qty, price, postOnly, timeInForce, expiryEpochMillis, fee, selfTradeProtectionLevel, nonce, settlement, debuggingAmounts, reduceOnly, cancelId, tpSlType, takeProfit, stopLoss, builderFee, builderId) {
202
+ super();
203
+ this.id = id;
204
+ this.market = market;
205
+ this.type = type;
206
+ this.side = side;
207
+ this.qty = qty;
208
+ this.price = price;
209
+ this.postOnly = postOnly;
210
+ this.timeInForce = timeInForce;
211
+ this.expiryEpochMillis = expiryEpochMillis;
212
+ this.fee = fee;
213
+ this.selfTradeProtectionLevel = selfTradeProtectionLevel;
214
+ this.nonce = nonce;
215
+ this.cancelId = cancelId;
216
+ this.settlement = settlement;
217
+ this.tpSlType = tpSlType;
218
+ this.takeProfit = takeProfit;
219
+ this.stopLoss = stopLoss;
220
+ this.debuggingAmounts = debuggingAmounts;
221
+ this.builderFee = builderFee;
222
+ this.builderId = builderId;
223
+ this.reduceOnly = reduceOnly;
224
+ }
225
+ }
226
+ exports.NewOrderModel = NewOrderModel;
227
+ /**
228
+ * Open order model
229
+ */
230
+ class OpenOrderModel extends model_1.X10BaseModel {
231
+ id;
232
+ accountId;
233
+ externalId;
234
+ market;
235
+ type;
236
+ side;
237
+ status;
238
+ statusReason;
239
+ price;
240
+ averagePrice;
241
+ qty;
242
+ filledQty;
243
+ reduceOnly;
244
+ postOnly;
245
+ createdTime;
246
+ updatedTime;
247
+ expiryTime;
248
+ }
249
+ exports.OpenOrderModel = OpenOrderModel;
250
+ /**
251
+ * Placed order model
252
+ */
253
+ class PlacedOrderModel extends model_1.X10BaseModel {
254
+ id;
255
+ market;
256
+ type;
257
+ side;
258
+ status;
259
+ price;
260
+ qty;
261
+ postOnly;
262
+ createdTime;
263
+ updatedTime;
264
+ }
265
+ exports.PlacedOrderModel = PlacedOrderModel;
266
+ //# sourceMappingURL=orders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/perpetual/orders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Position models
3
+ */
4
+ import Decimal from 'decimal.js';
5
+ import { X10BaseModel } from '../utils/model';
6
+ /**
7
+ * Exit type
8
+ */
9
+ export declare enum ExitType {
10
+ TRADE = "TRADE",
11
+ LIQUIDATION = "LIQUIDATION",
12
+ ADL = "ADL"
13
+ }
14
+ /**
15
+ * Position side
16
+ */
17
+ export declare enum PositionSide {
18
+ LONG = "LONG",
19
+ SHORT = "SHORT"
20
+ }
21
+ /**
22
+ * Position status
23
+ */
24
+ export declare enum PositionStatus {
25
+ OPENED = "OPENED",
26
+ CLOSED = "CLOSED"
27
+ }
28
+ /**
29
+ * Position model
30
+ */
31
+ export declare class PositionModel extends X10BaseModel {
32
+ id: number;
33
+ accountId: number;
34
+ market: string;
35
+ status: PositionStatus;
36
+ side: PositionSide;
37
+ leverage: Decimal;
38
+ size: Decimal;
39
+ value: Decimal;
40
+ openPrice: Decimal;
41
+ markPrice: Decimal;
42
+ liquidationPrice?: Decimal;
43
+ unrealisedPnl: Decimal;
44
+ realisedPnl: Decimal;
45
+ tpPrice?: Decimal;
46
+ slPrice?: Decimal;
47
+ adl?: number;
48
+ createdAt: number;
49
+ updatedAt: number;
50
+ }
51
+ /**
52
+ * Realised PnL breakdown model
53
+ */
54
+ export declare class RealisedPnlBreakdownModel extends X10BaseModel {
55
+ tradePnl: Decimal;
56
+ fundingFees: Decimal;
57
+ openFees: Decimal;
58
+ closeFees: Decimal;
59
+ constructor(tradePnl: Decimal, fundingFees: Decimal, openFees: Decimal, closeFees: Decimal);
60
+ }
61
+ /**
62
+ * Position history model
63
+ */
64
+ export declare class PositionHistoryModel extends X10BaseModel {
65
+ id: number;
66
+ accountId: number;
67
+ market: string;
68
+ side: PositionSide;
69
+ size: Decimal;
70
+ maxPositionSize: Decimal;
71
+ leverage: Decimal;
72
+ openPrice: Decimal;
73
+ exitPrice?: Decimal;
74
+ realisedPnl: Decimal;
75
+ realisedPnlBreakdown: RealisedPnlBreakdownModel;
76
+ createdTime: number;
77
+ exitType?: ExitType;
78
+ closedTime?: number;
79
+ }
80
+ //# sourceMappingURL=positions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positions.d.ts","sourceRoot":"","sources":["../../src/perpetual/positions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,YAAY;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;gBAGjB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,OAAO,EACjB,SAAS,EAAE,OAAO;CAQrB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,oBAAoB,EAAE,yBAAyB,CAAC;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * Position models
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PositionHistoryModel = exports.RealisedPnlBreakdownModel = exports.PositionModel = exports.PositionStatus = exports.PositionSide = exports.ExitType = void 0;
7
+ const model_1 = require("../utils/model");
8
+ /**
9
+ * Exit type
10
+ */
11
+ var ExitType;
12
+ (function (ExitType) {
13
+ ExitType["TRADE"] = "TRADE";
14
+ ExitType["LIQUIDATION"] = "LIQUIDATION";
15
+ ExitType["ADL"] = "ADL";
16
+ })(ExitType || (exports.ExitType = ExitType = {}));
17
+ /**
18
+ * Position side
19
+ */
20
+ var PositionSide;
21
+ (function (PositionSide) {
22
+ PositionSide["LONG"] = "LONG";
23
+ PositionSide["SHORT"] = "SHORT";
24
+ })(PositionSide || (exports.PositionSide = PositionSide = {}));
25
+ /**
26
+ * Position status
27
+ */
28
+ var PositionStatus;
29
+ (function (PositionStatus) {
30
+ PositionStatus["OPENED"] = "OPENED";
31
+ PositionStatus["CLOSED"] = "CLOSED";
32
+ })(PositionStatus || (exports.PositionStatus = PositionStatus = {}));
33
+ /**
34
+ * Position model
35
+ */
36
+ class PositionModel extends model_1.X10BaseModel {
37
+ id;
38
+ accountId;
39
+ market;
40
+ status;
41
+ side;
42
+ leverage;
43
+ size;
44
+ value;
45
+ openPrice;
46
+ markPrice;
47
+ liquidationPrice;
48
+ unrealisedPnl;
49
+ realisedPnl;
50
+ tpPrice;
51
+ slPrice;
52
+ adl;
53
+ createdAt;
54
+ updatedAt;
55
+ }
56
+ exports.PositionModel = PositionModel;
57
+ /**
58
+ * Realised PnL breakdown model
59
+ */
60
+ class RealisedPnlBreakdownModel extends model_1.X10BaseModel {
61
+ tradePnl;
62
+ fundingFees;
63
+ openFees;
64
+ closeFees;
65
+ constructor(tradePnl, fundingFees, openFees, closeFees) {
66
+ super();
67
+ this.tradePnl = tradePnl;
68
+ this.fundingFees = fundingFees;
69
+ this.openFees = openFees;
70
+ this.closeFees = closeFees;
71
+ }
72
+ }
73
+ exports.RealisedPnlBreakdownModel = RealisedPnlBreakdownModel;
74
+ /**
75
+ * Position history model
76
+ */
77
+ class PositionHistoryModel extends model_1.X10BaseModel {
78
+ id;
79
+ accountId;
80
+ market;
81
+ side;
82
+ size;
83
+ maxPositionSize;
84
+ leverage;
85
+ openPrice;
86
+ exitPrice;
87
+ realisedPnl;
88
+ realisedPnlBreakdown;
89
+ createdTime;
90
+ exitType;
91
+ closedTime;
92
+ }
93
+ exports.PositionHistoryModel = PositionHistoryModel;
94
+ //# sourceMappingURL=positions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"positions.js","sourceRoot":"","sources":["../../src/perpetual/positions.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,0CAA8C;AAE9C;;GAEG;AACH,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uCAA2B,CAAA;IAC3B,uBAAW,CAAA;AACb,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED;;GAEG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;GAEG;AACH,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;AACnB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,oBAAY;IAC7C,EAAE,CAAS;IACX,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,MAAM,CAAiB;IACvB,IAAI,CAAe;IACnB,QAAQ,CAAU;IAClB,IAAI,CAAU;IACd,KAAK,CAAU;IACf,SAAS,CAAU;IACnB,SAAS,CAAU;IACnB,gBAAgB,CAAW;IAC3B,aAAa,CAAU;IACvB,WAAW,CAAU;IACrB,OAAO,CAAW;IAClB,OAAO,CAAW;IAClB,GAAG,CAAU;IACb,SAAS,CAAS;IAClB,SAAS,CAAS;CACnB;AAnBD,sCAmBC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,oBAAY;IACzD,QAAQ,CAAU;IAClB,WAAW,CAAU;IACrB,QAAQ,CAAU;IAClB,SAAS,CAAU;IAEnB,YACE,QAAiB,EACjB,WAAoB,EACpB,QAAiB,EACjB,SAAkB;QAElB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAlBD,8DAkBC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,oBAAY;IACpD,EAAE,CAAS;IACX,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,IAAI,CAAe;IACnB,IAAI,CAAU;IACd,eAAe,CAAU;IACzB,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,SAAS,CAAW;IACpB,WAAW,CAAU;IACrB,oBAAoB,CAA4B;IAChD,WAAW,CAAS;IACpB,QAAQ,CAAY;IACpB,UAAU,CAAU;CACrB;AAfD,oDAeC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Perpetual stream connection for WebSocket streaming
3
+ */
4
+ import { WrappedStreamResponse } from '../../utils/http';
5
+ /**
6
+ * Perpetual stream connection
7
+ */
8
+ export declare class PerpetualStreamConnection<T> {
9
+ private streamUrl;
10
+ private apiKey?;
11
+ private msgsCount;
12
+ private websocket?;
13
+ constructor(streamUrl: string, apiKey?: string);
14
+ /**
15
+ * Send data through WebSocket
16
+ */
17
+ send(data: string | Buffer): Promise<void>;
18
+ /**
19
+ * Receive message from WebSocket
20
+ */
21
+ recv(): Promise<WrappedStreamResponse<T>>;
22
+ /**
23
+ * Close WebSocket connection
24
+ */
25
+ close(): Promise<void>;
26
+ /**
27
+ * Get messages count
28
+ */
29
+ getMsgsCount(): number;
30
+ /**
31
+ * Check if connection is closed
32
+ */
33
+ isClosed(): boolean;
34
+ /**
35
+ * Connect to WebSocket
36
+ */
37
+ connect(): Promise<this>;
38
+ /**
39
+ * Receive message
40
+ */
41
+ private receive;
42
+ /**
43
+ * Async iterator for messages
44
+ */
45
+ [Symbol.asyncIterator](): AsyncIterator<WrappedStreamResponse<T>>;
46
+ }
47
+ //# sourceMappingURL=perpetual-stream-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perpetual-stream-connection.d.ts","sourceRoot":"","sources":["../../../src/perpetual/stream-client/perpetual-stream-connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,qBAAa,yBAAyB,CAAC,CAAC;IACtC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAY;gBAElB,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAK9C;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAO/C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAOnB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB9B;;OAEG;YACW,OAAO;IAqBrB;;OAEG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;CASzE"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * Perpetual stream connection for WebSocket streaming
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PerpetualStreamConnection = void 0;
10
+ const ws_1 = __importDefault(require("ws"));
11
+ const config_1 = require("../../config");
12
+ const http_1 = require("../../utils/http");
13
+ /**
14
+ * Perpetual stream connection
15
+ */
16
+ class PerpetualStreamConnection {
17
+ streamUrl;
18
+ apiKey;
19
+ msgsCount = 0;
20
+ websocket;
21
+ constructor(streamUrl, apiKey) {
22
+ this.streamUrl = streamUrl;
23
+ this.apiKey = apiKey;
24
+ }
25
+ /**
26
+ * Send data through WebSocket
27
+ */
28
+ async send(data) {
29
+ if (!this.websocket || this.websocket.readyState !== ws_1.default.OPEN) {
30
+ throw new Error('WebSocket is not connected');
31
+ }
32
+ this.websocket.send(data);
33
+ }
34
+ /**
35
+ * Receive message from WebSocket
36
+ */
37
+ async recv() {
38
+ if (!this.websocket) {
39
+ throw new Error('WebSocket is not connected');
40
+ }
41
+ return await this.receive();
42
+ }
43
+ /**
44
+ * Close WebSocket connection
45
+ */
46
+ async close() {
47
+ if (this.websocket && this.websocket.readyState === ws_1.default.OPEN) {
48
+ this.websocket.close();
49
+ }
50
+ }
51
+ /**
52
+ * Get messages count
53
+ */
54
+ getMsgsCount() {
55
+ return this.msgsCount;
56
+ }
57
+ /**
58
+ * Check if connection is closed
59
+ */
60
+ isClosed() {
61
+ if (!this.websocket) {
62
+ return true;
63
+ }
64
+ return this.websocket.readyState === ws_1.default.CLOSED;
65
+ }
66
+ /**
67
+ * Connect to WebSocket
68
+ */
69
+ async connect() {
70
+ const extraHeaders = {
71
+ [http_1.RequestHeader.USER_AGENT]: config_1.USER_AGENT,
72
+ };
73
+ if (this.apiKey) {
74
+ extraHeaders[http_1.RequestHeader.API_KEY] = this.apiKey;
75
+ }
76
+ return new Promise((resolve, reject) => {
77
+ this.websocket = new ws_1.default(this.streamUrl, {
78
+ headers: extraHeaders,
79
+ });
80
+ this.websocket.on('open', () => {
81
+ resolve(this);
82
+ });
83
+ this.websocket.on('error', (error) => {
84
+ reject(error);
85
+ });
86
+ });
87
+ }
88
+ /**
89
+ * Receive message
90
+ */
91
+ async receive() {
92
+ if (!this.websocket) {
93
+ throw new Error('WebSocket is not connected');
94
+ }
95
+ return new Promise((resolve, reject) => {
96
+ const messageHandler = (data) => {
97
+ this.msgsCount++;
98
+ try {
99
+ const parsed = JSON.parse(data.toString());
100
+ resolve(parsed);
101
+ }
102
+ catch (error) {
103
+ reject(error);
104
+ }
105
+ };
106
+ this.websocket.once('message', messageHandler);
107
+ this.websocket.on('error', reject);
108
+ });
109
+ }
110
+ /**
111
+ * Async iterator for messages
112
+ */
113
+ async *[Symbol.asyncIterator]() {
114
+ while (!this.isClosed()) {
115
+ try {
116
+ yield await this.receive();
117
+ }
118
+ catch (error) {
119
+ break;
120
+ }
121
+ }
122
+ }
123
+ }
124
+ exports.PerpetualStreamConnection = PerpetualStreamConnection;
125
+ //# sourceMappingURL=perpetual-stream-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perpetual-stream-connection.js","sourceRoot":"","sources":["../../../src/perpetual/stream-client/perpetual-stream-connection.ts"],"names":[],"mappings":"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"}