@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 @@
1
+ {"version":3,"file":"LighterProvider.js","sourceRoot":"","sources":["../../src/LighterProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AccountConfigSetting, LighterAccountConfig, ProviderAction } from '@lifi/perps-types';
2
+ /**
3
+ * Project the union of Lighter setup + options descriptors against the typed
4
+ * `LighterAccountConfig`. Produces exactly one `AccountConfigSetting` per
5
+ * descriptor, in `setup`-then-`options` order (preserving the order in which
6
+ * the backend emits them).
7
+ *
8
+ * @param config Typed account state for the Lighter account.
9
+ * @param setup `Provider.setup` array as emitted by `/providers`.
10
+ * @param options `Provider.options` array as emitted by `/providers`.
11
+ * @public
12
+ */
13
+ export declare function projectLighterConfigSettings(config: LighterAccountConfig, setup: ProviderAction[], options: ProviderAction[]): AccountConfigSetting[];
14
+ //# sourceMappingURL=accountConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountConfig.d.ts","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAyI1B;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,EAAE,GACxB,oBAAoB,EAAE,CAIxB"}
@@ -0,0 +1,135 @@
1
+ import { PerpsError } from '@lifi/perps-sdk';
2
+ import { ActionType, PerpsErrorCode } from '@lifi/perps-types';
3
+ function assertNever(value) {
4
+ throw new Error(`Unreachable: exhaustiveness check failed for value ${JSON.stringify(value)}`);
5
+ }
6
+ /**
7
+ * `account_type` on Lighter's `DetailedAccount` is a `StrictInt` in the
8
+ * public OpenAPI schema (`lighter-python/lighter/models/detailed_account.py`)
9
+ * with no documented integer ↔ name mapping in the Python or Go SDKs.
10
+ *
11
+ * The empirical mapping below follows the public docs' tier ordering
12
+ * (apidocs.lighter.xyz/docs/account-types lists Standard → Premium → Plus)
13
+ * and the Python paper client's `AccountTier` enum ordering (STANDARD
14
+ * first, PREMIUM next). The write side of `/changeAccountTier` accepts the
15
+ * lowercase strings `'standard' | 'premium'` — these are what the
16
+ * descriptor's `ParamOption.value` declarations carry, so this mapping
17
+ * round-trips cleanly with the OptionsModal selection.
18
+ *
19
+ * Lighter publishes a third "Plus" tier (likely integer `2`), but it is
20
+ * not currently settable via the public API, so we deliberately do not
21
+ * map it — a Plus account surfaces as "tier not detected" in the widget
22
+ * rather than offering an option that would 400 on submit. Add
23
+ * `LIGHTER_ACCOUNT_TYPE_PLUS` here (and to the backend descriptor) if
24
+ * Lighter exposes it later.
25
+ *
26
+ * Each integer is a named constant so a correction (e.g. Lighter publishing
27
+ * an authoritative table) is a one-line edit. An unmapped integer projects
28
+ * to `null` and surfaces as "tier not detected" in the widget, so drift is
29
+ * observable rather than silent.
30
+ */
31
+ const LIGHTER_ACCOUNT_TYPE_STANDARD = 0;
32
+ const LIGHTER_ACCOUNT_TYPE_PREMIUM = 1;
33
+ const ACCOUNT_TYPE_INT_TO_WIRE = {
34
+ [LIGHTER_ACCOUNT_TYPE_STANDARD]: 'standard',
35
+ [LIGHTER_ACCOUNT_TYPE_PREMIUM]: 'premium',
36
+ };
37
+ /**
38
+ * Project a single Lighter descriptor against the typed
39
+ * `LighterAccountConfig` into an `AccountConfigSetting`.
40
+ *
41
+ * Mapping table:
42
+ *
43
+ * | descriptor.type | projected values
44
+ * |---------------------------|--------------------------------------------------
45
+ * | REGISTER_API_KEY | [] (no parameters)
46
+ * | APPROVE_READ_ONLY_TOKEN | [] (no parameters)
47
+ * | ACCOUNT_MODE | [{ name: 'mode', value: null }] (Lighter has no
48
+ * | | abstraction-mode equivalent; read-only here)
49
+ * | ACCOUNT_TYPE | [{ name: 'tier', value: config.accountType }]
50
+ *
51
+ * The switch is exhaustive over `ActionType` so enum additions force a
52
+ * compile error in the `default` arm. ActionTypes that are not valid on
53
+ * `Provider.setup` / `Provider.options` throw at runtime.
54
+ */
55
+ function projectLighterDescriptor(descriptor, config) {
56
+ switch (descriptor.type) {
57
+ // `REGISTER_API_KEY` is satisfied only when the locally-held keypair
58
+ // matches the key registered on-chain at this slot — computed client-side
59
+ // in `getAccount` (the SDK owns account reads + the keystore). Backend
60
+ // staging is mutation-only; it never decides satisfaction.
61
+ case ActionType.REGISTER_API_KEY:
62
+ return {
63
+ type: descriptor.type,
64
+ values: [],
65
+ satisfied: config.apiKeyRegistered,
66
+ };
67
+ // `APPROVE_READ_ONLY_TOKEN` is a client-only flow that never reaches
68
+ // the backend, so its satisfaction state lives entirely in the typed
69
+ // `LighterAccountConfig` projection.
70
+ case ActionType.APPROVE_READ_ONLY_TOKEN:
71
+ return {
72
+ type: descriptor.type,
73
+ values: [],
74
+ satisfied: config.readOnlyTokenApproved,
75
+ };
76
+ // Lighter exposes no abstraction-mode equivalent; if a backend descriptor
77
+ // surfaces ACCOUNT_MODE on Lighter it always projects `null` and callers
78
+ // fall back to the descriptor's `default` ParamOption.
79
+ case ActionType.ACCOUNT_MODE:
80
+ return {
81
+ type: descriptor.type,
82
+ values: [{ name: 'mode', value: null }],
83
+ };
84
+ // `tier` is the wire string `/changeAccountTier` accepts; we decode the
85
+ // raw integer `config.accountType` Lighter publishes via the mapping
86
+ // above so the projection matches the descriptor's enumerated values.
87
+ // Unrecognised integers project to `null` (surfaces as "tier not
88
+ // detected" — the widget still lets the user pick a value).
89
+ case ActionType.ACCOUNT_TYPE:
90
+ return {
91
+ type: descriptor.type,
92
+ values: [
93
+ {
94
+ name: 'tier',
95
+ value: ACCOUNT_TYPE_INT_TO_WIRE[config.accountType] ?? null,
96
+ },
97
+ ],
98
+ };
99
+ case ActionType.APPROVE_AGENT:
100
+ case ActionType.APPROVE_BUILDER_FEE:
101
+ case ActionType.SEND_ASSET:
102
+ case ActionType.WITHDRAWAL:
103
+ case ActionType.TRANSFER:
104
+ case ActionType.PLACE_ORDER:
105
+ case ActionType.PLACE_TRIGGER_ORDER:
106
+ case ActionType.CANCEL_ORDER:
107
+ case ActionType.CANCEL_ALL_ORDERS:
108
+ case ActionType.MODIFY_ORDER:
109
+ case ActionType.UPDATE_LEVERAGE:
110
+ case ActionType.UPDATE_POSITION_MARGIN:
111
+ case ActionType.DEPOSIT:
112
+ case ActionType.META_VOTE:
113
+ case ActionType.META_ACCEPT_TERMS:
114
+ throw new PerpsError(PerpsErrorCode.SDKError, `Lighter account-config mapper has no projection for ` +
115
+ `descriptor type '${descriptor.type}' — this ActionType is not ` +
116
+ `valid on Provider.setup / Provider.options for Lighter.`);
117
+ default:
118
+ return assertNever(descriptor.type);
119
+ }
120
+ }
121
+ /**
122
+ * Project the union of Lighter setup + options descriptors against the typed
123
+ * `LighterAccountConfig`. Produces exactly one `AccountConfigSetting` per
124
+ * descriptor, in `setup`-then-`options` order (preserving the order in which
125
+ * the backend emits them).
126
+ *
127
+ * @param config Typed account state for the Lighter account.
128
+ * @param setup `Provider.setup` array as emitted by `/providers`.
129
+ * @param options `Provider.options` array as emitted by `/providers`.
130
+ * @public
131
+ */
132
+ export function projectLighterConfigSettings(config, setup, options) {
133
+ return [...setup, ...options].map((descriptor) => projectLighterDescriptor(descriptor, config));
134
+ }
135
+ //# sourceMappingURL=accountConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountConfig.js","sourceRoot":"","sources":["../../src/accountConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { AccountResponse, AccountSummary, Position } from '@lifi/perps-types';
2
+ /**
3
+ * Roll a Lighter {@link AccountResponse} up into an {@link AccountSummary}.
4
+ * Lighter has a single flat collateral model with no abstraction modes: the
5
+ * collateral rows hold `available_balance` (free margin), so available margin
6
+ * is the collateral as-is and the locked margin (carried by the positions'
7
+ * `marginUsed`) is added back for the gross portfolio value.
8
+ *
9
+ * @public
10
+ */
11
+ export declare function summarizeLighterAccount(account: AccountResponse, positions: Position[]): AccountSummary;
12
+ //# sourceMappingURL=accountSummary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,GACpB,cAAc,CAEhB"}
@@ -0,0 +1,14 @@
1
+ import { summarizeAccount } from '@lifi/perps-sdk';
2
+ /**
3
+ * Roll a Lighter {@link AccountResponse} up into an {@link AccountSummary}.
4
+ * Lighter has a single flat collateral model with no abstraction modes: the
5
+ * collateral rows hold `available_balance` (free margin), so available margin
6
+ * is the collateral as-is and the locked margin (carried by the positions'
7
+ * `marginUsed`) is added back for the gross portfolio value.
8
+ *
9
+ * @public
10
+ */
11
+ export function summarizeLighterAccount(account, positions) {
12
+ return summarizeAccount(account, positions, false);
13
+ }
14
+ //# sourceMappingURL=accountSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../src/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAOlD;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAwB,EACxB,SAAqB;IAErB,OAAO,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AACpD,CAAC"}
@@ -0,0 +1,74 @@
1
+ import type { FeeTier } from '@lifi/perps-types';
2
+ /**
3
+ * Lighter provider key as it appears on `Provider.key` from the backend.
4
+ *
5
+ * @public
6
+ */
7
+ export declare const LIGHTER_PROVIDER_KEY = "lighter";
8
+ /**
9
+ * Default mainnet REST base URL for Lighter.
10
+ *
11
+ * @public
12
+ */
13
+ export declare const DEFAULT_LIGHTER_REST_URL = "https://mainnet.zklighter.elliot.ai";
14
+ /** @internal */
15
+ export declare const DEFAULT_TRADES_LIMIT = 50;
16
+ /**
17
+ * Lighter pairs each maker/taker fee with a 1e6 integer tick:
18
+ * fee_fraction = current_*_fee_tick / 1_000_000
19
+ *
20
+ * See lighter-python `paper_client/types.py:_FEE_TICK` for the canonical scale.
21
+ *
22
+ * @internal
23
+ */
24
+ export declare const LIGHTER_FEE_TICK_SCALE = 1000000;
25
+ /**
26
+ * Lighter's public base fee tier (Standard Account): 0% maker / 0% taker on all
27
+ * perps markets. Per-account Premium tiers exist but require auth to resolve;
28
+ * unauthenticated quotes use this public base. Fractions, not basis points.
29
+ *
30
+ * @public
31
+ */
32
+ export declare const LIGHTER_BASE_FEE_TIER: FeeTier;
33
+ /**
34
+ * Wildcard `market_id` accepted by Lighter's per-market account endpoints to
35
+ * indicate "every market". Used on `accountInactiveOrders`, `positionFunding`,
36
+ * `liquidations`.
37
+ *
38
+ * @internal
39
+ */
40
+ export declare const LIGHTER_ALL_MARKETS_WILDCARD = 255;
41
+ /**
42
+ * Lighter caps `limit` at 100 on positionFunding/liquidations endpoints.
43
+ *
44
+ * @internal
45
+ */
46
+ export declare const LIGHTER_HISTORY_PAGE_SIZE = 100;
47
+ /**
48
+ * Default API key slot — reused per account. Lighter's docs reserve indexes
49
+ * `{0,1,2,3}` for its own desktop/mobile interfaces; user keys start at 4
50
+ * (max 254, with 255 reserved as `NilApiKeyIndex`). 42 is the LI.FI-wide
51
+ * identifier so a user running both the Lighter app and the widget never
52
+ * collides with the app's session key.
53
+ *
54
+ * @public
55
+ */
56
+ export declare const DEFAULT_API_KEY_INDEX = 42;
57
+ /** @internal */
58
+ declare const LIGHTER_CODE_ACCOUNT_NOT_FOUND = 21100;
59
+ /**
60
+ * Lighter body `code` for a rejected/invalid auth token ("invalid auth string").
61
+ *
62
+ * @internal
63
+ */
64
+ declare const LIGHTER_INVALID_AUTH_CODE = 20013;
65
+ /**
66
+ * Lighter body `code` values that mean success. Lighter is inconsistent per
67
+ * endpoint: `/api/v1/account` returns `code: 200`, most others return `code: 0`.
68
+ * A body with no `code` field is also success (no error channel present).
69
+ *
70
+ * @internal
71
+ */
72
+ declare const LIGHTER_SUCCESS_CODES: Set<number>;
73
+ export { LIGHTER_CODE_ACCOUNT_NOT_FOUND, LIGHTER_INVALID_AUTH_CODE, LIGHTER_SUCCESS_CODES, };
74
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,wCAAwC,CAAA;AAE7E,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,UAAY,CAAA;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAoC,CAAA;AAExE;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC,gBAAgB;AAChB,QAAA,MAAM,8BAA8B,QAAQ,CAAA;AAE5C;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,QAAQ,CAAA;AAEvC;;;;;;GAMG;AACH,QAAA,MAAM,qBAAqB,aAAoB,CAAA;AAE/C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,qBAAqB,GACtB,CAAA"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Lighter provider key as it appears on `Provider.key` from the backend.
3
+ *
4
+ * @public
5
+ */
6
+ export const LIGHTER_PROVIDER_KEY = 'lighter';
7
+ /**
8
+ * Default mainnet REST base URL for Lighter.
9
+ *
10
+ * @public
11
+ */
12
+ export const DEFAULT_LIGHTER_REST_URL = 'https://mainnet.zklighter.elliot.ai';
13
+ /** @internal */
14
+ export const DEFAULT_TRADES_LIMIT = 50;
15
+ /**
16
+ * Lighter pairs each maker/taker fee with a 1e6 integer tick:
17
+ * fee_fraction = current_*_fee_tick / 1_000_000
18
+ *
19
+ * See lighter-python `paper_client/types.py:_FEE_TICK` for the canonical scale.
20
+ *
21
+ * @internal
22
+ */
23
+ export const LIGHTER_FEE_TICK_SCALE = 1_000_000;
24
+ /**
25
+ * Lighter's public base fee tier (Standard Account): 0% maker / 0% taker on all
26
+ * perps markets. Per-account Premium tiers exist but require auth to resolve;
27
+ * unauthenticated quotes use this public base. Fractions, not basis points.
28
+ *
29
+ * @public
30
+ */
31
+ export const LIGHTER_BASE_FEE_TIER = { maker: '0', taker: '0' };
32
+ /**
33
+ * Wildcard `market_id` accepted by Lighter's per-market account endpoints to
34
+ * indicate "every market". Used on `accountInactiveOrders`, `positionFunding`,
35
+ * `liquidations`.
36
+ *
37
+ * @internal
38
+ */
39
+ export const LIGHTER_ALL_MARKETS_WILDCARD = 255;
40
+ /**
41
+ * Lighter caps `limit` at 100 on positionFunding/liquidations endpoints.
42
+ *
43
+ * @internal
44
+ */
45
+ export const LIGHTER_HISTORY_PAGE_SIZE = 100;
46
+ /**
47
+ * Default API key slot — reused per account. Lighter's docs reserve indexes
48
+ * `{0,1,2,3}` for its own desktop/mobile interfaces; user keys start at 4
49
+ * (max 254, with 255 reserved as `NilApiKeyIndex`). 42 is the LI.FI-wide
50
+ * identifier so a user running both the Lighter app and the widget never
51
+ * collides with the app's session key.
52
+ *
53
+ * @public
54
+ */
55
+ export const DEFAULT_API_KEY_INDEX = 42;
56
+ /** @internal */
57
+ const LIGHTER_CODE_ACCOUNT_NOT_FOUND = 21100;
58
+ /**
59
+ * Lighter body `code` for a rejected/invalid auth token ("invalid auth string").
60
+ *
61
+ * @internal
62
+ */
63
+ const LIGHTER_INVALID_AUTH_CODE = 20013;
64
+ /**
65
+ * Lighter body `code` values that mean success. Lighter is inconsistent per
66
+ * endpoint: `/api/v1/account` returns `code: 200`, most others return `code: 0`.
67
+ * A body with no `code` field is also success (no error channel present).
68
+ *
69
+ * @internal
70
+ */
71
+ const LIGHTER_SUCCESS_CODES = new Set([0, 200]);
72
+ export { LIGHTER_CODE_ACCOUNT_NOT_FOUND, LIGHTER_INVALID_AUTH_CODE, LIGHTER_SUCCESS_CODES, };
73
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAAqC,CAAA;AAE7E,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAY,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AAExE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAA;AAE5C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEvC,gBAAgB;AAChB,MAAM,8BAA8B,GAAG,KAAK,CAAA;AAE5C;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,KAAK,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AAE/C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,qBAAqB,GACtB,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Lighter provider plugin for `@lifi/perps-sdk`. Serves `PerpsProvider` reads
3
+ * directly from Lighter's REST API (no LI.FI backend hop); auth-gated reads
4
+ * use the user's Lighter read-only token. Also owns `signActions` (the
5
+ * `WASM_BLOB` / `EVM_TX` arms of `PerpsClient.execute`) — `LighterSigner`,
6
+ * `LighterKeyStore`, `LighterReadOnlyTokenManager`, and the WASM blob ship
7
+ * with this package.
8
+ *
9
+ * @packageDocumentation
10
+ * @public
11
+ */
12
+ export { projectLighterConfigSettings } from './accountConfig.js';
13
+ export { summarizeLighterAccount } from './accountSummary.js';
14
+ export { DEFAULT_API_KEY_INDEX, DEFAULT_LIGHTER_REST_URL, LIGHTER_PROVIDER_KEY, } from './constants.js';
15
+ export type { LighterPerpsProvider, LighterProviderOptions, } from './LighterProvider.js';
16
+ export { Lighter, lighterProvider } from './LighterProvider.js';
17
+ export * from './signers/index.js';
18
+ export * from './types/index.js';
19
+ export * from './utils/index.js';
20
+ export type { LighterAuthProvider } from './websocket/LighterWsProvider.js';
21
+ export { LighterWsProvider, type LighterWsProviderOptions, lighterWsProvider, } from './websocket/LighterWsProvider.js';
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE/D,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,YAAY,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,iBAAiB,GAClB,MAAM,kCAAkC,CAAA"}
@@ -0,0 +1,22 @@
1
+ // biome-ignore-all lint/performance/noBarrelFile: package public entry point.
2
+ // biome-ignore-all lint/performance/noReExportAll: package public entry point.
3
+ /**
4
+ * Lighter provider plugin for `@lifi/perps-sdk`. Serves `PerpsProvider` reads
5
+ * directly from Lighter's REST API (no LI.FI backend hop); auth-gated reads
6
+ * use the user's Lighter read-only token. Also owns `signActions` (the
7
+ * `WASM_BLOB` / `EVM_TX` arms of `PerpsClient.execute`) — `LighterSigner`,
8
+ * `LighterKeyStore`, `LighterReadOnlyTokenManager`, and the WASM blob ship
9
+ * with this package.
10
+ *
11
+ * @packageDocumentation
12
+ * @public
13
+ */
14
+ export { projectLighterConfigSettings } from './accountConfig.js';
15
+ export { summarizeLighterAccount } from './accountSummary.js';
16
+ export { DEFAULT_API_KEY_INDEX, DEFAULT_LIGHTER_REST_URL, LIGHTER_PROVIDER_KEY, } from './constants.js';
17
+ export { Lighter, lighterProvider } from './LighterProvider.js';
18
+ export * from './signers/index.js';
19
+ export * from './types/index.js';
20
+ export * from './utils/index.js';
21
+ export { LighterWsProvider, lighterWsProvider, } from './websocket/LighterWsProvider.js';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAE/E;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAKvB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE/D,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAEhC,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,GAClB,MAAM,kCAAkC,CAAA"}
@@ -0,0 +1 @@
1
+ {"type": "module","sideEffects":false}
@@ -0,0 +1,24 @@
1
+ import { type StorageAdapter } from '@lifi/perps-sdk';
2
+ import type { Address } from 'viem';
3
+ /** @public */
4
+ export interface LighterApiKey {
5
+ /** Lighter account index, looked up once via accountsByL1Address. */
6
+ accountIndex: number;
7
+ /** API key slot (0-255). Defaults to {@link DEFAULT_API_KEY_INDEX}. */
8
+ apiKeyIndex: number;
9
+ /** Lighter-native private key (0x-prefixed hex). */
10
+ apiKeyPrivateKey: string;
11
+ /** Corresponding public key, registered via ChangePubKey. */
12
+ apiKeyPublicKey: string;
13
+ }
14
+ /** @public */
15
+ export declare class LighterKeyStore {
16
+ private readonly storage;
17
+ private readonly cache;
18
+ constructor(storage: StorageAdapter);
19
+ private storageKey;
20
+ get(address: Address): Promise<LighterApiKey | null>;
21
+ set(address: Address, value: LighterApiKey): Promise<void>;
22
+ remove(address: Address): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=LighterKeyStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LighterKeyStore.d.ts","sourceRoot":"","sources":["../../../src/signers/LighterKeyStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AASnC,cAAc;AACd,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAA;IACpB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAA;IACxB,6DAA6D;IAC7D,eAAe,EAAE,MAAM,CAAA;CACxB;AAoBD,cAAc;AACd,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE7C,OAAO,EAAE,cAAc;IAInC,OAAO,CAAC,UAAU;IAIZ,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAcpD,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1D,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAK9C"}
@@ -0,0 +1,55 @@
1
+ import { readValidatedRecord } from '@lifi/perps-sdk';
2
+ // The private key here is a Lighter custom keypair — generated via WASM
3
+ // GenerateAPIKey — not an Ethereum private key. The storage key is namespaced
4
+ // by provider (`lighter`) so the same user can hold credentials for other
5
+ // WASM-blob providers without collision.
6
+ const STORAGE_PREFIX = 'lifi-perps-lighter-key';
7
+ const isLighterApiKey = (value) => {
8
+ if (typeof value !== 'object' || value === null) {
9
+ return false;
10
+ }
11
+ const { accountIndex, apiKeyIndex, apiKeyPrivateKey, apiKeyPublicKey } = value;
12
+ return (typeof accountIndex === 'number' &&
13
+ Number.isFinite(accountIndex) &&
14
+ typeof apiKeyIndex === 'number' &&
15
+ Number.isFinite(apiKeyIndex) &&
16
+ typeof apiKeyPrivateKey === 'string' &&
17
+ apiKeyPrivateKey.length > 0 &&
18
+ typeof apiKeyPublicKey === 'string' &&
19
+ apiKeyPublicKey.length > 0);
20
+ };
21
+ /** @public */
22
+ export class LighterKeyStore {
23
+ storage;
24
+ cache = new Map();
25
+ constructor(storage) {
26
+ this.storage = storage;
27
+ }
28
+ storageKey(address) {
29
+ return `${STORAGE_PREFIX}:${address.toLowerCase()}`;
30
+ }
31
+ async get(address) {
32
+ const key = this.storageKey(address);
33
+ const cached = this.cache.get(key);
34
+ if (cached) {
35
+ return cached;
36
+ }
37
+ const parsed = await readValidatedRecord(this.storage, key, isLighterApiKey);
38
+ if (!parsed) {
39
+ return null;
40
+ }
41
+ this.cache.set(key, parsed);
42
+ return parsed;
43
+ }
44
+ async set(address, value) {
45
+ const key = this.storageKey(address);
46
+ this.cache.set(key, value);
47
+ await this.storage.set(key, JSON.stringify(value));
48
+ }
49
+ async remove(address) {
50
+ const key = this.storageKey(address);
51
+ this.cache.delete(key);
52
+ await this.storage.remove(key);
53
+ }
54
+ }
55
+ //# sourceMappingURL=LighterKeyStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LighterKeyStore.js","sourceRoot":"","sources":["../../../src/signers/LighterKeyStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,iBAAiB,CAAA;AAG1E,wEAAwE;AACxE,8EAA8E;AAC9E,0EAA0E;AAC1E,yCAAyC;AAEzC,MAAM,cAAc,GAAG,wBAAwB,CAAA;AAc/C,MAAM,eAAe,GAAG,CAAC,KAAc,EAA0B,EAAE;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,GACpE,KAAgC,CAAA;IAClC,OAAO,CACL,OAAO,YAAY,KAAK,QAAQ;QAChC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC7B,OAAO,WAAW,KAAK,QAAQ;QAC/B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5B,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC3B,OAAO,eAAe,KAAK,QAAQ;QACnC,eAAe,CAAC,MAAM,GAAG,CAAC,CAC3B,CAAA;AACH,CAAC,CAAA;AAED,cAAc;AACd,MAAM,OAAO,eAAe;IACT,OAAO,CAAgB;IACvB,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAA;IAEzD,YAAY,OAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEO,UAAU,CAAC,OAAgB;QACjC,OAAO,GAAG,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAgB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAA;QAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAgB,EAAE,KAAoB;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC;CACF"}