@lifi/perps-sdk 0.2.0-alpha.0 → 1.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 (908) hide show
  1. package/README.md +138 -24
  2. package/dist/cjs/client/PerpsClient.d.ts +27 -48
  3. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  4. package/dist/cjs/client/PerpsClient.js +119 -578
  5. package/dist/cjs/client/PerpsClient.js.map +1 -1
  6. package/dist/cjs/client/bindProvider.d.ts +3 -0
  7. package/dist/cjs/client/bindProvider.d.ts.map +1 -0
  8. package/dist/cjs/client/bindProvider.js +9 -0
  9. package/dist/cjs/client/bindProvider.js.map +1 -0
  10. package/dist/cjs/client/createPerpsClient.d.ts +7 -38
  11. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
  12. package/dist/cjs/client/createPerpsClient.js +25 -8
  13. package/dist/cjs/client/createPerpsClient.js.map +1 -1
  14. package/dist/cjs/client/requireProvider.d.ts +3 -0
  15. package/dist/cjs/client/requireProvider.d.ts.map +1 -0
  16. package/dist/cjs/client/requireProvider.js +16 -0
  17. package/dist/cjs/client/requireProvider.js.map +1 -0
  18. package/dist/cjs/errors/PerpsError.d.ts.map +1 -1
  19. package/dist/cjs/errors/PerpsError.js.map +1 -1
  20. package/dist/cjs/errors/constants.d.ts +2 -2
  21. package/dist/cjs/errors/constants.d.ts.map +1 -1
  22. package/dist/cjs/errors/constants.js +2 -2
  23. package/dist/cjs/errors/constants.js.map +1 -1
  24. package/dist/cjs/index.d.ts +41 -23
  25. package/dist/cjs/index.d.ts.map +1 -1
  26. package/dist/cjs/index.js +73 -41
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/registry/assetRegistry.d.ts +11 -0
  29. package/dist/cjs/registry/assetRegistry.d.ts.map +1 -0
  30. package/dist/cjs/registry/assetRegistry.js +39 -0
  31. package/dist/cjs/registry/assetRegistry.js.map +1 -0
  32. package/dist/cjs/registry/marketRegistry.d.ts +13 -0
  33. package/dist/cjs/registry/marketRegistry.d.ts.map +1 -0
  34. package/dist/cjs/registry/marketRegistry.js +58 -0
  35. package/dist/cjs/registry/marketRegistry.js.map +1 -0
  36. package/dist/cjs/registry/referenceDataRegistry.d.ts +20 -0
  37. package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -0
  38. package/dist/cjs/registry/referenceDataRegistry.js +59 -0
  39. package/dist/cjs/registry/referenceDataRegistry.js.map +1 -0
  40. package/dist/cjs/services/createAction.d.ts +4 -2
  41. package/dist/cjs/services/createAction.d.ts.map +1 -1
  42. package/dist/cjs/services/createAction.js +1 -1
  43. package/dist/cjs/services/createAction.js.map +1 -1
  44. package/dist/cjs/services/executeAction.d.ts +4 -2
  45. package/dist/cjs/services/executeAction.d.ts.map +1 -1
  46. package/dist/cjs/services/executeAction.js +2 -1
  47. package/dist/cjs/services/executeAction.js.map +1 -1
  48. package/dist/cjs/services/getAccount.d.ts +4 -2
  49. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  50. package/dist/cjs/services/getAccount.js +2 -6
  51. package/dist/cjs/services/getAccount.js.map +1 -1
  52. package/dist/cjs/services/getActivity.d.ts +4 -2
  53. package/dist/cjs/services/getActivity.d.ts.map +1 -1
  54. package/dist/cjs/services/getActivity.js +4 -10
  55. package/dist/cjs/services/getActivity.js.map +1 -1
  56. package/dist/cjs/services/getAssets.d.ts +2 -1
  57. package/dist/cjs/services/getAssets.d.ts.map +1 -1
  58. package/dist/cjs/services/getAssets.js +1 -1
  59. package/dist/cjs/services/getAssets.js.map +1 -1
  60. package/dist/cjs/services/getFills.d.ts +4 -2
  61. package/dist/cjs/services/getFills.d.ts.map +1 -1
  62. package/dist/cjs/services/getFills.js +3 -5
  63. package/dist/cjs/services/getFills.js.map +1 -1
  64. package/dist/cjs/services/getMarket.d.ts +9 -0
  65. package/dist/cjs/services/getMarket.d.ts.map +1 -0
  66. package/dist/cjs/services/getMarket.js +13 -0
  67. package/dist/cjs/services/getMarket.js.map +1 -0
  68. package/dist/cjs/services/getMarkets.d.ts +9 -0
  69. package/dist/cjs/services/getMarkets.d.ts.map +1 -0
  70. package/dist/cjs/services/{getAsset.js → getMarkets.js} +6 -5
  71. package/dist/cjs/services/getMarkets.js.map +1 -0
  72. package/dist/cjs/services/getMeta.d.ts +5 -0
  73. package/dist/cjs/services/getMeta.d.ts.map +1 -0
  74. package/dist/cjs/services/getMeta.js +8 -0
  75. package/dist/cjs/services/getMeta.js.map +1 -0
  76. package/dist/cjs/services/getOhlcv.d.ts +3 -2
  77. package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
  78. package/dist/cjs/services/getOhlcv.js +3 -2
  79. package/dist/cjs/services/getOhlcv.js.map +1 -1
  80. package/dist/cjs/services/getOrder.d.ts +4 -2
  81. package/dist/cjs/services/getOrder.d.ts.map +1 -1
  82. package/dist/cjs/services/getOrder.js +2 -6
  83. package/dist/cjs/services/getOrder.js.map +1 -1
  84. package/dist/cjs/services/getOrderbook.d.ts +3 -2
  85. package/dist/cjs/services/getOrderbook.d.ts.map +1 -1
  86. package/dist/cjs/services/getOrderbook.js +3 -2
  87. package/dist/cjs/services/getOrderbook.js.map +1 -1
  88. package/dist/cjs/services/getOrders.d.ts +5 -3
  89. package/dist/cjs/services/getOrders.d.ts.map +1 -1
  90. package/dist/cjs/services/getOrders.js +6 -8
  91. package/dist/cjs/services/getOrders.js.map +1 -1
  92. package/dist/cjs/services/getPositions.d.ts +5 -3
  93. package/dist/cjs/services/getPositions.d.ts.map +1 -1
  94. package/dist/cjs/services/getPositions.js +6 -8
  95. package/dist/cjs/services/getPositions.js.map +1 -1
  96. package/dist/cjs/services/getPrices.d.ts +3 -2
  97. package/dist/cjs/services/getPrices.d.ts.map +1 -1
  98. package/dist/cjs/services/getPrices.js +2 -2
  99. package/dist/cjs/services/getPrices.js.map +1 -1
  100. package/dist/cjs/services/getProviders.d.ts +2 -1
  101. package/dist/cjs/services/getProviders.d.ts.map +1 -1
  102. package/dist/cjs/services/getProviders.js +1 -1
  103. package/dist/cjs/services/getProviders.js.map +1 -1
  104. package/dist/cjs/services/getQuote.d.ts +12 -0
  105. package/dist/cjs/services/getQuote.d.ts.map +1 -0
  106. package/dist/cjs/services/getQuote.js +13 -0
  107. package/dist/cjs/services/getQuote.js.map +1 -0
  108. package/dist/cjs/services/getTermsAcceptance.d.ts +6 -0
  109. package/dist/cjs/services/getTermsAcceptance.d.ts.map +1 -0
  110. package/dist/cjs/services/getTermsAcceptance.js +9 -0
  111. package/dist/cjs/services/getTermsAcceptance.js.map +1 -0
  112. package/dist/cjs/services/resolveQuote.d.ts +7 -0
  113. package/dist/cjs/services/resolveQuote.d.ts.map +1 -0
  114. package/dist/cjs/services/resolveQuote.js +50 -0
  115. package/dist/cjs/services/resolveQuote.js.map +1 -0
  116. package/dist/cjs/services/resolveSubscribeQuote.d.ts +6 -0
  117. package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -0
  118. package/dist/cjs/services/resolveSubscribeQuote.js +65 -0
  119. package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -0
  120. package/dist/cjs/storage/parseStoredRecord.d.ts +4 -0
  121. package/dist/cjs/storage/parseStoredRecord.d.ts.map +1 -0
  122. package/dist/cjs/storage/parseStoredRecord.js +26 -0
  123. package/dist/cjs/storage/parseStoredRecord.js.map +1 -0
  124. package/dist/cjs/storage/storage.d.ts.map +1 -0
  125. package/dist/cjs/storage/storage.js.map +1 -0
  126. package/dist/cjs/{agent → storage}/types.d.ts +0 -5
  127. package/dist/cjs/storage/types.d.ts.map +1 -0
  128. package/dist/cjs/{agent → storage}/types.js.map +1 -1
  129. package/dist/cjs/transport/fetchWithRetry.d.ts +8 -0
  130. package/dist/cjs/transport/fetchWithRetry.d.ts.map +1 -0
  131. package/dist/cjs/transport/fetchWithRetry.js +81 -0
  132. package/dist/cjs/transport/fetchWithRetry.js.map +1 -0
  133. package/dist/cjs/{utils → transport}/request.d.ts +3 -2
  134. package/dist/cjs/transport/request.d.ts.map +1 -0
  135. package/dist/cjs/{utils → transport}/request.js +14 -14
  136. package/dist/cjs/transport/request.js.map +1 -0
  137. package/dist/cjs/transport/retryPolicy.d.ts +37 -0
  138. package/dist/cjs/transport/retryPolicy.d.ts.map +1 -0
  139. package/dist/cjs/transport/retryPolicy.js +79 -0
  140. package/dist/cjs/transport/retryPolicy.js.map +1 -0
  141. package/dist/cjs/types/api.d.ts +85 -0
  142. package/dist/cjs/types/api.d.ts.map +1 -0
  143. package/dist/cjs/{realtime/lighter/types.js → types/api.js} +1 -1
  144. package/dist/cjs/types/api.js.map +1 -0
  145. package/dist/cjs/types/config.d.ts +26 -0
  146. package/dist/cjs/types/config.d.ts.map +1 -0
  147. package/dist/cjs/{realtime/types.js → types/config.js} +1 -1
  148. package/dist/cjs/types/config.js.map +1 -0
  149. package/dist/cjs/types/provider.d.ts +84 -0
  150. package/dist/cjs/types/provider.d.ts.map +1 -0
  151. package/dist/cjs/types/provider.js +3 -0
  152. package/dist/cjs/types/provider.js.map +1 -0
  153. package/dist/cjs/utils/accountSummary.d.ts +2 -8
  154. package/dist/cjs/utils/accountSummary.d.ts.map +1 -1
  155. package/dist/cjs/utils/accountSummary.js +12 -70
  156. package/dist/cjs/utils/accountSummary.js.map +1 -1
  157. package/dist/cjs/utils/assertNever.d.ts.map +1 -1
  158. package/dist/cjs/utils/assertNever.js.map +1 -1
  159. package/dist/cjs/utils/calculations.d.ts +36 -0
  160. package/dist/cjs/utils/calculations.d.ts.map +1 -1
  161. package/dist/cjs/utils/calculations.js +77 -0
  162. package/dist/cjs/utils/calculations.js.map +1 -1
  163. package/dist/cjs/utils/depositChain.d.ts +6 -0
  164. package/dist/cjs/utils/depositChain.d.ts.map +1 -0
  165. package/dist/cjs/utils/depositChain.js +13 -0
  166. package/dist/cjs/utils/depositChain.js.map +1 -0
  167. package/dist/cjs/utils/explorer.d.ts +9 -0
  168. package/dist/cjs/utils/explorer.d.ts.map +1 -0
  169. package/dist/cjs/utils/explorer.js +23 -0
  170. package/dist/cjs/utils/explorer.js.map +1 -0
  171. package/dist/cjs/utils/fillClassification.d.ts +3 -0
  172. package/dist/cjs/utils/fillClassification.d.ts.map +1 -0
  173. package/dist/cjs/utils/fillClassification.js +37 -0
  174. package/dist/cjs/utils/fillClassification.js.map +1 -0
  175. package/dist/cjs/utils/format.d.ts +13 -0
  176. package/dist/cjs/utils/format.d.ts.map +1 -0
  177. package/dist/cjs/utils/format.js +117 -0
  178. package/dist/cjs/utils/format.js.map +1 -0
  179. package/dist/cjs/utils/orderClassification.d.ts +3 -1
  180. package/dist/cjs/utils/orderClassification.d.ts.map +1 -1
  181. package/dist/cjs/utils/orderClassification.js +11 -1
  182. package/dist/cjs/utils/orderClassification.js.map +1 -1
  183. package/dist/cjs/utils/orderMath.d.ts +1 -1
  184. package/dist/cjs/utils/orderMath.d.ts.map +1 -1
  185. package/dist/cjs/utils/orderMath.js +2 -2
  186. package/dist/cjs/utils/orderMath.js.map +1 -1
  187. package/dist/cjs/utils/parse.d.ts.map +1 -1
  188. package/dist/cjs/utils/parse.js.map +1 -1
  189. package/dist/cjs/utils/positionMath.d.ts +6 -0
  190. package/dist/cjs/utils/positionMath.d.ts.map +1 -1
  191. package/dist/cjs/utils/positionMath.js +14 -0
  192. package/dist/cjs/utils/positionMath.js.map +1 -1
  193. package/dist/cjs/utils/signTypedData.d.ts +3 -3
  194. package/dist/cjs/utils/signTypedData.d.ts.map +1 -1
  195. package/dist/cjs/utils/signTypedData.js +3 -2
  196. package/dist/cjs/utils/signTypedData.js.map +1 -1
  197. package/dist/cjs/utils/sleep.d.ts.map +1 -1
  198. package/dist/cjs/utils/sleep.js.map +1 -1
  199. package/dist/cjs/utils/units.d.ts.map +1 -1
  200. package/dist/cjs/utils/units.js.map +1 -1
  201. package/dist/cjs/utils/validation.d.ts.map +1 -1
  202. package/dist/cjs/utils/validation.js.map +1 -1
  203. package/dist/cjs/version.d.ts +1 -1
  204. package/dist/cjs/version.d.ts.map +1 -1
  205. package/dist/cjs/version.js +1 -1
  206. package/dist/cjs/version.js.map +1 -1
  207. package/dist/cjs/websocket/PerpsWsClient.d.ts +27 -0
  208. package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -0
  209. package/dist/cjs/websocket/PerpsWsClient.js +84 -0
  210. package/dist/cjs/websocket/PerpsWsClient.js.map +1 -0
  211. package/dist/{types/realtime → cjs/websocket}/ReconnectingWebSocket.d.ts +23 -7
  212. package/dist/cjs/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  213. package/dist/cjs/websocket/ReconnectingWebSocket.js +213 -0
  214. package/dist/cjs/websocket/ReconnectingWebSocket.js.map +1 -0
  215. package/dist/cjs/websocket/WsProviderBase.d.ts +31 -0
  216. package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -0
  217. package/dist/cjs/websocket/WsProviderBase.js +197 -0
  218. package/dist/cjs/websocket/WsProviderBase.js.map +1 -0
  219. package/dist/cjs/websocket/cachePromise.d.ts +2 -0
  220. package/dist/cjs/websocket/cachePromise.d.ts.map +1 -0
  221. package/dist/cjs/websocket/cachePromise.js +18 -0
  222. package/dist/cjs/websocket/cachePromise.js.map +1 -0
  223. package/dist/cjs/websocket/types.d.ts +15 -0
  224. package/dist/cjs/websocket/types.d.ts.map +1 -0
  225. package/dist/cjs/{realtime → websocket}/types.js.map +1 -1
  226. package/dist/cjs/websocket/wsLog.d.ts +10 -0
  227. package/dist/cjs/websocket/wsLog.d.ts.map +1 -0
  228. package/dist/cjs/websocket/wsLog.js +31 -0
  229. package/dist/cjs/websocket/wsLog.js.map +1 -0
  230. package/dist/esm/client/PerpsClient.d.ts +200 -195
  231. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  232. package/dist/esm/client/PerpsClient.js +305 -794
  233. package/dist/esm/client/PerpsClient.js.map +1 -1
  234. package/dist/esm/client/bindProvider.d.ts +13 -0
  235. package/dist/esm/client/bindProvider.d.ts.map +1 -0
  236. package/dist/esm/client/bindProvider.js +16 -0
  237. package/dist/esm/client/bindProvider.js.map +1 -0
  238. package/dist/esm/client/createPerpsClient.d.ts +34 -53
  239. package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
  240. package/dist/esm/client/createPerpsClient.js +51 -8
  241. package/dist/esm/client/createPerpsClient.js.map +1 -1
  242. package/dist/esm/client/requireProvider.d.ts +12 -0
  243. package/dist/esm/client/requireProvider.d.ts.map +1 -0
  244. package/dist/esm/client/requireProvider.js +22 -0
  245. package/dist/esm/client/requireProvider.js.map +1 -0
  246. package/dist/esm/errors/PerpsError.d.ts +8 -0
  247. package/dist/esm/errors/PerpsError.d.ts.map +1 -1
  248. package/dist/esm/errors/PerpsError.js +8 -0
  249. package/dist/esm/errors/PerpsError.js.map +1 -1
  250. package/dist/esm/errors/constants.d.ts +8 -2
  251. package/dist/esm/errors/constants.d.ts.map +1 -1
  252. package/dist/esm/errors/constants.js +8 -2
  253. package/dist/esm/errors/constants.js.map +1 -1
  254. package/dist/esm/index.d.ts +49 -23
  255. package/dist/esm/index.d.ts.map +1 -1
  256. package/dist/esm/index.js +38 -23
  257. package/dist/esm/index.js.map +1 -1
  258. package/dist/esm/registry/assetRegistry.d.ts +25 -0
  259. package/dist/esm/registry/assetRegistry.d.ts.map +1 -0
  260. package/dist/esm/registry/assetRegistry.js +48 -0
  261. package/dist/esm/registry/assetRegistry.js.map +1 -0
  262. package/dist/esm/registry/marketRegistry.d.ts +42 -0
  263. package/dist/esm/registry/marketRegistry.d.ts.map +1 -0
  264. package/dist/esm/registry/marketRegistry.js +81 -0
  265. package/dist/esm/registry/marketRegistry.js.map +1 -0
  266. package/dist/esm/registry/referenceDataRegistry.d.ts +44 -0
  267. package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -0
  268. package/dist/esm/registry/referenceDataRegistry.js +79 -0
  269. package/dist/esm/registry/referenceDataRegistry.js.map +1 -0
  270. package/dist/esm/services/createAction.d.ts +17 -2
  271. package/dist/esm/services/createAction.d.ts.map +1 -1
  272. package/dist/esm/services/createAction.js +9 -1
  273. package/dist/esm/services/createAction.js.map +1 -1
  274. package/dist/esm/services/executeAction.d.ts +17 -2
  275. package/dist/esm/services/executeAction.d.ts.map +1 -1
  276. package/dist/esm/services/executeAction.js +13 -1
  277. package/dist/esm/services/executeAction.js.map +1 -1
  278. package/dist/esm/services/getAccount.d.ts +19 -16
  279. package/dist/esm/services/getAccount.d.ts.map +1 -1
  280. package/dist/esm/services/getAccount.js +12 -18
  281. package/dist/esm/services/getAccount.js.map +1 -1
  282. package/dist/esm/services/getActivity.d.ts +15 -25
  283. package/dist/esm/services/getActivity.d.ts.map +1 -1
  284. package/dist/esm/services/getActivity.js +10 -28
  285. package/dist/esm/services/getActivity.js.map +1 -1
  286. package/dist/esm/services/getAssets.d.ts +14 -5
  287. package/dist/esm/services/getAssets.d.ts.map +1 -1
  288. package/dist/esm/services/getAssets.js +8 -4
  289. package/dist/esm/services/getAssets.js.map +1 -1
  290. package/dist/esm/services/getFills.d.ts +18 -29
  291. package/dist/esm/services/getFills.d.ts.map +1 -1
  292. package/dist/esm/services/getFills.js +10 -26
  293. package/dist/esm/services/getFills.js.map +1 -1
  294. package/dist/esm/services/getMarket.d.ts +34 -0
  295. package/dist/esm/services/getMarket.d.ts.map +1 -0
  296. package/dist/esm/services/getMarket.js +25 -0
  297. package/dist/esm/services/getMarket.js.map +1 -0
  298. package/dist/esm/services/getMarkets.d.ts +28 -0
  299. package/dist/esm/services/getMarkets.d.ts.map +1 -0
  300. package/dist/esm/services/getMarkets.js +22 -0
  301. package/dist/esm/services/getMarkets.js.map +1 -0
  302. package/dist/esm/services/getMeta.d.ts +19 -0
  303. package/dist/esm/services/getMeta.d.ts.map +1 -0
  304. package/dist/esm/services/getMeta.js +19 -0
  305. package/dist/esm/services/getMeta.js.map +1 -0
  306. package/dist/esm/services/getOhlcv.d.ts +15 -19
  307. package/dist/esm/services/getOhlcv.d.ts.map +1 -1
  308. package/dist/esm/services/getOhlcv.js +7 -13
  309. package/dist/esm/services/getOhlcv.js.map +1 -1
  310. package/dist/esm/services/getOrder.d.ts +16 -16
  311. package/dist/esm/services/getOrder.d.ts.map +1 -1
  312. package/dist/esm/services/getOrder.js +9 -17
  313. package/dist/esm/services/getOrder.js.map +1 -1
  314. package/dist/esm/services/getOrderbook.d.ts +13 -23
  315. package/dist/esm/services/getOrderbook.d.ts.map +1 -1
  316. package/dist/esm/services/getOrderbook.js +7 -21
  317. package/dist/esm/services/getOrderbook.js.map +1 -1
  318. package/dist/esm/services/getOrders.d.ts +17 -9
  319. package/dist/esm/services/getOrders.d.ts.map +1 -1
  320. package/dist/esm/services/getOrders.js +12 -9
  321. package/dist/esm/services/getOrders.js.map +1 -1
  322. package/dist/esm/services/getPositions.d.ts +17 -9
  323. package/dist/esm/services/getPositions.d.ts.map +1 -1
  324. package/dist/esm/services/getPositions.js +12 -9
  325. package/dist/esm/services/getPositions.js.map +1 -1
  326. package/dist/esm/services/getPrices.d.ts +12 -24
  327. package/dist/esm/services/getPrices.d.ts.map +1 -1
  328. package/dist/esm/services/getPrices.js +5 -22
  329. package/dist/esm/services/getPrices.js.map +1 -1
  330. package/dist/esm/services/getProviders.d.ts +3 -3
  331. package/dist/esm/services/getProviders.d.ts.map +1 -1
  332. package/dist/esm/services/getProviders.js +2 -3
  333. package/dist/esm/services/getProviders.js.map +1 -1
  334. package/dist/esm/services/getQuote.d.ts +42 -0
  335. package/dist/esm/services/getQuote.d.ts.map +1 -0
  336. package/dist/esm/services/getQuote.js +33 -0
  337. package/dist/esm/services/getQuote.js.map +1 -0
  338. package/dist/esm/services/getTermsAcceptance.d.ts +24 -0
  339. package/dist/esm/services/getTermsAcceptance.d.ts.map +1 -0
  340. package/dist/esm/services/getTermsAcceptance.js +24 -0
  341. package/dist/esm/services/getTermsAcceptance.js.map +1 -0
  342. package/dist/esm/services/resolveQuote.d.ts +36 -0
  343. package/dist/esm/services/resolveQuote.d.ts.map +1 -0
  344. package/dist/esm/services/resolveQuote.js +74 -0
  345. package/dist/esm/services/resolveQuote.js.map +1 -0
  346. package/dist/esm/services/resolveSubscribeQuote.d.ts +31 -0
  347. package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -0
  348. package/dist/esm/services/resolveSubscribeQuote.js +86 -0
  349. package/dist/esm/services/resolveSubscribeQuote.js.map +1 -0
  350. package/dist/esm/storage/parseStoredRecord.d.ts +29 -0
  351. package/dist/esm/storage/parseStoredRecord.d.ts.map +1 -0
  352. package/dist/esm/storage/parseStoredRecord.js +47 -0
  353. package/dist/esm/storage/parseStoredRecord.js.map +1 -0
  354. package/dist/{types/agent → esm/storage}/storage.d.ts +6 -3
  355. package/dist/esm/storage/storage.d.ts.map +1 -0
  356. package/dist/esm/{agent → storage}/storage.js +6 -4
  357. package/dist/esm/storage/storage.js.map +1 -0
  358. package/dist/esm/storage/types.d.ts +14 -0
  359. package/dist/esm/storage/types.d.ts.map +1 -0
  360. package/dist/esm/{agent → storage}/types.js.map +1 -1
  361. package/dist/esm/transport/fetchWithRetry.d.ts +22 -0
  362. package/dist/esm/transport/fetchWithRetry.d.ts.map +1 -0
  363. package/dist/esm/transport/fetchWithRetry.js +87 -0
  364. package/dist/esm/transport/fetchWithRetry.js.map +1 -0
  365. package/dist/esm/transport/request.d.ts +25 -0
  366. package/dist/esm/transport/request.d.ts.map +1 -0
  367. package/dist/esm/{utils → transport}/request.js +19 -31
  368. package/dist/esm/transport/request.js.map +1 -0
  369. package/dist/esm/transport/retryPolicy.d.ts +106 -0
  370. package/dist/esm/transport/retryPolicy.d.ts.map +1 -0
  371. package/dist/esm/transport/retryPolicy.js +99 -0
  372. package/dist/esm/transport/retryPolicy.js.map +1 -0
  373. package/dist/esm/types/api.d.ts +214 -0
  374. package/dist/esm/types/api.d.ts.map +1 -0
  375. package/dist/esm/types/api.js +2 -0
  376. package/dist/esm/types/api.js.map +1 -0
  377. package/dist/esm/types/config.d.ts +70 -0
  378. package/dist/esm/types/config.d.ts.map +1 -0
  379. package/dist/esm/types/config.js +2 -0
  380. package/dist/esm/types/config.js.map +1 -0
  381. package/dist/esm/types/provider.d.ts +330 -0
  382. package/dist/esm/types/provider.d.ts.map +1 -0
  383. package/dist/esm/types/provider.js +2 -0
  384. package/dist/esm/types/provider.js.map +1 -0
  385. package/dist/esm/utils/accountSummary.d.ts +12 -12
  386. package/dist/esm/utils/accountSummary.d.ts.map +1 -1
  387. package/dist/esm/utils/accountSummary.js +18 -83
  388. package/dist/esm/utils/accountSummary.js.map +1 -1
  389. package/dist/esm/utils/assertNever.d.ts +1 -0
  390. package/dist/esm/utils/assertNever.d.ts.map +1 -1
  391. package/dist/esm/utils/assertNever.js +1 -0
  392. package/dist/esm/utils/assertNever.js.map +1 -1
  393. package/dist/esm/utils/calculations.d.ts +116 -0
  394. package/dist/esm/utils/calculations.d.ts.map +1 -1
  395. package/dist/esm/utils/calculations.js +140 -3
  396. package/dist/esm/utils/calculations.js.map +1 -1
  397. package/dist/esm/utils/depositChain.d.ts +25 -0
  398. package/dist/esm/utils/depositChain.d.ts.map +1 -0
  399. package/dist/esm/utils/depositChain.js +23 -0
  400. package/dist/esm/utils/depositChain.js.map +1 -0
  401. package/dist/esm/utils/explorer.d.ts +33 -0
  402. package/dist/esm/utils/explorer.d.ts.map +1 -0
  403. package/dist/esm/utils/explorer.js +38 -0
  404. package/dist/esm/utils/explorer.js.map +1 -0
  405. package/dist/esm/utils/fillClassification.d.ts +13 -0
  406. package/dist/esm/utils/fillClassification.d.ts.map +1 -0
  407. package/dist/esm/utils/fillClassification.js +44 -0
  408. package/dist/esm/utils/fillClassification.js.map +1 -0
  409. package/dist/esm/utils/format.d.ts +66 -0
  410. package/dist/esm/utils/format.d.ts.map +1 -0
  411. package/dist/esm/utils/format.js +171 -0
  412. package/dist/esm/utils/format.js.map +1 -0
  413. package/dist/esm/utils/orderClassification.d.ts +19 -1
  414. package/dist/esm/utils/orderClassification.d.ts.map +1 -1
  415. package/dist/esm/utils/orderClassification.js +26 -1
  416. package/dist/esm/utils/orderClassification.js.map +1 -1
  417. package/dist/esm/utils/orderMath.d.ts +8 -4
  418. package/dist/esm/utils/orderMath.d.ts.map +1 -1
  419. package/dist/esm/utils/orderMath.js +9 -5
  420. package/dist/esm/utils/orderMath.js.map +1 -1
  421. package/dist/esm/utils/parse.d.ts +8 -5
  422. package/dist/esm/utils/parse.d.ts.map +1 -1
  423. package/dist/esm/utils/parse.js +8 -6
  424. package/dist/esm/utils/parse.js.map +1 -1
  425. package/dist/esm/utils/positionMath.d.ts +29 -0
  426. package/dist/esm/utils/positionMath.d.ts.map +1 -1
  427. package/dist/esm/utils/positionMath.js +36 -0
  428. package/dist/esm/utils/positionMath.js.map +1 -1
  429. package/dist/esm/utils/signTypedData.d.ts +9 -4
  430. package/dist/esm/utils/signTypedData.d.ts.map +1 -1
  431. package/dist/esm/utils/signTypedData.js +9 -3
  432. package/dist/esm/utils/signTypedData.js.map +1 -1
  433. package/dist/esm/utils/sleep.d.ts +5 -0
  434. package/dist/esm/utils/sleep.d.ts.map +1 -1
  435. package/dist/esm/utils/sleep.js +5 -0
  436. package/dist/esm/utils/sleep.js.map +1 -1
  437. package/dist/esm/utils/units.d.ts +8 -1
  438. package/dist/esm/utils/units.d.ts.map +1 -1
  439. package/dist/esm/utils/units.js +8 -1
  440. package/dist/esm/utils/units.js.map +1 -1
  441. package/dist/esm/utils/validation.d.ts +4 -1
  442. package/dist/esm/utils/validation.d.ts.map +1 -1
  443. package/dist/esm/utils/validation.js +4 -1
  444. package/dist/esm/utils/validation.js.map +1 -1
  445. package/dist/esm/version.d.ts +1 -1
  446. package/dist/esm/version.d.ts.map +1 -1
  447. package/dist/esm/version.js +1 -1
  448. package/dist/esm/version.js.map +1 -1
  449. package/dist/esm/websocket/PerpsWsClient.d.ts +100 -0
  450. package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -0
  451. package/dist/esm/websocket/PerpsWsClient.js +121 -0
  452. package/dist/esm/websocket/PerpsWsClient.js.map +1 -0
  453. package/dist/esm/websocket/ReconnectingWebSocket.d.ts +130 -0
  454. package/dist/esm/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  455. package/dist/esm/websocket/ReconnectingWebSocket.js +288 -0
  456. package/dist/esm/websocket/ReconnectingWebSocket.js.map +1 -0
  457. package/dist/esm/websocket/WsProviderBase.d.ts +89 -0
  458. package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -0
  459. package/dist/esm/websocket/WsProviderBase.js +246 -0
  460. package/dist/esm/websocket/WsProviderBase.js.map +1 -0
  461. package/dist/esm/websocket/cachePromise.d.ts +14 -0
  462. package/dist/esm/websocket/cachePromise.d.ts.map +1 -0
  463. package/dist/esm/websocket/cachePromise.js +27 -0
  464. package/dist/esm/websocket/cachePromise.js.map +1 -0
  465. package/dist/esm/websocket/types.d.ts +60 -0
  466. package/dist/esm/websocket/types.d.ts.map +1 -0
  467. package/dist/esm/{realtime → websocket}/types.js.map +1 -1
  468. package/dist/esm/websocket/wsLog.d.ts +50 -0
  469. package/dist/esm/websocket/wsLog.d.ts.map +1 -0
  470. package/dist/esm/websocket/wsLog.js +68 -0
  471. package/dist/esm/websocket/wsLog.js.map +1 -0
  472. package/dist/types/client/PerpsClient.d.ts +200 -195
  473. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  474. package/dist/types/client/bindProvider.d.ts +13 -0
  475. package/dist/types/client/bindProvider.d.ts.map +1 -0
  476. package/dist/types/client/createPerpsClient.d.ts +34 -53
  477. package/dist/types/client/createPerpsClient.d.ts.map +1 -1
  478. package/dist/types/client/requireProvider.d.ts +12 -0
  479. package/dist/types/client/requireProvider.d.ts.map +1 -0
  480. package/dist/types/errors/PerpsError.d.ts +8 -0
  481. package/dist/types/errors/PerpsError.d.ts.map +1 -1
  482. package/dist/types/errors/constants.d.ts +8 -2
  483. package/dist/types/errors/constants.d.ts.map +1 -1
  484. package/dist/types/index.d.ts +49 -23
  485. package/dist/types/index.d.ts.map +1 -1
  486. package/dist/types/registry/assetRegistry.d.ts +25 -0
  487. package/dist/types/registry/assetRegistry.d.ts.map +1 -0
  488. package/dist/types/registry/marketRegistry.d.ts +42 -0
  489. package/dist/types/registry/marketRegistry.d.ts.map +1 -0
  490. package/dist/types/registry/referenceDataRegistry.d.ts +44 -0
  491. package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -0
  492. package/dist/types/services/createAction.d.ts +17 -2
  493. package/dist/types/services/createAction.d.ts.map +1 -1
  494. package/dist/types/services/executeAction.d.ts +17 -2
  495. package/dist/types/services/executeAction.d.ts.map +1 -1
  496. package/dist/types/services/getAccount.d.ts +19 -16
  497. package/dist/types/services/getAccount.d.ts.map +1 -1
  498. package/dist/types/services/getActivity.d.ts +15 -25
  499. package/dist/types/services/getActivity.d.ts.map +1 -1
  500. package/dist/types/services/getAssets.d.ts +14 -5
  501. package/dist/types/services/getAssets.d.ts.map +1 -1
  502. package/dist/types/services/getFills.d.ts +18 -29
  503. package/dist/types/services/getFills.d.ts.map +1 -1
  504. package/dist/types/services/getMarket.d.ts +34 -0
  505. package/dist/types/services/getMarket.d.ts.map +1 -0
  506. package/dist/types/services/getMarkets.d.ts +28 -0
  507. package/dist/types/services/getMarkets.d.ts.map +1 -0
  508. package/dist/types/services/getMeta.d.ts +19 -0
  509. package/dist/types/services/getMeta.d.ts.map +1 -0
  510. package/dist/types/services/getOhlcv.d.ts +15 -19
  511. package/dist/types/services/getOhlcv.d.ts.map +1 -1
  512. package/dist/types/services/getOrder.d.ts +16 -16
  513. package/dist/types/services/getOrder.d.ts.map +1 -1
  514. package/dist/types/services/getOrderbook.d.ts +13 -23
  515. package/dist/types/services/getOrderbook.d.ts.map +1 -1
  516. package/dist/types/services/getOrders.d.ts +17 -9
  517. package/dist/types/services/getOrders.d.ts.map +1 -1
  518. package/dist/types/services/getPositions.d.ts +17 -9
  519. package/dist/types/services/getPositions.d.ts.map +1 -1
  520. package/dist/types/services/getPrices.d.ts +12 -24
  521. package/dist/types/services/getPrices.d.ts.map +1 -1
  522. package/dist/types/services/getProviders.d.ts +3 -3
  523. package/dist/types/services/getProviders.d.ts.map +1 -1
  524. package/dist/types/services/getQuote.d.ts +42 -0
  525. package/dist/types/services/getQuote.d.ts.map +1 -0
  526. package/dist/types/services/getTermsAcceptance.d.ts +24 -0
  527. package/dist/types/services/getTermsAcceptance.d.ts.map +1 -0
  528. package/dist/types/services/resolveQuote.d.ts +36 -0
  529. package/dist/types/services/resolveQuote.d.ts.map +1 -0
  530. package/dist/types/services/resolveSubscribeQuote.d.ts +31 -0
  531. package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -0
  532. package/dist/types/storage/parseStoredRecord.d.ts +29 -0
  533. package/dist/types/storage/parseStoredRecord.d.ts.map +1 -0
  534. package/dist/{esm/agent → types/storage}/storage.d.ts +6 -3
  535. package/dist/types/storage/storage.d.ts.map +1 -0
  536. package/dist/types/storage/types.d.ts +14 -0
  537. package/dist/types/storage/types.d.ts.map +1 -0
  538. package/dist/types/transport/fetchWithRetry.d.ts +22 -0
  539. package/dist/types/transport/fetchWithRetry.d.ts.map +1 -0
  540. package/dist/types/transport/request.d.ts +25 -0
  541. package/dist/types/transport/request.d.ts.map +1 -0
  542. package/dist/types/transport/retryPolicy.d.ts +106 -0
  543. package/dist/types/transport/retryPolicy.d.ts.map +1 -0
  544. package/dist/types/types/api.d.ts +214 -0
  545. package/dist/types/types/api.d.ts.map +1 -0
  546. package/dist/types/types/config.d.ts +70 -0
  547. package/dist/types/types/config.d.ts.map +1 -0
  548. package/dist/types/types/provider.d.ts +330 -0
  549. package/dist/types/types/provider.d.ts.map +1 -0
  550. package/dist/types/utils/accountSummary.d.ts +12 -12
  551. package/dist/types/utils/accountSummary.d.ts.map +1 -1
  552. package/dist/types/utils/assertNever.d.ts +1 -0
  553. package/dist/types/utils/assertNever.d.ts.map +1 -1
  554. package/dist/types/utils/calculations.d.ts +116 -0
  555. package/dist/types/utils/calculations.d.ts.map +1 -1
  556. package/dist/types/utils/depositChain.d.ts +25 -0
  557. package/dist/types/utils/depositChain.d.ts.map +1 -0
  558. package/dist/types/utils/explorer.d.ts +33 -0
  559. package/dist/types/utils/explorer.d.ts.map +1 -0
  560. package/dist/types/utils/fillClassification.d.ts +13 -0
  561. package/dist/types/utils/fillClassification.d.ts.map +1 -0
  562. package/dist/types/utils/format.d.ts +66 -0
  563. package/dist/types/utils/format.d.ts.map +1 -0
  564. package/dist/types/utils/orderClassification.d.ts +19 -1
  565. package/dist/types/utils/orderClassification.d.ts.map +1 -1
  566. package/dist/types/utils/orderMath.d.ts +8 -4
  567. package/dist/types/utils/orderMath.d.ts.map +1 -1
  568. package/dist/types/utils/parse.d.ts +8 -5
  569. package/dist/types/utils/parse.d.ts.map +1 -1
  570. package/dist/types/utils/positionMath.d.ts +29 -0
  571. package/dist/types/utils/positionMath.d.ts.map +1 -1
  572. package/dist/types/utils/signTypedData.d.ts +9 -4
  573. package/dist/types/utils/signTypedData.d.ts.map +1 -1
  574. package/dist/types/utils/sleep.d.ts +5 -0
  575. package/dist/types/utils/sleep.d.ts.map +1 -1
  576. package/dist/types/utils/units.d.ts +8 -1
  577. package/dist/types/utils/units.d.ts.map +1 -1
  578. package/dist/types/utils/validation.d.ts +4 -1
  579. package/dist/types/utils/validation.d.ts.map +1 -1
  580. package/dist/types/version.d.ts +1 -1
  581. package/dist/types/version.d.ts.map +1 -1
  582. package/dist/types/websocket/PerpsWsClient.d.ts +100 -0
  583. package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -0
  584. package/dist/types/websocket/ReconnectingWebSocket.d.ts +130 -0
  585. package/dist/types/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  586. package/dist/types/websocket/WsProviderBase.d.ts +89 -0
  587. package/dist/types/websocket/WsProviderBase.d.ts.map +1 -0
  588. package/dist/types/websocket/cachePromise.d.ts +14 -0
  589. package/dist/types/websocket/cachePromise.d.ts.map +1 -0
  590. package/dist/types/websocket/types.d.ts +60 -0
  591. package/dist/types/websocket/types.d.ts.map +1 -0
  592. package/dist/types/websocket/wsLog.d.ts +50 -0
  593. package/dist/types/websocket/wsLog.d.ts.map +1 -0
  594. package/package.json +13 -60
  595. package/src/client/PerpsClient.ts +404 -1115
  596. package/src/client/bindProvider.ts +24 -0
  597. package/src/client/createPerpsClient.ts +68 -72
  598. package/src/client/requireProvider.ts +29 -0
  599. package/src/errors/PerpsError.ts +8 -0
  600. package/src/errors/constants.ts +8 -2
  601. package/src/index.ts +138 -82
  602. package/src/registry/assetRegistry.ts +62 -0
  603. package/src/registry/marketRegistry.ts +100 -0
  604. package/src/registry/referenceDataRegistry.ts +95 -0
  605. package/src/services/createAction.ts +17 -6
  606. package/src/services/executeAction.ts +21 -6
  607. package/src/services/getAccount.ts +24 -25
  608. package/src/services/getActivity.ts +27 -47
  609. package/src/services/getAssets.ts +15 -9
  610. package/src/services/getFills.ts +29 -42
  611. package/src/services/getMarket.ts +52 -0
  612. package/src/services/getMarkets.ts +40 -0
  613. package/src/services/getMeta.ts +30 -0
  614. package/src/services/getOhlcv.ts +24 -33
  615. package/src/services/getOrder.ts +20 -27
  616. package/src/services/getOrderbook.ts +19 -34
  617. package/src/services/getOrders.ts +27 -21
  618. package/src/services/getPositions.ts +27 -21
  619. package/src/services/getPrices.ts +14 -29
  620. package/src/services/getProviders.ts +4 -7
  621. package/src/services/getQuote.ts +58 -0
  622. package/src/services/getTermsAcceptance.ts +32 -0
  623. package/src/services/resolveQuote.ts +122 -0
  624. package/src/services/resolveSubscribeQuote.ts +109 -0
  625. package/src/storage/parseStoredRecord.ts +55 -0
  626. package/src/{agent → storage}/storage.ts +6 -4
  627. package/src/storage/types.ts +13 -0
  628. package/src/transport/fetchWithRetry.ts +116 -0
  629. package/src/{utils → transport}/request.ts +33 -45
  630. package/src/transport/retryPolicy.ts +202 -0
  631. package/src/types/api.ts +239 -0
  632. package/src/types/config.ts +79 -0
  633. package/src/types/provider.ts +429 -0
  634. package/src/utils/accountSummary.ts +25 -109
  635. package/src/utils/assertNever.ts +1 -0
  636. package/src/utils/calculations.ts +204 -7
  637. package/src/utils/depositChain.ts +37 -0
  638. package/src/utils/explorer.ts +51 -0
  639. package/src/utils/fillClassification.ts +51 -0
  640. package/src/utils/format.ts +212 -0
  641. package/src/utils/orderClassification.ts +33 -1
  642. package/src/utils/orderMath.ts +9 -5
  643. package/src/utils/parse.ts +8 -7
  644. package/src/utils/positionMath.ts +42 -0
  645. package/src/utils/signTypedData.ts +11 -5
  646. package/src/utils/sleep.ts +5 -0
  647. package/src/utils/units.ts +8 -1
  648. package/src/utils/validation.ts +4 -1
  649. package/src/version.ts +1 -1
  650. package/src/websocket/PerpsWsClient.ts +204 -0
  651. package/src/websocket/ReconnectingWebSocket.ts +353 -0
  652. package/src/websocket/WsProviderBase.ts +333 -0
  653. package/src/websocket/cachePromise.ts +30 -0
  654. package/src/websocket/types.ts +75 -0
  655. package/src/websocket/wsLog.ts +82 -0
  656. package/dist/cjs/agent/AgentManager.d.ts +0 -15
  657. package/dist/cjs/agent/AgentManager.d.ts.map +0 -1
  658. package/dist/cjs/agent/AgentManager.js +0 -82
  659. package/dist/cjs/agent/AgentManager.js.map +0 -1
  660. package/dist/cjs/agent/storage.d.ts.map +0 -1
  661. package/dist/cjs/agent/storage.js.map +0 -1
  662. package/dist/cjs/agent/types.d.ts.map +0 -1
  663. package/dist/cjs/client/projectAccountConfigSettings.d.ts +0 -3
  664. package/dist/cjs/client/projectAccountConfigSettings.d.ts.map +0 -1
  665. package/dist/cjs/client/projectAccountConfigSettings.js +0 -17
  666. package/dist/cjs/client/projectAccountConfigSettings.js.map +0 -1
  667. package/dist/cjs/client/types.d.ts +0 -85
  668. package/dist/cjs/client/types.d.ts.map +0 -1
  669. package/dist/cjs/client/types.js +0 -9
  670. package/dist/cjs/client/types.js.map +0 -1
  671. package/dist/cjs/providers/hyperliquid/accountConfig.d.ts +0 -3
  672. package/dist/cjs/providers/hyperliquid/accountConfig.d.ts.map +0 -1
  673. package/dist/cjs/providers/hyperliquid/accountConfig.js +0 -41
  674. package/dist/cjs/providers/hyperliquid/accountConfig.js.map +0 -1
  675. package/dist/cjs/providers/lighter/accountConfig.d.ts +0 -3
  676. package/dist/cjs/providers/lighter/accountConfig.d.ts.map +0 -1
  677. package/dist/cjs/providers/lighter/accountConfig.js +0 -45
  678. package/dist/cjs/providers/lighter/accountConfig.js.map +0 -1
  679. package/dist/cjs/realtime/PerpsWsClient.d.ts +0 -20
  680. package/dist/cjs/realtime/PerpsWsClient.d.ts.map +0 -1
  681. package/dist/cjs/realtime/PerpsWsClient.js +0 -69
  682. package/dist/cjs/realtime/PerpsWsClient.js.map +0 -1
  683. package/dist/cjs/realtime/ReconnectingWebSocket.d.ts +0 -36
  684. package/dist/cjs/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  685. package/dist/cjs/realtime/ReconnectingWebSocket.js +0 -132
  686. package/dist/cjs/realtime/ReconnectingWebSocket.js.map +0 -1
  687. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -30
  688. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  689. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js +0 -331
  690. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
  691. package/dist/cjs/realtime/hyperliquid/types.d.ts +0 -37
  692. package/dist/cjs/realtime/hyperliquid/types.d.ts.map +0 -1
  693. package/dist/cjs/realtime/hyperliquid/types.js.map +0 -1
  694. package/dist/cjs/realtime/lighter/LighterWsProvider.d.ts +0 -48
  695. package/dist/cjs/realtime/lighter/LighterWsProvider.d.ts.map +0 -1
  696. package/dist/cjs/realtime/lighter/LighterWsProvider.js +0 -424
  697. package/dist/cjs/realtime/lighter/LighterWsProvider.js.map +0 -1
  698. package/dist/cjs/realtime/lighter/types.d.ts +0 -84
  699. package/dist/cjs/realtime/lighter/types.d.ts.map +0 -1
  700. package/dist/cjs/realtime/lighter/types.js.map +0 -1
  701. package/dist/cjs/realtime/types.d.ts +0 -10
  702. package/dist/cjs/realtime/types.d.ts.map +0 -1
  703. package/dist/cjs/services/getAsset.d.ts +0 -8
  704. package/dist/cjs/services/getAsset.d.ts.map +0 -1
  705. package/dist/cjs/services/getAsset.js.map +0 -1
  706. package/dist/cjs/signers/lighter/LighterKeyStore.d.ts +0 -20
  707. package/dist/cjs/signers/lighter/LighterKeyStore.d.ts.map +0 -1
  708. package/dist/cjs/signers/lighter/LighterKeyStore.js +0 -42
  709. package/dist/cjs/signers/lighter/LighterKeyStore.js.map +0 -1
  710. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.d.ts +0 -66
  711. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +0 -1
  712. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.js +0 -141
  713. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.js.map +0 -1
  714. package/dist/cjs/signers/lighter/LighterSigner.d.ts +0 -41
  715. package/dist/cjs/signers/lighter/LighterSigner.d.ts.map +0 -1
  716. package/dist/cjs/signers/lighter/LighterSigner.js +0 -176
  717. package/dist/cjs/signers/lighter/LighterSigner.js.map +0 -1
  718. package/dist/cjs/signers/lighter/index.d.ts +0 -9
  719. package/dist/cjs/signers/lighter/index.d.ts.map +0 -1
  720. package/dist/cjs/signers/lighter/index.js +0 -20
  721. package/dist/cjs/signers/lighter/index.js.map +0 -1
  722. package/dist/cjs/signers/lighter/wasmLoader.d.ts +0 -42
  723. package/dist/cjs/signers/lighter/wasmLoader.d.ts.map +0 -1
  724. package/dist/cjs/signers/lighter/wasmLoader.js +0 -166
  725. package/dist/cjs/signers/lighter/wasmLoader.js.map +0 -1
  726. package/dist/cjs/utils/hyperliquid/index.d.ts +0 -3
  727. package/dist/cjs/utils/hyperliquid/index.d.ts.map +0 -1
  728. package/dist/cjs/utils/hyperliquid/index.js +0 -11
  729. package/dist/cjs/utils/hyperliquid/index.js.map +0 -1
  730. package/dist/cjs/utils/hyperliquid/liquidation.d.ts +0 -3
  731. package/dist/cjs/utils/hyperliquid/liquidation.d.ts.map +0 -1
  732. package/dist/cjs/utils/hyperliquid/liquidation.js +0 -24
  733. package/dist/cjs/utils/hyperliquid/liquidation.js.map +0 -1
  734. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts +0 -4
  735. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts.map +0 -1
  736. package/dist/cjs/utils/hyperliquid/orderFormatting.js +0 -33
  737. package/dist/cjs/utils/hyperliquid/orderFormatting.js.map +0 -1
  738. package/dist/cjs/utils/request.d.ts.map +0 -1
  739. package/dist/cjs/utils/request.js.map +0 -1
  740. package/dist/cjs/wasm/lighter-signer.wasm +0 -0
  741. package/dist/cjs/wasm/wasm_exec.js +0 -575
  742. package/dist/esm/agent/AgentManager.d.ts +0 -45
  743. package/dist/esm/agent/AgentManager.d.ts.map +0 -1
  744. package/dist/esm/agent/AgentManager.js +0 -112
  745. package/dist/esm/agent/AgentManager.js.map +0 -1
  746. package/dist/esm/agent/storage.d.ts.map +0 -1
  747. package/dist/esm/agent/storage.js.map +0 -1
  748. package/dist/esm/agent/types.d.ts +0 -23
  749. package/dist/esm/agent/types.d.ts.map +0 -1
  750. package/dist/esm/client/projectAccountConfigSettings.d.ts +0 -18
  751. package/dist/esm/client/projectAccountConfigSettings.d.ts.map +0 -1
  752. package/dist/esm/client/projectAccountConfigSettings.js +0 -29
  753. package/dist/esm/client/projectAccountConfigSettings.js.map +0 -1
  754. package/dist/esm/client/types.d.ts +0 -200
  755. package/dist/esm/client/types.d.ts.map +0 -1
  756. package/dist/esm/client/types.js +0 -12
  757. package/dist/esm/client/types.js.map +0 -1
  758. package/dist/esm/providers/hyperliquid/accountConfig.d.ts +0 -13
  759. package/dist/esm/providers/hyperliquid/accountConfig.d.ts.map +0 -1
  760. package/dist/esm/providers/hyperliquid/accountConfig.js +0 -69
  761. package/dist/esm/providers/hyperliquid/accountConfig.js.map +0 -1
  762. package/dist/esm/providers/lighter/accountConfig.d.ts +0 -13
  763. package/dist/esm/providers/lighter/accountConfig.d.ts.map +0 -1
  764. package/dist/esm/providers/lighter/accountConfig.js +0 -79
  765. package/dist/esm/providers/lighter/accountConfig.js.map +0 -1
  766. package/dist/esm/realtime/PerpsWsClient.d.ts +0 -26
  767. package/dist/esm/realtime/PerpsWsClient.d.ts.map +0 -1
  768. package/dist/esm/realtime/PerpsWsClient.js +0 -65
  769. package/dist/esm/realtime/PerpsWsClient.js.map +0 -1
  770. package/dist/esm/realtime/ReconnectingWebSocket.d.ts +0 -36
  771. package/dist/esm/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  772. package/dist/esm/realtime/ReconnectingWebSocket.js +0 -128
  773. package/dist/esm/realtime/ReconnectingWebSocket.js.map +0 -1
  774. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -32
  775. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  776. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js +0 -339
  777. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
  778. package/dist/esm/realtime/hyperliquid/types.d.ts +0 -37
  779. package/dist/esm/realtime/hyperliquid/types.d.ts.map +0 -1
  780. package/dist/esm/realtime/hyperliquid/types.js +0 -4
  781. package/dist/esm/realtime/hyperliquid/types.js.map +0 -1
  782. package/dist/esm/realtime/lighter/LighterWsProvider.d.ts +0 -68
  783. package/dist/esm/realtime/lighter/LighterWsProvider.d.ts.map +0 -1
  784. package/dist/esm/realtime/lighter/LighterWsProvider.js +0 -474
  785. package/dist/esm/realtime/lighter/LighterWsProvider.js.map +0 -1
  786. package/dist/esm/realtime/lighter/types.d.ts +0 -108
  787. package/dist/esm/realtime/lighter/types.d.ts.map +0 -1
  788. package/dist/esm/realtime/lighter/types.js +0 -14
  789. package/dist/esm/realtime/lighter/types.js.map +0 -1
  790. package/dist/esm/realtime/types.d.ts +0 -10
  791. package/dist/esm/realtime/types.d.ts.map +0 -1
  792. package/dist/esm/services/getAsset.d.ts +0 -20
  793. package/dist/esm/services/getAsset.d.ts.map +0 -1
  794. package/dist/esm/services/getAsset.js +0 -18
  795. package/dist/esm/services/getAsset.js.map +0 -1
  796. package/dist/esm/signers/lighter/LighterKeyStore.d.ts +0 -29
  797. package/dist/esm/signers/lighter/LighterKeyStore.d.ts.map +0 -1
  798. package/dist/esm/signers/lighter/LighterKeyStore.js +0 -53
  799. package/dist/esm/signers/lighter/LighterKeyStore.js.map +0 -1
  800. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.d.ts +0 -174
  801. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +0 -1
  802. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.js +0 -214
  803. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.js.map +0 -1
  804. package/dist/esm/signers/lighter/LighterSigner.d.ts +0 -88
  805. package/dist/esm/signers/lighter/LighterSigner.d.ts.map +0 -1
  806. package/dist/esm/signers/lighter/LighterSigner.js +0 -226
  807. package/dist/esm/signers/lighter/LighterSigner.js.map +0 -1
  808. package/dist/esm/signers/lighter/index.d.ts +0 -9
  809. package/dist/esm/signers/lighter/index.d.ts.map +0 -1
  810. package/dist/esm/signers/lighter/index.js +0 -5
  811. package/dist/esm/signers/lighter/index.js.map +0 -1
  812. package/dist/esm/signers/lighter/wasmLoader.d.ts +0 -71
  813. package/dist/esm/signers/lighter/wasmLoader.d.ts.map +0 -1
  814. package/dist/esm/signers/lighter/wasmLoader.js +0 -181
  815. package/dist/esm/signers/lighter/wasmLoader.js.map +0 -1
  816. package/dist/esm/utils/hyperliquid/index.d.ts +0 -3
  817. package/dist/esm/utils/hyperliquid/index.d.ts.map +0 -1
  818. package/dist/esm/utils/hyperliquid/index.js +0 -3
  819. package/dist/esm/utils/hyperliquid/index.js.map +0 -1
  820. package/dist/esm/utils/hyperliquid/liquidation.d.ts +0 -46
  821. package/dist/esm/utils/hyperliquid/liquidation.d.ts.map +0 -1
  822. package/dist/esm/utils/hyperliquid/liquidation.js +0 -63
  823. package/dist/esm/utils/hyperliquid/liquidation.js.map +0 -1
  824. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts +0 -44
  825. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts.map +0 -1
  826. package/dist/esm/utils/hyperliquid/orderFormatting.js +0 -79
  827. package/dist/esm/utils/hyperliquid/orderFormatting.js.map +0 -1
  828. package/dist/esm/utils/request.d.ts +0 -25
  829. package/dist/esm/utils/request.d.ts.map +0 -1
  830. package/dist/esm/utils/request.js.map +0 -1
  831. package/dist/esm/wasm/lighter-signer.wasm +0 -0
  832. package/dist/esm/wasm/wasm_exec.js +0 -575
  833. package/dist/types/agent/AgentManager.d.ts +0 -45
  834. package/dist/types/agent/AgentManager.d.ts.map +0 -1
  835. package/dist/types/agent/storage.d.ts.map +0 -1
  836. package/dist/types/agent/types.d.ts +0 -23
  837. package/dist/types/agent/types.d.ts.map +0 -1
  838. package/dist/types/client/projectAccountConfigSettings.d.ts +0 -18
  839. package/dist/types/client/projectAccountConfigSettings.d.ts.map +0 -1
  840. package/dist/types/client/types.d.ts +0 -200
  841. package/dist/types/client/types.d.ts.map +0 -1
  842. package/dist/types/providers/hyperliquid/accountConfig.d.ts +0 -13
  843. package/dist/types/providers/hyperliquid/accountConfig.d.ts.map +0 -1
  844. package/dist/types/providers/lighter/accountConfig.d.ts +0 -13
  845. package/dist/types/providers/lighter/accountConfig.d.ts.map +0 -1
  846. package/dist/types/realtime/PerpsWsClient.d.ts +0 -26
  847. package/dist/types/realtime/PerpsWsClient.d.ts.map +0 -1
  848. package/dist/types/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  849. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -32
  850. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  851. package/dist/types/realtime/hyperliquid/types.d.ts +0 -37
  852. package/dist/types/realtime/hyperliquid/types.d.ts.map +0 -1
  853. package/dist/types/realtime/lighter/LighterWsProvider.d.ts +0 -68
  854. package/dist/types/realtime/lighter/LighterWsProvider.d.ts.map +0 -1
  855. package/dist/types/realtime/lighter/types.d.ts +0 -108
  856. package/dist/types/realtime/lighter/types.d.ts.map +0 -1
  857. package/dist/types/realtime/types.d.ts +0 -10
  858. package/dist/types/realtime/types.d.ts.map +0 -1
  859. package/dist/types/services/getAsset.d.ts +0 -20
  860. package/dist/types/services/getAsset.d.ts.map +0 -1
  861. package/dist/types/signers/lighter/LighterKeyStore.d.ts +0 -29
  862. package/dist/types/signers/lighter/LighterKeyStore.d.ts.map +0 -1
  863. package/dist/types/signers/lighter/LighterReadOnlyTokenManager.d.ts +0 -174
  864. package/dist/types/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +0 -1
  865. package/dist/types/signers/lighter/LighterSigner.d.ts +0 -88
  866. package/dist/types/signers/lighter/LighterSigner.d.ts.map +0 -1
  867. package/dist/types/signers/lighter/index.d.ts +0 -9
  868. package/dist/types/signers/lighter/index.d.ts.map +0 -1
  869. package/dist/types/signers/lighter/wasmLoader.d.ts +0 -71
  870. package/dist/types/signers/lighter/wasmLoader.d.ts.map +0 -1
  871. package/dist/types/utils/hyperliquid/index.d.ts +0 -3
  872. package/dist/types/utils/hyperliquid/index.d.ts.map +0 -1
  873. package/dist/types/utils/hyperliquid/liquidation.d.ts +0 -46
  874. package/dist/types/utils/hyperliquid/liquidation.d.ts.map +0 -1
  875. package/dist/types/utils/hyperliquid/orderFormatting.d.ts +0 -44
  876. package/dist/types/utils/hyperliquid/orderFormatting.d.ts.map +0 -1
  877. package/dist/types/utils/request.d.ts +0 -25
  878. package/dist/types/utils/request.d.ts.map +0 -1
  879. package/src/agent/AgentManager.ts +0 -137
  880. package/src/agent/types.ts +0 -24
  881. package/src/client/projectAccountConfigSettings.ts +0 -39
  882. package/src/client/types.ts +0 -240
  883. package/src/providers/hyperliquid/accountConfig.ts +0 -92
  884. package/src/providers/lighter/accountConfig.ts +0 -103
  885. package/src/realtime/PerpsWsClient.ts +0 -108
  886. package/src/realtime/ReconnectingWebSocket.ts +0 -156
  887. package/src/realtime/hyperliquid/HyperliquidWsProvider.ts +0 -413
  888. package/src/realtime/hyperliquid/types.ts +0 -46
  889. package/src/realtime/lighter/LighterWsProvider.ts +0 -682
  890. package/src/realtime/lighter/types.ts +0 -121
  891. package/src/realtime/types.ts +0 -16
  892. package/src/services/getAsset.ts +0 -37
  893. package/src/signers/lighter/LighterKeyStore.ts +0 -74
  894. package/src/signers/lighter/LighterReadOnlyTokenManager.ts +0 -358
  895. package/src/signers/lighter/LighterSigner.ts +0 -396
  896. package/src/signers/lighter/index.ts +0 -36
  897. package/src/signers/lighter/wasmLoader.ts +0 -291
  898. package/src/utils/hyperliquid/index.ts +0 -9
  899. package/src/utils/hyperliquid/liquidation.ts +0 -71
  900. package/src/utils/hyperliquid/orderFormatting.ts +0 -96
  901. package/wasm/lighter-signer.wasm +0 -0
  902. package/wasm/wasm_exec.js +0 -575
  903. /package/dist/cjs/{agent → storage}/storage.d.ts +0 -0
  904. /package/dist/cjs/{agent → storage}/storage.js +0 -0
  905. /package/dist/cjs/{agent → storage}/types.js +0 -0
  906. /package/dist/cjs/{realtime/hyperliquid → websocket}/types.js +0 -0
  907. /package/dist/esm/{agent → storage}/types.js +0 -0
  908. /package/dist/esm/{realtime → websocket}/types.js +0 -0
@@ -1,9 +1,7 @@
1
- import { request } from '../utils/request.js';
1
+ import { request } from '../transport/request.js';
2
2
  /**
3
3
  * Get all available providers.
4
4
  *
5
- * @param client - The SDK client instance
6
- * @param options - Request options (e.g., AbortSignal)
7
5
  * @returns List of supported providers with their authorization requirements
8
6
  * @throws {PerpsError} On API error responses
9
7
  * @throws {PerpsError} On network or parsing errors
@@ -14,6 +12,7 @@ import { request } from '../utils/request.js';
14
12
  * const { providers } = await getProviders(client)
15
13
  * console.log(providers) // [{ key: 'hyperliquid', name: 'Hyperliquid', ... }]
16
14
  * ```
15
+ * @public
17
16
  */
18
17
  export async function getProviders(client, options) {
19
18
  return request(client.config, `${client.config.apiUrl}/providers`, {}, options);
@@ -1 +1 @@
1
- {"version":3,"file":"getProviders.js","sourceRoot":"","sources":["../../../src/services/getProviders.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,OAA2B;IAE3B,OAAO,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,YAAY,EACnC,EAAE,EACF,OAAO,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"getProviders.js","sourceRoot":"","sources":["../../../src/services/getProviders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAIjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,OAA2B;IAE3B,OAAO,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,YAAY,EACnC,EAAE,EACF,OAAO,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { Quote, QuoteSide, TradeType } from '@lifi/perps-types';
2
+ import type { SDKRequestOptions } from '../types/config.js';
3
+ import type { PerpsSDKClient } from '../types/provider.js';
4
+ /**
5
+ * Parameters for {@link getQuote}.
6
+ *
7
+ * @public
8
+ */
9
+ export interface GetQuoteParams {
10
+ provider: string;
11
+ /** Human `displaySymbol`, e.g. `"BTC"`. */
12
+ symbol: string;
13
+ side: QuoteSide;
14
+ /** USD notional to fill. */
15
+ size: number;
16
+ type: TradeType;
17
+ }
18
+ /**
19
+ * Get a one-shot fill quote for `size` USD notional of `symbol` on a single
20
+ * venue: VWAP expected fill, price impact (bps), base-tier taker fee, and
21
+ * funding (perps only). Delegates to the registered venue plugin, which
22
+ * resolves the symbol against its own markets (scoped by `type`) and walks its
23
+ * orderbook. Cross-venue comparison is a consumer-side loop over
24
+ * `client.providers`.
25
+ *
26
+ * @throws {PerpsError} When the provider plugin is not registered, no market
27
+ * matches the symbol+type, or on network / parsing errors.
28
+ * @example
29
+ * ```ts
30
+ * const quote = await getQuote(client, {
31
+ * provider: 'hyperliquid',
32
+ * symbol: 'BTC',
33
+ * side: 'buy',
34
+ * size: 10_000,
35
+ * type: 'perps',
36
+ * })
37
+ * console.log(quote.expectedFillPrice, quote.priceImpactBps)
38
+ * ```
39
+ * @public
40
+ */
41
+ export declare function getQuote(client: PerpsSDKClient, params: GetQuoteParams, options?: SDKRequestOptions): Promise<Quote>;
42
+ //# sourceMappingURL=getQuote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQuote.d.ts","sourceRoot":"","sources":["../../../src/services/getQuote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,SAAS,CAAA;IACf,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,KAAK,CAAC,CAUhB"}
@@ -0,0 +1,33 @@
1
+ import { requireProvider } from '../client/requireProvider.js';
2
+ /**
3
+ * Get a one-shot fill quote for `size` USD notional of `symbol` on a single
4
+ * venue: VWAP expected fill, price impact (bps), base-tier taker fee, and
5
+ * funding (perps only). Delegates to the registered venue plugin, which
6
+ * resolves the symbol against its own markets (scoped by `type`) and walks its
7
+ * orderbook. Cross-venue comparison is a consumer-side loop over
8
+ * `client.providers`.
9
+ *
10
+ * @throws {PerpsError} When the provider plugin is not registered, no market
11
+ * matches the symbol+type, or on network / parsing errors.
12
+ * @example
13
+ * ```ts
14
+ * const quote = await getQuote(client, {
15
+ * provider: 'hyperliquid',
16
+ * symbol: 'BTC',
17
+ * side: 'buy',
18
+ * size: 10_000,
19
+ * type: 'perps',
20
+ * })
21
+ * console.log(quote.expectedFillPrice, quote.priceImpactBps)
22
+ * ```
23
+ * @public
24
+ */
25
+ export async function getQuote(client, params, options) {
26
+ return requireProvider(client, params.provider).getQuote({
27
+ symbol: params.symbol,
28
+ side: params.side,
29
+ size: params.size,
30
+ type: params.type,
31
+ }, options);
32
+ }
33
+ //# sourceMappingURL=getQuote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../src/services/getQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAmB9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAsB,EACtB,MAAsB,EACtB,OAA2B;IAE3B,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CACtD;QACE,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,EACD,OAAO,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { TermsAcceptanceStatus } from '@lifi/perps-types';
2
+ import type { Address } from 'viem';
3
+ import type { SDKRequestOptions } from '../types/config.js';
4
+ import type { PerpsSDKClient } from '../types/provider.js';
5
+ /**
6
+ * Get the current Terms of Service (version + full content) and whether the
7
+ * given address has accepted them. Provider-independent — reads from the
8
+ * platform `meta` surface, not a venue plugin.
9
+ *
10
+ * @param address - Address whose acceptance status to resolve
11
+ * @throws {PerpsError} On backend error responses, network, or parsing errors.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const client = createPerpsClient({ integrator: 'my-app' })
16
+ * const terms = await getTermsAcceptance(client, '0x1234...')
17
+ * if (!terms.accepted) {
18
+ * // prompt the user to accept terms.content (version terms.termsVersion)
19
+ * }
20
+ * ```
21
+ * @public
22
+ */
23
+ export declare function getTermsAcceptance(client: PerpsSDKClient, address: Address, options?: SDKRequestOptions): Promise<TermsAcceptanceStatus>;
24
+ //# sourceMappingURL=getTermsAcceptance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTermsAcceptance.d.ts","sourceRoot":"","sources":["../../../src/services/getTermsAcceptance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAGhC"}
@@ -0,0 +1,24 @@
1
+ import { buildUrl, request } from '../transport/request.js';
2
+ /**
3
+ * Get the current Terms of Service (version + full content) and whether the
4
+ * given address has accepted them. Provider-independent — reads from the
5
+ * platform `meta` surface, not a venue plugin.
6
+ *
7
+ * @param address - Address whose acceptance status to resolve
8
+ * @throws {PerpsError} On backend error responses, network, or parsing errors.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const client = createPerpsClient({ integrator: 'my-app' })
13
+ * const terms = await getTermsAcceptance(client, '0x1234...')
14
+ * if (!terms.accepted) {
15
+ * // prompt the user to accept terms.content (version terms.termsVersion)
16
+ * }
17
+ * ```
18
+ * @public
19
+ */
20
+ export async function getTermsAcceptance(client, address, options) {
21
+ const url = buildUrl(`${client.config.apiUrl}/meta/terms`, { address });
22
+ return request(client.config, url, {}, options);
23
+ }
24
+ //# sourceMappingURL=getTermsAcceptance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTermsAcceptance.js","sourceRoot":"","sources":["../../../src/services/getTermsAcceptance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAI3D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,OAAgB,EAChB,OAA2B;IAE3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACvE,OAAO,OAAO,CAAwB,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACxE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { type FeeTier, type Market, type MarketPrice, type Quote } from '@lifi/perps-types';
2
+ import type { SDKRequestOptions } from '../types/config.js';
3
+ import type { PerpsSDKClient, ProviderGetQuoteParams } from '../types/provider.js';
4
+ /**
5
+ * Shared provider-side `getQuote` implementation: resolve `params.symbol` to a
6
+ * market on `provider` (matching `baseAsset.displaySymbol`, scoped by
7
+ * `params.type`), fetch the orderbook snapshot, and build the {@link Quote}
8
+ * with the provider's public base `feeTier`. Both venue plugins delegate here
9
+ * so symbol resolution and the book walk live in one place; each plugin only
10
+ * supplies its own base tier.
11
+ *
12
+ * @throws {PerpsError} `MarketNotFound` when no market matches symbol+type.
13
+ * @internal
14
+ */
15
+ export declare function resolveQuote(client: PerpsSDKClient, provider: string, params: ProviderGetQuoteParams, feeTier: FeeTier, options?: SDKRequestOptions): Promise<Quote>;
16
+ /**
17
+ * Resolve `params.symbol` to a market on `provider` (matching
18
+ * `baseAsset.displaySymbol`, scoped by `params.type`). Shared by the one-shot
19
+ * {@link resolveQuote} and the streaming quote subscription so both quote the
20
+ * same market for a given symbol+type.
21
+ *
22
+ * @throws {PerpsError} `MarketNotFound` when no market matches symbol+type.
23
+ * @internal
24
+ */
25
+ export declare function resolveQuoteMarket(client: PerpsSDKClient, provider: string, params: Pick<ProviderGetQuoteParams, 'symbol' | 'type'>, options?: SDKRequestOptions): Promise<Market>;
26
+ /**
27
+ * Fetch the live {@link MarketPrice} for `marketId` on `provider`, the source
28
+ * of the `markPrice` and `funding` a {@link Quote} carries. Shared by the
29
+ * one-shot {@link resolveQuote} and the streaming quote subscription.
30
+ *
31
+ * @throws {PerpsError} `ServerError` when the provider returns no price for the
32
+ * market.
33
+ * @internal
34
+ */
35
+ export declare function resolveQuotePrice(client: PerpsSDKClient, provider: string, marketId: string, options?: SDKRequestOptions): Promise<MarketPrice>;
36
+ //# sourceMappingURL=resolveQuote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveQuote.d.ts","sourceRoot":"","sources":["../../../src/services/resolveQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,WAAW,EAEhB,KAAK,KAAK,EACX,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACvB,MAAM,sBAAsB,CAAA;AAM7B;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,KAAK,CAAC,CAqBhB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,MAAM,CAAC,EACvD,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAOD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,WAAW,CAAC,CActB"}
@@ -0,0 +1,74 @@
1
+ import { PerpsErrorCode, } from '@lifi/perps-types';
2
+ import { PerpsError } from '../errors/PerpsError.js';
3
+ import { buildQuote } from '../utils/calculations.js';
4
+ import { getMarkets } from './getMarkets.js';
5
+ import { getOrderbook } from './getOrderbook.js';
6
+ import { getPrices } from './getPrices.js';
7
+ /**
8
+ * Shared provider-side `getQuote` implementation: resolve `params.symbol` to a
9
+ * market on `provider` (matching `baseAsset.displaySymbol`, scoped by
10
+ * `params.type`), fetch the orderbook snapshot, and build the {@link Quote}
11
+ * with the provider's public base `feeTier`. Both venue plugins delegate here
12
+ * so symbol resolution and the book walk live in one place; each plugin only
13
+ * supplies its own base tier.
14
+ *
15
+ * @throws {PerpsError} `MarketNotFound` when no market matches symbol+type.
16
+ * @internal
17
+ */
18
+ export async function resolveQuote(client, provider, params, feeTier, options) {
19
+ const market = await resolveQuoteMarket(client, provider, params, options);
20
+ const [{ bids, asks }, price] = await Promise.all([
21
+ getOrderbook(client, { provider, marketId: market.id }, options),
22
+ resolveQuotePrice(client, provider, market.id, options),
23
+ ]);
24
+ return buildQuote({
25
+ provider,
26
+ symbol: params.symbol,
27
+ type: params.type,
28
+ side: params.side,
29
+ sizeUsd: params.size,
30
+ market,
31
+ price,
32
+ bids,
33
+ asks,
34
+ feeTier,
35
+ timestamp: Date.now(),
36
+ });
37
+ }
38
+ /**
39
+ * Resolve `params.symbol` to a market on `provider` (matching
40
+ * `baseAsset.displaySymbol`, scoped by `params.type`). Shared by the one-shot
41
+ * {@link resolveQuote} and the streaming quote subscription so both quote the
42
+ * same market for a given symbol+type.
43
+ *
44
+ * @throws {PerpsError} `MarketNotFound` when no market matches symbol+type.
45
+ * @internal
46
+ */
47
+ export async function resolveQuoteMarket(client, provider, params, options) {
48
+ const { markets } = await getMarkets(client, { provider }, options);
49
+ const market = markets.find((m) => m.baseAsset.displaySymbol === params.symbol &&
50
+ isMarketOfType(m, params.type));
51
+ if (market === undefined) {
52
+ throw new PerpsError(PerpsErrorCode.MarketNotFound, `No ${params.type} market found on '${provider}' for symbol '${params.symbol}'.`);
53
+ }
54
+ return market;
55
+ }
56
+ const isMarketOfType = (market, type) => ('maxLeverage' in market ? type === 'perps' : type === 'spot');
57
+ /**
58
+ * Fetch the live {@link MarketPrice} for `marketId` on `provider`, the source
59
+ * of the `markPrice` and `funding` a {@link Quote} carries. Shared by the
60
+ * one-shot {@link resolveQuote} and the streaming quote subscription.
61
+ *
62
+ * @throws {PerpsError} `ServerError` when the provider returns no price for the
63
+ * market.
64
+ * @internal
65
+ */
66
+ export async function resolveQuotePrice(client, provider, marketId, options) {
67
+ const { prices } = await getPrices(client, { provider, marketIds: [marketId] }, options);
68
+ const price = prices.find((p) => p.marketId === marketId);
69
+ if (price === undefined) {
70
+ throw new PerpsError(PerpsErrorCode.ServerError, `No price returned by '${provider}' for marketId '${marketId}'.`);
71
+ }
72
+ return price;
73
+ }
74
+ //# sourceMappingURL=resolveQuote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveQuote.js","sourceRoot":"","sources":["../../../src/services/resolveQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,GAEf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAMpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,QAAgB,EAChB,MAA8B,EAC9B,OAAgB,EAChB,OAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAE1E,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC;QAChE,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;KACxD,CAAC,CAAA;IAEF,OAAO,UAAU,CAAC;QAChB,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,IAAI;QACpB,MAAM;QACN,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,QAAgB,EAChB,MAAuD,EACvD,OAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,SAAS,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM;QAC3C,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CACjC,CAAA;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,cAAc,EAC7B,MAAM,MAAM,CAAC,IAAI,qBAAqB,QAAQ,iBAAiB,MAAM,CAAC,MAAM,IAAI,CACjF,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,cAAc,GAAG,CACrB,MAAc,EACd,IAAoC,EAC3B,EAAE,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB,EACtB,QAAgB,EAChB,QAAgB,EAChB,OAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAChC,MAAM,EACN,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,EACnC,OAAO,CACR,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAA;IACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAClB,cAAc,CAAC,WAAW,EAC1B,yBAAyB,QAAQ,mBAAmB,QAAQ,IAAI,CACjE,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { FeeTier } from '@lifi/perps-types';
2
+ import type { PerpsSDKClient, ProviderGetQuoteParams, QuoteListener } from '../types/provider.js';
3
+ import type { WsProvider } from '../websocket/types.js';
4
+ /**
5
+ * Minimum gap between successive streamed {@link Quote} emissions — the same
6
+ * 100 ms pacing applied to streamed orderbook rendering, so a quote ticks no
7
+ * faster than the book it derives from.
8
+ *
9
+ * @public
10
+ */
11
+ export declare const QUOTE_THROTTLE_MS = 100;
12
+ /**
13
+ * Shared provider-side `subscribeQuote` implementation: resolve
14
+ * `params.symbol` to a market on `provider` (via {@link resolveQuoteMarket}),
15
+ * subscribe to that market's orderbook channel on `ws`, and on each book
16
+ * update rebuild the {@link Quote} with the provider's public base `feeTier` —
17
+ * the same transform the one-shot `resolveQuote` applies to a REST snapshot.
18
+ * Emissions are throttled to {@link QUOTE_THROTTLE_MS}: the first book update
19
+ * emits immediately, then at most one (trailing, latest-book) emission per
20
+ * interval. Both venue WS plugins delegate here; each only supplies its own
21
+ * base tier.
22
+ *
23
+ * The returned unsubscribe is idempotent — it releases the underlying
24
+ * orderbook listener once and cancels any pending trailing emission, so the
25
+ * wire subscription's ref count cannot be double-decremented.
26
+ *
27
+ * @throws {PerpsError} `MarketNotFound` when no market matches symbol+type.
28
+ * @internal
29
+ */
30
+ export declare function resolveSubscribeQuote(client: PerpsSDKClient, provider: string, ws: Pick<WsProvider, 'subscribe'>, params: ProviderGetQuoteParams, feeTier: FeeTier, onQuote: QuoteListener): Promise<() => void>;
31
+ //# sourceMappingURL=resolveSubscribeQuote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSubscribeQuote.d.ts","sourceRoot":"","sources":["../../../src/services/resolveSubscribeQuote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EACV,cAAc,EACd,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAA;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EACjC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC,CAgErB"}
@@ -0,0 +1,86 @@
1
+ import { buildQuote } from '../utils/calculations.js';
2
+ import { resolveQuoteMarket, resolveQuotePrice } from './resolveQuote.js';
3
+ /**
4
+ * Minimum gap between successive streamed {@link Quote} emissions — the same
5
+ * 100 ms pacing applied to streamed orderbook rendering, so a quote ticks no
6
+ * faster than the book it derives from.
7
+ *
8
+ * @public
9
+ */
10
+ export const QUOTE_THROTTLE_MS = 100;
11
+ /**
12
+ * Shared provider-side `subscribeQuote` implementation: resolve
13
+ * `params.symbol` to a market on `provider` (via {@link resolveQuoteMarket}),
14
+ * subscribe to that market's orderbook channel on `ws`, and on each book
15
+ * update rebuild the {@link Quote} with the provider's public base `feeTier` —
16
+ * the same transform the one-shot `resolveQuote` applies to a REST snapshot.
17
+ * Emissions are throttled to {@link QUOTE_THROTTLE_MS}: the first book update
18
+ * emits immediately, then at most one (trailing, latest-book) emission per
19
+ * interval. Both venue WS plugins delegate here; each only supplies its own
20
+ * base tier.
21
+ *
22
+ * The returned unsubscribe is idempotent — it releases the underlying
23
+ * orderbook listener once and cancels any pending trailing emission, so the
24
+ * wire subscription's ref count cannot be double-decremented.
25
+ *
26
+ * @throws {PerpsError} `MarketNotFound` when no market matches symbol+type.
27
+ * @internal
28
+ */
29
+ export async function resolveSubscribeQuote(client, provider, ws, params, feeTier, onQuote) {
30
+ const market = await resolveQuoteMarket(client, provider, params);
31
+ const price = await resolveQuotePrice(client, provider, market.id);
32
+ let latestBook;
33
+ let lastEmitAt = Number.NEGATIVE_INFINITY;
34
+ let trailing;
35
+ const emit = () => {
36
+ if (latestBook === undefined) {
37
+ return;
38
+ }
39
+ lastEmitAt = Date.now();
40
+ onQuote(buildQuote({
41
+ provider,
42
+ symbol: params.symbol,
43
+ type: params.type,
44
+ side: params.side,
45
+ sizeUsd: params.size,
46
+ market,
47
+ price,
48
+ bids: latestBook.bids,
49
+ asks: latestBook.asks,
50
+ feeTier,
51
+ timestamp: Date.now(),
52
+ }));
53
+ };
54
+ const unsubscribe = await ws.subscribe({ channel: 'orderbook', dex: provider, marketId: market.id }, (event) => {
55
+ if (event.channel !== 'orderbook') {
56
+ return;
57
+ }
58
+ latestBook = event.data;
59
+ if (trailing !== undefined) {
60
+ return;
61
+ }
62
+ const wait = QUOTE_THROTTLE_MS - (Date.now() - lastEmitAt);
63
+ if (wait <= 0) {
64
+ emit();
65
+ }
66
+ else {
67
+ trailing = setTimeout(() => {
68
+ trailing = undefined;
69
+ emit();
70
+ }, wait);
71
+ }
72
+ });
73
+ let released = false;
74
+ return () => {
75
+ if (released) {
76
+ return;
77
+ }
78
+ released = true;
79
+ if (trailing !== undefined) {
80
+ clearTimeout(trailing);
81
+ trailing = undefined;
82
+ }
83
+ unsubscribe();
84
+ };
85
+ }
86
+ //# sourceMappingURL=resolveSubscribeQuote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSubscribeQuote.js","sourceRoot":"","sources":["../../../src/services/resolveSubscribeQuote.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAsB,EACtB,QAAgB,EAChB,EAAiC,EACjC,MAA8B,EAC9B,OAAgB,EAChB,OAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IACjE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;IAElE,IAAI,UAAyC,CAAA;IAC7C,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAA;IACzC,IAAI,QAAmD,CAAA;IAEvD,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,OAAO,CACL,UAAU,CAAC;YACT,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,IAAI;YACpB,MAAM;YACN,KAAK;YACL,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CACH,CAAA;IACH,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,SAAS,CACpC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAC5D,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAClC,OAAM;QACR,CAAC;QACD,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,iBAAiB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAA;QAC1D,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YACd,IAAI,EAAE,CAAA;QACR,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzB,QAAQ,GAAG,SAAS,CAAA;gBACpB,IAAI,EAAE,CAAA;YACR,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;IACH,CAAC,CACF,CAAA;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QACD,QAAQ,GAAG,IAAI,CAAA;QACf,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,CAAC,CAAA;YACtB,QAAQ,GAAG,SAAS,CAAA;QACtB,CAAC;QACD,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { StorageAdapter } from './types.js';
2
+ /**
3
+ * Parse a persisted (browser-writable) JSON record and validate it against a
4
+ * caller-supplied shape guard. localStorage is user-writable, so a stored value
5
+ * may be truncated, hand-edited, or written by an older schema; `JSON.parse(...)
6
+ * as T` would type-check such a record yet carry missing/invalid fields that
7
+ * fail far from here.
8
+ *
9
+ * Returns the parsed value when `isValid` accepts it; returns `null` when the
10
+ * record is absent, unparseable, or fails validation (i.e. poisoned). A `null`
11
+ * result is the "malformed-or-absent" signal — callers decide whether that
12
+ * means "regenerate deliberately" or "surface an error", but they never get a
13
+ * structurally-invalid `T`.
14
+ *
15
+ * @param raw Stored string, or `null` when the key is absent.
16
+ * @param isValid Shape guard run against the parsed value.
17
+ */
18
+ export declare function parseStoredRecord<T>(raw: string | null, isValid: (value: unknown) => value is T): T | null;
19
+ /**
20
+ * Read and validate a persisted record in one step, evicting the key when the
21
+ * stored value is present but poisoned (unparseable or failing `isValid`) so a
22
+ * later read does not keep tripping over the same corrupt entry.
23
+ *
24
+ * Returns `null` for both the genuine-absence and the evicted-poison cases;
25
+ * callers that must distinguish them should compare against the pre-read
26
+ * presence of the key themselves.
27
+ */
28
+ export declare function readValidatedRecord<T>(storage: StorageAdapter, key: string, isValid: (value: unknown) => value is T): Promise<T | null>;
29
+ //# sourceMappingURL=parseStoredRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseStoredRecord.d.ts","sourceRoot":"","sources":["../../../src/storage/parseStoredRecord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,GACtC,CAAC,GAAG,IAAI,CAWV;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,GACtC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAOnB"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Parse a persisted (browser-writable) JSON record and validate it against a
3
+ * caller-supplied shape guard. localStorage is user-writable, so a stored value
4
+ * may be truncated, hand-edited, or written by an older schema; `JSON.parse(...)
5
+ * as T` would type-check such a record yet carry missing/invalid fields that
6
+ * fail far from here.
7
+ *
8
+ * Returns the parsed value when `isValid` accepts it; returns `null` when the
9
+ * record is absent, unparseable, or fails validation (i.e. poisoned). A `null`
10
+ * result is the "malformed-or-absent" signal — callers decide whether that
11
+ * means "regenerate deliberately" or "surface an error", but they never get a
12
+ * structurally-invalid `T`.
13
+ *
14
+ * @param raw Stored string, or `null` when the key is absent.
15
+ * @param isValid Shape guard run against the parsed value.
16
+ */
17
+ export function parseStoredRecord(raw, isValid) {
18
+ if (raw === null) {
19
+ return null;
20
+ }
21
+ let parsed;
22
+ try {
23
+ parsed = JSON.parse(raw);
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ return isValid(parsed) ? parsed : null;
29
+ }
30
+ /**
31
+ * Read and validate a persisted record in one step, evicting the key when the
32
+ * stored value is present but poisoned (unparseable or failing `isValid`) so a
33
+ * later read does not keep tripping over the same corrupt entry.
34
+ *
35
+ * Returns `null` for both the genuine-absence and the evicted-poison cases;
36
+ * callers that must distinguish them should compare against the pre-read
37
+ * presence of the key themselves.
38
+ */
39
+ export async function readValidatedRecord(storage, key, isValid) {
40
+ const raw = await storage.get(key);
41
+ const parsed = parseStoredRecord(raw, isValid);
42
+ if (parsed === null && raw !== null) {
43
+ await storage.remove(key);
44
+ }
45
+ return parsed;
46
+ }
47
+ //# sourceMappingURL=parseStoredRecord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseStoredRecord.js","sourceRoot":"","sources":["../../../src/storage/parseStoredRecord.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAkB,EAClB,OAAuC;IAEvC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAuB,EACvB,GAAW,EACX,OAAuC;IAEvC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC9C,IAAI,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,12 +1,15 @@
1
1
  import type { StorageAdapter } from './types.js';
2
2
  /**
3
- * localStorage adapter for browser environments.
4
- * Agent keys are stored as JSON strings with the key pattern:
5
- * `lifi-perps-agent:{address}:{provider}`
3
+ * localStorage adapter for browser environments. Falls back to a no-op when
4
+ * `localStorage` is unavailable (e.g. SSR).
5
+ *
6
+ * @public
6
7
  */
7
8
  export declare const localStorageAdapter: StorageAdapter;
8
9
  /**
9
10
  * In-memory storage adapter for testing or server-side use.
11
+ *
12
+ * @public
10
13
  */
11
14
  export declare function createMemoryStorage(): StorageAdapter;
12
15
  //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,cA0BjC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,cAAc,CAkBpD"}
@@ -1,7 +1,8 @@
1
1
  /**
2
- * localStorage adapter for browser environments.
3
- * Agent keys are stored as JSON strings with the key pattern:
4
- * `lifi-perps-agent:{address}:{provider}`
2
+ * localStorage adapter for browser environments. Falls back to a no-op when
3
+ * `localStorage` is unavailable (e.g. SSR).
4
+ *
5
+ * @public
5
6
  */
6
7
  export const localStorageAdapter = {
7
8
  get: (key) => {
@@ -9,7 +10,6 @@ export const localStorageAdapter = {
9
10
  return Promise.resolve(localStorage.getItem(key));
10
11
  }
11
12
  catch {
12
- // localStorage not available (e.g., SSR)
13
13
  return Promise.resolve(null);
14
14
  }
15
15
  },
@@ -34,6 +34,8 @@ export const localStorageAdapter = {
34
34
  };
35
35
  /**
36
36
  * In-memory storage adapter for testing or server-side use.
37
+ *
38
+ * @public
37
39
  */
38
40
  export function createMemoryStorage() {
39
41
  const store = new Map();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,GAAG,EAAE,CAAC,GAAW,EAA0B,EAAE;QAC3C,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAiB,EAAE;QACjD,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,EAAE,CAAC,GAAW,EAAiB,EAAE;QACrC,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,OAAO;QACL,GAAG,EAAE,CAAC,GAAW,EAA0B,EAAE;YAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAA;QAChD,CAAC;QAED,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAiB,EAAE;YACjD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QAED,MAAM,EAAE,CAAC,GAAW,EAAiB,EAAE;YACrC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Storage adapter interface for persisting SDK session credentials (provider
3
+ * agent keypairs, API keys, read-only tokens). Implement this to use custom
4
+ * storage (e.g. encrypted storage, a database, async key-value stores).
5
+ */
6
+ export interface StorageAdapter {
7
+ /** Get a value by key. */
8
+ get(key: string): Promise<string | null>;
9
+ /** Set a value by key. */
10
+ set(key: string, value: string): Promise<void>;
11
+ /** Remove a value by key. */
12
+ remove(key: string): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACxC,0BAA0B;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,6BAA6B;IAC7B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import type { ResolvedRetryPolicy } from './retryPolicy.js';
2
+ /**
3
+ * Options for {@link fetchWithRetry}.
4
+ *
5
+ * @public
6
+ */
7
+ export interface FetchWithRetryOptions {
8
+ policy: ResolvedRetryPolicy;
9
+ fetchImpl?: typeof fetch;
10
+ signal?: AbortSignal;
11
+ }
12
+ /**
13
+ * Wrap `fetch` with policy-driven retry. Honors `Retry-After` (when present
14
+ * and `respectRetryAfter` is true), otherwise falls back to exponential
15
+ * backoff with full jitter, capped by `maxDelayMs`. Network errors (thrown
16
+ * `fetch` rejections) are treated as `retry-network` — same retry budget as
17
+ * 5xx. An aborted signal short-circuits without further attempts.
18
+ *
19
+ * @public
20
+ */
21
+ export declare function fetchWithRetry(input: RequestInfo | URL, init: RequestInit | undefined, options: FetchWithRetryOptions): Promise<Response>;
22
+ //# sourceMappingURL=fetchWithRetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchWithRetry.d.ts","sourceRoot":"","sources":["../../../src/transport/fetchWithRetry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAuB,MAAM,kBAAkB,CAAA;AAEhF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAyDnB"}