@orderly.network/hooks 0.0.14 → 0.0.15

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.mjs CHANGED
@@ -1,16 +1,16 @@
1
- import React, { createContext, useContext, useCallback, useState, useEffect, useMemo } from 'react';
1
+ import React, { createContext, useContext, useState, useEffect, useCallback, useMemo } from 'react';
2
2
  import useSWR, { useSWRConfig } from 'swr';
3
3
  export { default as useSWR } from 'swr';
4
- import { WebSocketClient, WS, get, mutate } from '@orderly.network/net';
4
+ import { WS, get, mutate, WebSocketClient } from '@orderly.network/net';
5
5
  import useSWRMutation from 'swr/mutation';
6
6
  import useConstant from 'use-constant';
7
7
  export { default as useConstant } from 'use-constant';
8
8
  import { SimpleDI, Account, getMockSigner } from '@orderly.network/core';
9
- import { useObservable } from 'rxjs-hooks';
10
- export { useEventCallback, useObservable } from 'rxjs-hooks';
11
9
  import { AccountStatusEnum, SystemStateEnum, ExchangeStatusEnum, OrderSide, OrderType } from '@orderly.network/types';
12
10
  import { BehaviorSubject, merge } from 'rxjs';
13
11
  import { map } from 'rxjs/operators';
12
+ import { useObservable } from 'rxjs-hooks';
13
+ export { useEventCallback, useObservable } from 'rxjs-hooks';
14
14
  import { compose, defaultTo, head, last, pathOr, propOr } from 'ramda';
15
15
  import useSWRSubscription from 'swr/subscription';
16
16
  import { Decimal, zero, getPrecisionByNumber, timeConvertString } from '@orderly.network/utils';
@@ -223,10 +223,16 @@ var useAccount = () => {
223
223
  }
224
224
  return account5;
225
225
  });
226
- const state = useObservable(
227
- () => account4.state$,
228
- account4.stateValue
229
- );
226
+ const [state, setState] = useState(account4.stateValue);
227
+ const statusChangeHandler = (nextState) => {
228
+ setState(() => nextState);
229
+ };
230
+ useEffect(() => {
231
+ account4.on("change:status", statusChangeHandler);
232
+ return () => {
233
+ account4.off("change:status", statusChangeHandler);
234
+ };
235
+ }, []);
230
236
  const login = useCallback(
231
237
  (address) => {
232
238
  account4.login(address);
@@ -347,27 +353,6 @@ var useAppState = () => {
347
353
  }
348
354
  );
349
355
  };
350
- var WS_NAME = "websocketClient";
351
- var useWebSocketClient = () => {
352
- const ws = useConstant(() => {
353
- let websocketClient = SimpleDI.get(WS_NAME);
354
- if (!websocketClient) {
355
- websocketClient = new WebSocketClient({
356
- accountId: "OqdphuyCtYWxwzhxyLLjOWNdFP7sQt8RPWzmb5xY",
357
- networkId: "testnet",
358
- onSigntureRequest: (accountId) => __async(void 0, null, function* () {
359
- const signer = getMockSigner();
360
- const timestamp = (/* @__PURE__ */ new Date()).getTime();
361
- const result = yield signer.signText(timestamp.toString());
362
- return __spreadProps(__spreadValues({}, result), { timestamp });
363
- })
364
- });
365
- SimpleDI.registerByName(WS_NAME, websocketClient);
366
- }
367
- return websocketClient;
368
- });
369
- return ws;
370
- };
371
356
  var DataSourceContext = createContext({});
372
357
  var DataSourceProvider = (props) => {
373
358
  console.log("render DataSourceProvider");
@@ -376,15 +361,19 @@ var DataSourceProvider = (props) => {
376
361
  });
377
362
  return /* @__PURE__ */ React.createElement(DataSourceContext.Provider, { value: {} }, props.children);
378
363
  };
379
- var WS_NAME2 = "nativeWebsocketClient";
364
+ var WS_NAME = "nativeWebsocketClient";
380
365
  var useWS = () => {
366
+ useAccount();
367
+ const { configStore } = useContext(OrderlyContext);
381
368
  const ws = useConstant(() => {
382
- let websocketClient = SimpleDI.get(WS_NAME2);
369
+ let websocketClient = SimpleDI.get(WS_NAME);
383
370
  const account4 = SimpleDI.get(Account.instanceName);
384
371
  if (!websocketClient) {
385
372
  websocketClient = new WS({
386
373
  // accountId: "OqdphuyCtYWxwzhxyLLjOWNdFP7sQt8RPWzmb5xY",
387
374
  networkId: "testnet",
375
+ publicUrl: configStore.get("publicWsUrl"),
376
+ privateUrl: configStore.get("privateWsUrl"),
388
377
  onSigntureRequest: (accountId) => __async(void 0, null, function* () {
389
378
  const signer = account4.signer;
390
379
  const timestamp = (/* @__PURE__ */ new Date()).getTime();
@@ -392,7 +381,7 @@ var useWS = () => {
392
381
  return __spreadProps(__spreadValues({}, result), { timestamp });
393
382
  })
394
383
  });
395
- SimpleDI.registerByName(WS_NAME2, websocketClient);
384
+ SimpleDI.registerByName(WS_NAME, websocketClient);
396
385
  }
397
386
  return websocketClient;
398
387
  });
@@ -641,8 +630,6 @@ function createGetter(data, depth = 2) {
641
630
  }
642
631
  });
643
632
  }
644
-
645
- // src/orderly/useSymbolsInfo.ts
646
633
  var useSymbolsInfo = () => {
647
634
  const { data = {} } = useQuery(`/v1/public/info`, {
648
635
  focusThrottleInterval: 1e3 * 60 * 60 * 24,
@@ -656,7 +643,11 @@ var useSymbolsInfo = () => {
656
643
  for (let index = 0; index < data2.rows.length; index++) {
657
644
  const item = data2.rows[index];
658
645
  const arr = item.symbol.split("_");
646
+ const base_dp = getPrecisionByNumber(item.base_tick);
647
+ const quote_dp = getPrecisionByNumber(item.quote_tick);
659
648
  obj[item.symbol] = __spreadProps(__spreadValues({}, item), {
649
+ base_dp,
650
+ quote_dp,
660
651
  base: arr[1],
661
652
  quote: arr[2],
662
653
  type: arr[0],
@@ -1353,6 +1344,29 @@ var useOrderEntry = (symbol, side, reduceOnly = false, options) => {
1353
1344
  symbolConfig: symbolInfo[symbol]()
1354
1345
  };
1355
1346
  };
1347
+ var WS_NAME2 = "websocketClient";
1348
+ var useWebSocketClient = () => {
1349
+ const ws = useConstant(() => {
1350
+ let websocketClient = SimpleDI.get(WS_NAME2);
1351
+ if (!websocketClient) {
1352
+ websocketClient = new WebSocketClient({
1353
+ accountId: "OqdphuyCtYWxwzhxyLLjOWNdFP7sQt8RPWzmb5xY",
1354
+ networkId: "testnet",
1355
+ onSigntureRequest: (accountId) => __async(void 0, null, function* () {
1356
+ const signer = getMockSigner();
1357
+ const timestamp = (/* @__PURE__ */ new Date()).getTime();
1358
+ const result = yield signer.signText(timestamp.toString());
1359
+ return __spreadProps(__spreadValues({}, result), { timestamp });
1360
+ })
1361
+ });
1362
+ SimpleDI.registerByName(WS_NAME2, websocketClient);
1363
+ }
1364
+ return websocketClient;
1365
+ });
1366
+ return ws;
1367
+ };
1368
+
1369
+ // src/orderly/useFetures.ts
1356
1370
  var useFetures = () => {
1357
1371
  const { data, isLoading, error } = useQuery(
1358
1372
  `/v1/public/futures`,
@@ -1683,6 +1697,6 @@ var useFundingRate2 = (symbol) => {
1683
1697
  return useQuery(`/v1/public/funding_rate`);
1684
1698
  };
1685
1699
 
1686
- export { DataSourceProvider, OrderStatus, OrderlyContext, OrderlyProvider, apis_exports as apis, useAccount, useAccountInfo, useAppState, useChains, useCollateral, useFetures, useFundingRate, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS, useWebSocketClient };
1700
+ export { DataSourceProvider, OrderStatus, OrderlyContext, OrderlyProvider, apis_exports as apis, useAccount, useAccountInfo, useAppState, useChains, useCollateral, useFetures, useFundingRate, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS };
1687
1701
  //# sourceMappingURL=out.js.map
1688
1702
  //# sourceMappingURL=index.mjs.map