@orderly.network/hooks 1.2.0 → 1.3.2
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/esm/configProvider.d.ts +7 -1
- package/esm/configProvider.d.ts.map +1 -1
- package/esm/configProvider.js +44 -18
- package/esm/configProvider.js.map +1 -0
- package/esm/dataProvider.js +24 -19
- package/esm/dataProvider.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -1
- package/esm/index.js.map +1 -0
- package/esm/middleware/signatureMiddleware.js +9 -8
- package/esm/middleware/signatureMiddleware.js.map +1 -0
- package/esm/orderly/orderbook.service.js +39 -28
- package/esm/orderly/orderbook.service.js.map +1 -0
- package/esm/orderly/orderlyHooks.d.ts +3 -0
- package/esm/orderly/orderlyHooks.d.ts.map +1 -1
- package/esm/orderly/orderlyHooks.js +2 -0
- package/esm/orderly/orderlyHooks.js.map +1 -0
- package/esm/orderly/useAccountInfo.js +3 -1
- package/esm/orderly/useAccountInfo.js.map +1 -0
- package/esm/orderly/useChain.js +16 -9
- package/esm/orderly/useChain.js.map +1 -0
- package/esm/orderly/useChains.d.ts +11 -12
- package/esm/orderly/useChains.d.ts.map +1 -1
- package/esm/orderly/useChains.js +68 -46
- package/esm/orderly/useChains.js.map +1 -0
- package/esm/orderly/useCollateral.d.ts +3 -4
- package/esm/orderly/useCollateral.d.ts.map +1 -1
- package/esm/orderly/useCollateral.js +53 -20
- package/esm/orderly/useCollateral.js.map +1 -0
- package/esm/orderly/useDeposit.js +123 -125
- package/esm/orderly/useDeposit.js.map +1 -0
- package/esm/orderly/useFundingRate.js +14 -13
- package/esm/orderly/useFundingRate.js.map +1 -0
- package/esm/orderly/useFundingRates.js +6 -4
- package/esm/orderly/useFundingRates.js.map +1 -0
- package/esm/orderly/useHoldingStream.js +19 -15
- package/esm/orderly/useHoldingStream.js.map +1 -0
- package/esm/orderly/useIndexPrice.js +7 -5
- package/esm/orderly/useIndexPrice.js.map +1 -0
- package/esm/orderly/useLeverage.js +9 -12
- package/esm/orderly/useLeverage.js.map +1 -0
- package/esm/orderly/useMarginRatio.js +27 -13
- package/esm/orderly/useMarginRatio.js.map +1 -0
- package/esm/orderly/useMarkPrice.js +13 -7
- package/esm/orderly/useMarkPrice.js.map +1 -0
- package/esm/orderly/useMarkPricesStream.d.ts +1 -1
- package/esm/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/esm/orderly/useMarkPricesStream.js +9 -8
- package/esm/orderly/useMarkPricesStream.js.map +1 -0
- package/esm/orderly/useMarketTradeStream.js +33 -18
- package/esm/orderly/useMarketTradeStream.js.map +1 -0
- package/esm/orderly/useMarkets.js +144 -81
- package/esm/orderly/useMarkets.js.map +1 -0
- package/esm/orderly/useMarketsStream.js +23 -28
- package/esm/orderly/useMarketsStream.js.map +1 -0
- package/esm/orderly/useMaxQty.d.ts +6 -0
- package/esm/orderly/useMaxQty.d.ts.map +1 -1
- package/esm/orderly/useMaxQty.js +26 -18
- package/esm/orderly/useMaxQty.js.map +1 -0
- package/esm/orderly/useOpenInterest.js +7 -5
- package/esm/orderly/useOpenInterest.js.map +1 -0
- package/esm/orderly/useOrderEntry.js +182 -160
- package/esm/orderly/useOrderEntry.js.map +1 -0
- package/esm/orderly/useOrderStream.js +85 -66
- package/esm/orderly/useOrderStream.js.map +1 -0
- package/esm/orderly/useOrderbookStream.d.ts +2 -3
- package/esm/orderly/useOrderbookStream.d.ts.map +1 -1
- package/esm/orderly/useOrderbookStream.js +173 -103
- package/esm/orderly/useOrderbookStream.js.map +1 -0
- package/esm/orderly/usePositionStream.js +82 -62
- package/esm/orderly/usePositionStream.js.map +1 -0
- package/esm/orderly/usePrivateDataObserver.js +55 -48
- package/esm/orderly/usePrivateDataObserver.js.map +1 -0
- package/esm/orderly/useSettleSubscription.js +8 -6
- package/esm/orderly/useSettleSubscription.js.map +1 -0
- package/esm/orderly/useSymbolPriceRange.js +14 -8
- package/esm/orderly/useSymbolPriceRange.js.map +1 -0
- package/esm/orderly/useSymbolsInfo.js +7 -5
- package/esm/orderly/useSymbolsInfo.js.map +1 -0
- package/esm/orderly/useTickerStream.d.ts +5 -1
- package/esm/orderly/useTickerStream.d.ts.map +1 -1
- package/esm/orderly/useTickerStream.js +26 -29
- package/esm/orderly/useTickerStream.js.map +1 -0
- package/esm/orderly/useWalletSubscription.js +8 -6
- package/esm/orderly/useWalletSubscription.js.map +1 -0
- package/esm/orderly/useWithdraw.js +19 -11
- package/esm/orderly/useWithdraw.js.map +1 -0
- package/esm/orderlyContext.d.ts +8 -1
- package/esm/orderlyContext.d.ts.map +1 -1
- package/esm/orderlyContext.js +2 -1
- package/esm/orderlyContext.js.map +1 -0
- package/esm/services/dataCenter.js +10 -8
- package/esm/services/dataCenter.js.map +1 -0
- package/esm/services/painter/backgroundPaint.js +11 -14
- package/esm/services/painter/backgroundPaint.js.map +1 -0
- package/esm/services/painter/basePaint.js +5 -1
- package/esm/services/painter/basePaint.js.map +1 -0
- package/esm/services/painter/dataPaint.js +53 -50
- package/esm/services/painter/dataPaint.js.map +1 -0
- package/esm/services/painter/layout.config.js +15 -13
- package/esm/services/painter/layout.config.js.map +1 -0
- package/esm/services/painter/painter.js +14 -13
- package/esm/services/painter/painter.js.map +1 -0
- package/esm/services/painter/resource.js +6 -4
- package/esm/services/painter/resource.js.map +1 -0
- package/esm/statusProvider.js +10 -3
- package/esm/statusProvider.js.map +1 -0
- package/esm/unuse/apiPrefixMiddleware.js +18 -16
- package/esm/unuse/apiPrefixMiddleware.js.map +1 -0
- package/esm/unuse/fn.js +3 -1
- package/esm/unuse/fn.js.map +1 -0
- package/esm/unuse/useBalance.js +6 -4
- package/esm/unuse/useBalance.js.map +1 -0
- package/esm/unuse/useFetures.js +26 -18
- package/esm/unuse/useFetures.js.map +1 -0
- package/esm/unuse/useRunOnce.js +10 -7
- package/esm/unuse/useRunOnce.js.map +1 -0
- package/esm/unuse/useSyncEnd.js +5 -4
- package/esm/unuse/useSyncEnd.js.map +1 -0
- package/esm/unuse/useTokenInfo.js +7 -5
- package/esm/unuse/useTokenInfo.js.map +1 -0
- package/esm/unuse/useUnsettlementPnL.js +7 -3
- package/esm/unuse/useUnsettlementPnL.js.map +1 -0
- package/esm/useAccount.js +18 -21
- package/esm/useAccount.js.map +1 -0
- package/esm/useAccountInstance.js +6 -7
- package/esm/useAccountInstance.js.map +1 -0
- package/esm/useBoolean.js +14 -5
- package/esm/useBoolean.js.map +1 -0
- package/esm/useConfig.js +3 -1
- package/esm/useConfig.js.map +1 -0
- package/esm/useEventEmitter.js +4 -2
- package/esm/useEventEmitter.js.map +1 -0
- package/esm/useLazyQuery.js +6 -7
- package/esm/useLazyQuery.js.map +1 -0
- package/esm/useLocalStorage.js +30 -20
- package/esm/useLocalStorage.js.map +1 -0
- package/esm/useMediaQuery.js +11 -9
- package/esm/useMediaQuery.js.map +1 -0
- package/esm/useMutation.js +26 -37
- package/esm/useMutation.js.map +1 -0
- package/esm/useObserve.js +4 -4
- package/esm/useObserve.js.map +1 -0
- package/esm/useParamsCheck.js +8 -10
- package/esm/useParamsCheck.js.map +1 -0
- package/esm/usePoster.js +56 -45
- package/esm/usePoster.js.map +1 -0
- package/esm/usePreloadData.js +9 -5
- package/esm/usePreloadData.js.map +1 -0
- package/esm/usePrivateInfiniteQuery.js +15 -9
- package/esm/usePrivateInfiniteQuery.js.map +1 -0
- package/esm/usePrivateQuery.js +15 -8
- package/esm/usePrivateQuery.js.map +1 -0
- package/esm/useQuery.js +6 -5
- package/esm/useQuery.js.map +1 -0
- package/esm/useSessionStorage.js +28 -19
- package/esm/useSessionStorage.js.map +1 -0
- package/esm/useWS.js +15 -13
- package/esm/useWS.js.map +1 -0
- package/esm/useWsStatus.js +12 -12
- package/esm/useWsStatus.js.map +1 -0
- package/esm/utils/createGetter.js +8 -8
- package/esm/utils/createGetter.js.map +1 -0
- package/esm/utils/createOrder.d.ts +1 -0
- package/esm/utils/createOrder.d.ts.map +1 -1
- package/esm/utils/createOrder.js +59 -43
- package/esm/utils/createOrder.js.map +1 -0
- package/esm/utils/dev.js +6 -4
- package/esm/utils/dev.js.map +1 -0
- package/esm/utils/fetcher.js +3 -1
- package/esm/utils/fetcher.js.map +1 -0
- package/esm/utils/json.js +3 -2
- package/esm/utils/json.js.map +1 -0
- package/esm/utils/orderEntryHelper.js +92 -63
- package/esm/utils/orderEntryHelper.js.map +1 -0
- package/esm/utils/parseHolding.js +10 -6
- package/esm/utils/parseHolding.js.map +1 -0
- package/esm/utils/swr.js +114 -104
- package/esm/utils/swr.js.map +1 -0
- package/esm/version.d.ts +1 -1
- package/esm/version.js +4 -3
- package/esm/version.js.map +1 -0
- package/esm/walletConnectorContext.js +4 -2
- package/esm/walletConnectorContext.js.map +1 -0
- package/lib/configProvider.d.ts +7 -1
- package/lib/configProvider.d.ts.map +1 -1
- package/lib/configProvider.js +108 -56
- package/lib/configProvider.js.map +1 -0
- package/lib/dataProvider.js +50 -29
- package/lib/dataProvider.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +191 -88
- package/lib/index.js.map +1 -0
- package/lib/middleware/signatureMiddleware.js +22 -15
- package/lib/middleware/signatureMiddleware.js.map +1 -0
- package/lib/orderly/orderbook.service.js +59 -33
- package/lib/orderly/orderbook.service.js.map +1 -0
- package/lib/orderly/orderlyHooks.d.ts +3 -0
- package/lib/orderly/orderlyHooks.d.ts.map +1 -1
- package/lib/orderly/orderlyHooks.js +124 -57
- package/lib/orderly/orderlyHooks.js.map +1 -0
- package/lib/orderly/useAccountInfo.js +14 -6
- package/lib/orderly/useAccountInfo.js.map +1 -0
- package/lib/orderly/useChain.js +30 -17
- package/lib/orderly/useChain.js.map +1 -0
- package/lib/orderly/useChains.d.ts +11 -12
- package/lib/orderly/useChains.d.ts.map +1 -1
- package/lib/orderly/useChains.js +100 -59
- package/lib/orderly/useChains.js.map +1 -0
- package/lib/orderly/useCollateral.d.ts +3 -4
- package/lib/orderly/useCollateral.d.ts.map +1 -1
- package/lib/orderly/useCollateral.js +81 -42
- package/lib/orderly/useCollateral.js.map +1 -0
- package/lib/orderly/useDeposit.js +154 -150
- package/lib/orderly/useDeposit.js.map +1 -0
- package/lib/orderly/useFundingRate.js +29 -22
- package/lib/orderly/useFundingRate.js.map +1 -0
- package/lib/orderly/useFundingRates.js +19 -11
- package/lib/orderly/useFundingRates.js.map +1 -0
- package/lib/orderly/useHoldingStream.js +39 -27
- package/lib/orderly/useHoldingStream.js.map +1 -0
- package/lib/orderly/useIndexPrice.js +24 -14
- package/lib/orderly/useIndexPrice.js.map +1 -0
- package/lib/orderly/useLeverage.js +27 -24
- package/lib/orderly/useLeverage.js.map +1 -0
- package/lib/orderly/useMarginRatio.js +49 -29
- package/lib/orderly/useMarginRatio.js.map +1 -0
- package/lib/orderly/useMarkPrice.js +26 -15
- package/lib/orderly/useMarkPrice.js.map +1 -0
- package/lib/orderly/useMarkPricesStream.d.ts +1 -1
- package/lib/orderly/useMarkPricesStream.d.ts.map +1 -1
- package/lib/orderly/useMarkPricesStream.js +26 -17
- package/lib/orderly/useMarkPricesStream.js.map +1 -0
- package/lib/orderly/useMarketTradeStream.js +47 -26
- package/lib/orderly/useMarketTradeStream.js.map +1 -0
- package/lib/orderly/useMarkets.js +172 -95
- package/lib/orderly/useMarkets.js.map +1 -0
- package/lib/orderly/useMarketsStream.js +44 -41
- package/lib/orderly/useMarketsStream.js.map +1 -0
- package/lib/orderly/useMaxQty.d.ts +6 -0
- package/lib/orderly/useMaxQty.d.ts.map +1 -1
- package/lib/orderly/useMaxQty.js +52 -43
- package/lib/orderly/useMaxQty.js.map +1 -0
- package/lib/orderly/useOpenInterest.js +24 -14
- package/lib/orderly/useOpenInterest.js.map +1 -0
- package/lib/orderly/useOrderEntry.js +238 -210
- package/lib/orderly/useOrderEntry.js.map +1 -0
- package/lib/orderly/useOrderStream.js +111 -84
- package/lib/orderly/useOrderStream.js.map +1 -0
- package/lib/orderly/useOrderbookStream.d.ts +2 -3
- package/lib/orderly/useOrderbookStream.d.ts.map +1 -1
- package/lib/orderly/useOrderbookStream.js +227 -148
- package/lib/orderly/useOrderbookStream.js.map +1 -0
- package/lib/orderly/usePositionStream.js +134 -100
- package/lib/orderly/usePositionStream.js.map +1 -0
- package/lib/orderly/usePrivateDataObserver.js +76 -63
- package/lib/orderly/usePrivateDataObserver.js.map +1 -0
- package/lib/orderly/useSettleSubscription.js +25 -15
- package/lib/orderly/useSettleSubscription.js.map +1 -0
- package/lib/orderly/useSymbolPriceRange.js +29 -23
- package/lib/orderly/useSymbolPriceRange.js.map +1 -0
- package/lib/orderly/useSymbolsInfo.js +23 -15
- package/lib/orderly/useSymbolsInfo.js.map +1 -0
- package/lib/orderly/useTickerStream.d.ts +5 -1
- package/lib/orderly/useTickerStream.d.ts.map +1 -1
- package/lib/orderly/useTickerStream.js +51 -48
- package/lib/orderly/useTickerStream.js.map +1 -0
- package/lib/orderly/useWalletSubscription.js +25 -15
- package/lib/orderly/useWalletSubscription.js.map +1 -0
- package/lib/orderly/useWithdraw.js +36 -22
- package/lib/orderly/useWithdraw.js.map +1 -0
- package/lib/orderlyContext.d.ts +8 -1
- package/lib/orderlyContext.d.ts.map +1 -1
- package/lib/orderlyContext.js +22 -6
- package/lib/orderlyContext.js.map +1 -0
- package/lib/services/dataCenter.js +15 -11
- package/lib/services/dataCenter.js.map +1 -0
- package/lib/services/painter/backgroundPaint.js +21 -18
- package/lib/services/painter/backgroundPaint.js.map +1 -0
- package/lib/services/painter/basePaint.js +14 -4
- package/lib/services/painter/basePaint.js.map +1 -0
- package/lib/services/painter/dataPaint.js +67 -58
- package/lib/services/painter/dataPaint.js.map +1 -0
- package/lib/services/painter/layout.config.js +25 -16
- package/lib/services/painter/layout.config.js.map +1 -0
- package/lib/services/painter/painter.js +27 -20
- package/lib/services/painter/painter.js.map +1 -0
- package/lib/services/painter/resource.js +15 -7
- package/lib/services/painter/resource.js.map +1 -0
- package/lib/statusProvider.js +31 -10
- package/lib/statusProvider.js.map +1 -0
- package/lib/unuse/apiPrefixMiddleware.js +30 -22
- package/lib/unuse/apiPrefixMiddleware.js.map +1 -0
- package/lib/unuse/fn.js +14 -5
- package/lib/unuse/fn.js.map +1 -0
- package/lib/unuse/useBalance.js +23 -13
- package/lib/unuse/useBalance.js.map +1 -0
- package/lib/unuse/useFetures.js +41 -28
- package/lib/unuse/useFetures.js.map +1 -0
- package/lib/unuse/useRunOnce.js +61 -11
- package/lib/unuse/useRunOnce.js.map +1 -0
- package/lib/unuse/useSyncEnd.js +17 -10
- package/lib/unuse/useSyncEnd.js.map +1 -0
- package/lib/unuse/useTokenInfo.js +20 -12
- package/lib/unuse/useTokenInfo.js.map +1 -0
- package/lib/unuse/useUnsettlementPnL.js +21 -11
- package/lib/unuse/useUnsettlementPnL.js.map +1 -0
- package/lib/useAccount.js +32 -29
- package/lib/useAccount.js.map +1 -0
- package/lib/useAccountInstance.js +27 -20
- package/lib/useAccountInstance.js.map +1 -0
- package/lib/useBoolean.js +25 -10
- package/lib/useBoolean.js.map +1 -0
- package/lib/useConfig.js +15 -7
- package/lib/useConfig.js.map +1 -0
- package/lib/useEventEmitter.js +23 -13
- package/lib/useEventEmitter.js.map +1 -0
- package/lib/useLazyQuery.js +25 -23
- package/lib/useLazyQuery.js.map +1 -0
- package/lib/useLocalStorage.js +44 -28
- package/lib/useLocalStorage.js.map +1 -0
- package/lib/useMediaQuery.js +22 -14
- package/lib/useMediaQuery.js.map +1 -0
- package/lib/useMutation.js +47 -52
- package/lib/useMutation.js.map +1 -0
- package/lib/useObserve.js +22 -8
- package/lib/useObserve.js.map +1 -0
- package/lib/useParamsCheck.js +18 -14
- package/lib/useParamsCheck.js.map +1 -0
- package/lib/usePoster.js +80 -74
- package/lib/usePoster.js.map +1 -0
- package/lib/usePreloadData.js +21 -11
- package/lib/usePreloadData.js.map +1 -0
- package/lib/usePrivateInfiniteQuery.js +36 -22
- package/lib/usePrivateInfiniteQuery.js.map +1 -0
- package/lib/usePrivateQuery.js +35 -25
- package/lib/usePrivateQuery.js.map +1 -0
- package/lib/useQuery.js +24 -20
- package/lib/useQuery.js.map +1 -0
- package/lib/useSessionStorage.js +41 -26
- package/lib/useSessionStorage.js.map +1 -0
- package/lib/useWS.js +42 -32
- package/lib/useWS.js.map +1 -0
- package/lib/useWsStatus.js +34 -20
- package/lib/useWsStatus.js.map +1 -0
- package/lib/utils/createGetter.js +19 -14
- package/lib/utils/createGetter.js.map +1 -0
- package/lib/utils/createOrder.d.ts +1 -0
- package/lib/utils/createOrder.d.ts.map +1 -1
- package/lib/utils/createOrder.js +133 -82
- package/lib/utils/createOrder.js.map +1 -0
- package/lib/utils/dev.js +13 -9
- package/lib/utils/dev.js.map +1 -0
- package/lib/utils/fetcher.js +13 -5
- package/lib/utils/fetcher.js.map +1 -0
- package/lib/utils/json.js +12 -5
- package/lib/utils/json.js.map +1 -0
- package/lib/utils/orderEntryHelper.js +125 -82
- package/lib/utils/orderEntryHelper.js.map +1 -0
- package/lib/utils/parseHolding.js +19 -9
- package/lib/utils/parseHolding.js.map +1 -0
- package/lib/utils/swr.js +134 -111
- package/lib/utils/swr.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +13 -4
- package/lib/version.js.map +1 -0
- package/lib/walletConnectorContext.js +23 -7
- package/lib/walletConnectorContext.js.map +1 -0
- package/package.json +17 -9
package/lib/utils/createOrder.js
CHANGED
|
@@ -1,23 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
BaseOrderCreator: function() {
|
|
13
|
+
return BaseOrderCreator;
|
|
14
|
+
},
|
|
15
|
+
FOKOrderCreator: function() {
|
|
16
|
+
return FOKOrderCreator;
|
|
17
|
+
},
|
|
18
|
+
GeneralOrderCreator: function() {
|
|
19
|
+
return GeneralOrderCreator;
|
|
20
|
+
},
|
|
21
|
+
IOCOrderCreator: function() {
|
|
22
|
+
return IOCOrderCreator;
|
|
23
|
+
},
|
|
24
|
+
LimitOrderCreator: function() {
|
|
25
|
+
return LimitOrderCreator;
|
|
26
|
+
},
|
|
27
|
+
MarketOrderCreator: function() {
|
|
28
|
+
return MarketOrderCreator;
|
|
29
|
+
},
|
|
30
|
+
OrderFactory: function() {
|
|
31
|
+
return OrderFactory;
|
|
32
|
+
},
|
|
33
|
+
PostOnlyOrderCreator: function() {
|
|
34
|
+
return PostOnlyOrderCreator;
|
|
35
|
+
},
|
|
36
|
+
StopLimitOrderCreator: function() {
|
|
37
|
+
return StopLimitOrderCreator;
|
|
38
|
+
},
|
|
39
|
+
StopMarketOrderCreator: function() {
|
|
40
|
+
return StopMarketOrderCreator;
|
|
41
|
+
},
|
|
42
|
+
availableOrderTypes: function() {
|
|
43
|
+
return availableOrderTypes;
|
|
44
|
+
},
|
|
45
|
+
checkNotional: function() {
|
|
46
|
+
return checkNotional;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
const _types = require("@orderly.network/types");
|
|
50
|
+
const _utils = require("@orderly.network/utils");
|
|
51
|
+
const _perp = require("@orderly.network/perp");
|
|
52
|
+
const { maxPrice, minPrice, scropePrice } = _perp.order;
|
|
8
53
|
class BaseOrderCreator {
|
|
9
54
|
baseOrder(data) {
|
|
10
55
|
const order = {
|
|
11
56
|
symbol: data.symbol,
|
|
12
|
-
order_type: data.order_type ===
|
|
13
|
-
? !!data.order_type_ext
|
|
14
|
-
? data.order_type_ext
|
|
15
|
-
: data.order_type
|
|
16
|
-
: data.order_type,
|
|
57
|
+
order_type: data.order_type === _types.OrderType.LIMIT ? !!data.order_type_ext ? data.order_type_ext : data.order_type : data.order_type,
|
|
17
58
|
side: data.side,
|
|
18
59
|
reduce_only: data.reduce_only,
|
|
19
60
|
order_quantity: data.order_quantity,
|
|
20
|
-
total: data.total
|
|
61
|
+
total: data.total
|
|
21
62
|
};
|
|
22
63
|
if (data.visible_quantity === 0) {
|
|
23
64
|
order.visible_quantity = data.visible_quantity;
|
|
@@ -26,13 +67,15 @@ class BaseOrderCreator {
|
|
|
26
67
|
}
|
|
27
68
|
baseValidate(values, configs) {
|
|
28
69
|
const errors = {};
|
|
29
|
-
const { maxQty } = configs;
|
|
30
|
-
|
|
70
|
+
const { maxQty, symbol } = configs;
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
let { order_quantity, total, order_price, reduce_only } = values;
|
|
73
|
+
const { min_notional } = symbol;
|
|
31
74
|
if (!order_quantity) {
|
|
32
75
|
// calculate order_quantity from total
|
|
33
76
|
if (total && order_price) {
|
|
34
77
|
const { quote_dp } = configs.symbol;
|
|
35
|
-
const totalNumber = new
|
|
78
|
+
const totalNumber = new _utils.Decimal(total);
|
|
36
79
|
const qty = totalNumber.dividedBy(order_price).toFixed(quote_dp);
|
|
37
80
|
order_quantity = qty;
|
|
38
81
|
}
|
|
@@ -40,50 +83,54 @@ class BaseOrderCreator {
|
|
|
40
83
|
if (!order_quantity) {
|
|
41
84
|
errors.order_quantity = {
|
|
42
85
|
type: "required",
|
|
43
|
-
message: "quantity is required"
|
|
86
|
+
message: "quantity is required"
|
|
44
87
|
};
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
88
|
+
} else {
|
|
47
89
|
// need to use MaxQty+base_max, base_min to compare
|
|
48
90
|
const { base_min, quote_dp, base_dp } = configs.symbol;
|
|
49
|
-
const qty = new
|
|
91
|
+
const qty = new _utils.Decimal(order_quantity);
|
|
50
92
|
if (qty.lt(base_min)) {
|
|
51
93
|
errors.order_quantity = {
|
|
52
94
|
type: "min",
|
|
53
|
-
message: `quantity must be greater than ${new
|
|
95
|
+
message: `quantity must be greater than ${new _utils.Decimal(base_min).todp(base_dp)}`
|
|
54
96
|
};
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
else if (qty.gt(maxQty)) {
|
|
97
|
+
// errors.order_quantity = `quantity must be greater than ${base_min}`;
|
|
98
|
+
} else if (qty.gt(maxQty)) {
|
|
58
99
|
errors.order_quantity = {
|
|
59
100
|
type: "max",
|
|
60
|
-
message: `quantity must be less than ${new
|
|
101
|
+
message: `quantity must be less than ${new _utils.Decimal(maxQty).todp(base_dp)}`
|
|
61
102
|
};
|
|
62
103
|
}
|
|
63
104
|
}
|
|
64
105
|
if (!!total) {
|
|
65
106
|
const { quote_max, quote_min, quote_dp } = configs.symbol;
|
|
66
|
-
const totalNumber = new
|
|
107
|
+
const totalNumber = new _utils.Decimal(total);
|
|
67
108
|
if (totalNumber.lt(quote_min)) {
|
|
68
109
|
errors.total = {
|
|
69
110
|
type: "min",
|
|
70
|
-
message: `Quantity must be at least ${new
|
|
111
|
+
message: `Quantity must be at least ${new _utils.Decimal(quote_min).todp(quote_dp)}`
|
|
71
112
|
};
|
|
72
|
-
}
|
|
73
|
-
else if (totalNumber.gt(quote_max)) {
|
|
113
|
+
} else if (totalNumber.gt(quote_max)) {
|
|
74
114
|
errors.total = {
|
|
75
115
|
type: "max",
|
|
76
|
-
message: `Quantity should be less or equal than ${new
|
|
116
|
+
message: `Quantity should be less or equal than ${new _utils.Decimal(quote_max).todp(quote_dp)}`
|
|
77
117
|
};
|
|
78
118
|
}
|
|
79
119
|
}
|
|
120
|
+
const notionalHintStr = checkNotional(order_price, order_quantity, min_notional);
|
|
121
|
+
if (notionalHintStr !== undefined && reduce_only !== true) {
|
|
122
|
+
errors.total = {
|
|
123
|
+
type: "min",
|
|
124
|
+
message: notionalHintStr
|
|
125
|
+
};
|
|
126
|
+
}
|
|
80
127
|
return Promise.resolve(errors);
|
|
81
128
|
}
|
|
82
129
|
fixOrderQuantity(order, config) {
|
|
83
130
|
// if order_quantity is not set but total is set, calculate order_quantity from total
|
|
84
131
|
if (!order.order_quantity && order.total && order.order_price) {
|
|
85
132
|
const { base_dp } = config.symbol;
|
|
86
|
-
const totalNumber = new
|
|
133
|
+
const totalNumber = new _utils.Decimal(order.total);
|
|
87
134
|
const qty = totalNumber.div(order.order_price).toDecimalPlaces(base_dp);
|
|
88
135
|
order.order_quantity = qty.toNumber();
|
|
89
136
|
delete order.total;
|
|
@@ -91,12 +138,24 @@ class BaseOrderCreator {
|
|
|
91
138
|
return order;
|
|
92
139
|
}
|
|
93
140
|
}
|
|
94
|
-
|
|
141
|
+
function checkNotional(price, qty, minNotional) {
|
|
142
|
+
if (price !== undefined && qty !== undefined && minNotional !== undefined) {
|
|
143
|
+
try {
|
|
144
|
+
const calcNotional = new _utils.Decimal(price).mul(new _utils.Decimal(qty)).toNumber();
|
|
145
|
+
const notional = Number.parseFloat(`${minNotional}`);
|
|
146
|
+
const str = calcNotional < notional ? `The order value should be greater or equal to ${minNotional} USDC` : undefined;
|
|
147
|
+
return str;
|
|
148
|
+
} catch (e) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
95
154
|
class LimitOrderCreator extends BaseOrderCreator {
|
|
96
155
|
create(values, config) {
|
|
97
156
|
const order = {
|
|
98
157
|
...this.baseOrder(values),
|
|
99
|
-
order_price: values.order_price
|
|
158
|
+
order_price: values.order_price
|
|
100
159
|
};
|
|
101
160
|
this.fixOrderQuantity(order, config);
|
|
102
161
|
delete order['total'];
|
|
@@ -104,23 +163,22 @@ class LimitOrderCreator extends BaseOrderCreator {
|
|
|
104
163
|
delete order['isStopOrder'];
|
|
105
164
|
const { quote_dp } = config.symbol;
|
|
106
165
|
if (values.order_price) {
|
|
107
|
-
order["order_price"] = new
|
|
166
|
+
order["order_price"] = new _utils.Decimal(Number.parseFloat(values.order_price.toString())).toFixed(quote_dp, _utils.Decimal.ROUND_DOWN);
|
|
108
167
|
}
|
|
109
168
|
return order;
|
|
110
169
|
}
|
|
111
170
|
validate(values, config) {
|
|
112
|
-
return this.baseValidate(values, config).then((errors)
|
|
171
|
+
return this.baseValidate(values, config).then((errors)=>{
|
|
113
172
|
// const errors = this.baseValidate(values, config);
|
|
114
173
|
// @ts-ignore
|
|
115
174
|
const { order_price, side } = values;
|
|
116
175
|
if (!order_price) {
|
|
117
176
|
errors.order_price = {
|
|
118
177
|
type: "required",
|
|
119
|
-
message: "price is required"
|
|
178
|
+
message: "price is required"
|
|
120
179
|
};
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const price = new utils_1.Decimal(order_price);
|
|
180
|
+
} else {
|
|
181
|
+
const price = new _utils.Decimal(order_price);
|
|
124
182
|
const { symbol } = config;
|
|
125
183
|
const { price_range, price_scope } = symbol;
|
|
126
184
|
const maxPriceNumber = maxPrice(config.markPrice, price_range);
|
|
@@ -128,7 +186,7 @@ class LimitOrderCreator extends BaseOrderCreator {
|
|
|
128
186
|
const scropePriceNumbere = scropePrice(config.markPrice, price_scope, side);
|
|
129
187
|
const priceRange = side === "BUY" ? {
|
|
130
188
|
min: scropePriceNumbere,
|
|
131
|
-
max: maxPriceNumber
|
|
189
|
+
max: maxPriceNumber
|
|
132
190
|
} : {
|
|
133
191
|
min: minPriceNumber,
|
|
134
192
|
max: scropePriceNumbere
|
|
@@ -138,13 +196,13 @@ class LimitOrderCreator extends BaseOrderCreator {
|
|
|
138
196
|
if (price.gt(priceRange?.max)) {
|
|
139
197
|
errors.order_price = {
|
|
140
198
|
type: "max",
|
|
141
|
-
message: `Price must be less than ${new
|
|
199
|
+
message: `Price must be less than ${new _utils.Decimal(priceRange.max).todp(symbol.quote_dp)}`
|
|
142
200
|
};
|
|
143
201
|
}
|
|
144
202
|
if (price.lt(priceRange?.min)) {
|
|
145
203
|
errors.order_price = {
|
|
146
204
|
type: "min",
|
|
147
|
-
message: `Price must be greater than ${new
|
|
205
|
+
message: `Price must be greater than ${new _utils.Decimal(priceRange.min).todp(symbol.quote_dp)}`
|
|
148
206
|
};
|
|
149
207
|
}
|
|
150
208
|
}
|
|
@@ -152,7 +210,6 @@ class LimitOrderCreator extends BaseOrderCreator {
|
|
|
152
210
|
});
|
|
153
211
|
}
|
|
154
212
|
}
|
|
155
|
-
exports.LimitOrderCreator = LimitOrderCreator;
|
|
156
213
|
class MarketOrderCreator extends BaseOrderCreator {
|
|
157
214
|
create(values) {
|
|
158
215
|
const data = this.baseOrder(values);
|
|
@@ -161,23 +218,19 @@ class MarketOrderCreator extends BaseOrderCreator {
|
|
|
161
218
|
delete data['trigger_price'];
|
|
162
219
|
delete data['isStopOrder'];
|
|
163
220
|
return {
|
|
164
|
-
...data
|
|
221
|
+
...data
|
|
165
222
|
};
|
|
166
223
|
}
|
|
167
224
|
validate(values, configs) {
|
|
168
225
|
return this.baseValidate(values, configs);
|
|
169
226
|
}
|
|
170
227
|
}
|
|
171
|
-
exports.MarketOrderCreator = MarketOrderCreator;
|
|
172
228
|
class PostOnlyOrderCreator extends LimitOrderCreator {
|
|
173
229
|
}
|
|
174
|
-
exports.PostOnlyOrderCreator = PostOnlyOrderCreator;
|
|
175
230
|
class FOKOrderCreator extends LimitOrderCreator {
|
|
176
231
|
}
|
|
177
|
-
exports.FOKOrderCreator = FOKOrderCreator;
|
|
178
232
|
class IOCOrderCreator extends LimitOrderCreator {
|
|
179
233
|
}
|
|
180
|
-
exports.IOCOrderCreator = IOCOrderCreator;
|
|
181
234
|
class StopLimitOrderCreator extends LimitOrderCreator {
|
|
182
235
|
create(values, config) {
|
|
183
236
|
const order = {
|
|
@@ -188,7 +241,7 @@ class StopLimitOrderCreator extends LimitOrderCreator {
|
|
|
188
241
|
type: "LIMIT",
|
|
189
242
|
quantity: values["order_quantity"],
|
|
190
243
|
price: values["order_price"],
|
|
191
|
-
trigger_price_type: "MARK_PRICE"
|
|
244
|
+
trigger_price_type: "MARK_PRICE"
|
|
192
245
|
};
|
|
193
246
|
this.fixOrderQuantity(order, config);
|
|
194
247
|
delete order["order_quantity"];
|
|
@@ -200,32 +253,32 @@ class StopLimitOrderCreator extends LimitOrderCreator {
|
|
|
200
253
|
delete order['total'];
|
|
201
254
|
const { quote_dp } = config.symbol;
|
|
202
255
|
if (values.order_price) {
|
|
203
|
-
order["order_price"] = new
|
|
256
|
+
order["order_price"] = new _utils.Decimal(Number.parseFloat(values.order_price.toString())).toFixed(quote_dp, _utils.Decimal.ROUND_DOWN);
|
|
204
257
|
}
|
|
205
258
|
if (values.trigger_price) {
|
|
206
|
-
order["trigger_price"] = new
|
|
259
|
+
order["trigger_price"] = new _utils.Decimal(Number.parseFloat(values.trigger_price.toString())).toFixed(quote_dp, _utils.Decimal.ROUND_DOWN);
|
|
207
260
|
}
|
|
208
261
|
return order;
|
|
209
262
|
}
|
|
210
263
|
validate(values, config) {
|
|
211
|
-
return this.baseValidate(values, config).then((errors)
|
|
264
|
+
return this.baseValidate(values, config).then((errors)=>{
|
|
212
265
|
// const errors = this.baseValidate(values, config);
|
|
213
266
|
// @ts-ignore
|
|
214
267
|
const { order_price, trigger_price, side } = values;
|
|
215
268
|
if (!order_price) {
|
|
216
269
|
errors.order_price = {
|
|
217
270
|
type: "required",
|
|
218
|
-
message: "price is required"
|
|
271
|
+
message: "price is required"
|
|
219
272
|
};
|
|
220
273
|
}
|
|
221
274
|
if (!trigger_price) {
|
|
222
275
|
errors.trigger_price = {
|
|
223
276
|
type: "required",
|
|
224
|
-
message: "Trigger price is required"
|
|
277
|
+
message: "Trigger price is required"
|
|
225
278
|
};
|
|
226
279
|
}
|
|
227
280
|
if (trigger_price && order_price) {
|
|
228
|
-
const price = new
|
|
281
|
+
const price = new _utils.Decimal(order_price);
|
|
229
282
|
const { symbol } = config;
|
|
230
283
|
const { price_range, price_scope } = symbol;
|
|
231
284
|
const maxPriceNumber = maxPrice(trigger_price, price_range);
|
|
@@ -233,7 +286,7 @@ class StopLimitOrderCreator extends LimitOrderCreator {
|
|
|
233
286
|
const scropePriceNumbere = scropePrice(trigger_price, price_scope, side);
|
|
234
287
|
const priceRange = side === "BUY" ? {
|
|
235
288
|
min: scropePriceNumbere,
|
|
236
|
-
max: maxPriceNumber
|
|
289
|
+
max: maxPriceNumber
|
|
237
290
|
} : {
|
|
238
291
|
min: minPriceNumber,
|
|
239
292
|
max: scropePriceNumbere
|
|
@@ -243,13 +296,13 @@ class StopLimitOrderCreator extends LimitOrderCreator {
|
|
|
243
296
|
if (price.gt(priceRange?.max)) {
|
|
244
297
|
errors.order_price = {
|
|
245
298
|
type: "max",
|
|
246
|
-
message: `Price must be less than ${new
|
|
299
|
+
message: `Price must be less than ${new _utils.Decimal(priceRange.max).todp(symbol.quote_dp)}`
|
|
247
300
|
};
|
|
248
301
|
}
|
|
249
302
|
if (price.lt(priceRange?.min)) {
|
|
250
303
|
errors.order_price = {
|
|
251
304
|
type: "min",
|
|
252
|
-
message: `Price must be greater than ${new
|
|
305
|
+
message: `Price must be greater than ${new _utils.Decimal(priceRange.min).todp(symbol.quote_dp)}`
|
|
253
306
|
};
|
|
254
307
|
}
|
|
255
308
|
}
|
|
@@ -257,7 +310,6 @@ class StopLimitOrderCreator extends LimitOrderCreator {
|
|
|
257
310
|
});
|
|
258
311
|
}
|
|
259
312
|
}
|
|
260
|
-
exports.StopLimitOrderCreator = StopLimitOrderCreator;
|
|
261
313
|
class StopMarketOrderCreator extends LimitOrderCreator {
|
|
262
314
|
create(values, _) {
|
|
263
315
|
const result = {
|
|
@@ -268,7 +320,7 @@ class StopMarketOrderCreator extends LimitOrderCreator {
|
|
|
268
320
|
type: "MARKET",
|
|
269
321
|
quantity: values["order_quantity"],
|
|
270
322
|
// price: values["order_price"],
|
|
271
|
-
trigger_price_type: "MARK_PRICE"
|
|
323
|
+
trigger_price_type: "MARK_PRICE"
|
|
272
324
|
};
|
|
273
325
|
delete result["order_quantity"];
|
|
274
326
|
delete result["order_price"];
|
|
@@ -277,71 +329,70 @@ class StopMarketOrderCreator extends LimitOrderCreator {
|
|
|
277
329
|
// @ts-ignore
|
|
278
330
|
delete result["isStopOrder"];
|
|
279
331
|
delete result['total'];
|
|
280
|
-
|
|
332
|
+
;
|
|
281
333
|
return result;
|
|
282
334
|
}
|
|
283
335
|
validate(values, config) {
|
|
284
|
-
return this.baseValidate(values, config).then((errors)
|
|
336
|
+
return this.baseValidate(values, config).then((errors)=>{
|
|
285
337
|
// const errors = this.baseValidate(values, config);
|
|
286
338
|
// @ts-ignore
|
|
287
339
|
const { order_price, trigger_price, side } = values;
|
|
288
340
|
if (!trigger_price) {
|
|
289
341
|
errors.trigger_price = {
|
|
290
342
|
type: "required",
|
|
291
|
-
message: "Trigger price is required"
|
|
343
|
+
message: "Trigger price is required"
|
|
292
344
|
};
|
|
293
345
|
}
|
|
294
346
|
return errors;
|
|
295
347
|
});
|
|
296
348
|
}
|
|
297
349
|
}
|
|
298
|
-
exports.StopMarketOrderCreator = StopMarketOrderCreator;
|
|
299
350
|
class GeneralOrderCreator extends BaseOrderCreator {
|
|
300
351
|
create(data) {
|
|
301
352
|
return {
|
|
302
353
|
...this.baseOrder(data),
|
|
303
354
|
order_price: data.order_price,
|
|
304
|
-
order_quantity: data.order_quantity
|
|
355
|
+
order_quantity: data.order_quantity
|
|
305
356
|
};
|
|
306
357
|
}
|
|
307
358
|
validate(values, configs) {
|
|
308
359
|
return super.baseValidate(values, configs);
|
|
309
360
|
}
|
|
310
361
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
types_1.OrderType.STOP_MARKET,
|
|
362
|
+
const availableOrderTypes = [
|
|
363
|
+
_types.OrderType.LIMIT,
|
|
364
|
+
_types.OrderType.MARKET,
|
|
365
|
+
_types.OrderType.IOC,
|
|
366
|
+
_types.OrderType.FOK,
|
|
367
|
+
_types.OrderType.POST_ONLY,
|
|
368
|
+
_types.OrderType.STOP_LIMIT,
|
|
369
|
+
_types.OrderType.STOP_MARKET
|
|
320
370
|
];
|
|
321
371
|
class OrderFactory {
|
|
322
372
|
static create(type) {
|
|
323
|
-
switch
|
|
324
|
-
case
|
|
373
|
+
switch(type){
|
|
374
|
+
case _types.OrderType.LIMIT:
|
|
325
375
|
return new LimitOrderCreator();
|
|
326
|
-
case
|
|
376
|
+
case _types.OrderType.MARKET:
|
|
327
377
|
return new MarketOrderCreator();
|
|
328
378
|
// case OrderType.ASK:
|
|
329
379
|
// return new AskOrderCreator();
|
|
330
380
|
// case OrderType.BID:
|
|
331
381
|
// return new BidOrderCreator();
|
|
332
|
-
case
|
|
382
|
+
case _types.OrderType.IOC:
|
|
333
383
|
return new IOCOrderCreator();
|
|
334
|
-
case
|
|
384
|
+
case _types.OrderType.FOK:
|
|
335
385
|
return new FOKOrderCreator();
|
|
336
|
-
case
|
|
386
|
+
case _types.OrderType.POST_ONLY:
|
|
337
387
|
return new PostOnlyOrderCreator();
|
|
338
|
-
case
|
|
388
|
+
case _types.OrderType.STOP_LIMIT:
|
|
339
389
|
return new StopLimitOrderCreator();
|
|
340
|
-
case
|
|
390
|
+
case _types.OrderType.STOP_MARKET:
|
|
341
391
|
return new StopMarketOrderCreator();
|
|
342
392
|
default:
|
|
343
393
|
return new GeneralOrderCreator();
|
|
344
394
|
}
|
|
345
395
|
}
|
|
346
396
|
}
|
|
347
|
-
|
|
397
|
+
|
|
398
|
+
//# sourceMappingURL=createOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/createOrder.ts"],"sourcesContent":["import { OrderType, type API, OrderEntity } from \"@orderly.network/types\";\nimport { Decimal } from \"@orderly.network/utils\";\nimport { order } from \"@orderly.network/perp\";\nimport { OrderSide } from \"@orderly.network/types\";\n\nexport type VerifyResult = {\n [P in keyof OrderEntity]?: { type: string; message: string };\n};\nexport type OrderFormEntity = Pick<\n OrderEntity,\n \"order_price\" | \"order_quantity\" | \"total\"\n>;\n\ntype ValuesDepConfig = {\n // token: API.TokenInfo;\n symbol: API.SymbolExt;\n maxQty: number;\n markPrice: number;\n};\n\nexport interface OrderCreator {\n create: (values: OrderEntity, configs: ValuesDepConfig) => OrderEntity;\n validate: (\n values: OrderFormEntity,\n configs: ValuesDepConfig\n ) => Promise<VerifyResult>;\n}\n\nconst { maxPrice, minPrice, scropePrice } = order;\n\nexport abstract class BaseOrderCreator implements OrderCreator {\n abstract create(values: OrderEntity, config: ValuesDepConfig): OrderEntity;\n abstract validate(\n values: OrderFormEntity,\n config: ValuesDepConfig\n ): Promise<VerifyResult>;\n\n baseOrder(data: OrderEntity): OrderEntity {\n const order: Partial<OrderEntity> = {\n symbol: data.symbol,\n order_type:\n data.order_type === OrderType.LIMIT\n ? !!data.order_type_ext\n ? data.order_type_ext\n : data.order_type\n : data.order_type,\n side: data.side,\n reduce_only: data.reduce_only,\n order_quantity: data.order_quantity,\n total: data.total,\n };\n\n if (data.visible_quantity === 0) {\n order.visible_quantity = data.visible_quantity;\n }\n\n return order as OrderEntity;\n }\n\n baseValidate(\n values: OrderFormEntity,\n configs: ValuesDepConfig\n ): Promise<VerifyResult> {\n const errors: {\n [P in keyof OrderEntity]?: { type: string; message: string };\n } = {};\n\n const { maxQty, symbol } = configs;\n\n // @ts-ignore\n let { order_quantity, total, order_price, reduce_only } = values;\n const { min_notional } = symbol;\n\n if (!order_quantity) {\n // calculate order_quantity from total\n if (total && order_price) {\n const { quote_dp } = configs.symbol;\n const totalNumber = new Decimal(total);\n const qty = totalNumber.dividedBy(order_price).toFixed(quote_dp);\n order_quantity = qty;\n }\n }\n\n if (!order_quantity) {\n errors.order_quantity = {\n type: \"required\",\n message: \"quantity is required\",\n };\n } else {\n // need to use MaxQty+base_max, base_min to compare\n const { base_min, quote_dp, base_dp } = configs.symbol;\n const qty = new Decimal(order_quantity);\n if (qty.lt(base_min)) {\n errors.order_quantity = {\n type: \"min\",\n message: `quantity must be greater than ${new Decimal(base_min).todp(\n base_dp\n )}`,\n };\n // errors.order_quantity = `quantity must be greater than ${base_min}`;\n } else if (qty.gt(maxQty)) {\n errors.order_quantity = {\n type: \"max\",\n message: `quantity must be less than ${new Decimal(maxQty).todp(\n base_dp\n )}`,\n };\n }\n }\n\n if (!!total) {\n const { quote_max, quote_min, quote_dp } = configs.symbol;\n const totalNumber = new Decimal(total);\n if (totalNumber.lt(quote_min)) {\n errors.total = {\n type: \"min\",\n message: `Quantity must be at least ${new Decimal(quote_min).todp(\n quote_dp\n )}`,\n };\n } else if (totalNumber.gt(quote_max)) {\n errors.total = {\n type: \"max\",\n message: `Quantity should be less or equal than ${new Decimal(\n quote_max\n ).todp(quote_dp)}`,\n };\n }\n }\n\n const notionalHintStr = checkNotional(order_price, order_quantity, min_notional);\n \n if (notionalHintStr !== undefined && reduce_only !== true) {\n errors.total = {\n type: \"min\",\n message: notionalHintStr,\n }\n }\n\n return Promise.resolve(errors);\n }\n\n fixOrderQuantity(\n order: Partial<OrderEntity>,\n config: ValuesDepConfig\n ): OrderEntity {\n // if order_quantity is not set but total is set, calculate order_quantity from total\n if (!order.order_quantity && order.total && order.order_price) {\n const { base_dp } = config.symbol;\n const totalNumber = new Decimal(order.total);\n const qty = totalNumber.div(order.order_price).toDecimalPlaces(base_dp);\n order.order_quantity = qty.toNumber();\n\n delete order.total;\n }\n\n return order as OrderEntity;\n }\n}\n\nexport function checkNotional(price?: string | number, qty?: string | number, minNotional?: number): string | undefined {\n\n \n \n if (price !== undefined && qty !== undefined && minNotional !== undefined) {\n \n try {\n const calcNotional = new Decimal(price).mul(new Decimal(qty)).toNumber();\n const notional = Number.parseFloat(`${minNotional}`);\n \n const str = calcNotional < notional ? `The order value should be greater or equal to ${minNotional} USDC` : undefined;\n return str;\n } catch (e) {\n return undefined;\n }\n }\n\n return undefined;\n}\n\nexport class LimitOrderCreator extends BaseOrderCreator {\n create(values: OrderEntity, config: ValuesDepConfig): OrderEntity {\n const order = {\n ...this.baseOrder(values),\n order_price: values.order_price,\n };\n\n this.fixOrderQuantity(order, config);\n\n delete order['total'];\n delete order['trigger_price'];\n delete order['isStopOrder'];\n\n const { quote_dp } = config.symbol;\n if (values.order_price) {\n order[\"order_price\"] = new Decimal(Number.parseFloat(values.order_price.toString())).toFixed(quote_dp, Decimal.ROUND_DOWN);\n }\n\n return order;\n }\n validate(\n values: OrderFormEntity,\n config: ValuesDepConfig\n ): Promise<VerifyResult> {\n return this.baseValidate(values, config).then((errors) => {\n // const errors = this.baseValidate(values, config);\n // @ts-ignore\n const { order_price, side } = values;\n\n if (!order_price) {\n errors.order_price = {\n type: \"required\",\n message: \"price is required\",\n };\n } else {\n const price = new Decimal(order_price);\n const { symbol } = config;\n const { price_range, price_scope } = symbol;\n const maxPriceNumber = maxPrice(config.markPrice, price_range);\n const minPriceNumber = minPrice(config.markPrice, price_range);\n const scropePriceNumbere = scropePrice(\n config.markPrice,\n price_scope,\n side\n );\n\n const priceRange = side === \"BUY\" ? {\n min: scropePriceNumbere,\n max: maxPriceNumber,\n } : {\n min: minPriceNumber,\n max: scropePriceNumbere\n };\n\n /// if side is 'buy', only check max price,\n /// if side is 'sell', only check min price,\n if (price.gt(priceRange?.max)) {\n errors.order_price = {\n type: \"max\",\n message: `Price must be less than ${new Decimal(\n priceRange.max\n ).todp(symbol.quote_dp)}`,\n };\n }\n if (price.lt(priceRange?.min)) {\n errors.order_price = {\n type: \"min\",\n message: `Price must be greater than ${new Decimal(\n priceRange.min\n ).todp(symbol.quote_dp)}`,\n };\n }\n\n }\n\n return errors;\n });\n }\n}\n\nexport class MarketOrderCreator extends BaseOrderCreator {\n create(values: OrderEntity): OrderEntity {\n const data = this.baseOrder(values);\n\n delete data[\"order_price\"];\n delete data['total'];\n delete data['trigger_price'];\n delete data['isStopOrder'];\n\n return {\n ...data,\n };\n }\n validate(\n values: OrderFormEntity,\n configs: ValuesDepConfig\n ): Promise<VerifyResult> {\n return this.baseValidate(values, configs);\n }\n}\n\nexport class PostOnlyOrderCreator extends LimitOrderCreator { }\n\nexport class FOKOrderCreator extends LimitOrderCreator { }\nexport class IOCOrderCreator extends LimitOrderCreator { }\n\nexport class StopLimitOrderCreator extends LimitOrderCreator {\n create(values: OrderEntity, config: ValuesDepConfig): OrderEntity {\n const order = {\n ...this.baseOrder(values),\n order_price: values.order_price,\n trigger_price: values.trigger_price,\n algo_type: \"STOP\",\n type: \"LIMIT\",\n quantity: values[\"order_quantity\"],\n price: values[\"order_price\"],\n trigger_price_type: \"MARK_PRICE\",\n };\n this.fixOrderQuantity(order, config);\n delete order[\"order_quantity\"];\n delete order[\"order_price\"];\n // @ts-ignore\n delete order[\"order_type\"];\n // @ts-ignore\n delete order[\"isStopOrder\"];\n delete order['total'];\n\n const { quote_dp } = config.symbol;\n if (values.order_price) {\n order[\"order_price\"] = new Decimal(Number.parseFloat(values.order_price.toString())).toFixed(quote_dp, Decimal.ROUND_DOWN);\n }\n \n if (values.trigger_price) {\n order[\"trigger_price\"] = new Decimal(Number.parseFloat(values.trigger_price.toString())).toFixed(quote_dp, Decimal.ROUND_DOWN);\n }\n\n return order;\n }\n validate(\n values: OrderFormEntity,\n config: ValuesDepConfig\n ): Promise<VerifyResult> {\n return this.baseValidate(values, config).then((errors) => {\n // const errors = this.baseValidate(values, config);\n // @ts-ignore\n const { order_price, trigger_price, side } = values;\n\n if (!order_price) {\n errors.order_price = {\n type: \"required\",\n message: \"price is required\",\n };\n }\n \n if (!trigger_price) {\n errors.trigger_price = {\n type: \"required\",\n message: \"Trigger price is required\",\n };\n } \n \n if (trigger_price && order_price) {\n const price = new Decimal(order_price);\n const { symbol } = config;\n const { price_range, price_scope } = symbol;\n const maxPriceNumber = maxPrice(trigger_price, price_range);\n const minPriceNumber = minPrice(trigger_price, price_range);\n const scropePriceNumbere = scropePrice(\n trigger_price,\n price_scope,\n side\n );\n\n const priceRange = side === \"BUY\" ? {\n min: scropePriceNumbere,\n max: maxPriceNumber,\n } : {\n min: minPriceNumber,\n max: scropePriceNumbere\n };\n\n /// if side is 'buy', only check max price,\n /// if side is 'sell', only check min price,\n if (price.gt(priceRange?.max)) {\n errors.order_price = {\n type: \"max\",\n message: `Price must be less than ${new Decimal(\n priceRange.max\n ).todp(symbol.quote_dp)}`,\n };\n }\n if (price.lt(priceRange?.min)) {\n errors.order_price = {\n type: \"min\",\n message: `Price must be greater than ${new Decimal(\n priceRange.min\n ).todp(symbol.quote_dp)}`,\n };\n }\n }\n\n return errors;\n });\n }\n}\nexport class StopMarketOrderCreator extends LimitOrderCreator {\n create(values: OrderEntity, _: ValuesDepConfig): OrderEntity {\n const result = {\n ...this.baseOrder(values),\n // order_price: values.order_price,\n trigger_price: values.trigger_price,\n algo_type: \"STOP\",\n type: \"MARKET\",\n quantity: values[\"order_quantity\"],\n // price: values[\"order_price\"],\n trigger_price_type: \"MARK_PRICE\",\n };\n delete result[\"order_quantity\"];\n delete result[\"order_price\"];\n // @ts-ignore\n delete result[\"order_type\"];\n // @ts-ignore\n delete result[\"isStopOrder\"];\n delete result['total'];\n\n console.log(\"result is\", result);\n return result;\n }\n validate(\n values: OrderFormEntity,\n config: ValuesDepConfig\n ): Promise<VerifyResult> {\n return this.baseValidate(values, config).then((errors) => {\n // const errors = this.baseValidate(values, config);\n // @ts-ignore\n const { order_price, trigger_price, side } = values;\n\n if (!trigger_price) {\n errors.trigger_price = {\n type: \"required\",\n message: \"Trigger price is required\",\n };\n }\n\n return errors;\n });\n }\n}\n\nexport class GeneralOrderCreator extends BaseOrderCreator {\n create(data: OrderEntity): OrderEntity {\n return {\n ...this.baseOrder(data),\n order_price: data.order_price,\n order_quantity: data.order_quantity,\n };\n }\n validate(\n values: OrderFormEntity,\n configs: ValuesDepConfig\n ): Promise<VerifyResult> {\n return super.baseValidate(values, configs);\n }\n}\n\nexport const availableOrderTypes = [\n OrderType.LIMIT,\n OrderType.MARKET,\n OrderType.IOC,\n OrderType.FOK,\n OrderType.POST_ONLY,\n OrderType.STOP_LIMIT,\n OrderType.STOP_MARKET,\n];\n\nexport class OrderFactory {\n static create(type: OrderType): OrderCreator | null {\n switch (type) {\n case OrderType.LIMIT:\n return new LimitOrderCreator();\n case OrderType.MARKET:\n return new MarketOrderCreator();\n // case OrderType.ASK:\n // return new AskOrderCreator();\n // case OrderType.BID:\n // return new BidOrderCreator();\n case OrderType.IOC:\n return new IOCOrderCreator();\n case OrderType.FOK:\n return new FOKOrderCreator();\n case OrderType.POST_ONLY:\n return new PostOnlyOrderCreator();\n\n case OrderType.STOP_LIMIT:\n return new StopLimitOrderCreator();\n case OrderType.STOP_MARKET:\n return new StopMarketOrderCreator();\n\n default:\n return new GeneralOrderCreator();\n }\n }\n}\n"],"names":["BaseOrderCreator","FOKOrderCreator","GeneralOrderCreator","IOCOrderCreator","LimitOrderCreator","MarketOrderCreator","OrderFactory","PostOnlyOrderCreator","StopLimitOrderCreator","StopMarketOrderCreator","availableOrderTypes","checkNotional","maxPrice","minPrice","scropePrice","order","baseOrder","data","symbol","order_type","OrderType","LIMIT","order_type_ext","side","reduce_only","order_quantity","total","visible_quantity","baseValidate","values","configs","errors","maxQty","order_price","min_notional","quote_dp","totalNumber","Decimal","qty","dividedBy","toFixed","type","message","base_min","base_dp","lt","todp","gt","quote_max","quote_min","notionalHintStr","undefined","Promise","resolve","fixOrderQuantity","config","div","toDecimalPlaces","toNumber","price","minNotional","calcNotional","mul","notional","Number","parseFloat","str","e","create","toString","ROUND_DOWN","validate","then","price_range","price_scope","maxPriceNumber","markPrice","minPriceNumber","scropePriceNumbere","priceRange","min","max","trigger_price","algo_type","quantity","trigger_price_type","_","result","MARKET","IOC","FOK","POST_ONLY","STOP_LIMIT","STOP_MARKET"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/lib/utils/dev.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _core = require("@orderly.network/core");
|
|
6
|
+
const _utils = require("@orderly.network/utils");
|
|
5
7
|
const __ORDERLY__DEBUGER_TAG = "__ORDERLY__DEBUGER";
|
|
6
8
|
function debugPrint(msg, tag) {
|
|
7
9
|
tag = `${__ORDERLY__DEBUGER_TAG}:${tag} `;
|
|
8
|
-
if (!(0,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
if (!(0, _utils.getGlobalObject)().__ORDERLY__DEBUGER) {
|
|
11
|
+
;
|
|
12
|
+
// console.info(
|
|
13
|
+
// "You can add `DebugPrinter` component to see the data in your UI"
|
|
14
|
+
// );
|
|
13
15
|
}
|
|
14
|
-
let ee =
|
|
16
|
+
let ee = _core.SimpleDI.get("EE");
|
|
15
17
|
if (ee && msg) {
|
|
16
18
|
ee.emit("print:data", msg);
|
|
17
19
|
}
|
|
@@ -19,3 +21,5 @@ function debugPrint(msg, tag) {
|
|
|
19
21
|
if (typeof window !== "undefined") {
|
|
20
22
|
window.debugPrint = debugPrint;
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=dev.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/dev.ts"],"sourcesContent":["import { EventEmitter, SimpleDI } from \"@orderly.network/core\";\nimport { getGlobalObject } from \"@orderly.network/utils\";\n\nconst __ORDERLY__DEBUGER_TAG = \"__ORDERLY__DEBUGER\";\n\nfunction debugPrint(msg: any): void;\nfunction debugPrint(msg: any, tag?: string) {\n tag = `${__ORDERLY__DEBUGER_TAG}:${tag} `;\n if (!(getGlobalObject() as any).__ORDERLY__DEBUGER) {\n console.log(\"${tag}${msg}\");\n // console.info(\n // \"You can add `DebugPrinter` component to see the data in your UI\"\n // );\n }\n\n let ee = SimpleDI.get<EventEmitter>(\"EE\");\n\n if (ee && msg) {\n ee.emit(\"print:data\", msg);\n }\n}\n\nif (typeof window !== \"undefined\") {\n (window as any).debugPrint = debugPrint;\n}\n"],"names":["__ORDERLY__DEBUGER_TAG","debugPrint","msg","tag","getGlobalObject","__ORDERLY__DEBUGER","ee","SimpleDI","get","emit","window"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;sBAAuC;uBACP;AAEhC,MAAMA,yBAAyB;AAG/B,SAASC,WAAWC,GAAQ,EAAEC,GAAY;IACxCA,MAAM,CAAC,EAAEH,uBAAuB,CAAC,EAAEG,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,AAACC,IAAAA,sBAAe,IAAWC,kBAAkB,EAAE;;IAElD,gBAAgB;IAChB,sEAAsE;IACtE,KAAK;IACP;IAEA,IAAIC,KAAKC,cAAQ,CAACC,GAAG,CAAe;IAEpC,IAAIF,MAAMJ,KAAK;QACbI,GAAGG,IAAI,CAAC,cAAcP;IACxB;AACF;AAEA,IAAI,OAAOQ,WAAW,aAAa;IAChCA,OAAeT,UAAU,GAAGA;AAC/B"}
|
package/lib/utils/fetcher.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "fetcher", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return fetcher;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _net = require("@orderly.network/net");
|
|
12
|
+
const fetcher = (url, init = {}, queryOptions)=>(0, _net.get)(url, init, queryOptions?.formatter);
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=fetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/fetcher.ts"],"sourcesContent":["import { get } from \"@orderly.network/net\";\nimport { type SWRConfiguration } from \"swr\";\n\nexport const fetcher = (\n url: string,\n init: RequestInit = {},\n queryOptions: useQueryOptions<any>\n) => get(url, init, queryOptions?.formatter);\n\nexport type useQueryOptions<T> = SWRConfiguration & {\n formatter?: (data: any) => T;\n};\n"],"names":["fetcher","url","init","queryOptions","get","formatter"],"rangeMappings":";;;;;;;;;;;","mappings":";;;;+BAGaA;;;eAAAA;;;qBAHO;AAGb,MAAMA,UAAU,CACrBC,KACAC,OAAoB,CAAC,CAAC,EACtBC,eACGC,IAAAA,QAAG,EAACH,KAAKC,MAAMC,cAAcE"}
|
package/lib/utils/json.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "parseJSON", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return parseJSON;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
4
11
|
function parseJSON(value) {
|
|
5
12
|
try {
|
|
6
13
|
return value === "undefined" ? undefined : JSON.parse(value ?? "");
|
|
7
|
-
}
|
|
8
|
-
catch {
|
|
14
|
+
} catch {
|
|
9
15
|
return undefined;
|
|
10
16
|
}
|
|
11
17
|
}
|
|
12
|
-
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/json.ts"],"sourcesContent":["export function parseJSON<T>(value: string | null): T | undefined {\n try {\n return value === \"undefined\" ? undefined : JSON.parse(value ?? \"\");\n } catch {\n return undefined;\n }\n}\n"],"names":["parseJSON","value","undefined","JSON","parse"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA,UAAaC,KAAoB;IAC/C,IAAI;QACF,OAAOA,UAAU,cAAcC,YAAYC,KAAKC,KAAK,CAACH,SAAS;IACjE,EAAE,OAAM;QACN,OAAOC;IACT;AACF"}
|