@lifi/perps-sdk 0.1.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +54 -0
  3. package/dist/cjs/agent/AgentManager.d.ts +15 -0
  4. package/dist/cjs/agent/AgentManager.d.ts.map +1 -0
  5. package/dist/cjs/agent/AgentManager.js +80 -0
  6. package/dist/cjs/agent/AgentManager.js.map +1 -0
  7. package/dist/cjs/agent/storage.d.ts +4 -0
  8. package/dist/cjs/agent/storage.d.ts.map +1 -0
  9. package/dist/cjs/agent/storage.js +47 -0
  10. package/dist/cjs/agent/storage.js.map +1 -0
  11. package/dist/cjs/agent/types.d.ts +11 -0
  12. package/dist/cjs/agent/types.d.ts.map +1 -0
  13. package/dist/cjs/agent/types.js +3 -0
  14. package/dist/cjs/agent/types.js.map +1 -0
  15. package/dist/cjs/client/PerpsClient.d.ts +29 -0
  16. package/dist/cjs/client/PerpsClient.d.ts.map +1 -0
  17. package/dist/cjs/client/PerpsClient.js +328 -0
  18. package/dist/cjs/client/PerpsClient.js.map +1 -0
  19. package/dist/cjs/client/createPerpsClient.d.ts +30 -0
  20. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -0
  21. package/dist/cjs/client/createPerpsClient.js +56 -0
  22. package/dist/cjs/client/createPerpsClient.js.map +1 -0
  23. package/dist/cjs/client/types.d.ts +61 -0
  24. package/dist/cjs/client/types.d.ts.map +1 -0
  25. package/dist/cjs/client/types.js +3 -0
  26. package/dist/cjs/client/types.js.map +1 -0
  27. package/dist/cjs/errors/AgentError.d.ts +10 -0
  28. package/dist/cjs/errors/AgentError.d.ts.map +1 -0
  29. package/dist/cjs/errors/AgentError.js +23 -0
  30. package/dist/cjs/errors/AgentError.js.map +1 -0
  31. package/dist/cjs/errors/HTTPError.d.ts +11 -0
  32. package/dist/cjs/errors/HTTPError.d.ts.map +1 -0
  33. package/dist/cjs/errors/HTTPError.js +62 -0
  34. package/dist/cjs/errors/HTTPError.js.map +1 -0
  35. package/dist/cjs/errors/PerpsError.d.ts +9 -0
  36. package/dist/cjs/errors/PerpsError.d.ts.map +1 -0
  37. package/dist/cjs/errors/PerpsError.js +27 -0
  38. package/dist/cjs/errors/PerpsError.js.map +1 -0
  39. package/dist/cjs/errors/PerpsSDKError.d.ts +9 -0
  40. package/dist/cjs/errors/PerpsSDKError.d.ts.map +1 -0
  41. package/dist/cjs/errors/PerpsSDKError.js +36 -0
  42. package/dist/cjs/errors/PerpsSDKError.js.map +1 -0
  43. package/dist/cjs/errors/ServerError.d.ts +10 -0
  44. package/dist/cjs/errors/ServerError.d.ts.map +1 -0
  45. package/dist/cjs/errors/ServerError.js +24 -0
  46. package/dist/cjs/errors/ServerError.js.map +1 -0
  47. package/dist/cjs/errors/ValidationError.d.ts +9 -0
  48. package/dist/cjs/errors/ValidationError.d.ts.map +1 -0
  49. package/dist/cjs/errors/ValidationError.js +23 -0
  50. package/dist/cjs/errors/ValidationError.js.map +1 -0
  51. package/dist/cjs/errors/constants.d.ts +15 -0
  52. package/dist/cjs/errors/constants.d.ts.map +1 -0
  53. package/dist/cjs/errors/constants.js +20 -0
  54. package/dist/cjs/errors/constants.js.map +1 -0
  55. package/dist/cjs/errors/utils/rootCause.d.ts +6 -0
  56. package/dist/cjs/errors/utils/rootCause.d.ts.map +1 -0
  57. package/dist/cjs/errors/utils/rootCause.js +41 -0
  58. package/dist/cjs/errors/utils/rootCause.js.map +1 -0
  59. package/dist/cjs/index.d.ts +46 -0
  60. package/dist/cjs/index.d.ts.map +1 -0
  61. package/dist/cjs/index.js +82 -0
  62. package/dist/cjs/index.js.map +1 -0
  63. package/dist/cjs/package.json +1 -0
  64. package/dist/cjs/services/cancelOrder.d.ts +10 -0
  65. package/dist/cjs/services/cancelOrder.d.ts.map +1 -0
  66. package/dist/cjs/services/cancelOrder.js +16 -0
  67. package/dist/cjs/services/cancelOrder.js.map +1 -0
  68. package/dist/cjs/services/createAuthorization.d.ts +10 -0
  69. package/dist/cjs/services/createAuthorization.d.ts.map +1 -0
  70. package/dist/cjs/services/createAuthorization.js +16 -0
  71. package/dist/cjs/services/createAuthorization.js.map +1 -0
  72. package/dist/cjs/services/createOrder.d.ts +21 -0
  73. package/dist/cjs/services/createOrder.d.ts.map +1 -0
  74. package/dist/cjs/services/createOrder.js +27 -0
  75. package/dist/cjs/services/createOrder.js.map +1 -0
  76. package/dist/cjs/services/getAccount.d.ts +8 -0
  77. package/dist/cjs/services/getAccount.d.ts.map +1 -0
  78. package/dist/cjs/services/getAccount.js +12 -0
  79. package/dist/cjs/services/getAccount.js.map +1 -0
  80. package/dist/cjs/services/getDexes.d.ts +4 -0
  81. package/dist/cjs/services/getDexes.d.ts.map +1 -0
  82. package/dist/cjs/services/getDexes.js +8 -0
  83. package/dist/cjs/services/getDexes.js.map +1 -0
  84. package/dist/cjs/services/getHistory.d.ts +10 -0
  85. package/dist/cjs/services/getHistory.d.ts.map +1 -0
  86. package/dist/cjs/services/getHistory.js +14 -0
  87. package/dist/cjs/services/getHistory.js.map +1 -0
  88. package/dist/cjs/services/getMarket.d.ts +8 -0
  89. package/dist/cjs/services/getMarket.d.ts.map +1 -0
  90. package/dist/cjs/services/getMarket.js +11 -0
  91. package/dist/cjs/services/getMarket.js.map +1 -0
  92. package/dist/cjs/services/getMarkets.d.ts +7 -0
  93. package/dist/cjs/services/getMarkets.d.ts.map +1 -0
  94. package/dist/cjs/services/getMarkets.js +9 -0
  95. package/dist/cjs/services/getMarkets.js.map +1 -0
  96. package/dist/cjs/services/getOhlcv.d.ts +12 -0
  97. package/dist/cjs/services/getOhlcv.d.ts.map +1 -0
  98. package/dist/cjs/services/getOhlcv.js +15 -0
  99. package/dist/cjs/services/getOhlcv.js.map +1 -0
  100. package/dist/cjs/services/getOrder.d.ts +9 -0
  101. package/dist/cjs/services/getOrder.d.ts.map +1 -0
  102. package/dist/cjs/services/getOrder.js +12 -0
  103. package/dist/cjs/services/getOrder.js.map +1 -0
  104. package/dist/cjs/services/getOrderbook.d.ts +9 -0
  105. package/dist/cjs/services/getOrderbook.d.ts.map +1 -0
  106. package/dist/cjs/services/getOrderbook.js +12 -0
  107. package/dist/cjs/services/getOrderbook.js.map +1 -0
  108. package/dist/cjs/services/getPrices.d.ts +8 -0
  109. package/dist/cjs/services/getPrices.d.ts.map +1 -0
  110. package/dist/cjs/services/getPrices.js +12 -0
  111. package/dist/cjs/services/getPrices.js.map +1 -0
  112. package/dist/cjs/services/submitAuthorization.d.ts +10 -0
  113. package/dist/cjs/services/submitAuthorization.d.ts.map +1 -0
  114. package/dist/cjs/services/submitAuthorization.js +16 -0
  115. package/dist/cjs/services/submitAuthorization.js.map +1 -0
  116. package/dist/cjs/services/submitOrder.d.ts +10 -0
  117. package/dist/cjs/services/submitOrder.d.ts.map +1 -0
  118. package/dist/cjs/services/submitOrder.js +16 -0
  119. package/dist/cjs/services/submitOrder.js.map +1 -0
  120. package/dist/cjs/utils/request.d.ts +7 -0
  121. package/dist/cjs/utils/request.d.ts.map +1 -0
  122. package/dist/cjs/utils/request.js +63 -0
  123. package/dist/cjs/utils/request.js.map +1 -0
  124. package/dist/cjs/utils/signTypedData.d.ts +3 -0
  125. package/dist/cjs/utils/signTypedData.d.ts.map +1 -0
  126. package/dist/cjs/utils/signTypedData.js +15 -0
  127. package/dist/cjs/utils/signTypedData.js.map +1 -0
  128. package/dist/cjs/utils/sleep.d.ts +2 -0
  129. package/dist/cjs/utils/sleep.d.ts.map +1 -0
  130. package/dist/cjs/utils/sleep.js +6 -0
  131. package/dist/cjs/utils/sleep.js.map +1 -0
  132. package/dist/cjs/version.d.ts +3 -0
  133. package/dist/cjs/version.d.ts.map +1 -0
  134. package/dist/cjs/version.js +6 -0
  135. package/dist/cjs/version.js.map +1 -0
  136. package/dist/esm/agent/AgentManager.d.ts +45 -0
  137. package/dist/esm/agent/AgentManager.d.ts.map +1 -0
  138. package/dist/esm/agent/AgentManager.js +110 -0
  139. package/dist/esm/agent/AgentManager.js.map +1 -0
  140. package/dist/esm/agent/storage.d.ts +12 -0
  141. package/dist/esm/agent/storage.d.ts.map +1 -0
  142. package/dist/esm/agent/storage.js +54 -0
  143. package/dist/esm/agent/storage.js.map +1 -0
  144. package/dist/esm/agent/types.d.ts +23 -0
  145. package/dist/esm/agent/types.d.ts.map +1 -0
  146. package/dist/esm/agent/types.js +2 -0
  147. package/dist/esm/agent/types.js.map +1 -0
  148. package/dist/esm/client/PerpsClient.d.ts +188 -0
  149. package/dist/esm/client/PerpsClient.d.ts.map +1 -0
  150. package/dist/esm/client/PerpsClient.js +512 -0
  151. package/dist/esm/client/PerpsClient.js.map +1 -0
  152. package/dist/esm/client/createPerpsClient.d.ts +82 -0
  153. package/dist/esm/client/createPerpsClient.d.ts.map +1 -0
  154. package/dist/esm/client/createPerpsClient.js +80 -0
  155. package/dist/esm/client/createPerpsClient.js.map +1 -0
  156. package/dist/esm/client/types.d.ts +131 -0
  157. package/dist/esm/client/types.d.ts.map +1 -0
  158. package/dist/esm/client/types.js +2 -0
  159. package/dist/esm/client/types.js.map +1 -0
  160. package/dist/esm/errors/AgentError.d.ts +25 -0
  161. package/dist/esm/errors/AgentError.d.ts.map +1 -0
  162. package/dist/esm/errors/AgentError.js +35 -0
  163. package/dist/esm/errors/AgentError.js.map +1 -0
  164. package/dist/esm/errors/HTTPError.d.ts +11 -0
  165. package/dist/esm/errors/HTTPError.d.ts.map +1 -0
  166. package/dist/esm/errors/HTTPError.js +61 -0
  167. package/dist/esm/errors/HTTPError.js.map +1 -0
  168. package/dist/esm/errors/PerpsError.d.ts +9 -0
  169. package/dist/esm/errors/PerpsError.d.ts.map +1 -0
  170. package/dist/esm/errors/PerpsError.js +23 -0
  171. package/dist/esm/errors/PerpsError.js.map +1 -0
  172. package/dist/esm/errors/PerpsSDKError.d.ts +40 -0
  173. package/dist/esm/errors/PerpsSDKError.d.ts.map +1 -0
  174. package/dist/esm/errors/PerpsSDKError.js +67 -0
  175. package/dist/esm/errors/PerpsSDKError.js.map +1 -0
  176. package/dist/esm/errors/ServerError.d.ts +23 -0
  177. package/dist/esm/errors/ServerError.d.ts.map +1 -0
  178. package/dist/esm/errors/ServerError.js +34 -0
  179. package/dist/esm/errors/ServerError.js.map +1 -0
  180. package/dist/esm/errors/ValidationError.d.ts +23 -0
  181. package/dist/esm/errors/ValidationError.d.ts.map +1 -0
  182. package/dist/esm/errors/ValidationError.js +34 -0
  183. package/dist/esm/errors/ValidationError.js.map +1 -0
  184. package/dist/esm/errors/constants.d.ts +15 -0
  185. package/dist/esm/errors/constants.d.ts.map +1 -0
  186. package/dist/esm/errors/constants.js +17 -0
  187. package/dist/esm/errors/constants.js.map +1 -0
  188. package/dist/esm/errors/utils/rootCause.d.ts +71 -0
  189. package/dist/esm/errors/utils/rootCause.d.ts.map +1 -0
  190. package/dist/esm/errors/utils/rootCause.js +99 -0
  191. package/dist/esm/errors/utils/rootCause.js.map +1 -0
  192. package/dist/esm/index.d.ts +46 -0
  193. package/dist/esm/index.d.ts.map +1 -0
  194. package/dist/esm/index.js +37 -0
  195. package/dist/esm/index.js.map +1 -0
  196. package/dist/esm/package.json +1 -0
  197. package/dist/esm/services/cancelOrder.d.ts +51 -0
  198. package/dist/esm/services/cancelOrder.d.ts.map +1 -0
  199. package/dist/esm/services/cancelOrder.js +50 -0
  200. package/dist/esm/services/cancelOrder.js.map +1 -0
  201. package/dist/esm/services/createAuthorization.d.ts +47 -0
  202. package/dist/esm/services/createAuthorization.d.ts.map +1 -0
  203. package/dist/esm/services/createAuthorization.js +46 -0
  204. package/dist/esm/services/createAuthorization.js.map +1 -0
  205. package/dist/esm/services/createOrder.d.ts +71 -0
  206. package/dist/esm/services/createOrder.d.ts.map +1 -0
  207. package/dist/esm/services/createOrder.js +59 -0
  208. package/dist/esm/services/createOrder.js.map +1 -0
  209. package/dist/esm/services/getAccount.d.ts +32 -0
  210. package/dist/esm/services/getAccount.d.ts.map +1 -0
  211. package/dist/esm/services/getAccount.js +31 -0
  212. package/dist/esm/services/getAccount.js.map +1 -0
  213. package/dist/esm/services/getDexes.d.ts +20 -0
  214. package/dist/esm/services/getDexes.d.ts.map +1 -0
  215. package/dist/esm/services/getDexes.js +21 -0
  216. package/dist/esm/services/getDexes.js.map +1 -0
  217. package/dist/esm/services/getHistory.d.ts +45 -0
  218. package/dist/esm/services/getHistory.d.ts.map +1 -0
  219. package/dist/esm/services/getHistory.js +42 -0
  220. package/dist/esm/services/getHistory.js.map +1 -0
  221. package/dist/esm/services/getMarket.d.ts +27 -0
  222. package/dist/esm/services/getMarket.d.ts.map +1 -0
  223. package/dist/esm/services/getMarket.js +25 -0
  224. package/dist/esm/services/getMarket.js.map +1 -0
  225. package/dist/esm/services/getMarkets.d.ts +25 -0
  226. package/dist/esm/services/getMarkets.d.ts.map +1 -0
  227. package/dist/esm/services/getMarkets.js +23 -0
  228. package/dist/esm/services/getMarkets.js.map +1 -0
  229. package/dist/esm/services/getOhlcv.d.ts +40 -0
  230. package/dist/esm/services/getOhlcv.d.ts.map +1 -0
  231. package/dist/esm/services/getOhlcv.js +34 -0
  232. package/dist/esm/services/getOhlcv.js.map +1 -0
  233. package/dist/esm/services/getOrder.d.ts +33 -0
  234. package/dist/esm/services/getOrder.d.ts.map +1 -0
  235. package/dist/esm/services/getOrder.js +30 -0
  236. package/dist/esm/services/getOrder.js.map +1 -0
  237. package/dist/esm/services/getOrderbook.d.ts +34 -0
  238. package/dist/esm/services/getOrderbook.d.ts.map +1 -0
  239. package/dist/esm/services/getOrderbook.js +31 -0
  240. package/dist/esm/services/getOrderbook.js.map +1 -0
  241. package/dist/esm/services/getPrices.d.ts +33 -0
  242. package/dist/esm/services/getPrices.d.ts.map +1 -0
  243. package/dist/esm/services/getPrices.js +32 -0
  244. package/dist/esm/services/getPrices.js.map +1 -0
  245. package/dist/esm/services/submitAuthorization.d.ts +42 -0
  246. package/dist/esm/services/submitAuthorization.d.ts.map +1 -0
  247. package/dist/esm/services/submitAuthorization.js +41 -0
  248. package/dist/esm/services/submitAuthorization.js.map +1 -0
  249. package/dist/esm/services/submitOrder.d.ts +44 -0
  250. package/dist/esm/services/submitOrder.d.ts.map +1 -0
  251. package/dist/esm/services/submitOrder.js +43 -0
  252. package/dist/esm/services/submitOrder.js.map +1 -0
  253. package/dist/esm/utils/request.d.ts +26 -0
  254. package/dist/esm/utils/request.d.ts.map +1 -0
  255. package/dist/esm/utils/request.js +82 -0
  256. package/dist/esm/utils/request.js.map +1 -0
  257. package/dist/esm/utils/signTypedData.d.ts +15 -0
  258. package/dist/esm/utils/signTypedData.d.ts.map +1 -0
  259. package/dist/esm/utils/signTypedData.js +25 -0
  260. package/dist/esm/utils/signTypedData.js.map +1 -0
  261. package/dist/esm/utils/sleep.d.ts +2 -0
  262. package/dist/esm/utils/sleep.d.ts.map +1 -0
  263. package/dist/esm/utils/sleep.js +2 -0
  264. package/dist/esm/utils/sleep.js.map +1 -0
  265. package/dist/esm/version.d.ts +3 -0
  266. package/dist/esm/version.d.ts.map +1 -0
  267. package/dist/esm/version.js +3 -0
  268. package/dist/esm/version.js.map +1 -0
  269. package/dist/types/agent/AgentManager.d.ts +45 -0
  270. package/dist/types/agent/AgentManager.d.ts.map +1 -0
  271. package/dist/types/agent/storage.d.ts +12 -0
  272. package/dist/types/agent/storage.d.ts.map +1 -0
  273. package/dist/types/agent/types.d.ts +23 -0
  274. package/dist/types/agent/types.d.ts.map +1 -0
  275. package/dist/types/client/PerpsClient.d.ts +188 -0
  276. package/dist/types/client/PerpsClient.d.ts.map +1 -0
  277. package/dist/types/client/createPerpsClient.d.ts +82 -0
  278. package/dist/types/client/createPerpsClient.d.ts.map +1 -0
  279. package/dist/types/client/types.d.ts +131 -0
  280. package/dist/types/client/types.d.ts.map +1 -0
  281. package/dist/types/errors/AgentError.d.ts +25 -0
  282. package/dist/types/errors/AgentError.d.ts.map +1 -0
  283. package/dist/types/errors/HTTPError.d.ts +11 -0
  284. package/dist/types/errors/HTTPError.d.ts.map +1 -0
  285. package/dist/types/errors/PerpsError.d.ts +9 -0
  286. package/dist/types/errors/PerpsError.d.ts.map +1 -0
  287. package/dist/types/errors/PerpsSDKError.d.ts +40 -0
  288. package/dist/types/errors/PerpsSDKError.d.ts.map +1 -0
  289. package/dist/types/errors/ServerError.d.ts +23 -0
  290. package/dist/types/errors/ServerError.d.ts.map +1 -0
  291. package/dist/types/errors/ValidationError.d.ts +23 -0
  292. package/dist/types/errors/ValidationError.d.ts.map +1 -0
  293. package/dist/types/errors/constants.d.ts +15 -0
  294. package/dist/types/errors/constants.d.ts.map +1 -0
  295. package/dist/types/errors/utils/rootCause.d.ts +71 -0
  296. package/dist/types/errors/utils/rootCause.d.ts.map +1 -0
  297. package/dist/types/index.d.ts +46 -0
  298. package/dist/types/index.d.ts.map +1 -0
  299. package/dist/types/services/cancelOrder.d.ts +51 -0
  300. package/dist/types/services/cancelOrder.d.ts.map +1 -0
  301. package/dist/types/services/createAuthorization.d.ts +47 -0
  302. package/dist/types/services/createAuthorization.d.ts.map +1 -0
  303. package/dist/types/services/createOrder.d.ts +71 -0
  304. package/dist/types/services/createOrder.d.ts.map +1 -0
  305. package/dist/types/services/getAccount.d.ts +32 -0
  306. package/dist/types/services/getAccount.d.ts.map +1 -0
  307. package/dist/types/services/getDexes.d.ts +20 -0
  308. package/dist/types/services/getDexes.d.ts.map +1 -0
  309. package/dist/types/services/getHistory.d.ts +45 -0
  310. package/dist/types/services/getHistory.d.ts.map +1 -0
  311. package/dist/types/services/getMarket.d.ts +27 -0
  312. package/dist/types/services/getMarket.d.ts.map +1 -0
  313. package/dist/types/services/getMarkets.d.ts +25 -0
  314. package/dist/types/services/getMarkets.d.ts.map +1 -0
  315. package/dist/types/services/getOhlcv.d.ts +40 -0
  316. package/dist/types/services/getOhlcv.d.ts.map +1 -0
  317. package/dist/types/services/getOrder.d.ts +33 -0
  318. package/dist/types/services/getOrder.d.ts.map +1 -0
  319. package/dist/types/services/getOrderbook.d.ts +34 -0
  320. package/dist/types/services/getOrderbook.d.ts.map +1 -0
  321. package/dist/types/services/getPrices.d.ts +33 -0
  322. package/dist/types/services/getPrices.d.ts.map +1 -0
  323. package/dist/types/services/submitAuthorization.d.ts +42 -0
  324. package/dist/types/services/submitAuthorization.d.ts.map +1 -0
  325. package/dist/types/services/submitOrder.d.ts +44 -0
  326. package/dist/types/services/submitOrder.d.ts.map +1 -0
  327. package/dist/types/utils/request.d.ts +26 -0
  328. package/dist/types/utils/request.d.ts.map +1 -0
  329. package/dist/types/utils/signTypedData.d.ts +15 -0
  330. package/dist/types/utils/signTypedData.d.ts.map +1 -0
  331. package/dist/types/utils/sleep.d.ts +2 -0
  332. package/dist/types/utils/sleep.d.ts.map +1 -0
  333. package/dist/types/version.d.ts +3 -0
  334. package/dist/types/version.d.ts.map +1 -0
  335. package/package.json +102 -0
  336. package/src/agent/AgentManager.ts +135 -0
  337. package/src/agent/storage.ts +58 -0
  338. package/src/agent/types.ts +24 -0
  339. package/src/client/PerpsClient.ts +654 -0
  340. package/src/client/createPerpsClient.ts +164 -0
  341. package/src/client/types.ts +156 -0
  342. package/src/errors/AgentError.ts +43 -0
  343. package/src/errors/HTTPError.ts +72 -0
  344. package/src/errors/PerpsError.ts +34 -0
  345. package/src/errors/PerpsSDKError.ts +79 -0
  346. package/src/errors/ServerError.ts +41 -0
  347. package/src/errors/ValidationError.ts +38 -0
  348. package/src/errors/constants.ts +15 -0
  349. package/src/errors/utils/rootCause.ts +112 -0
  350. package/src/index.ts +77 -0
  351. package/src/services/cancelOrder.ts +75 -0
  352. package/src/services/createAuthorization.ts +75 -0
  353. package/src/services/createOrder.ts +113 -0
  354. package/src/services/getAccount.ts +47 -0
  355. package/src/services/getDexes.ts +34 -0
  356. package/src/services/getHistory.ts +62 -0
  357. package/src/services/getMarket.ts +41 -0
  358. package/src/services/getMarkets.ts +37 -0
  359. package/src/services/getOhlcv.ts +58 -0
  360. package/src/services/getOrder.ts +48 -0
  361. package/src/services/getOrderbook.ts +49 -0
  362. package/src/services/getPrices.ts +48 -0
  363. package/src/services/submitAuthorization.ts +70 -0
  364. package/src/services/submitOrder.ts +72 -0
  365. package/src/utils/request.ts +121 -0
  366. package/src/utils/signTypedData.ts +31 -0
  367. package/src/utils/sleep.ts +2 -0
  368. package/src/version.ts +2 -0
@@ -0,0 +1,188 @@
1
+ import type { Address, AuthorizationsResponse, CancelOrderPayloadResponse, CreateAuthorizationResponse, CreateOrderResponse, SubmitOrderResponse } from '@lifi/perps-types';
2
+ import type { SubmitAuthorizationParams } from '../services/submitAuthorization.js';
3
+ import type { SubmitOrderParams } from '../services/submitOrder.js';
4
+ import { type PerpsSDKClient } from './createPerpsClient.js';
5
+ import type { BuildAuthorizationParams, CancelOrdersParams, ExecuteAuthorizationsParams, ExecuteAuthorizationsResult, GetRequiredAuthorizationsParams, PerpsClientOptions, PlaceOrderParams, RequiredAuthorizationsResult, SigningMode } from './types.js';
6
+ /**
7
+ * Stateful client for managing signing modes and trading operations.
8
+ *
9
+ * The PerpsClient provides two signing modes:
10
+ * - `USER`: User wallet signs each action (wallet popup per action)
11
+ * - `USER_AGENT`: SDK-generated agent signs actions (no popups after setup)
12
+ *
13
+ * In `USER_AGENT` mode, the client:
14
+ * - Generates an agent keypair stored in localStorage (or custom storage)
15
+ * - Auto-injects agent address into authorization requests
16
+ * - Auto-signs trading actions with the agent key
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const perps = new PerpsClient({ integrator: 'my-app' })
21
+ *
22
+ * // Set up agent signing for a user + DEX pair
23
+ * await perps.setSigningMode(userAddress, 'hyperliquid', 'USER_AGENT')
24
+ *
25
+ * // Build authorization (agent address auto-injected)
26
+ * const { actions } = await perps.buildAuthorization({
27
+ * dex: 'hyperliquid',
28
+ * address: userAddress,
29
+ * authorizations: [
30
+ * { key: 'ApproveAgent' },
31
+ * { key: 'ApproveBuilderFee' }
32
+ * ]
33
+ * })
34
+ *
35
+ * // ... sign actions with user wallet ...
36
+ *
37
+ * // Place orders (agent signs automatically)
38
+ * const result = await perps.placeOrder({
39
+ * address: userAddress,
40
+ * dex: 'hyperliquid',
41
+ * symbol: 'BTC',
42
+ * side: 'BUY',
43
+ * type: 'MARKET',
44
+ * size: '0.1',
45
+ * price: '95000.00'
46
+ * })
47
+ * ```
48
+ */
49
+ export declare class PerpsClient {
50
+ private sdkClient;
51
+ private signingModes;
52
+ constructor(options: PerpsClientOptions);
53
+ /**
54
+ * Get the underlying SDK client for use with service functions.
55
+ */
56
+ get client(): PerpsSDKClient;
57
+ /**
58
+ * Promise that resolves when the API health check passes.
59
+ * Await this before making requests if you need to handle readiness explicitly.
60
+ */
61
+ get ready(): Promise<void>;
62
+ /**
63
+ * Get the storage key for a user + DEX pair.
64
+ */
65
+ private modeKey;
66
+ /**
67
+ * Set the signing mode for a user + DEX pair.
68
+ *
69
+ * In `USER_AGENT` mode, generates an agent keypair if one doesn't exist.
70
+ *
71
+ * @param address - User wallet address
72
+ * @param dex - DEX identifier
73
+ * @param mode - Signing mode to set
74
+ */
75
+ setSigningMode(address: Address, dex: string, mode: SigningMode): Promise<void>;
76
+ /**
77
+ * Get the current signing mode for a user + DEX pair.
78
+ * Defaults to `USER` if not set.
79
+ */
80
+ getSigningMode(address: Address, dex: string): SigningMode;
81
+ /**
82
+ * Get the agent address for a user + DEX pair.
83
+ *
84
+ * @throws {PerpsError} If in USER mode or agent not found
85
+ */
86
+ getAgentAddress(address: Address, dex: string): Promise<Address>;
87
+ /**
88
+ * Check if an agent exists for a user + DEX pair.
89
+ */
90
+ hasAgent(address: Address, dex: string): Promise<boolean>;
91
+ /**
92
+ * Remove the agent for a user + DEX pair.
93
+ * Also resets signing mode to USER.
94
+ */
95
+ removeAgent(address: Address, dex: string): Promise<void>;
96
+ /**
97
+ * Build authorization payloads for signing.
98
+ *
99
+ * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
100
+ * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`
101
+ * and `agentAddress` param for `ApproveAgent` authorization.
102
+ *
103
+ * @param params - Authorization parameters
104
+ * @returns Authorization actions with typed data for signing
105
+ */
106
+ buildAuthorization(params: BuildAuthorizationParams): Promise<CreateAuthorizationResponse>;
107
+ /**
108
+ * Submit signed authorizations.
109
+ *
110
+ * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
111
+ * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`.
112
+ *
113
+ * @param params - Signed authorization parameters
114
+ */
115
+ submitAuthorizations(params: SubmitAuthorizationParams): Promise<AuthorizationsResponse>;
116
+ /**
117
+ * Build order payloads for signing.
118
+ *
119
+ * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
120
+ * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`.
121
+ *
122
+ * @param params - Order parameters
123
+ * @returns Order actions with typed data for signing
124
+ */
125
+ buildOrder(params: PlaceOrderParams): Promise<CreateOrderResponse>;
126
+ /**
127
+ * Build cancel order payloads for signing.
128
+ *
129
+ * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
130
+ * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`.
131
+ *
132
+ * @param params - Cancel parameters
133
+ * @returns Cancel actions with typed data for signing
134
+ */
135
+ buildCancelOrder(params: CancelOrdersParams): Promise<CancelOrderPayloadResponse>;
136
+ /**
137
+ * Place an order with automatic agent signing.
138
+ *
139
+ * **Requires USER_AGENT mode.** For USER mode, use `buildOrder()` + `submitSignedOrder()`.
140
+ *
141
+ * @param params - Order parameters
142
+ * @returns Order submission results
143
+ * @throws {PerpsError} If not in USER_AGENT mode
144
+ */
145
+ placeOrder(params: PlaceOrderParams): Promise<SubmitOrderResponse>;
146
+ /**
147
+ * Cancel orders with automatic agent signing.
148
+ *
149
+ * **Requires USER_AGENT mode.** For USER mode, use `buildCancelOrder()` + `submitSignedOrder()`.
150
+ *
151
+ * @param params - Cancel parameters
152
+ * @returns Cancel submission results
153
+ * @throws {PerpsError} If not in USER_AGENT mode
154
+ */
155
+ cancelOrders(params: CancelOrdersParams): Promise<SubmitOrderResponse>;
156
+ /**
157
+ * Submit pre-signed order actions.
158
+ *
159
+ * Use this for USER mode when you've already signed the actions with the user's wallet.
160
+ * Auto-injects `signerAddress` if not provided (defaults to `address`).
161
+ *
162
+ * @param params - Signed order parameters
163
+ */
164
+ submitSignedOrder(params: SubmitOrderParams): Promise<SubmitOrderResponse>;
165
+ /**
166
+ * Determine which authorizations (if any) the user needs to sign before trading.
167
+ *
168
+ * Fetches account state and checks the current signing mode to build
169
+ * a precise list of required authorizations.
170
+ *
171
+ * @param params - Parameters including dex, address, and asset requirements
172
+ * @returns Which authorizations are needed and whether the user is ready to trade
173
+ */
174
+ getRequiredAuthorizations(params: GetRequiredAuthorizationsParams): Promise<RequiredAuthorizationsResult>;
175
+ /**
176
+ * Execute authorizations: submit user-signed actions, then auto-sign and submit
177
+ * any agent authorizations.
178
+ *
179
+ * @param params - User-signed actions and the required authorizations result
180
+ * @returns Combined results from user and agent submissions
181
+ */
182
+ executeAuthorizations(params: ExecuteAuthorizationsParams): Promise<ExecuteAuthorizationsResult>;
183
+ /**
184
+ * Check if the local agent is registered and valid on the backend.
185
+ */
186
+ private validateAgent;
187
+ }
188
+ //# sourceMappingURL=PerpsClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EAInB,mBAAmB,EACpB,MAAM,mBAAmB,CAAA;AAS1B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAEnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAGnE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,WAAW,EACZ,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAsC;gBAE9C,OAAO,EAAE,kBAAkB;IAUvC;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,CAE3B;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzB;IAED;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;;;;;;;OAQG;IACG,cAAc,CAClB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,IAAI,CAAC;IAUhB;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IAI1D;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D;;;;;;;;;OASG;IACG,kBAAkB,CACtB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,2BAA2B,CAAC;IA8BvC;;;;;;;OAOG;IACG,oBAAoB,CACxB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,sBAAsB,CAAC;IAelC;;;;;;;;OAQG;IACG,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA+BxE;;;;;;;;OAQG;IACG,gBAAgB,CACpB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,0BAA0B,CAAC;IAoBtC;;;;;;;;OAQG;IACG,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoDxE;;;;;;;;OAQG;IACG,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyC5E;;;;;;;OAOG;IACG,iBAAiB,CACrB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;;;;;;OAQG;IACG,yBAAyB,CAC7B,MAAM,EAAE,+BAA+B,GACtC,OAAO,CAAC,4BAA4B,CAAC;IAoGxC;;;;;;OAMG;IACG,qBAAqB,CACzB,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,2BAA2B,CAAC;IA4DvC;;OAEG;YACW,aAAa;CAwB5B"}
@@ -0,0 +1,82 @@
1
+ import { AgentManager } from '../agent/AgentManager.js';
2
+ import type { StorageAdapter } from '../agent/types.js';
3
+ /**
4
+ * Configuration options for creating a Perps SDK client.
5
+ */
6
+ export interface PerpsConfig {
7
+ /** Integrator identifier (required) */
8
+ integrator: string;
9
+ /** Optional API key for authenticated requests */
10
+ apiKey?: string;
11
+ /** Base API URL. Defaults to https://li.quest/v1/perps */
12
+ apiUrl?: string;
13
+ /** Disable version update check in development mode */
14
+ disableVersionCheck?: boolean;
15
+ /** Custom storage adapter for agent keys. Defaults to localStorage. */
16
+ storage?: StorageAdapter;
17
+ /** Optional request interceptor for custom handling */
18
+ requestInterceptor?: RequestInterceptor;
19
+ /** Whether to perform a health check on startup before allowing requests. Default: true */
20
+ healthCheck?: boolean;
21
+ }
22
+ /**
23
+ * Resolved configuration with required fields.
24
+ */
25
+ export interface PerpsBaseConfig {
26
+ /** Integrator identifier (required) */
27
+ integrator: string;
28
+ /** Optional API key for authenticated requests */
29
+ apiKey?: string;
30
+ /** Resolved API URL (always set) */
31
+ apiUrl: string;
32
+ /** Disable version update check in development mode */
33
+ disableVersionCheck?: boolean;
34
+ /** Optional request interceptor for custom handling */
35
+ requestInterceptor?: RequestInterceptor;
36
+ /** Promise that resolves when the API is ready. Requests wait for this. */
37
+ readyPromise?: Promise<void>;
38
+ }
39
+ /**
40
+ * Request interceptor function type.
41
+ * Called before each request is made, allowing modification of fetch options.
42
+ */
43
+ export type RequestInterceptor = (url: string, options: RequestInit) => RequestInit | Promise<RequestInit>;
44
+ /**
45
+ * Options passed to service functions for request control.
46
+ */
47
+ export interface SDKRequestOptions {
48
+ /** AbortSignal to cancel the request */
49
+ signal?: AbortSignal;
50
+ }
51
+ /**
52
+ * The Perps SDK client instance.
53
+ * Holds configuration and agent manager for making API requests.
54
+ */
55
+ export interface PerpsSDKClient {
56
+ /** SDK configuration */
57
+ readonly config: PerpsBaseConfig;
58
+ /** Agent manager for USER_AGENT signing mode */
59
+ readonly agentManager: AgentManager;
60
+ /** Promise that resolves when the API health check passes. */
61
+ readonly ready: Promise<void>;
62
+ }
63
+ /**
64
+ * Create a new Perps SDK client.
65
+ *
66
+ * @param options - Configuration options
67
+ * @returns A new SDK client instance
68
+ * @throws {PerpsError} If integrator is not provided
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const client = createPerpsClient({
73
+ * integrator: 'my-app',
74
+ * apiKey: 'optional-api-key',
75
+ * })
76
+ *
77
+ * // Use with service functions
78
+ * const { dexes } = await getDexes(client)
79
+ * ```
80
+ */
81
+ export declare function createPerpsClient(options: PerpsConfig): PerpsSDKClient;
82
+ //# sourceMappingURL=createPerpsClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/createPerpsClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AASvD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uEAAuE;IACvE,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,KACjB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,gDAAgD;IAChD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAqCtE"}
@@ -0,0 +1,131 @@
1
+ import type { Address, AuthorizationInput, AuthorizationsResponse, OrderSide, OrderType, SignedAuthorization, TimeInForce, TriggerOrderInput } from '@lifi/perps-types';
2
+ import type { StorageAdapter } from '../agent/types.js';
3
+ export type { PerpsBaseConfig, PerpsConfig, PerpsSDKClient, RequestInterceptor, SDKRequestOptions, } from './createPerpsClient.js';
4
+ /**
5
+ * Signing mode determines who signs trading actions.
6
+ *
7
+ * - `USER`: User wallet signs each action (requires wallet popup per action)
8
+ * - `USER_AGENT`: SDK-generated agent signs actions (no popups after initial setup)
9
+ */
10
+ export type SigningMode = 'USER' | 'USER_AGENT';
11
+ /**
12
+ * Options for PerpsClient constructor.
13
+ */
14
+ export interface PerpsClientOptions {
15
+ /** Integrator identifier (required) */
16
+ integrator: string;
17
+ /** Optional API key for authenticated requests */
18
+ apiKey?: string;
19
+ /** Base API URL. Defaults to https://li.quest/v1/perps */
20
+ apiUrl?: string;
21
+ /** Custom storage adapter for agent keys. Defaults to localStorage. */
22
+ storage?: StorageAdapter;
23
+ /** Whether to perform a health check on startup before allowing requests. Default: true */
24
+ healthCheck?: boolean;
25
+ }
26
+ /**
27
+ * Parameters for building authorization payloads.
28
+ */
29
+ export interface BuildAuthorizationParams {
30
+ /** DEX to authorize */
31
+ dex: string;
32
+ /** User wallet address */
33
+ address: Address;
34
+ /** Address of the signer (auto-set in USER_AGENT mode) */
35
+ signerAddress?: Address;
36
+ /** Authorizations to create */
37
+ authorizations: AuthorizationInput[];
38
+ }
39
+ /**
40
+ * Parameters for placing an order.
41
+ */
42
+ export interface PlaceOrderParams {
43
+ /** DEX to place order on */
44
+ dex: string;
45
+ /** User wallet address */
46
+ address: Address;
47
+ /** Client-provided order ID */
48
+ clientOrderId?: string;
49
+ /** Market symbol */
50
+ symbol: string;
51
+ /** Order side */
52
+ side: OrderSide;
53
+ /** Order type */
54
+ type: OrderType;
55
+ /** Order size */
56
+ size: string;
57
+ /** Order price */
58
+ price: string;
59
+ /** Leverage */
60
+ leverage?: number;
61
+ /** Reduce only flag */
62
+ reduceOnly?: boolean;
63
+ /** Time in force */
64
+ timeInForce?: TimeInForce;
65
+ /** Expiration time */
66
+ expiresAt?: string;
67
+ /** Take profit trigger */
68
+ takeProfit?: TriggerOrderInput;
69
+ /** Stop loss trigger */
70
+ stopLoss?: TriggerOrderInput;
71
+ }
72
+ /**
73
+ * Parameters for canceling orders.
74
+ */
75
+ export interface CancelOrdersParams {
76
+ /** DEX to cancel orders on */
77
+ dex: string;
78
+ /** User wallet address */
79
+ address: Address;
80
+ /** Order IDs to cancel */
81
+ ids: string[];
82
+ }
83
+ /**
84
+ * Parameters for getRequiredAuthorizations().
85
+ */
86
+ export interface GetRequiredAuthorizationsParams {
87
+ /** DEX to check authorizations for */
88
+ dex: string;
89
+ /** User wallet address */
90
+ address: Address;
91
+ /** Whether to require abstraction (for HIP-3 assets). Default: false */
92
+ requireAbstraction?: boolean;
93
+ }
94
+ /**
95
+ * Result from getRequiredAuthorizations().
96
+ */
97
+ export interface RequiredAuthorizationsResult {
98
+ /** Authorizations requiring user wallet signature (0, 1, or 2 items) */
99
+ userAuthorizations: AuthorizationInput[];
100
+ /** Authorizations the SDK auto-signs with the agent after user auths are submitted */
101
+ agentAuthorizations: AuthorizationInput[];
102
+ /** Whether the local agent is registered and valid on the backend */
103
+ agentValid: boolean;
104
+ /** The raw abstractionStatus from config (null=never set, 'disabled', 'unifiedAccount', 'portfolioMargin') */
105
+ abstractionStatus: string | null;
106
+ /** Whether all authorizations are already satisfied (ready to trade) */
107
+ isReady: boolean;
108
+ }
109
+ /**
110
+ * Parameters for executeAuthorizations().
111
+ */
112
+ export interface ExecuteAuthorizationsParams {
113
+ /** DEX to authorize */
114
+ dex: string;
115
+ /** User wallet address */
116
+ address: Address;
117
+ /** The result from getRequiredAuthorizations() */
118
+ required: RequiredAuthorizationsResult;
119
+ /** User-signed actions corresponding to required.userAuthorizations */
120
+ userSignedActions: SignedAuthorization[];
121
+ }
122
+ /**
123
+ * Result from executeAuthorizations().
124
+ */
125
+ export interface ExecuteAuthorizationsResult {
126
+ /** Results from user-signed authorization submission */
127
+ userResults: AuthorizationsResponse;
128
+ /** Results from agent-signed authorization submission (if any) */
129
+ agentResults?: AuthorizationsResponse;
130
+ }
131
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD,YAAY,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAE/B;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,YAAY,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,+BAA+B;IAC/B,cAAc,EAAE,kBAAkB,EAAE,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB;IACvB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oBAAoB;IACpB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,wEAAwE;IACxE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;IACxC,sFAAsF;IACtF,mBAAmB,EAAE,kBAAkB,EAAE,CAAA;IACzC,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAA;IACnB,8GAA8G;IAC9G,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,kDAAkD;IAClD,QAAQ,EAAE,4BAA4B,CAAA;IACtC,uEAAuE;IACvE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,wDAAwD;IACxD,WAAW,EAAE,sBAAsB,CAAA;IACnC,kEAAkE;IAClE,YAAY,CAAC,EAAE,sBAAsB,CAAA;CACtC"}
@@ -0,0 +1,25 @@
1
+ import { PerpsErrorCode } from '@lifi/perps-types';
2
+ import { PerpsErrorName } from './constants.js';
3
+ import { PerpsError } from './PerpsError.js';
4
+ /**
5
+ * Error thrown when agent-related operations fail (agent not found, authorization issues, etc.)
6
+ */
7
+ export declare class AgentError extends PerpsError {
8
+ name: PerpsErrorName;
9
+ constructor(message: string, code?: PerpsErrorCode);
10
+ /**
11
+ * Create an AgentError for a missing agent.
12
+ *
13
+ * @param address - The user address
14
+ * @param dex - The DEX identifier
15
+ */
16
+ static notFound(address: string, dex: string): AgentError;
17
+ /**
18
+ * Create an AgentError for an unauthorized agent.
19
+ *
20
+ * @param address - The agent address
21
+ * @param dex - The DEX identifier
22
+ */
23
+ static unauthorized(address: string, dex: string): AgentError;
24
+ }
25
+ //# sourceMappingURL=AgentError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentError.d.ts","sourceRoot":"","sources":["../../../src/errors/AgentError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAC/B,IAAI,iBAA4B;gBAE7B,OAAO,EAAE,MAAM,EAAE,IAAI,iBAAmC;IAQpE;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAMzD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU;CAK9D"}
@@ -0,0 +1,11 @@
1
+ import type { PerpsErrorBody } from '@lifi/perps-types';
2
+ import { PerpsError } from './PerpsError.js';
3
+ export declare class HTTPError extends PerpsError {
4
+ response: Response;
5
+ status: number;
6
+ url: string;
7
+ responseBody?: PerpsErrorBody;
8
+ constructor(response: Response, url: string);
9
+ buildAdditionalDetails(): Promise<this>;
10
+ }
11
+ //# sourceMappingURL=HTTPError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTTPError.d.ts","sourceRoot":"","sources":["../../../src/errors/HTTPError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AA6B5C,qBAAa,SAAU,SAAQ,UAAU;IACvC,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,cAAc,CAAA;gBAEjB,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;IAYrC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB9C"}
@@ -0,0 +1,9 @@
1
+ import { PerpsErrorCode } from '@lifi/perps-types';
2
+ import { PerpsErrorName } from './constants.js';
3
+ export declare class PerpsError extends Error {
4
+ code: PerpsErrorCode;
5
+ name: PerpsErrorName;
6
+ constructor(code?: PerpsErrorCode, message?: string);
7
+ static fromError(error: unknown, defaultCode?: PerpsErrorCode): PerpsError;
8
+ }
9
+ //# sourceMappingURL=PerpsError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerpsError.d.ts","sourceRoot":"","sources":["../../../src/errors/PerpsError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,qBAAa,UAAW,SAAQ,KAAK;IACnC,IAAI,EAAE,cAAc,CAAA;IACX,IAAI,iBAA4B;gBAGvC,IAAI,GAAE,cAA4C,EAClD,OAAO,SAA2B;IAQpC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,cAAc,GAAG,UAAU;CAe3E"}
@@ -0,0 +1,40 @@
1
+ import { PerpsErrorCode } from '@lifi/perps-types';
2
+ /**
3
+ * Top-level SDK error that wraps all other error types.
4
+ * This is the public-facing error type for the SDK.
5
+ *
6
+ * PerpsSDKError always includes:
7
+ * - A consistent error message format with SDK version
8
+ * - Access to the root cause error via the `cause` property
9
+ * - Stack trace preservation
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * try {
14
+ * await getDexes(client)
15
+ * } catch (error) {
16
+ * if (error instanceof PerpsSDKError) {
17
+ * console.log(error.message) // [PerpsSDKError] message\nSDK version: X
18
+ * console.log(error.cause) // Original error
19
+ * console.log(error.code) // Numeric error code
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ export declare class PerpsSDKError extends Error {
25
+ name: string;
26
+ /** Numeric error code from PerpsErrorCode enum */
27
+ code: PerpsErrorCode;
28
+ /** Original cause of the error */
29
+ cause?: Error;
30
+ constructor(error: Error, message?: string);
31
+ /**
32
+ * Wrap any error in a PerpsSDKError.
33
+ *
34
+ * @param error - The error to wrap
35
+ * @param message - Optional custom message
36
+ * @returns PerpsSDKError instance
37
+ */
38
+ static wrap(error: unknown, message?: string): PerpsSDKError;
39
+ }
40
+ //# sourceMappingURL=PerpsSDKError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerpsSDKError.d.ts","sourceRoot":"","sources":["../../../src/errors/PerpsSDKError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAMlD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAc,SAAQ,KAAK;IAC7B,IAAI,SAAuB;IAEpC,kDAAkD;IAClD,IAAI,EAAE,cAAc,CAAA;IAEpB,kCAAkC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAA;gBAEV,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM;IAqB1C;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa;CAa7D"}
@@ -0,0 +1,23 @@
1
+ import { PerpsErrorCode } from '@lifi/perps-types';
2
+ import { PerpsErrorName } from './constants.js';
3
+ import { PerpsError } from './PerpsError.js';
4
+ /**
5
+ * Error thrown when server-side operations fail (network errors, timeouts, etc.)
6
+ */
7
+ export declare class ServerError extends PerpsError {
8
+ name: PerpsErrorName;
9
+ constructor(message: string, code?: PerpsErrorCode);
10
+ /**
11
+ * Create a ServerError for a network failure.
12
+ *
13
+ * @param cause - The original error
14
+ */
15
+ static networkError(cause?: Error): ServerError;
16
+ /**
17
+ * Create a ServerError for a timeout.
18
+ *
19
+ * @param operation - The operation that timed out
20
+ */
21
+ static timeout(operation: string): ServerError;
22
+ }
23
+ //# sourceMappingURL=ServerError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerError.d.ts","sourceRoot":"","sources":["../../../src/errors/ServerError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;IAChC,IAAI,iBAA6B;gBAE9B,OAAO,EAAE,MAAM,EAAE,IAAI,iBAA6B;IAQ9D;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAK/C;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;CAM/C"}
@@ -0,0 +1,23 @@
1
+ import { PerpsErrorName } from './constants.js';
2
+ import { PerpsError } from './PerpsError.js';
3
+ /**
4
+ * Error thrown when validation fails (invalid parameters, missing required fields, etc.)
5
+ */
6
+ export declare class ValidationError extends PerpsError {
7
+ name: PerpsErrorName;
8
+ constructor(message: string);
9
+ /**
10
+ * Create a ValidationError from a validation failure.
11
+ *
12
+ * @param field - The field that failed validation
13
+ * @param reason - The reason for validation failure
14
+ */
15
+ static field(field: string, reason: string): ValidationError;
16
+ /**
17
+ * Create a ValidationError for a missing required field.
18
+ *
19
+ * @param field - The name of the missing field
20
+ */
21
+ static required(field: string): ValidationError;
22
+ }
23
+ //# sourceMappingURL=ValidationError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationError.d.ts","sourceRoot":"","sources":["../../../src/errors/ValidationError.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IACpC,IAAI,iBAAiC;gBAElC,OAAO,EAAE,MAAM;IAQ3B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAI5D;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;CAGhD"}
@@ -0,0 +1,15 @@
1
+ export declare enum PerpsErrorName {
2
+ PerpsError = "PerpsError",
3
+ HTTPError = "HTTPError",
4
+ ValidationError = "ValidationError",
5
+ ServerError = "ServerError",
6
+ ConfigError = "ConfigError",
7
+ AgentError = "AgentError"
8
+ }
9
+ export declare enum PerpsErrorMessage {
10
+ UnknownError = "Unknown error occurred.",
11
+ ConfigNotInitialized = "SDK not configured. Call createPerpsConfig() first.",
12
+ AgentNotFound = "Agent not found. Call setSigningMode() first.",
13
+ InvalidSigningMode = "Invalid signing mode for this operation."
14
+ }
15
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC1B;AAED,oBAAY,iBAAiB;IAC3B,YAAY,4BAA4B;IACxC,oBAAoB,wDAAwD;IAC5E,aAAa,kDAAkD;IAC/D,kBAAkB,6CAA6C;CAChE"}