@lifi/perps-types 0.1.1-alpha.9 → 1.0.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 +6 -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 +3 -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/{src/_cjs/providers/hyperliquid/types.js → dist/cjs/asset.js} +1 -1
- package/dist/cjs/asset.js.map +1 -0
- package/dist/cjs/enums.d.ts +148 -0
- package/dist/cjs/enums.d.ts.map +1 -0
- package/dist/cjs/enums.js +170 -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/dist/cjs/index.d.ts +15 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/{src/_cjs → dist/cjs}/index.js +11 -6
- package/dist/cjs/index.js.map +1 -0
- package/{src/_types → dist/cjs}/market.d.ts +33 -36
- package/dist/cjs/market.d.ts.map +1 -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/dist/cjs/providers.js +3 -0
- package/dist/cjs/providers.js.map +1 -0
- 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 +26 -20
- 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/dist/esm/action.d.ts +248 -0
- 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 +2 -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/dist/esm/enums.js +195 -0
- 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.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/dist/esm/providers.js +2 -0
- package/dist/esm/providers.js.map +1 -0
- 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 -51
- package/src/acceptTerms.ts +53 -0
- package/src/account.ts +163 -29
- package/src/action.ts +292 -0
- package/src/asset.ts +25 -0
- package/src/enums.ts +102 -3
- package/src/errors.ts +1 -0
- package/src/index.ts +20 -6
- package/src/market.ts +79 -39
- package/src/meta.ts +38 -0
- package/src/primitives.ts +5 -0
- package/src/providers.ts +122 -0
- package/src/quote.ts +49 -0
- package/src/subscriptions.ts +70 -25
- package/src/typedData.ts +27 -8
- package/src/vote.ts +79 -0
- package/providers/hyperliquid/package.json +0 -5
- package/src/_cjs/authorization.js +0 -3
- package/src/_cjs/authorization.js.map +0 -1
- package/src/_cjs/enums.js +0 -100
- 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/market.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/assetId.js +0 -19
- 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/activity.js +0 -56
- package/src/_cjs/providers/hyperliquid/mappers/activity.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/history.js +0 -22
- package/src/_cjs/providers/hyperliquid/mappers/history.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/index.js +0 -18
- package/src/_cjs/providers/hyperliquid/mappers/index.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/market.js +0 -28
- package/src/_cjs/providers/hyperliquid/mappers/market.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/order.js +0 -76
- package/src/_cjs/providers/hyperliquid/mappers/order.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/position.js +0 -29
- package/src/_cjs/providers/hyperliquid/mappers/position.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/mappers/shared.js +0 -12
- package/src/_cjs/providers/hyperliquid/mappers/shared.js.map +0 -1
- package/src/_cjs/providers/hyperliquid/types.js.map +0 -1
- package/src/_cjs/trading.js +0 -3
- package/src/_cjs/trading.js.map +0 -1
- package/src/_cjs/withdrawal.js +0 -3
- package/src/_cjs/withdrawal.js.map +0 -1
- package/src/_esm/authorization.js +0 -2
- package/src/_esm/authorization.js.map +0 -1
- package/src/_esm/enums.js +0 -103
- package/src/_esm/enums.js.map +0 -1
- package/src/_esm/errors.js.map +0 -1
- package/src/_esm/index.js +0 -10
- package/src/_esm/index.js.map +0 -1
- package/src/_esm/market.js.map +0 -1
- package/src/_esm/providers/hyperliquid/assetId.js +0 -23
- 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/activity.js +0 -59
- package/src/_esm/providers/hyperliquid/mappers/activity.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/history.js +0 -18
- package/src/_esm/providers/hyperliquid/mappers/history.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/index.js +0 -7
- package/src/_esm/providers/hyperliquid/mappers/index.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/market.js +0 -24
- package/src/_esm/providers/hyperliquid/mappers/market.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/order.js +0 -71
- package/src/_esm/providers/hyperliquid/mappers/order.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/position.js +0 -25
- package/src/_esm/providers/hyperliquid/mappers/position.js.map +0 -1
- package/src/_esm/providers/hyperliquid/mappers/shared.js +0 -13
- package/src/_esm/providers/hyperliquid/mappers/shared.js.map +0 -1
- package/src/_esm/providers/hyperliquid/types.js +0 -5
- package/src/_esm/providers/hyperliquid/types.js.map +0 -1
- package/src/_esm/trading.js +0 -2
- package/src/_esm/trading.js.map +0 -1
- package/src/_esm/withdrawal.js +0 -2
- package/src/_esm/withdrawal.js.map +0 -1
- package/src/_types/account.d.ts +0 -113
- package/src/_types/account.d.ts.map +0 -1
- package/src/_types/authorization.d.ts +0 -39
- package/src/_types/authorization.d.ts.map +0 -1
- package/src/_types/enums.d.ts +0 -84
- package/src/_types/enums.d.ts.map +0 -1
- package/src/_types/errors.d.ts.map +0 -1
- package/src/_types/index.d.ts +0 -10
- package/src/_types/index.d.ts.map +0 -1
- package/src/_types/market.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/assetId.d.ts +0 -12
- 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/activity.d.ts +0 -13
- package/src/_types/providers/hyperliquid/mappers/activity.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/history.d.ts +0 -4
- package/src/_types/providers/hyperliquid/mappers/history.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/index.d.ts +0 -7
- package/src/_types/providers/hyperliquid/mappers/index.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/market.d.ts +0 -4
- package/src/_types/providers/hyperliquid/mappers/market.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/mappers/order.d.ts +0 -6
- 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 -7
- package/src/_types/providers/hyperliquid/mappers/shared.d.ts.map +0 -1
- package/src/_types/providers/hyperliquid/types.d.ts +0 -201
- package/src/_types/providers/hyperliquid/types.d.ts.map +0 -1
- package/src/_types/subscriptions.d.ts.map +0 -1
- package/src/_types/trading.d.ts +0 -80
- package/src/_types/trading.d.ts.map +0 -1
- package/src/_types/typedData.d.ts +0 -10
- package/src/_types/typedData.d.ts.map +0 -1
- package/src/_types/withdrawal.d.ts +0 -37
- package/src/_types/withdrawal.d.ts.map +0 -1
- package/src/authorization.ts +0 -46
- package/src/providers/hyperliquid/assetId.ts +0 -26
- package/src/providers/hyperliquid/index.ts +0 -3
- package/src/providers/hyperliquid/mappers/activity.ts +0 -84
- package/src/providers/hyperliquid/mappers/history.ts +0 -25
- package/src/providers/hyperliquid/mappers/index.ts +0 -6
- package/src/providers/hyperliquid/mappers/market.ts +0 -35
- package/src/providers/hyperliquid/mappers/order.ts +0 -88
- package/src/providers/hyperliquid/mappers/position.ts +0 -35
- package/src/providers/hyperliquid/mappers/shared.ts +0 -15
- package/src/providers/hyperliquid/types.ts +0 -255
- package/src/trading.ts +0 -97
- package/src/withdrawal.ts +0 -44
- /package/{src/_cjs → dist/cjs}/account.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}/market.js +0 -0
- /package/{src/_cjs → dist/cjs}/package.json +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}/errors.js +0 -0
- /package/{src/_esm → dist/esm}/market.js +0 -0
- /package/{src/_esm → dist/esm}/package.json +0 -0
- /package/{src/_esm → dist/esm}/subscriptions.js +0 -0
- /package/{src/_esm → dist/esm}/typedData.js +0 -0
package/src/action.ts
ADDED
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import type { AcceptTermsParams } from './acceptTerms.js'
|
|
2
|
+
import type {
|
|
3
|
+
ActionType,
|
|
4
|
+
MarginMode,
|
|
5
|
+
OrderSide,
|
|
6
|
+
OrderStatus,
|
|
7
|
+
OrderType,
|
|
8
|
+
TimeInForce,
|
|
9
|
+
TriggerCondition,
|
|
10
|
+
} from './enums.js'
|
|
11
|
+
import type { MarketDisplay, MarketRef } from './market.js'
|
|
12
|
+
import type { Address, Hex } from './primitives.js'
|
|
13
|
+
import type { PerpsTypedData } from './typedData.js'
|
|
14
|
+
import type { VoteParams } from './vote.js'
|
|
15
|
+
|
|
16
|
+
/** @public */
|
|
17
|
+
export interface Eip712ActionStep {
|
|
18
|
+
action: ActionType
|
|
19
|
+
typedData: PerpsTypedData
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @public */
|
|
23
|
+
export interface WasmBlobActionStep {
|
|
24
|
+
action: ActionType
|
|
25
|
+
wasmSignParams: Record<string, unknown>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** @public */
|
|
29
|
+
export interface EvmTxActionStep {
|
|
30
|
+
action: ActionType
|
|
31
|
+
txParams: Record<string, unknown>
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** @public */
|
|
35
|
+
export type ActionStep = Eip712ActionStep | WasmBlobActionStep | EvmTxActionStep
|
|
36
|
+
|
|
37
|
+
/** @public */
|
|
38
|
+
export interface Eip712SignedActionStep {
|
|
39
|
+
action: ActionType
|
|
40
|
+
typedData: PerpsTypedData
|
|
41
|
+
signature: Hex
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** @public */
|
|
45
|
+
export interface WasmBlobSignedActionStep {
|
|
46
|
+
action: ActionType
|
|
47
|
+
wasmSignParams: Record<string, unknown>
|
|
48
|
+
signedTx: {
|
|
49
|
+
txType: number
|
|
50
|
+
txInfo: string
|
|
51
|
+
txHash: string
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** @public */
|
|
56
|
+
export interface EvmTxSignedActionStep {
|
|
57
|
+
action: ActionType
|
|
58
|
+
txParams: Record<string, unknown>
|
|
59
|
+
txHash: string
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** @public */
|
|
63
|
+
export type SignedActionStep =
|
|
64
|
+
| Eip712SignedActionStep
|
|
65
|
+
| WasmBlobSignedActionStep
|
|
66
|
+
| EvmTxSignedActionStep
|
|
67
|
+
|
|
68
|
+
/** @public */
|
|
69
|
+
export type ActionResult =
|
|
70
|
+
| {
|
|
71
|
+
action: ActionType
|
|
72
|
+
success: true
|
|
73
|
+
orderId?: string
|
|
74
|
+
}
|
|
75
|
+
| {
|
|
76
|
+
action: ActionType
|
|
77
|
+
success: false
|
|
78
|
+
error: string
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** @public */
|
|
82
|
+
export interface TriggerOrderInput {
|
|
83
|
+
triggerPrice: string
|
|
84
|
+
limitPrice?: string
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** @public */
|
|
88
|
+
export interface ModifyOrderInput {
|
|
89
|
+
id: string
|
|
90
|
+
price?: string
|
|
91
|
+
size?: string
|
|
92
|
+
triggerPrice?: string
|
|
93
|
+
limitPrice?: string
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/** @public */
|
|
97
|
+
export interface Order {
|
|
98
|
+
orderId: string
|
|
99
|
+
market: MarketDisplay
|
|
100
|
+
side: OrderSide
|
|
101
|
+
type: OrderType
|
|
102
|
+
price?: string
|
|
103
|
+
originalSize: string
|
|
104
|
+
remainingSize: string
|
|
105
|
+
filledSize: string
|
|
106
|
+
timeInForce?: TimeInForce
|
|
107
|
+
expiresAt?: string
|
|
108
|
+
reduceOnly?: boolean
|
|
109
|
+
isTrigger?: boolean
|
|
110
|
+
triggerPrice?: string
|
|
111
|
+
triggerCondition?: TriggerCondition
|
|
112
|
+
status: OrderStatus
|
|
113
|
+
/** Human-readable reason for a terminal non-FILLED status; undefined when no actionable detail. */
|
|
114
|
+
statusReason?: string
|
|
115
|
+
averagePrice?: string
|
|
116
|
+
createdAt: string
|
|
117
|
+
updatedAt: string
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** @public */
|
|
121
|
+
export interface PlaceOrderParams {
|
|
122
|
+
market: MarketRef
|
|
123
|
+
side: OrderSide
|
|
124
|
+
type?: OrderType
|
|
125
|
+
size: string
|
|
126
|
+
price?: string
|
|
127
|
+
leverage?: number
|
|
128
|
+
/** Omitted falls back to the provider's default (currently CROSS). */
|
|
129
|
+
marginMode?: MarginMode
|
|
130
|
+
reduceOnly?: boolean
|
|
131
|
+
timeInForce?: TimeInForce
|
|
132
|
+
expiresAt?: string
|
|
133
|
+
takeProfit?: TriggerOrderInput
|
|
134
|
+
stopLoss?: TriggerOrderInput
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/** @public */
|
|
138
|
+
export interface PlaceTriggerOrderParams {
|
|
139
|
+
market: MarketRef
|
|
140
|
+
side: OrderSide
|
|
141
|
+
takeProfit?: TriggerOrderInput
|
|
142
|
+
stopLoss?: TriggerOrderInput
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/** @public */
|
|
146
|
+
export interface CancelOrderParams {
|
|
147
|
+
ids: string[]
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/** @public */
|
|
151
|
+
export interface ModifyOrderParams {
|
|
152
|
+
modifications: ModifyOrderInput[]
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/** @public */
|
|
156
|
+
export interface UpdateLeverageParams {
|
|
157
|
+
market: MarketRef
|
|
158
|
+
leverage: number
|
|
159
|
+
/** Omitted falls back to the provider's default (currently CROSS). */
|
|
160
|
+
marginMode?: MarginMode
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/** @public */
|
|
164
|
+
export interface UpdatePositionMarginParams {
|
|
165
|
+
market: MarketRef
|
|
166
|
+
action: 'add' | 'remove'
|
|
167
|
+
amount: string
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/** @public */
|
|
171
|
+
export interface WithdrawalParams {
|
|
172
|
+
destination: Address
|
|
173
|
+
amount: string
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/** @public */
|
|
177
|
+
export interface DepositParams {
|
|
178
|
+
/** Amount of the token to deposit (human-readable, e.g. "100.5"). */
|
|
179
|
+
amount: string
|
|
180
|
+
/** ERC-20 token address on the source chain. */
|
|
181
|
+
tokenAddress: Address
|
|
182
|
+
/** Chain ID of the source chain (e.g. 1 for Ethereum, 42161 for Arbitrum). */
|
|
183
|
+
chainId: number
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** @public */
|
|
187
|
+
export interface ApproveAgentParams {
|
|
188
|
+
agentAddress: string
|
|
189
|
+
agentTtlMs?: number
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/** @public */
|
|
193
|
+
export interface AccountModeParams {
|
|
194
|
+
mode: string
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/** @public */
|
|
198
|
+
export interface AccountTypeParams {
|
|
199
|
+
tier: string
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/** @public */
|
|
203
|
+
export interface SendAssetParams {
|
|
204
|
+
collateral: string
|
|
205
|
+
sourceDex: string
|
|
206
|
+
destinationDex: string
|
|
207
|
+
amount: string
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/** @public */
|
|
211
|
+
export interface CancelAllOrdersParams {
|
|
212
|
+
/** 0=immediate (cancel GTC), 1=scheduled, 2=abort scheduled */
|
|
213
|
+
timeInForce: number
|
|
214
|
+
/** Unix timestamp in milliseconds (required for scheduled cancels) */
|
|
215
|
+
timestampMs?: number
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/** @public */
|
|
219
|
+
export interface RegisterApiKeyParams {
|
|
220
|
+
/** The API key slot index to register (0-255). Reusing a fixed slot overwrites the old key. */
|
|
221
|
+
apiKeyIndex: number
|
|
222
|
+
/**
|
|
223
|
+
* The SDK's currently-stored Lighter public key for this slot, if any. The
|
|
224
|
+
* backend returns `[]` (already satisfied) only when this equals the
|
|
225
|
+
* on-chain pubkey at the slot; otherwise it stages a ChangePubKey blob so
|
|
226
|
+
* the slot can be (re-)registered. Omit when the SDK has no local key.
|
|
227
|
+
*/
|
|
228
|
+
knownPublicKey?: string
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/** @public */
|
|
232
|
+
export interface ApproveReadOnlyTokenParams {
|
|
233
|
+
accountIndex: number
|
|
234
|
+
/** Absolute unix-seconds expiry. Lighter requires lifetime between 1 day and 10 years. */
|
|
235
|
+
expirySeconds: number
|
|
236
|
+
scope: 'single' | 'all'
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/** @public */
|
|
240
|
+
export interface ActionParamsMap {
|
|
241
|
+
[ActionType.APPROVE_AGENT]: ApproveAgentParams
|
|
242
|
+
[ActionType.APPROVE_BUILDER_FEE]: Record<string, never>
|
|
243
|
+
[ActionType.ACCOUNT_MODE]: AccountModeParams
|
|
244
|
+
[ActionType.ACCOUNT_TYPE]: AccountTypeParams
|
|
245
|
+
[ActionType.SEND_ASSET]: SendAssetParams
|
|
246
|
+
[ActionType.WITHDRAWAL]: WithdrawalParams
|
|
247
|
+
[ActionType.TRANSFER]: Record<string, never>
|
|
248
|
+
[ActionType.PLACE_ORDER]: PlaceOrderParams
|
|
249
|
+
[ActionType.PLACE_TRIGGER_ORDER]: PlaceTriggerOrderParams
|
|
250
|
+
[ActionType.CANCEL_ORDER]: CancelOrderParams
|
|
251
|
+
[ActionType.CANCEL_ALL_ORDERS]: CancelAllOrdersParams
|
|
252
|
+
[ActionType.MODIFY_ORDER]: ModifyOrderParams
|
|
253
|
+
[ActionType.UPDATE_LEVERAGE]: UpdateLeverageParams
|
|
254
|
+
[ActionType.UPDATE_POSITION_MARGIN]: UpdatePositionMarginParams
|
|
255
|
+
[ActionType.REGISTER_API_KEY]: RegisterApiKeyParams
|
|
256
|
+
[ActionType.APPROVE_READ_ONLY_TOKEN]: ApproveReadOnlyTokenParams
|
|
257
|
+
[ActionType.DEPOSIT]: DepositParams
|
|
258
|
+
[ActionType.META_VOTE]: VoteParams
|
|
259
|
+
[ActionType.META_ACCEPT_TERMS]: AcceptTermsParams
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/** @public */
|
|
263
|
+
export type CreateActionRequest = {
|
|
264
|
+
[K in ActionType]: {
|
|
265
|
+
provider: string
|
|
266
|
+
address: Address
|
|
267
|
+
signerAddress?: Address
|
|
268
|
+
action: K
|
|
269
|
+
params: ActionParamsMap[K]
|
|
270
|
+
}
|
|
271
|
+
}[ActionType]
|
|
272
|
+
|
|
273
|
+
/** @public */
|
|
274
|
+
export interface CreateActionResponse {
|
|
275
|
+
actions: ActionStep[]
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/** @public */
|
|
279
|
+
export type ExecuteActionRequest = {
|
|
280
|
+
[K in ActionType]: {
|
|
281
|
+
provider: string
|
|
282
|
+
address: Address
|
|
283
|
+
signerAddress?: Address
|
|
284
|
+
action: K
|
|
285
|
+
actions: SignedActionStep[]
|
|
286
|
+
}
|
|
287
|
+
}[ActionType]
|
|
288
|
+
|
|
289
|
+
/** @public */
|
|
290
|
+
export interface ExecuteActionResponse {
|
|
291
|
+
results: ActionResult[]
|
|
292
|
+
}
|
package/src/asset.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Underlying token/registry entry. The base entity of the perps taxonomy:
|
|
3
|
+
* a tradable unit referenced by markets (as base/quote legs) and held by
|
|
4
|
+
* accounts (as balances). NOT a market — see {@link BaseMarket}.
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface Asset {
|
|
8
|
+
providerId: string
|
|
9
|
+
/**
|
|
10
|
+
* The asset's own provider-native id. Lighter: numeric `asset_id`, stringified.
|
|
11
|
+
* Hyperliquid spot: the venue token index (`spotMeta.tokens[].index`, the
|
|
12
|
+
* value HL carries in a balance's `token` field) — identical to that token's
|
|
13
|
+
* spot `Market.baseAsset.id`, so a held balance resolves to its market by
|
|
14
|
+
* identity. NEVER the coin symbol (that is `displaySymbol`).
|
|
15
|
+
*/
|
|
16
|
+
id: string
|
|
17
|
+
displaySymbol: string
|
|
18
|
+
logoURI: string
|
|
19
|
+
displayName?: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @public */
|
|
23
|
+
export interface AssetsResponse {
|
|
24
|
+
assets: Asset[]
|
|
25
|
+
}
|
package/src/enums.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @public */
|
|
1
2
|
export enum PerpsErrorCode {
|
|
2
3
|
// Base errors (2000-2009)
|
|
3
4
|
DefaultError = 2000,
|
|
@@ -5,10 +6,12 @@ export enum PerpsErrorCode {
|
|
|
5
6
|
ValidationError = 2002,
|
|
6
7
|
TimeoutError = 2003,
|
|
7
8
|
ThirdPartyError = 2004,
|
|
9
|
+
SDKError = 2005,
|
|
8
10
|
|
|
9
11
|
// Auth errors (2010-2019)
|
|
10
12
|
SignatureInvalid = 2010,
|
|
11
13
|
AgentUnauthorized = 2011,
|
|
14
|
+
TermsNotAccepted = 2012,
|
|
12
15
|
|
|
13
16
|
// Trading errors (2020-2039)
|
|
14
17
|
ExchangeRejected = 2020,
|
|
@@ -17,6 +20,7 @@ export enum PerpsErrorCode {
|
|
|
17
20
|
MarketNotFound = 2023,
|
|
18
21
|
OrderNotFound = 2024,
|
|
19
22
|
PositionNotFound = 2025,
|
|
23
|
+
AccountNotFound = 2026,
|
|
20
24
|
|
|
21
25
|
// Nonce errors (2040-2049)
|
|
22
26
|
InvalidNonce = 2040,
|
|
@@ -30,26 +34,36 @@ export enum PerpsErrorCode {
|
|
|
30
34
|
RouteNotFound = 2060,
|
|
31
35
|
}
|
|
32
36
|
|
|
37
|
+
/** @public */
|
|
33
38
|
export enum OrderSide {
|
|
34
39
|
BUY = 'BUY',
|
|
35
40
|
SELL = 'SELL',
|
|
36
41
|
}
|
|
37
42
|
|
|
43
|
+
/** @public */
|
|
38
44
|
export enum OrderType {
|
|
39
45
|
MARKET = 'MARKET',
|
|
40
46
|
LIMIT = 'LIMIT',
|
|
47
|
+
STOP_MARKET = 'STOP_MARKET',
|
|
48
|
+
STOP_LIMIT = 'STOP_LIMIT',
|
|
49
|
+
TAKE_PROFIT_MARKET = 'TAKE_PROFIT_MARKET',
|
|
50
|
+
TAKE_PROFIT_LIMIT = 'TAKE_PROFIT_LIMIT',
|
|
51
|
+
TRIGGER_ONLY = 'TRIGGER_ONLY',
|
|
41
52
|
}
|
|
42
53
|
|
|
54
|
+
/** @public */
|
|
43
55
|
export enum PositionSide {
|
|
44
56
|
LONG = 'LONG',
|
|
45
57
|
SHORT = 'SHORT',
|
|
46
58
|
}
|
|
47
59
|
|
|
60
|
+
/** @public */
|
|
48
61
|
export enum MarginMode {
|
|
49
62
|
ISOLATED = 'ISOLATED',
|
|
50
63
|
CROSS = 'CROSS',
|
|
51
64
|
}
|
|
52
65
|
|
|
66
|
+
/** @public */
|
|
53
67
|
export enum TimeInForce {
|
|
54
68
|
GTC = 'GTC',
|
|
55
69
|
IOC = 'IOC',
|
|
@@ -57,6 +71,7 @@ export enum TimeInForce {
|
|
|
57
71
|
GTT = 'GTT',
|
|
58
72
|
}
|
|
59
73
|
|
|
74
|
+
/** @public */
|
|
60
75
|
export enum OrderStatus {
|
|
61
76
|
PENDING = 'PENDING',
|
|
62
77
|
OPEN = 'OPEN',
|
|
@@ -68,39 +83,123 @@ export enum OrderStatus {
|
|
|
68
83
|
TRIGGERED = 'TRIGGERED',
|
|
69
84
|
}
|
|
70
85
|
|
|
71
|
-
|
|
86
|
+
/** @public */
|
|
87
|
+
export enum FillStatus {
|
|
72
88
|
FILLED = 'FILLED',
|
|
73
89
|
PARTIALLY_FILLED = 'PARTIALLY_FILLED',
|
|
74
90
|
CANCELLED = 'CANCELLED',
|
|
75
91
|
REJECTED = 'REJECTED',
|
|
76
92
|
}
|
|
77
93
|
|
|
78
|
-
|
|
79
|
-
|
|
94
|
+
/** @public */
|
|
95
|
+
export enum LiquidityRole {
|
|
96
|
+
MAKER = 'maker',
|
|
97
|
+
TAKER = 'taker',
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** @public */
|
|
101
|
+
export enum ActionType {
|
|
102
|
+
APPROVE_AGENT = 'approveAgent',
|
|
103
|
+
APPROVE_BUILDER_FEE = 'approveBuilderFee',
|
|
104
|
+
ACCOUNT_MODE = 'accountMode',
|
|
105
|
+
ACCOUNT_TYPE = 'accountType',
|
|
106
|
+
SEND_ASSET = 'sendAsset',
|
|
107
|
+
WITHDRAWAL = 'withdrawal',
|
|
108
|
+
TRANSFER = 'transfer',
|
|
80
109
|
PLACE_ORDER = 'placeOrder',
|
|
81
110
|
PLACE_TRIGGER_ORDER = 'placeTriggerOrder',
|
|
82
111
|
CANCEL_ORDER = 'cancelOrder',
|
|
112
|
+
CANCEL_ALL_ORDERS = 'cancelAllOrders',
|
|
113
|
+
MODIFY_ORDER = 'modifyOrder',
|
|
114
|
+
UPDATE_LEVERAGE = 'updateLeverage',
|
|
115
|
+
UPDATE_POSITION_MARGIN = 'updatePositionMargin',
|
|
116
|
+
REGISTER_API_KEY = 'registerApiKey',
|
|
117
|
+
APPROVE_READ_ONLY_TOKEN = 'approveReadOnlyToken',
|
|
118
|
+
DEPOSIT = 'deposit',
|
|
119
|
+
/** Provider-independent: sent with the `META_PROVIDER` sentinel, not a real provider key. */
|
|
120
|
+
META_VOTE = 'metaVote',
|
|
121
|
+
/** Provider-independent: sent with the `META_PROVIDER` sentinel, not a real provider key. */
|
|
122
|
+
META_ACCEPT_TERMS = 'metaAcceptTerms',
|
|
83
123
|
}
|
|
84
124
|
|
|
125
|
+
/** @public */
|
|
85
126
|
export enum TriggerCondition {
|
|
86
127
|
ABOVE = 'ABOVE',
|
|
87
128
|
BELOW = 'BELOW',
|
|
88
129
|
}
|
|
89
130
|
|
|
131
|
+
/** @public */
|
|
90
132
|
export enum TriggerOrderType {
|
|
91
133
|
TAKE_PROFIT = 'TAKE_PROFIT',
|
|
92
134
|
STOP_LOSS = 'STOP_LOSS',
|
|
93
135
|
}
|
|
94
136
|
|
|
137
|
+
/** @public */
|
|
95
138
|
export enum TriggerOrderStatus {
|
|
96
139
|
WAITING = 'WAITING',
|
|
97
140
|
TRIGGERED = 'TRIGGERED',
|
|
98
141
|
CANCELLED = 'CANCELLED',
|
|
99
142
|
}
|
|
100
143
|
|
|
144
|
+
/** @public */
|
|
101
145
|
export enum ActivityType {
|
|
102
146
|
DEPOSIT = 'DEPOSIT',
|
|
103
147
|
WITHDRAWAL = 'WITHDRAWAL',
|
|
104
148
|
LIQUIDATION = 'LIQUIDATION',
|
|
105
149
|
FUNDING = 'FUNDING',
|
|
150
|
+
TRANSFER = 'TRANSFER',
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/** @public */
|
|
154
|
+
export enum FillClassification {
|
|
155
|
+
OPENED_LONG = 'Opened Long',
|
|
156
|
+
OPENED_SHORT = 'Opened Short',
|
|
157
|
+
INCREASED_LONG = 'Increased Long',
|
|
158
|
+
INCREASED_SHORT = 'Increased Short',
|
|
159
|
+
REDUCED_LONG = 'Reduced Long',
|
|
160
|
+
REDUCED_SHORT = 'Reduced Short',
|
|
161
|
+
CLOSED_LONG = 'Closed Long',
|
|
162
|
+
CLOSED_SHORT = 'Closed Short',
|
|
163
|
+
SWITCHED_LONG = 'Switched Long',
|
|
164
|
+
SWITCHED_SHORT = 'Switched Short',
|
|
165
|
+
SPOT_BUY = 'Spot Buy',
|
|
166
|
+
SPOT_SELL = 'Spot Sell',
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/** @public */
|
|
170
|
+
export enum LiquidationClassification {
|
|
171
|
+
LIQUIDATED = 'Liquidated',
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/** @public */
|
|
175
|
+
export enum FundingClassification {
|
|
176
|
+
FUNDING = 'Funding',
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/** @public */
|
|
180
|
+
export enum TransferClassification {
|
|
181
|
+
DEPOSIT = 'Deposit',
|
|
182
|
+
WITHDRAWAL = 'Withdrawal',
|
|
183
|
+
TRANSFER = 'Transfer',
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** @public */
|
|
187
|
+
export type ActivityClassification =
|
|
188
|
+
| FillClassification
|
|
189
|
+
| LiquidationClassification
|
|
190
|
+
| FundingClassification
|
|
191
|
+
| TransferClassification
|
|
192
|
+
|
|
193
|
+
/** @public */
|
|
194
|
+
export enum PerpsSigner {
|
|
195
|
+
USER = 'USER',
|
|
196
|
+
AGENT = 'AGENT',
|
|
197
|
+
API_KEY = 'API_KEY',
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/** @public */
|
|
201
|
+
export enum SigningMethod {
|
|
202
|
+
EIP712 = 'eip712',
|
|
203
|
+
WASM_BLOB = 'wasmBlob',
|
|
204
|
+
EVM_TX = 'evmTx',
|
|
106
205
|
}
|
package/src/errors.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* `@lifi/perps-types` — shared cross-provider type surface for the perps SDK:
|
|
3
|
+
* account/order/market shapes, action params, enums, error codes, provider
|
|
4
|
+
* descriptors, subscriptions, and EIP-712 typed-data structures.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export * from './acceptTerms.js'
|
|
5
11
|
export * from './account.js'
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './
|
|
12
|
+
export * from './action.js'
|
|
13
|
+
export * from './asset.js'
|
|
14
|
+
export * from './enums.js'
|
|
8
15
|
export * from './errors.js'
|
|
16
|
+
export * from './market.js'
|
|
17
|
+
export * from './meta.js'
|
|
18
|
+
export * from './primitives.js'
|
|
19
|
+
export * from './providers.js'
|
|
20
|
+
export * from './quote.js'
|
|
9
21
|
export * from './subscriptions.js'
|
|
22
|
+
export * from './typedData.js'
|
|
23
|
+
export * from './vote.js'
|
package/src/market.ts
CHANGED
|
@@ -1,56 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
name: string
|
|
3
|
-
type: 'string' | 'number' | 'boolean'
|
|
4
|
-
required: boolean
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export interface Authorization {
|
|
8
|
-
key: string
|
|
9
|
-
name: string
|
|
10
|
-
params?: AuthorizationParam[]
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface Dex {
|
|
14
|
-
key: string
|
|
15
|
-
name: string
|
|
16
|
-
logoURI: string
|
|
17
|
-
authorizations: Authorization[]
|
|
18
|
-
extraData?: Record<string, unknown>
|
|
19
|
-
wsUrl?: string
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface DexesResponse {
|
|
23
|
-
dexes: Dex[]
|
|
24
|
-
}
|
|
1
|
+
import type { Asset } from './asset.js'
|
|
25
2
|
|
|
3
|
+
/** @public */
|
|
26
4
|
export interface FundingInfo {
|
|
27
5
|
rate: string
|
|
28
6
|
nextFundingTime: number
|
|
29
7
|
}
|
|
30
8
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
9
|
+
/** @public */
|
|
10
|
+
export interface BaseMarket {
|
|
11
|
+
providerId: string
|
|
12
|
+
/** Opaque provider market id; referenced elsewhere as `marketId`. */
|
|
13
|
+
id: string
|
|
14
|
+
/** References a {@link ProviderCategory} by id. */
|
|
15
|
+
categoryId: string
|
|
16
|
+
baseAsset: Asset
|
|
17
|
+
quoteAsset: Asset
|
|
37
18
|
szDecimals: number
|
|
19
|
+
/**
|
|
20
|
+
* Maximum decimal places the venue accepts for order prices on this market.
|
|
21
|
+
* Some venues impose further constraints on top of this budget (e.g. a
|
|
22
|
+
* significant-figure cap), so always format prices through the provider's
|
|
23
|
+
* `formatOrderPrice` rather than applying this field directly.
|
|
24
|
+
*/
|
|
25
|
+
priceDecimals?: number
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** @public */
|
|
29
|
+
export interface PerpsMarket extends BaseMarket {
|
|
38
30
|
maxLeverage: number
|
|
39
31
|
onlyIsolated: boolean
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Venue maintenance margin rate for this market as a fraction (e.g. `0.012`
|
|
34
|
+
* = 1.2%). Feeds client-side liquidation-price estimates via the provider's
|
|
35
|
+
* `estimateLiquidationPrice`.
|
|
36
|
+
*/
|
|
37
|
+
maintenanceMarginRate?: number
|
|
44
38
|
}
|
|
45
39
|
|
|
40
|
+
/** @public */
|
|
41
|
+
export interface SpotMarket extends BaseMarket {}
|
|
42
|
+
|
|
43
|
+
/** @public */
|
|
44
|
+
export type Market = PerpsMarket | SpotMarket
|
|
45
|
+
|
|
46
|
+
/** @public */
|
|
47
|
+
export type MarketDisplay = Pick<
|
|
48
|
+
BaseMarket,
|
|
49
|
+
'providerId' | 'id' | 'categoryId' | 'baseAsset' | 'quoteAsset'
|
|
50
|
+
>
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Minimal market reference for write-action params: identifies a market by
|
|
54
|
+
* its opaque `marketId` within a `categoryId`. Embeds no Assets — write
|
|
55
|
+
* params reference by id, not value.
|
|
56
|
+
* @public
|
|
57
|
+
*/
|
|
58
|
+
export interface MarketRef {
|
|
59
|
+
marketId: string
|
|
60
|
+
categoryId: string
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** @public */
|
|
46
64
|
export interface MarketsResponse {
|
|
47
65
|
markets: Market[]
|
|
48
66
|
}
|
|
49
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Live per-market data for the `/prices` endpoint. `price` is the mid;
|
|
70
|
+
* `markPrice`, `prevDayPrice` and `volume24h` apply to every market type,
|
|
71
|
+
* while `openInterest` and `funding` are perp-only and absent for spot.
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
export interface MarketPrice {
|
|
75
|
+
marketId: string
|
|
76
|
+
price: string
|
|
77
|
+
markPrice: string
|
|
78
|
+
prevDayPrice?: string
|
|
79
|
+
volume24h?: string
|
|
80
|
+
openInterest?: string
|
|
81
|
+
funding?: FundingInfo
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** @public */
|
|
50
85
|
export interface PricesResponse {
|
|
51
|
-
prices:
|
|
86
|
+
prices: MarketPrice[]
|
|
52
87
|
}
|
|
53
88
|
|
|
89
|
+
/** @public */
|
|
54
90
|
export interface Candle {
|
|
55
91
|
t: number
|
|
56
92
|
o: string
|
|
@@ -60,13 +96,15 @@ export interface Candle {
|
|
|
60
96
|
v: string
|
|
61
97
|
}
|
|
62
98
|
|
|
99
|
+
/** @public */
|
|
63
100
|
export interface OhlcvResponse {
|
|
64
|
-
|
|
65
|
-
|
|
101
|
+
provider: string
|
|
102
|
+
marketId: string
|
|
66
103
|
interval: string
|
|
67
104
|
candles: Candle[]
|
|
68
105
|
}
|
|
69
106
|
|
|
107
|
+
/** @public */
|
|
70
108
|
export type OhlcvInterval =
|
|
71
109
|
| '1m'
|
|
72
110
|
| '3m'
|
|
@@ -83,14 +121,16 @@ export type OhlcvInterval =
|
|
|
83
121
|
| '1w'
|
|
84
122
|
| '1M'
|
|
85
123
|
|
|
124
|
+
/** @public */
|
|
86
125
|
export interface OrderbookLevel {
|
|
87
126
|
price: string
|
|
88
127
|
size: string
|
|
89
128
|
}
|
|
90
129
|
|
|
130
|
+
/** @public */
|
|
91
131
|
export interface OrderbookResponse {
|
|
92
|
-
|
|
93
|
-
|
|
132
|
+
provider: string
|
|
133
|
+
marketId: string
|
|
94
134
|
bids: OrderbookLevel[]
|
|
95
135
|
asks: OrderbookLevel[]
|
|
96
136
|
timestamp: number
|