@orderly.network/hooks 0.0.17 → 0.0.19

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/index.d.mts CHANGED
@@ -1,13 +1,12 @@
1
1
  import useSWR, { SWRConfiguration, SWRResponse } from 'swr';
2
2
  export { SWRConfiguration, default as useSWR } from 'swr';
3
3
  import { SWRMutationConfiguration } from 'swr/mutation';
4
- import { Account, AccountState, ConfigStore, OrderlyKeyStore, WalletAdapter, WSMessage } from '@orderly.network/core';
5
- import { SystemStateEnum, ExchangeStatusEnum, OrderSide, OrderEntity, API } from '@orderly.network/types';
6
- export { useEventCallback, useObservable } from 'rxjs-hooks';
4
+ import { Account, AccountState, EventEmitter, ConfigStore, OrderlyKeyStore, WalletAdapter, WSMessage } from '@orderly.network/core';
7
5
  export { default as useConstant } from 'use-constant';
8
6
  import * as react from 'react';
9
7
  import { FC, PropsWithChildren } from 'react';
10
8
  import { WS } from '@orderly.network/net';
9
+ import { OrderSide, OrderEntity, API } from '@orderly.network/types';
11
10
  import * as swr__internal from 'swr/_internal';
12
11
  import * as swr_subscription from 'swr/subscription';
13
12
 
@@ -54,10 +53,9 @@ declare const useAccount: () => {
54
53
  connect: () => Promise<any>;
55
54
  };
56
55
 
57
- declare const useAppState: () => {
58
- systemState: SystemStateEnum;
59
- exchangeState: ExchangeStatusEnum;
60
- };
56
+ declare const useAppState: () => {};
57
+
58
+ declare const useEventEmitter: (channel?: string) => EventEmitter<string | symbol, any>;
61
59
 
62
60
  declare const DataSourceProvider: FC<PropsWithChildren>;
63
61
 
@@ -104,10 +102,12 @@ declare const useOrderbookStream: (symbol: string, initial?: OrderbookData, opti
104
102
  onDepthChange?: undefined;
105
103
  depth?: undefined;
106
104
  isLoading?: undefined;
105
+ onItemClick?: undefined;
107
106
  } | {
108
107
  onDepthChange: (depth: number) => void;
109
108
  depth: number;
110
109
  isLoading: boolean;
110
+ onItemClick: (item: OrderBookItem) => void;
111
111
  })[];
112
112
 
113
113
  interface OrderEntryReturn {
@@ -158,6 +158,10 @@ declare const useMarkPricesStream: () => swr_subscription.SWRSubscriptionRespons
158
158
 
159
159
  declare const useMarkPrice: (symbol: string) => swr_subscription.SWRSubscriptionResponse<any, any>;
160
160
 
161
+ declare const useLeverage: () => ({
162
+ update: (data: any) => any;
163
+ } | undefined)[];
164
+
161
165
  declare const useTickerStream: (symbol: string) => any;
162
166
 
163
167
  declare const useFundingRate$1: (symbol: string) => {
@@ -189,11 +193,13 @@ declare const useOrderStream: ({ status, symbol, }?: {
189
193
  cancelOrder: (orderId: string, symbol?: string) => any;
190
194
  } | null)[];
191
195
 
192
- declare const useTradeStream: (symbol: string) => {
196
+ declare const useMarketTradeStream: (symbol: string) => {
193
197
  data: API.Trade[] | undefined;
194
198
  isLoading: boolean;
195
199
  };
196
200
 
201
+ declare const useTradeStream: () => unknown[];
202
+
197
203
  type CollateralOutputs = {
198
204
  totalCollateral: number;
199
205
  freeCollateral: number;
@@ -218,6 +224,12 @@ type inputOptions = {
218
224
  };
219
225
  declare const useChains: (networkId?: "testnet" | "mainnet", options?: inputOptions) => any[];
220
226
 
227
+ declare const useBalance: () => any;
228
+
229
+ declare const usePrivateDataObserver: () => void;
230
+
231
+ declare const useExecutionReport: () => any;
232
+
221
233
  interface Info {
222
234
  symbol: string;
223
235
  quote_min: number;
@@ -283,4 +295,4 @@ declare namespace index {
283
295
  };
284
296
  }
285
297
 
286
- export { DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAppState, useChains, useCollateral, useFetures, useFundingRate$1 as useFundingRate, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS };
298
+ export { DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAppState, useBalance, useChains, useCollateral, useEventEmitter, useExecutionReport, useFetures, useFundingRate$1 as useFundingRate, useLeverage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateDataObserver, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,12 @@
1
1
  import useSWR, { SWRConfiguration, SWRResponse } from 'swr';
2
2
  export { SWRConfiguration, default as useSWR } from 'swr';
3
3
  import { SWRMutationConfiguration } from 'swr/mutation';
4
- import { Account, AccountState, ConfigStore, OrderlyKeyStore, WalletAdapter, WSMessage } from '@orderly.network/core';
5
- import { SystemStateEnum, ExchangeStatusEnum, OrderSide, OrderEntity, API } from '@orderly.network/types';
6
- export { useEventCallback, useObservable } from 'rxjs-hooks';
4
+ import { Account, AccountState, EventEmitter, ConfigStore, OrderlyKeyStore, WalletAdapter, WSMessage } from '@orderly.network/core';
7
5
  export { default as useConstant } from 'use-constant';
8
6
  import * as react from 'react';
9
7
  import { FC, PropsWithChildren } from 'react';
10
8
  import { WS } from '@orderly.network/net';
9
+ import { OrderSide, OrderEntity, API } from '@orderly.network/types';
11
10
  import * as swr__internal from 'swr/_internal';
12
11
  import * as swr_subscription from 'swr/subscription';
13
12
 
@@ -54,10 +53,9 @@ declare const useAccount: () => {
54
53
  connect: () => Promise<any>;
55
54
  };
56
55
 
57
- declare const useAppState: () => {
58
- systemState: SystemStateEnum;
59
- exchangeState: ExchangeStatusEnum;
60
- };
56
+ declare const useAppState: () => {};
57
+
58
+ declare const useEventEmitter: (channel?: string) => EventEmitter<string | symbol, any>;
61
59
 
62
60
  declare const DataSourceProvider: FC<PropsWithChildren>;
63
61
 
@@ -104,10 +102,12 @@ declare const useOrderbookStream: (symbol: string, initial?: OrderbookData, opti
104
102
  onDepthChange?: undefined;
105
103
  depth?: undefined;
106
104
  isLoading?: undefined;
105
+ onItemClick?: undefined;
107
106
  } | {
108
107
  onDepthChange: (depth: number) => void;
109
108
  depth: number;
110
109
  isLoading: boolean;
110
+ onItemClick: (item: OrderBookItem) => void;
111
111
  })[];
112
112
 
113
113
  interface OrderEntryReturn {
@@ -158,6 +158,10 @@ declare const useMarkPricesStream: () => swr_subscription.SWRSubscriptionRespons
158
158
 
159
159
  declare const useMarkPrice: (symbol: string) => swr_subscription.SWRSubscriptionResponse<any, any>;
160
160
 
161
+ declare const useLeverage: () => ({
162
+ update: (data: any) => any;
163
+ } | undefined)[];
164
+
161
165
  declare const useTickerStream: (symbol: string) => any;
162
166
 
163
167
  declare const useFundingRate$1: (symbol: string) => {
@@ -189,11 +193,13 @@ declare const useOrderStream: ({ status, symbol, }?: {
189
193
  cancelOrder: (orderId: string, symbol?: string) => any;
190
194
  } | null)[];
191
195
 
192
- declare const useTradeStream: (symbol: string) => {
196
+ declare const useMarketTradeStream: (symbol: string) => {
193
197
  data: API.Trade[] | undefined;
194
198
  isLoading: boolean;
195
199
  };
196
200
 
201
+ declare const useTradeStream: () => unknown[];
202
+
197
203
  type CollateralOutputs = {
198
204
  totalCollateral: number;
199
205
  freeCollateral: number;
@@ -218,6 +224,12 @@ type inputOptions = {
218
224
  };
219
225
  declare const useChains: (networkId?: "testnet" | "mainnet", options?: inputOptions) => any[];
220
226
 
227
+ declare const useBalance: () => any;
228
+
229
+ declare const usePrivateDataObserver: () => void;
230
+
231
+ declare const useExecutionReport: () => any;
232
+
221
233
  interface Info {
222
234
  symbol: string;
223
235
  quote_min: number;
@@ -283,4 +295,4 @@ declare namespace index {
283
295
  };
284
296
  }
285
297
 
286
- export { DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAppState, useChains, useCollateral, useFetures, useFundingRate$1 as useFundingRate, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS };
298
+ export { DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAppState, useBalance, useChains, useCollateral, useEventEmitter, useExecutionReport, useFetures, useFundingRate$1 as useFundingRate, useLeverage, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketTradeStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateDataObserver, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS };
package/dist/index.js CHANGED
@@ -8,11 +8,9 @@ var useConstant = require('use-constant');
8
8
  var core = require('@orderly.network/core');
9
9
  var types = require('@orderly.network/types');
10
10
  var rxjs = require('rxjs');
11
- var operators = require('rxjs/operators');
12
- var rxjsHooks = require('rxjs-hooks');
13
- var ramda = require('ramda');
14
11
  var useSWRSubscription = require('swr/subscription');
15
12
  var utils = require('@orderly.network/utils');
13
+ var ramda = require('ramda');
16
14
  var futures = require('@orderly.network/futures');
17
15
  var useSWRInfinite = require('swr/infinite');
18
16
 
@@ -33,26 +31,26 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
33
31
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
34
32
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
35
33
  var __spreadValues = (a, b) => {
36
- for (var prop in b || (b = {}))
37
- if (__hasOwnProp.call(b, prop))
38
- __defNormalProp(a, prop, b[prop]);
34
+ for (var prop2 in b || (b = {}))
35
+ if (__hasOwnProp.call(b, prop2))
36
+ __defNormalProp(a, prop2, b[prop2]);
39
37
  if (__getOwnPropSymbols)
40
- for (var prop of __getOwnPropSymbols(b)) {
41
- if (__propIsEnum.call(b, prop))
42
- __defNormalProp(a, prop, b[prop]);
38
+ for (var prop2 of __getOwnPropSymbols(b)) {
39
+ if (__propIsEnum.call(b, prop2))
40
+ __defNormalProp(a, prop2, b[prop2]);
43
41
  }
44
42
  return a;
45
43
  };
46
44
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
47
45
  var __objRest = (source, exclude) => {
48
46
  var target = {};
49
- for (var prop in source)
50
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
51
- target[prop] = source[prop];
47
+ for (var prop2 in source)
48
+ if (__hasOwnProp.call(source, prop2) && exclude.indexOf(prop2) < 0)
49
+ target[prop2] = source[prop2];
52
50
  if (source != null && __getOwnPropSymbols)
53
- for (var prop of __getOwnPropSymbols(source)) {
54
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
55
- target[prop] = source[prop];
51
+ for (var prop2 of __getOwnPropSymbols(source)) {
52
+ if (exclude.indexOf(prop2) < 0 && __propIsEnum.call(source, prop2))
53
+ target[prop2] = source[prop2];
56
54
  }
57
55
  return target;
58
56
  };
@@ -259,9 +257,9 @@ var useAccount = () => {
259
257
  const connect = React.useCallback(() => __async(void 0, null, function* () {
260
258
  return onWalletConnect == null ? void 0 : onWalletConnect();
261
259
  }), [account4]);
262
- const disconnect = React.useCallback(() => __async(void 0, null, function* () {
260
+ const disconnect = () => __async(void 0, null, function* () {
263
261
  return onWalletDisconnect == null ? void 0 : onWalletDisconnect();
264
- }), [account4]);
262
+ });
265
263
  return {
266
264
  // account: state!,
267
265
  account: account4,
@@ -345,21 +343,18 @@ function getAppState() {
345
343
 
346
344
  // src/useAppState.ts
347
345
  var useAppState = () => {
348
- const appState = getAppState();
349
- return rxjsHooks.useObservable(
350
- () => rxjs.merge(appState.exchangeState$, appState.systemState$).pipe(
351
- operators.map((data) => {
352
- return {
353
- systemState: types.SystemStateEnum.Ready,
354
- exchangeState: types.ExchangeStatusEnum.Normal
355
- };
356
- })
357
- ),
358
- {
359
- systemState: appState.systemState$.value,
360
- exchangeState: appState.exchangeState$.value
346
+ getAppState();
347
+ return {};
348
+ };
349
+ var useEventEmitter = (channel) => {
350
+ return useConstant__default.default(() => {
351
+ let ee = core.SimpleDI.get("EE");
352
+ if (!ee) {
353
+ ee = new core.EventEmitter();
354
+ core.SimpleDI.registerByName("EE", ee);
361
355
  }
362
- );
356
+ return ee;
357
+ });
363
358
  };
364
359
  var DataSourceContext = React.createContext({});
365
360
  var DataSourceProvider = (props) => {
@@ -389,6 +384,11 @@ var useWS = () => {
389
384
  return __spreadProps(__spreadValues({}, result), { timestamp });
390
385
  })
391
386
  });
387
+ account4.on("change:status", (nextState) => {
388
+ if (nextState.status === types.AccountStatusEnum.EnableTrading && nextState.accountId) {
389
+ websocketClient.openPrivate(nextState.accountId);
390
+ }
391
+ });
392
392
  core.SimpleDI.registerByName(WS_NAME, websocketClient);
393
393
  }
394
394
  return websocketClient;
@@ -468,8 +468,6 @@ var useMarkPrice = (symbol) => {
468
468
  };
469
469
 
470
470
  // src/orderly/useOrderbookStream.ts
471
- ramda.compose(ramda.defaultTo(0), ramda.head, ramda.last, ramda.pathOr([], ["asks"]));
472
- ramda.pathOr(0, ["bids", 0, 0]);
473
471
  var paddingFn = (len) => Array(len).fill([Number.NaN, Number.NaN, Number.NaN]);
474
472
  var asksSortFn = (a, b) => a[0] - b[0];
475
473
  var bidsSortFn = (a, b) => b[0] - a[0];
@@ -546,6 +544,7 @@ var useOrderbookStream = (symbol, initial = { asks: [], bids: [] }, options) =>
546
544
  });
547
545
  const ws = useWS();
548
546
  const ticker = useTickerStream(symbol);
547
+ const eventEmitter = useEventEmitter();
549
548
  React.useEffect(() => {
550
549
  ws.onceSubscribe(
551
550
  {
@@ -594,6 +593,9 @@ var useOrderbookStream = (symbol, initial = { asks: [], bids: [] }, options) =>
594
593
  subscription == null ? void 0 : subscription();
595
594
  };
596
595
  }, [symbol, requestData]);
596
+ const onItemClick = React.useCallback((item) => {
597
+ eventEmitter.emit("orderbook:item:click", item);
598
+ }, []);
597
599
  const onDepthChange = React.useCallback((depth2) => {
598
600
  console.log("Orderbook depth has changed:", depth2);
599
601
  }, []);
@@ -611,7 +613,7 @@ var useOrderbookStream = (symbol, initial = { asks: [], bids: [] }, options) =>
611
613
  }, [ticker, data]);
612
614
  return [
613
615
  __spreadProps(__spreadValues({}, data), { markPrice, middlePrice }),
614
- { onDepthChange, depth, isLoading }
616
+ { onDepthChange, depth, isLoading, onItemClick }
615
617
  ];
616
618
  };
617
619
 
@@ -723,7 +725,6 @@ function priceInputHandle(inputs) {
723
725
  }
724
726
  const price = new utils.Decimal(value);
725
727
  const priceDP = price.dp();
726
- console.log("priceInputHandle", priceDP, config.quoteDP);
727
728
  if (priceDP > config.quoteDP) {
728
729
  values.order_price = price.toDecimalPlaces(config.quoteDP).toString();
729
730
  }
@@ -874,7 +875,11 @@ var usePositionStream = (symbol, options) => {
874
875
  const symbolInfo = useSymbolsInfo();
875
876
  const { data: accountInfo } = usePrivateQuery("/v1/client/info");
876
877
  const fundingRates = useFundingRates();
877
- const { data, error } = usePrivateQuery(`/v1/positions`, __spreadProps(__spreadValues({}, options), {
878
+ const { data, error } = usePrivateQuery(`/v1/positions`, __spreadProps(__spreadValues({
879
+ // revalidateOnFocus: false,
880
+ // revalidateOnReconnect: false,
881
+ dedupingInterval: 5e3
882
+ }, options), {
878
883
  formatter: (data2) => data2,
879
884
  onError: (err) => {
880
885
  console.log("usePositionStream error", err);
@@ -1133,7 +1138,7 @@ var BaseOrderCreator = class {
1133
1138
  // symbol: data.symbol,
1134
1139
  order_type: data.order_type === types.OrderType.LIMIT ? !!data.order_type_ext ? data.order_type_ext : data.order_type : data.order_type,
1135
1140
  side: data.side,
1136
- // reduce_only: data.reduce_only,
1141
+ reduce_only: data.reduce_only,
1137
1142
  order_quantity: data.order_quantity
1138
1143
  };
1139
1144
  if (data.visible_quantity === 0) {
@@ -1151,32 +1156,40 @@ var BaseOrderCreator = class {
1151
1156
  message: "quantity is required"
1152
1157
  };
1153
1158
  } else {
1154
- const { base_max, base_min } = configs.symbol;
1159
+ const { base_min, quote_dp, base_dp } = configs.symbol;
1155
1160
  const qty = new utils.Decimal(order_quantity);
1156
1161
  if (qty.lt(base_min)) {
1157
1162
  errors.order_quantity = {
1158
1163
  type: "min",
1159
- message: `quantity must be greater than ${base_min}`
1164
+ message: `quantity must be greater than ${new utils.Decimal(base_min).todp(
1165
+ base_dp
1166
+ )}`
1160
1167
  };
1161
1168
  } else if (qty.gt(maxQty)) {
1162
1169
  errors.order_quantity = {
1163
1170
  type: "max",
1164
- message: `quantity must be less than ${maxQty}`
1171
+ message: `quantity must be less than ${new utils.Decimal(maxQty).todp(
1172
+ base_dp
1173
+ )}`
1165
1174
  };
1166
1175
  }
1167
1176
  }
1168
1177
  if (!!total) {
1169
- const { quote_max, quote_min } = configs.symbol;
1178
+ const { quote_max, quote_min, quote_dp } = configs.symbol;
1170
1179
  const totalNumber = new utils.Decimal(total);
1171
1180
  if (totalNumber.lt(quote_min)) {
1172
1181
  errors.total = {
1173
1182
  type: "min",
1174
- message: `Quantity should be greater or equal than ${quote_min}`
1183
+ message: `Quantity should be greater or equal than ${new utils.Decimal(
1184
+ quote_min
1185
+ ).todp(quote_dp)}`
1175
1186
  };
1176
1187
  } else if (totalNumber.gt(quote_max)) {
1177
1188
  errors.total = {
1178
1189
  type: "max",
1179
- message: `Quantity should be less or equal than ${quote_max}`
1190
+ message: `Quantity should be less or equal than ${new utils.Decimal(
1191
+ quote_max
1192
+ ).todp(quote_dp)}`
1180
1193
  };
1181
1194
  }
1182
1195
  }
@@ -1437,6 +1450,16 @@ var useMarketsStream = () => {
1437
1450
  }, [futures, tickers]);
1438
1451
  return { data: value };
1439
1452
  };
1453
+ var useLeverage = () => {
1454
+ const { data, mutate: mutate2 } = usePrivateQuery("/v1/client/info");
1455
+ const [update] = useMutation("/v1/client/leverage");
1456
+ const updateLeverage = React.useCallback((data2) => {
1457
+ return update(data2).then((res) => {
1458
+ return mutate2();
1459
+ });
1460
+ }, []);
1461
+ return [ramda.prop("max_leverage", data), { update: updateLeverage }];
1462
+ };
1440
1463
  var useFundingRate = (symbol) => {
1441
1464
  if (!symbol) {
1442
1465
  throw new Error("useFuturesForSymbol requires a symbol");
@@ -1557,12 +1580,6 @@ var useOrderStream = ({
1557
1580
  }, []);
1558
1581
  return [
1559
1582
  orders,
1560
- // {
1561
- // ...res,
1562
- // data: res.data?.reduce((acc, cur) => {
1563
- // return [...acc, ...cur];
1564
- // }, []),
1565
- // },
1566
1583
  {
1567
1584
  cancelAllOrders,
1568
1585
  updateOrder,
@@ -1571,8 +1588,8 @@ var useOrderStream = ({
1571
1588
  ];
1572
1589
  };
1573
1590
 
1574
- // src/orderly/useTradeStream.ts
1575
- var useTradeStream = (symbol) => {
1591
+ // src/orderly/useMarketTradeStream.ts
1592
+ var useMarketTradeStream = (symbol) => {
1576
1593
  if (!symbol) {
1577
1594
  throw new Error("useTradeStream: symbol is required");
1578
1595
  }
@@ -1581,6 +1598,12 @@ var useTradeStream = (symbol) => {
1581
1598
  );
1582
1599
  return { data, isLoading };
1583
1600
  };
1601
+
1602
+ // src/orderly/useTrades.tsx
1603
+ var useTradeStream = () => {
1604
+ const { data, isLoading } = usePrivateQuery("/v1/trades");
1605
+ return [data, { isLoading }];
1606
+ };
1584
1607
  var useMarginRatio = () => {
1585
1608
  const [{ rows }] = usePositionStream();
1586
1609
  const { data: markPrices } = useMarkPricesStream();
@@ -1641,6 +1664,58 @@ var useChains = (networkId, options) => {
1641
1664
  );
1642
1665
  return [chains, { findByChainId }];
1643
1666
  };
1667
+ var useBalance = () => {
1668
+ const ws = useWS();
1669
+ const { data } = useSWRSubscription__default.default("balance", (_, { next }) => {
1670
+ const unsubscribe = ws.privateSubscribe("balance", {
1671
+ onMessage: (data2) => {
1672
+ console.log(data2);
1673
+ }
1674
+ });
1675
+ return () => unsubscribe();
1676
+ });
1677
+ return data;
1678
+ };
1679
+ var usePrivateDataObserver = () => {
1680
+ const ws = useWS();
1681
+ const { mutate: mutate2 } = useSWR.useSWRConfig();
1682
+ React.useEffect(() => {
1683
+ console.log("subscribe: executionreport");
1684
+ const unsubscribe = ws.privateSubscribe("executionreport", {
1685
+ onMessage: (data) => {
1686
+ console.info("refresh orders");
1687
+ mutate2("/v1/orders");
1688
+ }
1689
+ });
1690
+ return () => unsubscribe == null ? void 0 : unsubscribe();
1691
+ }, []);
1692
+ React.useEffect(() => {
1693
+ console.log("subscribe: position");
1694
+ const unsubscribe = ws.privateSubscribe("position", {
1695
+ onMessage: (data) => {
1696
+ const { positions: nextPostions } = data;
1697
+ console.info("refresh positions", nextPostions);
1698
+ mutate2("/v1/positions");
1699
+ }
1700
+ });
1701
+ return () => {
1702
+ console.log("unsubscribe: private subscription position");
1703
+ unsubscribe == null ? void 0 : unsubscribe();
1704
+ };
1705
+ }, []);
1706
+ };
1707
+ var useExecutionReport = () => {
1708
+ const ws = useWS();
1709
+ const { data } = useSWRSubscription__default.default("executionreport", (_, { next }) => {
1710
+ const unsubscribe = ws.privateSubscribe("executionreport", {
1711
+ onMessage: (data2) => {
1712
+ console.log(data2);
1713
+ }
1714
+ });
1715
+ return () => unsubscribe();
1716
+ });
1717
+ return data;
1718
+ };
1644
1719
 
1645
1720
  // src/apis/index.ts
1646
1721
  var apis_exports = {};
@@ -1684,14 +1759,6 @@ Object.defineProperty(exports, 'useConstant', {
1684
1759
  enumerable: true,
1685
1760
  get: function () { return useConstant__default.default; }
1686
1761
  });
1687
- Object.defineProperty(exports, 'useEventCallback', {
1688
- enumerable: true,
1689
- get: function () { return rxjsHooks.useEventCallback; }
1690
- });
1691
- Object.defineProperty(exports, 'useObservable', {
1692
- enumerable: true,
1693
- get: function () { return rxjsHooks.useObservable; }
1694
- });
1695
1762
  exports.DataSourceProvider = DataSourceProvider;
1696
1763
  exports.OrderStatus = OrderStatus;
1697
1764
  exports.OrderlyContext = OrderlyContext;
@@ -1700,13 +1767,18 @@ exports.apis = apis_exports;
1700
1767
  exports.useAccount = useAccount;
1701
1768
  exports.useAccountInfo = useAccountInfo;
1702
1769
  exports.useAppState = useAppState;
1770
+ exports.useBalance = useBalance;
1703
1771
  exports.useChains = useChains;
1704
1772
  exports.useCollateral = useCollateral;
1773
+ exports.useEventEmitter = useEventEmitter;
1774
+ exports.useExecutionReport = useExecutionReport;
1705
1775
  exports.useFetures = useFetures;
1706
1776
  exports.useFundingRate = useFundingRate;
1777
+ exports.useLeverage = useLeverage;
1707
1778
  exports.useMarginRatio = useMarginRatio;
1708
1779
  exports.useMarkPrice = useMarkPrice;
1709
1780
  exports.useMarkPricesStream = useMarkPricesStream;
1781
+ exports.useMarketTradeStream = useMarketTradeStream;
1710
1782
  exports.useMarketsStream = useMarketsStream;
1711
1783
  exports.useMaxQty = useMaxQty;
1712
1784
  exports.useMutation = useMutation;
@@ -1714,6 +1786,7 @@ exports.useOrderEntry = useOrderEntry;
1714
1786
  exports.useOrderStream = useOrderStream;
1715
1787
  exports.useOrderbookStream = useOrderbookStream;
1716
1788
  exports.usePositionStream = usePositionStream;
1789
+ exports.usePrivateDataObserver = usePrivateDataObserver;
1717
1790
  exports.usePrivateObserve = usePrivateObserve;
1718
1791
  exports.usePrivateQuery = usePrivateQuery;
1719
1792
  exports.useQuery = useQuery;