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