@lifi/perps-sdk 0.1.1-alpha.9 → 0.2.0-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 (748) hide show
  1. package/README.md +38 -15
  2. package/dist/cjs/agent/AgentManager.d.ts +5 -5
  3. package/dist/cjs/agent/AgentManager.d.ts.map +1 -1
  4. package/dist/cjs/agent/AgentManager.js +16 -14
  5. package/dist/cjs/agent/AgentManager.js.map +1 -1
  6. package/dist/cjs/client/PerpsClient.d.ts +75 -21
  7. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  8. package/dist/cjs/client/PerpsClient.js +642 -173
  9. package/dist/cjs/client/PerpsClient.js.map +1 -1
  10. package/dist/cjs/client/createPerpsClient.d.ts +15 -2
  11. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
  12. package/dist/cjs/client/createPerpsClient.js +6 -3
  13. package/dist/cjs/client/createPerpsClient.js.map +1 -1
  14. package/dist/cjs/client/projectAccountConfigSettings.d.ts +3 -0
  15. package/dist/cjs/client/projectAccountConfigSettings.d.ts.map +1 -0
  16. package/dist/cjs/client/projectAccountConfigSettings.js +17 -0
  17. package/dist/cjs/client/projectAccountConfigSettings.js.map +1 -0
  18. package/dist/cjs/client/types.d.ts +49 -26
  19. package/dist/cjs/client/types.d.ts.map +1 -1
  20. package/dist/cjs/client/types.js +6 -0
  21. package/dist/cjs/client/types.js.map +1 -1
  22. package/dist/cjs/errors/PerpsError.d.ts +2 -3
  23. package/dist/cjs/errors/PerpsError.d.ts.map +1 -1
  24. package/dist/cjs/errors/PerpsError.js +3 -15
  25. package/dist/cjs/errors/PerpsError.js.map +1 -1
  26. package/dist/cjs/errors/constants.d.ts +0 -10
  27. package/dist/cjs/errors/constants.d.ts.map +1 -1
  28. package/dist/cjs/errors/constants.js +1 -12
  29. package/dist/cjs/errors/constants.js.map +1 -1
  30. package/dist/cjs/index.d.ts +37 -31
  31. package/dist/cjs/index.d.ts.map +1 -1
  32. package/dist/cjs/index.js +87 -42
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/providers/hyperliquid/accountConfig.d.ts +3 -0
  35. package/dist/cjs/providers/hyperliquid/accountConfig.d.ts.map +1 -0
  36. package/dist/cjs/providers/hyperliquid/accountConfig.js +41 -0
  37. package/dist/cjs/providers/hyperliquid/accountConfig.js.map +1 -0
  38. package/dist/cjs/providers/lighter/accountConfig.d.ts +3 -0
  39. package/dist/cjs/providers/lighter/accountConfig.d.ts.map +1 -0
  40. package/dist/cjs/providers/lighter/accountConfig.js +45 -0
  41. package/dist/cjs/providers/lighter/accountConfig.js.map +1 -0
  42. package/dist/cjs/realtime/PerpsWsClient.d.ts +7 -1
  43. package/dist/cjs/realtime/PerpsWsClient.d.ts.map +1 -1
  44. package/dist/cjs/realtime/PerpsWsClient.js +36 -23
  45. package/dist/cjs/realtime/PerpsWsClient.js.map +1 -1
  46. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts +9 -5
  47. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
  48. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js +158 -52
  49. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js.map +1 -1
  50. package/dist/cjs/realtime/hyperliquid/types.d.ts +11 -9
  51. package/dist/cjs/realtime/hyperliquid/types.d.ts.map +1 -1
  52. package/dist/cjs/realtime/lighter/LighterWsProvider.d.ts +48 -0
  53. package/dist/cjs/realtime/lighter/LighterWsProvider.d.ts.map +1 -0
  54. package/dist/cjs/realtime/lighter/LighterWsProvider.js +424 -0
  55. package/dist/cjs/realtime/lighter/LighterWsProvider.js.map +1 -0
  56. package/dist/cjs/realtime/lighter/types.d.ts +84 -0
  57. package/dist/cjs/realtime/lighter/types.d.ts.map +1 -0
  58. package/dist/cjs/{dex → realtime/lighter}/types.js.map +1 -1
  59. package/dist/cjs/services/createAction.d.ts +11 -0
  60. package/dist/cjs/services/createAction.d.ts.map +1 -0
  61. package/dist/cjs/services/{submitAuthorization.js → createAction.js} +7 -6
  62. package/dist/cjs/services/createAction.js.map +1 -0
  63. package/dist/cjs/services/executeAction.d.ts +11 -0
  64. package/dist/cjs/services/executeAction.d.ts.map +1 -0
  65. package/dist/cjs/services/{submitOrder.js → executeAction.js} +6 -5
  66. package/dist/cjs/services/executeAction.js.map +1 -0
  67. package/dist/cjs/services/getAccount.d.ts +1 -1
  68. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  69. package/dist/cjs/services/getAccount.js +1 -1
  70. package/dist/cjs/services/getAccount.js.map +1 -1
  71. package/dist/cjs/services/getActivity.d.ts +13 -0
  72. package/dist/cjs/services/getActivity.d.ts.map +1 -0
  73. package/dist/cjs/services/getActivity.js +21 -0
  74. package/dist/cjs/services/getActivity.js.map +1 -0
  75. package/dist/cjs/services/getAsset.d.ts +8 -0
  76. package/dist/cjs/services/getAsset.d.ts.map +1 -0
  77. package/dist/cjs/services/{getMarkets.js → getAsset.js} +6 -4
  78. package/dist/cjs/services/getAsset.js.map +1 -0
  79. package/dist/cjs/services/getAssets.d.ts +7 -0
  80. package/dist/cjs/services/getAssets.d.ts.map +1 -0
  81. package/dist/cjs/services/{getMarket.js → getAssets.js} +5 -5
  82. package/dist/cjs/services/getAssets.js.map +1 -0
  83. package/dist/cjs/services/getFills.d.ts +12 -0
  84. package/dist/cjs/services/getFills.d.ts.map +1 -0
  85. package/dist/cjs/services/{getHistory.js → getFills.js} +7 -5
  86. package/dist/cjs/services/getFills.js.map +1 -0
  87. package/dist/cjs/services/getOhlcv.d.ts +1 -1
  88. package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
  89. package/dist/cjs/services/getOhlcv.js +2 -2
  90. package/dist/cjs/services/getOhlcv.js.map +1 -1
  91. package/dist/cjs/services/getOrder.d.ts +1 -1
  92. package/dist/cjs/services/getOrder.d.ts.map +1 -1
  93. package/dist/cjs/services/getOrder.js +2 -2
  94. package/dist/cjs/services/getOrder.js.map +1 -1
  95. package/dist/cjs/services/getOrderbook.d.ts +1 -1
  96. package/dist/cjs/services/getOrderbook.d.ts.map +1 -1
  97. package/dist/cjs/services/getOrderbook.js +2 -2
  98. package/dist/cjs/services/getOrderbook.js.map +1 -1
  99. package/dist/cjs/services/getOrders.d.ts +11 -0
  100. package/dist/cjs/services/getOrders.d.ts.map +1 -0
  101. package/dist/cjs/services/getOrders.js +15 -0
  102. package/dist/cjs/services/getOrders.js.map +1 -0
  103. package/dist/cjs/services/getPositions.d.ts +11 -0
  104. package/dist/cjs/services/getPositions.d.ts.map +1 -0
  105. package/dist/cjs/services/getPositions.js +15 -0
  106. package/dist/cjs/services/getPositions.js.map +1 -0
  107. package/dist/cjs/services/getPrices.d.ts +1 -1
  108. package/dist/cjs/services/getPrices.d.ts.map +1 -1
  109. package/dist/cjs/services/getPrices.js +1 -1
  110. package/dist/cjs/services/getPrices.js.map +1 -1
  111. package/dist/cjs/services/getProviders.d.ts +4 -0
  112. package/dist/cjs/services/getProviders.d.ts.map +1 -0
  113. package/dist/cjs/services/{getDexes.js → getProviders.js} +4 -4
  114. package/dist/cjs/services/getProviders.js.map +1 -0
  115. package/dist/cjs/signers/lighter/LighterKeyStore.d.ts +20 -0
  116. package/dist/cjs/signers/lighter/LighterKeyStore.d.ts.map +1 -0
  117. package/dist/cjs/signers/lighter/LighterKeyStore.js +42 -0
  118. package/dist/cjs/signers/lighter/LighterKeyStore.js.map +1 -0
  119. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.d.ts +66 -0
  120. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +1 -0
  121. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.js +141 -0
  122. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.js.map +1 -0
  123. package/dist/cjs/signers/lighter/LighterSigner.d.ts +41 -0
  124. package/dist/cjs/signers/lighter/LighterSigner.d.ts.map +1 -0
  125. package/dist/cjs/signers/lighter/LighterSigner.js +176 -0
  126. package/dist/cjs/signers/lighter/LighterSigner.js.map +1 -0
  127. package/dist/cjs/signers/lighter/index.d.ts +9 -0
  128. package/dist/cjs/signers/lighter/index.d.ts.map +1 -0
  129. package/dist/cjs/signers/lighter/index.js +20 -0
  130. package/dist/cjs/signers/lighter/index.js.map +1 -0
  131. package/dist/cjs/signers/lighter/wasmLoader.d.ts +42 -0
  132. package/dist/cjs/signers/lighter/wasmLoader.d.ts.map +1 -0
  133. package/dist/cjs/signers/lighter/wasmLoader.js +166 -0
  134. package/dist/cjs/signers/lighter/wasmLoader.js.map +1 -0
  135. package/dist/cjs/utils/accountSummary.d.ts +9 -0
  136. package/dist/cjs/utils/accountSummary.d.ts.map +1 -0
  137. package/dist/cjs/utils/accountSummary.js +83 -0
  138. package/dist/cjs/utils/accountSummary.js.map +1 -0
  139. package/dist/cjs/utils/assertNever.d.ts +2 -0
  140. package/dist/cjs/utils/assertNever.d.ts.map +1 -0
  141. package/dist/cjs/utils/assertNever.js +7 -0
  142. package/dist/cjs/utils/assertNever.js.map +1 -0
  143. package/dist/cjs/utils/calculations.d.ts +16 -0
  144. package/dist/cjs/utils/calculations.d.ts.map +1 -0
  145. package/dist/cjs/utils/calculations.js +71 -0
  146. package/dist/cjs/utils/calculations.js.map +1 -0
  147. package/dist/cjs/utils/hyperliquid/index.d.ts +3 -0
  148. package/dist/cjs/utils/hyperliquid/index.d.ts.map +1 -0
  149. package/dist/cjs/utils/hyperliquid/index.js +11 -0
  150. package/dist/cjs/utils/hyperliquid/index.js.map +1 -0
  151. package/dist/cjs/utils/hyperliquid/liquidation.d.ts +3 -0
  152. package/dist/cjs/utils/hyperliquid/liquidation.d.ts.map +1 -0
  153. package/dist/cjs/utils/hyperliquid/liquidation.js +24 -0
  154. package/dist/cjs/utils/hyperliquid/liquidation.js.map +1 -0
  155. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts +4 -0
  156. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
  157. package/dist/cjs/utils/hyperliquid/orderFormatting.js +33 -0
  158. package/dist/cjs/utils/hyperliquid/orderFormatting.js.map +1 -0
  159. package/dist/cjs/utils/orderClassification.d.ts +8 -0
  160. package/dist/cjs/utils/orderClassification.d.ts.map +1 -0
  161. package/dist/cjs/utils/orderClassification.js +39 -0
  162. package/dist/cjs/utils/orderClassification.js.map +1 -0
  163. package/dist/cjs/utils/orderMath.d.ts +6 -0
  164. package/dist/cjs/utils/orderMath.d.ts.map +1 -0
  165. package/dist/cjs/utils/orderMath.js +71 -0
  166. package/dist/cjs/utils/orderMath.js.map +1 -0
  167. package/dist/cjs/utils/parse.d.ts +2 -0
  168. package/dist/cjs/utils/parse.d.ts.map +1 -0
  169. package/dist/cjs/utils/parse.js +14 -0
  170. package/dist/cjs/utils/parse.js.map +1 -0
  171. package/dist/cjs/utils/positionMath.d.ts +26 -0
  172. package/dist/cjs/utils/positionMath.d.ts.map +1 -0
  173. package/dist/cjs/utils/positionMath.js +38 -0
  174. package/dist/cjs/utils/positionMath.js.map +1 -0
  175. package/dist/cjs/utils/request.d.ts.map +1 -1
  176. package/dist/cjs/utils/request.js +19 -4
  177. package/dist/cjs/utils/request.js.map +1 -1
  178. package/dist/cjs/utils/signTypedData.d.ts +2 -0
  179. package/dist/cjs/utils/signTypedData.d.ts.map +1 -1
  180. package/dist/cjs/utils/signTypedData.js +10 -3
  181. package/dist/cjs/utils/signTypedData.js.map +1 -1
  182. package/dist/cjs/utils/units.d.ts +3 -0
  183. package/dist/cjs/utils/units.d.ts.map +1 -0
  184. package/dist/cjs/utils/units.js +18 -0
  185. package/dist/cjs/utils/units.js.map +1 -0
  186. package/dist/cjs/utils/validation.d.ts +2 -0
  187. package/dist/cjs/utils/validation.d.ts.map +1 -0
  188. package/dist/cjs/utils/validation.js +16 -0
  189. package/dist/cjs/utils/validation.js.map +1 -0
  190. package/dist/cjs/version.d.ts +1 -1
  191. package/dist/cjs/version.js +1 -1
  192. package/dist/cjs/wasm/lighter-signer.wasm +0 -0
  193. package/dist/cjs/wasm/wasm_exec.js +575 -0
  194. package/dist/esm/agent/AgentManager.d.ts +9 -9
  195. package/dist/esm/agent/AgentManager.d.ts.map +1 -1
  196. package/dist/esm/agent/AgentManager.js +20 -18
  197. package/dist/esm/agent/AgentManager.js.map +1 -1
  198. package/dist/esm/agent/storage.d.ts +1 -1
  199. package/dist/esm/agent/storage.js +1 -1
  200. package/dist/esm/client/PerpsClient.d.ts +226 -144
  201. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  202. package/dist/esm/client/PerpsClient.js +869 -320
  203. package/dist/esm/client/PerpsClient.js.map +1 -1
  204. package/dist/esm/client/createPerpsClient.d.ts +30 -51
  205. package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
  206. package/dist/esm/client/createPerpsClient.js +6 -21
  207. package/dist/esm/client/createPerpsClient.js.map +1 -1
  208. package/dist/esm/client/projectAccountConfigSettings.d.ts +18 -0
  209. package/dist/esm/client/projectAccountConfigSettings.d.ts.map +1 -0
  210. package/dist/esm/client/projectAccountConfigSettings.js +29 -0
  211. package/dist/esm/client/projectAccountConfigSettings.js.map +1 -0
  212. package/dist/esm/client/types.d.ts +115 -49
  213. package/dist/esm/client/types.d.ts.map +1 -1
  214. package/dist/esm/client/types.js +11 -1
  215. package/dist/esm/client/types.js.map +1 -1
  216. package/dist/esm/errors/PerpsError.d.ts +2 -3
  217. package/dist/esm/errors/PerpsError.d.ts.map +1 -1
  218. package/dist/esm/errors/PerpsError.js +3 -15
  219. package/dist/esm/errors/PerpsError.js.map +1 -1
  220. package/dist/esm/errors/constants.d.ts +0 -10
  221. package/dist/esm/errors/constants.d.ts.map +1 -1
  222. package/dist/esm/errors/constants.js +0 -11
  223. package/dist/esm/errors/constants.js.map +1 -1
  224. package/dist/esm/index.d.ts +37 -31
  225. package/dist/esm/index.d.ts.map +1 -1
  226. package/dist/esm/index.js +27 -22
  227. package/dist/esm/index.js.map +1 -1
  228. package/dist/esm/providers/hyperliquid/accountConfig.d.ts +13 -0
  229. package/dist/esm/providers/hyperliquid/accountConfig.d.ts.map +1 -0
  230. package/dist/esm/providers/hyperliquid/accountConfig.js +69 -0
  231. package/dist/esm/providers/hyperliquid/accountConfig.js.map +1 -0
  232. package/dist/esm/providers/lighter/accountConfig.d.ts +13 -0
  233. package/dist/esm/providers/lighter/accountConfig.d.ts.map +1 -0
  234. package/dist/esm/providers/lighter/accountConfig.js +79 -0
  235. package/dist/esm/providers/lighter/accountConfig.js.map +1 -0
  236. package/dist/esm/realtime/PerpsWsClient.d.ts +13 -1
  237. package/dist/esm/realtime/PerpsWsClient.d.ts.map +1 -1
  238. package/dist/esm/realtime/PerpsWsClient.js +36 -23
  239. package/dist/esm/realtime/PerpsWsClient.js.map +1 -1
  240. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts +11 -5
  241. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
  242. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js +170 -53
  243. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js.map +1 -1
  244. package/dist/esm/realtime/hyperliquid/types.d.ts +11 -9
  245. package/dist/esm/realtime/hyperliquid/types.d.ts.map +1 -1
  246. package/dist/esm/realtime/lighter/LighterWsProvider.d.ts +68 -0
  247. package/dist/esm/realtime/lighter/LighterWsProvider.d.ts.map +1 -0
  248. package/dist/esm/realtime/lighter/LighterWsProvider.js +474 -0
  249. package/dist/esm/realtime/lighter/LighterWsProvider.js.map +1 -0
  250. package/dist/esm/realtime/lighter/types.d.ts +108 -0
  251. package/dist/esm/realtime/lighter/types.d.ts.map +1 -0
  252. package/dist/esm/realtime/lighter/types.js +14 -0
  253. package/dist/esm/realtime/lighter/types.js.map +1 -0
  254. package/dist/esm/services/createAction.d.ts +11 -0
  255. package/dist/esm/services/createAction.d.ts.map +1 -0
  256. package/dist/esm/services/createAction.js +14 -0
  257. package/dist/esm/services/createAction.js.map +1 -0
  258. package/dist/esm/services/executeAction.d.ts +11 -0
  259. package/dist/esm/services/executeAction.d.ts.map +1 -0
  260. package/dist/esm/services/executeAction.js +14 -0
  261. package/dist/esm/services/executeAction.js.map +1 -0
  262. package/dist/esm/services/getAccount.d.ts +7 -7
  263. package/dist/esm/services/getAccount.d.ts.map +1 -1
  264. package/dist/esm/services/getAccount.js +6 -6
  265. package/dist/esm/services/getAccount.js.map +1 -1
  266. package/dist/esm/services/getActivity.d.ts +49 -0
  267. package/dist/esm/services/getActivity.d.ts.map +1 -0
  268. package/dist/esm/services/getActivity.js +47 -0
  269. package/dist/esm/services/getActivity.js.map +1 -0
  270. package/dist/esm/services/getAsset.d.ts +20 -0
  271. package/dist/esm/services/getAsset.d.ts.map +1 -0
  272. package/dist/esm/services/getAsset.js +18 -0
  273. package/dist/esm/services/getAsset.js.map +1 -0
  274. package/dist/esm/services/getAssets.d.ts +18 -0
  275. package/dist/esm/services/getAssets.d.ts.map +1 -0
  276. package/dist/esm/services/getAssets.js +18 -0
  277. package/dist/esm/services/getAssets.js.map +1 -0
  278. package/dist/{types/services/getHistory.d.ts → esm/services/getFills.d.ts} +17 -13
  279. package/dist/esm/services/getFills.d.ts.map +1 -0
  280. package/dist/esm/services/{getHistory.js → getFills.js} +13 -11
  281. package/dist/esm/services/getFills.js.map +1 -0
  282. package/dist/esm/services/getOhlcv.d.ts +4 -4
  283. package/dist/esm/services/getOhlcv.d.ts.map +1 -1
  284. package/dist/esm/services/getOhlcv.js +4 -4
  285. package/dist/esm/services/getOhlcv.js.map +1 -1
  286. package/dist/esm/services/getOrder.d.ts +4 -4
  287. package/dist/esm/services/getOrder.d.ts.map +1 -1
  288. package/dist/esm/services/getOrder.js +4 -4
  289. package/dist/esm/services/getOrder.js.map +1 -1
  290. package/dist/esm/services/getOrderbook.d.ts +4 -4
  291. package/dist/esm/services/getOrderbook.d.ts.map +1 -1
  292. package/dist/esm/services/getOrderbook.js +4 -4
  293. package/dist/esm/services/getOrderbook.js.map +1 -1
  294. package/dist/esm/services/getOrders.d.ts +27 -0
  295. package/dist/esm/services/getOrders.d.ts.map +1 -0
  296. package/dist/esm/services/getOrders.js +23 -0
  297. package/dist/esm/services/getOrders.js.map +1 -0
  298. package/dist/esm/services/getPositions.d.ts +27 -0
  299. package/dist/esm/services/getPositions.d.ts.map +1 -0
  300. package/dist/esm/services/getPositions.js +23 -0
  301. package/dist/esm/services/getPositions.js.map +1 -0
  302. package/dist/esm/services/getPrices.d.ts +5 -5
  303. package/dist/esm/services/getPrices.d.ts.map +1 -1
  304. package/dist/esm/services/getPrices.js +4 -4
  305. package/dist/esm/services/getPrices.js.map +1 -1
  306. package/dist/esm/services/getProviders.d.ts +20 -0
  307. package/dist/esm/services/getProviders.d.ts.map +1 -0
  308. package/dist/esm/services/getProviders.js +21 -0
  309. package/dist/esm/services/getProviders.js.map +1 -0
  310. package/dist/esm/signers/lighter/LighterKeyStore.d.ts +29 -0
  311. package/dist/esm/signers/lighter/LighterKeyStore.d.ts.map +1 -0
  312. package/dist/esm/signers/lighter/LighterKeyStore.js +53 -0
  313. package/dist/esm/signers/lighter/LighterKeyStore.js.map +1 -0
  314. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.d.ts +174 -0
  315. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +1 -0
  316. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.js +214 -0
  317. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.js.map +1 -0
  318. package/dist/esm/signers/lighter/LighterSigner.d.ts +88 -0
  319. package/dist/esm/signers/lighter/LighterSigner.d.ts.map +1 -0
  320. package/dist/esm/signers/lighter/LighterSigner.js +226 -0
  321. package/dist/esm/signers/lighter/LighterSigner.js.map +1 -0
  322. package/dist/esm/signers/lighter/index.d.ts +9 -0
  323. package/dist/esm/signers/lighter/index.d.ts.map +1 -0
  324. package/dist/esm/signers/lighter/index.js +5 -0
  325. package/dist/esm/signers/lighter/index.js.map +1 -0
  326. package/dist/esm/signers/lighter/wasmLoader.d.ts +71 -0
  327. package/dist/esm/signers/lighter/wasmLoader.d.ts.map +1 -0
  328. package/dist/esm/signers/lighter/wasmLoader.js +181 -0
  329. package/dist/esm/signers/lighter/wasmLoader.js.map +1 -0
  330. package/dist/esm/utils/accountSummary.d.ts +13 -0
  331. package/dist/esm/utils/accountSummary.d.ts.map +1 -0
  332. package/dist/esm/utils/accountSummary.js +97 -0
  333. package/dist/esm/utils/accountSummary.js.map +1 -0
  334. package/dist/esm/utils/assertNever.d.ts +19 -0
  335. package/dist/esm/utils/assertNever.d.ts.map +1 -0
  336. package/dist/esm/utils/assertNever.js +21 -0
  337. package/dist/esm/utils/assertNever.js.map +1 -0
  338. package/dist/esm/utils/calculations.d.ts +109 -0
  339. package/dist/esm/utils/calculations.d.ts.map +1 -0
  340. package/dist/esm/utils/calculations.js +154 -0
  341. package/dist/esm/utils/calculations.js.map +1 -0
  342. package/dist/esm/utils/hyperliquid/index.d.ts +3 -0
  343. package/dist/esm/utils/hyperliquid/index.d.ts.map +1 -0
  344. package/dist/esm/utils/hyperliquid/index.js +3 -0
  345. package/dist/esm/utils/hyperliquid/index.js.map +1 -0
  346. package/dist/esm/utils/hyperliquid/liquidation.d.ts +46 -0
  347. package/dist/esm/utils/hyperliquid/liquidation.d.ts.map +1 -0
  348. package/dist/esm/utils/hyperliquid/liquidation.js +63 -0
  349. package/dist/esm/utils/hyperliquid/liquidation.js.map +1 -0
  350. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts +44 -0
  351. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
  352. package/dist/esm/utils/hyperliquid/orderFormatting.js +79 -0
  353. package/dist/esm/utils/hyperliquid/orderFormatting.js.map +1 -0
  354. package/dist/esm/utils/orderClassification.d.ts +29 -0
  355. package/dist/esm/utils/orderClassification.d.ts.map +1 -0
  356. package/dist/esm/utils/orderClassification.js +53 -0
  357. package/dist/esm/utils/orderClassification.js.map +1 -0
  358. package/dist/esm/utils/orderMath.d.ts +40 -0
  359. package/dist/esm/utils/orderMath.d.ts.map +1 -0
  360. package/dist/esm/utils/orderMath.js +99 -0
  361. package/dist/esm/utils/orderMath.js.map +1 -0
  362. package/dist/esm/utils/parse.d.ts +18 -0
  363. package/dist/esm/utils/parse.d.ts.map +1 -0
  364. package/dist/esm/utils/parse.js +28 -0
  365. package/dist/esm/utils/parse.js.map +1 -0
  366. package/dist/esm/utils/positionMath.d.ts +78 -0
  367. package/dist/esm/utils/positionMath.d.ts.map +1 -0
  368. package/dist/esm/utils/positionMath.js +83 -0
  369. package/dist/esm/utils/positionMath.js.map +1 -0
  370. package/dist/esm/utils/request.d.ts +1 -2
  371. package/dist/esm/utils/request.d.ts.map +1 -1
  372. package/dist/esm/utils/request.js +23 -7
  373. package/dist/esm/utils/request.js.map +1 -1
  374. package/dist/esm/utils/signTypedData.d.ts +8 -10
  375. package/dist/esm/utils/signTypedData.d.ts.map +1 -1
  376. package/dist/esm/utils/signTypedData.js +15 -14
  377. package/dist/esm/utils/signTypedData.js.map +1 -1
  378. package/dist/esm/utils/units.d.ts +20 -0
  379. package/dist/esm/utils/units.d.ts.map +1 -0
  380. package/dist/esm/utils/units.js +31 -0
  381. package/dist/esm/utils/units.js.map +1 -0
  382. package/dist/esm/utils/validation.d.ts +15 -0
  383. package/dist/esm/utils/validation.d.ts.map +1 -0
  384. package/dist/esm/utils/validation.js +26 -0
  385. package/dist/esm/utils/validation.js.map +1 -0
  386. package/dist/esm/version.d.ts +1 -1
  387. package/dist/esm/version.js +1 -1
  388. package/dist/esm/wasm/lighter-signer.wasm +0 -0
  389. package/dist/esm/wasm/wasm_exec.js +575 -0
  390. package/dist/types/agent/AgentManager.d.ts +9 -9
  391. package/dist/types/agent/AgentManager.d.ts.map +1 -1
  392. package/dist/types/agent/storage.d.ts +1 -1
  393. package/dist/types/client/PerpsClient.d.ts +226 -144
  394. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  395. package/dist/types/client/createPerpsClient.d.ts +30 -51
  396. package/dist/types/client/createPerpsClient.d.ts.map +1 -1
  397. package/dist/types/client/projectAccountConfigSettings.d.ts +18 -0
  398. package/dist/types/client/projectAccountConfigSettings.d.ts.map +1 -0
  399. package/dist/types/client/types.d.ts +115 -49
  400. package/dist/types/client/types.d.ts.map +1 -1
  401. package/dist/types/errors/PerpsError.d.ts +2 -3
  402. package/dist/types/errors/PerpsError.d.ts.map +1 -1
  403. package/dist/types/errors/constants.d.ts +0 -10
  404. package/dist/types/errors/constants.d.ts.map +1 -1
  405. package/dist/types/index.d.ts +37 -31
  406. package/dist/types/index.d.ts.map +1 -1
  407. package/dist/types/providers/hyperliquid/accountConfig.d.ts +13 -0
  408. package/dist/types/providers/hyperliquid/accountConfig.d.ts.map +1 -0
  409. package/dist/types/providers/lighter/accountConfig.d.ts +13 -0
  410. package/dist/types/providers/lighter/accountConfig.d.ts.map +1 -0
  411. package/dist/types/realtime/PerpsWsClient.d.ts +13 -1
  412. package/dist/types/realtime/PerpsWsClient.d.ts.map +1 -1
  413. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts +11 -5
  414. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +1 -1
  415. package/dist/types/realtime/hyperliquid/types.d.ts +11 -9
  416. package/dist/types/realtime/hyperliquid/types.d.ts.map +1 -1
  417. package/dist/types/realtime/lighter/LighterWsProvider.d.ts +68 -0
  418. package/dist/types/realtime/lighter/LighterWsProvider.d.ts.map +1 -0
  419. package/dist/types/realtime/lighter/types.d.ts +108 -0
  420. package/dist/types/realtime/lighter/types.d.ts.map +1 -0
  421. package/dist/types/services/createAction.d.ts +11 -0
  422. package/dist/types/services/createAction.d.ts.map +1 -0
  423. package/dist/types/services/executeAction.d.ts +11 -0
  424. package/dist/types/services/executeAction.d.ts.map +1 -0
  425. package/dist/types/services/getAccount.d.ts +7 -7
  426. package/dist/types/services/getAccount.d.ts.map +1 -1
  427. package/dist/types/services/getActivity.d.ts +49 -0
  428. package/dist/types/services/getActivity.d.ts.map +1 -0
  429. package/dist/types/services/getAsset.d.ts +20 -0
  430. package/dist/types/services/getAsset.d.ts.map +1 -0
  431. package/dist/types/services/getAssets.d.ts +18 -0
  432. package/dist/types/services/getAssets.d.ts.map +1 -0
  433. package/dist/{esm/services/getHistory.d.ts → types/services/getFills.d.ts} +17 -13
  434. package/dist/types/services/getFills.d.ts.map +1 -0
  435. package/dist/types/services/getOhlcv.d.ts +4 -4
  436. package/dist/types/services/getOhlcv.d.ts.map +1 -1
  437. package/dist/types/services/getOrder.d.ts +4 -4
  438. package/dist/types/services/getOrder.d.ts.map +1 -1
  439. package/dist/types/services/getOrderbook.d.ts +4 -4
  440. package/dist/types/services/getOrderbook.d.ts.map +1 -1
  441. package/dist/types/services/getOrders.d.ts +27 -0
  442. package/dist/types/services/getOrders.d.ts.map +1 -0
  443. package/dist/types/services/getPositions.d.ts +27 -0
  444. package/dist/types/services/getPositions.d.ts.map +1 -0
  445. package/dist/types/services/getPrices.d.ts +5 -5
  446. package/dist/types/services/getPrices.d.ts.map +1 -1
  447. package/dist/types/services/getProviders.d.ts +20 -0
  448. package/dist/types/services/getProviders.d.ts.map +1 -0
  449. package/dist/types/signers/lighter/LighterKeyStore.d.ts +29 -0
  450. package/dist/types/signers/lighter/LighterKeyStore.d.ts.map +1 -0
  451. package/dist/types/signers/lighter/LighterReadOnlyTokenManager.d.ts +174 -0
  452. package/dist/types/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +1 -0
  453. package/dist/types/signers/lighter/LighterSigner.d.ts +88 -0
  454. package/dist/types/signers/lighter/LighterSigner.d.ts.map +1 -0
  455. package/dist/types/signers/lighter/index.d.ts +9 -0
  456. package/dist/types/signers/lighter/index.d.ts.map +1 -0
  457. package/dist/types/signers/lighter/wasmLoader.d.ts +71 -0
  458. package/dist/types/signers/lighter/wasmLoader.d.ts.map +1 -0
  459. package/dist/types/utils/accountSummary.d.ts +13 -0
  460. package/dist/types/utils/accountSummary.d.ts.map +1 -0
  461. package/dist/types/utils/assertNever.d.ts +19 -0
  462. package/dist/types/utils/assertNever.d.ts.map +1 -0
  463. package/dist/types/utils/calculations.d.ts +109 -0
  464. package/dist/types/utils/calculations.d.ts.map +1 -0
  465. package/dist/types/utils/hyperliquid/index.d.ts +3 -0
  466. package/dist/types/utils/hyperliquid/index.d.ts.map +1 -0
  467. package/dist/types/utils/hyperliquid/liquidation.d.ts +46 -0
  468. package/dist/types/utils/hyperliquid/liquidation.d.ts.map +1 -0
  469. package/dist/types/utils/hyperliquid/orderFormatting.d.ts +44 -0
  470. package/dist/types/utils/hyperliquid/orderFormatting.d.ts.map +1 -0
  471. package/dist/types/utils/orderClassification.d.ts +29 -0
  472. package/dist/types/utils/orderClassification.d.ts.map +1 -0
  473. package/dist/types/utils/orderMath.d.ts +40 -0
  474. package/dist/types/utils/orderMath.d.ts.map +1 -0
  475. package/dist/types/utils/parse.d.ts +18 -0
  476. package/dist/types/utils/parse.d.ts.map +1 -0
  477. package/dist/types/utils/positionMath.d.ts +78 -0
  478. package/dist/types/utils/positionMath.d.ts.map +1 -0
  479. package/dist/types/utils/request.d.ts +1 -2
  480. package/dist/types/utils/request.d.ts.map +1 -1
  481. package/dist/types/utils/signTypedData.d.ts +8 -10
  482. package/dist/types/utils/signTypedData.d.ts.map +1 -1
  483. package/dist/types/utils/units.d.ts +20 -0
  484. package/dist/types/utils/units.d.ts.map +1 -0
  485. package/dist/types/utils/validation.d.ts +15 -0
  486. package/dist/types/utils/validation.d.ts.map +1 -0
  487. package/dist/types/version.d.ts +1 -1
  488. package/package.json +15 -6
  489. package/src/agent/AgentManager.ts +21 -19
  490. package/src/agent/storage.ts +1 -1
  491. package/src/client/PerpsClient.ts +1221 -396
  492. package/src/client/createPerpsClient.ts +39 -54
  493. package/src/client/projectAccountConfigSettings.ts +39 -0
  494. package/src/client/types.ts +130 -52
  495. package/src/errors/PerpsError.ts +3 -22
  496. package/src/errors/constants.ts +0 -11
  497. package/src/index.ts +115 -47
  498. package/src/providers/hyperliquid/accountConfig.ts +92 -0
  499. package/src/providers/lighter/accountConfig.ts +103 -0
  500. package/src/realtime/PerpsWsClient.ts +67 -32
  501. package/src/realtime/hyperliquid/HyperliquidWsProvider.ts +199 -64
  502. package/src/realtime/hyperliquid/types.ts +8 -10
  503. package/src/realtime/lighter/LighterWsProvider.ts +682 -0
  504. package/src/realtime/lighter/types.ts +121 -0
  505. package/src/services/createAction.ts +41 -0
  506. package/src/services/executeAction.ts +41 -0
  507. package/src/services/getAccount.ts +8 -8
  508. package/src/services/getActivity.ts +77 -0
  509. package/src/services/getAsset.ts +37 -0
  510. package/src/services/getAssets.ts +32 -0
  511. package/src/services/{getHistory.ts → getFills.ts} +23 -17
  512. package/src/services/getOhlcv.ts +14 -11
  513. package/src/services/getOrder.ts +11 -8
  514. package/src/services/getOrderbook.ts +11 -8
  515. package/src/services/getOrders.ts +45 -0
  516. package/src/services/getPositions.ts +45 -0
  517. package/src/services/getPrices.ts +6 -6
  518. package/src/services/{getDexes.ts → getProviders.ts} +10 -10
  519. package/src/signers/lighter/LighterKeyStore.ts +74 -0
  520. package/src/signers/lighter/LighterReadOnlyTokenManager.ts +358 -0
  521. package/src/signers/lighter/LighterSigner.ts +396 -0
  522. package/src/signers/lighter/index.ts +36 -0
  523. package/src/signers/lighter/wasmLoader.ts +291 -0
  524. package/src/utils/accountSummary.ts +130 -0
  525. package/src/utils/assertNever.ts +22 -0
  526. package/src/utils/calculations.ts +209 -0
  527. package/src/utils/hyperliquid/index.ts +9 -0
  528. package/src/utils/hyperliquid/liquidation.ts +71 -0
  529. package/src/utils/hyperliquid/orderFormatting.ts +96 -0
  530. package/src/utils/orderClassification.ts +64 -0
  531. package/src/utils/orderMath.ts +130 -0
  532. package/src/utils/parse.ts +28 -0
  533. package/src/utils/positionMath.ts +107 -0
  534. package/src/utils/request.ts +26 -7
  535. package/src/utils/signTypedData.ts +19 -15
  536. package/src/utils/units.ts +32 -0
  537. package/src/utils/validation.ts +35 -0
  538. package/src/version.ts +1 -1
  539. package/wasm/lighter-signer.wasm +0 -0
  540. package/wasm/wasm_exec.js +575 -0
  541. package/dist/cjs/dex/hyperliquid.d.ts +0 -3
  542. package/dist/cjs/dex/hyperliquid.d.ts.map +0 -1
  543. package/dist/cjs/dex/hyperliquid.js +0 -21
  544. package/dist/cjs/dex/hyperliquid.js.map +0 -1
  545. package/dist/cjs/dex/registry.d.ts +0 -3
  546. package/dist/cjs/dex/registry.d.ts.map +0 -1
  547. package/dist/cjs/dex/registry.js +0 -16
  548. package/dist/cjs/dex/registry.js.map +0 -1
  549. package/dist/cjs/dex/types.d.ts +0 -13
  550. package/dist/cjs/dex/types.d.ts.map +0 -1
  551. package/dist/cjs/errors/AgentError.d.ts +0 -10
  552. package/dist/cjs/errors/AgentError.d.ts.map +0 -1
  553. package/dist/cjs/errors/AgentError.js +0 -23
  554. package/dist/cjs/errors/AgentError.js.map +0 -1
  555. package/dist/cjs/errors/HTTPError.d.ts +0 -11
  556. package/dist/cjs/errors/HTTPError.d.ts.map +0 -1
  557. package/dist/cjs/errors/HTTPError.js +0 -62
  558. package/dist/cjs/errors/HTTPError.js.map +0 -1
  559. package/dist/cjs/errors/PerpsSDKError.d.ts +0 -9
  560. package/dist/cjs/errors/PerpsSDKError.d.ts.map +0 -1
  561. package/dist/cjs/errors/PerpsSDKError.js +0 -36
  562. package/dist/cjs/errors/PerpsSDKError.js.map +0 -1
  563. package/dist/cjs/errors/ServerError.d.ts +0 -10
  564. package/dist/cjs/errors/ServerError.d.ts.map +0 -1
  565. package/dist/cjs/errors/ServerError.js +0 -24
  566. package/dist/cjs/errors/ServerError.js.map +0 -1
  567. package/dist/cjs/errors/ValidationError.d.ts +0 -9
  568. package/dist/cjs/errors/ValidationError.d.ts.map +0 -1
  569. package/dist/cjs/errors/ValidationError.js +0 -23
  570. package/dist/cjs/errors/ValidationError.js.map +0 -1
  571. package/dist/cjs/errors/utils/rootCause.d.ts +0 -6
  572. package/dist/cjs/errors/utils/rootCause.d.ts.map +0 -1
  573. package/dist/cjs/errors/utils/rootCause.js +0 -41
  574. package/dist/cjs/errors/utils/rootCause.js.map +0 -1
  575. package/dist/cjs/services/cancelOrder.d.ts +0 -10
  576. package/dist/cjs/services/cancelOrder.d.ts.map +0 -1
  577. package/dist/cjs/services/cancelOrder.js +0 -16
  578. package/dist/cjs/services/cancelOrder.js.map +0 -1
  579. package/dist/cjs/services/createAuthorization.d.ts +0 -10
  580. package/dist/cjs/services/createAuthorization.d.ts.map +0 -1
  581. package/dist/cjs/services/createAuthorization.js +0 -16
  582. package/dist/cjs/services/createAuthorization.js.map +0 -1
  583. package/dist/cjs/services/createOrder.d.ts +0 -21
  584. package/dist/cjs/services/createOrder.d.ts.map +0 -1
  585. package/dist/cjs/services/createOrder.js +0 -27
  586. package/dist/cjs/services/createOrder.js.map +0 -1
  587. package/dist/cjs/services/createWithdrawal.d.ts +0 -9
  588. package/dist/cjs/services/createWithdrawal.d.ts.map +0 -1
  589. package/dist/cjs/services/createWithdrawal.js +0 -15
  590. package/dist/cjs/services/createWithdrawal.js.map +0 -1
  591. package/dist/cjs/services/getDexes.d.ts +0 -4
  592. package/dist/cjs/services/getDexes.d.ts.map +0 -1
  593. package/dist/cjs/services/getDexes.js.map +0 -1
  594. package/dist/cjs/services/getHistory.d.ts +0 -10
  595. package/dist/cjs/services/getHistory.d.ts.map +0 -1
  596. package/dist/cjs/services/getHistory.js.map +0 -1
  597. package/dist/cjs/services/getMarket.d.ts +0 -8
  598. package/dist/cjs/services/getMarket.d.ts.map +0 -1
  599. package/dist/cjs/services/getMarket.js.map +0 -1
  600. package/dist/cjs/services/getMarkets.d.ts +0 -7
  601. package/dist/cjs/services/getMarkets.d.ts.map +0 -1
  602. package/dist/cjs/services/getMarkets.js.map +0 -1
  603. package/dist/cjs/services/submitAuthorization.d.ts +0 -10
  604. package/dist/cjs/services/submitAuthorization.d.ts.map +0 -1
  605. package/dist/cjs/services/submitAuthorization.js.map +0 -1
  606. package/dist/cjs/services/submitOrder.d.ts +0 -10
  607. package/dist/cjs/services/submitOrder.d.ts.map +0 -1
  608. package/dist/cjs/services/submitOrder.js.map +0 -1
  609. package/dist/cjs/services/submitWithdrawal.d.ts +0 -9
  610. package/dist/cjs/services/submitWithdrawal.d.ts.map +0 -1
  611. package/dist/cjs/services/submitWithdrawal.js +0 -15
  612. package/dist/cjs/services/submitWithdrawal.js.map +0 -1
  613. package/dist/esm/dex/hyperliquid.d.ts +0 -3
  614. package/dist/esm/dex/hyperliquid.d.ts.map +0 -1
  615. package/dist/esm/dex/hyperliquid.js +0 -19
  616. package/dist/esm/dex/hyperliquid.js.map +0 -1
  617. package/dist/esm/dex/registry.d.ts +0 -3
  618. package/dist/esm/dex/registry.d.ts.map +0 -1
  619. package/dist/esm/dex/registry.js +0 -13
  620. package/dist/esm/dex/registry.js.map +0 -1
  621. package/dist/esm/dex/types.d.ts +0 -15
  622. package/dist/esm/dex/types.d.ts.map +0 -1
  623. package/dist/esm/dex/types.js +0 -2
  624. package/dist/esm/dex/types.js.map +0 -1
  625. package/dist/esm/errors/AgentError.d.ts +0 -25
  626. package/dist/esm/errors/AgentError.d.ts.map +0 -1
  627. package/dist/esm/errors/AgentError.js +0 -35
  628. package/dist/esm/errors/AgentError.js.map +0 -1
  629. package/dist/esm/errors/HTTPError.d.ts +0 -11
  630. package/dist/esm/errors/HTTPError.d.ts.map +0 -1
  631. package/dist/esm/errors/HTTPError.js +0 -61
  632. package/dist/esm/errors/HTTPError.js.map +0 -1
  633. package/dist/esm/errors/PerpsSDKError.d.ts +0 -40
  634. package/dist/esm/errors/PerpsSDKError.d.ts.map +0 -1
  635. package/dist/esm/errors/PerpsSDKError.js +0 -67
  636. package/dist/esm/errors/PerpsSDKError.js.map +0 -1
  637. package/dist/esm/errors/ServerError.d.ts +0 -23
  638. package/dist/esm/errors/ServerError.d.ts.map +0 -1
  639. package/dist/esm/errors/ServerError.js +0 -34
  640. package/dist/esm/errors/ServerError.js.map +0 -1
  641. package/dist/esm/errors/ValidationError.d.ts +0 -23
  642. package/dist/esm/errors/ValidationError.d.ts.map +0 -1
  643. package/dist/esm/errors/ValidationError.js +0 -34
  644. package/dist/esm/errors/ValidationError.js.map +0 -1
  645. package/dist/esm/errors/utils/rootCause.d.ts +0 -71
  646. package/dist/esm/errors/utils/rootCause.d.ts.map +0 -1
  647. package/dist/esm/errors/utils/rootCause.js +0 -99
  648. package/dist/esm/errors/utils/rootCause.js.map +0 -1
  649. package/dist/esm/services/cancelOrder.d.ts +0 -51
  650. package/dist/esm/services/cancelOrder.d.ts.map +0 -1
  651. package/dist/esm/services/cancelOrder.js +0 -50
  652. package/dist/esm/services/cancelOrder.js.map +0 -1
  653. package/dist/esm/services/createAuthorization.d.ts +0 -51
  654. package/dist/esm/services/createAuthorization.d.ts.map +0 -1
  655. package/dist/esm/services/createAuthorization.js +0 -50
  656. package/dist/esm/services/createAuthorization.js.map +0 -1
  657. package/dist/esm/services/createOrder.d.ts +0 -74
  658. package/dist/esm/services/createOrder.d.ts.map +0 -1
  659. package/dist/esm/services/createOrder.js +0 -62
  660. package/dist/esm/services/createOrder.js.map +0 -1
  661. package/dist/esm/services/createWithdrawal.d.ts +0 -49
  662. package/dist/esm/services/createWithdrawal.d.ts.map +0 -1
  663. package/dist/esm/services/createWithdrawal.js +0 -49
  664. package/dist/esm/services/createWithdrawal.js.map +0 -1
  665. package/dist/esm/services/getDexes.d.ts +0 -20
  666. package/dist/esm/services/getDexes.d.ts.map +0 -1
  667. package/dist/esm/services/getDexes.js +0 -21
  668. package/dist/esm/services/getDexes.js.map +0 -1
  669. package/dist/esm/services/getHistory.d.ts.map +0 -1
  670. package/dist/esm/services/getHistory.js.map +0 -1
  671. package/dist/esm/services/getMarket.d.ts +0 -27
  672. package/dist/esm/services/getMarket.d.ts.map +0 -1
  673. package/dist/esm/services/getMarket.js +0 -25
  674. package/dist/esm/services/getMarket.js.map +0 -1
  675. package/dist/esm/services/getMarkets.d.ts +0 -25
  676. package/dist/esm/services/getMarkets.d.ts.map +0 -1
  677. package/dist/esm/services/getMarkets.js +0 -23
  678. package/dist/esm/services/getMarkets.js.map +0 -1
  679. package/dist/esm/services/submitAuthorization.d.ts +0 -42
  680. package/dist/esm/services/submitAuthorization.d.ts.map +0 -1
  681. package/dist/esm/services/submitAuthorization.js +0 -41
  682. package/dist/esm/services/submitAuthorization.js.map +0 -1
  683. package/dist/esm/services/submitOrder.d.ts +0 -44
  684. package/dist/esm/services/submitOrder.d.ts.map +0 -1
  685. package/dist/esm/services/submitOrder.js +0 -43
  686. package/dist/esm/services/submitOrder.js.map +0 -1
  687. package/dist/esm/services/submitWithdrawal.d.ts +0 -40
  688. package/dist/esm/services/submitWithdrawal.d.ts.map +0 -1
  689. package/dist/esm/services/submitWithdrawal.js +0 -40
  690. package/dist/esm/services/submitWithdrawal.js.map +0 -1
  691. package/dist/types/dex/hyperliquid.d.ts +0 -3
  692. package/dist/types/dex/hyperliquid.d.ts.map +0 -1
  693. package/dist/types/dex/registry.d.ts +0 -3
  694. package/dist/types/dex/registry.d.ts.map +0 -1
  695. package/dist/types/dex/types.d.ts +0 -15
  696. package/dist/types/dex/types.d.ts.map +0 -1
  697. package/dist/types/errors/AgentError.d.ts +0 -25
  698. package/dist/types/errors/AgentError.d.ts.map +0 -1
  699. package/dist/types/errors/HTTPError.d.ts +0 -11
  700. package/dist/types/errors/HTTPError.d.ts.map +0 -1
  701. package/dist/types/errors/PerpsSDKError.d.ts +0 -40
  702. package/dist/types/errors/PerpsSDKError.d.ts.map +0 -1
  703. package/dist/types/errors/ServerError.d.ts +0 -23
  704. package/dist/types/errors/ServerError.d.ts.map +0 -1
  705. package/dist/types/errors/ValidationError.d.ts +0 -23
  706. package/dist/types/errors/ValidationError.d.ts.map +0 -1
  707. package/dist/types/errors/utils/rootCause.d.ts +0 -71
  708. package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
  709. package/dist/types/services/cancelOrder.d.ts +0 -51
  710. package/dist/types/services/cancelOrder.d.ts.map +0 -1
  711. package/dist/types/services/createAuthorization.d.ts +0 -51
  712. package/dist/types/services/createAuthorization.d.ts.map +0 -1
  713. package/dist/types/services/createOrder.d.ts +0 -74
  714. package/dist/types/services/createOrder.d.ts.map +0 -1
  715. package/dist/types/services/createWithdrawal.d.ts +0 -49
  716. package/dist/types/services/createWithdrawal.d.ts.map +0 -1
  717. package/dist/types/services/getDexes.d.ts +0 -20
  718. package/dist/types/services/getDexes.d.ts.map +0 -1
  719. package/dist/types/services/getHistory.d.ts.map +0 -1
  720. package/dist/types/services/getMarket.d.ts +0 -27
  721. package/dist/types/services/getMarket.d.ts.map +0 -1
  722. package/dist/types/services/getMarkets.d.ts +0 -25
  723. package/dist/types/services/getMarkets.d.ts.map +0 -1
  724. package/dist/types/services/submitAuthorization.d.ts +0 -42
  725. package/dist/types/services/submitAuthorization.d.ts.map +0 -1
  726. package/dist/types/services/submitOrder.d.ts +0 -44
  727. package/dist/types/services/submitOrder.d.ts.map +0 -1
  728. package/dist/types/services/submitWithdrawal.d.ts +0 -40
  729. package/dist/types/services/submitWithdrawal.d.ts.map +0 -1
  730. package/src/dex/hyperliquid.ts +0 -20
  731. package/src/dex/registry.ts +0 -15
  732. package/src/dex/types.ts +0 -16
  733. package/src/errors/AgentError.ts +0 -43
  734. package/src/errors/HTTPError.ts +0 -72
  735. package/src/errors/PerpsSDKError.ts +0 -79
  736. package/src/errors/ServerError.ts +0 -41
  737. package/src/errors/ValidationError.ts +0 -38
  738. package/src/errors/utils/rootCause.ts +0 -112
  739. package/src/services/cancelOrder.ts +0 -75
  740. package/src/services/createAuthorization.ts +0 -79
  741. package/src/services/createOrder.ts +0 -116
  742. package/src/services/createWithdrawal.ts +0 -76
  743. package/src/services/getMarket.ts +0 -41
  744. package/src/services/getMarkets.ts +0 -37
  745. package/src/services/submitAuthorization.ts +0 -70
  746. package/src/services/submitOrder.ts +0 -72
  747. package/src/services/submitWithdrawal.ts +0 -67
  748. /package/dist/cjs/{dex → realtime/lighter}/types.js +0 -0
@@ -1,198 +1,280 @@
1
- import type { Address, AuthorizationsResponse, CancelOrderPayloadResponse, CreateAuthorizationResponse, CreateOrderResponse, CreateWithdrawalResponse, SubmitOrderResponse, SubmitWithdrawalResponse } from '@lifi/perps-types';
2
- import type { SubmitAuthorizationParams } from '../services/submitAuthorization.js';
3
- import type { SubmitOrderParams } from '../services/submitOrder.js';
4
- import type { SubmitWithdrawalParams } from '../services/submitWithdrawal.js';
1
+ import type { ActionParamsMap, ActionStep, Address, ApproveReadOnlyTokenParams, AssetIdentity, CreateActionResponse, ExecuteActionResponse, SignedActionStep } from '@lifi/perps-types';
2
+ import { ActionType } from '@lifi/perps-types';
3
+ import { type ApproveReadOnlyTokenResult } from '../signers/lighter/index.js';
5
4
  import { type PerpsSDKClient } from './createPerpsClient.js';
6
- import type { BuildAuthorizationParams, BuildWithdrawalParams, CancelOrdersParams, ExecuteAuthorizationsParams, ExecuteAuthorizationsResult, GetRequiredAuthorizationsParams, PerpsClientOptions, PlaceOrderParams, RequiredAuthorizationsResult, SigningMode } from './types.js';
7
- /**
8
- * Stateful client for managing signing modes and trading operations.
9
- *
10
- * The PerpsClient provides two signing modes:
11
- * - `USER`: User wallet signs each action (wallet popup per action)
12
- * - `USER_AGENT`: SDK-generated agent signs actions (no popups after setup)
13
- *
14
- * In `USER_AGENT` mode, the client:
15
- * - Generates an agent keypair stored in localStorage (or custom storage)
16
- * - Auto-injects agent address into authorization requests
17
- * - Auto-signs trading actions with the agent key
18
- *
19
- * @remarks
20
- * The example below uses Hyperliquid. Authorization keys and parameters are DEX-specific.
21
- *
22
- * @example
23
- * ```ts
24
- * const perps = new PerpsClient({ integrator: 'my-app' })
25
- *
26
- * // Set up agent signing for a user + DEX pair
27
- * await perps.setSigningMode(userAddress, 'hyperliquid', 'USER_AGENT')
28
- *
29
- * // Check and execute required authorizations
30
- * const required = await perps.getRequiredAuthorizations({
31
- * dex: 'hyperliquid',
32
- * address: userAddress,
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
- */
5
+ import { type CancelOrdersParams, type CheckPrerequisitesParams, type GetAccountResult, type GetSetupParams, type ModifyOrdersParams, type PerpsClientOptions, type PlaceOrderParams, type PlaceTriggerOrderParams, type SatisfySetupParams, type SatisfySetupResult, type SetupResult, SigningMode, type WithdrawParams } from './types.js';
49
6
  export declare class PerpsClient {
50
7
  private sdkClient;
8
+ private storage;
51
9
  private signingModes;
10
+ private providerMetadataCache;
11
+ private _signer;
12
+ private readonly lighterConfig;
13
+ private readonly lighterReadOnlyTokenOptions;
14
+ private _lighterSigner;
15
+ private _lighterKeyStore;
16
+ private _lighterReadOnlyTokenManager;
52
17
  constructor(options: PerpsClientOptions);
18
+ private getLighterSigner;
19
+ private getLighterKeyStore;
20
+ private getLighterReadOnlyTokenManager;
53
21
  /**
54
- * Get the underlying SDK client for use with service functions.
22
+ * Set or update the wallet signer. Used whenever an action's descriptor
23
+ * names the user wallet in its `signers` list. Pass undefined to clear.
55
24
  */
25
+ setSigner(signer: PerpsSDKClient['signer']): void;
56
26
  get client(): PerpsSDKClient;
57
- /**
58
- * Get the storage key for a user + DEX pair.
59
- */
60
27
  private modeKey;
28
+ private signingModeStorageKey;
29
+ private getProviderMetadata;
61
30
  /**
62
- * Set the signing mode for a user + DEX pair.
63
- *
64
- * In `USER_AGENT` mode, generates an agent keypair if one doesn't exist.
65
- *
66
- * @param address - User wallet address
67
- * @param dex - DEX identifier
68
- * @param mode - Signing mode to set
31
+ * Action types that require explicit user input (a chosen mode or tier)
32
+ * and therefore cannot be bulk-staged through `buildPrerequisites` with
33
+ * empty params. Callers must dispatch these via `execute(...)` once a
34
+ * value is picked. The post-`APPROVE_AGENT` auto-upgrade path also
35
+ * dispatches `ACCOUNT_MODE` directly with `mode: 'unifiedAccount'`.
69
36
  */
70
- setSigningMode(address: Address, dex: string, mode: SigningMode): Promise<void>;
37
+ private static readonly EXPLICIT_INPUT_PREREQUISITES;
38
+ private buildPrerequisiteInputs;
39
+ private resolveSignerForAction;
71
40
  /**
72
- * Get the current signing mode for a user + DEX pair.
73
- * Defaults to `USER` if not set.
41
+ * True if any descriptor for the provider lists `PerpsSigner.AGENT`.
42
+ * Providers like Lighter sign with their own keystore and never need an
43
+ * AgentManager-managed agent.
74
44
  */
75
- getSigningMode(address: Address, dex: string): SigningMode;
45
+ private providerUsesAgent;
46
+ private autoSignAndExecute;
76
47
  /**
77
- * Get the agent address for a user + DEX pair.
78
- *
79
- * @throws {PerpsError} If in USER mode or agent not found
48
+ * Sign a single prerequisite step using whichever signing path matches the
49
+ * step's shape — EIP-712 typed data, WASM blob (with the hybrid EIP-191 +
50
+ * WASM flow for REGISTER_API_KEY), or EVM transaction. Lets consumers
51
+ * collect signed prereqs without embedding per-method signing logic.
80
52
  */
81
- getAgentAddress(address: Address, dex: string): Promise<Address>;
53
+ signPrerequisite(provider: string, address: Address, step: ActionStep): Promise<SignedActionStep>;
82
54
  /**
83
- * Check if an agent exists for a user + DEX pair.
55
+ * Sign and broadcast a sequence of EVM transactions via the user's wallet
56
+ * client. Steps are submitted serially so a later step (e.g. deposit) can
57
+ * rely on an earlier step (e.g. approve) having mined. Each step's
58
+ * `txParams` carries chainId, target, function name, args, and a
59
+ * human-readable abi from the backend.
84
60
  */
85
- hasAgent(address: Address, dex: string): Promise<boolean>;
61
+ private signEvmTxActions;
86
62
  /**
87
- * Remove the agent for a user + DEX pair.
88
- * Also resets signing mode to USER.
63
+ * Sign a batch of WASM_BLOB action steps (Lighter). Ensures the user's
64
+ * Lighter API keypair is registered first — generating one and running the
65
+ * REGISTER_API_KEY hybrid flow via the L1 signer if not — then feeds each
66
+ * subsequent step through the WASM signer and returns signed blobs.
67
+ *
68
+ * `ACCOUNT_TYPE` (Lighter `/api/v1/changeAccountTier`) is dispatched as a
69
+ * WASM_BLOB envelope by the backend but is NOT a wasm-signed transaction —
70
+ * Lighter authenticates the endpoint with an auth token and enforces
71
+ * anti-replay server-side (24h cooldown, no open positions). The signer
72
+ * mints a Lighter auth token via the same WASM `CreateAuthToken` the read
73
+ * endpoints use and parks it in `signedTx.txInfo`; the backend's
74
+ * `executeChangeAccountTier` consumes that field as the `auth` form
75
+ * parameter. `txType`/`txHash` are unused for this action — they carry
76
+ * placeholder values to satisfy the `WasmBlobSignedActionStep` shape.
89
77
  */
90
- removeAgent(address: Address, dex: string): Promise<void>;
78
+ private signWasmBlobActions;
79
+ private signStandardWasmAction;
91
80
  /**
92
- * Build authorization payloads for signing.
81
+ * REGISTER_API_KEY flow:
82
+ * 1. Look up the user's Lighter accountIndex from getAccount()
83
+ * 2. Generate a fresh Lighter API keypair via the WASM signer
84
+ * 3. Call SignChangePubKey to produce the WASM blob + EIP-191 message
85
+ * 4. Have the user's L1 Ethereum wallet sign the message
86
+ * 5. Inject the L1 signature into the ChangePubKey txInfo JSON
87
+ * 6. Persist the keypair and return the signed blob
93
88
  *
94
- * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
95
- * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`.
96
- *
97
- * @param params - Authorization parameters
98
- * @returns Authorization actions with typed data for signing
89
+ * Requires a USER wallet signer to be set via `setSigner` or passed at
90
+ * construction the L1 signature is the user's consent to rotate keys.
99
91
  */
100
- buildAuthorization(params: BuildAuthorizationParams): Promise<CreateAuthorizationResponse>;
92
+ private signRegisterApiKey;
101
93
  /**
102
- * Submit signed authorizations.
94
+ * Sign an `ACCOUNT_TYPE` step (Lighter `changeAccountTier`).
103
95
  *
104
- * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
105
- * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`.
96
+ * Lighter's `/api/v1/changeAccountTier` is an HTTP-only mutation
97
+ * Lighter does NOT consume a wasm-signed transaction here; it
98
+ * authenticates the request with the same auth token its read endpoints
99
+ * use, and enforces anti-replay business rules server-side. The backend
100
+ * therefore declares the step as a `WasmBlobActionStep` with
101
+ * `wasmSignParams.kind = 'changeAccountTier'` and expects the SDK to
102
+ * mint an auth token in lieu of a transaction signature. That contract
103
+ * is documented in `lifi-perps-backend/src/providers/lighter/actions/
104
+ * lighter.actions.accountType.ts` and consumed by `executeChangeAccountTier`.
106
105
  *
107
- * @param params - Signed authorization parameters
106
+ * The auth-token deadline mirrors {@link createLighterAuthToken}'s 1h
107
+ * default — Lighter caps tokens at 8h hard, and the backend's executor
108
+ * runs `verifyPendingAction` then a single `/changeAccountTier` POST,
109
+ * which completes well inside an hour.
108
110
  */
109
- submitAuthorizations(params: SubmitAuthorizationParams): Promise<AuthorizationsResponse>;
111
+ private signAccountTierChange;
110
112
  /**
111
- * Build order payloads for signing.
113
+ * Return a bearer token that authenticates Lighter's read endpoints
114
+ * (getOrders, getOrder, getActivity, getFills).
115
+ *
116
+ * Resolution order:
117
+ * 1. The long-lived read-only token persisted by `approveReadOnlyToken`,
118
+ * when one is stored for this `(address, accountIndex)` AND has not
119
+ * passed its recorded `expiry`. The SDK never returns an expired
120
+ * stored token.
121
+ * 2. A freshly minted 8h Lighter auth token, signed off the user's
122
+ * Lighter API key. Requires `REGISTER_API_KEY` to have completed.
123
+ * 3. `undefined` — caller falls back to public reads.
112
124
  *
113
- * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
114
- * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`.
125
+ * `accountIndex` lets callers in pure read-only mode (no API key
126
+ * registered) target the RO token. When omitted, the SDK derives it from
127
+ * the user's registered API key.
115
128
  *
116
- * @param params - Order parameters
117
- * @returns Order actions with typed data for signing
129
+ * `deadlineSeconds` only affects the standard-token fallback (Lighter caps
130
+ * those tokens at 8h). Read-only tokens carry their own mint-time expiry
131
+ * recorded by {@link approveReadOnlyToken}.
118
132
  */
119
- buildOrder(params: PlaceOrderParams): Promise<CreateOrderResponse>;
133
+ createLighterAuthToken(address: Address, deadlineSeconds?: number, accountIndex?: number): Promise<string | undefined>;
120
134
  /**
121
- * Build cancel order payloads for signing.
135
+ * Mint a long-lived Lighter read-only token via Lighter's
136
+ * `tokens/create` endpoint and persist it through the configured
137
+ * `StorageAdapter`, keyed by `(L1 address, accountIndex)`.
138
+ *
139
+ * The user's connected wallet signs an EIP-191 message describing the
140
+ * mint request; the resulting `Authorization` header authenticates the
141
+ * Lighter HTTP call. The bearer string Lighter returns is persisted
142
+ * alongside its `expiry` and `scope`; subsequent calls to
143
+ * {@link createLighterAuthToken} prefer it over the 8h standard token.
122
144
  *
123
- * In `USER` mode, `signerAddress` is omitted (backend defaults to `address`).
124
- * In `USER_AGENT` mode, auto-injects the agent address as `signerAddress`.
145
+ * `expirySeconds` is the absolute unix-seconds expiry recorded on
146
+ * Lighter's row. Lighter enforces 1 day lifetime ≤ 10 years
147
+ * server-side; the SDK does NOT pre-validate and surfaces Lighter's 400
148
+ * verbatim. `scope` defaults to `'all'`; the `'single'` variant is wired
149
+ * through but only useful when the caller has a specific reason to scope
150
+ * the token to one account.
125
151
  *
126
- * @param params - Cancel parameters
127
- * @returns Cancel actions with typed data for signing
152
+ * Requires a USER wallet signer to be set via {@link setSigner} or
153
+ * passed at construction the L1 signature is the user's consent.
128
154
  */
129
- buildCancelOrder(params: CancelOrdersParams): Promise<CancelOrderPayloadResponse>;
155
+ approveReadOnlyToken(address: Address, params: ApproveReadOnlyTokenParams): Promise<ApproveReadOnlyTokenResult>;
130
156
  /**
131
- * Place an order with automatic agent signing.
132
- *
133
- * **Requires USER_AGENT mode.** For USER mode, use `buildOrder()` + `submitSignedOrder()`.
134
- *
135
- * @param params - Order parameters
136
- * @returns Order submission results
137
- * @throws {PerpsError} If not in USER_AGENT mode
157
+ * Whether the stored Lighter read-only token for `(address, accountIndex)`
158
+ * falls within `thresholdDays` of its `expiry`. Returns `false` when no
159
+ * token is stored, when the stored token has already expired, or when
160
+ * more than `thresholdDays` of life remain. Intended for widget renewal
161
+ * banners (default threshold: 30 days).
138
162
  */
139
- placeOrder(params: PlaceOrderParams): Promise<SubmitOrderResponse>;
163
+ isLighterReadOnlyTokenExpiringSoon(address: Address, accountIndex: number, thresholdDays?: number): Promise<boolean>;
164
+ buildAction<T extends ActionType>(action: T, params: {
165
+ provider: string;
166
+ address: Address;
167
+ params: ActionParamsMap[T];
168
+ }): Promise<CreateActionResponse>;
169
+ setSigningMode(address: Address, provider: string, mode: SigningMode): Promise<void>;
170
+ getSigningMode(address: Address, provider: string): SigningMode;
171
+ loadSigningMode(address: Address, provider: string): Promise<SigningMode>;
172
+ loadAgentMode(address: Address, provider: string): Promise<boolean>;
173
+ setAgentMode(address: Address, provider: string, useAgent: boolean): Promise<void>;
174
+ getAgentAddress(address: Address, provider: string): Promise<Address>;
175
+ hasAgent(address: Address, provider: string): Promise<boolean>;
176
+ removeAgent(address: Address, provider: string): Promise<void>;
140
177
  /**
141
- * Cancel orders with automatic agent signing.
142
- *
143
- * **Requires USER_AGENT mode.** For USER mode, use `buildCancelOrder()` + `submitSignedOrder()`.
144
- *
145
- * @param params - Cancel parameters
146
- * @returns Cancel submission results
147
- * @throws {PerpsError} If not in USER_AGENT mode
178
+ * Fetch the user's account state from the backend and attach the
179
+ * SDK-projected `settings` array — one `AccountConfigSetting` per
180
+ * descriptor on `Provider.setup` + `Provider.options`. Callers read
181
+ * `result.settings` directly without re-deriving values from the typed
182
+ * `AccountConfig`.
148
183
  */
149
- cancelOrders(params: CancelOrdersParams): Promise<SubmitOrderResponse>;
184
+ getAccount(params: {
185
+ provider: string;
186
+ address: Address;
187
+ }): Promise<GetAccountResult>;
150
188
  /**
151
- * Submit pre-signed order actions.
152
- *
153
- * Use this for USER mode when you've already signed the actions with the user's wallet.
154
- * Auto-injects `signerAddress` if not provided (defaults to `address`).
155
- *
156
- * @param params - Signed order parameters
189
+ * Thin existence check for a provider account at `address`. Returns
190
+ * `true` when `getAccount` resolves, `false` when the backend reports
191
+ * `PerpsErrorCode.AccountNotFound`, and re-throws on any other error
192
+ * (transport failures, validation errors, server errors).
157
193
  */
158
- submitSignedOrder(params: SubmitOrderParams): Promise<SubmitOrderResponse>;
194
+ accountExists(provider: string, address: Address): Promise<boolean>;
159
195
  /**
160
- * Build a withdrawal payload for the user to sign.
161
- *
162
- * Withdrawals are user-signed only — agents cannot initiate withdrawals.
163
- * No agent injection is performed regardless of signing mode.
196
+ * Return the unsatisfied entries on `Provider.setup` for this account,
197
+ * split by signer role. Trading is gated on `isReady === true`.
164
198
  *
165
- * @param params - Withdrawal parameters
166
- * @returns Withdrawal action with typed data for signing
199
+ * `Provider.options` descriptors are NEVER returned here — options are
200
+ * post-setup tunables and never gate trading. Option state is surfaced
201
+ * separately via `getAccount().settings`.
167
202
  */
168
- buildWithdrawal(params: BuildWithdrawalParams): Promise<CreateWithdrawalResponse>;
203
+ checkSetup(params: GetSetupParams): Promise<SetupResult>;
204
+ buildPrerequisites(params: CheckPrerequisitesParams): Promise<CreateActionResponse>;
169
205
  /**
170
- * Submit a signed withdrawal.
171
- *
172
- * Withdrawals are user-signed only agents cannot initiate withdrawals.
173
- *
174
- * @param params - Signed withdrawal parameters
175
- * @returns Withdrawal result
206
+ * Default mode the SDK auto-applies after `APPROVE_AGENT` on a provider
207
+ * whose `options` array exposes a writable `ACCOUNT_MODE` (today
208
+ * Hyperliquid). Callers can override this through a subsequent
209
+ * `ACCOUNT_MODE` dispatch.
176
210
  */
177
- submitWithdrawal(params: SubmitWithdrawalParams): Promise<SubmitWithdrawalResponse>;
211
+ private static readonly DEFAULT_ACCOUNT_MODE;
178
212
  /**
179
- * Determine which authorizations (if any) the user needs to sign before trading.
213
+ * Prepare an `ACCOUNT_MODE` change by proactively reading the account's
214
+ * current `config.abstractionMode` and routing to the correct signer:
180
215
  *
181
- * Uses the dex auth provider to determine what authorizations to request,
182
- * then calls buildAuthorization the backend filters already-valid auths
183
- * and returns only what's needed.
216
+ * - `abstractionMode == null` (never set, e.g. a fresh HL account):
217
+ * the change MAY be performed by the agent signer. Build, sign with
218
+ * the agent key, and dispatch. Returns `{ results }`.
219
+ * - `abstractionMode === mode`: idempotent no-op. Returns an empty
220
+ * results envelope without contacting `/createAction` or `/executeAction`.
221
+ * - `abstractionMode` set to any other value: HL requires a user-wallet
222
+ * signature to change the abstraction once it has been set. Build the
223
+ * action unsigned and return it as `{ fallback }` so the caller can
224
+ * surface a wallet prompt via `fallbackUserPrerequisites`.
184
225
  *
185
- * @param params - Parameters including dex, address, and dex-specific config
186
- * @returns Which authorizations are needed and whether the user is ready to trade
226
+ * Network errors from `/account` propagate we never guess the signer.
227
+ * `account.config.provider !== 'hyperliquid'` also throws: this helper
228
+ * is HL-specific and the dispatcher should never reach it for another
229
+ * provider (gated by `hasWritableAccountMode`).
230
+ */
231
+ private prepareAccountModeChange;
232
+ /**
233
+ * True when the provider exposes an `ACCOUNT_MODE` descriptor (in `setup`
234
+ * or `options`) whose `mode` Param has a writable enumeration of values.
235
+ * Providers that omit `ACCOUNT_MODE` or expose it as read-only / free-form
236
+ * input return false.
187
237
  */
188
- getRequiredAuthorizations(params: GetRequiredAuthorizationsParams): Promise<RequiredAuthorizationsResult>;
238
+ private static hasWritableAccountMode;
189
239
  /**
190
- * Execute authorizations: submit user-signed actions, then auto-sign and submit
191
- * any agent authorizations.
240
+ * Submit the signed setup steps returned by `checkSetup` (and seeded
241
+ * with user-wallet signatures by the caller). Internally splits into:
192
242
  *
193
- * @param params - User-signed actions and the required authorizations result
194
- * @returns Combined results from user and agent submissions
243
+ * 1. Submit user-signed setup actions.
244
+ * 2. After a successful `APPROVE_AGENT`, auto-upgrade `ACCOUNT_MODE`
245
+ * to the SDK's default when the provider exposes a writable
246
+ * `ACCOUNT_MODE` Param (Hyperliquid today). The SDK reads
247
+ * `account.config.abstractionMode` to choose the signer: `null` →
248
+ * agent dispatch; non-null → wallet fallback returned in
249
+ * `fallbackUserPrerequisites`.
250
+ * 3. Sign and submit any pre-staged agent-side setup actions the
251
+ * backend returned alongside the user-signed ones.
252
+ */
253
+ satisfySetup(params: SatisfySetupParams): Promise<SatisfySetupResult>;
254
+ placeOrder(params: PlaceOrderParams): Promise<ExecuteActionResponse>;
255
+ placeTriggerOrder(params: PlaceTriggerOrderParams): Promise<ExecuteActionResponse>;
256
+ cancelOrders(params: CancelOrdersParams): Promise<ExecuteActionResponse>;
257
+ modifyOrders(params: ModifyOrdersParams): Promise<ExecuteActionResponse>;
258
+ updatePositionMargin(params: {
259
+ provider: string;
260
+ address: Address;
261
+ asset: AssetIdentity;
262
+ action: 'add' | 'remove';
263
+ amount: string;
264
+ }): Promise<ExecuteActionResponse>;
265
+ withdraw(params: WithdrawParams): Promise<ExecuteActionResponse>;
266
+ /**
267
+ * Execute any action through the SDK's signing pipeline. Signing is routed
268
+ * by the action's descriptor in provider metadata — the agent keypair, the
269
+ * configured WalletClient signer, the Lighter API key, or an EVM tx — as
270
+ * the descriptor's `signers` and `signingMethod` dictate.
195
271
  */
196
- executeAuthorizations(params: ExecuteAuthorizationsParams): Promise<ExecuteAuthorizationsResult>;
272
+ execute<T extends ActionType>(params: {
273
+ provider: string;
274
+ address: Address;
275
+ signerAddress?: Address;
276
+ action: T;
277
+ params: ActionParamsMap[T];
278
+ }): Promise<ExecuteActionResponse>;
197
279
  }
198
280
  //# sourceMappingURL=PerpsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
@@ -1,77 +1,56 @@
1
+ import type { Account, WalletClient } from 'viem';
1
2
  import { AgentManager } from '../agent/AgentManager.js';
2
3
  import type { StorageAdapter } from '../agent/types.js';
3
4
  export declare const DEFAULT_API_URL = "https://develop.li.quest/v1/perps";
4
- /**
5
- * Configuration options for creating a Perps SDK client.
6
- */
5
+ export interface ProviderConfig {
6
+ markets?: string[];
7
+ }
8
+ /** @deprecated Use ProviderConfig */
9
+ export type HyperliquidConfig = ProviderConfig;
10
+ export interface ProviderConfigs {
11
+ [provider: string]: ProviderConfig | undefined;
12
+ }
7
13
  export interface PerpsConfig {
8
- /** Integrator identifier (required) */
9
14
  integrator: string;
10
- /** Optional API key for authenticated requests */
11
- apiKey?: string;
12
- /** Base API URL. Defaults to DEFAULT_API_URL */
15
+ apiKey: string;
13
16
  apiUrl?: string;
14
- /** Disable version update check in development mode */
15
17
  disableVersionCheck?: boolean;
16
- /** Custom storage adapter for agent keys. Defaults to localStorage. */
17
18
  storage?: StorageAdapter;
18
- /** Optional request interceptor for custom handling */
19
19
  requestInterceptor?: RequestInterceptor;
20
+ providers?: ProviderConfigs;
21
+ /**
22
+ * Wallet signer used whenever an action's descriptor names the user wallet
23
+ * in its `signers` list. Accepts any viem-compatible WalletClient:
24
+ * - Browser wallet: wagmi's useWalletClient() result
25
+ * - Private key: createWalletClient({ account: privateKeyToAccount('0x...'), transport: http() })
26
+ * - Mnemonic: createWalletClient({ account: mnemonicToAccount('word1 ...'), transport: http() })
27
+ */
28
+ signer?: WalletClient<any, any, Account>;
20
29
  }
21
- /**
22
- * Resolved configuration with required fields.
23
- */
24
30
  export interface PerpsBaseConfig {
25
- /** Integrator identifier (required) */
26
31
  integrator: string;
27
- /** Optional API key for authenticated requests */
28
- apiKey?: string;
29
- /** Resolved API URL (always set) */
32
+ apiKey: string;
30
33
  apiUrl: string;
31
- /** Disable version update check in development mode */
32
34
  disableVersionCheck?: boolean;
33
- /** Optional request interceptor for custom handling */
34
35
  requestInterceptor?: RequestInterceptor;
36
+ providers?: ProviderConfigs;
35
37
  }
36
- /**
37
- * Request interceptor function type.
38
- * Called before each request is made, allowing modification of fetch options.
39
- */
40
38
  export type RequestInterceptor = (url: string, options: RequestInit) => RequestInit | Promise<RequestInit>;
41
- /**
42
- * Options passed to service functions for request control.
43
- */
44
39
  export interface SDKRequestOptions {
45
- /** AbortSignal to cancel the request */
46
40
  signal?: AbortSignal;
41
+ /**
42
+ * Lighter auth token for authenticated read endpoints (getOrders, getOrder,
43
+ * getActivity). Mint via `lighterSigner.createAuthToken(deadline, context)`.
44
+ * Forwarded as `Authorization: Bearer <token>` and never persisted by the
45
+ * backend — read-only by design (8h max TTL, cannot authorize writes).
46
+ */
47
+ lighterAuthToken?: string;
47
48
  }
48
- /**
49
- * The Perps SDK client instance.
50
- * Holds configuration and agent manager for making API requests.
51
- */
52
49
  export interface PerpsSDKClient {
53
- /** SDK configuration */
54
50
  readonly config: PerpsBaseConfig;
55
- /** Agent manager for USER_AGENT signing mode */
56
51
  readonly agentManager: AgentManager;
52
+ /** Wallet signer for setup actions — accepts any viem WalletClient (browser, private key, mnemonic). */
53
+ readonly signer?: WalletClient<any, any, Account>;
57
54
  }
58
- /**
59
- * Create a new Perps SDK client.
60
- *
61
- * @param options - Configuration options
62
- * @returns A new SDK client instance
63
- * @throws {PerpsError} If integrator is not provided
64
- *
65
- * @example
66
- * ```ts
67
- * const client = createPerpsClient({
68
- * integrator: 'my-app',
69
- * apiKey: 'optional-api-key',
70
- * })
71
- *
72
- * // Use with service functions
73
- * const { dexes } = await getDexes(client)
74
- * ```
75
- */
76
55
  export declare function createPerpsClient(options: PerpsConfig): PerpsSDKClient;
77
56
  //# sourceMappingURL=createPerpsClient.d.ts.map
@@ -1 +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;AAIvD,eAAO,MAAM,eAAe,sCAAsC,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,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;CACxC;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;CACxC;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;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CA8BtE"}
1
+ {"version":3,"file":"createPerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/createPerpsClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD,eAAO,MAAM,eAAe,sCAAsC,CAAA;AAElE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAE9C,MAAM,WAAW,eAAe;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,KACjB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvC,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,wGAAwG;IACxG,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;CAClD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAkCtE"}
@@ -0,0 +1,18 @@
1
+ import type { AccountConfig, AccountConfigSetting, ProviderOption, ProviderSetup } from '@lifi/perps-types';
2
+ /**
3
+ * Project a typed `AccountConfig` against the provider's `setup` + `options`
4
+ * descriptors into `AccountConfigSetting[]`.
5
+ *
6
+ * Switches on `config.provider` to pick the per-provider mapper. The
7
+ * `assertNever` exhaustiveness check in the `default` arm forces a compile
8
+ * error whenever a new variant is added to `AccountConfig`.
9
+ *
10
+ * Produces exactly one `AccountConfigSetting` per descriptor in
11
+ * `setup`-then-`options` order.
12
+ *
13
+ * @param config Typed account-state union (discriminated on `provider`).
14
+ * @param setup `Provider.setup` from the matching provider metadata.
15
+ * @param options `Provider.options` from the matching provider metadata.
16
+ */
17
+ export declare function projectAccountConfigSettings(config: AccountConfig, setup: ProviderSetup[], options: ProviderOption[]): AccountConfigSetting[];
18
+ //# sourceMappingURL=projectAccountConfigSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectAccountConfigSettings.d.ts","sourceRoot":"","sources":["../../../src/client/projectAccountConfigSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,aAAa,EACd,MAAM,mBAAmB,CAAA;AAK1B;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CASxB"}