@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
@@ -2,258 +2,406 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PerpsClient = void 0;
4
4
  const perps_types_1 = require("@lifi/perps-types");
5
- const registry_js_1 = require("../dex/registry.js");
5
+ const storage_js_1 = require("../agent/storage.js");
6
6
  const constants_js_1 = require("../errors/constants.js");
7
7
  const PerpsError_js_1 = require("../errors/PerpsError.js");
8
- const cancelOrder_js_1 = require("../services/cancelOrder.js");
9
- const createAuthorization_js_1 = require("../services/createAuthorization.js");
10
- const createOrder_js_1 = require("../services/createOrder.js");
11
- const createWithdrawal_js_1 = require("../services/createWithdrawal.js");
12
- const submitAuthorization_js_1 = require("../services/submitAuthorization.js");
13
- const submitOrder_js_1 = require("../services/submitOrder.js");
14
- const submitWithdrawal_js_1 = require("../services/submitWithdrawal.js");
8
+ const createAction_js_1 = require("../services/createAction.js");
9
+ const executeAction_js_1 = require("../services/executeAction.js");
10
+ const getProviders_js_1 = require("../services/getProviders.js");
15
11
  const signTypedData_js_1 = require("../utils/signTypedData.js");
16
12
  const createPerpsClient_js_1 = require("./createPerpsClient.js");
13
+ const types_js_1 = require("./types.js");
17
14
  class PerpsClient {
18
15
  sdkClient;
16
+ storage;
19
17
  signingModes = new Map();
18
+ providerMetadataCache = new Map();
20
19
  constructor(options) {
20
+ this.storage = options.storage ?? storage_js_1.localStorageAdapter;
21
21
  this.sdkClient = (0, createPerpsClient_js_1.createPerpsClient)({
22
22
  integrator: options.integrator,
23
23
  apiKey: options.apiKey,
24
24
  apiUrl: options.apiUrl,
25
- storage: options.storage,
25
+ storage: this.storage,
26
+ providers: options.providers,
26
27
  });
27
28
  }
28
29
  get client() {
29
30
  return this.sdkClient;
30
31
  }
31
- modeKey(address, dex) {
32
- return `${address.toLowerCase()}:${dex.toLowerCase()}`;
32
+ modeKey(address, provider) {
33
+ return `${address.toLowerCase()}:${provider.toLowerCase()}`;
33
34
  }
34
- async setSigningMode(address, dex, mode) {
35
- const key = this.modeKey(address, dex);
36
- this.signingModes.set(key, mode);
37
- if (mode === 'USER_AGENT') {
38
- await this.sdkClient.agentManager.getOrCreateAgent(address, dex);
39
- }
40
- }
41
- getSigningMode(address, dex) {
42
- return this.signingModes.get(this.modeKey(address, dex)) ?? 'USER';
43
- }
44
- async getAgentAddress(address, dex) {
45
- const agent = await this.sdkClient.agentManager.getAgent(address, dex);
46
- return agent.address;
47
- }
48
- async hasAgent(address, dex) {
49
- return this.sdkClient.agentManager.hasAgent(address, dex);
50
- }
51
- async removeAgent(address, dex) {
52
- await this.sdkClient.agentManager.removeAgent(address, dex);
53
- this.signingModes.delete(this.modeKey(address, dex));
35
+ signingModeStorageKey(address, provider) {
36
+ return `lifi-perps-mode:${address.toLowerCase()}:${provider.toLowerCase()}`;
54
37
  }
55
- async buildAuthorization(params) {
56
- const mode = this.getSigningMode(params.address, params.dex);
57
- let { signerAddress } = params;
58
- if (mode === 'USER_AGENT') {
59
- const agent = await this.sdkClient.agentManager.getAgent(params.address, params.dex);
60
- signerAddress = signerAddress ?? agent.address;
38
+ async getProviderMetadata(provider) {
39
+ const cached = this.providerMetadataCache.get(provider);
40
+ if (cached) {
41
+ return cached;
61
42
  }
62
- return (0, createAuthorization_js_1.createAuthorization)(this.sdkClient, {
63
- ...params,
64
- signerAddress,
65
- });
66
- }
67
- async submitAuthorizations(params) {
68
- const mode = this.getSigningMode(params.address, params.dex);
69
- let { signerAddress } = params;
70
- if (mode === 'USER_AGENT') {
71
- const agent = await this.sdkClient.agentManager.getAgent(params.address, params.dex);
72
- signerAddress = signerAddress ?? agent.address;
43
+ const { providers } = await (0, getProviders_js_1.getProviders)(this.sdkClient);
44
+ for (const d of providers) {
45
+ this.providerMetadataCache.set(d.key, d);
73
46
  }
74
- return (0, submitAuthorization_js_1.submitAuthorization)(this.sdkClient, { ...params, signerAddress });
75
- }
76
- async buildOrder(params) {
77
- const mode = this.getSigningMode(params.address, params.dex);
78
- let signerAddress;
79
- if (mode === 'USER_AGENT') {
80
- const agent = await this.sdkClient.agentManager.getAgent(params.address, params.dex);
81
- signerAddress = agent.address;
47
+ const metadata = this.providerMetadataCache.get(provider);
48
+ if (!metadata) {
49
+ const error = new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Unsupported provider: ${provider}`);
50
+ error.tool = '@lifi/perps-sdk';
51
+ throw error;
82
52
  }
83
- return (0, createOrder_js_1.createOrder)(this.sdkClient, {
84
- dex: params.dex,
85
- address: params.address,
86
- signerAddress,
87
- clientOrderId: params.clientOrderId,
88
- symbol: params.symbol,
89
- side: params.side,
90
- type: params.type,
91
- size: params.size,
92
- price: params.price,
93
- leverage: params.leverage,
94
- reduceOnly: params.reduceOnly,
95
- timeInForce: params.timeInForce,
96
- expiresAt: params.expiresAt,
97
- takeProfit: params.takeProfit,
98
- stopLoss: params.stopLoss,
53
+ return metadata;
54
+ }
55
+ buildPrerequisiteInputs(prerequisites, mode, agentAddress) {
56
+ return prerequisites
57
+ .filter((p) => {
58
+ if (mode === types_js_1.SigningMode.USER) {
59
+ if (!p.signers.includes(perps_types_1.PerpsSigner.USER)) {
60
+ return false;
61
+ }
62
+ if (p.type === perps_types_1.ActionType.APPROVE_AGENT) {
63
+ return false;
64
+ }
65
+ return true;
66
+ }
67
+ if (p.signers.includes(perps_types_1.PerpsSigner.USER) &&
68
+ !p.signers.includes(perps_types_1.PerpsSigner.AGENT) &&
69
+ p.type === perps_types_1.ActionType.USER_SET_ABSTRACTION) {
70
+ return false;
71
+ }
72
+ return true;
73
+ })
74
+ .map((p) => {
75
+ const params = {};
76
+ if (p.type === perps_types_1.ActionType.APPROVE_AGENT && agentAddress) {
77
+ params.agentAddress = agentAddress;
78
+ }
79
+ return {
80
+ key: p.type,
81
+ ...(Object.keys(params).length > 0 ? { params } : {}),
82
+ };
99
83
  });
100
84
  }
101
- async buildCancelOrder(params) {
102
- const mode = this.getSigningMode(params.address, params.dex);
103
- let signerAddress;
104
- if (mode === 'USER_AGENT') {
105
- const agent = await this.sdkClient.agentManager.getAgent(params.address, params.dex);
106
- signerAddress = agent.address;
85
+ async resolveSignerForAction(action, address, provider) {
86
+ const mode = await this.loadSigningMode(address, provider);
87
+ if (mode !== types_js_1.SigningMode.USER_AGENT) {
88
+ return undefined;
107
89
  }
108
- return (0, cancelOrder_js_1.cancelOrder)(this.sdkClient, {
109
- dex: params.dex,
110
- address: params.address,
111
- signerAddress,
112
- ids: params.ids,
113
- });
90
+ const metadata = await this.getProviderMetadata(provider);
91
+ const allActions = [...metadata.prepareAccountActions, ...metadata.actions];
92
+ const descriptor = allActions.find((d) => d.type === action);
93
+ if (!descriptor?.signers.includes(perps_types_1.PerpsSigner.AGENT)) {
94
+ return undefined;
95
+ }
96
+ const agent = await this.sdkClient.agentManager.getAgent(address, provider);
97
+ return agent.address;
114
98
  }
115
- async placeOrder(params) {
116
- const mode = this.getSigningMode(params.address, params.dex);
117
- if (mode !== 'USER_AGENT') {
118
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `${constants_js_1.PerpsErrorMessage.InvalidSigningMode} placeOrder() requires USER_AGENT mode. Use createOrder() + submitOrder() for USER mode.`);
99
+ requireAgentMode(address, provider, method) {
100
+ const mode = this.getSigningMode(address, provider);
101
+ if (mode !== types_js_1.SigningMode.USER_AGENT) {
102
+ const error = new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `${constants_js_1.PerpsErrorMessage.InvalidSigningMode} ${method} requires USER_AGENT mode.`);
103
+ error.tool = '@lifi/perps-sdk';
104
+ throw error;
119
105
  }
120
- const agent = await this.sdkClient.agentManager.getAgent(params.address, params.dex);
121
- const { actions } = await (0, createOrder_js_1.createOrder)(this.sdkClient, {
122
- dex: params.dex,
123
- address: params.address,
124
- signerAddress: agent.address,
125
- clientOrderId: params.clientOrderId,
126
- symbol: params.symbol,
127
- side: params.side,
128
- type: params.type,
129
- size: params.size,
130
- price: params.price,
131
- leverage: params.leverage,
132
- reduceOnly: params.reduceOnly,
133
- timeInForce: params.timeInForce,
134
- expiresAt: params.expiresAt,
135
- takeProfit: params.takeProfit,
136
- stopLoss: params.stopLoss,
137
- });
106
+ }
107
+ async autoSignAndExecute(provider, address, action, actions) {
108
+ const agent = await this.sdkClient.agentManager.getAgent(address, provider);
138
109
  const signedActions = await Promise.all(actions.map(async (a) => ({
139
110
  action: a.action,
140
111
  typedData: a.typedData,
141
112
  signature: await (0, signTypedData_js_1.signTypedData)(agent.privateKey, a.typedData),
142
113
  })));
143
- return (0, submitOrder_js_1.submitOrder)(this.sdkClient, {
144
- dex: params.dex,
145
- address: params.address,
114
+ return (0, executeAction_js_1.executeAction)(this.sdkClient, {
115
+ provider,
116
+ address,
146
117
  signerAddress: agent.address,
118
+ action,
147
119
  actions: signedActions,
148
120
  });
149
121
  }
150
- async cancelOrders(params) {
151
- const mode = this.getSigningMode(params.address, params.dex);
152
- if (mode !== 'USER_AGENT') {
153
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `${constants_js_1.PerpsErrorMessage.InvalidSigningMode} cancelOrders() requires USER_AGENT mode. Use cancelOrder() + submitOrder() for USER mode.`);
154
- }
155
- const agent = await this.sdkClient.agentManager.getAgent(params.address, params.dex);
156
- const { actions } = await (0, cancelOrder_js_1.cancelOrder)(this.sdkClient, {
157
- dex: params.dex,
158
- address: params.address,
159
- signerAddress: agent.address,
160
- ids: params.ids,
161
- });
162
- const signedActions = await Promise.all(actions.map(async (a) => ({
163
- action: a.action,
164
- typedData: a.typedData,
165
- signature: await (0, signTypedData_js_1.signTypedData)(agent.privateKey, a.typedData),
166
- })));
167
- return (0, submitOrder_js_1.submitOrder)(this.sdkClient, {
168
- dex: params.dex,
122
+ async buildAction(action, params) {
123
+ const signerAddress = await this.resolveSignerForAction(action, params.address, params.provider);
124
+ return (0, createAction_js_1.createAction)(this.sdkClient, {
125
+ provider: params.provider,
169
126
  address: params.address,
170
- signerAddress: agent.address,
171
- actions: signedActions,
127
+ signerAddress,
128
+ action,
129
+ params: params.params,
172
130
  });
173
131
  }
174
- async submitSignedOrder(params) {
175
- return (0, submitOrder_js_1.submitOrder)(this.sdkClient, params);
132
+ async submitSignedAction(action, params) {
133
+ return (0, executeAction_js_1.executeAction)(this.sdkClient, { ...params, action });
176
134
  }
177
- async buildWithdrawal(params) {
178
- return (0, createWithdrawal_js_1.createWithdrawal)(this.sdkClient, {
179
- dex: params.dex,
180
- address: params.address,
181
- withdrawal: params.withdrawal,
182
- });
135
+ async setSigningMode(address, provider, mode) {
136
+ const key = this.modeKey(address, provider);
137
+ this.signingModes.set(key, mode);
138
+ await this.storage.set(this.signingModeStorageKey(address, provider), mode);
139
+ if (mode === types_js_1.SigningMode.USER_AGENT) {
140
+ await this.sdkClient.agentManager.getOrCreateAgent(address, provider);
141
+ }
183
142
  }
184
- async submitWithdrawal(params) {
185
- return (0, submitWithdrawal_js_1.submitWithdrawal)(this.sdkClient, params);
143
+ getSigningMode(address, provider) {
144
+ return (this.signingModes.get(this.modeKey(address, provider)) ??
145
+ types_js_1.SigningMode.USER_AGENT);
186
146
  }
187
- async getRequiredAuthorizations(params) {
188
- const { dex, address } = params;
189
- const mode = this.getSigningMode(address, dex);
190
- const provider = (0, registry_js_1.getDexAuthProvider)(dex);
147
+ async loadSigningMode(address, provider) {
148
+ const key = this.modeKey(address, provider);
149
+ if (this.signingModes.has(key)) {
150
+ return this.signingModes.get(key);
151
+ }
152
+ const stored = await this.storage.get(this.signingModeStorageKey(address, provider));
153
+ const mode = stored === types_js_1.SigningMode.USER_AGENT || stored === types_js_1.SigningMode.USER
154
+ ? stored
155
+ : types_js_1.SigningMode.USER_AGENT;
156
+ this.signingModes.set(key, mode);
157
+ return mode;
158
+ }
159
+ async loadAgentMode(address, provider) {
160
+ const mode = await this.loadSigningMode(address, provider);
161
+ return mode === types_js_1.SigningMode.USER_AGENT;
162
+ }
163
+ async setAgentMode(address, provider, useAgent) {
164
+ await this.setSigningMode(address, provider, useAgent ? types_js_1.SigningMode.USER_AGENT : types_js_1.SigningMode.USER);
165
+ }
166
+ async getAgentAddress(address, provider) {
167
+ const agent = await this.sdkClient.agentManager.getAgent(address, provider);
168
+ return agent.address;
169
+ }
170
+ async hasAgent(address, provider) {
171
+ return this.sdkClient.agentManager.hasAgent(address, provider);
172
+ }
173
+ async removeAgent(address, provider) {
174
+ await this.sdkClient.agentManager.removeAgent(address, provider);
175
+ this.signingModes.delete(this.modeKey(address, provider));
176
+ await this.storage.remove(this.signingModeStorageKey(address, provider));
177
+ }
178
+ async checkPrerequisites(params) {
179
+ const { provider, address } = params;
180
+ const mode = await this.loadSigningMode(address, provider);
191
181
  let agentAddress;
192
- if (mode === 'USER_AGENT') {
193
- const agent = await this.sdkClient.agentManager.getOrCreateAgent(address, dex);
182
+ if (mode === types_js_1.SigningMode.USER_AGENT) {
183
+ const agent = await this.sdkClient.agentManager.getOrCreateAgent(address, provider);
194
184
  agentAddress = agent.address;
195
185
  }
196
- const authInputs = provider.getAuthorizationInputs({
197
- signingMode: mode,
198
- agentAddress,
199
- });
200
- const allInputs = [...authInputs.user, ...authInputs.agent];
186
+ const metadata = await this.getProviderMetadata(provider);
187
+ const allInputs = this.buildPrerequisiteInputs(metadata.prepareAccountActions, mode, agentAddress);
201
188
  if (allInputs.length === 0) {
202
- return { userAuthorizations: [], agentAuthorizations: [], isReady: true };
189
+ return { userPrerequisites: [], agentPrerequisites: [], isReady: true };
203
190
  }
204
- const { actions } = await this.buildAuthorization({
205
- dex,
191
+ const signersByAction = new Map();
192
+ for (const desc of metadata.prepareAccountActions) {
193
+ signersByAction.set(desc.type, desc.signers);
194
+ }
195
+ const { actions } = await this.buildPrerequisites({
196
+ provider,
206
197
  address,
207
- authorizations: allInputs,
198
+ signerAddress: agentAddress,
208
199
  });
209
200
  if (actions.length === 0) {
210
- return { userAuthorizations: [], agentAuthorizations: [], isReady: true };
201
+ return { userPrerequisites: [], agentPrerequisites: [], isReady: true };
211
202
  }
212
- const agentKeys = new Set(authInputs.agent.map((a) => a.key));
213
- const userAuthorizations = actions.filter((a) => !agentKeys.has(a.action));
214
- const agentAuthorizations = actions.filter((a) => agentKeys.has(a.action));
203
+ const userPrerequisites = actions.filter((a) => {
204
+ const signers = signersByAction.get(a.action) ?? [];
205
+ return signers.includes(perps_types_1.PerpsSigner.USER);
206
+ });
207
+ const agentPrerequisites = actions.filter((a) => {
208
+ const signers = signersByAction.get(a.action) ?? [];
209
+ return signers.includes(perps_types_1.PerpsSigner.AGENT);
210
+ });
215
211
  return {
216
- userAuthorizations,
217
- agentAuthorizations,
212
+ userPrerequisites,
213
+ agentPrerequisites,
218
214
  isReady: false,
219
215
  };
220
216
  }
221
- async executeAuthorizations(params) {
222
- const { dex, address, required, userSignedActions } = params;
223
- const mode = this.getSigningMode(address, dex);
217
+ async buildPrerequisites(params) {
218
+ const mode = await this.loadSigningMode(params.address, params.provider);
219
+ let { signerAddress } = params;
220
+ if (mode === types_js_1.SigningMode.USER_AGENT && !signerAddress) {
221
+ const agent = await this.sdkClient.agentManager.getAgent(params.address, params.provider);
222
+ signerAddress = agent.address;
223
+ }
224
+ const metadata = await this.getProviderMetadata(params.provider);
225
+ const allInputs = this.buildPrerequisiteInputs(metadata.prepareAccountActions, mode, signerAddress);
226
+ const allActions = [];
227
+ for (const input of allInputs) {
228
+ const { actions } = await (0, createAction_js_1.createAction)(this.sdkClient, {
229
+ provider: params.provider,
230
+ address: params.address,
231
+ signerAddress,
232
+ action: input.key,
233
+ params: (input.params ?? {}),
234
+ });
235
+ allActions.push(...actions);
236
+ }
237
+ return { actions: allActions };
238
+ }
239
+ async executePrerequisites(params) {
240
+ const { provider, address, required, userSignedActions } = params;
241
+ const mode = await this.loadSigningMode(address, provider);
224
242
  let userResults = { results: [] };
225
243
  if (userSignedActions.length > 0) {
226
- const signerAddress = mode === 'USER_AGENT'
227
- ? (await this.sdkClient.agentManager.getAgent(address, dex)).address
244
+ const signerAddress = mode === types_js_1.SigningMode.USER_AGENT
245
+ ? (await this.sdkClient.agentManager.getAgent(address, provider))
246
+ .address
228
247
  : address;
229
- userResults = await (0, submitAuthorization_js_1.submitAuthorization)(this.sdkClient, {
230
- dex,
248
+ const firstAction = required.userPrerequisites[0]?.action;
249
+ userResults = await (0, executeAction_js_1.executeAction)(this.sdkClient, {
250
+ provider,
231
251
  address,
232
252
  signerAddress,
253
+ action: (firstAction ?? perps_types_1.ActionType.APPROVE_AGENT),
233
254
  actions: userSignedActions,
234
255
  });
235
- const failed = userResults.results.find((r) => !r.success);
236
- if (failed) {
256
+ const mandatoryFailure = userResults.results.find((r) => !r.success);
257
+ if (mandatoryFailure) {
237
258
  return { userResults };
238
259
  }
239
260
  }
240
- if (required.agentAuthorizations.length > 0 && mode === 'USER_AGENT') {
241
- const agent = await this.sdkClient.agentManager.getAgent(address, dex);
242
- const signedAgentActions = await Promise.all(required.agentAuthorizations.map(async (action) => ({
261
+ if (required.agentPrerequisites.length > 0 &&
262
+ mode === types_js_1.SigningMode.USER_AGENT) {
263
+ const agent = await this.sdkClient.agentManager.getAgent(address, provider);
264
+ const signedAgentActions = await Promise.all(required.agentPrerequisites.map(async (action) => ({
243
265
  action: action.action,
244
266
  typedData: action.typedData,
245
267
  signature: await (0, signTypedData_js_1.signTypedData)(agent.privateKey, action.typedData),
246
268
  })));
247
- const agentResults = await (0, submitAuthorization_js_1.submitAuthorization)(this.sdkClient, {
248
- dex,
269
+ const firstAction = required.agentPrerequisites[0]?.action;
270
+ const agentResults = await (0, executeAction_js_1.executeAction)(this.sdkClient, {
271
+ provider,
249
272
  address,
250
273
  signerAddress: agent.address,
274
+ action: (firstAction ?? perps_types_1.ActionType.AGENT_SET_ABSTRACTION),
251
275
  actions: signedAgentActions,
252
276
  });
277
+ const abstractionFailed = agentResults.results.some((r) => !r.success && r.action === perps_types_1.ActionType.AGENT_SET_ABSTRACTION);
278
+ if (abstractionFailed) {
279
+ const { actions: fallbackActions } = await (0, createAction_js_1.createAction)(this.sdkClient, {
280
+ provider,
281
+ address,
282
+ action: perps_types_1.ActionType.USER_SET_ABSTRACTION,
283
+ params: {},
284
+ });
285
+ if (fallbackActions.length > 0) {
286
+ return {
287
+ userResults,
288
+ agentResults,
289
+ fallbackUserPrerequisites: fallbackActions,
290
+ };
291
+ }
292
+ }
253
293
  return { userResults, agentResults };
254
294
  }
255
295
  return { userResults };
256
296
  }
297
+ async buildOrder(params) {
298
+ return this.buildAction(perps_types_1.ActionType.PLACE_ORDER, {
299
+ provider: params.provider,
300
+ address: params.address,
301
+ params: {
302
+ asset: params.asset,
303
+ side: params.side,
304
+ type: params.type,
305
+ size: params.size,
306
+ price: params.price,
307
+ leverage: params.leverage,
308
+ reduceOnly: params.reduceOnly,
309
+ timeInForce: params.timeInForce,
310
+ expiresAt: params.expiresAt,
311
+ takeProfit: params.takeProfit,
312
+ stopLoss: params.stopLoss,
313
+ },
314
+ });
315
+ }
316
+ async buildTriggerOrder(params) {
317
+ return this.buildAction(perps_types_1.ActionType.PLACE_TRIGGER_ORDER, {
318
+ provider: params.provider,
319
+ address: params.address,
320
+ params: {
321
+ asset: params.asset,
322
+ side: params.side,
323
+ takeProfit: params.takeProfit,
324
+ stopLoss: params.stopLoss,
325
+ },
326
+ });
327
+ }
328
+ async buildCancelOrder(params) {
329
+ return this.buildAction(perps_types_1.ActionType.CANCEL_ORDER, {
330
+ provider: params.provider,
331
+ address: params.address,
332
+ params: { ids: params.ids },
333
+ });
334
+ }
335
+ async buildModifyOrder(params) {
336
+ return this.buildAction(perps_types_1.ActionType.MODIFY_ORDER, {
337
+ provider: params.provider,
338
+ address: params.address,
339
+ params: {
340
+ modifications: params.modifications,
341
+ },
342
+ });
343
+ }
344
+ async buildPositionMargin(params) {
345
+ return this.buildAction(perps_types_1.ActionType.UPDATE_POSITION_MARGIN, {
346
+ provider: params.provider,
347
+ address: params.address,
348
+ params: {
349
+ asset: params.asset,
350
+ action: params.action,
351
+ amount: params.amount,
352
+ },
353
+ });
354
+ }
355
+ async buildWithdrawal(params) {
356
+ return this.buildAction(perps_types_1.ActionType.WITHDRAWAL, {
357
+ provider: params.provider,
358
+ address: params.address,
359
+ params: params.withdrawal,
360
+ });
361
+ }
362
+ async submitSignedOrder(params) {
363
+ return this.submitSignedAction(perps_types_1.ActionType.PLACE_ORDER, params);
364
+ }
365
+ async submitSignedPosition(params) {
366
+ return this.submitSignedAction(perps_types_1.ActionType.UPDATE_POSITION_MARGIN, params);
367
+ }
368
+ async submitWithdrawal(params) {
369
+ return this.submitSignedAction(perps_types_1.ActionType.WITHDRAWAL, {
370
+ provider: params.provider,
371
+ address: params.address,
372
+ actions: [params.action],
373
+ });
374
+ }
375
+ async placeOrder(params) {
376
+ await this.loadSigningMode(params.address, params.provider);
377
+ this.requireAgentMode(params.address, params.provider, 'placeOrder()');
378
+ const { actions } = await this.buildOrder(params);
379
+ return this.autoSignAndExecute(params.provider, params.address, perps_types_1.ActionType.PLACE_ORDER, actions);
380
+ }
381
+ async placeTriggerOrder(params) {
382
+ await this.loadSigningMode(params.address, params.provider);
383
+ this.requireAgentMode(params.address, params.provider, 'placeTriggerOrder()');
384
+ const { actions } = await this.buildTriggerOrder(params);
385
+ return this.autoSignAndExecute(params.provider, params.address, perps_types_1.ActionType.PLACE_TRIGGER_ORDER, actions);
386
+ }
387
+ async cancelOrders(params) {
388
+ await this.loadSigningMode(params.address, params.provider);
389
+ this.requireAgentMode(params.address, params.provider, 'cancelOrders()');
390
+ const { actions } = await this.buildCancelOrder(params);
391
+ return this.autoSignAndExecute(params.provider, params.address, perps_types_1.ActionType.CANCEL_ORDER, actions);
392
+ }
393
+ async modifyOrders(params) {
394
+ await this.loadSigningMode(params.address, params.provider);
395
+ this.requireAgentMode(params.address, params.provider, 'modifyOrders()');
396
+ const { actions } = await this.buildModifyOrder(params);
397
+ return this.autoSignAndExecute(params.provider, params.address, perps_types_1.ActionType.MODIFY_ORDER, actions);
398
+ }
399
+ async updatePositionMargin(params) {
400
+ await this.loadSigningMode(params.address, params.provider);
401
+ this.requireAgentMode(params.address, params.provider, 'updatePositionMargin()');
402
+ const { actions } = await this.buildPositionMargin(params);
403
+ return this.autoSignAndExecute(params.provider, params.address, perps_types_1.ActionType.UPDATE_POSITION_MARGIN, actions);
404
+ }
257
405
  }
258
406
  exports.PerpsClient = PerpsClient;
259
407
  //# sourceMappingURL=PerpsClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsClient.js","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsClient.js","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}