@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.
@@ -28,17 +28,18 @@ export interface MarketRef {
28
28
  export interface MarketsResponse {
29
29
  markets: Market[];
30
30
  }
31
- export interface MarketPrice {
31
+ export interface MarketContext {
32
32
  marketId: string;
33
- price: string;
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: MarketPrice[];
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
@@ -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;AAQD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAGD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAGD,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAGD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAGD,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAA;AAGR,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,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 PricesSubscription = {
5
- channel: 'prices';
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 = PricesSubscription | OrderbookSubscription | CandleSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
42
- export type PricesEvent = {
43
- channel: 'prices';
44
- data: Record<string, 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 = PricesEvent | OrderbookEvent | CandleEvent | OrderUpdatesEvent | FillsEvent | PositionsEvent | SpotBalancesEvent;
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":"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"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -55,15 +55,17 @@ export interface MarketsResponse {
55
55
  markets: Market[];
56
56
  }
57
57
  /**
58
- * Live per-market data for the `/prices` endpoint. `price` is the mid;
59
- * `markPrice`, `prevDayPrice` and `volume24h` apply to every market type,
60
- * while `openInterest` and `funding` are perp-only and absent for spot.
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 MarketPrice {
64
+ export interface MarketContext {
64
65
  marketId: string;
65
- price: string;
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: MarketPrice[];
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;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,cAAc;AACd,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,cAAc;AACd,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,cAAc;AACd,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAA;AAER,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB"}
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 PricesSubscription = {
6
- channel: 'prices';
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 = PricesSubscription | OrderbookSubscription | CandleSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
61
+ export type Subscription = MarketsContextSubscription | OrderbookSubscription | CandleSubscription | TradesSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
56
62
  /** @public */
57
- export type PricesEvent = {
58
- channel: 'prices';
59
- data: Record<string, 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 = PricesEvent | OrderbookEvent | CandleEvent | OrderUpdatesEvent | FillsEvent | PositionsEvent | SpotBalancesEvent;
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":"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"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -55,15 +55,17 @@ export interface MarketsResponse {
55
55
  markets: Market[];
56
56
  }
57
57
  /**
58
- * Live per-market data for the `/prices` endpoint. `price` is the mid;
59
- * `markPrice`, `prevDayPrice` and `volume24h` apply to every market type,
60
- * while `openInterest` and `funding` are perp-only and absent for spot.
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 MarketPrice {
64
+ export interface MarketContext {
64
65
  marketId: string;
65
- price: string;
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: MarketPrice[];
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;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAED,cAAc;AACd,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,cAAc;AACd,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,cAAc;AACd,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAA;AAER,cAAc;AACd,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,cAAc;AACd,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB"}
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 PricesSubscription = {
6
- channel: 'prices';
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 = PricesSubscription | OrderbookSubscription | CandleSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
61
+ export type Subscription = MarketsContextSubscription | OrderbookSubscription | CandleSubscription | TradesSubscription | OrderUpdatesSubscription | FillsSubscription | PositionsSubscription | SpotBalancesSubscription;
56
62
  /** @public */
57
- export type PricesEvent = {
58
- channel: 'prices';
59
- data: Record<string, 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 = PricesEvent | OrderbookEvent | CandleEvent | OrderUpdatesEvent | FillsEvent | PositionsEvent | SpotBalancesEvent;
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":"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"}
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.1",
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": "LI.FI <dev@li.fi>",
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 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.
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 MarketPrice {
75
+ export interface MarketContext {
75
76
  marketId: string
76
- price: string
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: MarketPrice[]
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
+ }
@@ -5,11 +5,20 @@ import type {
5
5
  Position,
6
6
  TriggerOrder,
7
7
  } from './account.js'
8
- import type { Candle, OhlcvInterval, OrderbookResponse } from './market.js'
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 PricesSubscription = { channel: 'prices'; dex: string }
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
- | PricesSubscription
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 PricesEvent = { channel: 'prices'; data: Record<string, string> }
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
- | PricesEvent
133
+ | MarketsContextEvent
113
134
  | OrderbookEvent
114
135
  | CandleEvent
136
+ | TradesEvent
115
137
  | OrderUpdatesEvent
116
138
  | FillsEvent
117
139
  | PositionsEvent