@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,169 +0,0 @@
1
- import {
2
- OrderSide,
3
- OrderStatus,
4
- OrderType,
5
- TimeInForce,
6
- } from '../../../enums.js'
7
- import type { OpenOrder, TriggerOrder } from '../../../account.js'
8
- import type { Order } from '../../../action.js'
9
- import type { HlFrontendOpenOrder, HlOrderDetail } from '../types.js'
10
- import { deriveMarket } from './_market.js'
11
-
12
- /** Map a Hyperliquid orderType string to the OrderType enum. */
13
- export const mapOrderType = (orderType: string): OrderType => {
14
- switch (orderType) {
15
- case 'Take Profit Market':
16
- return OrderType.TAKE_PROFIT_MARKET
17
- case 'Take Profit Limit':
18
- return OrderType.TAKE_PROFIT_LIMIT
19
- case 'Stop Market':
20
- return OrderType.STOP_MARKET
21
- case 'Stop Limit':
22
- return OrderType.STOP_LIMIT
23
- case 'Market':
24
- return OrderType.MARKET
25
- default:
26
- return OrderType.LIMIT
27
- }
28
- }
29
-
30
- export const isTriggerType = (type: OrderType): boolean =>
31
- type === OrderType.TAKE_PROFIT_MARKET ||
32
- type === OrderType.TAKE_PROFIT_LIMIT ||
33
- type === OrderType.STOP_MARKET ||
34
- type === OrderType.STOP_LIMIT
35
-
36
- export const mapOpenOrder = (o: HlFrontendOpenOrder): OpenOrder => ({
37
- id: String(o.oid),
38
- asset: {
39
- assetId: o.coin,
40
- market: deriveMarket(o.coin),
41
- displaySymbol: o.coin,
42
- displayQuote: null,
43
- },
44
- side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
45
- type: mapOrderType(o.orderType),
46
- size: o.sz,
47
- price: o.limitPx,
48
- filledSize: o.origSz
49
- ? (parseFloat(o.origSz) - parseFloat(o.sz)).toString()
50
- : '0',
51
- reduceOnly: o.reduceOnly ?? false,
52
- label: o.isTrigger ? o.triggerCondition : undefined,
53
- createdAt: new Date(o.timestamp).toISOString(),
54
- })
55
-
56
- export const mapTriggerOrder = (o: HlFrontendOpenOrder): TriggerOrder => {
57
- const type = mapOrderType(o.orderType)
58
- const isLimit =
59
- type === OrderType.TAKE_PROFIT_LIMIT || type === OrderType.STOP_LIMIT
60
- return {
61
- id: String(o.oid),
62
- asset: {
63
- assetId: o.coin,
64
- market: deriveMarket(o.coin),
65
- displaySymbol: o.coin,
66
- displayQuote: null,
67
- },
68
- type,
69
- size: o.sz,
70
- triggerPrice: o.triggerPx,
71
- ...(isLimit ? { limitPrice: o.limitPx } : {}),
72
- label: o.triggerCondition,
73
- createdAt: new Date(o.timestamp).toISOString(),
74
- }
75
- }
76
-
77
- const mapOrderStatus = (status: string): OrderStatus => {
78
- switch (status) {
79
- case 'open':
80
- case 'resting':
81
- return OrderStatus.OPEN
82
- case 'filled':
83
- return OrderStatus.FILLED
84
- case 'canceled':
85
- case 'cancelled':
86
- return OrderStatus.CANCELLED
87
- case 'rejected':
88
- return OrderStatus.REJECTED
89
- case 'triggered':
90
- return OrderStatus.TRIGGERED
91
- case 'marginCanceled':
92
- return OrderStatus.CANCELLED
93
- default:
94
- return OrderStatus.PENDING
95
- }
96
- }
97
-
98
- /**
99
- * Map a raw Hyperliquid order status to a short English sentence
100
- * describing *why* the order ended in a terminal non-FILLED state. Bare
101
- * `canceled`/`cancelled`/`rejected` carry no actionable detail and
102
- * return `undefined`; so do non-terminal and unknown values.
103
- */
104
- export const mapStatusReason = (status: string): string | undefined => {
105
- switch (status) {
106
- case 'iocCanceled':
107
- return 'Order cancelled: not enough liquidity to fill immediately.'
108
- case 'reduceOnlyCanceled':
109
- return 'Order cancelled: would not reduce your position.'
110
- case 'marginCanceled':
111
- return 'Order cancelled: insufficient margin.'
112
- case 'liquidatedCanceled':
113
- return 'Order cancelled: account was liquidated.'
114
- case 'siblingFilledCanceled':
115
- return 'Order cancelled: sibling OCO order filled first.'
116
- case 'selfTradeCanceled':
117
- return 'Order cancelled: would self-trade against your own resting order.'
118
- case 'tickRejected':
119
- return 'Order rejected: price did not match the tick size.'
120
- case 'minTradeNtlRejected':
121
- return 'Order rejected: notional value below the minimum trade size.'
122
- case 'delistedRejected':
123
- return 'Order rejected: market has been delisted.'
124
- default:
125
- return undefined
126
- }
127
- }
128
-
129
- const mapTimeInForce = (tif: string | undefined): TimeInForce | undefined => {
130
- switch (tif) {
131
- case 'Gtc':
132
- return TimeInForce.GTC
133
- case 'Ioc':
134
- return TimeInForce.IOC
135
- case 'Alo':
136
- return TimeInForce.POST_ONLY
137
- default:
138
- return undefined
139
- }
140
- }
141
-
142
- export const mapOrder = (detail: HlOrderDetail): Order => {
143
- const o = detail.order
144
- const filled = parseFloat(o.origSz) - parseFloat(o.sz)
145
-
146
- return {
147
- orderId: String(o.oid),
148
- asset: {
149
- assetId: o.coin,
150
- market: deriveMarket(o.coin),
151
- displaySymbol: o.coin,
152
- displayQuote: null,
153
- },
154
- side: o.side === 'B' ? OrderSide.BUY : OrderSide.SELL,
155
- type: mapOrderType(o.orderType),
156
- price: o.limitPx,
157
- originalSize: o.origSz,
158
- remainingSize: o.sz,
159
- filledSize: filled.toString(),
160
- timeInForce: mapTimeInForce(o.tif ?? undefined),
161
- reduceOnly: o.reduceOnly ?? undefined,
162
- isTrigger: o.triggerCondition !== undefined && o.triggerCondition !== 'N/A',
163
- triggerPrice: o.triggerPx ?? undefined,
164
- status: mapOrderStatus(detail.status),
165
- statusReason: mapStatusReason(detail.status),
166
- createdAt: new Date(o.timestamp).toISOString(),
167
- updatedAt: new Date(detail.statusTimestamp).toISOString(),
168
- }
169
- }
@@ -1,33 +0,0 @@
1
- import { MarginMode, PositionSide } from '../../../enums.js'
2
- import type { Position } from '../../../account.js'
3
- import type { HlAssetPosition } from '../types.js'
4
- import { deriveMarket } from './_market.js'
5
-
6
- export const mapPosition = (ap: HlAssetPosition): Position => {
7
- const pos = ap.position
8
- const szi = parseFloat(pos.szi)
9
-
10
- return {
11
- asset: {
12
- assetId: pos.coin,
13
- market: deriveMarket(pos.coin),
14
- displaySymbol: pos.coin,
15
- displayQuote: null,
16
- },
17
- side: szi >= 0 ? PositionSide.LONG : PositionSide.SHORT,
18
- size: Math.abs(szi).toString(),
19
- entryPrice: pos.entryPx ?? '0',
20
- markPrice:
21
- pos.positionValue && szi !== 0
22
- ? (parseFloat(pos.positionValue) / Math.abs(szi)).toString()
23
- : '0',
24
- liquidationPrice: pos.liquidationPx ?? '0',
25
- unrealizedPnl: pos.unrealizedPnl,
26
- leverage: ap.position.leverage.value,
27
- marginUsed: pos.marginUsed,
28
- marginMode:
29
- ap.position.leverage.type === 'cross'
30
- ? MarginMode.CROSS
31
- : MarginMode.ISOLATED,
32
- }
33
- }
File without changes
@@ -1,379 +0,0 @@
1
- import type { Address } from 'viem'
2
-
3
- // ---------------------------------------------------------------------------
4
- // Hyperliquid /info response types
5
- // ---------------------------------------------------------------------------
6
-
7
- // -- metaAndAssetCtxs -------------------------------------------------------
8
-
9
- export type HlUniverseItem = {
10
- name: string
11
- szDecimals: number
12
- maxLeverage: number
13
- onlyIsolated?: boolean
14
- isDelisted?: boolean
15
- }
16
-
17
- export type HlMeta = {
18
- universe: HlUniverseItem[]
19
- }
20
-
21
- export type HlAssetCtx = {
22
- funding: string
23
- openInterest: string
24
- dayNtlVlm: string
25
- prevDayPx: string
26
- markPx: string
27
- }
28
-
29
- export type HlMetaAndAssetCtxs = [HlMeta, HlAssetCtx[]]
30
-
31
- export type HlUniverse = HlMeta['universe']
32
-
33
- // -- allMids ----------------------------------------------------------------
34
-
35
- export type HlAllMids = Record<string, string>
36
-
37
- // -- candleSnapshot ---------------------------------------------------------
38
-
39
- export type HlCandle = {
40
- t: number
41
- o: string
42
- h: string
43
- l: string
44
- c: string
45
- v: string
46
- }
47
-
48
- export type HlCandleSnapshot = HlCandle[]
49
-
50
- // -- l2Book -----------------------------------------------------------------
51
-
52
- export type HlLevel = {
53
- px: string
54
- sz: string
55
- n: number
56
- }
57
-
58
- export type HlL2Book = {
59
- levels: [HlLevel[], HlLevel[]]
60
- time: number
61
- }
62
-
63
- // -- clearinghouseState -----------------------------------------------------
64
-
65
- export type HlPosition = {
66
- coin: string
67
- szi: string
68
- entryPx: string
69
- positionValue: string
70
- liquidationPx: string
71
- unrealizedPnl: string
72
- marginUsed: string
73
- leverage: {
74
- type: string
75
- value: number
76
- }
77
- }
78
-
79
- export type HlAssetPosition = {
80
- position: HlPosition
81
- }
82
-
83
- export type HlClearinghouseState = {
84
- assetPositions: HlAssetPosition[]
85
- marginSummary: {
86
- accountValue: string
87
- totalMarginUsed: string
88
- }
89
- crossMarginSummary: {
90
- accountValue: string
91
- totalMarginUsed: string
92
- }
93
- }
94
-
95
- // -- spotClearinghouseState -------------------------------------------------
96
-
97
- export type HlSpotBalance = {
98
- coin: string
99
- token: number
100
- total: string
101
- hold: string
102
- entryNtl: string
103
- }
104
-
105
- export type HlSpotClearinghouseState = {
106
- balances: HlSpotBalance[]
107
- }
108
-
109
- // -- userFees ---------------------------------------------------------------
110
-
111
- export type HlUserFees = {
112
- userAddRate: string
113
- userCrossRate: string
114
- activeReferralDiscount: string
115
- }
116
-
117
- // -- frontendOpenOrders -----------------------------------------------------
118
-
119
- export type HlFrontendOpenOrder = {
120
- oid: number
121
- coin: string
122
- side: string
123
- sz: string
124
- limitPx: string
125
- orderType: string
126
- origSz: string
127
- reduceOnly: boolean
128
- timestamp: number
129
- isTrigger: boolean
130
- isPositionTpsl: boolean
131
- triggerCondition: string
132
- triggerPx: string
133
- children: HlFrontendOpenOrder[]
134
- tif: string | null
135
- cloid: string | null
136
- }
137
-
138
- export type HlFrontendOpenOrders = HlFrontendOpenOrder[]
139
-
140
- // -- extraAgents ------------------------------------------------------------
141
-
142
- export type HlExtraAgents = Record<string, unknown>[]
143
-
144
- // -- userFills / userFillsByTime --------------------------------------------
145
-
146
- export type HlUserFill = {
147
- tid: number
148
- oid: number
149
- coin: string
150
- side: string
151
- sz: string
152
- px: string
153
- dir: string
154
- fee: string
155
- closedPnl: string
156
- crossed: boolean
157
- time: number
158
- startPosition: string
159
- }
160
-
161
- export type HlUserFills = HlUserFill[]
162
-
163
- export type HlUserFillsByTime = HlUserFill[]
164
-
165
- // -- orderStatus ------------------------------------------------------------
166
-
167
- export type HlOrderDetail = {
168
- order: {
169
- oid: number
170
- coin: string
171
- side: string
172
- sz: string
173
- limitPx: string
174
- orderType: string
175
- origSz: string
176
- reduceOnly: boolean
177
- timestamp: number
178
- tif: string | null
179
- cloid: string | null
180
- triggerCondition: string
181
- triggerPx: string | null
182
- }
183
- status: string
184
- statusTimestamp: number
185
- }
186
-
187
- export type HlOrderStatusFound = {
188
- status: 'order'
189
- order: HlOrderDetail
190
- }
191
-
192
- export type HlOrderStatusResponse =
193
- | HlOrderStatusFound
194
- | { status: 'unknownOid' }
195
-
196
- // -- userNonFundingLedgerUpdates --------------------------------------------
197
-
198
- /**
199
- * Hyperliquid `spotTransfer` ledger delta. Emitted for transfers of spot
200
- * tokens between Hyperliquid accounts. `user` is the sender, `destination`
201
- * the recipient; direction is derived at the call site from the queried
202
- * address.
203
- */
204
- export type HlSpotTransferDelta = {
205
- type: 'spotTransfer'
206
- token: string
207
- amount: string
208
- usdcValue: string
209
- user: Address
210
- destination: Address
211
- fee?: string
212
- nativeTokenFee?: string
213
- nonce?: number
214
- }
215
-
216
- /**
217
- * Hyperliquid ledger delta emitted for the `sendAsset` exchange action. The
218
- * wire `type` literal is `'send'` (NOT `'sendAsset'`); the TS name retains
219
- * the `SendAsset` prefix to match `HL_PRIMARY_TYPE_SEND_ASSET`.
220
- *
221
- * - `user` is the sender, `destination` the recipient. For same-user dex
222
- * moves both equal the queried address.
223
- * - `sourceDex` / `destinationDex` use `""` for the main USDC perp DEX,
224
- * `"spot"` for spot, or the perp DEX name otherwise.
225
- * - `token` is a wire token identifier (e.g. `"USDC"` or `"TOKEN:0x..."`).
226
- * - `nonce` is the wire nonce (ms timestamp); always present on `send`
227
- * deltas, unlike `spotTransfer` where it may be null.
228
- */
229
- export type HlSendAssetDelta = {
230
- type: 'send'
231
- user: Address
232
- destination: Address
233
- sourceDex: string
234
- destinationDex: string
235
- token: string
236
- amount: string
237
- usdcValue: string
238
- fee: string
239
- nativeTokenFee: string
240
- nonce: number
241
- feeToken: string
242
- }
243
-
244
- export type HlLedgerDelta =
245
- | HlSpotTransferDelta
246
- | HlSendAssetDelta
247
- | {
248
- type: string
249
- usdc?: string
250
- [key: string]: unknown
251
- }
252
-
253
- /**
254
- * Type guard for `HlSpotTransferDelta` — TypeScript cannot narrow off the
255
- * `type` discriminant alone because the catch-all arm of `HlLedgerDelta` has
256
- * `type: string` (a supertype of the literal `'spotTransfer'`). Use this at
257
- * call sites that need the strongly-typed shape.
258
- */
259
- export const isSpotTransferDelta = (
260
- delta: HlLedgerDelta
261
- ): delta is HlSpotTransferDelta => delta.type === 'spotTransfer'
262
-
263
- /**
264
- * Type guard for `HlSendAssetDelta`. The wire `type` literal is `'send'`;
265
- * see `HlSendAssetDelta` for the naming-vs-wire-format rationale. Same
266
- * catch-all-arm caveat as `isSpotTransferDelta`.
267
- */
268
- export const isSendAssetDelta = (
269
- delta: HlLedgerDelta
270
- ): delta is HlSendAssetDelta => delta.type === 'send'
271
-
272
- export type HlLedgerUpdate = {
273
- time: number
274
- hash: string
275
- delta: HlLedgerDelta
276
- }
277
-
278
- export type HlUserNonFundingLedgerUpdates = HlLedgerUpdate[]
279
-
280
- // -- userFunding ------------------------------------------------------------
281
-
282
- export type HlFundingDelta = {
283
- type: 'funding'
284
- coin: string
285
- usdc: string
286
- szi: string
287
- fundingRate: string
288
- }
289
-
290
- export type HlFundingUpdate = {
291
- time: number
292
- hash: string
293
- delta: HlFundingDelta
294
- }
295
-
296
- export type HlUserFunding = HlFundingUpdate[]
297
-
298
- // -- abstraction mode -------------------------------------------------------
299
-
300
- /**
301
- * Possible values returned by the `userAbstraction` info endpoint.
302
- * `null` means abstraction has never been set (standard mode).
303
- */
304
- export const HlAbstractionMode = {
305
- DISABLED: 'disabled',
306
- UNIFIED_ACCOUNT: 'unifiedAccount',
307
- PORTFOLIO_MARGIN: 'portfolioMargin',
308
- DEX_ABSTRACTION: 'dexAbstraction',
309
- } as const
310
-
311
- export type HlAbstractionMode =
312
- (typeof HlAbstractionMode)[keyof typeof HlAbstractionMode]
313
-
314
- // -- perpDexs ---------------------------------------------------------------
315
-
316
- export type HlPerpDexs = (null | { name: string })[]
317
-
318
- // ---------------------------------------------------------------------------
319
- // Exchange request / response types
320
- // ---------------------------------------------------------------------------
321
-
322
- export type HlExchangeRequest = {
323
- action: Record<string, unknown>
324
- signature: {
325
- r: string
326
- s: string
327
- v: number
328
- }
329
- nonce: number
330
- vaultAddress?: string | null
331
- }
332
-
333
- export type HlExchangeResponse = {
334
- status: string
335
- response?:
336
- | string
337
- | {
338
- type: string
339
- data?: {
340
- statuses?: (
341
- | string
342
- | { filled: { totalSz: string; avgPx: string; oid: number } }
343
- | { resting: { oid: number } }
344
- | { waitingForFill: { oid: number } }
345
- | { waitingForTrigger: { oid: number } }
346
- | { success: true }
347
- | { error: string }
348
- )[]
349
- status?: unknown
350
- }
351
- }
352
- }
353
-
354
- // ---------------------------------------------------------------------------
355
- // Hyperliquid EIP-712 primary type constants
356
- // ---------------------------------------------------------------------------
357
-
358
- export const HL_PRIMARY_TYPE_APPROVE_AGENT =
359
- 'HyperliquidTransaction:ApproveAgent' as const
360
- export const HL_PRIMARY_TYPE_APPROVE_BUILDER_FEE =
361
- 'HyperliquidTransaction:ApproveBuilderFee' as const
362
- export const HL_PRIMARY_TYPE_USER_SET_ABSTRACTION =
363
- 'HyperliquidTransaction:UserSetAbstraction' as const
364
- export const HL_PRIMARY_TYPE_AGENT_SET_ABSTRACTION =
365
- 'HyperliquidTransaction:AgentSetAbstraction' as const
366
- export const HL_PRIMARY_TYPE_WITHDRAW =
367
- 'HyperliquidTransaction:Withdraw' as const
368
- export const HL_PRIMARY_TYPE_SEND_ASSET =
369
- 'HyperliquidTransaction:SendAsset' as const
370
- export const HL_PRIMARY_TYPE_AGENT = 'Agent' as const
371
-
372
- export type HlPrimaryType =
373
- | typeof HL_PRIMARY_TYPE_APPROVE_AGENT
374
- | typeof HL_PRIMARY_TYPE_APPROVE_BUILDER_FEE
375
- | typeof HL_PRIMARY_TYPE_USER_SET_ABSTRACTION
376
- | typeof HL_PRIMARY_TYPE_AGENT_SET_ABSTRACTION
377
- | typeof HL_PRIMARY_TYPE_WITHDRAW
378
- | typeof HL_PRIMARY_TYPE_SEND_ASSET
379
- | typeof HL_PRIMARY_TYPE_AGENT
@@ -1,87 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Lighter raw API response types — shared between backend (REST) and SDK (WS)
3
- // ---------------------------------------------------------------------------
4
-
5
- export type LtAccountPosition = {
6
- market_id: number
7
- symbol: string
8
- initial_margin_fraction: string
9
- open_order_count: number
10
- pending_order_count: number
11
- position_tied_order_count: number
12
- sign: number
13
- position: string
14
- avg_entry_price: string
15
- position_value: string
16
- unrealized_pnl: string
17
- realized_pnl: string
18
- liquidation_price: string
19
- total_funding_paid_out: string
20
- margin_mode: number
21
- allocated_margin: string
22
- total_discount: string
23
- }
24
-
25
- export type LtAccountAsset = {
26
- symbol: string
27
- asset_id: number
28
- balance: string
29
- locked_balance: string
30
- }
31
-
32
- export type LtTrade = {
33
- trade_id: number
34
- tx_hash: string
35
- type: string
36
- market_id: number
37
- size: string
38
- price: string
39
- usd_amount: string
40
- ask_id: number
41
- bid_id: number
42
- ask_account_id: number
43
- bid_account_id: number
44
- is_maker_ask: boolean
45
- block_height: number
46
- timestamp: number
47
- // Lighter's OpenAPI spec marks these as required `StrictInt`, but the live
48
- // /api/v1/trades endpoint omits them on some `type: "trade"` rows (observed
49
- // on older trades) — keep optional and let the mapper emit `undefined`.
50
- taker_fee?: number
51
- maker_fee?: number
52
- transaction_time: number
53
- // Per-counterparty position snapshot BEFORE the trade is applied. Signed
54
- // strings: positive = long, negative = short, "0" / "0.00000" = flat.
55
- taker_position_size_before: string
56
- maker_position_size_before: string
57
- }
58
-
59
- export type LtOrder = {
60
- order_index: number
61
- client_order_index: number
62
- order_id: string
63
- client_order_id: string
64
- market_index: number
65
- owner_account_index: number
66
- initial_base_amount: string
67
- price: string
68
- nonce: number
69
- remaining_base_amount: string
70
- is_ask: boolean
71
- filled_base_amount: string
72
- filled_quote_amount: string
73
- side: string
74
- type: string
75
- time_in_force: string
76
- reduce_only: boolean
77
- trigger_price: string
78
- order_expiry: number
79
- status: string
80
- trigger_status: string
81
- trigger_time: number
82
- block_height: number
83
- timestamp: number
84
- created_at: number
85
- updated_at: number
86
- transaction_time: number
87
- }
@@ -1,3 +0,0 @@
1
- export * from './types.js'
2
- export * from './apiTypes.js'
3
- export * from './mappers/index.js'