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