@lifi/perps-sdk 0.2.0-alpha.0 → 1.0.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 (908) hide show
  1. package/README.md +138 -24
  2. package/dist/cjs/client/PerpsClient.d.ts +27 -48
  3. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  4. package/dist/cjs/client/PerpsClient.js +119 -578
  5. package/dist/cjs/client/PerpsClient.js.map +1 -1
  6. package/dist/cjs/client/bindProvider.d.ts +3 -0
  7. package/dist/cjs/client/bindProvider.d.ts.map +1 -0
  8. package/dist/cjs/client/bindProvider.js +9 -0
  9. package/dist/cjs/client/bindProvider.js.map +1 -0
  10. package/dist/cjs/client/createPerpsClient.d.ts +7 -38
  11. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -1
  12. package/dist/cjs/client/createPerpsClient.js +25 -8
  13. package/dist/cjs/client/createPerpsClient.js.map +1 -1
  14. package/dist/cjs/client/requireProvider.d.ts +3 -0
  15. package/dist/cjs/client/requireProvider.d.ts.map +1 -0
  16. package/dist/cjs/client/requireProvider.js +16 -0
  17. package/dist/cjs/client/requireProvider.js.map +1 -0
  18. package/dist/cjs/errors/PerpsError.d.ts.map +1 -1
  19. package/dist/cjs/errors/PerpsError.js.map +1 -1
  20. package/dist/cjs/errors/constants.d.ts +2 -2
  21. package/dist/cjs/errors/constants.d.ts.map +1 -1
  22. package/dist/cjs/errors/constants.js +2 -2
  23. package/dist/cjs/errors/constants.js.map +1 -1
  24. package/dist/cjs/index.d.ts +41 -23
  25. package/dist/cjs/index.d.ts.map +1 -1
  26. package/dist/cjs/index.js +73 -41
  27. package/dist/cjs/index.js.map +1 -1
  28. package/dist/cjs/registry/assetRegistry.d.ts +11 -0
  29. package/dist/cjs/registry/assetRegistry.d.ts.map +1 -0
  30. package/dist/cjs/registry/assetRegistry.js +39 -0
  31. package/dist/cjs/registry/assetRegistry.js.map +1 -0
  32. package/dist/cjs/registry/marketRegistry.d.ts +13 -0
  33. package/dist/cjs/registry/marketRegistry.d.ts.map +1 -0
  34. package/dist/cjs/registry/marketRegistry.js +58 -0
  35. package/dist/cjs/registry/marketRegistry.js.map +1 -0
  36. package/dist/cjs/registry/referenceDataRegistry.d.ts +20 -0
  37. package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -0
  38. package/dist/cjs/registry/referenceDataRegistry.js +59 -0
  39. package/dist/cjs/registry/referenceDataRegistry.js.map +1 -0
  40. package/dist/cjs/services/createAction.d.ts +4 -2
  41. package/dist/cjs/services/createAction.d.ts.map +1 -1
  42. package/dist/cjs/services/createAction.js +1 -1
  43. package/dist/cjs/services/createAction.js.map +1 -1
  44. package/dist/cjs/services/executeAction.d.ts +4 -2
  45. package/dist/cjs/services/executeAction.d.ts.map +1 -1
  46. package/dist/cjs/services/executeAction.js +2 -1
  47. package/dist/cjs/services/executeAction.js.map +1 -1
  48. package/dist/cjs/services/getAccount.d.ts +4 -2
  49. package/dist/cjs/services/getAccount.d.ts.map +1 -1
  50. package/dist/cjs/services/getAccount.js +2 -6
  51. package/dist/cjs/services/getAccount.js.map +1 -1
  52. package/dist/cjs/services/getActivity.d.ts +4 -2
  53. package/dist/cjs/services/getActivity.d.ts.map +1 -1
  54. package/dist/cjs/services/getActivity.js +4 -10
  55. package/dist/cjs/services/getActivity.js.map +1 -1
  56. package/dist/cjs/services/getAssets.d.ts +2 -1
  57. package/dist/cjs/services/getAssets.d.ts.map +1 -1
  58. package/dist/cjs/services/getAssets.js +1 -1
  59. package/dist/cjs/services/getAssets.js.map +1 -1
  60. package/dist/cjs/services/getFills.d.ts +4 -2
  61. package/dist/cjs/services/getFills.d.ts.map +1 -1
  62. package/dist/cjs/services/getFills.js +3 -5
  63. package/dist/cjs/services/getFills.js.map +1 -1
  64. package/dist/cjs/services/getMarket.d.ts +9 -0
  65. package/dist/cjs/services/getMarket.d.ts.map +1 -0
  66. package/dist/cjs/services/getMarket.js +13 -0
  67. package/dist/cjs/services/getMarket.js.map +1 -0
  68. package/dist/cjs/services/getMarkets.d.ts +9 -0
  69. package/dist/cjs/services/getMarkets.d.ts.map +1 -0
  70. package/dist/cjs/services/{getAsset.js → getMarkets.js} +6 -5
  71. package/dist/cjs/services/getMarkets.js.map +1 -0
  72. package/dist/cjs/services/getMeta.d.ts +5 -0
  73. package/dist/cjs/services/getMeta.d.ts.map +1 -0
  74. package/dist/cjs/services/getMeta.js +8 -0
  75. package/dist/cjs/services/getMeta.js.map +1 -0
  76. package/dist/cjs/services/getOhlcv.d.ts +3 -2
  77. package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
  78. package/dist/cjs/services/getOhlcv.js +3 -2
  79. package/dist/cjs/services/getOhlcv.js.map +1 -1
  80. package/dist/cjs/services/getOrder.d.ts +4 -2
  81. package/dist/cjs/services/getOrder.d.ts.map +1 -1
  82. package/dist/cjs/services/getOrder.js +2 -6
  83. package/dist/cjs/services/getOrder.js.map +1 -1
  84. package/dist/cjs/services/getOrderbook.d.ts +3 -2
  85. package/dist/cjs/services/getOrderbook.d.ts.map +1 -1
  86. package/dist/cjs/services/getOrderbook.js +3 -2
  87. package/dist/cjs/services/getOrderbook.js.map +1 -1
  88. package/dist/cjs/services/getOrders.d.ts +5 -3
  89. package/dist/cjs/services/getOrders.d.ts.map +1 -1
  90. package/dist/cjs/services/getOrders.js +6 -8
  91. package/dist/cjs/services/getOrders.js.map +1 -1
  92. package/dist/cjs/services/getPositions.d.ts +5 -3
  93. package/dist/cjs/services/getPositions.d.ts.map +1 -1
  94. package/dist/cjs/services/getPositions.js +6 -8
  95. package/dist/cjs/services/getPositions.js.map +1 -1
  96. package/dist/cjs/services/getPrices.d.ts +3 -2
  97. package/dist/cjs/services/getPrices.d.ts.map +1 -1
  98. package/dist/cjs/services/getPrices.js +2 -2
  99. package/dist/cjs/services/getPrices.js.map +1 -1
  100. package/dist/cjs/services/getProviders.d.ts +2 -1
  101. package/dist/cjs/services/getProviders.d.ts.map +1 -1
  102. package/dist/cjs/services/getProviders.js +1 -1
  103. package/dist/cjs/services/getProviders.js.map +1 -1
  104. package/dist/cjs/services/getQuote.d.ts +12 -0
  105. package/dist/cjs/services/getQuote.d.ts.map +1 -0
  106. package/dist/cjs/services/getQuote.js +13 -0
  107. package/dist/cjs/services/getQuote.js.map +1 -0
  108. package/dist/cjs/services/getTermsAcceptance.d.ts +6 -0
  109. package/dist/cjs/services/getTermsAcceptance.d.ts.map +1 -0
  110. package/dist/cjs/services/getTermsAcceptance.js +9 -0
  111. package/dist/cjs/services/getTermsAcceptance.js.map +1 -0
  112. package/dist/cjs/services/resolveQuote.d.ts +7 -0
  113. package/dist/cjs/services/resolveQuote.d.ts.map +1 -0
  114. package/dist/cjs/services/resolveQuote.js +50 -0
  115. package/dist/cjs/services/resolveQuote.js.map +1 -0
  116. package/dist/cjs/services/resolveSubscribeQuote.d.ts +6 -0
  117. package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -0
  118. package/dist/cjs/services/resolveSubscribeQuote.js +65 -0
  119. package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -0
  120. package/dist/cjs/storage/parseStoredRecord.d.ts +4 -0
  121. package/dist/cjs/storage/parseStoredRecord.d.ts.map +1 -0
  122. package/dist/cjs/storage/parseStoredRecord.js +26 -0
  123. package/dist/cjs/storage/parseStoredRecord.js.map +1 -0
  124. package/dist/cjs/storage/storage.d.ts.map +1 -0
  125. package/dist/cjs/storage/storage.js.map +1 -0
  126. package/dist/cjs/{agent → storage}/types.d.ts +0 -5
  127. package/dist/cjs/storage/types.d.ts.map +1 -0
  128. package/dist/cjs/{agent → storage}/types.js.map +1 -1
  129. package/dist/cjs/transport/fetchWithRetry.d.ts +8 -0
  130. package/dist/cjs/transport/fetchWithRetry.d.ts.map +1 -0
  131. package/dist/cjs/transport/fetchWithRetry.js +81 -0
  132. package/dist/cjs/transport/fetchWithRetry.js.map +1 -0
  133. package/dist/cjs/{utils → transport}/request.d.ts +3 -2
  134. package/dist/cjs/transport/request.d.ts.map +1 -0
  135. package/dist/cjs/{utils → transport}/request.js +14 -14
  136. package/dist/cjs/transport/request.js.map +1 -0
  137. package/dist/cjs/transport/retryPolicy.d.ts +37 -0
  138. package/dist/cjs/transport/retryPolicy.d.ts.map +1 -0
  139. package/dist/cjs/transport/retryPolicy.js +79 -0
  140. package/dist/cjs/transport/retryPolicy.js.map +1 -0
  141. package/dist/cjs/types/api.d.ts +85 -0
  142. package/dist/cjs/types/api.d.ts.map +1 -0
  143. package/dist/cjs/{realtime/lighter/types.js → types/api.js} +1 -1
  144. package/dist/cjs/types/api.js.map +1 -0
  145. package/dist/cjs/types/config.d.ts +26 -0
  146. package/dist/cjs/types/config.d.ts.map +1 -0
  147. package/dist/cjs/{realtime/types.js → types/config.js} +1 -1
  148. package/dist/cjs/types/config.js.map +1 -0
  149. package/dist/cjs/types/provider.d.ts +84 -0
  150. package/dist/cjs/types/provider.d.ts.map +1 -0
  151. package/dist/cjs/types/provider.js +3 -0
  152. package/dist/cjs/types/provider.js.map +1 -0
  153. package/dist/cjs/utils/accountSummary.d.ts +2 -8
  154. package/dist/cjs/utils/accountSummary.d.ts.map +1 -1
  155. package/dist/cjs/utils/accountSummary.js +12 -70
  156. package/dist/cjs/utils/accountSummary.js.map +1 -1
  157. package/dist/cjs/utils/assertNever.d.ts.map +1 -1
  158. package/dist/cjs/utils/assertNever.js.map +1 -1
  159. package/dist/cjs/utils/calculations.d.ts +36 -0
  160. package/dist/cjs/utils/calculations.d.ts.map +1 -1
  161. package/dist/cjs/utils/calculations.js +77 -0
  162. package/dist/cjs/utils/calculations.js.map +1 -1
  163. package/dist/cjs/utils/depositChain.d.ts +6 -0
  164. package/dist/cjs/utils/depositChain.d.ts.map +1 -0
  165. package/dist/cjs/utils/depositChain.js +13 -0
  166. package/dist/cjs/utils/depositChain.js.map +1 -0
  167. package/dist/cjs/utils/explorer.d.ts +9 -0
  168. package/dist/cjs/utils/explorer.d.ts.map +1 -0
  169. package/dist/cjs/utils/explorer.js +23 -0
  170. package/dist/cjs/utils/explorer.js.map +1 -0
  171. package/dist/cjs/utils/fillClassification.d.ts +3 -0
  172. package/dist/cjs/utils/fillClassification.d.ts.map +1 -0
  173. package/dist/cjs/utils/fillClassification.js +37 -0
  174. package/dist/cjs/utils/fillClassification.js.map +1 -0
  175. package/dist/cjs/utils/format.d.ts +13 -0
  176. package/dist/cjs/utils/format.d.ts.map +1 -0
  177. package/dist/cjs/utils/format.js +117 -0
  178. package/dist/cjs/utils/format.js.map +1 -0
  179. package/dist/cjs/utils/orderClassification.d.ts +3 -1
  180. package/dist/cjs/utils/orderClassification.d.ts.map +1 -1
  181. package/dist/cjs/utils/orderClassification.js +11 -1
  182. package/dist/cjs/utils/orderClassification.js.map +1 -1
  183. package/dist/cjs/utils/orderMath.d.ts +1 -1
  184. package/dist/cjs/utils/orderMath.d.ts.map +1 -1
  185. package/dist/cjs/utils/orderMath.js +2 -2
  186. package/dist/cjs/utils/orderMath.js.map +1 -1
  187. package/dist/cjs/utils/parse.d.ts.map +1 -1
  188. package/dist/cjs/utils/parse.js.map +1 -1
  189. package/dist/cjs/utils/positionMath.d.ts +6 -0
  190. package/dist/cjs/utils/positionMath.d.ts.map +1 -1
  191. package/dist/cjs/utils/positionMath.js +14 -0
  192. package/dist/cjs/utils/positionMath.js.map +1 -1
  193. package/dist/cjs/utils/signTypedData.d.ts +3 -3
  194. package/dist/cjs/utils/signTypedData.d.ts.map +1 -1
  195. package/dist/cjs/utils/signTypedData.js +3 -2
  196. package/dist/cjs/utils/signTypedData.js.map +1 -1
  197. package/dist/cjs/utils/sleep.d.ts.map +1 -1
  198. package/dist/cjs/utils/sleep.js.map +1 -1
  199. package/dist/cjs/utils/units.d.ts.map +1 -1
  200. package/dist/cjs/utils/units.js.map +1 -1
  201. package/dist/cjs/utils/validation.d.ts.map +1 -1
  202. package/dist/cjs/utils/validation.js.map +1 -1
  203. package/dist/cjs/version.d.ts +1 -1
  204. package/dist/cjs/version.d.ts.map +1 -1
  205. package/dist/cjs/version.js +1 -1
  206. package/dist/cjs/version.js.map +1 -1
  207. package/dist/cjs/websocket/PerpsWsClient.d.ts +27 -0
  208. package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -0
  209. package/dist/cjs/websocket/PerpsWsClient.js +84 -0
  210. package/dist/cjs/websocket/PerpsWsClient.js.map +1 -0
  211. package/dist/{types/realtime → cjs/websocket}/ReconnectingWebSocket.d.ts +23 -7
  212. package/dist/cjs/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  213. package/dist/cjs/websocket/ReconnectingWebSocket.js +213 -0
  214. package/dist/cjs/websocket/ReconnectingWebSocket.js.map +1 -0
  215. package/dist/cjs/websocket/WsProviderBase.d.ts +31 -0
  216. package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -0
  217. package/dist/cjs/websocket/WsProviderBase.js +197 -0
  218. package/dist/cjs/websocket/WsProviderBase.js.map +1 -0
  219. package/dist/cjs/websocket/cachePromise.d.ts +2 -0
  220. package/dist/cjs/websocket/cachePromise.d.ts.map +1 -0
  221. package/dist/cjs/websocket/cachePromise.js +18 -0
  222. package/dist/cjs/websocket/cachePromise.js.map +1 -0
  223. package/dist/cjs/websocket/types.d.ts +15 -0
  224. package/dist/cjs/websocket/types.d.ts.map +1 -0
  225. package/dist/cjs/{realtime → websocket}/types.js.map +1 -1
  226. package/dist/cjs/websocket/wsLog.d.ts +10 -0
  227. package/dist/cjs/websocket/wsLog.d.ts.map +1 -0
  228. package/dist/cjs/websocket/wsLog.js +31 -0
  229. package/dist/cjs/websocket/wsLog.js.map +1 -0
  230. package/dist/esm/client/PerpsClient.d.ts +200 -195
  231. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  232. package/dist/esm/client/PerpsClient.js +305 -794
  233. package/dist/esm/client/PerpsClient.js.map +1 -1
  234. package/dist/esm/client/bindProvider.d.ts +13 -0
  235. package/dist/esm/client/bindProvider.d.ts.map +1 -0
  236. package/dist/esm/client/bindProvider.js +16 -0
  237. package/dist/esm/client/bindProvider.js.map +1 -0
  238. package/dist/esm/client/createPerpsClient.d.ts +34 -53
  239. package/dist/esm/client/createPerpsClient.d.ts.map +1 -1
  240. package/dist/esm/client/createPerpsClient.js +51 -8
  241. package/dist/esm/client/createPerpsClient.js.map +1 -1
  242. package/dist/esm/client/requireProvider.d.ts +12 -0
  243. package/dist/esm/client/requireProvider.d.ts.map +1 -0
  244. package/dist/esm/client/requireProvider.js +22 -0
  245. package/dist/esm/client/requireProvider.js.map +1 -0
  246. package/dist/esm/errors/PerpsError.d.ts +8 -0
  247. package/dist/esm/errors/PerpsError.d.ts.map +1 -1
  248. package/dist/esm/errors/PerpsError.js +8 -0
  249. package/dist/esm/errors/PerpsError.js.map +1 -1
  250. package/dist/esm/errors/constants.d.ts +8 -2
  251. package/dist/esm/errors/constants.d.ts.map +1 -1
  252. package/dist/esm/errors/constants.js +8 -2
  253. package/dist/esm/errors/constants.js.map +1 -1
  254. package/dist/esm/index.d.ts +49 -23
  255. package/dist/esm/index.d.ts.map +1 -1
  256. package/dist/esm/index.js +38 -23
  257. package/dist/esm/index.js.map +1 -1
  258. package/dist/esm/registry/assetRegistry.d.ts +25 -0
  259. package/dist/esm/registry/assetRegistry.d.ts.map +1 -0
  260. package/dist/esm/registry/assetRegistry.js +48 -0
  261. package/dist/esm/registry/assetRegistry.js.map +1 -0
  262. package/dist/esm/registry/marketRegistry.d.ts +42 -0
  263. package/dist/esm/registry/marketRegistry.d.ts.map +1 -0
  264. package/dist/esm/registry/marketRegistry.js +81 -0
  265. package/dist/esm/registry/marketRegistry.js.map +1 -0
  266. package/dist/esm/registry/referenceDataRegistry.d.ts +44 -0
  267. package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -0
  268. package/dist/esm/registry/referenceDataRegistry.js +79 -0
  269. package/dist/esm/registry/referenceDataRegistry.js.map +1 -0
  270. package/dist/esm/services/createAction.d.ts +17 -2
  271. package/dist/esm/services/createAction.d.ts.map +1 -1
  272. package/dist/esm/services/createAction.js +9 -1
  273. package/dist/esm/services/createAction.js.map +1 -1
  274. package/dist/esm/services/executeAction.d.ts +17 -2
  275. package/dist/esm/services/executeAction.d.ts.map +1 -1
  276. package/dist/esm/services/executeAction.js +13 -1
  277. package/dist/esm/services/executeAction.js.map +1 -1
  278. package/dist/esm/services/getAccount.d.ts +19 -16
  279. package/dist/esm/services/getAccount.d.ts.map +1 -1
  280. package/dist/esm/services/getAccount.js +12 -18
  281. package/dist/esm/services/getAccount.js.map +1 -1
  282. package/dist/esm/services/getActivity.d.ts +15 -25
  283. package/dist/esm/services/getActivity.d.ts.map +1 -1
  284. package/dist/esm/services/getActivity.js +10 -28
  285. package/dist/esm/services/getActivity.js.map +1 -1
  286. package/dist/esm/services/getAssets.d.ts +14 -5
  287. package/dist/esm/services/getAssets.d.ts.map +1 -1
  288. package/dist/esm/services/getAssets.js +8 -4
  289. package/dist/esm/services/getAssets.js.map +1 -1
  290. package/dist/esm/services/getFills.d.ts +18 -29
  291. package/dist/esm/services/getFills.d.ts.map +1 -1
  292. package/dist/esm/services/getFills.js +10 -26
  293. package/dist/esm/services/getFills.js.map +1 -1
  294. package/dist/esm/services/getMarket.d.ts +34 -0
  295. package/dist/esm/services/getMarket.d.ts.map +1 -0
  296. package/dist/esm/services/getMarket.js +25 -0
  297. package/dist/esm/services/getMarket.js.map +1 -0
  298. package/dist/esm/services/getMarkets.d.ts +28 -0
  299. package/dist/esm/services/getMarkets.d.ts.map +1 -0
  300. package/dist/esm/services/getMarkets.js +22 -0
  301. package/dist/esm/services/getMarkets.js.map +1 -0
  302. package/dist/esm/services/getMeta.d.ts +19 -0
  303. package/dist/esm/services/getMeta.d.ts.map +1 -0
  304. package/dist/esm/services/getMeta.js +19 -0
  305. package/dist/esm/services/getMeta.js.map +1 -0
  306. package/dist/esm/services/getOhlcv.d.ts +15 -19
  307. package/dist/esm/services/getOhlcv.d.ts.map +1 -1
  308. package/dist/esm/services/getOhlcv.js +7 -13
  309. package/dist/esm/services/getOhlcv.js.map +1 -1
  310. package/dist/esm/services/getOrder.d.ts +16 -16
  311. package/dist/esm/services/getOrder.d.ts.map +1 -1
  312. package/dist/esm/services/getOrder.js +9 -17
  313. package/dist/esm/services/getOrder.js.map +1 -1
  314. package/dist/esm/services/getOrderbook.d.ts +13 -23
  315. package/dist/esm/services/getOrderbook.d.ts.map +1 -1
  316. package/dist/esm/services/getOrderbook.js +7 -21
  317. package/dist/esm/services/getOrderbook.js.map +1 -1
  318. package/dist/esm/services/getOrders.d.ts +17 -9
  319. package/dist/esm/services/getOrders.d.ts.map +1 -1
  320. package/dist/esm/services/getOrders.js +12 -9
  321. package/dist/esm/services/getOrders.js.map +1 -1
  322. package/dist/esm/services/getPositions.d.ts +17 -9
  323. package/dist/esm/services/getPositions.d.ts.map +1 -1
  324. package/dist/esm/services/getPositions.js +12 -9
  325. package/dist/esm/services/getPositions.js.map +1 -1
  326. package/dist/esm/services/getPrices.d.ts +12 -24
  327. package/dist/esm/services/getPrices.d.ts.map +1 -1
  328. package/dist/esm/services/getPrices.js +5 -22
  329. package/dist/esm/services/getPrices.js.map +1 -1
  330. package/dist/esm/services/getProviders.d.ts +3 -3
  331. package/dist/esm/services/getProviders.d.ts.map +1 -1
  332. package/dist/esm/services/getProviders.js +2 -3
  333. package/dist/esm/services/getProviders.js.map +1 -1
  334. package/dist/esm/services/getQuote.d.ts +42 -0
  335. package/dist/esm/services/getQuote.d.ts.map +1 -0
  336. package/dist/esm/services/getQuote.js +33 -0
  337. package/dist/esm/services/getQuote.js.map +1 -0
  338. package/dist/esm/services/getTermsAcceptance.d.ts +24 -0
  339. package/dist/esm/services/getTermsAcceptance.d.ts.map +1 -0
  340. package/dist/esm/services/getTermsAcceptance.js +24 -0
  341. package/dist/esm/services/getTermsAcceptance.js.map +1 -0
  342. package/dist/esm/services/resolveQuote.d.ts +36 -0
  343. package/dist/esm/services/resolveQuote.d.ts.map +1 -0
  344. package/dist/esm/services/resolveQuote.js +74 -0
  345. package/dist/esm/services/resolveQuote.js.map +1 -0
  346. package/dist/esm/services/resolveSubscribeQuote.d.ts +31 -0
  347. package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -0
  348. package/dist/esm/services/resolveSubscribeQuote.js +86 -0
  349. package/dist/esm/services/resolveSubscribeQuote.js.map +1 -0
  350. package/dist/esm/storage/parseStoredRecord.d.ts +29 -0
  351. package/dist/esm/storage/parseStoredRecord.d.ts.map +1 -0
  352. package/dist/esm/storage/parseStoredRecord.js +47 -0
  353. package/dist/esm/storage/parseStoredRecord.js.map +1 -0
  354. package/dist/{types/agent → esm/storage}/storage.d.ts +6 -3
  355. package/dist/esm/storage/storage.d.ts.map +1 -0
  356. package/dist/esm/{agent → storage}/storage.js +6 -4
  357. package/dist/esm/storage/storage.js.map +1 -0
  358. package/dist/esm/storage/types.d.ts +14 -0
  359. package/dist/esm/storage/types.d.ts.map +1 -0
  360. package/dist/esm/{agent → storage}/types.js.map +1 -1
  361. package/dist/esm/transport/fetchWithRetry.d.ts +22 -0
  362. package/dist/esm/transport/fetchWithRetry.d.ts.map +1 -0
  363. package/dist/esm/transport/fetchWithRetry.js +87 -0
  364. package/dist/esm/transport/fetchWithRetry.js.map +1 -0
  365. package/dist/esm/transport/request.d.ts +25 -0
  366. package/dist/esm/transport/request.d.ts.map +1 -0
  367. package/dist/esm/{utils → transport}/request.js +19 -31
  368. package/dist/esm/transport/request.js.map +1 -0
  369. package/dist/esm/transport/retryPolicy.d.ts +106 -0
  370. package/dist/esm/transport/retryPolicy.d.ts.map +1 -0
  371. package/dist/esm/transport/retryPolicy.js +99 -0
  372. package/dist/esm/transport/retryPolicy.js.map +1 -0
  373. package/dist/esm/types/api.d.ts +214 -0
  374. package/dist/esm/types/api.d.ts.map +1 -0
  375. package/dist/esm/types/api.js +2 -0
  376. package/dist/esm/types/api.js.map +1 -0
  377. package/dist/esm/types/config.d.ts +70 -0
  378. package/dist/esm/types/config.d.ts.map +1 -0
  379. package/dist/esm/types/config.js +2 -0
  380. package/dist/esm/types/config.js.map +1 -0
  381. package/dist/esm/types/provider.d.ts +330 -0
  382. package/dist/esm/types/provider.d.ts.map +1 -0
  383. package/dist/esm/types/provider.js +2 -0
  384. package/dist/esm/types/provider.js.map +1 -0
  385. package/dist/esm/utils/accountSummary.d.ts +12 -12
  386. package/dist/esm/utils/accountSummary.d.ts.map +1 -1
  387. package/dist/esm/utils/accountSummary.js +18 -83
  388. package/dist/esm/utils/accountSummary.js.map +1 -1
  389. package/dist/esm/utils/assertNever.d.ts +1 -0
  390. package/dist/esm/utils/assertNever.d.ts.map +1 -1
  391. package/dist/esm/utils/assertNever.js +1 -0
  392. package/dist/esm/utils/assertNever.js.map +1 -1
  393. package/dist/esm/utils/calculations.d.ts +116 -0
  394. package/dist/esm/utils/calculations.d.ts.map +1 -1
  395. package/dist/esm/utils/calculations.js +140 -3
  396. package/dist/esm/utils/calculations.js.map +1 -1
  397. package/dist/esm/utils/depositChain.d.ts +25 -0
  398. package/dist/esm/utils/depositChain.d.ts.map +1 -0
  399. package/dist/esm/utils/depositChain.js +23 -0
  400. package/dist/esm/utils/depositChain.js.map +1 -0
  401. package/dist/esm/utils/explorer.d.ts +33 -0
  402. package/dist/esm/utils/explorer.d.ts.map +1 -0
  403. package/dist/esm/utils/explorer.js +38 -0
  404. package/dist/esm/utils/explorer.js.map +1 -0
  405. package/dist/esm/utils/fillClassification.d.ts +13 -0
  406. package/dist/esm/utils/fillClassification.d.ts.map +1 -0
  407. package/dist/esm/utils/fillClassification.js +44 -0
  408. package/dist/esm/utils/fillClassification.js.map +1 -0
  409. package/dist/esm/utils/format.d.ts +66 -0
  410. package/dist/esm/utils/format.d.ts.map +1 -0
  411. package/dist/esm/utils/format.js +171 -0
  412. package/dist/esm/utils/format.js.map +1 -0
  413. package/dist/esm/utils/orderClassification.d.ts +19 -1
  414. package/dist/esm/utils/orderClassification.d.ts.map +1 -1
  415. package/dist/esm/utils/orderClassification.js +26 -1
  416. package/dist/esm/utils/orderClassification.js.map +1 -1
  417. package/dist/esm/utils/orderMath.d.ts +8 -4
  418. package/dist/esm/utils/orderMath.d.ts.map +1 -1
  419. package/dist/esm/utils/orderMath.js +9 -5
  420. package/dist/esm/utils/orderMath.js.map +1 -1
  421. package/dist/esm/utils/parse.d.ts +8 -5
  422. package/dist/esm/utils/parse.d.ts.map +1 -1
  423. package/dist/esm/utils/parse.js +8 -6
  424. package/dist/esm/utils/parse.js.map +1 -1
  425. package/dist/esm/utils/positionMath.d.ts +29 -0
  426. package/dist/esm/utils/positionMath.d.ts.map +1 -1
  427. package/dist/esm/utils/positionMath.js +36 -0
  428. package/dist/esm/utils/positionMath.js.map +1 -1
  429. package/dist/esm/utils/signTypedData.d.ts +9 -4
  430. package/dist/esm/utils/signTypedData.d.ts.map +1 -1
  431. package/dist/esm/utils/signTypedData.js +9 -3
  432. package/dist/esm/utils/signTypedData.js.map +1 -1
  433. package/dist/esm/utils/sleep.d.ts +5 -0
  434. package/dist/esm/utils/sleep.d.ts.map +1 -1
  435. package/dist/esm/utils/sleep.js +5 -0
  436. package/dist/esm/utils/sleep.js.map +1 -1
  437. package/dist/esm/utils/units.d.ts +8 -1
  438. package/dist/esm/utils/units.d.ts.map +1 -1
  439. package/dist/esm/utils/units.js +8 -1
  440. package/dist/esm/utils/units.js.map +1 -1
  441. package/dist/esm/utils/validation.d.ts +4 -1
  442. package/dist/esm/utils/validation.d.ts.map +1 -1
  443. package/dist/esm/utils/validation.js +4 -1
  444. package/dist/esm/utils/validation.js.map +1 -1
  445. package/dist/esm/version.d.ts +1 -1
  446. package/dist/esm/version.d.ts.map +1 -1
  447. package/dist/esm/version.js +1 -1
  448. package/dist/esm/version.js.map +1 -1
  449. package/dist/esm/websocket/PerpsWsClient.d.ts +100 -0
  450. package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -0
  451. package/dist/esm/websocket/PerpsWsClient.js +121 -0
  452. package/dist/esm/websocket/PerpsWsClient.js.map +1 -0
  453. package/dist/esm/websocket/ReconnectingWebSocket.d.ts +130 -0
  454. package/dist/esm/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  455. package/dist/esm/websocket/ReconnectingWebSocket.js +288 -0
  456. package/dist/esm/websocket/ReconnectingWebSocket.js.map +1 -0
  457. package/dist/esm/websocket/WsProviderBase.d.ts +89 -0
  458. package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -0
  459. package/dist/esm/websocket/WsProviderBase.js +246 -0
  460. package/dist/esm/websocket/WsProviderBase.js.map +1 -0
  461. package/dist/esm/websocket/cachePromise.d.ts +14 -0
  462. package/dist/esm/websocket/cachePromise.d.ts.map +1 -0
  463. package/dist/esm/websocket/cachePromise.js +27 -0
  464. package/dist/esm/websocket/cachePromise.js.map +1 -0
  465. package/dist/esm/websocket/types.d.ts +60 -0
  466. package/dist/esm/websocket/types.d.ts.map +1 -0
  467. package/dist/esm/{realtime → websocket}/types.js.map +1 -1
  468. package/dist/esm/websocket/wsLog.d.ts +50 -0
  469. package/dist/esm/websocket/wsLog.d.ts.map +1 -0
  470. package/dist/esm/websocket/wsLog.js +68 -0
  471. package/dist/esm/websocket/wsLog.js.map +1 -0
  472. package/dist/types/client/PerpsClient.d.ts +200 -195
  473. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  474. package/dist/types/client/bindProvider.d.ts +13 -0
  475. package/dist/types/client/bindProvider.d.ts.map +1 -0
  476. package/dist/types/client/createPerpsClient.d.ts +34 -53
  477. package/dist/types/client/createPerpsClient.d.ts.map +1 -1
  478. package/dist/types/client/requireProvider.d.ts +12 -0
  479. package/dist/types/client/requireProvider.d.ts.map +1 -0
  480. package/dist/types/errors/PerpsError.d.ts +8 -0
  481. package/dist/types/errors/PerpsError.d.ts.map +1 -1
  482. package/dist/types/errors/constants.d.ts +8 -2
  483. package/dist/types/errors/constants.d.ts.map +1 -1
  484. package/dist/types/index.d.ts +49 -23
  485. package/dist/types/index.d.ts.map +1 -1
  486. package/dist/types/registry/assetRegistry.d.ts +25 -0
  487. package/dist/types/registry/assetRegistry.d.ts.map +1 -0
  488. package/dist/types/registry/marketRegistry.d.ts +42 -0
  489. package/dist/types/registry/marketRegistry.d.ts.map +1 -0
  490. package/dist/types/registry/referenceDataRegistry.d.ts +44 -0
  491. package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -0
  492. package/dist/types/services/createAction.d.ts +17 -2
  493. package/dist/types/services/createAction.d.ts.map +1 -1
  494. package/dist/types/services/executeAction.d.ts +17 -2
  495. package/dist/types/services/executeAction.d.ts.map +1 -1
  496. package/dist/types/services/getAccount.d.ts +19 -16
  497. package/dist/types/services/getAccount.d.ts.map +1 -1
  498. package/dist/types/services/getActivity.d.ts +15 -25
  499. package/dist/types/services/getActivity.d.ts.map +1 -1
  500. package/dist/types/services/getAssets.d.ts +14 -5
  501. package/dist/types/services/getAssets.d.ts.map +1 -1
  502. package/dist/types/services/getFills.d.ts +18 -29
  503. package/dist/types/services/getFills.d.ts.map +1 -1
  504. package/dist/types/services/getMarket.d.ts +34 -0
  505. package/dist/types/services/getMarket.d.ts.map +1 -0
  506. package/dist/types/services/getMarkets.d.ts +28 -0
  507. package/dist/types/services/getMarkets.d.ts.map +1 -0
  508. package/dist/types/services/getMeta.d.ts +19 -0
  509. package/dist/types/services/getMeta.d.ts.map +1 -0
  510. package/dist/types/services/getOhlcv.d.ts +15 -19
  511. package/dist/types/services/getOhlcv.d.ts.map +1 -1
  512. package/dist/types/services/getOrder.d.ts +16 -16
  513. package/dist/types/services/getOrder.d.ts.map +1 -1
  514. package/dist/types/services/getOrderbook.d.ts +13 -23
  515. package/dist/types/services/getOrderbook.d.ts.map +1 -1
  516. package/dist/types/services/getOrders.d.ts +17 -9
  517. package/dist/types/services/getOrders.d.ts.map +1 -1
  518. package/dist/types/services/getPositions.d.ts +17 -9
  519. package/dist/types/services/getPositions.d.ts.map +1 -1
  520. package/dist/types/services/getPrices.d.ts +12 -24
  521. package/dist/types/services/getPrices.d.ts.map +1 -1
  522. package/dist/types/services/getProviders.d.ts +3 -3
  523. package/dist/types/services/getProviders.d.ts.map +1 -1
  524. package/dist/types/services/getQuote.d.ts +42 -0
  525. package/dist/types/services/getQuote.d.ts.map +1 -0
  526. package/dist/types/services/getTermsAcceptance.d.ts +24 -0
  527. package/dist/types/services/getTermsAcceptance.d.ts.map +1 -0
  528. package/dist/types/services/resolveQuote.d.ts +36 -0
  529. package/dist/types/services/resolveQuote.d.ts.map +1 -0
  530. package/dist/types/services/resolveSubscribeQuote.d.ts +31 -0
  531. package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -0
  532. package/dist/types/storage/parseStoredRecord.d.ts +29 -0
  533. package/dist/types/storage/parseStoredRecord.d.ts.map +1 -0
  534. package/dist/{esm/agent → types/storage}/storage.d.ts +6 -3
  535. package/dist/types/storage/storage.d.ts.map +1 -0
  536. package/dist/types/storage/types.d.ts +14 -0
  537. package/dist/types/storage/types.d.ts.map +1 -0
  538. package/dist/types/transport/fetchWithRetry.d.ts +22 -0
  539. package/dist/types/transport/fetchWithRetry.d.ts.map +1 -0
  540. package/dist/types/transport/request.d.ts +25 -0
  541. package/dist/types/transport/request.d.ts.map +1 -0
  542. package/dist/types/transport/retryPolicy.d.ts +106 -0
  543. package/dist/types/transport/retryPolicy.d.ts.map +1 -0
  544. package/dist/types/types/api.d.ts +214 -0
  545. package/dist/types/types/api.d.ts.map +1 -0
  546. package/dist/types/types/config.d.ts +70 -0
  547. package/dist/types/types/config.d.ts.map +1 -0
  548. package/dist/types/types/provider.d.ts +330 -0
  549. package/dist/types/types/provider.d.ts.map +1 -0
  550. package/dist/types/utils/accountSummary.d.ts +12 -12
  551. package/dist/types/utils/accountSummary.d.ts.map +1 -1
  552. package/dist/types/utils/assertNever.d.ts +1 -0
  553. package/dist/types/utils/assertNever.d.ts.map +1 -1
  554. package/dist/types/utils/calculations.d.ts +116 -0
  555. package/dist/types/utils/calculations.d.ts.map +1 -1
  556. package/dist/types/utils/depositChain.d.ts +25 -0
  557. package/dist/types/utils/depositChain.d.ts.map +1 -0
  558. package/dist/types/utils/explorer.d.ts +33 -0
  559. package/dist/types/utils/explorer.d.ts.map +1 -0
  560. package/dist/types/utils/fillClassification.d.ts +13 -0
  561. package/dist/types/utils/fillClassification.d.ts.map +1 -0
  562. package/dist/types/utils/format.d.ts +66 -0
  563. package/dist/types/utils/format.d.ts.map +1 -0
  564. package/dist/types/utils/orderClassification.d.ts +19 -1
  565. package/dist/types/utils/orderClassification.d.ts.map +1 -1
  566. package/dist/types/utils/orderMath.d.ts +8 -4
  567. package/dist/types/utils/orderMath.d.ts.map +1 -1
  568. package/dist/types/utils/parse.d.ts +8 -5
  569. package/dist/types/utils/parse.d.ts.map +1 -1
  570. package/dist/types/utils/positionMath.d.ts +29 -0
  571. package/dist/types/utils/positionMath.d.ts.map +1 -1
  572. package/dist/types/utils/signTypedData.d.ts +9 -4
  573. package/dist/types/utils/signTypedData.d.ts.map +1 -1
  574. package/dist/types/utils/sleep.d.ts +5 -0
  575. package/dist/types/utils/sleep.d.ts.map +1 -1
  576. package/dist/types/utils/units.d.ts +8 -1
  577. package/dist/types/utils/units.d.ts.map +1 -1
  578. package/dist/types/utils/validation.d.ts +4 -1
  579. package/dist/types/utils/validation.d.ts.map +1 -1
  580. package/dist/types/version.d.ts +1 -1
  581. package/dist/types/version.d.ts.map +1 -1
  582. package/dist/types/websocket/PerpsWsClient.d.ts +100 -0
  583. package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -0
  584. package/dist/types/websocket/ReconnectingWebSocket.d.ts +130 -0
  585. package/dist/types/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  586. package/dist/types/websocket/WsProviderBase.d.ts +89 -0
  587. package/dist/types/websocket/WsProviderBase.d.ts.map +1 -0
  588. package/dist/types/websocket/cachePromise.d.ts +14 -0
  589. package/dist/types/websocket/cachePromise.d.ts.map +1 -0
  590. package/dist/types/websocket/types.d.ts +60 -0
  591. package/dist/types/websocket/types.d.ts.map +1 -0
  592. package/dist/types/websocket/wsLog.d.ts +50 -0
  593. package/dist/types/websocket/wsLog.d.ts.map +1 -0
  594. package/package.json +13 -60
  595. package/src/client/PerpsClient.ts +404 -1115
  596. package/src/client/bindProvider.ts +24 -0
  597. package/src/client/createPerpsClient.ts +68 -72
  598. package/src/client/requireProvider.ts +29 -0
  599. package/src/errors/PerpsError.ts +8 -0
  600. package/src/errors/constants.ts +8 -2
  601. package/src/index.ts +138 -82
  602. package/src/registry/assetRegistry.ts +62 -0
  603. package/src/registry/marketRegistry.ts +100 -0
  604. package/src/registry/referenceDataRegistry.ts +95 -0
  605. package/src/services/createAction.ts +17 -6
  606. package/src/services/executeAction.ts +21 -6
  607. package/src/services/getAccount.ts +24 -25
  608. package/src/services/getActivity.ts +27 -47
  609. package/src/services/getAssets.ts +15 -9
  610. package/src/services/getFills.ts +29 -42
  611. package/src/services/getMarket.ts +52 -0
  612. package/src/services/getMarkets.ts +40 -0
  613. package/src/services/getMeta.ts +30 -0
  614. package/src/services/getOhlcv.ts +24 -33
  615. package/src/services/getOrder.ts +20 -27
  616. package/src/services/getOrderbook.ts +19 -34
  617. package/src/services/getOrders.ts +27 -21
  618. package/src/services/getPositions.ts +27 -21
  619. package/src/services/getPrices.ts +14 -29
  620. package/src/services/getProviders.ts +4 -7
  621. package/src/services/getQuote.ts +58 -0
  622. package/src/services/getTermsAcceptance.ts +32 -0
  623. package/src/services/resolveQuote.ts +122 -0
  624. package/src/services/resolveSubscribeQuote.ts +109 -0
  625. package/src/storage/parseStoredRecord.ts +55 -0
  626. package/src/{agent → storage}/storage.ts +6 -4
  627. package/src/storage/types.ts +13 -0
  628. package/src/transport/fetchWithRetry.ts +116 -0
  629. package/src/{utils → transport}/request.ts +33 -45
  630. package/src/transport/retryPolicy.ts +202 -0
  631. package/src/types/api.ts +239 -0
  632. package/src/types/config.ts +79 -0
  633. package/src/types/provider.ts +429 -0
  634. package/src/utils/accountSummary.ts +25 -109
  635. package/src/utils/assertNever.ts +1 -0
  636. package/src/utils/calculations.ts +204 -7
  637. package/src/utils/depositChain.ts +37 -0
  638. package/src/utils/explorer.ts +51 -0
  639. package/src/utils/fillClassification.ts +51 -0
  640. package/src/utils/format.ts +212 -0
  641. package/src/utils/orderClassification.ts +33 -1
  642. package/src/utils/orderMath.ts +9 -5
  643. package/src/utils/parse.ts +8 -7
  644. package/src/utils/positionMath.ts +42 -0
  645. package/src/utils/signTypedData.ts +11 -5
  646. package/src/utils/sleep.ts +5 -0
  647. package/src/utils/units.ts +8 -1
  648. package/src/utils/validation.ts +4 -1
  649. package/src/version.ts +1 -1
  650. package/src/websocket/PerpsWsClient.ts +204 -0
  651. package/src/websocket/ReconnectingWebSocket.ts +353 -0
  652. package/src/websocket/WsProviderBase.ts +333 -0
  653. package/src/websocket/cachePromise.ts +30 -0
  654. package/src/websocket/types.ts +75 -0
  655. package/src/websocket/wsLog.ts +82 -0
  656. package/dist/cjs/agent/AgentManager.d.ts +0 -15
  657. package/dist/cjs/agent/AgentManager.d.ts.map +0 -1
  658. package/dist/cjs/agent/AgentManager.js +0 -82
  659. package/dist/cjs/agent/AgentManager.js.map +0 -1
  660. package/dist/cjs/agent/storage.d.ts.map +0 -1
  661. package/dist/cjs/agent/storage.js.map +0 -1
  662. package/dist/cjs/agent/types.d.ts.map +0 -1
  663. package/dist/cjs/client/projectAccountConfigSettings.d.ts +0 -3
  664. package/dist/cjs/client/projectAccountConfigSettings.d.ts.map +0 -1
  665. package/dist/cjs/client/projectAccountConfigSettings.js +0 -17
  666. package/dist/cjs/client/projectAccountConfigSettings.js.map +0 -1
  667. package/dist/cjs/client/types.d.ts +0 -85
  668. package/dist/cjs/client/types.d.ts.map +0 -1
  669. package/dist/cjs/client/types.js +0 -9
  670. package/dist/cjs/client/types.js.map +0 -1
  671. package/dist/cjs/providers/hyperliquid/accountConfig.d.ts +0 -3
  672. package/dist/cjs/providers/hyperliquid/accountConfig.d.ts.map +0 -1
  673. package/dist/cjs/providers/hyperliquid/accountConfig.js +0 -41
  674. package/dist/cjs/providers/hyperliquid/accountConfig.js.map +0 -1
  675. package/dist/cjs/providers/lighter/accountConfig.d.ts +0 -3
  676. package/dist/cjs/providers/lighter/accountConfig.d.ts.map +0 -1
  677. package/dist/cjs/providers/lighter/accountConfig.js +0 -45
  678. package/dist/cjs/providers/lighter/accountConfig.js.map +0 -1
  679. package/dist/cjs/realtime/PerpsWsClient.d.ts +0 -20
  680. package/dist/cjs/realtime/PerpsWsClient.d.ts.map +0 -1
  681. package/dist/cjs/realtime/PerpsWsClient.js +0 -69
  682. package/dist/cjs/realtime/PerpsWsClient.js.map +0 -1
  683. package/dist/cjs/realtime/ReconnectingWebSocket.d.ts +0 -36
  684. package/dist/cjs/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  685. package/dist/cjs/realtime/ReconnectingWebSocket.js +0 -132
  686. package/dist/cjs/realtime/ReconnectingWebSocket.js.map +0 -1
  687. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -30
  688. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  689. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js +0 -331
  690. package/dist/cjs/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
  691. package/dist/cjs/realtime/hyperliquid/types.d.ts +0 -37
  692. package/dist/cjs/realtime/hyperliquid/types.d.ts.map +0 -1
  693. package/dist/cjs/realtime/hyperliquid/types.js.map +0 -1
  694. package/dist/cjs/realtime/lighter/LighterWsProvider.d.ts +0 -48
  695. package/dist/cjs/realtime/lighter/LighterWsProvider.d.ts.map +0 -1
  696. package/dist/cjs/realtime/lighter/LighterWsProvider.js +0 -424
  697. package/dist/cjs/realtime/lighter/LighterWsProvider.js.map +0 -1
  698. package/dist/cjs/realtime/lighter/types.d.ts +0 -84
  699. package/dist/cjs/realtime/lighter/types.d.ts.map +0 -1
  700. package/dist/cjs/realtime/lighter/types.js.map +0 -1
  701. package/dist/cjs/realtime/types.d.ts +0 -10
  702. package/dist/cjs/realtime/types.d.ts.map +0 -1
  703. package/dist/cjs/services/getAsset.d.ts +0 -8
  704. package/dist/cjs/services/getAsset.d.ts.map +0 -1
  705. package/dist/cjs/services/getAsset.js.map +0 -1
  706. package/dist/cjs/signers/lighter/LighterKeyStore.d.ts +0 -20
  707. package/dist/cjs/signers/lighter/LighterKeyStore.d.ts.map +0 -1
  708. package/dist/cjs/signers/lighter/LighterKeyStore.js +0 -42
  709. package/dist/cjs/signers/lighter/LighterKeyStore.js.map +0 -1
  710. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.d.ts +0 -66
  711. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +0 -1
  712. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.js +0 -141
  713. package/dist/cjs/signers/lighter/LighterReadOnlyTokenManager.js.map +0 -1
  714. package/dist/cjs/signers/lighter/LighterSigner.d.ts +0 -41
  715. package/dist/cjs/signers/lighter/LighterSigner.d.ts.map +0 -1
  716. package/dist/cjs/signers/lighter/LighterSigner.js +0 -176
  717. package/dist/cjs/signers/lighter/LighterSigner.js.map +0 -1
  718. package/dist/cjs/signers/lighter/index.d.ts +0 -9
  719. package/dist/cjs/signers/lighter/index.d.ts.map +0 -1
  720. package/dist/cjs/signers/lighter/index.js +0 -20
  721. package/dist/cjs/signers/lighter/index.js.map +0 -1
  722. package/dist/cjs/signers/lighter/wasmLoader.d.ts +0 -42
  723. package/dist/cjs/signers/lighter/wasmLoader.d.ts.map +0 -1
  724. package/dist/cjs/signers/lighter/wasmLoader.js +0 -166
  725. package/dist/cjs/signers/lighter/wasmLoader.js.map +0 -1
  726. package/dist/cjs/utils/hyperliquid/index.d.ts +0 -3
  727. package/dist/cjs/utils/hyperliquid/index.d.ts.map +0 -1
  728. package/dist/cjs/utils/hyperliquid/index.js +0 -11
  729. package/dist/cjs/utils/hyperliquid/index.js.map +0 -1
  730. package/dist/cjs/utils/hyperliquid/liquidation.d.ts +0 -3
  731. package/dist/cjs/utils/hyperliquid/liquidation.d.ts.map +0 -1
  732. package/dist/cjs/utils/hyperliquid/liquidation.js +0 -24
  733. package/dist/cjs/utils/hyperliquid/liquidation.js.map +0 -1
  734. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts +0 -4
  735. package/dist/cjs/utils/hyperliquid/orderFormatting.d.ts.map +0 -1
  736. package/dist/cjs/utils/hyperliquid/orderFormatting.js +0 -33
  737. package/dist/cjs/utils/hyperliquid/orderFormatting.js.map +0 -1
  738. package/dist/cjs/utils/request.d.ts.map +0 -1
  739. package/dist/cjs/utils/request.js.map +0 -1
  740. package/dist/cjs/wasm/lighter-signer.wasm +0 -0
  741. package/dist/cjs/wasm/wasm_exec.js +0 -575
  742. package/dist/esm/agent/AgentManager.d.ts +0 -45
  743. package/dist/esm/agent/AgentManager.d.ts.map +0 -1
  744. package/dist/esm/agent/AgentManager.js +0 -112
  745. package/dist/esm/agent/AgentManager.js.map +0 -1
  746. package/dist/esm/agent/storage.d.ts.map +0 -1
  747. package/dist/esm/agent/storage.js.map +0 -1
  748. package/dist/esm/agent/types.d.ts +0 -23
  749. package/dist/esm/agent/types.d.ts.map +0 -1
  750. package/dist/esm/client/projectAccountConfigSettings.d.ts +0 -18
  751. package/dist/esm/client/projectAccountConfigSettings.d.ts.map +0 -1
  752. package/dist/esm/client/projectAccountConfigSettings.js +0 -29
  753. package/dist/esm/client/projectAccountConfigSettings.js.map +0 -1
  754. package/dist/esm/client/types.d.ts +0 -200
  755. package/dist/esm/client/types.d.ts.map +0 -1
  756. package/dist/esm/client/types.js +0 -12
  757. package/dist/esm/client/types.js.map +0 -1
  758. package/dist/esm/providers/hyperliquid/accountConfig.d.ts +0 -13
  759. package/dist/esm/providers/hyperliquid/accountConfig.d.ts.map +0 -1
  760. package/dist/esm/providers/hyperliquid/accountConfig.js +0 -69
  761. package/dist/esm/providers/hyperliquid/accountConfig.js.map +0 -1
  762. package/dist/esm/providers/lighter/accountConfig.d.ts +0 -13
  763. package/dist/esm/providers/lighter/accountConfig.d.ts.map +0 -1
  764. package/dist/esm/providers/lighter/accountConfig.js +0 -79
  765. package/dist/esm/providers/lighter/accountConfig.js.map +0 -1
  766. package/dist/esm/realtime/PerpsWsClient.d.ts +0 -26
  767. package/dist/esm/realtime/PerpsWsClient.d.ts.map +0 -1
  768. package/dist/esm/realtime/PerpsWsClient.js +0 -65
  769. package/dist/esm/realtime/PerpsWsClient.js.map +0 -1
  770. package/dist/esm/realtime/ReconnectingWebSocket.d.ts +0 -36
  771. package/dist/esm/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  772. package/dist/esm/realtime/ReconnectingWebSocket.js +0 -128
  773. package/dist/esm/realtime/ReconnectingWebSocket.js.map +0 -1
  774. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -32
  775. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  776. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js +0 -339
  777. package/dist/esm/realtime/hyperliquid/HyperliquidWsProvider.js.map +0 -1
  778. package/dist/esm/realtime/hyperliquid/types.d.ts +0 -37
  779. package/dist/esm/realtime/hyperliquid/types.d.ts.map +0 -1
  780. package/dist/esm/realtime/hyperliquid/types.js +0 -4
  781. package/dist/esm/realtime/hyperliquid/types.js.map +0 -1
  782. package/dist/esm/realtime/lighter/LighterWsProvider.d.ts +0 -68
  783. package/dist/esm/realtime/lighter/LighterWsProvider.d.ts.map +0 -1
  784. package/dist/esm/realtime/lighter/LighterWsProvider.js +0 -474
  785. package/dist/esm/realtime/lighter/LighterWsProvider.js.map +0 -1
  786. package/dist/esm/realtime/lighter/types.d.ts +0 -108
  787. package/dist/esm/realtime/lighter/types.d.ts.map +0 -1
  788. package/dist/esm/realtime/lighter/types.js +0 -14
  789. package/dist/esm/realtime/lighter/types.js.map +0 -1
  790. package/dist/esm/realtime/types.d.ts +0 -10
  791. package/dist/esm/realtime/types.d.ts.map +0 -1
  792. package/dist/esm/services/getAsset.d.ts +0 -20
  793. package/dist/esm/services/getAsset.d.ts.map +0 -1
  794. package/dist/esm/services/getAsset.js +0 -18
  795. package/dist/esm/services/getAsset.js.map +0 -1
  796. package/dist/esm/signers/lighter/LighterKeyStore.d.ts +0 -29
  797. package/dist/esm/signers/lighter/LighterKeyStore.d.ts.map +0 -1
  798. package/dist/esm/signers/lighter/LighterKeyStore.js +0 -53
  799. package/dist/esm/signers/lighter/LighterKeyStore.js.map +0 -1
  800. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.d.ts +0 -174
  801. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +0 -1
  802. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.js +0 -214
  803. package/dist/esm/signers/lighter/LighterReadOnlyTokenManager.js.map +0 -1
  804. package/dist/esm/signers/lighter/LighterSigner.d.ts +0 -88
  805. package/dist/esm/signers/lighter/LighterSigner.d.ts.map +0 -1
  806. package/dist/esm/signers/lighter/LighterSigner.js +0 -226
  807. package/dist/esm/signers/lighter/LighterSigner.js.map +0 -1
  808. package/dist/esm/signers/lighter/index.d.ts +0 -9
  809. package/dist/esm/signers/lighter/index.d.ts.map +0 -1
  810. package/dist/esm/signers/lighter/index.js +0 -5
  811. package/dist/esm/signers/lighter/index.js.map +0 -1
  812. package/dist/esm/signers/lighter/wasmLoader.d.ts +0 -71
  813. package/dist/esm/signers/lighter/wasmLoader.d.ts.map +0 -1
  814. package/dist/esm/signers/lighter/wasmLoader.js +0 -181
  815. package/dist/esm/signers/lighter/wasmLoader.js.map +0 -1
  816. package/dist/esm/utils/hyperliquid/index.d.ts +0 -3
  817. package/dist/esm/utils/hyperliquid/index.d.ts.map +0 -1
  818. package/dist/esm/utils/hyperliquid/index.js +0 -3
  819. package/dist/esm/utils/hyperliquid/index.js.map +0 -1
  820. package/dist/esm/utils/hyperliquid/liquidation.d.ts +0 -46
  821. package/dist/esm/utils/hyperliquid/liquidation.d.ts.map +0 -1
  822. package/dist/esm/utils/hyperliquid/liquidation.js +0 -63
  823. package/dist/esm/utils/hyperliquid/liquidation.js.map +0 -1
  824. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts +0 -44
  825. package/dist/esm/utils/hyperliquid/orderFormatting.d.ts.map +0 -1
  826. package/dist/esm/utils/hyperliquid/orderFormatting.js +0 -79
  827. package/dist/esm/utils/hyperliquid/orderFormatting.js.map +0 -1
  828. package/dist/esm/utils/request.d.ts +0 -25
  829. package/dist/esm/utils/request.d.ts.map +0 -1
  830. package/dist/esm/utils/request.js.map +0 -1
  831. package/dist/esm/wasm/lighter-signer.wasm +0 -0
  832. package/dist/esm/wasm/wasm_exec.js +0 -575
  833. package/dist/types/agent/AgentManager.d.ts +0 -45
  834. package/dist/types/agent/AgentManager.d.ts.map +0 -1
  835. package/dist/types/agent/storage.d.ts.map +0 -1
  836. package/dist/types/agent/types.d.ts +0 -23
  837. package/dist/types/agent/types.d.ts.map +0 -1
  838. package/dist/types/client/projectAccountConfigSettings.d.ts +0 -18
  839. package/dist/types/client/projectAccountConfigSettings.d.ts.map +0 -1
  840. package/dist/types/client/types.d.ts +0 -200
  841. package/dist/types/client/types.d.ts.map +0 -1
  842. package/dist/types/providers/hyperliquid/accountConfig.d.ts +0 -13
  843. package/dist/types/providers/hyperliquid/accountConfig.d.ts.map +0 -1
  844. package/dist/types/providers/lighter/accountConfig.d.ts +0 -13
  845. package/dist/types/providers/lighter/accountConfig.d.ts.map +0 -1
  846. package/dist/types/realtime/PerpsWsClient.d.ts +0 -26
  847. package/dist/types/realtime/PerpsWsClient.d.ts.map +0 -1
  848. package/dist/types/realtime/ReconnectingWebSocket.d.ts.map +0 -1
  849. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts +0 -32
  850. package/dist/types/realtime/hyperliquid/HyperliquidWsProvider.d.ts.map +0 -1
  851. package/dist/types/realtime/hyperliquid/types.d.ts +0 -37
  852. package/dist/types/realtime/hyperliquid/types.d.ts.map +0 -1
  853. package/dist/types/realtime/lighter/LighterWsProvider.d.ts +0 -68
  854. package/dist/types/realtime/lighter/LighterWsProvider.d.ts.map +0 -1
  855. package/dist/types/realtime/lighter/types.d.ts +0 -108
  856. package/dist/types/realtime/lighter/types.d.ts.map +0 -1
  857. package/dist/types/realtime/types.d.ts +0 -10
  858. package/dist/types/realtime/types.d.ts.map +0 -1
  859. package/dist/types/services/getAsset.d.ts +0 -20
  860. package/dist/types/services/getAsset.d.ts.map +0 -1
  861. package/dist/types/signers/lighter/LighterKeyStore.d.ts +0 -29
  862. package/dist/types/signers/lighter/LighterKeyStore.d.ts.map +0 -1
  863. package/dist/types/signers/lighter/LighterReadOnlyTokenManager.d.ts +0 -174
  864. package/dist/types/signers/lighter/LighterReadOnlyTokenManager.d.ts.map +0 -1
  865. package/dist/types/signers/lighter/LighterSigner.d.ts +0 -88
  866. package/dist/types/signers/lighter/LighterSigner.d.ts.map +0 -1
  867. package/dist/types/signers/lighter/index.d.ts +0 -9
  868. package/dist/types/signers/lighter/index.d.ts.map +0 -1
  869. package/dist/types/signers/lighter/wasmLoader.d.ts +0 -71
  870. package/dist/types/signers/lighter/wasmLoader.d.ts.map +0 -1
  871. package/dist/types/utils/hyperliquid/index.d.ts +0 -3
  872. package/dist/types/utils/hyperliquid/index.d.ts.map +0 -1
  873. package/dist/types/utils/hyperliquid/liquidation.d.ts +0 -46
  874. package/dist/types/utils/hyperliquid/liquidation.d.ts.map +0 -1
  875. package/dist/types/utils/hyperliquid/orderFormatting.d.ts +0 -44
  876. package/dist/types/utils/hyperliquid/orderFormatting.d.ts.map +0 -1
  877. package/dist/types/utils/request.d.ts +0 -25
  878. package/dist/types/utils/request.d.ts.map +0 -1
  879. package/src/agent/AgentManager.ts +0 -137
  880. package/src/agent/types.ts +0 -24
  881. package/src/client/projectAccountConfigSettings.ts +0 -39
  882. package/src/client/types.ts +0 -240
  883. package/src/providers/hyperliquid/accountConfig.ts +0 -92
  884. package/src/providers/lighter/accountConfig.ts +0 -103
  885. package/src/realtime/PerpsWsClient.ts +0 -108
  886. package/src/realtime/ReconnectingWebSocket.ts +0 -156
  887. package/src/realtime/hyperliquid/HyperliquidWsProvider.ts +0 -413
  888. package/src/realtime/hyperliquid/types.ts +0 -46
  889. package/src/realtime/lighter/LighterWsProvider.ts +0 -682
  890. package/src/realtime/lighter/types.ts +0 -121
  891. package/src/realtime/types.ts +0 -16
  892. package/src/services/getAsset.ts +0 -37
  893. package/src/signers/lighter/LighterKeyStore.ts +0 -74
  894. package/src/signers/lighter/LighterReadOnlyTokenManager.ts +0 -358
  895. package/src/signers/lighter/LighterSigner.ts +0 -396
  896. package/src/signers/lighter/index.ts +0 -36
  897. package/src/signers/lighter/wasmLoader.ts +0 -291
  898. package/src/utils/hyperliquid/index.ts +0 -9
  899. package/src/utils/hyperliquid/liquidation.ts +0 -71
  900. package/src/utils/hyperliquid/orderFormatting.ts +0 -96
  901. package/wasm/lighter-signer.wasm +0 -0
  902. package/wasm/wasm_exec.js +0 -575
  903. /package/dist/cjs/{agent → storage}/storage.d.ts +0 -0
  904. /package/dist/cjs/{agent → storage}/storage.js +0 -0
  905. /package/dist/cjs/{agent → storage}/types.js +0 -0
  906. /package/dist/cjs/{realtime/hyperliquid → websocket}/types.js +0 -0
  907. /package/dist/esm/{agent → storage}/types.js +0 -0
  908. /package/dist/esm/{realtime → websocket}/types.js +0 -0
@@ -2,19 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PerpsClient = void 0;
4
4
  const perps_types_1 = require("@lifi/perps-types");
5
- const viem_1 = require("viem");
6
- const storage_js_1 = require("../agent/storage.js");
7
5
  const PerpsError_js_1 = require("../errors/PerpsError.js");
8
6
  const createAction_js_1 = require("../services/createAction.js");
9
7
  const executeAction_js_1 = require("../services/executeAction.js");
10
8
  const getAccount_js_1 = require("../services/getAccount.js");
11
9
  const getProviders_js_1 = require("../services/getProviders.js");
12
- const index_js_1 = require("../signers/lighter/index.js");
13
- const signTypedData_js_1 = require("../utils/signTypedData.js");
14
10
  const createPerpsClient_js_1 = require("./createPerpsClient.js");
15
- const projectAccountConfigSettings_js_1 = require("./projectAccountConfigSettings.js");
16
- const types_js_1 = require("./types.js");
17
- const MAX_NONCE_RETRIES = 3;
11
+ const requireProvider_js_1 = require("./requireProvider.js");
18
12
  function findActionDescriptor(metadata, action) {
19
13
  const descriptor = [
20
14
  ...metadata.setup,
@@ -28,64 +22,26 @@ function findActionDescriptor(metadata, action) {
28
22
  }
29
23
  class PerpsClient {
30
24
  sdkClient;
31
- storage;
32
- signingModes = new Map();
33
25
  providerMetadataCache = new Map();
34
- _signer;
35
- lighterConfig;
36
- lighterReadOnlyTokenOptions;
37
- _lighterSigner;
38
- _lighterKeyStore;
39
- _lighterReadOnlyTokenManager;
26
+ _userWallet;
40
27
  constructor(options) {
41
- this.storage = options.storage ?? storage_js_1.localStorageAdapter;
42
- this.lighterConfig = options.lighter;
43
- this.lighterReadOnlyTokenOptions = options.lighterReadOnlyToken;
44
28
  this.sdkClient = (0, createPerpsClient_js_1.createPerpsClient)({
45
29
  integrator: options.integrator,
46
30
  apiKey: options.apiKey,
47
31
  apiUrl: options.apiUrl,
48
- storage: this.storage,
49
32
  providers: options.providers,
50
33
  });
51
34
  }
52
- getLighterSigner() {
53
- if (!this._lighterSigner) {
54
- this._lighterSigner = new index_js_1.LighterSigner(this.lighterConfig);
55
- }
56
- return this._lighterSigner;
57
- }
58
- getLighterKeyStore() {
59
- if (!this._lighterKeyStore) {
60
- this._lighterKeyStore = new index_js_1.LighterKeyStore(this.storage);
61
- }
62
- return this._lighterKeyStore;
63
- }
64
- getLighterReadOnlyTokenManager() {
65
- if (!this._lighterReadOnlyTokenManager) {
66
- this._lighterReadOnlyTokenManager = new index_js_1.LighterReadOnlyTokenManager({
67
- storage: this.storage,
68
- ...this.lighterReadOnlyTokenOptions,
69
- });
70
- }
71
- return this._lighterReadOnlyTokenManager;
72
- }
73
- setSigner(signer) {
74
- this._signer = signer;
75
- Object.defineProperty(this.sdkClient, 'signer', {
76
- get: () => this._signer,
35
+ setUserWallet(userWallet) {
36
+ this._userWallet = userWallet;
37
+ Object.defineProperty(this.sdkClient, 'userWallet', {
38
+ get: () => this._userWallet,
77
39
  configurable: true,
78
40
  });
79
41
  }
80
42
  get client() {
81
43
  return this.sdkClient;
82
44
  }
83
- modeKey(address, provider) {
84
- return `${address.toLowerCase()}:${provider.toLowerCase()}`;
85
- }
86
- signingModeStorageKey(address, provider) {
87
- return `lifi-perps-mode:${address.toLowerCase()}:${provider.toLowerCase()}`;
88
- }
89
45
  async getProviderMetadata(provider) {
90
46
  const cached = this.providerMetadataCache.get(provider);
91
47
  if (cached) {
@@ -103,368 +59,64 @@ class PerpsClient {
103
59
  }
104
60
  return metadata;
105
61
  }
106
- static EXPLICIT_INPUT_PREREQUISITES = new Set([perps_types_1.ActionType.ACCOUNT_MODE, perps_types_1.ActionType.ACCOUNT_TYPE]);
107
- buildPrerequisiteInputs(prerequisites, mode, agentAddress) {
108
- return prerequisites
109
- .filter((p) => {
110
- if (PerpsClient.EXPLICIT_INPUT_PREREQUISITES.has(p.type)) {
111
- return false;
112
- }
113
- if (mode === types_js_1.SigningMode.USER) {
114
- if (!p.signers.includes(perps_types_1.PerpsSigner.USER)) {
115
- return false;
116
- }
117
- if (p.type === perps_types_1.ActionType.APPROVE_AGENT) {
118
- return false;
119
- }
120
- return true;
121
- }
122
- return true;
123
- })
124
- .map((p) => {
125
- const params = {};
126
- if (p.type === perps_types_1.ActionType.APPROVE_AGENT && agentAddress) {
127
- params.agentAddress = agentAddress;
128
- }
129
- return {
130
- key: p.type,
131
- ...(Object.keys(params).length > 0 ? { params } : {}),
132
- };
133
- });
134
- }
135
- async resolveSignerForAction(action, address, provider) {
136
- const mode = await this.loadSigningMode(address, provider);
137
- if (mode !== types_js_1.SigningMode.USER_AGENT) {
138
- return undefined;
139
- }
140
- const metadata = await this.getProviderMetadata(provider);
141
- const allActions = [
142
- ...metadata.setup,
143
- ...metadata.options,
144
- ...metadata.actions,
145
- ];
146
- const descriptor = allActions.find((d) => d.type === action);
147
- if (!descriptor?.signers.includes(perps_types_1.PerpsSigner.AGENT)) {
148
- return undefined;
149
- }
150
- const agent = await this.sdkClient.agentManager.getAgent(address, provider);
151
- return agent.address;
152
- }
153
- async providerUsesAgent(provider) {
154
- const metadata = await this.getProviderMetadata(provider);
155
- const all = [...metadata.setup, ...metadata.options, ...metadata.actions];
156
- return all.some((d) => d.signers.includes(perps_types_1.PerpsSigner.AGENT));
62
+ requireProvider(provider) {
63
+ return (0, requireProvider_js_1.requireProvider)(this.sdkClient, provider);
157
64
  }
158
- async autoSignAndExecute(provider, address, action, actions, descriptor) {
159
- switch (descriptor.signingMethod) {
160
- case perps_types_1.SigningMethod.EIP712: {
161
- const eip712Actions = actions;
162
- if (descriptor.signers.includes(perps_types_1.PerpsSigner.AGENT)) {
163
- const agent = await this.sdkClient.agentManager.getAgent(address, provider);
164
- const signedActions = await Promise.all(eip712Actions.map(async (a) => ({
165
- action: a.action,
166
- typedData: a.typedData,
167
- signature: await (0, signTypedData_js_1.signTypedData)(agent.privateKey, a.typedData),
168
- })));
169
- return (0, executeAction_js_1.executeAction)(this.sdkClient, {
170
- provider,
171
- address,
172
- signerAddress: agent.address,
173
- action,
174
- actions: signedActions,
175
- });
176
- }
177
- if (descriptor.signers.includes(perps_types_1.PerpsSigner.USER)) {
178
- const signer = this.sdkClient.signer;
179
- if (!signer) {
180
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Action '${action}' requires a user-wallet signature, but no signer was configured. Pass a WalletClient to createPerpsClient({ signer }).`);
181
- }
182
- const signedActions = await Promise.all(eip712Actions.map(async (a) => ({
183
- action: a.action,
184
- typedData: a.typedData,
185
- signature: await (0, signTypedData_js_1.signTypedDataWithSigner)(signer, a.typedData),
186
- })));
187
- return (0, executeAction_js_1.executeAction)(this.sdkClient, {
188
- provider,
189
- address,
190
- signerAddress: address,
191
- action,
192
- actions: signedActions,
193
- });
194
- }
195
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Action '${action}' descriptor names no supported signer (signers=[${descriptor.signers.join(', ')}]).`);
196
- }
197
- case perps_types_1.SigningMethod.WASM_BLOB: {
198
- const wasmActions = actions;
199
- const signedActions = await this.signWasmBlobActions(provider, address, wasmActions);
200
- return (0, executeAction_js_1.executeAction)(this.sdkClient, {
201
- provider,
202
- address,
203
- signerAddress: address,
204
- action,
205
- actions: signedActions,
206
- });
207
- }
208
- case perps_types_1.SigningMethod.EVM_TX: {
209
- const evmActions = actions;
210
- const signedActions = await this.signEvmTxActions(evmActions);
211
- return (0, executeAction_js_1.executeAction)(this.sdkClient, {
212
- provider,
213
- address,
214
- signerAddress: address,
215
- action,
216
- actions: signedActions,
217
- });
218
- }
219
- default:
220
- throw new Error(`Unknown signingMethod: ${descriptor.signingMethod}`);
65
+ async resolveActionRequest(provider, descriptor, address) {
66
+ const plugin = this.requireProvider(provider);
67
+ if (typeof plugin.resolveActionRequest !== 'function') {
68
+ return {};
221
69
  }
70
+ return plugin.resolveActionRequest(descriptor.type, address, descriptor.signers);
222
71
  }
223
- async signPrerequisite(provider, address, step) {
224
- if ('typedData' in step) {
225
- if (!this.sdkClient.signer) {
226
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'EIP-712 prerequisite signing requires a wallet signer. Pass ' +
227
- '`signer` to createPerpsClient or call setSigner(walletClient).');
228
- }
229
- return {
230
- action: step.action,
231
- typedData: step.typedData,
232
- signature: await (0, signTypedData_js_1.signTypedDataWithSigner)(this.sdkClient.signer, step.typedData),
233
- };
234
- }
235
- if ('wasmSignParams' in step) {
236
- const [signed] = await this.signWasmBlobActions(provider, address, [step]);
237
- return signed;
72
+ async delegateSignActions(provider, address, descriptor, actions) {
73
+ const plugin = this.requireProvider(provider);
74
+ if (typeof plugin.signActions !== 'function') {
75
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Provider '${provider}' does not implement signActions for ` +
76
+ `signingMethod '${descriptor.signingMethod}'.`);
238
77
  }
239
- if ('txParams' in step) {
240
- const [signed] = await this.signEvmTxActions([step]);
241
- return signed;
242
- }
243
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'Unknown ActionStep shape — expected typedData, wasmSignParams, or txParams.');
78
+ return plugin.signActions(descriptor.signingMethod, actions, address, this.buildSignActionsContext(descriptor));
244
79
  }
245
- async signEvmTxActions(actions) {
246
- if (!this.sdkClient.signer) {
247
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'EVM_TX signing requires a wallet signer. Pass `signer` to ' +
248
- 'createPerpsClient or call setSigner(walletClient).');
80
+ buildSignActionsContext(descriptor) {
81
+ const ctx = { signers: descriptor.signers };
82
+ if (this.sdkClient.userWallet !== undefined) {
83
+ ctx.userWallet = this.sdkClient.userWallet;
249
84
  }
250
- const { signer } = this.sdkClient;
251
- const signed = [];
252
- for (const step of actions) {
253
- const params = step.txParams;
254
- const txHash = await signer.writeContract({
255
- address: params.to,
256
- abi: (0, viem_1.parseAbi)(params.abi),
257
- functionName: params.functionName,
258
- args: params.args,
259
- chain: signer.chain,
260
- account: signer.account,
261
- });
262
- signed.push({
263
- action: step.action,
264
- txParams: step.txParams,
265
- txHash,
266
- });
267
- }
268
- return signed;
85
+ return ctx;
269
86
  }
270
- async signWasmBlobActions(provider, address, actions) {
271
- const signed = [];
272
- for (const step of actions) {
273
- if (step.action === perps_types_1.ActionType.REGISTER_API_KEY) {
274
- signed.push(await this.signRegisterApiKey(provider, address, step));
275
- }
276
- else if (step.action === perps_types_1.ActionType.ACCOUNT_TYPE) {
277
- signed.push(await this.signAccountTierChange(address, step));
278
- }
279
- else {
280
- signed.push(await this.signStandardWasmAction(provider, address, step));
281
- }
282
- }
87
+ async signProviderSetupAction(provider, address, step) {
88
+ const metadata = await this.getProviderMetadata(provider);
89
+ const descriptor = findActionDescriptor(metadata, step.action);
90
+ const [signed] = await this.delegateSignActions(provider, address, descriptor, [step]);
283
91
  return signed;
284
92
  }
285
- async signStandardWasmAction(provider, address, step) {
286
- const apiKey = await this.getLighterKeyStore().get(address);
287
- if (!apiKey) {
288
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `No Lighter API key registered for ${address}. ` +
289
- 'Run prepareAccount / REGISTER_API_KEY first.');
290
- }
291
- const signer = this.getLighterSigner();
292
- const signedTx = await signer.sign(step.action, step.wasmSignParams, {
293
- apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
294
- apiKeyIndex: apiKey.apiKeyIndex,
295
- accountIndex: apiKey.accountIndex,
296
- });
297
- void provider;
298
- return {
299
- action: step.action,
300
- wasmSignParams: step.wasmSignParams,
301
- signedTx,
302
- };
303
- }
304
- async signRegisterApiKey(provider, address, step) {
305
- if (!this.sdkClient.signer) {
306
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'REGISTER_API_KEY requires a wallet signer — pass `signer` to ' +
307
- 'createPerpsClient or call setSigner(walletClient).');
308
- }
309
- const params = step.wasmSignParams;
310
- const apiKeyIndex = params.api_key_index ?? index_js_1.DEFAULT_API_KEY_INDEX;
311
- const nonce = params.nonce;
312
- if (typeof nonce !== 'number') {
313
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'REGISTER_API_KEY wasmSignParams is missing `nonce`.');
314
- }
315
- const account = await (0, getAccount_js_1.getAccount)(this.sdkClient, { provider, address });
316
- if (account.config.provider !== 'lighter') {
317
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `REGISTER_API_KEY requires a Lighter account, but getAccount ` +
318
- `returned config for provider '${account.config.provider}'.`);
319
- }
320
- const accountIndex = account.config.accountIndex;
321
- const signer = this.getLighterSigner();
322
- const keypair = await signer.generateAPIKey();
323
- const changePubKey = await signer.signChangePubKey(keypair.publicKey, keypair.privateKey, nonce, apiKeyIndex, accountIndex);
324
- const l1Signature = await this.sdkClient.signer.signMessage({
325
- account: this.sdkClient.signer.account,
326
- message: changePubKey.messageToSign,
327
- });
328
- const txInfoWithL1Sig = signer.embedL1Signature(changePubKey.txInfo, l1Signature);
329
- const apiKey = {
330
- accountIndex,
331
- apiKeyIndex,
332
- apiKeyPrivateKey: keypair.privateKey,
333
- apiKeyPublicKey: keypair.publicKey,
334
- };
335
- await this.getLighterKeyStore().set(address, apiKey);
336
- return {
337
- action: step.action,
338
- wasmSignParams: {
339
- ...step.wasmSignParams,
340
- new_public_key: keypair.publicKey,
341
- },
342
- signedTx: {
343
- txType: changePubKey.txType,
344
- txInfo: txInfoWithL1Sig,
345
- txHash: changePubKey.txHash,
346
- },
347
- };
348
- }
349
- async signAccountTierChange(address, step) {
350
- const apiKey = await this.getLighterKeyStore().get(address);
351
- if (!apiKey) {
352
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `No Lighter API key registered for ${address}. ` +
353
- 'Run prepareAccount / REGISTER_API_KEY first.');
354
- }
355
- const signer = this.getLighterSigner();
356
- const deadline = Math.floor(Date.now() / 1000) + 60 * 60;
357
- const authToken = await signer.createAuthToken(deadline, {
358
- apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
359
- apiKeyIndex: apiKey.apiKeyIndex,
360
- accountIndex: apiKey.accountIndex,
361
- });
362
- return {
363
- action: step.action,
364
- wasmSignParams: step.wasmSignParams,
365
- signedTx: {
366
- txType: 0,
367
- txInfo: authToken,
368
- txHash: '',
369
- },
370
- };
371
- }
372
- async createLighterAuthToken(address, deadlineSeconds, accountIndex) {
373
- const apiKey = await this.getLighterKeyStore().get(address);
374
- const resolvedAccountIndex = accountIndex ?? apiKey?.accountIndex;
375
- if (resolvedAccountIndex !== undefined) {
376
- const stored = await this.getLighterReadOnlyTokenManager().get(address, resolvedAccountIndex);
377
- if (stored) {
378
- return stored.token;
379
- }
380
- }
381
- if (!apiKey) {
382
- return undefined;
383
- }
384
- const deadline = deadlineSeconds ?? Math.floor(Date.now() / 1000) + 60 * 60;
385
- const signer = this.getLighterSigner();
386
- return signer.createAuthToken(deadline, {
387
- apiKeyPrivateKey: apiKey.apiKeyPrivateKey,
388
- apiKeyIndex: apiKey.apiKeyIndex,
389
- accountIndex: apiKey.accountIndex,
390
- });
391
- }
392
- async approveReadOnlyToken(address, params) {
393
- if (!this.sdkClient.signer) {
394
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, 'approveReadOnlyToken requires a wallet signer — pass `signer` to ' +
395
- 'createPerpsClient or call setSigner(walletClient).');
396
- }
397
- const signer = (0, index_js_1.walletClientSigner)(this.sdkClient.signer);
398
- return this.getLighterReadOnlyTokenManager().approve(signer, {
399
- address,
400
- ...params,
401
- });
402
- }
403
- async isLighterReadOnlyTokenExpiringSoon(address, accountIndex, thresholdDays) {
404
- return this.getLighterReadOnlyTokenManager().isReadOnlyTokenExpiringSoon(address, accountIndex, thresholdDays);
405
- }
406
93
  async buildAction(action, params) {
407
- const signerAddress = await this.resolveSignerForAction(action, params.address, params.provider);
94
+ const metadata = await this.getProviderMetadata(params.provider);
95
+ const descriptor = findActionDescriptor(metadata, action);
96
+ const { signerAddress, params: signerParams } = await this.resolveActionRequest(params.provider, descriptor, params.address);
408
97
  return (0, createAction_js_1.createAction)(this.sdkClient, {
409
98
  provider: params.provider,
410
99
  address: params.address,
411
100
  signerAddress,
412
101
  action,
413
- params: params.params,
102
+ params: {
103
+ ...params.params,
104
+ ...signerParams,
105
+ },
414
106
  });
415
107
  }
416
- async setSigningMode(address, provider, mode) {
417
- const key = this.modeKey(address, provider);
418
- this.signingModes.set(key, mode);
419
- await this.storage.set(this.signingModeStorageKey(address, provider), mode);
420
- if (mode === types_js_1.SigningMode.USER_AGENT &&
421
- (await this.providerUsesAgent(provider))) {
422
- await this.sdkClient.agentManager.getOrCreateAgent(address, provider);
423
- }
424
- }
425
- getSigningMode(address, provider) {
426
- return (this.signingModes.get(this.modeKey(address, provider)) ??
427
- types_js_1.SigningMode.USER_AGENT);
428
- }
429
- async loadSigningMode(address, provider) {
430
- const key = this.modeKey(address, provider);
431
- if (this.signingModes.has(key)) {
432
- return this.signingModes.get(key);
433
- }
434
- const stored = await this.storage.get(this.signingModeStorageKey(address, provider));
435
- const mode = stored === types_js_1.SigningMode.USER_AGENT || stored === types_js_1.SigningMode.USER
436
- ? stored
437
- : types_js_1.SigningMode.USER_AGENT;
438
- this.signingModes.set(key, mode);
439
- return mode;
440
- }
441
- async loadAgentMode(address, provider) {
442
- const mode = await this.loadSigningMode(address, provider);
443
- return mode === types_js_1.SigningMode.USER_AGENT;
444
- }
445
- async setAgentMode(address, provider, useAgent) {
446
- await this.setSigningMode(address, provider, useAgent ? types_js_1.SigningMode.USER_AGENT : types_js_1.SigningMode.USER);
447
- }
448
- async getAgentAddress(address, provider) {
449
- const agent = await this.sdkClient.agentManager.getAgent(address, provider);
450
- return agent.address;
451
- }
452
- async hasAgent(address, provider) {
453
- return this.sdkClient.agentManager.hasAgent(address, provider);
454
- }
455
- async removeAgent(address, provider) {
456
- await this.sdkClient.agentManager.removeAgent(address, provider);
457
- this.signingModes.delete(this.modeKey(address, provider));
458
- await this.storage.remove(this.signingModeStorageKey(address, provider));
459
- }
460
108
  async getAccount(params) {
109
+ const plugin = this.requireProvider(params.provider);
461
110
  const [response, metadata] = await Promise.all([
462
111
  (0, getAccount_js_1.getAccount)(this.sdkClient, params),
463
112
  this.getProviderMetadata(params.provider),
464
113
  ]);
465
- const settings = (0, projectAccountConfigSettings_js_1.projectAccountConfigSettings)(response.config, metadata.setup, metadata.options);
114
+ const settings = plugin.projectConfig(response.config, metadata.setup, metadata.options);
466
115
  return { ...response, settings };
467
116
  }
117
+ getAccountSummary(account, positions) {
118
+ return this.requireProvider(account.provider).getAccountSummary(account, positions);
119
+ }
468
120
  async accountExists(provider, address) {
469
121
  try {
470
122
  await (0, getAccount_js_1.getAccount)(this.sdkClient, { provider, address });
@@ -480,192 +132,82 @@ class PerpsClient {
480
132
  }
481
133
  async checkSetup(params) {
482
134
  const { provider, address } = params;
483
- const mode = await this.loadSigningMode(address, provider);
484
- const metadata = await this.getProviderMetadata(provider);
485
- const usesAgent = [
486
- ...metadata.setup,
487
- ...metadata.options,
488
- ...metadata.actions,
489
- ].some((d) => d.signers.includes(perps_types_1.PerpsSigner.AGENT));
490
- let agentAddress;
491
- if (mode === types_js_1.SigningMode.USER_AGENT && usesAgent) {
492
- const agent = await this.sdkClient.agentManager.getOrCreateAgent(address, provider);
493
- agentAddress = agent.address;
494
- }
495
- const allInputs = this.buildPrerequisiteInputs(metadata.setup, mode, agentAddress);
496
- if (allInputs.length === 0) {
497
- return { userPrerequisites: [], agentPrerequisites: [], isReady: true };
498
- }
499
- const signersByAction = new Map();
500
- for (const desc of metadata.setup) {
501
- signersByAction.set(desc.type, desc.signers);
502
- }
503
- const { actions } = await this.buildPrerequisites({
504
- provider,
505
- address,
506
- signerAddress: agentAddress,
507
- });
508
- if (actions.length === 0) {
509
- return { userPrerequisites: [], agentPrerequisites: [], isReady: true };
510
- }
511
- const userPrerequisites = actions.filter((a) => {
512
- const signers = signersByAction.get(a.action) ?? [];
513
- return signers.includes(perps_types_1.PerpsSigner.USER);
514
- });
515
- const agentPrerequisites = actions.filter((a) => {
516
- const signers = signersByAction.get(a.action) ?? [];
517
- return signers.includes(perps_types_1.PerpsSigner.AGENT);
518
- });
135
+ const { actions } = await this.buildProviderSetup({ provider, address });
519
136
  return {
520
- userPrerequisites,
521
- agentPrerequisites,
522
- isReady: false,
137
+ setup: actions,
138
+ isReady: actions.length === 0,
523
139
  };
524
140
  }
525
- async buildPrerequisites(params) {
526
- const mode = await this.loadSigningMode(params.address, params.provider);
527
- let { signerAddress } = params;
528
- if (mode === types_js_1.SigningMode.USER_AGENT && !signerAddress) {
529
- const agent = await this.sdkClient.agentManager.getAgent(params.address, params.provider);
530
- signerAddress = agent.address;
531
- }
532
- const metadata = await this.getProviderMetadata(params.provider);
533
- const allInputs = this.buildPrerequisiteInputs(metadata.setup, mode, signerAddress);
141
+ async buildProviderSetup(params) {
142
+ const { provider, address } = params;
143
+ const metadata = await this.getProviderMetadata(provider);
144
+ const orderedSetup = [...metadata.setup].sort((a, b) => (a.sequence ?? Number.MAX_SAFE_INTEGER) -
145
+ (b.sequence ?? Number.MAX_SAFE_INTEGER));
146
+ const plugin = this.sdkClient.getProvider(provider);
534
147
  const allActions = [];
535
- for (const input of allInputs) {
148
+ for (const descriptor of orderedSetup) {
149
+ const action = descriptor.type;
150
+ const { signerAddress, params: signerParams } = await this.resolveActionRequest(provider, descriptor, address);
151
+ const localParams = plugin?.resolveSetupParams
152
+ ? await plugin.resolveSetupParams(action, address)
153
+ : {};
536
154
  const { actions } = await (0, createAction_js_1.createAction)(this.sdkClient, {
537
- provider: params.provider,
538
- address: params.address,
155
+ provider,
156
+ address,
539
157
  signerAddress,
540
- action: input.key,
541
- params: (input.params ?? {}),
158
+ action,
159
+ params: {
160
+ ...signerParams,
161
+ ...localParams,
162
+ },
542
163
  });
543
164
  allActions.push(...actions);
544
165
  }
545
166
  return { actions: allActions };
546
167
  }
547
- static DEFAULT_ACCOUNT_MODE = 'unifiedAccount';
548
- async prepareAccountModeChange(provider, address, mode) {
549
- const account = await (0, getAccount_js_1.getAccount)(this.sdkClient, { provider, address });
550
- if (account.config.provider !== 'hyperliquid') {
551
- throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `prepareAccountModeChange is Hyperliquid-specific, but ` +
552
- `getAccount returned config for provider ` +
553
- `'${account.config.provider}'.`);
554
- }
555
- const currentStatus = account.config.abstractionMode;
556
- if (currentStatus === mode) {
557
- return {};
558
- }
559
- if (currentStatus == null) {
560
- const agent = await this.sdkClient.agentManager.getAgent(address, provider);
561
- const { actions } = await (0, createAction_js_1.createAction)(this.sdkClient, {
562
- provider,
563
- address,
564
- signerAddress: agent.address,
565
- action: perps_types_1.ActionType.ACCOUNT_MODE,
566
- params: { mode },
567
- });
568
- if (actions.length === 0) {
569
- return { results: { results: [] } };
570
- }
571
- const signedActions = await Promise.all(actions.map(async (a) => ({
572
- action: a.action,
573
- typedData: a.typedData,
574
- signature: await (0, signTypedData_js_1.signTypedData)(agent.privateKey, a.typedData),
575
- })));
576
- const results = await (0, executeAction_js_1.executeAction)(this.sdkClient, {
577
- provider,
578
- address,
579
- signerAddress: agent.address,
580
- action: perps_types_1.ActionType.ACCOUNT_MODE,
581
- actions: signedActions,
582
- });
583
- return { results };
168
+ async executeProviderSetup(params) {
169
+ const { provider, address, setup, signedActions } = params;
170
+ if (signedActions.length === 0) {
171
+ return { results: { results: [] } };
584
172
  }
585
- const { actions: fallbackActions } = await (0, createAction_js_1.createAction)(this.sdkClient, {
173
+ const action = setup[0]?.action ?? signedActions[0].action;
174
+ const metadata = await this.getProviderMetadata(provider);
175
+ const descriptor = findActionDescriptor(metadata, action);
176
+ const { signerAddress } = await this.resolveActionRequest(provider, descriptor, address);
177
+ const results = await (0, executeAction_js_1.executeAction)(this.sdkClient, {
586
178
  provider,
587
179
  address,
588
- action: perps_types_1.ActionType.ACCOUNT_MODE,
589
- params: { mode },
180
+ signerAddress: signerAddress ?? address,
181
+ action,
182
+ actions: signedActions,
590
183
  });
591
- return {
592
- fallback: fallbackActions.length > 0 ? fallbackActions : undefined,
593
- };
594
- }
595
- static hasWritableAccountMode(metadata) {
596
- const item = [...metadata.setup, ...metadata.options].find((i) => i.type === perps_types_1.ActionType.ACCOUNT_MODE);
597
- if (!item) {
598
- return false;
599
- }
600
- const modeParam = item.params.find((p) => p.name === 'mode');
601
- if (!modeParam) {
602
- return false;
184
+ const failure = results.results.find((r) => !r.success);
185
+ if (failure) {
186
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ExchangeRejected, failure.error);
603
187
  }
604
- if (!modeParam.values || modeParam.values.length === 0) {
605
- return false;
606
- }
607
- return !modeParam.readOnly;
188
+ return { results };
608
189
  }
609
- async satisfySetup(params) {
610
- const { provider, address, required, userSignedActions } = params;
611
- const mode = await this.loadSigningMode(address, provider);
612
- let userResults = { results: [] };
613
- if (userSignedActions.length > 0) {
614
- const signerAddress = mode === types_js_1.SigningMode.USER_AGENT
615
- ? (await this.sdkClient.agentManager.getAgent(address, provider))
616
- .address
617
- : address;
618
- const firstAction = required.userPrerequisites[0]?.action;
619
- userResults = await (0, executeAction_js_1.executeAction)(this.sdkClient, {
620
- provider,
621
- address,
622
- signerAddress,
623
- action: (firstAction ?? perps_types_1.ActionType.APPROVE_AGENT),
624
- actions: userSignedActions,
625
- });
626
- const mandatoryFailure = userResults.results.find((r) => !r.success);
627
- if (mandatoryFailure) {
628
- return { userResults };
629
- }
630
- }
631
- let agentResults;
632
- let fallbackUserPrerequisites;
633
- if (mode === types_js_1.SigningMode.USER_AGENT) {
634
- const justApprovedAgent = userResults.results.some((r) => r.success && r.action === perps_types_1.ActionType.APPROVE_AGENT);
635
- if (justApprovedAgent) {
636
- const metadata = await this.getProviderMetadata(provider);
637
- if (PerpsClient.hasWritableAccountMode(metadata)) {
638
- const upgrade = await this.prepareAccountModeChange(provider, address, PerpsClient.DEFAULT_ACCOUNT_MODE);
639
- agentResults = upgrade.results;
640
- fallbackUserPrerequisites = upgrade.fallback;
641
- }
642
- }
190
+ async executeProviderSetupAction(params) {
191
+ const { provider, address, step } = params;
192
+ const metadata = await this.getProviderMetadata(provider);
193
+ const descriptor = metadata.setup.find((d) => d.type === step.action);
194
+ if (!descriptor) {
195
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Action '${step.action}' is not in '${provider}'.setup`);
643
196
  }
644
- if (required.agentPrerequisites.length > 0 &&
645
- mode === types_js_1.SigningMode.USER_AGENT) {
646
- const agent = await this.sdkClient.agentManager.getAgent(address, provider);
647
- const signedAgentActions = await Promise.all(required.agentPrerequisites.map(async (action) => ({
648
- action: action.action,
649
- typedData: action.typedData,
650
- signature: await (0, signTypedData_js_1.signTypedData)(agent.privateKey, action.typedData),
651
- })));
652
- const firstAction = required.agentPrerequisites[0]?.action;
653
- const stagedResults = await (0, executeAction_js_1.executeAction)(this.sdkClient, {
654
- provider,
655
- address,
656
- signerAddress: agent.address,
657
- action: (firstAction ?? perps_types_1.ActionType.ACCOUNT_MODE),
658
- actions: signedAgentActions,
659
- });
660
- agentResults = {
661
- results: [...(agentResults?.results ?? []), ...stagedResults.results],
662
- };
197
+ const signed = await this.signProviderSetupAction(provider, address, step);
198
+ await this.executeProviderSetup({
199
+ provider,
200
+ address,
201
+ setup: [step],
202
+ signedActions: [signed],
203
+ });
204
+ }
205
+ async executeProviderOption(params) {
206
+ const { results } = await this.execute(params);
207
+ const failure = results.find((r) => !r.success);
208
+ if (failure) {
209
+ throw new PerpsError_js_1.PerpsError(perps_types_1.PerpsErrorCode.ExchangeRejected, failure.error);
663
210
  }
664
- return {
665
- userResults,
666
- ...(agentResults ? { agentResults } : {}),
667
- ...(fallbackUserPrerequisites ? { fallbackUserPrerequisites } : {}),
668
- };
669
211
  }
670
212
  async placeOrder(params) {
671
213
  return this.execute({ ...params, action: perps_types_1.ActionType.PLACE_ORDER, params });
@@ -699,29 +241,28 @@ class PerpsClient {
699
241
  });
700
242
  }
701
243
  async execute(params) {
702
- await this.loadSigningMode(params.address, params.provider);
703
- const metadata = await this.getProviderMetadata(params.provider);
704
- const descriptor = findActionDescriptor(metadata, params.action);
705
- let lastError;
706
- for (let attempt = 0; attempt < MAX_NONCE_RETRIES; attempt++) {
707
- const { actions } = await this.buildAction(params.action, {
708
- provider: params.provider,
709
- address: params.address,
710
- params: params.params,
711
- });
712
- try {
713
- return await this.autoSignAndExecute(params.provider, params.address, params.action, actions, descriptor);
714
- }
715
- catch (err) {
716
- if (err instanceof PerpsError_js_1.PerpsError &&
717
- err.code === perps_types_1.PerpsErrorCode.InvalidNonce) {
718
- lastError = err;
719
- continue;
720
- }
721
- throw err;
722
- }
723
- }
724
- throw lastError;
244
+ const { provider, address, action } = params;
245
+ const metadata = await this.getProviderMetadata(provider);
246
+ const descriptor = findActionDescriptor(metadata, action);
247
+ const { signerAddress, params: signerParams } = await this.resolveActionRequest(provider, descriptor, address);
248
+ const { actions } = await (0, createAction_js_1.createAction)(this.sdkClient, {
249
+ provider,
250
+ address,
251
+ signerAddress,
252
+ action,
253
+ params: {
254
+ ...params.params,
255
+ ...signerParams,
256
+ },
257
+ });
258
+ const signedActions = await this.delegateSignActions(provider, address, descriptor, actions);
259
+ return (0, executeAction_js_1.executeAction)(this.sdkClient, {
260
+ provider,
261
+ address,
262
+ signerAddress: signerAddress ?? address,
263
+ action,
264
+ actions: signedActions,
265
+ });
725
266
  }
726
267
  }
727
268
  exports.PerpsClient = PerpsClient;