@lifi/perps-sdk-provider-hyperliquid 20.0.0 → 21.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 (111) hide show
  1. package/README.md +45 -0
  2. package/dist/cjs/HyperliquidProvider.d.ts.map +1 -1
  3. package/dist/cjs/HyperliquidProvider.js +2 -2
  4. package/dist/cjs/HyperliquidProvider.js.map +1 -1
  5. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  6. package/dist/cjs/services/getAccount.js +5 -7
  7. package/dist/cjs/services/getAccount.js.map +1 -1
  8. package/dist/cjs/services/getActivity.d.ts.map +1 -1
  9. package/dist/cjs/services/getActivity.js +68 -44
  10. package/dist/cjs/services/getActivity.js.map +1 -1
  11. package/dist/cjs/services/getFills.d.ts.map +1 -1
  12. package/dist/cjs/services/getFills.js +30 -38
  13. package/dist/cjs/services/getFills.js.map +1 -1
  14. package/dist/cjs/services/getWithdrawableBalances.js +1 -1
  15. package/dist/cjs/services/getWithdrawableBalances.js.map +1 -1
  16. package/dist/cjs/services/historyPagination.d.ts +22 -0
  17. package/dist/cjs/services/historyPagination.d.ts.map +1 -0
  18. package/dist/cjs/services/historyPagination.js +125 -0
  19. package/dist/cjs/services/historyPagination.js.map +1 -0
  20. package/dist/cjs/utils/index.d.ts +1 -1
  21. package/dist/cjs/utils/index.d.ts.map +1 -1
  22. package/dist/cjs/utils/index.js +3 -3
  23. package/dist/cjs/utils/index.js.map +1 -1
  24. package/dist/cjs/utils/liquidation.js +1 -1
  25. package/dist/cjs/utils/liquidation.js.map +1 -1
  26. package/dist/cjs/utils/orderFormatting.d.ts +3 -2
  27. package/dist/cjs/utils/orderFormatting.d.ts.map +1 -1
  28. package/dist/cjs/utils/orderFormatting.js +4 -4
  29. package/dist/cjs/utils/orderFormatting.js.map +1 -1
  30. package/dist/cjs/utils/spotBalance.d.ts.map +1 -1
  31. package/dist/cjs/utils/spotBalance.js +2 -2
  32. package/dist/cjs/utils/spotBalance.js.map +1 -1
  33. package/dist/cjs/utils/withdrawableBalances.d.ts +1 -1
  34. package/dist/cjs/utils/withdrawableBalances.d.ts.map +1 -1
  35. package/dist/cjs/utils/withdrawableBalances.js +7 -4
  36. package/dist/cjs/utils/withdrawableBalances.js.map +1 -1
  37. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts +6 -0
  38. package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  39. package/dist/cjs/websocket/HyperliquidWsProvider.js +135 -37
  40. package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
  41. package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
  42. package/dist/esm/HyperliquidProvider.js +3 -3
  43. package/dist/esm/HyperliquidProvider.js.map +1 -1
  44. package/dist/esm/services/getAccount.d.ts.map +1 -1
  45. package/dist/esm/services/getAccount.js +6 -5
  46. package/dist/esm/services/getAccount.js.map +1 -1
  47. package/dist/esm/services/getActivity.d.ts +3 -13
  48. package/dist/esm/services/getActivity.d.ts.map +1 -1
  49. package/dist/esm/services/getActivity.js +74 -64
  50. package/dist/esm/services/getActivity.js.map +1 -1
  51. package/dist/esm/services/getFills.d.ts +2 -14
  52. package/dist/esm/services/getFills.d.ts.map +1 -1
  53. package/dist/esm/services/getFills.js +32 -58
  54. package/dist/esm/services/getFills.js.map +1 -1
  55. package/dist/esm/services/getWithdrawableBalances.js +1 -1
  56. package/dist/esm/services/getWithdrawableBalances.js.map +1 -1
  57. package/dist/esm/services/historyPagination.d.ts +22 -0
  58. package/dist/esm/services/historyPagination.d.ts.map +1 -0
  59. package/dist/esm/services/historyPagination.js +121 -0
  60. package/dist/esm/services/historyPagination.js.map +1 -0
  61. package/dist/esm/utils/index.d.ts +1 -1
  62. package/dist/esm/utils/index.d.ts.map +1 -1
  63. package/dist/esm/utils/index.js +1 -1
  64. package/dist/esm/utils/index.js.map +1 -1
  65. package/dist/esm/utils/liquidation.js +2 -2
  66. package/dist/esm/utils/liquidation.js.map +1 -1
  67. package/dist/esm/utils/orderFormatting.d.ts +14 -12
  68. package/dist/esm/utils/orderFormatting.d.ts.map +1 -1
  69. package/dist/esm/utils/orderFormatting.js +14 -14
  70. package/dist/esm/utils/orderFormatting.js.map +1 -1
  71. package/dist/esm/utils/spotBalance.d.ts.map +1 -1
  72. package/dist/esm/utils/spotBalance.js +3 -3
  73. package/dist/esm/utils/spotBalance.js.map +1 -1
  74. package/dist/esm/utils/withdrawableBalances.d.ts +1 -1
  75. package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -1
  76. package/dist/esm/utils/withdrawableBalances.js +7 -4
  77. package/dist/esm/utils/withdrawableBalances.js.map +1 -1
  78. package/dist/esm/websocket/HyperliquidWsProvider.d.ts +6 -0
  79. package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  80. package/dist/esm/websocket/HyperliquidWsProvider.js +138 -50
  81. package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
  82. package/dist/types/HyperliquidProvider.d.ts.map +1 -1
  83. package/dist/types/services/getAccount.d.ts.map +1 -1
  84. package/dist/types/services/getActivity.d.ts +3 -13
  85. package/dist/types/services/getActivity.d.ts.map +1 -1
  86. package/dist/types/services/getFills.d.ts +2 -14
  87. package/dist/types/services/getFills.d.ts.map +1 -1
  88. package/dist/types/services/historyPagination.d.ts +22 -0
  89. package/dist/types/services/historyPagination.d.ts.map +1 -0
  90. package/dist/types/utils/index.d.ts +1 -1
  91. package/dist/types/utils/index.d.ts.map +1 -1
  92. package/dist/types/utils/orderFormatting.d.ts +14 -12
  93. package/dist/types/utils/orderFormatting.d.ts.map +1 -1
  94. package/dist/types/utils/spotBalance.d.ts.map +1 -1
  95. package/dist/types/utils/withdrawableBalances.d.ts +1 -1
  96. package/dist/types/utils/withdrawableBalances.d.ts.map +1 -1
  97. package/dist/types/websocket/HyperliquidWsProvider.d.ts +6 -0
  98. package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
  99. package/package.json +3 -3
  100. package/src/HyperliquidProvider.ts +6 -5
  101. package/src/services/getAccount.ts +18 -18
  102. package/src/services/getActivity.ts +133 -104
  103. package/src/services/getFills.ts +42 -95
  104. package/src/services/getWithdrawableBalances.ts +1 -1
  105. package/src/services/historyPagination.ts +169 -0
  106. package/src/utils/index.ts +2 -2
  107. package/src/utils/liquidation.ts +2 -2
  108. package/src/utils/orderFormatting.ts +20 -16
  109. package/src/utils/spotBalance.ts +5 -3
  110. package/src/utils/withdrawableBalances.ts +12 -7
  111. package/src/websocket/HyperliquidWsProvider.ts +151 -63
@@ -0,0 +1 @@
1
+ {"version":3,"file":"historyPagination.js","sourceRoot":"","sources":["../../../src/services/historyPagination.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export { mapMarketContext } from './mapMarketContext.js';
12
12
  export { type HlOrderLike, mapOrder, mapOrderStatus, mapOrderType, } from './mapOrder.js';
13
13
  export { isOpenAssetPosition, mapPosition } from './mapPosition.js';
14
14
  export { coinAsset, perpsDexNames } from './marketDisplay.js';
15
- export { formatOrderPrice, formatOrderSize, getMaxPriceDecimals, } from './orderFormatting.js';
15
+ export { getMaxPriceDecimals, snapOrderPrice, snapOrderSize, } from './orderFormatting.js';
16
16
  export { priceStepToAggregation } from './priceStepToAggregation.js';
17
17
  export { spotAssetFromToken, spotBalance, spotPriceById, } from './spotBalance.js';
18
18
  export { partitionSpotBalances, type SpotPartition } from './spotCollateral.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,KAAK,gBAAgB,EACrB,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EACL,KAAK,WAAW,EAChB,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,KAAK,gBAAgB,EACrB,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -14,7 +14,7 @@ export { mapMarketContext } from './mapMarketContext.js';
14
14
  export { mapOrder, mapOrderStatus, mapOrderType, } from './mapOrder.js';
15
15
  export { isOpenAssetPosition, mapPosition } from './mapPosition.js';
16
16
  export { coinAsset, perpsDexNames } from './marketDisplay.js';
17
- export { formatOrderPrice, formatOrderSize, getMaxPriceDecimals, } from './orderFormatting.js';
17
+ export { getMaxPriceDecimals, snapOrderPrice, snapOrderSize, } from './orderFormatting.js';
18
18
  export { priceStepToAggregation } from './priceStepToAggregation.js';
19
19
  export { spotAssetFromToken, spotBalance, spotPriceById, } from './spotBalance.js';
20
20
  export { partitionSpotBalances } from './spotCollateral.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,kDAAkD;AAElD,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAEL,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAsB,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAEL,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,+BAA+B,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,kDAAkD;AAElD,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,gBAAgB,GACjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAEL,QAAQ,EACR,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAsB,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAEL,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA"}
@@ -11,7 +11,7 @@
11
11
  * - side = 1 (long) or -1 (short)
12
12
  * - margin_available = isolated_margin - maintenance_margin_required
13
13
  */
14
- import { estimateIsolatedLiquidationPrice } from '@lifi/perps-sdk';
14
+ import { estimateLiquidationPrice } from '@lifi/perps-sdk';
15
15
  /**
16
16
  * Calculate the maintenance margin fraction for a Hyperliquid asset.
17
17
  *
@@ -55,7 +55,7 @@ export function calculateLiquidationPrice(entryPrice, leverage, isLong, maxLever
55
55
  if (mmr === undefined) {
56
56
  return undefined;
57
57
  }
58
- return estimateIsolatedLiquidationPrice({
58
+ return estimateLiquidationPrice({
59
59
  entryPrice,
60
60
  leverage,
61
61
  isLong,
@@ -1 +1 @@
1
- {"version":3,"file":"liquidation.js","sourceRoot":"","sources":["../../../src/utils/liquidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAA;AAElE;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,WAAmB;IAEnB,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAkB,EAClB,QAAgB,EAChB,MAAe,EACf,WAAmB;IAEnB,MAAM,GAAG,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAA;IACvD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,gCAAgC,CAAC;QACtC,UAAU;QACV,QAAQ;QACR,MAAM;QACN,qBAAqB,EAAE,GAAG;KAC3B,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"liquidation.js","sourceRoot":"","sources":["../../../src/utils/liquidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,WAAmB;IAEnB,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAkB,EAClB,QAAgB,EAChB,MAAe,EACf,WAAmB;IAEnB,MAAM,GAAG,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAA;IACvD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,wBAAwB,CAAC;QAC9B,UAAU;QACV,QAAQ;QACR,MAAM;QACN,qBAAqB,EAAE,GAAG;KAC3B,CAAC,CAAA;AACJ,CAAC"}
@@ -1,11 +1,12 @@
1
1
  /**
2
- * Hyperliquid order size and price formatting for exchange submission.
2
+ * Hyperliquid order size and price snapping for exchange submission.
3
3
  *
4
- * These encode Hyperliquid-specific order submission rules. Getting size/price
5
- * formatting wrong causes rejected orders.
4
+ * These encode Hyperliquid-specific order submission rules. Snapping a size or
5
+ * a price onto the wrong grid causes rejected orders.
6
6
  *
7
7
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size
8
8
  */
9
+ import type { DecimalString } from '@lifi/perps-types';
9
10
  /**
10
11
  * Derive the maximum number of price decimal places for a given asset.
11
12
  *
@@ -16,20 +17,20 @@
16
17
  */
17
18
  export declare function getMaxPriceDecimals(szDecimals: number, market?: string): number;
18
19
  /**
19
- * Format a size value for order submission.
20
+ * Snap a size onto the asset's lot grid for order submission.
20
21
  *
21
22
  * Per Hyperliquid docs (tick-and-lot-size):
22
23
  * - Size must be rounded to the asset's szDecimals
23
24
  * - Trailing zeroes must be removed for signing
24
25
  *
25
- * @param size - The size value to format
26
+ * @param size - The size to snap, as a decimal string
26
27
  * @param szDecimals - Number of decimal places allowed for this asset (from meta)
27
- * @returns Size as a string with correct precision, no trailing zeros
28
+ * @returns Size as a decimal string with correct precision, no trailing zeros
28
29
  * @public
29
30
  */
30
- export declare function formatOrderSize(size: number, szDecimals: number): string;
31
+ export declare function snapOrderSize(size: DecimalString, szDecimals: number): DecimalString;
31
32
  /**
32
- * Format a price value for order submission.
33
+ * Snap a price onto the asset's tick grid for order submission.
33
34
  *
34
35
  * Per Hyperliquid docs (tick-and-lot-size):
35
36
  * - Maximum 5 significant figures
@@ -38,13 +39,14 @@ export declare function formatOrderSize(size: number, szDecimals: number): strin
38
39
  * - Trailing zeroes must be removed for signing
39
40
  *
40
41
  * Rounding is half-up (away from zero at exact halfway) on the true decimal
41
- * value, not on the binary float — (1.005).toFixed(2) would give '1.00'.
42
+ * value, which is why the price arrives as a string: `(1.005).toFixed(2)`
43
+ * would give `'1.00'`.
42
44
  *
43
- * @param price - The price value to format
45
+ * @param price - The price to snap, as a decimal string
44
46
  * @param szDecimals - The asset's szDecimals (affects max price decimals)
45
47
  * @param market - Optional market type (e.g. 'spot'). Defaults to perps rules.
46
- * @returns Price as a string with correct precision, no trailing zeros
48
+ * @returns Price as a decimal string with correct precision, no trailing zeros
47
49
  * @public
48
50
  */
49
- export declare function formatOrderPrice(price: number, szDecimals: number, market?: string): string;
51
+ export declare function snapOrderPrice(price: DecimalString, szDecimals: number, market?: string): DecimalString;
50
52
  //# sourceMappingURL=orderFormatting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOxE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAYR"}
1
+ {"version":3,"file":"orderFormatting.d.ts","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AActD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,GACjB,aAAa,CAMf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,aAAa,CAYf"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Hyperliquid order size and price formatting for exchange submission.
2
+ * Hyperliquid order size and price snapping for exchange submission.
3
3
  *
4
- * These encode Hyperliquid-specific order submission rules. Getting size/price
5
- * formatting wrong causes rejected orders.
4
+ * These encode Hyperliquid-specific order submission rules. Snapping a size or
5
+ * a price onto the wrong grid causes rejected orders.
6
6
  *
7
7
  * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size
8
8
  */
@@ -28,27 +28,26 @@ export function getMaxPriceDecimals(szDecimals, market) {
28
28
  return Math.max(0, getMaxDecimals(market) - szDecimals);
29
29
  }
30
30
  /**
31
- * Format a size value for order submission.
31
+ * Snap a size onto the asset's lot grid for order submission.
32
32
  *
33
33
  * Per Hyperliquid docs (tick-and-lot-size):
34
34
  * - Size must be rounded to the asset's szDecimals
35
35
  * - Trailing zeroes must be removed for signing
36
36
  *
37
- * @param size - The size value to format
37
+ * @param size - The size to snap, as a decimal string
38
38
  * @param szDecimals - Number of decimal places allowed for this asset (from meta)
39
- * @returns Size as a string with correct precision, no trailing zeros
39
+ * @returns Size as a decimal string with correct precision, no trailing zeros
40
40
  * @public
41
41
  */
42
- export function formatOrderSize(size, szDecimals) {
42
+ export function snapOrderSize(size, szDecimals) {
43
43
  // Big.roundDown truncates toward zero — never round a size up, it could
44
- // exceed available balance. Exact decimal arithmetic: flooring the float
45
- // product dropped a lot step (0.29 * 100 === 28.999999999999996).
44
+ // exceed available balance.
46
45
  const truncated = new Big(size).round(szDecimals, Big.roundDown);
47
46
  // toFixed() with no dp always emits plain notation; eq(0) guards '-0'
48
47
  return truncated.eq(0) ? '0' : truncated.toFixed();
49
48
  }
50
49
  /**
51
- * Format a price value for order submission.
50
+ * Snap a price onto the asset's tick grid for order submission.
52
51
  *
53
52
  * Per Hyperliquid docs (tick-and-lot-size):
54
53
  * - Maximum 5 significant figures
@@ -57,15 +56,16 @@ export function formatOrderSize(size, szDecimals) {
57
56
  * - Trailing zeroes must be removed for signing
58
57
  *
59
58
  * Rounding is half-up (away from zero at exact halfway) on the true decimal
60
- * value, not on the binary float — (1.005).toFixed(2) would give '1.00'.
59
+ * value, which is why the price arrives as a string: `(1.005).toFixed(2)`
60
+ * would give `'1.00'`.
61
61
  *
62
- * @param price - The price value to format
62
+ * @param price - The price to snap, as a decimal string
63
63
  * @param szDecimals - The asset's szDecimals (affects max price decimals)
64
64
  * @param market - Optional market type (e.g. 'spot'). Defaults to perps rules.
65
- * @returns Price as a string with correct precision, no trailing zeros
65
+ * @returns Price as a decimal string with correct precision, no trailing zeros
66
66
  * @public
67
67
  */
68
- export function formatOrderPrice(price, szDecimals, market) {
68
+ export function snapOrderPrice(price, szDecimals, market) {
69
69
  const maxPriceDecimals = getMaxPriceDecimals(szDecimals, market);
70
70
  let rounded = new Big(price).round(maxPriceDecimals, Big.roundHalfUp);
71
71
  // Integer prices bypass the 5 sig-fig rule; prec() is a no-op below 6 sig figs
@@ -1 +1 @@
1
- {"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B,SAAS,cAAc,CAAC,MAAe;IACrC,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,MAAe;IAEf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAA;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,UAAkB;IAC9D,wEAAwE;IACxE,yEAAyE;IACzE,kEAAkE;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IAChE,sEAAsE;IACtE,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,UAAkB,EAClB,MAAe;IAEf,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAEhE,IAAI,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IAErE,+EAA+E;IAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED,sEAAsE;IACtE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"orderFormatting.js","sourceRoot":"","sources":["../../../src/utils/orderFormatting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,GAAG,MAAM,QAAQ,CAAA;AAExB;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B,SAAS,cAAc,CAAC,MAAe;IACrC,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAkB,EAClB,MAAe;IAEf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAA;AACzD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAmB,EACnB,UAAkB;IAElB,wEAAwE;IACxE,4BAA4B;IAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IAChE,sEAAsE;IACtE,OAAO,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAoB,EACpB,UAAkB,EAClB,MAAe;IAEf,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAEhE,IAAI,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IAErE,+EAA+E;IAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED,sEAAsE;IACtE,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAItD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,MAAM,EAAE,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,GAAG,CAAC,MAAM,EAAE,MAAM,CAapB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,GAAG,aAAa,KAAG,KAIpD,CAAA;AAEF,qIAAqI;AACrI,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,OAUF,CAAA"}
1
+ {"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAItD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,MAAM,EAAE,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,GAAG,CAAC,MAAM,EAAE,MAAM,CAapB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,GAAG,aAAa,KAAG,KAIpD,CAAA;AAEF,qIAAqI;AACrI,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,OAAO,MAAM,EACb,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7B,OAYF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { stringToFloat } from '@lifi/perps-sdk';
1
+ import { numberToDecimalString, parseDecimal } from '@lifi/perps-sdk';
2
2
  import { SPOT_MARKET_ID } from '../constants.js';
3
3
  import { spotLogoURI } from './assetLogo.js';
4
4
  import { coinAsset } from './marketDisplay.js';
@@ -40,9 +40,9 @@ export const spotBalance = (asset, total, priceById) => {
40
40
  categoryId: SPOT_MARKET_ID,
41
41
  asset,
42
42
  units: total,
43
- valueUsd: (stringToFloat(total) * price).toString(),
43
+ valueUsd: numberToDecimalString((parseDecimal(total) ?? Number.NaN) * price),
44
44
  // A zero entry means the map holds no mark for the asset, not a free asset.
45
- ...(price > 0 ? { price: price.toString() } : {}),
45
+ ...(price > 0 ? { price: numberToDecimalString(price) } : {}),
46
46
  };
47
47
  };
48
48
  //# sourceMappingURL=spotBalance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spotBalance.js","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAA0B,EAC1B,eAA4C,EACvB,EAAE;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;YACpC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAgB,EAAS,EAAE,CAAC,CAAC;IAC9D,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;CAC7B,CAAC,CAAA;AAEF,qIAAqI;AACrI,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAY,EACZ,KAAa,EACb,SAA8B,EACrB,EAAE;IACX,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,KAAK;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,EAAE;QACnD,4EAA4E;QAC5E,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"spotBalance.js","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAA0B,EAC1B,eAA4C,EACvB,EAAE;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;YACpC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAgB,EAAS,EAAE,CAAC,CAAC;IAC9D,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;CAC7B,CAAC,CAAA;AAEF,qIAAqI;AACrI,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAY,EACZ,KAAa,EACb,SAA8B,EACrB,EAAE;IACX,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,KAAK;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,qBAAqB,CAC7B,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAC5C;QACD,4EAA4E;QAC5E,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { ProviderWithdrawableBalance } from '@lifi/perps-sdk';
1
+ import { type ProviderWithdrawableBalance } from '@lifi/perps-sdk';
2
2
  import type { HlAbstractionMode, HlClearinghouseState, HlSpotClearinghouseState } from '../types/index.js';
3
3
  /**
4
4
  * Split a Hyperliquid account's venue figures into the routes a withdrawal
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAK1B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B,GAC1C,aAAa,iBAAiB,GAAG,IAAI,EACrC,OAAO,oBAAoB,EAC3B,WAAW,wBAAwB,EACnC,cAAc,MAAM,EACpB,gBAAgB,MAAM,KACrB,2BAA2B,EA4C7B,CAAA"}
1
+ {"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAK1B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B,GAC1C,aAAa,iBAAiB,GAAG,IAAI,EACrC,OAAO,oBAAoB,EAC3B,WAAW,wBAAwB,EACnC,cAAc,MAAM,EACpB,gBAAgB,MAAM,KACrB,2BAA2B,EA8C7B,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { calculateWithdrawMax, } from '@lifi/perps-sdk';
1
2
  import { isUnifiedAbstraction } from './abstractionMode.js';
2
3
  import { assetIsOutcome } from './assetId.js';
3
4
  import { toWireBig } from './decimal.js';
@@ -30,23 +31,25 @@ export const hyperliquidWithdrawableBalances = (abstraction, state, spotState, q
30
31
  const spot = toWireBig(balance.total, 'spotBalance.total').minus(toWireBig(balance.hold, 'spotBalance.hold'));
31
32
  if (spot.gt(0)) {
32
33
  const assetId = String(balance.token);
33
- rows.push({
34
+ const row = {
34
35
  assetId,
35
36
  route: 'spot',
36
37
  available: spot.toFixed(),
37
38
  ...feeFor(assetId),
38
- });
39
+ };
40
+ rows.push({ ...row, max: calculateWithdrawMax(row) });
39
41
  }
40
42
  }
41
43
  }
42
44
  const perps = toWireBig(state.withdrawable, 'clearinghouseState.withdrawable');
43
45
  if (perps.gt(0)) {
44
- rows.push({
46
+ const row = {
45
47
  assetId: quoteAssetId,
46
48
  route: 'perps',
47
49
  available: perps.toFixed(),
48
50
  ...feeFor(quoteAssetId),
49
- });
51
+ };
52
+ rows.push({ ...row, max: calculateWithdrawMax(row) });
50
53
  }
51
54
  return rows;
52
55
  };
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,WAAqC,EACrC,KAA2B,EAC3B,SAAmC,EACnC,YAAoB,EACpB,aAAsB,EACS,EAAE;IACjC,MAAM,IAAI,GAAkC,EAAE,CAAA;IAC9C,MAAM,GAAG,GACP,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,MAAM,MAAM,GAAG,CACb,OAAe,EACuD,EAAE,CACxE,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,YAAY;QAC3C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAEjD,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAC9D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC5C,CAAA;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,OAAO;oBACP,KAAK,EAAE,MAAM;oBACb,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;oBACzB,GAAG,MAAM,CAAC,OAAO,CAAC;iBACnB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE;YAC1B,GAAG,MAAM,CAAC,YAAY,CAAC;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,WAAqC,EACrC,KAA2B,EAC3B,SAAmC,EACnC,YAAoB,EACpB,aAAsB,EACS,EAAE;IACjC,MAAM,IAAI,GAAkC,EAAE,CAAA;IAC9C,MAAM,GAAG,GACP,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,MAAM,MAAM,GAAG,CACb,OAAe,EACuD,EAAE,CACxE,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,YAAY;QAC3C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAEjD,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAC9D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC5C,CAAA;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACrC,MAAM,GAAG,GAAG;oBACV,OAAO;oBACP,KAAK,EAAE,MAAe;oBACtB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;oBACzB,GAAG,MAAM,CAAC,OAAO,CAAC;iBACnB,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG;YACV,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,OAAgB;YACvB,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE;YAC1B,GAAG,MAAM,CAAC,YAAY,CAAC;SACxB,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -32,7 +32,12 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
32
32
  private readonly client;
33
33
  private readonly registry;
34
34
  private readonly abstractionByUser;
35
+ private readonly summaryUsers;
36
+ private readonly abstractionReadsByUser;
35
37
  private readonly spotRefs;
38
+ private spotWireEpoch;
39
+ private readonly latestSpotByUser;
40
+ private readonly revalueSpotBalances;
36
41
  private readonly unifiedSummaryByUser;
37
42
  private readonly latestPerpsByUser;
38
43
  private readonly heldSummaryByUser;
@@ -136,6 +141,7 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
136
141
  private fetchAbstractionMode;
137
142
  private handleActiveAssetData;
138
143
  private handleSpotState;
144
+ private emitSpotBalances;
139
145
  /** Read the venue buying power over REST when the spot frame omits it. */
140
146
  private fetchAvailableAfterMaintenance;
141
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}