@lifi/perps-sdk-provider-lighter 24.0.2 → 26.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 (117) hide show
  1. package/README.md +55 -0
  2. package/dist/cjs/LighterProvider.d.ts.map +1 -1
  3. package/dist/cjs/LighterProvider.js +71 -56
  4. package/dist/cjs/LighterProvider.js.map +1 -1
  5. package/dist/cjs/accountConfig.d.ts.map +1 -1
  6. package/dist/cjs/accountConfig.js +1 -7
  7. package/dist/cjs/accountConfig.js.map +1 -1
  8. package/dist/cjs/constants.d.ts +2 -0
  9. package/dist/cjs/constants.d.ts.map +1 -1
  10. package/dist/cjs/constants.js +3 -0
  11. package/dist/cjs/constants.js.map +1 -1
  12. package/dist/cjs/signers/LighterSigner.d.ts.map +1 -1
  13. package/dist/cjs/signers/LighterSigner.js +2 -1
  14. package/dist/cjs/signers/LighterSigner.js.map +1 -1
  15. package/dist/cjs/types/submit.d.ts.map +1 -1
  16. package/dist/cjs/utils/activityCursor.d.ts.map +1 -1
  17. package/dist/cjs/utils/activityCursor.js +29 -6
  18. package/dist/cjs/utils/activityCursor.js.map +1 -1
  19. package/dist/cjs/utils/index.d.ts +1 -1
  20. package/dist/cjs/utils/index.d.ts.map +1 -1
  21. package/dist/cjs/utils/index.js +2 -7
  22. package/dist/cjs/utils/index.js.map +1 -1
  23. package/dist/cjs/utils/mapFill.d.ts.map +1 -1
  24. package/dist/cjs/utils/mapFill.js +4 -2
  25. package/dist/cjs/utils/mapFill.js.map +1 -1
  26. package/dist/cjs/utils/mapOrder.d.ts +4 -11
  27. package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
  28. package/dist/cjs/utils/mapOrder.js +112 -120
  29. package/dist/cjs/utils/mapOrder.js.map +1 -1
  30. package/dist/cjs/utils/txHash.d.ts +2 -0
  31. package/dist/cjs/utils/txHash.d.ts.map +1 -0
  32. package/dist/cjs/utils/txHash.js +10 -0
  33. package/dist/cjs/utils/txHash.js.map +1 -0
  34. package/dist/cjs/websocket/LighterWsProvider.d.ts.map +1 -1
  35. package/dist/cjs/websocket/LighterWsProvider.js +11 -9
  36. package/dist/cjs/websocket/LighterWsProvider.js.map +1 -1
  37. package/dist/esm/LighterProvider.d.ts.map +1 -1
  38. package/dist/esm/LighterProvider.js +78 -65
  39. package/dist/esm/LighterProvider.js.map +1 -1
  40. package/dist/esm/accountConfig.d.ts.map +1 -1
  41. package/dist/esm/accountConfig.js +5 -16
  42. package/dist/esm/accountConfig.js.map +1 -1
  43. package/dist/esm/constants.d.ts +9 -3
  44. package/dist/esm/constants.d.ts.map +1 -1
  45. package/dist/esm/constants.js +6 -3
  46. package/dist/esm/constants.js.map +1 -1
  47. package/dist/esm/signers/LighterSigner.d.ts.map +1 -1
  48. package/dist/esm/signers/LighterSigner.js +2 -1
  49. package/dist/esm/signers/LighterSigner.js.map +1 -1
  50. package/dist/esm/types/submit.d.ts +16 -6
  51. package/dist/esm/types/submit.d.ts.map +1 -1
  52. package/dist/esm/types/ws.d.ts +1 -1
  53. package/dist/esm/utils/activityCursor.d.ts +2 -11
  54. package/dist/esm/utils/activityCursor.d.ts.map +1 -1
  55. package/dist/esm/utils/activityCursor.js +35 -7
  56. package/dist/esm/utils/activityCursor.js.map +1 -1
  57. package/dist/esm/utils/index.d.ts +1 -1
  58. package/dist/esm/utils/index.d.ts.map +1 -1
  59. package/dist/esm/utils/index.js +1 -1
  60. package/dist/esm/utils/index.js.map +1 -1
  61. package/dist/esm/utils/mapFill.d.ts.map +1 -1
  62. package/dist/esm/utils/mapFill.js +5 -3
  63. package/dist/esm/utils/mapFill.js.map +1 -1
  64. package/dist/esm/utils/mapOrder.d.ts +6 -68
  65. package/dist/esm/utils/mapOrder.d.ts.map +1 -1
  66. package/dist/esm/utils/mapOrder.js +111 -180
  67. package/dist/esm/utils/mapOrder.js.map +1 -1
  68. package/dist/esm/utils/txHash.d.ts +8 -0
  69. package/dist/esm/utils/txHash.d.ts.map +1 -0
  70. package/dist/esm/utils/txHash.js +18 -0
  71. package/dist/esm/utils/txHash.js.map +1 -0
  72. package/dist/esm/websocket/LighterWsProvider.d.ts.map +1 -1
  73. package/dist/esm/websocket/LighterWsProvider.js +20 -16
  74. package/dist/esm/websocket/LighterWsProvider.js.map +1 -1
  75. package/dist/types/LighterProvider.d.ts.map +1 -1
  76. package/dist/types/accountConfig.d.ts.map +1 -1
  77. package/dist/types/constants.d.ts +9 -3
  78. package/dist/types/constants.d.ts.map +1 -1
  79. package/dist/types/signers/LighterSigner.d.ts.map +1 -1
  80. package/dist/types/types/submit.d.ts +16 -6
  81. package/dist/types/types/submit.d.ts.map +1 -1
  82. package/dist/types/types/ws.d.ts +1 -1
  83. package/dist/types/utils/activityCursor.d.ts +2 -11
  84. package/dist/types/utils/activityCursor.d.ts.map +1 -1
  85. package/dist/types/utils/index.d.ts +1 -1
  86. package/dist/types/utils/index.d.ts.map +1 -1
  87. package/dist/types/utils/mapFill.d.ts.map +1 -1
  88. package/dist/types/utils/mapOrder.d.ts +6 -68
  89. package/dist/types/utils/mapOrder.d.ts.map +1 -1
  90. package/dist/types/utils/txHash.d.ts +8 -0
  91. package/dist/types/utils/txHash.d.ts.map +1 -0
  92. package/dist/types/websocket/LighterWsProvider.d.ts.map +1 -1
  93. package/dist/wasm/lighter-signer.wasm +0 -0
  94. package/package.json +3 -3
  95. package/src/LighterProvider.ts +87 -98
  96. package/src/accountConfig.ts +5 -18
  97. package/src/constants.ts +11 -3
  98. package/src/signers/LighterSigner.ts +2 -0
  99. package/src/types/submit.ts +16 -6
  100. package/src/types/ws.ts +1 -1
  101. package/src/utils/activityCursor.ts +50 -18
  102. package/src/utils/index.ts +1 -9
  103. package/src/utils/mapFill.ts +5 -8
  104. package/src/utils/mapOrder.ts +130 -207
  105. package/src/utils/txHash.ts +20 -0
  106. package/src/websocket/LighterWsProvider.ts +22 -17
  107. package/dist/cjs/utils/mapTwap.d.ts +0 -4
  108. package/dist/cjs/utils/mapTwap.d.ts.map +0 -1
  109. package/dist/cjs/utils/mapTwap.js +0 -31
  110. package/dist/cjs/utils/mapTwap.js.map +0 -1
  111. package/dist/esm/utils/mapTwap.d.ts +0 -5
  112. package/dist/esm/utils/mapTwap.d.ts.map +0 -1
  113. package/dist/esm/utils/mapTwap.js +0 -25
  114. package/dist/esm/utils/mapTwap.js.map +0 -1
  115. package/dist/types/utils/mapTwap.d.ts +0 -5
  116. package/dist/types/utils/mapTwap.d.ts.map +0 -1
  117. package/src/utils/mapTwap.ts +0 -31
@@ -9,7 +9,7 @@ export { estimateLiquidationPrice } from './liquidation.js';
9
9
  export { mapFill } from './mapFill.js';
10
10
  export { mapMarketContext } from './mapMarketContext.js';
11
11
  export { mapOpenPositions } from './mapOpenPositions.js';
12
- export { classifyAndMapOrders, isTriggerOrder, isTriggerType, mapOrder, mapOrderDetail, mapStatusReason, mapTriggerOrder, } from './mapOrder.js';
12
+ export { mapOrder, mapOrderUpdates } from './mapOrder.js';
13
13
  export { mapPortfolioHistory } from './mapPortfolioHistory.js';
14
14
  export { leverageFromImf, mapPosition } from './mapPosition.js';
15
15
  export { mapMarketOrderLimits } from './marketLimits.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,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,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,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,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"}
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,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,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,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,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"}
@@ -11,7 +11,7 @@ export { estimateLiquidationPrice } from './liquidation.js';
11
11
  export { mapFill } from './mapFill.js';
12
12
  export { mapMarketContext } from './mapMarketContext.js';
13
13
  export { mapOpenPositions } from './mapOpenPositions.js';
14
- export { classifyAndMapOrders, isTriggerOrder, isTriggerType, mapOrder, mapOrderDetail, mapStatusReason, mapTriggerOrder, } from './mapOrder.js';
14
+ export { mapOrder, mapOrderUpdates } from './mapOrder.js';
15
15
  export { mapPortfolioHistory } from './mapPortfolioHistory.js';
16
16
  export { leverageFromImf, mapPosition } from './mapPosition.js';
17
17
  export { mapMarketOrderLimits } from './marketLimits.js';
@@ -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,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,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,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,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"}
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,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,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,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapFill.d.ts","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAY5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AA2EhD;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAClB,OAAO,OAAO,EACd,cAAc,MAAM,EACpB,QAAQ,aAAa,KACpB,IAgEF,CAAA"}
1
+ {"version":3,"file":"mapFill.d.ts","sourceRoot":"","sources":["../../../src/utils/mapFill.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAO5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AA4EhD;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAClB,OAAO,OAAO,EACd,cAAc,MAAM,EACpB,QAAQ,aAAa,KACpB,IAiEF,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { classifyFillFromPosition, ExplorerChainId, explorerTxUrl, } from '@lifi/perps-sdk';
2
- import { FillStatus, LiquidityRole, OrderSide, OrderType, } from '@lifi/perps-types';
2
+ import { LiquidityRole, OrderSide, OrderType } from '@lifi/perps-types';
3
3
  import Big from 'big.js';
4
4
  import { LIGHTER_FEE_TICK_SCALE, LIGHTER_IMF_PERCENT_SCALE, } from '../constants.js';
5
5
  import { leverageFromImf } from './mapPosition.js';
6
+ import { isPlaceholderTxHash } from './txHash.js';
6
7
  /**
7
8
  * Fee charged on a fill, in the market's quote asset. Lighter publishes the
8
9
  * side's fee *rate* as an integer tick on `LIGHTER_FEE_TICK_SCALE` rather than
@@ -92,7 +93,6 @@ export const mapFill = (trade, accountIndex, market) => {
92
93
  type: OrderType.LIMIT,
93
94
  size: trade.size,
94
95
  price: trade.price,
95
- status: FillStatus.FILLED,
96
96
  liquidity: isMaker ? LiquidityRole.MAKER : LiquidityRole.TAKER,
97
97
  // Lighter charges the fill fee in the market's quote asset.
98
98
  fee: feeTick === undefined
@@ -108,7 +108,9 @@ export const mapFill = (trade, accountIndex, market) => {
108
108
  // anything else for sell.
109
109
  classification: classifyFillFromPosition(startPosition, isBuyer ? 'B' : 'A', trade.size),
110
110
  createdAt: new Date(trade.timestamp).toISOString(),
111
- explorerLink: explorerTxUrl(ExplorerChainId.LIGHTER, trade.tx_hash),
111
+ explorerLink: isPlaceholderTxHash(trade.tx_hash)
112
+ ? undefined
113
+ : explorerTxUrl(ExplorerChainId.LIGHTER, trade.tx_hash),
112
114
  };
113
115
  };
114
116
  //# sourceMappingURL=mapFill.js.map
@@ -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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"}
@@ -1,72 +1,10 @@
1
- import type { MarketDisplay, OpenOrder, Order, TriggerOrder } from '@lifi/perps-types';
2
- import { OrderType } from '@lifi/perps-types';
1
+ import type { MarketDisplay, Order } from '@lifi/perps-types';
3
2
  import type { LtOrder } from '../types/index.js';
4
- /**
5
- * Map a raw Lighter order status to a short English sentence describing
6
- * *why* the order ended in a terminal non-FILLED state. Non-terminal
7
- * statuses, plain `filled`, and unknown values return `undefined`.
8
- * @public
9
- */
10
- export declare const mapStatusReason: (status: string) => string | undefined;
11
- /**
12
- * True for order types Lighter exposes as TP/SL legs. Mirrors the
13
- * Hyperliquid helper of the same name so the backend can split a raw
14
- * Lighter order list into the same `openOrders` / `triggerOrders`
15
- * buckets the SDK declares on `OrdersResponse`.
16
- * @public
17
- */
18
- export declare const isTriggerType: (type: OrderType) => boolean;
19
- /**
20
- * Decide whether a raw Lighter order belongs in the cross-provider
21
- * `triggerOrders` bucket. Single source of truth for both the REST
22
- * `getOrders` path and the `account_all_orders` WS handler.
23
- *
24
- * Authoritative signals, in order:
25
- * 1. `trigger_status` — Lighter's own enum. `'ready' | 'mark-price' |
26
- * 'parent-order'` all mean "this order has trigger semantics" (TP/SL
27
- * waiting on price, or a TP/SL leg of a parent placeOrder). `'twap'`
28
- * is intentionally excluded — TWAP child orders are scheduled resting
29
- * limits, not TP/SL triggers. `'na'` is "regular order".
30
- * 2. `trigger_price > 0` — catches cases where `trigger_status`
31
- * momentarily lags during state transitions (e.g. right after an OCO
32
- * sibling cancels).
33
- * 3. `type` — final fallback via the mapped `OrderType`.
34
- * @public
35
- */
36
- export declare const isTriggerOrder: (raw: LtOrder) => boolean;
37
- /**
38
- * Map a raw Lighter trigger order (stop/take-profit, market or limit) to
39
- * the generic `TriggerOrder` shape. For market variants the `limitPrice`
40
- * field is omitted; for limit variants `order.price` is the limit and
41
- * `order.trigger_price` is the activation level.
42
- * @public
43
- */
44
- export declare const mapTriggerOrder: (order: LtOrder, market: MarketDisplay) => TriggerOrder;
45
- /**
46
- * Map a raw Lighter order to the generic OpenOrder type.
47
- * @param market - Backend-resolved market identity for `order.market_index`.
48
- * @public
49
- */
50
- export declare const mapOrder: (order: LtOrder, market: MarketDisplay) => OpenOrder;
51
- /**
52
- * Walk a flat list of raw Lighter orders and bucket each into the
53
- * `OpenOrder` / `TriggerOrder` arrays the cross-provider `OrdersResponse`
54
- * declares, plus a `terminated` list of orderIds whose status has reached
55
- * a terminal state (filled / cancelled / rejected / expired) — consumers
56
- * applying WS deltas evict those from the cached buckets. REST callers
57
- * see `terminated: []` because `accountActiveOrders` returns active only.
58
- * An order whose market the resolver does not know is skipped.
59
- * @public
60
- */
61
- export declare const classifyAndMapOrders: (orders: LtOrder[], resolveMarket: (marketIndex: number) => MarketDisplay | undefined) => {
62
- openOrders: OpenOrder[];
63
- triggerOrders: TriggerOrder[];
3
+ /** Map a Lighter order with its venue identity, lifecycle, and execution fields. */
4
+ export declare const mapOrder: (order: LtOrder, market: MarketDisplay) => Order;
5
+ /** Include terminal rows and their ids so consumers can update history and active caches. */
6
+ export declare const mapOrderUpdates: (rawOrders: LtOrder[], resolveMarket: (marketIndex: number) => MarketDisplay | undefined) => {
7
+ orders: Order[];
64
8
  terminated: string[];
65
9
  };
66
- /**
67
- * Map a raw Lighter order to the rich Order type — adds status, time-in-force
68
- * and remaining/filled sizes on top of the OpenOrder fields.
69
- * @public
70
- */
71
- export declare const mapOrderDetail: (order: LtOrder, market: MarketDisplay) => Order;
72
10
  //# sourceMappingURL=mapOrder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,KAAK,EACL,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,SAAS,EAEV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAmDhD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SA+BzD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,KAAG,OAIjB,CAAA;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,OAY7C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,OAAO,EACd,QAAQ,aAAa,KACpB,YAkBF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,EAAE,QAAQ,aAAa,KAAG,SAW/D,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,OAAO,EAAE,EACjB,eAAe,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KAChE;IACD,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;CAsBrB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,OAAO,EACd,QAAQ,aAAa,KACpB,KAeD,CAAA"}
1
+ {"version":3,"file":"mapOrder.d.ts","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAa,MAAM,mBAAmB,CAAA;AASxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAoFhD,oFAAoF;AACpF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,EAAE,QAAQ,aAAa,KAAG,KA8DhE,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,19 +1,27 @@
1
- import { isActiveOrderStatus } from '@lifi/perps-sdk';
2
- import { OrderSide, OrderStatus, OrderType, TimeInForce, } from '@lifi/perps-types';
3
- // Lighter's `type` enum uses hyphens in the OpenAPI spec but earlier API
4
- // versions emitted underscores. Tolerate both so we don't silently fall
5
- // through to LIMIT for stop/take-profit orders.
6
- const mapOrderType = (ltType) => {
7
- const normalized = ltType.replace(/-/g, '_');
8
- const map = {
9
- limit: OrderType.LIMIT,
10
- market: OrderType.MARKET,
11
- stop_loss: OrderType.STOP_MARKET,
12
- stop_loss_limit: OrderType.STOP_LIMIT,
13
- take_profit: OrderType.TAKE_PROFIT_MARKET,
14
- take_profit_limit: OrderType.TAKE_PROFIT_LIMIT,
15
- };
16
- return map[normalized] ?? OrderType.LIMIT;
1
+ import { isActiveOrderStatus, PerpsError, triggerConditionFor, } from '@lifi/perps-sdk';
2
+ import { OrderSide, OrderStatus, OrderType, PerpsErrorCode, TimeInForce, } from '@lifi/perps-types';
3
+ import Big from 'big.js';
4
+ const mapOrderType = (type) => {
5
+ switch (type.replace(/-/g, '_')) {
6
+ case 'market':
7
+ case 'liquidation':
8
+ return OrderType.MARKET;
9
+ case 'limit':
10
+ case 'twap_sub':
11
+ return OrderType.LIMIT;
12
+ case 'stop_loss':
13
+ return OrderType.STOP_MARKET;
14
+ case 'stop_loss_limit':
15
+ return OrderType.STOP_LIMIT;
16
+ case 'take_profit':
17
+ return OrderType.TAKE_PROFIT_MARKET;
18
+ case 'take_profit_limit':
19
+ return OrderType.TAKE_PROFIT_LIMIT;
20
+ case 'twap':
21
+ return OrderType.TWAP;
22
+ default:
23
+ throw new PerpsError(PerpsErrorCode.SDKError, `Unknown Lighter order type: ${type}`);
24
+ }
17
25
  };
18
26
  const mapTimeInForce = (tif) => {
19
27
  switch (tif.replace(/-/g, '_')) {
@@ -24,197 +32,120 @@ const mapTimeInForce = (tif) => {
24
32
  case 'post_only':
25
33
  return TimeInForce.POST_ONLY;
26
34
  default:
27
- return undefined;
28
- }
29
- };
30
- const mapOrderStatus = (status) => {
31
- if (status === 'open' ||
32
- status === 'in-progress' ||
33
- status === 'in_progress') {
34
- return OrderStatus.OPEN;
35
- }
36
- if (status === 'pending') {
37
- return OrderStatus.PENDING;
38
- }
39
- if (status === 'filled') {
40
- return OrderStatus.FILLED;
41
- }
42
- if (status.startsWith('canceled')) {
43
- return OrderStatus.CANCELLED;
35
+ throw new PerpsError(PerpsErrorCode.SDKError, `Unknown Lighter time in force: ${tif}`);
44
36
  }
45
- return OrderStatus.OPEN;
46
37
  };
47
- /**
48
- * Map a raw Lighter order status to a short English sentence describing
49
- * *why* the order ended in a terminal non-FILLED state. Non-terminal
50
- * statuses, plain `filled`, and unknown values return `undefined`.
51
- * @public
52
- */
53
- export const mapStatusReason = (status) => {
54
- switch (status) {
38
+ const mapOrderStatus = (order, filledSize = new Big(order.filled_base_amount)) => {
39
+ switch (order.status) {
40
+ case 'pending':
41
+ case 'in-progress':
42
+ return OrderStatus.ACCEPTED;
43
+ case 'open':
44
+ if (order.trigger_status === 'parent-order') {
45
+ return OrderStatus.PENDING;
46
+ }
47
+ return filledSize.gt(0) ? OrderStatus.PARTIALLY_FILLED : OrderStatus.OPEN;
48
+ case 'triggered':
49
+ return OrderStatus.TRIGGERED;
50
+ case 'filled':
51
+ return OrderStatus.FILLED;
52
+ case 'canceled-expired':
53
+ return OrderStatus.EXPIRED;
55
54
  case 'canceled':
56
- return 'Order cancelled.';
57
55
  case 'canceled-post-only':
58
- return 'Order cancelled: post-only order would have crossed the book.';
59
56
  case 'canceled-reduce-only':
60
- return 'Order cancelled: would not reduce your position.';
61
57
  case 'canceled-position-not-allowed':
62
- return 'Order cancelled: position not allowed.';
63
58
  case 'canceled-margin-not-allowed':
64
- return 'Order cancelled: insufficient margin.';
65
59
  case 'canceled-too-much-slippage':
66
- return 'Order cancelled: slippage exceeded tolerance.';
67
60
  case 'canceled-not-enough-liquidity':
68
- return 'Order cancelled: not enough liquidity to fill.';
69
61
  case 'canceled-self-trade':
70
- return 'Order cancelled: would self-trade against your own resting order.';
71
- case 'canceled-expired':
72
- return 'Order expired.';
73
62
  case 'canceled-oco':
74
- return 'Order cancelled: sibling OCO order filled or cancelled first.';
75
63
  case 'canceled-child':
76
- return 'Order cancelled: parent order was cancelled.';
77
64
  case 'canceled-liquidation':
78
- return 'Order cancelled: account was liquidated.';
79
65
  case 'canceled-invalid-balance':
80
- return 'Order cancelled: invalid balance.';
66
+ return OrderStatus.CANCELLED;
81
67
  default:
82
- return undefined;
83
- }
84
- };
85
- /**
86
- * True for order types Lighter exposes as TP/SL legs. Mirrors the
87
- * Hyperliquid helper of the same name so the backend can split a raw
88
- * Lighter order list into the same `openOrders` / `triggerOrders`
89
- * buckets the SDK declares on `OrdersResponse`.
90
- * @public
91
- */
92
- export const isTriggerType = (type) => type === OrderType.TAKE_PROFIT_MARKET ||
93
- type === OrderType.TAKE_PROFIT_LIMIT ||
94
- type === OrderType.STOP_MARKET ||
95
- type === OrderType.STOP_LIMIT;
96
- /**
97
- * Decide whether a raw Lighter order belongs in the cross-provider
98
- * `triggerOrders` bucket. Single source of truth for both the REST
99
- * `getOrders` path and the `account_all_orders` WS handler.
100
- *
101
- * Authoritative signals, in order:
102
- * 1. `trigger_status` — Lighter's own enum. `'ready' | 'mark-price' |
103
- * 'parent-order'` all mean "this order has trigger semantics" (TP/SL
104
- * waiting on price, or a TP/SL leg of a parent placeOrder). `'twap'`
105
- * is intentionally excluded — TWAP child orders are scheduled resting
106
- * limits, not TP/SL triggers. `'na'` is "regular order".
107
- * 2. `trigger_price > 0` — catches cases where `trigger_status`
108
- * momentarily lags during state transitions (e.g. right after an OCO
109
- * sibling cancels).
110
- * 3. `type` — final fallback via the mapped `OrderType`.
111
- * @public
112
- */
113
- export const isTriggerOrder = (raw) => {
114
- if (raw.trigger_status === 'ready' ||
115
- raw.trigger_status === 'mark-price' ||
116
- raw.trigger_status === 'parent-order') {
117
- return true;
68
+ throw new PerpsError(PerpsErrorCode.SDKError, `Unknown Lighter order status: ${order.status}`);
118
69
  }
119
- if (raw.trigger_price !== '' && parseFloat(raw.trigger_price) > 0) {
120
- return true;
121
- }
122
- return isTriggerType(mapOrderType(raw.type));
123
70
  };
124
- /**
125
- * Map a raw Lighter trigger order (stop/take-profit, market or limit) to
126
- * the generic `TriggerOrder` shape. For market variants the `limitPrice`
127
- * field is omitted; for limit variants `order.price` is the limit and
128
- * `order.trigger_price` is the activation level.
129
- * @public
130
- */
131
- export const mapTriggerOrder = (order, market) => {
71
+ /** Map a Lighter order with its venue identity, lifecycle, and execution fields. */
72
+ export const mapOrder = (order, market) => {
132
73
  const type = mapOrderType(order.type);
133
- const isLimit = type === OrderType.TAKE_PROFIT_LIMIT || type === OrderType.STOP_LIMIT;
134
- return {
135
- // `order_index` is the per-(account, market) numeric id Lighter's L2
136
- // mutating txs (cancel, modify) require. The matching-engine string
137
- // label `order_id` is internal to the SDK provider and never crosses
138
- // this boundary — combined with `market.id` (=market_index), the
139
- // numeric `order_index` uniquely pins a Lighter order.
74
+ const filledSize = new Big(order.filled_base_amount);
75
+ const status = mapOrderStatus(order, filledSize);
76
+ const base = {
140
77
  orderId: String(order.order_index),
78
+ ...(order.client_order_index === 0
79
+ ? {}
80
+ : { clientOrderId: String(order.client_order_index) }),
141
81
  market,
142
- type,
143
- size: order.initial_base_amount,
144
- triggerPrice: order.trigger_price,
145
- ...(isLimit ? { limitPrice: order.price } : {}),
82
+ side: order.is_ask ? OrderSide.SELL : OrderSide.BUY,
83
+ status,
84
+ ...(status === OrderStatus.CANCELLED ? { statusReason: order.status } : {}),
85
+ originalSize: order.initial_base_amount,
86
+ remainingSize: order.remaining_base_amount,
87
+ filledSize: order.filled_base_amount,
88
+ ...(filledSize.gt(0)
89
+ ? {
90
+ averagePrice: new Big(order.filled_quote_amount)
91
+ .div(filledSize)
92
+ .toString(),
93
+ }
94
+ : {}),
95
+ reduceOnly: order.reduce_only,
96
+ ...(order.parent_order_id ? { parentOrderId: order.parent_order_id } : {}),
146
97
  createdAt: new Date(order.created_at * 1000).toISOString(),
98
+ updatedAt: new Date(order.updated_at * 1000).toISOString(),
147
99
  };
100
+ switch (type) {
101
+ case OrderType.TWAP:
102
+ return {
103
+ ...base,
104
+ type,
105
+ durationSeconds: order.order_expiry / 1000 - order.created_at,
106
+ startedAt: base.createdAt,
107
+ };
108
+ case OrderType.STOP_MARKET:
109
+ case OrderType.STOP_LIMIT:
110
+ case OrderType.TAKE_PROFIT_MARKET:
111
+ case OrderType.TAKE_PROFIT_LIMIT:
112
+ return {
113
+ ...base,
114
+ type,
115
+ triggerPrice: order.trigger_price,
116
+ triggerCondition: triggerConditionFor(type, base.side),
117
+ ...(type === OrderType.STOP_LIMIT ||
118
+ type === OrderType.TAKE_PROFIT_LIMIT
119
+ ? { limitPrice: order.price }
120
+ : {}),
121
+ };
122
+ case OrderType.MARKET:
123
+ case OrderType.LIMIT:
124
+ return {
125
+ ...base,
126
+ type,
127
+ price: order.price,
128
+ timeInForce: mapTimeInForce(order.time_in_force),
129
+ ...(order.order_expiry > 0
130
+ ? { expiresAt: new Date(order.order_expiry).toISOString() }
131
+ : {}),
132
+ };
133
+ }
148
134
  };
149
- /**
150
- * Map a raw Lighter order to the generic OpenOrder type.
151
- * @param market - Backend-resolved market identity for `order.market_index`.
152
- * @public
153
- */
154
- export const mapOrder = (order, market) => ({
155
- orderId: String(order.order_index),
156
- market,
157
- side: order.is_ask ? OrderSide.SELL : OrderSide.BUY,
158
- type: mapOrderType(order.type),
159
- originalSize: order.initial_base_amount,
160
- remainingSize: order.remaining_base_amount,
161
- price: order.price,
162
- filledSize: order.filled_base_amount,
163
- reduceOnly: order.reduce_only,
164
- createdAt: new Date(order.created_at * 1000).toISOString(),
165
- });
166
- /**
167
- * Walk a flat list of raw Lighter orders and bucket each into the
168
- * `OpenOrder` / `TriggerOrder` arrays the cross-provider `OrdersResponse`
169
- * declares, plus a `terminated` list of orderIds whose status has reached
170
- * a terminal state (filled / cancelled / rejected / expired) — consumers
171
- * applying WS deltas evict those from the cached buckets. REST callers
172
- * see `terminated: []` because `accountActiveOrders` returns active only.
173
- * An order whose market the resolver does not know is skipped.
174
- * @public
175
- */
176
- export const classifyAndMapOrders = (orders, resolveMarket) => {
177
- const openOrders = [];
178
- const triggerOrders = [];
135
+ /** Include terminal rows and their ids so consumers can update history and active caches. */
136
+ export const mapOrderUpdates = (rawOrders, resolveMarket) => {
137
+ const orders = [];
179
138
  const terminated = [];
180
- for (const raw of orders) {
181
- const orderId = String(raw.order_index);
182
- if (!isActiveOrderStatus(mapOrderStatus(raw.status))) {
183
- terminated.push(orderId);
184
- continue;
185
- }
139
+ for (const raw of rawOrders) {
186
140
  const market = resolveMarket(raw.market_index);
187
- if (market === undefined) {
188
- continue;
189
- }
190
- if (isTriggerOrder(raw)) {
191
- triggerOrders.push(mapTriggerOrder(raw, market));
141
+ const order = market === undefined ? undefined : mapOrder(raw, market);
142
+ if (!isActiveOrderStatus(order?.status ?? mapOrderStatus(raw))) {
143
+ terminated.push(String(raw.order_index));
192
144
  }
193
- else {
194
- openOrders.push(mapOrder(raw, market));
145
+ if (order !== undefined) {
146
+ orders.push(order);
195
147
  }
196
148
  }
197
- return { openOrders, triggerOrders, terminated };
149
+ return { orders, terminated };
198
150
  };
199
- /**
200
- * Map a raw Lighter order to the rich Order type — adds status, time-in-force
201
- * and remaining/filled sizes on top of the OpenOrder fields.
202
- * @public
203
- */
204
- export const mapOrderDetail = (order, market) => ({
205
- orderId: String(order.order_index),
206
- market,
207
- side: order.is_ask ? OrderSide.SELL : OrderSide.BUY,
208
- type: mapOrderType(order.type),
209
- price: order.price,
210
- originalSize: order.initial_base_amount,
211
- remainingSize: order.remaining_base_amount,
212
- filledSize: order.filled_base_amount,
213
- timeInForce: mapTimeInForce(order.time_in_force),
214
- reduceOnly: order.reduce_only,
215
- status: mapOrderStatus(order.status),
216
- statusReason: mapStatusReason(order.status),
217
- createdAt: new Date(order.created_at * 1000).toISOString(),
218
- updatedAt: new Date(order.updated_at * 1000).toISOString(),
219
- });
220
151
  //# sourceMappingURL=mapOrder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAOrD,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAG1B,yEAAyE;AACzE,wEAAwE;AACxE,gDAAgD;AAChD,MAAM,YAAY,GAAG,CAAC,MAAc,EAAa,EAAE;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC5C,MAAM,GAAG,GAA8B;QACrC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,SAAS,CAAC,WAAW;QAChC,eAAe,EAAE,SAAS,CAAC,UAAU;QACrC,WAAW,EAAE,SAAS,CAAC,kBAAkB;QACzC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;KAC/C,CAAA;IACD,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,KAAK,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,GAAW,EAA2B,EAAE;IAC9D,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,gBAAgB;YACnB,OAAO,WAAW,CAAC,GAAG,CAAA;QACxB,KAAK,qBAAqB;YACxB,OAAO,WAAW,CAAC,GAAG,CAAA;QACxB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC,SAAS,CAAA;QAC9B;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,MAAc,EAAe,EAAE;IACrD,IACE,MAAM,KAAK,MAAM;QACjB,MAAM,KAAK,aAAa;QACxB,MAAM,KAAK,aAAa,EACxB,CAAC;QACD,OAAO,WAAW,CAAC,IAAI,CAAA;IACzB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC,OAAO,CAAA;IAC5B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC,MAAM,CAAA;IAC3B,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC,SAAS,CAAA;IAC9B,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,CAAA;AACzB,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAsB,EAAE;IACpE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAA;QAC3B,KAAK,oBAAoB;YACvB,OAAO,+DAA+D,CAAA;QACxE,KAAK,sBAAsB;YACzB,OAAO,kDAAkD,CAAA;QAC3D,KAAK,+BAA+B;YAClC,OAAO,wCAAwC,CAAA;QACjD,KAAK,6BAA6B;YAChC,OAAO,uCAAuC,CAAA;QAChD,KAAK,4BAA4B;YAC/B,OAAO,+CAA+C,CAAA;QACxD,KAAK,+BAA+B;YAClC,OAAO,gDAAgD,CAAA;QACzD,KAAK,qBAAqB;YACxB,OAAO,mEAAmE,CAAA;QAC5E,KAAK,kBAAkB;YACrB,OAAO,gBAAgB,CAAA;QACzB,KAAK,cAAc;YACjB,OAAO,+DAA+D,CAAA;QACxE,KAAK,gBAAgB;YACnB,OAAO,8CAA8C,CAAA;QACvD,KAAK,sBAAsB;YACzB,OAAO,0CAA0C,CAAA;QACnD,KAAK,0BAA0B;YAC7B,OAAO,mCAAmC,CAAA;QAC5C;YACE,OAAO,SAAS,CAAA;IACpB,CAAC;AACH,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAe,EAAW,EAAE,CACxD,IAAI,KAAK,SAAS,CAAC,kBAAkB;IACrC,IAAI,KAAK,SAAS,CAAC,iBAAiB;IACpC,IAAI,KAAK,SAAS,CAAC,WAAW;IAC9B,IAAI,KAAK,SAAS,CAAC,UAAU,CAAA;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAY,EAAW,EAAE;IACtD,IACE,GAAG,CAAC,cAAc,KAAK,OAAO;QAC9B,GAAG,CAAC,cAAc,KAAK,YAAY;QACnC,GAAG,CAAC,cAAc,KAAK,cAAc,EACrC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,GAAG,CAAC,aAAa,KAAK,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAc,EACd,MAAqB,EACP,EAAE;IAChB,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrC,MAAM,OAAO,GACX,IAAI,KAAK,SAAS,CAAC,iBAAiB,IAAI,IAAI,KAAK,SAAS,CAAC,UAAU,CAAA;IACvE,OAAO;QACL,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,iEAAiE;QACjE,uDAAuD;QACvD,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,MAAM;QACN,IAAI;QACJ,IAAI,EAAE,KAAK,CAAC,mBAAmB;QAC/B,YAAY,EAAE,KAAK,CAAC,aAAa;QACjC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;KAC3D,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,MAAqB,EAAa,EAAE,CAAC,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;IAClC,MAAM;IACN,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;IACnD,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9B,YAAY,EAAE,KAAK,CAAC,mBAAmB;IACvC,aAAa,EAAE,KAAK,CAAC,qBAAqB;IAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,UAAU,EAAE,KAAK,CAAC,kBAAkB;IACpC,UAAU,EAAE,KAAK,CAAC,WAAW;IAC7B,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;CAC3D,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAAiB,EACjB,aAAiE,EAKjE,EAAE;IACF,MAAM,UAAU,GAAgB,EAAE,CAAA;IAClC,MAAM,aAAa,GAAmB,EAAE,CAAA;IACxC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACvC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxB,SAAQ;QACV,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,SAAQ;QACV,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,CAAA;AAClD,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAc,EACd,MAAqB,EACd,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;IAClC,MAAM;IACN,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;IACnD,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,YAAY,EAAE,KAAK,CAAC,mBAAmB;IACvC,aAAa,EAAE,KAAK,CAAC,qBAAqB;IAC1C,UAAU,EAAE,KAAK,CAAC,kBAAkB;IACpC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC;IAChD,UAAU,EAAE,KAAK,CAAC,WAAW;IAC7B,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;IACpC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;IAC1D,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;CAC3D,CAAC,CAAA"}
1
+ {"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Report whether a Lighter `tx_hash` is the placeholder the venue sends for a
3
+ * row that settled no transaction. Such a row resolves to no explorer link.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare const isPlaceholderTxHash: (txHash: string | undefined) => boolean;
8
+ //# sourceMappingURL=txHash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txHash.d.ts","sourceRoot":"","sources":["../../../src/utils/txHash.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,GAAG,SAAS,KAAG,OAGH,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Trailing hex characters a Lighter placeholder `tx_hash` leaves zero. Lighter
3
+ * reports a 40-byte hash on every fill and transfer row, and a row that settled
4
+ * no transaction carries a sequence pair in the leading 16 bytes and zero in
5
+ * the remaining 24. A settled row fills all 40 bytes.
6
+ */
7
+ const PLACEHOLDER_ZERO_SUFFIX_LENGTH = 48;
8
+ const ALL_ZERO = /^0+$/;
9
+ /**
10
+ * Report whether a Lighter `tx_hash` is the placeholder the venue sends for a
11
+ * row that settled no transaction. Such a row resolves to no explorer link.
12
+ *
13
+ * @internal
14
+ */
15
+ export const isPlaceholderTxHash = (txHash) => txHash !== undefined &&
16
+ txHash.length > PLACEHOLDER_ZERO_SUFFIX_LENGTH &&
17
+ ALL_ZERO.test(txHash.slice(-PLACEHOLDER_ZERO_SUFFIX_LENGTH));
18
+ //# sourceMappingURL=txHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txHash.js","sourceRoot":"","sources":["../../../src/utils/txHash.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,8BAA8B,GAAG,EAAE,CAAA;AAEzC,MAAM,QAAQ,GAAG,MAAM,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAA0B,EAAW,EAAE,CACzE,MAAM,KAAK,SAAS;IACpB,MAAM,CAAC,MAAM,GAAG,8BAA8B;IAC9C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"LighterWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/LighterWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAKlB,cAAc,EACd,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AA4EnC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;AAEhC,UAAU,QAAQ;IAChB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAA;CACnB;AAkBD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;CAC5C;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAE5B;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IAEnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,cAAc,CAAoC;IAE1D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;IAE9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAErD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;gBAGxE,KAAK,GAAE,MAA+B,EACtC,WAAW,GAAE,MAA6B,EAC1C,OAAO,GAAE,wBAA6B,EACtC,MAAM,CAAC,EAAE,cAAc;IAsBzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;OAKG;IACG,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;cA6ChD,OAAO,IAAI,IAAI;cAMlB,aAAa,CAAC,EAC5B,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3B;;;;;;OAMG;YACW,gBAAgB;IAsB9B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;YAwB5B,cAAc;YAsFd,mBAAmB;YAqBnB,iBAAiB;IAK/B,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAqB1C,OAAO,CAAC,QAAQ;IAkFhB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,eAAe;IAuDvB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,sBAAsB;IAiC9B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,mBAAmB;CAc5B;AAkID;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,wBAAwB,KACjC,iBAKA,CAAA"}
1
+ {"version":3,"file":"LighterWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/LighterWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAKlB,cAAc,EACd,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AA8EnC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;AAEhC,UAAU,QAAQ;IAChB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yEAAyE;IACzE,SAAS,EAAE,OAAO,CAAA;CACnB;AAkBD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;CAC5C;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAE5B;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IAEnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,cAAc,CAAoC;IAE1D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2C;IAE9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAErD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;gBAGxE,KAAK,GAAE,MAA+B,EACtC,WAAW,GAAE,MAA6B,EAC1C,OAAO,GAAE,wBAA6B,EACtC,MAAM,CAAC,EAAE,cAAc;IAsBzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;OAKG;IACG,cAAc,CAClB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;cAkBN,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;cA6ChD,OAAO,IAAI,IAAI;cAMlB,aAAa,CAAC,EAC5B,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3B;;;;;;OAMG;YACW,gBAAgB;IAsB9B,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;YAwB5B,cAAc;YAyFd,mBAAmB;YAqBnB,iBAAiB;IAK/B,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAqB1C,OAAO,CAAC,QAAQ;IAkFhB,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,eAAe;IAuDvB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,sBAAsB;IAiC9B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,mBAAmB;CAc5B;AAkID;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,wBAAwB,KACjC,iBAKA,CAAA"}