@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
package/README.md
CHANGED
|
@@ -35,6 +35,18 @@ Setup registers an agent keypair whose private key signs orders locally, so trad
|
|
|
35
35
|
|
|
36
36
|
The keypair is persisted through a `StorageAdapter`. The default adapter encrypts values with AES-GCM before writing to browser `localStorage`, holding the master key as a non-extractable `CryptoKey` handle in IndexedDB, so key material is never stored as plaintext. Pass your own `StorageAdapter` to the `HyperliquidAgentStore` constructor to use a different backend — a custom adapter bypasses this encryption and is responsible for protecting the key at rest.
|
|
37
37
|
|
|
38
|
+
## Live portfolio valuation
|
|
39
|
+
|
|
40
|
+
`spotBalances` and spot-funded `accountSummary` subscriptions own their shared
|
|
41
|
+
price feeds; neither requires a separate `marketsContext` subscriber. Price
|
|
42
|
+
updates revalue the latest spot snapshot without waiting for another balance
|
|
43
|
+
frame. Releasing another market consumer does not interrupt portfolio pricing.
|
|
44
|
+
|
|
45
|
+
For a held token with a listed spot market, balance and summary emissions wait
|
|
46
|
+
for its first price rather than reporting a zero USD value. Tokens without a
|
|
47
|
+
listed market retain their unpriced balances. Unified and portfolio-margin
|
|
48
|
+
summaries also wait for clearinghouse state and venue-reported buying power.
|
|
49
|
+
|
|
38
50
|
## Ledger asset identity
|
|
39
51
|
|
|
40
52
|
Transfers carry the backend registry `Asset`, including its logo, numeric `id`,
|
|
@@ -76,6 +88,10 @@ defines token indices and `tokenId`.
|
|
|
76
88
|
| `vaultLeaderCommission` | Excluded: commission income is not a transfer instruction and lacks a source counterparty. |
|
|
77
89
|
| `spotGenesis` | Excluded: token allocation has no source counterparty. |
|
|
78
90
|
| `rewardsClaim` | Excluded: reward income has no source counterparty. |
|
|
91
|
+
| `cStakingTransfer` | Transfer between the spot and staking balances of one account; resolve the token symbol. `isDeposit` gives the direction. |
|
|
92
|
+
| `borrowLend` | Transfer between the spot balance and the borrow-lend market; resolve the token symbol. `operation` gives the direction; `meta` keeps `operation` and `interestAmount`. |
|
|
93
|
+
| `gossipPriorityGasAuction` | Excluded: a gas fee is not an asset transfer. |
|
|
94
|
+
| `accountActivationGas` | Excluded: a gas fee is not an asset transfer. |
|
|
79
95
|
|
|
80
96
|
Vault withdrawal direction follows the queried account: inbound for the user,
|
|
81
97
|
outbound for the vault. The documented `vaultDeposit` payload has no depositor
|
|
@@ -83,10 +99,50 @@ field. A query for the vault account therefore raises `ValidationError` for that
|
|
|
83
99
|
row instead of inventing a counterparty. Depositor-account queries map normally.
|
|
84
100
|
|
|
85
101
|
The mapper excludes same-account movements in the transfer variants.
|
|
102
|
+
`cStakingTransfer` and `borrowLend` rows are the exception: they always
|
|
103
|
+
move value within one account, so they map with the queried account as
|
|
104
|
+
`counterpartyAddress`. The direction is relative to the spot balance: a stake,
|
|
105
|
+
a supply and a repay are outbound; an unstake, a withdrawal and a borrow are
|
|
106
|
+
inbound. A completed unstake carries the zero hash, so its id is
|
|
107
|
+
`cStakingTransfer:<token>:IN:<amount>:<ISO time>` and it has no explorer link.
|
|
108
|
+
A zero-hash `borrowLend` row gets `borrowLend:<token>:<operation>:<amount>:<ISO time>`.
|
|
86
109
|
Unknown future delta types remain outside the supported activity model.
|
|
87
110
|
These exclusions do not apply to missing assets in supported transfer rows:
|
|
88
111
|
the mapper rejects those rows with an error instead of silently omitting them.
|
|
89
112
|
|
|
113
|
+
## History pagination
|
|
114
|
+
|
|
115
|
+
`getFills` and `getActivity` return deterministic newest-first pages. Pass the
|
|
116
|
+
opaque `pagination.cursor` back unchanged with the same address, time bounds
|
|
117
|
+
and activity filters. Malformed cursors and timestamp or `time:trade-id` cursors
|
|
118
|
+
from older provider releases are rejected with `PerpsErrorCode.ValidationError`.
|
|
119
|
+
Discard those stored cursors and restart the traversal without a cursor.
|
|
120
|
+
|
|
121
|
+
Both time bounds are inclusive. Activity cursors distinguish different event
|
|
122
|
+
types and IDs at the same timestamp; fill cursors also distinguish trade IDs.
|
|
123
|
+
Subsequent pages exclude newer arrivals beyond the first page's time boundary.
|
|
124
|
+
|
|
125
|
+
`limit` must be a positive safe integer; invalid values raise
|
|
126
|
+
`PerpsErrorCode.ValidationError`. It defaults to 50, and valid values above 200
|
|
127
|
+
are capped at 200.
|
|
128
|
+
|
|
129
|
+
Hyperliquid's [info endpoint](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint)
|
|
130
|
+
paginates time ranges forwards and caps funding/ledger responses at 500 entries
|
|
131
|
+
or blocks, and fills at 2,000. The provider narrows saturated time windows before
|
|
132
|
+
returning newest-first pages. A single millisecond that saturates the venue cap
|
|
133
|
+
raises an error because the upstream time-only API cannot prove completeness.
|
|
134
|
+
Failures and cancellation reject the request rather than returning a partial page.
|
|
135
|
+
|
|
136
|
+
Only the latest 10,000 fills are available upstream, including liquidation fills;
|
|
137
|
+
pagination cannot recover older venue-discarded history. Liquidation-inclusive
|
|
138
|
+
activity reads scan this bounded retained fill history on each SDK page so all
|
|
139
|
+
fills of an order are aggregated before pagination. Matching ledger liquidations
|
|
140
|
+
are excluded using ledger history between the earliest and latest retained
|
|
141
|
+
liquidation fills, independently of the current SDK page. Their cursors retain
|
|
142
|
+
the original upper time bound, preventing subsequent pages from regrouping an
|
|
143
|
+
order using newly arriving fills. Funding/ledger-only activity and ordinary fill
|
|
144
|
+
pages use bounded newest-first windows instead of repeatedly downloading full history.
|
|
145
|
+
|
|
90
146
|
## Order reads
|
|
91
147
|
|
|
92
148
|
`getOrders` returns `{ provider, orders, pagination }`. Each `Order` carries a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAccount.d.ts","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getAccount.d.ts","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AA4BvD,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAA;AAoGvD,eAAO,MAAM,UAAU,GACrB,oBAAoB,kBAAkB,EACtC,QAAQ,gBAAgB,EACxB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,eAAe,CAgIzB,CAAA"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.getAccount = void 0;
|
|
4
7
|
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
8
|
+
const big_js_1 = __importDefault(require("big.js"));
|
|
5
9
|
const constants_js_1 = require("../constants.js");
|
|
6
10
|
const abstractionMode_js_1 = require("../utils/abstractionMode.js");
|
|
7
11
|
const decimal_js_1 = require("../utils/decimal.js");
|
|
@@ -10,16 +14,16 @@ const infoClient_js_1 = require("../utils/infoClient.js");
|
|
|
10
14
|
const mapPosition_js_1 = require("../utils/mapPosition.js");
|
|
11
15
|
const getAccountValue = (state) => (0, decimal_js_1.toWireBig)(state.marginSummary.accountValue, 'marginSummary.accountValue');
|
|
12
16
|
const getAvailableAfterMaintenance = (spotState, quoteAssetId) => spotState.tokenToAvailableAfterMaintenance.find(([token]) => String(token) === quoteAssetId)?.[1];
|
|
13
|
-
const transferableWithin = (venueFigure, units) => {
|
|
14
|
-
if (venueFigure.lt(0)) {
|
|
15
|
-
return '0';
|
|
16
|
-
}
|
|
17
|
-
return (venueFigure.gt(units) ? units : venueFigure).toFixed();
|
|
18
|
-
};
|
|
19
17
|
const buildBalances = (abstraction, spotState, stateByDex, quoteAssetIds, priceById, quoteAssetByCategory) => {
|
|
20
18
|
const { balances, collateralBalances } = (0, index_js_1.partitionSpotBalances)(spotState.balances
|
|
21
19
|
.filter((b) => !(0, index_js_1.assetIsOutcome)(b.coin))
|
|
22
|
-
.map((b) =>
|
|
20
|
+
.map((b) => {
|
|
21
|
+
const total = (0, decimal_js_1.toWireBig)(b.total, 'spotClearinghouseState.total');
|
|
22
|
+
return {
|
|
23
|
+
...(0, index_js_1.spotBalance)((0, index_js_1.spotAssetFromToken)(b), b.total, priceById),
|
|
24
|
+
transferable: (0, perps_sdk_1.minOf)((0, perps_sdk_1.maxOf)(total.minus((0, decimal_js_1.toWireBig)(b.hold, 'spotClearinghouseState.hold')), new big_js_1.default(0)), total).toFixed(),
|
|
25
|
+
};
|
|
26
|
+
}), quoteAssetIds);
|
|
23
27
|
if (!(0, abstractionMode_js_1.isUnifiedAbstraction)(abstraction)) {
|
|
24
28
|
for (const [dex, state] of stateByDex) {
|
|
25
29
|
const categoryId = dex || constants_js_1.PROVIDER_KEY;
|
|
@@ -33,7 +37,7 @@ const buildBalances = (abstraction, spotState, stateByDex, quoteAssetIds, priceB
|
|
|
33
37
|
units: value.toFixed(),
|
|
34
38
|
valueUsd: value.toFixed(),
|
|
35
39
|
price: '1',
|
|
36
|
-
transferable:
|
|
40
|
+
transferable: (0, perps_sdk_1.minOf)((0, perps_sdk_1.maxOf)((0, decimal_js_1.toWireBig)(state.withdrawable, 'clearinghouseState.withdrawable'), new big_js_1.default(0)), value).toFixed(),
|
|
37
41
|
});
|
|
38
42
|
}
|
|
39
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getActivity.d.ts","sourceRoot":"","sources":["../../../src/services/getActivity.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getActivity.d.ts","sourceRoot":"","sources":["../../../src/services/getActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAkCvD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAA;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,IAAI,CAAC,EAAE,YAAY,EAAE,CAAA;CACtB;AA8KD,eAAO,MAAM,WAAW,GACtB,oBAAoB,kBAAkB,EACtC,QAAQ,iBAAiB,EACzB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,kBAAkB,CAmD5B,CAAA"}
|
|
@@ -7,6 +7,7 @@ const constants_js_1 = require("../constants.js");
|
|
|
7
7
|
const index_js_1 = require("../types/index.js");
|
|
8
8
|
const index_js_2 = require("../utils/index.js");
|
|
9
9
|
const infoClient_js_1 = require("../utils/infoClient.js");
|
|
10
|
+
const historyPagination_js_1 = require("./historyPagination.js");
|
|
10
11
|
const MARKET_BEARING_TYPES = new Set([
|
|
11
12
|
perps_types_1.ActivityType.FUNDING,
|
|
12
13
|
perps_types_1.ActivityType.LIQUIDATION,
|
|
@@ -17,23 +18,64 @@ const ASSET_BEARING_TYPES = new Set([
|
|
|
17
18
|
perps_types_1.ActivityType.TRANSFER,
|
|
18
19
|
]);
|
|
19
20
|
const needsMarkets = (typeFilter) => !typeFilter || typeFilter.some((t) => MARKET_BEARING_TYPES.has(t));
|
|
20
|
-
const
|
|
21
|
+
const fetchLiquidationHistory = async (apiUrl, user, startTime, endTime, resolveMarket, options) => {
|
|
22
|
+
const retained = new Map();
|
|
23
|
+
while (startTime <= endTime) {
|
|
24
|
+
options?.signal?.throwIfAborted();
|
|
25
|
+
const fills = await (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'userFillsByTime', user, startTime, endTime }, options);
|
|
26
|
+
options?.signal?.throwIfAborted();
|
|
27
|
+
let latest = startTime;
|
|
28
|
+
for (const fill of fills) {
|
|
29
|
+
retained.set(fill.tid, fill);
|
|
30
|
+
latest = Math.max(latest, fill.time);
|
|
31
|
+
}
|
|
32
|
+
if (fills.length < 2000 || retained.size >= 10000) {
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
if (latest === startTime) {
|
|
36
|
+
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ThirdPartyError, 'Hyperliquid fills saturate a single millisecond; liquidation history cannot be paginated safely');
|
|
37
|
+
}
|
|
38
|
+
startTime = latest;
|
|
39
|
+
}
|
|
40
|
+
const queried = user.toLowerCase();
|
|
41
|
+
const fills = [...retained.values()].filter((fill) => fill.liquidation?.liquidatedUser.toLowerCase() === queried);
|
|
42
|
+
if (fills.length === 0) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
const hashes = new Set();
|
|
46
|
+
let firstTime = Infinity;
|
|
47
|
+
let lastTime = 0;
|
|
48
|
+
for (const fill of fills) {
|
|
49
|
+
if (fill.hash !== undefined) {
|
|
50
|
+
hashes.add(fill.hash);
|
|
51
|
+
}
|
|
52
|
+
firstTime = Math.min(firstTime, fill.time);
|
|
53
|
+
lastTime = Math.max(lastTime, fill.time);
|
|
54
|
+
}
|
|
55
|
+
const ledger = await (0, historyPagination_js_1.historyPage)({ startTime: firstTime, endTime: lastTime }, Number.MAX_SAFE_INTEGER, async (startTime, endTime) => {
|
|
56
|
+
const updates = await (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'userNonFundingLedgerUpdates', user, startTime, endTime }, options);
|
|
57
|
+
return {
|
|
58
|
+
items: updates.filter((entry) => (0, index_js_1.isLiquidationDelta)(entry.delta) && hashes.has(entry.hash)),
|
|
59
|
+
saturated: updates.length >= 500,
|
|
60
|
+
};
|
|
61
|
+
}, (entry) => ({ time: entry.time, key: entry.hash }), options?.signal);
|
|
62
|
+
return (0, index_js_2.mapLiquidationFills)(fills, constants_js_1.PROVIDER_KEY, user, resolveMarket, new Set(ledger.items.map((entry) => entry.hash)));
|
|
63
|
+
};
|
|
64
|
+
const fetchActivityData = async (apiUrl, typeFilter, timeParams, assetRegistry, resolveMarket, liquidationHistory, options) => {
|
|
21
65
|
const needLedger = !typeFilter || typeFilter.some((t) => t !== perps_types_1.ActivityType.FUNDING);
|
|
22
66
|
const needFunding = !typeFilter || typeFilter.includes(perps_types_1.ActivityType.FUNDING);
|
|
23
|
-
const
|
|
24
|
-
const [ledgerUpdates, fundingUpdates, fills] = await Promise.all([
|
|
67
|
+
const [ledgerUpdates, fundingUpdates, liquidations] = await Promise.all([
|
|
25
68
|
needLedger
|
|
26
69
|
? (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'userNonFundingLedgerUpdates', ...timeParams }, options)
|
|
27
70
|
: Promise.resolve([]),
|
|
28
71
|
needFunding
|
|
29
72
|
? (0, infoClient_js_1.infoRequest)(apiUrl, { type: 'userFunding', ...timeParams }, options)
|
|
30
73
|
: Promise.resolve([]),
|
|
31
|
-
|
|
32
|
-
? (0, infoClient_js_1.infoRequest)(apiUrl, timeParams.startTime === undefined
|
|
33
|
-
? { type: 'userFills', user: timeParams.user }
|
|
34
|
-
: { type: 'userFillsByTime', ...timeParams }, options)
|
|
35
|
-
: Promise.resolve([]),
|
|
74
|
+
liquidationHistory,
|
|
36
75
|
]);
|
|
76
|
+
if (ledgerUpdates.length >= 500 || fundingUpdates.length >= 500) {
|
|
77
|
+
return { items: [], saturated: true };
|
|
78
|
+
}
|
|
37
79
|
const ledgerItems = ledgerUpdates.flatMap((entry) => {
|
|
38
80
|
if (typeFilter !== undefined &&
|
|
39
81
|
(((0, index_js_1.isDepositDelta)(entry.delta) &&
|
|
@@ -44,7 +86,9 @@ const fetchActivityData = async (apiUrl, typeFilter, timeParams, assetRegistry,
|
|
|
44
86
|
((0, index_js_1.isSpotTransferDelta)(entry.delta) ||
|
|
45
87
|
(0, index_js_1.isSendAssetDelta)(entry.delta) ||
|
|
46
88
|
(0, index_js_1.isCollateralTransferDelta)(entry.delta) ||
|
|
47
|
-
(0, index_js_1.isVaultTransferDelta)(entry.delta)
|
|
89
|
+
(0, index_js_1.isVaultTransferDelta)(entry.delta) ||
|
|
90
|
+
(0, index_js_1.isCStakingTransferDelta)(entry.delta) ||
|
|
91
|
+
(0, index_js_1.isBorrowLendDelta)(entry.delta))))) {
|
|
48
92
|
return [];
|
|
49
93
|
}
|
|
50
94
|
const item = (0, index_js_2.mapLedgerEntry)(entry, constants_js_1.PROVIDER_KEY, timeParams.user, assetRegistry, resolveMarket);
|
|
@@ -54,18 +98,14 @@ const fetchActivityData = async (apiUrl, typeFilter, timeParams, assetRegistry,
|
|
|
54
98
|
const item = (0, index_js_2.mapFundingActivity)(entry, constants_js_1.PROVIDER_KEY, resolveMarket);
|
|
55
99
|
return item === null ? [] : [item];
|
|
56
100
|
});
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (!typeFilter) {
|
|
63
|
-
return merged;
|
|
64
|
-
}
|
|
65
|
-
const typeSet = new Set(typeFilter);
|
|
66
|
-
return merged.filter((item) => typeSet.has(item.type));
|
|
101
|
+
const merged = [...ledgerItems, ...fundingItems, ...(liquidations ?? [])];
|
|
102
|
+
const items = typeFilter
|
|
103
|
+
? merged.filter((item) => typeFilter.includes(item.type))
|
|
104
|
+
: merged;
|
|
105
|
+
return { items, saturated: false };
|
|
67
106
|
};
|
|
68
107
|
const getActivity = async ({ client, apiUrl }, params, options) => {
|
|
108
|
+
const limit = (0, historyPagination_js_1.getHistoryLimit)(params.limit);
|
|
69
109
|
const registry = (0, perps_sdk_1.getMarketRegistry)(client, constants_js_1.PROVIDER_KEY);
|
|
70
110
|
if (needsMarkets(params.type)) {
|
|
71
111
|
await registry.sync();
|
|
@@ -76,32 +116,18 @@ const getActivity = async ({ client, apiUrl }, params, options) => {
|
|
|
76
116
|
await assetRegistry.sync();
|
|
77
117
|
}
|
|
78
118
|
const infoOpts = (0, infoClient_js_1.hlInfoOptions)(client, options);
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
Number.parseInt(params.cursor, 10));
|
|
92
|
-
const hasMore = filtered.length > limit;
|
|
93
|
-
const items = filtered.slice(0, limit);
|
|
94
|
-
return {
|
|
95
|
-
provider: constants_js_1.PROVIDER_KEY,
|
|
96
|
-
items,
|
|
97
|
-
pagination: {
|
|
98
|
-
limit,
|
|
99
|
-
hasMore,
|
|
100
|
-
cursor: items.length > 0
|
|
101
|
-
? String(new Date(items[items.length - 1].timestamp).getTime())
|
|
102
|
-
: undefined,
|
|
103
|
-
},
|
|
104
|
-
};
|
|
119
|
+
const needLiquidationFills = !params.type || params.type.includes(perps_types_1.ActivityType.LIQUIDATION);
|
|
120
|
+
let liquidationHistory;
|
|
121
|
+
const page = await (0, historyPagination_js_1.historyPage)(params, limit, (startTime, endTime, snapshotEnd) => {
|
|
122
|
+
if (needLiquidationFills && liquidationHistory === undefined) {
|
|
123
|
+
liquidationHistory = fetchLiquidationHistory(apiUrl, params.address, params.startTime ?? 0, snapshotEnd, (coin) => registry.get(coin), infoOpts);
|
|
124
|
+
}
|
|
125
|
+
return fetchActivityData(apiUrl, params.type, { user: params.address, startTime, endTime }, assetRegistry, (coin) => registry.get(coin), liquidationHistory, infoOpts);
|
|
126
|
+
}, (item) => ({
|
|
127
|
+
time: new Date(item.timestamp).getTime(),
|
|
128
|
+
key: `${item.type}:${item.id}`,
|
|
129
|
+
}), options?.signal);
|
|
130
|
+
return { provider: constants_js_1.PROVIDER_KEY, ...page };
|
|
105
131
|
};
|
|
106
132
|
exports.getActivity = getActivity;
|
|
107
133
|
//# sourceMappingURL=getActivity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getActivity.js","sourceRoot":"","sources":["../../../src/services/getActivity.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"getActivity.js","sourceRoot":"","sources":["../../../src/services/getActivity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFills.d.ts","sourceRoot":"","sources":["../../../src/services/getFills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAQ,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"getFills.d.ts","sourceRoot":"","sources":["../../../src/services/getFills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAQ,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAGD,eAAO,MAAM,QAAQ,GACnB,oBAAoB,kBAAkB,EACtC,QAAQ,cAAc,EACtB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,aAAa,CA8CvB,CAAA"}
|
|
@@ -5,49 +5,41 @@ const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
|
5
5
|
const constants_js_1 = require("../constants.js");
|
|
6
6
|
const index_js_1 = require("../utils/index.js");
|
|
7
7
|
const infoClient_js_1 = require("../utils/infoClient.js");
|
|
8
|
-
const
|
|
9
|
-
const encodeCursor = (fill) => `${fill.time}:${fill.tid}`;
|
|
10
|
-
const decodeCursor = (cursor) => {
|
|
11
|
-
const [time, tid] = cursor.split(':').map(Number);
|
|
12
|
-
return { time, tid };
|
|
13
|
-
};
|
|
8
|
+
const historyPagination_js_1 = require("./historyPagination.js");
|
|
14
9
|
const getFills = async ({ client, apiUrl }, params, options) => {
|
|
10
|
+
const limit = (0, historyPagination_js_1.getHistoryLimit)(params.limit);
|
|
15
11
|
const registry = (0, perps_sdk_1.getMarketRegistry)(client, constants_js_1.PROVIDER_KEY);
|
|
16
12
|
await registry.sync();
|
|
17
13
|
const infoOpts = (0, infoClient_js_1.hlInfoOptions)(client, options);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
user: params.address
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const page = filtered.slice(0, limit);
|
|
34
|
-
const items = page.flatMap((f) => {
|
|
35
|
-
if ((0, index_js_1.assetIsOutcome)(f.coin)) {
|
|
36
|
-
return [];
|
|
14
|
+
let useRecent = params.cursor === undefined &&
|
|
15
|
+
params.startTime === undefined &&
|
|
16
|
+
params.endTime === undefined;
|
|
17
|
+
const page = await (0, historyPagination_js_1.historyPage)(params, limit, async (startTime, endTime) => {
|
|
18
|
+
const fills = await (0, infoClient_js_1.infoRequest)(apiUrl, useRecent
|
|
19
|
+
? { type: 'userFills', user: params.address }
|
|
20
|
+
: {
|
|
21
|
+
type: 'userFillsByTime',
|
|
22
|
+
user: params.address,
|
|
23
|
+
startTime,
|
|
24
|
+
endTime,
|
|
25
|
+
}, infoOpts);
|
|
26
|
+
useRecent = false;
|
|
27
|
+
if (fills.length >= 2000) {
|
|
28
|
+
return { items: [], saturated: true };
|
|
37
29
|
}
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
30
|
+
const items = fills.flatMap((fill) => {
|
|
31
|
+
if ((0, index_js_1.assetIsOutcome)(fill.coin)) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
const market = registry.get(fill.coin);
|
|
35
|
+
return market === undefined ? [] : [(0, index_js_1.mapFill)(fill, market)];
|
|
36
|
+
});
|
|
37
|
+
return { items, saturated: false };
|
|
38
|
+
}, (fill) => ({
|
|
39
|
+
time: new Date(fill.createdAt).getTime(),
|
|
40
|
+
key: Number(fill.id),
|
|
41
|
+
}), options?.signal);
|
|
42
|
+
return { provider: constants_js_1.PROVIDER_KEY, ...page };
|
|
51
43
|
};
|
|
52
44
|
exports.getFills = getFills;
|
|
53
45
|
//# sourceMappingURL=getFills.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFills.js","sourceRoot":"","sources":["../../../src/services/getFills.ts"],"names":[],"mappings":";;;AAAA,+CAA2E;AAG3E,
|
|
1
|
+
{"version":3,"file":"getFills.js","sourceRoot":"","sources":["../../../src/services/getFills.ts"],"names":[],"mappings":";;;AAAA,+CAA2E;AAG3E,kDAA8C;AAG9C,gDAA2D;AAC3D,0DAAmE;AACnE,iEAAqE;AAoB9D,MAAM,QAAQ,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,MAAM,EAAsB,EACtC,MAAsB,EACtB,OAA2B,EACH,EAAE;IAC1B,MAAM,KAAK,GAAG,IAAA,sCAAe,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,MAAM,EAAE,2BAAY,CAAC,CAAA;IACxD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IACrB,MAAM,QAAQ,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/C,IAAI,SAAS,GACX,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,OAAO,KAAK,SAAS,CAAA;IAC9B,MAAM,IAAI,GAAG,MAAM,IAAA,kCAAW,EAC5B,MAAM,EACN,KAAK,EACL,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAA,2BAAW,EAC7B,MAAM,EACN,SAAS;YACP,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;YAC7C,CAAC,CAAC;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,MAAM,CAAC,OAAO;gBACpB,SAAS;gBACT,OAAO;aACR,EACL,QAAQ,CACT,CAAA;QACD,SAAS,GAAG,KAAK,CAAA;QACjB,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAU,EAAE;YAC3C,IAAI,IAAA,yBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,EAAE,CAAA;YACX,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACpC,CAAC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACT,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;QACxC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;KACrB,CAAC,EACF,OAAO,EAAE,MAAM,CAChB,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,2BAAY,EAAE,GAAG,IAAI,EAAE,CAAA;AAC5C,CAAC,CAAA;AAlDY,QAAA,QAAQ,YAkDpB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type SDKRequestOptions } from '@lifi/perps-sdk';
|
|
2
2
|
import { type MarketRef, type MarketSettings } from '@lifi/perps-types';
|
|
3
3
|
import type { Address } from 'viem';
|
|
4
4
|
import type { HyperliquidContext } from '../context.js';
|
|
@@ -6,5 +6,5 @@ export interface GetMarketSettingsParams {
|
|
|
6
6
|
address: Address;
|
|
7
7
|
market: MarketRef;
|
|
8
8
|
}
|
|
9
|
-
export declare const getMarketSettings: (context: HyperliquidContext, params: GetMarketSettingsParams, options?: SDKRequestOptions) => Promise<MarketSettings
|
|
9
|
+
export declare const getMarketSettings: (context: HyperliquidContext, params: GetMarketSettingsParams, options?: SDKRequestOptions) => Promise<MarketSettings>;
|
|
10
10
|
//# sourceMappingURL=getMarketSettings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarketSettings.d.ts","sourceRoot":"","sources":["../../../src/services/getMarketSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getMarketSettings.d.ts","sourceRoot":"","sources":["../../../src/services/getMarketSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAQvD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;CAClB;AAUD,eAAO,MAAM,iBAAiB,GAC5B,SAAS,kBAAkB,EAC3B,QAAQ,uBAAuB,EAC/B,UAAU,iBAAiB,KAC1B,OAAO,CAAC,cAAc,CA6BxB,CAAA"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getMarketSettings = void 0;
|
|
4
|
+
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
4
5
|
const perps_types_1 = require("@lifi/perps-types");
|
|
5
6
|
const constants_js_1 = require("../constants.js");
|
|
6
7
|
const activeAssetData_js_1 = require("./activeAssetData.js");
|
|
7
8
|
const getMarketSettings = async (context, params, options) => {
|
|
8
9
|
if (params.market.categoryId === constants_js_1.SPOT_MARKET_ID) {
|
|
9
|
-
|
|
10
|
+
const error = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Hyperliquid market '${params.market.marketId}' is a spot market and carries no leverage setting`);
|
|
11
|
+
error.tool = constants_js_1.PROVIDER_KEY;
|
|
12
|
+
throw error;
|
|
10
13
|
}
|
|
11
14
|
const data = await (0, activeAssetData_js_1.fetchActiveAssetData)(context, params.address, params.market.marketId, options);
|
|
12
15
|
const leverage = data.leverage;
|
|
13
|
-
if (!leverage) {
|
|
14
|
-
|
|
16
|
+
if (!leverage || !(leverage.value > 0)) {
|
|
17
|
+
const error = new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Hyperliquid returned no leverage for market '${params.market.marketId}'`);
|
|
18
|
+
error.tool = constants_js_1.PROVIDER_KEY;
|
|
19
|
+
throw error;
|
|
15
20
|
}
|
|
16
21
|
return {
|
|
17
22
|
marginMode: leverage.type === 'isolated' ? perps_types_1.MarginMode.ISOLATED : perps_types_1.MarginMode.CROSS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarketSettings.js","sourceRoot":"","sources":["../../../src/services/getMarketSettings.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"getMarketSettings.js","sourceRoot":"","sources":["../../../src/services/getMarketSettings.ts"],"names":[],"mappings":";;;AAAA,+CAAoE;AACpE,mDAK0B;AAE1B,kDAA8D;AAE9D,6DAA2D;AAoBpD,MAAM,iBAAiB,GAAG,KAAK,EACpC,OAA2B,EAC3B,MAA+B,EAC/B,OAA2B,EACF,EAAE;IAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,KAAK,6BAAc,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,sBAAU,CAC1B,4BAAc,CAAC,eAAe,EAC9B,uBAAuB,MAAM,CAAC,MAAM,CAAC,QAAQ,oDAAoD,CAClG,CAAA;QACD,KAAK,CAAC,IAAI,GAAG,2BAAY,CAAA;QACzB,MAAM,KAAK,CAAA;IACb,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,IAAA,yCAAoB,EACrC,OAAO,EACP,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtB,OAAO,CACR,CAAA;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC9B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,sBAAU,CAC1B,4BAAc,CAAC,QAAQ,EACvB,gDAAgD,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,CAC1E,CAAA;QACD,KAAK,CAAC,IAAI,GAAG,2BAAY,CAAA;QACzB,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO;QACL,UAAU,EACR,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,wBAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAU,CAAC,KAAK;QACvE,QAAQ,EAAE,QAAQ,CAAC,KAAK;KACzB,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,iBAAiB,qBAiC7B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type HistoryKey = string | number;
|
|
2
|
+
export declare const getHistoryLimit: (limit?: number) => number;
|
|
3
|
+
export declare function historyPage<T>(params: {
|
|
4
|
+
startTime?: number;
|
|
5
|
+
endTime?: number;
|
|
6
|
+
cursor?: string;
|
|
7
|
+
}, limit: number, fetchWindow: (startTime: number, endTime: number, snapshotEnd: number) => Promise<{
|
|
8
|
+
items: T[];
|
|
9
|
+
saturated: boolean;
|
|
10
|
+
}>, identify: (item: T) => {
|
|
11
|
+
time: number;
|
|
12
|
+
key: HistoryKey;
|
|
13
|
+
}, signal?: AbortSignal): Promise<{
|
|
14
|
+
items: T[];
|
|
15
|
+
pagination: {
|
|
16
|
+
limit: number;
|
|
17
|
+
hasMore: boolean;
|
|
18
|
+
cursor?: string;
|
|
19
|
+
};
|
|
20
|
+
}>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=historyPagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"historyPagination.d.ts","sourceRoot":"","sources":["../../../src/services/historyPagination.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AAiBjC,eAAO,MAAM,eAAe,GAAI,cAA6B,KAAG,MAQ/D,CAAA;AAmCD,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,EAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,EACxD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IACT,KAAK,EAAE,CAAC,EAAE,CAAA;IACV,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACjE,CAAC,CA2FD"}
|