@lifi/perps-sdk 19.0.0 → 20.1.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 (209) hide show
  1. package/README.md +35 -5
  2. package/dist/cjs/client/PerpsClient.d.ts +1 -1
  3. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  4. package/dist/cjs/client/PerpsClient.js +4 -1
  5. package/dist/cjs/client/PerpsClient.js.map +1 -1
  6. package/dist/cjs/client/createPerpsClient.d.ts +1 -6
  7. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
  8. package/dist/cjs/client/createPerpsClient.js +1 -14
  9. package/dist/cjs/client/createPerpsClient.js.map +1 -1
  10. package/dist/cjs/index.d.ts +6 -3
  11. package/dist/cjs/index.d.ts.map +1 -1
  12. package/dist/cjs/index.js +15 -3
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/registry/assetRegistry.d.ts +2 -1
  15. package/dist/cjs/registry/assetRegistry.d.ts.map +1 -1
  16. package/dist/cjs/registry/assetRegistry.js +4 -2
  17. package/dist/cjs/registry/assetRegistry.js.map +1 -1
  18. package/dist/cjs/registry/marketRegistry.d.ts +2 -1
  19. package/dist/cjs/registry/marketRegistry.d.ts.map +1 -1
  20. package/dist/cjs/registry/marketRegistry.js +4 -2
  21. package/dist/cjs/registry/marketRegistry.js.map +1 -1
  22. package/dist/cjs/registry/referenceDataRegistry.d.ts +5 -1
  23. package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -1
  24. package/dist/cjs/registry/referenceDataRegistry.js +65 -5
  25. package/dist/cjs/registry/referenceDataRegistry.js.map +1 -1
  26. package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
  27. package/dist/cjs/services/getOhlcv.js.map +1 -1
  28. package/dist/cjs/transport/request.d.ts +1 -0
  29. package/dist/cjs/transport/request.d.ts.map +1 -1
  30. package/dist/cjs/transport/request.js +6 -2
  31. package/dist/cjs/transport/request.js.map +1 -1
  32. package/dist/cjs/types/api.d.ts +3 -4
  33. package/dist/cjs/types/api.d.ts.map +1 -1
  34. package/dist/cjs/types/config.d.ts +0 -9
  35. package/dist/cjs/types/config.d.ts.map +1 -1
  36. package/dist/cjs/types/provider.d.ts +1 -1
  37. package/dist/cjs/types/provider.d.ts.map +1 -1
  38. package/dist/cjs/types/withdrawal.d.ts +4 -2
  39. package/dist/cjs/types/withdrawal.d.ts.map +1 -1
  40. package/dist/cjs/utils/calculations.d.ts.map +1 -1
  41. package/dist/cjs/utils/calculations.js +107 -38
  42. package/dist/cjs/utils/calculations.js.map +1 -1
  43. package/dist/cjs/utils/decimal.d.ts +5 -0
  44. package/dist/cjs/utils/decimal.d.ts.map +1 -0
  45. package/dist/cjs/utils/decimal.js +17 -0
  46. package/dist/cjs/utils/decimal.js.map +1 -0
  47. package/dist/cjs/utils/math.d.ts +4 -0
  48. package/dist/cjs/utils/math.d.ts.map +1 -0
  49. package/dist/cjs/utils/math.js +8 -0
  50. package/dist/cjs/utils/math.js.map +1 -0
  51. package/dist/cjs/utils/orderEntry.d.ts +6 -0
  52. package/dist/cjs/utils/orderEntry.d.ts.map +1 -0
  53. package/dist/cjs/utils/orderEntry.js +20 -0
  54. package/dist/cjs/utils/orderEntry.js.map +1 -0
  55. package/dist/cjs/utils/parse.d.ts +1 -0
  56. package/dist/cjs/utils/parse.d.ts.map +1 -1
  57. package/dist/cjs/utils/parse.js +15 -0
  58. package/dist/cjs/utils/parse.js.map +1 -1
  59. package/dist/cjs/utils/positionMath.d.ts +5 -0
  60. package/dist/cjs/utils/positionMath.d.ts.map +1 -1
  61. package/dist/cjs/utils/positionMath.js +53 -6
  62. package/dist/cjs/utils/positionMath.js.map +1 -1
  63. package/dist/cjs/version.d.ts +1 -1
  64. package/dist/cjs/version.js +1 -1
  65. package/dist/cjs/websocket/PerpsWsClient.d.ts +0 -1
  66. package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -1
  67. package/dist/cjs/websocket/PerpsWsClient.js +0 -7
  68. package/dist/cjs/websocket/PerpsWsClient.js.map +1 -1
  69. package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -1
  70. package/dist/cjs/websocket/WsProviderBase.js +11 -3
  71. package/dist/cjs/websocket/WsProviderBase.js.map +1 -1
  72. package/dist/esm/client/PerpsClient.d.ts +8 -7
  73. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  74. package/dist/esm/client/PerpsClient.js +11 -7
  75. package/dist/esm/client/PerpsClient.js.map +1 -1
  76. package/dist/esm/client/createPerpsClient.d.ts +1 -12
  77. package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
  78. package/dist/esm/client/createPerpsClient.js +1 -19
  79. package/dist/esm/client/createPerpsClient.js.map +1 -1
  80. package/dist/esm/client/requireProvider.d.ts +1 -1
  81. package/dist/esm/client/requireProvider.js +1 -1
  82. package/dist/esm/index.d.ts +6 -3
  83. package/dist/esm/index.d.ts.map +1 -1
  84. package/dist/esm/index.js +5 -2
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/registry/assetRegistry.d.ts +2 -1
  87. package/dist/esm/registry/assetRegistry.d.ts.map +1 -1
  88. package/dist/esm/registry/assetRegistry.js +4 -2
  89. package/dist/esm/registry/assetRegistry.js.map +1 -1
  90. package/dist/esm/registry/marketRegistry.d.ts +2 -1
  91. package/dist/esm/registry/marketRegistry.d.ts.map +1 -1
  92. package/dist/esm/registry/marketRegistry.js +4 -2
  93. package/dist/esm/registry/marketRegistry.js.map +1 -1
  94. package/dist/esm/registry/referenceDataRegistry.d.ts +6 -6
  95. package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -1
  96. package/dist/esm/registry/referenceDataRegistry.js +68 -10
  97. package/dist/esm/registry/referenceDataRegistry.js.map +1 -1
  98. package/dist/esm/services/getOhlcv.d.ts +1 -0
  99. package/dist/esm/services/getOhlcv.d.ts.map +1 -1
  100. package/dist/esm/services/getOhlcv.js.map +1 -1
  101. package/dist/esm/transport/request.d.ts +2 -0
  102. package/dist/esm/transport/request.d.ts.map +1 -1
  103. package/dist/esm/transport/request.js +6 -2
  104. package/dist/esm/transport/request.js.map +1 -1
  105. package/dist/esm/types/api.d.ts +8 -22
  106. package/dist/esm/types/api.d.ts.map +1 -1
  107. package/dist/esm/types/config.d.ts +0 -27
  108. package/dist/esm/types/config.d.ts.map +1 -1
  109. package/dist/esm/types/provider.d.ts +7 -6
  110. package/dist/esm/types/provider.d.ts.map +1 -1
  111. package/dist/esm/types/withdrawal.d.ts +24 -15
  112. package/dist/esm/types/withdrawal.d.ts.map +1 -1
  113. package/dist/esm/utils/calculations.d.ts +3 -2
  114. package/dist/esm/utils/calculations.d.ts.map +1 -1
  115. package/dist/esm/utils/calculations.js +109 -39
  116. package/dist/esm/utils/calculations.js.map +1 -1
  117. package/dist/esm/utils/decimal.d.ts +14 -0
  118. package/dist/esm/utils/decimal.d.ts.map +1 -0
  119. package/dist/esm/utils/decimal.js +19 -0
  120. package/dist/esm/utils/decimal.js.map +1 -0
  121. package/dist/esm/utils/math.d.ts +6 -0
  122. package/dist/esm/utils/math.d.ts.map +1 -0
  123. package/dist/esm/utils/math.js +5 -0
  124. package/dist/esm/utils/math.js.map +1 -0
  125. package/dist/esm/utils/orderEntry.d.ts +26 -0
  126. package/dist/esm/utils/orderEntry.d.ts.map +1 -0
  127. package/dist/esm/utils/orderEntry.js +34 -0
  128. package/dist/esm/utils/orderEntry.js.map +1 -0
  129. package/dist/esm/utils/parse.d.ts +7 -0
  130. package/dist/esm/utils/parse.d.ts.map +1 -1
  131. package/dist/esm/utils/parse.js +20 -0
  132. package/dist/esm/utils/parse.js.map +1 -1
  133. package/dist/esm/utils/positionMath.d.ts +13 -0
  134. package/dist/esm/utils/positionMath.d.ts.map +1 -1
  135. package/dist/esm/utils/positionMath.js +60 -6
  136. package/dist/esm/utils/positionMath.js.map +1 -1
  137. package/dist/esm/version.d.ts +1 -1
  138. package/dist/esm/version.js +1 -1
  139. package/dist/esm/websocket/PerpsWsClient.d.ts +0 -7
  140. package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -1
  141. package/dist/esm/websocket/PerpsWsClient.js +0 -7
  142. package/dist/esm/websocket/PerpsWsClient.js.map +1 -1
  143. package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -1
  144. package/dist/esm/websocket/WsProviderBase.js +11 -3
  145. package/dist/esm/websocket/WsProviderBase.js.map +1 -1
  146. package/dist/types/client/PerpsClient.d.ts +8 -7
  147. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  148. package/dist/types/client/createPerpsClient.d.ts +1 -12
  149. package/dist/types/client/createPerpsClient.d.ts.map +1 -1
  150. package/dist/types/client/requireProvider.d.ts +1 -1
  151. package/dist/types/index.d.ts +6 -3
  152. package/dist/types/index.d.ts.map +1 -1
  153. package/dist/types/registry/assetRegistry.d.ts +2 -1
  154. package/dist/types/registry/assetRegistry.d.ts.map +1 -1
  155. package/dist/types/registry/marketRegistry.d.ts +2 -1
  156. package/dist/types/registry/marketRegistry.d.ts.map +1 -1
  157. package/dist/types/registry/referenceDataRegistry.d.ts +6 -6
  158. package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -1
  159. package/dist/types/services/getOhlcv.d.ts +1 -0
  160. package/dist/types/services/getOhlcv.d.ts.map +1 -1
  161. package/dist/types/transport/request.d.ts +2 -0
  162. package/dist/types/transport/request.d.ts.map +1 -1
  163. package/dist/types/types/api.d.ts +8 -22
  164. package/dist/types/types/api.d.ts.map +1 -1
  165. package/dist/types/types/config.d.ts +0 -27
  166. package/dist/types/types/config.d.ts.map +1 -1
  167. package/dist/types/types/provider.d.ts +7 -6
  168. package/dist/types/types/provider.d.ts.map +1 -1
  169. package/dist/types/types/withdrawal.d.ts +24 -15
  170. package/dist/types/types/withdrawal.d.ts.map +1 -1
  171. package/dist/types/utils/calculations.d.ts +3 -2
  172. package/dist/types/utils/calculations.d.ts.map +1 -1
  173. package/dist/types/utils/decimal.d.ts +14 -0
  174. package/dist/types/utils/decimal.d.ts.map +1 -0
  175. package/dist/types/utils/math.d.ts +6 -0
  176. package/dist/types/utils/math.d.ts.map +1 -0
  177. package/dist/types/utils/orderEntry.d.ts +26 -0
  178. package/dist/types/utils/orderEntry.d.ts.map +1 -0
  179. package/dist/types/utils/parse.d.ts +7 -0
  180. package/dist/types/utils/parse.d.ts.map +1 -1
  181. package/dist/types/utils/positionMath.d.ts +13 -0
  182. package/dist/types/utils/positionMath.d.ts.map +1 -1
  183. package/dist/types/version.d.ts +1 -1
  184. package/dist/types/websocket/PerpsWsClient.d.ts +0 -7
  185. package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -1
  186. package/dist/types/websocket/WsProviderBase.d.ts.map +1 -1
  187. package/package.json +2 -2
  188. package/src/client/PerpsClient.ts +12 -8
  189. package/src/client/createPerpsClient.ts +4 -32
  190. package/src/client/requireProvider.ts +1 -1
  191. package/src/index.ts +10 -4
  192. package/src/registry/assetRegistry.ts +7 -5
  193. package/src/registry/marketRegistry.ts +7 -5
  194. package/src/registry/referenceDataRegistry.ts +89 -11
  195. package/src/services/getOhlcv.ts +1 -0
  196. package/src/transport/request.ts +12 -2
  197. package/src/types/api.ts +8 -26
  198. package/src/types/config.ts +0 -30
  199. package/src/types/provider.ts +8 -7
  200. package/src/types/withdrawal.ts +24 -15
  201. package/src/utils/calculations.ts +114 -43
  202. package/src/utils/decimal.ts +21 -0
  203. package/src/utils/math.ts +7 -0
  204. package/src/utils/orderEntry.ts +38 -0
  205. package/src/utils/parse.ts +25 -0
  206. package/src/utils/positionMath.ts +66 -6
  207. package/src/version.ts +1 -1
  208. package/src/websocket/PerpsWsClient.ts +0 -19
  209. package/src/websocket/WsProviderBase.ts +11 -3
@@ -1 +1 @@
1
- {"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":";;;AAgJA,8CAeC;AAzJD,mDAA4E;AAC5E,2DAAoD;AACpD,wDAA2D;AAE3D,yEAAkE;AAUlE,MAAa,cAAe,SAAQ,gDAA6B;IAC/D,YAAY,MAAsB,EAAE,QAAgB;QAClD,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC;IAOD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAOD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAA;IAC1C,CAAC;IAWD,OAAO,CAAC,QAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,0BAAU,CAC1B,4BAAc,CAAC,cAAc,EAC7B,MAAM,IAAI,CAAC,QAAQ,+BAA+B,QAAQ,GAAG,CAC9D,CAAA;YACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC1B,MAAM,KAAK,CAAA;QACb,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAUD,aAAa,CAAC,QAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,CAAC,IAAA,sBAAc,EAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,0BAAU,CAC1B,4BAAc,CAAC,cAAc,EAC7B,WAAW,QAAQ,iCAAiC,CACrD,CAAA;YACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC1B,MAAM,KAAK,CAAA;QACb,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAES,UAAU;QAClB,MAAM,GAAG,GAAG,IAAA,qBAAQ,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;QACF,OAAO,IAAA,oBAAO,EAAkB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAC3D,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAC/B,CAAA;IACH,CAAC;IAES,KAAK,CAAC,MAAc;QAC5B,OAAO,MAAM,CAAC,EAAE,CAAA;IAClB,CAAC;CACF;AA9ED,wCA8EC;AAED,MAAM,UAAU,GAAG,IAAI,OAAO,EAA+C,CAAA;AAQtE,MAAM,cAAc,GAAG,CAAC,MAAc,EAAW,EAAE,CACxD,MAAM,CAAC,UAAU,KAAK,IAAI,CAAA;AADf,QAAA,cAAc,kBACC;AAgBf,QAAA,iBAAiB,GAA0C;IACtE,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,WAAW;CAClB,CAAA;AAOM,MAAM,kBAAkB,GAAG,CAAC,QAA+B,EAAU,EAAE,CAC5E,yBAAiB,CAAC,QAAQ,CAAC,CAAA;AADhB,QAAA,kBAAkB,sBACF;AAO7B,SAAgB,iBAAiB,CAC/B,MAAsB,EACtB,QAAgB;IAEhB,IAAI,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QACtB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/C,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AASM,MAAM,eAAe,GAAG,CAAC,MAAc,EAAiB,EAAE,CAAC,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,EAAE,EAAE,MAAM,CAAC,EAAE;IACb,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;CAC9E,CAAC,CAAA;AAPW,QAAA,eAAe,mBAO1B;AASK,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAsB,EAAE;IACzE,IAAI,CAAC,CAAC,0BAA0B,IAAI,MAAM,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,WAAW,MAAM,CAAC,EAAE,8BAA8B,CACnD,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAA;IAClD,IACE,UAAU,KAAK,sCAAwB,CAAC,IAAI;QAC5C,UAAU,KAAK,sCAAwB,CAAC,QAAQ;QAChD,UAAU,KAAK,sCAAwB,CAAC,cAAc,EACtD,CAAC;QACD,MAAM,IAAI,0BAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,WAAW,MAAM,CAAC,EAAE,8BAA8B,CACnD,CAAA;IACH,CAAC;IACD,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,wBAAwB,EAAE,UAAU;KACrC,CAAA;AACH,CAAC,CAAA;AA7BY,QAAA,oBAAoB,wBA6BhC"}
1
+ {"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { RequestOptions } from '../transport/request.js';
1
2
  import type { PerpsSDKClient } from '../types/provider.js';
2
3
  export declare abstract class ReferenceDataRegistry<T> {
3
4
  protected readonly client: PerpsSDKClient;
@@ -8,9 +9,12 @@ export declare abstract class ReferenceDataRegistry<T> {
8
9
  private secondaryIndexes;
9
10
  private current;
10
11
  private inflight;
12
+ private inflightIdentity;
13
+ private cacheIdentity;
14
+ private freshUntil;
11
15
  private readonly warnOnce;
12
16
  protected constructor(client: PerpsSDKClient, provider: string, kind: string, secondaryKeys?: Readonly<Record<string, (item: T) => string | undefined>>);
13
- protected abstract fetchItems(): Promise<T[]>;
17
+ protected abstract fetchItems(onResponse: RequestOptions['onResponse']): Promise<T[]>;
14
18
  protected abstract keyOf(item: T): string;
15
19
  sync(): Promise<readonly T[]>;
16
20
  protected get items(): readonly T[];
@@ -1 +1 @@
1
- {"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D,8BAAsB,qBAAqB,CAAC,CAAC;IAQzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAVhC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,SAAS,aACY,MAAM,EAAE,cAAc,EAChC,QAAQ,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,CAC3C;IAIR,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAG7C,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAOzC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAU7B,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,EAAE,CAElC;IAGD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAS9B,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;YAI9C,IAAI;CAoCnB"}
1
+ {"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAkD1D,8BAAsB,qBAAqB,CAAC,CAAC;IAWzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,SAAS,aACY,MAAM,EAAE,cAAc,EAChC,QAAQ,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,CAC3C;IAIR,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GACvC,OAAO,CAAC,CAAC,EAAE,CAAC;IAGf,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAGzC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IA4B7B,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,EAAE,CAElC;IAGD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAS9B,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;YAI9C,IAAI;CAgDnB"}
@@ -4,6 +4,37 @@ exports.ReferenceDataRegistry = void 0;
4
4
  const perps_types_1 = require("@lifi/perps-types");
5
5
  const PerpsError_js_1 = require("../errors/PerpsError.js");
6
6
  const warnOnce_js_1 = require("../utils/warnOnce.js");
7
+ function freshUntil(headers, requestStartedAt, responseReceivedAt) {
8
+ const directives = (headers.get('cache-control') ?? '')
9
+ .toLowerCase()
10
+ .split(',')
11
+ .map((directive) => directive.trim());
12
+ if (directives.some((directive) => /^(no-store|no-cache)(?:\s*=|$)/.test(directive)) ||
13
+ headers
14
+ .get('vary')
15
+ ?.split(',')
16
+ .some((name) => name.trim() === '*')) {
17
+ return 0;
18
+ }
19
+ const maxAges = directives.filter((directive) => /^max-age(?:\s*=|$)/.test(directive));
20
+ const maxAge = maxAges.length === 1
21
+ ? /^max-age\s*=\s*(?:"(\d+)"|(\d+))$/.exec(maxAges[0])
22
+ : null;
23
+ if (!maxAge) {
24
+ return 0;
25
+ }
26
+ const age = headers.get('age') ?? '0';
27
+ const date = headers.get('date');
28
+ const dateTime = date === null ? responseReceivedAt : Date.parse(date);
29
+ if (!/^\d+$/.test(age) || !Number.isFinite(dateTime)) {
30
+ return 0;
31
+ }
32
+ const lifetime = Number(maxAge[1] ?? maxAge[2]) * 1000;
33
+ const currentAge = Math.max(responseReceivedAt - dateTime, Number(age) * 1000 + Math.max(0, responseReceivedAt - requestStartedAt));
34
+ return Number.isFinite(lifetime)
35
+ ? responseReceivedAt + lifetime - currentAge
36
+ : 0;
37
+ }
7
38
  class ReferenceDataRegistry {
8
39
  client;
9
40
  provider;
@@ -13,6 +44,9 @@ class ReferenceDataRegistry {
13
44
  secondaryIndexes = new Map();
14
45
  current = [];
15
46
  inflight;
47
+ inflightIdentity;
48
+ cacheIdentity;
49
+ freshUntil = 0;
16
50
  warnOnce = (0, warnOnce_js_1.createWarnOnce)();
17
51
  constructor(client, provider, kind, secondaryKeys = {}) {
18
52
  this.client = client;
@@ -21,10 +55,27 @@ class ReferenceDataRegistry {
21
55
  this.secondaryKeys = secondaryKeys;
22
56
  }
23
57
  sync() {
24
- if (!this.inflight) {
25
- this.inflight = this.load().finally(() => {
26
- this.inflight = undefined;
58
+ const { config } = this.client;
59
+ if (config.requestInterceptor || config.fetch) {
60
+ return this.load();
61
+ }
62
+ const identity = JSON.stringify([
63
+ config.apiUrl,
64
+ config.apiKey,
65
+ config.integrator,
66
+ ]);
67
+ if (identity === this.cacheIdentity && Date.now() < this.freshUntil) {
68
+ return Promise.resolve(this.current);
69
+ }
70
+ if (!this.inflight || this.inflightIdentity !== identity) {
71
+ const inflight = this.load(identity).finally(() => {
72
+ if (this.inflight === inflight) {
73
+ this.inflight = undefined;
74
+ this.inflightIdentity = undefined;
75
+ }
27
76
  });
77
+ this.inflight = inflight;
78
+ this.inflightIdentity = identity;
28
79
  }
29
80
  return this.inflight;
30
81
  }
@@ -42,8 +93,15 @@ class ReferenceDataRegistry {
42
93
  getByIndex(id, key) {
43
94
  return this.secondaryIndexes.get(key)?.get(id);
44
95
  }
45
- async load() {
46
- const items = await this.fetchItems();
96
+ async load(identity) {
97
+ let expiresAt = 0;
98
+ const items = await this.fetchItems((headers, startedAt, receivedAt) => {
99
+ if (identity !== undefined &&
100
+ typeof process !== 'undefined' &&
101
+ process.versions?.node) {
102
+ expiresAt = freshUntil(headers, startedAt, receivedAt);
103
+ }
104
+ });
47
105
  const index = new Map();
48
106
  for (const item of items) {
49
107
  const key = this.keyOf(item);
@@ -70,6 +128,8 @@ class ReferenceDataRegistry {
70
128
  this.index = index;
71
129
  this.secondaryIndexes = secondaryIndexes;
72
130
  this.current = items;
131
+ this.cacheIdentity = identity;
132
+ this.freshUntil = expiresAt;
73
133
  return items;
74
134
  }
75
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOhlcv.d.ts","sourceRoot":"","sources":["../../../src/services/getOhlcv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAO1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAEhB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,aAAa,CAAA;IAEvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAiBD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAUxB"}
1
+ {"version":3,"file":"getOhlcv.d.ts","sourceRoot":"","sources":["../../../src/services/getOhlcv.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAO1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAEhB,QAAQ,EAAE,MAAM,CAAA;IAEhB,QAAQ,EAAE,aAAa,CAAA;IAEvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAiBD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAUxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOhlcv.js","sourceRoot":"","sources":["../../../src/services/getOhlcv.ts"],"names":[],"mappings":";;AAsCA,4BAcC;AAnDD,wDAA2D;AAqCpD,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAsB,EACtB,OAA2B;IAE3B,MAAM,GAAG,GAAG,IAAA,qBAAQ,EAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE;QACpD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAA;IACF,OAAO,IAAA,oBAAO,EAAgB,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AAChE,CAAC"}
1
+ {"version":3,"file":"getOhlcv.js","sourceRoot":"","sources":["../../../src/services/getOhlcv.ts"],"names":[],"mappings":";;AAuCA,4BAcC;AApDD,wDAA2D;AAsCpD,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAsB,EACtB,OAA2B;IAE3B,MAAM,GAAG,GAAG,IAAA,qBAAQ,EAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE;QACpD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAA;IACF,OAAO,IAAA,oBAAO,EAAgB,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AAChE,CAAC"}
@@ -2,6 +2,7 @@ import type { PerpsBaseConfig, SDKRequestOptions } from '../types/config.js';
2
2
  import { type RetryPolicy } from './retryPolicy.js';
3
3
  export interface RequestOptions extends RequestInit {
4
4
  retry?: RetryPolicy | false;
5
+ onResponse?: (headers: Headers, requestStartedAt: number, responseReceivedAt: number) => void;
5
6
  }
6
7
  export declare function request<T>(config: PerpsBaseConfig, url: string, options?: RequestOptions, sdkOptions?: SDKRequestOptions): Promise<T>;
7
8
  export declare function buildUrl(baseUrl: string, params: Record<string, string | number | boolean | undefined>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI5E,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAOzB,MAAM,WAAW,cAAe,SAAQ,WAAW;IAEjD,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;CAC5B;AAQD,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,EAC5B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,CAAC,CAAC,CA4EZ;AAOD,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,MAAM,CAWR"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI5E,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAOzB,MAAM,WAAW,cAAe,SAAQ,WAAW;IAEjD,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;IAE3B,UAAU,CAAC,EAAE,CACX,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,KACvB,IAAI,CAAA;CACV;AAQD,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,EAC5B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAgFZ;AAOD,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,MAAM,CAWR"}
@@ -9,7 +9,7 @@ const errorCodeFromStatus_js_1 = require("./errorCodeFromStatus.js");
9
9
  const fetchWithRetry_js_1 = require("./fetchWithRetry.js");
10
10
  const retryPolicy_js_1 = require("./retryPolicy.js");
11
11
  async function request(config, url, options = {}, sdkOptions) {
12
- const { retry, ...fetchInit } = options;
12
+ const { retry, onResponse, ...fetchInit } = options;
13
13
  const policy = retry !== undefined
14
14
  ? (0, retryPolicy_js_1.resolveRetryPolicy)(retryPolicy_js_1.LIFI_RETRY_DEFAULTS, retry, retryPolicy_js_1.LIFI_REQUEST_KEY)
15
15
  : (0, retryPolicy_js_1.resolveRetryPolicy)(retryPolicy_js_1.LIFI_RETRY_DEFAULTS, config.retry, retryPolicy_js_1.LIFI_REQUEST_KEY);
@@ -33,11 +33,13 @@ async function request(config, url, options = {}, sdkOptions) {
33
33
  finalOptions = await config.requestInterceptor(url, finalOptions);
34
34
  }
35
35
  try {
36
+ const requestStartedAt = onResponse ? Date.now() : 0;
36
37
  const response = await (0, fetchWithRetry_js_1.fetchWithRetry)(url, finalOptions, {
37
38
  policy,
38
39
  fetchImpl: config.fetch,
39
40
  signal: sdkOptions?.signal ?? finalOptions.signal ?? undefined,
40
41
  });
42
+ const responseReceivedAt = onResponse ? Date.now() : 0;
41
43
  if (!response.ok) {
42
44
  let body;
43
45
  try {
@@ -56,7 +58,9 @@ async function request(config, url, options = {}, sdkOptions) {
56
58
  error.tool = 'unknown';
57
59
  throw error;
58
60
  }
59
- return (await response.json());
61
+ const data = (await response.json());
62
+ onResponse?.(response.headers, requestStartedAt, responseReceivedAt);
63
+ return data;
60
64
  }
61
65
  catch (error) {
62
66
  if (error instanceof PerpsError_js_1.PerpsError) {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
1
  import type { AccountConfigSetting, AccountResponse, CancelTwapOrderParams as ActionCancelTwapOrderParams, CreateReferralCodeParams as ActionCreateReferralCodeParams, ActionParamsMap, PlaceTwapOrderParams as ActionPlaceTwapOrderParams, ActionStep, ExecuteActionResponse, MarginMode, MarketRef, MetaActionType, ModifyOrderInput, OnboardParams, OrderSide, OrderType, PortfolioHistoryRange, SetupAction, SetupOption, SignedActionStep, TimeInForce, TriggerOrderInput, WithdrawalParams } from '@lifi/perps-types';
2
2
  import type { Account, Address, WalletClient } from 'viem';
3
3
  import type { RetryConfig } from '../transport/retryPolicy.js';
4
- import type { ProviderConfigs, RequestInterceptor, SwitchChainHook } from './config.js';
4
+ import type { RequestInterceptor, SwitchChainHook } from './config.js';
5
5
  import type { PerpsProviderPlugin } from './provider.js';
6
6
  export interface PerpsConfig {
7
7
  integrator?: string;
8
8
  apiKey?: string;
9
9
  apiUrl?: string;
10
- disableVersionCheck?: boolean;
11
10
  requestInterceptor?: RequestInterceptor;
12
- providers?: PerpsProviderPlugin[] | ProviderConfigs;
11
+ providers?: PerpsProviderPlugin[];
13
12
  userWallet?: WalletClient<any, any, Account>;
14
13
  retry?: RetryConfig;
15
14
  fetch?: typeof fetch;
@@ -18,7 +17,7 @@ export interface PerpsClientOptions {
18
17
  integrator?: string;
19
18
  apiKey?: string;
20
19
  apiUrl?: string;
21
- providers?: PerpsProviderPlugin[] | ProviderConfigs;
20
+ providers?: PerpsProviderPlugin[];
22
21
  switchChain?: SwitchChainHook;
23
22
  }
24
23
  export interface BuildProviderSetupParams {
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,6 @@ import type { Account, WalletClient } from 'viem';
2
2
  import type { RetryConfig } from '../transport/retryPolicy.js';
3
3
  export type PerpsClientSigner = WalletClient<any, any, Account>;
4
4
  export type SwitchChainHook = (chainId: number) => Promise<PerpsClientSigner | undefined>;
5
- export interface ProviderConfig {
6
- markets?: string[];
7
- }
8
- export type HyperliquidConfig = ProviderConfig;
9
- export interface ProviderConfigs {
10
- [provider: string]: ProviderConfig | undefined;
11
- }
12
5
  export type RequestInterceptor = (url: string, options: RequestInit) => RequestInit | Promise<RequestInit>;
13
6
  export interface SDKRequestOptions {
14
7
  signal?: AbortSignal;
@@ -18,9 +11,7 @@ export interface PerpsBaseConfig {
18
11
  integrator?: string;
19
12
  apiKey: string;
20
13
  apiUrl: string;
21
- disableVersionCheck?: boolean;
22
14
  requestInterceptor?: RequestInterceptor;
23
- providers?: ProviderConfigs;
24
15
  retry?: RetryConfig;
25
16
  fetch?: typeof fetch;
26
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAQ9D,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AAY/D,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;AAQ3C,MAAM,WAAW,cAAc;IAE7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAMD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAO9C,MAAM,WAAW,eAAe;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;CAC/C;AAOD,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,KACjB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAOvC,MAAM,WAAW,iBAAiB;IAEhC,MAAM,CAAC,EAAE,WAAW,CAAA;IAWpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAQD,MAAM,WAAW,eAAe;IAK9B,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,MAAM,EAAE,MAAM,CAAA;IAEd,MAAM,EAAE,MAAM,CAAA;IAEd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAEvC,SAAS,CAAC,EAAE,eAAe,CAAA;IAE3B,KAAK,CAAC,EAAE,WAAW,CAAA;IAEnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAQ9D,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AAY/D,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAA;AAO3C,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,KACjB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAOvC,MAAM,WAAW,iBAAiB;IAEhC,MAAM,CAAC,EAAE,WAAW,CAAA;IAWpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAQD,MAAM,WAAW,eAAe;IAK9B,UAAU,CAAC,EAAE,MAAM,CAAA;IAOnB,MAAM,EAAE,MAAM,CAAA;IAEd,MAAM,EAAE,MAAM,CAAA;IAEd,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAEvC,KAAK,CAAC,EAAE,WAAW,CAAA;IAEnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB"}
@@ -109,7 +109,7 @@ export interface PerpsProviderPlugin {
109
109
  getWithdrawFlow?(params: ProviderGetWithdrawFlowParams, options?: SDKRequestOptions): Promise<WithdrawFlow>;
110
110
  getWithdrawableBalances?(params: ProviderGetWithdrawableBalancesParams, options?: SDKRequestOptions): Promise<ProviderWithdrawableBalance[]>;
111
111
  getPositions(params: ProviderGetPositionsParams, options?: SDKRequestOptions): Promise<PositionsResponse>;
112
- getMarketSettings?(params: ProviderGetMarketSettingsParams, options?: SDKRequestOptions): Promise<MarketSettings | undefined>;
112
+ getMarketSettings(params: ProviderGetMarketSettingsParams, options?: SDKRequestOptions): Promise<MarketSettings>;
113
113
  getAvailableToTrade?(params: ProviderGetAvailableToTradeParams, options?: SDKRequestOptions): Promise<AvailableToTrade | undefined>;
114
114
  getOrders(params: ProviderGetOrdersParams, options?: SDKRequestOptions): Promise<OrdersResponse>;
115
115
  getOrder(params: ProviderGetOrderParams, options?: SDKRequestOptions): Promise<Order>;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
- import type { ActionType, Asset } from '@lifi/perps-types';
1
+ import type { ActionType, Asset, WithdrawalRoute } from '@lifi/perps-types';
2
2
  import type { Address } from 'viem';
3
- export type WithdrawalRoute = 'perps' | 'spot';
3
+ export type { WithdrawalRoute };
4
4
  export interface ProviderWithdrawableBalance {
5
5
  assetId: string;
6
6
  route: WithdrawalRoute;
7
7
  available: string;
8
8
  withdrawalFee?: string;
9
+ isFeeDeducted?: boolean;
9
10
  }
10
11
  export interface WithdrawableBalance {
11
12
  asset: Asset;
12
13
  route: WithdrawalRoute;
13
14
  available: string;
14
15
  withdrawalFee?: string;
16
+ isFeeDeducted?: boolean;
15
17
  }
16
18
  export interface WithdrawFlowReady {
17
19
  kind: 'ready';
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/types/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAUnC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAA;AAQ9C,MAAM,WAAW,2BAA2B;IAE1C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,eAAe,CAAA;IAEtB,SAAS,EAAE,MAAM,CAAA;IAMjB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AASD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,eAAe,CAAA;IAEtB,SAAS,EAAE,MAAM,CAAA;IAMjB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAOD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB;AASD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,eAAe,CAAA;IAErB,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAQD,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,yBAAyB,CAAA"}
1
+ {"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/types/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,YAAY,EAAE,eAAe,EAAE,CAAA;AAQ/B,MAAM,WAAW,2BAA2B;IAE1C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,eAAe,CAAA;IAEtB,SAAS,EAAE,MAAM,CAAA;IAMjB,aAAa,CAAC,EAAE,MAAM,CAAA;IAMtB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AASD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,eAAe,CAAA;IAEtB,SAAS,EAAE,MAAM,CAAA;IAWjB,aAAa,CAAC,EAAE,MAAM,CAAA;IAMtB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAOD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB;AASD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,eAAe,CAAA;IAErB,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAQD,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,yBAAyB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"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"}
@@ -17,30 +17,64 @@ exports.walkOrderbook = walkOrderbook;
17
17
  exports.buildQuote = buildQuote;
18
18
  const perps_types_1 = require("@lifi/perps-types");
19
19
  const PerpsError_js_1 = require("../errors/PerpsError.js");
20
+ const decimal_js_1 = require("./decimal.js");
20
21
  function calculatePositionSize(marginUsd, leverage, price) {
21
- return (marginUsd * leverage) / price;
22
+ if (price === 0) {
23
+ return (marginUsd * leverage) / price;
24
+ }
25
+ if (!(0, decimal_js_1.areFinite)(marginUsd, leverage, price)) {
26
+ return Number.NaN;
27
+ }
28
+ return new decimal_js_1.DivBig(marginUsd).times(leverage).div(price).toNumber();
22
29
  }
23
30
  function calculateNotionalValue(size, price) {
24
- return Math.abs(size) * price;
31
+ if (!(0, decimal_js_1.areFinite)(size, price)) {
32
+ return Number.NaN;
33
+ }
34
+ return new decimal_js_1.DivBig(size).abs().times(price).toNumber();
25
35
  }
26
36
  function calculateUnrealizedPnl(entryPrice, currentPrice, size) {
27
- return (currentPrice - entryPrice) * size;
37
+ if (!(0, decimal_js_1.areFinite)(entryPrice, currentPrice, size)) {
38
+ return Number.NaN;
39
+ }
40
+ return new decimal_js_1.DivBig(currentPrice).minus(entryPrice).times(size).toNumber();
28
41
  }
29
42
  function calculateRoe(pnl, margin) {
30
43
  if (margin === 0) {
31
44
  return 0;
32
45
  }
33
- return (pnl / margin) * 100;
46
+ if (!(0, decimal_js_1.areFinite)(pnl, margin)) {
47
+ return Number.NaN;
48
+ }
49
+ return new decimal_js_1.DivBig(pnl).div(margin).times(100).toNumber();
34
50
  }
35
51
  function calculateRequiredMargin(notionalValue, leverage) {
36
- return notionalValue / leverage;
52
+ if (leverage === 0) {
53
+ return notionalValue / leverage;
54
+ }
55
+ if (!(0, decimal_js_1.areFinite)(notionalValue, leverage)) {
56
+ return Number.NaN;
57
+ }
58
+ return new decimal_js_1.DivBig(notionalValue).div(leverage).toNumber();
37
59
  }
38
60
  function estimateFees(sizeUsd, feeRate) {
39
- return sizeUsd * feeRate;
61
+ if (!(0, decimal_js_1.areFinite)(sizeUsd, feeRate)) {
62
+ return Number.NaN;
63
+ }
64
+ return new decimal_js_1.DivBig(sizeUsd).times(feeRate).toNumber();
40
65
  }
41
66
  function applySlippage(price, slippagePercent, isBuy) {
42
- const multiplier = 1 + slippagePercent / 100;
43
- return isBuy ? price * multiplier : price / multiplier;
67
+ if (!(0, decimal_js_1.areFinite)(price, slippagePercent)) {
68
+ return Number.NaN;
69
+ }
70
+ const multiplier = new decimal_js_1.DivBig(slippagePercent).div(100).plus(1);
71
+ if (isBuy) {
72
+ return new decimal_js_1.DivBig(price).times(multiplier).toNumber();
73
+ }
74
+ if (multiplier.eq(0)) {
75
+ return price / multiplier.toNumber();
76
+ }
77
+ return new decimal_js_1.DivBig(price).div(multiplier).toNumber();
44
78
  }
45
79
  function liquidationDistancePercent(params) {
46
80
  const { liquidationPrice, currentPrice } = params;
@@ -54,66 +88,101 @@ function effectiveLeverage(params) {
54
88
  if (marginUsd === 0) {
55
89
  return 0;
56
90
  }
57
- return positionValueUsd / marginUsd;
91
+ if (!(0, decimal_js_1.areFinite)(positionValueUsd, marginUsd)) {
92
+ return Number.NaN;
93
+ }
94
+ return new decimal_js_1.DivBig(positionValueUsd).div(marginUsd).toNumber();
58
95
  }
59
96
  function calculateExpectedPnl(triggerPrice, entryPrice, leverage, isLong, margin) {
60
97
  if (!triggerPrice || entryPrice === 0 || margin === 0) {
61
98
  return null;
62
99
  }
100
+ if (!(0, decimal_js_1.areFinite)(triggerPrice, entryPrice, leverage, margin)) {
101
+ return { amount: Number.NaN, percent: Number.NaN };
102
+ }
63
103
  const priceDiff = isLong
64
- ? triggerPrice - entryPrice
65
- : entryPrice - triggerPrice;
66
- const percent = (priceDiff / entryPrice) * leverage * 100;
67
- const amount = margin * (percent / 100);
68
- return { amount, percent };
104
+ ? new decimal_js_1.DivBig(triggerPrice).minus(entryPrice)
105
+ : new decimal_js_1.DivBig(entryPrice).minus(triggerPrice);
106
+ const percent = priceDiff.div(entryPrice).times(leverage).times(100);
107
+ const amount = percent.times(margin).div(100);
108
+ return { amount: amount.toNumber(), percent: percent.toNumber() };
69
109
  }
70
110
  function priceFromPercent(percent, entryPrice, leverage, isLong) {
71
111
  if (entryPrice === 0 || leverage === 0) {
72
112
  return 0;
73
113
  }
74
- const priceDelta = (percent / 100 / leverage) * entryPrice;
75
- return isLong ? entryPrice + priceDelta : entryPrice - priceDelta;
114
+ if (!(0, decimal_js_1.areFinite)(percent, entryPrice, leverage)) {
115
+ return Number.NaN;
116
+ }
117
+ const priceDelta = new decimal_js_1.DivBig(percent)
118
+ .times(entryPrice)
119
+ .div(new decimal_js_1.DivBig(leverage).times(100));
120
+ const entry = new decimal_js_1.DivBig(entryPrice);
121
+ return (isLong ? entry.plus(priceDelta) : entry.minus(priceDelta)).toNumber();
76
122
  }
77
123
  function percentFromPrice(price, entryPrice, leverage, isLong) {
78
124
  if (entryPrice === 0 || leverage === 0) {
79
125
  return 0;
80
126
  }
81
- const priceDiff = isLong ? price - entryPrice : entryPrice - price;
82
- return (priceDiff / entryPrice) * leverage * 100;
127
+ if (!(0, decimal_js_1.areFinite)(price, entryPrice, leverage)) {
128
+ return Number.NaN;
129
+ }
130
+ const priceDiff = isLong
131
+ ? new decimal_js_1.DivBig(price).minus(entryPrice)
132
+ : new decimal_js_1.DivBig(entryPrice).minus(price);
133
+ return priceDiff.div(entryPrice).times(leverage).times(100).toNumber();
83
134
  }
84
135
  function calculateRealizedPnlPercent(realizedPnl, size, price) {
85
- const positionValue = Math.abs(size) * price;
86
- if (positionValue === 0) {
136
+ if (!(0, decimal_js_1.areFinite)(realizedPnl, size, price)) {
137
+ return Number.NaN;
138
+ }
139
+ const positionValue = new decimal_js_1.DivBig(size).abs().times(price);
140
+ if (positionValue.eq(0)) {
87
141
  return 0;
88
142
  }
89
- return (realizedPnl / positionValue) * 100;
143
+ return new decimal_js_1.DivBig(realizedPnl).div(positionValue).times(100).toNumber();
90
144
  }
91
145
  function walkOrderbook(levels, sizeUsd) {
92
- let remaining = sizeUsd;
93
- let baseSize = 0;
94
- let filledNotional = 0;
146
+ if (!Number.isFinite(sizeUsd)) {
147
+ return {
148
+ baseSize: Number.NaN,
149
+ filledNotional: Number.NaN,
150
+ vwap: Number.NaN,
151
+ insufficientLiquidity: true,
152
+ };
153
+ }
154
+ let remaining = new decimal_js_1.DivBig(sizeUsd);
155
+ let baseSize = new decimal_js_1.DivBig(0);
156
+ let filledNotional = new decimal_js_1.DivBig(0);
95
157
  for (const level of levels) {
96
- if (remaining <= 0) {
158
+ if (remaining.lte(0)) {
97
159
  break;
98
160
  }
99
- const price = Number.parseFloat(level.price);
100
- const size = Number.parseFloat(level.size);
101
- if (!Number.isFinite(price) || !Number.isFinite(size)) {
102
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Malformed orderbook level: price='${level.price}', size='${level.size}'`);
161
+ const { price, size } = parseLevel(level);
162
+ const levelNotional = size.times(price);
163
+ const take = remaining.lt(levelNotional) ? remaining : levelNotional;
164
+ if (take.eq(0)) {
165
+ continue;
103
166
  }
104
- const levelNotional = size * price;
105
- const take = Math.min(remaining, levelNotional);
106
- filledNotional += take;
107
- baseSize += take / price;
108
- remaining -= take;
167
+ filledNotional = filledNotional.plus(take);
168
+ baseSize = baseSize.plus(take.div(price));
169
+ remaining = remaining.minus(take);
109
170
  }
110
171
  return {
111
- baseSize,
112
- filledNotional,
113
- vwap: baseSize === 0 ? 0 : filledNotional / baseSize,
114
- insufficientLiquidity: remaining > 0,
172
+ baseSize: baseSize.toNumber(),
173
+ filledNotional: filledNotional.toNumber(),
174
+ vwap: baseSize.eq(0) ? 0 : filledNotional.div(baseSize).toNumber(),
175
+ insufficientLiquidity: remaining.gt(0),
115
176
  };
116
177
  }
178
+ function parseLevel(level) {
179
+ try {
180
+ return { price: new decimal_js_1.DivBig(level.price), size: new decimal_js_1.DivBig(level.size) };
181
+ }
182
+ catch {
183
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Malformed orderbook level: price='${level.price}', size='${level.size}'`);
184
+ }
185
+ }
117
186
  function buildQuote(input) {
118
187
  const { market, price, side, sizeUsd, feeTier } = input;
119
188
  const markPrice = Number.parseFloat(price.markPrice);