@lifi/perps-types 1.0.1 → 1.2.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/dist/cjs/market.d.ts +13 -3
- package/dist/cjs/market.d.ts.map +1 -1
- package/dist/cjs/subscriptions.d.ts +17 -8
- package/dist/cjs/subscriptions.d.ts.map +1 -1
- package/dist/esm/market.d.ts +18 -6
- package/dist/esm/market.d.ts.map +1 -1
- package/dist/esm/subscriptions.d.ts +19 -8
- package/dist/esm/subscriptions.d.ts.map +1 -1
- package/dist/types/market.d.ts +18 -6
- package/dist/types/market.d.ts.map +1 -1
- package/dist/types/subscriptions.d.ts +19 -8
- package/dist/types/subscriptions.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/market.ts +19 -6
- package/src/subscriptions.ts +27 -5
package/dist/cjs/market.d.ts
CHANGED
|
@@ -28,17 +28,18 @@ export interface MarketRef {
|
|
|
28
28
|
export interface MarketsResponse {
|
|
29
29
|
markets: Market[];
|
|
30
30
|
}
|
|
31
|
-
export interface
|
|
31
|
+
export interface MarketContext {
|
|
32
32
|
marketId: string;
|
|
33
|
-
|
|
33
|
+
midPrice: string;
|
|
34
34
|
markPrice: string;
|
|
35
|
+
oraclePrice?: string;
|
|
35
36
|
prevDayPrice?: string;
|
|
36
37
|
volume24h?: string;
|
|
37
38
|
openInterest?: string;
|
|
38
39
|
funding?: FundingInfo;
|
|
39
40
|
}
|
|
40
41
|
export interface PricesResponse {
|
|
41
|
-
prices:
|
|
42
|
+
prices: MarketContext[];
|
|
42
43
|
}
|
|
43
44
|
export interface Candle {
|
|
44
45
|
t: number;
|
|
@@ -66,4 +67,13 @@ export interface OrderbookResponse {
|
|
|
66
67
|
asks: OrderbookLevel[];
|
|
67
68
|
timestamp: number;
|
|
68
69
|
}
|
|
70
|
+
export interface Trade {
|
|
71
|
+
provider: string;
|
|
72
|
+
marketId: string;
|
|
73
|
+
price: string;
|
|
74
|
+
size: string;
|
|
75
|
+
timestamp: number;
|
|
76
|
+
side: 'buy' | 'sell';
|
|
77
|
+
id?: string;
|
|
78
|
+
}
|
|
69
79
|
//# sourceMappingURL=market.d.ts.map
|
package/dist/cjs/market.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAGD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAElB,EAAE,EAAE,MAAM,CAAA;IAEV,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,KAAK,CAAA;IAChB,UAAU,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAOlB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAGD,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IAMrB,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAGD,MAAM,WAAW,UAAW,SAAQ,UAAU;CAAG;AAGjD,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;AAG7C,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,UAAU,EACV,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAChE,CAAA;AAQD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAGD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/market.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Balance, Fill, OpenOrder, Position, TriggerOrder } from './account.js';
|
|
2
|
-
import type { Candle, OhlcvInterval, OrderbookResponse } from './market.js';
|
|
2
|
+
import type { Candle, MarketContext, OhlcvInterval, OrderbookResponse, Trade } from './market.js';
|
|
3
3
|
import type { Address } from './primitives.js';
|
|
4
|
-
export type
|
|
5
|
-
channel: '
|
|
4
|
+
export type MarketsContextSubscription = {
|
|
5
|
+
channel: 'marketsContext';
|
|
6
6
|
dex: string;
|
|
7
7
|
};
|
|
8
8
|
export type OrderbookSubscription = {
|
|
@@ -18,6 +18,11 @@ export type CandleSubscription = {
|
|
|
18
18
|
marketId: string;
|
|
19
19
|
interval: OhlcvInterval;
|
|
20
20
|
};
|
|
21
|
+
export type TradesSubscription = {
|
|
22
|
+
channel: 'trades';
|
|
23
|
+
dex: string;
|
|
24
|
+
marketId: string;
|
|
25
|
+
};
|
|
21
26
|
export type OrderUpdatesSubscription = {
|
|
22
27
|
channel: 'orderUpdates';
|
|
23
28
|
dex: string;
|
|
@@ -38,10 +43,10 @@ export type SpotBalancesSubscription = {
|
|
|
38
43
|
dex: string;
|
|
39
44
|
address: Address;
|
|
40
45
|
};
|
|
41
|
-
export type Subscription =
|
|
42
|
-
export type
|
|
43
|
-
channel: '
|
|
44
|
-
data: Record<string,
|
|
46
|
+
export type Subscription = MarketsContextSubscription | OrderbookSubscription | CandleSubscription | TradesSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
|
|
47
|
+
export type MarketsContextEvent = {
|
|
48
|
+
channel: 'marketsContext';
|
|
49
|
+
data: Record<string, MarketContext>;
|
|
45
50
|
};
|
|
46
51
|
export type OrderbookEvent = {
|
|
47
52
|
channel: 'orderbook';
|
|
@@ -51,6 +56,10 @@ export type CandleEvent = {
|
|
|
51
56
|
channel: 'candle';
|
|
52
57
|
data: Candle;
|
|
53
58
|
};
|
|
59
|
+
export type TradesEvent = {
|
|
60
|
+
channel: 'trades';
|
|
61
|
+
data: Trade[];
|
|
62
|
+
};
|
|
54
63
|
export type OrderUpdatesEvent = {
|
|
55
64
|
channel: 'orderUpdates';
|
|
56
65
|
data: {
|
|
@@ -73,5 +82,5 @@ export type SpotBalancesEvent = {
|
|
|
73
82
|
locked: string;
|
|
74
83
|
})[];
|
|
75
84
|
};
|
|
76
|
-
export type SubscriptionEvent =
|
|
85
|
+
export type SubscriptionEvent = MarketsContextEvent | OrderbookEvent | CandleEvent | TradesEvent | OrderUpdatesEvent | FillsEvent | PositionsEvent | SpotBalancesEvent;
|
|
77
86
|
//# sourceMappingURL=subscriptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACb,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/market.d.ts
CHANGED
|
@@ -55,15 +55,17 @@ export interface MarketsResponse {
|
|
|
55
55
|
markets: Market[];
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
* Live per-market
|
|
59
|
-
*
|
|
60
|
-
*
|
|
58
|
+
* Live per-market context: `midPrice` is the order-book mid, `markPrice` the
|
|
59
|
+
* venue mark, `oraclePrice` the venue oracle/index price where the venue
|
|
60
|
+
* publishes one. `prevDayPrice` and `volume24h` apply to every market type;
|
|
61
|
+
* `openInterest` and `funding` are perp-only and absent for spot.
|
|
61
62
|
* @public
|
|
62
63
|
*/
|
|
63
|
-
export interface
|
|
64
|
+
export interface MarketContext {
|
|
64
65
|
marketId: string;
|
|
65
|
-
|
|
66
|
+
midPrice: string;
|
|
66
67
|
markPrice: string;
|
|
68
|
+
oraclePrice?: string;
|
|
67
69
|
prevDayPrice?: string;
|
|
68
70
|
volume24h?: string;
|
|
69
71
|
openInterest?: string;
|
|
@@ -71,7 +73,7 @@ export interface MarketPrice {
|
|
|
71
73
|
}
|
|
72
74
|
/** @public */
|
|
73
75
|
export interface PricesResponse {
|
|
74
|
-
prices:
|
|
76
|
+
prices: MarketContext[];
|
|
75
77
|
}
|
|
76
78
|
/** @public */
|
|
77
79
|
export interface Candle {
|
|
@@ -104,4 +106,14 @@ export interface OrderbookResponse {
|
|
|
104
106
|
asks: OrderbookLevel[];
|
|
105
107
|
timestamp: number;
|
|
106
108
|
}
|
|
109
|
+
/** @public */
|
|
110
|
+
export interface Trade {
|
|
111
|
+
provider: string;
|
|
112
|
+
marketId: string;
|
|
113
|
+
price: string;
|
|
114
|
+
size: string;
|
|
115
|
+
timestamp: number;
|
|
116
|
+
side: 'buy' | 'sell';
|
|
117
|
+
id?: string;
|
|
118
|
+
}
|
|
107
119
|
//# sourceMappingURL=market.d.ts.map
|
package/dist/esm/market.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,cAAc;AACd,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAA;IACV,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,KAAK,CAAA;IAChB,UAAU,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,cAAc;AACd,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,cAAc;AACd,MAAM,WAAW,UAAW,SAAQ,UAAU;CAAG;AAEjD,cAAc;AACd,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;AAE7C,cAAc;AACd,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,UAAU,EACV,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAChE,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/market.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Balance, Fill, OpenOrder, Position, TriggerOrder } from './account.js';
|
|
2
|
-
import type { Candle, OhlcvInterval, OrderbookResponse } from './market.js';
|
|
2
|
+
import type { Candle, MarketContext, OhlcvInterval, OrderbookResponse, Trade } from './market.js';
|
|
3
3
|
import type { Address } from './primitives.js';
|
|
4
4
|
/** @public */
|
|
5
|
-
export type
|
|
6
|
-
channel: '
|
|
5
|
+
export type MarketsContextSubscription = {
|
|
6
|
+
channel: 'marketsContext';
|
|
7
7
|
dex: string;
|
|
8
8
|
};
|
|
9
9
|
/** @public */
|
|
@@ -28,6 +28,12 @@ export type CandleSubscription = {
|
|
|
28
28
|
interval: OhlcvInterval;
|
|
29
29
|
};
|
|
30
30
|
/** @public */
|
|
31
|
+
export type TradesSubscription = {
|
|
32
|
+
channel: 'trades';
|
|
33
|
+
dex: string;
|
|
34
|
+
marketId: string;
|
|
35
|
+
};
|
|
36
|
+
/** @public */
|
|
31
37
|
export type OrderUpdatesSubscription = {
|
|
32
38
|
channel: 'orderUpdates';
|
|
33
39
|
dex: string;
|
|
@@ -52,11 +58,11 @@ export type SpotBalancesSubscription = {
|
|
|
52
58
|
address: Address;
|
|
53
59
|
};
|
|
54
60
|
/** @public */
|
|
55
|
-
export type Subscription =
|
|
61
|
+
export type Subscription = MarketsContextSubscription | OrderbookSubscription | CandleSubscription | TradesSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
|
|
56
62
|
/** @public */
|
|
57
|
-
export type
|
|
58
|
-
channel: '
|
|
59
|
-
data: Record<string,
|
|
63
|
+
export type MarketsContextEvent = {
|
|
64
|
+
channel: 'marketsContext';
|
|
65
|
+
data: Record<string, MarketContext>;
|
|
60
66
|
};
|
|
61
67
|
/** @public */
|
|
62
68
|
export type OrderbookEvent = {
|
|
@@ -69,6 +75,11 @@ export type CandleEvent = {
|
|
|
69
75
|
data: Candle;
|
|
70
76
|
};
|
|
71
77
|
/** @public */
|
|
78
|
+
export type TradesEvent = {
|
|
79
|
+
channel: 'trades';
|
|
80
|
+
data: Trade[];
|
|
81
|
+
};
|
|
82
|
+
/** @public */
|
|
72
83
|
export type OrderUpdatesEvent = {
|
|
73
84
|
channel: 'orderUpdates';
|
|
74
85
|
data: {
|
|
@@ -111,5 +122,5 @@ export type SpotBalancesEvent = {
|
|
|
111
122
|
})[];
|
|
112
123
|
};
|
|
113
124
|
/** @public */
|
|
114
|
-
export type SubscriptionEvent =
|
|
125
|
+
export type SubscriptionEvent = MarketsContextEvent | OrderbookEvent | CandleEvent | TradesEvent | OrderUpdatesEvent | FillsEvent | PositionsEvent | SpotBalancesEvent;
|
|
115
126
|
//# sourceMappingURL=subscriptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACb,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
package/dist/types/market.d.ts
CHANGED
|
@@ -55,15 +55,17 @@ export interface MarketsResponse {
|
|
|
55
55
|
markets: Market[];
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
* Live per-market
|
|
59
|
-
*
|
|
60
|
-
*
|
|
58
|
+
* Live per-market context: `midPrice` is the order-book mid, `markPrice` the
|
|
59
|
+
* venue mark, `oraclePrice` the venue oracle/index price where the venue
|
|
60
|
+
* publishes one. `prevDayPrice` and `volume24h` apply to every market type;
|
|
61
|
+
* `openInterest` and `funding` are perp-only and absent for spot.
|
|
61
62
|
* @public
|
|
62
63
|
*/
|
|
63
|
-
export interface
|
|
64
|
+
export interface MarketContext {
|
|
64
65
|
marketId: string;
|
|
65
|
-
|
|
66
|
+
midPrice: string;
|
|
66
67
|
markPrice: string;
|
|
68
|
+
oraclePrice?: string;
|
|
67
69
|
prevDayPrice?: string;
|
|
68
70
|
volume24h?: string;
|
|
69
71
|
openInterest?: string;
|
|
@@ -71,7 +73,7 @@ export interface MarketPrice {
|
|
|
71
73
|
}
|
|
72
74
|
/** @public */
|
|
73
75
|
export interface PricesResponse {
|
|
74
|
-
prices:
|
|
76
|
+
prices: MarketContext[];
|
|
75
77
|
}
|
|
76
78
|
/** @public */
|
|
77
79
|
export interface Candle {
|
|
@@ -104,4 +106,14 @@ export interface OrderbookResponse {
|
|
|
104
106
|
asks: OrderbookLevel[];
|
|
105
107
|
timestamp: number;
|
|
106
108
|
}
|
|
109
|
+
/** @public */
|
|
110
|
+
export interface Trade {
|
|
111
|
+
provider: string;
|
|
112
|
+
marketId: string;
|
|
113
|
+
price: string;
|
|
114
|
+
size: string;
|
|
115
|
+
timestamp: number;
|
|
116
|
+
side: 'buy' | 'sell';
|
|
117
|
+
id?: string;
|
|
118
|
+
}
|
|
107
119
|
//# sourceMappingURL=market.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,cAAc;AACd,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,cAAc;AACd,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAA;IACV,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,KAAK,CAAA;IAChB,UAAU,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,cAAc;AACd,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,cAAc;AACd,MAAM,WAAW,UAAW,SAAQ,UAAU;CAAG;AAEjD,cAAc;AACd,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;AAE7C,cAAc;AACd,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,UAAU,EACV,YAAY,GAAG,IAAI,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAChE,CAAA;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,cAAc;AACd,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/market.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Balance, Fill, OpenOrder, Position, TriggerOrder } from './account.js';
|
|
2
|
-
import type { Candle, OhlcvInterval, OrderbookResponse } from './market.js';
|
|
2
|
+
import type { Candle, MarketContext, OhlcvInterval, OrderbookResponse, Trade } from './market.js';
|
|
3
3
|
import type { Address } from './primitives.js';
|
|
4
4
|
/** @public */
|
|
5
|
-
export type
|
|
6
|
-
channel: '
|
|
5
|
+
export type MarketsContextSubscription = {
|
|
6
|
+
channel: 'marketsContext';
|
|
7
7
|
dex: string;
|
|
8
8
|
};
|
|
9
9
|
/** @public */
|
|
@@ -28,6 +28,12 @@ export type CandleSubscription = {
|
|
|
28
28
|
interval: OhlcvInterval;
|
|
29
29
|
};
|
|
30
30
|
/** @public */
|
|
31
|
+
export type TradesSubscription = {
|
|
32
|
+
channel: 'trades';
|
|
33
|
+
dex: string;
|
|
34
|
+
marketId: string;
|
|
35
|
+
};
|
|
36
|
+
/** @public */
|
|
31
37
|
export type OrderUpdatesSubscription = {
|
|
32
38
|
channel: 'orderUpdates';
|
|
33
39
|
dex: string;
|
|
@@ -52,11 +58,11 @@ export type SpotBalancesSubscription = {
|
|
|
52
58
|
address: Address;
|
|
53
59
|
};
|
|
54
60
|
/** @public */
|
|
55
|
-
export type Subscription =
|
|
61
|
+
export type Subscription = MarketsContextSubscription | OrderbookSubscription | CandleSubscription | TradesSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
|
|
56
62
|
/** @public */
|
|
57
|
-
export type
|
|
58
|
-
channel: '
|
|
59
|
-
data: Record<string,
|
|
63
|
+
export type MarketsContextEvent = {
|
|
64
|
+
channel: 'marketsContext';
|
|
65
|
+
data: Record<string, MarketContext>;
|
|
60
66
|
};
|
|
61
67
|
/** @public */
|
|
62
68
|
export type OrderbookEvent = {
|
|
@@ -69,6 +75,11 @@ export type CandleEvent = {
|
|
|
69
75
|
data: Candle;
|
|
70
76
|
};
|
|
71
77
|
/** @public */
|
|
78
|
+
export type TradesEvent = {
|
|
79
|
+
channel: 'trades';
|
|
80
|
+
data: Trade[];
|
|
81
|
+
};
|
|
82
|
+
/** @public */
|
|
72
83
|
export type OrderUpdatesEvent = {
|
|
73
84
|
channel: 'orderUpdates';
|
|
74
85
|
data: {
|
|
@@ -111,5 +122,5 @@ export type SpotBalancesEvent = {
|
|
|
111
122
|
})[];
|
|
112
123
|
};
|
|
113
124
|
/** @public */
|
|
114
|
-
export type SubscriptionEvent =
|
|
125
|
+
export type SubscriptionEvent = MarketsContextEvent | OrderbookEvent | CandleEvent | TradesEvent | OrderUpdatesEvent | FillsEvent | PositionsEvent | SpotBalancesEvent;
|
|
115
126
|
//# sourceMappingURL=subscriptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACb,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-types",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Shared types for the LI.FI perps stack",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lifi",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"url": "https://github.com/lifinance/perps-sdk.git"
|
|
21
21
|
},
|
|
22
22
|
"license": "Apache-2.0",
|
|
23
|
-
"author": "
|
|
23
|
+
"author": "Aaron Boyd <aaron@li.finance>",
|
|
24
24
|
"type": "module",
|
|
25
25
|
"main": "./dist/cjs/index.js",
|
|
26
26
|
"module": "./dist/esm/index.js",
|
package/src/market.ts
CHANGED
|
@@ -66,15 +66,17 @@ export interface MarketsResponse {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
|
-
* Live per-market
|
|
70
|
-
*
|
|
71
|
-
*
|
|
69
|
+
* Live per-market context: `midPrice` is the order-book mid, `markPrice` the
|
|
70
|
+
* venue mark, `oraclePrice` the venue oracle/index price where the venue
|
|
71
|
+
* publishes one. `prevDayPrice` and `volume24h` apply to every market type;
|
|
72
|
+
* `openInterest` and `funding` are perp-only and absent for spot.
|
|
72
73
|
* @public
|
|
73
74
|
*/
|
|
74
|
-
export interface
|
|
75
|
+
export interface MarketContext {
|
|
75
76
|
marketId: string
|
|
76
|
-
|
|
77
|
+
midPrice: string
|
|
77
78
|
markPrice: string
|
|
79
|
+
oraclePrice?: string
|
|
78
80
|
prevDayPrice?: string
|
|
79
81
|
volume24h?: string
|
|
80
82
|
openInterest?: string
|
|
@@ -83,7 +85,7 @@ export interface MarketPrice {
|
|
|
83
85
|
|
|
84
86
|
/** @public */
|
|
85
87
|
export interface PricesResponse {
|
|
86
|
-
prices:
|
|
88
|
+
prices: MarketContext[]
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
/** @public */
|
|
@@ -135,3 +137,14 @@ export interface OrderbookResponse {
|
|
|
135
137
|
asks: OrderbookLevel[]
|
|
136
138
|
timestamp: number
|
|
137
139
|
}
|
|
140
|
+
|
|
141
|
+
/** @public */
|
|
142
|
+
export interface Trade {
|
|
143
|
+
provider: string
|
|
144
|
+
marketId: string
|
|
145
|
+
price: string
|
|
146
|
+
size: string
|
|
147
|
+
timestamp: number
|
|
148
|
+
side: 'buy' | 'sell'
|
|
149
|
+
id?: string
|
|
150
|
+
}
|
package/src/subscriptions.ts
CHANGED
|
@@ -5,11 +5,20 @@ import type {
|
|
|
5
5
|
Position,
|
|
6
6
|
TriggerOrder,
|
|
7
7
|
} from './account.js'
|
|
8
|
-
import type {
|
|
8
|
+
import type {
|
|
9
|
+
Candle,
|
|
10
|
+
MarketContext,
|
|
11
|
+
OhlcvInterval,
|
|
12
|
+
OrderbookResponse,
|
|
13
|
+
Trade,
|
|
14
|
+
} from './market.js'
|
|
9
15
|
import type { Address } from './primitives.js'
|
|
10
16
|
|
|
11
17
|
/** @public */
|
|
12
|
-
export type
|
|
18
|
+
export type MarketsContextSubscription = {
|
|
19
|
+
channel: 'marketsContext'
|
|
20
|
+
dex: string
|
|
21
|
+
}
|
|
13
22
|
/** @public */
|
|
14
23
|
export type OrderbookSubscription = {
|
|
15
24
|
channel: 'orderbook'
|
|
@@ -32,6 +41,12 @@ export type CandleSubscription = {
|
|
|
32
41
|
interval: OhlcvInterval
|
|
33
42
|
}
|
|
34
43
|
/** @public */
|
|
44
|
+
export type TradesSubscription = {
|
|
45
|
+
channel: 'trades'
|
|
46
|
+
dex: string
|
|
47
|
+
marketId: string
|
|
48
|
+
}
|
|
49
|
+
/** @public */
|
|
35
50
|
export type OrderUpdatesSubscription = {
|
|
36
51
|
channel: 'orderUpdates'
|
|
37
52
|
dex: string
|
|
@@ -58,21 +73,27 @@ export type SpotBalancesSubscription = {
|
|
|
58
73
|
|
|
59
74
|
/** @public */
|
|
60
75
|
export type Subscription =
|
|
61
|
-
|
|
|
76
|
+
| MarketsContextSubscription
|
|
62
77
|
| OrderbookSubscription
|
|
63
78
|
| CandleSubscription
|
|
79
|
+
| TradesSubscription
|
|
64
80
|
| OrderUpdatesSubscription
|
|
65
81
|
| FillsSubscription
|
|
66
82
|
| PositionsSubscription
|
|
67
83
|
| SpotBalancesSubscription
|
|
68
84
|
|
|
69
85
|
/** @public */
|
|
70
|
-
export type
|
|
86
|
+
export type MarketsContextEvent = {
|
|
87
|
+
channel: 'marketsContext'
|
|
88
|
+
data: Record<string, MarketContext>
|
|
89
|
+
}
|
|
71
90
|
/** @public */
|
|
72
91
|
export type OrderbookEvent = { channel: 'orderbook'; data: OrderbookResponse }
|
|
73
92
|
/** @public */
|
|
74
93
|
export type CandleEvent = { channel: 'candle'; data: Candle }
|
|
75
94
|
/** @public */
|
|
95
|
+
export type TradesEvent = { channel: 'trades'; data: Trade[] }
|
|
96
|
+
/** @public */
|
|
76
97
|
export type OrderUpdatesEvent = {
|
|
77
98
|
channel: 'orderUpdates'
|
|
78
99
|
data: {
|
|
@@ -109,9 +130,10 @@ export type SpotBalancesEvent = {
|
|
|
109
130
|
|
|
110
131
|
/** @public */
|
|
111
132
|
export type SubscriptionEvent =
|
|
112
|
-
|
|
|
133
|
+
| MarketsContextEvent
|
|
113
134
|
| OrderbookEvent
|
|
114
135
|
| CandleEvent
|
|
136
|
+
| TradesEvent
|
|
115
137
|
| OrderUpdatesEvent
|
|
116
138
|
| FillsEvent
|
|
117
139
|
| PositionsEvent
|