@orderly.network/hooks 2.0.1-alpha.2 → 2.0.1-alpha.4

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
@@ -27,7 +27,7 @@ declare global {
27
27
  };
28
28
  }
29
29
  }
30
- declare const _default: "2.0.1-alpha.2";
30
+ declare const _default: "2.0.1-alpha.4";
31
31
 
32
32
  type useQueryOptions<T> = SWRConfiguration & {
33
33
  formatter?: (data: any) => T;
@@ -1370,6 +1370,8 @@ type WalletRewardsItem = {
1370
1370
  type WalletRewards = {
1371
1371
  wallet_lifetime_trading_rewards_order: string;
1372
1372
  wallet_lifetime_trading_rewards_escrow: string;
1373
+ wallet_pending_trading_rewards_order: string;
1374
+ wallet_pending_trading_rewards_escrow: string;
1373
1375
  rows: WalletRewardsItem[];
1374
1376
  };
1375
1377
  type WalletRewardsHistoryReturns = [
@@ -1513,7 +1515,11 @@ type Options = Omit<OrderEntryParameters["1"], "symbolInfo">;
1513
1515
  type OrderEntryReturn = {
1514
1516
  submit: (options?: {
1515
1517
  resetOnSuccess?: boolean;
1516
- }) => Promise<void>;
1518
+ }) => Promise<{
1519
+ success: boolean;
1520
+ data: Record<string, any>;
1521
+ timestamp: number;
1522
+ }>;
1517
1523
  reset: () => void;
1518
1524
  resetErrors: () => void;
1519
1525
  resetMetaState: () => void;
@@ -1613,7 +1619,7 @@ type OrderEntryReturn = {
1613
1619
  * await submit();
1614
1620
  * ```
1615
1621
  */
1616
- declare const useOrderEntry: (symbol: string, options: Options) => OrderEntryReturn;
1622
+ declare const useOrderEntry: (symbol: string, options?: Options) => OrderEntryReturn;
1617
1623
 
1618
1624
  declare const useOrderEntity: (order: {
1619
1625
  [key: string]: any;
package/dist/index.d.ts CHANGED
@@ -27,7 +27,7 @@ declare global {
27
27
  };
28
28
  }
29
29
  }
30
- declare const _default: "2.0.1-alpha.2";
30
+ declare const _default: "2.0.1-alpha.4";
31
31
 
32
32
  type useQueryOptions<T> = SWRConfiguration & {
33
33
  formatter?: (data: any) => T;
@@ -1370,6 +1370,8 @@ type WalletRewardsItem = {
1370
1370
  type WalletRewards = {
1371
1371
  wallet_lifetime_trading_rewards_order: string;
1372
1372
  wallet_lifetime_trading_rewards_escrow: string;
1373
+ wallet_pending_trading_rewards_order: string;
1374
+ wallet_pending_trading_rewards_escrow: string;
1373
1375
  rows: WalletRewardsItem[];
1374
1376
  };
1375
1377
  type WalletRewardsHistoryReturns = [
@@ -1513,7 +1515,11 @@ type Options = Omit<OrderEntryParameters["1"], "symbolInfo">;
1513
1515
  type OrderEntryReturn = {
1514
1516
  submit: (options?: {
1515
1517
  resetOnSuccess?: boolean;
1516
- }) => Promise<void>;
1518
+ }) => Promise<{
1519
+ success: boolean;
1520
+ data: Record<string, any>;
1521
+ timestamp: number;
1522
+ }>;
1517
1523
  reset: () => void;
1518
1524
  resetErrors: () => void;
1519
1525
  resetMetaState: () => void;
@@ -1613,7 +1619,7 @@ type OrderEntryReturn = {
1613
1619
  * await submit();
1614
1620
  * ```
1615
1621
  */
1616
- declare const useOrderEntry: (symbol: string, options: Options) => OrderEntryReturn;
1622
+ declare const useOrderEntry: (symbol: string, options?: Options) => OrderEntryReturn;
1617
1623
 
1618
1624
  declare const useOrderEntity: (order: {
1619
1625
  [key: string]: any;
package/dist/index.js CHANGED
@@ -40,9 +40,9 @@ var __export = (target, all) => {
40
40
  // src/version.ts
41
41
  if (typeof window !== "undefined") {
42
42
  window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
43
- window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.0.1-alpha.2";
43
+ window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.0.1-alpha.4";
44
44
  }
45
- var version_default = "2.0.1-alpha.2";
45
+ var version_default = "2.0.1-alpha.4";
46
46
  var fetcher = (url, init = {}, queryOptions) => net.get(url, init, queryOptions?.formatter);
47
47
  var OrderlyContext = React.createContext({
48
48
  // configStore: new MemoryConfigStore(),
@@ -52,11 +52,6 @@ var OrderlyProvider = OrderlyContext.Provider;
52
52
  // src/useConfig.ts
53
53
  function useConfig(key, defaultValue) {
54
54
  const { configStore } = React.useContext(OrderlyContext);
55
- if (!configStore) {
56
- throw new Error(
57
- "useConfig must be used within OrderlyConfigProvider or OrderlyAppProvider"
58
- );
59
- }
60
55
  if (typeof key !== "undefined") {
61
56
  if (typeof defaultValue !== "undefined") {
62
57
  return configStore.getOr(key, defaultValue);
@@ -3526,15 +3521,15 @@ var useMaxQty = (symbol, side, reduceOnly = false) => {
3526
3521
  IMR_Factor: accountInfo.imr_factor[symbol]
3527
3522
  });
3528
3523
  }, [
3529
- orders,
3530
- // positionsData,
3524
+ symbol,
3525
+ positions2,
3526
+ reduceOnly,
3531
3527
  markPrices,
3528
+ orders,
3532
3529
  accountInfo,
3533
3530
  symbolInfo,
3534
- symbol,
3535
3531
  side,
3536
- totalCollateral,
3537
- reduceOnly
3532
+ totalCollateral
3538
3533
  ]);
3539
3534
  return Math.max(maxQty, 0);
3540
3535
  };
@@ -13126,25 +13121,25 @@ var getContractByEnv = (env) => {
13126
13121
  contractABI: proxyLedgerAbi_default,
13127
13122
  orderlyChainRpcUrl: getOrderlyChainRPC(env)
13128
13123
  };
13129
- if (env === "dev" /* dev */) {
13124
+ if (env === "dev") {
13130
13125
  data.orderTokenAddress = "0xe2eB2df1CA9D90c8501049bAEEEf57f111782903";
13131
13126
  data.orderTokenAddressOnEthereum = "0x4cdE8A33afbb7f0F80841d9AE3Ada59fA1413F38";
13132
13127
  data.orderlyContract = "0x741a48F39683c345Ff37A86791537154869C77D4";
13133
13128
  data.contract = "0x0180107E72FB14a22a776913063b8a4081E9dc94";
13134
13129
  }
13135
- if (env === "qa" /* qa */) {
13130
+ if (env === "qa") {
13136
13131
  data.orderTokenAddress = "0x562874e9fcb02Ae6164781EcFb4AeAa169E99B18";
13137
13132
  data.orderTokenAddressOnEthereum = "0x8F7c2c827f0E9248CB5cf81fE732FDa62207F09c";
13138
- data.orderlyContract = "0xf4EFdE916687eFBa271b1eDf436B206b285bc478";
13133
+ data.orderlyContract = "0x871106E5c5f33F6B743990a0b465B61D6cd64714";
13139
13134
  data.contract = "0xB20A18d8A53Ea23A5E8da32465De374f942693D7";
13140
13135
  }
13141
- if (env === "staging" /* staging */) {
13136
+ if (env === "staging") {
13142
13137
  data.orderTokenAddress = "0x5f11B4510BC50EfB82Fb55D7839a46e9b621f8C2";
13143
13138
  data.orderTokenAddressOnEthereum = "0x48465104e96AEE47bdD0E40dD40b1DFE1a66e232";
13144
13139
  data.orderlyContract = "0xAFEabBA48Aa0D33267a4ADf92a63C3E1A1284AB5";
13145
13140
  data.contract = "0x912196EB2583A2f0a18FaD632ee5dB65B8C93EEf";
13146
13141
  }
13147
- if (env === "prod" /* prod */) {
13142
+ if (env === "prod") {
13148
13143
  data.orderTokenAddress = "0x4E200fE2f3eFb977d5fd9c430A41531FB04d97B8";
13149
13144
  data.orderTokenAddressOnEthereum = "0xABD4C63d2616A5201454168269031355f4764337";
13150
13145
  data.orderlyContract = "0x7819704B69a38fD63Cc768134b8410dc08B987D0";
@@ -13212,8 +13207,10 @@ var useWalletRewardsHistory = (type) => {
13212
13207
  } = useQuery(address !== void 0 ? path2 : "", {
13213
13208
  formatter: (res) => {
13214
13209
  return {
13215
- wallet_lifetime_trading_rewards_order: res?.group_lifetime_mm_rewards_order || res?.wallet_lifetime_trading_rewards_order || 0,
13216
- wallet_lifetime_trading_rewards_escrow: res?.group_lifetime_mm_rewards_escrow || res?.wallet_lifetime_trading_rewards_escrow || 0,
13210
+ wallet_lifetime_trading_rewards_order: res?.wallet_lifetime_trading_rewards_order ?? 0,
13211
+ wallet_lifetime_trading_rewards_escrow: res?.wallet_lifetime_trading_rewards_escrow ?? 0,
13212
+ wallet_pending_trading_rewards_order: res.wallet_pending_trading_rewards_order ?? 0,
13213
+ wallet_pending_trading_rewards_escrow: res.wallet_pending_trading_rewards_escrow ?? 0,
13217
13214
  rows: (res?.rows || []).map((item) => ({
13218
13215
  ...item,
13219
13216
  r_wallet: item?.total_reward || item?.r_wallet
@@ -13301,94 +13298,6 @@ function getQueryParamsFromObject(obj) {
13301
13298
  }
13302
13299
  return queryParams.toString();
13303
13300
  }
13304
- var initialOrderState = {
13305
- order_price: "",
13306
- order_quantity: "",
13307
- trigger_price: "",
13308
- tp_trigger_price: "",
13309
- sl_trigger_price: "",
13310
- total: "",
13311
- symbol: ""
13312
- };
13313
- var useOrderStore = zustand.create()(
13314
- immer.immer((set, get3) => ({
13315
- entry: {
13316
- side: types.OrderSide.BUY,
13317
- order_type: types.OrderType.LIMIT,
13318
- ...initialOrderState
13319
- },
13320
- estLeverage: null,
13321
- estLiquidationPrice: null,
13322
- errors: {},
13323
- actions: {
13324
- hasTP_SL: () => {
13325
- const order = get3().entry;
13326
- return typeof order.tp_trigger_price !== "undefined" || typeof order.sl_trigger_price !== "undefined";
13327
- },
13328
- updateOrderComputed: (data) => {
13329
- set(
13330
- (state) => {
13331
- state.estLeverage = data.estLeverage;
13332
- state.estLiquidationPrice = data.estLiquidationPrice;
13333
- },
13334
- false
13335
- // "updateOrderComputed"
13336
- );
13337
- },
13338
- updateOrder: (order) => {
13339
- set(
13340
- (state) => {
13341
- state.entry = {
13342
- ...state.entry,
13343
- ...order
13344
- };
13345
- },
13346
- false
13347
- // "updateOrder"
13348
- );
13349
- },
13350
- updateOrderByKey: (key, value) => {
13351
- set(
13352
- (state) => {
13353
- state.entry[key] = value;
13354
- },
13355
- false
13356
- // "updateOrderByKey"
13357
- );
13358
- },
13359
- restoreOrder: (order) => {
13360
- set(
13361
- (state) => {
13362
- state.entry = order;
13363
- },
13364
- false
13365
- // "restoreOrder"
13366
- );
13367
- },
13368
- resetOrder: (order) => {
13369
- set(
13370
- (state) => {
13371
- state.entry.order_price = "";
13372
- state.entry.order_quantity = "";
13373
- state.entry.trigger_price = "";
13374
- state.entry.total = "";
13375
- state.entry.tp_trigger_price = "";
13376
- state.entry.tp_pnl = "";
13377
- state.entry.tp_offset = "";
13378
- state.entry.tp_offset_percentage = "";
13379
- state.entry.sl_trigger_price = "";
13380
- state.entry.sl_pnl = "";
13381
- state.entry.sl_offset = "";
13382
- state.entry.sl_offset_percentage = "";
13383
- },
13384
- true
13385
- // "resetOrder"
13386
- );
13387
- }
13388
- }
13389
- }))
13390
- );
13391
- var useOrderEntryFromStore = () => useOrderStore((state) => state.entry);
13392
13301
  var getCreateOrderUrl = (order) => {
13393
13302
  const isAlgoOrder = order?.order_type === types.OrderType.STOP_LIMIT || order?.order_type === types.OrderType.STOP_MARKET || order?.order_type === types.OrderType.CLOSE_POSITION || order.algo_type && order.algo_type === types.AlgoOrderRootType.BRACKET || isBracketOrder(order);
13394
13303
  return isAlgoOrder ? "/v1/algo/order" : "/v1/order";
@@ -13514,20 +13423,88 @@ var calcEstLeverage = (order, askAndBid, inputs) => {
13514
13423
  }
13515
13424
  });
13516
13425
  };
13426
+ var initialOrderState = {
13427
+ order_price: "",
13428
+ order_quantity: "",
13429
+ trigger_price: "",
13430
+ tp_trigger_price: "",
13431
+ sl_trigger_price: "",
13432
+ tp_pnl: "",
13433
+ sl_pnl: "",
13434
+ tp_offset_percentage: "",
13435
+ sl_offset_percentage: "",
13436
+ tp_offset: "",
13437
+ sl_offset: "",
13438
+ total: ""
13439
+ // symbol: "",
13440
+ };
13441
+ var useOrderStore = (initialOrder) => {
13442
+ const [entry, setEntry] = React.useState(initialOrder);
13443
+ const [estLeverage, setEstLeverage] = React.useState(null);
13444
+ const [estLiquidationPrice, setEstLiquidationPrice] = React.useState(
13445
+ null
13446
+ );
13447
+ const [errors, setErrors] = React.useState({});
13448
+ const updateOrder = (order) => {
13449
+ setEntry(
13450
+ immer$1.produce((draft) => {
13451
+ return { ...draft, ...order };
13452
+ })
13453
+ // (prev) => ({ ...prev, ...order })
13454
+ );
13455
+ };
13456
+ const updateOrderByKey = (key, value) => {
13457
+ setEntry(
13458
+ immer$1.produce((draft) => {
13459
+ draft[key] = value;
13460
+ })
13461
+ );
13462
+ };
13463
+ const restoreOrder = (order) => {
13464
+ setEntry(immer$1.produce((draft) => order));
13465
+ };
13466
+ const updateOrderComputed = (data) => {
13467
+ setEstLeverage(data.estLeverage);
13468
+ setEstLiquidationPrice(data.estLiquidationPrice);
13469
+ };
13470
+ const resetOrder = (order) => {
13471
+ setEntry(
13472
+ immer$1.produce((draft) => ({
13473
+ ...draft,
13474
+ ...order ?? initialOrderState
13475
+ }))
13476
+ );
13477
+ };
13478
+ const hasTP_SL = () => {
13479
+ return typeof entry.tp_trigger_price !== "undefined" || typeof entry.sl_trigger_price !== "undefined";
13480
+ };
13481
+ return {
13482
+ entry,
13483
+ estLeverage,
13484
+ estLiquidationPrice,
13485
+ errors,
13486
+ actions: {
13487
+ updateOrder,
13488
+ updateOrderByKey,
13489
+ restoreOrder,
13490
+ updateOrderComputed,
13491
+ resetOrder,
13492
+ hasTP_SL
13493
+ }
13494
+ };
13495
+ };
13517
13496
 
13518
13497
  // src/next/useOrderEntry/useOrderEntry.internal.ts
13519
13498
  var useOrderEntryNextInternal = (symbol, options = {}) => {
13520
- const orderEntity = useOrderEntryFromStore();
13521
- const {
13522
- // markPrice,
13523
- initialOrder = {
13524
- side: types.OrderSide.BUY,
13525
- order_type: types.OrderType.LIMIT,
13526
- order_price: ""
13527
- },
13528
- symbolInfo
13529
- } = options;
13530
- const orderEntryActions = useOrderStore((state) => state.actions);
13499
+ const { symbolInfo } = options;
13500
+ const initialOrder = {
13501
+ side: types.OrderSide.BUY,
13502
+ order_type: types.OrderType.LIMIT,
13503
+ order_price: "",
13504
+ symbol,
13505
+ ...options.initialOrder
13506
+ };
13507
+ const { actions: orderEntryActions, entry: orderEntity } = useOrderStore(initialOrder);
13531
13508
  const calculate = React.useCallback(
13532
13509
  (values2, fieldName, value, markPrice, config) => {
13533
13510
  const fieldHandler = getCalculateHandler(fieldName);
@@ -13541,22 +13518,22 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
13541
13518
  },
13542
13519
  []
13543
13520
  );
13544
- React.useEffect(() => {
13545
- if (initialOrder) {
13546
- orderEntryActions.restoreOrder(initialOrder);
13547
- }
13548
- }, []);
13549
13521
  React.useEffect(() => {
13550
13522
  orderEntryActions.updateOrderByKey("symbol", symbol);
13551
- }, [symbol]);
13523
+ }, [orderEntryActions, symbol]);
13552
13524
  const setValue = (key, value, additional) => {
13553
13525
  if (!symbolInfo) {
13554
13526
  orderEntryActions.updateOrderByKey(key, value);
13555
13527
  return;
13556
13528
  }
13557
- const values2 = useOrderStore.getState().entry;
13558
13529
  const { markPrice } = additional ?? { markPrice: 0 };
13559
- let newValues = calculate({ ...values2 }, key, value, markPrice, symbolInfo);
13530
+ let newValues = calculate(
13531
+ { ...orderEntity },
13532
+ key,
13533
+ value,
13534
+ markPrice,
13535
+ symbolInfo
13536
+ );
13560
13537
  if (key === "order_type") {
13561
13538
  if (value === types.OrderType.MARKET || value === types.OrderType.STOP_MARKET) {
13562
13539
  newValues = calculate(
@@ -13632,37 +13609,32 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
13632
13609
  }
13633
13610
  return newValues;
13634
13611
  };
13635
- const setValues = React.useCallback(
13636
- (values2, additional) => {
13637
- if (!symbolInfo) {
13638
- orderEntryActions.updateOrder(values2);
13639
- return;
13640
- }
13641
- const prevValues = useOrderStore.getState().entry;
13642
- let newValues = { ...prevValues };
13643
- Object.keys(values2).forEach((key) => {
13644
- newValues = calculate(
13645
- newValues,
13646
- key,
13647
- values2[key],
13648
- additional?.markPrice ?? 0,
13649
- symbolInfo
13650
- );
13651
- });
13652
- orderEntryActions.updateOrder(newValues);
13653
- return newValues;
13654
- },
13655
- [calculate, orderEntryActions, symbolInfo]
13656
- );
13612
+ const setValues = (values2, additional) => {
13613
+ if (!symbolInfo) {
13614
+ orderEntryActions.updateOrder(values2);
13615
+ return;
13616
+ }
13617
+ let newValues = { ...orderEntity };
13618
+ Object.keys(values2).forEach((key) => {
13619
+ newValues = calculate(
13620
+ newValues,
13621
+ key,
13622
+ values2[key],
13623
+ additional?.markPrice ?? 0,
13624
+ symbolInfo
13625
+ );
13626
+ });
13627
+ orderEntryActions.updateOrder(newValues);
13628
+ return newValues;
13629
+ };
13657
13630
  const onMarkPriceUpdated = React.useCallback(
13658
13631
  (markPrice, baseOn) => {
13659
13632
  if (!options.symbolInfo)
13660
13633
  return;
13661
- const values2 = useOrderStore.getState().entry;
13662
13634
  let newValues;
13663
13635
  if (typeof baseOn === "undefined") {
13664
13636
  newValues = calculate(
13665
- { ...values2 },
13637
+ { ...orderEntity },
13666
13638
  "order_price",
13667
13639
  markPrice,
13668
13640
  markPrice,
@@ -13670,9 +13642,9 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
13670
13642
  );
13671
13643
  } else {
13672
13644
  newValues = calculate(
13673
- { ...values2 },
13645
+ { ...orderEntity },
13674
13646
  baseOn,
13675
- values2[baseOn],
13647
+ orderEntity[baseOn],
13676
13648
  markPrice,
13677
13649
  options.symbolInfo
13678
13650
  );
@@ -13695,7 +13667,7 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
13695
13667
  }
13696
13668
  orderEntryActions.updateOrder(newValues);
13697
13669
  },
13698
- [options.symbolInfo]
13670
+ [calculate, options.symbolInfo, orderEntity, orderEntryActions]
13699
13671
  );
13700
13672
  const validate = (order, creator, options2) => {
13701
13673
  const { markPrice, maxQty } = options2;
@@ -13728,12 +13700,11 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
13728
13700
  onMarkPriceChange: onMarkPriceUpdated
13729
13701
  };
13730
13702
  };
13731
- var useOrderEntry2 = (symbol, options) => {
13703
+ var useOrderEntry2 = (symbol, options = {}) => {
13732
13704
  if (!symbol) {
13733
- throw new Error("symbol is required and must be a string");
13705
+ throw new types.SDKError("symbol is required and must be a string");
13734
13706
  }
13735
13707
  const ee = useEventEmitter();
13736
- const fieldDirty = React.useRef({});
13737
13708
  const [meta, setMeta] = React.useState({
13738
13709
  dirty: {},
13739
13710
  submitted: false,
@@ -13810,18 +13781,24 @@ var useOrderEntry2 = (symbol, options) => {
13810
13781
  }
13811
13782
  });
13812
13783
  };
13813
- const canSetTPSLPrice = (key, orderType) => {
13814
- if (tpslFields.includes(key) && orderType !== types.OrderType.LIMIT && orderType !== types.OrderType.MARKET) {
13784
+ const canSetTPSLPrice = (key, value, orderType) => {
13785
+ if (tpslFields.includes(key) && value !== "" && value !== void 0 && value !== null && orderType !== types.OrderType.LIMIT && orderType !== types.OrderType.MARKET) {
13815
13786
  return false;
13816
13787
  }
13817
13788
  return true;
13818
13789
  };
13819
13790
  const setValue = (key, value, options2) => {
13820
- const { shouldUpdateLastChangedField = true } = options2 || {};
13821
- if (!canSetTPSLPrice(key, formattedOrder.order_type)) {
13791
+ const { shouldUpdateLastChangedField = true, shouldUpdateDirty = true } = options2 || {};
13792
+ if (!canSetTPSLPrice(key, value, formattedOrder.order_type)) {
13822
13793
  return;
13823
13794
  }
13824
- fieldDirty.current[key] = true;
13795
+ if (shouldUpdateDirty) {
13796
+ setMeta(
13797
+ immer$1.produce((draft) => {
13798
+ draft.dirty[key] = true;
13799
+ })
13800
+ );
13801
+ }
13825
13802
  const values2 = setValueInternal(key, value, prepareData());
13826
13803
  if (values2) {
13827
13804
  interactiveValidate(values2);
@@ -13832,7 +13809,11 @@ var useOrderEntry2 = (symbol, options) => {
13832
13809
  };
13833
13810
  const setValues = (values2) => {
13834
13811
  if (!Object.keys(values2).every(
13835
- (key) => canSetTPSLPrice(key, formattedOrder.order_type)
13812
+ (key) => canSetTPSLPrice(
13813
+ key,
13814
+ values2[key],
13815
+ formattedOrder.order_type
13816
+ )
13836
13817
  )) {
13837
13818
  return;
13838
13819
  }
@@ -13961,6 +13942,93 @@ var useOrderEntry2 = (symbol, options) => {
13961
13942
  markPrice
13962
13943
  };
13963
13944
  };
13945
+ var initialOrderState2 = {
13946
+ order_price: "",
13947
+ order_quantity: "",
13948
+ trigger_price: "",
13949
+ tp_trigger_price: "",
13950
+ sl_trigger_price: "",
13951
+ total: "",
13952
+ symbol: ""
13953
+ };
13954
+ var useOrderStore2 = zustand.create()(
13955
+ immer.immer((set, get3) => ({
13956
+ entry: {
13957
+ side: types.OrderSide.BUY,
13958
+ order_type: types.OrderType.LIMIT,
13959
+ ...initialOrderState2
13960
+ },
13961
+ estLeverage: null,
13962
+ estLiquidationPrice: null,
13963
+ errors: {},
13964
+ actions: {
13965
+ hasTP_SL: () => {
13966
+ const order = get3().entry;
13967
+ return typeof order.tp_trigger_price !== "undefined" || typeof order.sl_trigger_price !== "undefined";
13968
+ },
13969
+ updateOrderComputed: (data) => {
13970
+ set(
13971
+ (state) => {
13972
+ state.estLeverage = data.estLeverage;
13973
+ state.estLiquidationPrice = data.estLiquidationPrice;
13974
+ },
13975
+ false
13976
+ // "updateOrderComputed"
13977
+ );
13978
+ },
13979
+ updateOrder: (order) => {
13980
+ set(
13981
+ (state) => {
13982
+ state.entry = {
13983
+ ...state.entry,
13984
+ ...order
13985
+ };
13986
+ },
13987
+ false
13988
+ // "updateOrder"
13989
+ );
13990
+ },
13991
+ updateOrderByKey: (key, value) => {
13992
+ set(
13993
+ (state) => {
13994
+ state.entry[key] = value;
13995
+ },
13996
+ false
13997
+ // "updateOrderByKey"
13998
+ );
13999
+ },
14000
+ restoreOrder: (order) => {
14001
+ set(
14002
+ (state) => {
14003
+ state.entry = order;
14004
+ },
14005
+ false
14006
+ // "restoreOrder"
14007
+ );
14008
+ },
14009
+ resetOrder: (order) => {
14010
+ set(
14011
+ (state) => {
14012
+ state.entry.order_price = "";
14013
+ state.entry.order_quantity = "";
14014
+ state.entry.trigger_price = "";
14015
+ state.entry.total = "";
14016
+ state.entry.tp_trigger_price = "";
14017
+ state.entry.tp_pnl = "";
14018
+ state.entry.tp_offset = "";
14019
+ state.entry.tp_offset_percentage = "";
14020
+ state.entry.sl_trigger_price = "";
14021
+ state.entry.sl_pnl = "";
14022
+ state.entry.sl_offset = "";
14023
+ state.entry.sl_offset_percentage = "";
14024
+ },
14025
+ true
14026
+ // "resetOrder"
14027
+ );
14028
+ }
14029
+ }
14030
+ }))
14031
+ );
13964
14032
  var useOrderEntity = (order, options) => {
13965
14033
  if (!order.symbol) {
13966
14034
  throw new types.SDKError("symbol is required");
@@ -14106,7 +14174,7 @@ exports.useMutation = useMutation;
14106
14174
  exports.useOrderEntity = useOrderEntity;
14107
14175
  exports.useOrderEntry = useOrderEntry2;
14108
14176
  exports.useOrderEntry_deprecated = useOrderEntry;
14109
- exports.useOrderStore = useOrderStore;
14177
+ exports.useOrderStore = useOrderStore2;
14110
14178
  exports.useOrderStream = useOrderStream;
14111
14179
  exports.useOrderbookStream = useOrderbookStream;
14112
14180
  exports.usePositionActions = usePositionActions;