@lifi/perps-types 0.2.0-alpha.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/README.md +6 -30
  2. package/dist/cjs/acceptTerms.d.ts +20 -0
  3. package/dist/cjs/acceptTerms.d.ts.map +1 -0
  4. package/dist/cjs/acceptTerms.js +10 -0
  5. package/dist/cjs/acceptTerms.js.map +1 -0
  6. package/dist/cjs/account.d.ts +191 -0
  7. package/dist/cjs/account.d.ts.map +1 -0
  8. package/{src/_esm → dist/cjs}/account.js.map +1 -1
  9. package/dist/cjs/action.d.ts +200 -0
  10. package/dist/cjs/action.d.ts.map +1 -0
  11. package/dist/cjs/action.js.map +1 -0
  12. package/dist/cjs/asset.d.ts +11 -0
  13. package/dist/cjs/asset.d.ts.map +1 -0
  14. package/dist/cjs/asset.js.map +1 -0
  15. package/{src/_types → dist/cjs}/enums.d.ts +6 -12
  16. package/dist/cjs/enums.d.ts.map +1 -0
  17. package/{src/_cjs → dist/cjs}/enums.js +4 -0
  18. package/dist/cjs/enums.js.map +1 -0
  19. package/dist/cjs/errors.d.ts.map +1 -0
  20. package/dist/cjs/errors.js.map +1 -0
  21. package/{src/_types → dist/cjs}/index.d.ts +11 -5
  22. package/dist/cjs/index.d.ts.map +1 -0
  23. package/{src/_cjs → dist/cjs}/index.js +11 -5
  24. package/dist/cjs/index.js.map +1 -0
  25. package/{src/_types/asset.d.ts → dist/cjs/market.d.ts} +33 -25
  26. package/dist/cjs/market.d.ts.map +1 -0
  27. package/dist/cjs/market.js +3 -0
  28. package/dist/cjs/market.js.map +1 -0
  29. package/dist/cjs/meta.d.ts +17 -0
  30. package/dist/cjs/meta.d.ts.map +1 -0
  31. package/dist/cjs/meta.js +3 -0
  32. package/dist/cjs/meta.js.map +1 -0
  33. package/dist/cjs/primitives.d.ts +3 -0
  34. package/dist/cjs/primitives.d.ts.map +1 -0
  35. package/dist/cjs/primitives.js +3 -0
  36. package/dist/cjs/primitives.js.map +1 -0
  37. package/dist/cjs/providers.d.ts +58 -0
  38. package/dist/cjs/providers.d.ts.map +1 -0
  39. package/{src/_cjs → dist/cjs}/providers.js.map +1 -1
  40. package/dist/cjs/quote.d.ts +23 -0
  41. package/dist/cjs/quote.d.ts.map +1 -0
  42. package/dist/cjs/quote.js +3 -0
  43. package/dist/cjs/quote.js.map +1 -0
  44. package/{src/_types → dist/cjs}/subscriptions.d.ts +14 -13
  45. package/dist/cjs/subscriptions.d.ts.map +1 -0
  46. package/{src/_cjs → dist/cjs}/subscriptions.js.map +1 -1
  47. package/dist/cjs/typedData.d.ts +23 -0
  48. package/dist/cjs/typedData.d.ts.map +1 -0
  49. package/{src/_cjs → dist/cjs}/typedData.js.map +1 -1
  50. package/dist/cjs/vote.d.ts +27 -0
  51. package/dist/cjs/vote.d.ts.map +1 -0
  52. package/dist/cjs/vote.js +12 -0
  53. package/dist/cjs/vote.js.map +1 -0
  54. package/dist/esm/acceptTerms.d.ts +45 -0
  55. package/dist/esm/acceptTerms.d.ts.map +1 -0
  56. package/dist/esm/acceptTerms.js +12 -0
  57. package/dist/esm/acceptTerms.js.map +1 -0
  58. package/dist/esm/account.d.ts +229 -0
  59. package/dist/esm/account.d.ts.map +1 -0
  60. package/{src/_cjs → dist/esm}/account.js.map +1 -1
  61. package/{src/_types → dist/esm}/action.d.ts +56 -69
  62. package/dist/esm/action.d.ts.map +1 -0
  63. package/dist/esm/action.js +2 -0
  64. package/dist/esm/action.js.map +1 -0
  65. package/dist/esm/asset.d.ts +25 -0
  66. package/dist/esm/asset.d.ts.map +1 -0
  67. package/dist/esm/asset.js.map +1 -0
  68. package/dist/esm/enums.d.ts +171 -0
  69. package/dist/esm/enums.d.ts.map +1 -0
  70. package/{src/_esm → dist/esm}/enums.js +26 -10
  71. package/dist/esm/enums.js.map +1 -0
  72. package/dist/esm/errors.d.ts +8 -0
  73. package/dist/esm/errors.d.ts.map +1 -0
  74. package/dist/esm/errors.js.map +1 -0
  75. package/dist/esm/index.d.ts +23 -0
  76. package/dist/esm/index.d.ts.map +1 -0
  77. package/dist/esm/index.js +23 -0
  78. package/dist/esm/index.js.map +1 -0
  79. package/dist/esm/market.d.ts +107 -0
  80. package/dist/esm/market.d.ts.map +1 -0
  81. package/dist/esm/market.js +2 -0
  82. package/dist/esm/market.js.map +1 -0
  83. package/dist/esm/meta.d.ts +37 -0
  84. package/dist/esm/meta.d.ts.map +1 -0
  85. package/dist/esm/meta.js +2 -0
  86. package/dist/esm/meta.js.map +1 -0
  87. package/dist/esm/primitives.d.ts +5 -0
  88. package/dist/esm/primitives.d.ts.map +1 -0
  89. package/dist/esm/primitives.js +2 -0
  90. package/dist/esm/primitives.js.map +1 -0
  91. package/dist/esm/providers.d.ts +116 -0
  92. package/dist/esm/providers.d.ts.map +1 -0
  93. package/{src/_esm → dist/esm}/providers.js.map +1 -1
  94. package/dist/esm/quote.d.ts +47 -0
  95. package/dist/esm/quote.d.ts.map +1 -0
  96. package/dist/esm/quote.js +2 -0
  97. package/dist/esm/quote.js.map +1 -0
  98. package/dist/esm/subscriptions.d.ts +115 -0
  99. package/dist/esm/subscriptions.d.ts.map +1 -0
  100. package/{src/_esm → dist/esm}/subscriptions.js.map +1 -1
  101. package/dist/esm/typedData.d.ts +28 -0
  102. package/dist/esm/typedData.d.ts.map +1 -0
  103. package/{src/_esm → dist/esm}/typedData.js.map +1 -1
  104. package/dist/esm/vote.d.ts +68 -0
  105. package/dist/esm/vote.d.ts.map +1 -0
  106. package/dist/esm/vote.js +20 -0
  107. package/dist/esm/vote.js.map +1 -0
  108. package/dist/types/acceptTerms.d.ts +45 -0
  109. package/dist/types/acceptTerms.d.ts.map +1 -0
  110. package/dist/types/account.d.ts +229 -0
  111. package/dist/types/account.d.ts.map +1 -0
  112. package/dist/types/action.d.ts +248 -0
  113. package/dist/types/action.d.ts.map +1 -0
  114. package/dist/types/asset.d.ts +25 -0
  115. package/dist/types/asset.d.ts.map +1 -0
  116. package/dist/types/enums.d.ts +171 -0
  117. package/dist/types/enums.d.ts.map +1 -0
  118. package/dist/types/errors.d.ts +8 -0
  119. package/dist/types/errors.d.ts.map +1 -0
  120. package/dist/types/index.d.ts +23 -0
  121. package/dist/types/index.d.ts.map +1 -0
  122. package/dist/types/market.d.ts +107 -0
  123. package/dist/types/market.d.ts.map +1 -0
  124. package/dist/types/meta.d.ts +37 -0
  125. package/dist/types/meta.d.ts.map +1 -0
  126. package/dist/types/primitives.d.ts +5 -0
  127. package/dist/types/primitives.d.ts.map +1 -0
  128. package/dist/types/providers.d.ts +116 -0
  129. package/dist/types/providers.d.ts.map +1 -0
  130. package/dist/types/quote.d.ts +47 -0
  131. package/dist/types/quote.d.ts.map +1 -0
  132. package/dist/types/subscriptions.d.ts +115 -0
  133. package/dist/types/subscriptions.d.ts.map +1 -0
  134. package/dist/types/typedData.d.ts +28 -0
  135. package/dist/types/typedData.d.ts.map +1 -0
  136. package/dist/types/vote.d.ts +68 -0
  137. package/dist/types/vote.d.ts.map +1 -0
  138. package/package.json +37 -65
  139. package/src/acceptTerms.ts +53 -0
  140. package/src/account.ts +74 -111
  141. package/src/action.ts +64 -96
  142. package/src/asset.ts +19 -82
  143. package/src/enums.ts +27 -10
  144. package/src/errors.ts +1 -0
  145. package/src/index.ts +20 -5
  146. package/src/market.ts +137 -0
  147. package/src/meta.ts +38 -0
  148. package/src/primitives.ts +5 -0
  149. package/src/providers.ts +79 -110
  150. package/src/quote.ts +49 -0
  151. package/src/subscriptions.ts +62 -18
  152. package/src/typedData.ts +20 -11
  153. package/src/vote.ts +79 -0
  154. package/providers/hyperliquid/package.json +0 -5
  155. package/providers/lighter/package.json +0 -5
  156. package/src/_cjs/action.js.map +0 -1
  157. package/src/_cjs/asset.js.map +0 -1
  158. package/src/_cjs/enums.js.map +0 -1
  159. package/src/_cjs/errors.js.map +0 -1
  160. package/src/_cjs/index.js.map +0 -1
  161. package/src/_cjs/providers/_shared/fillClassification.js +0 -37
  162. package/src/_cjs/providers/_shared/fillClassification.js.map +0 -1
  163. package/src/_cjs/providers/hyperliquid/assetId.js +0 -21
  164. package/src/_cjs/providers/hyperliquid/assetId.js.map +0 -1
  165. package/src/_cjs/providers/hyperliquid/index.js +0 -20
  166. package/src/_cjs/providers/hyperliquid/index.js.map +0 -1
  167. package/src/_cjs/providers/hyperliquid/mappers/_market.js +0 -15
  168. package/src/_cjs/providers/hyperliquid/mappers/_market.js.map +0 -1
  169. package/src/_cjs/providers/hyperliquid/mappers/activity.js +0 -128
  170. package/src/_cjs/providers/hyperliquid/mappers/activity.js.map +0 -1
  171. package/src/_cjs/providers/hyperliquid/mappers/asset.js +0 -29
  172. package/src/_cjs/providers/hyperliquid/mappers/asset.js.map +0 -1
  173. package/src/_cjs/providers/hyperliquid/mappers/fill.js +0 -36
  174. package/src/_cjs/providers/hyperliquid/mappers/fill.js.map +0 -1
  175. package/src/_cjs/providers/hyperliquid/mappers/index.js +0 -20
  176. package/src/_cjs/providers/hyperliquid/mappers/index.js.map +0 -1
  177. package/src/_cjs/providers/hyperliquid/mappers/order.js +0 -153
  178. package/src/_cjs/providers/hyperliquid/mappers/order.js.map +0 -1
  179. package/src/_cjs/providers/hyperliquid/mappers/position.js +0 -32
  180. package/src/_cjs/providers/hyperliquid/mappers/position.js.map +0 -1
  181. package/src/_cjs/providers/hyperliquid/mappers/shared.js +0 -2
  182. package/src/_cjs/providers/hyperliquid/mappers/shared.js.map +0 -1
  183. package/src/_cjs/providers/hyperliquid/types.js +0 -21
  184. package/src/_cjs/providers/hyperliquid/types.js.map +0 -1
  185. package/src/_cjs/providers/lighter/apiTypes.js +0 -3
  186. package/src/_cjs/providers/lighter/apiTypes.js.map +0 -1
  187. package/src/_cjs/providers/lighter/index.js +0 -20
  188. package/src/_cjs/providers/lighter/index.js.map +0 -1
  189. package/src/_cjs/providers/lighter/mappers/fill.js +0 -34
  190. package/src/_cjs/providers/lighter/mappers/fill.js.map +0 -1
  191. package/src/_cjs/providers/lighter/mappers/index.js +0 -13
  192. package/src/_cjs/providers/lighter/mappers/index.js.map +0 -1
  193. package/src/_cjs/providers/lighter/mappers/order.js +0 -142
  194. package/src/_cjs/providers/lighter/mappers/order.js.map +0 -1
  195. package/src/_cjs/providers/lighter/mappers/position.js +0 -35
  196. package/src/_cjs/providers/lighter/mappers/position.js.map +0 -1
  197. package/src/_cjs/providers/lighter/types.js +0 -23
  198. package/src/_cjs/providers/lighter/types.js.map +0 -1
  199. package/src/_esm/action.js +0 -2
  200. package/src/_esm/action.js.map +0 -1
  201. package/src/_esm/asset.js.map +0 -1
  202. package/src/_esm/enums.js.map +0 -1
  203. package/src/_esm/errors.js.map +0 -1
  204. package/src/_esm/index.js +0 -9
  205. package/src/_esm/index.js.map +0 -1
  206. package/src/_esm/providers/_shared/fillClassification.js +0 -43
  207. package/src/_esm/providers/_shared/fillClassification.js.map +0 -1
  208. package/src/_esm/providers/hyperliquid/assetId.js +0 -25
  209. package/src/_esm/providers/hyperliquid/assetId.js.map +0 -1
  210. package/src/_esm/providers/hyperliquid/index.js +0 -4
  211. package/src/_esm/providers/hyperliquid/index.js.map +0 -1
  212. package/src/_esm/providers/hyperliquid/mappers/_market.js +0 -22
  213. package/src/_esm/providers/hyperliquid/mappers/_market.js.map +0 -1
  214. package/src/_esm/providers/hyperliquid/mappers/activity.js +0 -138
  215. package/src/_esm/providers/hyperliquid/mappers/activity.js.map +0 -1
  216. package/src/_esm/providers/hyperliquid/mappers/asset.js +0 -25
  217. package/src/_esm/providers/hyperliquid/mappers/asset.js.map +0 -1
  218. package/src/_esm/providers/hyperliquid/mappers/fill.js +0 -32
  219. package/src/_esm/providers/hyperliquid/mappers/fill.js.map +0 -1
  220. package/src/_esm/providers/hyperliquid/mappers/index.js +0 -6
  221. package/src/_esm/providers/hyperliquid/mappers/index.js.map +0 -1
  222. package/src/_esm/providers/hyperliquid/mappers/order.js +0 -151
  223. package/src/_esm/providers/hyperliquid/mappers/order.js.map +0 -1
  224. package/src/_esm/providers/hyperliquid/mappers/position.js +0 -28
  225. package/src/_esm/providers/hyperliquid/mappers/position.js.map +0 -1
  226. package/src/_esm/providers/hyperliquid/mappers/shared.js +0 -2
  227. package/src/_esm/providers/hyperliquid/mappers/shared.js.map +0 -1
  228. package/src/_esm/providers/hyperliquid/types.js +0 -35
  229. package/src/_esm/providers/hyperliquid/types.js.map +0 -1
  230. package/src/_esm/providers/lighter/apiTypes.js +0 -5
  231. package/src/_esm/providers/lighter/apiTypes.js.map +0 -1
  232. package/src/_esm/providers/lighter/index.js +0 -4
  233. package/src/_esm/providers/lighter/index.js.map +0 -1
  234. package/src/_esm/providers/lighter/mappers/fill.js +0 -39
  235. package/src/_esm/providers/lighter/mappers/fill.js.map +0 -1
  236. package/src/_esm/providers/lighter/mappers/index.js +0 -4
  237. package/src/_esm/providers/lighter/mappers/index.js.map +0 -1
  238. package/src/_esm/providers/lighter/mappers/order.js +0 -162
  239. package/src/_esm/providers/lighter/mappers/order.js.map +0 -1
  240. package/src/_esm/providers/lighter/mappers/position.js +0 -38
  241. package/src/_esm/providers/lighter/mappers/position.js.map +0 -1
  242. package/src/_esm/providers/lighter/types.js +0 -26
  243. package/src/_esm/providers/lighter/types.js.map +0 -1
  244. package/src/_types/account.d.ts +0 -268
  245. package/src/_types/account.d.ts.map +0 -1
  246. package/src/_types/action.d.ts.map +0 -1
  247. package/src/_types/asset.d.ts.map +0 -1
  248. package/src/_types/enums.d.ts.map +0 -1
  249. package/src/_types/errors.d.ts.map +0 -1
  250. package/src/_types/index.d.ts.map +0 -1
  251. package/src/_types/providers/_shared/fillClassification.d.ts +0 -12
  252. package/src/_types/providers/_shared/fillClassification.d.ts.map +0 -1
  253. package/src/_types/providers/hyperliquid/assetId.d.ts +0 -14
  254. package/src/_types/providers/hyperliquid/assetId.d.ts.map +0 -1
  255. package/src/_types/providers/hyperliquid/index.d.ts +0 -4
  256. package/src/_types/providers/hyperliquid/index.d.ts.map +0 -1
  257. package/src/_types/providers/hyperliquid/mappers/_market.d.ts +0 -13
  258. package/src/_types/providers/hyperliquid/mappers/_market.d.ts.map +0 -1
  259. package/src/_types/providers/hyperliquid/mappers/activity.d.ts +0 -13
  260. package/src/_types/providers/hyperliquid/mappers/activity.d.ts.map +0 -1
  261. package/src/_types/providers/hyperliquid/mappers/asset.d.ts +0 -4
  262. package/src/_types/providers/hyperliquid/mappers/asset.d.ts.map +0 -1
  263. package/src/_types/providers/hyperliquid/mappers/fill.d.ts +0 -6
  264. package/src/_types/providers/hyperliquid/mappers/fill.d.ts.map +0 -1
  265. package/src/_types/providers/hyperliquid/mappers/index.d.ts +0 -6
  266. package/src/_types/providers/hyperliquid/mappers/index.d.ts.map +0 -1
  267. package/src/_types/providers/hyperliquid/mappers/order.d.ts +0 -18
  268. package/src/_types/providers/hyperliquid/mappers/order.d.ts.map +0 -1
  269. package/src/_types/providers/hyperliquid/mappers/position.d.ts +0 -4
  270. package/src/_types/providers/hyperliquid/mappers/position.d.ts.map +0 -1
  271. package/src/_types/providers/hyperliquid/mappers/shared.d.ts +0 -1
  272. package/src/_types/providers/hyperliquid/mappers/shared.d.ts.map +0 -1
  273. package/src/_types/providers/hyperliquid/types.d.ts +0 -289
  274. package/src/_types/providers/hyperliquid/types.d.ts.map +0 -1
  275. package/src/_types/providers/lighter/apiTypes.d.ts +0 -76
  276. package/src/_types/providers/lighter/apiTypes.d.ts.map +0 -1
  277. package/src/_types/providers/lighter/index.d.ts +0 -4
  278. package/src/_types/providers/lighter/index.d.ts.map +0 -1
  279. package/src/_types/providers/lighter/mappers/fill.d.ts +0 -9
  280. package/src/_types/providers/lighter/mappers/fill.d.ts.map +0 -1
  281. package/src/_types/providers/lighter/mappers/index.d.ts +0 -4
  282. package/src/_types/providers/lighter/mappers/index.d.ts.map +0 -1
  283. package/src/_types/providers/lighter/mappers/order.d.ts +0 -35
  284. package/src/_types/providers/lighter/mappers/order.d.ts.map +0 -1
  285. package/src/_types/providers/lighter/mappers/position.d.ts +0 -8
  286. package/src/_types/providers/lighter/mappers/position.d.ts.map +0 -1
  287. package/src/_types/providers/lighter/types.d.ts +0 -90
  288. package/src/_types/providers/lighter/types.d.ts.map +0 -1
  289. package/src/_types/providers.d.ts +0 -145
  290. package/src/_types/providers.d.ts.map +0 -1
  291. package/src/_types/subscriptions.d.ts.map +0 -1
  292. package/src/_types/typedData.d.ts +0 -18
  293. package/src/_types/typedData.d.ts.map +0 -1
  294. package/src/providers/_shared/fillClassification.ts +0 -50
  295. package/src/providers/hyperliquid/assetId.ts +0 -32
  296. package/src/providers/hyperliquid/index.ts +0 -3
  297. package/src/providers/hyperliquid/mappers/_market.ts +0 -21
  298. package/src/providers/hyperliquid/mappers/activity.ts +0 -169
  299. package/src/providers/hyperliquid/mappers/asset.ts +0 -33
  300. package/src/providers/hyperliquid/mappers/fill.ts +0 -41
  301. package/src/providers/hyperliquid/mappers/index.ts +0 -11
  302. package/src/providers/hyperliquid/mappers/order.ts +0 -169
  303. package/src/providers/hyperliquid/mappers/position.ts +0 -33
  304. package/src/providers/hyperliquid/mappers/shared.ts +0 -0
  305. package/src/providers/hyperliquid/types.ts +0 -379
  306. package/src/providers/lighter/apiTypes.ts +0 -87
  307. package/src/providers/lighter/index.ts +0 -3
  308. package/src/providers/lighter/mappers/fill.ts +0 -57
  309. package/src/providers/lighter/mappers/index.ts +0 -8
  310. package/src/providers/lighter/mappers/order.ts +0 -184
  311. package/src/providers/lighter/mappers/position.ts +0 -46
  312. package/src/providers/lighter/types.ts +0 -111
  313. /package/{src/_cjs → dist/cjs}/account.js +0 -0
  314. /package/{src/_cjs → dist/cjs}/action.js +0 -0
  315. /package/{src/_cjs → dist/cjs}/asset.js +0 -0
  316. /package/{src/_types → dist/cjs}/errors.d.ts +0 -0
  317. /package/{src/_cjs → dist/cjs}/errors.js +0 -0
  318. /package/{src/_cjs → dist/cjs}/package.json +0 -0
  319. /package/{src/_cjs → dist/cjs}/providers.js +0 -0
  320. /package/{src/_cjs → dist/cjs}/subscriptions.js +0 -0
  321. /package/{src/_cjs → dist/cjs}/typedData.js +0 -0
  322. /package/{src/_esm → dist/esm}/account.js +0 -0
  323. /package/{src/_esm → dist/esm}/asset.js +0 -0
  324. /package/{src/_esm → dist/esm}/errors.js +0 -0
  325. /package/{src/_esm → dist/esm}/package.json +0 -0
  326. /package/{src/_esm → dist/esm}/providers.js +0 -0
  327. /package/{src/_esm → dist/esm}/subscriptions.js +0 -0
  328. /package/{src/_esm → dist/esm}/typedData.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Address, Hex } from './primitives.js';
2
+ /** @public */
3
+ export interface TypedDataDomain {
4
+ name?: string;
5
+ version?: string;
6
+ chainId?: number;
7
+ verifyingContract?: Address;
8
+ salt?: Hex;
9
+ }
10
+ /** @public */
11
+ export interface TypedDataParameter {
12
+ name: string;
13
+ type: string;
14
+ }
15
+ /** @public */
16
+ export type PerpsPrimaryType = string;
17
+ /** @public */
18
+ export type PerpsTypedData = {
19
+ domain: TypedDataDomain;
20
+ types: Record<string, readonly TypedDataParameter[]>;
21
+ primaryType: PerpsPrimaryType;
22
+ message: Record<string, any>;
23
+ };
24
+ /** @public */
25
+ export type PerpsSignedTypedData = PerpsTypedData & {
26
+ signature: Hex;
27
+ };
28
+ //# sourceMappingURL=typedData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typedData.d.ts","sourceRoot":"","sources":["../../src/typedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAEnD,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,GAAG,CAAA;CACX;AAED,cAAc;AACd,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAErC,cAAc;AACd,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAAA;IACpD,WAAW,EAAE,gBAAgB,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC7B,CAAA;AAED,cAAc;AACd,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,SAAS,EAAE,GAAG,CAAA;CACf,CAAA"}
@@ -0,0 +1,68 @@
1
+ import type { Address } from './primitives.js';
2
+ import type { PerpsTypedData, TypedDataParameter } from './typedData.js';
3
+ /**
4
+ * Sentinel sent in the `provider` field for provider-independent actions
5
+ * (e.g. {@link "./enums.js".ActionType.META_VOTE}). The backend dispatches
6
+ * on this value instead of resolving a real provider plugin.
7
+ * @public
8
+ */
9
+ export declare const META_PROVIDER = "meta";
10
+ /** @public */
11
+ export type MetaProvider = typeof META_PROVIDER;
12
+ /**
13
+ * Vote direction. `up` endorses the subject; `down` opposes it.
14
+ * @public
15
+ */
16
+ export type VoteDirection = 'up' | 'down';
17
+ /**
18
+ * Discriminates what a vote is about, leaving room for future product-level
19
+ * vote subjects without changing the EIP-712 `primaryType`.
20
+ * @public
21
+ */
22
+ export type VoteType = 'provider';
23
+ /**
24
+ * Params for an {@link "./enums.js".ActionType.META_VOTE} action.
25
+ *
26
+ * `targetProvider` is the voted-on subject — kept distinct from the transport
27
+ * `provider` field, which carries the {@link META_PROVIDER} sentinel for this
28
+ * provider-independent action.
29
+ * @public
30
+ */
31
+ export interface VoteParams {
32
+ /** Key of the inactive provider being voted on (the voted-on subject). */
33
+ targetProvider: string;
34
+ direction: VoteDirection;
35
+ voteType: VoteType;
36
+ }
37
+ /**
38
+ * EIP-712 message body for a `Vote`. Field order matches {@link voteTypeFields}.
39
+ * @public
40
+ */
41
+ export interface VoteMessage {
42
+ /** Key of the inactive provider being voted on. */
43
+ targetProvider: string;
44
+ direction: VoteDirection;
45
+ voteType: VoteType;
46
+ voter: Address;
47
+ /** Unix timestamp in milliseconds. */
48
+ timestamp: number;
49
+ }
50
+ /**
51
+ * EIP-712 type member list for the `Vote` primary type. Field order is part of
52
+ * the signed digest and must match the backend's encoder.
53
+ * @public
54
+ */
55
+ export declare const voteTypeFields: readonly TypedDataParameter[];
56
+ /**
57
+ * EIP-712 typed data for a vote, as returned by `createAction` and signed
58
+ * client-side. `primaryType` is always `'Vote'`.
59
+ * @public
60
+ */
61
+ export interface VoteTypedData extends PerpsTypedData {
62
+ primaryType: 'Vote';
63
+ types: {
64
+ Vote: readonly TypedDataParameter[];
65
+ } & PerpsTypedData['types'];
66
+ message: VoteMessage;
67
+ }
68
+ //# sourceMappingURL=vote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vote.d.ts","sourceRoot":"","sources":["../../src/vote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExE;;;;;GAKG;AACH,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC,cAAc;AACd,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAA;AAE/C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,CAAA;AAEzC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAA;AAEjC;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EAMvD,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE;QAAE,IAAI,EAAE,SAAS,kBAAkB,EAAE,CAAA;KAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACxE,OAAO,EAAE,WAAW,CAAA;CACrB"}
package/package.json CHANGED
@@ -1,70 +1,7 @@
1
1
  {
2
2
  "name": "@lifi/perps-types",
3
+ "version": "1.0.0",
3
4
  "description": "Shared types for the LI.FI perps stack",
4
- "dependencies": {
5
- "viem": "2.48.8"
6
- },
7
- "version": "0.2.0-alpha.0",
8
- "files": [
9
- "src",
10
- "!src/**/*.tsbuildinfo",
11
- "!src/**/*.unit.spec.ts",
12
- "providers/hyperliquid",
13
- "providers/lighter"
14
- ],
15
- "exports": {
16
- ".": {
17
- "import": {
18
- "types": "./src/_types/index.d.ts",
19
- "default": "./src/_esm/index.js"
20
- },
21
- "require": {
22
- "types": "./src/_types/index.d.ts",
23
- "default": "./src/_cjs/index.js"
24
- }
25
- },
26
- "./providers/hyperliquid": {
27
- "import": {
28
- "types": "./src/_types/providers/hyperliquid/index.d.ts",
29
- "default": "./src/_esm/providers/hyperliquid/index.js"
30
- },
31
- "require": {
32
- "types": "./src/_types/providers/hyperliquid/index.d.ts",
33
- "default": "./src/_cjs/providers/hyperliquid/index.js"
34
- }
35
- },
36
- "./providers/lighter": {
37
- "import": {
38
- "types": "./src/_types/providers/lighter/index.d.ts",
39
- "default": "./src/_esm/providers/lighter/index.js"
40
- },
41
- "require": {
42
- "types": "./src/_types/providers/lighter/index.d.ts",
43
- "default": "./src/_cjs/providers/lighter/index.js"
44
- }
45
- },
46
- "./package.json": "./package.json"
47
- },
48
- "main": "./src/_cjs/index.js",
49
- "module": "./src/_esm/index.js",
50
- "types": "./src/_types/index.d.ts",
51
- "typings": "./src/_types/index.d.ts",
52
- "typesVersions": {
53
- "*": {
54
- "providers/hyperliquid": [
55
- "./src/_types/providers/hyperliquid/index.d.ts"
56
- ],
57
- "providers/lighter": [
58
- "./src/_types/providers/lighter/index.d.ts"
59
- ]
60
- }
61
- },
62
- "sideEffects": false,
63
- "license": "Apache-2.0",
64
- "repository": {
65
- "type": "git",
66
- "url": "git+ssh://git@github.com/lifinance/perps-types.git"
67
- },
68
5
  "keywords": [
69
6
  "lifi",
70
7
  "perps",
@@ -73,5 +10,40 @@
73
10
  "defi",
74
11
  "trading",
75
12
  "cross-chain"
76
- ]
13
+ ],
14
+ "homepage": "https://github.com/lifinance/perps-sdk",
15
+ "bugs": {
16
+ "url": "https://github.com/lifinance/perps-sdk/issues"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/lifinance/perps-sdk.git"
21
+ },
22
+ "license": "Apache-2.0",
23
+ "author": "LI.FI <dev@li.fi>",
24
+ "type": "module",
25
+ "main": "./dist/cjs/index.js",
26
+ "module": "./dist/esm/index.js",
27
+ "types": "./dist/types/index.d.ts",
28
+ "typings": "./dist/types/index.d.ts",
29
+ "sideEffects": false,
30
+ "exports": {
31
+ ".": {
32
+ "types": "./dist/types/index.d.ts",
33
+ "import": "./dist/esm/index.js",
34
+ "default": "./dist/cjs/index.js"
35
+ },
36
+ "./package.json": "./package.json"
37
+ },
38
+ "files": [
39
+ "dist/**",
40
+ "!dist/**/*.tsbuildinfo",
41
+ "src/**/*.ts",
42
+ "!src/**/*.spec.ts",
43
+ "!src/**/*.test.ts",
44
+ "!src/**/*.tsbuildinfo"
45
+ ],
46
+ "publishConfig": {
47
+ "access": "public"
48
+ }
77
49
  }
@@ -0,0 +1,53 @@
1
+ import type { Address } from './primitives.js'
2
+ import type { PerpsTypedData, TypedDataParameter } from './typedData.js'
3
+
4
+ /**
5
+ * Params for an {@link "./enums.js".ActionType.META_ACCEPT_TERMS} action.
6
+ *
7
+ * Provider-independent: cast with the {@link "./vote.js".META_PROVIDER}
8
+ * sentinel in the transport `provider` field.
9
+ * @public
10
+ */
11
+ export interface AcceptTermsParams {
12
+ /** Terms-of-Service version being accepted; backend-owned, relayed verbatim. */
13
+ termsVersion: string
14
+ }
15
+
16
+ /**
17
+ * EIP-712 message body for an `AcceptTerms`. Field order matches
18
+ * {@link acceptTermsTypeFields}.
19
+ * @public
20
+ */
21
+ export interface AcceptTermsMessage {
22
+ /** Human-readable action, e.g. `"Accept LI.FI Perps Terms of Service v3"`. */
23
+ action: string
24
+ acceptor: Address
25
+ termsVersion: string
26
+ /** Unix timestamp in milliseconds. */
27
+ timestamp: number
28
+ }
29
+
30
+ /**
31
+ * EIP-712 type member list for the `AcceptTerms` primary type. Field order is
32
+ * part of the signed digest and must match the backend's encoder.
33
+ * @public
34
+ */
35
+ export const acceptTermsTypeFields: readonly TypedDataParameter[] = [
36
+ { name: 'action', type: 'string' },
37
+ { name: 'acceptor', type: 'address' },
38
+ { name: 'termsVersion', type: 'string' },
39
+ { name: 'timestamp', type: 'uint256' },
40
+ ]
41
+
42
+ /**
43
+ * EIP-712 typed data for a terms acceptance, as returned by `createAction` and
44
+ * signed client-side. `primaryType` is always `'AcceptTerms'`.
45
+ * @public
46
+ */
47
+ export interface AcceptTermsTypedData extends PerpsTypedData {
48
+ primaryType: 'AcceptTerms'
49
+ types: {
50
+ AcceptTerms: readonly TypedDataParameter[]
51
+ } & PerpsTypedData['types']
52
+ message: AcceptTermsMessage
53
+ }
package/src/account.ts CHANGED
@@ -1,5 +1,4 @@
1
- import type { Address } from './typedData.js'
2
- import type { AssetDisplay } from './asset.js'
1
+ import type { Asset } from './asset.js'
3
2
  import type {
4
3
  ActionType,
5
4
  ActivityType,
@@ -11,14 +10,18 @@ import type {
11
10
  OrderType,
12
11
  PositionSide,
13
12
  } from './enums.js'
13
+ import type { MarketDisplay } from './market.js'
14
+ import type { Address } from './primitives.js'
14
15
 
16
+ /** @public */
15
17
  export interface FeeTier {
16
18
  maker: string
17
19
  taker: string
18
20
  }
19
21
 
22
+ /** @public */
20
23
  export interface Position {
21
- asset: AssetDisplay
24
+ market: MarketDisplay
22
25
  side: PositionSide
23
26
  size: string
24
27
  entryPrice: string
@@ -30,9 +33,10 @@ export interface Position {
30
33
  marginMode: MarginMode
31
34
  }
32
35
 
36
+ /** @public */
33
37
  export interface OpenOrder {
34
- id: string
35
- asset: AssetDisplay
38
+ orderId: string
39
+ market: MarketDisplay
36
40
  side: OrderSide
37
41
  type: OrderType
38
42
  size: string
@@ -43,31 +47,42 @@ export interface OpenOrder {
43
47
  createdAt: string
44
48
  }
45
49
 
50
+ /** @public */
46
51
  export interface Balance {
47
- currency: string
48
- amount: string
52
+ /** Which category/venue this balance sits in — references a {@link ProviderCategory}. */
53
+ categoryId: string
54
+ asset: Asset
55
+ units: string
56
+ /** USD value the SDK fills from the prices map; consumers render with zero math. */
57
+ valueUsd: string
49
58
  }
50
59
 
60
+ /** @public */
51
61
  export interface AccountResponse {
52
62
  provider: string
53
63
  address: Address
54
- balances: Record<string, Balance[]>
64
+ /** Flat, NON-collateral holdings. */
65
+ balances: Balance[]
66
+ /** SDK-determined collateral subset: spot balances in a category's quote asset. */
67
+ collateralBalances: Balance[]
55
68
  marginUsed: string
56
69
  unrealizedPnl: string
57
70
  feeTier: FeeTier
58
- /**
59
- * Per-provider account state, strongly typed and discriminated on
60
- * `config.provider`. Consumers narrow with `config.provider === 'hyperliquid'`
61
- * etc. to get access to the provider-specific fields. There is no untyped
62
- * escape hatch — fields specific to a future provider belong on a new
63
- * variant of `AccountConfig`, not on a generic `Record<string, unknown>`.
64
- */
65
71
  config: AccountConfig
66
72
  }
67
73
 
74
+ /** @public */
75
+ export interface AccountSummary {
76
+ portfolioValue: string
77
+ availableMargin: string
78
+ marginUsed: string
79
+ unrealizedPnl: string
80
+ }
81
+
82
+ /** @public */
68
83
  export interface TriggerOrder {
69
- id: string
70
- asset: AssetDisplay
84
+ orderId: string
85
+ market: MarketDisplay
71
86
  type: OrderType
72
87
  size: string
73
88
  triggerPrice: string
@@ -76,12 +91,14 @@ export interface TriggerOrder {
76
91
  createdAt: string
77
92
  }
78
93
 
94
+ /** @public */
79
95
  export interface PositionsResponse {
80
96
  provider: string
81
97
  positions: Position[]
82
98
  pagination: Pagination
83
99
  }
84
100
 
101
+ /** @public */
85
102
  export interface OrdersResponse {
86
103
  provider: string
87
104
  openOrders: OpenOrder[]
@@ -89,10 +106,11 @@ export interface OrdersResponse {
89
106
  pagination: Pagination
90
107
  }
91
108
 
109
+ /** @public */
92
110
  export interface Fill {
93
111
  id: string
94
112
  orderId: string
95
- asset: AssetDisplay
113
+ market: MarketDisplay
96
114
  side: OrderSide
97
115
  type: OrderType
98
116
  size: string
@@ -105,8 +123,12 @@ export interface Fill {
105
123
  startPosition?: string
106
124
  classification: FillClassification
107
125
  createdAt: string
126
+ // Fully-resolved block-explorer URL for the settling on-chain tx. Absent when
127
+ // the fill has no on-chain settlement tx.
128
+ explorerLink?: string
108
129
  }
109
130
 
131
+ /** @public */
110
132
  export interface Pagination {
111
133
  limit: number
112
134
  hasMore: boolean
@@ -114,38 +136,44 @@ export interface Pagination {
114
136
  nextUrl?: string
115
137
  }
116
138
 
139
+ /** @public */
117
140
  export interface FillsResponse {
118
141
  provider: string
119
142
  items: Fill[]
120
143
  pagination: Pagination
121
144
  }
122
145
 
123
- // ---------------------------------------------------------------------------
124
- // Activities
125
- // ---------------------------------------------------------------------------
126
-
146
+ /** @public */
127
147
  export interface BaseActivity {
128
148
  id: string
129
149
  provider: string
130
150
  timestamp: string
131
151
  }
132
152
 
153
+ /** @public */
133
154
  export interface DepositActivity extends BaseActivity {
134
155
  type: ActivityType.DEPOSIT
135
156
  amount: string
157
+ // Fully-resolved block-explorer URL for the on-chain deposit tx.
158
+ explorerLink?: string
136
159
  }
137
160
 
161
+ /** @public */
138
162
  export interface WithdrawalActivity extends BaseActivity {
139
163
  type: ActivityType.WITHDRAWAL
140
164
  amount: string
141
165
  fee: string
166
+ // Fully-resolved block-explorer URL for the on-chain withdrawal tx.
167
+ explorerLink?: string
142
168
  }
143
169
 
170
+ /** @public */
144
171
  export interface LiquidatedPosition {
145
- asset: AssetDisplay
172
+ market: MarketDisplay
146
173
  size: string
147
174
  }
148
175
 
176
+ /** @public */
149
177
  export interface LiquidationActivity extends BaseActivity {
150
178
  type: ActivityType.LIQUIDATION
151
179
  liquidatedNotionalPosition: string
@@ -154,40 +182,32 @@ export interface LiquidationActivity extends BaseActivity {
154
182
  liquidatedPositions: LiquidatedPosition[]
155
183
  }
156
184
 
185
+ /** @public */
157
186
  export interface FundingActivity extends BaseActivity {
158
187
  type: ActivityType.FUNDING
159
- asset: AssetDisplay
188
+ market: MarketDisplay
160
189
  amount: string
161
190
  positionSize: string
162
191
  fundingRate: string
163
192
  }
164
193
 
165
- /**
166
- * Internal transfer between two accounts on the same provider (e.g. Lighter
167
- * `/api/v1/transfer/history`, Hyperliquid `spotTransfer` ledger entry).
168
- * Direction is relative to the queried account.
169
- *
170
- * The counterparty is identified by either an account index (integer L2
171
- * account identifier — Lighter) or a wallet address (Hyperliquid, where
172
- * accounts ARE addresses). The type is a discriminated union over these two
173
- * shapes: at least one of `counterpartyAccountIndex` / `counterpartyAddress`
174
- * MUST be present, and either may appear alone or alongside the other.
175
- *
176
- * Consumers that render counterparties should prefer `counterpartyAccountIndex`
177
- * when present (it's the canonical handle on index-based providers) and fall
178
- * back to a truncated `counterpartyAddress` otherwise.
179
- */
194
+ // At least one of `counterpartyAccountIndex` / `counterpartyAddress` is always
195
+ // present; both may appear together.
196
+ /** @public */
180
197
  export type TransferActivity = BaseActivity & {
181
198
  type: ActivityType.TRANSFER
182
199
  direction: 'IN' | 'OUT'
183
200
  asset: string
184
201
  amount: string
185
202
  meta?: Record<string, unknown>
203
+ // Fully-resolved block-explorer URL for the on-chain transfer tx.
204
+ explorerLink?: string
186
205
  } & (
187
206
  | { counterpartyAccountIndex: number; counterpartyAddress?: string }
188
207
  | { counterpartyAccountIndex?: number; counterpartyAddress: string }
189
208
  )
190
209
 
210
+ /** @public */
191
211
  export type ActivityItem =
192
212
  | DepositActivity
193
213
  | WithdrawalActivity
@@ -195,73 +215,36 @@ export type ActivityItem =
195
215
  | FundingActivity
196
216
  | TransferActivity
197
217
 
218
+ /** @public */
198
219
  export interface ActivitiesResponse {
199
220
  provider: string
200
221
  items: ActivityItem[]
201
222
  pagination: Pagination
202
223
  }
203
224
 
204
- // ---------------------------------------------------------------------------
205
- // Account configuration state — typed `AccountResponse.config`
206
- // ---------------------------------------------------------------------------
225
+ // Account configuration state — typed `AccountResponse.config`.
207
226
 
208
- /**
209
- * Hyperliquid record describing one authorised agent wallet on the
210
- * `userExtraAgents` response. Shape mirrors what the Hyperliquid info API
211
- * returns; the backend forwards the entries verbatim. The widget renders the
212
- * count / expiry on the `APPROVE_AGENT` setup descriptor.
213
- */
227
+ /** @public */
214
228
  export type HyperliquidAgent = Record<string, unknown>
215
229
 
216
- /**
217
- * Hyperliquid builder-fee approval state. Surfaced by the backend after
218
- * comparing the user's `maxBuilderFee` against the configured LI.FI builder
219
- * fee for this dex. The widget uses `approved: false` to badge
220
- * `APPROVE_BUILDER_FEE` as outstanding.
221
- */
230
+ /** @public */
222
231
  export interface HyperliquidBuilderFeeApproval {
223
232
  builderAddress: string
224
- /** Maximum fee rate the user must approve, in basis points as a string. */
233
+ /** Basis points as a string. */
225
234
  maxFeeRate: string
226
235
  approved: boolean
227
236
  }
228
237
 
229
- /**
230
- * Hyperliquid-specific account configuration state.
231
- *
232
- * `abstractionMode: null` means abstraction has never been set; consumers
233
- * should fall back to the descriptor's `default` `ParamOption`.
234
- *
235
- * `builderFeeApproval` is absent when no builder is configured for this
236
- * provider; when present, `approved` reports whether the user has signed the
237
- * maximum builder fee.
238
- */
238
+ /** @public */
239
239
  export interface HyperliquidAccountConfig {
240
240
  provider: 'hyperliquid'
241
+ /** `null` means abstraction has never been set. */
241
242
  abstractionMode: string | null
242
243
  agents: HyperliquidAgent[]
243
244
  builderFeeApproval?: HyperliquidBuilderFeeApproval
244
245
  }
245
246
 
246
- /**
247
- * Lighter-specific account configuration state.
248
- *
249
- * `accountIndex` is the L2 integer account identifier.
250
- *
251
- * `apiKeyRegistered` reports whether a key is currently live in the
252
- * `apiKeyIndex` slot; the `REGISTER_API_KEY` setup descriptor gates trading
253
- * on this.
254
- *
255
- * `accountType` is the raw integer fee/latency tier from Lighter's
256
- * `/api/v1/account.account_type` — decoding to a human label is left to the
257
- * consumer.
258
- *
259
- * `readOnlyTokenApproved` mirrors `apiKeyRegistered`'s shape but for the
260
- * long-lived read-only token. When `true`, `readOnlyTokenExpiry` and
261
- * `readOnlyTokenScope` MUST be present; when `false`, both MUST be absent.
262
- * The `APPROVE_READ_ONLY_TOKEN` setup descriptor gates query-only access on
263
- * this flag.
264
- */
247
+ /** @public */
265
248
  export interface LighterAccountConfig {
266
249
  provider: 'lighter'
267
250
  accountIndex: number
@@ -271,44 +254,24 @@ export interface LighterAccountConfig {
271
254
  readOnlyTokenApproved: boolean
272
255
  /** Unix seconds. Present iff `readOnlyTokenApproved === true`. */
273
256
  readOnlyTokenExpiry?: number
274
- /** Lighter's documented `single | all` scope. Present iff `readOnlyTokenApproved === true`. */
257
+ /** Present iff `readOnlyTokenApproved === true`. */
275
258
  readOnlyTokenScope?: 'single' | 'all'
276
259
  }
277
260
 
278
- /**
279
- * Discriminated union of per-provider account configuration state.
280
- * Narrow with `config.provider === '<key>'` to access provider-specific
281
- * fields. Adding a new provider means adding a new variant, NOT widening
282
- * to a record-keyed shape.
283
- */
261
+ /** @public */
284
262
  export type AccountConfig = HyperliquidAccountConfig | LighterAccountConfig
285
263
 
286
- /**
287
- * The current value of a single descriptor parameter, as projected by the
288
- * SDK from the typed `AccountConfig` for widget consumption.
289
- *
290
- * `name` matches `Param.name` on the descriptor that produced it; `value`
291
- * is the current state in the primitive shape the descriptor declared.
292
- * `null` indicates "no current value" (the user has not made a selection
293
- * yet, or the provider has not surfaced one), and the widget should fall
294
- * back to the descriptor's `default` `ParamOption` (when present) or
295
- * render the control with no highlight.
296
- */
264
+ /** @public */
297
265
  export interface AccountConfigValue {
298
266
  name: string
267
+ /** `null` means no current value — consumers fall back to the descriptor default. */
299
268
  value: string | number | boolean | null
300
269
  }
301
270
 
302
- /**
303
- * SDK projection of `AccountConfig` against a single descriptor — one
304
- * `AccountConfigSetting` per descriptor on `Provider.setup` /
305
- * `Provider.options`. `values` carries the current state for each `Param`
306
- * the descriptor declared.
307
- *
308
- * Consumers must NOT read `AccountConfig` directly — narrow through this
309
- * projection so a new provider variant doesn't require widget changes.
310
- */
271
+ /** @public */
311
272
  export interface AccountConfigSetting {
312
273
  type: ActionType
313
274
  values: AccountConfigValue[]
275
+ /** `undefined` means satisfaction is tracked outside `AccountConfig` (e.g. backend `checkSetup`). */
276
+ satisfied?: boolean
314
277
  }