@lifi/perps-sdk-provider-lighter 35.1.0 → 37.0.0

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 (237) hide show
  1. package/dist/cjs/LighterProvider.d.ts.map +1 -1
  2. package/dist/cjs/LighterProvider.js +99 -58
  3. package/dist/cjs/LighterProvider.js.map +1 -1
  4. package/dist/cjs/accountSummary.d.ts +1 -2
  5. package/dist/cjs/accountSummary.d.ts.map +1 -1
  6. package/dist/cjs/accountSummary.js +16 -16
  7. package/dist/cjs/accountSummary.js.map +1 -1
  8. package/dist/cjs/availableToTrade.d.ts +1 -2
  9. package/dist/cjs/availableToTrade.d.ts.map +1 -1
  10. package/dist/cjs/availableToTrade.js +8 -12
  11. package/dist/cjs/availableToTrade.js.map +1 -1
  12. package/dist/cjs/signers/LighterSigner.d.ts.map +1 -1
  13. package/dist/cjs/signers/LighterSigner.js +2 -6
  14. package/dist/cjs/signers/LighterSigner.js.map +1 -1
  15. package/dist/cjs/types/submit.d.ts +5 -0
  16. package/dist/cjs/types/submit.d.ts.map +1 -1
  17. package/dist/cjs/utils/index.d.ts +4 -4
  18. package/dist/cjs/utils/index.d.ts.map +1 -1
  19. package/dist/cjs/utils/index.js +5 -8
  20. package/dist/cjs/utils/index.js.map +1 -1
  21. package/dist/cjs/utils/mapFill.d.ts +1 -1
  22. package/dist/cjs/utils/mapFill.d.ts.map +1 -1
  23. package/dist/cjs/utils/mapFill.js +44 -31
  24. package/dist/cjs/utils/mapFill.js.map +1 -1
  25. package/dist/cjs/utils/mapOpenPositions.d.ts +1 -0
  26. package/dist/cjs/utils/mapOpenPositions.d.ts.map +1 -1
  27. package/dist/cjs/utils/mapOpenPositions.js +8 -4
  28. package/dist/cjs/utils/mapOpenPositions.js.map +1 -1
  29. package/dist/cjs/utils/mapOrder.d.ts +1 -1
  30. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  31. package/dist/cjs/utils/mapOrder.js +44 -23
  32. package/dist/cjs/utils/mapOrder.js.map +1 -1
  33. package/dist/cjs/utils/mapPortfolioHistory.d.ts +1 -2
  34. package/dist/cjs/utils/mapPortfolioHistory.d.ts.map +1 -1
  35. package/dist/cjs/utils/mapPortfolioHistory.js +29 -21
  36. package/dist/cjs/utils/mapPortfolioHistory.js.map +1 -1
  37. package/dist/cjs/utils/mapPosition.d.ts +3 -3
  38. package/dist/cjs/utils/mapPosition.d.ts.map +1 -1
  39. package/dist/cjs/utils/mapPosition.js +54 -39
  40. package/dist/cjs/utils/mapPosition.js.map +1 -1
  41. package/dist/cjs/utils/rowTimestamp.d.ts +2 -0
  42. package/dist/cjs/utils/rowTimestamp.d.ts.map +1 -0
  43. package/dist/cjs/utils/rowTimestamp.js +14 -0
  44. package/dist/cjs/utils/rowTimestamp.js.map +1 -0
  45. package/dist/cjs/utils/settlementPool.d.ts +2 -3
  46. package/dist/cjs/utils/settlementPool.d.ts.map +1 -1
  47. package/dist/cjs/utils/settlementPool.js +8 -7
  48. package/dist/cjs/utils/settlementPool.js.map +1 -1
  49. package/dist/cjs/utils/spotPrice.d.ts +3 -4
  50. package/dist/cjs/utils/spotPrice.d.ts.map +1 -1
  51. package/dist/cjs/utils/spotPrice.js +6 -11
  52. package/dist/cjs/utils/spotPrice.js.map +1 -1
  53. package/dist/cjs/utils/time.d.ts.map +1 -1
  54. package/dist/cjs/utils/time.js +3 -2
  55. package/dist/cjs/utils/time.js.map +1 -1
  56. package/dist/cjs/utils/transferMargin.d.ts.map +1 -1
  57. package/dist/cjs/utils/transferMargin.js +8 -11
  58. package/dist/cjs/utils/transferMargin.js.map +1 -1
  59. package/dist/cjs/utils/wireEncoding.d.ts +0 -2
  60. package/dist/cjs/utils/wireEncoding.d.ts.map +1 -1
  61. package/dist/cjs/utils/wireEncoding.js +1 -15
  62. package/dist/cjs/utils/wireEncoding.js.map +1 -1
  63. package/dist/cjs/utils/withdrawableBalances.d.ts +1 -1
  64. package/dist/cjs/utils/withdrawableBalances.d.ts.map +1 -1
  65. package/dist/cjs/utils/withdrawableBalances.js +12 -17
  66. package/dist/cjs/utils/withdrawableBalances.js.map +1 -1
  67. package/dist/cjs/utils/withdrawalTypes.d.ts +17 -0
  68. package/dist/cjs/utils/withdrawalTypes.d.ts.map +1 -0
  69. package/dist/cjs/utils/withdrawalTypes.js +58 -0
  70. package/dist/cjs/utils/withdrawalTypes.js.map +1 -0
  71. package/dist/cjs/websocket/LighterWsProvider.d.ts.map +1 -1
  72. package/dist/cjs/websocket/LighterWsProvider.js +74 -66
  73. package/dist/cjs/websocket/LighterWsProvider.js.map +1 -1
  74. package/dist/cjs/websocket/orderBookSide.d.ts +20 -0
  75. package/dist/cjs/websocket/orderBookSide.d.ts.map +1 -0
  76. package/dist/cjs/websocket/orderBookSide.js +73 -0
  77. package/dist/cjs/websocket/orderBookSide.js.map +1 -0
  78. package/dist/esm/LighterProvider.d.ts.map +1 -1
  79. package/dist/esm/LighterProvider.js +113 -62
  80. package/dist/esm/LighterProvider.js.map +1 -1
  81. package/dist/esm/accountSummary.d.ts +1 -2
  82. package/dist/esm/accountSummary.d.ts.map +1 -1
  83. package/dist/esm/accountSummary.js +17 -14
  84. package/dist/esm/accountSummary.js.map +1 -1
  85. package/dist/esm/availableToTrade.d.ts +1 -2
  86. package/dist/esm/availableToTrade.d.ts.map +1 -1
  87. package/dist/esm/availableToTrade.js +9 -10
  88. package/dist/esm/availableToTrade.js.map +1 -1
  89. package/dist/esm/signers/LighterSigner.d.ts.map +1 -1
  90. package/dist/esm/signers/LighterSigner.js +3 -4
  91. package/dist/esm/signers/LighterSigner.js.map +1 -1
  92. package/dist/esm/types/submit.d.ts +14 -0
  93. package/dist/esm/types/submit.d.ts.map +1 -1
  94. package/dist/esm/utils/index.d.ts +4 -4
  95. package/dist/esm/utils/index.d.ts.map +1 -1
  96. package/dist/esm/utils/index.js +3 -4
  97. package/dist/esm/utils/index.js.map +1 -1
  98. package/dist/esm/utils/mapFill.d.ts +1 -1
  99. package/dist/esm/utils/mapFill.d.ts.map +1 -1
  100. package/dist/esm/utils/mapFill.js +51 -35
  101. package/dist/esm/utils/mapFill.js.map +1 -1
  102. package/dist/esm/utils/mapOpenPositions.d.ts +9 -2
  103. package/dist/esm/utils/mapOpenPositions.d.ts.map +1 -1
  104. package/dist/esm/utils/mapOpenPositions.js +14 -5
  105. package/dist/esm/utils/mapOpenPositions.js.map +1 -1
  106. package/dist/esm/utils/mapOrder.d.ts +10 -3
  107. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  108. package/dist/esm/utils/mapOrder.js +54 -23
  109. package/dist/esm/utils/mapOrder.js.map +1 -1
  110. package/dist/esm/utils/mapPortfolioHistory.d.ts +6 -3
  111. package/dist/esm/utils/mapPortfolioHistory.d.ts.map +1 -1
  112. package/dist/esm/utils/mapPortfolioHistory.js +34 -19
  113. package/dist/esm/utils/mapPortfolioHistory.js.map +1 -1
  114. package/dist/esm/utils/mapPosition.d.ts +13 -9
  115. package/dist/esm/utils/mapPosition.d.ts.map +1 -1
  116. package/dist/esm/utils/mapPosition.js +65 -43
  117. package/dist/esm/utils/mapPosition.js.map +1 -1
  118. package/dist/esm/utils/rowTimestamp.d.ts +6 -0
  119. package/dist/esm/utils/rowTimestamp.d.ts.map +1 -0
  120. package/dist/esm/utils/rowTimestamp.js +14 -0
  121. package/dist/esm/utils/rowTimestamp.js.map +1 -0
  122. package/dist/esm/utils/settlementPool.d.ts +2 -3
  123. package/dist/esm/utils/settlementPool.d.ts.map +1 -1
  124. package/dist/esm/utils/settlementPool.js +8 -7
  125. package/dist/esm/utils/settlementPool.js.map +1 -1
  126. package/dist/esm/utils/spotPrice.d.ts +3 -4
  127. package/dist/esm/utils/spotPrice.d.ts.map +1 -1
  128. package/dist/esm/utils/spotPrice.js +6 -8
  129. package/dist/esm/utils/spotPrice.js.map +1 -1
  130. package/dist/esm/utils/time.d.ts +10 -2
  131. package/dist/esm/utils/time.d.ts.map +1 -1
  132. package/dist/esm/utils/time.js +13 -4
  133. package/dist/esm/utils/time.js.map +1 -1
  134. package/dist/esm/utils/transferMargin.d.ts.map +1 -1
  135. package/dist/esm/utils/transferMargin.js +9 -9
  136. package/dist/esm/utils/transferMargin.js.map +1 -1
  137. package/dist/esm/utils/wireEncoding.d.ts +2 -28
  138. package/dist/esm/utils/wireEncoding.d.ts.map +1 -1
  139. package/dist/esm/utils/wireEncoding.js +2 -38
  140. package/dist/esm/utils/wireEncoding.js.map +1 -1
  141. package/dist/esm/utils/withdrawableBalances.d.ts +5 -3
  142. package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -1
  143. package/dist/esm/utils/withdrawableBalances.js +17 -17
  144. package/dist/esm/utils/withdrawableBalances.js.map +1 -1
  145. package/dist/esm/utils/withdrawalTypes.d.ts +45 -0
  146. package/dist/esm/utils/withdrawalTypes.d.ts.map +1 -0
  147. package/dist/esm/utils/withdrawalTypes.js +68 -0
  148. package/dist/esm/utils/withdrawalTypes.js.map +1 -0
  149. package/dist/esm/websocket/LighterWsProvider.d.ts.map +1 -1
  150. package/dist/esm/websocket/LighterWsProvider.js +85 -65
  151. package/dist/esm/websocket/LighterWsProvider.js.map +1 -1
  152. package/dist/esm/websocket/orderBookSide.d.ts +34 -0
  153. package/dist/esm/websocket/orderBookSide.d.ts.map +1 -0
  154. package/dist/esm/websocket/orderBookSide.js +78 -0
  155. package/dist/esm/websocket/orderBookSide.js.map +1 -0
  156. package/dist/types/LighterProvider.d.ts.map +1 -1
  157. package/dist/types/accountSummary.d.ts +1 -2
  158. package/dist/types/accountSummary.d.ts.map +1 -1
  159. package/dist/types/availableToTrade.d.ts +1 -2
  160. package/dist/types/availableToTrade.d.ts.map +1 -1
  161. package/dist/types/signers/LighterSigner.d.ts.map +1 -1
  162. package/dist/types/types/submit.d.ts +14 -0
  163. package/dist/types/types/submit.d.ts.map +1 -1
  164. package/dist/types/utils/index.d.ts +4 -4
  165. package/dist/types/utils/index.d.ts.map +1 -1
  166. package/dist/types/utils/mapFill.d.ts +1 -1
  167. package/dist/types/utils/mapFill.d.ts.map +1 -1
  168. package/dist/types/utils/mapOpenPositions.d.ts +9 -2
  169. package/dist/types/utils/mapOpenPositions.d.ts.map +1 -1
  170. package/dist/types/utils/mapOrder.d.ts +10 -3
  171. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  172. package/dist/types/utils/mapPortfolioHistory.d.ts +6 -3
  173. package/dist/types/utils/mapPortfolioHistory.d.ts.map +1 -1
  174. package/dist/types/utils/mapPosition.d.ts +13 -9
  175. package/dist/types/utils/mapPosition.d.ts.map +1 -1
  176. package/dist/types/utils/rowTimestamp.d.ts +6 -0
  177. package/dist/types/utils/rowTimestamp.d.ts.map +1 -0
  178. package/dist/types/utils/settlementPool.d.ts +2 -3
  179. package/dist/types/utils/settlementPool.d.ts.map +1 -1
  180. package/dist/types/utils/spotPrice.d.ts +3 -4
  181. package/dist/types/utils/spotPrice.d.ts.map +1 -1
  182. package/dist/types/utils/time.d.ts +10 -2
  183. package/dist/types/utils/time.d.ts.map +1 -1
  184. package/dist/types/utils/transferMargin.d.ts.map +1 -1
  185. package/dist/types/utils/wireEncoding.d.ts +2 -28
  186. package/dist/types/utils/wireEncoding.d.ts.map +1 -1
  187. package/dist/types/utils/withdrawableBalances.d.ts +5 -3
  188. package/dist/types/utils/withdrawableBalances.d.ts.map +1 -1
  189. package/dist/types/utils/withdrawalTypes.d.ts +45 -0
  190. package/dist/types/utils/withdrawalTypes.d.ts.map +1 -0
  191. package/dist/types/websocket/LighterWsProvider.d.ts.map +1 -1
  192. package/dist/types/websocket/orderBookSide.d.ts +34 -0
  193. package/dist/types/websocket/orderBookSide.d.ts.map +1 -0
  194. package/package.json +3 -3
  195. package/src/LighterProvider.ts +231 -97
  196. package/src/accountSummary.ts +62 -22
  197. package/src/availableToTrade.ts +38 -15
  198. package/src/signers/LighterSigner.ts +11 -4
  199. package/src/types/submit.ts +15 -0
  200. package/src/utils/index.ts +9 -5
  201. package/src/utils/mapFill.ts +82 -43
  202. package/src/utils/mapOpenPositions.ts +16 -5
  203. package/src/utils/mapOrder.ts +76 -26
  204. package/src/utils/mapPortfolioHistory.ts +78 -24
  205. package/src/utils/mapPosition.ts +93 -50
  206. package/src/utils/rowTimestamp.ts +15 -0
  207. package/src/utils/settlementPool.ts +36 -12
  208. package/src/utils/spotPrice.ts +18 -12
  209. package/src/utils/time.ts +14 -4
  210. package/src/utils/transferMargin.ts +32 -15
  211. package/src/utils/wireEncoding.ts +2 -43
  212. package/src/utils/withdrawableBalances.ts +34 -20
  213. package/src/utils/withdrawalTypes.ts +125 -0
  214. package/src/websocket/LighterWsProvider.ts +137 -114
  215. package/src/websocket/orderBookSide.ts +119 -0
  216. package/dist/cjs/utils/decimal.d.ts +0 -5
  217. package/dist/cjs/utils/decimal.d.ts.map +0 -1
  218. package/dist/cjs/utils/decimal.js +0 -38
  219. package/dist/cjs/utils/decimal.js.map +0 -1
  220. package/dist/cjs/utils/liquidation.d.ts +0 -4
  221. package/dist/cjs/utils/liquidation.d.ts.map +0 -1
  222. package/dist/cjs/utils/liquidation.js +0 -16
  223. package/dist/cjs/utils/liquidation.js.map +0 -1
  224. package/dist/esm/utils/decimal.d.ts +0 -15
  225. package/dist/esm/utils/decimal.d.ts.map +0 -1
  226. package/dist/esm/utils/decimal.js +0 -39
  227. package/dist/esm/utils/decimal.js.map +0 -1
  228. package/dist/esm/utils/liquidation.d.ts +0 -22
  229. package/dist/esm/utils/liquidation.d.ts.map +0 -1
  230. package/dist/esm/utils/liquidation.js +0 -31
  231. package/dist/esm/utils/liquidation.js.map +0 -1
  232. package/dist/types/utils/decimal.d.ts +0 -15
  233. package/dist/types/utils/decimal.d.ts.map +0 -1
  234. package/dist/types/utils/liquidation.d.ts +0 -22
  235. package/dist/types/utils/liquidation.d.ts.map +0 -1
  236. package/src/utils/decimal.ts +0 -52
  237. package/src/utils/liquidation.ts +0 -39
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.mapOrderUpdates = exports.mapOrder = void 0;
7
4
  const perps_sdk_1 = require("@lifi/perps-sdk");
8
5
  const perps_types_1 = require("@lifi/perps-types");
9
- const big_js_1 = __importDefault(require("big.js"));
6
+ const constants_js_1 = require("../constants.js");
7
+ const rowTimestamp_js_1 = require("./rowTimestamp.js");
10
8
  const mapOrderType = (type) => {
11
9
  switch (type.replace(/-/g, '_')) {
12
10
  case 'market':
@@ -41,7 +39,8 @@ const mapTimeInForce = (tif) => {
41
39
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Unknown Lighter time in force: ${tif}`);
42
40
  }
43
41
  };
44
- const mapOrderStatus = (order, filledSize = new big_js_1.default(order.filled_base_amount)) => {
42
+ const hasFill = (order) => (0, perps_sdk_1.safeIsDecimalStringGreaterThan)(order.filled_base_amount, '0') === true;
43
+ const mapOrderStatus = (order) => {
45
44
  switch (order.status) {
46
45
  case 'in-progress':
47
46
  return perps_types_1.OrderStatus.ACCEPTED;
@@ -51,7 +50,7 @@ const mapOrderStatus = (order, filledSize = new big_js_1.default(order.filled_ba
51
50
  if (order.trigger_status === 'parent-order') {
52
51
  return perps_types_1.OrderStatus.PENDING;
53
52
  }
54
- return filledSize.gt(0) ? perps_types_1.OrderStatus.PARTIALLY_FILLED : perps_types_1.OrderStatus.OPEN;
53
+ return hasFill(order) ? perps_types_1.OrderStatus.PARTIALLY_FILLED : perps_types_1.OrderStatus.OPEN;
55
54
  case 'triggered':
56
55
  return perps_types_1.OrderStatus.TRIGGERED;
57
56
  case 'filled':
@@ -75,10 +74,27 @@ const mapOrderStatus = (order, filledSize = new big_js_1.default(order.filled_ba
75
74
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Unknown Lighter order status: ${order.status}`);
76
75
  }
77
76
  };
77
+ const skipOrder = (marketId, field, value) => {
78
+ (0, perps_sdk_1.warnSkippedVenueRow)(constants_js_1.LIGHTER_PROVIDER_KEY, 'order', field, value, { marketId });
79
+ return undefined;
80
+ };
78
81
  const mapOrder = (order, market) => {
79
82
  const type = mapOrderType(order.type);
80
- const filledSize = new big_js_1.default(order.filled_base_amount);
81
- const status = mapOrderStatus(order, filledSize);
83
+ const createdAt = (0, rowTimestamp_js_1.rowTimestampToIsoStringOrUndefined)(order.created_at * 1000);
84
+ if (createdAt === undefined) {
85
+ return skipOrder(market.id, 'created_at', order.created_at);
86
+ }
87
+ const updatedAt = (0, rowTimestamp_js_1.rowTimestampToIsoStringOrUndefined)(order.updated_at * 1000);
88
+ if (updatedAt === undefined) {
89
+ return skipOrder(market.id, 'updated_at', order.updated_at);
90
+ }
91
+ const averagePrice = hasFill(order)
92
+ ? (0, perps_sdk_1.safeDivideDecimalString)(order.filled_quote_amount, order.filled_base_amount)
93
+ : undefined;
94
+ const expiresAt = order.order_expiry > 0
95
+ ? (0, perps_sdk_1.safeTimestampToIsoString)(order.order_expiry)
96
+ : undefined;
97
+ const status = mapOrderStatus(order);
82
98
  const base = {
83
99
  orderId: String(order.order_index),
84
100
  ...(order.client_order_index === 0
@@ -91,17 +107,11 @@ const mapOrder = (order, market) => {
91
107
  originalSize: order.initial_base_amount,
92
108
  remainingSize: order.remaining_base_amount,
93
109
  filledSize: order.filled_base_amount,
94
- ...(filledSize.gt(0)
95
- ? {
96
- averagePrice: new big_js_1.default(order.filled_quote_amount)
97
- .div(filledSize)
98
- .toFixed(),
99
- }
100
- : {}),
110
+ ...(averagePrice === undefined ? {} : { averagePrice }),
101
111
  reduceOnly: order.reduce_only,
102
112
  ...(order.parent_order_id ? { parentOrderId: order.parent_order_id } : {}),
103
- createdAt: new Date(order.created_at * 1000).toISOString(),
104
- updatedAt: new Date(order.updated_at * 1000).toISOString(),
113
+ createdAt,
114
+ updatedAt,
105
115
  };
106
116
  switch (type) {
107
117
  case perps_types_1.OrderType.TWAP:
@@ -114,7 +124,7 @@ const mapOrder = (order, market) => {
114
124
  case perps_types_1.OrderType.STOP_MARKET:
115
125
  case perps_types_1.OrderType.STOP_LIMIT:
116
126
  case perps_types_1.OrderType.TAKE_PROFIT_MARKET:
117
- case perps_types_1.OrderType.TAKE_PROFIT_LIMIT:
127
+ case perps_types_1.OrderType.TAKE_PROFIT_LIMIT: {
118
128
  return {
119
129
  ...base,
120
130
  type,
@@ -125,6 +135,7 @@ const mapOrder = (order, market) => {
125
135
  ? { limitPrice: order.price }
126
136
  : {}),
127
137
  };
138
+ }
128
139
  case perps_types_1.OrderType.MARKET:
129
140
  case perps_types_1.OrderType.LIMIT:
130
141
  return {
@@ -132,9 +143,7 @@ const mapOrder = (order, market) => {
132
143
  type,
133
144
  price: order.price,
134
145
  timeInForce: mapTimeInForce(order.time_in_force),
135
- ...(order.order_expiry > 0
136
- ? { expiresAt: new Date(order.order_expiry).toISOString() }
137
- : {}),
146
+ ...(expiresAt === undefined ? {} : { expiresAt }),
138
147
  };
139
148
  }
140
149
  };
@@ -144,8 +153,20 @@ const mapOrderUpdates = (rawOrders, resolveMarket) => {
144
153
  const terminated = [];
145
154
  for (const raw of rawOrders) {
146
155
  const market = resolveMarket(raw.market_index);
147
- const order = market === undefined ? undefined : (0, exports.mapOrder)(raw, market);
148
- if (!(0, perps_sdk_1.isActiveOrderStatus)(order?.status ?? mapOrderStatus(raw))) {
156
+ let order;
157
+ let status;
158
+ try {
159
+ order = market === undefined ? undefined : (0, exports.mapOrder)(raw, market);
160
+ status = order?.status ?? mapOrderStatus(raw);
161
+ }
162
+ catch (error) {
163
+ if (!(error instanceof perps_sdk_1.PerpsError)) {
164
+ throw error;
165
+ }
166
+ perps_sdk_1.wsLog.droppedRow(constants_js_1.LIGHTER_PROVIDER_KEY, 'order', `${raw.order_index}: ${error.message}`);
167
+ continue;
168
+ }
169
+ if (!(0, perps_sdk_1.isActiveOrderStatus)(status)) {
149
170
  terminated.push(String(raw.order_index));
150
171
  }
151
172
  if (order !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import type { PortfolioHistoryRange, PortfolioHistoryResponse } from '@lifi/perps-types';
2
- import Big from 'big.js';
3
2
  import type { LtPnLEntry } from '../types/pnl.js';
4
- export declare const mapPortfolioHistory: (range: PortfolioHistoryRange, snapshots: LtPnLEntry[], currentValue: Big) => PortfolioHistoryResponse;
3
+ export declare const mapPortfolioHistory: (range: PortfolioHistoryRange, snapshots: LtPnLEntry[], currentValue: string) => PortfolioHistoryResponse;
5
4
  //# sourceMappingURL=mapPortfolioHistory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapPortfolioHistory.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPortfolioHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAiBjD,eAAO,MAAM,mBAAmB,GAC9B,OAAO,qBAAqB,EAC5B,WAAW,UAAU,EAAE,EACvB,cAAc,GAAG,KAChB,wBAwCF,CAAA"}
1
+ {"version":3,"file":"mapPortfolioHistory.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPortfolioHistory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AA+DjD,eAAO,MAAM,mBAAmB,GAC9B,OAAO,qBAAqB,EAC5B,WAAW,UAAU,EAAE,EACvB,cAAc,MAAM,KACnB,wBA0CF,CAAA"}
@@ -1,21 +1,36 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.mapPortfolioHistory = void 0;
7
- const big_js_1 = __importDefault(require("big.js"));
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const constants_js_1 = require("../constants.js");
6
+ const SNAPSHOT_DECIMAL_FIELDS = [
7
+ 'trade_pnl',
8
+ 'trade_spot_pnl',
9
+ 'inflow',
10
+ 'outflow',
11
+ 'spot_inflow',
12
+ 'spot_outflow',
13
+ 'volume',
14
+ ];
15
+ const snapshotDecimal = (snapshot, field) => (0, perps_sdk_1.numberToDecimalString)(snapshot[field]);
16
+ function isValidSnapshot(snapshot) {
17
+ const invalid = SNAPSHOT_DECIMAL_FIELDS.find((field) => !Number.isFinite(snapshot[field]));
18
+ if (invalid === undefined) {
19
+ return true;
20
+ }
21
+ (0, perps_sdk_1.warnSkippedVenueRow)(constants_js_1.LIGHTER_PROVIDER_KEY, 'portfolio history', invalid, snapshot[invalid]);
22
+ return false;
23
+ }
8
24
  function getCumulativePnl(snapshot) {
9
- return new big_js_1.default(snapshot.trade_pnl).plus(snapshot.trade_spot_pnl);
25
+ return (0, perps_sdk_1.addDecimalString)(snapshotDecimal(snapshot, 'trade_pnl'), snapshotDecimal(snapshot, 'trade_spot_pnl'));
10
26
  }
11
27
  function getCumulativeNetFlow(snapshot) {
12
- return new big_js_1.default(snapshot.inflow)
13
- .minus(snapshot.outflow)
14
- .plus(snapshot.spot_inflow)
15
- .minus(snapshot.spot_outflow);
28
+ return (0, perps_sdk_1.subtractDecimalString)((0, perps_sdk_1.addDecimalString)((0, perps_sdk_1.subtractDecimalString)(snapshotDecimal(snapshot, 'inflow'), snapshotDecimal(snapshot, 'outflow')), snapshotDecimal(snapshot, 'spot_inflow')), snapshotDecimal(snapshot, 'spot_outflow'));
16
29
  }
17
30
  const mapPortfolioHistory = (range, snapshots, currentValue) => {
18
- const orderedSnapshots = [...snapshots].sort((a, b) => a.timestamp - b.timestamp);
31
+ const orderedSnapshots = snapshots
32
+ .filter(isValidSnapshot)
33
+ .sort((a, b) => a.timestamp - b.timestamp);
19
34
  const firstSnapshot = orderedSnapshots[0];
20
35
  const latestSnapshot = orderedSnapshots.at(-1);
21
36
  if (!firstSnapshot || !latestSnapshot) {
@@ -28,26 +43,19 @@ const mapPortfolioHistory = (range, snapshots, currentValue) => {
28
43
  }
29
44
  const firstPnl = getCumulativePnl(firstSnapshot);
30
45
  const latestPnl = getCumulativePnl(latestSnapshot);
31
- const accountValueOffset = currentValue
32
- .minus(latestPnl)
33
- .minus(getCumulativeNetFlow(latestSnapshot));
46
+ const accountValueOffset = (0, perps_sdk_1.subtractDecimalString)((0, perps_sdk_1.subtractDecimalString)(currentValue, latestPnl), getCumulativeNetFlow(latestSnapshot));
34
47
  const points = orderedSnapshots.map((snapshot) => {
35
48
  const pnl = getCumulativePnl(snapshot);
36
49
  return {
37
50
  timestamp: snapshot.timestamp * 1_000,
38
- accountValue: accountValueOffset
39
- .plus(pnl)
40
- .plus(getCumulativeNetFlow(snapshot))
41
- .toFixed(),
42
- pnl: pnl.minus(firstPnl).toFixed(),
51
+ accountValue: (0, perps_sdk_1.addDecimalString)((0, perps_sdk_1.addDecimalString)(accountValueOffset, pnl), getCumulativeNetFlow(snapshot)),
52
+ pnl: (0, perps_sdk_1.subtractDecimalString)(pnl, firstPnl),
43
53
  };
44
54
  });
45
55
  return {
46
56
  range,
47
57
  points,
48
- volume: new big_js_1.default(latestSnapshot.volume)
49
- .minus(firstSnapshot.volume)
50
- .toFixed(),
58
+ volume: (0, perps_sdk_1.subtractDecimalString)(snapshotDecimal(latestSnapshot, 'volume'), snapshotDecimal(firstSnapshot, 'volume')),
51
59
  totalPnl: points.at(-1)?.pnl,
52
60
  };
53
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapPortfolioHistory.js","sourceRoot":"","sources":["../../../src/utils/mapPortfolioHistory.ts"],"names":[],"mappings":";;;;;;AAIA,oDAAwB;AAGxB,SAAS,gBAAgB,CAAC,QAAoB;IAC5C,OAAO,IAAI,gBAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAoB;IAChD,OAAO,IAAI,gBAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;SAC5B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;SACvB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC1B,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AACjC,CAAC;AAMM,MAAM,mBAAmB,GAAG,CACjC,KAA4B,EAC5B,SAAuB,EACvB,YAAiB,EACS,EAAE;IAC5B,MAAM,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CACpC,CAAA;IACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;IACzC,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,OAAO;YACL,KAAK;YACL,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,SAAS;SACpB,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAA;IAClD,MAAM,kBAAkB,GAAG,YAAY;SACpC,KAAK,CAAC,SAAS,CAAC;SAChB,KAAK,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACtC,OAAO;YACL,SAAS,EAAE,QAAQ,CAAC,SAAS,GAAG,KAAK;YACrC,YAAY,EAAE,kBAAkB;iBAC7B,IAAI,CAAC,GAAG,CAAC;iBACT,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;iBACpC,OAAO,EAAE;YACZ,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;SACnC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,KAAK;QACL,MAAM;QACN,MAAM,EAAE,IAAI,gBAAG,CAAC,cAAc,CAAC,MAAM,CAAC;aACnC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;aAC3B,OAAO,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG;KAC7B,CAAA;AACH,CAAC,CAAA;AA5CY,QAAA,mBAAmB,uBA4C/B"}
1
+ {"version":3,"file":"mapPortfolioHistory.js","sourceRoot":"","sources":["../../../src/utils/mapPortfolioHistory.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { PerpsMarketDisplay, Position } from '@lifi/perps-types';
2
2
  import type { LtAccountPosition } from '../types/index.js';
3
- export declare const leverageFromImf: (imf: string) => number | undefined;
4
- export declare const leverageFromScaledImf: (imf: number) => number | undefined;
5
- export declare const mapPosition: (pos: LtAccountPosition, market: PerpsMarketDisplay) => Position;
3
+ export declare const leverageFromImf: (imf: string) => string | undefined;
4
+ export declare const leverageFromScaledImf: (imf: number) => string | undefined;
5
+ export declare const mapPosition: (pos: LtAccountPosition, market: PerpsMarketDisplay) => Position | undefined;
6
6
  //# sourceMappingURL=mapPosition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAOrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAY1D,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SActD,CAAA;AAQD,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAQ5D,CAAA;AAOD,eAAO,MAAM,WAAW,GACtB,KAAK,iBAAiB,EACtB,QAAQ,kBAAkB,KACzB,QAiCF,CAAA"}
1
+ {"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAOrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAW1D,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAQtD,CAAA;AAQD,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO5D,CAAA;AA+BD,eAAO,MAAM,WAAW,GACtB,KAAK,iBAAiB,EACtB,QAAQ,kBAAkB,KACzB,QAAQ,GAAG,SA+Cb,CAAA"}
@@ -1,65 +1,80 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.mapPosition = exports.leverageFromScaledImf = exports.leverageFromImf = void 0;
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
7
5
  const perps_types_1 = require("@lifi/perps-types");
8
- const big_js_1 = __importDefault(require("big.js"));
9
6
  const constants_js_1 = require("../constants.js");
10
7
  const index_js_1 = require("../types/index.js");
11
- const decimal_js_1 = require("./decimal.js");
12
8
  const leverageFromImf = (imf) => {
13
- let parsed;
14
- try {
15
- parsed = new big_js_1.default(imf);
16
- }
17
- catch {
18
- return undefined;
19
- }
20
- if (parsed.lte(0)) {
9
+ if ((0, perps_sdk_1.safeIsDecimalStringGreaterThan)(imf, '0') !== true) {
21
10
  return undefined;
22
11
  }
23
- return new big_js_1.default(100)
24
- .div(parsed)
25
- .round(constants_js_1.LIGHTER_LEVERAGE_PRECISION, big_js_1.default.roundHalfUp)
26
- .toNumber();
12
+ const leverage = (0, perps_sdk_1.safeDivideDecimalString)('100', imf);
13
+ return leverage === undefined
14
+ ? undefined
15
+ : (0, perps_sdk_1.safeRoundDecimalString)(leverage, constants_js_1.LIGHTER_LEVERAGE_PRECISION, 'round');
27
16
  };
28
17
  exports.leverageFromImf = leverageFromImf;
29
18
  const leverageFromScaledImf = (imf) => {
30
- let percent;
31
- try {
32
- percent = new big_js_1.default(imf).div(constants_js_1.LIGHTER_IMF_PERCENT_SCALE).toFixed();
33
- }
34
- catch {
35
- return undefined;
36
- }
37
- return (0, exports.leverageFromImf)(percent);
19
+ const scaled = (0, perps_sdk_1.safeNumberToDecimalString)(imf);
20
+ const percent = scaled === undefined
21
+ ? undefined
22
+ : (0, perps_sdk_1.safeDivideDecimalString)(scaled, String(constants_js_1.LIGHTER_IMF_PERCENT_SCALE));
23
+ return percent === undefined ? undefined : (0, exports.leverageFromImf)(percent);
38
24
  };
39
25
  exports.leverageFromScaledImf = leverageFromScaledImf;
26
+ const skipPosition = (marketId, field, value) => {
27
+ (0, perps_sdk_1.warnSkippedVenueRow)(constants_js_1.LIGHTER_PROVIDER_KEY, 'position', field, value, {
28
+ marketId,
29
+ });
30
+ return undefined;
31
+ };
32
+ const warnUnreadableFieldOnce = (0, perps_sdk_1.createWarnOnce)();
33
+ const warnUnreadableField = (field, value) => {
34
+ warnUnreadableFieldOnce(`${constants_js_1.LIGHTER_PROVIDER_KEY}|position.${field}`, `[${constants_js_1.LIGHTER_PROVIDER_KEY}] position \`${field}\` is not readable, so the derived fields are absent: '${String(value).slice(0, 64)}'`);
35
+ };
40
36
  const mapPosition = (pos, market) => {
41
- const size = (0, decimal_js_1.toRequiredBig)(pos.position, 'position');
37
+ if (!(0, perps_sdk_1.isDecimalString)(pos.position)) {
38
+ return skipPosition(market.id, 'position', pos.position);
39
+ }
42
40
  const isIsolated = pos.margin_mode === index_js_1.LT_MARGIN_MODE_ISOLATED;
43
- const positionValue = (0, decimal_js_1.toRequiredBig)(pos.position_value, 'position_value').abs();
44
- const imf = (0, decimal_js_1.toPositiveRequiredBig)(pos.initial_margin_fraction, 'initial_margin_fraction');
45
- const initialMarginRequirement = positionValue.times(imf).div(100);
46
- const marginUsed = isIsolated
47
- ? pos.allocated_margin
48
- : initialMarginRequirement.toFixed();
41
+ const size = (0, perps_sdk_1.absDecimalString)(pos.position);
42
+ const positionValue = (0, perps_sdk_1.isDecimalString)(pos.position_value)
43
+ ? (0, perps_sdk_1.absDecimalString)(pos.position_value)
44
+ : undefined;
45
+ if (positionValue === undefined) {
46
+ warnUnreadableField('position_value', pos.position_value);
47
+ }
48
+ const imf = pos.initial_margin_fraction;
49
+ const leverage = (0, perps_sdk_1.isDecimalString)(imf) ? (0, exports.leverageFromImf)(imf) : undefined;
50
+ if (leverage === undefined) {
51
+ warnUnreadableField('initial_margin_fraction', imf);
52
+ }
53
+ const initialMarginRequirement = positionValue === undefined || leverage === undefined
54
+ ? undefined
55
+ : (0, perps_sdk_1.divideDecimalString)((0, perps_sdk_1.multiplyDecimalString)(positionValue, imf), '100');
49
56
  return {
50
57
  market,
51
58
  side: pos.sign >= 0 ? perps_types_1.PositionSide.LONG : perps_types_1.PositionSide.SHORT,
52
- size: size.abs().toFixed(),
59
+ size,
53
60
  entryPrice: pos.avg_entry_price,
54
- markPrice: positionValue.eq(0) || size.eq(0)
55
- ? '0'
56
- : positionValue.div(size.abs()).toFixed(),
61
+ ...(positionValue === undefined
62
+ ? {}
63
+ : {
64
+ markPrice: (0, perps_sdk_1.isDecimalStringZero)(positionValue) || (0, perps_sdk_1.isDecimalStringZero)(size)
65
+ ? '0'
66
+ : (0, perps_sdk_1.divideDecimalString)(positionValue, size),
67
+ }),
57
68
  liquidationPrice: pos.liquidation_price,
58
69
  unrealizedPnl: pos.unrealized_pnl,
59
70
  accruedFunding: pos.total_funding_paid_out ?? '0',
60
- leverage: (0, exports.leverageFromImf)(pos.initial_margin_fraction) ?? 1,
61
- marginUsed,
62
- initialMarginRequirement: initialMarginRequirement.toFixed(),
71
+ ...(leverage === undefined ? {} : { leverage }),
72
+ marginUsed: isIsolated
73
+ ? pos.allocated_margin
74
+ : (initialMarginRequirement ?? '0'),
75
+ ...(initialMarginRequirement === undefined
76
+ ? {}
77
+ : { initialMarginRequirement }),
63
78
  marginMode: isIsolated ? perps_types_1.MarginMode.ISOLATED : perps_types_1.MarginMode.CROSS,
64
79
  };
65
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const rowTimestampToIsoStringOrUndefined: (value: string | number) => string | undefined;
2
+ //# sourceMappingURL=rowTimestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowTimestamp.d.ts","sourceRoot":"","sources":["../../../src/utils/rowTimestamp.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kCAAkC,GAC7C,OAAO,MAAM,GAAG,MAAM,KACrB,MAAM,GAAG,SAMX,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rowTimestampToIsoStringOrUndefined = void 0;
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const rowTimestampToIsoStringOrUndefined = (value) => {
6
+ try {
7
+ return (0, perps_sdk_1.timestampToIsoString)(value);
8
+ }
9
+ catch {
10
+ return undefined;
11
+ }
12
+ };
13
+ exports.rowTimestampToIsoStringOrUndefined = rowTimestampToIsoStringOrUndefined;
14
+ //# sourceMappingURL=rowTimestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowTimestamp.js","sourceRoot":"","sources":["../../../src/utils/rowTimestamp.ts"],"names":[],"mappings":";;;AAAA,+CAAsD;AAM/C,MAAM,kCAAkC,GAAG,CAChD,KAAsB,EACF,EAAE;IACtB,IAAI,CAAC;QACH,OAAO,IAAA,gCAAoB,EAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AARY,QAAA,kCAAkC,sCAQ9C"}
@@ -1,6 +1,5 @@
1
- import type Big from 'big.js';
2
1
  import type { LtAccountAsset } from '../types/account.js';
3
- export declare const pooledSettlementUnits: (asset: LtAccountAsset) => Big;
4
- export declare const pooledSettlementSpendable: (asset: LtAccountAsset, availableBalance: Big) => Big;
2
+ export declare const pooledSettlementUnits: (asset: LtAccountAsset) => string;
3
+ export declare const pooledSettlementSpendable: (asset: LtAccountAsset, availableBalance: string) => string;
5
4
  export declare const collateralSpotBalance: (assets: readonly LtAccountAsset[], settlementAssetIndex: number) => string;
6
5
  //# sourceMappingURL=settlementPool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settlementPool.d.ts","sourceRoot":"","sources":["../../../src/utils/settlementPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIzD,eAAO,MAAM,qBAAqB,GAAI,OAAO,cAAc,KAAG,GAG3D,CAAA;AAQH,eAAO,MAAM,yBAAyB,GACpC,OAAO,cAAc,EACrB,kBAAkB,GAAG,KACpB,GAKF,CAAA;AAGD,eAAO,MAAM,qBAAqB,GAChC,QAAQ,SAAS,cAAc,EAAE,EACjC,sBAAsB,MAAM,KAC3B,MAKF,CAAA"}
1
+ {"version":3,"file":"settlementPool.d.ts","sourceRoot":"","sources":["../../../src/utils/settlementPool.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,eAAO,MAAM,qBAAqB,GAAI,OAAO,cAAc,KAAG,MAQ3D,CAAA;AAQH,eAAO,MAAM,yBAAyB,GACpC,OAAO,cAAc,EACrB,kBAAkB,MAAM,KACvB,MAmBF,CAAA;AAGD,eAAO,MAAM,qBAAqB,GAChC,QAAQ,SAAS,cAAc,EAAE,EACjC,sBAAsB,MAAM,KAC3B,MAKF,CAAA"}
@@ -1,21 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.collateralSpotBalance = exports.pooledSettlementSpendable = exports.pooledSettlementUnits = void 0;
4
- const decimal_js_1 = require("./decimal.js");
5
- const pooledSettlementUnits = (asset) => (0, decimal_js_1.toRequiredBig)(asset.balance, 'balance').plus((0, decimal_js_1.toRequiredBig)(asset.margin_balance, 'margin_balance'));
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const constants_js_1 = require("../constants.js");
6
+ const pooledSettlementUnits = (asset) => (0, perps_sdk_1.addDecimalString)((0, perps_sdk_1.unknownToDecimalString)(asset.balance, 'balance', constants_js_1.LIGHTER_PROVIDER_KEY), (0, perps_sdk_1.unknownToDecimalString)(asset.margin_balance, 'margin_balance', constants_js_1.LIGHTER_PROVIDER_KEY));
6
7
  exports.pooledSettlementUnits = pooledSettlementUnits;
7
8
  const pooledSettlementSpendable = (asset, availableBalance) => {
8
- const marginBalance = (0, decimal_js_1.toRequiredBig)(asset.margin_balance, 'margin_balance');
9
- return (0, decimal_js_1.toRequiredBig)(asset.balance, 'balance')
10
- .minus((0, decimal_js_1.toRequiredBig)(asset.locked_balance, 'locked_balance'))
11
- .plus(marginBalance.lt(availableBalance) ? marginBalance : availableBalance);
9
+ const marginBalance = (0, perps_sdk_1.unknownToDecimalString)(asset.margin_balance, 'margin_balance', constants_js_1.LIGHTER_PROVIDER_KEY);
10
+ return (0, perps_sdk_1.addDecimalString)((0, perps_sdk_1.subtractDecimalString)((0, perps_sdk_1.unknownToDecimalString)(asset.balance, 'balance', constants_js_1.LIGHTER_PROVIDER_KEY), (0, perps_sdk_1.unknownToDecimalString)(asset.locked_balance, 'locked_balance', constants_js_1.LIGHTER_PROVIDER_KEY)), (0, perps_sdk_1.isDecimalStringGreaterThan)(marginBalance, availableBalance)
11
+ ? availableBalance
12
+ : marginBalance);
12
13
  };
13
14
  exports.pooledSettlementSpendable = pooledSettlementSpendable;
14
15
  const collateralSpotBalance = (assets, settlementAssetIndex) => {
15
16
  const asset = assets.find((a) => a.asset_id === settlementAssetIndex);
16
17
  return asset === undefined
17
18
  ? '0'
18
- : (0, decimal_js_1.toRequiredBig)(asset.balance, 'balance').toFixed();
19
+ : (0, perps_sdk_1.unknownToDecimalString)(asset.balance, 'balance', constants_js_1.LIGHTER_PROVIDER_KEY);
19
20
  };
20
21
  exports.collateralSpotBalance = collateralSpotBalance;
21
22
  //# sourceMappingURL=settlementPool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settlementPool.js","sourceRoot":"","sources":["../../../src/utils/settlementPool.ts"],"names":[],"mappings":";;;AAEA,6CAA4C;AAGrC,MAAM,qBAAqB,GAAG,CAAC,KAAqB,EAAO,EAAE,CAClE,IAAA,0BAAa,EAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAC1C,IAAA,0BAAa,EAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACtD,CAAA;AAHU,QAAA,qBAAqB,yBAG/B;AAQI,MAAM,yBAAyB,GAAG,CACvC,KAAqB,EACrB,gBAAqB,EAChB,EAAE;IACP,MAAM,aAAa,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;IAC3E,OAAO,IAAA,0BAAa,EAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC;SAC3C,KAAK,CAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;SAC5D,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;AAChF,CAAC,CAAA;AARY,QAAA,yBAAyB,6BAQrC;AAGM,MAAM,qBAAqB,GAAG,CACnC,MAAiC,EACjC,oBAA4B,EACpB,EAAE;IACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,oBAAoB,CAAC,CAAA;IACrE,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;AACvD,CAAC,CAAA;AARY,QAAA,qBAAqB,yBAQjC"}
1
+ {"version":3,"file":"settlementPool.js","sourceRoot":"","sources":["../../../src/utils/settlementPool.ts"],"names":[],"mappings":";;;AAAA,+CAKwB;AACxB,kDAAsD;AAI/C,MAAM,qBAAqB,GAAG,CAAC,KAAqB,EAAU,EAAE,CACrE,IAAA,4BAAgB,EACd,IAAA,kCAAsB,EAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,mCAAoB,CAAC,EACtE,IAAA,kCAAsB,EACpB,KAAK,CAAC,cAAc,EACpB,gBAAgB,EAChB,mCAAoB,CACrB,CACF,CAAA;AARU,QAAA,qBAAqB,yBAQ/B;AAQI,MAAM,yBAAyB,GAAG,CACvC,KAAqB,EACrB,gBAAwB,EAChB,EAAE;IACV,MAAM,aAAa,GAAG,IAAA,kCAAsB,EAC1C,KAAK,CAAC,cAAc,EACpB,gBAAgB,EAChB,mCAAoB,CACrB,CAAA;IACD,OAAO,IAAA,4BAAgB,EACrB,IAAA,iCAAqB,EACnB,IAAA,kCAAsB,EAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,mCAAoB,CAAC,EACtE,IAAA,kCAAsB,EACpB,KAAK,CAAC,cAAc,EACpB,gBAAgB,EAChB,mCAAoB,CACrB,CACF,EACD,IAAA,sCAA0B,EAAC,aAAa,EAAE,gBAAgB,CAAC;QACzD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,aAAa,CAClB,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,yBAAyB,6BAsBrC;AAGM,MAAM,qBAAqB,GAAG,CACnC,MAAiC,EACjC,oBAA4B,EACpB,EAAE;IACV,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,oBAAoB,CAAC,CAAA;IACrE,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,IAAA,kCAAsB,EAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,mCAAoB,CAAC,CAAA;AAC5E,CAAC,CAAA;AARY,QAAA,qBAAqB,yBAQjC"}
@@ -1,8 +1,7 @@
1
1
  import type { Market, MarketContext } from '@lifi/perps-types';
2
- import Big from 'big.js';
3
- export declare const spotPriceByAssetId: (markets: readonly Market[], spotCategoryId: string, contexts: readonly MarketContext[], assetIds: ReadonlySet<string>) => Map<string, Big>;
4
- export declare const spotValuation: (assetId: number, units: string, settlementAssetIndex: number, spotPrices: ReadonlyMap<string, Big>) => {
2
+ export declare const spotPriceByAssetId: (markets: readonly Market[], spotCategoryId: string, contexts: readonly MarketContext[], assetIds: ReadonlySet<string>) => Map<string, string>;
3
+ export declare const spotValuation: (assetId: number, units: string, settlementAssetIndex: number, spotPrices: ReadonlyMap<string, string>) => {
5
4
  valueUsd: string;
6
- price?: Big;
5
+ price?: string;
7
6
  };
8
7
  //# sourceMappingURL=spotPrice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spotPrice.d.ts","sourceRoot":"","sources":["../../../src/utils/spotPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,GAAG,MAAM,QAAQ,CAAA;AAaxB,eAAO,MAAM,kBAAkB,GAC7B,SAAS,SAAS,MAAM,EAAE,EAC1B,gBAAgB,MAAM,EACtB,UAAU,SAAS,aAAa,EAAE,EAClC,UAAU,WAAW,CAAC,MAAM,CAAC,KAC5B,GAAG,CAAC,MAAM,EAAE,GAAG,CAmBjB,CAAA;AAOD,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,sBAAsB,MAAM,EAC5B,YAAY,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,KACnC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAA;CAQjC,CAAA"}
1
+ {"version":3,"file":"spotPrice.d.ts","sourceRoot":"","sources":["../../../src/utils/spotPrice.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAa9D,eAAO,MAAM,kBAAkB,GAC7B,SAAS,SAAS,MAAM,EAAE,EAC1B,gBAAgB,MAAM,EACtB,UAAU,SAAS,aAAa,EAAE,EAClC,UAAU,WAAW,CAAC,MAAM,CAAC,KAC5B,GAAG,CAAC,MAAM,EAAE,MAAM,CAuBpB,CAAA;AAOD,eAAO,MAAM,aAAa,GACxB,SAAS,MAAM,EACf,OAAO,MAAM,EACb,sBAAsB,MAAM,EAC5B,YAAY,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KACtC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAMpC,CAAA"}
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.spotValuation = exports.spotPriceByAssetId = void 0;
7
- const big_js_1 = __importDefault(require("big.js"));
8
- const decimal_js_1 = require("./decimal.js");
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const constants_js_1 = require("../constants.js");
9
6
  const spotPriceByAssetId = (markets, spotCategoryId, contexts, assetIds) => {
10
7
  const markByMarketId = new Map(contexts.map((c) => [c.marketId, c.markPrice]));
11
8
  const priceByAssetId = new Map();
@@ -17,8 +14,8 @@ const spotPriceByAssetId = (markets, spotCategoryId, contexts, assetIds) => {
17
14
  priceByAssetId.has(market.baseAsset.id)) {
18
15
  continue;
19
16
  }
20
- const price = (0, decimal_js_1.toRequiredBig)(mark, 'markPrice');
21
- if (price.gt(0)) {
17
+ const price = (0, perps_sdk_1.unknownToDecimalString)(mark, 'markPrice', constants_js_1.LIGHTER_PROVIDER_KEY);
18
+ if ((0, perps_sdk_1.isDecimalStringGreaterThan)(price, '0')) {
22
19
  priceByAssetId.set(market.baseAsset.id, price);
23
20
  }
24
21
  }
@@ -26,12 +23,10 @@ const spotPriceByAssetId = (markets, spotCategoryId, contexts, assetIds) => {
26
23
  };
27
24
  exports.spotPriceByAssetId = spotPriceByAssetId;
28
25
  const spotValuation = (assetId, units, settlementAssetIndex, spotPrices) => {
29
- const price = assetId === settlementAssetIndex
30
- ? new big_js_1.default(1)
31
- : spotPrices.get(String(assetId));
26
+ const price = assetId === settlementAssetIndex ? '1' : spotPrices.get(String(assetId));
32
27
  return price === undefined
33
28
  ? { valueUsd: '0' }
34
- : { valueUsd: new big_js_1.default(units).times(price).toFixed(), price };
29
+ : { valueUsd: (0, perps_sdk_1.multiplyDecimalString)(units, price), price };
35
30
  };
36
31
  exports.spotValuation = spotValuation;
37
32
  //# sourceMappingURL=spotPrice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spotPrice.js","sourceRoot":"","sources":["../../../src/utils/spotPrice.ts"],"names":[],"mappings":";;;;;;AACA,oDAAwB;AACxB,6CAA4C;AAYrC,MAAM,kBAAkB,GAAG,CAChC,OAA0B,EAC1B,cAAsB,EACtB,QAAkC,EAClC,QAA6B,EACX,EAAE;IACpB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC9E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAe,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1C,IACE,MAAM,CAAC,UAAU,KAAK,cAAc;YACpC,IAAI,KAAK,SAAS;YAClB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EACvC,CAAC;YACD,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,0BAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC9C,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAxBY,QAAA,kBAAkB,sBAwB9B;AAOM,MAAM,aAAa,GAAG,CAC3B,OAAe,EACf,KAAa,EACb,oBAA4B,EAC5B,UAAoC,EACD,EAAE;IACrC,MAAM,KAAK,GACT,OAAO,KAAK,oBAAoB;QAC9B,CAAC,CAAC,IAAI,gBAAG,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IACrC,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;QACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAA;AAChE,CAAC,CAAA;AAbY,QAAA,aAAa,iBAazB"}
1
+ {"version":3,"file":"spotPrice.js","sourceRoot":"","sources":["../../../src/utils/spotPrice.ts"],"names":[],"mappings":";;;AAAA,+CAIwB;AAExB,kDAAsD;AAY/C,MAAM,kBAAkB,GAAG,CAChC,OAA0B,EAC1B,cAAsB,EACtB,QAAkC,EAClC,QAA6B,EACR,EAAE;IACvB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC9E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAChD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1C,IACE,MAAM,CAAC,UAAU,KAAK,cAAc;YACpC,IAAI,KAAK,SAAS;YAClB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EACvC,CAAC;YACD,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,kCAAsB,EAClC,IAAI,EACJ,WAAW,EACX,mCAAoB,CACrB,CAAA;QACD,IAAI,IAAA,sCAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3C,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AA5BY,QAAA,kBAAkB,sBA4B9B;AAOM,MAAM,aAAa,GAAG,CAC3B,OAAe,EACf,KAAa,EACb,oBAA4B,EAC5B,UAAuC,EACD,EAAE;IACxC,MAAM,KAAK,GACT,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1E,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;QACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAA,iCAAqB,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAA;AAC9D,CAAC,CAAA;AAXY,QAAA,aAAa,iBAWzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/utils/time.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,MACX,CAAA;AAGxC,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,MAAoC,CAAA"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/utils/time.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,MACb,CAAA;AAOtC,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,KAAG,MAAkC,CAAA"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toIsoFromMs = exports.toIsoFromSeconds = void 0;
4
- const toIsoFromSeconds = (seconds) => new Date(seconds * 1000).toISOString();
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const toIsoFromSeconds = (seconds) => (0, perps_sdk_1.timestampToIsoString)(seconds * 1000);
5
6
  exports.toIsoFromSeconds = toIsoFromSeconds;
6
- const toIsoFromMs = (ms) => new Date(ms).toISOString();
7
+ const toIsoFromMs = (ms) => (0, perps_sdk_1.timestampToIsoString)(ms);
7
8
  exports.toIsoFromMs = toIsoFromMs;
8
9
  //# sourceMappingURL=time.js.map