@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 +1 @@
1
- {"version":3,"file":"LighterWsProvider.js","sourceRoot":"","sources":["../../../src/websocket/LighterWsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LighterWsProvider.js","sourceRoot":"","sources":["../../../src/websocket/LighterWsProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { LtWsOrderBook } from '../types/index.js';
2
+ export type PriceOrder = (a: string, b: string) => number;
3
+ export declare const bidOrder: PriceOrder;
4
+ export declare const askOrder: PriceOrder;
5
+ export declare class OrderBookSide {
6
+ private readonly order;
7
+ private readonly providerKey;
8
+ private readonly marketId;
9
+ private readonly byPrice;
10
+ private readonly levels;
11
+ constructor(order: PriceOrder, providerKey: string, marketId: string);
12
+ apply(updates: LtWsOrderBook['bids']): void;
13
+ toLevels(): Array<{
14
+ price: string;
15
+ size: string;
16
+ }>;
17
+ private remove;
18
+ private bound;
19
+ }
20
+ //# sourceMappingURL=orderBookSide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderBookSide.d.ts","sourceRoot":"","sources":["../../../src/websocket/orderBookSide.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAOtD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAEzD,eAAO,MAAM,QAAQ,EAAE,UAAkD,CAAA;AACzE,eAAO,MAAM,QAAQ,EAAE,UAAkD,CAAA;AAWzE,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAGtB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM;IAQnC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI;IA4C3C,QAAQ,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlD,OAAO,CAAC,MAAM;IAed,OAAO,CAAC,KAAK;CAad"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderBookSide = exports.askOrder = exports.bidOrder = void 0;
4
+ const perps_sdk_1 = require("@lifi/perps-sdk");
5
+ const bidOrder = (a, b) => (0, perps_sdk_1.compareDecimalStrings)(b, a);
6
+ exports.bidOrder = bidOrder;
7
+ const askOrder = (a, b) => (0, perps_sdk_1.compareDecimalStrings)(a, b);
8
+ exports.askOrder = askOrder;
9
+ class OrderBookSide {
10
+ order;
11
+ providerKey;
12
+ marketId;
13
+ byPrice = new Map();
14
+ levels = [];
15
+ constructor(order, providerKey, marketId) {
16
+ this.order = order;
17
+ this.providerKey = providerKey;
18
+ this.marketId = marketId;
19
+ }
20
+ apply(updates) {
21
+ for (const { price, size } of updates) {
22
+ if (!(0, perps_sdk_1.isDecimalString)(price)) {
23
+ perps_sdk_1.wsLog.skippedRow(this.providerKey, 'order book level', 'price', price, this.marketId);
24
+ continue;
25
+ }
26
+ if (!(0, perps_sdk_1.isDecimalString)(size)) {
27
+ perps_sdk_1.wsLog.skippedRow(this.providerKey, 'order book level', 'size', size, this.marketId);
28
+ this.remove(price);
29
+ continue;
30
+ }
31
+ if ((0, perps_sdk_1.isDecimalStringZero)(size)) {
32
+ this.remove(price);
33
+ continue;
34
+ }
35
+ const existing = this.byPrice.get(price);
36
+ if (existing) {
37
+ existing.size = size;
38
+ }
39
+ else {
40
+ const level = { price, size };
41
+ this.byPrice.set(price, level);
42
+ this.levels.splice(this.bound(level.price, (c) => c > 0), 0, level);
43
+ }
44
+ }
45
+ }
46
+ toLevels() {
47
+ return this.levels.map(({ price, size }) => ({ price, size }));
48
+ }
49
+ remove(price) {
50
+ const existing = this.byPrice.get(price);
51
+ if (existing === undefined) {
52
+ return;
53
+ }
54
+ this.byPrice.delete(price);
55
+ this.levels.splice(this.levels.indexOf(existing, this.bound(existing.price, (c) => c >= 0)), 1);
56
+ }
57
+ bound(price, isPast) {
58
+ let lo = 0;
59
+ let hi = this.levels.length;
60
+ while (lo < hi) {
61
+ const mid = (lo + hi) >>> 1;
62
+ if (isPast(this.order(this.levels[mid].price, price))) {
63
+ hi = mid;
64
+ }
65
+ else {
66
+ lo = mid + 1;
67
+ }
68
+ }
69
+ return lo;
70
+ }
71
+ }
72
+ exports.OrderBookSide = OrderBookSide;
73
+ //# sourceMappingURL=orderBookSide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderBookSide.js","sourceRoot":"","sources":["../../../src/websocket/orderBookSide.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LighterProvider.d.ts","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,mBAAmB,EAqBxB,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAA;AAmCxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQnC,OAAO,EAUL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAA;AAiLvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,4FAA4F;IAC5F,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAcD;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAChE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,iBAAiB,EAC7B,UAAS,sBAA2B,KACnC,oBAwgDF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAS,sBAA2B,KACnC,oBACyD,CAAA;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,sBAA2B,KACnC,oBAA6E,CAAA;AAEhF;;;;GAIG;AACH,eAAO,MAAM,OAAO,aA7BT,sBAAsB,KAC9B,oBA4BmC,CAAA"}
1
+ {"version":3,"file":"LighterProvider.d.ts","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAiBL,KAAK,mBAAmB,EAsBxB,KAAK,cAAc,EAQpB,MAAM,iBAAiB,CAAA;AAkCxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQnC,OAAO,EAUL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAA;AAsLvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,4FAA4F;IAC5F,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAcD;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAChE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,iBAAiB,EAC7B,UAAS,sBAA2B,KACnC,oBAioDF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAS,sBAA2B,KACnC,oBACyD,CAAA;AAE5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAS,sBAA2B,KACnC,oBAA6E,CAAA;AAEhF;;;;GAIG;AACH,eAAO,MAAM,OAAO,aA7BT,sBAAsB,KAC9B,oBA4BmC,CAAA"}
@@ -1,6 +1,5 @@
1
- import { ACTIVE_ORDER_STATUSES, calculateTransferable, explorerTxUrl, explorerTxUrlFromBase, getAssetRegistry, getMarketRegistry, getMarketsContext, getProviders, isActiveOrderStatus, isDecimalString, localStorageAdapter, numberToDecimalString, PerpsError, paginateActivity, resolveQuote, resolveRetryPolicy, toPerpsMarketDisplay, } from '@lifi/perps-sdk';
1
+ import { ACTIVE_ORDER_STATUSES, calculateTransferable, divideDecimalString, estimateLiquidationPriceAtMarketRate, explorerTxUrl, explorerTxUrlFromBase, getAssetRegistry, getMarketRegistry, getMarketsContext, getProviders, isActiveOrderStatus, isDecimalStringGreaterThan, localStorageAdapter, numberToDecimalString, PerpsError, paginateActivity, resolveQuote, resolveRetryPolicy, safeAbsDecimalString, safeAddDecimalStrings, safeMultiplyDecimalString, subtractDecimalString, toPerpsMarketDisplay, unknownToDecimalString, } from '@lifi/perps-sdk';
2
2
  import { ActionType, ActivityType, MarginMode, PerpsErrorCode, } from '@lifi/perps-types';
3
- import Big from 'big.js';
4
3
  import { boundAccountTiers, projectLighterConfigSettings, resolveAccountTier, } from './accountConfig.js';
5
4
  import { getAccountSummary, lighterConfig } from './accountSummary.js';
6
5
  import { lighterAvailableToTrade } from './availableToTrade.js';
@@ -15,14 +14,14 @@ import { LT_ACCOUNT_TRADING_MODE_SIMPLE, LT_ACCOUNT_TRADING_MODE_UNIFIED, LT_MAR
15
14
  import { decodeActivityCursor, encodeActivityCursor, } from './utils/activityCursor.js';
16
15
  import { LIGHTER_RETRY_DEFAULTS, LighterApiClient, LighterAuthRejectedError, LighterTokenRevokedError, } from './utils/apiClient.js';
17
16
  import { isAssetMarginEnabled } from './utils/assetCollateral.js';
18
- import { estimateLiquidationPrice, fetchDetailedAccount, leverageFromImf, lighterAsset, lighterWithdrawableBalances, mapFill, mapOpenPositions, mapOrder, mapPortfolioHistory, positionRemovableMargin, snapOrderPrice, snapOrderSize, toBigOrNull, toIsoFromMs, toIsoFromSeconds, toRequiredBig, } from './utils/index.js';
17
+ import { fetchDetailedAccount, leverageFromImf, lighterAsset, lighterFastWithdrawal, lighterWithdrawableBalances, lighterWithdrawalTypes, mapFill, mapOpenPositions, mapOrder, mapPortfolioHistory, positionRemovableMargin, snapOrderPrice, snapOrderSize, toIsoFromMs, toIsoFromSeconds, } from './utils/index.js';
19
18
  import { fetchRegisteredApiKey, normalizeLighterPublicKey, } from './utils/registeredApiKey.js';
20
19
  import { collateralSpotBalance, pooledSettlementSpendable, pooledSettlementUnits, } from './utils/settlementPool.js';
21
20
  import { spotPriceByAssetId, spotValuation } from './utils/spotPrice.js';
22
21
  import { isPlaceholderTxHash } from './utils/txHash.js';
23
22
  import { wireList } from './utils/wireList.js';
24
23
  const ZERO_FEE_TIER = { maker: '0', taker: '0' };
25
- const tickToFeeString = (tick) => numberToDecimalString(tick / LIGHTER_FEE_TICK_SCALE);
24
+ const tickToFeeString = (tick) => divideDecimalString(numberToDecimalString(tick), numberToDecimalString(LIGHTER_FEE_TICK_SCALE));
26
25
  const projectFeeTier = (limits) => ({
27
26
  maker: tickToFeeString(limits.current_maker_fee_tick),
28
27
  taker: tickToFeeString(limits.current_taker_fee_tick),
@@ -306,6 +305,54 @@ export const createLighterProvider = (deployment, options = {}) => {
306
305
  return await run(fresh);
307
306
  }
308
307
  };
308
+ /**
309
+ * {@link retryOnRevoked}, then one retry with the standard token when the
310
+ * venue rejects the read-only one. The fallback sits outside
311
+ * `retryOnRevoked`, so a revocation the standard token reports never
312
+ * replaces the read-only one. The key is re-read at retry time because
313
+ * `REGISTER_API_KEY` can rotate it.
314
+ */
315
+ const retryWithStandardToken = (address, apiKey, token, run) => retryOnRevoked(address, token, run).catch(async (err) => {
316
+ if (!(err instanceof LighterAuthRejectedError) || apiKey === null) {
317
+ throw err;
318
+ }
319
+ const current = (await keyStore.get(address)) ?? apiKey;
320
+ return run(await getStandardAuthToken(address, current.apiKeyPrivateKey, {
321
+ apiKeyIndex: current.apiKeyIndex,
322
+ accountIndex: current.accountIndex,
323
+ }));
324
+ });
325
+ const perpsCategoryId = async () => {
326
+ const { providers } = await getProviders(requireClient());
327
+ return (providers
328
+ .find((p) => p.key === providerKey)
329
+ ?.categories.find((c) => c.quoteAsset !== null)?.id ?? providerKey);
330
+ };
331
+ /**
332
+ * The fast-withdraw terms for `accountIndex`, or `undefined` when no token
333
+ * resolves, a read fails, or Lighter offers no fast withdrawal.
334
+ */
335
+ const readFastWithdrawal = async (client, address, accountIndex) => {
336
+ try {
337
+ const apiKey = await keyStore.get(address);
338
+ const token = await resolveAuthToken(address, apiKey ?? undefined);
339
+ if (token === undefined) {
340
+ return undefined;
341
+ }
342
+ const info = await retryWithStandardToken(address, apiKey, token, (t) => client.getAuthed('/api/v1/fastwithdraw/info', t, { account_index: accountIndex }));
343
+ if (info.code !== 200 || !(info.to_account_index > 0)) {
344
+ return undefined;
345
+ }
346
+ const feeInfo = await retryWithStandardToken(address, apiKey, token, (t) => client.getAuthed('/api/v1/transferFeeInfo', t, {
347
+ account_index: accountIndex,
348
+ to_account_index: info.to_account_index,
349
+ }));
350
+ return lighterFastWithdrawal(info, feeInfo);
351
+ }
352
+ catch {
353
+ return undefined;
354
+ }
355
+ };
309
356
  const fetchAccountLimits = (client, accountIndex, authToken) => client.getAuthed('/api/v1/accountLimits', authToken, {
310
357
  account_index: accountIndex,
311
358
  });
@@ -409,7 +456,10 @@ export const createLighterProvider = (deployment, options = {}) => {
409
456
  if (leverage === undefined || !(leverage > 0)) {
410
457
  throw new PerpsError(PerpsErrorCode.SDKError, `The backend market '${marketId}' carries no positive Lighter default leverage`);
411
458
  }
412
- return { marginMode: MarginMode.CROSS, leverage };
459
+ return {
460
+ marginMode: MarginMode.CROSS,
461
+ leverage: numberToDecimalString(leverage),
462
+ };
413
463
  };
414
464
  const resolveAccountExists = async (address, opts) => (await fetchAccountIfExists(apiClient(opts), address)) !== undefined;
415
465
  let setupPromise;
@@ -519,23 +569,23 @@ export const createLighterProvider = (deployment, options = {}) => {
519
569
  : Promise.resolve(undefined),
520
570
  ]);
521
571
  const positions = mapOpenPositions(account.positions, (id) => toPerpsMarketDisplay(registry.require(String(id))));
522
- const totalMarginUsed = positions.reduce((sum, p) => sum.plus(toRequiredBig(p.marginUsed, 'marginUsed')), new Big(0));
523
- const totalUnrealizedPnl = positions.reduce((sum, p) => sum.plus(toRequiredBig(p.unrealizedPnl, 'unrealizedPnl')), new Big(0));
572
+ const totalMarginUsed = safeAddDecimalStrings(positions.map((p) => p.marginUsed));
573
+ const totalUnrealizedPnl = safeAddDecimalStrings(positions.map((p) => p.unrealizedPnl));
524
574
  const instanceMeta = providers.find((p) => p.key === providerKey);
525
575
  const categories = instanceMeta?.categories ?? [];
526
576
  const perpsCategory = categories.find((c) => c.quoteAsset !== null);
527
- const availableBalance = toRequiredBig(account.available_balance, 'available_balance');
577
+ const availableBalance = unknownToDecimalString(account.available_balance, 'available_balance', providerKey);
528
578
  // Each asset has a spot route (`balance`) and a perps route
529
579
  // (`margin_balance`). The instance's settlement asset is valued 1:1; an
530
580
  // asset no spot market prices keeps a zero USD value. A unified account
531
581
  // pools both settlement routes into one spot row.
532
582
  const isPooled = (asset) => account.account_trading_mode === LT_ACCOUNT_TRADING_MODE_UNIFIED &&
533
583
  asset.asset_id === collateral.assetIndex;
534
- const heldAssets = account.assets.filter((asset) => (isPooled(asset)
584
+ const heldAssets = account.assets.filter((asset) => isDecimalStringGreaterThan(isPooled(asset)
535
585
  ? pooledSettlementUnits(asset)
536
- : toRequiredBig(asset.balance, 'balance')).gt(0));
586
+ : unknownToDecimalString(asset.balance, 'balance', providerKey), '0'));
537
587
  const marginAssets = account.assets.filter((asset) => !isPooled(asset) &&
538
- toRequiredBig(asset.margin_balance, 'margin_balance').gt(0));
588
+ isDecimalStringGreaterThan(unknownToDecimalString(asset.margin_balance, 'margin_balance', providerKey), '0'));
539
589
  const spotPrices = spotPriceByAssetId(registry.markets, LIGHTER_SPOT_CATEGORY_ID, prices, new Set([...heldAssets, ...marginAssets]
540
590
  .filter((a) => a.asset_id !== collateral.assetIndex)
541
591
  .map((a) => String(a.asset_id))));
@@ -546,7 +596,7 @@ export const createLighterProvider = (deployment, options = {}) => {
546
596
  asset,
547
597
  units,
548
598
  valueUsd,
549
- ...(price === undefined ? {} : { price: price.toFixed() }),
599
+ ...(price === undefined ? {} : { price }),
550
600
  };
551
601
  };
552
602
  const registryAsset = (a) => assetRegistry.get(String(a.asset_id)) ??
@@ -559,28 +609,26 @@ export const createLighterProvider = (deployment, options = {}) => {
559
609
  // account's free margin; every other perps-route asset releases none.
560
610
  const collateralBalances = marginAssets.map((a) => {
561
611
  const isSettlement = a.asset_id === collateral.assetIndex;
562
- const marginBalance = toRequiredBig(a.margin_balance, 'margin_balance').toFixed();
612
+ const marginBalance = unknownToDecimalString(a.margin_balance, 'margin_balance', providerKey);
563
613
  return {
564
- ...toBalance(a, perpsCategory?.id ?? providerKey, isSettlement ? settlementAsset : registryAsset(a), isDecimalString(a.margin_balance) ? a.margin_balance : marginBalance),
614
+ ...toBalance(a, perpsCategory?.id ?? providerKey, isSettlement ? settlementAsset : registryAsset(a), marginBalance),
565
615
  transferable: isSettlement
566
- ? calculateTransferable(availableBalance.toFixed(), marginBalance)
616
+ ? calculateTransferable(availableBalance, marginBalance)
567
617
  : '0',
568
618
  };
569
619
  });
570
620
  const balances = heldAssets.map((a) => {
571
621
  if (isPooled(a)) {
572
- const units = pooledSettlementUnits(a).toFixed();
622
+ const units = pooledSettlementUnits(a);
573
623
  return {
574
624
  ...toBalance(a, LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), units),
575
- transferable: calculateTransferable(pooledSettlementSpendable(a, availableBalance).toFixed(), units),
625
+ transferable: calculateTransferable(pooledSettlementSpendable(a, availableBalance), units),
576
626
  };
577
627
  }
578
- const balance = toRequiredBig(a.balance, 'balance');
628
+ const balance = unknownToDecimalString(a.balance, 'balance', providerKey);
579
629
  return {
580
- ...toBalance(a, LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), isDecimalString(a.balance) ? a.balance : balance.toFixed()),
581
- transferable: calculateTransferable(balance
582
- .minus(toRequiredBig(a.locked_balance, 'locked_balance'))
583
- .toFixed(), balance.toFixed()),
630
+ ...toBalance(a, LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), balance),
631
+ transferable: calculateTransferable(subtractDecimalString(balance, unknownToDecimalString(a.locked_balance, 'locked_balance', providerKey)), balance),
584
632
  };
585
633
  });
586
634
  const assetCollateral = account.assets.flatMap((a) => a.margin_mode === undefined
@@ -620,8 +668,12 @@ export const createLighterProvider = (deployment, options = {}) => {
620
668
  balances,
621
669
  collateralBalances,
622
670
  positions,
623
- marginUsed: totalMarginUsed.toFixed(),
624
- unrealizedPnl: totalUnrealizedPnl.toFixed(),
671
+ ...(totalMarginUsed === undefined
672
+ ? {}
673
+ : { marginUsed: totalMarginUsed }),
674
+ ...(totalUnrealizedPnl === undefined
675
+ ? {}
676
+ : { unrealizedPnl: totalUnrealizedPnl }),
625
677
  feeTier: limitsResult === undefined
626
678
  ? ZERO_FEE_TIER
627
679
  : projectFeeTier(limitsResult),
@@ -635,8 +687,21 @@ export const createLighterProvider = (deployment, options = {}) => {
635
687
  return lighterDepositFlow(providerKey, await resolveAccountExists(params.address, opts));
636
688
  },
637
689
  async getWithdrawableBalances(params, opts) {
638
- const account = await fetchDetailedAccount(apiClient(opts), params.address);
639
- return lighterWithdrawableBalances(account, collateral.assetIndex);
690
+ const [account, categoryId] = await Promise.all([
691
+ fetchDetailedAccount(apiClient(opts), params.address),
692
+ perpsCategoryId(),
693
+ ]);
694
+ return lighterWithdrawableBalances(account, collateral.assetIndex, categoryId);
695
+ },
696
+ async getWithdrawalTypes(params, opts) {
697
+ const client = apiClient(opts);
698
+ const [account, categoryId] = await Promise.all([
699
+ fetchDetailedAccount(client, params.address),
700
+ perpsCategoryId(),
701
+ ]);
702
+ const rows = lighterWithdrawableBalances(account, collateral.assetIndex, categoryId);
703
+ const fast = await readFastWithdrawal(client, params.address, account.index);
704
+ return lighterWithdrawalTypes(rows, { categoryId, asset: { id: String(collateral.assetIndex) } }, fast);
640
705
  },
641
706
  async getPositions(params, opts) {
642
707
  const client = apiClient(opts);
@@ -668,8 +733,7 @@ export const createLighterProvider = (deployment, options = {}) => {
668
733
  }
669
734
  const account = await plugin.getAccount({ address: params.address }, opts);
670
735
  const config = lighterConfig(account);
671
- const crossFreeCollateral = toRequiredBig(config.crossAssetValue, 'crossAssetValue').minus(toRequiredBig(config.crossInitialMarginRequirement, 'crossInitialMarginRequirement'));
672
- return lighterAvailableToTrade(market, crossFreeCollateral.toFixed(), account.positions);
736
+ return lighterAvailableToTrade(market, subtractDecimalString(unknownToDecimalString(config.crossAssetValue, 'crossAssetValue', providerKey), unknownToDecimalString(config.crossInitialMarginRequirement, 'crossInitialMarginRequirement', providerKey)), account.positions);
673
737
  },
674
738
  /**
675
739
  * Lighter reports a market's margin mode and leverage on the account's
@@ -687,7 +751,7 @@ export const createLighterProvider = (deployment, options = {}) => {
687
751
  // An unparsable IMF throws; a non-positive one means no stored setting.
688
752
  const leverage = row === undefined
689
753
  ? undefined
690
- : leverageFromImf(toRequiredBig(row.initial_margin_fraction, 'initial_margin_fraction').toFixed());
754
+ : leverageFromImf(unknownToDecimalString(row.initial_margin_fraction, 'initial_margin_fraction', providerKey));
691
755
  if (row === undefined || leverage === undefined) {
692
756
  return resolveDefaultMarketSettings(marketId);
693
757
  }
@@ -755,7 +819,7 @@ export const createLighterProvider = (deployment, options = {}) => {
755
819
  continue;
756
820
  }
757
821
  const order = mapOrder(raw, market);
758
- if (statuses.has(order.status)) {
822
+ if (order !== undefined && statuses.has(order.status)) {
759
823
  orders.push(order);
760
824
  }
761
825
  }
@@ -790,7 +854,14 @@ export const createLighterProvider = (deployment, options = {}) => {
790
854
  registry.sync(),
791
855
  ]);
792
856
  const notFound = () => new PerpsError(PerpsErrorCode.OrderNotFound, `Lighter order ${params.id} not found for ${params.address}`);
793
- const detail = (order) => mapOrder(order, registry.require(String(order.market_index)));
857
+ const mapDetail = (order) => mapOrder(order, registry.require(String(order.market_index)));
858
+ const detail = (order) => {
859
+ const mapped = mapDetail(order);
860
+ if (mapped === undefined) {
861
+ throw notFound();
862
+ }
863
+ return mapped;
864
+ };
794
865
  // A tx-hash route would require mapping the caller's executeAction tx
795
866
  // hash → wasm nonce → matching order, which the LI.FI backend did via
796
867
  // its `UserAction` table; the SDK has no equivalent persistence, so we
@@ -813,7 +884,7 @@ export const createLighterProvider = (deployment, options = {}) => {
813
884
  // client order index can match more than one row. Prefer the live one.
814
885
  const matches = orders
815
886
  .filter((o) => String(o.client_order_index) === clientOrderIndex)
816
- .map(detail);
887
+ .flatMap((o) => mapDetail(o) ?? []);
817
888
  const hit = matches.find((o) => isActiveOrderStatus(o.status)) ?? matches[0];
818
889
  if (hit === undefined) {
819
890
  throw notFound();
@@ -861,10 +932,8 @@ export const createLighterProvider = (deployment, options = {}) => {
861
932
  // resolves, so its rows stay.
862
933
  const items = wireList(response.trades).flatMap((t) => {
863
934
  const market = registry.get(String(t.market_id));
864
- if (market === undefined) {
865
- return [];
866
- }
867
- return [mapFill(t, account.index, market)];
935
+ const mapped = market && mapFill(t, account.index, market);
936
+ return mapped ? [mapped] : [];
868
937
  });
869
938
  return {
870
939
  provider: providerKey,
@@ -895,22 +964,9 @@ export const createLighterProvider = (deployment, options = {}) => {
895
964
  ignore_transfers: false,
896
965
  };
897
966
  const read = (tok) => client.getAuthed('/api/v1/pnl', tok, queryParams);
898
- // The read-only token may not be accepted on `/pnl`; the standard token
899
- // is, so a read signed from the SDK's own key retries once with it. The
900
- // fallback sits outside `retryOnRevoked`, so a revocation the standard
901
- // token reports never replaces the read-only one. The key is re-read at
902
- // retry time because `REGISTER_API_KEY` can rotate it.
903
- const response = await retryOnRevoked(params.address, token, read).catch(async (err) => {
904
- if (!(err instanceof LighterAuthRejectedError) || apiKey === null) {
905
- throw err;
906
- }
907
- const current = (await keyStore.get(params.address)) ?? apiKey;
908
- return read(await getStandardAuthToken(params.address, current.apiKeyPrivateKey, {
909
- apiKeyIndex: current.apiKeyIndex,
910
- accountIndex: current.accountIndex,
911
- }));
912
- });
913
- return mapPortfolioHistory(params.range, wireList(response.pnl), new Big(getAccountSummary(account, account.positions).portfolioValue));
967
+ // The read-only token may not be accepted on `/pnl`; the standard token is.
968
+ const response = await retryWithStandardToken(params.address, apiKey, token, read);
969
+ return mapPortfolioHistory(params.range, wireList(response.pnl), getAccountSummary(account, account.positions).portfolioValue);
914
970
  },
915
971
  async getActivity(params, opts) {
916
972
  const token = await requireAuthToken('activity read', params.address);
@@ -986,8 +1042,8 @@ export const createLighterProvider = (deployment, options = {}) => {
986
1042
  if (market === undefined) {
987
1043
  return [];
988
1044
  }
989
- const price = toBigOrNull(l.trade.price);
990
- const size = toBigOrNull(l.trade.size);
1045
+ const notional = safeMultiplyDecimalString(l.trade.price, l.trade.size);
1046
+ const liquidatedNotionalPosition = notional === undefined ? undefined : safeAbsDecimalString(notional);
991
1047
  const marginMode = wireList(l.info.positions).find((p) => p.market_id === l.market_id)?.margin_mode;
992
1048
  // Lighter reports the margin mode as an integer, so the venue
993
1049
  // vocabulary the contract asks for is the SDK's own literal. An
@@ -1004,14 +1060,9 @@ export const createLighterProvider = (deployment, options = {}) => {
1004
1060
  provider: providerKey,
1005
1061
  timestamp: toIsoFromMs(l.executed_at),
1006
1062
  type: ActivityType.LIQUIDATION,
1007
- ...(price === null || size === null
1063
+ ...(liquidatedNotionalPosition === undefined
1008
1064
  ? {}
1009
- : {
1010
- liquidatedNotionalPosition: price
1011
- .times(size)
1012
- .abs()
1013
- .toFixed(),
1014
- }),
1065
+ : { liquidatedNotionalPosition }),
1015
1066
  // The account value at liquidation time is the pre-trade
1016
1067
  // snapshot, not the settled one Lighter also reports.
1017
1068
  ...(accountValue === undefined ? {} : { accountValue }),
@@ -1075,7 +1126,7 @@ export const createLighterProvider = (deployment, options = {}) => {
1075
1126
  },
1076
1127
  snapOrderPrice,
1077
1128
  snapOrderSize,
1078
- estimateLiquidationPrice,
1129
+ estimateLiquidationPrice: estimateLiquidationPriceAtMarketRate,
1079
1130
  positionRemovableMargin,
1080
1131
  projectConfig(config, setup) {
1081
1132
  if (config.provider !== providerKey) {