@lifi/perps-sdk-provider-lighter 36.0.0 → 37.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/cjs/LighterProvider.d.ts.map +1 -1
  2. package/dist/cjs/LighterProvider.js +10 -10
  3. package/dist/cjs/LighterProvider.js.map +1 -1
  4. package/dist/cjs/accountSummary.d.ts.map +1 -1
  5. package/dist/cjs/accountSummary.js +13 -6
  6. package/dist/cjs/accountSummary.js.map +1 -1
  7. package/dist/cjs/types/activity.d.ts.map +1 -1
  8. package/dist/cjs/types/fill.d.ts +5 -0
  9. package/dist/cjs/types/fill.d.ts.map +1 -1
  10. package/dist/cjs/types/ws.d.ts.map +1 -1
  11. package/dist/cjs/utils/fundingRate.d.ts +2 -0
  12. package/dist/cjs/utils/fundingRate.d.ts.map +1 -0
  13. package/dist/cjs/utils/fundingRate.js +8 -0
  14. package/dist/cjs/utils/fundingRate.js.map +1 -0
  15. package/dist/cjs/utils/index.d.ts +1 -1
  16. package/dist/cjs/utils/index.d.ts.map +1 -1
  17. package/dist/cjs/utils/index.js +1 -3
  18. package/dist/cjs/utils/index.js.map +1 -1
  19. package/dist/cjs/utils/mapFill.js +3 -3
  20. package/dist/cjs/utils/mapFill.js.map +1 -1
  21. package/dist/cjs/utils/mapMarketContext.d.ts.map +1 -1
  22. package/dist/cjs/utils/mapMarketContext.js +13 -4
  23. package/dist/cjs/utils/mapMarketContext.js.map +1 -1
  24. package/dist/cjs/utils/mapOpenPositions.d.ts +1 -2
  25. package/dist/cjs/utils/mapOpenPositions.d.ts.map +1 -1
  26. package/dist/cjs/utils/mapOpenPositions.js +1 -13
  27. package/dist/cjs/utils/mapOpenPositions.js.map +1 -1
  28. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  29. package/dist/cjs/utils/mapOrder.js +31 -47
  30. package/dist/cjs/utils/mapOrder.js.map +1 -1
  31. package/dist/cjs/utils/mapPosition.d.ts.map +1 -1
  32. package/dist/cjs/utils/mapPosition.js +34 -16
  33. package/dist/cjs/utils/mapPosition.js.map +1 -1
  34. package/dist/cjs/utils/transferMargin.js +1 -1
  35. package/dist/cjs/utils/transferMargin.js.map +1 -1
  36. package/dist/cjs/utils/wireEncoding.d.ts +0 -2
  37. package/dist/cjs/utils/wireEncoding.d.ts.map +1 -1
  38. package/dist/cjs/utils/wireEncoding.js +1 -15
  39. package/dist/cjs/utils/wireEncoding.js.map +1 -1
  40. package/dist/cjs/websocket/LighterWsProvider.d.ts.map +1 -1
  41. package/dist/cjs/websocket/LighterWsProvider.js +46 -26
  42. package/dist/cjs/websocket/LighterWsProvider.js.map +1 -1
  43. package/dist/cjs/websocket/orderBookSide.d.ts +2 -1
  44. package/dist/cjs/websocket/orderBookSide.d.ts.map +1 -1
  45. package/dist/cjs/websocket/orderBookSide.js +5 -3
  46. package/dist/cjs/websocket/orderBookSide.js.map +1 -1
  47. package/dist/esm/LighterProvider.d.ts.map +1 -1
  48. package/dist/esm/LighterProvider.js +13 -13
  49. package/dist/esm/LighterProvider.js.map +1 -1
  50. package/dist/esm/accountSummary.d.ts.map +1 -1
  51. package/dist/esm/accountSummary.js +14 -7
  52. package/dist/esm/accountSummary.js.map +1 -1
  53. package/dist/esm/types/activity.d.ts +1 -0
  54. package/dist/esm/types/activity.d.ts.map +1 -1
  55. package/dist/esm/types/fill.d.ts +5 -0
  56. package/dist/esm/types/fill.d.ts.map +1 -1
  57. package/dist/esm/types/ws.d.ts +2 -0
  58. package/dist/esm/types/ws.d.ts.map +1 -1
  59. package/dist/esm/utils/fundingRate.d.ts +8 -0
  60. package/dist/esm/utils/fundingRate.d.ts.map +1 -0
  61. package/dist/esm/utils/fundingRate.js +10 -0
  62. package/dist/esm/utils/fundingRate.js.map +1 -0
  63. package/dist/esm/utils/index.d.ts +1 -1
  64. package/dist/esm/utils/index.d.ts.map +1 -1
  65. package/dist/esm/utils/index.js +1 -1
  66. package/dist/esm/utils/index.js.map +1 -1
  67. package/dist/esm/utils/mapFill.js +3 -3
  68. package/dist/esm/utils/mapFill.js.map +1 -1
  69. package/dist/esm/utils/mapMarketContext.d.ts +2 -1
  70. package/dist/esm/utils/mapMarketContext.d.ts.map +1 -1
  71. package/dist/esm/utils/mapMarketContext.js +15 -5
  72. package/dist/esm/utils/mapMarketContext.js.map +1 -1
  73. package/dist/esm/utils/mapOpenPositions.d.ts +1 -8
  74. package/dist/esm/utils/mapOpenPositions.d.ts.map +1 -1
  75. package/dist/esm/utils/mapOpenPositions.js +1 -18
  76. package/dist/esm/utils/mapOpenPositions.js.map +1 -1
  77. package/dist/esm/utils/mapOrder.d.ts +6 -3
  78. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  79. package/dist/esm/utils/mapOrder.js +39 -51
  80. package/dist/esm/utils/mapOrder.js.map +1 -1
  81. package/dist/esm/utils/mapPortfolioHistory.d.ts +2 -2
  82. package/dist/esm/utils/mapPortfolioHistory.js +2 -2
  83. package/dist/esm/utils/mapPosition.d.ts +4 -3
  84. package/dist/esm/utils/mapPosition.d.ts.map +1 -1
  85. package/dist/esm/utils/mapPosition.js +39 -20
  86. package/dist/esm/utils/mapPosition.js.map +1 -1
  87. package/dist/esm/utils/transferMargin.js +1 -1
  88. package/dist/esm/utils/transferMargin.js.map +1 -1
  89. package/dist/esm/utils/wireEncoding.d.ts +2 -28
  90. package/dist/esm/utils/wireEncoding.d.ts.map +1 -1
  91. package/dist/esm/utils/wireEncoding.js +2 -38
  92. package/dist/esm/utils/wireEncoding.js.map +1 -1
  93. package/dist/esm/websocket/LighterWsProvider.d.ts.map +1 -1
  94. package/dist/esm/websocket/LighterWsProvider.js +56 -27
  95. package/dist/esm/websocket/LighterWsProvider.js.map +1 -1
  96. package/dist/esm/websocket/orderBookSide.d.ts +3 -2
  97. package/dist/esm/websocket/orderBookSide.d.ts.map +1 -1
  98. package/dist/esm/websocket/orderBookSide.js +5 -3
  99. package/dist/esm/websocket/orderBookSide.js.map +1 -1
  100. package/dist/types/LighterProvider.d.ts.map +1 -1
  101. package/dist/types/accountSummary.d.ts.map +1 -1
  102. package/dist/types/types/activity.d.ts +1 -0
  103. package/dist/types/types/activity.d.ts.map +1 -1
  104. package/dist/types/types/fill.d.ts +5 -0
  105. package/dist/types/types/fill.d.ts.map +1 -1
  106. package/dist/types/types/ws.d.ts +2 -0
  107. package/dist/types/types/ws.d.ts.map +1 -1
  108. package/dist/types/utils/fundingRate.d.ts +8 -0
  109. package/dist/types/utils/fundingRate.d.ts.map +1 -0
  110. package/dist/types/utils/index.d.ts +1 -1
  111. package/dist/types/utils/index.d.ts.map +1 -1
  112. package/dist/types/utils/mapMarketContext.d.ts +2 -1
  113. package/dist/types/utils/mapMarketContext.d.ts.map +1 -1
  114. package/dist/types/utils/mapOpenPositions.d.ts +1 -8
  115. package/dist/types/utils/mapOpenPositions.d.ts.map +1 -1
  116. package/dist/types/utils/mapOrder.d.ts +6 -3
  117. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  118. package/dist/types/utils/mapPortfolioHistory.d.ts +2 -2
  119. package/dist/types/utils/mapPosition.d.ts +4 -3
  120. package/dist/types/utils/mapPosition.d.ts.map +1 -1
  121. package/dist/types/utils/wireEncoding.d.ts +2 -28
  122. package/dist/types/utils/wireEncoding.d.ts.map +1 -1
  123. package/dist/types/websocket/LighterWsProvider.d.ts.map +1 -1
  124. package/dist/types/websocket/orderBookSide.d.ts +3 -2
  125. package/dist/types/websocket/orderBookSide.d.ts.map +1 -1
  126. package/package.json +3 -3
  127. package/src/LighterProvider.ts +22 -22
  128. package/src/accountSummary.ts +27 -6
  129. package/src/types/activity.ts +1 -0
  130. package/src/types/fill.ts +5 -0
  131. package/src/types/ws.ts +2 -0
  132. package/src/utils/fundingRate.ts +12 -0
  133. package/src/utils/index.ts +0 -2
  134. package/src/utils/mapFill.ts +3 -3
  135. package/src/utils/mapMarketContext.ts +18 -5
  136. package/src/utils/mapOpenPositions.ts +2 -30
  137. package/src/utils/mapOrder.ts +53 -71
  138. package/src/utils/mapPortfolioHistory.ts +2 -2
  139. package/src/utils/mapPosition.ts +50 -23
  140. package/src/utils/transferMargin.ts +1 -1
  141. package/src/utils/wireEncoding.ts +2 -43
  142. package/src/websocket/LighterWsProvider.ts +100 -60
  143. package/src/websocket/orderBookSide.ts +17 -4
@@ -34,7 +34,9 @@ export type LtWsMarketStats = {
34
34
  mid_price: string;
35
35
  open_interest: string;
36
36
  last_trade_price: string;
37
+ /** Estimated next hourly funding rate, in percent. */
37
38
  current_funding_rate: string;
39
+ /** Last settled hourly funding rate, in percent. */
38
40
  funding_rate: string;
39
41
  funding_timestamp: number;
40
42
  daily_base_token_volume: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../../src/types/ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../../../src/types/ws.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Convert a Lighter funding rate, which the venue publishes in percent
3
+ * (`'0.0012'` is 0.0012 %), to the decimal fraction the SDK funding fields
4
+ * carry (`'0.000012'`). `undefined` with a warning when `percent` does not
5
+ * match the decimal pattern.
6
+ */
7
+ export declare const fundingPercentToFraction: (percent: string) => string | undefined;
8
+ //# sourceMappingURL=fundingRate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundingRate.d.ts","sourceRoot":"","sources":["../../../src/utils/fundingRate.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SACf,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { safeDivideDecimalString } from '@lifi/perps-sdk';
2
+ const PERCENT_PER_WHOLE = '100';
3
+ /**
4
+ * Convert a Lighter funding rate, which the venue publishes in percent
5
+ * (`'0.0012'` is 0.0012 %), to the decimal fraction the SDK funding fields
6
+ * carry (`'0.000012'`). `undefined` with a warning when `percent` does not
7
+ * match the decimal pattern.
8
+ */
9
+ export const fundingPercentToFraction = (percent) => safeDivideDecimalString(percent, PERCENT_PER_WHOLE);
10
+ //# sourceMappingURL=fundingRate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fundingRate.js","sourceRoot":"","sources":["../../../src/utils/fundingRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAE/B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAsB,EAAE,CAC9E,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA"}
@@ -15,7 +15,7 @@ export { mapInterval } from './ohlcvInterval.js';
15
15
  export { snapOrderPrice, snapOrderSize } from './orderFormatting.js';
16
16
  export { toIsoFromMs, toIsoFromSeconds } from './time.js';
17
17
  export { positionRemovableMargin } from './transferMargin.js';
18
- export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
18
+ export { mapOrderTypeToInt, mapTimeInForceToInt, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
19
19
  export { lighterWithdrawableBalances } from './withdrawableBalances.js';
20
20
  export type { LighterFastWithdrawal, LighterWithdrawalOptions, } from './withdrawalTypes.js';
21
21
  export { lighterFastWithdrawal, lighterWithdrawalTypes, } from './withdrawalTypes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,YAAY,EACV,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,YAAY,EACV,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA"}
@@ -17,7 +17,7 @@ export { mapInterval } from './ohlcvInterval.js';
17
17
  export { snapOrderPrice, snapOrderSize } from './orderFormatting.js';
18
18
  export { toIsoFromMs, toIsoFromSeconds } from './time.js';
19
19
  export { positionRemovableMargin } from './transferMargin.js';
20
- export { leverageToFraction, mapOrderTypeToInt, mapTimeInForceToInt, marginFractionToMaxLeverage, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
20
+ export { mapOrderTypeToInt, mapTimeInForceToInt, orderExpiryForTif, resolveTimeInForce, } from './wireEncoding.js';
21
21
  export { lighterWithdrawableBalances } from './withdrawableBalances.js';
22
22
  export { lighterFastWithdrawal, lighterWithdrawalTypes, } from './withdrawalTypes.js';
23
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,oDAAoD;AAGpD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAKvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,oDAAoD;AAGpD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AAKvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA"}
@@ -78,7 +78,7 @@ export const mapFill = (trade, accountIndex, market) => {
78
78
  const { size, price } = trade;
79
79
  const createdAt = rowTimestampToIsoStringOrUndefined(trade.timestamp);
80
80
  if (createdAt === undefined) {
81
- warnSkippedVenueRow(LIGHTER_PROVIDER_KEY, 'fill', 'timestamp', trade.timestamp, 'timestamp');
81
+ warnSkippedVenueRow(LIGHTER_PROVIDER_KEY, 'fill', 'timestamp', trade.timestamp, { marketId: market.id, expected: 'timestamp' });
82
82
  return undefined;
83
83
  }
84
84
  const isBuyer = trade.bid_account_id === accountIndex;
@@ -103,8 +103,8 @@ export const mapFill = (trade, accountIndex, market) => {
103
103
  ? undefined
104
104
  : tickToFeeAmount(trade.usd_amount, feeTick, integratorFeeTick);
105
105
  return {
106
- id: trade.trade_id.toString(),
107
- orderId: String(isBuyer ? trade.bid_id : trade.ask_id),
106
+ id: trade.trade_id_str,
107
+ orderId: isBuyer ? trade.bid_id_str : trade.ask_id_str,
108
108
  market,
109
109
  side: isBuyer ? OrderSide.BUY : OrderSide.SELL,
110
110
  type: OrderType.LIMIT,
@@ -1 +1 @@
1
- {"version":3,"file":"mapFill.js","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapFill.js","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ import type { LtWsMarketStats, LtWsSpotMarketStats } from '../types/index.js';
4
4
  * Map a Lighter market-stats record to a {@link MarketContext}: `index_price`
5
5
  * is the oracle, `mid_price` the mid. Perp records carry the venue
6
6
  * `mark_price`, funding and open interest; spot records have none, so mark
7
- * falls back to the mid and the perp-only fields stay `undefined`.
7
+ * falls back to the mid and the perp-only fields stay `undefined`. The venue
8
+ * funding rate is hourly percent; `funding.rate` is its decimal fraction.
8
9
  * @public
9
10
  */
10
11
  export declare const mapMarketContext: (stats: LtWsMarketStats | LtWsSpotMarketStats) => MarketContext;
@@ -1 +1 @@
1
- {"version":3,"file":"mapMarketContext.d.ts","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AA6B7E;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,eAAe,GAAG,mBAAmB,KAC3C,aAuBF,CAAA"}
1
+ {"version":3,"file":"mapMarketContext.d.ts","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AA4C7E;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,eAAe,GAAG,mBAAmB,KAC3C,aAoBF,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { numberToDecimalString } from '@lifi/perps-sdk';
2
+ import { fundingPercentToFraction } from './fundingRate.js';
2
3
  const FUNDING_PERIOD_MS = 60 * 60 * 1000;
3
4
  const isPerpStats = (stats) => 'mark_price' in stats;
4
5
  const isFiniteFigure = (value) => typeof value === 'number' && Number.isFinite(value);
@@ -16,11 +17,23 @@ const dailyFigures = (stats) => ({
16
17
  ? { volume24h: numberToDecimalString(stats.daily_quote_token_volume) }
17
18
  : {}),
18
19
  });
20
+ const fundingInfo = (stats) => {
21
+ const rate = fundingPercentToFraction(stats.current_funding_rate);
22
+ return rate === undefined
23
+ ? {}
24
+ : {
25
+ funding: {
26
+ rate,
27
+ nextFundingTime: stats.funding_timestamp + FUNDING_PERIOD_MS,
28
+ },
29
+ };
30
+ };
19
31
  /**
20
32
  * Map a Lighter market-stats record to a {@link MarketContext}: `index_price`
21
33
  * is the oracle, `mid_price` the mid. Perp records carry the venue
22
34
  * `mark_price`, funding and open interest; spot records have none, so mark
23
- * falls back to the mid and the perp-only fields stay `undefined`.
35
+ * falls back to the mid and the perp-only fields stay `undefined`. The venue
36
+ * funding rate is hourly percent; `funding.rate` is its decimal fraction.
24
37
  * @public
25
38
  */
26
39
  export const mapMarketContext = (stats) => {
@@ -33,10 +46,7 @@ export const mapMarketContext = (stats) => {
33
46
  oraclePrice: stats.index_price,
34
47
  ...dailyFigures(stats),
35
48
  openInterest: stats.open_interest,
36
- funding: {
37
- rate: stats.current_funding_rate,
38
- nextFundingTime: stats.funding_timestamp + FUNDING_PERIOD_MS,
39
- },
49
+ ...fundingInfo(stats),
40
50
  };
41
51
  }
42
52
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"mapMarketContext.js","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAIvD,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAExC,MAAM,WAAW,GAAG,CAClB,KAA4C,EAClB,EAAE,CAAC,YAAY,IAAI,KAAK,CAAA;AAEpD,MAAM,cAAc,GAAG,CAAC,KAAgC,EAAmB,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAErD;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CAAC,KAGrB,EAAuD,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC1C,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;QACrE,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,wBAAwB,CAAC;QAChD,CAAC,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE;QACtE,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAA4C,EAC7B,EAAE;IACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACxC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,KAAK,CAAC,SAAS;YACzB,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,GAAG,YAAY,CAAC,KAAK,CAAC;YACtB,YAAY,EAAE,KAAK,CAAC,aAAa;YACjC,OAAO,EAAE;gBACP,IAAI,EAAE,KAAK,CAAC,oBAAoB;gBAChC,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,iBAAiB;aAC7D;SACF,CAAA;IACH,CAAC;IACD,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,YAAY,CAAC,KAAK,CAAC;KACvB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"mapMarketContext.js","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAGvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAExC,MAAM,WAAW,GAAG,CAClB,KAA4C,EAClB,EAAE,CAAC,YAAY,IAAI,KAAK,CAAA;AAEpD,MAAM,cAAc,GAAG,CAAC,KAAgC,EAAmB,EAAE,CAC3E,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAErD;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CAAC,KAGrB,EAAuD,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAC1C,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE;QACrE,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,wBAAwB,CAAC;QAChD,CAAC,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE;QACtE,CAAC,CAAC,EAAE,CAAC;CACR,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,CAClB,KAAsB,EACU,EAAE;IAClC,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACjE,OAAO,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,OAAO,EAAE;gBACP,IAAI;gBACJ,eAAe,EAAE,KAAK,CAAC,iBAAiB,GAAG,iBAAiB;aAC7D;SACF,CAAA;AACP,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAA4C,EAC7B,EAAE;IACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACxC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,KAAK,CAAC,SAAS;YACzB,SAAS,EAAE,KAAK,CAAC,UAAU;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,GAAG,YAAY,CAAC,KAAK,CAAC;YACtB,YAAY,EAAE,KAAK,CAAC,aAAa;YACjC,GAAG,WAAW,CAAC,KAAK,CAAC;SACtB,CAAA;IACH,CAAC;IACD,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,YAAY,CAAC,KAAK,CAAC;KACvB,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type PerpsMarketDisplay, type Position } from '@lifi/perps-types';
1
+ import type { PerpsMarketDisplay, Position } from '@lifi/perps-types';
2
2
  import type { LtAccountPosition } from '../types/index.js';
3
3
  /**
4
4
  * True when the Lighter position row has a non-zero size. A malformed size
@@ -15,11 +15,4 @@ export declare const isOpenPosition: (p: LtAccountPosition) => boolean;
15
15
  * @public
16
16
  */
17
17
  export declare const mapOpenPositions: (positions: LtAccountPosition[], resolveMarket: (marketId: number) => PerpsMarketDisplay) => Position[];
18
- /**
19
- * Map every open Lighter position for account totals, which must not leave a
20
- * position out.
21
- *
22
- * @throws {PerpsError} `SDKError` when `mapPosition` skips an open row.
23
- */
24
- export declare const requireOpenPositions: (positions: LtAccountPosition[], resolveMarket: (marketId: number) => PerpsMarketDisplay) => Position[];
25
18
  //# sourceMappingURL=mapOpenPositions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapOpenPositions.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOpenPositions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,GAAG,iBAAiB,KAAG,OACR,CAAA;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAC3B,WAAW,iBAAiB,EAAE,EAC9B,eAAe,CAAC,QAAQ,EAAE,MAAM,KAAK,kBAAkB,KACtD,QAAQ,EAIP,CAAA;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,iBAAiB,EAAE,EAC9B,eAAe,CAAC,QAAQ,EAAE,MAAM,KAAK,kBAAkB,KACtD,QAAQ,EAYP,CAAA"}
1
+ {"version":3,"file":"mapOpenPositions.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOpenPositions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,GAAG,iBAAiB,KAAG,OACR,CAAA;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAC3B,WAAW,iBAAiB,EAAE,EAC9B,eAAe,CAAC,QAAQ,EAAE,MAAM,KAAK,kBAAkB,KACtD,QAAQ,EAIP,CAAA"}
@@ -1,6 +1,4 @@
1
- import { PerpsError, safeIsDecimalStringZero } from '@lifi/perps-sdk';
2
- import { PerpsErrorCode, } from '@lifi/perps-types';
3
- import { LIGHTER_PROVIDER_KEY } from '../constants.js';
1
+ import { safeIsDecimalStringZero } from '@lifi/perps-sdk';
4
2
  import { mapPosition } from './mapPosition.js';
5
3
  /**
6
4
  * True when the Lighter position row has a non-zero size. A malformed size
@@ -20,19 +18,4 @@ export const mapOpenPositions = (positions, resolveMarket) => positions.filter(i
20
18
  const position = mapPosition(p, resolveMarket(p.market_id));
21
19
  return position === undefined ? [] : [position];
22
20
  });
23
- /**
24
- * Map every open Lighter position for account totals, which must not leave a
25
- * position out.
26
- *
27
- * @throws {PerpsError} `SDKError` when `mapPosition` skips an open row.
28
- */
29
- export const requireOpenPositions = (positions, resolveMarket) => positions.filter(isOpenPosition).map((p) => {
30
- const position = mapPosition(p, resolveMarket(p.market_id));
31
- if (position !== undefined) {
32
- return position;
33
- }
34
- const error = new PerpsError(PerpsErrorCode.SDKError, `${LIGHTER_PROVIDER_KEY} position for market ${p.market_id} is not valid, so the account totals are unknown.`);
35
- error.tool = LIGHTER_PROVIDER_KEY;
36
- throw error;
37
- });
38
21
  //# sourceMappingURL=mapOpenPositions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapOpenPositions.js","sourceRoot":"","sources":["../../../src/utils/mapOpenPositions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EACL,cAAc,GAGf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAoB,EAAW,EAAE,CAC9D,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAA8B,EAC9B,aAAuD,EAC3C,EAAE,CACd,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;IAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3D,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC,CAAC,CAAA;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAA8B,EAC9B,aAAuD,EAC3C,EAAE,CACd,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;IACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,cAAc,CAAC,QAAQ,EACvB,GAAG,oBAAoB,wBAAwB,CAAC,CAAC,SAAS,mDAAmD,CAC9G,CAAA;IACD,KAAK,CAAC,IAAI,GAAG,oBAAoB,CAAA;IACjC,MAAM,KAAK,CAAA;AACb,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"mapOpenPositions.js","sourceRoot":"","sources":["../../../src/utils/mapOpenPositions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAoB,EAAW,EAAE,CAC9D,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAA8B,EAC9B,aAAuD,EAC3C,EAAE,CACd,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;IAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3D,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;AACjD,CAAC,CAAC,CAAA"}
@@ -2,11 +2,14 @@ import type { MarketDisplay, Order } from '@lifi/perps-types';
2
2
  import type { LtOrder } from '../types/index.js';
3
3
  /**
4
4
  * Map a Lighter order with its venue identity, lifecycle, and execution fields.
5
- * A row with an invalid size or time gives `undefined`. An invalid limit price or
6
- * filled quote amount omits that field.
5
+ * Venue sizes and prices pass verbatim. A row with an invalid time gives
6
+ * `undefined`. An average price that cannot be derived is omitted.
7
7
  */
8
8
  export declare const mapOrder: (order: LtOrder, market: MarketDisplay) => Order | undefined;
9
- /** Include terminal rows and their ids so consumers can update history and active caches. */
9
+ /**
10
+ * Include terminal rows and their ids so consumers can update history and
11
+ * active caches. A row the mapper rejects is dropped and warns once.
12
+ */
10
13
  export declare const mapOrderUpdates: (rawOrders: LtOrder[], resolveMarket: (marketIndex: number) => MarketDisplay | undefined) => {
11
14
  orders: Order[];
12
15
  terminated: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAa,MAAM,mBAAmB,CAAA;AASxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AA2GhD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,OAAO,OAAO,EACd,QAAQ,aAAa,KACpB,KAAK,GAAG,SAmGV,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,eAAe,GAC1B,WAAW,OAAO,EAAE,EACpB,eAAe,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAChE;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAczC,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAa,MAAM,mBAAmB,CAAA;AASxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAkGhD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,OAAO,OAAO,EACd,QAAQ,aAAa,KACpB,KAAK,GAAG,SAwEV,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,OAAO,EAAE,EACpB,eAAe,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAChE;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CA6BzC,CAAA"}
@@ -1,7 +1,9 @@
1
- import { isActiveOrderStatus, isDecimalStringGreaterThan, PerpsError, safeDivideDecimalString, safeTimestampToIsoString, triggerConditionFor, unknownToDecimalString, warnSkippedVenueRow, } from '@lifi/perps-sdk';
1
+ import { isActiveOrderStatus, PerpsError, safeDivideDecimalString, safeIsDecimalStringGreaterThan, safeTimestampToIsoString, triggerConditionFor, warnSkippedVenueRow, wsLog, } from '@lifi/perps-sdk';
2
2
  import { OrderSide, OrderStatus, OrderType, PerpsErrorCode, TimeInForce, } from '@lifi/perps-types';
3
3
  import { LIGHTER_PROVIDER_KEY } from '../constants.js';
4
4
  import { rowTimestampToIsoStringOrUndefined } from './rowTimestamp.js';
5
+ // Lighter sends client index 0 as the string "0" for an order placed without one.
6
+ const NO_CLIENT_ORDER_ID = '0';
5
7
  const mapOrderType = (type) => {
6
8
  switch (type.replace(/-/g, '_')) {
7
9
  case 'market':
@@ -36,18 +38,7 @@ const mapTimeInForce = (tif) => {
36
38
  throw new PerpsError(PerpsErrorCode.SDKError, `Unknown Lighter time in force: ${tif}`);
37
39
  }
38
40
  };
39
- const venueDecimal = (value, field) => {
40
- try {
41
- return unknownToDecimalString(value, field, LIGHTER_PROVIDER_KEY);
42
- }
43
- catch {
44
- return undefined;
45
- }
46
- };
47
- const hasFill = (order) => {
48
- const filled = venueDecimal(order.filled_base_amount, 'filled_base_amount');
49
- return filled !== undefined && isDecimalStringGreaterThan(filled, '0');
50
- };
41
+ const hasFill = (order) => safeIsDecimalStringGreaterThan(order.filled_base_amount, '0') === true;
51
42
  const mapOrderStatus = (order) => {
52
43
  switch (order.status) {
53
44
  case 'in-progress':
@@ -82,61 +73,44 @@ const mapOrderStatus = (order) => {
82
73
  throw new PerpsError(PerpsErrorCode.SDKError, `Unknown Lighter order status: ${order.status}`);
83
74
  }
84
75
  };
85
- const skipOrder = (field, value) => {
86
- warnSkippedVenueRow(LIGHTER_PROVIDER_KEY, 'order', field, value);
76
+ const skipOrder = (marketId, field, value) => {
77
+ warnSkippedVenueRow(LIGHTER_PROVIDER_KEY, 'order', field, value, { marketId });
87
78
  return undefined;
88
79
  };
89
- const orderSizeOrSkip = (field, value) => venueDecimal(value, field) === undefined ? skipOrder(field, value) : value;
90
80
  /**
91
81
  * Map a Lighter order with its venue identity, lifecycle, and execution fields.
92
- * A row with an invalid size or time gives `undefined`. An invalid limit price or
93
- * filled quote amount omits that field.
82
+ * Venue sizes and prices pass verbatim. A row with an invalid time gives
83
+ * `undefined`. An average price that cannot be derived is omitted.
94
84
  */
95
85
  export const mapOrder = (order, market) => {
96
86
  const type = mapOrderType(order.type);
97
- const originalSize = orderSizeOrSkip('initial_base_amount', order.initial_base_amount);
98
- if (originalSize === undefined) {
99
- return undefined;
100
- }
101
- const remainingSize = orderSizeOrSkip('remaining_base_amount', order.remaining_base_amount);
102
- if (remainingSize === undefined) {
103
- return undefined;
104
- }
105
- const filledSize = orderSizeOrSkip('filled_base_amount', order.filled_base_amount);
106
- if (filledSize === undefined) {
107
- return undefined;
108
- }
109
87
  const createdAt = rowTimestampToIsoStringOrUndefined(order.created_at * 1000);
110
88
  if (createdAt === undefined) {
111
- return skipOrder('created_at', order.created_at);
89
+ return skipOrder(market.id, 'created_at', order.created_at);
112
90
  }
113
91
  const updatedAt = rowTimestampToIsoStringOrUndefined(order.updated_at * 1000);
114
92
  if (updatedAt === undefined) {
115
- return skipOrder('updated_at', order.updated_at);
93
+ return skipOrder(market.id, 'updated_at', order.updated_at);
116
94
  }
117
- const filledQuote = venueDecimal(order.filled_quote_amount, 'filled_quote_amount');
118
- const filledAmount = venueDecimal(filledSize, 'filled_base_amount');
119
- const averagePrice = filledQuote !== undefined &&
120
- filledAmount !== undefined &&
121
- isDecimalStringGreaterThan(filledAmount, '0')
122
- ? safeDivideDecimalString(filledQuote, filledAmount)
95
+ const averagePrice = hasFill(order)
96
+ ? safeDivideDecimalString(order.filled_quote_amount, order.filled_base_amount)
123
97
  : undefined;
124
98
  const expiresAt = order.order_expiry > 0
125
99
  ? safeTimestampToIsoString(order.order_expiry)
126
100
  : undefined;
127
101
  const status = mapOrderStatus(order);
128
102
  const base = {
129
- orderId: String(order.order_index),
130
- ...(order.client_order_index === 0
103
+ orderId: order.order_id,
104
+ ...(order.client_order_id === NO_CLIENT_ORDER_ID
131
105
  ? {}
132
- : { clientOrderId: String(order.client_order_index) }),
106
+ : { clientOrderId: order.client_order_id }),
133
107
  market,
134
108
  side: order.is_ask ? OrderSide.SELL : OrderSide.BUY,
135
109
  status,
136
110
  ...(status === OrderStatus.CANCELLED ? { statusReason: order.status } : {}),
137
- originalSize,
138
- remainingSize,
139
- filledSize,
111
+ originalSize: order.initial_base_amount,
112
+ remainingSize: order.remaining_base_amount,
113
+ filledSize: order.filled_base_amount,
140
114
  ...(averagePrice === undefined ? {} : { averagePrice }),
141
115
  reduceOnly: order.reduce_only,
142
116
  ...(order.parent_order_id ? { parentOrderId: order.parent_order_id } : {}),
@@ -160,9 +134,8 @@ export const mapOrder = (order, market) => {
160
134
  type,
161
135
  triggerPrice: order.trigger_price,
162
136
  triggerCondition: triggerConditionFor(type, base.side),
163
- ...((type === OrderType.STOP_LIMIT ||
164
- type === OrderType.TAKE_PROFIT_LIMIT) &&
165
- venueDecimal(order.price, 'price') !== undefined
137
+ ...(type === OrderType.STOP_LIMIT ||
138
+ type === OrderType.TAKE_PROFIT_LIMIT
166
139
  ? { limitPrice: order.price }
167
140
  : {}),
168
141
  };
@@ -178,15 +151,30 @@ export const mapOrder = (order, market) => {
178
151
  };
179
152
  }
180
153
  };
181
- /** Include terminal rows and their ids so consumers can update history and active caches. */
154
+ /**
155
+ * Include terminal rows and their ids so consumers can update history and
156
+ * active caches. A row the mapper rejects is dropped and warns once.
157
+ */
182
158
  export const mapOrderUpdates = (rawOrders, resolveMarket) => {
183
159
  const orders = [];
184
160
  const terminated = [];
185
161
  for (const raw of rawOrders) {
186
162
  const market = resolveMarket(raw.market_index);
187
- const order = market === undefined ? undefined : mapOrder(raw, market);
188
- if (!isActiveOrderStatus(order?.status ?? mapOrderStatus(raw))) {
189
- terminated.push(String(raw.order_index));
163
+ let order;
164
+ let status;
165
+ try {
166
+ order = market === undefined ? undefined : mapOrder(raw, market);
167
+ status = order?.status ?? mapOrderStatus(raw);
168
+ }
169
+ catch (error) {
170
+ if (!(error instanceof PerpsError)) {
171
+ throw error;
172
+ }
173
+ wsLog.droppedRow(LIGHTER_PROVIDER_KEY, 'order', `${raw.order_id}: ${error.message}`);
174
+ continue;
175
+ }
176
+ if (!isActiveOrderStatus(status)) {
177
+ terminated.push(raw.order_id);
190
178
  }
191
179
  if (order !== undefined) {
192
180
  orders.push(order);
@@ -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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"}
@@ -5,8 +5,8 @@ import type { LtPnLEntry } from '../types/pnl.js';
5
5
  * Historical account values are anchored to the current account value. A
6
6
  * snapshot with a non-finite value is skipped.
7
7
  *
8
- * @throws {PerpsError} `ValidationError` when `currentValue` is not a decimal
9
- * string.
8
+ * @throws {PerpsError} `ValidationError` when `currentValue` does not match the
9
+ * decimal pattern.
10
10
  */
11
11
  export declare const mapPortfolioHistory: (range: PortfolioHistoryRange, snapshots: LtPnLEntry[], currentValue: string) => PortfolioHistoryResponse;
12
12
  //# sourceMappingURL=mapPortfolioHistory.d.ts.map
@@ -29,8 +29,8 @@ function getCumulativeNetFlow(snapshot) {
29
29
  * Historical account values are anchored to the current account value. A
30
30
  * snapshot with a non-finite value is skipped.
31
31
  *
32
- * @throws {PerpsError} `ValidationError` when `currentValue` is not a decimal
33
- * string.
32
+ * @throws {PerpsError} `ValidationError` when `currentValue` does not match the
33
+ * decimal pattern.
34
34
  */
35
35
  export const mapPortfolioHistory = (range, snapshots, currentValue) => {
36
36
  const orderedSnapshots = snapshots
@@ -18,9 +18,10 @@ export declare const leverageFromImf: (imf: string) => string | undefined;
18
18
  export declare const leverageFromScaledImf: (imf: number) => string | undefined;
19
19
  /**
20
20
  * Map a raw Lighter account position to the generic Position type. A row with
21
- * an invalid size or value, or a non-positive initial margin fraction, gives
22
- * `undefined`: the mapper derives the size, mark price, margin and leverage
23
- * from them. Prices, PnL, funding and isolated margin pass through raw.
21
+ * an invalid size gives `undefined`. An invalid position value or a
22
+ * non-positive initial margin fraction keeps the row, leaves `leverage` and
23
+ * `initialMarginRequirement` absent, sets a cross `marginUsed` to `'0'` and
24
+ * warns once. Prices, PnL, funding and isolated margin pass through raw.
24
25
  * @param market - Backend-resolved market identity for `pos.market_id`.
25
26
  * @public
26
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAOrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAQtD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO5D,CAAA;AAOD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,iBAAiB,EACtB,QAAQ,kBAAkB,KACzB,QAAQ,GAAG,SAqCb,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;AAG1D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAQtD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO5D,CAAA;AAsBD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,iBAAiB,EACtB,QAAQ,kBAAkB,KACzB,QAAQ,GAAG,SA+Cb,CAAA"}