@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,34 @@
1
+ import { PerpsErrorCode } from '@lifi/perps-types';
2
+ import { version } from '../version.js';
3
+ import { PerpsErrorName } from './constants.js';
4
+ import { PerpsError } from './PerpsError.js';
5
+ /**
6
+ * Error thrown when validation fails (invalid parameters, missing required fields, etc.)
7
+ */
8
+ export class ValidationError extends PerpsError {
9
+ name = PerpsErrorName.ValidationError;
10
+ constructor(message) {
11
+ super(PerpsErrorCode.ValidationError, message);
12
+ this.name = PerpsErrorName.ValidationError;
13
+ // Override message format
14
+ this.message = `[${PerpsErrorName.ValidationError}] ${message}\nLI.FI Perps SDK version: ${version}`;
15
+ }
16
+ /**
17
+ * Create a ValidationError from a validation failure.
18
+ *
19
+ * @param field - The field that failed validation
20
+ * @param reason - The reason for validation failure
21
+ */
22
+ static field(field, reason) {
23
+ return new ValidationError(`Invalid ${field}: ${reason}`);
24
+ }
25
+ /**
26
+ * Create a ValidationError for a missing required field.
27
+ *
28
+ * @param field - The name of the missing field
29
+ */
30
+ static required(field) {
31
+ return new ValidationError(`${field} is required`);
32
+ }
33
+ }
34
+ //# sourceMappingURL=ValidationError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationError.js","sourceRoot":"","sources":["../../../src/errors/ValidationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,UAAU;IACpC,IAAI,GAAG,cAAc,CAAC,eAAe,CAAA;IAE9C,YAAY,OAAe;QACzB,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,eAAe,CAAA;QAE1C,0BAA0B;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,eAAe,KAAK,OAAO,8BAA8B,OAAO,EAAE,CAAA;IACtG,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,MAAc;QACxC,OAAO,IAAI,eAAe,CAAC,WAAW,KAAK,KAAK,MAAM,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAa;QAC3B,OAAO,IAAI,eAAe,CAAC,GAAG,KAAK,cAAc,CAAC,CAAA;IACpD,CAAC;CACF"}
@@ -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"}
@@ -0,0 +1,17 @@
1
+ export var PerpsErrorName;
2
+ (function (PerpsErrorName) {
3
+ PerpsErrorName["PerpsError"] = "PerpsError";
4
+ PerpsErrorName["HTTPError"] = "HTTPError";
5
+ PerpsErrorName["ValidationError"] = "ValidationError";
6
+ PerpsErrorName["ServerError"] = "ServerError";
7
+ PerpsErrorName["ConfigError"] = "ConfigError";
8
+ PerpsErrorName["AgentError"] = "AgentError";
9
+ })(PerpsErrorName || (PerpsErrorName = {}));
10
+ export var PerpsErrorMessage;
11
+ (function (PerpsErrorMessage) {
12
+ PerpsErrorMessage["UnknownError"] = "Unknown error occurred.";
13
+ PerpsErrorMessage["ConfigNotInitialized"] = "SDK not configured. Call createPerpsConfig() first.";
14
+ PerpsErrorMessage["AgentNotFound"] = "Agent not found. Call setSigningMode() first.";
15
+ PerpsErrorMessage["InvalidSigningMode"] = "Invalid signing mode for this operation.";
16
+ })(PerpsErrorMessage || (PerpsErrorMessage = {}));
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,yCAAuB,CAAA;IACvB,qDAAmC,CAAA;IACnC,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,2CAAyB,CAAA;AAC3B,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,6DAAwC,CAAA;IACxC,iGAA4E,CAAA;IAC5E,oFAA+D,CAAA;IAC/D,oFAA+D,CAAA;AACjE,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Get the root cause of an error by following the cause chain.
3
+ *
4
+ * @param error - The error to get the root cause of
5
+ * @returns The root cause error, or the original error if no cause chain
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const wrapper = new PerpsSDKError(new HTTPError(response, url))
10
+ * const root = getRootCause(wrapper) // Returns the HTTPError
11
+ * ```
12
+ */
13
+ export declare function getRootCause(error: Error): Error;
14
+ /**
15
+ * Get the message from the root cause of an error.
16
+ *
17
+ * @param error - The error to get the root cause message from
18
+ * @returns The root cause message
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const wrapper = new PerpsSDKError(new HTTPError(response, url))
23
+ * const message = getRootCauseMessage(wrapper) // Returns the HTTPError's message
24
+ * ```
25
+ */
26
+ export declare function getRootCauseMessage(error: Error): string;
27
+ /**
28
+ * Get the full error chain as an array.
29
+ *
30
+ * @param error - The error to get the chain from
31
+ * @returns Array of errors from outermost to root cause
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * const chain = getErrorChain(sdkError)
36
+ * // [PerpsSDKError, HTTPError, ...]
37
+ * ```
38
+ */
39
+ export declare function getErrorChain(error: Error): Error[];
40
+ /**
41
+ * Check if an error chain contains an error of a specific type.
42
+ *
43
+ * @param error - The error to check
44
+ * @param ErrorClass - The error class to look for
45
+ * @returns True if the chain contains an error of the specified type
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * if (hasErrorType(error, HTTPError)) {
50
+ * // Handle HTTP error specifically
51
+ * }
52
+ * ```
53
+ */
54
+ export declare function hasErrorType<T extends Error>(error: Error, ErrorClass: new (...args: any[]) => T): boolean;
55
+ /**
56
+ * Find the first error of a specific type in the error chain.
57
+ *
58
+ * @param error - The error to search
59
+ * @param ErrorClass - The error class to find
60
+ * @returns The first matching error, or undefined if not found
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * const httpError = findErrorType(error, HTTPError)
65
+ * if (httpError) {
66
+ * console.log(httpError.status)
67
+ * }
68
+ * ```
69
+ */
70
+ export declare function findErrorType<T extends Error>(error: Error, ErrorClass: new (...args: any[]) => T): T | undefined;
71
+ //# sourceMappingURL=rootCause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rootCause.d.ts","sourceRoot":"","sources":["../../../../src/errors/utils/rootCause.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAWhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,CAanD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,EAC1C,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GACpC,OAAO,CAGT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,KAAK,EAC3C,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GACpC,CAAC,GAAG,SAAS,CAGf"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Get the root cause of an error by following the cause chain.
3
+ *
4
+ * @param error - The error to get the root cause of
5
+ * @returns The root cause error, or the original error if no cause chain
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const wrapper = new PerpsSDKError(new HTTPError(response, url))
10
+ * const root = getRootCause(wrapper) // Returns the HTTPError
11
+ * ```
12
+ */
13
+ export function getRootCause(error) {
14
+ let current = error;
15
+ let iterations = 0;
16
+ const maxIterations = 100; // Prevent infinite loops
17
+ while (current.cause instanceof Error && iterations < maxIterations) {
18
+ current = current.cause;
19
+ iterations++;
20
+ }
21
+ return current;
22
+ }
23
+ /**
24
+ * Get the message from the root cause of an error.
25
+ *
26
+ * @param error - The error to get the root cause message from
27
+ * @returns The root cause message
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const wrapper = new PerpsSDKError(new HTTPError(response, url))
32
+ * const message = getRootCauseMessage(wrapper) // Returns the HTTPError's message
33
+ * ```
34
+ */
35
+ export function getRootCauseMessage(error) {
36
+ return getRootCause(error).message;
37
+ }
38
+ /**
39
+ * Get the full error chain as an array.
40
+ *
41
+ * @param error - The error to get the chain from
42
+ * @returns Array of errors from outermost to root cause
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const chain = getErrorChain(sdkError)
47
+ * // [PerpsSDKError, HTTPError, ...]
48
+ * ```
49
+ */
50
+ export function getErrorChain(error) {
51
+ const chain = [error];
52
+ let current = error;
53
+ let iterations = 0;
54
+ const maxIterations = 100;
55
+ while (current.cause instanceof Error && iterations < maxIterations) {
56
+ chain.push(current.cause);
57
+ current = current.cause;
58
+ iterations++;
59
+ }
60
+ return chain;
61
+ }
62
+ /**
63
+ * Check if an error chain contains an error of a specific type.
64
+ *
65
+ * @param error - The error to check
66
+ * @param ErrorClass - The error class to look for
67
+ * @returns True if the chain contains an error of the specified type
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * if (hasErrorType(error, HTTPError)) {
72
+ * // Handle HTTP error specifically
73
+ * }
74
+ * ```
75
+ */
76
+ export function hasErrorType(error, ErrorClass) {
77
+ const chain = getErrorChain(error);
78
+ return chain.some((e) => e instanceof ErrorClass);
79
+ }
80
+ /**
81
+ * Find the first error of a specific type in the error chain.
82
+ *
83
+ * @param error - The error to search
84
+ * @param ErrorClass - The error class to find
85
+ * @returns The first matching error, or undefined if not found
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * const httpError = findErrorType(error, HTTPError)
90
+ * if (httpError) {
91
+ * console.log(httpError.status)
92
+ * }
93
+ * ```
94
+ */
95
+ export function findErrorType(error, ErrorClass) {
96
+ const chain = getErrorChain(error);
97
+ return chain.find((e) => e instanceof ErrorClass);
98
+ }
99
+ //# sourceMappingURL=rootCause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rootCause.js","sourceRoot":"","sources":["../../../../src/errors/utils/rootCause.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY;IACvC,IAAI,OAAO,GAAU,KAAK,CAAA;IAC1B,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,MAAM,aAAa,GAAG,GAAG,CAAA,CAAC,yBAAyB;IAEnD,OAAO,OAAO,CAAC,KAAK,YAAY,KAAK,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QACpE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;QACvB,UAAU,EAAE,CAAA;IACd,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,MAAM,KAAK,GAAY,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,MAAM,aAAa,GAAG,GAAG,CAAA;IAEzB,OAAO,OAAO,CAAC,KAAK,YAAY,KAAK,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACzB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;QACvB,UAAU,EAAE,CAAA;IACd,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAY,EACZ,UAAqC;IAErC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAY,EACZ,UAAqC;IAErC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAU,EAAE,CAAC,CAAC,YAAY,UAAU,CAAC,CAAA;AAC3D,CAAC"}
@@ -0,0 +1,46 @@
1
+ export * from '@lifi/perps-types';
2
+ export { AgentManager } from './agent/AgentManager.js';
3
+ export { createMemoryStorage, localStorageAdapter } from './agent/storage.js';
4
+ export type { Agent, StorageAdapter } from './agent/types.js';
5
+ export type { PerpsBaseConfig, PerpsConfig, PerpsSDKClient, RequestInterceptor, SDKRequestOptions, } from './client/createPerpsClient.js';
6
+ export { createPerpsClient } from './client/createPerpsClient.js';
7
+ export { PerpsClient } from './client/PerpsClient.js';
8
+ export type { BuildAuthorizationParams, CancelOrdersParams, ExecuteAuthorizationsParams, ExecuteAuthorizationsResult, GetRequiredAuthorizationsParams, PerpsClientOptions, PlaceOrderParams, RequiredAuthorizationsResult, SigningMode, } from './client/types.js';
9
+ export { AgentError } from './errors/AgentError.js';
10
+ export { PerpsErrorMessage, PerpsErrorName } from './errors/constants.js';
11
+ export { HTTPError } from './errors/HTTPError.js';
12
+ export { PerpsError } from './errors/PerpsError.js';
13
+ export { PerpsSDKError } from './errors/PerpsSDKError.js';
14
+ export { ServerError } from './errors/ServerError.js';
15
+ export { findErrorType, getErrorChain, getRootCause, getRootCauseMessage, hasErrorType, } from './errors/utils/rootCause.js';
16
+ export { ValidationError } from './errors/ValidationError.js';
17
+ export type { CancelOrderParams } from './services/cancelOrder.js';
18
+ export { cancelOrder } from './services/cancelOrder.js';
19
+ export type { CreateAuthorizationParams } from './services/createAuthorization.js';
20
+ export { createAuthorization } from './services/createAuthorization.js';
21
+ export type { CreateOrderParams } from './services/createOrder.js';
22
+ export { createOrder } from './services/createOrder.js';
23
+ export type { GetAccountParams } from './services/getAccount.js';
24
+ export { getAccount } from './services/getAccount.js';
25
+ export { getDexes } from './services/getDexes.js';
26
+ export type { GetHistoryParams } from './services/getHistory.js';
27
+ export { getHistory } from './services/getHistory.js';
28
+ export type { GetMarketParams } from './services/getMarket.js';
29
+ export { getMarket } from './services/getMarket.js';
30
+ export type { GetMarketsParams } from './services/getMarkets.js';
31
+ export { getMarkets } from './services/getMarkets.js';
32
+ export type { GetOhlcvParams } from './services/getOhlcv.js';
33
+ export { getOhlcv } from './services/getOhlcv.js';
34
+ export type { GetOrderParams } from './services/getOrder.js';
35
+ export { getOrder } from './services/getOrder.js';
36
+ export type { GetOrderbookParams } from './services/getOrderbook.js';
37
+ export { getOrderbook } from './services/getOrderbook.js';
38
+ export type { GetPricesParams } from './services/getPrices.js';
39
+ export { getPrices } from './services/getPrices.js';
40
+ export type { SubmitAuthorizationParams } from './services/submitAuthorization.js';
41
+ export { submitAuthorization } from './services/submitAuthorization.js';
42
+ export type { SubmitOrderParams } from './services/submitOrder.js';
43
+ export { submitOrder } from './services/submitOrder.js';
44
+ export { signTypedData } from './utils/signTypedData.js';
45
+ export { name, version } from './version.js';
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7E,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC7D,YAAY,EACV,eAAe,EACf,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,YAAY,EACV,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,GACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,37 @@
1
+ // Client
2
+ // Types
3
+ export * from '@lifi/perps-types';
4
+ // Agent
5
+ export { AgentManager } from './agent/AgentManager.js';
6
+ export { createMemoryStorage, localStorageAdapter } from './agent/storage.js';
7
+ export { createPerpsClient } from './client/createPerpsClient.js';
8
+ export { PerpsClient } from './client/PerpsClient.js';
9
+ export { AgentError } from './errors/AgentError.js';
10
+ export { PerpsErrorMessage, PerpsErrorName } from './errors/constants.js';
11
+ // Errors
12
+ export { HTTPError } from './errors/HTTPError.js';
13
+ export { PerpsError } from './errors/PerpsError.js';
14
+ export { PerpsSDKError } from './errors/PerpsSDKError.js';
15
+ export { ServerError } from './errors/ServerError.js';
16
+ export { findErrorType, getErrorChain, getRootCause, getRootCauseMessage, hasErrorType, } from './errors/utils/rootCause.js';
17
+ export { ValidationError } from './errors/ValidationError.js';
18
+ // Services
19
+ export { cancelOrder } from './services/cancelOrder.js';
20
+ export { createAuthorization } from './services/createAuthorization.js';
21
+ export { createOrder } from './services/createOrder.js';
22
+ export { getAccount } from './services/getAccount.js';
23
+ export { getDexes } from './services/getDexes.js';
24
+ export { getHistory } from './services/getHistory.js';
25
+ export { getMarket } from './services/getMarket.js';
26
+ export { getMarkets } from './services/getMarkets.js';
27
+ export { getOhlcv } from './services/getOhlcv.js';
28
+ export { getOrder } from './services/getOrder.js';
29
+ export { getOrderbook } from './services/getOrderbook.js';
30
+ export { getPrices } from './services/getPrices.js';
31
+ export { submitAuthorization } from './services/submitAuthorization.js';
32
+ export { submitOrder } from './services/submitOrder.js';
33
+ // Utils
34
+ export { signTypedData } from './utils/signTypedData.js';
35
+ // Version
36
+ export { name, version } from './version.js';
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AAET,QAAQ;AACR,cAAc,mBAAmB,CAAA;AACjC,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAS7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAYrD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACzE,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,YAAY,GACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,UAAU;AACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1 @@
1
+ {"type": "module","sideEffects":false}
@@ -0,0 +1,51 @@
1
+ import type { Address, CancelOrderPayloadResponse } from '@lifi/perps-types';
2
+ import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
3
+ export interface CancelOrderParams {
4
+ /** DEX to cancel orders on (e.g., 'hyperliquid') */
5
+ dex: string;
6
+ /** Wallet address */
7
+ address: Address;
8
+ /** Address of the signer (for agent mode, this is the agent address) */
9
+ signerAddress?: Address;
10
+ /** Order IDs to cancel */
11
+ ids: string[];
12
+ }
13
+ /**
14
+ * Create cancel order payloads for signing.
15
+ * Returns typed data that must be signed by the user or agent.
16
+ *
17
+ * @param client - The SDK client instance
18
+ * @param params - Request parameters
19
+ * @param options - Request options (e.g., AbortSignal)
20
+ * @returns Cancel actions with typed data for signing
21
+ * @throws {HTTPError} On API error responses
22
+ * @throws {PerpsError} On network or parsing errors
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const client = createPerpsClient({ integrator: 'my-app' })
27
+ * const { actions } = await cancelOrder(client, {
28
+ * dex: 'hyperliquid',
29
+ * address: '0x1234...',
30
+ * ids: ['order1', 'order2']
31
+ * })
32
+ *
33
+ * // Sign with agent key or user wallet
34
+ * const signedActions = await Promise.all(
35
+ * actions.map(async (a) => ({
36
+ * action: a.action,
37
+ * typedData: a.typedData,
38
+ * signature: await signTypedData(agentPrivateKey, a.typedData)
39
+ * }))
40
+ * )
41
+ *
42
+ * // Submit the signed cancellation
43
+ * await submitOrder(client, {
44
+ * dex: 'hyperliquid',
45
+ * address: '0x1234...',
46
+ * actions: signedActions
47
+ * })
48
+ * ```
49
+ */
50
+ export declare function cancelOrder(client: PerpsSDKClient, params: CancelOrderParams, options?: SDKRequestOptions): Promise<CancelOrderPayloadResponse>;
51
+ //# sourceMappingURL=cancelOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancelOrder.d.ts","sourceRoot":"","sources":["../../../src/services/cancelOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,EAAE,CAAA;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,0BAA0B,CAAC,CAerC"}
@@ -0,0 +1,50 @@
1
+ import { request } from '../utils/request.js';
2
+ /**
3
+ * Create cancel order payloads for signing.
4
+ * Returns typed data that must be signed by the user or agent.
5
+ *
6
+ * @param client - The SDK client instance
7
+ * @param params - Request parameters
8
+ * @param options - Request options (e.g., AbortSignal)
9
+ * @returns Cancel actions with typed data for signing
10
+ * @throws {HTTPError} On API error responses
11
+ * @throws {PerpsError} On network or parsing errors
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const client = createPerpsClient({ integrator: 'my-app' })
16
+ * const { actions } = await cancelOrder(client, {
17
+ * dex: 'hyperliquid',
18
+ * address: '0x1234...',
19
+ * ids: ['order1', 'order2']
20
+ * })
21
+ *
22
+ * // Sign with agent key or user wallet
23
+ * const signedActions = await Promise.all(
24
+ * actions.map(async (a) => ({
25
+ * action: a.action,
26
+ * typedData: a.typedData,
27
+ * signature: await signTypedData(agentPrivateKey, a.typedData)
28
+ * }))
29
+ * )
30
+ *
31
+ * // Submit the signed cancellation
32
+ * await submitOrder(client, {
33
+ * dex: 'hyperliquid',
34
+ * address: '0x1234...',
35
+ * actions: signedActions
36
+ * })
37
+ * ```
38
+ */
39
+ export async function cancelOrder(client, params, options) {
40
+ return request(client.config, `${client.config.apiUrl}/cancelOrder`, {
41
+ method: 'POST',
42
+ body: JSON.stringify({
43
+ dex: params.dex,
44
+ address: params.address,
45
+ signerAddress: params.signerAddress,
46
+ ids: params.ids,
47
+ }),
48
+ }, options);
49
+ }
50
+ //# sourceMappingURL=cancelOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancelOrder.js","sourceRoot":"","sources":["../../../src/services/cancelOrder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAa7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,MAAyB,EACzB,OAA2B;IAE3B,OAAO,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,cAAc,EACrC;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC;KACH,EACD,OAAO,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { Address, AuthorizationInput, CreateAuthorizationResponse } from '@lifi/perps-types';
2
+ import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
3
+ export interface CreateAuthorizationParams {
4
+ /** DEX to authorize (e.g., 'hyperliquid') */
5
+ dex: string;
6
+ /** Wallet address */
7
+ address: Address;
8
+ /** Address of the signer (for agent mode, this is the agent address) */
9
+ signerAddress?: Address;
10
+ /** List of authorizations to create */
11
+ authorizations: AuthorizationInput[];
12
+ }
13
+ /**
14
+ * Create authorization payloads for signing.
15
+ * Returns typed data that must be signed by the user or agent.
16
+ *
17
+ * @param client - The SDK client instance
18
+ * @param params - Request parameters
19
+ * @param options - Request options (e.g., AbortSignal)
20
+ * @returns Authorization actions with typed data for signing
21
+ * @throws {HTTPError} On API error responses
22
+ * @throws {PerpsError} On network or parsing errors
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const client = createPerpsClient({ integrator: 'my-app' })
27
+ * const { actions } = await createAuthorization(client, {
28
+ * dex: 'hyperliquid',
29
+ * address: '0x1234...',
30
+ * authorizations: [
31
+ * { key: 'ApproveAgent', params: { agentAddress: '0xabcd...' } },
32
+ * { key: 'ApproveBuilderFee' }
33
+ * ]
34
+ * })
35
+ *
36
+ * // Sign each action's typedData with the user's wallet
37
+ * const signedActions = await Promise.all(
38
+ * actions.map(async (a) => ({
39
+ * action: a.action,
40
+ * typedData: a.typedData,
41
+ * signature: await walletClient.signTypedData(a.typedData)
42
+ * }))
43
+ * )
44
+ * ```
45
+ */
46
+ export declare function createAuthorization(client: PerpsSDKClient, params: CreateAuthorizationParams, options?: SDKRequestOptions): Promise<CreateAuthorizationResponse>;
47
+ //# sourceMappingURL=createAuthorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAuthorization.d.ts","sourceRoot":"","sources":["../../../src/services/createAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,yBAAyB;IACxC,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,uCAAuC;IACvC,cAAc,EAAE,kBAAkB,EAAE,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,2BAA2B,CAAC,CAetC"}
@@ -0,0 +1,46 @@
1
+ import { request } from '../utils/request.js';
2
+ /**
3
+ * Create authorization payloads for signing.
4
+ * Returns typed data that must be signed by the user or agent.
5
+ *
6
+ * @param client - The SDK client instance
7
+ * @param params - Request parameters
8
+ * @param options - Request options (e.g., AbortSignal)
9
+ * @returns Authorization actions with typed data for signing
10
+ * @throws {HTTPError} On API error responses
11
+ * @throws {PerpsError} On network or parsing errors
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const client = createPerpsClient({ integrator: 'my-app' })
16
+ * const { actions } = await createAuthorization(client, {
17
+ * dex: 'hyperliquid',
18
+ * address: '0x1234...',
19
+ * authorizations: [
20
+ * { key: 'ApproveAgent', params: { agentAddress: '0xabcd...' } },
21
+ * { key: 'ApproveBuilderFee' }
22
+ * ]
23
+ * })
24
+ *
25
+ * // Sign each action's typedData with the user's wallet
26
+ * const signedActions = await Promise.all(
27
+ * actions.map(async (a) => ({
28
+ * action: a.action,
29
+ * typedData: a.typedData,
30
+ * signature: await walletClient.signTypedData(a.typedData)
31
+ * }))
32
+ * )
33
+ * ```
34
+ */
35
+ export async function createAuthorization(client, params, options) {
36
+ return request(client.config, `${client.config.apiUrl}/createAuthorization`, {
37
+ method: 'POST',
38
+ body: JSON.stringify({
39
+ dex: params.dex,
40
+ address: params.address,
41
+ signerAddress: params.signerAddress,
42
+ authorizations: params.authorizations,
43
+ }),
44
+ }, options);
45
+ }
46
+ //# sourceMappingURL=createAuthorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAuthorization.js","sourceRoot":"","sources":["../../../src/services/createAuthorization.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAa7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAsB,EACtB,MAAiC,EACjC,OAA2B;IAE3B,OAAO,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,sBAAsB,EAC7C;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC;KACH,EACD,OAAO,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { Address, CreateOrderResponse, OrderSide, OrderType, TimeInForce, TriggerOrderInput } from '@lifi/perps-types';
2
+ import type { PerpsSDKClient, SDKRequestOptions } from '../client/createPerpsClient.js';
3
+ export interface CreateOrderParams {
4
+ /** DEX to place order on (e.g., 'hyperliquid') */
5
+ dex: string;
6
+ /** Wallet address */
7
+ address: Address;
8
+ /** Address of the signer (for agent mode, this is the agent address) */
9
+ signerAddress?: Address;
10
+ /** Client-provided order ID for tracking */
11
+ clientOrderId?: string;
12
+ /** Market symbol (e.g., 'BTC') */
13
+ symbol: string;
14
+ /** Order side */
15
+ side: OrderSide;
16
+ /** Order type */
17
+ type: OrderType;
18
+ /** Order size (in base asset) */
19
+ size: string;
20
+ /** Order price (required for limit orders) */
21
+ price: string;
22
+ /** Leverage for the position */
23
+ leverage?: number;
24
+ /** Whether this order only reduces position */
25
+ reduceOnly?: boolean;
26
+ /** Time in force */
27
+ timeInForce?: TimeInForce;
28
+ /** Expiration time (ISO 8601) */
29
+ expiresAt?: string;
30
+ /** Take profit trigger order */
31
+ takeProfit?: TriggerOrderInput;
32
+ /** Stop loss trigger order */
33
+ stopLoss?: TriggerOrderInput;
34
+ }
35
+ /**
36
+ * Create order payloads for signing.
37
+ * Returns typed data that must be signed by the user or agent.
38
+ *
39
+ * @param client - The SDK client instance
40
+ * @param params - Request parameters
41
+ * @param options - Request options (e.g., AbortSignal)
42
+ * @returns Order actions with typed data for signing
43
+ * @throws {HTTPError} On API error responses
44
+ * @throws {PerpsError} On network or parsing errors
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const client = createPerpsClient({ integrator: 'my-app' })
49
+ * const { actions } = await createOrder(client, {
50
+ * dex: 'hyperliquid',
51
+ * address: '0x1234...',
52
+ * symbol: 'BTC',
53
+ * side: OrderSide.BUY,
54
+ * type: OrderType.LIMIT,
55
+ * size: '0.1',
56
+ * price: '94000.00',
57
+ * leverage: 10
58
+ * })
59
+ *
60
+ * // Sign each action with the user's wallet or agent key
61
+ * const signedActions = await Promise.all(
62
+ * actions.map(async (a) => ({
63
+ * action: a.action,
64
+ * typedData: a.typedData,
65
+ * signature: await walletClient.signTypedData(a.typedData)
66
+ * }))
67
+ * )
68
+ * ```
69
+ */
70
+ export declare function createOrder(client: PerpsSDKClient, params: CreateOrderParams, options?: SDKRequestOptions): Promise<CreateOrderResponse>;
71
+ //# sourceMappingURL=createOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOrder.d.ts","sourceRoot":"","sources":["../../../src/services/createOrder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,WAAW,EACX,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,iBAAiB;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,oBAAoB;IACpB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA0B9B"}