@lifi/perps-sdk 24.0.0 → 25.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 (163) hide show
  1. package/README.md +34 -28
  2. package/dist/cjs/decimal/arithmetic.d.ts +2 -0
  3. package/dist/cjs/decimal/arithmetic.d.ts.map +1 -1
  4. package/dist/cjs/decimal/arithmetic.js +6 -1
  5. package/dist/cjs/decimal/arithmetic.js.map +1 -1
  6. package/dist/cjs/decimal/convert.d.ts +0 -2
  7. package/dist/cjs/decimal/convert.d.ts.map +1 -1
  8. package/dist/cjs/decimal/convert.js +2 -11
  9. package/dist/cjs/decimal/convert.js.map +1 -1
  10. package/dist/cjs/decimal/decimalStringToBig.d.ts.map +1 -1
  11. package/dist/cjs/decimal/decimalStringToBig.js +3 -5
  12. package/dist/cjs/decimal/decimalStringToBig.js.map +1 -1
  13. package/dist/cjs/decimal/parse.d.ts +1 -0
  14. package/dist/cjs/decimal/parse.d.ts.map +1 -1
  15. package/dist/cjs/decimal/parse.js +2 -1
  16. package/dist/cjs/decimal/parse.js.map +1 -1
  17. package/dist/cjs/errors/invalidInput.d.ts +3 -0
  18. package/dist/cjs/errors/invalidInput.d.ts.map +1 -0
  19. package/dist/cjs/errors/invalidInput.js +9 -0
  20. package/dist/cjs/errors/invalidInput.js.map +1 -0
  21. package/dist/cjs/index.d.ts +5 -4
  22. package/dist/cjs/index.d.ts.map +1 -1
  23. package/dist/cjs/index.js +10 -6
  24. package/dist/cjs/index.js.map +1 -1
  25. package/dist/cjs/math/order.d.ts +4 -4
  26. package/dist/cjs/math/order.d.ts.map +1 -1
  27. package/dist/cjs/math/order.js +31 -18
  28. package/dist/cjs/math/order.js.map +1 -1
  29. package/dist/cjs/math/position.d.ts +3 -3
  30. package/dist/cjs/math/position.d.ts.map +1 -1
  31. package/dist/cjs/math/position.js +13 -11
  32. package/dist/cjs/math/position.js.map +1 -1
  33. package/dist/cjs/types/provider.d.ts.map +1 -1
  34. package/dist/cjs/utils/warnOnce.d.ts +6 -2
  35. package/dist/cjs/utils/warnOnce.d.ts.map +1 -1
  36. package/dist/cjs/utils/warnOnce.js +12 -6
  37. package/dist/cjs/utils/warnOnce.js.map +1 -1
  38. package/dist/cjs/version.d.ts +1 -1
  39. package/dist/cjs/version.js +1 -1
  40. package/dist/cjs/websocket/wsLog.d.ts +1 -1
  41. package/dist/cjs/websocket/wsLog.d.ts.map +1 -1
  42. package/dist/cjs/websocket/wsLog.js +4 -3
  43. package/dist/cjs/websocket/wsLog.js.map +1 -1
  44. package/dist/cjs/wire/orderAmounts.d.ts +3 -2
  45. package/dist/cjs/wire/orderAmounts.d.ts.map +1 -1
  46. package/dist/cjs/wire/orderAmounts.js +17 -13
  47. package/dist/cjs/wire/orderAmounts.js.map +1 -1
  48. package/dist/cjs/wire/refuel.js +2 -2
  49. package/dist/cjs/wire/refuel.js.map +1 -1
  50. package/dist/esm/decimal/arithmetic.d.ts +24 -10
  51. package/dist/esm/decimal/arithmetic.d.ts.map +1 -1
  52. package/dist/esm/decimal/arithmetic.js +26 -10
  53. package/dist/esm/decimal/arithmetic.js.map +1 -1
  54. package/dist/esm/decimal/compare.d.ts +3 -3
  55. package/dist/esm/decimal/compare.js +3 -3
  56. package/dist/esm/decimal/convert.d.ts +2 -24
  57. package/dist/esm/decimal/convert.d.ts.map +1 -1
  58. package/dist/esm/decimal/convert.js +3 -32
  59. package/dist/esm/decimal/convert.js.map +1 -1
  60. package/dist/esm/decimal/decimalStringToBig.d.ts +4 -5
  61. package/dist/esm/decimal/decimalStringToBig.d.ts.map +1 -1
  62. package/dist/esm/decimal/decimalStringToBig.js +7 -10
  63. package/dist/esm/decimal/decimalStringToBig.js.map +1 -1
  64. package/dist/esm/decimal/format.js +3 -3
  65. package/dist/esm/decimal/parse.d.ts +8 -1
  66. package/dist/esm/decimal/parse.d.ts.map +1 -1
  67. package/dist/esm/decimal/parse.js +8 -1
  68. package/dist/esm/decimal/parse.js.map +1 -1
  69. package/dist/esm/errors/invalidInput.d.ts +4 -0
  70. package/dist/esm/errors/invalidInput.d.ts.map +1 -0
  71. package/dist/esm/errors/invalidInput.js +7 -0
  72. package/dist/esm/errors/invalidInput.js.map +1 -0
  73. package/dist/esm/index.d.ts +5 -4
  74. package/dist/esm/index.d.ts.map +1 -1
  75. package/dist/esm/index.js +5 -4
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/math/fills.d.ts +4 -4
  78. package/dist/esm/math/fills.js +4 -4
  79. package/dist/esm/math/order.d.ts +24 -26
  80. package/dist/esm/math/order.d.ts.map +1 -1
  81. package/dist/esm/math/order.js +52 -41
  82. package/dist/esm/math/order.js.map +1 -1
  83. package/dist/esm/math/position.d.ts +27 -27
  84. package/dist/esm/math/position.d.ts.map +1 -1
  85. package/dist/esm/math/position.js +38 -36
  86. package/dist/esm/math/position.js.map +1 -1
  87. package/dist/esm/services/resolveSubscribeQuote.d.ts +1 -1
  88. package/dist/esm/services/resolveSubscribeQuote.js +1 -1
  89. package/dist/esm/types/provider.d.ts +4 -3
  90. package/dist/esm/types/provider.d.ts.map +1 -1
  91. package/dist/esm/utils/createSafeFunction.d.ts +1 -1
  92. package/dist/esm/utils/createSafeFunction.js +1 -1
  93. package/dist/esm/utils/warnOnce.d.ts +17 -6
  94. package/dist/esm/utils/warnOnce.d.ts.map +1 -1
  95. package/dist/esm/utils/warnOnce.js +22 -10
  96. package/dist/esm/utils/warnOnce.js.map +1 -1
  97. package/dist/esm/version.d.ts +1 -1
  98. package/dist/esm/version.js +1 -1
  99. package/dist/esm/websocket/wsLog.d.ts +4 -4
  100. package/dist/esm/websocket/wsLog.d.ts.map +1 -1
  101. package/dist/esm/websocket/wsLog.js +8 -7
  102. package/dist/esm/websocket/wsLog.js.map +1 -1
  103. package/dist/esm/wire/orderAmounts.d.ts +9 -7
  104. package/dist/esm/wire/orderAmounts.d.ts.map +1 -1
  105. package/dist/esm/wire/orderAmounts.js +22 -18
  106. package/dist/esm/wire/orderAmounts.js.map +1 -1
  107. package/dist/esm/wire/refuel.d.ts +1 -1
  108. package/dist/esm/wire/refuel.js +4 -4
  109. package/dist/esm/wire/refuel.js.map +1 -1
  110. package/dist/esm/wire/transferable.d.ts +2 -2
  111. package/dist/esm/wire/transferable.js +2 -2
  112. package/dist/types/decimal/arithmetic.d.ts +24 -10
  113. package/dist/types/decimal/arithmetic.d.ts.map +1 -1
  114. package/dist/types/decimal/compare.d.ts +3 -3
  115. package/dist/types/decimal/convert.d.ts +2 -24
  116. package/dist/types/decimal/convert.d.ts.map +1 -1
  117. package/dist/types/decimal/decimalStringToBig.d.ts +4 -5
  118. package/dist/types/decimal/decimalStringToBig.d.ts.map +1 -1
  119. package/dist/types/decimal/parse.d.ts +8 -1
  120. package/dist/types/decimal/parse.d.ts.map +1 -1
  121. package/dist/types/errors/invalidInput.d.ts +4 -0
  122. package/dist/types/errors/invalidInput.d.ts.map +1 -0
  123. package/dist/types/index.d.ts +5 -4
  124. package/dist/types/index.d.ts.map +1 -1
  125. package/dist/types/math/fills.d.ts +4 -4
  126. package/dist/types/math/order.d.ts +24 -26
  127. package/dist/types/math/order.d.ts.map +1 -1
  128. package/dist/types/math/position.d.ts +27 -27
  129. package/dist/types/math/position.d.ts.map +1 -1
  130. package/dist/types/services/resolveSubscribeQuote.d.ts +1 -1
  131. package/dist/types/types/provider.d.ts +4 -3
  132. package/dist/types/types/provider.d.ts.map +1 -1
  133. package/dist/types/utils/createSafeFunction.d.ts +1 -1
  134. package/dist/types/utils/warnOnce.d.ts +17 -6
  135. package/dist/types/utils/warnOnce.d.ts.map +1 -1
  136. package/dist/types/version.d.ts +1 -1
  137. package/dist/types/websocket/wsLog.d.ts +4 -4
  138. package/dist/types/websocket/wsLog.d.ts.map +1 -1
  139. package/dist/types/wire/orderAmounts.d.ts +9 -7
  140. package/dist/types/wire/orderAmounts.d.ts.map +1 -1
  141. package/dist/types/wire/refuel.d.ts +1 -1
  142. package/dist/types/wire/transferable.d.ts +2 -2
  143. package/package.json +2 -2
  144. package/src/decimal/arithmetic.ts +36 -10
  145. package/src/decimal/compare.ts +3 -3
  146. package/src/decimal/convert.ts +3 -40
  147. package/src/decimal/decimalStringToBig.ts +7 -12
  148. package/src/decimal/format.ts +3 -3
  149. package/src/decimal/parse.ts +12 -1
  150. package/src/errors/invalidInput.ts +10 -0
  151. package/src/index.ts +8 -3
  152. package/src/math/fills.ts +4 -4
  153. package/src/math/order.ts +56 -48
  154. package/src/math/position.ts +43 -42
  155. package/src/services/resolveSubscribeQuote.ts +1 -1
  156. package/src/types/provider.ts +4 -3
  157. package/src/utils/createSafeFunction.ts +1 -1
  158. package/src/utils/warnOnce.ts +28 -12
  159. package/src/version.ts +1 -1
  160. package/src/websocket/wsLog.ts +22 -9
  161. package/src/wire/orderAmounts.ts +42 -24
  162. package/src/wire/refuel.ts +4 -4
  163. package/src/wire/transferable.ts +2 -2
package/README.md CHANGED
@@ -233,10 +233,15 @@ are display and comparison values. No quote grid applies to them.
233
233
  - A derived size truncates onto the lot grid, so a held margin always funds
234
234
  its size: `size × price ≤ margin × leverage`.
235
235
 
236
- The call gives `null` when `amount` or `price` is not a positive
237
- `DecimalString`, when `leverage` is not a positive finite number, or when the
238
- snapped size is zero (below one lot). A sub-cent margin is a valid order when
239
- the lot grid takes the size.
236
+ The call throws `PerpsError(ValidationError)` that names `amount` or `price`
237
+ when it is not a positive decimal, or `leverage` when it is not a finite number
238
+ above zero. It also throws, with the lot size in the message, when the snapped
239
+ size is zero (below one lot). `safeCalculateOrderAmounts` gives `undefined` in
240
+ place of the throw. A sub-cent margin is a valid order when the lot grid takes
241
+ the size.
242
+
243
+ `OrderAmountsInput.leverage` is a `number`. `Position.leverage` is a
244
+ `DecimalString`, so a caller converts it with `safeDecimalStringToNumber`.
240
245
 
241
246
  ```ts
242
247
  import { calculateOrderAmounts } from '@lifi/perps-sdk'
@@ -249,14 +254,12 @@ const amounts = calculateOrderAmounts({
249
254
  leverage: 5,
250
255
  price: '1000',
251
256
  })
252
- // { margin: '100', size: '0.5', notional: '500' }, or null — see above
257
+ // { margin: '100', size: '0.5', notional: '500' }
253
258
  ```
254
259
 
255
260
  Send `amounts.size` as `PlaceOrderParams.size`. It is the same string that the
256
261
  size field shows.
257
262
 
258
- `truncateDecimal(value, decimals)` rounds a decimal string down and pads it to
259
- exactly `decimals` places, which seeds a fixed-decimal input field.
260
263
  `roundDecimalString(value, decimals, rounding)` rounds to `decimals` places,
261
264
  with `'truncate'` or `'round'` (half-up), and keeps no trailing zeros.
262
265
  `numberToDecimalString(value)` spells a `number` from a venue or browser API as
@@ -287,8 +290,8 @@ passes through a `number`:
287
290
  wallet already holds the recommendation, or when the recommendation, its
288
291
  USD value or the price is not greater than zero.
289
292
 
290
- Each one throws `PerpsError(ValidationError)` when an input is not a decimal
291
- string. `calculateRefuelAmount` also throws when a
293
+ Each one throws `PerpsError(ValidationError)` when an input does not match the
294
+ decimal pattern. `calculateRefuelAmount` also throws when a
292
295
  base-unit input is not an integer string.
293
296
 
294
297
  ## Numbers
@@ -301,13 +304,13 @@ signature carries a `Big` or does float math on an amount.
301
304
 
302
305
  - Display shows the venue string unchanged. The SDK tests a string only where
303
306
  it sorts or calculates with it.
304
- - To read a string for a calculation, the SDK removes `$`, `%`, `,` and
305
- whitespace, then tests `DECIMAL_PATTERN` (an optional `-`, digits, and an
306
- optional `.` with digits), then reads it with `big.js`. So
307
- `addDecimalString('$4', '$6')` gives `'10'`. An exponent form such as
308
- `'1e-7'` fails the test.
309
- - `isDecimalString(value)` tests a value against `DECIMAL_PATTERN` with no
310
- cleaning. It never throws.
307
+ - To read a string for a calculation, the SDK tests `DECIMAL_PATTERN` (an
308
+ optional `-`, digits, and an optional `.` with digits), then reads it with
309
+ `big.js`. The SDK does not clean the string. A display form such as `'$4'`
310
+ or `'0.05%'`, or an exponent form such as `'1e-7'`, fails the test and
311
+ throws.
312
+ - `isDecimalString(value)` tests a value against `DECIMAL_PATTERN`. It never
313
+ throws.
311
314
  - `decimalStringToNumber` is for chart and pixel values only. A `number` holds
312
315
  about 15 significant digits.
313
316
 
@@ -315,8 +318,9 @@ signature carries a `Big` or does float math on an amount.
315
318
 
316
319
  Each fallible function has two forms:
317
320
 
318
- - `X(...)` throws `PerpsError(ValidationError)` on an input that is not a
319
- decimal string, or on a zero divisor.
321
+ - `X(...)` throws `PerpsError(ValidationError)` on an input that does not
322
+ match the decimal pattern, or on a degenerate input such as a zero divisor.
323
+ The message names the parameter.
320
324
  - `safeX(...)` calls `X`, catches any error, logs a `console.warn` with the
321
325
  function name and the error, and gives `undefined`. It has no default: the
322
326
  caller writes `?? fallback`.
@@ -329,20 +333,21 @@ totals and WebSocket updates. It uses `safeX`, and the row stays.
329
333
 
330
334
  | Group | Functions |
331
335
  | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
332
- | Arithmetic | `addDecimalString`, `subtractDecimalString`, `multiplyDecimalString`, `divideDecimalString` (40 places, half-up), `divideDecimalStringRoundDown` (40 places, truncate) |
336
+ | Arithmetic | `addDecimalString`, `addDecimalStrings`, `subtractDecimalString`, `multiplyDecimalString`, `divideDecimalString` (40 places, half-up), `divideDecimalStringRoundDown` (40 places, truncate) |
333
337
  | Compare | `compareDecimalStrings`, `isDecimalStringGreaterThan`, `isDecimalStringZero` |
334
- | Convert | `roundDecimalString`, `truncateDecimal`, `scaledIntegerToDecimalString`, `numberToDecimalString`, `decimalStringToNumber`, `timestampToIsoString` |
338
+ | Convert | `roundDecimalString`, `scaledIntegerToDecimalString`, `numberToDecimalString`, `decimalStringToNumber`, `decimalStringToScaledInteger`, `timestampToIsoString` |
335
339
  | Formulas | every `calculate*`, `estimate*`, `apply*`, `walkOrderbook`, `buildQuote`, `resolveCloseSize` and `wouldImmediatelyLiquidate` in `math/` |
340
+ | Wire | `calculateOrderAmounts` |
336
341
 
337
- `format*` is display only. It formats with `big.js`, shows a string that is not
338
- a decimal unchanged, and shows the placeholder for `null` or `undefined`. It
339
- never throws and has no `safe` form.
342
+ `format*` is display only. It formats with `big.js`, shows a string that does
343
+ not match the decimal pattern unchanged, and shows the placeholder for `null`
344
+ or `undefined`. It never throws and has no `safe` form.
340
345
 
341
346
  ### Three tiers
342
347
 
343
348
  | Tier | Holds | In → out | Rule |
344
349
  | ---------- | ------------------------------------------------------------- | ----------------- | ---------------------------------------------------------- |
345
- | `decimal/` | arithmetic, compare, `<a>To<B>` conversions, `format*` | string → string | No domain words. See the vocabulary for each failure mode. |
350
+ | `decimal/` | arithmetic, compare, `<a>To<B>` conversions, `format*` | string → string; `number` from `decimalStringToNumber` and `decimalStringToScaledInteger` | No domain words. See the vocabulary for each failure mode. |
346
351
  | `math/` | trading formulas (`calculate*`, `estimate*`, …) | string → string | Estimates for a screen or a preview. |
347
352
  | `wire/` | `calculateOrderAmounts`, `snapOrder*`, account helpers | string → string | Venue-ready values, snapped by the market's own provider. |
348
353
 
@@ -357,14 +362,15 @@ One verb names one kind of transformation.
357
362
  | `parse<X>` | `string` → typed value, or `undefined` on garbage | yes | `parseStoredRecord` |
358
363
  | `<a>To<B>` | representation A → B, no domain meaning; A and B are each `scaledInteger`, `decimalString`, `number`, `timestamp` or `isoString` | throws on invalid; `safe<a>To<B>` gives `undefined` | `scaledIntegerToDecimalString`, `numberToDecimalString`, `decimalStringToNumber` |
359
364
  | `format<X>` | value → human string (grouped, localised) | no; renders the value or a placeholder | `formatUsd`, `formatNumber` |
360
- | `snap<X>` | `DecimalString` → venue-grid `DecimalString` | throws on a missing grid | `snapOrderSize`, `snapOrderPrice`, `truncateDecimal` |
365
+ | `snap<X>` | `DecimalString` → venue-grid `DecimalString` | throws on a missing grid | `snapOrderSize`, `snapOrderPrice` |
361
366
  | `calculate<X>` | values → exact result by formula | throws; `safe` form | `calculateNotionalValue`, `calculateOrderAmounts` |
362
367
  | `estimate<X>` | values → approximation or forward-looking value | throws; `safe` form | `estimateLiquidationPrice`, `estimateAverageEntryPrice` |
363
368
  | `resolve<X>` | candidates and rules → the one to use | throws; `safe` form | `resolveCloseSize`, `resolveQuote` |
364
- | `validate<X>` | values → ok or error result | — | — |
365
- | `is<X>` `would<X>` `has<X>` | → `boolean` | — | `isDecimalString`, `wouldImmediatelyLiquidate` |
369
+ | `is<X>` | value → `boolean`, a pattern test | no | `isDecimalString` |
370
+ | `is<X>` compare predicates | decimal strings → `boolean` | throws; `safe` form | `isDecimalStringZero`, `isDecimalStringGreaterThan` |
371
+ | `would<X>` `has<X>` | → `boolean` | throws; `safe` form | `wouldImmediatelyLiquidate` |
366
372
  | `build<X>` | inputs → payload struct | — | `buildQuote` |
367
- | `aggregate<X>` | collection → totals | — | — |
373
+ | `aggregate<X>` | collection → total | throws; `safe` form | `addDecimalStrings` |
368
374
 
369
375
  No function in `decimal/`, `math/` or `wire/` uses a `derive`, `predict` or
370
376
  `convert` verb, or a bare noun as its name. The boundary spec checks every
@@ -1,5 +1,7 @@
1
1
  export declare function addDecimalString(a: string, b: string): string;
2
2
  export declare const safeAddDecimalString: (a: string, b: string) => string | undefined;
3
+ export declare function addDecimalStrings(values: readonly string[]): string;
4
+ export declare const safeAddDecimalStrings: (values: readonly string[]) => string | undefined;
3
5
  export declare function subtractDecimalString(a: string, b: string): string;
4
6
  export declare const safeSubtractDecimalString: (a: string, b: string) => string | undefined;
5
7
  export declare function multiplyDecimalString(a: string, b: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"AAcA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7D;AAOD,eAAO,MAAM,oBAAoB,8CAGhC,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAOD,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAOD,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAoBD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAOD,eAAO,MAAM,uBAAuB,8CAGnC,CAAA;AAUD,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAQD,eAAO,MAAM,gCAAgC,8CAG5C,CAAA;AAQD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAOD,eAAO,MAAM,oBAAoB,uCAGhC,CAAA"}
1
+ {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"AAaA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7D;AAOD,eAAO,MAAM,oBAAoB,8CAGhC,CAAA;AASD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAOnE;AAQD,eAAO,MAAM,qBAAqB,mDAGjC,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAOD,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAQD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAOD,eAAO,MAAM,yBAAyB,8CAGrC,CAAA;AAoBD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGhE;AAOD,eAAO,MAAM,uBAAuB,8CAGnC,CAAA;AAUD,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzE;AAQD,eAAO,MAAM,gCAAgC,8CAG5C,CAAA;AAQD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAOD,eAAO,MAAM,oBAAoB,uCAGhC,CAAA"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeAbsDecimalString = exports.safeDivideDecimalStringRoundDown = exports.safeDivideDecimalString = exports.safeMultiplyDecimalString = exports.safeSubtractDecimalString = exports.safeAddDecimalString = void 0;
3
+ exports.safeAbsDecimalString = exports.safeDivideDecimalStringRoundDown = exports.safeDivideDecimalString = exports.safeMultiplyDecimalString = exports.safeSubtractDecimalString = exports.safeAddDecimalStrings = exports.safeAddDecimalString = void 0;
4
4
  exports.addDecimalString = addDecimalString;
5
+ exports.addDecimalStrings = addDecimalStrings;
5
6
  exports.subtractDecimalString = subtractDecimalString;
6
7
  exports.multiplyDecimalString = multiplyDecimalString;
7
8
  exports.divideDecimalString = divideDecimalString;
@@ -16,6 +17,10 @@ function addDecimalString(a, b) {
16
17
  return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(a).plus((0, decimalStringToBig_js_1.decimalStringToBig)(b)));
17
18
  }
18
19
  exports.safeAddDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('addDecimalString', addDecimalString);
20
+ function addDecimalStrings(values) {
21
+ return (0, decimalStringToBig_js_1.bigToDecimalString)(values.reduce((sum, value) => sum.plus((0, decimalStringToBig_js_1.decimalStringToBig)(value)), (0, decimalStringToBig_js_1.decimalStringToBig)('0')));
22
+ }
23
+ exports.safeAddDecimalStrings = (0, createSafeFunction_js_1.createSafeFunction)('addDecimalStrings', addDecimalStrings);
19
24
  function subtractDecimalString(a, b) {
20
25
  return (0, decimalStringToBig_js_1.bigToDecimalString)((0, decimalStringToBig_js_1.decimalStringToBig)(a).minus((0, decimalStringToBig_js_1.decimalStringToBig)(b)));
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":";;;AAcA,4CAEC;AAkBD,sDAEC;AAkBD,sDAEC;AA8BD,kDAGC;AAoBD,oEAGC;AAmBD,4CAEC;AArID,mDAAkD;AAElD,2DAAoD;AACpD,0EAAmE;AACnE,qCAA2C;AAC3C,mEAAgF;AAShF,SAAgB,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,OAAO,IAAA,0CAAkB,EAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9E,CAAC;AAOY,QAAA,oBAAoB,GAAG,IAAA,0CAAkB,EACpD,kBAAkB,EAClB,gBAAgB,CACjB,CAAA;AAQD,SAAgB,qBAAqB,CAAC,CAAS,EAAE,CAAS;IACxD,OAAO,IAAA,0CAAkB,EAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/E,CAAC;AAOY,QAAA,yBAAyB,GAAG,IAAA,0CAAkB,EACzD,uBAAuB,EACvB,qBAAqB,CACtB,CAAA;AAQD,SAAgB,qBAAqB,CAAC,CAAS,EAAE,CAAS;IACxD,OAAO,IAAA,0CAAkB,EAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/E,CAAC;AAOY,QAAA,yBAAyB,GAAG,IAAA,0CAAkB,EACzD,uBAAuB,EACvB,qBAAqB,CACtB,CAAA;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,MAAM,GAAG,IAAA,0CAAkB,EAAC,OAAO,CAAC,CAAA;IAC1C,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,8BAA8B,OAAO,IAAI,CAC1C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AASD,SAAgB,mBAAmB,CAAC,CAAS,EAAE,CAAS;IACtD,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,IAAA,0CAAkB,EAAC,IAAI,eAAM,CAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;AAC3E,CAAC;AAOY,QAAA,uBAAuB,GAAG,IAAA,0CAAkB,EACvD,qBAAqB,EACrB,mBAAmB,CACpB,CAAA;AAUD,SAAgB,4BAA4B,CAAC,CAAS,EAAE,CAAS;IAC/D,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACxC,OAAO,IAAA,0CAAkB,EAAC,IAAI,iBAAQ,CAAC,IAAA,0CAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;AAC7E,CAAC;AAQY,QAAA,gCAAgC,GAAG,IAAA,0CAAkB,EAChE,8BAA8B,EAC9B,4BAA4B,CAC7B,CAAA;AAQD,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,IAAA,0CAAkB,EAAC,IAAA,0CAAkB,EAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;AAC5D,CAAC;AAOY,QAAA,oBAAoB,GAAG,IAAA,0CAAkB,EACpD,kBAAkB,EAClB,gBAAgB,CACjB,CAAA"}
1
+ {"version":3,"file":"arithmetic.js","sourceRoot":"","sources":["../../../src/decimal/arithmetic.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,6 @@ export declare const safeDecimalStringToScaledInteger: (value: string, decimals:
6
6
  export declare const BASE_UNITS_PATTERN: RegExp;
7
7
  export declare function scaledIntegerToDecimalString(amount: string, decimals: number): string;
8
8
  export declare const safeScaledIntegerToDecimalString: (amount: string, decimals: number) => string | undefined;
9
- export declare function truncateDecimal(value: string, decimals: number): string;
10
- export declare const safeTruncateDecimal: (value: string, decimals: number) => string | undefined;
11
9
  export declare function numberToDecimalString(value: number): string;
12
10
  export declare const safeNumberToDecimalString: (value: number) => string | undefined;
13
11
  //# sourceMappingURL=convert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAA;AAiBzD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAUR;AAOD,eAAO,MAAM,sBAAsB,oFAGlC,CAAA;AAYD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAuBR;AAQD,eAAO,MAAM,gCAAgC,oFAG5C,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAY,CAAA;AAU3C,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAcR;AAQD,eAAO,MAAM,gCAAgC,0DAG5C,CAAA;AAiBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUvE;AAOD,eAAO,MAAM,mBAAmB,yDAG/B,CAAA;AAYD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS3D;AAOD,eAAO,MAAM,yBAAyB,uCAGrC,CAAA"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAA;AAiBzD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAUR;AAOD,eAAO,MAAM,sBAAsB,oFAGlC,CAAA;AAYD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,GACxB,MAAM,CAuBR;AAQD,eAAO,MAAM,gCAAgC,oFAG5C,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAY,CAAA;AAU3C,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAcR;AAQD,eAAO,MAAM,gCAAgC,0DAG5C,CAAA;AAYD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS3D;AAOD,eAAO,MAAM,yBAAyB,uCAGrC,CAAA"}
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.safeNumberToDecimalString = exports.safeTruncateDecimal = exports.safeScaledIntegerToDecimalString = exports.BASE_UNITS_PATTERN = exports.safeDecimalStringToScaledInteger = exports.safeRoundDecimalString = void 0;
6
+ exports.safeNumberToDecimalString = exports.safeScaledIntegerToDecimalString = exports.BASE_UNITS_PATTERN = exports.safeDecimalStringToScaledInteger = exports.safeRoundDecimalString = void 0;
7
7
  exports.roundDecimalString = roundDecimalString;
8
8
  exports.decimalStringToScaledInteger = decimalStringToScaledInteger;
9
9
  exports.scaledIntegerToDecimalString = scaledIntegerToDecimalString;
10
- exports.truncateDecimal = truncateDecimal;
11
10
  exports.numberToDecimalString = numberToDecimalString;
12
11
  const perps_types_1 = require("@lifi/perps-types");
13
12
  const big_js_1 = __importDefault(require("big.js"));
@@ -30,7 +29,7 @@ function roundDecimalString(value, decimals, rounding) {
30
29
  exports.safeRoundDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('roundDecimalString', roundDecimalString);
31
30
  function decimalStringToScaledInteger(value, decimals, rounding) {
32
31
  if (!(0, parse_js_1.isDecimalString)(value)) {
33
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `'${value}' is not a decimal string.`);
32
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `'${value}' does not match the decimal pattern.`);
34
33
  }
35
34
  if (!Number.isInteger(decimals) || decimals < 0) {
36
35
  throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid decimals for integer scaling: ${decimals}`);
@@ -55,14 +54,6 @@ function scaledIntegerToDecimalString(amount, decimals) {
55
54
  return (0, viem_1.formatUnits)(BigInt(amount), decimals);
56
55
  }
57
56
  exports.safeScaledIntegerToDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('scaledIntegerToDecimalString', scaledIntegerToDecimalString);
58
- function truncateDecimal(value, decimals) {
59
- if (!Number.isInteger(decimals) || decimals < 0) {
60
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid decimals for truncation: ${decimals}`);
61
- }
62
- const truncated = (0, decimalStringToBig_js_1.decimalStringToBig)(value).round(decimals, big_js_1.default.roundDown);
63
- return (truncated.eq(0) ? new big_js_1.default(0) : truncated).toFixed(decimals);
64
- }
65
- exports.safeTruncateDecimal = (0, createSafeFunction_js_1.createSafeFunction)('truncateDecimal', truncateDecimal);
66
57
  function numberToDecimalString(value) {
67
58
  if (!Number.isFinite(value)) {
68
59
  throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid number for decimal conversion: ${value}`);
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/decimal/convert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decimalStringToBig.d.ts","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAexB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAUrD;AAOD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAErD;AASD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAExD"}
1
+ {"version":3,"file":"decimalStringToBig.d.ts","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAYxB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAQrD;AAOD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAErD;AASD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAExD"}
@@ -10,13 +10,11 @@ const perps_types_1 = require("@lifi/perps-types");
10
10
  const big_js_1 = __importDefault(require("big.js"));
11
11
  const PerpsError_js_1 = require("../errors/PerpsError.js");
12
12
  const big_js_2 = require("./big.js");
13
- const DISPLAY_CHARACTERS = /[\s$%,]/g;
14
13
  function decimalStringToBig(value) {
15
- const cleaned = typeof value === 'string' ? value.replace(DISPLAY_CHARACTERS, '') : '';
16
- if (!perps_types_1.DECIMAL_PATTERN.test(cleaned)) {
17
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `'${String(value)}' is not a decimal string.`);
14
+ if (typeof value !== 'string' || !perps_types_1.DECIMAL_PATTERN.test(value)) {
15
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `'${String(value)}' does not match the decimal pattern.`);
18
16
  }
19
- return new big_js_1.default(cleaned);
17
+ return new big_js_1.default(value);
20
18
  }
21
19
  function bigToDecimalString(value) {
22
20
  return value.eq(0) ? '0' : value.toFixed();
@@ -1 +1 @@
1
- {"version":3,"file":"decimalStringToBig.js","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":";;;;;AAgBA,gDAUC;AAOD,gDAEC;AASD,sDAEC;AA9CD,mDAAmE;AACnE,oDAAwB;AACxB,2DAAoD;AACpD,qCAAiC;AAEjC,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAWrC,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxE,IAAI,CAAC,6BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAC9C,CAAA;IACH,CAAC;IACD,OAAO,IAAI,gBAAG,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC;AAOD,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;AAC5C,CAAC;AASD,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,IAAI,eAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"decimalStringToBig.js","sourceRoot":"","sources":["../../../src/decimal/decimalStringToBig.ts"],"names":[],"mappings":";;;;;AAaA,gDAQC;AAOD,gDAEC;AASD,sDAEC;AAzCD,mDAAmE;AACnE,oDAAwB;AACxB,2DAAoD;AACpD,qCAAiC;AAUjC,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,6BAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,uCAAuC,CACzD,CAAA;IACH,CAAC;IACD,OAAO,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC;AAOD,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;AAC5C,CAAC;AASD,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,IAAI,eAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAC9C,CAAC"}
@@ -2,4 +2,5 @@ export declare function decimalStringToNumber(value: string): number;
2
2
  export declare const safeDecimalStringToNumber: (value: string) => number | undefined;
3
3
  export declare function isDecimalString(value: unknown): value is string;
4
4
  export declare function unknownToDecimalString(value: unknown, field: string, tool: string): string;
5
+ export declare const safeUnknownToDecimalString: (value: unknown, field: string, tool: string) => string | undefined;
5
6
  //# sourceMappingURL=parse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAeA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS3D;AAOD,eAAO,MAAM,yBAAyB,uCAGrC,CAAA;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE/D;AAqCD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAWR"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":"AAeA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS3D;AAOD,eAAO,MAAM,yBAAyB,uCAGrC,CAAA;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE/D;AAqCD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAWR;AAQD,eAAO,MAAM,0BAA0B,qEAGtC,CAAA"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.safeDecimalStringToNumber = void 0;
6
+ exports.safeUnknownToDecimalString = exports.safeDecimalStringToNumber = void 0;
7
7
  exports.decimalStringToNumber = decimalStringToNumber;
8
8
  exports.isDecimalString = isDecimalString;
9
9
  exports.unknownToDecimalString = unknownToDecimalString;
@@ -55,4 +55,5 @@ function unknownToDecimalString(value, field, tool) {
55
55
  error.tool = tool;
56
56
  throw error;
57
57
  }
58
+ exports.safeUnknownToDecimalString = (0, createSafeFunction_js_1.createSafeFunction)('unknownToDecimalString', unknownToDecimalString);
58
59
  //# sourceMappingURL=parse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":";;;;;;AAeA,sDASC;AAkBD,0CAEC;AAqCD,wDAeC;AAhGD,mDAAmE;AACnE,oDAAwB;AACxB,2DAAoD;AACpD,0EAAmE;AACnE,mEAA4D;AAW5D,SAAgB,qBAAqB,CAAC,KAAa;IACjD,MAAM,MAAM,GAAG,IAAA,0CAAkB,EAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,IAAI,KAAK,qCAAqC,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAOY,QAAA,yBAAyB,GAAG,IAAA,0CAAkB,EACzD,uBAAuB,EACvB,qBAAqB,CACtB,CAAA;AAQD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,6BAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,oBAAoB,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;AACvD,CAAC;AAYD,SAAgB,sBAAsB,CACpC,KAAc,EACd,KAAa,EACb,IAAY;IAEZ,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,0BAAU,CAC1B,4BAAc,CAAC,QAAQ,EACvB,GAAG,IAAI,YAAY,KAAK,+BAA+B,MAAM,CAAC,KAAK,CAAC,GAAG,CACxE,CAAA;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,KAAK,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/decimal/parse.ts"],"names":[],"mappings":";;;;;;AAeA,sDASC;AAkBD,0CAEC;AAqCD,wDAeC;AAhGD,mDAAmE;AACnE,oDAAwB;AACxB,2DAAoD;AACpD,0EAAmE;AACnE,mEAA4D;AAW5D,SAAgB,qBAAqB,CAAC,KAAa;IACjD,MAAM,MAAM,GAAG,IAAA,0CAAkB,EAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,IAAI,KAAK,qCAAqC,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAOY,QAAA,yBAAyB,GAAG,IAAA,0CAAkB,EACzD,uBAAuB,EACvB,qBAAqB,CACtB,CAAA;AAQD,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,6BAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAA;AAEjC,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,oBAAoB,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;AACvD,CAAC;AAYD,SAAgB,sBAAsB,CACpC,KAAc,EACd,KAAa,EACb,IAAY;IAEZ,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,0BAAU,CAC1B,4BAAc,CAAC,QAAQ,EACvB,GAAG,IAAI,YAAY,KAAK,+BAA+B,MAAM,CAAC,KAAK,CAAC,GAAG,CACxE,CAAA;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,KAAK,CAAA;AACb,CAAC;AAQY,QAAA,0BAA0B,GAAG,IAAA,0CAAkB,EAC1D,wBAAwB,EACxB,sBAAsB,CACvB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { PerpsError } from './PerpsError.js';
2
+ export declare function invalidInput(parameter: string, rule: string): PerpsError;
3
+ //# sourceMappingURL=invalidInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidInput.d.ts","sourceRoot":"","sources":["../../../src/errors/invalidInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAKxE"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invalidInput = invalidInput;
4
+ const perps_types_1 = require("@lifi/perps-types");
5
+ const PerpsError_js_1 = require("./PerpsError.js");
6
+ function invalidInput(parameter, rule) {
7
+ return new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `\`${parameter}\` ${rule}.`);
8
+ }
9
+ //# sourceMappingURL=invalidInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidInput.js","sourceRoot":"","sources":["../../../src/errors/invalidInput.ts"],"names":[],"mappings":";;AAIA,oCAKC;AATD,mDAAkD;AAClD,mDAA4C;AAG5C,SAAgB,YAAY,CAAC,SAAiB,EAAE,IAAY;IAC1D,OAAO,IAAI,0BAAU,CACnB,4BAAc,CAAC,eAAe,EAC9B,KAAK,SAAS,MAAM,IAAI,GAAG,CAC5B,CAAA;AACH,CAAC"}
@@ -2,13 +2,13 @@ export * from '@lifi/perps-types';
2
2
  export { createPerpsClient, DEFAULT_API_URL, } from './client/createPerpsClient.js';
3
3
  export { PerpsClient } from './client/PerpsClient.js';
4
4
  export { requireProvider } from './client/requireProvider.js';
5
- export { absDecimalString, addDecimalString, divideDecimalString, divideDecimalStringRoundDown, multiplyDecimalString, safeAbsDecimalString, safeAddDecimalString, safeDivideDecimalString, safeDivideDecimalStringRoundDown, safeMultiplyDecimalString, safeSubtractDecimalString, subtractDecimalString, } from './decimal/arithmetic.js';
5
+ export { absDecimalString, addDecimalString, addDecimalStrings, divideDecimalString, divideDecimalStringRoundDown, multiplyDecimalString, safeAbsDecimalString, safeAddDecimalString, safeAddDecimalStrings, safeDivideDecimalString, safeDivideDecimalStringRoundDown, safeMultiplyDecimalString, safeSubtractDecimalString, subtractDecimalString, } from './decimal/arithmetic.js';
6
6
  export { compareDecimalStrings, isDecimalStringGreaterThan, isDecimalStringZero, safeCompareDecimalStrings, safeIsDecimalStringGreaterThan, safeIsDecimalStringZero, } from './decimal/compare.js';
7
7
  export type { DecimalRounding } from './decimal/convert.js';
8
- export { decimalStringToScaledInteger, numberToDecimalString, roundDecimalString, safeDecimalStringToScaledInteger, safeNumberToDecimalString, safeRoundDecimalString, safeScaledIntegerToDecimalString, safeTruncateDecimal, scaledIntegerToDecimalString, truncateDecimal, } from './decimal/convert.js';
8
+ export { decimalStringToScaledInteger, numberToDecimalString, roundDecimalString, safeDecimalStringToScaledInteger, safeNumberToDecimalString, safeRoundDecimalString, safeScaledIntegerToDecimalString, scaledIntegerToDecimalString, } from './decimal/convert.js';
9
9
  export type { FormatOptions, RoundingMode } from './decimal/format.js';
10
10
  export { formatCompactUsd, formatNumber, formatPrice, formatSignedPercent, formatSignedUsd, formatUsd, } from './decimal/format.js';
11
- export { decimalStringToNumber, isDecimalString, safeDecimalStringToNumber, unknownToDecimalString, } from './decimal/parse.js';
11
+ export { decimalStringToNumber, isDecimalString, safeDecimalStringToNumber, safeUnknownToDecimalString, unknownToDecimalString, } from './decimal/parse.js';
12
12
  export { PerpsErrorMessage } from './errors/constants.js';
13
13
  export { PerpsError } from './errors/PerpsError.js';
14
14
  export { classifyFill, classifyFillFromPosition, FillClassification, } from './math/fills.js';
@@ -74,6 +74,7 @@ export type { DeclaredDepositAsset, DepositFlow, DepositFlowFirstDepositPipeline
74
74
  export type { ActionSignerContribution, LiquidationEstimateParams, PerpsProvider, PerpsProviderPlugin, PerpsSDKClient, ProviderAccountExistsParams, ProviderGetAccountParams, ProviderGetActivityParams, ProviderGetAvailableToTradeParams, ProviderGetDepositFlowParams, ProviderGetFillsParams, ProviderGetMarketSettingsParams, ProviderGetOrderParams, ProviderGetOrdersParams, ProviderGetPortfolioHistoryParams, ProviderGetPositionsParams, ProviderGetQuoteParams, ProviderGetWithdrawableBalancesParams, ProviderGetWithdrawalTypesParams, ProviderGetWithdrawFlowParams, QuoteListener, SignActionProgress, SignActionsContext, } from './types/provider.js';
75
75
  export type { ProviderWithdrawableBalance, WithdrawableBalance, WithdrawalSourceTypes, WithdrawalTypeOption, WithdrawFlow, WithdrawFlowReady, WithdrawFlowSetupRequired, } from './types/withdrawal.js';
76
76
  export { paginateActivity } from './utils/activityPaging.js';
77
+ export { createSafeFunction } from './utils/createSafeFunction.js';
77
78
  export { ETHEREUM_NATIVE_GAS, ETHEREUM_USDC, HYPERLIQUID_USDC, LIGHTER_USDC, ROBINHOOD_NATIVE_GAS, ROBINHOOD_USDG, } from './utils/depositAssets.js';
78
79
  export { ExplorerChainId, explorerTxUrl, explorerTxUrlFromBase, } from './utils/explorer.js';
79
80
  export { ACTIVE_ORDER_STATUSES, isActiveOrderStatus, isRegularOrder, isStopLossOrder, isTakeProfitOrder, isTpSlOrder, isTriggerOrder, isTwapOrder, triggerConditionFor, } from './utils/orderClassification.js';
@@ -93,7 +94,7 @@ export type { EventForSubscription, SubscriptionListener, WsConnectionStatus, Ws
93
94
  export { WS_CHANNEL_TEARDOWN_LINGER_MS, WsProviderBase, } from './websocket/WsProviderBase.js';
94
95
  export { wsLog } from './websocket/wsLog.js';
95
96
  export type { OrderAmounts, OrderAmountsInput, } from './wire/orderAmounts.js';
96
- export { calculateOrderAmounts } from './wire/orderAmounts.js';
97
+ export { calculateOrderAmounts, safeCalculateOrderAmounts, } from './wire/orderAmounts.js';
97
98
  export type { RefuelAmountInput } from './wire/refuel.js';
98
99
  export { calculateRefuelAmount, REFUEL_FEE_MARGIN_PERCENT, } from './wire/refuel.js';
99
100
  export { snapOrderPrice, snapOrderSize } from './wire/snap.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -14,10 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.calculateExpectedPnl = exports.buildQuote = exports.applySlippageToPrice = exports.FillClassification = exports.classifyFillFromPosition = exports.classifyFill = exports.PerpsError = exports.PerpsErrorMessage = exports.unknownToDecimalString = exports.safeDecimalStringToNumber = exports.isDecimalString = exports.decimalStringToNumber = exports.formatUsd = exports.formatSignedUsd = exports.formatSignedPercent = exports.formatPrice = exports.formatNumber = exports.formatCompactUsd = exports.truncateDecimal = exports.scaledIntegerToDecimalString = exports.safeTruncateDecimal = exports.safeScaledIntegerToDecimalString = exports.safeRoundDecimalString = exports.safeNumberToDecimalString = exports.safeDecimalStringToScaledInteger = exports.roundDecimalString = exports.numberToDecimalString = exports.decimalStringToScaledInteger = exports.safeIsDecimalStringZero = exports.safeIsDecimalStringGreaterThan = exports.safeCompareDecimalStrings = exports.isDecimalStringZero = exports.isDecimalStringGreaterThan = exports.compareDecimalStrings = exports.subtractDecimalString = exports.safeSubtractDecimalString = exports.safeMultiplyDecimalString = exports.safeDivideDecimalStringRoundDown = exports.safeDivideDecimalString = exports.safeAddDecimalString = exports.safeAbsDecimalString = exports.multiplyDecimalString = exports.divideDecimalStringRoundDown = exports.divideDecimalString = exports.addDecimalString = exports.absDecimalString = exports.requireProvider = exports.PerpsClient = exports.DEFAULT_API_URL = exports.createPerpsClient = void 0;
18
- exports.getAssetRegistry = exports.AssetRegistry = exports.wouldImmediatelyLiquidate = exports.safeWouldImmediatelyLiquidate = exports.safeEstimateUnrealizedPnl = exports.safeEstimateNewLeverage = exports.safeEstimateLiquidationPriceAtMarketRate = exports.safeEstimateLiquidationPrice = exports.safeEstimateAverageEntryPrice = exports.safeCalculateUnrealizedPnl = exports.safeCalculateRoe = exports.safeCalculateRequiredMargin = exports.safeCalculateRealizedPnl = exports.safeCalculateNotionalValue = exports.safeCalculateLiquidationDistance = exports.safeCalculateEffectiveLeverage = exports.positionSupportsMarginRemoval = exports.positionSupportsMarginAdjustment = exports.estimateUnrealizedPnl = exports.estimateNewLeverage = exports.estimateLiquidationPriceAtMarketRate = exports.estimateLiquidationPrice = exports.estimateAverageEntryPrice = exports.calculateUnrealizedPnl = exports.calculateRoe = exports.calculateRequiredMargin = exports.calculateRealizedPnl = exports.calculateNotionalValue = exports.calculateLiquidationDistance = exports.calculateEffectiveLeverage = exports.walkOrderbook = exports.safeWalkOrderbook = exports.safeResolveCloseSize = exports.safeEstimateRealizedPnl = exports.safeEstimateFees = exports.safeCalculateTriggerPrice = exports.safeCalculateTriggerPercent = exports.safeCalculateSize = exports.safeCalculateRealizedPnlPercent = exports.safeCalculateExpectedPnl = exports.safeBuildQuote = exports.safeApplySlippageToPrice = exports.resolveCloseSize = exports.findMatchingPosition = exports.estimateRealizedPnl = exports.estimateFees = exports.calculateTriggerPrice = exports.calculateTriggerPercent = exports.calculateSize = exports.calculateRealizedPnlPercent = void 0;
19
- exports.LIGHTER_USDC = exports.HYPERLIQUID_USDC = exports.ETHEREUM_USDC = exports.ETHEREUM_NATIVE_GAS = exports.paginateActivity = exports.resolveRetryPolicy = exports.LIFI_RETRY_DEFAULTS = exports.LIFI_REQUEST_KEY = exports.DISABLED_RETRY = exports.isAbortError = exports.fetchWithRetry = exports.errorCodeFromStatus = exports.createMemoryStorage = exports.readValidatedRecord = exports.parseStoredRecord = exports.localStorageAdapter = exports.resolveSubscribeQuote = exports.QUOTE_THROTTLE_MS = exports.resolveQuoteMarket = exports.resolveQuote = exports.getTermsAcceptance = exports.getReferralStatus = exports.getReferralActivity = exports.getQuote = exports.getProviders = exports.getPositions = exports.getOrders = exports.getOrderbook = exports.getOrder = exports.getOhlcv = exports.getMeta = exports.getMarketsContext = exports.getMarkets = exports.getMarket = exports.LIFI_API_URL = exports.getGasRecommendation = exports.getFills = exports.getAssets = exports.getActivity = exports.getAccount = exports.executeAction = exports.createAction = exports.toPerpsMarketDisplay = exports.toMarketDisplay = exports.MarketRegistry = exports.isActiveMarket = exports.getMarketRegistry = exports.getDefaultMarketId = exports.DEFAULT_MARKET_ID = exports.toAssetDisplay = void 0;
20
- exports.calculateWithdrawMax = exports.calculateTransferable = exports.snapOrderSize = exports.snapOrderPrice = exports.REFUEL_FEE_MARGIN_PERCENT = exports.calculateRefuelAmount = exports.calculateOrderAmounts = exports.wsLog = exports.WsProviderBase = exports.WS_CHANNEL_TEARDOWN_LINGER_MS = exports.ReconnectingWebSocket = exports.PerpsWsClient = exports.DecodeChain = exports.cachePromise = exports.version = exports.name = exports.warnSkippedVenueRow = exports.createWarnOnce = exports.timestampToIsoString = exports.safeTimestampToIsoString = exports.signTypedDataWithSigner = exports.signTypedData = exports.selectUserSetupActions = exports.isSetupOptionFor = exports.triggerConditionFor = exports.isTwapOrder = exports.isTriggerOrder = exports.isTpSlOrder = exports.isTakeProfitOrder = exports.isStopLossOrder = exports.isRegularOrder = exports.isActiveOrderStatus = exports.ACTIVE_ORDER_STATUSES = exports.explorerTxUrlFromBase = exports.explorerTxUrl = exports.ExplorerChainId = exports.ROBINHOOD_USDG = exports.ROBINHOOD_NATIVE_GAS = void 0;
17
+ exports.buildQuote = exports.applySlippageToPrice = exports.FillClassification = exports.classifyFillFromPosition = exports.classifyFill = exports.PerpsError = exports.PerpsErrorMessage = exports.unknownToDecimalString = exports.safeUnknownToDecimalString = exports.safeDecimalStringToNumber = exports.isDecimalString = exports.decimalStringToNumber = exports.formatUsd = exports.formatSignedUsd = exports.formatSignedPercent = exports.formatPrice = exports.formatNumber = exports.formatCompactUsd = exports.scaledIntegerToDecimalString = exports.safeScaledIntegerToDecimalString = exports.safeRoundDecimalString = exports.safeNumberToDecimalString = exports.safeDecimalStringToScaledInteger = exports.roundDecimalString = exports.numberToDecimalString = exports.decimalStringToScaledInteger = exports.safeIsDecimalStringZero = exports.safeIsDecimalStringGreaterThan = exports.safeCompareDecimalStrings = exports.isDecimalStringZero = exports.isDecimalStringGreaterThan = exports.compareDecimalStrings = exports.subtractDecimalString = exports.safeSubtractDecimalString = exports.safeMultiplyDecimalString = exports.safeDivideDecimalStringRoundDown = exports.safeDivideDecimalString = exports.safeAddDecimalStrings = exports.safeAddDecimalString = exports.safeAbsDecimalString = exports.multiplyDecimalString = exports.divideDecimalStringRoundDown = exports.divideDecimalString = exports.addDecimalStrings = exports.addDecimalString = exports.absDecimalString = exports.requireProvider = exports.PerpsClient = exports.DEFAULT_API_URL = exports.createPerpsClient = void 0;
18
+ exports.AssetRegistry = exports.wouldImmediatelyLiquidate = exports.safeWouldImmediatelyLiquidate = exports.safeEstimateUnrealizedPnl = exports.safeEstimateNewLeverage = exports.safeEstimateLiquidationPriceAtMarketRate = exports.safeEstimateLiquidationPrice = exports.safeEstimateAverageEntryPrice = exports.safeCalculateUnrealizedPnl = exports.safeCalculateRoe = exports.safeCalculateRequiredMargin = exports.safeCalculateRealizedPnl = exports.safeCalculateNotionalValue = exports.safeCalculateLiquidationDistance = exports.safeCalculateEffectiveLeverage = exports.positionSupportsMarginRemoval = exports.positionSupportsMarginAdjustment = exports.estimateUnrealizedPnl = exports.estimateNewLeverage = exports.estimateLiquidationPriceAtMarketRate = exports.estimateLiquidationPrice = exports.estimateAverageEntryPrice = exports.calculateUnrealizedPnl = exports.calculateRoe = exports.calculateRequiredMargin = exports.calculateRealizedPnl = exports.calculateNotionalValue = exports.calculateLiquidationDistance = exports.calculateEffectiveLeverage = exports.walkOrderbook = exports.safeWalkOrderbook = exports.safeResolveCloseSize = exports.safeEstimateRealizedPnl = exports.safeEstimateFees = exports.safeCalculateTriggerPrice = exports.safeCalculateTriggerPercent = exports.safeCalculateSize = exports.safeCalculateRealizedPnlPercent = exports.safeCalculateExpectedPnl = exports.safeBuildQuote = exports.safeApplySlippageToPrice = exports.resolveCloseSize = exports.findMatchingPosition = exports.estimateRealizedPnl = exports.estimateFees = exports.calculateTriggerPrice = exports.calculateTriggerPercent = exports.calculateSize = exports.calculateRealizedPnlPercent = exports.calculateExpectedPnl = void 0;
19
+ exports.ETHEREUM_USDC = exports.ETHEREUM_NATIVE_GAS = exports.createSafeFunction = exports.paginateActivity = exports.resolveRetryPolicy = exports.LIFI_RETRY_DEFAULTS = exports.LIFI_REQUEST_KEY = exports.DISABLED_RETRY = exports.isAbortError = exports.fetchWithRetry = exports.errorCodeFromStatus = exports.createMemoryStorage = exports.readValidatedRecord = exports.parseStoredRecord = exports.localStorageAdapter = exports.resolveSubscribeQuote = exports.QUOTE_THROTTLE_MS = exports.resolveQuoteMarket = exports.resolveQuote = exports.getTermsAcceptance = exports.getReferralStatus = exports.getReferralActivity = exports.getQuote = exports.getProviders = exports.getPositions = exports.getOrders = exports.getOrderbook = exports.getOrder = exports.getOhlcv = exports.getMeta = exports.getMarketsContext = exports.getMarkets = exports.getMarket = exports.LIFI_API_URL = exports.getGasRecommendation = exports.getFills = exports.getAssets = exports.getActivity = exports.getAccount = exports.executeAction = exports.createAction = exports.toPerpsMarketDisplay = exports.toMarketDisplay = exports.MarketRegistry = exports.isActiveMarket = exports.getMarketRegistry = exports.getDefaultMarketId = exports.DEFAULT_MARKET_ID = exports.toAssetDisplay = exports.getAssetRegistry = void 0;
20
+ exports.calculateWithdrawMax = exports.calculateTransferable = exports.snapOrderSize = exports.snapOrderPrice = exports.REFUEL_FEE_MARGIN_PERCENT = exports.calculateRefuelAmount = exports.safeCalculateOrderAmounts = exports.calculateOrderAmounts = exports.wsLog = exports.WsProviderBase = exports.WS_CHANNEL_TEARDOWN_LINGER_MS = exports.ReconnectingWebSocket = exports.PerpsWsClient = exports.DecodeChain = exports.cachePromise = exports.version = exports.name = exports.warnSkippedVenueRow = exports.createWarnOnce = exports.timestampToIsoString = exports.safeTimestampToIsoString = exports.signTypedDataWithSigner = exports.signTypedData = exports.selectUserSetupActions = exports.isSetupOptionFor = exports.triggerConditionFor = exports.isTwapOrder = exports.isTriggerOrder = exports.isTpSlOrder = exports.isTakeProfitOrder = exports.isStopLossOrder = exports.isRegularOrder = exports.isActiveOrderStatus = exports.ACTIVE_ORDER_STATUSES = exports.explorerTxUrlFromBase = exports.explorerTxUrl = exports.ExplorerChainId = exports.ROBINHOOD_USDG = exports.ROBINHOOD_NATIVE_GAS = exports.LIGHTER_USDC = exports.HYPERLIQUID_USDC = void 0;
21
21
  __exportStar(require("@lifi/perps-types"), exports);
22
22
  var createPerpsClient_js_1 = require("./client/createPerpsClient.js");
23
23
  Object.defineProperty(exports, "createPerpsClient", { enumerable: true, get: function () { return createPerpsClient_js_1.createPerpsClient; } });
@@ -29,11 +29,13 @@ Object.defineProperty(exports, "requireProvider", { enumerable: true, get: funct
29
29
  var arithmetic_js_1 = require("./decimal/arithmetic.js");
30
30
  Object.defineProperty(exports, "absDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.absDecimalString; } });
31
31
  Object.defineProperty(exports, "addDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.addDecimalString; } });
32
+ Object.defineProperty(exports, "addDecimalStrings", { enumerable: true, get: function () { return arithmetic_js_1.addDecimalStrings; } });
32
33
  Object.defineProperty(exports, "divideDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.divideDecimalString; } });
33
34
  Object.defineProperty(exports, "divideDecimalStringRoundDown", { enumerable: true, get: function () { return arithmetic_js_1.divideDecimalStringRoundDown; } });
34
35
  Object.defineProperty(exports, "multiplyDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.multiplyDecimalString; } });
35
36
  Object.defineProperty(exports, "safeAbsDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.safeAbsDecimalString; } });
36
37
  Object.defineProperty(exports, "safeAddDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.safeAddDecimalString; } });
38
+ Object.defineProperty(exports, "safeAddDecimalStrings", { enumerable: true, get: function () { return arithmetic_js_1.safeAddDecimalStrings; } });
37
39
  Object.defineProperty(exports, "safeDivideDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.safeDivideDecimalString; } });
38
40
  Object.defineProperty(exports, "safeDivideDecimalStringRoundDown", { enumerable: true, get: function () { return arithmetic_js_1.safeDivideDecimalStringRoundDown; } });
39
41
  Object.defineProperty(exports, "safeMultiplyDecimalString", { enumerable: true, get: function () { return arithmetic_js_1.safeMultiplyDecimalString; } });
@@ -54,9 +56,7 @@ Object.defineProperty(exports, "safeDecimalStringToScaledInteger", { enumerable:
54
56
  Object.defineProperty(exports, "safeNumberToDecimalString", { enumerable: true, get: function () { return convert_js_1.safeNumberToDecimalString; } });
55
57
  Object.defineProperty(exports, "safeRoundDecimalString", { enumerable: true, get: function () { return convert_js_1.safeRoundDecimalString; } });
56
58
  Object.defineProperty(exports, "safeScaledIntegerToDecimalString", { enumerable: true, get: function () { return convert_js_1.safeScaledIntegerToDecimalString; } });
57
- Object.defineProperty(exports, "safeTruncateDecimal", { enumerable: true, get: function () { return convert_js_1.safeTruncateDecimal; } });
58
59
  Object.defineProperty(exports, "scaledIntegerToDecimalString", { enumerable: true, get: function () { return convert_js_1.scaledIntegerToDecimalString; } });
59
- Object.defineProperty(exports, "truncateDecimal", { enumerable: true, get: function () { return convert_js_1.truncateDecimal; } });
60
60
  var format_js_1 = require("./decimal/format.js");
61
61
  Object.defineProperty(exports, "formatCompactUsd", { enumerable: true, get: function () { return format_js_1.formatCompactUsd; } });
62
62
  Object.defineProperty(exports, "formatNumber", { enumerable: true, get: function () { return format_js_1.formatNumber; } });
@@ -68,6 +68,7 @@ var parse_js_1 = require("./decimal/parse.js");
68
68
  Object.defineProperty(exports, "decimalStringToNumber", { enumerable: true, get: function () { return parse_js_1.decimalStringToNumber; } });
69
69
  Object.defineProperty(exports, "isDecimalString", { enumerable: true, get: function () { return parse_js_1.isDecimalString; } });
70
70
  Object.defineProperty(exports, "safeDecimalStringToNumber", { enumerable: true, get: function () { return parse_js_1.safeDecimalStringToNumber; } });
71
+ Object.defineProperty(exports, "safeUnknownToDecimalString", { enumerable: true, get: function () { return parse_js_1.safeUnknownToDecimalString; } });
71
72
  Object.defineProperty(exports, "unknownToDecimalString", { enumerable: true, get: function () { return parse_js_1.unknownToDecimalString; } });
72
73
  var constants_js_1 = require("./errors/constants.js");
73
74
  Object.defineProperty(exports, "PerpsErrorMessage", { enumerable: true, get: function () { return constants_js_1.PerpsErrorMessage; } });
@@ -210,6 +211,8 @@ Object.defineProperty(exports, "LIFI_RETRY_DEFAULTS", { enumerable: true, get: f
210
211
  Object.defineProperty(exports, "resolveRetryPolicy", { enumerable: true, get: function () { return retryPolicy_js_1.resolveRetryPolicy; } });
211
212
  var activityPaging_js_1 = require("./utils/activityPaging.js");
212
213
  Object.defineProperty(exports, "paginateActivity", { enumerable: true, get: function () { return activityPaging_js_1.paginateActivity; } });
214
+ var createSafeFunction_js_1 = require("./utils/createSafeFunction.js");
215
+ Object.defineProperty(exports, "createSafeFunction", { enumerable: true, get: function () { return createSafeFunction_js_1.createSafeFunction; } });
213
216
  var depositAssets_js_1 = require("./utils/depositAssets.js");
214
217
  Object.defineProperty(exports, "ETHEREUM_NATIVE_GAS", { enumerable: true, get: function () { return depositAssets_js_1.ETHEREUM_NATIVE_GAS; } });
215
218
  Object.defineProperty(exports, "ETHEREUM_USDC", { enumerable: true, get: function () { return depositAssets_js_1.ETHEREUM_USDC; } });
@@ -261,6 +264,7 @@ var wsLog_js_1 = require("./websocket/wsLog.js");
261
264
  Object.defineProperty(exports, "wsLog", { enumerable: true, get: function () { return wsLog_js_1.wsLog; } });
262
265
  var orderAmounts_js_1 = require("./wire/orderAmounts.js");
263
266
  Object.defineProperty(exports, "calculateOrderAmounts", { enumerable: true, get: function () { return orderAmounts_js_1.calculateOrderAmounts; } });
267
+ Object.defineProperty(exports, "safeCalculateOrderAmounts", { enumerable: true, get: function () { return orderAmounts_js_1.safeCalculateOrderAmounts; } });
264
268
  var refuel_js_1 = require("./wire/refuel.js");
265
269
  Object.defineProperty(exports, "calculateRefuelAmount", { enumerable: true, get: function () { return refuel_js_1.calculateRefuelAmount; } });
266
270
  Object.defineProperty(exports, "REFUEL_FEE_MARGIN_PERCENT", { enumerable: true, get: function () { return refuel_js_1.REFUEL_FEE_MARGIN_PERCENT; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,8 @@ export interface ExpectedPnl {
9
9
  amount: string;
10
10
  percent: string;
11
11
  }
12
- export declare function calculateExpectedPnl(triggerPrice: string, entryPrice: string, leverage: string, isLong: boolean, margin: string): ExpectedPnl | null;
13
- export declare const safeCalculateExpectedPnl: (triggerPrice: string, entryPrice: string, leverage: string, isLong: boolean, margin: string) => ExpectedPnl | null | undefined;
12
+ export declare function calculateExpectedPnl(triggerPrice: string, entryPrice: string, leverage: string, isLong: boolean, margin: string): ExpectedPnl;
13
+ export declare const safeCalculateExpectedPnl: (triggerPrice: string, entryPrice: string, leverage: string, isLong: boolean, margin: string) => ExpectedPnl | undefined;
14
14
  export declare function calculateTriggerPrice(percent: string, entryPrice: string, leverage: string, isLong: boolean): string;
15
15
  export declare const safeCalculateTriggerPrice: (percent: string, entryPrice: string, leverage: string, isLong: boolean) => string | undefined;
16
16
  export declare function calculateTriggerPercent(price: string, entryPrice: string, leverage: string, isLong: boolean): string;
@@ -43,7 +43,7 @@ export declare const safeBuildQuote: (input: BuildQuoteInput) => Quote | undefin
43
43
  export declare function findMatchingPosition(marketId: string, positions: readonly Position[]): Position | undefined;
44
44
  export declare function resolveCloseSize(orderSize: string, positionSize: string): string;
45
45
  export declare const safeResolveCloseSize: (orderSize: string, positionSize: string) => string | undefined;
46
- export declare function estimateRealizedPnl(order: Order, position: Position | undefined): string | null;
47
- export declare const safeEstimateRealizedPnl: (order: Order, position: Position | undefined) => string | null | undefined;
46
+ export declare function estimateRealizedPnl(order: Order, position: Position | undefined): string | undefined;
47
+ export declare const safeEstimateRealizedPnl: (order: Order, position: Position | undefined) => string | undefined;
48
48
  export {};
49
49
  //# sourceMappingURL=order.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/math/order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../src/math/order.ts"],"names":[],"mappings":"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"}