@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useOrderEntry.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { \n API,\n OrderEntity,\n OrderSide,\n OrderType,\n SDKError,\n} from \"@orderly.network/types\";\nimport { useSymbolsInfo } from \"./useSymbolsInfo\";\nimport { Decimal, getPrecisionByNumber } from \"@orderly.network/utils\";\nimport { useMutation } from \"../useMutation\";\nimport { compose, head, includes, omit, pick } from \"ramda\";\nimport {\n baseInputHandle,\n getCalculateHandler,\n orderEntityFormatHandle,\n} from \"../utils/orderEntryHelper\";\nimport { useCollateral } from \"./useCollateral\";\nimport { useMaxQty } from \"./useMaxQty\";\nimport { OrderFactory, availableOrderTypes } from \"../utils/createOrder\";\nimport { useMarkPrice } from \"./useMarkPrice\";\nimport { order as orderUtils } from \"@orderly.network/perp\";\nimport { useEventEmitter } from \"../useEventEmitter\";\nimport { useDebouncedCallback } from \"use-debounce\";\n\nexport type UseOrderEntryOptions = {\n commify?: boolean;\n // Whether to observe the orderbook, if it is a limit order, the orderbook will automatically calculate the est. liq. price when it is updated.\n watchOrderbook?: boolean;\n validate?: (\n data: OrderEntity\n ) => { [P in keyof OrderEntity]?: string } | null | undefined;\n};\n\nexport type UseOrderEntryMetaState = {\n errors:\n | { [P in keyof OrderEntity]?: { type: string; message: string } }\n | null\n | undefined;\n dirty: { [P in keyof OrderEntity]?: boolean } | null | undefined;\n submitted: boolean;\n};\n\nexport type UseOrderEntryReturn = {\n // Maximum open position\n maxQty: number;\n freeCollateral: number;\n markPrice: number;\n estLiqPrice?: number | null;\n estLeverage?: number | null;\n //@Deprecated\n onSubmit: (order: OrderEntity) => Promise<any>;\n submit: () => Promise<OrderEntity>;\n // order: data,\n submitting: boolean;\n formattedOrder: Partial<OrderEntity>;\n helper: {\n calculate: (\n values: Partial<OrderEntity>,\n field: keyof OrderEntity,\n value: any\n ) => Partial<OrderEntity>;\n validator: (values: Partial<OrderEntity>) => any;\n // clearErrors: () => void;\n // setValues: (values: Partial<OrderEntity>) => void;\n };\n // formState: any;\n metaState: UseOrderEntryMetaState;\n symbolConfig: API.SymbolExt;\n};\n\nexport type OrderParams = Required<\n Pick<OrderEntity, \"side\" | \"order_type\" | \"symbol\">\n> &\n Partial<Omit<OrderEntity, \"side\" | \"symbol\" | \"order_type\">>;\n\n/**\n * Create Order\n * @example\n * ```tsx\n * import { useOrderEntry } from \"@orderly.network/hooks\";\n * import {OrderSide, OrderType} from '@orderly.network/types';\n *\n * const { formattedOrder, onSubmit, helper } = useOrderEntry({\n * symbol: \"PERP_ETH_USDC\",\n * side: OrderSide.BUY,\n * order_type: OrderType.LIMIT,\n * order_price: 10000,\n * order_quantity: 1,\n * },{\n * // **Note:** it's required\n * watchOrderbook: true,\n * });\n * ```\n */\nexport function useOrderEntry(\n order: OrderParams,\n options?: UseOrderEntryOptions\n): UseOrderEntryReturn;\n/**\n * @deprecated\n */\nexport function useOrderEntry(\n symbol: string,\n side: OrderSide,\n reduceOnly: boolean\n): UseOrderEntryReturn;\nexport function useOrderEntry(\n symbolOrOrder: string | OrderParams,\n sideOrOptions?: OrderSide | UseOrderEntryOptions,\n reduceOnly?: boolean,\n options?: UseOrderEntryOptions\n): UseOrderEntryReturn {\n // if symbolOrOrder is string, then it's deprecated\n let isNewVersion = false;\n if (typeof symbolOrOrder === \"object\") {\n isNewVersion = true;\n\n if (!symbolOrOrder.symbol) {\n throw new SDKError(\"symbol is required\");\n }\n\n if (!symbolOrOrder.side) {\n throw new SDKError(\"Order side is required\");\n }\n\n if (!symbolOrOrder.order_type) {\n throw new SDKError(\"order_type is required\");\n }\n }\n\n const prevOrderData = useRef<Partial<OrderEntity> | null>(null);\n // Cache data from the last calculate\n const orderDataCache = useRef<Partial<OrderEntity> | null>(null);\n //\n const notSupportData = useRef<Partial<OrderEntity>>({});\n\n const [errors, setErrors] = useState<any>(null);\n\n const ee = useEventEmitter();\n\n const fieldDirty = useRef<{ [K in keyof OrderEntity]?: boolean }>({});\n const submitted = useRef<boolean>(false);\n const askAndBid = useRef<number[]>([]); // 0: ask0, 1: bid0\n\n const onOrderbookUpdate = useDebouncedCallback((data: number[]) => {\n askAndBid.current = data;\n }, 200);\n\n const { freeCollateral, totalCollateral, positions, accountInfo } =\n useCollateral();\n\n const symbolInfo = useSymbolsInfo();\n // const tokenInfo = useTokenInfo();\n\n const symbol = useMemo(() => {\n if (typeof symbolOrOrder === \"string\") {\n return symbolOrOrder;\n }\n return symbolOrOrder.symbol!;\n }, [symbolOrOrder]);\n\n const optionsValue = useMemo(() => {\n if (typeof sideOrOptions === \"object\") {\n return sideOrOptions;\n }\n\n return options;\n }, [sideOrOptions]);\n\n const isReduceOnly = useMemo<boolean>(() => {\n if (typeof reduceOnly === \"boolean\") {\n return reduceOnly;\n }\n\n if (typeof symbolOrOrder === \"object\") {\n return !!symbolOrOrder.reduce_only;\n }\n\n return false;\n }, [symbolOrOrder, reduceOnly]);\n\n const sideValue = useMemo(() => {\n if (typeof symbolOrOrder === \"object\") {\n return symbolOrOrder.side;\n }\n\n // if (typeof sideOrOptions === \"string\") {\n return sideOrOptions as OrderSide;\n // }\n }, [symbolOrOrder, sideOrOptions]);\n\n const baseDP = useMemo(\n () => getPrecisionByNumber(symbolInfo[symbol](\"base_tick\", 0)),\n [symbolInfo]\n );\n const quoteDP = useMemo(() => {\n return getPrecisionByNumber(symbolInfo[symbol](\"quote_tick\", 0));\n }, [symbolInfo]);\n\n const baseIMR = useMemo(\n () => symbolInfo[symbol](\"base_imr\", 0),\n [symbolInfo]\n );\n const baseMMR = useMemo(\n () => symbolInfo[symbol](\"base_mmr\", 0),\n [symbolInfo]\n );\n\n const { data: markPrice } = useMarkPrice(symbol);\n // const markPrice = 1;\n\n const diffOrderEntry = (\n prev: Partial<OrderParams>,\n current: Partial<OrderParams>\n ): { key: keyof OrderParams; value: any; preValue: any } | null => {\n if (!prev) return null;\n let key, value, preValue;\n const keys = Object.keys(current) as (keyof OrderParams)[];\n\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n\n let preveValue = prev[k];\n let currentValue = current[k];\n\n if (\n typeof preveValue === \"undefined\" &&\n typeof currentValue === \"undefined\"\n )\n continue;\n\n // if (k === \"order_quantity\") {\n // preveValue = Number(preveValue);\n // currentValue = Number(currentValue);\n // }\n\n if (preveValue !== currentValue) {\n key = k;\n value = currentValue;\n preValue = preveValue;\n break;\n }\n }\n\n if (!key) return null;\n\n return { key, value, preValue };\n };\n\n const maxQty = useMaxQty(symbol, sideValue, isReduceOnly);\n\n const parseString2Number = (\n order: OrderParams & Record<string, any>,\n key: keyof OrderParams,\n dp?: number,\n ) => {\n if (typeof order[key] !== \"string\") return;\n // fix: delete the comma then remove the forward one of the string\n // first find the difference between current value and previous value\n\n if (order[key] && (order[key] as string).startsWith(\".\")) {\n (order[key] as string) = `0${order[key]}`;\n }\n\n // order[`${key}_origin`] = order[key];\n (order[key] as string) = (order[key] as string).replace(/,/g, \"\");\n\n // format input by decimal precision\n if (dp && (order[key] as string).length > 0) {\n const hasPoint = `${order[key]}`.includes(\".\");\n const endOfPoint = `${order[key]}`.endsWith(\".\");\n const decimalPart = `${order[key]}`.split(\".\");\n if (hasPoint && !endOfPoint) {\n (order[key] as string) = `${decimalPart[0]}.${decimalPart[1].slice(0,quoteDP)}`;\n }\n }\n };\n\n // just for performance optimization\n const needParse = useMemo(() => {\n if (typeof symbolOrOrder === \"string\") {\n return null;\n }\n return pick([\n \"order_price\",\n \"side\",\n \"order_quantity\",\n \"visible_quantity\",\n \"order_type\",\n \"order_type_ext\",\n \"symbol\",\n \"total\",\n \"reduce_only\",\n \"trigger_price\",\n ])(\n //@ts-ignore\n symbolOrOrder\n );\n }, [symbolOrOrder]);\n\n const parsedData = useMemo<OrderParams | null>(() => {\n if (typeof symbolOrOrder === \"string\") {\n return null;\n }\n // clean comma\n\n if (typeof symbolOrOrder.order_quantity === \"string\") {\n parseString2Number(symbolOrOrder, \"order_quantity\");\n } else if (typeof symbolOrOrder.order_quantity === \"number\") {\n symbolOrOrder.order_quantity = new Decimal(symbolOrOrder.order_quantity)\n .toDecimalPlaces(baseDP)\n .toString();\n }\n\n if (typeof symbolOrOrder.order_price === \"string\") {\n parseString2Number(symbolOrOrder, \"order_price\", quoteDP);\n }\n\n if (typeof symbolOrOrder.total === \"string\") {\n parseString2Number(symbolOrOrder, \"total\", quoteDP);\n }\n\n if (typeof symbolOrOrder.trigger_price === \"string\") {\n parseString2Number(symbolOrOrder, \"trigger_price\", quoteDP);\n }\n\n // if (typeof symbolOrOrder.trigger_price === \"string\") {\n // symbolOrOrder.trigger_price = symbolOrOrder.trigger_price.replace(\n // /,/g,\n // \"\"\n // );\n // }\n\n return symbolOrOrder;\n }, [\n needParse?.order_price,\n needParse?.order_quantity,\n needParse?.total,\n needParse?.trigger_price,\n needParse?.order_type,\n needParse?.order_type_ext,\n needParse?.symbol,\n needParse?.reduce_only,\n needParse?.side,\n needParse?.visible_quantity,\n quoteDP,\n baseDP,\n ]);\n\n const isStopOrder =\n parsedData?.order_type === OrderType.STOP_LIMIT ||\n parsedData?.order_type === OrderType.STOP_MARKET;\n\n const [doCreateOrder, { isMutating }] = useMutation<OrderEntity, any>(\n isStopOrder ? \"/v1/algo/order\" : \"/v1/order\"\n );\n\n // const maxQty = 3;\n\n const createOrder = (values: Partial<OrderEntity>): Promise<OrderEntity> => {\n if (!values.symbol) {\n throw new SDKError(\"symbol is error\");\n }\n\n if (!values.side) {\n throw new SDKError(\"side is error\");\n }\n\n if (\n !values ||\n typeof values.order_type === \"undefined\" ||\n !includes(values.order_type, availableOrderTypes)\n ) {\n throw new SDKError(\"order_type is error\");\n }\n\n const orderCreator = OrderFactory.create(\n values.order_type_ext ? values.order_type_ext : values.order_type\n );\n\n if (!orderCreator) {\n return Promise.reject(new SDKError(\"orderCreator is null\"));\n }\n\n \n\n return new Promise((resolve, reject) => {\n return orderCreator\n .validate(values, {\n symbol: symbolInfo[symbol](),\n // token: tokenInfo[symbol](),\n maxQty,\n markPrice: markPrice,\n })\n .then((errors) => {\n submitted.current = true;\n\n if (\n errors.order_price ||\n errors.order_quantity ||\n errors.trigger_price ||\n errors.total\n ) {\n setErrors(errors);\n reject(\n errors.order_price?.message || errors.order_quantity?.message\n );\n // throw new SDKError(\n // errors.order_price?.message ||\n // errors.order_quantity?.message ||\n // \"order validation error\"\n // );\n } else {\n const data = orderCreator.create(values as OrderEntity, {\n symbol: symbolInfo[symbol](),\n maxQty,\n markPrice: markPrice,\n });\n\n // console.log(\"------------------\", values, data);\n\n return doCreateOrder(\n omit([\"order_type_ext\"], {\n // ...values,\n // ...omit([\"order_price\"], values),\n ...data,\n })\n ).then((res) => {\n // resolve(res);\n if (res.success) {\n // TODO: remove when the WS service is fixed\n\n if (Array.isArray(res.data.rows)) {\n ee.emit(\"algoOrder:cache\", {\n ...res.data.rows[0],\n trigger_price: data.trigger_price,\n });\n }\n\n resolve(res.data);\n } else {\n reject(res);\n }\n }, reject);\n }\n });\n });\n };\n\n /**\n * submit form,validate values\n * @param values\n * @returns\n */\n const onSubmit = (values: OrderEntity) => {\n if (typeof reduceOnly === \"boolean\" && reduceOnly && !values.reduce_only) {\n return Promise.reject(\n new SDKError(\n \"The reduceOny parameter of hook does not match your order data\"\n )\n );\n }\n return createOrder({\n ...values,\n symbol,\n });\n };\n\n const submit = useCallback(() => {\n if (!parsedData) {\n throw new SDKError(\"Function is not supported, please use onSubmit()\");\n }\n return createOrder(parsedData);\n }, [parsedData]);\n\n const calculate = useCallback(\n (\n values: Partial<OrderEntity>,\n field: keyof OrderEntity,\n value: any\n ): Partial<OrderEntity> => {\n const fieldHandler = getCalculateHandler(field);\n const newValues = compose(\n head,\n orderEntityFormatHandle(baseDP, quoteDP),\n fieldHandler,\n baseInputHandle\n )([values, field, value, markPrice, { baseDP, quoteDP }]);\n\n return newValues as Partial<OrderEntity>;\n },\n [markPrice]\n );\n\n // const estLiqPrice = useMemo(() => {}, []);\n\n const validator = (values: any) => {\n const creator = OrderFactory.create(values.order_type);\n\n return creator?.validate(values, {\n symbol: symbolInfo[symbol](),\n // token: tokenInfo[symbol](),\n maxQty,\n markPrice: markPrice,\n });\n };\n\n const formattedOrder = useMemo<Partial<OrderEntity>>(() => {\n if (!parsedData) {\n return notSupportData.current;\n }\n // prevOrderData.current = symbolOrOrder;\n\n if (!prevOrderData.current) {\n // prevOrderData.current = {\n // ...symbolOrOrder,\n // total: \"\",\n // };\n\n prevOrderData.current = parsedData;\n orderDataCache.current = {\n ...parsedData,\n total: \"\",\n };\n\n return orderDataCache.current as Partial<OrderEntity>;\n }\n\n // diff order entry\n const item = diffOrderEntry(prevOrderData.current, parsedData);\n\n // console.log(prevOrderData.current, symbolOrOrder, item);\n // console.log(item);\n\n if (!item) {\n return orderDataCache.current as Partial<OrderEntity>;\n }\n\n // set field dirty\n if (typeof parsedData.order_price !== \"undefined\") {\n fieldDirty.current.order_price = true;\n }\n if (typeof parsedData.order_quantity !== \"undefined\") {\n fieldDirty.current.order_quantity = true;\n }\n\n const values = calculate(parsedData, item.key, item.value);\n\n values.isStopOrder = values.order_type?.startsWith(\"STOP\") || false;\n\n values.total = values.total || \"\";\n\n prevOrderData.current = parsedData;\n orderDataCache.current = values;\n\n return values;\n }, [parsedData, markPrice]);\n\n /// validator order info\n useEffect(() => {\n if (!markPrice || symbolInfo.isNil) return;\n // validate order data;\n validator(formattedOrder)\n ?.then((err) => {\n setErrors(err);\n })\n .catch((err) => {});\n }, [\n formattedOrder.broker_id,\n formattedOrder.order_quantity,\n formattedOrder.total,\n formattedOrder.trigger_price,\n formattedOrder.order_type,\n markPrice,\n ]);\n\n //====== update orderbook ask0/bid0 ======\n useEffect(() => {\n if (isNewVersion) {\n if (!optionsValue?.watchOrderbook) {\n throw new SDKError(\n \"In order to calculate the estimated liquidation price, the `options.watchOrderbook` parameter must be set to true.\"\n );\n }\n } else {\n if (!optionsValue?.watchOrderbook) {\n return;\n }\n }\n\n ee.on(\"orderbook:update\", onOrderbookUpdate);\n\n return () => {\n ee.off(\"orderbook:update\", onOrderbookUpdate);\n };\n }, [optionsValue?.watchOrderbook]);\n\n useEffect(() => {\n askAndBid.current = [];\n }, [parsedData?.symbol]);\n\n //====== end ======\n\n const getPriceAndQty = (\n symbolOrOrder: OrderEntity\n ): { quantity: number; price: number } | null => {\n let quantity = Number(symbolOrOrder.order_quantity);\n const orderPrice = Number(symbolOrOrder.order_price);\n\n if (isNaN(quantity) || quantity <= 0) {\n return null;\n }\n\n if (!!options?.watchOrderbook && askAndBid.current.length === 0) {\n throw new SDKError(\n \"Please check if you are using the `useOrderbookStream` hook or if the orderBook has data.\"\n );\n }\n\n if (\n (symbolOrOrder.order_type === OrderType.LIMIT ||\n symbolOrOrder.order_type === OrderType.STOP_LIMIT) &&\n isNaN(orderPrice)\n )\n return null;\n\n /**\n * price\n * if order_type = market order,\n order side = long, then order_price_i = ask0\n order side = short, then order_price_i = bid0\n if order_type = limit order\n order side = long\n limit_price >= ask0, then order_price_i = ask0\n limit_price < ask0, then order_price_i = limit_price\n order side = short\n limit_price <= bid0, then order_price_i = bid0\n limit_price > ask0, then order_price_i = ask0\n */\n let price: number | undefined;\n\n if (\n symbolOrOrder.order_type === OrderType.MARKET ||\n symbolOrOrder.order_type === OrderType.STOP_MARKET\n ) {\n if (symbolOrOrder.side === OrderSide.BUY) {\n price = askAndBid.current[0];\n } else {\n price = askAndBid.current[1];\n }\n } else {\n // LIMIT order\n if (symbolOrOrder.side === OrderSide.BUY) {\n if (orderPrice >= askAndBid.current[0]) {\n price = askAndBid.current[0];\n } else {\n price = orderPrice;\n }\n } else {\n if (orderPrice <= askAndBid.current[1]) {\n price = askAndBid.current[1];\n } else {\n price = orderPrice;\n }\n }\n }\n\n if (symbolOrOrder.side === OrderSide.SELL) {\n quantity = -quantity;\n }\n\n return { price, quantity };\n };\n\n const estLiqPrice = useMemo(() => {\n if (!accountInfo || !parsedData || !markPrice) return null;\n\n const result = getPriceAndQty(formattedOrder as OrderEntity);\n if (result === null) return null;\n const { price, quantity } = result;\n if (!price || !quantity) return null;\n\n const orderFee = orderUtils.orderFee({\n qty: quantity,\n price,\n futuresTakeFeeRate: Number(accountInfo[\"futures_taker_fee_rate\"]) / 10000,\n });\n\n const liqPrice = orderUtils.estLiqPrice({\n markPrice,\n baseIMR,\n baseMMR,\n totalCollateral,\n positions,\n IMR_Factor: accountInfo[\"imr_factor\"][symbol],\n orderFee,\n newOrder: {\n qty: quantity,\n price,\n symbol: parsedData.symbol!,\n },\n });\n\n // console.log(\"********\", liqPrice, markPrice, totalCollateral, result);\n\n if (liqPrice <= 0) return null;\n\n return liqPrice;\n }, [\n markPrice,\n baseIMR,\n baseMMR,\n totalCollateral,\n formattedOrder?.order_price,\n formattedOrder?.order_quantity,\n formattedOrder?.total,\n formattedOrder?.trigger_price,\n accountInfo,\n ]);\n\n const estLeverage = useMemo(() => {\n if (!accountInfo || !parsedData) return null;\n const result = getPriceAndQty(formattedOrder as OrderEntity);\n if (result === null || !result.price || !result.quantity) return null;\n\n const leverage = orderUtils.estLeverage({\n totalCollateral,\n positions,\n newOrder: {\n symbol: parsedData.symbol,\n qty: result.quantity,\n price: result.price,\n },\n });\n\n return leverage;\n }, [\n baseIMR,\n baseMMR,\n totalCollateral,\n positions,\n formattedOrder?.order_price,\n formattedOrder?.order_quantity,\n formattedOrder?.total,\n formattedOrder?.trigger_price,\n ]);\n\n return {\n maxQty,\n freeCollateral,\n markPrice,\n onSubmit,\n submit,\n submitting: isMutating,\n formattedOrder,\n // errors,\n estLiqPrice,\n estLeverage,\n helper: {\n calculate,\n validator,\n // clearErrors,\n },\n metaState: {\n dirty: fieldDirty.current,\n submitted: submitted.current,\n errors,\n },\n symbolConfig: symbolInfo[symbol](),\n };\n}\n"],"names":["useOrderEntry","symbolOrOrder","sideOrOptions","reduceOnly","options","isNewVersion","symbol","SDKError","side","order_type","prevOrderData","useRef","orderDataCache","notSupportData","errors","setErrors","useState","ee","useEventEmitter","fieldDirty","submitted","askAndBid","onOrderbookUpdate","useDebouncedCallback","data","current","freeCollateral","totalCollateral","positions","accountInfo","useCollateral","symbolInfo","useSymbolsInfo","useMemo","optionsValue","isReduceOnly","reduce_only","sideValue","baseDP","getPrecisionByNumber","quoteDP","baseIMR","baseMMR","markPrice","useMarkPrice","diffOrderEntry","prev","key","value","preValue","keys","Object","i","length","k","preveValue","currentValue","maxQty","useMaxQty","parseString2Number","order","dp","startsWith","replace","hasPoint","includes","endOfPoint","endsWith","decimalPart","split","slice","needParse","pick","parsedData","order_quantity","Decimal","toDecimalPlaces","toString","order_price","total","trigger_price","order_type_ext","visible_quantity","isStopOrder","OrderType","STOP_LIMIT","STOP_MARKET","doCreateOrder","isMutating","useMutation","createOrder","values","availableOrderTypes","orderCreator","OrderFactory","create","Promise","reject","resolve","validate","then","message","omit","res","success","Array","isArray","rows","emit","onSubmit","submit","useCallback","calculate","field","fieldHandler","getCalculateHandler","newValues","compose","head","orderEntityFormatHandle","baseInputHandle","validator","creator","formattedOrder","item","useEffect","isNil","err","catch","broker_id","watchOrderbook","on","off","getPriceAndQty","quantity","Number","orderPrice","isNaN","LIMIT","price","MARKET","OrderSide","BUY","SELL","estLiqPrice","result","orderFee","orderUtils","qty","futuresTakeFeeRate","liqPrice","IMR_Factor","newOrder","estLeverage","leverage","submitting","helper","metaState","dirty","symbolConfig"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -1,127 +1,156 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "useOrderStream", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return useOrderStream;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _usePrivateInfiniteQuery = require("../usePrivateInfiniteQuery");
|
|
12
|
+
const _react = require("react");
|
|
13
|
+
const _types = require("@orderly.network/types");
|
|
14
|
+
const _useMarkPricesStream = require("./useMarkPricesStream");
|
|
15
|
+
const _useMutation = require("../useMutation");
|
|
16
|
+
const _version = /*#__PURE__*/ _interop_require_default(require("../version"));
|
|
17
|
+
const _dataProvider = require("../dataProvider");
|
|
18
|
+
const _swr = require("../utils/swr");
|
|
19
|
+
const _useEventEmitter = require("../useEventEmitter");
|
|
20
|
+
function _interop_require_default(obj) {
|
|
21
|
+
return obj && obj.__esModule ? obj : {
|
|
22
|
+
default: obj
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const useOrderStream = (/**
|
|
26
|
+
* Orders query params
|
|
27
|
+
*/ params, options)=>{
|
|
21
28
|
const { status, symbol, side, size = 100 } = params;
|
|
22
|
-
const { data: markPrices = {} } = (0,
|
|
23
|
-
const ee = (0,
|
|
24
|
-
const { regesterKeyHandler, unregisterKeyHandler } = (0,
|
|
25
|
-
const [doCancelOrder, { error: cancelOrderError, isMutating: cancelMutating }
|
|
26
|
-
const [doUpdateOrder, { error: updateOrderError, isMutating: updateMutating }
|
|
27
|
-
const [doCanceAlgolOrder, { error: cancelAlgoOrderError, isMutating: cancelAlgoMutating }
|
|
28
|
-
const [doUpdateAlgoOrder, { error: updateAlgoOrderError, isMutating: updateAlgoMutating }
|
|
29
|
-
(0,
|
|
30
|
-
const formatKey = (value)
|
|
29
|
+
const { data: markPrices = {} } = (0, _useMarkPricesStream.useMarkPricesStream)();
|
|
30
|
+
const ee = (0, _useEventEmitter.useEventEmitter)();
|
|
31
|
+
const { regesterKeyHandler, unregisterKeyHandler } = (0, _dataProvider.useDataCenterContext)();
|
|
32
|
+
const [doCancelOrder, { error: cancelOrderError, isMutating: cancelMutating }] = (0, _useMutation.useMutation)("/v1/order", "DELETE");
|
|
33
|
+
const [doUpdateOrder, { error: updateOrderError, isMutating: updateMutating }] = (0, _useMutation.useMutation)("/v1/order", "PUT");
|
|
34
|
+
const [doCanceAlgolOrder, { error: cancelAlgoOrderError, isMutating: cancelAlgoMutating }] = (0, _useMutation.useMutation)("/v1/algo/order", "DELETE");
|
|
35
|
+
const [doUpdateAlgoOrder, { error: updateAlgoOrderError, isMutating: updateAlgoMutating }] = (0, _useMutation.useMutation)("/v1/algo/order", "PUT");
|
|
36
|
+
(0, _react.useEffect)(()=>{
|
|
37
|
+
const formatKey = (value)=>value ? `:${value}` : "";
|
|
31
38
|
const key = `orders${formatKey(status)}${formatKey(symbol)}${formatKey(side)}`;
|
|
32
|
-
regesterKeyHandler?.(key, (0,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
regesterKeyHandler?.(key, (0, _swr.generateKeyFun)({
|
|
40
|
+
status,
|
|
41
|
+
symbol,
|
|
42
|
+
side,
|
|
43
|
+
size
|
|
44
|
+
}));
|
|
45
|
+
return ()=>{
|
|
46
|
+
if (!options?.stopOnUnmount) return;
|
|
36
47
|
unregisterKeyHandler(key);
|
|
37
48
|
};
|
|
38
|
-
}, [
|
|
39
|
-
|
|
49
|
+
}, [
|
|
50
|
+
status,
|
|
51
|
+
symbol,
|
|
52
|
+
side,
|
|
53
|
+
options?.keeplive
|
|
54
|
+
]);
|
|
55
|
+
const ordersResponse = (0, _usePrivateInfiniteQuery.usePrivateInfiniteQuery)((0, _swr.generateKeyFun)({
|
|
56
|
+
status,
|
|
57
|
+
symbol,
|
|
58
|
+
side,
|
|
59
|
+
size
|
|
60
|
+
}), {
|
|
40
61
|
initialSize: 1,
|
|
41
62
|
// revalidateFirstPage: false,
|
|
42
63
|
// onError: (err) => {
|
|
43
64
|
// console.error("fetch failed::::", err);
|
|
44
65
|
// },
|
|
45
|
-
formatter: (data)
|
|
46
|
-
revalidateOnFocus: false
|
|
66
|
+
formatter: (data)=>data,
|
|
67
|
+
revalidateOnFocus: false
|
|
47
68
|
});
|
|
48
|
-
const flattenOrders = (0,
|
|
69
|
+
const flattenOrders = (0, _react.useMemo)(()=>{
|
|
49
70
|
if (!ordersResponse.data) {
|
|
50
71
|
return null;
|
|
51
72
|
}
|
|
52
|
-
return ordersResponse.data?.map((item)
|
|
53
|
-
}, [
|
|
73
|
+
return ordersResponse.data?.map((item)=>item.rows)?.flat();
|
|
74
|
+
}, [
|
|
75
|
+
ordersResponse.data
|
|
76
|
+
]);
|
|
54
77
|
// console.log(ordersResponse.data);
|
|
55
|
-
const orders = (0,
|
|
78
|
+
const orders = (0, _react.useMemo)(()=>{
|
|
56
79
|
if (!flattenOrders) {
|
|
57
80
|
return null;
|
|
58
81
|
}
|
|
59
|
-
if (status !==
|
|
82
|
+
if (status !== _types.OrderStatus.NEW && status !== _types.OrderStatus.INCOMPLETE) {
|
|
60
83
|
return flattenOrders;
|
|
61
84
|
}
|
|
62
|
-
return flattenOrders.map((item)
|
|
85
|
+
return flattenOrders.map((item)=>{
|
|
63
86
|
return {
|
|
64
87
|
...item,
|
|
65
|
-
mark_price: markPrices[item.symbol] ?? 0
|
|
88
|
+
mark_price: markPrices[item.symbol] ?? 0
|
|
66
89
|
};
|
|
67
90
|
});
|
|
68
|
-
}, [
|
|
69
|
-
|
|
91
|
+
}, [
|
|
92
|
+
flattenOrders,
|
|
93
|
+
markPrices,
|
|
94
|
+
status
|
|
95
|
+
]);
|
|
96
|
+
const total = (0, _react.useMemo)(()=>{
|
|
70
97
|
return ordersResponse.data?.[0]?.meta?.total || 0;
|
|
71
|
-
}, [
|
|
98
|
+
}, [
|
|
99
|
+
ordersResponse.data?.[0]?.meta?.total
|
|
100
|
+
]);
|
|
72
101
|
/**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
102
|
+
* cancel all orders
|
|
103
|
+
*/ const cancelAllOrders = (0, _react.useCallback)(()=>{}, [
|
|
104
|
+
ordersResponse.data
|
|
105
|
+
]);
|
|
106
|
+
const _updateOrder = (0, _react.useCallback)((orderId, order, type)=>{
|
|
107
|
+
switch(type){
|
|
78
108
|
case "algoOrder":
|
|
79
109
|
return doUpdateAlgoOrder({
|
|
80
110
|
order_id: orderId,
|
|
81
111
|
price: order["order_price"],
|
|
82
112
|
quantity: order["order_quantity"],
|
|
83
|
-
trigger_price: order["trigger_price"]
|
|
113
|
+
trigger_price: order["trigger_price"]
|
|
84
114
|
});
|
|
85
115
|
default:
|
|
86
|
-
return doUpdateOrder({
|
|
116
|
+
return doUpdateOrder({
|
|
117
|
+
...order,
|
|
118
|
+
order_id: orderId
|
|
119
|
+
});
|
|
87
120
|
}
|
|
88
121
|
}, []);
|
|
89
122
|
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const updateOrder = (0, react_1.useCallback)((orderId, order) => {
|
|
123
|
+
* update order
|
|
124
|
+
*/ const updateOrder = (0, _react.useCallback)((orderId, order)=>{
|
|
93
125
|
return _updateOrder(orderId, order, "normalOrder");
|
|
94
126
|
}, []);
|
|
95
127
|
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
return _updateOrder(orderId, order, "algoOrder").then((res) => {
|
|
128
|
+
* update algo order
|
|
129
|
+
*/ const updateAlgoOrder = (0, _react.useCallback)((orderId, order)=>{
|
|
130
|
+
return _updateOrder(orderId, order, "algoOrder").then((res)=>{
|
|
100
131
|
// TODO: remove this when the WS service provides the correct data
|
|
101
132
|
ee.emit("algoOrder:cache", {
|
|
102
133
|
// ...res.data.rows[0],
|
|
103
134
|
...order,
|
|
104
|
-
order_id: Number(orderId)
|
|
105
|
-
// trigger_price: price,
|
|
135
|
+
order_id: Number(orderId)
|
|
106
136
|
});
|
|
107
137
|
//------------fix end----------------
|
|
108
138
|
return res;
|
|
109
139
|
});
|
|
110
140
|
}, []);
|
|
111
|
-
const _cancelOrder = (0,
|
|
112
|
-
switch
|
|
141
|
+
const _cancelOrder = (0, _react.useCallback)((orderId, type, symbol)=>{
|
|
142
|
+
switch(type){
|
|
113
143
|
case "algoOrder":
|
|
114
144
|
return doCanceAlgolOrder(null, {
|
|
115
145
|
// @ts-ignore
|
|
116
146
|
order_id: orderId,
|
|
117
147
|
symbol,
|
|
118
|
-
source: `SDK${
|
|
119
|
-
}).then((res)
|
|
148
|
+
source: `SDK${_version.default}`
|
|
149
|
+
}).then((res)=>{
|
|
120
150
|
if (res.success) {
|
|
121
151
|
ordersResponse.mutate();
|
|
122
152
|
return res;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
153
|
+
} else {
|
|
125
154
|
throw new Error(res.message);
|
|
126
155
|
}
|
|
127
156
|
});
|
|
@@ -129,8 +158,8 @@ params, options) => {
|
|
|
129
158
|
return doCancelOrder(null, {
|
|
130
159
|
order_id: orderId,
|
|
131
160
|
symbol,
|
|
132
|
-
source: `SDK_${
|
|
133
|
-
}).then((res)
|
|
161
|
+
source: `SDK_${_version.default}`
|
|
162
|
+
}).then((res)=>{
|
|
134
163
|
if (res.success) {
|
|
135
164
|
// return ordersResponse.mutate().then(() => {
|
|
136
165
|
// return res;
|
|
@@ -138,26 +167,23 @@ params, options) => {
|
|
|
138
167
|
//Optimistic Updates
|
|
139
168
|
// ordersResponse.mutate();
|
|
140
169
|
return res;
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
170
|
+
} else {
|
|
143
171
|
throw new Error(res.message);
|
|
144
172
|
}
|
|
145
173
|
});
|
|
146
174
|
}
|
|
147
175
|
}, []);
|
|
148
176
|
/**
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const cancelOrder = (0, react_1.useCallback)((orderId, symbol) => {
|
|
177
|
+
* calcel order
|
|
178
|
+
*/ const cancelOrder = (0, _react.useCallback)((orderId, symbol)=>{
|
|
152
179
|
return _cancelOrder(orderId, "normalOrder", symbol);
|
|
153
180
|
}, []);
|
|
154
181
|
/**
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
const cancelAlgoOrder = (0, react_1.useCallback)((orderId, symbol) => {
|
|
182
|
+
* calcel algo order
|
|
183
|
+
*/ const cancelAlgoOrder = (0, _react.useCallback)((orderId, symbol)=>{
|
|
158
184
|
return _cancelOrder(orderId, "algoOrder", symbol);
|
|
159
185
|
}, []);
|
|
160
|
-
const loadMore = ()
|
|
186
|
+
const loadMore = ()=>{
|
|
161
187
|
ordersResponse.setSize(ordersResponse.size + 1);
|
|
162
188
|
};
|
|
163
189
|
return [
|
|
@@ -176,15 +202,16 @@ params, options) => {
|
|
|
176
202
|
cancelOrder: cancelOrderError,
|
|
177
203
|
updateOrder: updateOrderError,
|
|
178
204
|
cancelAlgoOrder: cancelAlgoOrderError,
|
|
179
|
-
updateAlgoOrder: updateAlgoOrderError
|
|
205
|
+
updateAlgoOrder: updateAlgoOrderError
|
|
180
206
|
},
|
|
181
207
|
submitting: {
|
|
182
208
|
cancelOrder: cancelMutating,
|
|
183
209
|
updateOrder: updateMutating,
|
|
184
210
|
cancelAlgoOrder: cancelAlgoMutating,
|
|
185
|
-
updateAlglOrder: updateAlgoMutating
|
|
186
|
-
}
|
|
187
|
-
}
|
|
211
|
+
updateAlglOrder: updateAlgoMutating
|
|
212
|
+
}
|
|
213
|
+
}
|
|
188
214
|
];
|
|
189
215
|
};
|
|
190
|
-
|
|
216
|
+
|
|
217
|
+
//# sourceMappingURL=useOrderStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/orderly/useOrderStream.ts"],"sourcesContent":["import { usePrivateInfiniteQuery } from \"../usePrivateInfiniteQuery\";\nimport { useCallback, useEffect, useMemo } from \"react\";\nimport {\n OrderSide,\n OrderEntity,\n OrderStatus,\n API,\n} from \"@orderly.network/types\";\nimport { useMarkPricesStream } from \"./useMarkPricesStream\";\nimport { useMutation } from \"../useMutation\";\nimport version from \"../version\";\nimport { useDataCenterContext } from \"../dataProvider\";\nimport { generateKeyFun } from \"../utils/swr\";\nimport { useEventEmitter } from \"../useEventEmitter\";\n\ntype OrderType = \"normalOrder\" | \"algoOrder\";\n\nexport interface UserOrdersReturn {\n data: any[];\n loading: boolean;\n update: (order: any) => void;\n cancel: (order: any) => void;\n}\n\n// const chche: Record<string, boolean> = {};\n\ntype Params = {\n symbol?: string;\n status?: OrderStatus;\n size?: number;\n side?: OrderSide;\n};\n\nexport const useOrderStream = (\n /**\n * Orders query params\n */\n params: Params,\n\n options?: {\n /**\n * Keep the state update alive\n */\n keeplive?: boolean;\n /**\n * Stop the state update when the component unmount\n */\n stopOnUnmount?: boolean;\n }\n) => {\n const { status, symbol, side, size = 100 } = params;\n\n const { data: markPrices = {} } = useMarkPricesStream();\n\n const ee = useEventEmitter();\n\n const { regesterKeyHandler, unregisterKeyHandler } = useDataCenterContext();\n const [\n doCancelOrder,\n { error: cancelOrderError, isMutating: cancelMutating },\n ] = useMutation(\"/v1/order\", \"DELETE\");\n\n const [\n doUpdateOrder,\n { error: updateOrderError, isMutating: updateMutating },\n ] = useMutation(\"/v1/order\", \"PUT\");\n\n const [\n doCanceAlgolOrder,\n { error: cancelAlgoOrderError, isMutating: cancelAlgoMutating },\n ] = useMutation(\"/v1/algo/order\", \"DELETE\");\n\n const [\n doUpdateAlgoOrder,\n { error: updateAlgoOrderError, isMutating: updateAlgoMutating },\n ] = useMutation(\"/v1/algo/order\", \"PUT\");\n\n useEffect(() => {\n const formatKey = (value?: string) => (value ? `:${value}` : \"\");\n const key = `orders${formatKey(status)}${formatKey(symbol)}${formatKey(\n side\n )}`;\n regesterKeyHandler?.(key, generateKeyFun({ status, symbol, side, size }));\n\n return () => {\n if (!options?.stopOnUnmount) return;\n\n unregisterKeyHandler(key);\n };\n }, [status, symbol, side, options?.keeplive]);\n\n const ordersResponse = usePrivateInfiniteQuery(\n generateKeyFun({ status, symbol, side, size }),\n {\n initialSize: 1,\n // revalidateFirstPage: false,\n // onError: (err) => {\n // console.error(\"fetch failed::::\", err);\n // },\n formatter: (data) => data,\n revalidateOnFocus: false,\n }\n );\n\n const flattenOrders = useMemo(() => {\n if (!ordersResponse.data) {\n return null;\n }\n\n return ordersResponse.data?.map((item) => item.rows)?.flat();\n }, [ordersResponse.data]);\n\n // console.log(ordersResponse.data);\n\n const orders = useMemo(() => {\n if (!flattenOrders) {\n return null;\n }\n\n if (status !== OrderStatus.NEW && status !== OrderStatus.INCOMPLETE) {\n return flattenOrders;\n }\n return flattenOrders.map((item) => {\n return {\n ...item,\n mark_price: (markPrices as any)[item.symbol] ?? 0,\n };\n });\n }, [flattenOrders, markPrices, status]);\n\n const total = useMemo(() => {\n return ordersResponse.data?.[0]?.meta?.total || 0;\n }, [ordersResponse.data?.[0]?.meta?.total]);\n\n /**\n * cancel all orders\n */\n const cancelAllOrders = useCallback(() => {}, [ordersResponse.data]);\n\n const _updateOrder = useCallback(\n (orderId: string, order: OrderEntity, type: OrderType) => {\n switch (type) {\n case \"algoOrder\":\n return doUpdateAlgoOrder({\n order_id: orderId,\n price: order[\"order_price\"],\n quantity: order[\"order_quantity\"],\n trigger_price: order[\"trigger_price\"],\n });\n default:\n return doUpdateOrder({ ...order, order_id: orderId });\n }\n },\n []\n );\n\n /**\n * update order\n */\n const updateOrder = useCallback((orderId: string, order: OrderEntity) => {\n return _updateOrder(orderId, order, \"normalOrder\");\n }, []);\n\n /**\n * update algo order\n */\n const updateAlgoOrder = useCallback((orderId: string, order: OrderEntity) => {\n return _updateOrder(orderId, order, \"algoOrder\").then((res) => {\n // TODO: remove this when the WS service provides the correct data\n ee.emit(\"algoOrder:cache\", {\n // ...res.data.rows[0],\n ...order,\n order_id: Number(orderId),\n // trigger_price: price,\n });\n //------------fix end----------------\n return res;\n });\n }, []);\n\n const _cancelOrder = useCallback(\n (orderId: number, type: OrderType, symbol?: string) => {\n switch (type) {\n case \"algoOrder\":\n return doCanceAlgolOrder(null, {\n // @ts-ignore\n order_id: orderId,\n symbol,\n source: `SDK${version}`,\n }).then((res: any) => {\n if (res.success) {\n ordersResponse.mutate();\n return res;\n } else {\n throw new Error(res.message);\n }\n });\n default:\n return doCancelOrder(null, {\n order_id: orderId,\n symbol,\n source: `SDK_${version}`,\n }).then((res: any) => {\n if (res.success) {\n // return ordersResponse.mutate().then(() => {\n // return res;\n // });\n //Optimistic Updates\n // ordersResponse.mutate();\n return res;\n } else {\n throw new Error(res.message);\n }\n });\n }\n },\n []\n );\n /**\n * calcel order\n */\n const cancelOrder = useCallback((orderId: number, symbol?: string) => {\n return _cancelOrder(orderId, \"normalOrder\", symbol);\n }, []);\n\n /**\n * calcel algo order\n */\n const cancelAlgoOrder = useCallback((orderId: number, symbol?: string) => {\n return _cancelOrder(orderId, \"algoOrder\", symbol);\n }, []);\n\n const loadMore = () => {\n ordersResponse.setSize(ordersResponse.size + 1);\n };\n\n return [\n orders,\n {\n total,\n isLoading: ordersResponse.isLoading,\n refresh: ordersResponse.mutate,\n loadMore,\n cancelAllOrders,\n updateOrder,\n cancelOrder,\n updateAlgoOrder,\n cancelAlgoOrder,\n errors: {\n cancelOrder: cancelOrderError,\n updateOrder: updateOrderError,\n cancelAlgoOrder: cancelAlgoOrderError,\n updateAlgoOrder: updateAlgoOrderError,\n },\n submitting: {\n cancelOrder: cancelMutating,\n updateOrder: updateMutating,\n cancelAlgoOrder: cancelAlgoMutating,\n updateAlglOrder: updateAlgoMutating,\n },\n },\n ] as const;\n};\n"],"names":["useOrderStream","params","options","status","symbol","side","size","data","markPrices","useMarkPricesStream","ee","useEventEmitter","regesterKeyHandler","unregisterKeyHandler","useDataCenterContext","doCancelOrder","error","cancelOrderError","isMutating","cancelMutating","useMutation","doUpdateOrder","updateOrderError","updateMutating","doCanceAlgolOrder","cancelAlgoOrderError","cancelAlgoMutating","doUpdateAlgoOrder","updateAlgoOrderError","updateAlgoMutating","useEffect","formatKey","value","key","generateKeyFun","stopOnUnmount","keeplive","ordersResponse","usePrivateInfiniteQuery","initialSize","formatter","revalidateOnFocus","flattenOrders","useMemo","map","item","rows","flat","orders","OrderStatus","NEW","INCOMPLETE","mark_price","total","meta","cancelAllOrders","useCallback","_updateOrder","orderId","order","type","order_id","price","quantity","trigger_price","updateOrder","updateAlgoOrder","then","res","emit","Number","_cancelOrder","source","version","success","mutate","Error","message","cancelOrder","cancelAlgoOrder","loadMore","setSize","isLoading","refresh","errors","submitting","updateAlglOrder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -16,12 +16,11 @@ export declare const mergeOrderbook: (data: OrderbookData, update: OrderbookData
|
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
* Configuration for the Order Book
|
|
19
|
-
* @level Indicates the number of data entries to return for ask/bid, default is 10
|
|
20
|
-
* @padding Whether to fill in when the actual data entries are less than the level. If filled, it will add [nan, nan, nan, nan]
|
|
21
|
-
* default is true
|
|
22
19
|
*/
|
|
23
20
|
export type OrderbookOptions = {
|
|
21
|
+
/** Indicates the number of data entries to return for ask/bid, default is 10 */
|
|
24
22
|
level?: number;
|
|
23
|
+
/** Whether to fill in when the actual data entries are less than the level. If filled, it will add [nan, nan, nan, nan]. Default is true */
|
|
25
24
|
padding?: boolean;
|
|
26
25
|
};
|
|
27
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOrderbookStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useOrderbookStream.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,IAAI,EAAE,aAAa,EAAE,CAAC;CACzB,CAAC;AAyFF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,UACjB,MAAM,GAAG,SAAS,SAClB,MAAM,WACJ,OAAO,QACV,aAAa,KACpB,aAyDF,CAAC;AAgCF,eAAO,MAAM,cAAc,SAAU,aAAa,UAAU,aAAa;;;CAWxE,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"useOrderbookStream.d.ts","sourceRoot":"","sources":["../../src/orderly/useOrderbookStream.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,IAAI,EAAE,aAAa,EAAE,CAAC;CACzB,CAAC;AAyFF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,UACjB,MAAM,GAAG,SAAS,SAClB,MAAM,WACJ,OAAO,QACV,aAAa,KACpB,aAyDF,CAAC;AAgCF,eAAO,MAAM,cAAc,SAAU,aAAa,UAAU,aAAa;;;CAWxE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4IAA4I;IAC5I,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,WACnB,MAAM,YACL,aAAa,YACZ,gBAAgB;;;;;;;;;;;2BAqHgB,MAAM;;;;;;;;;IAmDnD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|