@lifi/perps-sdk 0.1.1-alpha.4 → 0.1.1-alpha.40

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 (595) hide show
  1. package/README.md +38 -15
  2. package/dist/cjs/agent/AgentManager.d.ts +5 -5
  3. package/dist/cjs/agent/AgentManager.d.ts.map +1 -1
  4. package/dist/cjs/agent/AgentManager.js +16 -14
  5. package/dist/cjs/agent/AgentManager.js.map +1 -1
  6. package/dist/cjs/client/PerpsClient.d.ts +70 -21
  7. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  8. package/dist/cjs/client/PerpsClient.js +323 -175
  9. package/dist/cjs/client/PerpsClient.js.map +1 -1
  10. package/dist/cjs/client/createPerpsClient.d.ts +12 -2
  11. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
  12. package/dist/cjs/client/createPerpsClient.js +6 -5
  13. package/dist/cjs/client/createPerpsClient.js.map +1 -1
  14. package/dist/cjs/client/types.d.ts +42 -25
  15. package/dist/cjs/client/types.d.ts.map +1 -1
  16. package/dist/cjs/client/types.js +6 -0
  17. package/dist/cjs/client/types.js.map +1 -1
  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 +0 -10
  23. package/dist/cjs/errors/constants.d.ts.map +1 -1
  24. package/dist/cjs/errors/constants.js +1 -12
  25. package/dist/cjs/errors/constants.js.map +1 -1
  26. package/dist/cjs/index.d.ts +31 -32
  27. package/dist/cjs/index.d.ts.map +1 -1
  28. package/dist/cjs/index.js +58 -42
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/realtime/PerpsWsClient.d.ts +1 -0
  31. package/dist/cjs/realtime/PerpsWsClient.d.ts.map +1 -1
  32. package/dist/cjs/realtime/PerpsWsClient.js +28 -23
  33. package/dist/cjs/realtime/PerpsWsClient.js.map +1 -1
  34. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts +9 -5
  35. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
  36. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js +162 -52
  37. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js.map +1 -1
  38. package/dist/cjs/realtime/hyperliquid/types.d.ts +11 -9
  39. package/dist/cjs/realtime/hyperliquid/types.d.ts.map +1 -1
  40. package/dist/cjs/services/createAction.d.ts +11 -0
  41. package/dist/cjs/services/createAction.d.ts.map +1 -0
  42. package/dist/cjs/services/{submitAuthorization.js → createAction.js} +7 -6
  43. package/dist/cjs/services/createAction.js.map +1 -0
  44. package/dist/cjs/services/executeAction.d.ts +11 -0
  45. package/dist/cjs/services/executeAction.d.ts.map +1 -0
  46. package/dist/cjs/services/{submitOrder.js → executeAction.js} +6 -5
  47. package/dist/cjs/services/executeAction.js.map +1 -0
  48. package/dist/cjs/services/getAccount.d.ts +1 -1
  49. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  50. package/dist/cjs/services/getAccount.js +1 -1
  51. package/dist/cjs/services/getAccount.js.map +1 -1
  52. package/dist/cjs/services/getActivity.d.ts +13 -0
  53. package/dist/cjs/services/getActivity.d.ts.map +1 -0
  54. package/dist/cjs/services/getActivity.js +21 -0
  55. package/dist/cjs/services/getActivity.js.map +1 -0
  56. package/dist/cjs/services/getAsset.d.ts +8 -0
  57. package/dist/cjs/services/getAsset.d.ts.map +1 -0
  58. package/dist/cjs/services/{getMarkets.js → getAsset.js} +6 -4
  59. package/dist/cjs/services/getAsset.js.map +1 -0
  60. package/dist/cjs/services/getAssets.d.ts +7 -0
  61. package/dist/cjs/services/getAssets.d.ts.map +1 -0
  62. package/dist/cjs/services/{getMarket.js → getAssets.js} +5 -5
  63. package/dist/cjs/services/getAssets.js.map +1 -0
  64. package/dist/cjs/services/getFills.d.ts +12 -0
  65. package/dist/cjs/services/getFills.d.ts.map +1 -0
  66. package/dist/cjs/services/{getHistory.js → getFills.js} +7 -5
  67. package/dist/cjs/services/getFills.js.map +1 -0
  68. package/dist/cjs/services/getOhlcv.d.ts +1 -1
  69. package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
  70. package/dist/cjs/services/getOhlcv.js +1 -1
  71. package/dist/cjs/services/getOhlcv.js.map +1 -1
  72. package/dist/cjs/services/getOrder.d.ts +1 -1
  73. package/dist/cjs/services/getOrder.d.ts.map +1 -1
  74. package/dist/cjs/services/getOrder.js +1 -1
  75. package/dist/cjs/services/getOrder.js.map +1 -1
  76. package/dist/cjs/services/getOrderbook.d.ts +1 -1
  77. package/dist/cjs/services/getOrderbook.d.ts.map +1 -1
  78. package/dist/cjs/services/getOrderbook.js +1 -1
  79. package/dist/cjs/services/getOrderbook.js.map +1 -1
  80. package/dist/cjs/services/getOrders.d.ts +11 -0
  81. package/dist/cjs/services/getOrders.d.ts.map +1 -0
  82. package/dist/cjs/services/getOrders.js +15 -0
  83. package/dist/cjs/services/getOrders.js.map +1 -0
  84. package/dist/cjs/services/getPositions.d.ts +11 -0
  85. package/dist/cjs/services/getPositions.d.ts.map +1 -0
  86. package/dist/cjs/services/getPositions.js +15 -0
  87. package/dist/cjs/services/getPositions.js.map +1 -0
  88. package/dist/cjs/services/getPrices.d.ts +1 -1
  89. package/dist/cjs/services/getPrices.d.ts.map +1 -1
  90. package/dist/cjs/services/getPrices.js +1 -1
  91. package/dist/cjs/services/getPrices.js.map +1 -1
  92. package/dist/cjs/services/getProviders.d.ts +4 -0
  93. package/dist/cjs/services/getProviders.d.ts.map +1 -0
  94. package/dist/cjs/services/{getDexes.js → getProviders.js} +4 -4
  95. package/dist/cjs/services/getProviders.js.map +1 -0
  96. package/dist/cjs/utils/accountSummary.d.ts +9 -0
  97. package/dist/cjs/utils/accountSummary.d.ts.map +1 -0
  98. package/dist/cjs/utils/accountSummary.js +81 -0
  99. package/dist/cjs/utils/accountSummary.js.map +1 -0
  100. package/dist/cjs/utils/calculations.d.ts +16 -0
  101. package/dist/cjs/utils/calculations.d.ts.map +1 -0
  102. package/dist/cjs/utils/calculations.js +71 -0
  103. package/dist/cjs/utils/calculations.js.map +1 -0
  104. package/dist/cjs/utils/hyperliquid/index.d.ts +3 -0
  105. package/dist/cjs/utils/hyperliquid/index.d.ts.map +1 -0
  106. package/dist/cjs/utils/hyperliquid/index.js +11 -0
  107. package/dist/cjs/utils/hyperliquid/index.js.map +1 -0
  108. package/dist/cjs/utils/hyperliquid/liquidation.d.ts +3 -0
  109. package/dist/cjs/utils/hyperliquid/liquidation.d.ts.map +1 -0
  110. package/dist/cjs/utils/hyperliquid/liquidation.js +24 -0
  111. package/dist/cjs/utils/hyperliquid/liquidation.js.map +1 -0
  112. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts +4 -0
  113. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
  114. package/dist/cjs/utils/hyperliquid/orderFormatting.js +33 -0
  115. package/dist/cjs/utils/hyperliquid/orderFormatting.js.map +1 -0
  116. package/dist/cjs/utils/orderClassification.d.ts +8 -0
  117. package/dist/cjs/utils/orderClassification.d.ts.map +1 -0
  118. package/dist/cjs/utils/orderClassification.js +39 -0
  119. package/dist/cjs/utils/orderClassification.js.map +1 -0
  120. package/dist/cjs/utils/parse.d.ts +2 -0
  121. package/dist/cjs/utils/parse.d.ts.map +1 -0
  122. package/dist/cjs/utils/parse.js +14 -0
  123. package/dist/cjs/utils/parse.js.map +1 -0
  124. package/dist/cjs/utils/request.d.ts.map +1 -1
  125. package/dist/cjs/utils/request.js +16 -4
  126. package/dist/cjs/utils/request.js.map +1 -1
  127. package/dist/cjs/utils/units.d.ts +3 -0
  128. package/dist/cjs/utils/units.d.ts.map +1 -0
  129. package/dist/cjs/utils/units.js +18 -0
  130. package/dist/cjs/utils/units.js.map +1 -0
  131. package/dist/cjs/utils/validation.d.ts +2 -0
  132. package/dist/cjs/utils/validation.d.ts.map +1 -0
  133. package/dist/cjs/utils/validation.js +16 -0
  134. package/dist/cjs/utils/validation.js.map +1 -0
  135. package/dist/cjs/version.d.ts +1 -1
  136. package/dist/cjs/version.d.ts.map +1 -1
  137. package/dist/cjs/version.js +1 -1
  138. package/dist/cjs/version.js.map +1 -1
  139. package/dist/esm/agent/AgentManager.d.ts +9 -9
  140. package/dist/esm/agent/AgentManager.d.ts.map +1 -1
  141. package/dist/esm/agent/AgentManager.js +20 -18
  142. package/dist/esm/agent/AgentManager.js.map +1 -1
  143. package/dist/esm/agent/storage.d.ts +1 -1
  144. package/dist/esm/agent/storage.js +1 -1
  145. package/dist/esm/client/PerpsClient.d.ts +70 -189
  146. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  147. package/dist/esm/client/PerpsClient.js +355 -361
  148. package/dist/esm/client/PerpsClient.js.map +1 -1
  149. package/dist/esm/client/createPerpsClient.d.ts +30 -7
  150. package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
  151. package/dist/esm/client/createPerpsClient.js +6 -6
  152. package/dist/esm/client/createPerpsClient.js.map +1 -1
  153. package/dist/esm/client/types.d.ts +75 -48
  154. package/dist/esm/client/types.d.ts.map +1 -1
  155. package/dist/esm/client/types.js +11 -1
  156. package/dist/esm/client/types.js.map +1 -1
  157. package/dist/esm/errors/PerpsError.d.ts +2 -3
  158. package/dist/esm/errors/PerpsError.d.ts.map +1 -1
  159. package/dist/esm/errors/PerpsError.js +3 -15
  160. package/dist/esm/errors/PerpsError.js.map +1 -1
  161. package/dist/esm/errors/constants.d.ts +0 -10
  162. package/dist/esm/errors/constants.d.ts.map +1 -1
  163. package/dist/esm/errors/constants.js +0 -11
  164. package/dist/esm/errors/constants.js.map +1 -1
  165. package/dist/esm/index.d.ts +31 -32
  166. package/dist/esm/index.d.ts.map +1 -1
  167. package/dist/esm/index.js +22 -23
  168. package/dist/esm/index.js.map +1 -1
  169. package/dist/esm/realtime/PerpsWsClient.d.ts +1 -0
  170. package/dist/esm/realtime/PerpsWsClient.d.ts.map +1 -1
  171. package/dist/esm/realtime/PerpsWsClient.js +30 -23
  172. package/dist/esm/realtime/PerpsWsClient.js.map +1 -1
  173. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts +11 -5
  174. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
  175. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js +174 -53
  176. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js.map +1 -1
  177. package/dist/esm/realtime/hyperliquid/types.d.ts +11 -9
  178. package/dist/esm/realtime/hyperliquid/types.d.ts.map +1 -1
  179. package/dist/esm/services/createAction.d.ts +11 -0
  180. package/dist/esm/services/createAction.d.ts.map +1 -0
  181. package/dist/esm/services/createAction.js +14 -0
  182. package/dist/esm/services/createAction.js.map +1 -0
  183. package/dist/esm/services/executeAction.d.ts +11 -0
  184. package/dist/esm/services/executeAction.d.ts.map +1 -0
  185. package/dist/esm/services/executeAction.js +14 -0
  186. package/dist/esm/services/executeAction.js.map +1 -0
  187. package/dist/esm/services/getAccount.d.ts +7 -7
  188. package/dist/esm/services/getAccount.d.ts.map +1 -1
  189. package/dist/esm/services/getAccount.js +6 -6
  190. package/dist/esm/services/getAccount.js.map +1 -1
  191. package/dist/esm/services/getActivity.d.ts +49 -0
  192. package/dist/esm/services/getActivity.d.ts.map +1 -0
  193. package/dist/esm/services/getActivity.js +47 -0
  194. package/dist/esm/services/getActivity.js.map +1 -0
  195. package/dist/esm/services/getAsset.d.ts +20 -0
  196. package/dist/esm/services/getAsset.d.ts.map +1 -0
  197. package/dist/esm/services/getAsset.js +18 -0
  198. package/dist/esm/services/getAsset.js.map +1 -0
  199. package/dist/esm/services/getAssets.d.ts +18 -0
  200. package/dist/esm/services/getAssets.d.ts.map +1 -0
  201. package/dist/esm/services/getAssets.js +18 -0
  202. package/dist/esm/services/getAssets.js.map +1 -0
  203. package/dist/{types/services/getHistory.d.ts → esm/services/getFills.d.ts} +17 -13
  204. package/dist/esm/services/getFills.d.ts.map +1 -0
  205. package/dist/esm/services/{getHistory.js → getFills.js} +13 -11
  206. package/dist/esm/services/getFills.js.map +1 -0
  207. package/dist/esm/services/getOhlcv.d.ts +4 -4
  208. package/dist/esm/services/getOhlcv.d.ts.map +1 -1
  209. package/dist/esm/services/getOhlcv.js +3 -3
  210. package/dist/esm/services/getOhlcv.js.map +1 -1
  211. package/dist/esm/services/getOrder.d.ts +4 -4
  212. package/dist/esm/services/getOrder.d.ts.map +1 -1
  213. package/dist/esm/services/getOrder.js +3 -3
  214. package/dist/esm/services/getOrder.js.map +1 -1
  215. package/dist/esm/services/getOrderbook.d.ts +4 -4
  216. package/dist/esm/services/getOrderbook.d.ts.map +1 -1
  217. package/dist/esm/services/getOrderbook.js +3 -3
  218. package/dist/esm/services/getOrderbook.js.map +1 -1
  219. package/dist/esm/services/getOrders.d.ts +27 -0
  220. package/dist/esm/services/getOrders.d.ts.map +1 -0
  221. package/dist/esm/services/getOrders.js +23 -0
  222. package/dist/esm/services/getOrders.js.map +1 -0
  223. package/dist/esm/services/getPositions.d.ts +27 -0
  224. package/dist/esm/services/getPositions.d.ts.map +1 -0
  225. package/dist/esm/services/getPositions.js +23 -0
  226. package/dist/esm/services/getPositions.js.map +1 -0
  227. package/dist/esm/services/getPrices.d.ts +5 -5
  228. package/dist/esm/services/getPrices.d.ts.map +1 -1
  229. package/dist/esm/services/getPrices.js +4 -4
  230. package/dist/esm/services/getPrices.js.map +1 -1
  231. package/dist/esm/services/getProviders.d.ts +20 -0
  232. package/dist/esm/services/getProviders.d.ts.map +1 -0
  233. package/dist/esm/services/getProviders.js +21 -0
  234. package/dist/esm/services/getProviders.js.map +1 -0
  235. package/dist/esm/utils/accountSummary.d.ts +13 -0
  236. package/dist/esm/utils/accountSummary.d.ts.map +1 -0
  237. package/dist/esm/utils/accountSummary.js +92 -0
  238. package/dist/esm/utils/accountSummary.js.map +1 -0
  239. package/dist/esm/utils/calculations.d.ts +109 -0
  240. package/dist/esm/utils/calculations.d.ts.map +1 -0
  241. package/dist/esm/utils/calculations.js +154 -0
  242. package/dist/esm/utils/calculations.js.map +1 -0
  243. package/dist/esm/utils/hyperliquid/index.d.ts +3 -0
  244. package/dist/esm/utils/hyperliquid/index.d.ts.map +1 -0
  245. package/dist/esm/utils/hyperliquid/index.js +3 -0
  246. package/dist/esm/utils/hyperliquid/index.js.map +1 -0
  247. package/dist/esm/utils/hyperliquid/liquidation.d.ts +46 -0
  248. package/dist/esm/utils/hyperliquid/liquidation.d.ts.map +1 -0
  249. package/dist/esm/utils/hyperliquid/liquidation.js +63 -0
  250. package/dist/esm/utils/hyperliquid/liquidation.js.map +1 -0
  251. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts +44 -0
  252. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
  253. package/dist/esm/utils/hyperliquid/orderFormatting.js +79 -0
  254. package/dist/esm/utils/hyperliquid/orderFormatting.js.map +1 -0
  255. package/dist/esm/utils/orderClassification.d.ts +29 -0
  256. package/dist/esm/utils/orderClassification.d.ts.map +1 -0
  257. package/dist/esm/utils/orderClassification.js +53 -0
  258. package/dist/esm/utils/orderClassification.js.map +1 -0
  259. package/dist/esm/utils/parse.d.ts +18 -0
  260. package/dist/esm/utils/parse.d.ts.map +1 -0
  261. package/dist/esm/utils/parse.js +28 -0
  262. package/dist/esm/utils/parse.js.map +1 -0
  263. package/dist/esm/utils/request.d.ts +1 -2
  264. package/dist/esm/utils/request.d.ts.map +1 -1
  265. package/dist/esm/utils/request.js +20 -7
  266. package/dist/esm/utils/request.js.map +1 -1
  267. package/dist/esm/utils/units.d.ts +20 -0
  268. package/dist/esm/utils/units.d.ts.map +1 -0
  269. package/dist/esm/utils/units.js +31 -0
  270. package/dist/esm/utils/units.js.map +1 -0
  271. package/dist/esm/utils/validation.d.ts +15 -0
  272. package/dist/esm/utils/validation.d.ts.map +1 -0
  273. package/dist/esm/utils/validation.js +26 -0
  274. package/dist/esm/utils/validation.js.map +1 -0
  275. package/dist/esm/version.d.ts +1 -1
  276. package/dist/esm/version.d.ts.map +1 -1
  277. package/dist/esm/version.js +1 -1
  278. package/dist/esm/version.js.map +1 -1
  279. package/dist/types/agent/AgentManager.d.ts +9 -9
  280. package/dist/types/agent/AgentManager.d.ts.map +1 -1
  281. package/dist/types/agent/storage.d.ts +1 -1
  282. package/dist/types/client/PerpsClient.d.ts +70 -189
  283. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  284. package/dist/types/client/createPerpsClient.d.ts +30 -7
  285. package/dist/types/client/createPerpsClient.d.ts.map +1 -1
  286. package/dist/types/client/types.d.ts +75 -48
  287. package/dist/types/client/types.d.ts.map +1 -1
  288. package/dist/types/errors/PerpsError.d.ts +2 -3
  289. package/dist/types/errors/PerpsError.d.ts.map +1 -1
  290. package/dist/types/errors/constants.d.ts +0 -10
  291. package/dist/types/errors/constants.d.ts.map +1 -1
  292. package/dist/types/index.d.ts +31 -32
  293. package/dist/types/index.d.ts.map +1 -1
  294. package/dist/types/realtime/PerpsWsClient.d.ts +1 -0
  295. package/dist/types/realtime/PerpsWsClient.d.ts.map +1 -1
  296. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts +11 -5
  297. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
  298. package/dist/types/realtime/hyperliquid/types.d.ts +11 -9
  299. package/dist/types/realtime/hyperliquid/types.d.ts.map +1 -1
  300. package/dist/types/services/createAction.d.ts +11 -0
  301. package/dist/types/services/createAction.d.ts.map +1 -0
  302. package/dist/types/services/executeAction.d.ts +11 -0
  303. package/dist/types/services/executeAction.d.ts.map +1 -0
  304. package/dist/types/services/getAccount.d.ts +7 -7
  305. package/dist/types/services/getAccount.d.ts.map +1 -1
  306. package/dist/types/services/getActivity.d.ts +49 -0
  307. package/dist/types/services/getActivity.d.ts.map +1 -0
  308. package/dist/types/services/getAsset.d.ts +20 -0
  309. package/dist/types/services/getAsset.d.ts.map +1 -0
  310. package/dist/types/services/getAssets.d.ts +18 -0
  311. package/dist/types/services/getAssets.d.ts.map +1 -0
  312. package/dist/{esm/services/getHistory.d.ts → types/services/getFills.d.ts} +17 -13
  313. package/dist/types/services/getFills.d.ts.map +1 -0
  314. package/dist/types/services/getOhlcv.d.ts +4 -4
  315. package/dist/types/services/getOhlcv.d.ts.map +1 -1
  316. package/dist/types/services/getOrder.d.ts +4 -4
  317. package/dist/types/services/getOrder.d.ts.map +1 -1
  318. package/dist/types/services/getOrderbook.d.ts +4 -4
  319. package/dist/types/services/getOrderbook.d.ts.map +1 -1
  320. package/dist/types/services/getOrders.d.ts +27 -0
  321. package/dist/types/services/getOrders.d.ts.map +1 -0
  322. package/dist/types/services/getPositions.d.ts +27 -0
  323. package/dist/types/services/getPositions.d.ts.map +1 -0
  324. package/dist/types/services/getPrices.d.ts +5 -5
  325. package/dist/types/services/getPrices.d.ts.map +1 -1
  326. package/dist/types/services/getProviders.d.ts +20 -0
  327. package/dist/types/services/getProviders.d.ts.map +1 -0
  328. package/dist/types/utils/accountSummary.d.ts +13 -0
  329. package/dist/types/utils/accountSummary.d.ts.map +1 -0
  330. package/dist/types/utils/calculations.d.ts +109 -0
  331. package/dist/types/utils/calculations.d.ts.map +1 -0
  332. package/dist/types/utils/hyperliquid/index.d.ts +3 -0
  333. package/dist/types/utils/hyperliquid/index.d.ts.map +1 -0
  334. package/dist/types/utils/hyperliquid/liquidation.d.ts +46 -0
  335. package/dist/types/utils/hyperliquid/liquidation.d.ts.map +1 -0
  336. package/dist/types/utils/hyperliquid/orderFormatting.d.ts +44 -0
  337. package/dist/types/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
  338. package/dist/types/utils/orderClassification.d.ts +29 -0
  339. package/dist/types/utils/orderClassification.d.ts.map +1 -0
  340. package/dist/types/utils/parse.d.ts +18 -0
  341. package/dist/types/utils/parse.d.ts.map +1 -0
  342. package/dist/types/utils/request.d.ts +1 -2
  343. package/dist/types/utils/request.d.ts.map +1 -1
  344. package/dist/types/utils/units.d.ts +20 -0
  345. package/dist/types/utils/units.d.ts.map +1 -0
  346. package/dist/types/utils/validation.d.ts +15 -0
  347. package/dist/types/utils/validation.d.ts.map +1 -0
  348. package/dist/types/version.d.ts +1 -1
  349. package/dist/types/version.d.ts.map +1 -1
  350. package/package.json +8 -4
  351. package/src/agent/AgentManager.ts +21 -19
  352. package/src/agent/storage.ts +1 -1
  353. package/src/client/PerpsClient.ts +569 -446
  354. package/src/client/createPerpsClient.ts +36 -11
  355. package/src/client/types.ts +84 -51
  356. package/src/errors/PerpsError.ts +3 -22
  357. package/src/errors/constants.ts +0 -11
  358. package/src/index.ts +70 -47
  359. package/src/realtime/PerpsWsClient.ts +47 -31
  360. package/src/realtime/hyperliquid/HyperliquidWsProvider.ts +203 -64
  361. package/src/realtime/hyperliquid/types.ts +8 -10
  362. package/src/services/createAction.ts +41 -0
  363. package/src/services/executeAction.ts +41 -0
  364. package/src/services/getAccount.ts +8 -8
  365. package/src/services/getActivity.ts +77 -0
  366. package/src/services/getAsset.ts +34 -0
  367. package/src/services/getAssets.ts +32 -0
  368. package/src/services/{getHistory.ts → getFills.ts} +23 -17
  369. package/src/services/getOhlcv.ts +5 -5
  370. package/src/services/getOrder.ts +5 -5
  371. package/src/services/getOrderbook.ts +5 -5
  372. package/src/services/getOrders.ts +45 -0
  373. package/src/services/getPositions.ts +45 -0
  374. package/src/services/getPrices.ts +6 -6
  375. package/src/services/{getDexes.ts → getProviders.ts} +10 -10
  376. package/src/utils/accountSummary.ts +124 -0
  377. package/src/utils/calculations.ts +209 -0
  378. package/src/utils/hyperliquid/index.ts +9 -0
  379. package/src/utils/hyperliquid/liquidation.ts +71 -0
  380. package/src/utils/hyperliquid/orderFormatting.ts +96 -0
  381. package/src/utils/orderClassification.ts +64 -0
  382. package/src/utils/parse.ts +28 -0
  383. package/src/utils/request.ts +22 -7
  384. package/src/utils/units.ts +32 -0
  385. package/src/utils/validation.ts +35 -0
  386. package/src/version.ts +1 -1
  387. package/dist/cjs/dex/hyperliquid.d.ts +0 -3
  388. package/dist/cjs/dex/hyperliquid.d.ts.map +0 -1
  389. package/dist/cjs/dex/hyperliquid.js +0 -21
  390. package/dist/cjs/dex/hyperliquid.js.map +0 -1
  391. package/dist/cjs/dex/registry.d.ts +0 -3
  392. package/dist/cjs/dex/registry.d.ts.map +0 -1
  393. package/dist/cjs/dex/registry.js +0 -16
  394. package/dist/cjs/dex/registry.js.map +0 -1
  395. package/dist/cjs/dex/types.d.ts +0 -13
  396. package/dist/cjs/dex/types.d.ts.map +0 -1
  397. package/dist/cjs/dex/types.js +0 -3
  398. package/dist/cjs/dex/types.js.map +0 -1
  399. package/dist/cjs/errors/AgentError.d.ts +0 -10
  400. package/dist/cjs/errors/AgentError.d.ts.map +0 -1
  401. package/dist/cjs/errors/AgentError.js +0 -23
  402. package/dist/cjs/errors/AgentError.js.map +0 -1
  403. package/dist/cjs/errors/HTTPError.d.ts +0 -11
  404. package/dist/cjs/errors/HTTPError.d.ts.map +0 -1
  405. package/dist/cjs/errors/HTTPError.js +0 -62
  406. package/dist/cjs/errors/HTTPError.js.map +0 -1
  407. package/dist/cjs/errors/PerpsSDKError.d.ts +0 -9
  408. package/dist/cjs/errors/PerpsSDKError.d.ts.map +0 -1
  409. package/dist/cjs/errors/PerpsSDKError.js +0 -36
  410. package/dist/cjs/errors/PerpsSDKError.js.map +0 -1
  411. package/dist/cjs/errors/ServerError.d.ts +0 -10
  412. package/dist/cjs/errors/ServerError.d.ts.map +0 -1
  413. package/dist/cjs/errors/ServerError.js +0 -24
  414. package/dist/cjs/errors/ServerError.js.map +0 -1
  415. package/dist/cjs/errors/ValidationError.d.ts +0 -9
  416. package/dist/cjs/errors/ValidationError.d.ts.map +0 -1
  417. package/dist/cjs/errors/ValidationError.js +0 -23
  418. package/dist/cjs/errors/ValidationError.js.map +0 -1
  419. package/dist/cjs/errors/utils/rootCause.d.ts +0 -6
  420. package/dist/cjs/errors/utils/rootCause.d.ts.map +0 -1
  421. package/dist/cjs/errors/utils/rootCause.js +0 -41
  422. package/dist/cjs/errors/utils/rootCause.js.map +0 -1
  423. package/dist/cjs/services/cancelOrder.d.ts +0 -10
  424. package/dist/cjs/services/cancelOrder.d.ts.map +0 -1
  425. package/dist/cjs/services/cancelOrder.js +0 -16
  426. package/dist/cjs/services/cancelOrder.js.map +0 -1
  427. package/dist/cjs/services/createAuthorization.d.ts +0 -10
  428. package/dist/cjs/services/createAuthorization.d.ts.map +0 -1
  429. package/dist/cjs/services/createAuthorization.js +0 -16
  430. package/dist/cjs/services/createAuthorization.js.map +0 -1
  431. package/dist/cjs/services/createOrder.d.ts +0 -21
  432. package/dist/cjs/services/createOrder.d.ts.map +0 -1
  433. package/dist/cjs/services/createOrder.js +0 -27
  434. package/dist/cjs/services/createOrder.js.map +0 -1
  435. package/dist/cjs/services/createWithdrawal.d.ts +0 -9
  436. package/dist/cjs/services/createWithdrawal.d.ts.map +0 -1
  437. package/dist/cjs/services/createWithdrawal.js +0 -15
  438. package/dist/cjs/services/createWithdrawal.js.map +0 -1
  439. package/dist/cjs/services/getDexes.d.ts +0 -4
  440. package/dist/cjs/services/getDexes.d.ts.map +0 -1
  441. package/dist/cjs/services/getDexes.js.map +0 -1
  442. package/dist/cjs/services/getHistory.d.ts +0 -10
  443. package/dist/cjs/services/getHistory.d.ts.map +0 -1
  444. package/dist/cjs/services/getHistory.js.map +0 -1
  445. package/dist/cjs/services/getMarket.d.ts +0 -8
  446. package/dist/cjs/services/getMarket.d.ts.map +0 -1
  447. package/dist/cjs/services/getMarket.js.map +0 -1
  448. package/dist/cjs/services/getMarkets.d.ts +0 -7
  449. package/dist/cjs/services/getMarkets.d.ts.map +0 -1
  450. package/dist/cjs/services/getMarkets.js.map +0 -1
  451. package/dist/cjs/services/submitAuthorization.d.ts +0 -10
  452. package/dist/cjs/services/submitAuthorization.d.ts.map +0 -1
  453. package/dist/cjs/services/submitAuthorization.js.map +0 -1
  454. package/dist/cjs/services/submitOrder.d.ts +0 -10
  455. package/dist/cjs/services/submitOrder.d.ts.map +0 -1
  456. package/dist/cjs/services/submitOrder.js.map +0 -1
  457. package/dist/cjs/services/submitWithdrawal.d.ts +0 -9
  458. package/dist/cjs/services/submitWithdrawal.d.ts.map +0 -1
  459. package/dist/cjs/services/submitWithdrawal.js +0 -15
  460. package/dist/cjs/services/submitWithdrawal.js.map +0 -1
  461. package/dist/esm/dex/hyperliquid.d.ts +0 -3
  462. package/dist/esm/dex/hyperliquid.d.ts.map +0 -1
  463. package/dist/esm/dex/hyperliquid.js +0 -19
  464. package/dist/esm/dex/hyperliquid.js.map +0 -1
  465. package/dist/esm/dex/registry.d.ts +0 -3
  466. package/dist/esm/dex/registry.d.ts.map +0 -1
  467. package/dist/esm/dex/registry.js +0 -13
  468. package/dist/esm/dex/registry.js.map +0 -1
  469. package/dist/esm/dex/types.d.ts +0 -15
  470. package/dist/esm/dex/types.d.ts.map +0 -1
  471. package/dist/esm/dex/types.js +0 -2
  472. package/dist/esm/dex/types.js.map +0 -1
  473. package/dist/esm/errors/AgentError.d.ts +0 -25
  474. package/dist/esm/errors/AgentError.d.ts.map +0 -1
  475. package/dist/esm/errors/AgentError.js +0 -35
  476. package/dist/esm/errors/AgentError.js.map +0 -1
  477. package/dist/esm/errors/HTTPError.d.ts +0 -11
  478. package/dist/esm/errors/HTTPError.d.ts.map +0 -1
  479. package/dist/esm/errors/HTTPError.js +0 -61
  480. package/dist/esm/errors/HTTPError.js.map +0 -1
  481. package/dist/esm/errors/PerpsSDKError.d.ts +0 -40
  482. package/dist/esm/errors/PerpsSDKError.d.ts.map +0 -1
  483. package/dist/esm/errors/PerpsSDKError.js +0 -67
  484. package/dist/esm/errors/PerpsSDKError.js.map +0 -1
  485. package/dist/esm/errors/ServerError.d.ts +0 -23
  486. package/dist/esm/errors/ServerError.d.ts.map +0 -1
  487. package/dist/esm/errors/ServerError.js +0 -34
  488. package/dist/esm/errors/ServerError.js.map +0 -1
  489. package/dist/esm/errors/ValidationError.d.ts +0 -23
  490. package/dist/esm/errors/ValidationError.d.ts.map +0 -1
  491. package/dist/esm/errors/ValidationError.js +0 -34
  492. package/dist/esm/errors/ValidationError.js.map +0 -1
  493. package/dist/esm/errors/utils/rootCause.d.ts +0 -71
  494. package/dist/esm/errors/utils/rootCause.d.ts.map +0 -1
  495. package/dist/esm/errors/utils/rootCause.js +0 -99
  496. package/dist/esm/errors/utils/rootCause.js.map +0 -1
  497. package/dist/esm/services/cancelOrder.d.ts +0 -51
  498. package/dist/esm/services/cancelOrder.d.ts.map +0 -1
  499. package/dist/esm/services/cancelOrder.js +0 -50
  500. package/dist/esm/services/cancelOrder.js.map +0 -1
  501. package/dist/esm/services/createAuthorization.d.ts +0 -51
  502. package/dist/esm/services/createAuthorization.d.ts.map +0 -1
  503. package/dist/esm/services/createAuthorization.js +0 -50
  504. package/dist/esm/services/createAuthorization.js.map +0 -1
  505. package/dist/esm/services/createOrder.d.ts +0 -74
  506. package/dist/esm/services/createOrder.d.ts.map +0 -1
  507. package/dist/esm/services/createOrder.js +0 -62
  508. package/dist/esm/services/createOrder.js.map +0 -1
  509. package/dist/esm/services/createWithdrawal.d.ts +0 -49
  510. package/dist/esm/services/createWithdrawal.d.ts.map +0 -1
  511. package/dist/esm/services/createWithdrawal.js +0 -49
  512. package/dist/esm/services/createWithdrawal.js.map +0 -1
  513. package/dist/esm/services/getDexes.d.ts +0 -20
  514. package/dist/esm/services/getDexes.d.ts.map +0 -1
  515. package/dist/esm/services/getDexes.js +0 -21
  516. package/dist/esm/services/getDexes.js.map +0 -1
  517. package/dist/esm/services/getHistory.d.ts.map +0 -1
  518. package/dist/esm/services/getHistory.js.map +0 -1
  519. package/dist/esm/services/getMarket.d.ts +0 -27
  520. package/dist/esm/services/getMarket.d.ts.map +0 -1
  521. package/dist/esm/services/getMarket.js +0 -25
  522. package/dist/esm/services/getMarket.js.map +0 -1
  523. package/dist/esm/services/getMarkets.d.ts +0 -25
  524. package/dist/esm/services/getMarkets.d.ts.map +0 -1
  525. package/dist/esm/services/getMarkets.js +0 -23
  526. package/dist/esm/services/getMarkets.js.map +0 -1
  527. package/dist/esm/services/submitAuthorization.d.ts +0 -42
  528. package/dist/esm/services/submitAuthorization.d.ts.map +0 -1
  529. package/dist/esm/services/submitAuthorization.js +0 -41
  530. package/dist/esm/services/submitAuthorization.js.map +0 -1
  531. package/dist/esm/services/submitOrder.d.ts +0 -44
  532. package/dist/esm/services/submitOrder.d.ts.map +0 -1
  533. package/dist/esm/services/submitOrder.js +0 -43
  534. package/dist/esm/services/submitOrder.js.map +0 -1
  535. package/dist/esm/services/submitWithdrawal.d.ts +0 -40
  536. package/dist/esm/services/submitWithdrawal.d.ts.map +0 -1
  537. package/dist/esm/services/submitWithdrawal.js +0 -40
  538. package/dist/esm/services/submitWithdrawal.js.map +0 -1
  539. package/dist/types/dex/hyperliquid.d.ts +0 -3
  540. package/dist/types/dex/hyperliquid.d.ts.map +0 -1
  541. package/dist/types/dex/registry.d.ts +0 -3
  542. package/dist/types/dex/registry.d.ts.map +0 -1
  543. package/dist/types/dex/types.d.ts +0 -15
  544. package/dist/types/dex/types.d.ts.map +0 -1
  545. package/dist/types/errors/AgentError.d.ts +0 -25
  546. package/dist/types/errors/AgentError.d.ts.map +0 -1
  547. package/dist/types/errors/HTTPError.d.ts +0 -11
  548. package/dist/types/errors/HTTPError.d.ts.map +0 -1
  549. package/dist/types/errors/PerpsSDKError.d.ts +0 -40
  550. package/dist/types/errors/PerpsSDKError.d.ts.map +0 -1
  551. package/dist/types/errors/ServerError.d.ts +0 -23
  552. package/dist/types/errors/ServerError.d.ts.map +0 -1
  553. package/dist/types/errors/ValidationError.d.ts +0 -23
  554. package/dist/types/errors/ValidationError.d.ts.map +0 -1
  555. package/dist/types/errors/utils/rootCause.d.ts +0 -71
  556. package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
  557. package/dist/types/services/cancelOrder.d.ts +0 -51
  558. package/dist/types/services/cancelOrder.d.ts.map +0 -1
  559. package/dist/types/services/createAuthorization.d.ts +0 -51
  560. package/dist/types/services/createAuthorization.d.ts.map +0 -1
  561. package/dist/types/services/createOrder.d.ts +0 -74
  562. package/dist/types/services/createOrder.d.ts.map +0 -1
  563. package/dist/types/services/createWithdrawal.d.ts +0 -49
  564. package/dist/types/services/createWithdrawal.d.ts.map +0 -1
  565. package/dist/types/services/getDexes.d.ts +0 -20
  566. package/dist/types/services/getDexes.d.ts.map +0 -1
  567. package/dist/types/services/getHistory.d.ts.map +0 -1
  568. package/dist/types/services/getMarket.d.ts +0 -27
  569. package/dist/types/services/getMarket.d.ts.map +0 -1
  570. package/dist/types/services/getMarkets.d.ts +0 -25
  571. package/dist/types/services/getMarkets.d.ts.map +0 -1
  572. package/dist/types/services/submitAuthorization.d.ts +0 -42
  573. package/dist/types/services/submitAuthorization.d.ts.map +0 -1
  574. package/dist/types/services/submitOrder.d.ts +0 -44
  575. package/dist/types/services/submitOrder.d.ts.map +0 -1
  576. package/dist/types/services/submitWithdrawal.d.ts +0 -40
  577. package/dist/types/services/submitWithdrawal.d.ts.map +0 -1
  578. package/src/dex/hyperliquid.ts +0 -20
  579. package/src/dex/registry.ts +0 -15
  580. package/src/dex/types.ts +0 -16
  581. package/src/errors/AgentError.ts +0 -43
  582. package/src/errors/HTTPError.ts +0 -72
  583. package/src/errors/PerpsSDKError.ts +0 -79
  584. package/src/errors/ServerError.ts +0 -41
  585. package/src/errors/ValidationError.ts +0 -38
  586. package/src/errors/utils/rootCause.ts +0 -112
  587. package/src/services/cancelOrder.ts +0 -75
  588. package/src/services/createAuthorization.ts +0 -79
  589. package/src/services/createOrder.ts +0 -116
  590. package/src/services/createWithdrawal.ts +0 -76
  591. package/src/services/getMarket.ts +0 -41
  592. package/src/services/getMarkets.ts +0 -37
  593. package/src/services/submitAuthorization.ts +0 -70
  594. package/src/services/submitOrder.ts +0 -72
  595. package/src/services/submitWithdrawal.ts +0 -67
@@ -1,36 +1,40 @@
1
- import type { Address, HistoryResponse } from '@lifi/perps-types'
1
+ import type { Address, FillsResponse } from '@lifi/perps-types'
2
2
  import type {
3
3
  PerpsSDKClient,
4
4
  SDKRequestOptions,
5
5
  } from '../client/createPerpsClient.js'
6
6
  import { buildUrl, request } from '../utils/request.js'
7
7
 
8
- export interface GetHistoryParams {
9
- /** DEX to get history from (e.g., 'hyperliquid') */
10
- dex: string
8
+ export interface GetFillsParams {
9
+ /** Provider to get fills from (e.g., 'hyperliquid') */
10
+ provider: string
11
11
  /** Wallet address */
12
12
  address: Address
13
13
  /** Maximum number of items to return */
14
14
  limit?: number
15
15
  /** Cursor for pagination */
16
16
  cursor?: string
17
+ /** Filter: orders after this timestamp (ms) */
18
+ startTime?: number
19
+ /** Filter: orders before this timestamp (ms) */
20
+ endTime?: number
17
21
  }
18
22
 
19
23
  /**
20
- * Get order history for an account.
24
+ * Get order fills for an account.
21
25
  *
22
26
  * @param client - The SDK client instance
23
27
  * @param params - Request parameters
24
28
  * @param options - Request options (e.g., AbortSignal)
25
- * @returns Order history with pagination
26
- * @throws {HTTPError} On API error responses
29
+ * @returns Order fills with pagination
30
+ * @throws {PerpsError} On API error responses
27
31
  * @throws {PerpsError} On network or parsing errors
28
32
  *
29
33
  * @example
30
34
  * ```ts
31
35
  * const client = createPerpsClient({ integrator: 'my-app' })
32
- * const { items, pagination } = await getHistory(client, {
33
- * dex: 'hyperliquid',
36
+ * const { items, pagination } = await getFills(client, {
37
+ * provider: 'hyperliquid',
34
38
  * address: '0x1234...',
35
39
  * limit: 50
36
40
  * })
@@ -39,24 +43,26 @@ export interface GetHistoryParams {
39
43
  *
40
44
  * // Fetch next page
41
45
  * if (pagination.hasMore) {
42
- * const nextPage = await getHistory(client, {
43
- * dex: 'hyperliquid',
46
+ * const nextPage = await getFills(client, {
47
+ * provider: 'hyperliquid',
44
48
  * address: '0x1234...',
45
49
  * cursor: pagination.cursor
46
50
  * })
47
51
  * }
48
52
  * ```
49
53
  */
50
- export async function getHistory(
54
+ export async function getFills(
51
55
  client: PerpsSDKClient,
52
- params: GetHistoryParams,
56
+ params: GetFillsParams,
53
57
  options?: SDKRequestOptions
54
- ): Promise<HistoryResponse> {
55
- const url = buildUrl(`${client.config.apiUrl}/history`, {
56
- dex: params.dex,
58
+ ): Promise<FillsResponse> {
59
+ const url = buildUrl(`${client.config.apiUrl}/fills`, {
60
+ provider: params.provider,
57
61
  address: params.address,
58
62
  limit: params.limit,
59
63
  cursor: params.cursor,
64
+ startTime: params.startTime,
65
+ endTime: params.endTime,
60
66
  })
61
- return request<HistoryResponse>(client.config, url, {}, options)
67
+ return request<FillsResponse>(client.config, url, {}, options)
62
68
  }
@@ -6,8 +6,8 @@ import type {
6
6
  import { buildUrl, request } from '../utils/request.js'
7
7
 
8
8
  export interface GetOhlcvParams {
9
- /** DEX to get OHLCV from (e.g., 'hyperliquid') */
10
- dex: string
9
+ /** Provider to get OHLCV from (e.g., 'hyperliquid') */
10
+ provider: string
11
11
  /** Market symbol (e.g., 'BTC') */
12
12
  symbol: string
13
13
  /** Candle interval */
@@ -27,14 +27,14 @@ export interface GetOhlcvParams {
27
27
  * @param params - Request parameters
28
28
  * @param options - Request options (e.g., AbortSignal)
29
29
  * @returns OHLCV candle data
30
- * @throws {HTTPError} On API error responses
30
+ * @throws {PerpsError} On API error responses
31
31
  * @throws {PerpsError} On network or parsing errors
32
32
  *
33
33
  * @example
34
34
  * ```ts
35
35
  * const client = createPerpsClient({ integrator: 'my-app' })
36
36
  * const { candles } = await getOhlcv(client, {
37
- * dex: 'hyperliquid',
37
+ * provider: 'hyperliquid',
38
38
  * symbol: 'BTC',
39
39
  * interval: '1h',
40
40
  * limit: 100
@@ -48,7 +48,7 @@ export async function getOhlcv(
48
48
  options?: SDKRequestOptions
49
49
  ): Promise<OhlcvResponse> {
50
50
  const url = buildUrl(`${client.config.apiUrl}/ohlcv/${params.symbol}`, {
51
- dex: params.dex,
51
+ provider: params.provider,
52
52
  interval: params.interval,
53
53
  startTime: params.startTime,
54
54
  endTime: params.endTime,
@@ -6,8 +6,8 @@ import type {
6
6
  import { buildUrl, request } from '../utils/request.js'
7
7
 
8
8
  export interface GetOrderParams {
9
- /** DEX to get order from (e.g., 'hyperliquid') */
10
- dex: string
9
+ /** Provider to get order from (e.g., 'hyperliquid') */
10
+ provider: string
11
11
  /** Wallet address */
12
12
  address: Address
13
13
  /** Order ID */
@@ -21,14 +21,14 @@ export interface GetOrderParams {
21
21
  * @param params - Request parameters
22
22
  * @param options - Request options (e.g., AbortSignal)
23
23
  * @returns Order details
24
- * @throws {HTTPError} On API error responses (e.g., 404 if order not found)
24
+ * @throws {PerpsError} On API error responses (e.g., 404 if order not found)
25
25
  * @throws {PerpsError} On network or parsing errors
26
26
  *
27
27
  * @example
28
28
  * ```ts
29
29
  * const client = createPerpsClient({ integrator: 'my-app' })
30
30
  * const order = await getOrder(client, {
31
- * dex: 'hyperliquid',
31
+ * provider: 'hyperliquid',
32
32
  * address: '0x1234...',
33
33
  * id: '123456'
34
34
  * })
@@ -41,7 +41,7 @@ export async function getOrder(
41
41
  options?: SDKRequestOptions
42
42
  ): Promise<Order> {
43
43
  const url = buildUrl(`${client.config.apiUrl}/order/${params.id}`, {
44
- dex: params.dex,
44
+ provider: params.provider,
45
45
  address: params.address,
46
46
  })
47
47
  return request<Order>(client.config, url, {}, options)
@@ -6,8 +6,8 @@ import type {
6
6
  import { buildUrl, request } from '../utils/request.js'
7
7
 
8
8
  export interface GetOrderbookParams {
9
- /** DEX to get orderbook from (e.g., 'hyperliquid') */
10
- dex: string
9
+ /** Provider to get orderbook from (e.g., 'hyperliquid') */
10
+ provider: string
11
11
  /** Market symbol (e.g., 'BTC') */
12
12
  symbol: string
13
13
  /** Number of levels to return (default varies by DEX) */
@@ -21,14 +21,14 @@ export interface GetOrderbookParams {
21
21
  * @param params - Request parameters
22
22
  * @param options - Request options (e.g., AbortSignal)
23
23
  * @returns Orderbook with bids and asks
24
- * @throws {HTTPError} On API error responses
24
+ * @throws {PerpsError} On API error responses
25
25
  * @throws {PerpsError} On network or parsing errors
26
26
  *
27
27
  * @example
28
28
  * ```ts
29
29
  * const client = createPerpsClient({ integrator: 'my-app' })
30
30
  * const { bids, asks } = await getOrderbook(client, {
31
- * dex: 'hyperliquid',
31
+ * provider: 'hyperliquid',
32
32
  * symbol: 'BTC',
33
33
  * depth: 20
34
34
  * })
@@ -42,7 +42,7 @@ export async function getOrderbook(
42
42
  options?: SDKRequestOptions
43
43
  ): Promise<OrderbookResponse> {
44
44
  const url = buildUrl(`${client.config.apiUrl}/orderbook/${params.symbol}`, {
45
- dex: params.dex,
45
+ provider: params.provider,
46
46
  depth: params.depth,
47
47
  })
48
48
  return request<OrderbookResponse>(client.config, url, {}, options)
@@ -0,0 +1,45 @@
1
+ import type { Address, OrdersResponse } from '@lifi/perps-types'
2
+ import type {
3
+ PerpsSDKClient,
4
+ SDKRequestOptions,
5
+ } from '../client/createPerpsClient.js'
6
+ import { buildUrl, request } from '../utils/request.js'
7
+
8
+ export interface GetOrdersParams {
9
+ /** Provider (e.g., 'hyperliquid') */
10
+ provider: string
11
+ /** Wallet address */
12
+ address: Address
13
+ /** Optional symbol to filter orders by market */
14
+ symbol?: string
15
+ /** Maximum number of results */
16
+ limit?: number
17
+ /** Pagination cursor */
18
+ cursor?: string
19
+ }
20
+
21
+ /**
22
+ * Get open orders and trigger orders for an account.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const { openOrders, triggerOrders } = await getOrders(client, {
27
+ * provider: 'hyperliquid',
28
+ * address: '0x1234...',
29
+ * })
30
+ * ```
31
+ */
32
+ export async function getOrders(
33
+ client: PerpsSDKClient,
34
+ params: GetOrdersParams,
35
+ options?: SDKRequestOptions
36
+ ): Promise<OrdersResponse> {
37
+ const url = buildUrl(`${client.config.apiUrl}/orders`, {
38
+ provider: params.provider,
39
+ address: params.address,
40
+ ...(params.symbol ? { symbol: params.symbol } : {}),
41
+ ...(params.limit ? { limit: String(params.limit) } : {}),
42
+ ...(params.cursor ? { cursor: params.cursor } : {}),
43
+ })
44
+ return request<OrdersResponse>(client.config, url, {}, options)
45
+ }
@@ -0,0 +1,45 @@
1
+ import type { Address, PositionsResponse } from '@lifi/perps-types'
2
+ import type {
3
+ PerpsSDKClient,
4
+ SDKRequestOptions,
5
+ } from '../client/createPerpsClient.js'
6
+ import { buildUrl, request } from '../utils/request.js'
7
+
8
+ export interface GetPositionsParams {
9
+ /** Provider (e.g., 'hyperliquid') */
10
+ provider: string
11
+ /** Wallet address */
12
+ address: Address
13
+ /** Optional symbol to filter to a single position */
14
+ symbol?: string
15
+ /** Maximum number of results */
16
+ limit?: number
17
+ /** Pagination cursor */
18
+ cursor?: string
19
+ }
20
+
21
+ /**
22
+ * Get open positions for an account.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const { positions } = await getPositions(client, {
27
+ * provider: 'hyperliquid',
28
+ * address: '0x1234...',
29
+ * })
30
+ * ```
31
+ */
32
+ export async function getPositions(
33
+ client: PerpsSDKClient,
34
+ params: GetPositionsParams,
35
+ options?: SDKRequestOptions
36
+ ): Promise<PositionsResponse> {
37
+ const url = buildUrl(`${client.config.apiUrl}/positions`, {
38
+ provider: params.provider,
39
+ address: params.address,
40
+ ...(params.symbol ? { symbol: params.symbol } : {}),
41
+ ...(params.limit ? { limit: String(params.limit) } : {}),
42
+ ...(params.cursor ? { cursor: params.cursor } : {}),
43
+ })
44
+ return request<PositionsResponse>(client.config, url, {}, options)
45
+ }
@@ -6,8 +6,8 @@ import type {
6
6
  import { buildUrl, request } from '../utils/request.js'
7
7
 
8
8
  export interface GetPricesParams {
9
- /** DEX to get prices from (e.g., 'hyperliquid') */
10
- dex: string
9
+ /** Provider to get prices from (e.g., 'hyperliquid') */
10
+ provider: string
11
11
  /** Optional list of symbols to filter (e.g., ['BTC', 'ETH']) */
12
12
  symbols?: string[]
13
13
  }
@@ -19,18 +19,18 @@ export interface GetPricesParams {
19
19
  * @param params - Request parameters
20
20
  * @param options - Request options (e.g., AbortSignal)
21
21
  * @returns Map of symbol to price
22
- * @throws {HTTPError} On API error responses
22
+ * @throws {PerpsError} On API error responses
23
23
  * @throws {PerpsError} On network or parsing errors
24
24
  *
25
25
  * @example
26
26
  * ```ts
27
27
  * const client = createPerpsClient({ integrator: 'my-app' })
28
- * const { prices } = await getPrices(client, { dex: 'hyperliquid' })
28
+ * const { prices } = await getPrices(client, { provider: 'hyperliquid' })
29
29
  * console.log(prices) // { BTC: '95000.00', ETH: '3400.00', ... }
30
30
  *
31
31
  * // Filter by symbols
32
32
  * const { prices } = await getPrices(client, {
33
- * dex: 'hyperliquid',
33
+ * provider: 'hyperliquid',
34
34
  * symbols: ['BTC', 'ETH']
35
35
  * })
36
36
  * ```
@@ -41,7 +41,7 @@ export async function getPrices(
41
41
  options?: SDKRequestOptions
42
42
  ): Promise<PricesResponse> {
43
43
  const url = buildUrl(`${client.config.apiUrl}/prices`, {
44
- dex: params.dex,
44
+ provider: params.provider,
45
45
  symbols: params.symbols?.join(','),
46
46
  })
47
47
  return request<PricesResponse>(client.config, url, {}, options)
@@ -1,4 +1,4 @@
1
- import type { DexesResponse } from '@lifi/perps-types'
1
+ import type { ProvidersResponse } from '@lifi/perps-types'
2
2
  import type {
3
3
  PerpsSDKClient,
4
4
  SDKRequestOptions,
@@ -6,28 +6,28 @@ import type {
6
6
  import { request } from '../utils/request.js'
7
7
 
8
8
  /**
9
- * Get all available DEXes.
9
+ * Get all available providers.
10
10
  *
11
11
  * @param client - The SDK client instance
12
12
  * @param options - Request options (e.g., AbortSignal)
13
- * @returns List of supported DEXes with their authorization requirements
14
- * @throws {HTTPError} On API error responses
13
+ * @returns List of supported providers with their authorization requirements
14
+ * @throws {PerpsError} On API error responses
15
15
  * @throws {PerpsError} On network or parsing errors
16
16
  *
17
17
  * @example
18
18
  * ```ts
19
19
  * const client = createPerpsClient({ integrator: 'my-app' })
20
- * const { dexes } = await getDexes(client)
21
- * console.log(dexes) // [{ key: 'hyperliquid', name: 'Hyperliquid', ... }]
20
+ * const { providers } = await getProviders(client)
21
+ * console.log(providers) // [{ key: 'hyperliquid', name: 'Hyperliquid', ... }]
22
22
  * ```
23
23
  */
24
- export async function getDexes(
24
+ export async function getProviders(
25
25
  client: PerpsSDKClient,
26
26
  options?: SDKRequestOptions
27
- ): Promise<DexesResponse> {
28
- return request<DexesResponse>(
27
+ ): Promise<ProvidersResponse> {
28
+ return request<ProvidersResponse>(
29
29
  client.config,
30
- `${client.config.apiUrl}/dexes`,
30
+ `${client.config.apiUrl}/providers`,
31
31
  {},
32
32
  options
33
33
  )
@@ -0,0 +1,124 @@
1
+ import type { AccountResponse, Asset, Position } from '@lifi/perps-types'
2
+ import { HlAbstractionMode } from '@lifi/perps-types/providers/hyperliquid'
3
+ import { stringToFloat } from './parse.js'
4
+
5
+ export interface AccountSummary {
6
+ /** Total portfolio value in USD */
7
+ portfolioValue: number
8
+ /** Collateral available for new positions */
9
+ availableMargin: number
10
+ /** Margin locked in open positions */
11
+ marginUsed: number
12
+ /** Unrealized PnL across all positions */
13
+ unrealizedPnl: number
14
+ }
15
+
16
+ /**
17
+ * Build a map of coin name → USD price from spot assets and allMids.
18
+ * Spot assets have displaySymbol "BASE/QUOTE" and assetId "@N" which keys into prices.
19
+ */
20
+ function buildSpotCoinPrices(
21
+ assets: Asset[],
22
+ prices: Record<string, string>
23
+ ): Map<string, number> {
24
+ const map = new Map<string, number>()
25
+ for (const asset of assets) {
26
+ if (asset.market !== 'spot') {
27
+ continue
28
+ }
29
+ const price = prices[asset.assetId]
30
+ if (!price) {
31
+ continue
32
+ }
33
+ const slashIdx = asset.displaySymbol.indexOf('/')
34
+ if (slashIdx < 0) {
35
+ continue
36
+ }
37
+ const base = asset.displaySymbol.slice(0, slashIdx)
38
+ map.set(base, stringToFloat(price))
39
+ }
40
+ return map
41
+ }
42
+
43
+ /**
44
+ * Resolve the USD price of a spot balance currency.
45
+ *
46
+ * Looks up the coin in the spot mid prices map first, then tries an exact
47
+ * match in allMids (e.g. a perps-listed stablecoin). Falls back to $1 for
48
+ * stablecoins with no market price entry.
49
+ */
50
+ function getSpotPrice(
51
+ currency: string,
52
+ prices: Record<string, string>,
53
+ spotCoinPrices: Map<string, number>
54
+ ): number {
55
+ const spotPrice = spotCoinPrices.get(currency)
56
+ if (spotPrice !== undefined) {
57
+ return spotPrice
58
+ }
59
+ if (prices[currency] !== undefined) {
60
+ return stringToFloat(prices[currency])
61
+ }
62
+ return 1
63
+ }
64
+
65
+ const UNIFIED_STATUSES: ReadonlySet<string> = new Set([
66
+ HlAbstractionMode.UNIFIED_ACCOUNT,
67
+ HlAbstractionMode.PORTFOLIO_MARGIN,
68
+ ])
69
+
70
+ export function calculateAccountSummary(
71
+ account: AccountResponse,
72
+ positions: Position[],
73
+ prices: Record<string, string>,
74
+ assets?: Asset[],
75
+ collateralCurrencies?: ReadonlySet<string>
76
+ ): AccountSummary {
77
+ let marginUsed = 0
78
+ let unrealizedPnl = 0
79
+ for (const p of positions) {
80
+ marginUsed += stringToFloat(p.marginUsed)
81
+ unrealizedPnl += stringToFloat(p.unrealizedPnl)
82
+ }
83
+
84
+ const spotCoinPrices = buildSpotCoinPrices(assets ?? [], prices)
85
+
86
+ // Split spot into margin-eligible (quote assets) and non-margin (HYPE, PURR etc.)
87
+ let spotMarginValue = 0
88
+ let spotNonMarginValue = 0
89
+ let perpsBalance = 0
90
+ for (const [key, entries] of Object.entries(account.balances)) {
91
+ if (key === 'spot') {
92
+ for (const b of entries) {
93
+ const value =
94
+ stringToFloat(b.amount) *
95
+ getSpotPrice(b.currency, prices, spotCoinPrices)
96
+ if (!collateralCurrencies || collateralCurrencies.has(b.currency)) {
97
+ spotMarginValue += value
98
+ } else {
99
+ spotNonMarginValue += value
100
+ }
101
+ }
102
+ } else {
103
+ for (const b of entries) {
104
+ perpsBalance += stringToFloat(b.amount)
105
+ }
106
+ }
107
+ }
108
+
109
+ const status = account.config?.abstractionStatus as string | undefined
110
+ const isUnified = UNIFIED_STATUSES.has(status ?? '')
111
+
112
+ // Unified: spot balances are total token holdings (margin is NOT subtracted).
113
+ // Disabled: perps venue balances are free margin (margin IS already subtracted).
114
+ const marginCollateral = isUnified
115
+ ? spotMarginValue + perpsBalance
116
+ : spotMarginValue + perpsBalance + marginUsed
117
+
118
+ return {
119
+ portfolioValue: marginCollateral + spotNonMarginValue + unrealizedPnl,
120
+ availableMargin: marginCollateral - marginUsed,
121
+ marginUsed,
122
+ unrealizedPnl,
123
+ }
124
+ }