@lifi/perps-sdk 0.1.1-alpha.9 → 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 (959) hide show
  1. package/README.md +157 -20
  2. package/dist/cjs/client/PerpsClient.d.ts +57 -24
  3. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  4. package/dist/cjs/client/PerpsClient.js +218 -208
  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 -25
  11. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
  12. package/dist/cjs/client/createPerpsClient.js +28 -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 +2 -3
  19. package/dist/cjs/errors/PerpsError.d.ts.map +1 -1
  20. package/dist/cjs/errors/PerpsError.js +3 -15
  21. package/dist/cjs/errors/PerpsError.js.map +1 -1
  22. package/dist/cjs/errors/constants.d.ts +2 -12
  23. package/dist/cjs/errors/constants.d.ts.map +1 -1
  24. package/dist/cjs/errors/constants.js +3 -14
  25. package/dist/cjs/errors/constants.js.map +1 -1
  26. package/dist/cjs/index.d.ts +58 -34
  27. package/dist/cjs/index.d.ts.map +1 -1
  28. package/dist/cjs/index.js +122 -45
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/registry/assetRegistry.d.ts +11 -0
  31. package/dist/cjs/registry/assetRegistry.d.ts.map +1 -0
  32. package/dist/cjs/registry/assetRegistry.js +39 -0
  33. package/dist/cjs/registry/assetRegistry.js.map +1 -0
  34. package/dist/cjs/registry/marketRegistry.d.ts +13 -0
  35. package/dist/cjs/registry/marketRegistry.d.ts.map +1 -0
  36. package/dist/cjs/registry/marketRegistry.js +58 -0
  37. package/dist/cjs/registry/marketRegistry.js.map +1 -0
  38. package/dist/cjs/registry/referenceDataRegistry.d.ts +20 -0
  39. package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -0
  40. package/dist/cjs/registry/referenceDataRegistry.js +59 -0
  41. package/dist/cjs/registry/referenceDataRegistry.js.map +1 -0
  42. package/dist/cjs/services/createAction.d.ts +13 -0
  43. package/dist/cjs/services/createAction.d.ts.map +1 -0
  44. package/dist/cjs/services/createAction.js +17 -0
  45. package/dist/cjs/services/createAction.js.map +1 -0
  46. package/dist/cjs/services/executeAction.d.ts +13 -0
  47. package/dist/cjs/services/executeAction.d.ts.map +1 -0
  48. package/dist/cjs/services/{submitAuthorization.js → executeAction.js} +8 -6
  49. package/dist/cjs/services/executeAction.js.map +1 -0
  50. package/dist/cjs/services/getAccount.d.ts +5 -3
  51. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  52. package/dist/cjs/services/getAccount.js +2 -6
  53. package/dist/cjs/services/getAccount.js.map +1 -1
  54. package/dist/cjs/services/getActivity.d.ts +15 -0
  55. package/dist/cjs/services/getActivity.d.ts.map +1 -0
  56. package/dist/cjs/services/getActivity.js +15 -0
  57. package/dist/cjs/services/getActivity.js.map +1 -0
  58. package/dist/cjs/services/getAssets.d.ts +8 -0
  59. package/dist/cjs/services/getAssets.d.ts.map +1 -0
  60. package/dist/cjs/services/getAssets.js +11 -0
  61. package/dist/cjs/services/getAssets.js.map +1 -0
  62. package/dist/cjs/services/getFills.d.ts +14 -0
  63. package/dist/cjs/services/getFills.d.ts.map +1 -0
  64. package/dist/cjs/services/getFills.js +14 -0
  65. package/dist/cjs/services/getFills.js.map +1 -0
  66. package/dist/cjs/services/getMarket.d.ts +4 -3
  67. package/dist/cjs/services/getMarket.d.ts.map +1 -1
  68. package/dist/cjs/services/getMarket.js +6 -4
  69. package/dist/cjs/services/getMarket.js.map +1 -1
  70. package/dist/cjs/services/getMarkets.d.ts +4 -2
  71. package/dist/cjs/services/getMarkets.d.ts.map +1 -1
  72. package/dist/cjs/services/getMarkets.js +5 -2
  73. package/dist/cjs/services/getMarkets.js.map +1 -1
  74. package/dist/cjs/services/getMeta.d.ts +5 -0
  75. package/dist/cjs/services/getMeta.d.ts.map +1 -0
  76. package/dist/cjs/services/getMeta.js +8 -0
  77. package/dist/cjs/services/getMeta.js.map +1 -0
  78. package/dist/cjs/services/getOhlcv.d.ts +4 -3
  79. package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
  80. package/dist/cjs/services/getOhlcv.js +4 -3
  81. package/dist/cjs/services/getOhlcv.js.map +1 -1
  82. package/dist/cjs/services/getOrder.d.ts +5 -3
  83. package/dist/cjs/services/getOrder.d.ts.map +1 -1
  84. package/dist/cjs/services/getOrder.js +2 -6
  85. package/dist/cjs/services/getOrder.js.map +1 -1
  86. package/dist/cjs/services/getOrderbook.d.ts +4 -3
  87. package/dist/cjs/services/getOrderbook.d.ts.map +1 -1
  88. package/dist/cjs/services/getOrderbook.js +4 -3
  89. package/dist/cjs/services/getOrderbook.js.map +1 -1
  90. package/dist/cjs/services/getOrders.d.ts +13 -0
  91. package/dist/cjs/services/getOrders.d.ts.map +1 -0
  92. package/dist/cjs/services/getOrders.js +13 -0
  93. package/dist/cjs/services/getOrders.js.map +1 -0
  94. package/dist/cjs/services/getPositions.d.ts +13 -0
  95. package/dist/cjs/services/getPositions.d.ts.map +1 -0
  96. package/dist/cjs/services/getPositions.js +13 -0
  97. package/dist/cjs/services/getPositions.js.map +1 -0
  98. package/dist/cjs/services/getPrices.d.ts +4 -3
  99. package/dist/cjs/services/getPrices.d.ts.map +1 -1
  100. package/dist/cjs/services/getPrices.js +3 -3
  101. package/dist/cjs/services/getPrices.js.map +1 -1
  102. package/dist/cjs/services/getProviders.d.ts +5 -0
  103. package/dist/cjs/services/getProviders.d.ts.map +1 -0
  104. package/dist/cjs/services/getProviders.js +8 -0
  105. package/dist/cjs/services/getProviders.js.map +1 -0
  106. package/dist/cjs/services/getQuote.d.ts +12 -0
  107. package/dist/cjs/services/getQuote.d.ts.map +1 -0
  108. package/dist/cjs/services/getQuote.js +13 -0
  109. package/dist/cjs/services/getQuote.js.map +1 -0
  110. package/dist/cjs/services/getTermsAcceptance.d.ts +6 -0
  111. package/dist/cjs/services/getTermsAcceptance.d.ts.map +1 -0
  112. package/dist/cjs/services/getTermsAcceptance.js +9 -0
  113. package/dist/cjs/services/getTermsAcceptance.js.map +1 -0
  114. package/dist/cjs/services/resolveQuote.d.ts +7 -0
  115. package/dist/cjs/services/resolveQuote.d.ts.map +1 -0
  116. package/dist/cjs/services/resolveQuote.js +50 -0
  117. package/dist/cjs/services/resolveQuote.js.map +1 -0
  118. package/dist/cjs/services/resolveSubscribeQuote.d.ts +6 -0
  119. package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -0
  120. package/dist/cjs/services/resolveSubscribeQuote.js +65 -0
  121. package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -0
  122. package/dist/cjs/storage/parseStoredRecord.d.ts +4 -0
  123. package/dist/cjs/storage/parseStoredRecord.d.ts.map +1 -0
  124. package/dist/cjs/storage/parseStoredRecord.js +26 -0
  125. package/dist/cjs/storage/parseStoredRecord.js.map +1 -0
  126. package/dist/cjs/storage/storage.d.ts.map +1 -0
  127. package/dist/cjs/storage/storage.js.map +1 -0
  128. package/dist/cjs/{agent → storage}/types.d.ts +0 -5
  129. package/dist/cjs/storage/types.d.ts.map +1 -0
  130. package/dist/cjs/{agent → storage}/types.js.map +1 -1
  131. package/dist/cjs/transport/fetchWithRetry.d.ts +8 -0
  132. package/dist/cjs/transport/fetchWithRetry.d.ts.map +1 -0
  133. package/dist/cjs/transport/fetchWithRetry.js +81 -0
  134. package/dist/cjs/transport/fetchWithRetry.js.map +1 -0
  135. package/dist/cjs/{utils → transport}/request.d.ts +3 -2
  136. package/dist/cjs/transport/request.d.ts.map +1 -0
  137. package/dist/cjs/transport/request.js +75 -0
  138. package/dist/cjs/transport/request.js.map +1 -0
  139. package/dist/cjs/transport/retryPolicy.d.ts +37 -0
  140. package/dist/cjs/transport/retryPolicy.d.ts.map +1 -0
  141. package/dist/cjs/transport/retryPolicy.js +79 -0
  142. package/dist/cjs/transport/retryPolicy.js.map +1 -0
  143. package/dist/cjs/types/api.d.ts +85 -0
  144. package/dist/cjs/types/api.d.ts.map +1 -0
  145. package/dist/cjs/{dex/types.js → types/api.js} +1 -1
  146. package/dist/cjs/types/api.js.map +1 -0
  147. package/dist/cjs/types/config.d.ts +26 -0
  148. package/dist/cjs/types/config.d.ts.map +1 -0
  149. package/dist/cjs/{realtime/hyperliquid/types.js → types/config.js} +1 -1
  150. package/dist/cjs/types/config.js.map +1 -0
  151. package/dist/cjs/types/provider.d.ts +84 -0
  152. package/dist/cjs/types/provider.d.ts.map +1 -0
  153. package/dist/cjs/types/provider.js +3 -0
  154. package/dist/cjs/types/provider.js.map +1 -0
  155. package/dist/cjs/utils/accountSummary.d.ts +3 -0
  156. package/dist/cjs/utils/accountSummary.d.ts.map +1 -0
  157. package/dist/cjs/utils/accountSummary.js +25 -0
  158. package/dist/cjs/utils/accountSummary.js.map +1 -0
  159. package/dist/cjs/utils/assertNever.d.ts +2 -0
  160. package/dist/cjs/utils/assertNever.d.ts.map +1 -0
  161. package/dist/cjs/utils/assertNever.js +7 -0
  162. package/dist/cjs/utils/assertNever.js.map +1 -0
  163. package/dist/cjs/utils/calculations.d.ts +52 -0
  164. package/dist/cjs/utils/calculations.d.ts.map +1 -0
  165. package/dist/cjs/utils/calculations.js +148 -0
  166. package/dist/cjs/utils/calculations.js.map +1 -0
  167. package/dist/cjs/utils/depositChain.d.ts +6 -0
  168. package/dist/cjs/utils/depositChain.d.ts.map +1 -0
  169. package/dist/cjs/utils/depositChain.js +13 -0
  170. package/dist/cjs/utils/depositChain.js.map +1 -0
  171. package/dist/cjs/utils/explorer.d.ts +9 -0
  172. package/dist/cjs/utils/explorer.d.ts.map +1 -0
  173. package/dist/cjs/utils/explorer.js +23 -0
  174. package/dist/cjs/utils/explorer.js.map +1 -0
  175. package/dist/cjs/utils/fillClassification.d.ts +3 -0
  176. package/dist/cjs/utils/fillClassification.d.ts.map +1 -0
  177. package/dist/cjs/utils/fillClassification.js +37 -0
  178. package/dist/cjs/utils/fillClassification.js.map +1 -0
  179. package/dist/cjs/utils/format.d.ts +13 -0
  180. package/dist/cjs/utils/format.d.ts.map +1 -0
  181. package/dist/cjs/utils/format.js +117 -0
  182. package/dist/cjs/utils/format.js.map +1 -0
  183. package/dist/cjs/utils/orderClassification.d.ts +10 -0
  184. package/dist/cjs/utils/orderClassification.d.ts.map +1 -0
  185. package/dist/cjs/utils/orderClassification.js +49 -0
  186. package/dist/cjs/utils/orderClassification.js.map +1 -0
  187. package/dist/cjs/utils/orderMath.d.ts +6 -0
  188. package/dist/cjs/utils/orderMath.d.ts.map +1 -0
  189. package/dist/cjs/utils/orderMath.js +71 -0
  190. package/dist/cjs/utils/orderMath.js.map +1 -0
  191. package/dist/cjs/utils/parse.d.ts +2 -0
  192. package/dist/cjs/utils/parse.d.ts.map +1 -0
  193. package/dist/cjs/utils/parse.js +14 -0
  194. package/dist/cjs/utils/parse.js.map +1 -0
  195. package/dist/cjs/utils/positionMath.d.ts +32 -0
  196. package/dist/cjs/utils/positionMath.d.ts.map +1 -0
  197. package/dist/cjs/utils/positionMath.js +52 -0
  198. package/dist/cjs/utils/positionMath.js.map +1 -0
  199. package/dist/cjs/utils/signTypedData.d.ts +3 -1
  200. package/dist/cjs/utils/signTypedData.d.ts.map +1 -1
  201. package/dist/cjs/utils/signTypedData.js +11 -3
  202. package/dist/cjs/utils/signTypedData.js.map +1 -1
  203. package/dist/cjs/utils/sleep.d.ts.map +1 -1
  204. package/dist/cjs/utils/sleep.js.map +1 -1
  205. package/dist/cjs/utils/units.d.ts +3 -0
  206. package/dist/cjs/utils/units.d.ts.map +1 -0
  207. package/dist/cjs/utils/units.js +18 -0
  208. package/dist/cjs/utils/units.js.map +1 -0
  209. package/dist/cjs/utils/validation.d.ts +2 -0
  210. package/dist/cjs/utils/validation.d.ts.map +1 -0
  211. package/dist/cjs/utils/validation.js +16 -0
  212. package/dist/cjs/utils/validation.js.map +1 -0
  213. package/dist/cjs/version.d.ts +1 -1
  214. package/dist/cjs/version.d.ts.map +1 -1
  215. package/dist/cjs/version.js +1 -1
  216. package/dist/cjs/version.js.map +1 -1
  217. package/dist/cjs/websocket/PerpsWsClient.d.ts +27 -0
  218. package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -0
  219. package/dist/cjs/websocket/PerpsWsClient.js +84 -0
  220. package/dist/cjs/websocket/PerpsWsClient.js.map +1 -0
  221. package/dist/{esm/realtime → cjs/websocket}/ReconnectingWebSocket.d.ts +23 -7
  222. package/dist/cjs/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  223. package/dist/cjs/websocket/ReconnectingWebSocket.js +213 -0
  224. package/dist/cjs/websocket/ReconnectingWebSocket.js.map +1 -0
  225. package/dist/cjs/websocket/WsProviderBase.d.ts +31 -0
  226. package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -0
  227. package/dist/cjs/websocket/WsProviderBase.js +197 -0
  228. package/dist/cjs/websocket/WsProviderBase.js.map +1 -0
  229. package/dist/cjs/websocket/cachePromise.d.ts +2 -0
  230. package/dist/cjs/websocket/cachePromise.d.ts.map +1 -0
  231. package/dist/cjs/websocket/cachePromise.js +18 -0
  232. package/dist/cjs/websocket/cachePromise.js.map +1 -0
  233. package/dist/cjs/websocket/types.d.ts +15 -0
  234. package/dist/cjs/websocket/types.d.ts.map +1 -0
  235. package/dist/cjs/{dex → websocket}/types.js.map +1 -1
  236. package/dist/cjs/websocket/wsLog.d.ts +10 -0
  237. package/dist/cjs/websocket/wsLog.d.ts.map +1 -0
  238. package/dist/cjs/websocket/wsLog.js +31 -0
  239. package/dist/cjs/websocket/wsLog.js.map +1 -0
  240. package/dist/esm/client/PerpsClient.d.ts +223 -136
  241. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  242. package/dist/esm/client/PerpsClient.js +399 -339
  243. package/dist/esm/client/PerpsClient.js.map +1 -1
  244. package/dist/esm/client/bindProvider.d.ts +13 -0
  245. package/dist/esm/client/bindProvider.d.ts.map +1 -0
  246. package/dist/esm/client/bindProvider.js +16 -0
  247. package/dist/esm/client/bindProvider.js.map +1 -0
  248. package/dist/esm/client/createPerpsClient.d.ts +24 -64
  249. package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
  250. package/dist/esm/client/createPerpsClient.js +45 -17
  251. package/dist/esm/client/createPerpsClient.js.map +1 -1
  252. package/dist/esm/client/requireProvider.d.ts +12 -0
  253. package/dist/esm/client/requireProvider.d.ts.map +1 -0
  254. package/dist/esm/client/requireProvider.js +22 -0
  255. package/dist/esm/client/requireProvider.js.map +1 -0
  256. package/dist/esm/errors/PerpsError.d.ts +10 -3
  257. package/dist/esm/errors/PerpsError.d.ts.map +1 -1
  258. package/dist/esm/errors/PerpsError.js +11 -15
  259. package/dist/esm/errors/PerpsError.js.map +1 -1
  260. package/dist/esm/errors/constants.d.ts +8 -12
  261. package/dist/esm/errors/constants.d.ts.map +1 -1
  262. package/dist/esm/errors/constants.js +8 -13
  263. package/dist/esm/errors/constants.js.map +1 -1
  264. package/dist/esm/index.d.ts +66 -34
  265. package/dist/esm/index.d.ts.map +1 -1
  266. package/dist/esm/index.js +49 -29
  267. package/dist/esm/index.js.map +1 -1
  268. package/dist/esm/registry/assetRegistry.d.ts +25 -0
  269. package/dist/esm/registry/assetRegistry.d.ts.map +1 -0
  270. package/dist/esm/registry/assetRegistry.js +48 -0
  271. package/dist/esm/registry/assetRegistry.js.map +1 -0
  272. package/dist/esm/registry/marketRegistry.d.ts +42 -0
  273. package/dist/esm/registry/marketRegistry.d.ts.map +1 -0
  274. package/dist/esm/registry/marketRegistry.js +81 -0
  275. package/dist/esm/registry/marketRegistry.js.map +1 -0
  276. package/dist/esm/registry/referenceDataRegistry.d.ts +44 -0
  277. package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -0
  278. package/dist/esm/registry/referenceDataRegistry.js +79 -0
  279. package/dist/esm/registry/referenceDataRegistry.js.map +1 -0
  280. package/dist/esm/services/createAction.d.ts +26 -0
  281. package/dist/esm/services/createAction.d.ts.map +1 -0
  282. package/dist/esm/services/createAction.js +22 -0
  283. package/dist/esm/services/createAction.js.map +1 -0
  284. package/dist/esm/services/executeAction.d.ts +26 -0
  285. package/dist/esm/services/executeAction.d.ts.map +1 -0
  286. package/dist/esm/services/executeAction.js +26 -0
  287. package/dist/esm/services/executeAction.js.map +1 -0
  288. package/dist/esm/services/getAccount.d.ts +21 -18
  289. package/dist/esm/services/getAccount.d.ts.map +1 -1
  290. package/dist/esm/services/getAccount.js +13 -19
  291. package/dist/esm/services/getAccount.js.map +1 -1
  292. package/dist/esm/services/getActivity.d.ts +39 -0
  293. package/dist/esm/services/getActivity.d.ts.map +1 -0
  294. package/dist/esm/services/getActivity.js +29 -0
  295. package/dist/esm/services/getActivity.js.map +1 -0
  296. package/dist/esm/services/getAssets.d.ts +27 -0
  297. package/dist/esm/services/getAssets.d.ts.map +1 -0
  298. package/dist/esm/services/getAssets.js +22 -0
  299. package/dist/esm/services/getAssets.js.map +1 -0
  300. package/dist/esm/services/getFills.d.ts +38 -0
  301. package/dist/esm/services/getFills.d.ts.map +1 -0
  302. package/dist/esm/services/getFills.js +28 -0
  303. package/dist/esm/services/getFills.js.map +1 -0
  304. package/dist/esm/services/getMarket.d.ts +22 -15
  305. package/dist/esm/services/getMarket.d.ts.map +1 -1
  306. package/dist/esm/services/getMarket.js +14 -14
  307. package/dist/esm/services/getMarket.js.map +1 -1
  308. package/dist/esm/services/getMarkets.d.ts +16 -13
  309. package/dist/esm/services/getMarkets.d.ts.map +1 -1
  310. package/dist/esm/services/getMarkets.js +11 -12
  311. package/dist/esm/services/getMarkets.js.map +1 -1
  312. package/dist/esm/services/getMeta.d.ts +19 -0
  313. package/dist/esm/services/getMeta.d.ts.map +1 -0
  314. package/dist/esm/services/getMeta.js +19 -0
  315. package/dist/esm/services/getMeta.js.map +1 -0
  316. package/dist/esm/services/getOhlcv.d.ts +17 -21
  317. package/dist/esm/services/getOhlcv.d.ts.map +1 -1
  318. package/dist/esm/services/getOhlcv.js +9 -15
  319. package/dist/esm/services/getOhlcv.js.map +1 -1
  320. package/dist/esm/services/getOrder.d.ts +18 -18
  321. package/dist/esm/services/getOrder.d.ts.map +1 -1
  322. package/dist/esm/services/getOrder.js +10 -18
  323. package/dist/esm/services/getOrder.js.map +1 -1
  324. package/dist/esm/services/getOrderbook.d.ts +14 -24
  325. package/dist/esm/services/getOrderbook.d.ts.map +1 -1
  326. package/dist/esm/services/getOrderbook.js +8 -22
  327. package/dist/esm/services/getOrderbook.js.map +1 -1
  328. package/dist/esm/services/getOrders.d.ts +35 -0
  329. package/dist/esm/services/getOrders.d.ts.map +1 -0
  330. package/dist/esm/services/getOrders.js +26 -0
  331. package/dist/esm/services/getOrders.js.map +1 -0
  332. package/dist/esm/services/getPositions.d.ts +35 -0
  333. package/dist/esm/services/getPositions.d.ts.map +1 -0
  334. package/dist/esm/services/getPositions.js +26 -0
  335. package/dist/esm/services/getPositions.js.map +1 -0
  336. package/dist/esm/services/getPrices.d.ts +13 -25
  337. package/dist/esm/services/getPrices.d.ts.map +1 -1
  338. package/dist/esm/services/getPrices.js +6 -23
  339. package/dist/esm/services/getPrices.js.map +1 -1
  340. package/dist/esm/services/getProviders.d.ts +20 -0
  341. package/dist/esm/services/getProviders.d.ts.map +1 -0
  342. package/dist/esm/services/getProviders.js +20 -0
  343. package/dist/esm/services/getProviders.js.map +1 -0
  344. package/dist/esm/services/getQuote.d.ts +42 -0
  345. package/dist/esm/services/getQuote.d.ts.map +1 -0
  346. package/dist/esm/services/getQuote.js +33 -0
  347. package/dist/esm/services/getQuote.js.map +1 -0
  348. package/dist/esm/services/getTermsAcceptance.d.ts +24 -0
  349. package/dist/esm/services/getTermsAcceptance.d.ts.map +1 -0
  350. package/dist/esm/services/getTermsAcceptance.js +24 -0
  351. package/dist/esm/services/getTermsAcceptance.js.map +1 -0
  352. package/dist/esm/services/resolveQuote.d.ts +36 -0
  353. package/dist/esm/services/resolveQuote.d.ts.map +1 -0
  354. package/dist/esm/services/resolveQuote.js +74 -0
  355. package/dist/esm/services/resolveQuote.js.map +1 -0
  356. package/dist/esm/services/resolveSubscribeQuote.d.ts +31 -0
  357. package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -0
  358. package/dist/esm/services/resolveSubscribeQuote.js +86 -0
  359. package/dist/esm/services/resolveSubscribeQuote.js.map +1 -0
  360. package/dist/esm/storage/parseStoredRecord.d.ts +29 -0
  361. package/dist/esm/storage/parseStoredRecord.d.ts.map +1 -0
  362. package/dist/esm/storage/parseStoredRecord.js +47 -0
  363. package/dist/esm/storage/parseStoredRecord.js.map +1 -0
  364. package/dist/{types/agent → esm/storage}/storage.d.ts +6 -3
  365. package/dist/esm/storage/storage.d.ts.map +1 -0
  366. package/dist/esm/{agent → storage}/storage.js +6 -4
  367. package/dist/esm/storage/storage.js.map +1 -0
  368. package/dist/esm/storage/types.d.ts +14 -0
  369. package/dist/esm/storage/types.d.ts.map +1 -0
  370. package/dist/{cjs/client → esm/storage}/types.js.map +1 -1
  371. package/dist/esm/transport/fetchWithRetry.d.ts +22 -0
  372. package/dist/esm/transport/fetchWithRetry.d.ts.map +1 -0
  373. package/dist/esm/transport/fetchWithRetry.js +87 -0
  374. package/dist/esm/transport/fetchWithRetry.js.map +1 -0
  375. package/dist/esm/transport/request.d.ts +25 -0
  376. package/dist/esm/transport/request.d.ts.map +1 -0
  377. package/dist/esm/transport/request.js +82 -0
  378. package/dist/esm/transport/request.js.map +1 -0
  379. package/dist/esm/transport/retryPolicy.d.ts +106 -0
  380. package/dist/esm/transport/retryPolicy.d.ts.map +1 -0
  381. package/dist/esm/transport/retryPolicy.js +99 -0
  382. package/dist/esm/transport/retryPolicy.js.map +1 -0
  383. package/dist/esm/types/api.d.ts +214 -0
  384. package/dist/esm/types/api.d.ts.map +1 -0
  385. package/dist/esm/types/api.js +2 -0
  386. package/dist/esm/types/api.js.map +1 -0
  387. package/dist/esm/types/config.d.ts +70 -0
  388. package/dist/esm/types/config.d.ts.map +1 -0
  389. package/dist/esm/types/config.js +2 -0
  390. package/dist/esm/types/config.js.map +1 -0
  391. package/dist/esm/types/provider.d.ts +330 -0
  392. package/dist/esm/types/provider.d.ts.map +1 -0
  393. package/dist/esm/types/provider.js +2 -0
  394. package/dist/esm/types/provider.js.map +1 -0
  395. package/dist/esm/utils/accountSummary.d.ts +13 -0
  396. package/dist/esm/utils/accountSummary.d.ts.map +1 -0
  397. package/dist/esm/utils/accountSummary.js +32 -0
  398. package/dist/esm/utils/accountSummary.js.map +1 -0
  399. package/dist/esm/utils/assertNever.d.ts +20 -0
  400. package/dist/esm/utils/assertNever.d.ts.map +1 -0
  401. package/dist/esm/utils/assertNever.js +22 -0
  402. package/dist/esm/utils/assertNever.js.map +1 -0
  403. package/dist/esm/utils/calculations.d.ts +225 -0
  404. package/dist/esm/utils/calculations.d.ts.map +1 -0
  405. package/dist/esm/utils/calculations.js +291 -0
  406. package/dist/esm/utils/calculations.js.map +1 -0
  407. package/dist/esm/utils/depositChain.d.ts +25 -0
  408. package/dist/esm/utils/depositChain.d.ts.map +1 -0
  409. package/dist/esm/utils/depositChain.js +23 -0
  410. package/dist/esm/utils/depositChain.js.map +1 -0
  411. package/dist/esm/utils/explorer.d.ts +33 -0
  412. package/dist/esm/utils/explorer.d.ts.map +1 -0
  413. package/dist/esm/utils/explorer.js +38 -0
  414. package/dist/esm/utils/explorer.js.map +1 -0
  415. package/dist/esm/utils/fillClassification.d.ts +13 -0
  416. package/dist/esm/utils/fillClassification.d.ts.map +1 -0
  417. package/dist/esm/utils/fillClassification.js +44 -0
  418. package/dist/esm/utils/fillClassification.js.map +1 -0
  419. package/dist/esm/utils/format.d.ts +66 -0
  420. package/dist/esm/utils/format.d.ts.map +1 -0
  421. package/dist/esm/utils/format.js +171 -0
  422. package/dist/esm/utils/format.js.map +1 -0
  423. package/dist/esm/utils/orderClassification.d.ts +47 -0
  424. package/dist/esm/utils/orderClassification.d.ts.map +1 -0
  425. package/dist/esm/utils/orderClassification.js +78 -0
  426. package/dist/esm/utils/orderClassification.js.map +1 -0
  427. package/dist/esm/utils/orderMath.d.ts +44 -0
  428. package/dist/esm/utils/orderMath.d.ts.map +1 -0
  429. package/dist/esm/utils/orderMath.js +103 -0
  430. package/dist/esm/utils/orderMath.js.map +1 -0
  431. package/dist/esm/utils/parse.d.ts +21 -0
  432. package/dist/esm/utils/parse.d.ts.map +1 -0
  433. package/dist/esm/utils/parse.js +30 -0
  434. package/dist/esm/utils/parse.js.map +1 -0
  435. package/dist/esm/utils/positionMath.d.ts +107 -0
  436. package/dist/esm/utils/positionMath.d.ts.map +1 -0
  437. package/dist/esm/utils/positionMath.js +119 -0
  438. package/dist/esm/utils/positionMath.js.map +1 -0
  439. package/dist/esm/utils/signTypedData.d.ts +13 -10
  440. package/dist/esm/utils/signTypedData.d.ts.map +1 -1
  441. package/dist/esm/utils/signTypedData.js +20 -13
  442. package/dist/esm/utils/signTypedData.js.map +1 -1
  443. package/dist/esm/utils/sleep.d.ts +5 -0
  444. package/dist/esm/utils/sleep.d.ts.map +1 -1
  445. package/dist/esm/utils/sleep.js +5 -0
  446. package/dist/esm/utils/sleep.js.map +1 -1
  447. package/dist/esm/utils/units.d.ts +27 -0
  448. package/dist/esm/utils/units.d.ts.map +1 -0
  449. package/dist/esm/utils/units.js +38 -0
  450. package/dist/esm/utils/units.js.map +1 -0
  451. package/dist/esm/utils/validation.d.ts +18 -0
  452. package/dist/esm/utils/validation.d.ts.map +1 -0
  453. package/dist/esm/utils/validation.js +29 -0
  454. package/dist/esm/utils/validation.js.map +1 -0
  455. package/dist/esm/version.d.ts +1 -1
  456. package/dist/esm/version.d.ts.map +1 -1
  457. package/dist/esm/version.js +1 -1
  458. package/dist/esm/version.js.map +1 -1
  459. package/dist/esm/websocket/PerpsWsClient.d.ts +100 -0
  460. package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -0
  461. package/dist/esm/websocket/PerpsWsClient.js +121 -0
  462. package/dist/esm/websocket/PerpsWsClient.js.map +1 -0
  463. package/dist/esm/websocket/ReconnectingWebSocket.d.ts +130 -0
  464. package/dist/esm/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  465. package/dist/esm/websocket/ReconnectingWebSocket.js +288 -0
  466. package/dist/esm/websocket/ReconnectingWebSocket.js.map +1 -0
  467. package/dist/esm/websocket/WsProviderBase.d.ts +89 -0
  468. package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -0
  469. package/dist/esm/websocket/WsProviderBase.js +246 -0
  470. package/dist/esm/websocket/WsProviderBase.js.map +1 -0
  471. package/dist/esm/websocket/cachePromise.d.ts +14 -0
  472. package/dist/esm/websocket/cachePromise.d.ts.map +1 -0
  473. package/dist/esm/websocket/cachePromise.js +27 -0
  474. package/dist/esm/websocket/cachePromise.js.map +1 -0
  475. package/dist/esm/websocket/types.d.ts +60 -0
  476. package/dist/esm/websocket/types.d.ts.map +1 -0
  477. package/dist/{cjs/realtime → esm/websocket}/types.js.map +1 -1
  478. package/dist/esm/websocket/wsLog.d.ts +50 -0
  479. package/dist/esm/websocket/wsLog.d.ts.map +1 -0
  480. package/dist/esm/websocket/wsLog.js +68 -0
  481. package/dist/esm/websocket/wsLog.js.map +1 -0
  482. package/dist/types/client/PerpsClient.d.ts +223 -136
  483. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  484. package/dist/types/client/bindProvider.d.ts +13 -0
  485. package/dist/types/client/bindProvider.d.ts.map +1 -0
  486. package/dist/types/client/createPerpsClient.d.ts +24 -64
  487. package/dist/types/client/createPerpsClient.d.ts.map +1 -1
  488. package/dist/types/client/requireProvider.d.ts +12 -0
  489. package/dist/types/client/requireProvider.d.ts.map +1 -0
  490. package/dist/types/errors/PerpsError.d.ts +10 -3
  491. package/dist/types/errors/PerpsError.d.ts.map +1 -1
  492. package/dist/types/errors/constants.d.ts +8 -12
  493. package/dist/types/errors/constants.d.ts.map +1 -1
  494. package/dist/types/index.d.ts +66 -34
  495. package/dist/types/index.d.ts.map +1 -1
  496. package/dist/types/registry/assetRegistry.d.ts +25 -0
  497. package/dist/types/registry/assetRegistry.d.ts.map +1 -0
  498. package/dist/types/registry/marketRegistry.d.ts +42 -0
  499. package/dist/types/registry/marketRegistry.d.ts.map +1 -0
  500. package/dist/types/registry/referenceDataRegistry.d.ts +44 -0
  501. package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -0
  502. package/dist/types/services/createAction.d.ts +26 -0
  503. package/dist/types/services/createAction.d.ts.map +1 -0
  504. package/dist/types/services/executeAction.d.ts +26 -0
  505. package/dist/types/services/executeAction.d.ts.map +1 -0
  506. package/dist/types/services/getAccount.d.ts +21 -18
  507. package/dist/types/services/getAccount.d.ts.map +1 -1
  508. package/dist/types/services/getActivity.d.ts +39 -0
  509. package/dist/types/services/getActivity.d.ts.map +1 -0
  510. package/dist/types/services/getAssets.d.ts +27 -0
  511. package/dist/types/services/getAssets.d.ts.map +1 -0
  512. package/dist/types/services/getFills.d.ts +38 -0
  513. package/dist/types/services/getFills.d.ts.map +1 -0
  514. package/dist/types/services/getMarket.d.ts +22 -15
  515. package/dist/types/services/getMarket.d.ts.map +1 -1
  516. package/dist/types/services/getMarkets.d.ts +16 -13
  517. package/dist/types/services/getMarkets.d.ts.map +1 -1
  518. package/dist/types/services/getMeta.d.ts +19 -0
  519. package/dist/types/services/getMeta.d.ts.map +1 -0
  520. package/dist/types/services/getOhlcv.d.ts +17 -21
  521. package/dist/types/services/getOhlcv.d.ts.map +1 -1
  522. package/dist/types/services/getOrder.d.ts +18 -18
  523. package/dist/types/services/getOrder.d.ts.map +1 -1
  524. package/dist/types/services/getOrderbook.d.ts +14 -24
  525. package/dist/types/services/getOrderbook.d.ts.map +1 -1
  526. package/dist/types/services/getOrders.d.ts +35 -0
  527. package/dist/types/services/getOrders.d.ts.map +1 -0
  528. package/dist/types/services/getPositions.d.ts +35 -0
  529. package/dist/types/services/getPositions.d.ts.map +1 -0
  530. package/dist/types/services/getPrices.d.ts +13 -25
  531. package/dist/types/services/getPrices.d.ts.map +1 -1
  532. package/dist/types/services/getProviders.d.ts +20 -0
  533. package/dist/types/services/getProviders.d.ts.map +1 -0
  534. package/dist/types/services/getQuote.d.ts +42 -0
  535. package/dist/types/services/getQuote.d.ts.map +1 -0
  536. package/dist/types/services/getTermsAcceptance.d.ts +24 -0
  537. package/dist/types/services/getTermsAcceptance.d.ts.map +1 -0
  538. package/dist/types/services/resolveQuote.d.ts +36 -0
  539. package/dist/types/services/resolveQuote.d.ts.map +1 -0
  540. package/dist/types/services/resolveSubscribeQuote.d.ts +31 -0
  541. package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -0
  542. package/dist/types/storage/parseStoredRecord.d.ts +29 -0
  543. package/dist/types/storage/parseStoredRecord.d.ts.map +1 -0
  544. package/dist/{esm/agent → types/storage}/storage.d.ts +6 -3
  545. package/dist/types/storage/storage.d.ts.map +1 -0
  546. package/dist/types/storage/types.d.ts +14 -0
  547. package/dist/types/storage/types.d.ts.map +1 -0
  548. package/dist/types/transport/fetchWithRetry.d.ts +22 -0
  549. package/dist/types/transport/fetchWithRetry.d.ts.map +1 -0
  550. package/dist/types/transport/request.d.ts +25 -0
  551. package/dist/types/transport/request.d.ts.map +1 -0
  552. package/dist/types/transport/retryPolicy.d.ts +106 -0
  553. package/dist/types/transport/retryPolicy.d.ts.map +1 -0
  554. package/dist/types/types/api.d.ts +214 -0
  555. package/dist/types/types/api.d.ts.map +1 -0
  556. package/dist/types/types/config.d.ts +70 -0
  557. package/dist/types/types/config.d.ts.map +1 -0
  558. package/dist/types/types/provider.d.ts +330 -0
  559. package/dist/types/types/provider.d.ts.map +1 -0
  560. package/dist/types/utils/accountSummary.d.ts +13 -0
  561. package/dist/types/utils/accountSummary.d.ts.map +1 -0
  562. package/dist/types/utils/assertNever.d.ts +20 -0
  563. package/dist/types/utils/assertNever.d.ts.map +1 -0
  564. package/dist/types/utils/calculations.d.ts +225 -0
  565. package/dist/types/utils/calculations.d.ts.map +1 -0
  566. package/dist/types/utils/depositChain.d.ts +25 -0
  567. package/dist/types/utils/depositChain.d.ts.map +1 -0
  568. package/dist/types/utils/explorer.d.ts +33 -0
  569. package/dist/types/utils/explorer.d.ts.map +1 -0
  570. package/dist/types/utils/fillClassification.d.ts +13 -0
  571. package/dist/types/utils/fillClassification.d.ts.map +1 -0
  572. package/dist/types/utils/format.d.ts +66 -0
  573. package/dist/types/utils/format.d.ts.map +1 -0
  574. package/dist/types/utils/orderClassification.d.ts +47 -0
  575. package/dist/types/utils/orderClassification.d.ts.map +1 -0
  576. package/dist/types/utils/orderMath.d.ts +44 -0
  577. package/dist/types/utils/orderMath.d.ts.map +1 -0
  578. package/dist/types/utils/parse.d.ts +21 -0
  579. package/dist/types/utils/parse.d.ts.map +1 -0
  580. package/dist/types/utils/positionMath.d.ts +107 -0
  581. package/dist/types/utils/positionMath.d.ts.map +1 -0
  582. package/dist/types/utils/signTypedData.d.ts +13 -10
  583. package/dist/types/utils/signTypedData.d.ts.map +1 -1
  584. package/dist/types/utils/sleep.d.ts +5 -0
  585. package/dist/types/utils/sleep.d.ts.map +1 -1
  586. package/dist/types/utils/units.d.ts +27 -0
  587. package/dist/types/utils/units.d.ts.map +1 -0
  588. package/dist/types/utils/validation.d.ts +18 -0
  589. package/dist/types/utils/validation.d.ts.map +1 -0
  590. package/dist/types/version.d.ts +1 -1
  591. package/dist/types/version.d.ts.map +1 -1
  592. package/dist/types/websocket/PerpsWsClient.d.ts +100 -0
  593. package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -0
  594. package/dist/types/websocket/ReconnectingWebSocket.d.ts +130 -0
  595. package/dist/types/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  596. package/dist/types/websocket/WsProviderBase.d.ts +89 -0
  597. package/dist/types/websocket/WsProviderBase.d.ts.map +1 -0
  598. package/dist/types/websocket/cachePromise.d.ts +14 -0
  599. package/dist/types/websocket/cachePromise.d.ts.map +1 -0
  600. package/dist/types/websocket/types.d.ts +60 -0
  601. package/dist/types/websocket/types.d.ts.map +1 -0
  602. package/dist/types/websocket/wsLog.d.ts +50 -0
  603. package/dist/types/websocket/wsLog.d.ts.map +1 -0
  604. package/package.json +12 -50
  605. package/src/client/PerpsClient.ts +549 -435
  606. package/src/client/bindProvider.ts +24 -0
  607. package/src/client/createPerpsClient.ts +61 -80
  608. package/src/client/requireProvider.ts +29 -0
  609. package/src/errors/PerpsError.ts +11 -22
  610. package/src/errors/constants.ts +8 -13
  611. package/src/index.ts +189 -65
  612. package/src/registry/assetRegistry.ts +62 -0
  613. package/src/registry/marketRegistry.ts +100 -0
  614. package/src/registry/referenceDataRegistry.ts +95 -0
  615. package/src/services/createAction.ts +52 -0
  616. package/src/services/executeAction.ts +56 -0
  617. package/src/services/getAccount.ts +26 -27
  618. package/src/services/getActivity.ts +57 -0
  619. package/src/services/getAssets.ts +38 -0
  620. package/src/services/getFills.ts +55 -0
  621. package/src/services/getMarket.ts +34 -23
  622. package/src/services/getMarkets.ts +21 -18
  623. package/src/services/getMeta.ts +30 -0
  624. package/src/services/getOhlcv.ts +21 -27
  625. package/src/services/getOrder.ts +23 -27
  626. package/src/services/getOrderbook.ts +18 -30
  627. package/src/services/getOrders.ts +51 -0
  628. package/src/services/getPositions.ts +51 -0
  629. package/src/services/getPrices.ts +16 -31
  630. package/src/services/getProviders.ts +31 -0
  631. package/src/services/getQuote.ts +58 -0
  632. package/src/services/getTermsAcceptance.ts +32 -0
  633. package/src/services/resolveQuote.ts +122 -0
  634. package/src/services/resolveSubscribeQuote.ts +109 -0
  635. package/src/storage/parseStoredRecord.ts +55 -0
  636. package/src/{agent → storage}/storage.ts +6 -4
  637. package/src/storage/types.ts +13 -0
  638. package/src/transport/fetchWithRetry.ts +116 -0
  639. package/src/transport/request.ts +123 -0
  640. package/src/transport/retryPolicy.ts +202 -0
  641. package/src/types/api.ts +239 -0
  642. package/src/types/config.ts +79 -0
  643. package/src/types/provider.ts +429 -0
  644. package/src/utils/accountSummary.ts +46 -0
  645. package/src/utils/assertNever.ts +23 -0
  646. package/src/utils/calculations.ts +406 -0
  647. package/src/utils/depositChain.ts +37 -0
  648. package/src/utils/explorer.ts +51 -0
  649. package/src/utils/fillClassification.ts +51 -0
  650. package/src/utils/format.ts +212 -0
  651. package/src/utils/orderClassification.ts +96 -0
  652. package/src/utils/orderMath.ts +134 -0
  653. package/src/utils/parse.ts +29 -0
  654. package/src/utils/positionMath.ts +149 -0
  655. package/src/utils/signTypedData.ts +25 -15
  656. package/src/utils/sleep.ts +5 -0
  657. package/src/utils/units.ts +39 -0
  658. package/src/utils/validation.ts +38 -0
  659. package/src/version.ts +1 -1
  660. package/src/websocket/PerpsWsClient.ts +204 -0
  661. package/src/websocket/ReconnectingWebSocket.ts +353 -0
  662. package/src/websocket/WsProviderBase.ts +333 -0
  663. package/src/websocket/cachePromise.ts +30 -0
  664. package/src/websocket/types.ts +75 -0
  665. package/src/websocket/wsLog.ts +82 -0
  666. package/dist/cjs/agent/AgentManager.d.ts +0 -15
  667. package/dist/cjs/agent/AgentManager.d.ts.map +0 -1
  668. package/dist/cjs/agent/AgentManager.js +0 -80
  669. package/dist/cjs/agent/AgentManager.js.map +0 -1
  670. package/dist/cjs/agent/storage.d.ts.map +0 -1
  671. package/dist/cjs/agent/storage.js.map +0 -1
  672. package/dist/cjs/agent/types.d.ts.map +0 -1
  673. package/dist/cjs/client/types.d.ts +0 -62
  674. package/dist/cjs/client/types.d.ts.map +0 -1
  675. package/dist/cjs/dex/hyperliquid.d.ts +0 -3
  676. package/dist/cjs/dex/hyperliquid.d.ts.map +0 -1
  677. package/dist/cjs/dex/hyperliquid.js +0 -21
  678. package/dist/cjs/dex/hyperliquid.js.map +0 -1
  679. package/dist/cjs/dex/registry.d.ts +0 -3
  680. package/dist/cjs/dex/registry.d.ts.map +0 -1
  681. package/dist/cjs/dex/registry.js +0 -16
  682. package/dist/cjs/dex/registry.js.map +0 -1
  683. package/dist/cjs/dex/types.d.ts +0 -13
  684. package/dist/cjs/dex/types.d.ts.map +0 -1
  685. package/dist/cjs/errors/AgentError.d.ts +0 -10
  686. package/dist/cjs/errors/AgentError.d.ts.map +0 -1
  687. package/dist/cjs/errors/AgentError.js +0 -23
  688. package/dist/cjs/errors/AgentError.js.map +0 -1
  689. package/dist/cjs/errors/HTTPError.d.ts +0 -11
  690. package/dist/cjs/errors/HTTPError.d.ts.map +0 -1
  691. package/dist/cjs/errors/HTTPError.js +0 -62
  692. package/dist/cjs/errors/HTTPError.js.map +0 -1
  693. package/dist/cjs/errors/PerpsSDKError.d.ts +0 -9
  694. package/dist/cjs/errors/PerpsSDKError.d.ts.map +0 -1
  695. package/dist/cjs/errors/PerpsSDKError.js +0 -36
  696. package/dist/cjs/errors/PerpsSDKError.js.map +0 -1
  697. package/dist/cjs/errors/ServerError.d.ts +0 -10
  698. package/dist/cjs/errors/ServerError.d.ts.map +0 -1
  699. package/dist/cjs/errors/ServerError.js +0 -24
  700. package/dist/cjs/errors/ServerError.js.map +0 -1
  701. package/dist/cjs/errors/ValidationError.d.ts +0 -9
  702. package/dist/cjs/errors/ValidationError.d.ts.map +0 -1
  703. package/dist/cjs/errors/ValidationError.js +0 -23
  704. package/dist/cjs/errors/ValidationError.js.map +0 -1
  705. package/dist/cjs/errors/utils/rootCause.d.ts +0 -6
  706. package/dist/cjs/errors/utils/rootCause.d.ts.map +0 -1
  707. package/dist/cjs/errors/utils/rootCause.js +0 -41
  708. package/dist/cjs/errors/utils/rootCause.js.map +0 -1
  709. package/dist/cjs/realtime/PerpsWsClient.d.ts +0 -14
  710. package/dist/cjs/realtime/PerpsWsClient.d.ts.map +0 -1
  711. package/dist/cjs/realtime/PerpsWsClient.js +0 -56
  712. package/dist/cjs/realtime/PerpsWsClient.js.map +0 -1
  713. package/dist/cjs/realtime/ReconnectingWebSocket.d.ts +0 -36
  714. package/dist/cjs/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  715. package/dist/cjs/realtime/ReconnectingWebSocket.js +0 -132
  716. package/dist/cjs/realtime/ReconnectingWebSocket.js.map +0 -1
  717. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -26
  718. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  719. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js +0 -225
  720. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
  721. package/dist/cjs/realtime/hyperliquid/types.d.ts +0 -35
  722. package/dist/cjs/realtime/hyperliquid/types.d.ts.map +0 -1
  723. package/dist/cjs/realtime/hyperliquid/types.js.map +0 -1
  724. package/dist/cjs/realtime/types.d.ts +0 -10
  725. package/dist/cjs/realtime/types.d.ts.map +0 -1
  726. package/dist/cjs/realtime/types.js +0 -3
  727. package/dist/cjs/services/cancelOrder.d.ts +0 -10
  728. package/dist/cjs/services/cancelOrder.d.ts.map +0 -1
  729. package/dist/cjs/services/cancelOrder.js +0 -16
  730. package/dist/cjs/services/cancelOrder.js.map +0 -1
  731. package/dist/cjs/services/createAuthorization.d.ts +0 -10
  732. package/dist/cjs/services/createAuthorization.d.ts.map +0 -1
  733. package/dist/cjs/services/createAuthorization.js +0 -16
  734. package/dist/cjs/services/createAuthorization.js.map +0 -1
  735. package/dist/cjs/services/createOrder.d.ts +0 -21
  736. package/dist/cjs/services/createOrder.d.ts.map +0 -1
  737. package/dist/cjs/services/createOrder.js +0 -27
  738. package/dist/cjs/services/createOrder.js.map +0 -1
  739. package/dist/cjs/services/createWithdrawal.d.ts +0 -9
  740. package/dist/cjs/services/createWithdrawal.d.ts.map +0 -1
  741. package/dist/cjs/services/createWithdrawal.js +0 -15
  742. package/dist/cjs/services/createWithdrawal.js.map +0 -1
  743. package/dist/cjs/services/getDexes.d.ts +0 -4
  744. package/dist/cjs/services/getDexes.d.ts.map +0 -1
  745. package/dist/cjs/services/getDexes.js +0 -8
  746. package/dist/cjs/services/getDexes.js.map +0 -1
  747. package/dist/cjs/services/getHistory.d.ts +0 -10
  748. package/dist/cjs/services/getHistory.d.ts.map +0 -1
  749. package/dist/cjs/services/getHistory.js +0 -14
  750. package/dist/cjs/services/getHistory.js.map +0 -1
  751. package/dist/cjs/services/submitAuthorization.d.ts +0 -10
  752. package/dist/cjs/services/submitAuthorization.d.ts.map +0 -1
  753. package/dist/cjs/services/submitAuthorization.js.map +0 -1
  754. package/dist/cjs/services/submitOrder.d.ts +0 -10
  755. package/dist/cjs/services/submitOrder.d.ts.map +0 -1
  756. package/dist/cjs/services/submitOrder.js +0 -16
  757. package/dist/cjs/services/submitOrder.js.map +0 -1
  758. package/dist/cjs/services/submitWithdrawal.d.ts +0 -9
  759. package/dist/cjs/services/submitWithdrawal.d.ts.map +0 -1
  760. package/dist/cjs/services/submitWithdrawal.js +0 -15
  761. package/dist/cjs/services/submitWithdrawal.js.map +0 -1
  762. package/dist/cjs/utils/request.d.ts.map +0 -1
  763. package/dist/cjs/utils/request.js +0 -60
  764. package/dist/cjs/utils/request.js.map +0 -1
  765. package/dist/esm/agent/AgentManager.d.ts +0 -45
  766. package/dist/esm/agent/AgentManager.d.ts.map +0 -1
  767. package/dist/esm/agent/AgentManager.js +0 -110
  768. package/dist/esm/agent/AgentManager.js.map +0 -1
  769. package/dist/esm/agent/storage.d.ts.map +0 -1
  770. package/dist/esm/agent/storage.js.map +0 -1
  771. package/dist/esm/agent/types.d.ts +0 -23
  772. package/dist/esm/agent/types.d.ts.map +0 -1
  773. package/dist/esm/agent/types.js.map +0 -1
  774. package/dist/esm/client/types.d.ts +0 -134
  775. package/dist/esm/client/types.d.ts.map +0 -1
  776. package/dist/esm/client/types.js.map +0 -1
  777. package/dist/esm/dex/hyperliquid.d.ts +0 -3
  778. package/dist/esm/dex/hyperliquid.d.ts.map +0 -1
  779. package/dist/esm/dex/hyperliquid.js +0 -19
  780. package/dist/esm/dex/hyperliquid.js.map +0 -1
  781. package/dist/esm/dex/registry.d.ts +0 -3
  782. package/dist/esm/dex/registry.d.ts.map +0 -1
  783. package/dist/esm/dex/registry.js +0 -13
  784. package/dist/esm/dex/registry.js.map +0 -1
  785. package/dist/esm/dex/types.d.ts +0 -15
  786. package/dist/esm/dex/types.d.ts.map +0 -1
  787. package/dist/esm/dex/types.js +0 -2
  788. package/dist/esm/dex/types.js.map +0 -1
  789. package/dist/esm/errors/AgentError.d.ts +0 -25
  790. package/dist/esm/errors/AgentError.d.ts.map +0 -1
  791. package/dist/esm/errors/AgentError.js +0 -35
  792. package/dist/esm/errors/AgentError.js.map +0 -1
  793. package/dist/esm/errors/HTTPError.d.ts +0 -11
  794. package/dist/esm/errors/HTTPError.d.ts.map +0 -1
  795. package/dist/esm/errors/HTTPError.js +0 -61
  796. package/dist/esm/errors/HTTPError.js.map +0 -1
  797. package/dist/esm/errors/PerpsSDKError.d.ts +0 -40
  798. package/dist/esm/errors/PerpsSDKError.d.ts.map +0 -1
  799. package/dist/esm/errors/PerpsSDKError.js +0 -67
  800. package/dist/esm/errors/PerpsSDKError.js.map +0 -1
  801. package/dist/esm/errors/ServerError.d.ts +0 -23
  802. package/dist/esm/errors/ServerError.d.ts.map +0 -1
  803. package/dist/esm/errors/ServerError.js +0 -34
  804. package/dist/esm/errors/ServerError.js.map +0 -1
  805. package/dist/esm/errors/ValidationError.d.ts +0 -23
  806. package/dist/esm/errors/ValidationError.d.ts.map +0 -1
  807. package/dist/esm/errors/ValidationError.js +0 -34
  808. package/dist/esm/errors/ValidationError.js.map +0 -1
  809. package/dist/esm/errors/utils/rootCause.d.ts +0 -71
  810. package/dist/esm/errors/utils/rootCause.d.ts.map +0 -1
  811. package/dist/esm/errors/utils/rootCause.js +0 -99
  812. package/dist/esm/errors/utils/rootCause.js.map +0 -1
  813. package/dist/esm/realtime/PerpsWsClient.d.ts +0 -14
  814. package/dist/esm/realtime/PerpsWsClient.d.ts.map +0 -1
  815. package/dist/esm/realtime/PerpsWsClient.js +0 -52
  816. package/dist/esm/realtime/PerpsWsClient.js.map +0 -1
  817. package/dist/esm/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  818. package/dist/esm/realtime/ReconnectingWebSocket.js +0 -128
  819. package/dist/esm/realtime/ReconnectingWebSocket.js.map +0 -1
  820. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -26
  821. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  822. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js +0 -222
  823. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
  824. package/dist/esm/realtime/hyperliquid/types.d.ts +0 -35
  825. package/dist/esm/realtime/hyperliquid/types.d.ts.map +0 -1
  826. package/dist/esm/realtime/hyperliquid/types.js +0 -4
  827. package/dist/esm/realtime/hyperliquid/types.js.map +0 -1
  828. package/dist/esm/realtime/types.d.ts +0 -10
  829. package/dist/esm/realtime/types.d.ts.map +0 -1
  830. package/dist/esm/realtime/types.js +0 -2
  831. package/dist/esm/realtime/types.js.map +0 -1
  832. package/dist/esm/services/cancelOrder.d.ts +0 -51
  833. package/dist/esm/services/cancelOrder.d.ts.map +0 -1
  834. package/dist/esm/services/cancelOrder.js +0 -50
  835. package/dist/esm/services/cancelOrder.js.map +0 -1
  836. package/dist/esm/services/createAuthorization.d.ts +0 -51
  837. package/dist/esm/services/createAuthorization.d.ts.map +0 -1
  838. package/dist/esm/services/createAuthorization.js +0 -50
  839. package/dist/esm/services/createAuthorization.js.map +0 -1
  840. package/dist/esm/services/createOrder.d.ts +0 -74
  841. package/dist/esm/services/createOrder.d.ts.map +0 -1
  842. package/dist/esm/services/createOrder.js +0 -62
  843. package/dist/esm/services/createOrder.js.map +0 -1
  844. package/dist/esm/services/createWithdrawal.d.ts +0 -49
  845. package/dist/esm/services/createWithdrawal.d.ts.map +0 -1
  846. package/dist/esm/services/createWithdrawal.js +0 -49
  847. package/dist/esm/services/createWithdrawal.js.map +0 -1
  848. package/dist/esm/services/getDexes.d.ts +0 -20
  849. package/dist/esm/services/getDexes.d.ts.map +0 -1
  850. package/dist/esm/services/getDexes.js +0 -21
  851. package/dist/esm/services/getDexes.js.map +0 -1
  852. package/dist/esm/services/getHistory.d.ts +0 -45
  853. package/dist/esm/services/getHistory.d.ts.map +0 -1
  854. package/dist/esm/services/getHistory.js +0 -42
  855. package/dist/esm/services/getHistory.js.map +0 -1
  856. package/dist/esm/services/submitAuthorization.d.ts +0 -42
  857. package/dist/esm/services/submitAuthorization.d.ts.map +0 -1
  858. package/dist/esm/services/submitAuthorization.js +0 -41
  859. package/dist/esm/services/submitAuthorization.js.map +0 -1
  860. package/dist/esm/services/submitOrder.d.ts +0 -44
  861. package/dist/esm/services/submitOrder.d.ts.map +0 -1
  862. package/dist/esm/services/submitOrder.js +0 -43
  863. package/dist/esm/services/submitOrder.js.map +0 -1
  864. package/dist/esm/services/submitWithdrawal.d.ts +0 -40
  865. package/dist/esm/services/submitWithdrawal.d.ts.map +0 -1
  866. package/dist/esm/services/submitWithdrawal.js +0 -40
  867. package/dist/esm/services/submitWithdrawal.js.map +0 -1
  868. package/dist/esm/utils/request.d.ts +0 -26
  869. package/dist/esm/utils/request.d.ts.map +0 -1
  870. package/dist/esm/utils/request.js +0 -78
  871. package/dist/esm/utils/request.js.map +0 -1
  872. package/dist/types/agent/AgentManager.d.ts +0 -45
  873. package/dist/types/agent/AgentManager.d.ts.map +0 -1
  874. package/dist/types/agent/storage.d.ts.map +0 -1
  875. package/dist/types/agent/types.d.ts +0 -23
  876. package/dist/types/agent/types.d.ts.map +0 -1
  877. package/dist/types/client/types.d.ts +0 -134
  878. package/dist/types/client/types.d.ts.map +0 -1
  879. package/dist/types/dex/hyperliquid.d.ts +0 -3
  880. package/dist/types/dex/hyperliquid.d.ts.map +0 -1
  881. package/dist/types/dex/registry.d.ts +0 -3
  882. package/dist/types/dex/registry.d.ts.map +0 -1
  883. package/dist/types/dex/types.d.ts +0 -15
  884. package/dist/types/dex/types.d.ts.map +0 -1
  885. package/dist/types/errors/AgentError.d.ts +0 -25
  886. package/dist/types/errors/AgentError.d.ts.map +0 -1
  887. package/dist/types/errors/HTTPError.d.ts +0 -11
  888. package/dist/types/errors/HTTPError.d.ts.map +0 -1
  889. package/dist/types/errors/PerpsSDKError.d.ts +0 -40
  890. package/dist/types/errors/PerpsSDKError.d.ts.map +0 -1
  891. package/dist/types/errors/ServerError.d.ts +0 -23
  892. package/dist/types/errors/ServerError.d.ts.map +0 -1
  893. package/dist/types/errors/ValidationError.d.ts +0 -23
  894. package/dist/types/errors/ValidationError.d.ts.map +0 -1
  895. package/dist/types/errors/utils/rootCause.d.ts +0 -71
  896. package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
  897. package/dist/types/realtime/PerpsWsClient.d.ts +0 -14
  898. package/dist/types/realtime/PerpsWsClient.d.ts.map +0 -1
  899. package/dist/types/realtime/ReconnectingWebSocket.d.ts +0 -36
  900. package/dist/types/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  901. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -26
  902. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  903. package/dist/types/realtime/hyperliquid/types.d.ts +0 -35
  904. package/dist/types/realtime/hyperliquid/types.d.ts.map +0 -1
  905. package/dist/types/realtime/types.d.ts +0 -10
  906. package/dist/types/realtime/types.d.ts.map +0 -1
  907. package/dist/types/services/cancelOrder.d.ts +0 -51
  908. package/dist/types/services/cancelOrder.d.ts.map +0 -1
  909. package/dist/types/services/createAuthorization.d.ts +0 -51
  910. package/dist/types/services/createAuthorization.d.ts.map +0 -1
  911. package/dist/types/services/createOrder.d.ts +0 -74
  912. package/dist/types/services/createOrder.d.ts.map +0 -1
  913. package/dist/types/services/createWithdrawal.d.ts +0 -49
  914. package/dist/types/services/createWithdrawal.d.ts.map +0 -1
  915. package/dist/types/services/getDexes.d.ts +0 -20
  916. package/dist/types/services/getDexes.d.ts.map +0 -1
  917. package/dist/types/services/getHistory.d.ts +0 -45
  918. package/dist/types/services/getHistory.d.ts.map +0 -1
  919. package/dist/types/services/submitAuthorization.d.ts +0 -42
  920. package/dist/types/services/submitAuthorization.d.ts.map +0 -1
  921. package/dist/types/services/submitOrder.d.ts +0 -44
  922. package/dist/types/services/submitOrder.d.ts.map +0 -1
  923. package/dist/types/services/submitWithdrawal.d.ts +0 -40
  924. package/dist/types/services/submitWithdrawal.d.ts.map +0 -1
  925. package/dist/types/utils/request.d.ts +0 -26
  926. package/dist/types/utils/request.d.ts.map +0 -1
  927. package/src/agent/AgentManager.ts +0 -135
  928. package/src/agent/types.ts +0 -24
  929. package/src/client/types.ts +0 -162
  930. package/src/dex/hyperliquid.ts +0 -20
  931. package/src/dex/registry.ts +0 -15
  932. package/src/dex/types.ts +0 -16
  933. package/src/errors/AgentError.ts +0 -43
  934. package/src/errors/HTTPError.ts +0 -72
  935. package/src/errors/PerpsSDKError.ts +0 -79
  936. package/src/errors/ServerError.ts +0 -41
  937. package/src/errors/ValidationError.ts +0 -38
  938. package/src/errors/utils/rootCause.ts +0 -112
  939. package/src/realtime/PerpsWsClient.ts +0 -73
  940. package/src/realtime/ReconnectingWebSocket.ts +0 -156
  941. package/src/realtime/hyperliquid/HyperliquidWsProvider.ts +0 -278
  942. package/src/realtime/hyperliquid/types.ts +0 -48
  943. package/src/realtime/types.ts +0 -16
  944. package/src/services/cancelOrder.ts +0 -75
  945. package/src/services/createAuthorization.ts +0 -79
  946. package/src/services/createOrder.ts +0 -116
  947. package/src/services/createWithdrawal.ts +0 -76
  948. package/src/services/getDexes.ts +0 -34
  949. package/src/services/getHistory.ts +0 -62
  950. package/src/services/submitAuthorization.ts +0 -70
  951. package/src/services/submitOrder.ts +0 -72
  952. package/src/services/submitWithdrawal.ts +0 -67
  953. package/src/utils/request.ts +0 -116
  954. /package/dist/cjs/{agent → storage}/storage.d.ts +0 -0
  955. /package/dist/cjs/{agent → storage}/storage.js +0 -0
  956. /package/dist/cjs/{agent → storage}/types.js +0 -0
  957. /package/dist/cjs/{client → websocket}/types.js +0 -0
  958. /package/dist/esm/{agent → storage}/types.js +0 -0
  959. /package/dist/esm/{client → websocket}/types.js +0 -0
package/README.md CHANGED
@@ -7,48 +7,185 @@
7
7
 
8
8
  </div>
9
9
 
10
- <h1 align="center">LI.FI Perps SDK</h1>
10
+ # `@lifi/perps-sdk`
11
11
 
12
- [**LI.FI Perps SDK**](https://public-perps-docs.mintlify.app/) provides a TypeScript SDK for the LI.FI Perps API. Trade perpetuals across multiple DEXes with a unified interface.
12
+ Core of the [LI.FI Perps SDK](https://public-perps-docs.mintlify.app/) a TypeScript SDK for trading perpetuals across multiple DEXes through one unified interface.
13
13
 
14
- - Unified interface across multiple perpetual DEXes
15
- - Low-level service functions for explicit signing control
16
- - High-level `PerpsClient` with automatic agent signing (no wallet popups)
17
- - Full TypeScript support with all types and enums exported
14
+ - **Unified API** across perpetual DEXes (Hyperliquid, Lighter).
15
+ - **Provider plugins** each DEX ships as a separate package you register on the client.
16
+ - **Agent-based signing** trades execute without per-order wallet popups (one-time wallet signature during setup).
17
+ - **Two layers** low-level service functions and the high-level `PerpsClient`.
18
+ - **Realtime** — WebSocket subscriptions for prices, orderbook, and fills.
19
+ - **Fully typed** — all types exported, sourced from `@lifi/perps-types`.
18
20
 
19
21
  ## Installation
20
22
 
23
+ Install the core SDK plus the provider plugin(s) for the DEX(es) you target:
24
+
21
25
  ```bash
22
- pnpm add @lifi/perps-sdk
26
+ pnpm add @lifi/perps-sdk @lifi/perps-sdk-provider-hyperliquid
23
27
  # or
24
- npm install @lifi/perps-sdk
28
+ npm install @lifi/perps-sdk @lifi/perps-sdk-provider-hyperliquid
25
29
  ```
26
30
 
31
+ | Package | Install for |
32
+ | --- | --- |
33
+ | `@lifi/perps-sdk` | every project |
34
+ | [`@lifi/perps-sdk-provider-hyperliquid`](https://www.npmjs.com/package/@lifi/perps-sdk-provider-hyperliquid) | Hyperliquid |
35
+ | [`@lifi/perps-sdk-provider-lighter`](https://www.npmjs.com/package/@lifi/perps-sdk-provider-lighter) | Lighter |
36
+
37
+ Get an API key from the [LI.FI Partner Portal](https://portal.li.fi/).
38
+
39
+ ## Gotchas
40
+
41
+ - **Register every provider plugin on the client.** The core SDK ships no DEX
42
+ logic — pass the plugins via the `providers` option (`hyperliquidProvider()`,
43
+ `lighterProvider()`) or a call to any provider-specific service throws.
44
+ - **Setup needs a one-time wallet signature.** `placeOrder` signs with a
45
+ per-user agent, not the wallet. Run `checkSetup` and complete the returned
46
+ steps (one user-signed step provisions the agent) before trading; `isReady`
47
+ flips `true` once everything is satisfied.
48
+ - **Markets are referenced by opaque `marketId`, not display symbol.** A
49
+ `MarketRef` is `{ marketId, categoryId }` where `marketId` is `Market.id`
50
+ from `getMarkets` — not a string like `'BTC'`. The same applies to the
51
+ `marketIds` filter on `getMarkets` / `getPrices`.
52
+
53
+ ## Architecture
54
+
55
+ ### Package layering
56
+
57
+ `@lifi/perps-types` is a zero-dependency wire-type package at the base. The core `@lifi/perps-sdk` depends on it. Each provider plugin depends on `@lifi/perps-types` directly and takes the core SDK as a peer dependency — so your project installs exactly one copy of the SDK.
58
+
59
+ ### Action lifecycle
60
+
61
+ Every mutating action (order placement, cancellation, withdrawal, setup) follows the same pipeline: `PerpsClient` requests unsigned action steps from the LI.FI backend (`createAction`), the provider plugin signs them, and the client submits the signed steps back (`executeAction`). The developer experience is one wallet signature at setup time — the agent provisioned during setup signs all subsequent orders automatically, with no per-order wallet popups.
62
+
63
+ ### Data-plane split
64
+
65
+ Market-structure reads (markets, assets, prices, OHLCV, orderbook) go through the LI.FI backend, which fans out to each venue on your behalf. Per-user reads (account state, positions, orders, fills, activity) go from the SDK directly to the venue API using the end-user's own IP — this keeps venue rate limits per-user rather than concentrating them on the backend's single egress address.
66
+
27
67
  ## Quick Start
28
68
 
69
+ ### Fetch market data
70
+
29
71
  ```typescript
30
- import { createPerpsClient, getDexes, getMarkets } from '@lifi/perps-sdk'
72
+ import { createPerpsClient, getProviders, getMarkets, getPrices } from '@lifi/perps-sdk'
73
+
74
+ const client = createPerpsClient({ integrator: 'my-app', apiKey: 'your-api-key' })
75
+
76
+ // getProviders returns the live provider list; provider: takes a key string
77
+ // like 'hyperliquid' or 'lighter'.
78
+ const { providers } = await getProviders(client)
79
+ const { markets } = await getMarkets(client, { provider: providers[0].key })
80
+ const { prices } = await getPrices(client, {
81
+ provider: 'hyperliquid',
82
+ marketIds: markets.slice(0, 2).map((m) => m.id),
83
+ })
84
+ ```
31
85
 
32
- // 1. Create a client (required before any API calls)
33
- const client = createPerpsClient({
86
+ ### Trade with PerpsClient
87
+
88
+ Register the provider plugin(s), run the one-time setup flow, then place orders:
89
+
90
+ ```typescript
91
+ import { PerpsClient, OrderSide, OrderType } from '@lifi/perps-sdk'
92
+ import { hyperliquidProvider } from '@lifi/perps-sdk-provider-hyperliquid'
93
+
94
+ const perps = new PerpsClient({
34
95
  integrator: 'my-app',
35
- apiKey: 'optional-api-key',
96
+ apiKey: 'your-api-key',
97
+ providers: [hyperliquidProvider()],
98
+ })
99
+
100
+ // One-time setup: provisions the signing agent and reports any steps still
101
+ // needing the user's wallet signature. isReady === true once satisfied.
102
+ const setup = await perps.checkSetup({ provider: 'hyperliquid', address })
103
+
104
+ // Resolve the market to trade from getMarkets, then place the order — the
105
+ // agent signs automatically, no wallet popups.
106
+ const result = await perps.placeOrder({
107
+ provider: 'hyperliquid',
108
+ address,
109
+ market: { marketId: market.id, categoryId: market.categoryId },
110
+ side: OrderSide.BUY,
111
+ type: OrderType.MARKET,
112
+ size: '0.1',
113
+ price: '95000.00',
114
+ })
115
+ ```
116
+
117
+ See the [`agent-trading` example](https://github.com/lifinance/perps-sdk/tree/main/examples) for the full setup flow, including signing the user-gated steps.
118
+
119
+ ### Venue-correct order formatting
120
+
121
+ Tick/lot rules and margin models differ per venue, so price/size formatting and
122
+ liquidation previews are provider methods — always route them through the
123
+ market's own provider rather than applying one venue's rules to another's
124
+ markets:
125
+
126
+ ```typescript
127
+ const provider = perps.client.getProvider(market.providerId)!
128
+ const price = provider.formatOrderPrice(market, 95000.25)
129
+ const size = provider.formatOrderSize(market, 0.123456)
130
+ const liq = provider.estimateLiquidationPrice(market, {
131
+ entryPrice: 95000,
132
+ leverage: 10,
133
+ isLong: true,
134
+ }) // number, or undefined when the venue model can't be evaluated client-side
135
+ ```
136
+
137
+ ## Realtime (WebSocket)
138
+
139
+ `PerpsWsClient` is the realtime layer. It lazily opens one socket per provider
140
+ on first subscribe, ref-counts listeners onto a single wire subscription per
141
+ channel, and fans each event out to every listener — so each consumer
142
+ subscribes independently and the SDK dedupes. Active subscriptions are replayed
143
+ automatically on reconnect.
144
+
145
+ ```typescript
146
+ import { PerpsWsClient, createPerpsClient } from '@lifi/perps-sdk'
147
+ import { hyperliquidWsProvider } from '@lifi/perps-sdk-provider-hyperliquid'
148
+ import { lighterWsProvider } from '@lifi/perps-sdk-provider-lighter'
149
+
150
+ const client = createPerpsClient({ integrator: 'my-app', apiKey: 'your-api-key' })
151
+
152
+ const ws = new PerpsWsClient(client, {
153
+ wsProviders: {
154
+ hyperliquid: hyperliquidWsProvider(),
155
+ lighter: lighterWsProvider(),
156
+ },
36
157
  })
37
158
 
38
- // 2. Fetch market data (no authentication required)
39
- const { dexes } = await getDexes(client)
40
- const { markets } = await getMarkets(client, { dex: 'hyperliquid' })
159
+ const unsubscribe = await ws.subscribe(
160
+ { channel: 'prices', dex: 'hyperliquid' },
161
+ (event) => console.log(event.data), // Market.id last-trade price
162
+ (status) => console.log(status), // 'connected' | 'reconnecting' | 'disconnected'
163
+ )
164
+
165
+ unsubscribe() // release this listener; socket closes when the last one releases
166
+ ws.close() // close all sockets and drop cached providers
41
167
  ```
42
168
 
169
+ Lighter's account-scoped channels (`orderUpdates`, `positions`) require an
170
+ `authProvider` on `lighterWsProvider()`. See the
171
+ [`websocket-subscriptions` example](https://github.com/lifinance/perps-sdk/tree/main/examples)
172
+ and the [SDK documentation](https://public-perps-docs.mintlify.app/) for the
173
+ full channel list, authentication, and reconnect model.
174
+
175
+ ## Provider plugins
176
+
177
+ Register one plugin per DEX you trade. Each plugin's README documents its
178
+ signing model, setup flow, and exported surface:
179
+
180
+ - [`@lifi/perps-sdk-provider-hyperliquid`](https://www.npmjs.com/package/@lifi/perps-sdk-provider-hyperliquid)
181
+ - [`@lifi/perps-sdk-provider-lighter`](https://www.npmjs.com/package/@lifi/perps-sdk-provider-lighter)
182
+
43
183
  ## Examples
44
184
 
45
- See the [`examples/`](./examples) folder for runnable code covering market data, account data, trading, agent-based trading, error handling, and custom storage.
185
+ Runnable scripts live in the [`examples/`](https://github.com/lifinance/perps-sdk/tree/main/examples) directory of the repository market data, account data, agent trading, error handling, custom storage, and WebSocket subscriptions.
46
186
 
47
187
  ## Documentation
48
188
 
49
189
  - [Full documentation](https://public-perps-docs.mintlify.app/)
50
190
  - [API reference](https://public-perps-docs.mintlify.app/api-reference)
51
-
52
- ## Changelog
53
-
54
- See [CHANGELOG.md](./CHANGELOG.md).
191
+ - [Source and issues](https://github.com/lifinance/perps-sdk)
@@ -1,30 +1,63 @@
1
- import type { Address, AuthorizationsResponse, CancelOrderPayloadResponse, CreateAuthorizationResponse, CreateOrderResponse, CreateWithdrawalResponse, SubmitOrderResponse, SubmitWithdrawalResponse } from '@lifi/perps-types';
2
- import type { SubmitAuthorizationParams } from '../services/submitAuthorization.js';
3
- import type { SubmitOrderParams } from '../services/submitOrder.js';
4
- import type { SubmitWithdrawalParams } from '../services/submitWithdrawal.js';
5
- import { type PerpsSDKClient } from './createPerpsClient.js';
6
- import type { BuildAuthorizationParams, BuildWithdrawalParams, CancelOrdersParams, ExecuteAuthorizationsParams, ExecuteAuthorizationsResult, GetRequiredAuthorizationsParams, PerpsClientOptions, PlaceOrderParams, RequiredAuthorizationsResult, SigningMode } from './types.js';
1
+ import type { AccountResponse, AccountSummary, ActionParamsMap, ActionStep, CreateActionResponse, ExecuteActionResponse, MarketRef, Position, SignedActionStep } from '@lifi/perps-types';
2
+ import { ActionType } from '@lifi/perps-types';
3
+ import type { Address } from 'viem';
4
+ import type { BuildProviderSetupParams, CancelOrdersParams, ExecuteProviderSetupParams, ExecuteProviderSetupResult, GetAccountResult, GetSetupParams, ModifyOrdersParams, PerpsClientOptions, PlaceOrderParams, PlaceTriggerOrderParams, ProviderSetup, WithdrawParams } from '../types/api.js';
5
+ import type { PerpsSDKClient } from '../types/provider.js';
7
6
  export declare class PerpsClient {
8
7
  private sdkClient;
9
- private signingModes;
8
+ private providerMetadataCache;
9
+ private _userWallet;
10
10
  constructor(options: PerpsClientOptions);
11
+ setUserWallet(userWallet: PerpsSDKClient['userWallet']): void;
11
12
  get client(): PerpsSDKClient;
12
- private modeKey;
13
- setSigningMode(address: Address, dex: string, mode: SigningMode): Promise<void>;
14
- getSigningMode(address: Address, dex: string): SigningMode;
15
- getAgentAddress(address: Address, dex: string): Promise<Address>;
16
- hasAgent(address: Address, dex: string): Promise<boolean>;
17
- removeAgent(address: Address, dex: string): Promise<void>;
18
- buildAuthorization(params: BuildAuthorizationParams): Promise<CreateAuthorizationResponse>;
19
- submitAuthorizations(params: SubmitAuthorizationParams): Promise<AuthorizationsResponse>;
20
- buildOrder(params: PlaceOrderParams): Promise<CreateOrderResponse>;
21
- buildCancelOrder(params: CancelOrdersParams): Promise<CancelOrderPayloadResponse>;
22
- placeOrder(params: PlaceOrderParams): Promise<SubmitOrderResponse>;
23
- cancelOrders(params: CancelOrdersParams): Promise<SubmitOrderResponse>;
24
- submitSignedOrder(params: SubmitOrderParams): Promise<SubmitOrderResponse>;
25
- buildWithdrawal(params: BuildWithdrawalParams): Promise<CreateWithdrawalResponse>;
26
- submitWithdrawal(params: SubmitWithdrawalParams): Promise<SubmitWithdrawalResponse>;
27
- getRequiredAuthorizations(params: GetRequiredAuthorizationsParams): Promise<RequiredAuthorizationsResult>;
28
- executeAuthorizations(params: ExecuteAuthorizationsParams): Promise<ExecuteAuthorizationsResult>;
13
+ private getProviderMetadata;
14
+ private requireProvider;
15
+ private resolveActionRequest;
16
+ private delegateSignActions;
17
+ private buildSignActionsContext;
18
+ signProviderSetupAction(provider: string, address: Address, step: ActionStep): Promise<SignedActionStep>;
19
+ buildAction<T extends ActionType>(action: T, params: {
20
+ provider: string;
21
+ address: Address;
22
+ params: ActionParamsMap[T];
23
+ }): Promise<CreateActionResponse>;
24
+ getAccount(params: {
25
+ provider: string;
26
+ address: Address;
27
+ }): Promise<GetAccountResult>;
28
+ getAccountSummary(account: AccountResponse, positions: Position[]): AccountSummary;
29
+ accountExists(provider: string, address: Address): Promise<boolean>;
30
+ checkSetup(params: GetSetupParams): Promise<ProviderSetup>;
31
+ buildProviderSetup(params: BuildProviderSetupParams): Promise<CreateActionResponse>;
32
+ executeProviderSetup(params: ExecuteProviderSetupParams): Promise<ExecuteProviderSetupResult>;
33
+ executeProviderSetupAction(params: {
34
+ provider: string;
35
+ address: Address;
36
+ step: ActionStep;
37
+ }): Promise<void>;
38
+ executeProviderOption<T extends ActionType>(params: {
39
+ provider: string;
40
+ address: Address;
41
+ action: T;
42
+ params: ActionParamsMap[T];
43
+ }): Promise<void>;
44
+ placeOrder(params: PlaceOrderParams): Promise<ExecuteActionResponse>;
45
+ placeTriggerOrder(params: PlaceTriggerOrderParams): Promise<ExecuteActionResponse>;
46
+ cancelOrders(params: CancelOrdersParams): Promise<ExecuteActionResponse>;
47
+ modifyOrders(params: ModifyOrdersParams): Promise<ExecuteActionResponse>;
48
+ updatePositionMargin(params: {
49
+ provider: string;
50
+ address: Address;
51
+ market: MarketRef;
52
+ action: 'add' | 'remove';
53
+ amount: string;
54
+ }): Promise<ExecuteActionResponse>;
55
+ withdraw(params: WithdrawParams): Promise<ExecuteActionResponse>;
56
+ execute<T extends ActionType>(params: {
57
+ provider: string;
58
+ address: Address;
59
+ action: T;
60
+ params: ActionParamsMap[T];
61
+ }): Promise<ExecuteActionResponse>;
29
62
  }
30
63
  //# sourceMappingURL=PerpsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EAIxB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAS1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAEnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAG7E,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,WAAW,EACZ,MAAM,YAAY,CAAA;AA4CnB,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAsC;gBAE9C,OAAO,EAAE,kBAAkB;IAYvC,IAAI,MAAM,IAAI,cAAc,CAE3B;IAKD,OAAO,CAAC,OAAO;IAaT,cAAc,CAClB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC;IAchB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IASpD,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQzD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczD,kBAAkB,CACtB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,2BAA2B,CAAC;IA0BjC,oBAAoB,CACxB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,sBAAsB,CAAC;IAwB5B,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwClE,gBAAgB,CACpB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,0BAA0B,CAAC;IA6BhC,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6DlE,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiDtE,iBAAiB,CACrB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAazB,eAAe,CACnB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;IAgB9B,gBAAgB,CACpB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IAc9B,yBAAyB,CAC7B,MAAM,EAAE,+BAA+B,GACtC,OAAO,CAAC,4BAA4B,CAAC;IAwDlC,qBAAqB,CACzB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;CAkDxC"}
1
+ {"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,EACT,QAAQ,EAGR,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAkB,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAMnC,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACf,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,sBAAsB,CAAA;AAkC7B,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,qBAAqB,CAAmC;IAChE,OAAO,CAAC,WAAW,CAA0C;gBAEjD,OAAO,EAAE,kBAAkB;IAevC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI;IAc7D,IAAI,MAAM,IAAI,cAAc,CAE3B;YAEa,mBAAmB;IA4BjC,OAAO,CAAC,eAAe;YAYT,oBAAoB;YAsBpB,mBAAmB;IA8BjC,OAAO,CAAC,uBAAuB;IAmBzB,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,gBAAgB,CAAC;IAkBtB,WAAW,CAAC,CAAC,SAAS,UAAU,EACpC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAAE,GACzE,OAAO,CAAC,oBAAoB,CAAC;IAgC1B,UAAU,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;KACjB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmB7B,iBAAiB,CACf,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc;IAiBX,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBnE,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAsB1D,kBAAkB,CACtB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,oBAAoB,CAAC;IA2C1B,oBAAoB,CACxB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;IAkDhC,0BAA0B,CAAC,MAAM,EAAE;QACvC,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,IAAI,EAAE,UAAU,CAAA;KACjB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CX,qBAAqB,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE;QACxD,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,CAAC,CAAA;QACT,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BX,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAYpE,iBAAiB,CACrB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,qBAAqB,CAAC;IAgB3B,YAAY,CAChB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAY3B,YAAY,CAChB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAY3B,oBAAoB,CAAC,MAAM,EAAE;QACjC,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,SAAS,CAAA;QACjB,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAA;QACxB,MAAM,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgB5B,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmBhE,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE;QAC1C,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,OAAO,CAAA;QAChB,MAAM,EAAE,CAAC,CAAA;QACT,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAC3B,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAoCnC"}