@lifi/perps-sdk-provider-lighter 35.1.0 → 36.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 (226) hide show
  1. package/dist/cjs/LighterProvider.d.ts.map +1 -1
  2. package/dist/cjs/LighterProvider.js +101 -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 +9 -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 +3 -3
  18. package/dist/cjs/utils/index.d.ts.map +1 -1
  19. package/dist/cjs/utils/index.js +5 -6
  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 +3 -1
  26. package/dist/cjs/utils/mapOpenPositions.d.ts.map +1 -1
  27. package/dist/cjs/utils/mapOpenPositions.js +20 -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 +64 -26
  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 +35 -38
  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/withdrawableBalances.d.ts +1 -1
  60. package/dist/cjs/utils/withdrawableBalances.d.ts.map +1 -1
  61. package/dist/cjs/utils/withdrawableBalances.js +12 -17
  62. package/dist/cjs/utils/withdrawableBalances.js.map +1 -1
  63. package/dist/cjs/utils/withdrawalTypes.d.ts +17 -0
  64. package/dist/cjs/utils/withdrawalTypes.d.ts.map +1 -0
  65. package/dist/cjs/utils/withdrawalTypes.js +58 -0
  66. package/dist/cjs/utils/withdrawalTypes.js.map +1 -0
  67. package/dist/cjs/websocket/LighterWsProvider.d.ts.map +1 -1
  68. package/dist/cjs/websocket/LighterWsProvider.js +46 -58
  69. package/dist/cjs/websocket/LighterWsProvider.js.map +1 -1
  70. package/dist/cjs/websocket/orderBookSide.d.ts +19 -0
  71. package/dist/cjs/websocket/orderBookSide.d.ts.map +1 -0
  72. package/dist/cjs/websocket/orderBookSide.js +71 -0
  73. package/dist/cjs/websocket/orderBookSide.js.map +1 -0
  74. package/dist/esm/LighterProvider.d.ts.map +1 -1
  75. package/dist/esm/LighterProvider.js +116 -62
  76. package/dist/esm/LighterProvider.js.map +1 -1
  77. package/dist/esm/accountSummary.d.ts +1 -2
  78. package/dist/esm/accountSummary.d.ts.map +1 -1
  79. package/dist/esm/accountSummary.js +10 -14
  80. package/dist/esm/accountSummary.js.map +1 -1
  81. package/dist/esm/availableToTrade.d.ts +1 -2
  82. package/dist/esm/availableToTrade.d.ts.map +1 -1
  83. package/dist/esm/availableToTrade.js +9 -10
  84. package/dist/esm/availableToTrade.js.map +1 -1
  85. package/dist/esm/signers/LighterSigner.d.ts.map +1 -1
  86. package/dist/esm/signers/LighterSigner.js +3 -4
  87. package/dist/esm/signers/LighterSigner.js.map +1 -1
  88. package/dist/esm/types/submit.d.ts +14 -0
  89. package/dist/esm/types/submit.d.ts.map +1 -1
  90. package/dist/esm/utils/index.d.ts +3 -3
  91. package/dist/esm/utils/index.d.ts.map +1 -1
  92. package/dist/esm/utils/index.js +2 -3
  93. package/dist/esm/utils/index.js.map +1 -1
  94. package/dist/esm/utils/mapFill.d.ts +1 -1
  95. package/dist/esm/utils/mapFill.d.ts.map +1 -1
  96. package/dist/esm/utils/mapFill.js +51 -35
  97. package/dist/esm/utils/mapFill.js.map +1 -1
  98. package/dist/esm/utils/mapOpenPositions.d.ts +17 -3
  99. package/dist/esm/utils/mapOpenPositions.d.ts.map +1 -1
  100. package/dist/esm/utils/mapOpenPositions.js +31 -5
  101. package/dist/esm/utils/mapOpenPositions.js.map +1 -1
  102. package/dist/esm/utils/mapOrder.d.ts +6 -2
  103. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  104. package/dist/esm/utils/mapOrder.js +70 -25
  105. package/dist/esm/utils/mapOrder.js.map +1 -1
  106. package/dist/esm/utils/mapPortfolioHistory.d.ts +6 -3
  107. package/dist/esm/utils/mapPortfolioHistory.d.ts.map +1 -1
  108. package/dist/esm/utils/mapPortfolioHistory.js +34 -19
  109. package/dist/esm/utils/mapPortfolioHistory.js.map +1 -1
  110. package/dist/esm/utils/mapPosition.d.ts +12 -9
  111. package/dist/esm/utils/mapPosition.d.ts.map +1 -1
  112. package/dist/esm/utils/mapPosition.js +45 -42
  113. package/dist/esm/utils/mapPosition.js.map +1 -1
  114. package/dist/esm/utils/rowTimestamp.d.ts +6 -0
  115. package/dist/esm/utils/rowTimestamp.d.ts.map +1 -0
  116. package/dist/esm/utils/rowTimestamp.js +14 -0
  117. package/dist/esm/utils/rowTimestamp.js.map +1 -0
  118. package/dist/esm/utils/settlementPool.d.ts +2 -3
  119. package/dist/esm/utils/settlementPool.d.ts.map +1 -1
  120. package/dist/esm/utils/settlementPool.js +8 -7
  121. package/dist/esm/utils/settlementPool.js.map +1 -1
  122. package/dist/esm/utils/spotPrice.d.ts +3 -4
  123. package/dist/esm/utils/spotPrice.d.ts.map +1 -1
  124. package/dist/esm/utils/spotPrice.js +6 -8
  125. package/dist/esm/utils/spotPrice.js.map +1 -1
  126. package/dist/esm/utils/time.d.ts +10 -2
  127. package/dist/esm/utils/time.d.ts.map +1 -1
  128. package/dist/esm/utils/time.js +13 -4
  129. package/dist/esm/utils/time.js.map +1 -1
  130. package/dist/esm/utils/transferMargin.d.ts.map +1 -1
  131. package/dist/esm/utils/transferMargin.js +9 -9
  132. package/dist/esm/utils/transferMargin.js.map +1 -1
  133. package/dist/esm/utils/withdrawableBalances.d.ts +5 -3
  134. package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -1
  135. package/dist/esm/utils/withdrawableBalances.js +17 -17
  136. package/dist/esm/utils/withdrawableBalances.js.map +1 -1
  137. package/dist/esm/utils/withdrawalTypes.d.ts +45 -0
  138. package/dist/esm/utils/withdrawalTypes.d.ts.map +1 -0
  139. package/dist/esm/utils/withdrawalTypes.js +68 -0
  140. package/dist/esm/utils/withdrawalTypes.js.map +1 -0
  141. package/dist/esm/websocket/LighterWsProvider.d.ts.map +1 -1
  142. package/dist/esm/websocket/LighterWsProvider.js +48 -57
  143. package/dist/esm/websocket/LighterWsProvider.js.map +1 -1
  144. package/dist/esm/websocket/orderBookSide.d.ts +33 -0
  145. package/dist/esm/websocket/orderBookSide.d.ts.map +1 -0
  146. package/dist/esm/websocket/orderBookSide.js +76 -0
  147. package/dist/esm/websocket/orderBookSide.js.map +1 -0
  148. package/dist/types/LighterProvider.d.ts.map +1 -1
  149. package/dist/types/accountSummary.d.ts +1 -2
  150. package/dist/types/accountSummary.d.ts.map +1 -1
  151. package/dist/types/availableToTrade.d.ts +1 -2
  152. package/dist/types/availableToTrade.d.ts.map +1 -1
  153. package/dist/types/signers/LighterSigner.d.ts.map +1 -1
  154. package/dist/types/types/submit.d.ts +14 -0
  155. package/dist/types/types/submit.d.ts.map +1 -1
  156. package/dist/types/utils/index.d.ts +3 -3
  157. package/dist/types/utils/index.d.ts.map +1 -1
  158. package/dist/types/utils/mapFill.d.ts +1 -1
  159. package/dist/types/utils/mapFill.d.ts.map +1 -1
  160. package/dist/types/utils/mapOpenPositions.d.ts +17 -3
  161. package/dist/types/utils/mapOpenPositions.d.ts.map +1 -1
  162. package/dist/types/utils/mapOrder.d.ts +6 -2
  163. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  164. package/dist/types/utils/mapPortfolioHistory.d.ts +6 -3
  165. package/dist/types/utils/mapPortfolioHistory.d.ts.map +1 -1
  166. package/dist/types/utils/mapPosition.d.ts +12 -9
  167. package/dist/types/utils/mapPosition.d.ts.map +1 -1
  168. package/dist/types/utils/rowTimestamp.d.ts +6 -0
  169. package/dist/types/utils/rowTimestamp.d.ts.map +1 -0
  170. package/dist/types/utils/settlementPool.d.ts +2 -3
  171. package/dist/types/utils/settlementPool.d.ts.map +1 -1
  172. package/dist/types/utils/spotPrice.d.ts +3 -4
  173. package/dist/types/utils/spotPrice.d.ts.map +1 -1
  174. package/dist/types/utils/time.d.ts +10 -2
  175. package/dist/types/utils/time.d.ts.map +1 -1
  176. package/dist/types/utils/transferMargin.d.ts.map +1 -1
  177. package/dist/types/utils/withdrawableBalances.d.ts +5 -3
  178. package/dist/types/utils/withdrawableBalances.d.ts.map +1 -1
  179. package/dist/types/utils/withdrawalTypes.d.ts +45 -0
  180. package/dist/types/utils/withdrawalTypes.d.ts.map +1 -0
  181. package/dist/types/websocket/LighterWsProvider.d.ts.map +1 -1
  182. package/dist/types/websocket/orderBookSide.d.ts +33 -0
  183. package/dist/types/websocket/orderBookSide.d.ts.map +1 -0
  184. package/package.json +3 -3
  185. package/src/LighterProvider.ts +236 -100
  186. package/src/accountSummary.ts +41 -22
  187. package/src/availableToTrade.ts +38 -15
  188. package/src/signers/LighterSigner.ts +11 -4
  189. package/src/types/submit.ts +15 -0
  190. package/src/utils/index.ts +9 -3
  191. package/src/utils/mapFill.ts +82 -43
  192. package/src/utils/mapOpenPositions.ts +45 -6
  193. package/src/utils/mapOrder.ts +99 -28
  194. package/src/utils/mapPortfolioHistory.ts +78 -24
  195. package/src/utils/mapPosition.ts +63 -47
  196. package/src/utils/rowTimestamp.ts +15 -0
  197. package/src/utils/settlementPool.ts +36 -12
  198. package/src/utils/spotPrice.ts +18 -12
  199. package/src/utils/time.ts +14 -4
  200. package/src/utils/transferMargin.ts +32 -15
  201. package/src/utils/withdrawableBalances.ts +34 -20
  202. package/src/utils/withdrawalTypes.ts +125 -0
  203. package/src/websocket/LighterWsProvider.ts +75 -92
  204. package/src/websocket/orderBookSide.ts +106 -0
  205. package/dist/cjs/utils/decimal.d.ts +0 -5
  206. package/dist/cjs/utils/decimal.d.ts.map +0 -1
  207. package/dist/cjs/utils/decimal.js +0 -38
  208. package/dist/cjs/utils/decimal.js.map +0 -1
  209. package/dist/cjs/utils/liquidation.d.ts +0 -4
  210. package/dist/cjs/utils/liquidation.d.ts.map +0 -1
  211. package/dist/cjs/utils/liquidation.js +0 -16
  212. package/dist/cjs/utils/liquidation.js.map +0 -1
  213. package/dist/esm/utils/decimal.d.ts +0 -15
  214. package/dist/esm/utils/decimal.d.ts.map +0 -1
  215. package/dist/esm/utils/decimal.js +0 -39
  216. package/dist/esm/utils/decimal.js.map +0 -1
  217. package/dist/esm/utils/liquidation.d.ts +0 -22
  218. package/dist/esm/utils/liquidation.d.ts.map +0 -1
  219. package/dist/esm/utils/liquidation.js +0 -31
  220. package/dist/esm/utils/liquidation.js.map +0 -1
  221. package/dist/types/utils/decimal.d.ts +0 -15
  222. package/dist/types/utils/decimal.d.ts.map +0 -1
  223. package/dist/types/utils/liquidation.d.ts +0 -22
  224. package/dist/types/utils/liquidation.d.ts.map +0 -1
  225. package/src/utils/decimal.ts +0 -52
  226. package/src/utils/liquidation.ts +0 -39
@@ -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;AAqNvB,MAAM,WAAW,sBAAsB;IAMrC,OAAO,CAAC,EAAE,cAAc,CAAA;IAMxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAuBD,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAM/D,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAChE;AASD,eAAO,MAAM,qBAAqB,GAChC,YAAY,iBAAiB,EAC7B,UAAS,sBAA2B,KACnC,oBAwgDF,CAAA;AAuBD,eAAO,MAAM,eAAe,GAC1B,UAAS,sBAA2B,KACnC,oBACyD,CAAA;AAkB5D,eAAO,MAAM,iBAAiB,GAC5B,UAAS,sBAA2B,KACnC,oBAA6E,CAAA;AAOhF,eAAO,MAAM,OAAO,aA7BT,sBAAsB,KAC9B,oBA4BmC,CAAA"}
1
+ {"version":3,"file":"LighterProvider.d.ts","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBL,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;AAgOvB,MAAM,WAAW,sBAAsB;IAMrC,OAAO,CAAC,EAAE,cAAc,CAAA;IAMxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC;AAuBD,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAM/D,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CAChE;AASD,eAAO,MAAM,qBAAqB,GAChC,YAAY,iBAAiB,EAC7B,UAAS,sBAA2B,KACnC,oBA8nDF,CAAA;AAuBD,eAAO,MAAM,eAAe,GAC1B,UAAS,sBAA2B,KACnC,oBACyD,CAAA;AAkB5D,eAAO,MAAM,iBAAiB,GAC5B,UAAS,sBAA2B,KACnC,oBAA6E,CAAA;AAOhF,eAAO,MAAM,OAAO,aA7BT,sBAAsB,KAC9B,oBA4BmC,CAAA"}
@@ -1,12 +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.Lighter = exports.lighterRhProvider = exports.lighterProvider = exports.createLighterProvider = 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"));
10
6
  const accountConfig_js_1 = require("./accountConfig.js");
11
7
  const accountSummary_js_1 = require("./accountSummary.js");
12
8
  const availableToTrade_js_1 = require("./availableToTrade.js");
@@ -22,12 +18,14 @@ const activityCursor_js_1 = require("./utils/activityCursor.js");
22
18
  const apiClient_js_1 = require("./utils/apiClient.js");
23
19
  const assetCollateral_js_1 = require("./utils/assetCollateral.js");
24
20
  const index_js_2 = require("./utils/index.js");
21
+ const mapOpenPositions_js_1 = require("./utils/mapOpenPositions.js");
25
22
  const registeredApiKey_js_1 = require("./utils/registeredApiKey.js");
26
23
  const settlementPool_js_1 = require("./utils/settlementPool.js");
27
24
  const spotPrice_js_1 = require("./utils/spotPrice.js");
28
25
  const txHash_js_1 = require("./utils/txHash.js");
29
26
  const wireList_js_1 = require("./utils/wireList.js");
30
27
  const ZERO_FEE_TIER = { maker: '0', taker: '0' };
28
+ const safeSum = (values) => values.reduce((sum, value) => sum === undefined ? undefined : (0, perps_sdk_1.safeAddDecimalString)(sum, value), '0');
31
29
  const tickToFeeString = (tick) => (0, perps_sdk_1.numberToDecimalString)(tick / constants_js_1.LIGHTER_FEE_TICK_SCALE);
32
30
  const projectFeeTier = (limits) => ({
33
31
  maker: tickToFeeString(limits.current_maker_fee_tick),
@@ -249,6 +247,43 @@ const createLighterProvider = (deployment, options = {}) => {
249
247
  return await run(fresh);
250
248
  }
251
249
  };
250
+ const retryWithStandardToken = (address, apiKey, token, run) => retryOnRevoked(address, token, run).catch(async (err) => {
251
+ if (!(err instanceof apiClient_js_1.LighterAuthRejectedError) || apiKey === null) {
252
+ throw err;
253
+ }
254
+ const current = (await keyStore.get(address)) ?? apiKey;
255
+ return run(await getStandardAuthToken(address, current.apiKeyPrivateKey, {
256
+ apiKeyIndex: current.apiKeyIndex,
257
+ accountIndex: current.accountIndex,
258
+ }));
259
+ });
260
+ const perpsCategoryId = async () => {
261
+ const { providers } = await (0, perps_sdk_1.getProviders)(requireClient());
262
+ return (providers
263
+ .find((p) => p.key === providerKey)
264
+ ?.categories.find((c) => c.quoteAsset !== null)?.id ?? providerKey);
265
+ };
266
+ const readFastWithdrawal = async (client, address, accountIndex) => {
267
+ try {
268
+ const apiKey = await keyStore.get(address);
269
+ const token = await resolveAuthToken(address, apiKey ?? undefined);
270
+ if (token === undefined) {
271
+ return undefined;
272
+ }
273
+ const info = await retryWithStandardToken(address, apiKey, token, (t) => client.getAuthed('/api/v1/fastwithdraw/info', t, { account_index: accountIndex }));
274
+ if (info.code !== 200 || !(info.to_account_index > 0)) {
275
+ return undefined;
276
+ }
277
+ const feeInfo = await retryWithStandardToken(address, apiKey, token, (t) => client.getAuthed('/api/v1/transferFeeInfo', t, {
278
+ account_index: accountIndex,
279
+ to_account_index: info.to_account_index,
280
+ }));
281
+ return (0, index_js_2.lighterFastWithdrawal)(info, feeInfo);
282
+ }
283
+ catch {
284
+ return undefined;
285
+ }
286
+ };
252
287
  const fetchAccountLimits = (client, accountIndex, authToken) => client.getAuthed('/api/v1/accountLimits', authToken, {
253
288
  account_index: accountIndex,
254
289
  });
@@ -350,7 +385,10 @@ const createLighterProvider = (deployment, options = {}) => {
350
385
  if (leverage === undefined || !(leverage > 0)) {
351
386
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `The backend market '${marketId}' carries no positive Lighter default leverage`);
352
387
  }
353
- return { marginMode: perps_types_1.MarginMode.CROSS, leverage };
388
+ return {
389
+ marginMode: perps_types_1.MarginMode.CROSS,
390
+ leverage: (0, perps_sdk_1.numberToDecimalString)(leverage),
391
+ };
354
392
  };
355
393
  const resolveAccountExists = async (address, opts) => (await fetchAccountIfExists(apiClient(opts), address)) !== undefined;
356
394
  let setupPromise;
@@ -448,20 +486,20 @@ const createLighterProvider = (deployment, options = {}) => {
448
486
  ? readOnlyTokenManager.get(params.address, localKey.accountIndex)
449
487
  : Promise.resolve(undefined),
450
488
  ]);
451
- const positions = (0, index_js_2.mapOpenPositions)(account.positions, (id) => (0, perps_sdk_1.toPerpsMarketDisplay)(registry.require(String(id))));
452
- const totalMarginUsed = positions.reduce((sum, p) => sum.plus((0, index_js_2.toRequiredBig)(p.marginUsed, 'marginUsed')), new big_js_1.default(0));
453
- const totalUnrealizedPnl = positions.reduce((sum, p) => sum.plus((0, index_js_2.toRequiredBig)(p.unrealizedPnl, 'unrealizedPnl')), new big_js_1.default(0));
489
+ const positions = (0, mapOpenPositions_js_1.requireOpenPositions)(account.positions, (id) => (0, perps_sdk_1.toPerpsMarketDisplay)(registry.require(String(id))));
490
+ const totalMarginUsed = safeSum(positions.map((p) => p.marginUsed));
491
+ const totalUnrealizedPnl = safeSum(positions.map((p) => p.unrealizedPnl));
454
492
  const instanceMeta = providers.find((p) => p.key === providerKey);
455
493
  const categories = instanceMeta?.categories ?? [];
456
494
  const perpsCategory = categories.find((c) => c.quoteAsset !== null);
457
- const availableBalance = (0, index_js_2.toRequiredBig)(account.available_balance, 'available_balance');
495
+ const availableBalance = (0, perps_sdk_1.unknownToDecimalString)(account.available_balance, 'available_balance', providerKey);
458
496
  const isPooled = (asset) => account.account_trading_mode === index_js_1.LT_ACCOUNT_TRADING_MODE_UNIFIED &&
459
497
  asset.asset_id === collateral.assetIndex;
460
- const heldAssets = account.assets.filter((asset) => (isPooled(asset)
498
+ const heldAssets = account.assets.filter((asset) => (0, perps_sdk_1.isDecimalStringGreaterThan)(isPooled(asset)
461
499
  ? (0, settlementPool_js_1.pooledSettlementUnits)(asset)
462
- : (0, index_js_2.toRequiredBig)(asset.balance, 'balance')).gt(0));
500
+ : (0, perps_sdk_1.unknownToDecimalString)(asset.balance, 'balance', providerKey), '0'));
463
501
  const marginAssets = account.assets.filter((asset) => !isPooled(asset) &&
464
- (0, index_js_2.toRequiredBig)(asset.margin_balance, 'margin_balance').gt(0));
502
+ (0, perps_sdk_1.isDecimalStringGreaterThan)((0, perps_sdk_1.unknownToDecimalString)(asset.margin_balance, 'margin_balance', providerKey), '0'));
465
503
  const spotPrices = (0, spotPrice_js_1.spotPriceByAssetId)(registry.markets, constants_js_1.LIGHTER_SPOT_CATEGORY_ID, prices, new Set([...heldAssets, ...marginAssets]
466
504
  .filter((a) => a.asset_id !== collateral.assetIndex)
467
505
  .map((a) => String(a.asset_id))));
@@ -472,7 +510,7 @@ const createLighterProvider = (deployment, options = {}) => {
472
510
  asset,
473
511
  units,
474
512
  valueUsd,
475
- ...(price === undefined ? {} : { price: price.toFixed() }),
513
+ ...(price === undefined ? {} : { price }),
476
514
  };
477
515
  };
478
516
  const registryAsset = (a) => assetRegistry.get(String(a.asset_id)) ??
@@ -481,28 +519,26 @@ const createLighterProvider = (deployment, options = {}) => {
481
519
  (0, index_js_2.lighterAsset)(collateral.displaySymbol, collateral.displaySymbol, providerKey);
482
520
  const collateralBalances = marginAssets.map((a) => {
483
521
  const isSettlement = a.asset_id === collateral.assetIndex;
484
- const marginBalance = (0, index_js_2.toRequiredBig)(a.margin_balance, 'margin_balance').toFixed();
522
+ const marginBalance = (0, perps_sdk_1.unknownToDecimalString)(a.margin_balance, 'margin_balance', providerKey);
485
523
  return {
486
- ...toBalance(a, perpsCategory?.id ?? providerKey, isSettlement ? settlementAsset : registryAsset(a), (0, perps_sdk_1.isDecimalString)(a.margin_balance) ? a.margin_balance : marginBalance),
524
+ ...toBalance(a, perpsCategory?.id ?? providerKey, isSettlement ? settlementAsset : registryAsset(a), marginBalance),
487
525
  transferable: isSettlement
488
- ? (0, perps_sdk_1.calculateTransferable)(availableBalance.toFixed(), marginBalance)
526
+ ? (0, perps_sdk_1.calculateTransferable)(availableBalance, marginBalance)
489
527
  : '0',
490
528
  };
491
529
  });
492
530
  const balances = heldAssets.map((a) => {
493
531
  if (isPooled(a)) {
494
- const units = (0, settlementPool_js_1.pooledSettlementUnits)(a).toFixed();
532
+ const units = (0, settlementPool_js_1.pooledSettlementUnits)(a);
495
533
  return {
496
534
  ...toBalance(a, constants_js_1.LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), units),
497
- transferable: (0, perps_sdk_1.calculateTransferable)((0, settlementPool_js_1.pooledSettlementSpendable)(a, availableBalance).toFixed(), units),
535
+ transferable: (0, perps_sdk_1.calculateTransferable)((0, settlementPool_js_1.pooledSettlementSpendable)(a, availableBalance), units),
498
536
  };
499
537
  }
500
- const balance = (0, index_js_2.toRequiredBig)(a.balance, 'balance');
538
+ const balance = (0, perps_sdk_1.unknownToDecimalString)(a.balance, 'balance', providerKey);
501
539
  return {
502
- ...toBalance(a, constants_js_1.LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), (0, perps_sdk_1.isDecimalString)(a.balance) ? a.balance : balance.toFixed()),
503
- transferable: (0, perps_sdk_1.calculateTransferable)(balance
504
- .minus((0, index_js_2.toRequiredBig)(a.locked_balance, 'locked_balance'))
505
- .toFixed(), balance.toFixed()),
540
+ ...toBalance(a, constants_js_1.LIGHTER_SPOT_CATEGORY_ID, registryAsset(a), balance),
541
+ transferable: (0, perps_sdk_1.calculateTransferable)((0, perps_sdk_1.subtractDecimalString)(balance, (0, perps_sdk_1.unknownToDecimalString)(a.locked_balance, 'locked_balance', providerKey)), balance),
506
542
  };
507
543
  });
508
544
  const assetCollateral = account.assets.flatMap((a) => a.margin_mode === undefined
@@ -538,8 +574,12 @@ const createLighterProvider = (deployment, options = {}) => {
538
574
  balances,
539
575
  collateralBalances,
540
576
  positions,
541
- marginUsed: totalMarginUsed.toFixed(),
542
- unrealizedPnl: totalUnrealizedPnl.toFixed(),
577
+ ...(totalMarginUsed === undefined
578
+ ? {}
579
+ : { marginUsed: totalMarginUsed }),
580
+ ...(totalUnrealizedPnl === undefined
581
+ ? {}
582
+ : { unrealizedPnl: totalUnrealizedPnl }),
543
583
  feeTier: limitsResult === undefined
544
584
  ? ZERO_FEE_TIER
545
585
  : projectFeeTier(limitsResult),
@@ -553,8 +593,21 @@ const createLighterProvider = (deployment, options = {}) => {
553
593
  return (0, depositFlow_js_1.lighterDepositFlow)(providerKey, await resolveAccountExists(params.address, opts));
554
594
  },
555
595
  async getWithdrawableBalances(params, opts) {
556
- const account = await (0, index_js_2.fetchDetailedAccount)(apiClient(opts), params.address);
557
- return (0, index_js_2.lighterWithdrawableBalances)(account, collateral.assetIndex);
596
+ const [account, categoryId] = await Promise.all([
597
+ (0, index_js_2.fetchDetailedAccount)(apiClient(opts), params.address),
598
+ perpsCategoryId(),
599
+ ]);
600
+ return (0, index_js_2.lighterWithdrawableBalances)(account, collateral.assetIndex, categoryId);
601
+ },
602
+ async getWithdrawalTypes(params, opts) {
603
+ const client = apiClient(opts);
604
+ const [account, categoryId] = await Promise.all([
605
+ (0, index_js_2.fetchDetailedAccount)(client, params.address),
606
+ perpsCategoryId(),
607
+ ]);
608
+ const rows = (0, index_js_2.lighterWithdrawableBalances)(account, collateral.assetIndex, categoryId);
609
+ const fast = await readFastWithdrawal(client, params.address, account.index);
610
+ return (0, index_js_2.lighterWithdrawalTypes)(rows, { categoryId, asset: { id: String(collateral.assetIndex) } }, fast);
558
611
  },
559
612
  async getPositions(params, opts) {
560
613
  const client = apiClient(opts);
@@ -582,8 +635,7 @@ const createLighterProvider = (deployment, options = {}) => {
582
635
  }
583
636
  const account = await plugin.getAccount({ address: params.address }, opts);
584
637
  const config = (0, accountSummary_js_1.lighterConfig)(account);
585
- const crossFreeCollateral = (0, index_js_2.toRequiredBig)(config.crossAssetValue, 'crossAssetValue').minus((0, index_js_2.toRequiredBig)(config.crossInitialMarginRequirement, 'crossInitialMarginRequirement'));
586
- return (0, availableToTrade_js_1.lighterAvailableToTrade)(market, crossFreeCollateral.toFixed(), account.positions);
638
+ return (0, availableToTrade_js_1.lighterAvailableToTrade)(market, (0, perps_sdk_1.subtractDecimalString)((0, perps_sdk_1.unknownToDecimalString)(config.crossAssetValue, 'crossAssetValue', providerKey), (0, perps_sdk_1.unknownToDecimalString)(config.crossInitialMarginRequirement, 'crossInitialMarginRequirement', providerKey)), account.positions);
587
639
  },
588
640
  async getMarketSettings(params, opts) {
589
641
  const { marketId, categoryId } = params.market;
@@ -595,7 +647,7 @@ const createLighterProvider = (deployment, options = {}) => {
595
647
  const row = account?.positions.find((p) => String(p.market_id) === marketId);
596
648
  const leverage = row === undefined
597
649
  ? undefined
598
- : (0, index_js_2.leverageFromImf)((0, index_js_2.toRequiredBig)(row.initial_margin_fraction, 'initial_margin_fraction').toFixed());
650
+ : (0, index_js_2.leverageFromImf)((0, perps_sdk_1.unknownToDecimalString)(row.initial_margin_fraction, 'initial_margin_fraction', providerKey));
599
651
  if (row === undefined || leverage === undefined) {
600
652
  return resolveDefaultMarketSettings(marketId);
601
653
  }
@@ -659,7 +711,7 @@ const createLighterProvider = (deployment, options = {}) => {
659
711
  continue;
660
712
  }
661
713
  const order = (0, index_js_2.mapOrder)(raw, market);
662
- if (statuses.has(order.status)) {
714
+ if (order !== undefined && statuses.has(order.status)) {
663
715
  orders.push(order);
664
716
  }
665
717
  }
@@ -686,7 +738,14 @@ const createLighterProvider = (deployment, options = {}) => {
686
738
  registry.sync(),
687
739
  ]);
688
740
  const notFound = () => new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.OrderNotFound, `Lighter order ${params.id} not found for ${params.address}`);
689
- const detail = (order) => (0, index_js_2.mapOrder)(order, registry.require(String(order.market_index)));
741
+ const mapDetail = (order) => (0, index_js_2.mapOrder)(order, registry.require(String(order.market_index)));
742
+ const detail = (order) => {
743
+ const mapped = mapDetail(order);
744
+ if (mapped === undefined) {
745
+ throw notFound();
746
+ }
747
+ return mapped;
748
+ };
690
749
  if (TX_HASH_PATTERN.test(params.id)) {
691
750
  throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.OrderNotFound, `Lighter order id "${params.id}" looks like a tx hash. The SDK ` +
692
751
  `resolves orders by Lighter \`order_index\` or by a ` +
@@ -703,7 +762,7 @@ const createLighterProvider = (deployment, options = {}) => {
703
762
  const orders = await retryOnRevoked(params.address, token, (t) => fetchOrdersByClientOrderIndex(client, t, account.index, clientOrderIndex));
704
763
  const matches = orders
705
764
  .filter((o) => String(o.client_order_index) === clientOrderIndex)
706
- .map(detail);
765
+ .flatMap((o) => mapDetail(o) ?? []);
707
766
  const hit = matches.find((o) => (0, perps_sdk_1.isActiveOrderStatus)(o.status)) ?? matches[0];
708
767
  if (hit === undefined) {
709
768
  throw notFound();
@@ -747,10 +806,8 @@ const createLighterProvider = (deployment, options = {}) => {
747
806
  const response = await retryOnRevoked(params.address, token, (tok) => client.getAuthed('/api/v1/trades', tok, queryParams));
748
807
  const items = (0, wireList_js_1.wireList)(response.trades).flatMap((t) => {
749
808
  const market = registry.get(String(t.market_id));
750
- if (market === undefined) {
751
- return [];
752
- }
753
- return [(0, index_js_2.mapFill)(t, account.index, market)];
809
+ const mapped = market && (0, index_js_2.mapFill)(t, account.index, market);
810
+ return mapped ? [mapped] : [];
754
811
  });
755
812
  return {
756
813
  provider: providerKey,
@@ -781,17 +838,8 @@ const createLighterProvider = (deployment, options = {}) => {
781
838
  ignore_transfers: false,
782
839
  };
783
840
  const read = (tok) => client.getAuthed('/api/v1/pnl', tok, queryParams);
784
- const response = await retryOnRevoked(params.address, token, read).catch(async (err) => {
785
- if (!(err instanceof apiClient_js_1.LighterAuthRejectedError) || apiKey === null) {
786
- throw err;
787
- }
788
- const current = (await keyStore.get(params.address)) ?? apiKey;
789
- return read(await getStandardAuthToken(params.address, current.apiKeyPrivateKey, {
790
- apiKeyIndex: current.apiKeyIndex,
791
- accountIndex: current.accountIndex,
792
- }));
793
- });
794
- return (0, index_js_2.mapPortfolioHistory)(params.range, (0, wireList_js_1.wireList)(response.pnl), new big_js_1.default((0, accountSummary_js_1.getAccountSummary)(account, account.positions).portfolioValue));
841
+ const response = await retryWithStandardToken(params.address, apiKey, token, read);
842
+ return (0, index_js_2.mapPortfolioHistory)(params.range, (0, wireList_js_1.wireList)(response.pnl), (0, accountSummary_js_1.getAccountSummary)(account, account.positions).portfolioValue);
795
843
  },
796
844
  async getActivity(params, opts) {
797
845
  const token = await requireAuthToken('activity read', params.address);
@@ -851,8 +899,8 @@ const createLighterProvider = (deployment, options = {}) => {
851
899
  if (market === undefined) {
852
900
  return [];
853
901
  }
854
- const price = (0, index_js_2.toBigOrNull)(l.trade.price);
855
- const size = (0, index_js_2.toBigOrNull)(l.trade.size);
902
+ const notional = (0, perps_sdk_1.safeMultiplyDecimalString)(l.trade.price, l.trade.size);
903
+ const liquidatedNotionalPosition = notional === undefined ? undefined : (0, perps_sdk_1.safeAbsDecimalString)(notional);
856
904
  const marginMode = (0, wireList_js_1.wireList)(l.info.positions).find((p) => p.market_id === l.market_id)?.margin_mode;
857
905
  const leverageType = marginMode === index_js_1.LT_MARGIN_MODE_ISOLATED
858
906
  ? 'isolated'
@@ -866,14 +914,9 @@ const createLighterProvider = (deployment, options = {}) => {
866
914
  provider: providerKey,
867
915
  timestamp: (0, index_js_2.toIsoFromMs)(l.executed_at),
868
916
  type: perps_types_1.ActivityType.LIQUIDATION,
869
- ...(price === null || size === null
917
+ ...(liquidatedNotionalPosition === undefined
870
918
  ? {}
871
- : {
872
- liquidatedNotionalPosition: price
873
- .times(size)
874
- .abs()
875
- .toFixed(),
876
- }),
919
+ : { liquidatedNotionalPosition }),
877
920
  ...(accountValue === undefined ? {} : { accountValue }),
878
921
  ...(leverageType === undefined ? {} : { leverageType }),
879
922
  liquidatedPositions: [{ market, size: l.trade.size }],
@@ -929,7 +972,7 @@ const createLighterProvider = (deployment, options = {}) => {
929
972
  },
930
973
  snapOrderPrice: index_js_2.snapOrderPrice,
931
974
  snapOrderSize: index_js_2.snapOrderSize,
932
- estimateLiquidationPrice: index_js_2.estimateLiquidationPrice,
975
+ estimateLiquidationPrice: perps_sdk_1.estimateLiquidationPriceAtMarketRate,
933
976
  positionRemovableMargin: index_js_2.positionRemovableMargin,
934
977
  projectConfig(config, setup) {
935
978
  if (config.provider !== providerKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"LighterProvider.js","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LighterProvider.js","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { AccountResponse, AccountSummary, LighterAccountConfig, Position } from '@lifi/perps-types';
2
- import Big from 'big.js';
3
2
  export declare const lighterConfig: (account: AccountResponse) => LighterAccountConfig;
4
- export declare const lighterPortfolioValue: (perpsEquity: Big, holdingValuesUsd: readonly string[]) => Big;
3
+ export declare const lighterPortfolioValue: (perpsEquity: string, holdingValuesUsd: readonly string[]) => string;
5
4
  export declare function getAccountSummary(account: AccountResponse, positions: Position[]): AccountSummary;
6
5
  //# sourceMappingURL=accountSummary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAcxB,eAAO,MAAM,aAAa,GACxB,SAAS,eAAe,KACvB,oBAYF,CAAA;AAKD,eAAO,MAAM,qBAAqB,GAChC,aAAa,GAAG,EAChB,kBAAkB,SAAS,MAAM,EAAE,KAClC,GAIA,CAAA;AAUH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAkChB"}
1
+ {"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAc1B,eAAO,MAAM,aAAa,GACxB,SAAS,eAAe,KACvB,oBAYF,CAAA;AAKD,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,kBAAkB,SAAS,MAAM,EAAE,KAClC,MAQA,CAAA;AAUH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CA8ChB"}
@@ -1,16 +1,11 @@
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.lighterPortfolioValue = exports.lighterConfig = void 0;
7
4
  exports.getAccountSummary = getAccountSummary;
8
5
  const perps_sdk_1 = require("@lifi/perps-sdk");
9
6
  const perps_types_1 = require("@lifi/perps-types");
10
- const big_js_1 = __importDefault(require("big.js"));
11
7
  const availableToTrade_js_1 = require("./availableToTrade.js");
12
8
  const constants_js_1 = require("./constants.js");
13
- const decimal_js_1 = require("./utils/decimal.js");
14
9
  const lighterConfig = (account) => {
15
10
  const { config } = account;
16
11
  if (config.provider !== constants_js_1.LIGHTER_PROVIDER_KEY &&
@@ -20,24 +15,22 @@ const lighterConfig = (account) => {
20
15
  return config;
21
16
  };
22
17
  exports.lighterConfig = lighterConfig;
23
- const lighterPortfolioValue = (perpsEquity, holdingValuesUsd) => holdingValuesUsd.reduce((sum, valueUsd) => sum.plus((0, decimal_js_1.toRequiredBig)(valueUsd, 'valueUsd')), perpsEquity);
18
+ const lighterPortfolioValue = (perpsEquity, holdingValuesUsd) => holdingValuesUsd.reduce((sum, valueUsd) => (0, perps_sdk_1.addDecimalString)(sum, (0, perps_sdk_1.unknownToDecimalString)(valueUsd, 'valueUsd', constants_js_1.LIGHTER_PROVIDER_KEY)), perpsEquity);
24
19
  exports.lighterPortfolioValue = lighterPortfolioValue;
25
20
  function getAccountSummary(account, positions) {
26
21
  const config = (0, exports.lighterConfig)(account);
27
22
  const settlement = constants_js_1.LIGHTER_COLLATERAL_ASSETS[config.provider];
28
23
  const holdings = [...account.balances, ...account.collateralBalances].filter(({ asset }) => asset.id !== String(settlement.assetIndex) &&
29
24
  asset.id !== settlement.displaySymbol);
30
- let marginUsed = new big_js_1.default(0);
31
- let unrealizedPnl = new big_js_1.default(0);
32
- for (const position of positions) {
33
- marginUsed = marginUsed.plus(position.marginUsed);
34
- unrealizedPnl = unrealizedPnl.plus(position.unrealizedPnl);
35
- }
36
25
  return {
37
- portfolioValue: (0, exports.lighterPortfolioValue)((0, decimal_js_1.toRequiredBig)(config.totalAssetValue, 'totalAssetValue').plus((0, decimal_js_1.toRequiredBig)(config.collateralSpotBalance, 'collateralSpotBalance')), holdings.map((balance) => balance.valueUsd)).toFixed(),
38
- availableMargin: (0, availableToTrade_js_1.atLeastZero)((0, decimal_js_1.toRequiredBig)(config.crossAssetValue, 'crossAssetValue').minus((0, decimal_js_1.toRequiredBig)(config.crossInitialMarginRequirement, 'crossInitialMarginRequirement'))).toFixed(),
39
- marginUsed: marginUsed.toFixed(),
40
- unrealizedPnl: unrealizedPnl.toFixed(),
26
+ portfolioValue: (0, exports.lighterPortfolioValue)((0, perps_sdk_1.addDecimalString)((0, perps_sdk_1.unknownToDecimalString)(config.totalAssetValue, 'totalAssetValue', constants_js_1.LIGHTER_PROVIDER_KEY), (0, perps_sdk_1.unknownToDecimalString)(config.collateralSpotBalance, 'collateralSpotBalance', constants_js_1.LIGHTER_PROVIDER_KEY)), holdings.map((balance) => balance.valueUsd)),
27
+ availableMargin: (0, availableToTrade_js_1.atLeastZero)((0, perps_sdk_1.subtractDecimalString)((0, perps_sdk_1.unknownToDecimalString)(config.crossAssetValue, 'crossAssetValue', constants_js_1.LIGHTER_PROVIDER_KEY), (0, perps_sdk_1.unknownToDecimalString)(config.crossInitialMarginRequirement, 'crossInitialMarginRequirement', constants_js_1.LIGHTER_PROVIDER_KEY))),
28
+ marginUsed: positions
29
+ .map((p) => p.marginUsed)
30
+ .reduce(perps_sdk_1.addDecimalString, '0'),
31
+ unrealizedPnl: positions
32
+ .map((p) => p.unrealizedPnl)
33
+ .reduce(perps_sdk_1.addDecimalString, '0'),
41
34
  };
42
35
  }
43
36
  //# sourceMappingURL=accountSummary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":";;;;;;AA0DA,8CAqCC;AA/FD,+CAA4C;AAO5C,mDAAkD;AAClD,oDAAwB;AACxB,+DAAmD;AACnD,iDAIuB;AACvB,mDAAkD;AAO3C,MAAM,aAAa,GAAG,CAC3B,OAAwB,EACF,EAAE;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAC1B,IACE,MAAM,CAAC,QAAQ,KAAK,mCAAoB;QACxC,MAAM,CAAC,QAAQ,KAAK,sCAAuB,EAC3C,CAAC;QACD,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,uCAAuC,MAAM,CAAC,QAAQ,kBAAkB,CACzE,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAdY,QAAA,aAAa,iBAczB;AAKM,MAAM,qBAAqB,GAAG,CACnC,WAAgB,EAChB,gBAAmC,EAC9B,EAAE,CACP,gBAAgB,CAAC,MAAM,CACrB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAA,0BAAa,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EAChE,WAAW,CACZ,CAAA;AAPU,QAAA,qBAAqB,yBAO/B;AAUH,SAAgB,iBAAiB,CAC/B,OAAwB,EACxB,SAAqB;IAErB,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,wCAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAC1E,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACZ,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,aAAa,CACxC,CAAA;IAED,IAAI,UAAU,GAAG,IAAI,gBAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,aAAa,GAAG,IAAI,gBAAG,CAAC,CAAC,CAAC,CAAA;IAC9B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QACjD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC5D,CAAC;IAED,OAAO;QACL,cAAc,EAAE,IAAA,6BAAqB,EACnC,IAAA,0BAAa,EAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAC3D,IAAA,0BAAa,EAAC,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CACrE,EACD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC5C,CAAC,OAAO,EAAE;QACX,eAAe,EAAE,IAAA,iCAAW,EAC1B,IAAA,0BAAa,EAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,KAAK,CAC5D,IAAA,0BAAa,EACX,MAAM,CAAC,6BAA6B,EACpC,+BAA+B,CAChC,CACF,CACF,CAAC,OAAO,EAAE;QACX,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE;QAChC,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;KACvC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":";;;AAiEA,8CAiDC;AAlHD,+CAKwB;AAOxB,mDAAkD;AAClD,+DAAmD;AACnD,iDAIuB;AAOhB,MAAM,aAAa,GAAG,CAC3B,OAAwB,EACF,EAAE;IACxB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAC1B,IACE,MAAM,CAAC,QAAQ,KAAK,mCAAoB;QACxC,MAAM,CAAC,QAAQ,KAAK,sCAAuB,EAC3C,CAAC;QACD,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,uCAAuC,MAAM,CAAC,QAAQ,kBAAkB,CACzE,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAdY,QAAA,aAAa,iBAczB;AAKM,MAAM,qBAAqB,GAAG,CACnC,WAAmB,EACnB,gBAAmC,EAC3B,EAAE,CACV,gBAAgB,CAAC,MAAM,CACrB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAChB,IAAA,4BAAgB,EACd,GAAG,EACH,IAAA,kCAAsB,EAAC,QAAQ,EAAE,UAAU,EAAE,mCAAoB,CAAC,CACnE,EACH,WAAW,CACZ,CAAA;AAXU,QAAA,qBAAqB,yBAW/B;AAUH,SAAgB,iBAAiB,CAC/B,OAAwB,EACxB,SAAqB;IAErB,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,wCAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAC1E,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACZ,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,aAAa,CACxC,CAAA;IAED,OAAO;QACL,cAAc,EAAE,IAAA,6BAAqB,EACnC,IAAA,4BAAgB,EACd,IAAA,kCAAsB,EACpB,MAAM,CAAC,eAAe,EACtB,iBAAiB,EACjB,mCAAoB,CACrB,EACD,IAAA,kCAAsB,EACpB,MAAM,CAAC,qBAAqB,EAC5B,uBAAuB,EACvB,mCAAoB,CACrB,CACF,EACD,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC5C;QACD,eAAe,EAAE,IAAA,iCAAW,EAC1B,IAAA,iCAAqB,EACnB,IAAA,kCAAsB,EACpB,MAAM,CAAC,eAAe,EACtB,iBAAiB,EACjB,mCAAoB,CACrB,EACD,IAAA,kCAAsB,EACpB,MAAM,CAAC,6BAA6B,EACpC,+BAA+B,EAC/B,mCAAoB,CACrB,CACF,CACF;QACD,UAAU,EAAE,SAAS;aAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;aACxB,MAAM,CAAC,4BAAgB,EAAE,GAAG,CAAC;QAChC,aAAa,EAAE,SAAS;aACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;aAC3B,MAAM,CAAC,4BAAgB,EAAE,GAAG,CAAC;KACjC,CAAA;AACH,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { AvailableToTrade, Market, Position } from '@lifi/perps-types';
2
- import Big from 'big.js';
3
- export declare const atLeastZero: (value: Big) => Big;
2
+ export declare const atLeastZero: (value: string) => string;
4
3
  export declare const lighterAvailableToTrade: (market: Market, availableMargin: string, positions: readonly Position[]) => AvailableToTrade;
5
4
  //# sourceMappingURL=availableToTrade.d.ts.map