@orderly.network/hooks 2.12.0 → 2.12.1
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 +5 -6
- package/dist/index.d.ts +5 -6
- package/dist/index.js +180 -114
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +181 -115
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
package/dist/index.d.mts
CHANGED
|
@@ -170,7 +170,7 @@ declare global {
|
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
declare const _default: "2.12.
|
|
173
|
+
declare const _default: "2.12.1";
|
|
174
174
|
|
|
175
175
|
declare const fetcher: (url: string, init: RequestInit | undefined, queryOptions: useQueryOptions<any>) => Promise<any>;
|
|
176
176
|
type useQueryOptions<T> = SWRConfiguration & {
|
|
@@ -463,12 +463,11 @@ declare const useRefereeRebateSummary: (params: Params) => {
|
|
|
463
463
|
isLoading: boolean;
|
|
464
464
|
};
|
|
465
465
|
|
|
466
|
-
|
|
467
|
-
isExist
|
|
466
|
+
declare const useCheckReferralCode: (code?: string) => {
|
|
467
|
+
isExist: boolean | undefined;
|
|
468
468
|
error: any;
|
|
469
469
|
isLoading: boolean;
|
|
470
470
|
};
|
|
471
|
-
declare const useCheckReferralCode: (code?: string) => CheckReferralCodeReturns;
|
|
472
471
|
|
|
473
472
|
declare const useGetReferralCode: (accountId?: string) => {
|
|
474
473
|
referral_code?: string;
|
|
@@ -2846,7 +2845,7 @@ declare const useOrderEntryNextInternal: (symbol: string, options?: {
|
|
|
2846
2845
|
symbolInfo?: API.SymbolExt;
|
|
2847
2846
|
symbolLeverage?: number;
|
|
2848
2847
|
}) => {
|
|
2849
|
-
readonly formattedOrder:
|
|
2848
|
+
readonly formattedOrder: OrderlyOrder;
|
|
2850
2849
|
readonly setValue: (key: keyof FullOrderState, value: any, additional?: {
|
|
2851
2850
|
markPrice: number;
|
|
2852
2851
|
}) => Partial<OrderlyOrder> | undefined;
|
|
@@ -3191,4 +3190,4 @@ interface UseFeatureFlagReturn {
|
|
|
3191
3190
|
*/
|
|
3192
3191
|
declare const useFeatureFlag: (key: FlagKeys) => UseFeatureFlagReturn;
|
|
3193
3192
|
|
|
3194
|
-
export { type APIKeyItem, type AccountRewardsHistory, type AccountRewardsHistoryRow, type Brokers, type BuiltInMarketTab, type Chain, type ChainFilter, type Chains, type
|
|
3193
|
+
export { type APIKeyItem, type AccountRewardsHistory, type AccountRewardsHistoryRow, type Brokers, type BuiltInMarketTab, type Chain, type ChainFilter, type Chains, type CollateralOutputs, type ComputedAlgoOrder, type ConfigProviderProps, type ConnectedChain, type CurrentEpochEstimate, type CustomMarketTab, DefaultLayoutConfig, DistributionId, type DrawOptions, ENVType, ERROR_MSG_CODES, type EpochInfoItem, type EpochInfoType, EpochStatus, type ExclusiveConfigProviderProps, ExtendedConfigStore, type Favorite, type FavoriteTab, type FeatureFlagItem, type FilteredChains, FlagKeys, type FundingRates, MaintenanceStatus, type MarginRatioReturn, type MarketBuiltInTabType, MarketCategoriesConfigProvider, type MarketCategoriesConfigProviderProps, type MarketCategoryComponentKey, type MarketCategoryConfig, type MarketCategoryContext, type MarketTabConfig, type MarketsItem, MarketsStorageKey, type MarketsStore, MarketsType, type NewListing, ORDERLY_ORDERBOOK_DEPTH_KEY, type OrderBookItem, type OrderEntryReturn, type OrderMetadata, type OrderMetadataConfig, type OrderParams, type OrderValidationItem, type OrderValidationResult, type OrderbookData, type OrderbookOptions, type OrderlyConfigContextState, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, type PosterLayoutConfig, type PriceMode, type Recent, RefferalAPI, type RestrictedInfoOptions, type RestrictedInfoReturns, type RwaSymbolResult, type RwaSymbolsInfo, ScopeType, type StatusInfo, StatusProvider, type SymbolsInfo, TWType, type UseBadgeBySymbolReturn, type UseChainsOptions, type UseChainsReturnObject, type UseDepositReturn, type UseFeatureFlagReturn, type UseOrderEntryMetaState, WalletConnectorContext, type WalletConnectorContextState, type WalletRewards, type WalletRewardsHistoryReturns, type WalletRewardsItem, type WalletState, WsNetworkStatus, checkNotional, cleanStringStyle, fetcher, findPositionTPSLFromOrders, findTPSLFromOrder, findTPSLOrderPriceFromOrder, formatSymbolWithBroker, getMinNotional, getPriceKey, indexedDBManager, initializeAppDatabase, isCurrentlyClosed, isCurrentlyTrading, noCacheConfig, parseJSON, persistIndexedDB, resetTimestampOffsetState, timestampWaitingMiddleware, useAccount, useAccountInfo, useAccountInstance, useAccountRewardsHistory, useAllBrokers, useApiKeyManager, useAppStore, useAssetsHistory, useAudioPlayer, useBadgeBySymbol, useBalanceSubscription, useBalanceTopic, useBoolean, useChain, useChainInfo, useChains, useCheckReferralCode, useCollateral, useCommission, useComputedLTV, useConfig, useConvert, useCurEpochEstimate, useDaily, useDeposit, useDistribution, useDistributionHistory, useEpochInfo, useEstLiqPriceBySymbol, useEventEmitter, useFeatureFlag, useFeeState, useFundingDetails, useFundingFeeHistory, useFundingRate, useFundingRateBySymbol, useFundingRateHistory, useFundingRates, useFundingRatesStore, useGetClaimed, useGetEnv, useGetEstLiqPrice, useGetReferralCode, useGetRwaSymbolCloseTimeInterval, useGetRwaSymbolInfo, useGetRwaSymbolOpenStatus, useGetRwaSymbolOpenTimeInterval, useHoldingStream, useIndexPrice, useIndexPricesStream, useInfiniteQuery, useInitRwaSymbolsRuntime, useInternalTransfer, useKeyStore, useLazyQuery, useLeverage, useLeverageBySymbol, useLocalStorage, useMainTokenStore, useMainnetChainsStore, useMaintenanceStatus, useMarginModeBySymbol, useMarginModes, useMarginRatio, useMarkPrice, useMarkPriceBySymbol, useMarkPricesStream, useMarket, useMarketCategoriesConfig, useMarketList, useMarketMap, useMarketTradeStream, useMarkets, useMarketsStore, useMarketsStream, useMaxLeverage, useMaxQty, useMaxWithdrawal, useMediaQuery, useMemoizedFn, useMutation, useNetworkInfo, useOdosQuote, useOrderEntity, useOrderEntry, useOrderEntry$1 as useOrderEntry_deprecated, useOrderStore, useOrderStream, useOrderbookStream, useOrderlyContext, usePortfolio, usePositionActions, usePositionClose, usePositionStream, usePositions, usePoster, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, type useQueryOptions, useRefereeHistory, useRefereeInfo, useRefereeRebateSummary, useReferralInfo, useReferralRebateSummary, useRestrictedInfo, useRwaSymbolsInfo, useRwaSymbolsInfoStore, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useStorageChain, useStorageLedgerAddress, useSubAccountAlgoOrderStream, useSubAccountDataObserver, useSubAccountMaxWithdrawal, useSubAccountMutation, useSubAccountQuery, useSubAccountWS, useSwapSupportStore, useSymbolInfo, useSymbolLeverage, useSymbolLeverageMap, useSymbolPriceRange, useSymbolWithBroker, useSymbolsInfo, useSymbolsInfoStore, useTPSLOrder, useTestTokenStore, useTestnetChainsStore, useTickerStream, useTokenInfo, useTokensInfo, useTpslPriceChecker, useTrack, useTrackingInstance, useTradingRewardsStatus, useTransfer, useTransferHistory, useUpdatedRef, useUserStatistics, useVaultsHistory, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWalletTopic, useWithdraw, useWsStatus, index as utils, _default as version };
|
package/dist/index.d.ts
CHANGED
|
@@ -170,7 +170,7 @@ declare global {
|
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
declare const _default: "2.12.
|
|
173
|
+
declare const _default: "2.12.1";
|
|
174
174
|
|
|
175
175
|
declare const fetcher: (url: string, init: RequestInit | undefined, queryOptions: useQueryOptions<any>) => Promise<any>;
|
|
176
176
|
type useQueryOptions<T> = SWRConfiguration & {
|
|
@@ -463,12 +463,11 @@ declare const useRefereeRebateSummary: (params: Params) => {
|
|
|
463
463
|
isLoading: boolean;
|
|
464
464
|
};
|
|
465
465
|
|
|
466
|
-
|
|
467
|
-
isExist
|
|
466
|
+
declare const useCheckReferralCode: (code?: string) => {
|
|
467
|
+
isExist: boolean | undefined;
|
|
468
468
|
error: any;
|
|
469
469
|
isLoading: boolean;
|
|
470
470
|
};
|
|
471
|
-
declare const useCheckReferralCode: (code?: string) => CheckReferralCodeReturns;
|
|
472
471
|
|
|
473
472
|
declare const useGetReferralCode: (accountId?: string) => {
|
|
474
473
|
referral_code?: string;
|
|
@@ -2846,7 +2845,7 @@ declare const useOrderEntryNextInternal: (symbol: string, options?: {
|
|
|
2846
2845
|
symbolInfo?: API.SymbolExt;
|
|
2847
2846
|
symbolLeverage?: number;
|
|
2848
2847
|
}) => {
|
|
2849
|
-
readonly formattedOrder:
|
|
2848
|
+
readonly formattedOrder: OrderlyOrder;
|
|
2850
2849
|
readonly setValue: (key: keyof FullOrderState, value: any, additional?: {
|
|
2851
2850
|
markPrice: number;
|
|
2852
2851
|
}) => Partial<OrderlyOrder> | undefined;
|
|
@@ -3191,4 +3190,4 @@ interface UseFeatureFlagReturn {
|
|
|
3191
3190
|
*/
|
|
3192
3191
|
declare const useFeatureFlag: (key: FlagKeys) => UseFeatureFlagReturn;
|
|
3193
3192
|
|
|
3194
|
-
export { type APIKeyItem, type AccountRewardsHistory, type AccountRewardsHistoryRow, type Brokers, type BuiltInMarketTab, type Chain, type ChainFilter, type Chains, type
|
|
3193
|
+
export { type APIKeyItem, type AccountRewardsHistory, type AccountRewardsHistoryRow, type Brokers, type BuiltInMarketTab, type Chain, type ChainFilter, type Chains, type CollateralOutputs, type ComputedAlgoOrder, type ConfigProviderProps, type ConnectedChain, type CurrentEpochEstimate, type CustomMarketTab, DefaultLayoutConfig, DistributionId, type DrawOptions, ENVType, ERROR_MSG_CODES, type EpochInfoItem, type EpochInfoType, EpochStatus, type ExclusiveConfigProviderProps, ExtendedConfigStore, type Favorite, type FavoriteTab, type FeatureFlagItem, type FilteredChains, FlagKeys, type FundingRates, MaintenanceStatus, type MarginRatioReturn, type MarketBuiltInTabType, MarketCategoriesConfigProvider, type MarketCategoriesConfigProviderProps, type MarketCategoryComponentKey, type MarketCategoryConfig, type MarketCategoryContext, type MarketTabConfig, type MarketsItem, MarketsStorageKey, type MarketsStore, MarketsType, type NewListing, ORDERLY_ORDERBOOK_DEPTH_KEY, type OrderBookItem, type OrderEntryReturn, type OrderMetadata, type OrderMetadataConfig, type OrderParams, type OrderValidationItem, type OrderValidationResult, type OrderbookData, type OrderbookOptions, type OrderlyConfigContextState, OrderlyConfigProvider, OrderlyContext, OrderlyProvider, type PosterLayoutConfig, type PriceMode, type Recent, RefferalAPI, type RestrictedInfoOptions, type RestrictedInfoReturns, type RwaSymbolResult, type RwaSymbolsInfo, ScopeType, type StatusInfo, StatusProvider, type SymbolsInfo, TWType, type UseBadgeBySymbolReturn, type UseChainsOptions, type UseChainsReturnObject, type UseDepositReturn, type UseFeatureFlagReturn, type UseOrderEntryMetaState, WalletConnectorContext, type WalletConnectorContextState, type WalletRewards, type WalletRewardsHistoryReturns, type WalletRewardsItem, type WalletState, WsNetworkStatus, checkNotional, cleanStringStyle, fetcher, findPositionTPSLFromOrders, findTPSLFromOrder, findTPSLOrderPriceFromOrder, formatSymbolWithBroker, getMinNotional, getPriceKey, indexedDBManager, initializeAppDatabase, isCurrentlyClosed, isCurrentlyTrading, noCacheConfig, parseJSON, persistIndexedDB, resetTimestampOffsetState, timestampWaitingMiddleware, useAccount, useAccountInfo, useAccountInstance, useAccountRewardsHistory, useAllBrokers, useApiKeyManager, useAppStore, useAssetsHistory, useAudioPlayer, useBadgeBySymbol, useBalanceSubscription, useBalanceTopic, useBoolean, useChain, useChainInfo, useChains, useCheckReferralCode, useCollateral, useCommission, useComputedLTV, useConfig, useConvert, useCurEpochEstimate, useDaily, useDeposit, useDistribution, useDistributionHistory, useEpochInfo, useEstLiqPriceBySymbol, useEventEmitter, useFeatureFlag, useFeeState, useFundingDetails, useFundingFeeHistory, useFundingRate, useFundingRateBySymbol, useFundingRateHistory, useFundingRates, useFundingRatesStore, useGetClaimed, useGetEnv, useGetEstLiqPrice, useGetReferralCode, useGetRwaSymbolCloseTimeInterval, useGetRwaSymbolInfo, useGetRwaSymbolOpenStatus, useGetRwaSymbolOpenTimeInterval, useHoldingStream, useIndexPrice, useIndexPricesStream, useInfiniteQuery, useInitRwaSymbolsRuntime, useInternalTransfer, useKeyStore, useLazyQuery, useLeverage, useLeverageBySymbol, useLocalStorage, useMainTokenStore, useMainnetChainsStore, useMaintenanceStatus, useMarginModeBySymbol, useMarginModes, useMarginRatio, useMarkPrice, useMarkPriceBySymbol, useMarkPricesStream, useMarket, useMarketCategoriesConfig, useMarketList, useMarketMap, useMarketTradeStream, useMarkets, useMarketsStore, useMarketsStream, useMaxLeverage, useMaxQty, useMaxWithdrawal, useMediaQuery, useMemoizedFn, useMutation, useNetworkInfo, useOdosQuote, useOrderEntity, useOrderEntry, useOrderEntry$1 as useOrderEntry_deprecated, useOrderStore, useOrderStream, useOrderbookStream, useOrderlyContext, usePortfolio, usePositionActions, usePositionClose, usePositionStream, usePositions, usePoster, usePreLoadData, usePrivateDataObserver, usePrivateInfiniteQuery, usePrivateQuery, useQuery, type useQueryOptions, useRefereeHistory, useRefereeInfo, useRefereeRebateSummary, useReferralInfo, useReferralRebateSummary, useRestrictedInfo, useRwaSymbolsInfo, useRwaSymbolsInfoStore, useSessionStorage, useSettleSubscription, useSimpleDI, useStatisticsDaily, useStorageChain, useStorageLedgerAddress, useSubAccountAlgoOrderStream, useSubAccountDataObserver, useSubAccountMaxWithdrawal, useSubAccountMutation, useSubAccountQuery, useSubAccountWS, useSwapSupportStore, useSymbolInfo, useSymbolLeverage, useSymbolLeverageMap, useSymbolPriceRange, useSymbolWithBroker, useSymbolsInfo, useSymbolsInfoStore, useTPSLOrder, useTestTokenStore, useTestnetChainsStore, useTickerStream, useTokenInfo, useTokensInfo, useTpslPriceChecker, useTrack, useTrackingInstance, useTradingRewardsStatus, useTransfer, useTransferHistory, useUpdatedRef, useUserStatistics, useVaultsHistory, useWS, useWalletConnector, useWalletRewardsHistory, useWalletSubscription, useWalletTopic, useWithdraw, useWsStatus, index as utils, _default as version };
|
package/dist/index.js
CHANGED
|
@@ -75,9 +75,9 @@ function useMarketCategoriesConfig() {
|
|
|
75
75
|
// src/version.ts
|
|
76
76
|
if (typeof window !== "undefined") {
|
|
77
77
|
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
78
|
-
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.12.
|
|
78
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.12.1";
|
|
79
79
|
}
|
|
80
|
-
var version_default = "2.12.
|
|
80
|
+
var version_default = "2.12.1";
|
|
81
81
|
var fetcher = (url, init2 = {}, queryOptions) => net.get(url, init2, queryOptions?.formatter);
|
|
82
82
|
var noCacheConfig = {
|
|
83
83
|
dedupingInterval: 0,
|
|
@@ -3437,7 +3437,10 @@ var useGetRwaSymbolOpenTimeInterval = (symbol, thresholdMinutes = 30) => {
|
|
|
3437
3437
|
};
|
|
3438
3438
|
var useSymbolsInfo = () => {
|
|
3439
3439
|
const symbolsInfo = useAppStore((state) => state.symbolsInfo);
|
|
3440
|
-
return React.useMemo(
|
|
3440
|
+
return React.useMemo(
|
|
3441
|
+
() => createGetter(symbolsInfo ? { ...symbolsInfo } : symbolsInfo),
|
|
3442
|
+
[symbolsInfo]
|
|
3443
|
+
);
|
|
3441
3444
|
};
|
|
3442
3445
|
var useSymbolsInfoStore = () => {
|
|
3443
3446
|
return useAppStore((state) => state.symbolsInfo);
|
|
@@ -9740,6 +9743,9 @@ var PriceValidationStrategy = class {
|
|
|
9740
9743
|
}
|
|
9741
9744
|
const price = new utils.Decimal(order_price);
|
|
9742
9745
|
const { symbol } = config;
|
|
9746
|
+
if (!symbol) {
|
|
9747
|
+
return;
|
|
9748
|
+
}
|
|
9743
9749
|
const { quote_max, quote_min, quote_dp, price_range, price_scope } = symbol;
|
|
9744
9750
|
const maxPriceNumber = perp.order.maxPrice(config.markPrice, price_range);
|
|
9745
9751
|
const minPriceNumber = perp.order.minPrice(config.markPrice, price_range);
|
|
@@ -9786,6 +9792,9 @@ var TriggerPriceValidationStrategy = class {
|
|
|
9786
9792
|
validate(values, config) {
|
|
9787
9793
|
const { trigger_price } = values;
|
|
9788
9794
|
const { symbol } = config;
|
|
9795
|
+
if (!symbol) {
|
|
9796
|
+
return;
|
|
9797
|
+
}
|
|
9789
9798
|
const { quote_max, quote_min } = symbol;
|
|
9790
9799
|
if (!trigger_price) {
|
|
9791
9800
|
return OrderValidation.required("trigger_price");
|
|
@@ -9832,6 +9841,9 @@ var QuantityValidationStrategy = class {
|
|
|
9832
9841
|
validate(values, config) {
|
|
9833
9842
|
let { order_quantity, total, order_price } = values;
|
|
9834
9843
|
const { maxQty, symbol } = config;
|
|
9844
|
+
if (!symbol) {
|
|
9845
|
+
return;
|
|
9846
|
+
}
|
|
9835
9847
|
const { base_min, base_dp, quote_dp } = symbol;
|
|
9836
9848
|
if (!order_quantity && total && order_price) {
|
|
9837
9849
|
const totalNumber = new utils.Decimal(total);
|
|
@@ -18586,108 +18598,65 @@ var initialOrderState = {
|
|
|
18586
18598
|
tp_trigger_price: "",
|
|
18587
18599
|
sl_trigger_price: "",
|
|
18588
18600
|
total: "",
|
|
18589
|
-
symbol: ""
|
|
18601
|
+
symbol: "",
|
|
18602
|
+
side: types.OrderSide.BUY,
|
|
18603
|
+
order_type: types.OrderType.LIMIT,
|
|
18604
|
+
margin_mode: types.MarginMode.CROSS
|
|
18590
18605
|
};
|
|
18591
|
-
var
|
|
18592
|
-
|
|
18593
|
-
|
|
18594
|
-
|
|
18595
|
-
|
|
18596
|
-
...
|
|
18597
|
-
|
|
18598
|
-
|
|
18599
|
-
|
|
18600
|
-
|
|
18601
|
-
|
|
18602
|
-
initOrder: (
|
|
18603
|
-
|
|
18604
|
-
|
|
18605
|
-
|
|
18606
|
-
|
|
18607
|
-
|
|
18608
|
-
|
|
18609
|
-
margin_mode: options?.margin_mode ?? types.MarginMode.CROSS
|
|
18610
|
-
};
|
|
18611
|
-
state.estLeverage = null;
|
|
18612
|
-
state.estLiquidationPrice = null;
|
|
18613
|
-
state.errors = {};
|
|
18606
|
+
var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
18607
|
+
const { symbolInfo, symbolLeverage } = options;
|
|
18608
|
+
const [orderEntity, setOrderEntity] = React.useState(
|
|
18609
|
+
() => ({
|
|
18610
|
+
...initialOrderState,
|
|
18611
|
+
...options.initialOrder,
|
|
18612
|
+
symbol
|
|
18613
|
+
})
|
|
18614
|
+
);
|
|
18615
|
+
const actions = React.useMemo(
|
|
18616
|
+
() => ({
|
|
18617
|
+
initOrder: (sym, opts) => {
|
|
18618
|
+
setOrderEntity({
|
|
18619
|
+
...initialOrderState,
|
|
18620
|
+
symbol: sym,
|
|
18621
|
+
side: opts?.side ?? types.OrderSide.BUY,
|
|
18622
|
+
order_type: opts?.order_type ?? types.OrderType.LIMIT,
|
|
18623
|
+
margin_mode: opts?.margin_mode ?? types.MarginMode.CROSS
|
|
18614
18624
|
});
|
|
18615
18625
|
},
|
|
18616
|
-
hasTP_SL: () => {
|
|
18617
|
-
const order = get3().entry;
|
|
18618
|
-
return typeof order.tp_trigger_price !== "undefined" || typeof order.sl_trigger_price !== "undefined";
|
|
18619
|
-
},
|
|
18620
|
-
updateOrderComputed: (data) => {
|
|
18621
|
-
set(
|
|
18622
|
-
(state) => {
|
|
18623
|
-
state.estLeverage = data.estLeverage;
|
|
18624
|
-
state.estLiquidationPrice = data.estLiquidationPrice;
|
|
18625
|
-
},
|
|
18626
|
-
false
|
|
18627
|
-
// "updateOrderComputed"
|
|
18628
|
-
);
|
|
18629
|
-
},
|
|
18630
18626
|
updateOrder: (order) => {
|
|
18631
|
-
|
|
18632
|
-
(state) => {
|
|
18633
|
-
state.entry = {
|
|
18634
|
-
...state.entry,
|
|
18635
|
-
...order
|
|
18636
|
-
};
|
|
18637
|
-
},
|
|
18638
|
-
false
|
|
18639
|
-
// "updateOrder"
|
|
18640
|
-
);
|
|
18627
|
+
setOrderEntity((prev) => ({ ...prev, ...order }));
|
|
18641
18628
|
},
|
|
18642
18629
|
updateOrderByKey: (key, value) => {
|
|
18643
|
-
|
|
18644
|
-
(state) => {
|
|
18645
|
-
state.entry[key] = value;
|
|
18646
|
-
},
|
|
18647
|
-
false
|
|
18648
|
-
// "updateOrderByKey"
|
|
18649
|
-
);
|
|
18650
|
-
},
|
|
18651
|
-
restoreOrder: (order) => {
|
|
18652
|
-
set(
|
|
18653
|
-
(state) => {
|
|
18654
|
-
state.entry = order;
|
|
18655
|
-
},
|
|
18656
|
-
false
|
|
18657
|
-
// "restoreOrder"
|
|
18658
|
-
);
|
|
18630
|
+
setOrderEntity((prev) => ({ ...prev, [key]: value }));
|
|
18659
18631
|
},
|
|
18660
18632
|
resetOrder: (_order) => {
|
|
18661
|
-
|
|
18662
|
-
|
|
18663
|
-
|
|
18664
|
-
|
|
18665
|
-
|
|
18666
|
-
|
|
18667
|
-
|
|
18668
|
-
|
|
18669
|
-
|
|
18670
|
-
|
|
18671
|
-
|
|
18672
|
-
|
|
18673
|
-
|
|
18674
|
-
|
|
18675
|
-
|
|
18676
|
-
|
|
18677
|
-
|
|
18678
|
-
|
|
18633
|
+
setOrderEntity((prev) => ({
|
|
18634
|
+
...prev,
|
|
18635
|
+
order_price: "",
|
|
18636
|
+
order_quantity: "",
|
|
18637
|
+
trigger_price: "",
|
|
18638
|
+
total: "",
|
|
18639
|
+
tp_trigger_price: "",
|
|
18640
|
+
tp_pnl: "",
|
|
18641
|
+
tp_offset: "",
|
|
18642
|
+
tp_offset_percentage: "",
|
|
18643
|
+
sl_trigger_price: "",
|
|
18644
|
+
sl_pnl: "",
|
|
18645
|
+
sl_offset: "",
|
|
18646
|
+
sl_offset_percentage: ""
|
|
18647
|
+
}));
|
|
18648
|
+
},
|
|
18649
|
+
hasTP_SL: () => {
|
|
18650
|
+
const order = orderEntity;
|
|
18651
|
+
return typeof order.tp_trigger_price !== "undefined" || typeof order.sl_trigger_price !== "undefined";
|
|
18679
18652
|
}
|
|
18680
|
-
}
|
|
18681
|
-
|
|
18682
|
-
);
|
|
18683
|
-
var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
18684
|
-
const { symbolInfo, symbolLeverage } = options;
|
|
18685
|
-
const orderEntity = useOrderStore((state) => state.entry);
|
|
18686
|
-
const orderEntryActions = useOrderStore((state) => state.actions);
|
|
18653
|
+
}),
|
|
18654
|
+
[orderEntity]
|
|
18655
|
+
);
|
|
18687
18656
|
React.useEffect(() => {
|
|
18688
|
-
|
|
18657
|
+
actions.initOrder(symbol, options.initialOrder);
|
|
18689
18658
|
if (options.initialOrder) {
|
|
18690
|
-
|
|
18659
|
+
actions.updateOrder(options.initialOrder);
|
|
18691
18660
|
}
|
|
18692
18661
|
}, [symbol]);
|
|
18693
18662
|
const calculate2 = React.useCallback(
|
|
@@ -18705,10 +18674,10 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
|
18705
18674
|
);
|
|
18706
18675
|
const setValue = (key, value, additional) => {
|
|
18707
18676
|
if (!symbolInfo) {
|
|
18708
|
-
|
|
18677
|
+
actions.updateOrderByKey(key, value);
|
|
18709
18678
|
return;
|
|
18710
18679
|
}
|
|
18711
|
-
const currentEntry =
|
|
18680
|
+
const currentEntry = orderEntity;
|
|
18712
18681
|
const { markPrice } = additional ?? { markPrice: 0 };
|
|
18713
18682
|
let newValues = calculate2(
|
|
18714
18683
|
{ ...currentEntry },
|
|
@@ -18742,7 +18711,7 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
|
18742
18711
|
if (sl_ROI) {
|
|
18743
18712
|
newValues.sl_ROI = sl_ROI;
|
|
18744
18713
|
}
|
|
18745
|
-
|
|
18714
|
+
actions.updateOrder(newValues);
|
|
18746
18715
|
return newValues;
|
|
18747
18716
|
};
|
|
18748
18717
|
const calculateTPSL = (key, newValues, markPrice, symbolInfo2) => {
|
|
@@ -18789,11 +18758,10 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
|
18789
18758
|
};
|
|
18790
18759
|
const setValues = (values, additional) => {
|
|
18791
18760
|
if (!symbolInfo) {
|
|
18792
|
-
|
|
18761
|
+
actions.updateOrder(values);
|
|
18793
18762
|
return;
|
|
18794
18763
|
}
|
|
18795
|
-
|
|
18796
|
-
let newValues = { ...currentEntry };
|
|
18764
|
+
let newValues = { ...orderEntity };
|
|
18797
18765
|
Object.keys(values).forEach((key) => {
|
|
18798
18766
|
newValues = calculate2(
|
|
18799
18767
|
newValues,
|
|
@@ -18803,30 +18771,28 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
|
18803
18771
|
symbolInfo
|
|
18804
18772
|
);
|
|
18805
18773
|
});
|
|
18806
|
-
|
|
18774
|
+
actions.updateOrder(newValues);
|
|
18807
18775
|
return newValues;
|
|
18808
18776
|
};
|
|
18809
18777
|
const setValuesRaw = (values) => {
|
|
18810
18778
|
if (!symbolInfo) {
|
|
18811
|
-
|
|
18779
|
+
actions.updateOrder(values);
|
|
18812
18780
|
return;
|
|
18813
18781
|
}
|
|
18814
|
-
const currentEntry = useOrderStore.getState().entry;
|
|
18815
18782
|
const newValues = {
|
|
18816
|
-
...
|
|
18783
|
+
...orderEntity,
|
|
18817
18784
|
...values
|
|
18818
18785
|
};
|
|
18819
|
-
|
|
18786
|
+
actions.updateOrder(newValues);
|
|
18820
18787
|
return newValues;
|
|
18821
18788
|
};
|
|
18822
18789
|
const onMarkPriceUpdated = React.useCallback(
|
|
18823
18790
|
(markPrice, baseOn = []) => {
|
|
18824
18791
|
if (!options.symbolInfo) return;
|
|
18825
|
-
|
|
18826
|
-
let newValues = { ...currentEntry };
|
|
18792
|
+
let newValues = { ...orderEntity };
|
|
18827
18793
|
if (baseOn.length === 0) {
|
|
18828
18794
|
newValues = calculate2(
|
|
18829
|
-
{ ...
|
|
18795
|
+
{ ...orderEntity },
|
|
18830
18796
|
"order_price",
|
|
18831
18797
|
markPrice,
|
|
18832
18798
|
markPrice,
|
|
@@ -18837,7 +18803,7 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
|
18837
18803
|
newValues = calculate2(
|
|
18838
18804
|
{ ...newValues },
|
|
18839
18805
|
key,
|
|
18840
|
-
|
|
18806
|
+
orderEntity[key],
|
|
18841
18807
|
markPrice,
|
|
18842
18808
|
options.symbolInfo
|
|
18843
18809
|
);
|
|
@@ -18856,9 +18822,9 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
|
18856
18822
|
newValues.sl_ROI = sl_ROI;
|
|
18857
18823
|
}
|
|
18858
18824
|
}
|
|
18859
|
-
|
|
18825
|
+
actions.updateOrder(newValues);
|
|
18860
18826
|
},
|
|
18861
|
-
[calculate2, options.symbolInfo,
|
|
18827
|
+
[calculate2, options.symbolInfo, symbolLeverage, orderEntity]
|
|
18862
18828
|
);
|
|
18863
18829
|
const validate = (order, creator, options2) => {
|
|
18864
18830
|
return creator?.validate(order, {
|
|
@@ -18876,7 +18842,7 @@ var useOrderEntryNextInternal = (symbol, options = {}) => {
|
|
|
18876
18842
|
const submitOrder = React.useCallback(() => {
|
|
18877
18843
|
}, [orderEntity]);
|
|
18878
18844
|
const resetOrder = (order) => {
|
|
18879
|
-
|
|
18845
|
+
actions.resetOrder(order);
|
|
18880
18846
|
};
|
|
18881
18847
|
return {
|
|
18882
18848
|
formattedOrder: orderEntity,
|
|
@@ -18919,8 +18885,7 @@ var useOrderEntry2 = (symbol, options = {}) => {
|
|
|
18919
18885
|
const symbolConfig = useSymbolsInfo();
|
|
18920
18886
|
const accountInfo = useAccountInfo();
|
|
18921
18887
|
const positions3 = usePositions();
|
|
18922
|
-
const
|
|
18923
|
-
const effectiveMarginMode = options?.initialOrder?.margin_mode ?? entry?.margin_mode ?? types.MarginMode.CROSS;
|
|
18888
|
+
const effectiveMarginMode = options?.initialOrder?.margin_mode ?? types.MarginMode.CROSS;
|
|
18924
18889
|
const symbolLeverage = useLeverageBySymbol(symbol, effectiveMarginMode);
|
|
18925
18890
|
const symbolInfo = symbolConfig[symbol]();
|
|
18926
18891
|
const markPrice = actions.getMarkPriceBySymbol(symbol);
|
|
@@ -19364,6 +19329,107 @@ var useOrderEntry2 = (symbol, options = {}) => {
|
|
|
19364
19329
|
symbolLeverage
|
|
19365
19330
|
};
|
|
19366
19331
|
};
|
|
19332
|
+
var initialOrderState2 = {
|
|
19333
|
+
order_price: "",
|
|
19334
|
+
order_quantity: "",
|
|
19335
|
+
trigger_price: "",
|
|
19336
|
+
tp_trigger_price: "",
|
|
19337
|
+
sl_trigger_price: "",
|
|
19338
|
+
total: "",
|
|
19339
|
+
symbol: ""
|
|
19340
|
+
};
|
|
19341
|
+
var useOrderStore = zustand.create()(
|
|
19342
|
+
immer.immer((set, get3) => ({
|
|
19343
|
+
entry: {
|
|
19344
|
+
side: types.OrderSide.BUY,
|
|
19345
|
+
order_type: types.OrderType.LIMIT,
|
|
19346
|
+
...initialOrderState2
|
|
19347
|
+
},
|
|
19348
|
+
estLeverage: null,
|
|
19349
|
+
estLiquidationPrice: null,
|
|
19350
|
+
errors: {},
|
|
19351
|
+
actions: {
|
|
19352
|
+
initOrder: (symbol, options) => {
|
|
19353
|
+
set((state) => {
|
|
19354
|
+
state.entry = {
|
|
19355
|
+
...initialOrderState2,
|
|
19356
|
+
symbol,
|
|
19357
|
+
side: options?.side ?? types.OrderSide.BUY,
|
|
19358
|
+
order_type: options?.order_type ?? types.OrderType.LIMIT,
|
|
19359
|
+
margin_mode: options?.margin_mode ?? types.MarginMode.CROSS
|
|
19360
|
+
};
|
|
19361
|
+
state.estLeverage = null;
|
|
19362
|
+
state.estLiquidationPrice = null;
|
|
19363
|
+
state.errors = {};
|
|
19364
|
+
});
|
|
19365
|
+
},
|
|
19366
|
+
hasTP_SL: () => {
|
|
19367
|
+
const order = get3().entry;
|
|
19368
|
+
return typeof order.tp_trigger_price !== "undefined" || typeof order.sl_trigger_price !== "undefined";
|
|
19369
|
+
},
|
|
19370
|
+
updateOrderComputed: (data) => {
|
|
19371
|
+
set(
|
|
19372
|
+
(state) => {
|
|
19373
|
+
state.estLeverage = data.estLeverage;
|
|
19374
|
+
state.estLiquidationPrice = data.estLiquidationPrice;
|
|
19375
|
+
},
|
|
19376
|
+
false
|
|
19377
|
+
// "updateOrderComputed"
|
|
19378
|
+
);
|
|
19379
|
+
},
|
|
19380
|
+
updateOrder: (order) => {
|
|
19381
|
+
set(
|
|
19382
|
+
(state) => {
|
|
19383
|
+
state.entry = {
|
|
19384
|
+
...state.entry,
|
|
19385
|
+
...order
|
|
19386
|
+
};
|
|
19387
|
+
},
|
|
19388
|
+
false
|
|
19389
|
+
// "updateOrder"
|
|
19390
|
+
);
|
|
19391
|
+
},
|
|
19392
|
+
updateOrderByKey: (key, value) => {
|
|
19393
|
+
set(
|
|
19394
|
+
(state) => {
|
|
19395
|
+
state.entry[key] = value;
|
|
19396
|
+
},
|
|
19397
|
+
false
|
|
19398
|
+
// "updateOrderByKey"
|
|
19399
|
+
);
|
|
19400
|
+
},
|
|
19401
|
+
restoreOrder: (order) => {
|
|
19402
|
+
set(
|
|
19403
|
+
(state) => {
|
|
19404
|
+
state.entry = order;
|
|
19405
|
+
},
|
|
19406
|
+
false
|
|
19407
|
+
// "restoreOrder"
|
|
19408
|
+
);
|
|
19409
|
+
},
|
|
19410
|
+
resetOrder: (_order) => {
|
|
19411
|
+
set(
|
|
19412
|
+
(state) => {
|
|
19413
|
+
state.entry.order_price = "";
|
|
19414
|
+
state.entry.order_quantity = "";
|
|
19415
|
+
state.entry.trigger_price = "";
|
|
19416
|
+
state.entry.total = "";
|
|
19417
|
+
state.entry.tp_trigger_price = "";
|
|
19418
|
+
state.entry.tp_pnl = "";
|
|
19419
|
+
state.entry.tp_offset = "";
|
|
19420
|
+
state.entry.tp_offset_percentage = "";
|
|
19421
|
+
state.entry.sl_trigger_price = "";
|
|
19422
|
+
state.entry.sl_pnl = "";
|
|
19423
|
+
state.entry.sl_offset = "";
|
|
19424
|
+
state.entry.sl_offset_percentage = "";
|
|
19425
|
+
},
|
|
19426
|
+
true
|
|
19427
|
+
// "resetOrder"
|
|
19428
|
+
);
|
|
19429
|
+
}
|
|
19430
|
+
}
|
|
19431
|
+
}))
|
|
19432
|
+
);
|
|
19367
19433
|
var useOrderEntity = (order, options) => {
|
|
19368
19434
|
const { symbol } = order;
|
|
19369
19435
|
const { maxQty } = options || {};
|