@lifi/perps-sdk-provider-hyperliquid 19.0.0 → 20.1.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.
- package/README.md +56 -0
- package/dist/cjs/HyperliquidProvider.js.map +1 -1
- package/dist/cjs/services/getAccount.d.ts.map +1 -1
- package/dist/cjs/services/getAccount.js +12 -8
- package/dist/cjs/services/getAccount.js.map +1 -1
- package/dist/cjs/services/getActivity.d.ts.map +1 -1
- package/dist/cjs/services/getActivity.js +71 -45
- package/dist/cjs/services/getActivity.js.map +1 -1
- package/dist/cjs/services/getFills.d.ts.map +1 -1
- package/dist/cjs/services/getFills.js +30 -38
- package/dist/cjs/services/getFills.js.map +1 -1
- package/dist/cjs/services/getMarketSettings.d.ts +2 -2
- package/dist/cjs/services/getMarketSettings.d.ts.map +1 -1
- package/dist/cjs/services/getMarketSettings.js +8 -3
- package/dist/cjs/services/getMarketSettings.js.map +1 -1
- package/dist/cjs/services/historyPagination.d.ts +22 -0
- package/dist/cjs/services/historyPagination.d.ts.map +1 -0
- package/dist/cjs/services/historyPagination.js +125 -0
- package/dist/cjs/services/historyPagination.js.map +1 -0
- package/dist/cjs/types/ledger.d.ts +17 -1
- package/dist/cjs/types/ledger.d.ts.map +1 -1
- package/dist/cjs/types/ledger.js +10 -1
- package/dist/cjs/types/ledger.js.map +1 -1
- package/dist/cjs/utils/mapActivity.d.ts.map +1 -1
- package/dist/cjs/utils/mapActivity.js +41 -0
- package/dist/cjs/utils/mapActivity.js.map +1 -1
- package/dist/cjs/utils/withdrawableBalances.d.ts.map +1 -1
- package/dist/cjs/utils/withdrawableBalances.js +3 -1
- package/dist/cjs/utils/withdrawableBalances.js.map +1 -1
- package/dist/cjs/websocket/HyperliquidWsProvider.d.ts +6 -0
- package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/cjs/websocket/HyperliquidWsProvider.js +129 -37
- package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
- package/dist/esm/HyperliquidProvider.js.map +1 -1
- package/dist/esm/services/getAccount.d.ts.map +1 -1
- package/dist/esm/services/getAccount.js +10 -9
- package/dist/esm/services/getAccount.js.map +1 -1
- package/dist/esm/services/getActivity.d.ts +3 -13
- package/dist/esm/services/getActivity.d.ts.map +1 -1
- package/dist/esm/services/getActivity.js +78 -66
- package/dist/esm/services/getActivity.js.map +1 -1
- package/dist/esm/services/getFills.d.ts +2 -14
- package/dist/esm/services/getFills.d.ts.map +1 -1
- package/dist/esm/services/getFills.js +32 -58
- package/dist/esm/services/getFills.js.map +1 -1
- package/dist/esm/services/getMarketSettings.d.ts +5 -3
- package/dist/esm/services/getMarketSettings.d.ts.map +1 -1
- package/dist/esm/services/getMarketSettings.js +13 -7
- package/dist/esm/services/getMarketSettings.js.map +1 -1
- package/dist/esm/services/historyPagination.d.ts +22 -0
- package/dist/esm/services/historyPagination.d.ts.map +1 -0
- package/dist/esm/services/historyPagination.js +121 -0
- package/dist/esm/services/historyPagination.js.map +1 -0
- package/dist/esm/types/ledger.d.ts +42 -1
- package/dist/esm/types/ledger.d.ts.map +1 -1
- package/dist/esm/types/ledger.js +17 -0
- package/dist/esm/types/ledger.js.map +1 -1
- package/dist/esm/utils/mapActivity.d.ts +1 -0
- package/dist/esm/utils/mapActivity.d.ts.map +1 -1
- package/dist/esm/utils/mapActivity.js +49 -1
- package/dist/esm/utils/mapActivity.js.map +1 -1
- package/dist/esm/utils/withdrawableBalances.d.ts +2 -1
- package/dist/esm/utils/withdrawableBalances.d.ts.map +1 -1
- package/dist/esm/utils/withdrawableBalances.js +5 -2
- package/dist/esm/utils/withdrawableBalances.js.map +1 -1
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts +6 -0
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/esm/websocket/HyperliquidWsProvider.js +131 -49
- package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
- package/dist/types/services/getAccount.d.ts.map +1 -1
- package/dist/types/services/getActivity.d.ts +3 -13
- package/dist/types/services/getActivity.d.ts.map +1 -1
- package/dist/types/services/getFills.d.ts +2 -14
- package/dist/types/services/getFills.d.ts.map +1 -1
- package/dist/types/services/getMarketSettings.d.ts +5 -3
- package/dist/types/services/getMarketSettings.d.ts.map +1 -1
- package/dist/types/services/historyPagination.d.ts +22 -0
- package/dist/types/services/historyPagination.d.ts.map +1 -0
- package/dist/types/types/ledger.d.ts +42 -1
- package/dist/types/types/ledger.d.ts.map +1 -1
- package/dist/types/utils/mapActivity.d.ts +1 -0
- package/dist/types/utils/mapActivity.d.ts.map +1 -1
- package/dist/types/utils/withdrawableBalances.d.ts +2 -1
- package/dist/types/utils/withdrawableBalances.d.ts.map +1 -1
- package/dist/types/websocket/HyperliquidWsProvider.d.ts +6 -0
- package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/HyperliquidProvider.ts +1 -1
- package/src/services/getAccount.ts +22 -12
- package/src/services/getActivity.ts +138 -105
- package/src/services/getFills.ts +42 -95
- package/src/services/getMarketSettings.ts +20 -8
- package/src/services/historyPagination.ts +169 -0
- package/src/types/ledger.ts +61 -0
- package/src/utils/mapActivity.ts +56 -0
- package/src/utils/withdrawableBalances.ts +8 -3
- package/src/websocket/HyperliquidWsProvider.ts +141 -63
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { PerpsError } from '@lifi/perps-sdk';
|
|
2
|
+
import { PerpsErrorCode } from '@lifi/perps-types';
|
|
3
|
+
import { DEFAULT_HISTORY_LIMIT, MAX_HISTORY_LIMIT } from '../constants.js';
|
|
4
|
+
const compareKeys = (a, b) => typeof a === 'number' && typeof b === 'number'
|
|
5
|
+
? b - a
|
|
6
|
+
: a < b
|
|
7
|
+
? 1
|
|
8
|
+
: a > b
|
|
9
|
+
? -1
|
|
10
|
+
: 0;
|
|
11
|
+
export const getHistoryLimit = (limit = DEFAULT_HISTORY_LIMIT) => {
|
|
12
|
+
if (!Number.isSafeInteger(limit) || limit < 1) {
|
|
13
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, 'Hyperliquid history limit must be a positive safe integer');
|
|
14
|
+
}
|
|
15
|
+
return Math.min(limit, MAX_HISTORY_LIMIT);
|
|
16
|
+
};
|
|
17
|
+
const decodeCursor = (cursor) => {
|
|
18
|
+
let value;
|
|
19
|
+
try {
|
|
20
|
+
value = JSON.parse(cursor);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, 'Invalid Hyperliquid history cursor');
|
|
24
|
+
}
|
|
25
|
+
if (!Array.isArray(value) ||
|
|
26
|
+
value.length !== 4 ||
|
|
27
|
+
!Number.isSafeInteger(value[0]) ||
|
|
28
|
+
(typeof value[1] !== 'string' && typeof value[1] !== 'number') ||
|
|
29
|
+
!Number.isSafeInteger(value[2]) ||
|
|
30
|
+
value[2] > value[0] ||
|
|
31
|
+
!Number.isSafeInteger(value[3]) ||
|
|
32
|
+
value[3] < value[0]) {
|
|
33
|
+
throw new PerpsError(PerpsErrorCode.ValidationError, 'Invalid Hyperliquid history cursor');
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
time: value[0],
|
|
37
|
+
key: value[1],
|
|
38
|
+
startTime: value[2],
|
|
39
|
+
endTime: value[3],
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export async function historyPage(params, limit, fetchWindow, identify, signal) {
|
|
43
|
+
const boundary = params.cursor === undefined ? undefined : decodeCursor(params.cursor);
|
|
44
|
+
const lower = params.startTime ?? 0;
|
|
45
|
+
const snapshotEnd = boundary?.endTime ?? params.endTime ?? Date.now();
|
|
46
|
+
const upper = Math.min(snapshotEnd, boundary?.time ?? Infinity);
|
|
47
|
+
const windows = [];
|
|
48
|
+
if (boundary && boundary.startTime > lower) {
|
|
49
|
+
windows.push({ startTime: lower, endTime: boundary.startTime - 1 });
|
|
50
|
+
}
|
|
51
|
+
windows.push({
|
|
52
|
+
startTime: Math.max(lower, boundary?.startTime ?? lower),
|
|
53
|
+
endTime: upper,
|
|
54
|
+
});
|
|
55
|
+
const items = [];
|
|
56
|
+
let last;
|
|
57
|
+
while (windows.length > 0) {
|
|
58
|
+
signal?.throwIfAborted();
|
|
59
|
+
const window = windows.pop();
|
|
60
|
+
if (window.startTime > window.endTime) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const result = await fetchWindow(window.startTime, window.endTime, snapshotEnd);
|
|
64
|
+
signal?.throwIfAborted();
|
|
65
|
+
if (result.saturated) {
|
|
66
|
+
if (window.startTime === window.endTime) {
|
|
67
|
+
throw new PerpsError(PerpsErrorCode.ThirdPartyError, 'Hyperliquid history saturates a single millisecond; its time-only API cannot paginate this timestamp safely');
|
|
68
|
+
}
|
|
69
|
+
// Time APIs truncate from the start, so a capped response cannot supply a newest page.
|
|
70
|
+
const midpoint = window.startTime + Math.floor((window.endTime - window.startTime) / 2);
|
|
71
|
+
windows.push({ startTime: window.startTime, endTime: midpoint });
|
|
72
|
+
windows.push({ startTime: midpoint + 1, endTime: window.endTime });
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const sorted = result.items.sort((a, b) => {
|
|
76
|
+
const left = identify(a);
|
|
77
|
+
const right = identify(b);
|
|
78
|
+
return right.time - left.time || compareKeys(left.key, right.key);
|
|
79
|
+
});
|
|
80
|
+
for (const item of sorted) {
|
|
81
|
+
const identity = identify(item);
|
|
82
|
+
if (identity.time < window.startTime || identity.time > window.endTime) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (boundary &&
|
|
86
|
+
(identity.time > boundary.time ||
|
|
87
|
+
(identity.time === boundary.time &&
|
|
88
|
+
compareKeys(identity.key, boundary.key) <= 0))) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
if (items.length === limit) {
|
|
92
|
+
return {
|
|
93
|
+
items,
|
|
94
|
+
pagination: {
|
|
95
|
+
limit,
|
|
96
|
+
hasMore: true,
|
|
97
|
+
cursor: last &&
|
|
98
|
+
JSON.stringify([
|
|
99
|
+
last.time,
|
|
100
|
+
last.key,
|
|
101
|
+
last.startTime,
|
|
102
|
+
last.endTime,
|
|
103
|
+
]),
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
items.push(item);
|
|
108
|
+
last = { ...identity, startTime: window.startTime, endTime: snapshotEnd };
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
items,
|
|
113
|
+
pagination: {
|
|
114
|
+
limit,
|
|
115
|
+
hasMore: false,
|
|
116
|
+
cursor: last &&
|
|
117
|
+
JSON.stringify([last.time, last.key, last.startTime, last.endTime]),
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=historyPagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyPagination.js","sourceRoot":"","sources":["../../../src/services/historyPagination.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,12 +113,41 @@ export type HlLiquidationDelta = {
|
|
|
113
113
|
leverageType: string;
|
|
114
114
|
liquidatedPositions?: HlLiquidatedPosition[];
|
|
115
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* Hyperliquid `cStakingTransfer` ledger delta. Moves `token` between the
|
|
118
|
+
* account's spot balance and its staking balance; `isDeposit` is `true` for a
|
|
119
|
+
* move into staking. `amount` is unsigned. A completed unstake row carries the
|
|
120
|
+
* zero hash.
|
|
121
|
+
* @public
|
|
122
|
+
*/
|
|
123
|
+
export type HlCStakingTransferDelta = {
|
|
124
|
+
type: 'cStakingTransfer';
|
|
125
|
+
token: string;
|
|
126
|
+
amount: string;
|
|
127
|
+
isDeposit: boolean;
|
|
128
|
+
};
|
|
129
|
+
/** Borrow-lend market action named by a `borrowLend` ledger delta. @public */
|
|
130
|
+
export type HlBorrowLendOperation = 'supply' | 'withdraw' | 'borrow' | 'repay';
|
|
131
|
+
/**
|
|
132
|
+
* Hyperliquid `borrowLend` ledger delta. Moves `token` between the account's
|
|
133
|
+
* spot balance and the borrow-lend market; `operation` gives the direction and
|
|
134
|
+
* `amount` is unsigned. `interestAmount` is the accrued interest that
|
|
135
|
+
* `amount` includes on a `withdraw` or `repay`, and `"0.0"` otherwise.
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
export type HlBorrowLendDelta = {
|
|
139
|
+
type: 'borrowLend';
|
|
140
|
+
token: string;
|
|
141
|
+
operation: HlBorrowLendOperation;
|
|
142
|
+
amount: string;
|
|
143
|
+
interestAmount: string;
|
|
144
|
+
};
|
|
116
145
|
/**
|
|
117
146
|
* Union of known Hyperliquid non-funding ledger deltas plus an open fallback
|
|
118
147
|
* for endpoint variants the provider does not map.
|
|
119
148
|
* @public
|
|
120
149
|
*/
|
|
121
|
-
export type HlLedgerDelta = HlSpotTransferDelta | HlSendAssetDelta | HlCollateralTransferDelta | HlVaultTransferDelta | HlDepositDelta | HlWithdrawDelta | HlLiquidationDelta | {
|
|
150
|
+
export type HlLedgerDelta = HlSpotTransferDelta | HlSendAssetDelta | HlCollateralTransferDelta | HlVaultTransferDelta | HlDepositDelta | HlWithdrawDelta | HlLiquidationDelta | HlCStakingTransferDelta | HlBorrowLendDelta | {
|
|
122
151
|
type: string;
|
|
123
152
|
usdc?: string;
|
|
124
153
|
[key: string]: unknown;
|
|
@@ -157,6 +186,18 @@ export declare const isWithdrawDelta: (delta: HlLedgerDelta) => delta is HlWithd
|
|
|
157
186
|
* @public
|
|
158
187
|
*/
|
|
159
188
|
export declare const isLiquidationDelta: (delta: HlLedgerDelta) => delta is HlLiquidationDelta;
|
|
189
|
+
/**
|
|
190
|
+
* Type guard for `HlCStakingTransferDelta`. `isDeposit` is part of the guard:
|
|
191
|
+
* a row without a boolean `isDeposit` names no direction for the movement.
|
|
192
|
+
* @public
|
|
193
|
+
*/
|
|
194
|
+
export declare const isCStakingTransferDelta: (delta: HlLedgerDelta) => delta is HlCStakingTransferDelta;
|
|
195
|
+
/**
|
|
196
|
+
* Type guard for `HlBorrowLendDelta`. The operation is part of the guard: an
|
|
197
|
+
* unknown operation names no direction for the movement.
|
|
198
|
+
* @public
|
|
199
|
+
*/
|
|
200
|
+
export declare const isBorrowLendDelta: (delta: HlLedgerDelta) => delta is HlBorrowLendDelta;
|
|
160
201
|
/**
|
|
161
202
|
* One timestamped non-funding ledger update. `time` is milliseconds since
|
|
162
203
|
* epoch and `hash` is the upstream transaction identifier.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/types/ledger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/types/ledger.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types/ledger.js
CHANGED
|
@@ -39,4 +39,21 @@ export const isWithdrawDelta = (delta) => delta.type === 'withdraw' && hasUsdcAm
|
|
|
39
39
|
* @public
|
|
40
40
|
*/
|
|
41
41
|
export const isLiquidationDelta = (delta) => delta.type === 'liquidation';
|
|
42
|
+
/**
|
|
43
|
+
* Type guard for `HlCStakingTransferDelta`. `isDeposit` is part of the guard:
|
|
44
|
+
* a row without a boolean `isDeposit` names no direction for the movement.
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
export const isCStakingTransferDelta = (delta) => delta.type === 'cStakingTransfer' &&
|
|
48
|
+
'isDeposit' in delta &&
|
|
49
|
+
typeof delta.isDeposit === 'boolean';
|
|
50
|
+
const HL_BORROW_LEND_OPERATIONS = new Set(['supply', 'withdraw', 'borrow', 'repay']);
|
|
51
|
+
/**
|
|
52
|
+
* Type guard for `HlBorrowLendDelta`. The operation is part of the guard: an
|
|
53
|
+
* unknown operation names no direction for the movement.
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export const isBorrowLendDelta = (delta) => delta.type === 'borrowLend' &&
|
|
57
|
+
'operation' in delta &&
|
|
58
|
+
HL_BORROW_LEND_OPERATIONS.has(delta.operation);
|
|
42
59
|
//# sourceMappingURL=ledger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/types/ledger.ts"],"names":[],"mappings":"AA6DA,gEAAgE;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAoB,EACgB,EAAE,CACtC,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAA;AAgB1E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,KAAoB,EACW,EAAE,CACjC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/types/ledger.ts"],"names":[],"mappings":"AA6DA,gEAAgE;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAoB,EACgB,EAAE,CACtC,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAA;AAgB1E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,KAAoB,EACW,EAAE,CACjC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAA;AAoGjE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAoB,EACU,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAoB,EACO,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAA;AAErD,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAW,EAAE,CACtD,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAAA;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAoB,EAA2B,EAAE,CAC9E,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAoB,EACM,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAoB,EACS,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAA;AAE9D;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,KAAoB,EACc,EAAE,CACpC,KAAK,CAAC,IAAI,KAAK,kBAAkB;IACjC,WAAW,IAAI,KAAK;IACpB,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,CAAA;AAEtC,MAAM,yBAAyB,GAC7B,IAAI,GAAG,CAAwB,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAAoB,EACQ,EAAE,CAC9B,KAAK,CAAC,IAAI,KAAK,YAAY;IAC3B,WAAW,IAAI,KAAK;IACpB,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA"}
|
|
@@ -3,6 +3,7 @@ import type { ActivityItem, FundingActivity, LiquidationActivity, MarketDisplay
|
|
|
3
3
|
import type { HlFundingUpdate, HlLedgerUpdate, HlUserFill } from '../types/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Map supported ledger entries; exclude same-account moves and unsupported types.
|
|
6
|
+
* Staking and borrow-lend moves map with the queried account as counterparty.
|
|
6
7
|
* Missing assets throw; unresolved liquidation markets omit only those positions.
|
|
7
8
|
* @public
|
|
8
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapActivity.d.ts","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,YAAY,EAIZ,eAAe,EACf,mBAAmB,EACnB,aAAa,EAGd,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"mapActivity.d.ts","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAInB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,YAAY,EAIZ,eAAe,EACf,mBAAmB,EACnB,aAAa,EAGd,MAAM,mBAAmB,CAAA;AAI1B,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,UAAU,EACX,MAAM,mBAAmB,CAAA;AA2D1B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,cAAc,EACrB,aAAa,MAAM,EACnB,gBAAgB,MAAM,EACtB,eAAe,aAAa,EAC5B,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KACzD,YAAY,GAAG,IAuMjB,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAC7B,OAAO,eAAe,EACtB,aAAa,MAAM,EACnB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,KACzD,eAAe,GAAG,IAgBpB,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAC9B,OAAO,UAAU,EAAE,EACnB,aAAa,MAAM,EACnB,gBAAgB,MAAM,EACtB,eAAe,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,EAC1D,cAAc,WAAW,CAAC,MAAM,CAAC,KAChC,mBAAmB,EA4CrB,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ExplorerChainId, explorerTxUrl, PerpsError, } from '@lifi/perps-sdk';
|
|
2
2
|
import { ActivityType, PerpsErrorCode } from '@lifi/perps-types';
|
|
3
3
|
import Big from 'big.js';
|
|
4
|
-
import {
|
|
4
|
+
import { zeroHash } from 'viem';
|
|
5
|
+
import { isBorrowLendDelta, isCollateralTransferDelta, isCStakingTransferDelta, isDepositDelta, isLiquidationDelta, isSendAssetDelta, isSpotTransferDelta, isVaultTransferDelta, isWithdrawDelta, } from '../types/index.js';
|
|
5
6
|
/**
|
|
6
7
|
* Hyperliquid settles every perp deposit and withdrawal in USDC, and charges
|
|
7
8
|
* the `spotTransfer` fee in USDC too — that delta carries no `feeToken`.
|
|
@@ -14,6 +15,16 @@ const HL_COLLATERAL_SYMBOL = 'USDC';
|
|
|
14
15
|
const HL_NATIVE_TOKEN_SYMBOL = 'HYPE';
|
|
15
16
|
// Hyperliquid reserves spot token index 0 for USDC.
|
|
16
17
|
const HL_COLLATERAL_ASSET_ID = '0';
|
|
18
|
+
/**
|
|
19
|
+
* Direction relative to the account's spot balance, the same frame as an
|
|
20
|
+
* outbound `vaultDeposit`.
|
|
21
|
+
*/
|
|
22
|
+
const BORROW_LEND_DIRECTION = {
|
|
23
|
+
supply: 'OUT',
|
|
24
|
+
withdraw: 'IN',
|
|
25
|
+
borrow: 'IN',
|
|
26
|
+
repay: 'OUT',
|
|
27
|
+
};
|
|
17
28
|
/**
|
|
18
29
|
* A ledger row moves a spot asset — a perp contract cannot be sent, received
|
|
19
30
|
* or withdrawn — so the delta's token symbol resolves inside the spot asset
|
|
@@ -30,6 +41,7 @@ const resolveLedgerAsset = (symbol, registry) => {
|
|
|
30
41
|
};
|
|
31
42
|
/**
|
|
32
43
|
* Map supported ledger entries; exclude same-account moves and unsupported types.
|
|
44
|
+
* Staking and borrow-lend moves map with the queried account as counterparty.
|
|
33
45
|
* Missing assets throw; unresolved liquidation markets omit only those positions.
|
|
34
46
|
* @public
|
|
35
47
|
*/
|
|
@@ -92,6 +104,42 @@ export const mapLedgerEntry = (entry, providerKey, queriedAddress, assetRegistry
|
|
|
92
104
|
explorerLink: explorerTxUrl(ExplorerChainId.HYPERLIQUID, entry.hash),
|
|
93
105
|
};
|
|
94
106
|
}
|
|
107
|
+
if (isCStakingTransferDelta(delta) || isBorrowLendDelta(delta)) {
|
|
108
|
+
// A completed unstake is a system event with the zero hash and no venue
|
|
109
|
+
// transaction, so the id is synthesized and no explorer link applies.
|
|
110
|
+
const hasTransaction = entry.hash !== zeroHash;
|
|
111
|
+
const direction = isCStakingTransferDelta(delta)
|
|
112
|
+
? delta.isDeposit
|
|
113
|
+
? 'OUT'
|
|
114
|
+
: 'IN'
|
|
115
|
+
: BORROW_LEND_DIRECTION[delta.operation];
|
|
116
|
+
const action = isCStakingTransferDelta(delta) ? direction : delta.operation;
|
|
117
|
+
return {
|
|
118
|
+
...base,
|
|
119
|
+
...(hasTransaction
|
|
120
|
+
? {}
|
|
121
|
+
: {
|
|
122
|
+
id: `${delta.type}:${delta.token}:${action}:${delta.amount}:${base.timestamp}`,
|
|
123
|
+
}),
|
|
124
|
+
type: ActivityType.TRANSFER,
|
|
125
|
+
direction,
|
|
126
|
+
counterpartyAddress: queriedAddress.toLowerCase(),
|
|
127
|
+
asset: resolveLedgerAsset(delta.token, assetRegistry),
|
|
128
|
+
amount: delta.amount,
|
|
129
|
+
meta: isCStakingTransferDelta(delta)
|
|
130
|
+
? { transferType: delta.type }
|
|
131
|
+
: {
|
|
132
|
+
transferType: delta.type,
|
|
133
|
+
operation: delta.operation,
|
|
134
|
+
interestAmount: delta.interestAmount,
|
|
135
|
+
},
|
|
136
|
+
...(hasTransaction
|
|
137
|
+
? {
|
|
138
|
+
explorerLink: explorerTxUrl(ExplorerChainId.HYPERLIQUID, entry.hash),
|
|
139
|
+
}
|
|
140
|
+
: {}),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
95
143
|
if (isVaultTransferDelta(delta)) {
|
|
96
144
|
const queried = queriedAddress.toLowerCase();
|
|
97
145
|
const vault = delta.vault.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapActivity.js","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,iBAAiB,CAAA;AAYxB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,GAAG,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"mapActivity.js","sourceRoot":"","sources":["../../../src/utils/mapActivity.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,8 @@ import type { HlAbstractionMode, HlClearinghouseState, HlSpotClearinghouseState
|
|
|
9
9
|
*
|
|
10
10
|
* @param quoteAssetId - `Asset.id` the perps-route row is keyed by.
|
|
11
11
|
* @param withdrawalFee - Flat venue fee in quote-asset units, set on every
|
|
12
|
-
* quote-asset row.
|
|
12
|
+
* quote-asset row. Hyperliquid deducts it from the requested amount. Absent
|
|
13
|
+
* leaves every row without a fee.
|
|
13
14
|
* @public
|
|
14
15
|
*/
|
|
15
16
|
export declare const hyperliquidWithdrawableBalances: (abstraction: HlAbstractionMode | null, state: HlClearinghouseState, spotState: HlSpotClearinghouseState, quoteAssetId: string, withdrawalFee?: string) => ProviderWithdrawableBalance[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAK1B
|
|
1
|
+
{"version":3,"file":"withdrawableBalances.d.ts","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,mBAAmB,CAAA;AAK1B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B,GAC1C,aAAa,iBAAiB,GAAG,IAAI,EACrC,OAAO,oBAAoB,EAC3B,WAAW,wBAAwB,EACnC,cAAc,MAAM,EACpB,gBAAgB,MAAM,KACrB,2BAA2B,EA4C7B,CAAA"}
|
|
@@ -10,7 +10,8 @@ import { toWireBig } from './decimal.js';
|
|
|
10
10
|
*
|
|
11
11
|
* @param quoteAssetId - `Asset.id` the perps-route row is keyed by.
|
|
12
12
|
* @param withdrawalFee - Flat venue fee in quote-asset units, set on every
|
|
13
|
-
* quote-asset row.
|
|
13
|
+
* quote-asset row. Hyperliquid deducts it from the requested amount. Absent
|
|
14
|
+
* leaves every row without a fee.
|
|
14
15
|
* @public
|
|
15
16
|
*/
|
|
16
17
|
export const hyperliquidWithdrawableBalances = (abstraction, state, spotState, quoteAssetId, withdrawalFee) => {
|
|
@@ -18,7 +19,9 @@ export const hyperliquidWithdrawableBalances = (abstraction, state, spotState, q
|
|
|
18
19
|
const fee = withdrawalFee === undefined
|
|
19
20
|
? undefined
|
|
20
21
|
: toWireBig(withdrawalFee, 'providers.withdrawalFeeUsd').toFixed();
|
|
21
|
-
const feeFor = (assetId) => fee === undefined || assetId !== quoteAssetId
|
|
22
|
+
const feeFor = (assetId) => fee === undefined || assetId !== quoteAssetId
|
|
23
|
+
? {}
|
|
24
|
+
: { withdrawalFee: fee, isFeeDeducted: true };
|
|
22
25
|
if (isUnifiedAbstraction(abstraction)) {
|
|
23
26
|
for (const balance of spotState.balances) {
|
|
24
27
|
if (assetIsOutcome(balance.coin)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC
|
|
1
|
+
{"version":3,"file":"withdrawableBalances.js","sourceRoot":"","sources":["../../../src/utils/withdrawableBalances.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,WAAqC,EACrC,KAA2B,EAC3B,SAAmC,EACnC,YAAoB,EACpB,aAAsB,EACS,EAAE;IACjC,MAAM,IAAI,GAAkC,EAAE,CAAA;IAC9C,MAAM,GAAG,GACP,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC,OAAO,EAAE,CAAA;IACtE,MAAM,MAAM,GAAG,CACb,OAAe,EACuD,EAAE,CACxE,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,YAAY;QAC3C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAEjD,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAQ;YACV,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAC9D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC5C,CAAA;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,OAAO;oBACP,KAAK,EAAE,MAAM;oBACb,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE;oBACzB,GAAG,MAAM,CAAC,OAAO,CAAC;iBACnB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,iCAAiC,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC;YACR,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE;YAC1B,GAAG,MAAM,CAAC,YAAY,CAAC;SACxB,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -32,7 +32,12 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
|
|
|
32
32
|
private readonly client;
|
|
33
33
|
private readonly registry;
|
|
34
34
|
private readonly abstractionByUser;
|
|
35
|
+
private readonly summaryUsers;
|
|
36
|
+
private readonly abstractionReadsByUser;
|
|
35
37
|
private readonly spotRefs;
|
|
38
|
+
private spotWireEpoch;
|
|
39
|
+
private readonly latestSpotByUser;
|
|
40
|
+
private readonly revalueSpotBalances;
|
|
36
41
|
private readonly unifiedSummaryByUser;
|
|
37
42
|
private readonly latestPerpsByUser;
|
|
38
43
|
private readonly heldSummaryByUser;
|
|
@@ -136,6 +141,7 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
|
|
|
136
141
|
private fetchAbstractionMode;
|
|
137
142
|
private handleActiveAssetData;
|
|
138
143
|
private handleSpotState;
|
|
144
|
+
private emitSpotBalances;
|
|
139
145
|
/** Read the venue buying power over REST when the spot frame omits it. */
|
|
140
146
|
private fetchAvailableAfterMaintenance;
|
|
141
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAGzB,cAAc,EACd,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAOV,YAAY,EACb,MAAM,mBAAmB,CAAA;AAyE1B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,QAAO,iBAKtC,CAAA;AAEH;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC/D,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;
|
|
1
|
+
{"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
|