@lifi/perps-sdk 0.0.0-preview-64fca0d

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 (675) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/client/PerpsClient.d.ts +63 -0
  3. package/dist/cjs/client/PerpsClient.d.ts.map +1 -0
  4. package/dist/cjs/client/PerpsClient.js +269 -0
  5. package/dist/cjs/client/PerpsClient.js.map +1 -0
  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 +10 -0
  11. package/dist/cjs/client/createPerpsClient.d.ts.map +1 -0
  12. package/dist/cjs/client/createPerpsClient.js +54 -0
  13. package/dist/cjs/client/createPerpsClient.js.map +1 -0
  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 +8 -0
  19. package/dist/cjs/errors/PerpsError.d.ts.map +1 -0
  20. package/dist/cjs/errors/PerpsError.js +15 -0
  21. package/dist/cjs/errors/PerpsError.js.map +1 -0
  22. package/dist/cjs/errors/constants.d.ts +5 -0
  23. package/dist/cjs/errors/constants.d.ts.map +1 -0
  24. package/dist/cjs/errors/constants.js +9 -0
  25. package/dist/cjs/errors/constants.js.map +1 -0
  26. package/dist/cjs/index.d.ts +78 -0
  27. package/dist/cjs/index.d.ts.map +1 -0
  28. package/dist/cjs/index.js +168 -0
  29. package/dist/cjs/index.js.map +1 -0
  30. package/dist/cjs/package.json +1 -0
  31. package/dist/cjs/registry/assetRegistry.d.ts +11 -0
  32. package/dist/cjs/registry/assetRegistry.d.ts.map +1 -0
  33. package/dist/cjs/registry/assetRegistry.js +39 -0
  34. package/dist/cjs/registry/assetRegistry.js.map +1 -0
  35. package/dist/cjs/registry/marketRegistry.d.ts +13 -0
  36. package/dist/cjs/registry/marketRegistry.d.ts.map +1 -0
  37. package/dist/cjs/registry/marketRegistry.js +58 -0
  38. package/dist/cjs/registry/marketRegistry.js.map +1 -0
  39. package/dist/cjs/registry/referenceDataRegistry.d.ts +20 -0
  40. package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -0
  41. package/dist/cjs/registry/referenceDataRegistry.js +59 -0
  42. package/dist/cjs/registry/referenceDataRegistry.js.map +1 -0
  43. package/dist/cjs/services/createAction.d.ts +13 -0
  44. package/dist/cjs/services/createAction.d.ts.map +1 -0
  45. package/dist/cjs/services/createAction.js +17 -0
  46. package/dist/cjs/services/createAction.js.map +1 -0
  47. package/dist/cjs/services/executeAction.d.ts +13 -0
  48. package/dist/cjs/services/executeAction.d.ts.map +1 -0
  49. package/dist/cjs/services/executeAction.js +18 -0
  50. package/dist/cjs/services/executeAction.js.map +1 -0
  51. package/dist/cjs/services/getAccount.d.ts +10 -0
  52. package/dist/cjs/services/getAccount.d.ts.map +1 -0
  53. package/dist/cjs/services/getAccount.js +8 -0
  54. package/dist/cjs/services/getAccount.js.map +1 -0
  55. package/dist/cjs/services/getActivity.d.ts +15 -0
  56. package/dist/cjs/services/getActivity.d.ts.map +1 -0
  57. package/dist/cjs/services/getActivity.js +15 -0
  58. package/dist/cjs/services/getActivity.js.map +1 -0
  59. package/dist/cjs/services/getAssets.d.ts +8 -0
  60. package/dist/cjs/services/getAssets.d.ts.map +1 -0
  61. package/dist/cjs/services/getAssets.js +11 -0
  62. package/dist/cjs/services/getAssets.js.map +1 -0
  63. package/dist/cjs/services/getFills.d.ts +14 -0
  64. package/dist/cjs/services/getFills.d.ts.map +1 -0
  65. package/dist/cjs/services/getFills.js +14 -0
  66. package/dist/cjs/services/getFills.js.map +1 -0
  67. package/dist/cjs/services/getMarket.d.ts +9 -0
  68. package/dist/cjs/services/getMarket.d.ts.map +1 -0
  69. package/dist/cjs/services/getMarket.js +13 -0
  70. package/dist/cjs/services/getMarket.js.map +1 -0
  71. package/dist/cjs/services/getMarkets.d.ts +9 -0
  72. package/dist/cjs/services/getMarkets.d.ts.map +1 -0
  73. package/dist/cjs/services/getMarkets.js +12 -0
  74. package/dist/cjs/services/getMarkets.js.map +1 -0
  75. package/dist/cjs/services/getMeta.d.ts +5 -0
  76. package/dist/cjs/services/getMeta.d.ts.map +1 -0
  77. package/dist/cjs/services/getMeta.js +8 -0
  78. package/dist/cjs/services/getMeta.js.map +1 -0
  79. package/dist/cjs/services/getOhlcv.d.ts +13 -0
  80. package/dist/cjs/services/getOhlcv.d.ts.map +1 -0
  81. package/dist/cjs/services/getOhlcv.js +16 -0
  82. package/dist/cjs/services/getOhlcv.js.map +1 -0
  83. package/dist/cjs/services/getOrder.d.ts +11 -0
  84. package/dist/cjs/services/getOrder.d.ts.map +1 -0
  85. package/dist/cjs/services/getOrder.js +8 -0
  86. package/dist/cjs/services/getOrder.js.map +1 -0
  87. package/dist/cjs/services/getOrderbook.d.ts +10 -0
  88. package/dist/cjs/services/getOrderbook.d.ts.map +1 -0
  89. package/dist/cjs/services/getOrderbook.js +13 -0
  90. package/dist/cjs/services/getOrderbook.js.map +1 -0
  91. package/dist/cjs/services/getOrders.d.ts +13 -0
  92. package/dist/cjs/services/getOrders.d.ts.map +1 -0
  93. package/dist/cjs/services/getOrders.js +13 -0
  94. package/dist/cjs/services/getOrders.js.map +1 -0
  95. package/dist/cjs/services/getPositions.d.ts +13 -0
  96. package/dist/cjs/services/getPositions.d.ts.map +1 -0
  97. package/dist/cjs/services/getPositions.js +13 -0
  98. package/dist/cjs/services/getPositions.js.map +1 -0
  99. package/dist/cjs/services/getPrices.d.ts +9 -0
  100. package/dist/cjs/services/getPrices.d.ts.map +1 -0
  101. package/dist/cjs/services/getPrices.js +12 -0
  102. package/dist/cjs/services/getPrices.js.map +1 -0
  103. package/dist/cjs/services/getProviders.d.ts +5 -0
  104. package/dist/cjs/services/getProviders.d.ts.map +1 -0
  105. package/dist/cjs/services/getProviders.js +8 -0
  106. package/dist/cjs/services/getProviders.js.map +1 -0
  107. package/dist/cjs/services/getQuote.d.ts +12 -0
  108. package/dist/cjs/services/getQuote.d.ts.map +1 -0
  109. package/dist/cjs/services/getQuote.js +13 -0
  110. package/dist/cjs/services/getQuote.js.map +1 -0
  111. package/dist/cjs/services/getTermsAcceptance.d.ts +6 -0
  112. package/dist/cjs/services/getTermsAcceptance.d.ts.map +1 -0
  113. package/dist/cjs/services/getTermsAcceptance.js +9 -0
  114. package/dist/cjs/services/getTermsAcceptance.js.map +1 -0
  115. package/dist/cjs/services/resolveQuote.d.ts +6 -0
  116. package/dist/cjs/services/resolveQuote.d.ts.map +1 -0
  117. package/dist/cjs/services/resolveQuote.js +36 -0
  118. package/dist/cjs/services/resolveQuote.js.map +1 -0
  119. package/dist/cjs/services/resolveSubscribeQuote.d.ts +6 -0
  120. package/dist/cjs/services/resolveSubscribeQuote.d.ts.map +1 -0
  121. package/dist/cjs/services/resolveSubscribeQuote.js +63 -0
  122. package/dist/cjs/services/resolveSubscribeQuote.js.map +1 -0
  123. package/dist/cjs/storage/parseStoredRecord.d.ts +4 -0
  124. package/dist/cjs/storage/parseStoredRecord.d.ts.map +1 -0
  125. package/dist/cjs/storage/parseStoredRecord.js +26 -0
  126. package/dist/cjs/storage/parseStoredRecord.js.map +1 -0
  127. package/dist/cjs/storage/storage.d.ts +4 -0
  128. package/dist/cjs/storage/storage.d.ts.map +1 -0
  129. package/dist/cjs/storage/storage.js +47 -0
  130. package/dist/cjs/storage/storage.js.map +1 -0
  131. package/dist/cjs/storage/types.d.ts +6 -0
  132. package/dist/cjs/storage/types.d.ts.map +1 -0
  133. package/dist/cjs/storage/types.js +3 -0
  134. package/dist/cjs/storage/types.js.map +1 -0
  135. package/dist/cjs/transport/fetchWithRetry.d.ts +8 -0
  136. package/dist/cjs/transport/fetchWithRetry.d.ts.map +1 -0
  137. package/dist/cjs/transport/fetchWithRetry.js +81 -0
  138. package/dist/cjs/transport/fetchWithRetry.js.map +1 -0
  139. package/dist/cjs/transport/request.d.ts +8 -0
  140. package/dist/cjs/transport/request.d.ts.map +1 -0
  141. package/dist/cjs/transport/request.js +75 -0
  142. package/dist/cjs/transport/request.js.map +1 -0
  143. package/dist/cjs/transport/retryPolicy.d.ts +37 -0
  144. package/dist/cjs/transport/retryPolicy.d.ts.map +1 -0
  145. package/dist/cjs/transport/retryPolicy.js +79 -0
  146. package/dist/cjs/transport/retryPolicy.js.map +1 -0
  147. package/dist/cjs/types/api.d.ts +85 -0
  148. package/dist/cjs/types/api.d.ts.map +1 -0
  149. package/dist/cjs/types/api.js +3 -0
  150. package/dist/cjs/types/api.js.map +1 -0
  151. package/dist/cjs/types/config.d.ts +26 -0
  152. package/dist/cjs/types/config.d.ts.map +1 -0
  153. package/dist/cjs/types/config.js +3 -0
  154. package/dist/cjs/types/config.js.map +1 -0
  155. package/dist/cjs/types/provider.d.ts +84 -0
  156. package/dist/cjs/types/provider.d.ts.map +1 -0
  157. package/dist/cjs/types/provider.js +3 -0
  158. package/dist/cjs/types/provider.js.map +1 -0
  159. package/dist/cjs/utils/accountSummary.d.ts +3 -0
  160. package/dist/cjs/utils/accountSummary.d.ts.map +1 -0
  161. package/dist/cjs/utils/accountSummary.js +25 -0
  162. package/dist/cjs/utils/accountSummary.js.map +1 -0
  163. package/dist/cjs/utils/assertNever.d.ts +2 -0
  164. package/dist/cjs/utils/assertNever.d.ts.map +1 -0
  165. package/dist/cjs/utils/assertNever.js +7 -0
  166. package/dist/cjs/utils/assertNever.js.map +1 -0
  167. package/dist/cjs/utils/calculations.d.ts +51 -0
  168. package/dist/cjs/utils/calculations.d.ts.map +1 -0
  169. package/dist/cjs/utils/calculations.js +149 -0
  170. package/dist/cjs/utils/calculations.js.map +1 -0
  171. package/dist/cjs/utils/depositChain.d.ts +6 -0
  172. package/dist/cjs/utils/depositChain.d.ts.map +1 -0
  173. package/dist/cjs/utils/depositChain.js +13 -0
  174. package/dist/cjs/utils/depositChain.js.map +1 -0
  175. package/dist/cjs/utils/explorer.d.ts +9 -0
  176. package/dist/cjs/utils/explorer.d.ts.map +1 -0
  177. package/dist/cjs/utils/explorer.js +23 -0
  178. package/dist/cjs/utils/explorer.js.map +1 -0
  179. package/dist/cjs/utils/fillClassification.d.ts +3 -0
  180. package/dist/cjs/utils/fillClassification.d.ts.map +1 -0
  181. package/dist/cjs/utils/fillClassification.js +37 -0
  182. package/dist/cjs/utils/fillClassification.js.map +1 -0
  183. package/dist/cjs/utils/format.d.ts +13 -0
  184. package/dist/cjs/utils/format.d.ts.map +1 -0
  185. package/dist/cjs/utils/format.js +117 -0
  186. package/dist/cjs/utils/format.js.map +1 -0
  187. package/dist/cjs/utils/orderClassification.d.ts +10 -0
  188. package/dist/cjs/utils/orderClassification.d.ts.map +1 -0
  189. package/dist/cjs/utils/orderClassification.js +49 -0
  190. package/dist/cjs/utils/orderClassification.js.map +1 -0
  191. package/dist/cjs/utils/orderMath.d.ts +6 -0
  192. package/dist/cjs/utils/orderMath.d.ts.map +1 -0
  193. package/dist/cjs/utils/orderMath.js +71 -0
  194. package/dist/cjs/utils/orderMath.js.map +1 -0
  195. package/dist/cjs/utils/parse.d.ts +2 -0
  196. package/dist/cjs/utils/parse.d.ts.map +1 -0
  197. package/dist/cjs/utils/parse.js +14 -0
  198. package/dist/cjs/utils/parse.js.map +1 -0
  199. package/dist/cjs/utils/positionMath.d.ts +32 -0
  200. package/dist/cjs/utils/positionMath.d.ts.map +1 -0
  201. package/dist/cjs/utils/positionMath.js +52 -0
  202. package/dist/cjs/utils/positionMath.js.map +1 -0
  203. package/dist/cjs/utils/signTypedData.d.ts +5 -0
  204. package/dist/cjs/utils/signTypedData.d.ts.map +1 -0
  205. package/dist/cjs/utils/signTypedData.js +23 -0
  206. package/dist/cjs/utils/signTypedData.js.map +1 -0
  207. package/dist/cjs/utils/sleep.d.ts +2 -0
  208. package/dist/cjs/utils/sleep.d.ts.map +1 -0
  209. package/dist/cjs/utils/sleep.js +6 -0
  210. package/dist/cjs/utils/sleep.js.map +1 -0
  211. package/dist/cjs/utils/units.d.ts +3 -0
  212. package/dist/cjs/utils/units.d.ts.map +1 -0
  213. package/dist/cjs/utils/units.js +18 -0
  214. package/dist/cjs/utils/units.js.map +1 -0
  215. package/dist/cjs/utils/validation.d.ts +2 -0
  216. package/dist/cjs/utils/validation.d.ts.map +1 -0
  217. package/dist/cjs/utils/validation.js +16 -0
  218. package/dist/cjs/utils/validation.js.map +1 -0
  219. package/dist/cjs/version.d.ts +3 -0
  220. package/dist/cjs/version.d.ts.map +1 -0
  221. package/dist/cjs/version.js +6 -0
  222. package/dist/cjs/version.js.map +1 -0
  223. package/dist/cjs/websocket/PerpsWsClient.d.ts +27 -0
  224. package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -0
  225. package/dist/cjs/websocket/PerpsWsClient.js +84 -0
  226. package/dist/cjs/websocket/PerpsWsClient.js.map +1 -0
  227. package/dist/cjs/websocket/ReconnectingWebSocket.d.ts +52 -0
  228. package/dist/cjs/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  229. package/dist/cjs/websocket/ReconnectingWebSocket.js +213 -0
  230. package/dist/cjs/websocket/ReconnectingWebSocket.js.map +1 -0
  231. package/dist/cjs/websocket/WsProviderBase.d.ts +31 -0
  232. package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -0
  233. package/dist/cjs/websocket/WsProviderBase.js +197 -0
  234. package/dist/cjs/websocket/WsProviderBase.js.map +1 -0
  235. package/dist/cjs/websocket/cachePromise.d.ts +2 -0
  236. package/dist/cjs/websocket/cachePromise.d.ts.map +1 -0
  237. package/dist/cjs/websocket/cachePromise.js +18 -0
  238. package/dist/cjs/websocket/cachePromise.js.map +1 -0
  239. package/dist/cjs/websocket/types.d.ts +15 -0
  240. package/dist/cjs/websocket/types.d.ts.map +1 -0
  241. package/dist/cjs/websocket/types.js +3 -0
  242. package/dist/cjs/websocket/types.js.map +1 -0
  243. package/dist/cjs/websocket/wsLog.d.ts +10 -0
  244. package/dist/cjs/websocket/wsLog.d.ts.map +1 -0
  245. package/dist/cjs/websocket/wsLog.js +31 -0
  246. package/dist/cjs/websocket/wsLog.js.map +1 -0
  247. package/dist/esm/client/PerpsClient.d.ts +285 -0
  248. package/dist/esm/client/PerpsClient.d.ts.map +1 -0
  249. package/dist/esm/client/PerpsClient.js +498 -0
  250. package/dist/esm/client/PerpsClient.js.map +1 -0
  251. package/dist/esm/client/bindProvider.d.ts +13 -0
  252. package/dist/esm/client/bindProvider.d.ts.map +1 -0
  253. package/dist/esm/client/bindProvider.js +16 -0
  254. package/dist/esm/client/bindProvider.js.map +1 -0
  255. package/dist/esm/client/createPerpsClient.d.ts +37 -0
  256. package/dist/esm/client/createPerpsClient.d.ts.map +1 -0
  257. package/dist/esm/client/createPerpsClient.js +76 -0
  258. package/dist/esm/client/createPerpsClient.js.map +1 -0
  259. package/dist/esm/client/requireProvider.d.ts +12 -0
  260. package/dist/esm/client/requireProvider.d.ts.map +1 -0
  261. package/dist/esm/client/requireProvider.js +22 -0
  262. package/dist/esm/client/requireProvider.js.map +1 -0
  263. package/dist/esm/errors/PerpsError.d.ts +16 -0
  264. package/dist/esm/errors/PerpsError.d.ts.map +1 -0
  265. package/dist/esm/errors/PerpsError.js +19 -0
  266. package/dist/esm/errors/PerpsError.js.map +1 -0
  267. package/dist/esm/errors/constants.d.ts +11 -0
  268. package/dist/esm/errors/constants.d.ts.map +1 -0
  269. package/dist/esm/errors/constants.js +12 -0
  270. package/dist/esm/errors/constants.js.map +1 -0
  271. package/dist/esm/index.d.ts +86 -0
  272. package/dist/esm/index.d.ts.map +1 -0
  273. package/dist/esm/index.js +63 -0
  274. package/dist/esm/index.js.map +1 -0
  275. package/dist/esm/package.json +1 -0
  276. package/dist/esm/registry/assetRegistry.d.ts +25 -0
  277. package/dist/esm/registry/assetRegistry.d.ts.map +1 -0
  278. package/dist/esm/registry/assetRegistry.js +48 -0
  279. package/dist/esm/registry/assetRegistry.js.map +1 -0
  280. package/dist/esm/registry/marketRegistry.d.ts +42 -0
  281. package/dist/esm/registry/marketRegistry.d.ts.map +1 -0
  282. package/dist/esm/registry/marketRegistry.js +81 -0
  283. package/dist/esm/registry/marketRegistry.js.map +1 -0
  284. package/dist/esm/registry/referenceDataRegistry.d.ts +44 -0
  285. package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -0
  286. package/dist/esm/registry/referenceDataRegistry.js +79 -0
  287. package/dist/esm/registry/referenceDataRegistry.js.map +1 -0
  288. package/dist/esm/services/createAction.d.ts +26 -0
  289. package/dist/esm/services/createAction.d.ts.map +1 -0
  290. package/dist/esm/services/createAction.js +22 -0
  291. package/dist/esm/services/createAction.js.map +1 -0
  292. package/dist/esm/services/executeAction.d.ts +26 -0
  293. package/dist/esm/services/executeAction.d.ts.map +1 -0
  294. package/dist/esm/services/executeAction.js +26 -0
  295. package/dist/esm/services/executeAction.js.map +1 -0
  296. package/dist/esm/services/getAccount.d.ts +35 -0
  297. package/dist/esm/services/getAccount.d.ts.map +1 -0
  298. package/dist/esm/services/getAccount.js +25 -0
  299. package/dist/esm/services/getAccount.js.map +1 -0
  300. package/dist/esm/services/getActivity.d.ts +39 -0
  301. package/dist/esm/services/getActivity.d.ts.map +1 -0
  302. package/dist/esm/services/getActivity.js +29 -0
  303. package/dist/esm/services/getActivity.js.map +1 -0
  304. package/dist/esm/services/getAssets.d.ts +27 -0
  305. package/dist/esm/services/getAssets.d.ts.map +1 -0
  306. package/dist/esm/services/getAssets.js +22 -0
  307. package/dist/esm/services/getAssets.js.map +1 -0
  308. package/dist/esm/services/getFills.d.ts +38 -0
  309. package/dist/esm/services/getFills.d.ts.map +1 -0
  310. package/dist/esm/services/getFills.js +28 -0
  311. package/dist/esm/services/getFills.js.map +1 -0
  312. package/dist/esm/services/getMarket.d.ts +34 -0
  313. package/dist/esm/services/getMarket.d.ts.map +1 -0
  314. package/dist/esm/services/getMarket.js +25 -0
  315. package/dist/esm/services/getMarket.js.map +1 -0
  316. package/dist/esm/services/getMarkets.d.ts +28 -0
  317. package/dist/esm/services/getMarkets.d.ts.map +1 -0
  318. package/dist/esm/services/getMarkets.js +22 -0
  319. package/dist/esm/services/getMarkets.js.map +1 -0
  320. package/dist/esm/services/getMeta.d.ts +21 -0
  321. package/dist/esm/services/getMeta.d.ts.map +1 -0
  322. package/dist/esm/services/getMeta.js +21 -0
  323. package/dist/esm/services/getMeta.js.map +1 -0
  324. package/dist/esm/services/getOhlcv.d.ts +36 -0
  325. package/dist/esm/services/getOhlcv.d.ts.map +1 -0
  326. package/dist/esm/services/getOhlcv.js +28 -0
  327. package/dist/esm/services/getOhlcv.js.map +1 -0
  328. package/dist/esm/services/getOrder.d.ts +33 -0
  329. package/dist/esm/services/getOrder.d.ts.map +1 -0
  330. package/dist/esm/services/getOrder.js +22 -0
  331. package/dist/esm/services/getOrder.js.map +1 -0
  332. package/dist/esm/services/getOrderbook.d.ts +24 -0
  333. package/dist/esm/services/getOrderbook.d.ts.map +1 -0
  334. package/dist/esm/services/getOrderbook.js +17 -0
  335. package/dist/esm/services/getOrderbook.js.map +1 -0
  336. package/dist/esm/services/getOrders.d.ts +35 -0
  337. package/dist/esm/services/getOrders.d.ts.map +1 -0
  338. package/dist/esm/services/getOrders.js +26 -0
  339. package/dist/esm/services/getOrders.js.map +1 -0
  340. package/dist/esm/services/getPositions.d.ts +35 -0
  341. package/dist/esm/services/getPositions.d.ts.map +1 -0
  342. package/dist/esm/services/getPositions.js +26 -0
  343. package/dist/esm/services/getPositions.js.map +1 -0
  344. package/dist/esm/services/getPrices.d.ts +21 -0
  345. package/dist/esm/services/getPrices.d.ts.map +1 -0
  346. package/dist/esm/services/getPrices.js +15 -0
  347. package/dist/esm/services/getPrices.js.map +1 -0
  348. package/dist/esm/services/getProviders.d.ts +22 -0
  349. package/dist/esm/services/getProviders.d.ts.map +1 -0
  350. package/dist/esm/services/getProviders.js +22 -0
  351. package/dist/esm/services/getProviders.js.map +1 -0
  352. package/dist/esm/services/getQuote.d.ts +42 -0
  353. package/dist/esm/services/getQuote.d.ts.map +1 -0
  354. package/dist/esm/services/getQuote.js +33 -0
  355. package/dist/esm/services/getQuote.js.map +1 -0
  356. package/dist/esm/services/getTermsAcceptance.d.ts +26 -0
  357. package/dist/esm/services/getTermsAcceptance.d.ts.map +1 -0
  358. package/dist/esm/services/getTermsAcceptance.js +26 -0
  359. package/dist/esm/services/getTermsAcceptance.js.map +1 -0
  360. package/dist/esm/services/resolveQuote.d.ts +26 -0
  361. package/dist/esm/services/resolveQuote.d.ts.map +1 -0
  362. package/dist/esm/services/resolveQuote.js +52 -0
  363. package/dist/esm/services/resolveQuote.js.map +1 -0
  364. package/dist/esm/services/resolveSubscribeQuote.d.ts +31 -0
  365. package/dist/esm/services/resolveSubscribeQuote.d.ts.map +1 -0
  366. package/dist/esm/services/resolveSubscribeQuote.js +84 -0
  367. package/dist/esm/services/resolveSubscribeQuote.js.map +1 -0
  368. package/dist/esm/storage/parseStoredRecord.d.ts +29 -0
  369. package/dist/esm/storage/parseStoredRecord.d.ts.map +1 -0
  370. package/dist/esm/storage/parseStoredRecord.js +47 -0
  371. package/dist/esm/storage/parseStoredRecord.js.map +1 -0
  372. package/dist/esm/storage/storage.d.ts +15 -0
  373. package/dist/esm/storage/storage.d.ts.map +1 -0
  374. package/dist/esm/storage/storage.js +56 -0
  375. package/dist/esm/storage/storage.js.map +1 -0
  376. package/dist/esm/storage/types.d.ts +14 -0
  377. package/dist/esm/storage/types.d.ts.map +1 -0
  378. package/dist/esm/storage/types.js +2 -0
  379. package/dist/esm/storage/types.js.map +1 -0
  380. package/dist/esm/transport/fetchWithRetry.d.ts +22 -0
  381. package/dist/esm/transport/fetchWithRetry.d.ts.map +1 -0
  382. package/dist/esm/transport/fetchWithRetry.js +87 -0
  383. package/dist/esm/transport/fetchWithRetry.js.map +1 -0
  384. package/dist/esm/transport/request.d.ts +25 -0
  385. package/dist/esm/transport/request.d.ts.map +1 -0
  386. package/dist/esm/transport/request.js +82 -0
  387. package/dist/esm/transport/request.js.map +1 -0
  388. package/dist/esm/transport/retryPolicy.d.ts +106 -0
  389. package/dist/esm/transport/retryPolicy.d.ts.map +1 -0
  390. package/dist/esm/transport/retryPolicy.js +99 -0
  391. package/dist/esm/transport/retryPolicy.js.map +1 -0
  392. package/dist/esm/types/api.d.ts +214 -0
  393. package/dist/esm/types/api.d.ts.map +1 -0
  394. package/dist/esm/types/api.js +2 -0
  395. package/dist/esm/types/api.js.map +1 -0
  396. package/dist/esm/types/config.d.ts +70 -0
  397. package/dist/esm/types/config.d.ts.map +1 -0
  398. package/dist/esm/types/config.js +2 -0
  399. package/dist/esm/types/config.js.map +1 -0
  400. package/dist/esm/types/provider.d.ts +330 -0
  401. package/dist/esm/types/provider.d.ts.map +1 -0
  402. package/dist/esm/types/provider.js +2 -0
  403. package/dist/esm/types/provider.js.map +1 -0
  404. package/dist/esm/utils/accountSummary.d.ts +13 -0
  405. package/dist/esm/utils/accountSummary.d.ts.map +1 -0
  406. package/dist/esm/utils/accountSummary.js +32 -0
  407. package/dist/esm/utils/accountSummary.js.map +1 -0
  408. package/dist/esm/utils/assertNever.d.ts +20 -0
  409. package/dist/esm/utils/assertNever.d.ts.map +1 -0
  410. package/dist/esm/utils/assertNever.js +22 -0
  411. package/dist/esm/utils/assertNever.js.map +1 -0
  412. package/dist/esm/utils/calculations.d.ts +223 -0
  413. package/dist/esm/utils/calculations.d.ts.map +1 -0
  414. package/dist/esm/utils/calculations.js +291 -0
  415. package/dist/esm/utils/calculations.js.map +1 -0
  416. package/dist/esm/utils/depositChain.d.ts +25 -0
  417. package/dist/esm/utils/depositChain.d.ts.map +1 -0
  418. package/dist/esm/utils/depositChain.js +23 -0
  419. package/dist/esm/utils/depositChain.js.map +1 -0
  420. package/dist/esm/utils/explorer.d.ts +33 -0
  421. package/dist/esm/utils/explorer.d.ts.map +1 -0
  422. package/dist/esm/utils/explorer.js +38 -0
  423. package/dist/esm/utils/explorer.js.map +1 -0
  424. package/dist/esm/utils/fillClassification.d.ts +13 -0
  425. package/dist/esm/utils/fillClassification.d.ts.map +1 -0
  426. package/dist/esm/utils/fillClassification.js +44 -0
  427. package/dist/esm/utils/fillClassification.js.map +1 -0
  428. package/dist/esm/utils/format.d.ts +66 -0
  429. package/dist/esm/utils/format.d.ts.map +1 -0
  430. package/dist/esm/utils/format.js +171 -0
  431. package/dist/esm/utils/format.js.map +1 -0
  432. package/dist/esm/utils/orderClassification.d.ts +47 -0
  433. package/dist/esm/utils/orderClassification.d.ts.map +1 -0
  434. package/dist/esm/utils/orderClassification.js +78 -0
  435. package/dist/esm/utils/orderClassification.js.map +1 -0
  436. package/dist/esm/utils/orderMath.d.ts +44 -0
  437. package/dist/esm/utils/orderMath.d.ts.map +1 -0
  438. package/dist/esm/utils/orderMath.js +103 -0
  439. package/dist/esm/utils/orderMath.js.map +1 -0
  440. package/dist/esm/utils/parse.d.ts +22 -0
  441. package/dist/esm/utils/parse.d.ts.map +1 -0
  442. package/dist/esm/utils/parse.js +31 -0
  443. package/dist/esm/utils/parse.js.map +1 -0
  444. package/dist/esm/utils/positionMath.d.ts +107 -0
  445. package/dist/esm/utils/positionMath.d.ts.map +1 -0
  446. package/dist/esm/utils/positionMath.js +119 -0
  447. package/dist/esm/utils/positionMath.js.map +1 -0
  448. package/dist/esm/utils/signTypedData.d.ts +18 -0
  449. package/dist/esm/utils/signTypedData.d.ts.map +1 -0
  450. package/dist/esm/utils/signTypedData.js +32 -0
  451. package/dist/esm/utils/signTypedData.js.map +1 -0
  452. package/dist/esm/utils/sleep.d.ts +7 -0
  453. package/dist/esm/utils/sleep.d.ts.map +1 -0
  454. package/dist/esm/utils/sleep.js +7 -0
  455. package/dist/esm/utils/sleep.js.map +1 -0
  456. package/dist/esm/utils/units.d.ts +27 -0
  457. package/dist/esm/utils/units.d.ts.map +1 -0
  458. package/dist/esm/utils/units.js +38 -0
  459. package/dist/esm/utils/units.js.map +1 -0
  460. package/dist/esm/utils/validation.d.ts +18 -0
  461. package/dist/esm/utils/validation.d.ts.map +1 -0
  462. package/dist/esm/utils/validation.js +29 -0
  463. package/dist/esm/utils/validation.js.map +1 -0
  464. package/dist/esm/version.d.ts +3 -0
  465. package/dist/esm/version.d.ts.map +1 -0
  466. package/dist/esm/version.js +3 -0
  467. package/dist/esm/version.js.map +1 -0
  468. package/dist/esm/websocket/PerpsWsClient.d.ts +100 -0
  469. package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -0
  470. package/dist/esm/websocket/PerpsWsClient.js +121 -0
  471. package/dist/esm/websocket/PerpsWsClient.js.map +1 -0
  472. package/dist/esm/websocket/ReconnectingWebSocket.d.ts +130 -0
  473. package/dist/esm/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  474. package/dist/esm/websocket/ReconnectingWebSocket.js +288 -0
  475. package/dist/esm/websocket/ReconnectingWebSocket.js.map +1 -0
  476. package/dist/esm/websocket/WsProviderBase.d.ts +89 -0
  477. package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -0
  478. package/dist/esm/websocket/WsProviderBase.js +246 -0
  479. package/dist/esm/websocket/WsProviderBase.js.map +1 -0
  480. package/dist/esm/websocket/cachePromise.d.ts +14 -0
  481. package/dist/esm/websocket/cachePromise.d.ts.map +1 -0
  482. package/dist/esm/websocket/cachePromise.js +27 -0
  483. package/dist/esm/websocket/cachePromise.js.map +1 -0
  484. package/dist/esm/websocket/types.d.ts +60 -0
  485. package/dist/esm/websocket/types.d.ts.map +1 -0
  486. package/dist/esm/websocket/types.js +2 -0
  487. package/dist/esm/websocket/types.js.map +1 -0
  488. package/dist/esm/websocket/wsLog.d.ts +50 -0
  489. package/dist/esm/websocket/wsLog.d.ts.map +1 -0
  490. package/dist/esm/websocket/wsLog.js +68 -0
  491. package/dist/esm/websocket/wsLog.js.map +1 -0
  492. package/dist/types/client/PerpsClient.d.ts +285 -0
  493. package/dist/types/client/PerpsClient.d.ts.map +1 -0
  494. package/dist/types/client/bindProvider.d.ts +13 -0
  495. package/dist/types/client/bindProvider.d.ts.map +1 -0
  496. package/dist/types/client/createPerpsClient.d.ts +37 -0
  497. package/dist/types/client/createPerpsClient.d.ts.map +1 -0
  498. package/dist/types/client/requireProvider.d.ts +12 -0
  499. package/dist/types/client/requireProvider.d.ts.map +1 -0
  500. package/dist/types/errors/PerpsError.d.ts +16 -0
  501. package/dist/types/errors/PerpsError.d.ts.map +1 -0
  502. package/dist/types/errors/constants.d.ts +11 -0
  503. package/dist/types/errors/constants.d.ts.map +1 -0
  504. package/dist/types/index.d.ts +86 -0
  505. package/dist/types/index.d.ts.map +1 -0
  506. package/dist/types/registry/assetRegistry.d.ts +25 -0
  507. package/dist/types/registry/assetRegistry.d.ts.map +1 -0
  508. package/dist/types/registry/marketRegistry.d.ts +42 -0
  509. package/dist/types/registry/marketRegistry.d.ts.map +1 -0
  510. package/dist/types/registry/referenceDataRegistry.d.ts +44 -0
  511. package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -0
  512. package/dist/types/services/createAction.d.ts +26 -0
  513. package/dist/types/services/createAction.d.ts.map +1 -0
  514. package/dist/types/services/executeAction.d.ts +26 -0
  515. package/dist/types/services/executeAction.d.ts.map +1 -0
  516. package/dist/types/services/getAccount.d.ts +35 -0
  517. package/dist/types/services/getAccount.d.ts.map +1 -0
  518. package/dist/types/services/getActivity.d.ts +39 -0
  519. package/dist/types/services/getActivity.d.ts.map +1 -0
  520. package/dist/types/services/getAssets.d.ts +27 -0
  521. package/dist/types/services/getAssets.d.ts.map +1 -0
  522. package/dist/types/services/getFills.d.ts +38 -0
  523. package/dist/types/services/getFills.d.ts.map +1 -0
  524. package/dist/types/services/getMarket.d.ts +34 -0
  525. package/dist/types/services/getMarket.d.ts.map +1 -0
  526. package/dist/types/services/getMarkets.d.ts +28 -0
  527. package/dist/types/services/getMarkets.d.ts.map +1 -0
  528. package/dist/types/services/getMeta.d.ts +21 -0
  529. package/dist/types/services/getMeta.d.ts.map +1 -0
  530. package/dist/types/services/getOhlcv.d.ts +36 -0
  531. package/dist/types/services/getOhlcv.d.ts.map +1 -0
  532. package/dist/types/services/getOrder.d.ts +33 -0
  533. package/dist/types/services/getOrder.d.ts.map +1 -0
  534. package/dist/types/services/getOrderbook.d.ts +24 -0
  535. package/dist/types/services/getOrderbook.d.ts.map +1 -0
  536. package/dist/types/services/getOrders.d.ts +35 -0
  537. package/dist/types/services/getOrders.d.ts.map +1 -0
  538. package/dist/types/services/getPositions.d.ts +35 -0
  539. package/dist/types/services/getPositions.d.ts.map +1 -0
  540. package/dist/types/services/getPrices.d.ts +21 -0
  541. package/dist/types/services/getPrices.d.ts.map +1 -0
  542. package/dist/types/services/getProviders.d.ts +22 -0
  543. package/dist/types/services/getProviders.d.ts.map +1 -0
  544. package/dist/types/services/getQuote.d.ts +42 -0
  545. package/dist/types/services/getQuote.d.ts.map +1 -0
  546. package/dist/types/services/getTermsAcceptance.d.ts +26 -0
  547. package/dist/types/services/getTermsAcceptance.d.ts.map +1 -0
  548. package/dist/types/services/resolveQuote.d.ts +26 -0
  549. package/dist/types/services/resolveQuote.d.ts.map +1 -0
  550. package/dist/types/services/resolveSubscribeQuote.d.ts +31 -0
  551. package/dist/types/services/resolveSubscribeQuote.d.ts.map +1 -0
  552. package/dist/types/storage/parseStoredRecord.d.ts +29 -0
  553. package/dist/types/storage/parseStoredRecord.d.ts.map +1 -0
  554. package/dist/types/storage/storage.d.ts +15 -0
  555. package/dist/types/storage/storage.d.ts.map +1 -0
  556. package/dist/types/storage/types.d.ts +14 -0
  557. package/dist/types/storage/types.d.ts.map +1 -0
  558. package/dist/types/transport/fetchWithRetry.d.ts +22 -0
  559. package/dist/types/transport/fetchWithRetry.d.ts.map +1 -0
  560. package/dist/types/transport/request.d.ts +25 -0
  561. package/dist/types/transport/request.d.ts.map +1 -0
  562. package/dist/types/transport/retryPolicy.d.ts +106 -0
  563. package/dist/types/transport/retryPolicy.d.ts.map +1 -0
  564. package/dist/types/types/api.d.ts +214 -0
  565. package/dist/types/types/api.d.ts.map +1 -0
  566. package/dist/types/types/config.d.ts +70 -0
  567. package/dist/types/types/config.d.ts.map +1 -0
  568. package/dist/types/types/provider.d.ts +330 -0
  569. package/dist/types/types/provider.d.ts.map +1 -0
  570. package/dist/types/utils/accountSummary.d.ts +13 -0
  571. package/dist/types/utils/accountSummary.d.ts.map +1 -0
  572. package/dist/types/utils/assertNever.d.ts +20 -0
  573. package/dist/types/utils/assertNever.d.ts.map +1 -0
  574. package/dist/types/utils/calculations.d.ts +223 -0
  575. package/dist/types/utils/calculations.d.ts.map +1 -0
  576. package/dist/types/utils/depositChain.d.ts +25 -0
  577. package/dist/types/utils/depositChain.d.ts.map +1 -0
  578. package/dist/types/utils/explorer.d.ts +33 -0
  579. package/dist/types/utils/explorer.d.ts.map +1 -0
  580. package/dist/types/utils/fillClassification.d.ts +13 -0
  581. package/dist/types/utils/fillClassification.d.ts.map +1 -0
  582. package/dist/types/utils/format.d.ts +66 -0
  583. package/dist/types/utils/format.d.ts.map +1 -0
  584. package/dist/types/utils/orderClassification.d.ts +47 -0
  585. package/dist/types/utils/orderClassification.d.ts.map +1 -0
  586. package/dist/types/utils/orderMath.d.ts +44 -0
  587. package/dist/types/utils/orderMath.d.ts.map +1 -0
  588. package/dist/types/utils/parse.d.ts +22 -0
  589. package/dist/types/utils/parse.d.ts.map +1 -0
  590. package/dist/types/utils/positionMath.d.ts +107 -0
  591. package/dist/types/utils/positionMath.d.ts.map +1 -0
  592. package/dist/types/utils/signTypedData.d.ts +18 -0
  593. package/dist/types/utils/signTypedData.d.ts.map +1 -0
  594. package/dist/types/utils/sleep.d.ts +7 -0
  595. package/dist/types/utils/sleep.d.ts.map +1 -0
  596. package/dist/types/utils/units.d.ts +27 -0
  597. package/dist/types/utils/units.d.ts.map +1 -0
  598. package/dist/types/utils/validation.d.ts +18 -0
  599. package/dist/types/utils/validation.d.ts.map +1 -0
  600. package/dist/types/version.d.ts +3 -0
  601. package/dist/types/version.d.ts.map +1 -0
  602. package/dist/types/websocket/PerpsWsClient.d.ts +100 -0
  603. package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -0
  604. package/dist/types/websocket/ReconnectingWebSocket.d.ts +130 -0
  605. package/dist/types/websocket/ReconnectingWebSocket.d.ts.map +1 -0
  606. package/dist/types/websocket/WsProviderBase.d.ts +89 -0
  607. package/dist/types/websocket/WsProviderBase.d.ts.map +1 -0
  608. package/dist/types/websocket/cachePromise.d.ts +14 -0
  609. package/dist/types/websocket/cachePromise.d.ts.map +1 -0
  610. package/dist/types/websocket/types.d.ts +60 -0
  611. package/dist/types/websocket/types.d.ts.map +1 -0
  612. package/dist/types/websocket/wsLog.d.ts +50 -0
  613. package/dist/types/websocket/wsLog.d.ts.map +1 -0
  614. package/package.json +63 -0
  615. package/src/client/PerpsClient.ts +686 -0
  616. package/src/client/bindProvider.ts +24 -0
  617. package/src/client/createPerpsClient.ts +100 -0
  618. package/src/client/requireProvider.ts +29 -0
  619. package/src/errors/PerpsError.ts +23 -0
  620. package/src/errors/constants.ts +10 -0
  621. package/src/index.ts +215 -0
  622. package/src/registry/assetRegistry.ts +62 -0
  623. package/src/registry/marketRegistry.ts +100 -0
  624. package/src/registry/referenceDataRegistry.ts +95 -0
  625. package/src/services/createAction.ts +52 -0
  626. package/src/services/executeAction.ts +56 -0
  627. package/src/services/getAccount.ts +46 -0
  628. package/src/services/getActivity.ts +57 -0
  629. package/src/services/getAssets.ts +38 -0
  630. package/src/services/getFills.ts +55 -0
  631. package/src/services/getMarket.ts +52 -0
  632. package/src/services/getMarkets.ts +40 -0
  633. package/src/services/getMeta.ts +32 -0
  634. package/src/services/getOhlcv.ts +52 -0
  635. package/src/services/getOrder.ts +44 -0
  636. package/src/services/getOrderbook.ts +37 -0
  637. package/src/services/getOrders.ts +51 -0
  638. package/src/services/getPositions.ts +51 -0
  639. package/src/services/getPrices.ts +33 -0
  640. package/src/services/getProviders.ts +33 -0
  641. package/src/services/getQuote.ts +58 -0
  642. package/src/services/getTermsAcceptance.ts +34 -0
  643. package/src/services/resolveQuote.ts +90 -0
  644. package/src/services/resolveSubscribeQuote.ts +107 -0
  645. package/src/storage/parseStoredRecord.ts +55 -0
  646. package/src/storage/storage.ts +60 -0
  647. package/src/storage/types.ts +13 -0
  648. package/src/transport/fetchWithRetry.ts +116 -0
  649. package/src/transport/request.ts +123 -0
  650. package/src/transport/retryPolicy.ts +202 -0
  651. package/src/types/api.ts +239 -0
  652. package/src/types/config.ts +79 -0
  653. package/src/types/provider.ts +429 -0
  654. package/src/utils/accountSummary.ts +46 -0
  655. package/src/utils/assertNever.ts +23 -0
  656. package/src/utils/calculations.ts +407 -0
  657. package/src/utils/depositChain.ts +37 -0
  658. package/src/utils/explorer.ts +51 -0
  659. package/src/utils/fillClassification.ts +51 -0
  660. package/src/utils/format.ts +212 -0
  661. package/src/utils/orderClassification.ts +96 -0
  662. package/src/utils/orderMath.ts +134 -0
  663. package/src/utils/parse.ts +30 -0
  664. package/src/utils/positionMath.ts +149 -0
  665. package/src/utils/signTypedData.ts +41 -0
  666. package/src/utils/sleep.ts +7 -0
  667. package/src/utils/units.ts +39 -0
  668. package/src/utils/validation.ts +38 -0
  669. package/src/version.ts +2 -0
  670. package/src/websocket/PerpsWsClient.ts +204 -0
  671. package/src/websocket/ReconnectingWebSocket.ts +353 -0
  672. package/src/websocket/WsProviderBase.ts +333 -0
  673. package/src/websocket/cachePromise.ts +30 -0
  674. package/src/websocket/types.ts +75 -0
  675. package/src/websocket/wsLog.ts +82 -0
@@ -0,0 +1,56 @@
1
+ import type {
2
+ ActionType,
3
+ ExecuteActionResponse,
4
+ SignedActionStep,
5
+ } from '@lifi/perps-types'
6
+ import type { Address } from 'viem'
7
+ import { request } from '../transport/request.js'
8
+ import type { SDKRequestOptions } from '../types/config.js'
9
+ import type { PerpsSDKClient } from '../types/provider.js'
10
+
11
+ /**
12
+ * Parameters for {@link executeAction}.
13
+ *
14
+ * @public
15
+ */
16
+ export interface ExecuteActionParams {
17
+ provider: string
18
+ address: Address
19
+ signerAddress?: Address
20
+ action: ActionType
21
+ actions: SignedActionStep[]
22
+ }
23
+
24
+ /**
25
+ * Submit client-signed `ActionStep`s to the backend for execution. This is a
26
+ * money-moving write — the request is never auto-retried (the signed bytes
27
+ * could already have landed on a transport failure).
28
+ *
29
+ * @throws {PerpsError} On backend error responses, network, or parsing errors.
30
+ * @public
31
+ */
32
+ export async function executeAction(
33
+ client: PerpsSDKClient,
34
+ params: ExecuteActionParams,
35
+ options?: SDKRequestOptions
36
+ ): Promise<ExecuteActionResponse> {
37
+ return request<ExecuteActionResponse>(
38
+ client.config,
39
+ `${client.config.apiUrl}/executeAction`,
40
+ {
41
+ method: 'POST',
42
+ // Money-moving write: a network/5xx failure is outcome-unknown, so the
43
+ // request must never be auto-resubmitted (the signed bytes could already
44
+ // have landed). Retries stay enabled for reads and `createAction`.
45
+ retry: false,
46
+ body: JSON.stringify({
47
+ provider: params.provider,
48
+ address: params.address,
49
+ signerAddress: params.signerAddress,
50
+ action: params.action,
51
+ actions: params.actions,
52
+ }),
53
+ },
54
+ options
55
+ )
56
+ }
@@ -0,0 +1,46 @@
1
+ import type { AccountResponse } from '@lifi/perps-types'
2
+ import type { Address } from 'viem'
3
+ import { requireProvider } from '../client/requireProvider.js'
4
+ import type { SDKRequestOptions } from '../types/config.js'
5
+ import type { PerpsSDKClient } from '../types/provider.js'
6
+
7
+ /**
8
+ * Parameters for {@link getAccount}.
9
+ *
10
+ * @public
11
+ */
12
+ export interface GetAccountParams {
13
+ provider: string
14
+ address: Address
15
+ }
16
+
17
+ /**
18
+ * Get account information (balances, margin, fee tier, typed config).
19
+ * Delegates to the registered venue plugin (direct-to-venue); requires the
20
+ * provider plugin to be registered on the client.
21
+ *
22
+ * Use {@link getPositions} and {@link getOrders} to fetch positions and orders
23
+ * separately.
24
+ *
25
+ * @throws {PerpsError} When the provider plugin is not registered, or on
26
+ * backend / network / parsing errors.
27
+ * @example
28
+ * ```ts
29
+ * const account = await getAccount(client, {
30
+ * provider: 'hyperliquid',
31
+ * address: '0x1234...',
32
+ * })
33
+ * console.log(account.balances)
34
+ * ```
35
+ * @public
36
+ */
37
+ export async function getAccount(
38
+ client: PerpsSDKClient,
39
+ params: GetAccountParams,
40
+ options?: SDKRequestOptions
41
+ ): Promise<AccountResponse> {
42
+ return requireProvider(client, params.provider).getAccount(
43
+ { address: params.address },
44
+ options
45
+ )
46
+ }
@@ -0,0 +1,57 @@
1
+ import type { ActivitiesResponse, ActivityType } from '@lifi/perps-types'
2
+ import type { Address } from 'viem'
3
+ import { requireProvider } from '../client/requireProvider.js'
4
+ import type { SDKRequestOptions } from '../types/config.js'
5
+ import type { PerpsSDKClient } from '../types/provider.js'
6
+
7
+ /**
8
+ * Parameters for {@link getActivity}.
9
+ *
10
+ * @public
11
+ */
12
+ export interface GetActivityParams {
13
+ provider: string
14
+ address: Address
15
+ limit?: number
16
+ cursor?: string
17
+ /** Filter: activity after this timestamp (ms) */
18
+ startTime?: number
19
+ /** Filter: activity before this timestamp (ms) */
20
+ endTime?: number
21
+ type?: ActivityType[]
22
+ }
23
+
24
+ /**
25
+ * Get account activity (deposits, withdrawals, liquidations, funding payments).
26
+ * Delegates to the registered venue plugin (direct-to-venue); requires the
27
+ * provider plugin to be registered on the client.
28
+ *
29
+ * @throws {PerpsError} When the provider plugin is not registered, or on
30
+ * backend / network / parsing errors.
31
+ * @example
32
+ * ```ts
33
+ * const { items, pagination } = await getActivity(client, {
34
+ * provider: 'hyperliquid',
35
+ * address: '0x1234...',
36
+ * limit: 50,
37
+ * })
38
+ * ```
39
+ * @public
40
+ */
41
+ export async function getActivity(
42
+ client: PerpsSDKClient,
43
+ params: GetActivityParams,
44
+ options?: SDKRequestOptions
45
+ ): Promise<ActivitiesResponse> {
46
+ return requireProvider(client, params.provider).getActivity(
47
+ {
48
+ address: params.address,
49
+ limit: params.limit,
50
+ cursor: params.cursor,
51
+ startTime: params.startTime,
52
+ endTime: params.endTime,
53
+ type: params.type,
54
+ },
55
+ options
56
+ )
57
+ }
@@ -0,0 +1,38 @@
1
+ import type { AssetsResponse } from '@lifi/perps-types'
2
+ import { buildUrl, request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Parameters for {@link getAssets}.
8
+ *
9
+ * @public
10
+ */
11
+ export interface GetAssetsParams {
12
+ provider: string
13
+ }
14
+
15
+ /**
16
+ * Get the token/asset registry for a provider. Thin pass-through to the
17
+ * LI.FI backend's Valkey-cached `/perps/assets` route, which centralises the
18
+ * `asset id → symbol → logoURI` join so the SDK never calls a provider's
19
+ * REST API directly for static registry data.
20
+ *
21
+ * @throws {PerpsError} On backend, network, or parsing errors.
22
+ * @example
23
+ * ```ts
24
+ * const client = createPerpsClient({ integrator: 'my-app' })
25
+ * const { assets } = await getAssets(client, { provider: 'lighter' })
26
+ * ```
27
+ * @public
28
+ */
29
+ export async function getAssets(
30
+ client: PerpsSDKClient,
31
+ params: GetAssetsParams,
32
+ options?: SDKRequestOptions
33
+ ): Promise<AssetsResponse> {
34
+ const url = buildUrl(`${client.config.apiUrl}/assets`, {
35
+ provider: params.provider,
36
+ })
37
+ return request<AssetsResponse>(client.config, url, {}, options)
38
+ }
@@ -0,0 +1,55 @@
1
+ import type { FillsResponse } from '@lifi/perps-types'
2
+ import type { Address } from 'viem'
3
+ import { requireProvider } from '../client/requireProvider.js'
4
+ import type { SDKRequestOptions } from '../types/config.js'
5
+ import type { PerpsSDKClient } from '../types/provider.js'
6
+
7
+ /**
8
+ * Parameters for {@link getFills}.
9
+ *
10
+ * @public
11
+ */
12
+ export interface GetFillsParams {
13
+ provider: string
14
+ address: Address
15
+ limit?: number
16
+ cursor?: string
17
+ /** Filter: fills after this timestamp (ms) */
18
+ startTime?: number
19
+ /** Filter: fills before this timestamp (ms) */
20
+ endTime?: number
21
+ }
22
+
23
+ /**
24
+ * Get order fills for an account. Delegates to the registered venue plugin
25
+ * (direct-to-venue); requires the provider plugin to be registered on the
26
+ * client.
27
+ *
28
+ * @throws {PerpsError} When the provider plugin is not registered, or on
29
+ * backend / network / parsing errors.
30
+ * @example
31
+ * ```ts
32
+ * const { items, pagination } = await getFills(client, {
33
+ * provider: 'hyperliquid',
34
+ * address: '0x1234...',
35
+ * limit: 50,
36
+ * })
37
+ * ```
38
+ * @public
39
+ */
40
+ export async function getFills(
41
+ client: PerpsSDKClient,
42
+ params: GetFillsParams,
43
+ options?: SDKRequestOptions
44
+ ): Promise<FillsResponse> {
45
+ return requireProvider(client, params.provider).getFills(
46
+ {
47
+ address: params.address,
48
+ limit: params.limit,
49
+ cursor: params.cursor,
50
+ startTime: params.startTime,
51
+ endTime: params.endTime,
52
+ },
53
+ options
54
+ )
55
+ }
@@ -0,0 +1,52 @@
1
+ import type { Market, MarketsResponse } from '@lifi/perps-types'
2
+ import { buildUrl, request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Parameters for {@link getMarket}.
8
+ *
9
+ * @public
10
+ */
11
+ export interface GetMarketParams {
12
+ provider: string
13
+ /**
14
+ * Opaque provider `Market.id` (e.g. `"BTC"`, `"xyz:PURR"`, `"@142"` on
15
+ * Hyperliquid; `"0"`, `"1"` on Lighter). Pass a `displaySymbol` here and
16
+ * lookups will 404 for providers where the two diverge.
17
+ */
18
+ marketId: string
19
+ }
20
+
21
+ /**
22
+ * Get a specific market by its opaque marketId. Requests the single market
23
+ * from the backend `/markets` route (filtered by `marketIds`) and returns the
24
+ * first match; the backend responds 404 (thrown as a {@link PerpsError}) when
25
+ * nothing matches.
26
+ *
27
+ * @throws {PerpsError} On backend (e.g. 404), network, or parsing errors.
28
+ * @example
29
+ * ```ts
30
+ * const client = createPerpsClient({ integrator: 'my-app' })
31
+ * const market = await getMarket(client, { provider: 'hyperliquid', marketId: 'BTC' })
32
+ * console.log(market.baseAsset.displaySymbol)
33
+ * ```
34
+ * @public
35
+ */
36
+ export async function getMarket(
37
+ client: PerpsSDKClient,
38
+ params: GetMarketParams,
39
+ options?: SDKRequestOptions
40
+ ): Promise<Market> {
41
+ const url = buildUrl(`${client.config.apiUrl}/markets`, {
42
+ provider: params.provider,
43
+ marketIds: params.marketId,
44
+ })
45
+ const { markets } = await request<MarketsResponse>(
46
+ client.config,
47
+ url,
48
+ {},
49
+ options
50
+ )
51
+ return markets[0]
52
+ }
@@ -0,0 +1,40 @@
1
+ import type { MarketsResponse } from '@lifi/perps-types'
2
+ import { buildUrl, request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Parameters for {@link getMarkets}.
8
+ *
9
+ * @public
10
+ */
11
+ export interface GetMarketsParams {
12
+ provider: string
13
+ /** Optional filter — opaque `Market.id`s (not display symbols). */
14
+ marketIds?: string[]
15
+ }
16
+
17
+ /**
18
+ * Get all available markets for a provider. Thin pass-through to the LI.FI
19
+ * backend's Valkey-cached `/perps/markets` route — the canonical source of
20
+ * public market data for widget consumers.
21
+ *
22
+ * @throws {PerpsError} On backend, network, or parsing errors.
23
+ * @example
24
+ * ```ts
25
+ * const client = createPerpsClient({ integrator: 'my-app' })
26
+ * const { markets } = await getMarkets(client, { provider: 'hyperliquid' })
27
+ * ```
28
+ * @public
29
+ */
30
+ export async function getMarkets(
31
+ client: PerpsSDKClient,
32
+ params: GetMarketsParams,
33
+ options?: SDKRequestOptions
34
+ ): Promise<MarketsResponse> {
35
+ const url = buildUrl(`${client.config.apiUrl}/markets`, {
36
+ provider: params.provider,
37
+ marketIds: params.marketIds?.join(','),
38
+ })
39
+ return request<MarketsResponse>(client.config, url, {}, options)
40
+ }
@@ -0,0 +1,32 @@
1
+ import type { Meta } from '@lifi/perps-types'
2
+ import { request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Get platform metadata: the API version and any active platform-level notices.
8
+ *
9
+ * @param client - The SDK client instance
10
+ * @param options - Request options (e.g., AbortSignal)
11
+ * @returns Platform version and the list of active notices
12
+ * @throws {PerpsError} On API error responses
13
+ * @throws {PerpsError} On network or parsing errors
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const client = createPerpsClient({ integrator: 'my-app' })
18
+ * const { version, notices } = await getMeta(client)
19
+ * ```
20
+ * @public
21
+ */
22
+ export async function getMeta(
23
+ client: PerpsSDKClient,
24
+ options?: SDKRequestOptions
25
+ ): Promise<Meta> {
26
+ return request<Meta>(
27
+ client.config,
28
+ `${client.config.apiUrl}/meta`,
29
+ {},
30
+ options
31
+ )
32
+ }
@@ -0,0 +1,52 @@
1
+ import type { OhlcvInterval, OhlcvResponse } from '@lifi/perps-types'
2
+ import { buildUrl, request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Parameters for {@link getOhlcv}.
8
+ *
9
+ * @public
10
+ */
11
+ export interface GetOhlcvParams {
12
+ provider: string
13
+ /** Opaque provider `Market.id` (not `displaySymbol`). */
14
+ marketId: string
15
+ interval: OhlcvInterval
16
+ /** Unix timestamp in milliseconds */
17
+ startTime?: number
18
+ /** Unix timestamp in milliseconds */
19
+ endTime?: number
20
+ limit?: number
21
+ }
22
+
23
+ /**
24
+ * Get OHLCV (candlestick) data for a market.
25
+ *
26
+ * @throws {PerpsError} On backend, network, or parsing errors.
27
+ * @example
28
+ * ```ts
29
+ * const { candles } = await getOhlcv(client, {
30
+ * provider: 'hyperliquid',
31
+ * marketId: 'BTC',
32
+ * interval: '1h',
33
+ * limit: 100,
34
+ * })
35
+ * ```
36
+ * @public
37
+ */
38
+ export async function getOhlcv(
39
+ client: PerpsSDKClient,
40
+ params: GetOhlcvParams,
41
+ options?: SDKRequestOptions
42
+ ): Promise<OhlcvResponse> {
43
+ const url = buildUrl(`${client.config.apiUrl}/ohlcv`, {
44
+ provider: params.provider,
45
+ marketId: params.marketId,
46
+ interval: params.interval,
47
+ startTime: params.startTime,
48
+ endTime: params.endTime,
49
+ limit: params.limit,
50
+ })
51
+ return request<OhlcvResponse>(client.config, url, {}, options)
52
+ }
@@ -0,0 +1,44 @@
1
+ import type { Order } from '@lifi/perps-types'
2
+ import type { Address } from 'viem'
3
+ import { requireProvider } from '../client/requireProvider.js'
4
+ import type { SDKRequestOptions } from '../types/config.js'
5
+ import type { PerpsSDKClient } from '../types/provider.js'
6
+
7
+ /**
8
+ * Parameters for {@link getOrder}.
9
+ *
10
+ * @public
11
+ */
12
+ export interface GetOrderParams {
13
+ provider: string
14
+ address: Address
15
+ id: string
16
+ }
17
+
18
+ /**
19
+ * Get a specific order by ID. Delegates to the registered venue plugin
20
+ * (direct-to-venue); requires the provider plugin to be registered on the
21
+ * client.
22
+ *
23
+ * @throws {PerpsError} When the provider plugin is not registered, or on
24
+ * backend / network / parsing errors.
25
+ * @example
26
+ * ```ts
27
+ * const order = await getOrder(client, {
28
+ * provider: 'hyperliquid',
29
+ * address: '0x1234...',
30
+ * id: '123456',
31
+ * })
32
+ * ```
33
+ * @public
34
+ */
35
+ export async function getOrder(
36
+ client: PerpsSDKClient,
37
+ params: GetOrderParams,
38
+ options?: SDKRequestOptions
39
+ ): Promise<Order> {
40
+ return requireProvider(client, params.provider).getOrder(
41
+ { address: params.address, id: params.id },
42
+ options
43
+ )
44
+ }
@@ -0,0 +1,37 @@
1
+ import type { OrderbookResponse } from '@lifi/perps-types'
2
+ import { buildUrl, request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Parameters for {@link getOrderbook}.
8
+ *
9
+ * @public
10
+ */
11
+ export interface GetOrderbookParams {
12
+ provider: string
13
+ /** Opaque provider `Market.id` (not `displaySymbol`). */
14
+ marketId: string
15
+ /** Number of levels to return (default varies by DEX) */
16
+ depth?: number
17
+ }
18
+
19
+ /**
20
+ * Get an orderbook backfill snapshot for a market. Pair with a provider WS
21
+ * subscription for live updates.
22
+ *
23
+ * @throws {PerpsError} On backend error responses, network, or parsing errors.
24
+ * @public
25
+ */
26
+ export async function getOrderbook(
27
+ client: PerpsSDKClient,
28
+ params: GetOrderbookParams,
29
+ options?: SDKRequestOptions
30
+ ): Promise<OrderbookResponse> {
31
+ const url = buildUrl(`${client.config.apiUrl}/orderbook`, {
32
+ provider: params.provider,
33
+ marketId: params.marketId,
34
+ depth: params.depth,
35
+ })
36
+ return request<OrderbookResponse>(client.config, url, {}, options)
37
+ }
@@ -0,0 +1,51 @@
1
+ import type { OrdersResponse } from '@lifi/perps-types'
2
+ import type { Address } from 'viem'
3
+ import { requireProvider } from '../client/requireProvider.js'
4
+ import type { SDKRequestOptions } from '../types/config.js'
5
+ import type { PerpsSDKClient } from '../types/provider.js'
6
+
7
+ /**
8
+ * Parameters for {@link getOrders}.
9
+ *
10
+ * @public
11
+ */
12
+ export interface GetOrdersParams {
13
+ provider: string
14
+ address: Address
15
+ /** Optional filter — opaque `Market.id` (not `displaySymbol`) */
16
+ marketId?: string
17
+ limit?: number
18
+ cursor?: string
19
+ }
20
+
21
+ /**
22
+ * Get open orders and trigger orders for an account. Delegates to the
23
+ * registered venue plugin (direct-to-venue); requires the provider plugin to be
24
+ * registered on the client.
25
+ *
26
+ * @throws {PerpsError} When the provider plugin is not registered, or on
27
+ * backend / network / parsing errors.
28
+ * @example
29
+ * ```ts
30
+ * const { openOrders, triggerOrders } = await getOrders(client, {
31
+ * provider: 'hyperliquid',
32
+ * address: '0x1234...',
33
+ * })
34
+ * ```
35
+ * @public
36
+ */
37
+ export async function getOrders(
38
+ client: PerpsSDKClient,
39
+ params: GetOrdersParams,
40
+ options?: SDKRequestOptions
41
+ ): Promise<OrdersResponse> {
42
+ return requireProvider(client, params.provider).getOrders(
43
+ {
44
+ address: params.address,
45
+ marketId: params.marketId,
46
+ limit: params.limit,
47
+ cursor: params.cursor,
48
+ },
49
+ options
50
+ )
51
+ }
@@ -0,0 +1,51 @@
1
+ import type { PositionsResponse } from '@lifi/perps-types'
2
+ import type { Address } from 'viem'
3
+ import { requireProvider } from '../client/requireProvider.js'
4
+ import type { SDKRequestOptions } from '../types/config.js'
5
+ import type { PerpsSDKClient } from '../types/provider.js'
6
+
7
+ /**
8
+ * Parameters for {@link getPositions}.
9
+ *
10
+ * @public
11
+ */
12
+ export interface GetPositionsParams {
13
+ provider: string
14
+ address: Address
15
+ /** Optional filter — opaque `Market.id` (not `displaySymbol`) */
16
+ marketId?: string
17
+ limit?: number
18
+ cursor?: string
19
+ }
20
+
21
+ /**
22
+ * Get open positions for an account. Delegates to the registered venue plugin
23
+ * (direct-to-venue); requires the provider plugin to be registered on the
24
+ * client.
25
+ *
26
+ * @throws {PerpsError} When the provider plugin is not registered, or on
27
+ * backend / network / parsing errors.
28
+ * @example
29
+ * ```ts
30
+ * const { positions } = await getPositions(client, {
31
+ * provider: 'hyperliquid',
32
+ * address: '0x1234...',
33
+ * })
34
+ * ```
35
+ * @public
36
+ */
37
+ export async function getPositions(
38
+ client: PerpsSDKClient,
39
+ params: GetPositionsParams,
40
+ options?: SDKRequestOptions
41
+ ): Promise<PositionsResponse> {
42
+ return requireProvider(client, params.provider).getPositions(
43
+ {
44
+ address: params.address,
45
+ marketId: params.marketId,
46
+ limit: params.limit,
47
+ cursor: params.cursor,
48
+ },
49
+ options
50
+ )
51
+ }
@@ -0,0 +1,33 @@
1
+ import type { PricesResponse } from '@lifi/perps-types'
2
+ import { buildUrl, request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Parameters for {@link getPrices}.
8
+ *
9
+ * @public
10
+ */
11
+ export interface GetPricesParams {
12
+ provider: string
13
+ /** Optional filter — opaque `Market.id`s (not display symbols). */
14
+ marketIds?: string[]
15
+ }
16
+
17
+ /**
18
+ * Get current prices for markets, optionally filtered by `Market.id`.
19
+ *
20
+ * @throws {PerpsError} On backend error responses, network, or parsing errors.
21
+ * @public
22
+ */
23
+ export async function getPrices(
24
+ client: PerpsSDKClient,
25
+ params: GetPricesParams,
26
+ options?: SDKRequestOptions
27
+ ): Promise<PricesResponse> {
28
+ const url = buildUrl(`${client.config.apiUrl}/prices`, {
29
+ provider: params.provider,
30
+ marketIds: params.marketIds?.join(','),
31
+ })
32
+ return request<PricesResponse>(client.config, url, {}, options)
33
+ }
@@ -0,0 +1,33 @@
1
+ import type { ProvidersResponse } from '@lifi/perps-types'
2
+ import { request } from '../transport/request.js'
3
+ import type { SDKRequestOptions } from '../types/config.js'
4
+ import type { PerpsSDKClient } from '../types/provider.js'
5
+
6
+ /**
7
+ * Get all available providers.
8
+ *
9
+ * @param client - The SDK client instance
10
+ * @param options - Request options (e.g., AbortSignal)
11
+ * @returns List of supported providers with their authorization requirements
12
+ * @throws {PerpsError} On API error responses
13
+ * @throws {PerpsError} On network or parsing errors
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const client = createPerpsClient({ integrator: 'my-app' })
18
+ * const { providers } = await getProviders(client)
19
+ * console.log(providers) // [{ key: 'hyperliquid', name: 'Hyperliquid', ... }]
20
+ * ```
21
+ * @public
22
+ */
23
+ export async function getProviders(
24
+ client: PerpsSDKClient,
25
+ options?: SDKRequestOptions
26
+ ): Promise<ProvidersResponse> {
27
+ return request<ProvidersResponse>(
28
+ client.config,
29
+ `${client.config.apiUrl}/providers`,
30
+ {},
31
+ options
32
+ )
33
+ }