@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
@@ -1,138 +0,0 @@
1
- import { ActivityType } from '../../../enums.js';
2
- import { isSendAssetDelta, isSpotTransferDelta } from '../types.js';
3
- import { deriveMarket } from './_market.js';
4
- /**
5
- * Map a Hyperliquid non-funding ledger entry to an ActivityItem.
6
- *
7
- * Direction for `spotTransfer` and `sendAsset` is derived from
8
- * `queriedAddress` matching the delta's `user` (OUT) or `destination` (IN).
9
- * Returns null for unsupported delta types and for same-user `sendAsset`
10
- * dex moves (where `user === destination === queriedAddress`).
11
- */
12
- export const mapLedgerEntry = (entry, providerKey, queriedAddress) => {
13
- const { delta } = entry;
14
- const base = {
15
- id: entry.hash,
16
- provider: providerKey,
17
- timestamp: new Date(entry.time).toISOString(),
18
- };
19
- // Handled before the switch: the catch-all arm of `HlLedgerDelta` is a
20
- // structural supertype of the concrete delta, so a `switch (delta.type)`
21
- // cannot narrow off the discriminant. The user-defined type guard does.
22
- if (isSpotTransferDelta(delta)) {
23
- const queried = queriedAddress.toLowerCase();
24
- const sender = delta.user.toLowerCase();
25
- const recipient = delta.destination.toLowerCase();
26
- const direction = queried === sender ? 'OUT' : 'IN';
27
- const counterpartyAddress = direction === 'OUT' ? recipient : sender;
28
- const meta = {
29
- transferType: 'spotTransfer',
30
- };
31
- if (delta.usdcValue !== undefined) {
32
- meta.usdcValue = delta.usdcValue;
33
- }
34
- if (delta.fee !== undefined) {
35
- meta.fee = delta.fee;
36
- }
37
- if (delta.nativeTokenFee !== undefined) {
38
- meta.nativeTokenFee = delta.nativeTokenFee;
39
- }
40
- if (delta.nonce !== undefined) {
41
- meta.nonce = delta.nonce;
42
- }
43
- return {
44
- ...base,
45
- type: ActivityType.TRANSFER,
46
- direction,
47
- counterpartyAddress,
48
- asset: delta.token,
49
- amount: delta.amount,
50
- meta,
51
- };
52
- }
53
- // `sendAsset` (wire `type === 'send'`) covers cross-user transfers
54
- // (modelled as TRANSFER) and same-user dex moves (returned as null —
55
- // overloading TRANSFER for those would lie about direction). Pre-switch
56
- // narrowing for the same reason as spotTransfer.
57
- if (isSendAssetDelta(delta)) {
58
- const queried = queriedAddress.toLowerCase();
59
- const sender = delta.user.toLowerCase();
60
- const recipient = delta.destination.toLowerCase();
61
- if (sender === recipient && sender === queried) {
62
- return null;
63
- }
64
- const direction = queried === sender ? 'OUT' : 'IN';
65
- const counterpartyAddress = direction === 'OUT' ? recipient : sender;
66
- const meta = {
67
- transferType: 'sendAsset',
68
- sourceDex: delta.sourceDex,
69
- destinationDex: delta.destinationDex,
70
- usdcValue: delta.usdcValue,
71
- fee: delta.fee,
72
- nativeTokenFee: delta.nativeTokenFee,
73
- feeToken: delta.feeToken,
74
- nonce: delta.nonce,
75
- };
76
- return {
77
- ...base,
78
- type: ActivityType.TRANSFER,
79
- direction,
80
- counterpartyAddress,
81
- asset: delta.token,
82
- amount: delta.amount,
83
- meta,
84
- };
85
- }
86
- switch (delta.type) {
87
- case 'deposit':
88
- return {
89
- ...base,
90
- type: ActivityType.DEPOSIT,
91
- amount: delta.usdc ?? '0',
92
- };
93
- case 'withdraw':
94
- return {
95
- ...base,
96
- type: ActivityType.WITHDRAWAL,
97
- amount: delta.usdc ?? '0',
98
- fee: delta.fee ?? '0',
99
- };
100
- case 'liquidation': {
101
- const d = delta;
102
- return {
103
- ...base,
104
- type: ActivityType.LIQUIDATION,
105
- liquidatedNotionalPosition: d.liquidatedNtlPos,
106
- accountValue: d.accountValue,
107
- leverageType: d.leverageType,
108
- liquidatedPositions: (d.liquidatedPositions ?? []).map((p) => ({
109
- asset: {
110
- assetId: p.coin,
111
- market: deriveMarket(p.coin),
112
- displaySymbol: p.coin,
113
- displayQuote: null,
114
- },
115
- size: p.szi,
116
- })),
117
- };
118
- }
119
- default:
120
- return null;
121
- }
122
- };
123
- export const mapFundingActivity = (entry, providerKey) => ({
124
- id: entry.hash,
125
- provider: providerKey,
126
- timestamp: new Date(entry.time).toISOString(),
127
- type: ActivityType.FUNDING,
128
- asset: {
129
- assetId: entry.delta.coin,
130
- market: deriveMarket(entry.delta.coin),
131
- displaySymbol: entry.delta.coin,
132
- displayQuote: null,
133
- },
134
- amount: entry.delta.usdc,
135
- positionSize: entry.delta.szi,
136
- fundingRate: entry.delta.fundingRate,
137
- });
138
- //# sourceMappingURL=activity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/activity.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { deriveMarket } from './_market.js';
2
- const NEXT_FUNDING_INTERVAL_MS = 60 * 60 * 1000; // 1 hour
3
- export const mapAsset = (universe, assetCtx) => {
4
- const now = Date.now();
5
- const nextFundingTime = Math.ceil(now / NEXT_FUNDING_INTERVAL_MS) * NEXT_FUNDING_INTERVAL_MS;
6
- return {
7
- assetId: universe.name,
8
- market: deriveMarket(universe.name),
9
- displaySymbol: universe.name,
10
- displayQuote: null,
11
- logoURI: `https://app.hyperliquid.xyz/coins/${universe.name}.svg`,
12
- szDecimals: universe.szDecimals,
13
- maxLeverage: universe.maxLeverage,
14
- onlyIsolated: universe.onlyIsolated === true,
15
- funding: {
16
- rate: assetCtx.funding,
17
- nextFundingTime,
18
- },
19
- openInterest: assetCtx.openInterest,
20
- volume24h: assetCtx.dayNtlVlm,
21
- prevDayPrice: assetCtx.prevDayPx,
22
- markPrice: assetCtx.markPx,
23
- };
24
- };
25
- //# sourceMappingURL=asset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/asset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,SAAS;AAEzD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAwB,EACxB,QAAoB,EACb,EAAE;IACT,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,eAAe,GACnB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,wBAAwB,CAAC,GAAG,wBAAwB,CAAA;IAEtE,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,aAAa,EAAE,QAAQ,CAAC,IAAI;QAC5B,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,qCAAqC,QAAQ,CAAC,IAAI,MAAM;QACjE,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,YAAY,EAAE,QAAQ,CAAC,YAAY,KAAK,IAAI;QAC5C,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ,CAAC,OAAO;YACtB,eAAe;SAChB;QACD,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,YAAY,EAAE,QAAQ,CAAC,SAAS;QAChC,SAAS,EAAE,QAAQ,CAAC,MAAM;KAC3B,CAAA;AACH,CAAC,CAAA"}
@@ -1,32 +0,0 @@
1
- import { FillClassification, FillStatus, LiquidityRole, OrderSide, OrderType, } from '../../../enums.js';
2
- import { assetIsSpot } from '../assetId.js';
3
- import { classifyFillFromPosition } from '../../_shared/fillClassification.js';
4
- import { deriveMarket } from './_market.js';
5
- export { classifyFillFromPosition };
6
- export const mapFill = (fill) => ({
7
- id: String(fill.tid),
8
- orderId: String(fill.oid),
9
- asset: {
10
- assetId: fill.coin,
11
- market: deriveMarket(fill.coin),
12
- displaySymbol: fill.coin,
13
- displayQuote: null,
14
- },
15
- side: fill.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
16
- type: fill.dir?.includes('Limit') ? OrderType.LIMIT : OrderType.MARKET,
17
- size: fill.sz,
18
- price: fill.px,
19
- status: FillStatus.FILLED,
20
- liquidity: fill.crossed ? LiquidityRole.TAKER : LiquidityRole.MAKER,
21
- filledSize: fill.sz,
22
- fee: fill.fee,
23
- realizedPnl: fill.closedPnl === '0' ? null : fill.closedPnl,
24
- startPosition: fill.startPosition,
25
- classification: assetIsSpot(fill.coin)
26
- ? fill.side === 'B'
27
- ? FillClassification.SPOT_BUY
28
- : FillClassification.SPOT_SELL
29
- : classifyFillFromPosition(fill.startPosition, fill.side, fill.sz),
30
- createdAt: new Date(fill.time).toISOString(),
31
- });
32
- //# sourceMappingURL=fill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/fill.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAEnC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAQ,EAAE,CAAC,CAAC;IAClD,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACzB,KAAK,EAAE;QACL,OAAO,EAAE,IAAI,CAAC,IAAI;QAClB,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,aAAa,EAAE,IAAI,CAAC,IAAI;QACxB,YAAY,EAAE,IAAI;KACnB;IACD,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;IACxD,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;IACtE,IAAI,EAAE,IAAI,CAAC,EAAE;IACb,KAAK,EAAE,IAAI,CAAC,EAAE;IACd,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK;IACnE,UAAU,EAAE,IAAI,CAAC,EAAE;IACnB,GAAG,EAAE,IAAI,CAAC,GAAG;IACb,WAAW,EAAE,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;IAC3D,aAAa,EAAE,IAAI,CAAC,aAAa;IACjC,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG;YACjB,CAAC,CAAC,kBAAkB,CAAC,QAAQ;YAC7B,CAAC,CAAC,kBAAkB,CAAC,SAAS;QAChC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IACpE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;CAC7C,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- export { mapAsset } from './asset.js';
2
- export { isTriggerType, mapOpenOrder, mapOrder, mapOrderType, mapTriggerOrder, } from './order.js';
3
- export { mapPosition } from './position.js';
4
- export { classifyFillFromPosition, mapFill } from './fill.js';
5
- export { mapLedgerEntry, mapFundingActivity } from './activity.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
@@ -1,151 +0,0 @@
1
- import { OrderSide, OrderStatus, OrderType, TimeInForce, } from '../../../enums.js';
2
- import { deriveMarket } from './_market.js';
3
- /** Map a Hyperliquid orderType string to the OrderType enum. */
4
- export const mapOrderType = (orderType) => {
5
- switch (orderType) {
6
- case 'Take Profit Market':
7
- return OrderType.TAKE_PROFIT_MARKET;
8
- case 'Take Profit Limit':
9
- return OrderType.TAKE_PROFIT_LIMIT;
10
- case 'Stop Market':
11
- return OrderType.STOP_MARKET;
12
- case 'Stop Limit':
13
- return OrderType.STOP_LIMIT;
14
- case 'Market':
15
- return OrderType.MARKET;
16
- default:
17
- return OrderType.LIMIT;
18
- }
19
- };
20
- export const isTriggerType = (type) => type === OrderType.TAKE_PROFIT_MARKET ||
21
- type === OrderType.TAKE_PROFIT_LIMIT ||
22
- type === OrderType.STOP_MARKET ||
23
- type === OrderType.STOP_LIMIT;
24
- export const mapOpenOrder = (o) => ({
25
- id: String(o.oid),
26
- asset: {
27
- assetId: o.coin,
28
- market: deriveMarket(o.coin),
29
- displaySymbol: o.coin,
30
- displayQuote: null,
31
- },
32
- side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
33
- type: mapOrderType(o.orderType),
34
- size: o.sz,
35
- price: o.limitPx,
36
- filledSize: o.origSz
37
- ? (parseFloat(o.origSz) - parseFloat(o.sz)).toString()
38
- : '0',
39
- reduceOnly: o.reduceOnly ?? false,
40
- label: o.isTrigger ? o.triggerCondition : undefined,
41
- createdAt: new Date(o.timestamp).toISOString(),
42
- });
43
- export const mapTriggerOrder = (o) => {
44
- const type = mapOrderType(o.orderType);
45
- const isLimit = type === OrderType.TAKE_PROFIT_LIMIT || type === OrderType.STOP_LIMIT;
46
- return {
47
- id: String(o.oid),
48
- asset: {
49
- assetId: o.coin,
50
- market: deriveMarket(o.coin),
51
- displaySymbol: o.coin,
52
- displayQuote: null,
53
- },
54
- type,
55
- size: o.sz,
56
- triggerPrice: o.triggerPx,
57
- ...(isLimit ? { limitPrice: o.limitPx } : {}),
58
- label: o.triggerCondition,
59
- createdAt: new Date(o.timestamp).toISOString(),
60
- };
61
- };
62
- const mapOrderStatus = (status) => {
63
- switch (status) {
64
- case 'open':
65
- case 'resting':
66
- return OrderStatus.OPEN;
67
- case 'filled':
68
- return OrderStatus.FILLED;
69
- case 'canceled':
70
- case 'cancelled':
71
- return OrderStatus.CANCELLED;
72
- case 'rejected':
73
- return OrderStatus.REJECTED;
74
- case 'triggered':
75
- return OrderStatus.TRIGGERED;
76
- case 'marginCanceled':
77
- return OrderStatus.CANCELLED;
78
- default:
79
- return OrderStatus.PENDING;
80
- }
81
- };
82
- /**
83
- * Map a raw Hyperliquid order status to a short English sentence
84
- * describing *why* the order ended in a terminal non-FILLED state. Bare
85
- * `canceled`/`cancelled`/`rejected` carry no actionable detail and
86
- * return `undefined`; so do non-terminal and unknown values.
87
- */
88
- export const mapStatusReason = (status) => {
89
- switch (status) {
90
- case 'iocCanceled':
91
- return 'Order cancelled: not enough liquidity to fill immediately.';
92
- case 'reduceOnlyCanceled':
93
- return 'Order cancelled: would not reduce your position.';
94
- case 'marginCanceled':
95
- return 'Order cancelled: insufficient margin.';
96
- case 'liquidatedCanceled':
97
- return 'Order cancelled: account was liquidated.';
98
- case 'siblingFilledCanceled':
99
- return 'Order cancelled: sibling OCO order filled first.';
100
- case 'selfTradeCanceled':
101
- return 'Order cancelled: would self-trade against your own resting order.';
102
- case 'tickRejected':
103
- return 'Order rejected: price did not match the tick size.';
104
- case 'minTradeNtlRejected':
105
- return 'Order rejected: notional value below the minimum trade size.';
106
- case 'delistedRejected':
107
- return 'Order rejected: market has been delisted.';
108
- default:
109
- return undefined;
110
- }
111
- };
112
- const mapTimeInForce = (tif) => {
113
- switch (tif) {
114
- case 'Gtc':
115
- return TimeInForce.GTC;
116
- case 'Ioc':
117
- return TimeInForce.IOC;
118
- case 'Alo':
119
- return TimeInForce.POST_ONLY;
120
- default:
121
- return undefined;
122
- }
123
- };
124
- export const mapOrder = (detail) => {
125
- const o = detail.order;
126
- const filled = parseFloat(o.origSz) - parseFloat(o.sz);
127
- return {
128
- orderId: String(o.oid),
129
- asset: {
130
- assetId: o.coin,
131
- market: deriveMarket(o.coin),
132
- displaySymbol: o.coin,
133
- displayQuote: null,
134
- },
135
- side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
136
- type: mapOrderType(o.orderType),
137
- price: o.limitPx,
138
- originalSize: o.origSz,
139
- remainingSize: o.sz,
140
- filledSize: filled.toString(),
141
- timeInForce: mapTimeInForce(o.tif ?? undefined),
142
- reduceOnly: o.reduceOnly ?? undefined,
143
- isTrigger: o.triggerCondition !== undefined && o.triggerCondition !== 'N/A',
144
- triggerPrice: o.triggerPx ?? undefined,
145
- status: mapOrderStatus(detail.status),
146
- statusReason: mapStatusReason(detail.status),
147
- createdAt: new Date(o.timestamp).toISOString(),
148
- updatedAt: new Date(detail.statusTimestamp).toISOString(),
149
- };
150
- };
151
- //# sourceMappingURL=order.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"order.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/order.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { MarginMode, PositionSide } from '../../../enums.js';
2
- import { deriveMarket } from './_market.js';
3
- export const mapPosition = (ap) => {
4
- const pos = ap.position;
5
- const szi = parseFloat(pos.szi);
6
- return {
7
- asset: {
8
- assetId: pos.coin,
9
- market: deriveMarket(pos.coin),
10
- displaySymbol: pos.coin,
11
- displayQuote: null,
12
- },
13
- side: szi >= 0 ? PositionSide.LONG : PositionSide.SHORT,
14
- size: Math.abs(szi).toString(),
15
- entryPrice: pos.entryPx ?? '0',
16
- markPrice: pos.positionValue && szi !== 0
17
- ? (parseFloat(pos.positionValue) / Math.abs(szi)).toString()
18
- : '0',
19
- liquidationPrice: pos.liquidationPx ?? '0',
20
- unrealizedPnl: pos.unrealizedPnl,
21
- leverage: ap.position.leverage.value,
22
- marginUsed: pos.marginUsed,
23
- marginMode: ap.position.leverage.type === 'cross'
24
- ? MarginMode.CROSS
25
- : MarginMode.ISOLATED,
26
- };
27
- };
28
- //# sourceMappingURL=position.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAmB,EAAY,EAAE;IAC3D,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAA;IACvB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAE/B,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,GAAG,CAAC,IAAI;YACjB,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B,aAAa,EAAE,GAAG,CAAC,IAAI;YACvB,YAAY,EAAE,IAAI;SACnB;QACD,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK;QACvD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG;QAC9B,SAAS,EACP,GAAG,CAAC,aAAa,IAAI,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC5D,CAAC,CAAC,GAAG;QACT,gBAAgB,EAAE,GAAG,CAAC,aAAa,IAAI,GAAG;QAC1C,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EACR,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;YACnC,CAAC,CAAC,UAAU,CAAC,KAAK;YAClB,CAAC,CAAC,UAAU,CAAC,QAAQ;KAC1B,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/shared.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
1
- /**
2
- * Type guard for `HlSpotTransferDelta` — TypeScript cannot narrow off the
3
- * `type` discriminant alone because the catch-all arm of `HlLedgerDelta` has
4
- * `type: string` (a supertype of the literal `'spotTransfer'`). Use this at
5
- * call sites that need the strongly-typed shape.
6
- */
7
- export const isSpotTransferDelta = (delta) => delta.type === 'spotTransfer';
8
- /**
9
- * Type guard for `HlSendAssetDelta`. The wire `type` literal is `'send'`;
10
- * see `HlSendAssetDelta` for the naming-vs-wire-format rationale. Same
11
- * catch-all-arm caveat as `isSpotTransferDelta`.
12
- */
13
- export const isSendAssetDelta = (delta) => delta.type === 'send';
14
- // -- abstraction mode -------------------------------------------------------
15
- /**
16
- * Possible values returned by the `userAbstraction` info endpoint.
17
- * `null` means abstraction has never been set (standard mode).
18
- */
19
- export const HlAbstractionMode = {
20
- DISABLED: 'disabled',
21
- UNIFIED_ACCOUNT: 'unifiedAccount',
22
- PORTFOLIO_MARGIN: 'portfolioMargin',
23
- DEX_ABSTRACTION: 'dexAbstraction',
24
- };
25
- // ---------------------------------------------------------------------------
26
- // Hyperliquid EIP-712 primary type constants
27
- // ---------------------------------------------------------------------------
28
- export const HL_PRIMARY_TYPE_APPROVE_AGENT = 'HyperliquidTransaction:ApproveAgent';
29
- export const HL_PRIMARY_TYPE_APPROVE_BUILDER_FEE = 'HyperliquidTransaction:ApproveBuilderFee';
30
- export const HL_PRIMARY_TYPE_USER_SET_ABSTRACTION = 'HyperliquidTransaction:UserSetAbstraction';
31
- export const HL_PRIMARY_TYPE_AGENT_SET_ABSTRACTION = 'HyperliquidTransaction:AgentSetAbstraction';
32
- export const HL_PRIMARY_TYPE_WITHDRAW = 'HyperliquidTransaction:Withdraw';
33
- export const HL_PRIMARY_TYPE_SEND_ASSET = 'HyperliquidTransaction:SendAsset';
34
- export const HL_PRIMARY_TYPE_AGENT = 'Agent';
35
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../providers/hyperliquid/types.ts"],"names":[],"mappings":"AA4PA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAoB,EACU,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAA;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAoB,EACO,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAA;AA4BrD,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,iBAAiB;IACnC,eAAe,EAAE,gBAAgB;CACzB,CAAA;AA6CV,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,MAAM,CAAC,MAAM,6BAA6B,GACxC,qCAA8C,CAAA;AAChD,MAAM,CAAC,MAAM,mCAAmC,GAC9C,0CAAmD,CAAA;AACrD,MAAM,CAAC,MAAM,oCAAoC,GAC/C,2CAAoD,CAAA;AACtD,MAAM,CAAC,MAAM,qCAAqC,GAChD,4CAAqD,CAAA;AACvD,MAAM,CAAC,MAAM,wBAAwB,GACnC,iCAA0C,CAAA;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GACrC,kCAA2C,CAAA;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAgB,CAAA"}
@@ -1,5 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Lighter raw API response types — shared between backend (REST) and SDK (WS)
3
- // ---------------------------------------------------------------------------
4
- export {};
5
- //# sourceMappingURL=apiTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apiTypes.js","sourceRoot":"","sources":["../../../providers/lighter/apiTypes.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E"}
@@ -1,4 +0,0 @@
1
- export * from './types.js';
2
- export * from './apiTypes.js';
3
- export * from './mappers/index.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../providers/lighter/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA"}
@@ -1,39 +0,0 @@
1
- import { FillStatus, LiquidityRole, OrderSide, OrderType, } from '../../../enums.js';
2
- import { classifyFillFromPosition } from '../../_shared/fillClassification.js';
3
- /**
4
- * Map a raw Lighter trade to the generic Fill type.
5
- * @param accountIndex - The viewer's Lighter account index (selects buy/sell side and maker/taker role).
6
- * @param symbol - Resolved symbol (market_id → symbol lookup).
7
- */
8
- export const mapFill = (trade, accountIndex, symbol) => {
9
- const isBuyer = trade.bid_account_id === accountIndex;
10
- const isMaker = (trade.is_maker_ask && !isBuyer) || (!trade.is_maker_ask && isBuyer);
11
- // Lighter publishes both counterparties' position-before snapshots on every
12
- // trade row; reading the wrong one mis-classifies when they differ.
13
- const startPosition = isMaker
14
- ? trade.maker_position_size_before
15
- : trade.taker_position_size_before;
16
- return {
17
- id: trade.trade_id.toString(),
18
- orderId: String(isBuyer ? trade.bid_id : trade.ask_id),
19
- asset: {
20
- assetId: symbol,
21
- market: 'lighter',
22
- displaySymbol: symbol,
23
- displayQuote: 'USDC',
24
- },
25
- side: isBuyer ? OrderSide.BUY : OrderSide.SELL,
26
- type: OrderType.LIMIT,
27
- size: trade.size,
28
- price: trade.price,
29
- status: FillStatus.FILLED,
30
- liquidity: isMaker ? LiquidityRole.MAKER : LiquidityRole.TAKER,
31
- fee: isMaker ? trade.maker_fee?.toString() : trade.taker_fee?.toString(),
32
- startPosition,
33
- // `classifyFillFromPosition` takes an HL-encoded side: `'B'` for buy,
34
- // anything else for sell.
35
- classification: classifyFillFromPosition(startPosition, isBuyer ? 'B' : 'A', trade.size),
36
- createdAt: new Date(trade.timestamp).toISOString(),
37
- };
38
- };
39
- //# sourceMappingURL=fill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../../providers/lighter/mappers/fill.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,KAAc,EACd,YAAoB,EACpB,MAAc,EACR,EAAE;IACR,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,KAAK,YAAY,CAAA;IACrD,MAAM,OAAO,GACX,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,CAAA;IAEtE,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,aAAa,GAAG,OAAO;QAC3B,CAAC,CAAC,KAAK,CAAC,0BAA0B;QAClC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAA;IAEpC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACtD,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,MAAM;SACrB;QACD,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI;QAC9C,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK;QAC9D,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE;QACxE,aAAa;QACb,sEAAsE;QACtE,0BAA0B;QAC1B,cAAc,EAAE,wBAAwB,CACtC,aAAa,EACb,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACnB,KAAK,CAAC,IAAI,CACX;QACD,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;KACnD,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- export { mapPosition } from './position.js';
2
- export { mapFill } from './fill.js';
3
- export { isTriggerType, mapOrder, mapOrderDetail, mapTriggerOrder, } from './order.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../providers/lighter/mappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,aAAa,EACb,QAAQ,EACR,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAA"}