@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 +9 -3
- package/dist/index.d.ts +9 -3
- package/dist/index.js +231 -163
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +231 -163
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -9
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.
|
|
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<
|
|
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
|
|
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.
|
|
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<
|
|
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
|
|
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.
|
|
43
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.0.1-alpha.4";
|
|
44
44
|
}
|
|
45
|
-
var version_default = "2.0.1-alpha.
|
|
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
|
-
|
|
3530
|
-
|
|
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"
|
|
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"
|
|
13130
|
+
if (env === "qa") {
|
|
13136
13131
|
data.orderTokenAddress = "0x562874e9fcb02Ae6164781EcFb4AeAa169E99B18";
|
|
13137
13132
|
data.orderTokenAddressOnEthereum = "0x8F7c2c827f0E9248CB5cf81fE732FDa62207F09c";
|
|
13138
|
-
data.orderlyContract = "
|
|
13133
|
+
data.orderlyContract = "0x871106E5c5f33F6B743990a0b465B61D6cd64714";
|
|
13139
13134
|
data.contract = "0xB20A18d8A53Ea23A5E8da32465De374f942693D7";
|
|
13140
13135
|
}
|
|
13141
|
-
if (env === "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"
|
|
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?.
|
|
13216
|
-
wallet_lifetime_trading_rewards_escrow: res?.
|
|
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
|
|
13521
|
-
const {
|
|
13522
|
-
|
|
13523
|
-
|
|
13524
|
-
|
|
13525
|
-
|
|
13526
|
-
|
|
13527
|
-
|
|
13528
|
-
|
|
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(
|
|
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 =
|
|
13636
|
-
(
|
|
13637
|
-
|
|
13638
|
-
|
|
13639
|
-
|
|
13640
|
-
|
|
13641
|
-
|
|
13642
|
-
|
|
13643
|
-
|
|
13644
|
-
|
|
13645
|
-
|
|
13646
|
-
|
|
13647
|
-
|
|
13648
|
-
|
|
13649
|
-
|
|
13650
|
-
|
|
13651
|
-
|
|
13652
|
-
|
|
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
|
-
{ ...
|
|
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
|
-
{ ...
|
|
13645
|
+
{ ...orderEntity },
|
|
13674
13646
|
baseOn,
|
|
13675
|
-
|
|
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
|
|
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
|
-
|
|
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(
|
|
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 =
|
|
14177
|
+
exports.useOrderStore = useOrderStore2;
|
|
14110
14178
|
exports.useOrderStream = useOrderStream;
|
|
14111
14179
|
exports.useOrderbookStream = useOrderbookStream;
|
|
14112
14180
|
exports.usePositionActions = usePositionActions;
|