@lifi/perps-types 0.1.1-alpha.9 → 0.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/package.json +18 -4
  2. package/providers/lighter/package.json +5 -0
  3. package/src/_cjs/{market.js → action.js} +1 -1
  4. package/src/_cjs/action.js.map +1 -0
  5. package/src/_cjs/{trading.js → asset.js} +1 -1
  6. package/src/_cjs/asset.js.map +1 -0
  7. package/src/_cjs/enums.js +81 -15
  8. package/src/_cjs/enums.js.map +1 -1
  9. package/src/_cjs/index.js +3 -4
  10. package/src/_cjs/index.js.map +1 -1
  11. package/src/_cjs/providers/_shared/fillClassification.js +37 -0
  12. package/src/_cjs/providers/_shared/fillClassification.js.map +1 -0
  13. package/src/_cjs/providers/hyperliquid/assetId.js +11 -9
  14. package/src/_cjs/providers/hyperliquid/assetId.js.map +1 -1
  15. package/src/_cjs/providers/hyperliquid/mappers/_market.js +15 -0
  16. package/src/_cjs/providers/hyperliquid/mappers/_market.js.map +1 -0
  17. package/src/_cjs/providers/hyperliquid/mappers/activity.js +80 -8
  18. package/src/_cjs/providers/hyperliquid/mappers/activity.js.map +1 -1
  19. package/src/_cjs/providers/hyperliquid/mappers/{market.js → asset.js} +10 -9
  20. package/src/_cjs/providers/hyperliquid/mappers/asset.js.map +1 -0
  21. package/src/_cjs/providers/hyperliquid/mappers/fill.js +36 -0
  22. package/src/_cjs/providers/hyperliquid/mappers/fill.js.map +1 -0
  23. package/src/_cjs/providers/hyperliquid/mappers/index.js +9 -7
  24. package/src/_cjs/providers/hyperliquid/mappers/index.js.map +1 -1
  25. package/src/_cjs/providers/hyperliquid/mappers/order.js +86 -9
  26. package/src/_cjs/providers/hyperliquid/mappers/order.js.map +1 -1
  27. package/src/_cjs/providers/hyperliquid/mappers/position.js +8 -5
  28. package/src/_cjs/providers/hyperliquid/mappers/position.js.map +1 -1
  29. package/src/_cjs/providers/hyperliquid/mappers/shared.js +0 -10
  30. package/src/_cjs/providers/hyperliquid/mappers/shared.js.map +1 -1
  31. package/src/_cjs/providers/hyperliquid/types.js +18 -0
  32. package/src/_cjs/providers/hyperliquid/types.js.map +1 -1
  33. package/src/_cjs/{authorization.js → providers/lighter/apiTypes.js} +1 -1
  34. package/src/_cjs/providers/lighter/apiTypes.js.map +1 -0
  35. package/src/_cjs/providers/lighter/index.js +20 -0
  36. package/src/_cjs/providers/lighter/index.js.map +1 -0
  37. package/src/_cjs/providers/lighter/mappers/fill.js +34 -0
  38. package/src/_cjs/providers/lighter/mappers/fill.js.map +1 -0
  39. package/src/_cjs/providers/lighter/mappers/index.js +13 -0
  40. package/src/_cjs/providers/lighter/mappers/index.js.map +1 -0
  41. package/src/_cjs/providers/lighter/mappers/order.js +142 -0
  42. package/src/_cjs/providers/lighter/mappers/order.js.map +1 -0
  43. package/src/_cjs/providers/lighter/mappers/position.js +35 -0
  44. package/src/_cjs/providers/lighter/mappers/position.js.map +1 -0
  45. package/src/_cjs/providers/lighter/types.js +23 -0
  46. package/src/_cjs/providers/lighter/types.js.map +1 -0
  47. package/src/_cjs/{withdrawal.js → providers.js} +1 -1
  48. package/src/_cjs/providers.js.map +1 -0
  49. package/src/_esm/action.js +2 -0
  50. package/src/_esm/action.js.map +1 -0
  51. package/src/_esm/asset.js +2 -0
  52. package/src/_esm/asset.js.map +1 -0
  53. package/src/_esm/enums.js +90 -14
  54. package/src/_esm/enums.js.map +1 -1
  55. package/src/_esm/index.js +3 -4
  56. package/src/_esm/index.js.map +1 -1
  57. package/src/_esm/providers/_shared/fillClassification.js +43 -0
  58. package/src/_esm/providers/_shared/fillClassification.js.map +1 -0
  59. package/src/_esm/providers/hyperliquid/assetId.js +13 -11
  60. package/src/_esm/providers/hyperliquid/assetId.js.map +1 -1
  61. package/src/_esm/providers/hyperliquid/mappers/_market.js +22 -0
  62. package/src/_esm/providers/hyperliquid/mappers/_market.js.map +1 -0
  63. package/src/_esm/providers/hyperliquid/mappers/activity.js +92 -13
  64. package/src/_esm/providers/hyperliquid/mappers/activity.js.map +1 -1
  65. package/src/_esm/providers/hyperliquid/mappers/{market.js → asset.js} +8 -7
  66. package/src/_esm/providers/hyperliquid/mappers/asset.js.map +1 -0
  67. package/src/_esm/providers/hyperliquid/mappers/fill.js +32 -0
  68. package/src/_esm/providers/hyperliquid/mappers/fill.js.map +1 -0
  69. package/src/_esm/providers/hyperliquid/mappers/index.js +3 -4
  70. package/src/_esm/providers/hyperliquid/mappers/index.js.map +1 -1
  71. package/src/_esm/providers/hyperliquid/mappers/order.js +88 -8
  72. package/src/_esm/providers/hyperliquid/mappers/order.js.map +1 -1
  73. package/src/_esm/providers/hyperliquid/mappers/position.js +8 -5
  74. package/src/_esm/providers/hyperliquid/mappers/position.js.map +1 -1
  75. package/src/_esm/providers/hyperliquid/mappers/shared.js +1 -12
  76. package/src/_esm/providers/hyperliquid/mappers/shared.js.map +1 -1
  77. package/src/_esm/providers/hyperliquid/types.js +32 -2
  78. package/src/_esm/providers/hyperliquid/types.js.map +1 -1
  79. package/src/_esm/providers/lighter/apiTypes.js +5 -0
  80. package/src/_esm/providers/lighter/apiTypes.js.map +1 -0
  81. package/src/_esm/providers/lighter/index.js +4 -0
  82. package/src/_esm/providers/lighter/index.js.map +1 -0
  83. package/src/_esm/providers/lighter/mappers/fill.js +39 -0
  84. package/src/_esm/providers/lighter/mappers/fill.js.map +1 -0
  85. package/src/_esm/providers/lighter/mappers/index.js +4 -0
  86. package/src/_esm/providers/lighter/mappers/index.js.map +1 -0
  87. package/src/_esm/providers/lighter/mappers/order.js +162 -0
  88. package/src/_esm/providers/lighter/mappers/order.js.map +1 -0
  89. package/src/_esm/providers/lighter/mappers/position.js +38 -0
  90. package/src/_esm/providers/lighter/mappers/position.js.map +1 -0
  91. package/src/_esm/providers/lighter/types.js +26 -0
  92. package/src/_esm/providers/lighter/types.js.map +1 -0
  93. package/src/_esm/providers.js +2 -0
  94. package/src/_esm/providers.js.map +1 -0
  95. package/src/_types/account.d.ts +178 -23
  96. package/src/_types/account.d.ts.map +1 -1
  97. package/src/_types/action.d.ts +261 -0
  98. package/src/_types/action.d.ts.map +1 -0
  99. package/src/_types/{market.d.ts → asset.d.ts} +23 -34
  100. package/src/_types/asset.d.ts.map +1 -0
  101. package/src/_types/enums.d.ts +76 -6
  102. package/src/_types/enums.d.ts.map +1 -1
  103. package/src/_types/index.d.ts +3 -4
  104. package/src/_types/index.d.ts.map +1 -1
  105. package/src/_types/providers/_shared/fillClassification.d.ts +12 -0
  106. package/src/_types/providers/_shared/fillClassification.d.ts.map +1 -0
  107. package/src/_types/providers/hyperliquid/assetId.d.ts +8 -6
  108. package/src/_types/providers/hyperliquid/assetId.d.ts.map +1 -1
  109. package/src/_types/providers/hyperliquid/mappers/_market.d.ts +13 -0
  110. package/src/_types/providers/hyperliquid/mappers/_market.d.ts.map +1 -0
  111. package/src/_types/providers/hyperliquid/mappers/activity.d.ts +7 -7
  112. package/src/_types/providers/hyperliquid/mappers/activity.d.ts.map +1 -1
  113. package/src/_types/providers/hyperliquid/mappers/asset.d.ts +4 -0
  114. package/src/_types/providers/hyperliquid/mappers/asset.d.ts.map +1 -0
  115. package/src/_types/providers/hyperliquid/mappers/fill.d.ts +6 -0
  116. package/src/_types/providers/hyperliquid/mappers/fill.d.ts.map +1 -0
  117. package/src/_types/providers/hyperliquid/mappers/index.d.ts +3 -4
  118. package/src/_types/providers/hyperliquid/mappers/index.d.ts.map +1 -1
  119. package/src/_types/providers/hyperliquid/mappers/order.d.ts +15 -3
  120. package/src/_types/providers/hyperliquid/mappers/order.d.ts.map +1 -1
  121. package/src/_types/providers/hyperliquid/mappers/position.d.ts +1 -1
  122. package/src/_types/providers/hyperliquid/mappers/position.d.ts.map +1 -1
  123. package/src/_types/providers/hyperliquid/mappers/shared.d.ts +0 -6
  124. package/src/_types/providers/hyperliquid/mappers/shared.d.ts.map +1 -1
  125. package/src/_types/providers/hyperliquid/types.d.ts +90 -2
  126. package/src/_types/providers/hyperliquid/types.d.ts.map +1 -1
  127. package/src/_types/providers/lighter/apiTypes.d.ts +76 -0
  128. package/src/_types/providers/lighter/apiTypes.d.ts.map +1 -0
  129. package/src/_types/providers/lighter/index.d.ts +4 -0
  130. package/src/_types/providers/lighter/index.d.ts.map +1 -0
  131. package/src/_types/providers/lighter/mappers/fill.d.ts +9 -0
  132. package/src/_types/providers/lighter/mappers/fill.d.ts.map +1 -0
  133. package/src/_types/providers/lighter/mappers/index.d.ts +4 -0
  134. package/src/_types/providers/lighter/mappers/index.d.ts.map +1 -0
  135. package/src/_types/providers/lighter/mappers/order.d.ts +35 -0
  136. package/src/_types/providers/lighter/mappers/order.d.ts.map +1 -0
  137. package/src/_types/providers/lighter/mappers/position.d.ts +8 -0
  138. package/src/_types/providers/lighter/mappers/position.d.ts.map +1 -0
  139. package/src/_types/providers/lighter/types.d.ts +90 -0
  140. package/src/_types/providers/lighter/types.d.ts.map +1 -0
  141. package/src/_types/providers.d.ts +145 -0
  142. package/src/_types/providers.d.ts.map +1 -0
  143. package/src/_types/subscriptions.d.ts +23 -18
  144. package/src/_types/subscriptions.d.ts.map +1 -1
  145. package/src/_types/typedData.d.ts +13 -5
  146. package/src/_types/typedData.d.ts.map +1 -1
  147. package/src/account.ts +193 -22
  148. package/src/action.ts +324 -0
  149. package/src/asset.ts +88 -0
  150. package/src/enums.ts +85 -3
  151. package/src/index.ts +3 -4
  152. package/src/providers/_shared/fillClassification.ts +50 -0
  153. package/src/providers/hyperliquid/assetId.ts +18 -12
  154. package/src/providers/hyperliquid/mappers/_market.ts +21 -0
  155. package/src/providers/hyperliquid/mappers/activity.ts +98 -13
  156. package/src/providers/hyperliquid/mappers/{market.ts → asset.ts} +10 -12
  157. package/src/providers/hyperliquid/mappers/fill.ts +41 -0
  158. package/src/providers/hyperliquid/mappers/index.ts +9 -4
  159. package/src/providers/hyperliquid/mappers/order.ts +95 -14
  160. package/src/providers/hyperliquid/mappers/position.ts +8 -10
  161. package/src/providers/hyperliquid/mappers/shared.ts +0 -15
  162. package/src/providers/hyperliquid/types.ts +128 -4
  163. package/src/providers/lighter/apiTypes.ts +87 -0
  164. package/src/providers/lighter/index.ts +3 -0
  165. package/src/providers/lighter/mappers/fill.ts +57 -0
  166. package/src/providers/lighter/mappers/index.ts +8 -0
  167. package/src/providers/lighter/mappers/order.ts +184 -0
  168. package/src/providers/lighter/mappers/position.ts +46 -0
  169. package/src/providers/lighter/types.ts +111 -0
  170. package/src/providers.ts +153 -0
  171. package/src/subscriptions.ts +21 -20
  172. package/src/typedData.ts +15 -5
  173. package/src/_cjs/authorization.js.map +0 -1
  174. package/src/_cjs/market.js.map +0 -1
  175. package/src/_cjs/providers/hyperliquid/mappers/history.js +0 -22
  176. package/src/_cjs/providers/hyperliquid/mappers/history.js.map +0 -1
  177. package/src/_cjs/providers/hyperliquid/mappers/market.js.map +0 -1
  178. package/src/_cjs/trading.js.map +0 -1
  179. package/src/_cjs/withdrawal.js.map +0 -1
  180. package/src/_esm/authorization.js +0 -2
  181. package/src/_esm/authorization.js.map +0 -1
  182. package/src/_esm/market.js +0 -2
  183. package/src/_esm/market.js.map +0 -1
  184. package/src/_esm/providers/hyperliquid/mappers/history.js +0 -18
  185. package/src/_esm/providers/hyperliquid/mappers/history.js.map +0 -1
  186. package/src/_esm/providers/hyperliquid/mappers/market.js.map +0 -1
  187. package/src/_esm/trading.js +0 -2
  188. package/src/_esm/trading.js.map +0 -1
  189. package/src/_esm/withdrawal.js +0 -2
  190. package/src/_esm/withdrawal.js.map +0 -1
  191. package/src/_types/authorization.d.ts +0 -39
  192. package/src/_types/authorization.d.ts.map +0 -1
  193. package/src/_types/market.d.ts.map +0 -1
  194. package/src/_types/providers/hyperliquid/mappers/history.d.ts +0 -4
  195. package/src/_types/providers/hyperliquid/mappers/history.d.ts.map +0 -1
  196. package/src/_types/providers/hyperliquid/mappers/market.d.ts +0 -4
  197. package/src/_types/providers/hyperliquid/mappers/market.d.ts.map +0 -1
  198. package/src/_types/trading.d.ts +0 -80
  199. package/src/_types/trading.d.ts.map +0 -1
  200. package/src/_types/withdrawal.d.ts +0 -37
  201. package/src/_types/withdrawal.d.ts.map +0 -1
  202. package/src/authorization.ts +0 -46
  203. package/src/market.ts +0 -97
  204. package/src/providers/hyperliquid/mappers/history.ts +0 -25
  205. package/src/trading.ts +0 -97
  206. package/src/withdrawal.ts +0 -44
package/src/_esm/enums.js CHANGED
@@ -6,6 +6,7 @@ export var PerpsErrorCode;
6
6
  PerpsErrorCode[PerpsErrorCode["ValidationError"] = 2002] = "ValidationError";
7
7
  PerpsErrorCode[PerpsErrorCode["TimeoutError"] = 2003] = "TimeoutError";
8
8
  PerpsErrorCode[PerpsErrorCode["ThirdPartyError"] = 2004] = "ThirdPartyError";
9
+ PerpsErrorCode[PerpsErrorCode["SDKError"] = 2005] = "SDKError";
9
10
  // Auth errors (2010-2019)
10
11
  PerpsErrorCode[PerpsErrorCode["SignatureInvalid"] = 2010] = "SignatureInvalid";
11
12
  PerpsErrorCode[PerpsErrorCode["AgentUnauthorized"] = 2011] = "AgentUnauthorized";
@@ -16,6 +17,7 @@ export var PerpsErrorCode;
16
17
  PerpsErrorCode[PerpsErrorCode["MarketNotFound"] = 2023] = "MarketNotFound";
17
18
  PerpsErrorCode[PerpsErrorCode["OrderNotFound"] = 2024] = "OrderNotFound";
18
19
  PerpsErrorCode[PerpsErrorCode["PositionNotFound"] = 2025] = "PositionNotFound";
20
+ PerpsErrorCode[PerpsErrorCode["AccountNotFound"] = 2026] = "AccountNotFound";
19
21
  // Nonce errors (2040-2049)
20
22
  PerpsErrorCode[PerpsErrorCode["InvalidNonce"] = 2040] = "InvalidNonce";
21
23
  PerpsErrorCode[PerpsErrorCode["NonceAlreadyUsed"] = 2041] = "NonceAlreadyUsed";
@@ -34,6 +36,11 @@ export var OrderType;
34
36
  (function (OrderType) {
35
37
  OrderType["MARKET"] = "MARKET";
36
38
  OrderType["LIMIT"] = "LIMIT";
39
+ OrderType["STOP_MARKET"] = "STOP_MARKET";
40
+ OrderType["STOP_LIMIT"] = "STOP_LIMIT";
41
+ OrderType["TAKE_PROFIT_MARKET"] = "TAKE_PROFIT_MARKET";
42
+ OrderType["TAKE_PROFIT_LIMIT"] = "TAKE_PROFIT_LIMIT";
43
+ OrderType["TRIGGER_ONLY"] = "TRIGGER_ONLY";
37
44
  })(OrderType || (OrderType = {}));
38
45
  export var PositionSide;
39
46
  (function (PositionSide) {
@@ -63,20 +70,48 @@ export var OrderStatus;
63
70
  OrderStatus["EXPIRED"] = "EXPIRED";
64
71
  OrderStatus["TRIGGERED"] = "TRIGGERED";
65
72
  })(OrderStatus || (OrderStatus = {}));
66
- export var HistoryItemStatus;
67
- (function (HistoryItemStatus) {
68
- HistoryItemStatus["FILLED"] = "FILLED";
69
- HistoryItemStatus["PARTIALLY_FILLED"] = "PARTIALLY_FILLED";
70
- HistoryItemStatus["CANCELLED"] = "CANCELLED";
71
- HistoryItemStatus["REJECTED"] = "REJECTED";
72
- })(HistoryItemStatus || (HistoryItemStatus = {}));
73
- export var OrderActionType;
74
- (function (OrderActionType) {
75
- OrderActionType["UPDATE_LEVERAGE"] = "updateLeverage";
76
- OrderActionType["PLACE_ORDER"] = "placeOrder";
77
- OrderActionType["PLACE_TRIGGER_ORDER"] = "placeTriggerOrder";
78
- OrderActionType["CANCEL_ORDER"] = "cancelOrder";
79
- })(OrderActionType || (OrderActionType = {}));
73
+ export var FillStatus;
74
+ (function (FillStatus) {
75
+ FillStatus["FILLED"] = "FILLED";
76
+ FillStatus["PARTIALLY_FILLED"] = "PARTIALLY_FILLED";
77
+ FillStatus["CANCELLED"] = "CANCELLED";
78
+ FillStatus["REJECTED"] = "REJECTED";
79
+ })(FillStatus || (FillStatus = {}));
80
+ export var LiquidityRole;
81
+ (function (LiquidityRole) {
82
+ LiquidityRole["MAKER"] = "maker";
83
+ LiquidityRole["TAKER"] = "taker";
84
+ })(LiquidityRole || (LiquidityRole = {}));
85
+ export var ActionType;
86
+ (function (ActionType) {
87
+ ActionType["APPROVE_AGENT"] = "approveAgent";
88
+ ActionType["APPROVE_BUILDER_FEE"] = "approveBuilderFee";
89
+ /**
90
+ * Generic account-level operating mode (e.g. Hyperliquid abstraction
91
+ * variants, Lighter UTA / Simple). HL maps it to the appropriate
92
+ * EIP-712 typed-data builder internally.
93
+ */
94
+ ActionType["ACCOUNT_MODE"] = "accountMode";
95
+ /**
96
+ * Generic account-level fee/latency tier (e.g. Lighter standard /
97
+ * premium). Providers that have no tiering (Hyperliquid) omit this
98
+ * action from their descriptor list.
99
+ */
100
+ ActionType["ACCOUNT_TYPE"] = "accountType";
101
+ ActionType["SEND_ASSET"] = "sendAsset";
102
+ ActionType["WITHDRAWAL"] = "withdrawal";
103
+ ActionType["TRANSFER"] = "transfer";
104
+ ActionType["PLACE_ORDER"] = "placeOrder";
105
+ ActionType["PLACE_TRIGGER_ORDER"] = "placeTriggerOrder";
106
+ ActionType["CANCEL_ORDER"] = "cancelOrder";
107
+ ActionType["CANCEL_ALL_ORDERS"] = "cancelAllOrders";
108
+ ActionType["MODIFY_ORDER"] = "modifyOrder";
109
+ ActionType["UPDATE_LEVERAGE"] = "updateLeverage";
110
+ ActionType["UPDATE_POSITION_MARGIN"] = "updatePositionMargin";
111
+ ActionType["REGISTER_API_KEY"] = "registerApiKey";
112
+ ActionType["APPROVE_READ_ONLY_TOKEN"] = "approveReadOnlyToken";
113
+ ActionType["DEPOSIT"] = "deposit";
114
+ })(ActionType || (ActionType = {}));
80
115
  export var TriggerCondition;
81
116
  (function (TriggerCondition) {
82
117
  TriggerCondition["ABOVE"] = "ABOVE";
@@ -99,5 +134,46 @@ export var ActivityType;
99
134
  ActivityType["WITHDRAWAL"] = "WITHDRAWAL";
100
135
  ActivityType["LIQUIDATION"] = "LIQUIDATION";
101
136
  ActivityType["FUNDING"] = "FUNDING";
137
+ ActivityType["TRANSFER"] = "TRANSFER";
102
138
  })(ActivityType || (ActivityType = {}));
139
+ export var FillClassification;
140
+ (function (FillClassification) {
141
+ FillClassification["OPENED_LONG"] = "Opened Long";
142
+ FillClassification["OPENED_SHORT"] = "Opened Short";
143
+ FillClassification["INCREASED_LONG"] = "Increased Long";
144
+ FillClassification["INCREASED_SHORT"] = "Increased Short";
145
+ FillClassification["REDUCED_LONG"] = "Reduced Long";
146
+ FillClassification["REDUCED_SHORT"] = "Reduced Short";
147
+ FillClassification["CLOSED_LONG"] = "Closed Long";
148
+ FillClassification["CLOSED_SHORT"] = "Closed Short";
149
+ FillClassification["SWITCHED_LONG"] = "Switched Long";
150
+ FillClassification["SWITCHED_SHORT"] = "Switched Short";
151
+ FillClassification["SPOT_BUY"] = "Spot Buy";
152
+ FillClassification["SPOT_SELL"] = "Spot Sell";
153
+ })(FillClassification || (FillClassification = {}));
154
+ export var LiquidationClassification;
155
+ (function (LiquidationClassification) {
156
+ LiquidationClassification["LIQUIDATED"] = "Liquidated";
157
+ })(LiquidationClassification || (LiquidationClassification = {}));
158
+ export var FundingClassification;
159
+ (function (FundingClassification) {
160
+ FundingClassification["FUNDING"] = "Funding";
161
+ })(FundingClassification || (FundingClassification = {}));
162
+ export var TransferClassification;
163
+ (function (TransferClassification) {
164
+ TransferClassification["DEPOSIT"] = "Deposit";
165
+ TransferClassification["WITHDRAWAL"] = "Withdrawal";
166
+ })(TransferClassification || (TransferClassification = {}));
167
+ export var PerpsSigner;
168
+ (function (PerpsSigner) {
169
+ PerpsSigner["USER"] = "USER";
170
+ PerpsSigner["AGENT"] = "AGENT";
171
+ PerpsSigner["API_KEY"] = "API_KEY";
172
+ })(PerpsSigner || (PerpsSigner = {}));
173
+ export var SigningMethod;
174
+ (function (SigningMethod) {
175
+ SigningMethod["EIP712"] = "eip712";
176
+ SigningMethod["WASM_BLOB"] = "wasmBlob";
177
+ SigningMethod["EVM_TX"] = "evmTx";
178
+ })(SigningMethod || (SigningMethod = {}));
103
179
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../enums.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../enums.ts"],"names":[],"mappings":"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"}
package/src/_esm/index.js CHANGED
@@ -1,10 +1,9 @@
1
1
  export * from './typedData.js';
2
2
  export * from './enums.js';
3
- export * from './market.js';
4
- export * from './authorization.js';
3
+ export * from './providers.js';
4
+ export * from './asset.js';
5
+ export * from './action.js';
5
6
  export * from './account.js';
6
- export * from './trading.js';
7
- export * from './withdrawal.js';
8
7
  export * from './errors.js';
9
8
  export * from './subscriptions.js';
10
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { FillClassification } from '../../enums.js';
2
+ /**
3
+ * Classify a perpetual fill into the Open/Close/Increase/Reduce/Switch
4
+ * taxonomy from `FillClassification`.
5
+ *
6
+ * @param startPosition Signed position held BEFORE this fill (`> 0` long,
7
+ * `< 0` short, `0` flat).
8
+ * @param side Hyperliquid-style: `'B'` for buy, anything else for sell.
9
+ * @param sz Unsigned fill size, parsed with `parseFloat`.
10
+ */
11
+ export function classifyFillFromPosition(startPosition, side, sz) {
12
+ const start = parseFloat(startPosition);
13
+ const delta = side === 'B' ? parseFloat(sz) : -parseFloat(sz);
14
+ const end = start + delta;
15
+ if (start === 0) {
16
+ return end > 0
17
+ ? FillClassification.OPENED_LONG
18
+ : FillClassification.OPENED_SHORT;
19
+ }
20
+ if (start > 0) {
21
+ if (end === 0) {
22
+ return FillClassification.CLOSED_LONG;
23
+ }
24
+ if (end < 0) {
25
+ return FillClassification.SWITCHED_SHORT;
26
+ }
27
+ if (end > start) {
28
+ return FillClassification.INCREASED_LONG;
29
+ }
30
+ return FillClassification.REDUCED_LONG;
31
+ }
32
+ if (end === 0) {
33
+ return FillClassification.CLOSED_SHORT;
34
+ }
35
+ if (end > 0) {
36
+ return FillClassification.SWITCHED_LONG;
37
+ }
38
+ if (end < start) {
39
+ return FillClassification.INCREASED_SHORT;
40
+ }
41
+ return FillClassification.REDUCED_SHORT;
42
+ }
43
+ //# sourceMappingURL=fillClassification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fillClassification.js","sourceRoot":"","sources":["../../../providers/_shared/fillClassification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,aAAqB,EACrB,IAAY,EACZ,EAAU;IAEV,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAC7D,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAA;IAEzB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,GAAG,CAAC;YACZ,CAAC,CAAC,kBAAkB,CAAC,WAAW;YAChC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAA;IACrC,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,OAAO,kBAAkB,CAAC,WAAW,CAAA;QACvC,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO,kBAAkB,CAAC,cAAc,CAAA;QAC1C,CAAC;QACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;YAChB,OAAO,kBAAkB,CAAC,cAAc,CAAA;QAC1C,CAAC;QACD,OAAO,kBAAkB,CAAC,YAAY,CAAA;IACxC,CAAC;IAED,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,kBAAkB,CAAC,YAAY,CAAA;IACxC,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,kBAAkB,CAAC,aAAa,CAAA;IACzC,CAAC;IACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QAChB,OAAO,kBAAkB,CAAC,eAAe,CAAA;IAC3C,CAAC;IACD,OAAO,kBAAkB,CAAC,aAAa,CAAA;AACzC,CAAC"}
@@ -1,22 +1,24 @@
1
+ /** Spot asset IDs use the @pairIndex format (e.g. "@230"). */
2
+ export const assetIsSpot = (assetId) => assetId.startsWith('@');
1
3
  /**
2
- * Calculate the asset ID for a given DEX index and asset index.
4
+ * Calculate the asset ID for a given provider index and asset index.
3
5
  *
4
- * Main DEX (dex = ''): assetId = indexInDex
5
- * HIP-3 DEXes (dex = 'xyz'): assetId = 100_000 + perpDexIndex * 10_000 + indexInDex
6
+ * Main provider (provider = ''): assetId = indexInProvider
7
+ * HIP-3 providers (provider = 'xyz'): assetId = 100_000 + perpDexIndex * 10_000 + indexInProvider
6
8
  */
7
- export const calculateAssetId = (dexIndex, indexInDex) => {
8
- if (dexIndex === 0) {
9
- return indexInDex;
9
+ export const calculateAssetId = (providerIndex, indexInProvider) => {
10
+ if (providerIndex === 0) {
11
+ return indexInProvider;
10
12
  }
11
- return 100_000 + dexIndex * 10_000 + indexInDex;
13
+ return 100_000 + providerIndex * 10_000 + indexInProvider;
12
14
  };
13
15
  /**
14
- * Get the DEX index from the given list of dex names.
16
+ * Get the provider index from the given list of provider names.
15
17
  */
16
- export const getDexIndex = (dex, dexNames) => {
17
- const index = dexNames.indexOf(dex);
18
+ export const getProviderIndex = (provider, providerNames) => {
19
+ const index = providerNames.indexOf(provider);
18
20
  if (index === -1) {
19
- throw new Error(`Unknown sub-dex: ${dex}`);
21
+ throw new Error(`Unknown sub-provider: ${provider}`);
20
22
  }
21
23
  return index;
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"assetId.js","sourceRoot":"","sources":["../../../providers/hyperliquid/assetId.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,UAAkB,EACV,EAAE;IACV,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAA;AACjD,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,QAAkB,EAAU,EAAE;IACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
1
+ {"version":3,"file":"assetId.js","sourceRoot":"","sources":["../../../providers/hyperliquid/assetId.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,aAAqB,EACrB,eAAuB,EACf,EAAE;IACV,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,eAAe,CAAA;IACxB,CAAC;IACD,OAAO,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,eAAe,CAAA;AAC3D,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,aAAuB,EACf,EAAE;IACV,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Derive the `AssetIdentity.market` value (a `/providers.markets[].id`) from
3
+ * a Hyperliquid `assetId`:
4
+ * - `"BTC"` → main USDC perp dex → `"hyperliquid"`
5
+ * - `"xyz:PURR"` → HIP-3 sub-dex → `"xyz"`
6
+ * - `"@142"` → spot pair → `"spot"`
7
+ *
8
+ * Must stay in lockstep with `lifi-perps-backend`'s `toProviderMarketId` /
9
+ * `buildAssetMarketLookup` — they define the same `/providers.markets[].id`
10
+ * taxonomy on the wire.
11
+ */
12
+ export const deriveMarket = (assetId) => {
13
+ if (assetId.startsWith('@')) {
14
+ return 'spot';
15
+ }
16
+ const colon = assetId.indexOf(':');
17
+ if (colon > 0) {
18
+ return assetId.slice(0, colon);
19
+ }
20
+ return 'hyperliquid';
21
+ };
22
+ //# sourceMappingURL=_market.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_market.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/_market.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAClC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA"}
@@ -1,28 +1,100 @@
1
1
  import { ActivityType } from '../../../enums.js';
2
+ import { isSendAssetDelta, isSpotTransferDelta } from '../types.js';
3
+ import { deriveMarket } from './_market.js';
2
4
  /**
3
5
  * Map a Hyperliquid non-funding ledger entry to an ActivityItem.
4
- * Returns null for unsupported delta types (accountClassTransfer,
5
- * internalTransfer, subAccountTransfer, spotTransfer).
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`).
6
11
  */
7
- export const mapLedgerEntry = (entry, dexKey) => {
12
+ export const mapLedgerEntry = (entry, providerKey, queriedAddress) => {
8
13
  const { delta } = entry;
9
14
  const base = {
10
15
  id: entry.hash,
11
- dex: dexKey,
16
+ provider: providerKey,
12
17
  timestamp: new Date(entry.time).toISOString(),
13
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
+ }
14
86
  switch (delta.type) {
15
87
  case 'deposit':
16
88
  return {
17
89
  ...base,
18
90
  type: ActivityType.DEPOSIT,
19
- amount: delta.usdc,
91
+ amount: delta.usdc ?? '0',
20
92
  };
21
93
  case 'withdraw':
22
94
  return {
23
95
  ...base,
24
96
  type: ActivityType.WITHDRAWAL,
25
- amount: delta.usdc,
97
+ amount: delta.usdc ?? '0',
26
98
  fee: delta.fee ?? '0',
27
99
  };
28
100
  case 'liquidation': {
@@ -34,7 +106,12 @@ export const mapLedgerEntry = (entry, dexKey) => {
34
106
  accountValue: d.accountValue,
35
107
  leverageType: d.leverageType,
36
108
  liquidatedPositions: (d.liquidatedPositions ?? []).map((p) => ({
37
- symbol: p.coin,
109
+ asset: {
110
+ assetId: p.coin,
111
+ market: deriveMarket(p.coin),
112
+ displaySymbol: p.coin,
113
+ displayQuote: null,
114
+ },
38
115
  size: p.szi,
39
116
  })),
40
117
  };
@@ -43,15 +120,17 @@ export const mapLedgerEntry = (entry, dexKey) => {
43
120
  return null;
44
121
  }
45
122
  };
46
- /**
47
- * Map a Hyperliquid funding entry to a FundingActivity.
48
- */
49
- export const mapFundingActivity = (entry, dexKey) => ({
123
+ export const mapFundingActivity = (entry, providerKey) => ({
50
124
  id: entry.hash,
51
- dex: dexKey,
125
+ provider: providerKey,
52
126
  timestamp: new Date(entry.time).toISOString(),
53
127
  type: ActivityType.FUNDING,
54
- symbol: entry.delta.coin,
128
+ asset: {
129
+ assetId: entry.delta.coin,
130
+ market: deriveMarket(entry.delta.coin),
131
+ displaySymbol: entry.delta.coin,
132
+ displayQuote: null,
133
+ },
55
134
  amount: entry.delta.usdc,
56
135
  positionSize: entry.delta.szi,
57
136
  fundingRate: entry.delta.fundingRate,
@@ -1 +1 @@
1
- {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAUhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAqB,EACrB,MAAc,EACO,EAAE;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,KAAK,CAAC,IAAI;QACd,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;KAC9C,CAAA;IAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,YAAY,CAAC,OAAO;gBAC1B,MAAM,EAAE,KAAK,CAAC,IAAI;aACO,CAAA;QAE7B,KAAK,UAAU;YACb,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,GAAG,EAAG,KAA0B,CAAC,GAAG,IAAI,GAAG;aACf,CAAA;QAEhC,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,GAAG,KAMT,CAAA;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,YAAY,CAAC,WAAW;gBAC9B,0BAA0B,EAAE,CAAC,CAAC,gBAAgB;gBAC9C,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,mBAAmB,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7D,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,IAAI,EAAE,CAAC,CAAC,GAAG;iBACZ,CAAC,CAAC;aAC0B,CAAA;QACjC,CAAC;QAED;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAsB,EACtB,MAAc,EACG,EAAE,CAAC,CAAC;IACrB,EAAE,EAAE,KAAK,CAAC,IAAI;IACd,GAAG,EAAE,MAAM;IACX,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;IAC7C,IAAI,EAAE,YAAY,CAAC,OAAO;IAC1B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;IACxB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;IACxB,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;IAC7B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW;CACrC,CAAC,CAAA"}
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/activity.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { calculateAssetId } from '../assetId.js';
1
+ import { deriveMarket } from './_market.js';
2
2
  const NEXT_FUNDING_INTERVAL_MS = 60 * 60 * 1000; // 1 hour
3
- export const mapMarket = (universe, assetCtx, dexIndex, indexInDex, dexKey) => {
3
+ export const mapAsset = (universe, assetCtx) => {
4
4
  const now = Date.now();
5
5
  const nextFundingTime = Math.ceil(now / NEXT_FUNDING_INTERVAL_MS) * NEXT_FUNDING_INTERVAL_MS;
6
6
  return {
7
- symbol: universe.name,
8
- name: universe.name,
7
+ assetId: universe.name,
8
+ market: deriveMarket(universe.name),
9
+ displaySymbol: universe.name,
10
+ displayQuote: null,
9
11
  logoURI: `https://app.hyperliquid.xyz/coins/${universe.name}.svg`,
10
- assetId: calculateAssetId(dexIndex, indexInDex),
11
- dex: dexKey,
12
12
  szDecimals: universe.szDecimals,
13
13
  maxLeverage: universe.maxLeverage,
14
14
  onlyIsolated: universe.onlyIsolated === true,
@@ -18,7 +18,8 @@ export const mapMarket = (universe, assetCtx, dexIndex, indexInDex, dexKey) => {
18
18
  },
19
19
  openInterest: assetCtx.openInterest,
20
20
  volume24h: assetCtx.dayNtlVlm,
21
+ prevDayPrice: assetCtx.prevDayPx,
21
22
  markPrice: assetCtx.markPx,
22
23
  };
23
24
  };
24
- //# sourceMappingURL=market.js.map
25
+ //# sourceMappingURL=asset.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,32 @@
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
@@ -0,0 +1 @@
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,7 +1,6 @@
1
- export { resolveAssetIdFromLookup } from './shared.js';
2
- export { mapMarket } from './market.js';
3
- export { mapOpenOrder, mapOrder } from './order.js';
1
+ export { mapAsset } from './asset.js';
2
+ export { isTriggerType, mapOpenOrder, mapOrder, mapOrderType, mapTriggerOrder, } from './order.js';
4
3
  export { mapPosition } from './position.js';
5
- export { mapHistoryItem } from './history.js';
4
+ export { classifyFillFromPosition, mapFill } from './fill.js';
6
5
  export { mapLedgerEntry, mapFundingActivity } from './activity.js';
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../providers/hyperliquid/mappers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
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"}