@lifi/perps-sdk-provider-lighter 0.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +176 -0
  3. package/dist/cjs/LighterProvider.d.ts +20 -0
  4. package/dist/cjs/LighterProvider.d.ts.map +1 -0
  5. package/dist/cjs/LighterProvider.js +592 -0
  6. package/dist/cjs/LighterProvider.js.map +1 -0
  7. package/dist/cjs/accountConfig.d.ts +3 -0
  8. package/dist/cjs/accountConfig.d.ts.map +1 -0
  9. package/dist/cjs/accountConfig.js +69 -0
  10. package/dist/cjs/accountConfig.js.map +1 -0
  11. package/dist/cjs/accountSummary.d.ts +3 -0
  12. package/dist/cjs/accountSummary.d.ts.map +1 -0
  13. package/dist/cjs/accountSummary.js +8 -0
  14. package/dist/cjs/accountSummary.js.map +1 -0
  15. package/dist/cjs/constants.d.ts +14 -0
  16. package/dist/cjs/constants.d.ts.map +1 -0
  17. package/dist/cjs/constants.js +18 -0
  18. package/dist/cjs/constants.js.map +1 -0
  19. package/dist/cjs/index.d.ts +11 -0
  20. package/dist/cjs/index.d.ts.map +1 -0
  21. package/dist/cjs/index.js +35 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/cjs/package.json +1 -0
  24. package/dist/cjs/signers/LighterKeyStore.d.ts +18 -0
  25. package/dist/cjs/signers/LighterKeyStore.d.ts.map +1 -0
  26. package/dist/cjs/signers/LighterKeyStore.js +54 -0
  27. package/dist/cjs/signers/LighterKeyStore.js.map +1 -0
  28. package/dist/cjs/signers/LighterReadOnlyTokenManager.d.ts +56 -0
  29. package/dist/cjs/signers/LighterReadOnlyTokenManager.d.ts.map +1 -0
  30. package/dist/cjs/signers/LighterReadOnlyTokenManager.js +127 -0
  31. package/dist/cjs/signers/LighterReadOnlyTokenManager.js.map +1 -0
  32. package/dist/cjs/signers/LighterSigner.d.ts +41 -0
  33. package/dist/cjs/signers/LighterSigner.d.ts.map +1 -0
  34. package/dist/cjs/signers/LighterSigner.js +175 -0
  35. package/dist/cjs/signers/LighterSigner.js.map +1 -0
  36. package/dist/cjs/signers/createAuthToken.d.ts +12 -0
  37. package/dist/cjs/signers/createAuthToken.d.ts.map +1 -0
  38. package/dist/cjs/signers/createAuthToken.js +28 -0
  39. package/dist/cjs/signers/createAuthToken.js.map +1 -0
  40. package/dist/cjs/signers/index.d.ts +11 -0
  41. package/dist/cjs/signers/index.d.ts.map +1 -0
  42. package/dist/cjs/signers/index.js +19 -0
  43. package/dist/cjs/signers/index.js.map +1 -0
  44. package/dist/cjs/signers/signActions.d.ts +15 -0
  45. package/dist/cjs/signers/signActions.d.ts.map +1 -0
  46. package/dist/cjs/signers/signActions.js +142 -0
  47. package/dist/cjs/signers/signActions.js.map +1 -0
  48. package/dist/cjs/signers/wasmLoader.d.ts +42 -0
  49. package/dist/cjs/signers/wasmLoader.d.ts.map +1 -0
  50. package/dist/cjs/signers/wasmLoader.js +166 -0
  51. package/dist/cjs/signers/wasmLoader.js.map +1 -0
  52. package/dist/cjs/types/account.d.ts +97 -0
  53. package/dist/cjs/types/account.d.ts.map +1 -0
  54. package/dist/cjs/types/account.js +3 -0
  55. package/dist/cjs/types/account.js.map +1 -0
  56. package/dist/cjs/types/action.d.ts +72 -0
  57. package/dist/cjs/types/action.d.ts.map +1 -0
  58. package/dist/cjs/types/action.js +23 -0
  59. package/dist/cjs/types/action.js.map +1 -0
  60. package/dist/cjs/types/activity.d.ts +73 -0
  61. package/dist/cjs/types/activity.d.ts.map +1 -0
  62. package/dist/cjs/types/activity.js +3 -0
  63. package/dist/cjs/types/activity.js.map +1 -0
  64. package/dist/cjs/types/asset.d.ts +122 -0
  65. package/dist/cjs/types/asset.d.ts.map +1 -0
  66. package/dist/cjs/types/asset.js +3 -0
  67. package/dist/cjs/types/asset.js.map +1 -0
  68. package/dist/cjs/types/fill.d.ts +29 -0
  69. package/dist/cjs/types/fill.d.ts.map +1 -0
  70. package/dist/cjs/types/fill.js +3 -0
  71. package/dist/cjs/types/fill.js.map +1 -0
  72. package/dist/cjs/types/index.d.ts +9 -0
  73. package/dist/cjs/types/index.d.ts.map +1 -0
  74. package/dist/cjs/types/index.js +25 -0
  75. package/dist/cjs/types/index.js.map +1 -0
  76. package/dist/cjs/types/order.d.ts +57 -0
  77. package/dist/cjs/types/order.d.ts.map +1 -0
  78. package/dist/cjs/types/order.js +3 -0
  79. package/dist/cjs/types/order.js.map +1 -0
  80. package/dist/cjs/types/submit.d.ts +39 -0
  81. package/dist/cjs/types/submit.d.ts.map +1 -0
  82. package/dist/cjs/types/submit.js +3 -0
  83. package/dist/cjs/types/submit.js.map +1 -0
  84. package/dist/cjs/types/ws.d.ts +84 -0
  85. package/dist/cjs/types/ws.d.ts.map +1 -0
  86. package/dist/cjs/types/ws.js +3 -0
  87. package/dist/cjs/types/ws.js.map +1 -0
  88. package/dist/cjs/utils/activityCursor.d.ts +12 -0
  89. package/dist/cjs/utils/activityCursor.d.ts.map +1 -0
  90. package/dist/cjs/utils/activityCursor.js +85 -0
  91. package/dist/cjs/utils/activityCursor.js.map +1 -0
  92. package/dist/cjs/utils/apiClient.d.ts +26 -0
  93. package/dist/cjs/utils/apiClient.d.ts.map +1 -0
  94. package/dist/cjs/utils/apiClient.js +94 -0
  95. package/dist/cjs/utils/apiClient.js.map +1 -0
  96. package/dist/cjs/utils/fetchDetailedAccount.d.ts +5 -0
  97. package/dist/cjs/utils/fetchDetailedAccount.d.ts.map +1 -0
  98. package/dist/cjs/utils/fetchDetailedAccount.js +22 -0
  99. package/dist/cjs/utils/fetchDetailedAccount.js.map +1 -0
  100. package/dist/cjs/utils/index.d.ts +16 -0
  101. package/dist/cjs/utils/index.d.ts.map +1 -0
  102. package/dist/cjs/utils/index.js +45 -0
  103. package/dist/cjs/utils/index.js.map +1 -0
  104. package/dist/cjs/utils/lighterAsset.d.ts +3 -0
  105. package/dist/cjs/utils/lighterAsset.d.ts.map +1 -0
  106. package/dist/cjs/utils/lighterAsset.js +12 -0
  107. package/dist/cjs/utils/lighterAsset.js.map +1 -0
  108. package/dist/cjs/utils/liquidation.d.ts +4 -0
  109. package/dist/cjs/utils/liquidation.d.ts.map +1 -0
  110. package/dist/cjs/utils/liquidation.js +16 -0
  111. package/dist/cjs/utils/liquidation.js.map +1 -0
  112. package/dist/cjs/utils/mapFill.d.ts +4 -0
  113. package/dist/cjs/utils/mapFill.d.ts.map +1 -0
  114. package/dist/cjs/utils/mapFill.js +61 -0
  115. package/dist/cjs/utils/mapFill.js.map +1 -0
  116. package/dist/cjs/utils/mapOpenPositions.d.ts +4 -0
  117. package/dist/cjs/utils/mapOpenPositions.d.ts.map +1 -0
  118. package/dist/cjs/utils/mapOpenPositions.js +9 -0
  119. package/dist/cjs/utils/mapOpenPositions.js.map +1 -0
  120. package/dist/cjs/utils/mapOrder.d.ts +15 -0
  121. package/dist/cjs/utils/mapOrder.d.ts.map +1 -0
  122. package/dist/cjs/utils/mapOrder.js +164 -0
  123. package/dist/cjs/utils/mapOrder.js.map +1 -0
  124. package/dist/cjs/utils/mapPosition.d.ts +4 -0
  125. package/dist/cjs/utils/mapPosition.d.ts.map +1 -0
  126. package/dist/cjs/utils/mapPosition.js +30 -0
  127. package/dist/cjs/utils/mapPosition.js.map +1 -0
  128. package/dist/cjs/utils/ohlcvInterval.d.ts +2 -0
  129. package/dist/cjs/utils/ohlcvInterval.d.ts.map +1 -0
  130. package/dist/cjs/utils/ohlcvInterval.js +26 -0
  131. package/dist/cjs/utils/ohlcvInterval.js.map +1 -0
  132. package/dist/cjs/utils/orderFormatting.d.ts +4 -0
  133. package/dist/cjs/utils/orderFormatting.d.ts.map +1 -0
  134. package/dist/cjs/utils/orderFormatting.js +23 -0
  135. package/dist/cjs/utils/orderFormatting.js.map +1 -0
  136. package/dist/cjs/utils/time.d.ts +3 -0
  137. package/dist/cjs/utils/time.d.ts.map +1 -0
  138. package/dist/cjs/utils/time.js +8 -0
  139. package/dist/cjs/utils/time.js.map +1 -0
  140. package/dist/cjs/utils/wireEncoding.d.ts +9 -0
  141. package/dist/cjs/utils/wireEncoding.d.ts.map +1 -0
  142. package/dist/cjs/utils/wireEncoding.js +87 -0
  143. package/dist/cjs/utils/wireEncoding.js.map +1 -0
  144. package/dist/cjs/websocket/LighterWsProvider.d.ts +45 -0
  145. package/dist/cjs/websocket/LighterWsProvider.d.ts.map +1 -0
  146. package/dist/cjs/websocket/LighterWsProvider.js +396 -0
  147. package/dist/cjs/websocket/LighterWsProvider.js.map +1 -0
  148. package/dist/esm/LighterProvider.d.ts +105 -0
  149. package/dist/esm/LighterProvider.d.ts.map +1 -0
  150. package/dist/esm/LighterProvider.js +684 -0
  151. package/dist/esm/LighterProvider.js.map +1 -0
  152. package/dist/esm/accountConfig.d.ts +14 -0
  153. package/dist/esm/accountConfig.d.ts.map +1 -0
  154. package/dist/esm/accountConfig.js +135 -0
  155. package/dist/esm/accountConfig.js.map +1 -0
  156. package/dist/esm/accountSummary.d.ts +12 -0
  157. package/dist/esm/accountSummary.d.ts.map +1 -0
  158. package/dist/esm/accountSummary.js +14 -0
  159. package/dist/esm/accountSummary.js.map +1 -0
  160. package/dist/esm/constants.d.ts +74 -0
  161. package/dist/esm/constants.d.ts.map +1 -0
  162. package/dist/esm/constants.js +73 -0
  163. package/dist/esm/constants.js.map +1 -0
  164. package/dist/esm/index.d.ts +22 -0
  165. package/dist/esm/index.d.ts.map +1 -0
  166. package/dist/esm/index.js +22 -0
  167. package/dist/esm/index.js.map +1 -0
  168. package/dist/esm/package.json +1 -0
  169. package/dist/esm/signers/LighterKeyStore.d.ts +24 -0
  170. package/dist/esm/signers/LighterKeyStore.d.ts.map +1 -0
  171. package/dist/esm/signers/LighterKeyStore.js +55 -0
  172. package/dist/esm/signers/LighterKeyStore.js.map +1 -0
  173. package/dist/esm/signers/LighterReadOnlyTokenManager.d.ts +157 -0
  174. package/dist/esm/signers/LighterReadOnlyTokenManager.d.ts.map +1 -0
  175. package/dist/esm/signers/LighterReadOnlyTokenManager.js +194 -0
  176. package/dist/esm/signers/LighterReadOnlyTokenManager.js.map +1 -0
  177. package/dist/esm/signers/LighterSigner.d.ts +94 -0
  178. package/dist/esm/signers/LighterSigner.d.ts.map +1 -0
  179. package/dist/esm/signers/LighterSigner.js +228 -0
  180. package/dist/esm/signers/LighterSigner.js.map +1 -0
  181. package/dist/esm/signers/createAuthToken.d.ts +36 -0
  182. package/dist/esm/signers/createAuthToken.d.ts.map +1 -0
  183. package/dist/esm/signers/createAuthToken.js +42 -0
  184. package/dist/esm/signers/createAuthToken.js.map +1 -0
  185. package/dist/esm/signers/index.d.ts +11 -0
  186. package/dist/esm/signers/index.d.ts.map +1 -0
  187. package/dist/esm/signers/index.js +7 -0
  188. package/dist/esm/signers/index.js.map +1 -0
  189. package/dist/esm/signers/signActions.d.ts +54 -0
  190. package/dist/esm/signers/signActions.d.ts.map +1 -0
  191. package/dist/esm/signers/signActions.js +193 -0
  192. package/dist/esm/signers/signActions.js.map +1 -0
  193. package/dist/esm/signers/wasmLoader.d.ts +79 -0
  194. package/dist/esm/signers/wasmLoader.d.ts.map +1 -0
  195. package/dist/esm/signers/wasmLoader.js +180 -0
  196. package/dist/esm/signers/wasmLoader.js.map +1 -0
  197. package/dist/esm/types/account.d.ts +113 -0
  198. package/dist/esm/types/account.d.ts.map +1 -0
  199. package/dist/esm/types/account.js +4 -0
  200. package/dist/esm/types/account.js.map +1 -0
  201. package/dist/esm/types/action.d.ts +146 -0
  202. package/dist/esm/types/action.d.ts.map +1 -0
  203. package/dist/esm/types/action.js +50 -0
  204. package/dist/esm/types/action.js.map +1 -0
  205. package/dist/esm/types/activity.d.ts +83 -0
  206. package/dist/esm/types/activity.d.ts.map +1 -0
  207. package/dist/esm/types/activity.js +4 -0
  208. package/dist/esm/types/activity.js.map +1 -0
  209. package/dist/esm/types/asset.d.ts +134 -0
  210. package/dist/esm/types/asset.d.ts.map +1 -0
  211. package/dist/esm/types/asset.js +3 -0
  212. package/dist/esm/types/asset.js.map +1 -0
  213. package/dist/esm/types/fill.d.ts +31 -0
  214. package/dist/esm/types/fill.d.ts.map +1 -0
  215. package/dist/esm/types/fill.js +3 -0
  216. package/dist/esm/types/fill.js.map +1 -0
  217. package/dist/esm/types/index.d.ts +9 -0
  218. package/dist/esm/types/index.d.ts.map +1 -0
  219. package/dist/esm/types/index.js +12 -0
  220. package/dist/esm/types/index.js.map +1 -0
  221. package/dist/esm/types/order.d.ts +61 -0
  222. package/dist/esm/types/order.d.ts.map +1 -0
  223. package/dist/esm/types/order.js +3 -0
  224. package/dist/esm/types/order.js.map +1 -0
  225. package/dist/esm/types/submit.d.ts +76 -0
  226. package/dist/esm/types/submit.d.ts.map +1 -0
  227. package/dist/esm/types/submit.js +3 -0
  228. package/dist/esm/types/submit.js.map +1 -0
  229. package/dist/esm/types/ws.d.ts +124 -0
  230. package/dist/esm/types/ws.d.ts.map +1 -0
  231. package/dist/esm/types/ws.js +11 -0
  232. package/dist/esm/types/ws.js.map +1 -0
  233. package/dist/esm/utils/activityCursor.d.ts +51 -0
  234. package/dist/esm/utils/activityCursor.d.ts.map +1 -0
  235. package/dist/esm/utils/activityCursor.js +99 -0
  236. package/dist/esm/utils/activityCursor.js.map +1 -0
  237. package/dist/esm/utils/apiClient.d.ts +65 -0
  238. package/dist/esm/utils/apiClient.d.ts.map +1 -0
  239. package/dist/esm/utils/apiClient.js +131 -0
  240. package/dist/esm/utils/apiClient.js.map +1 -0
  241. package/dist/esm/utils/fetchDetailedAccount.d.ts +11 -0
  242. package/dist/esm/utils/fetchDetailedAccount.d.ts.map +1 -0
  243. package/dist/esm/utils/fetchDetailedAccount.js +24 -0
  244. package/dist/esm/utils/fetchDetailedAccount.js.map +1 -0
  245. package/dist/esm/utils/index.d.ts +16 -0
  246. package/dist/esm/utils/index.d.ts.map +1 -0
  247. package/dist/esm/utils/index.js +17 -0
  248. package/dist/esm/utils/index.js.map +1 -0
  249. package/dist/esm/utils/lighterAsset.d.ts +4 -0
  250. package/dist/esm/utils/lighterAsset.d.ts.map +1 -0
  251. package/dist/esm/utils/lighterAsset.js +9 -0
  252. package/dist/esm/utils/lighterAsset.js.map +1 -0
  253. package/dist/esm/utils/liquidation.d.ts +22 -0
  254. package/dist/esm/utils/liquidation.d.ts.map +1 -0
  255. package/dist/esm/utils/liquidation.js +31 -0
  256. package/dist/esm/utils/liquidation.js.map +1 -0
  257. package/dist/esm/utils/mapFill.d.ts +10 -0
  258. package/dist/esm/utils/mapFill.d.ts.map +1 -0
  259. package/dist/esm/utils/mapFill.js +72 -0
  260. package/dist/esm/utils/mapFill.js.map +1 -0
  261. package/dist/esm/utils/mapOpenPositions.d.ts +11 -0
  262. package/dist/esm/utils/mapOpenPositions.d.ts.map +1 -0
  263. package/dist/esm/utils/mapOpenPositions.js +12 -0
  264. package/dist/esm/utils/mapOpenPositions.js.map +1 -0
  265. package/dist/esm/utils/mapOrder.d.ts +72 -0
  266. package/dist/esm/utils/mapOrder.d.ts.map +1 -0
  267. package/dist/esm/utils/mapOrder.js +219 -0
  268. package/dist/esm/utils/mapOrder.js.map +1 -0
  269. package/dist/esm/utils/mapPosition.d.ts +9 -0
  270. package/dist/esm/utils/mapPosition.d.ts.map +1 -0
  271. package/dist/esm/utils/mapPosition.js +34 -0
  272. package/dist/esm/utils/mapPosition.js.map +1 -0
  273. package/dist/esm/utils/ohlcvInterval.d.ts +3 -0
  274. package/dist/esm/utils/ohlcvInterval.d.ts.map +1 -0
  275. package/dist/esm/utils/ohlcvInterval.js +30 -0
  276. package/dist/esm/utils/ohlcvInterval.js.map +1 -0
  277. package/dist/esm/utils/orderFormatting.d.ts +29 -0
  278. package/dist/esm/utils/orderFormatting.d.ts.map +1 -0
  279. package/dist/esm/utils/orderFormatting.js +41 -0
  280. package/dist/esm/utils/orderFormatting.js.map +1 -0
  281. package/dist/esm/utils/time.d.ts +5 -0
  282. package/dist/esm/utils/time.d.ts.map +1 -0
  283. package/dist/esm/utils/time.js +5 -0
  284. package/dist/esm/utils/time.js.map +1 -0
  285. package/dist/esm/utils/wireEncoding.d.ts +72 -0
  286. package/dist/esm/utils/wireEncoding.d.ts.map +1 -0
  287. package/dist/esm/utils/wireEncoding.js +129 -0
  288. package/dist/esm/utils/wireEncoding.js.map +1 -0
  289. package/dist/esm/websocket/LighterWsProvider.d.ts +97 -0
  290. package/dist/esm/websocket/LighterWsProvider.d.ts.map +1 -0
  291. package/dist/esm/websocket/LighterWsProvider.js +489 -0
  292. package/dist/esm/websocket/LighterWsProvider.js.map +1 -0
  293. package/dist/types/LighterProvider.d.ts +105 -0
  294. package/dist/types/LighterProvider.d.ts.map +1 -0
  295. package/dist/types/accountConfig.d.ts +14 -0
  296. package/dist/types/accountConfig.d.ts.map +1 -0
  297. package/dist/types/accountSummary.d.ts +12 -0
  298. package/dist/types/accountSummary.d.ts.map +1 -0
  299. package/dist/types/constants.d.ts +74 -0
  300. package/dist/types/constants.d.ts.map +1 -0
  301. package/dist/types/index.d.ts +22 -0
  302. package/dist/types/index.d.ts.map +1 -0
  303. package/dist/types/signers/LighterKeyStore.d.ts +24 -0
  304. package/dist/types/signers/LighterKeyStore.d.ts.map +1 -0
  305. package/dist/types/signers/LighterReadOnlyTokenManager.d.ts +157 -0
  306. package/dist/types/signers/LighterReadOnlyTokenManager.d.ts.map +1 -0
  307. package/dist/types/signers/LighterSigner.d.ts +94 -0
  308. package/dist/types/signers/LighterSigner.d.ts.map +1 -0
  309. package/dist/types/signers/createAuthToken.d.ts +36 -0
  310. package/dist/types/signers/createAuthToken.d.ts.map +1 -0
  311. package/dist/types/signers/index.d.ts +11 -0
  312. package/dist/types/signers/index.d.ts.map +1 -0
  313. package/dist/types/signers/signActions.d.ts +54 -0
  314. package/dist/types/signers/signActions.d.ts.map +1 -0
  315. package/dist/types/signers/wasmLoader.d.ts +79 -0
  316. package/dist/types/signers/wasmLoader.d.ts.map +1 -0
  317. package/dist/types/types/account.d.ts +113 -0
  318. package/dist/types/types/account.d.ts.map +1 -0
  319. package/dist/types/types/action.d.ts +146 -0
  320. package/dist/types/types/action.d.ts.map +1 -0
  321. package/dist/types/types/activity.d.ts +83 -0
  322. package/dist/types/types/activity.d.ts.map +1 -0
  323. package/dist/types/types/asset.d.ts +134 -0
  324. package/dist/types/types/asset.d.ts.map +1 -0
  325. package/dist/types/types/fill.d.ts +31 -0
  326. package/dist/types/types/fill.d.ts.map +1 -0
  327. package/dist/types/types/index.d.ts +9 -0
  328. package/dist/types/types/index.d.ts.map +1 -0
  329. package/dist/types/types/order.d.ts +61 -0
  330. package/dist/types/types/order.d.ts.map +1 -0
  331. package/dist/types/types/submit.d.ts +76 -0
  332. package/dist/types/types/submit.d.ts.map +1 -0
  333. package/dist/types/types/ws.d.ts +124 -0
  334. package/dist/types/types/ws.d.ts.map +1 -0
  335. package/dist/types/utils/activityCursor.d.ts +51 -0
  336. package/dist/types/utils/activityCursor.d.ts.map +1 -0
  337. package/dist/types/utils/apiClient.d.ts +65 -0
  338. package/dist/types/utils/apiClient.d.ts.map +1 -0
  339. package/dist/types/utils/fetchDetailedAccount.d.ts +11 -0
  340. package/dist/types/utils/fetchDetailedAccount.d.ts.map +1 -0
  341. package/dist/types/utils/index.d.ts +16 -0
  342. package/dist/types/utils/index.d.ts.map +1 -0
  343. package/dist/types/utils/lighterAsset.d.ts +4 -0
  344. package/dist/types/utils/lighterAsset.d.ts.map +1 -0
  345. package/dist/types/utils/liquidation.d.ts +22 -0
  346. package/dist/types/utils/liquidation.d.ts.map +1 -0
  347. package/dist/types/utils/mapFill.d.ts +10 -0
  348. package/dist/types/utils/mapFill.d.ts.map +1 -0
  349. package/dist/types/utils/mapOpenPositions.d.ts +11 -0
  350. package/dist/types/utils/mapOpenPositions.d.ts.map +1 -0
  351. package/dist/types/utils/mapOrder.d.ts +72 -0
  352. package/dist/types/utils/mapOrder.d.ts.map +1 -0
  353. package/dist/types/utils/mapPosition.d.ts +9 -0
  354. package/dist/types/utils/mapPosition.d.ts.map +1 -0
  355. package/dist/types/utils/ohlcvInterval.d.ts +3 -0
  356. package/dist/types/utils/ohlcvInterval.d.ts.map +1 -0
  357. package/dist/types/utils/orderFormatting.d.ts +29 -0
  358. package/dist/types/utils/orderFormatting.d.ts.map +1 -0
  359. package/dist/types/utils/time.d.ts +5 -0
  360. package/dist/types/utils/time.d.ts.map +1 -0
  361. package/dist/types/utils/wireEncoding.d.ts +72 -0
  362. package/dist/types/utils/wireEncoding.d.ts.map +1 -0
  363. package/dist/types/websocket/LighterWsProvider.d.ts +97 -0
  364. package/dist/types/websocket/LighterWsProvider.d.ts.map +1 -0
  365. package/dist/wasm/lighter-signer.wasm +0 -0
  366. package/dist/wasm/wasm_exec.js +575 -0
  367. package/package.json +67 -0
  368. package/src/LighterProvider.ts +1167 -0
  369. package/src/accountConfig.ts +162 -0
  370. package/src/accountSummary.ts +22 -0
  371. package/src/constants.ts +89 -0
  372. package/src/index.ts +37 -0
  373. package/src/signers/LighterKeyStore.ts +79 -0
  374. package/src/signers/LighterReadOnlyTokenManager.ts +340 -0
  375. package/src/signers/LighterSigner.ts +400 -0
  376. package/src/signers/createAuthToken.ts +69 -0
  377. package/src/signers/index.ts +36 -0
  378. package/src/signers/signActions.ts +311 -0
  379. package/src/signers/wasmLoader.ts +293 -0
  380. package/src/types/account.ts +123 -0
  381. package/src/types/action.ts +163 -0
  382. package/src/types/activity.ts +94 -0
  383. package/src/types/asset.ts +146 -0
  384. package/src/types/fill.ts +42 -0
  385. package/src/types/index.ts +12 -0
  386. package/src/types/order.ts +65 -0
  387. package/src/types/submit.ts +83 -0
  388. package/src/types/ws.ts +136 -0
  389. package/src/utils/activityCursor.ts +150 -0
  390. package/src/utils/apiClient.ts +185 -0
  391. package/src/utils/fetchDetailedAccount.ts +46 -0
  392. package/src/utils/index.ts +38 -0
  393. package/src/utils/lighterAsset.ts +10 -0
  394. package/src/utils/liquidation.ts +39 -0
  395. package/src/utils/mapFill.ts +108 -0
  396. package/src/utils/mapOpenPositions.ts +18 -0
  397. package/src/utils/mapOrder.ts +258 -0
  398. package/src/utils/mapPosition.ts +42 -0
  399. package/src/utils/ohlcvInterval.ts +34 -0
  400. package/src/utils/orderFormatting.ts +46 -0
  401. package/src/utils/time.ts +6 -0
  402. package/src/utils/wireEncoding.ts +179 -0
  403. package/src/websocket/LighterWsProvider.ts +725 -0
  404. package/wasm/lighter-signer.wasm +0 -0
  405. package/wasm/wasm_exec.js +575 -0
@@ -0,0 +1,123 @@
1
+ // Account / balance shapes returned by Lighter's `/api/v1/account` and
2
+ // `/api/v1/accountLimits` endpoints.
3
+
4
+ /** @public */
5
+ export type LtAccountPosition = {
6
+ market_id: number
7
+ /** Present on REST `/api/v1/account` rows; WS position frames may omit it. */
8
+ symbol?: string
9
+ initial_margin_fraction: string
10
+ open_order_count: number
11
+ pending_order_count: number
12
+ position_tied_order_count: number
13
+ sign: number
14
+ position: string
15
+ avg_entry_price: string
16
+ position_value: string
17
+ unrealized_pnl: string
18
+ realized_pnl: string
19
+ liquidation_price: string
20
+ total_funding_paid_out: string
21
+ margin_mode: number
22
+ allocated_margin: string
23
+ total_discount: string
24
+ }
25
+
26
+ /** @public */
27
+ export type LtAccountAsset = {
28
+ symbol: string
29
+ asset_id: number
30
+ balance: string
31
+ locked_balance: string
32
+ }
33
+
34
+ /**
35
+ * Account-position row from `/api/v1/account`. Identical shape to
36
+ * `LtAccountPosition` — alias kept for read-side clarity at call sites that
37
+ * fan out off per-market order counts (`open_order_count`,
38
+ * `pending_order_count`, `position_tied_order_count`).
39
+ * @public
40
+ */
41
+ export type LtDetailedAccountPosition = LtAccountPosition
42
+
43
+ /** @public */
44
+ export interface LtApprovedIntegrator {
45
+ account_index: number
46
+ name: string
47
+ max_perps_taker_fee: number
48
+ max_perps_maker_fee: number
49
+ max_spot_taker_fee: number
50
+ max_spot_maker_fee: number
51
+ approval_expiry: number
52
+ }
53
+
54
+ /** @public */
55
+ export interface LtDetailedAccount {
56
+ code: number
57
+ account_type: number
58
+ index: number
59
+ l1_address: string
60
+ cancel_all_time: number
61
+ total_order_count: number
62
+ total_isolated_order_count: number
63
+ pending_order_count: number
64
+ available_balance: string
65
+ status: number
66
+ collateral: string
67
+ transaction_time: number
68
+ account_trading_mode: number
69
+ account_index: number
70
+ name: string
71
+ description: string
72
+ positions: LtDetailedAccountPosition[]
73
+ assets: LtAccountAsset[]
74
+ total_asset_value: string
75
+ cross_asset_value: string
76
+ approved_integrators?: LtApprovedIntegrator[]
77
+ }
78
+
79
+ /** @public */
80
+ export interface LtDetailedAccountsResponse {
81
+ code: number
82
+ total: number
83
+ accounts: LtDetailedAccount[]
84
+ }
85
+
86
+ /** @public */
87
+ export interface LtAccountLimits {
88
+ code: number
89
+ message?: string
90
+ max_llp_percentage: number
91
+ max_llp_amount: string
92
+ user_tier: string
93
+ user_tier_name?: string
94
+ can_create_public_pool: boolean
95
+ current_maker_fee_tick: number
96
+ current_taker_fee_tick: number
97
+ leased_lit: string
98
+ effective_lit_stakes: string
99
+ }
100
+
101
+ /** @public */
102
+ export interface LtSubAccount {
103
+ code: number
104
+ account_type: number
105
+ index: number
106
+ l1_address: string
107
+ cancel_all_time: number
108
+ total_order_count: number
109
+ total_isolated_order_count: number
110
+ pending_order_count: number
111
+ available_balance: string
112
+ status: number
113
+ collateral: string
114
+ transaction_time: number
115
+ account_trading_mode: number
116
+ }
117
+
118
+ /** @public */
119
+ export interface LtAccountsByL1AddressResponse {
120
+ code: number
121
+ l1_address: string
122
+ sub_accounts: LtSubAccount[]
123
+ }
@@ -0,0 +1,163 @@
1
+ // Shapes of `wasmSignParams` per action. The backend populates these and the
2
+ // SDK passes them to the WASM signer alongside SDK-managed fields (nonce,
3
+ // account_index, api_key_index).
4
+
5
+ /**
6
+ * Backend-provided params for SignCreateOrder.
7
+ *
8
+ * @public
9
+ */
10
+ export type LtCreateOrderWasmParams = {
11
+ market_index: number
12
+ client_order_index: number
13
+ base_amount: number
14
+ price: number
15
+ is_ask: number
16
+ order_type: number
17
+ time_in_force: number
18
+ reduce_only: boolean
19
+ trigger_price: number
20
+ order_expiry: number
21
+ integrator_account_index: number
22
+ integrator_taker_fee: number
23
+ integrator_maker_fee: number
24
+ }
25
+
26
+ /**
27
+ * Backend-provided params for SignCancelOrder.
28
+ *
29
+ * @public
30
+ */
31
+ export type LtCancelOrderWasmParams = {
32
+ market_index: number
33
+ order_index: number
34
+ }
35
+
36
+ /**
37
+ * Backend-provided params for SignModifyOrder.
38
+ *
39
+ * @public
40
+ */
41
+ export type LtModifyOrderWasmParams = {
42
+ market_index: number
43
+ order_index: number
44
+ base_amount: number
45
+ price: number
46
+ trigger_price: number
47
+ integrator_account_index: number
48
+ integrator_taker_fee: number
49
+ integrator_maker_fee: number
50
+ }
51
+
52
+ /**
53
+ * Backend-provided params for SignUpdateLeverage.
54
+ *
55
+ * @public
56
+ */
57
+ export type LtUpdateLeverageWasmParams = {
58
+ market_index: number
59
+ fraction: number
60
+ margin_mode: number
61
+ }
62
+
63
+ /**
64
+ * Backend-provided params for SignUpdateMargin.
65
+ *
66
+ * @public
67
+ */
68
+ export type LtUpdateMarginWasmParams = {
69
+ market_index: number
70
+ usdc_amount: number
71
+ direction: number
72
+ }
73
+
74
+ /**
75
+ * Backend-provided params for SignWithdraw.
76
+ *
77
+ * @public
78
+ */
79
+ export type LtWithdrawWasmParams = {
80
+ asset_index: number
81
+ route_type: number
82
+ amount: number
83
+ }
84
+
85
+ /**
86
+ * Backend-provided params for SignCancelAllOrders.
87
+ *
88
+ * @public
89
+ */
90
+ export type LtCancelAllOrdersWasmParams = {
91
+ /** 0=immediate (cancel GTC), 1=scheduled, 2=abort scheduled */
92
+ time_in_force: number
93
+ /** Unix timestamp in milliseconds. Use Date.now() for immediate cancels. */
94
+ timestamp_ms: number
95
+ }
96
+
97
+ /**
98
+ * Backend-provided params for SignChangePubKey (REGISTER_API_KEY).
99
+ *
100
+ * Hybrid signing: this action requires both a WASM blob and an L1 Ethereum
101
+ * signature (the user's wallet signs the ChangePubKey message). The SDK
102
+ * generates the keypair via the WASM signer and fills in `new_public_key`
103
+ * before invoking SignChangePubKey.
104
+ * @public
105
+ */
106
+ export type LtChangePubKeyWasmParams = {
107
+ /** API key slot index to register (0-255). SDK fills in the generated public key. */
108
+ api_key_index: number
109
+ nonce: number
110
+ }
111
+
112
+ /** @public */
113
+ export const LT_ORDER_TYPE_LIMIT = 0
114
+ /** @public */
115
+ export const LT_ORDER_TYPE_MARKET = 1
116
+ /** @public */
117
+ export const LT_ORDER_TYPE_STOP_LOSS = 2
118
+ /** @public */
119
+ export const LT_ORDER_TYPE_STOP_LOSS_LIMIT = 3
120
+ /** @public */
121
+ export const LT_ORDER_TYPE_TAKE_PROFIT = 4
122
+ /** @public */
123
+ export const LT_ORDER_TYPE_TAKE_PROFIT_LIMIT = 5
124
+ /** @public */
125
+ export const LT_ORDER_TYPE_TWAP = 6
126
+
127
+ /** @public */
128
+ export const LT_TIME_IN_FORCE_IOC = 0
129
+ /** @public */
130
+ export const LT_TIME_IN_FORCE_GTC = 1
131
+ /** @public */
132
+ export const LT_TIME_IN_FORCE_POST_ONLY = 2
133
+
134
+ /** @public */
135
+ export const LT_MARGIN_MODE_CROSS = 0
136
+ /** @public */
137
+ export const LT_MARGIN_MODE_ISOLATED = 1
138
+
139
+ /** @public */
140
+ export const LT_MARGIN_DIRECTION_REMOVE = 0
141
+ /** @public */
142
+ export const LT_MARGIN_DIRECTION_ADD = 1
143
+
144
+ /** @public */
145
+ export const LT_ROUTE_PERP = 0
146
+ /** @public */
147
+ export const LT_ROUTE_SPOT = 1
148
+
149
+ /** @public */
150
+ export const LT_ASSET_ID_USDC = 3
151
+
152
+ /** @public */
153
+ export const LT_NIL_TRIGGER_PRICE = 0
154
+ /**
155
+ * Sentinel the lighter-go WASM signer translates to "default 28-day expiry
156
+ * from now" at sign time (`wasm/main.go:325`, `wasm/main.go:898`). On the
157
+ * wire, `OrderExpiry` is an *absolute* Unix-ms timestamp, not a duration;
158
+ * `-1` lets the signer fill in the default, any positive int64 sets an
159
+ * explicit absolute expiry. Matches lighter-python's
160
+ * `DEFAULT_28_DAY_ORDER_EXPIRY`.
161
+ * @public
162
+ */
163
+ export const LT_DEFAULT_ORDER_EXPIRY = -1
@@ -0,0 +1,94 @@
1
+ // Activity history shapes returned by Lighter's REST API
2
+ // (deposits, withdrawals, funding payments, liquidations, transfers).
3
+
4
+ /** @public */
5
+ export interface LtDepositHistoryItem {
6
+ id: string
7
+ asset_id: number
8
+ amount: string
9
+ timestamp: number
10
+ status: string
11
+ l1_tx_hash: string
12
+ }
13
+
14
+ /** @public */
15
+ export interface LtDepositHistoryResponse {
16
+ code: number
17
+ deposits: LtDepositHistoryItem[]
18
+ cursor?: string
19
+ }
20
+
21
+ /** @public */
22
+ export interface LtWithdrawHistoryItem {
23
+ id: string
24
+ asset_id: number
25
+ amount: string
26
+ timestamp: number
27
+ status: string
28
+ type: string
29
+ l1_tx_hash: string
30
+ }
31
+
32
+ /** @public */
33
+ export interface LtWithdrawHistoryResponse {
34
+ code: number
35
+ withdraws: LtWithdrawHistoryItem[]
36
+ cursor?: string
37
+ }
38
+
39
+ /** @public */
40
+ export interface LtPositionFunding {
41
+ timestamp: number
42
+ market_id: number
43
+ funding_id: number
44
+ change: string
45
+ rate: string
46
+ position_size: string
47
+ position_side: string
48
+ }
49
+
50
+ /** @public */
51
+ export interface LtPositionFundingsResponse {
52
+ code: number
53
+ position_fundings: LtPositionFunding[]
54
+ next_cursor?: string
55
+ }
56
+
57
+ /** @public */
58
+ export interface LtLiquidation {
59
+ id: number
60
+ market_id: number
61
+ type: string
62
+ executed_at: number
63
+ }
64
+
65
+ /** @public */
66
+ export interface LtLiquidationsResponse {
67
+ code: number
68
+ liquidations: LtLiquidation[]
69
+ next_cursor?: string
70
+ }
71
+
72
+ /** @public */
73
+ export interface LtTransfer {
74
+ id: string
75
+ asset_id: number
76
+ amount: string
77
+ fee: string
78
+ timestamp: number
79
+ type: string
80
+ from_l1_address: string
81
+ to_l1_address: string
82
+ from_account_index: number
83
+ to_account_index: number
84
+ from_route: 'spot' | 'perps'
85
+ to_route: 'spot' | 'perps'
86
+ tx_hash: string
87
+ }
88
+
89
+ /** @public */
90
+ export interface LtTransferHistoryResponse {
91
+ code: number
92
+ transfers: LtTransfer[]
93
+ cursor?: string
94
+ }
@@ -0,0 +1,146 @@
1
+ // Market / asset / orderbook metadata returned by Lighter's REST API.
2
+
3
+ /** @public */
4
+ export interface LtMarketConfig {
5
+ market_margin_mode: number
6
+ insurance_fund_account_index: number
7
+ liquidation_mode: number
8
+ force_reduce_only: boolean
9
+ trading_hours: string
10
+ funding_fee_discounts_enabled: boolean
11
+ hidden: boolean
12
+ }
13
+
14
+ /** @public */
15
+ export interface LtPerpsOrderBookDetail {
16
+ symbol: string
17
+ market_id: number
18
+ market_type: string
19
+ base_asset_id: number
20
+ quote_asset_id: number
21
+ status: string
22
+ taker_fee: string
23
+ maker_fee: string
24
+ liquidation_fee: string
25
+ min_base_amount: string
26
+ min_quote_amount: string
27
+ order_quote_limit: string
28
+ supported_size_decimals: number
29
+ supported_price_decimals: number
30
+ supported_quote_decimals: number
31
+ size_decimals: number
32
+ price_decimals: number
33
+ quote_multiplier: number
34
+ default_initial_margin_fraction: number
35
+ min_initial_margin_fraction: number
36
+ maintenance_margin_fraction: number
37
+ closeout_margin_fraction: number
38
+ last_trade_price: number
39
+ daily_trades_count: number
40
+ daily_base_token_volume: number
41
+ daily_quote_token_volume: number
42
+ daily_price_low: number
43
+ daily_price_high: number
44
+ daily_price_change: number
45
+ daily_chart: Record<string, unknown>
46
+ open_interest: number
47
+ market_config: LtMarketConfig
48
+ strategy_index: number
49
+ }
50
+
51
+ /** @public */
52
+ export interface LtSpotOrderBookDetail {
53
+ symbol: string
54
+ market_id: number
55
+ market_type: string
56
+ base_asset_id: number
57
+ quote_asset_id: number
58
+ status: string
59
+ taker_fee: string
60
+ maker_fee: string
61
+ liquidation_fee: string
62
+ min_base_amount: string
63
+ min_quote_amount: string
64
+ order_quote_limit: string
65
+ supported_size_decimals: number
66
+ supported_price_decimals: number
67
+ supported_quote_decimals: number
68
+ size_decimals: number
69
+ price_decimals: number
70
+ last_trade_price: number
71
+ daily_trades_count: number
72
+ daily_base_token_volume: number
73
+ daily_quote_token_volume: number
74
+ daily_price_low: number
75
+ daily_price_high: number
76
+ daily_price_change: number
77
+ daily_chart: Record<string, unknown>
78
+ }
79
+
80
+ /** @public */
81
+ export interface LtOrderBookDetailsResponse {
82
+ code: number
83
+ order_book_details: LtPerpsOrderBookDetail[]
84
+ spot_order_book_details: LtSpotOrderBookDetail[]
85
+ }
86
+
87
+ /** @public */
88
+ export interface LtToken {
89
+ symbol: string
90
+ name: string
91
+ logo: string
92
+ logo_extension: string
93
+ market: 'PERPS' | 'SPOT'
94
+ }
95
+
96
+ /** @public */
97
+ export interface LtTokenListResponse {
98
+ code: number
99
+ tokens: LtToken[]
100
+ }
101
+
102
+ /** @public */
103
+ export interface LtAssetDetail {
104
+ asset_id: number
105
+ symbol: string
106
+ l1_decimals: number
107
+ decimals: number
108
+ l1_address: string
109
+ }
110
+
111
+ /** @public */
112
+ export interface LtAssetDetailsResponse {
113
+ code: number
114
+ asset_details: LtAssetDetail[]
115
+ }
116
+
117
+ /** @public */
118
+ export interface LtCandle {
119
+ t: number
120
+ o: number
121
+ h: number
122
+ l: number
123
+ c: number
124
+ v: number
125
+ }
126
+
127
+ /** @public */
128
+ export interface LtCandlesResponse {
129
+ code: number
130
+ r: string
131
+ c: LtCandle[]
132
+ }
133
+
134
+ /** @public */
135
+ export interface LtFundingRate {
136
+ market_id: number
137
+ exchange: string
138
+ symbol: string
139
+ rate: number
140
+ }
141
+
142
+ /** @public */
143
+ export interface LtFundingRatesResponse {
144
+ code: number
145
+ funding_rates: LtFundingRate[]
146
+ }
@@ -0,0 +1,42 @@
1
+ // Trade (fill) shapes returned by Lighter's `/api/v1/trades` endpoint.
2
+
3
+ /** @public */
4
+ export type LtTrade = {
5
+ trade_id: number
6
+ tx_hash: string
7
+ type: string
8
+ market_id: number
9
+ size: string
10
+ price: string
11
+ usd_amount: string
12
+ ask_id: number
13
+ bid_id: number
14
+ ask_account_id: number
15
+ bid_account_id: number
16
+ is_maker_ask: boolean
17
+ block_height: number
18
+ timestamp: number
19
+ // Lighter's OpenAPI spec marks these as required `StrictInt`, but the live
20
+ // /api/v1/trades endpoint omits them on some `type: "trade"` rows (observed
21
+ // on older trades) — keep optional and let the mapper emit `undefined`.
22
+ taker_fee?: number
23
+ maker_fee?: number
24
+ transaction_time: number
25
+ // Per-counterparty position snapshot BEFORE the trade is applied. Signed
26
+ // strings: positive = long, negative = short, "0" / "0.00000" = flat.
27
+ taker_position_size_before: string
28
+ maker_position_size_before: string
29
+ // Per-counterparty entry-quote (notional cost basis) snapshot BEFORE the
30
+ // trade. Paired with `*_position_size_before`, avg entry =
31
+ // entry_quote_before / |position_size_before|. Optional: absent on older
32
+ // trade rows that predate the field.
33
+ taker_entry_quote_before?: string
34
+ maker_entry_quote_before?: string
35
+ }
36
+
37
+ /** @public */
38
+ export interface LtTradesResponse {
39
+ code: number
40
+ next_cursor: string
41
+ trades: LtTrade[]
42
+ }
@@ -0,0 +1,12 @@
1
+ // biome-ignore-all lint/performance/noBarrelFile lint/performance/noReExportAll: single re-export entry point
2
+ // for every Lighter wire type. Internal modules import per-file paths (e.g.
3
+ // `../types/account.js`) to avoid pulling unrelated types into bundles.
4
+
5
+ export * from './account.js'
6
+ export * from './action.js'
7
+ export * from './activity.js'
8
+ export * from './asset.js'
9
+ export * from './fill.js'
10
+ export * from './order.js'
11
+ export * from './submit.js'
12
+ export * from './ws.js'
@@ -0,0 +1,65 @@
1
+ // Order shapes returned by Lighter's REST API.
2
+
3
+ /** @public */
4
+ export type LtOrder = {
5
+ order_index: number
6
+ client_order_index: number
7
+ order_id: string
8
+ client_order_id: string
9
+ market_index: number
10
+ owner_account_index: number
11
+ initial_base_amount: string
12
+ price: string
13
+ nonce: number
14
+ remaining_base_amount: string
15
+ is_ask: boolean
16
+ filled_base_amount: string
17
+ filled_quote_amount: string
18
+ side: string
19
+ type: string
20
+ time_in_force: string
21
+ reduce_only: boolean
22
+ trigger_price: string
23
+ order_expiry: number
24
+ status: string
25
+ trigger_status: string
26
+ trigger_time: number
27
+ parent_order_index: number
28
+ parent_order_id: string
29
+ to_trigger_order_id_0: string
30
+ to_trigger_order_id_1: string
31
+ to_cancel_order_id_0: string
32
+ block_height: number
33
+ timestamp: number
34
+ created_at: number
35
+ updated_at: number
36
+ transaction_time: number
37
+ }
38
+
39
+ /** @public */
40
+ export interface LtOrdersResponse {
41
+ code: number
42
+ next_cursor: string
43
+ orders: LtOrder[]
44
+ }
45
+
46
+ /** @public */
47
+ export interface LtOrderBookOrder {
48
+ order_index: number
49
+ order_id: string
50
+ owner_account_index: number
51
+ initial_base_amount: string
52
+ remaining_base_amount: string
53
+ price: string
54
+ order_expiry: number
55
+ transaction_time: number
56
+ }
57
+
58
+ /** @public */
59
+ export interface LtOrderBookOrdersResponse {
60
+ code: number
61
+ total_asks: number
62
+ asks: LtOrderBookOrder[]
63
+ total_bids: number
64
+ bids: LtOrderBookOrder[]
65
+ }