@velora-dex/widget 0.8.3-dev.0 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +23 -22
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/constants.d.ts +2 -1
- package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/constants.js +2 -2
- package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +4 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts +5 -0
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts.map +1 -0
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js +22 -0
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js.map +1 -0
- package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +73 -79
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +10 -10
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -4
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +53 -46
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/OtcOrderButton.d.ts.map +1 -1
- package/dist/core/OtcOrderButton.js +6 -5
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +4 -3
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +24 -24
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +130 -99
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.js +5 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +2 -2
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/utils.d.ts.map +1 -1
- package/dist/core/inputs/hooks/utils.js +5 -7
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts +3 -2
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +110 -54
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +4 -1
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.js +2 -2
- package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +21 -11
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/swapDetails/fees.d.ts.map +1 -1
- package/dist/core/swapDetails/fees.js +11 -16
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.d.ts.map +1 -1
- package/dist/core/swapDetails/maxToPay.js +17 -18
- package/dist/core/swapDetails/maxToPay.js.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/types/importToken.d.ts +14 -0
- package/dist/events/types/importToken.d.ts.map +1 -0
- package/dist/events/types/index.d.ts +4 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/events/types/priceChange.d.ts +2 -2
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/events/types/swap.d.ts +2 -2
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +2 -2
- package/dist/events/types/twap.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js +31 -32
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts +8 -0
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/bridge/const.js +13 -0
- package/dist/hooks/swap/prices/delta/bridge/const.js.map +1 -0
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +4 -3
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +3 -6
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +17 -20
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +28 -27
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +28 -27
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +6 -5
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +6 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -2
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +3 -3
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +29 -44
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +16 -128
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -16
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +6 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +8 -7
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/factory.d.ts.map +1 -1
- package/dist/hooks/swap/prices/factory.js +1 -1
- package/dist/hooks/swap/prices/factory.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
- package/dist/hooks/swap/prices/types.d.ts +3 -2
- package/dist/hooks/swap/prices/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +3 -3
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +5 -4
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +17 -10
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +6 -6
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +124 -119
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +196 -159
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +229 -217
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +3 -19
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +35 -65
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/queryClient.js +2 -2
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/utils/price.d.ts +2 -5
- package/dist/lib/utils/price.d.ts.map +1 -1
- package/dist/lib/utils/price.js +5 -8
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/twap.d.ts +2 -2
- package/dist/lib/utils/twap.d.ts.map +1 -1
- package/dist/lib/utils/twap.js +2 -2
- package/dist/lib/utils/twap.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.d.ts +2 -0
- package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js +47 -31
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/package.json +2 -2
- package/dist/lib/utils/scaleFactor.js +0 -13
- package/dist/lib/utils/scaleFactor.js.map +0 -1
|
@@ -1,68 +1,124 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
1
|
+
import { useAtomValue as e } from "../store.js";
|
|
2
|
+
import { useDeltaPriceQuery as t } from "../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js";
|
|
3
|
+
import { useMarketPriceQuery as n } from "../../hooks/swap/prices/market/queries/useMarketPriceQuery.js";
|
|
4
|
+
import { tradeModeToTokenAtoms as r, useWidgetTokens as i } from "../inputs/state/common.js";
|
|
5
|
+
import { useTokenPrice as a } from "../../hooks/tokens/prices/useTokenPrices.js";
|
|
6
|
+
import { useExtraMarketPriceParams as o, usePricesParams as s } from "../../hooks/swap/prices/usePricesParams.js";
|
|
7
|
+
import { c } from "react-compiler-runtime";
|
|
8
|
+
import { useMemo as l } from "react";
|
|
9
|
+
import { formatUnits as u, parseUnits as d } from "viem";
|
|
10
|
+
import f from "big.js";
|
|
7
11
|
//#region src/core/limit/useLimitRate.ts
|
|
8
|
-
var
|
|
9
|
-
let i = r(
|
|
10
|
-
i[0] ===
|
|
11
|
-
let
|
|
12
|
-
i[2]
|
|
12
|
+
var p = 6e4 * 5, m = (t) => {
|
|
13
|
+
let i = c(16), { enabled: a, refetchInterval: l, tradeMode: u } = t, f = a === void 0 ? !0 : a, m = l === void 0 ? p : l, h = e(r[u].tokenFromAtom), { priceParams: g, chainId: _ } = s(u), v = o(), y;
|
|
14
|
+
i[0] === h.decimals ? y = i[1] : (y = d("1", h.decimals).toString(), i[0] = h.decimals, i[1] = y);
|
|
15
|
+
let b;
|
|
16
|
+
i[2] !== v || i[3] !== g || i[4] !== y ? (b = {
|
|
17
|
+
...g,
|
|
18
|
+
...v,
|
|
19
|
+
amount: y,
|
|
20
|
+
side: "SELL",
|
|
21
|
+
ignoreBadUsdPrice: !0
|
|
22
|
+
}, i[2] = v, i[3] = g, i[4] = y, i[5] = b) : b = i[5];
|
|
23
|
+
let x = b, S;
|
|
24
|
+
i[6] !== f || i[7] !== m ? (S = {
|
|
25
|
+
enabled: f,
|
|
26
|
+
refetchInterval: m,
|
|
27
|
+
retry: !1,
|
|
28
|
+
refetchOnWindowFocus: !1,
|
|
29
|
+
refetchOnMount: !1
|
|
30
|
+
}, i[6] = f, i[7] = m, i[8] = S) : S = i[8];
|
|
31
|
+
let C;
|
|
32
|
+
i[9] !== _ || i[10] !== x || i[11] !== S ? (C = {
|
|
33
|
+
priceParams: x,
|
|
34
|
+
chainId: _,
|
|
35
|
+
query: S
|
|
36
|
+
}, i[9] = _, i[10] = x, i[11] = S, i[12] = C) : C = i[12];
|
|
37
|
+
let { result: w } = n(C), T;
|
|
38
|
+
return i[13] !== w.data || i[14] !== w.isLoading ? (T = {
|
|
39
|
+
price: w.data,
|
|
40
|
+
isLoading: w.isLoading
|
|
41
|
+
}, i[13] = w.data, i[14] = w.isLoading, i[15] = T) : T = i[15], T;
|
|
42
|
+
}, h = (e) => {
|
|
43
|
+
let n = c(17), { enabled: r, refetchInterval: i, tradeMode: a } = e, o = r === void 0 ? !0 : r, l = i === void 0 ? 1e4 : i, { priceParams: u, chainId: d, destChainId: f, isCrossChain: p } = s(a), m = o && a === "limit", h;
|
|
44
|
+
n[0] === u ? h = n[1] : (h = {
|
|
13
45
|
...u,
|
|
14
46
|
side: "SELL",
|
|
15
47
|
ignoreBadUsdPrice: !0
|
|
16
|
-
},
|
|
17
|
-
let
|
|
18
|
-
|
|
19
|
-
...
|
|
20
|
-
allowBridgeAndSwap:
|
|
21
|
-
},
|
|
22
|
-
let
|
|
23
|
-
|
|
24
|
-
enabled:
|
|
48
|
+
}, n[0] = u, n[1] = h);
|
|
49
|
+
let g = h, _ = p && a === "limit" ? !1 : void 0, v;
|
|
50
|
+
n[2] !== _ || n[3] !== g ? (v = {
|
|
51
|
+
...g,
|
|
52
|
+
allowBridgeAndSwap: _
|
|
53
|
+
}, n[2] = _, n[3] = g, n[4] = v) : v = n[4];
|
|
54
|
+
let y;
|
|
55
|
+
n[5] !== m || n[6] !== l ? (y = {
|
|
56
|
+
enabled: m,
|
|
25
57
|
refetchInterval: l,
|
|
26
58
|
retry: !1,
|
|
27
59
|
refetchOnWindowFocus: !1,
|
|
28
60
|
refetchOnMount: !1
|
|
29
|
-
},
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
priceParams:
|
|
61
|
+
}, n[5] = m, n[6] = l, n[7] = y) : y = n[7];
|
|
62
|
+
let b;
|
|
63
|
+
n[8] !== d || n[9] !== f || n[10] !== v || n[11] !== y ? (b = {
|
|
64
|
+
priceParams: v,
|
|
33
65
|
chainId: d,
|
|
34
66
|
destChainId: f,
|
|
35
|
-
query:
|
|
36
|
-
},
|
|
37
|
-
let { result:
|
|
38
|
-
return
|
|
39
|
-
price:
|
|
40
|
-
isLoading:
|
|
41
|
-
error:
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
let n = r(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
query: y
|
|
68
|
+
}, n[8] = d, n[9] = f, n[10] = v, n[11] = y, n[12] = b) : b = n[12];
|
|
69
|
+
let { result: x } = t(b), S;
|
|
70
|
+
return n[13] !== x.data || n[14] !== x.error || n[15] !== x.isLoading ? (S = {
|
|
71
|
+
price: x.data,
|
|
72
|
+
isLoading: x.isLoading,
|
|
73
|
+
error: x.error
|
|
74
|
+
}, n[13] = x.data, n[14] = x.error, n[15] = x.isLoading, n[16] = S) : S = n[16], S;
|
|
75
|
+
}, g = (e) => {
|
|
76
|
+
let { tokenFrom: t, tokenTo: n } = i(e), { data: r, isLoading: o } = a(t, { refetchInterval: p }), { data: s, isLoading: c } = a(n, { refetchInterval: p }), d = o || c, g = e === "limit" && n && n.network !== t.network, _ = !!(r && s), { price: v, isLoading: y } = m({
|
|
77
|
+
enabled: !_ && !d && !g,
|
|
78
|
+
tradeMode: e
|
|
79
|
+
}), { price: b, isLoading: x } = h({
|
|
80
|
+
enabled: g,
|
|
81
|
+
tradeMode: e
|
|
82
|
+
}), S = d || y;
|
|
83
|
+
return l(() => {
|
|
84
|
+
if (!n) return { isLoading: S };
|
|
85
|
+
let e, i;
|
|
86
|
+
if (g) {
|
|
87
|
+
if (!b) return { isLoading: x };
|
|
88
|
+
let r = u(BigInt(b.srcAmount), t.decimals), a = u(BigInt(b.receivedDestAmount), n.decimals);
|
|
89
|
+
return r === "0" || a === "0" ? (e = "0", i = "0") : (e = f(a).div(r).toFixed(), i = f(r).div(a).toFixed()), {
|
|
90
|
+
rates: {
|
|
91
|
+
rate: e,
|
|
92
|
+
rateReversed: i
|
|
93
|
+
},
|
|
94
|
+
isLoading: x
|
|
95
|
+
};
|
|
96
|
+
} else if (_) r.price === 0 || s.price === 0 ? (e = "0", i = "0") : (e = f(r.price).div(s.price).toFixed(), i = f(s.price).div(r.price).toFixed());
|
|
97
|
+
else if (v) {
|
|
98
|
+
let r = u(BigInt(v.srcAmount), t.decimals), a = u(BigInt(v.destAmount), n.decimals);
|
|
99
|
+
e = f(a).div(r).toFixed(), i = f(r).div(a).toFixed();
|
|
100
|
+
}
|
|
101
|
+
return !e || !i ? { isLoading: S } : {
|
|
102
|
+
rates: {
|
|
103
|
+
rate: e,
|
|
104
|
+
rateReversed: i
|
|
105
|
+
},
|
|
106
|
+
isLoading: S
|
|
107
|
+
};
|
|
108
|
+
}, [
|
|
109
|
+
_,
|
|
110
|
+
S,
|
|
111
|
+
v,
|
|
112
|
+
t.decimals,
|
|
113
|
+
r?.price,
|
|
114
|
+
n,
|
|
115
|
+
s?.price,
|
|
116
|
+
g,
|
|
117
|
+
b,
|
|
118
|
+
x
|
|
119
|
+
]);
|
|
64
120
|
};
|
|
65
121
|
//#endregion
|
|
66
|
-
export {
|
|
122
|
+
export { h as useDeltaSwapPriceForLimit, g as useLimitRate };
|
|
67
123
|
|
|
68
124
|
//# sourceMappingURL=useLimitRate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitRate.js","names":["usePricesParams","FetchPriceParams","useDeltaPriceQuery","Big","formatUnits","useWidgetTokens","UseLimitRateResult","useDeltaSwapPriceForLimit","t0","$","_c","t1","undefined","enabled","t2","refetchInterval","t3","priceParams","_priceParams","chainId","destChainId","isCrossChain","t4","side","const","ignoreBadUsdPrice","allowBridgeAndSwap","t5","t6","retry","refetchOnWindowFocus","refetchOnMount","t7","query","result","deltaPriceQuery","t8","data","error","isLoading","price","useLimitRate","tradeMode","tokenFrom","tokenTo","deltaPrice","rate","rateReversed","route","destination","output","amount","origin","input","decimals","srcUnits","BigInt","destUnits","div","toFixed","rates"],"sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport Big from \"big.js\";\nimport { formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\n\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n} = {}) => {\n const {\n priceParams: _priceParams,\n chainId,\n destChainId,\n isCrossChain,\n } = usePricesParams(\"limit\");\n\n const priceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ..._priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { price: deltaPrice, isLoading } = useDeltaSwapPriceForLimit();\n\n if (!tokenTo || !deltaPrice) {\n return { isLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n\n const srcUnits = formatUnits(\n BigInt(deltaPrice.route.origin.input.amount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaPrice.route.destination.output.amount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLimitRate.js","names":["useMarketPriceQuery","useExtraMarketPriceParams","usePricesParams","FetchPriceParams","useTokenPrice","Big","parseUnits","formatUnits","useWidgetTokens","UseLimitRateResult","useAtomValue","tradeModeToTokenAtoms","useMemo","useDeltaPriceQuery","PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","tokenFromAtom","priceParams","chainId","extraPriceParams","t3","decimals","toString","t4","amount","side","const","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","query","result","marketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","deltaPriceQuery","error","useLimitRate","tokenTo","tokenFromPrice","isTokenFromPriceLoading","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","rate","rateReversed","srcUnits","BigInt","srcAmount","destUnits","receivedDestAmount","div","toFixed","rates","destAmount"],"sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n useExtraMarketPriceParams,\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n const extraPriceParams = useExtraMarketPriceParams();\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n ...extraPriceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({\n enabled: fetchSwapPrice,\n tradeMode,\n });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainLOrder,\n tradeMode,\n });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\n ]);\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAgB5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA0FlD,KAAK,4BAA4B,GAAG;IAClC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,4BAA4B,CA8BxE;
|
|
1
|
+
{"version":3,"file":"useLimitTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAgB5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA0FlD,KAAK,4BAA4B,GAAG;IAClC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,4BAA4B,CA8BxE;AA0CD,eAAO,MAAM,yBAAyB,QAAO,eAc5C,CAAC"}
|
|
@@ -93,7 +93,10 @@ function A() {
|
|
|
93
93
|
}
|
|
94
94
|
function j() {
|
|
95
95
|
let e = w(11), t = s(), n = o(), i = n && t && n.network !== t.network, a;
|
|
96
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (a = {
|
|
96
|
+
e[0] === Symbol.for("react.memo_cache_sentinel") ? (a = {
|
|
97
|
+
tradeMode: "limit",
|
|
98
|
+
enabled: !1
|
|
99
|
+
}, e[0] = a) : a = e[0];
|
|
97
100
|
let { error: c } = x(a), l = i ? c : void 0, p;
|
|
98
101
|
if (e[1] !== l || e[2] !== n || e[3] !== t) {
|
|
99
102
|
let i = l && d(l);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenToInputProps.js","names":["TokenInputProps","useAtom","useAtomValue","useSetAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtom","useLogger","OnValueChange","useDeltaSwapPriceForLimit","useLimitRate","currentLimitInputAtom","TokenInputExtraProps","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useLimitInputClasses","selectLimitTokenToAtom","useLimitTokenFrom","useLimitTokenTo","useIsTokenSupportedInDeltaQuery","Token","isFilledArray","useChainId","useSelectableDestChains","SupportedChainId","limitChainToAtom","BridgeInfoMode","isUnsupportedTokenError","parseDeltaApiError","replaceUnsupportedTokenMessage","isTruthy","useTokenToBalanceUnit","$","_c","tokenTo","t0","Symbol","for","refetchInterval","t1","token","queryOptions","balanceUnit","t2","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","t3","t4","t5","tokenType","const","onFocus","label","useTokenToAmountProps","logger","receiveAmount","setReceiveAmount","isLoading","values","log","value","onAmountChange","setTokenTo","amount","onTokenSelect","UnsupportedLimitTokensResult","unsupportedTokens","useUnsupportedLimitTokens","tokenFrom","address","network","data","isDestTokenSupported","isDestTokenSupportedLoading","isSrcTokenSupported","isSrcTokenSupportedLoading","push","t6","useWarningMessage","isCrosschainLimitOrder","enabled","error","limitPriceError","priceError","deltaPriceError","description","filter","deltaErrorToShow","customUnsupportedTokenMessage","unsupportedTokensWarning","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","tokens","Pick","symbol","tokenSymbols","map","join"],"sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useDeltaSwapPriceForLimit, useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitChainToAtom } from \"../state/chainToAtom\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport {\n isUnsupportedTokenError,\n parseDeltaApiError,\n replaceUnsupportedTokenMessage,\n} from \"@/lib/utils/delta\";\nimport { isTruthy } from \"@/lib/utils\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = ({\n acrossMode,\n}: {\n acrossMode: BridgeInfoMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const [chainTo, setChainTo] = useAtom(limitChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const isCrosschainLimitOrder =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n enabled: false, // get result only\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n const deltaPriceError = priceError && parseDeltaApiError(priceError);\n const deltaErrorToShow = deltaPriceError\n ? isUnsupportedTokenError(deltaPriceError)\n ? replaceUnsupportedTokenMessage(\n deltaPriceError.description,\n [tokenFrom, tokenTo].filter(isTruthy)\n )\n : deltaPriceError?.description\n : null;\n\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n const unsupportedTokensWarning = unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined;\n\n const warningMessage =\n unsupportedTokensWarning || deltaErrorToShow || undefined;\n return {\n warningMessage,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps({ acrossMode: \"limit\" });\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLimitTokenToInputProps.js","names":["TokenInputProps","useAtom","useAtomValue","useSetAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtom","useLogger","OnValueChange","useDeltaSwapPriceForLimit","useLimitRate","currentLimitInputAtom","TokenInputExtraProps","useTokenBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","toDecimalTrimmed","useLimitInputClasses","selectLimitTokenToAtom","useLimitTokenFrom","useLimitTokenTo","useIsTokenSupportedInDeltaQuery","Token","isFilledArray","useChainId","useSelectableDestChains","SupportedChainId","limitChainToAtom","BridgeInfoMode","isUnsupportedTokenError","parseDeltaApiError","replaceUnsupportedTokenMessage","isTruthy","useTokenToBalanceUnit","$","_c","tokenTo","t0","Symbol","for","refetchInterval","t1","token","queryOptions","balanceUnit","t2","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","t3","t4","t5","tokenType","const","onFocus","label","useTokenToAmountProps","logger","receiveAmount","setReceiveAmount","isLoading","values","log","value","onAmountChange","setTokenTo","amount","onTokenSelect","UnsupportedLimitTokensResult","unsupportedTokens","useUnsupportedLimitTokens","tokenFrom","address","network","data","isDestTokenSupported","isDestTokenSupportedLoading","isSrcTokenSupported","isSrcTokenSupportedLoading","push","t6","useWarningMessage","isCrosschainLimitOrder","tradeMode","enabled","error","limitPriceError","priceError","deltaPriceError","description","filter","deltaErrorToShow","customUnsupportedTokenMessage","unsupportedTokensWarning","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","tokens","Pick","symbol","tokenSymbols","map","join"],"sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtom, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useDeltaSwapPriceForLimit, useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/limitTokenAtoms\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { limitChainToAtom } from \"../state/chainToAtom\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport {\n isUnsupportedTokenError,\n parseDeltaApiError,\n replaceUnsupportedTokenMessage,\n} from \"@/lib/utils/delta\";\nimport { isTruthy } from \"@/lib/utils\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = ({\n acrossMode,\n}: {\n acrossMode: BridgeInfoMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const [chainTo, setChainTo] = useAtom(limitChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const isCrosschainLimitOrder =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false, // get result only\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n const deltaPriceError = priceError && parseDeltaApiError(priceError);\n const deltaErrorToShow = deltaPriceError\n ? isUnsupportedTokenError(deltaPriceError)\n ? replaceUnsupportedTokenMessage(\n deltaPriceError.description,\n [tokenFrom, tokenTo].filter(isTruthy)\n )\n : deltaPriceError?.description\n : null;\n\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n const unsupportedTokensWarning = unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined;\n\n const warningMessage =\n unsupportedTokensWarning || deltaErrorToShow || undefined;\n return {\n warningMessage,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps({ acrossMode: \"limit\" });\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,eAAO,MAAM,mBAAmB;;CAiC9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;CA4ClC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,eAAO,MAAM,mBAAmB;;CAiC9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;CA4ClC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;CA+ChC,CAAC"}
|
|
@@ -17,14 +17,14 @@ var d = u(null, async (e, c) => {
|
|
|
17
17
|
n(d) && (m = r(u, u.network) ? s(d, p) ? f : p : t[d.network]), c(o, m), c(l);
|
|
18
18
|
}), f = u(null, async (t, n, r) => {
|
|
19
19
|
let u = t(a), d = t(o), f = u;
|
|
20
|
-
if (n(a, r), u = r, d && s(r, d)
|
|
20
|
+
if (n(a, r), u = r, d && (s(r, d) || d.network !== u.network)) {
|
|
21
21
|
let [e, t] = i(u.network, "otc"), r = s(u, t) ? e : t;
|
|
22
22
|
n(o, r), d = r;
|
|
23
23
|
}
|
|
24
24
|
s(u, f) || n(l), u.network !== e.state.chainId && c({ chainId: u.network });
|
|
25
25
|
}), p = u(null, async (r, u, d) => {
|
|
26
26
|
let f = n(d) ? t[d.network] : d, p = r(a), m = r(o), h = m;
|
|
27
|
-
if (u(o, f), m = f,
|
|
27
|
+
if (u(o, f), m = f, s(p, m) || m.network !== p.network) {
|
|
28
28
|
let [e, t] = i(m.network, "otc"), n = s(m, t) ? e : t;
|
|
29
29
|
u(a, n), p = n;
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","unlockOtcPriceAtom","otcTokenFromAtom","otcTokenToAtom","Token","wagmiConfig","switchChain","isETH","isWETH","wrappedNativeTokensByChainId","switchOtcTokensAtom","get","set","tokenTo","tokenFrom","defaultTokenFrom","defaultTokenTo","network","newTokenTo","selectOtcTokenFromAtom","newTokenFrom","initTokenFrom","state","chainId","selectOtcTokenToAtom","_newTokenTo","initTokenTo"],"sources":["../../../../src/core/otc/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { unlockOtcPriceAtom } from \"./otcInputActionsAtom\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeTokensByChainId } from \"@/tokens/constructor\";\n\nexport const switchOtcTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(otcTokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(otcTokenFromAtom);\n\n // set tokenFrom\n // tokenFrom can be any token\n set(otcTokenFromAtom, tokenTo);\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"otc\"\n );\n\n // set tokenTo\n // tokenTo can't be ETH\n let newTokenTo = tokenFrom;\n\n if (isETH(tokenFrom)) {\n if (isWETH(tokenTo, tokenTo.network)) {\n newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n } else {\n newTokenTo = wrappedNativeTokensByChainId[tokenFrom.network];\n }\n }\n\n set(otcTokenToAtom, newTokenTo);\n\n set(unlockOtcPriceAtom);\n});\n\nexport const selectOtcTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(otcTokenFromAtom);\n let tokenTo = get(otcTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(otcTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n if (tokenTo
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","unlockOtcPriceAtom","otcTokenFromAtom","otcTokenToAtom","Token","wagmiConfig","switchChain","isETH","isWETH","wrappedNativeTokensByChainId","switchOtcTokensAtom","get","set","tokenTo","tokenFrom","defaultTokenFrom","defaultTokenTo","network","newTokenTo","selectOtcTokenFromAtom","newTokenFrom","initTokenFrom","state","chainId","selectOtcTokenToAtom","_newTokenTo","initTokenTo"],"sources":["../../../../src/core/otc/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { unlockOtcPriceAtom } from \"./otcInputActionsAtom\";\nimport { otcTokenFromAtom, otcTokenToAtom } from \"./selectedTokenAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeTokensByChainId } from \"@/tokens/constructor\";\n\nexport const switchOtcTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(otcTokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(otcTokenFromAtom);\n\n // set tokenFrom\n // tokenFrom can be any token\n set(otcTokenFromAtom, tokenTo);\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"otc\"\n );\n\n // set tokenTo\n // tokenTo can't be ETH\n let newTokenTo = tokenFrom;\n\n if (isETH(tokenFrom)) {\n if (isWETH(tokenTo, tokenTo.network)) {\n newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n } else {\n newTokenTo = wrappedNativeTokensByChainId[tokenFrom.network];\n }\n }\n\n set(otcTokenToAtom, newTokenTo);\n\n set(unlockOtcPriceAtom);\n});\n\nexport const selectOtcTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(otcTokenFromAtom);\n let tokenTo = get(otcTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(otcTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n if (\n tokenTo &&\n (areTokensSame(newTokenFrom, tokenTo) ||\n tokenTo.network !== tokenFrom.network)\n ) {\n // swap path was fragile when prior tokenFrom was undefined or on a different chain,\n // so use defaults for consistency\n\n // OTCOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"otc\"\n );\n // so set tokenTo to one of the default tokens for tokenFrom.network chain\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(otcTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n }\n\n // do not unlock otc price if token has not actually changed\n if (!areTokensSame(tokenFrom, initTokenFrom)) {\n set(unlockOtcPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const selectOtcTokenToAtom = atom(\n null,\n async (get, set, _newTokenTo: Token) => {\n // for OTC Orders destToken can't be ETH\n const newTokenTo = isETH(_newTokenTo)\n ? wrappedNativeTokensByChainId[_newTokenTo.network]\n : _newTokenTo;\n\n let tokenFrom = get(otcTokenFromAtom);\n let tokenTo = get(otcTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(otcTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (\n areTokensSame(tokenFrom, tokenTo) ||\n tokenTo.network !== tokenFrom.network\n ) {\n // swap path was fragile when prior tokenTo was undefined or on a different chain,\n // so use defaults for consistency\n\n // OTCOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"otc\"\n );\n // so set tokenFrom to one of the default tokens for tokenTo.network chain\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(otcTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // do not unlock otc price if token has not actually changed\n if (tokenTo && initTokenTo && !areTokensSame(tokenTo, initTokenTo)) {\n set(unlockOtcPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenTo.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenTo.network,\n });\n }\n }\n);\n"],"mappings":";;;;;;;;;;AAWA,IAAaY,IAAsBV,EAAK,MAAM,OAAOW,GAAKC,MAAQ;CAChE,IAAMC,IAAUF,EAAIR,EAAe;CAEnC,IAAI,CAACU,GAAS;CAEd,IAAMC,IAAYH,EAAIT,EAAiB;CAIvCU,EAAIV,GAAkBW,EAAQ;CAE9B,IAAM,CAACE,GAAkBC,KAAkBlB,EACzCgB,EAAUG,SACV,MACD,EAIGC,IAAaJ;CAcjBF,AAZIL,EAAMO,EAAU,KAClB,AAKEI,IALEV,EAAOK,GAASA,EAAQI,QAAQ,GACrBlB,EAAce,GAAWE,EAAe,GACjDD,IACAC,IAESP,EAA6BK,EAAUG,WAIxDL,EAAIT,GAAgBe,EAAW,EAE/BN,EAAIX,EAAmB;EACvB,EAEWkB,IAAyBnB,EACpC,MACA,OAAOW,GAAKC,GAAKQ,MAAwB;CACvC,IAAIN,IAAYH,EAAIT,EAAiB,EACjCW,IAAUF,EAAIR,EAAe,EAC3BkB,IAAgBP;CAMtB,IAHAF,EAAIV,GAAkBkB,EAAa,EACnCN,IAAYM,GAGVP,MACCd,EAAcqB,GAAcP,EAAQ,IACnCA,EAAQI,YAAYH,EAAUG,UAChC;EAKA,IAAM,CAACF,GAAkBC,KAAkBlB,EACzCgB,EAAUG,SACV,MACD,EAEKC,IAAanB,EAAce,GAAWE,EAAe,GACvDD,IACAC;EAEJH,AADAD,EAAIT,GAAgBe,EAAW,EAC/BL,IAAUK;;CASZ,AALKnB,EAAce,GAAWO,EAAc,IAC1CT,EAAIX,EAAmB,EAIrBa,EAAUG,YAAYZ,EAAYiB,MAAMC,WAC1CjB,EAAY,EACViB,SAAST,EAAUG,SACpB,CAAC;EAGP,EAEYO,IAAuBxB,EAClC,MACA,OAAOW,GAAKC,GAAKa,MAAuB;CAEtC,IAAMP,IAAaX,EAAMkB,EAAY,GACjChB,EAA6BgB,EAAYR,WACzCQ,GAEAX,IAAYH,EAAIT,EAAiB,EACjCW,IAAUF,EAAIR,EAAe,EAC3BuB,IAAcb;CAKpB,IAHAD,EAAIT,GAAgBe,EAAW,EAC/BL,IAAUK,GAGRnB,EAAce,GAAWD,EAAQ,IACjCA,EAAQI,YAAYH,EAAUG,SAC9B;EAKA,IAAM,CAACF,GAAkBC,KAAkBlB,EACzCe,EAAQI,SACR,MACD,EAEKG,IAAerB,EAAcc,GAASG,EAAe,GACvDD,IACAC;EAEJF,AADAF,EAAIV,GAAkBkB,EAAa,EACnCN,IAAYM;;CASd,AALIP,KAAWa,KAAe,CAAC3B,EAAcc,GAASa,EAAY,IAChEd,EAAIX,EAAmB,EAIrBY,EAAQI,YAAYZ,EAAYiB,MAAMC,WACxCjB,EAAY,EACViB,SAASV,EAAQI,SAClB,CAAC;EAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAQxB,eAAO,MAAM,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAQxB,eAAO,MAAM,gBAAgB;;CAkP3B,CAAC;AAEH,eAAO,MAAM,eAAe,QAAO,uBAElC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,oBAAoB,SAuCrE,CAAC"}
|
|
@@ -128,7 +128,14 @@ var s = a({}, (e, t, r) => {
|
|
|
128
128
|
state: i
|
|
129
129
|
};
|
|
130
130
|
r.onFormInputChange(a);
|
|
131
|
-
}, x =
|
|
131
|
+
}, x = (t) => {
|
|
132
|
+
if (!r.onImportToken) return;
|
|
133
|
+
let i = n(e), a = {
|
|
134
|
+
event: t.event,
|
|
135
|
+
state: i
|
|
136
|
+
};
|
|
137
|
+
r.onImportToken(a);
|
|
138
|
+
}, S = r.onPriceChange;
|
|
132
139
|
t(s, {
|
|
133
140
|
onSwap: i,
|
|
134
141
|
onTwapOrder: a,
|
|
@@ -143,17 +150,18 @@ var s = a({}, (e, t, r) => {
|
|
|
143
150
|
onCancelTx: v,
|
|
144
151
|
onFillOTCOrder: y,
|
|
145
152
|
onFormInputChange: b,
|
|
146
|
-
onPriceChange:
|
|
153
|
+
onPriceChange: S ? (t) => {
|
|
147
154
|
let r = n(e);
|
|
148
|
-
|
|
155
|
+
S({
|
|
149
156
|
event: t.event,
|
|
150
157
|
state: r
|
|
151
158
|
});
|
|
152
|
-
} : void 0
|
|
159
|
+
} : void 0,
|
|
160
|
+
onImportToken: x
|
|
153
161
|
});
|
|
154
162
|
}), c = () => e(s), l = (e) => {
|
|
155
|
-
let n = r(
|
|
156
|
-
n[0] !== e?.onAllowToken || n[1] !== e?.onCancelOrder || n[2] !== e?.onCancelTx || n[3] !== e?.onConnectWallet || n[4] !== e?.onConnectWalletClick || n[5] !== e?.onFillOTCOrder || n[6] !== e?.onFormInputChange || n[7] !== e?.
|
|
163
|
+
let n = r(34), a = t(s), o;
|
|
164
|
+
n[0] !== e?.onAllowToken || n[1] !== e?.onCancelOrder || n[2] !== e?.onCancelTx || n[3] !== e?.onConnectWallet || n[4] !== e?.onConnectWalletClick || n[5] !== e?.onFillOTCOrder || n[6] !== e?.onFormInputChange || n[7] !== e?.onImportToken || n[8] !== e?.onLimitOrder || n[9] !== e?.onOTCOrder || n[10] !== e?.onPriceChange || n[11] !== e?.onSettingsChange || n[12] !== e?.onSwap || n[13] !== e?.onTwapOrder || n[14] !== e?.onWrapETH || n[15] !== a ? (o = () => {
|
|
157
165
|
a({
|
|
158
166
|
onConnectWallet: e?.onConnectWallet,
|
|
159
167
|
onConnectWalletClick: e?.onConnectWalletClick,
|
|
@@ -168,11 +176,12 @@ var s = a({}, (e, t, r) => {
|
|
|
168
176
|
onCancelTx: e?.onCancelTx,
|
|
169
177
|
onFillOTCOrder: e?.onFillOTCOrder,
|
|
170
178
|
onFormInputChange: e?.onFormInputChange,
|
|
171
|
-
onPriceChange: e?.onPriceChange
|
|
179
|
+
onPriceChange: e?.onPriceChange,
|
|
180
|
+
onImportToken: e?.onImportToken
|
|
172
181
|
});
|
|
173
|
-
}, n[0] = e?.onAllowToken, n[1] = e?.onCancelOrder, n[2] = e?.onCancelTx, n[3] = e?.onConnectWallet, n[4] = e?.onConnectWalletClick, n[5] = e?.onFillOTCOrder, n[6] = e?.onFormInputChange, n[7] = e?.
|
|
174
|
-
let c = e?.onConnectWallet, l = e?.onConnectWalletClick, u = e?.onAllowToken, d = e?.onSwap, f = e?.onTwapOrder, p = e?.onOTCOrder, m = e?.onLimitOrder, h = e?.onWrapETH, g = e?.onSettingsChange, _ = e?.onCancelOrder, v = e?.onCancelTx, y = e?.onFillOTCOrder, b = e?.onFormInputChange, x = e?.onPriceChange, S;
|
|
175
|
-
n[
|
|
182
|
+
}, n[0] = e?.onAllowToken, n[1] = e?.onCancelOrder, n[2] = e?.onCancelTx, n[3] = e?.onConnectWallet, n[4] = e?.onConnectWalletClick, n[5] = e?.onFillOTCOrder, n[6] = e?.onFormInputChange, n[7] = e?.onImportToken, n[8] = e?.onLimitOrder, n[9] = e?.onOTCOrder, n[10] = e?.onPriceChange, n[11] = e?.onSettingsChange, n[12] = e?.onSwap, n[13] = e?.onTwapOrder, n[14] = e?.onWrapETH, n[15] = a, n[16] = o) : o = n[16];
|
|
183
|
+
let c = e?.onConnectWallet, l = e?.onConnectWalletClick, u = e?.onAllowToken, d = e?.onSwap, f = e?.onTwapOrder, p = e?.onOTCOrder, m = e?.onLimitOrder, h = e?.onWrapETH, g = e?.onSettingsChange, _ = e?.onCancelOrder, v = e?.onCancelTx, y = e?.onFillOTCOrder, b = e?.onFormInputChange, x = e?.onPriceChange, S = e?.onImportToken, C;
|
|
184
|
+
n[17] !== a || n[18] !== c || n[19] !== _ || n[20] !== v || n[21] !== y || n[22] !== b || n[23] !== x || n[24] !== S || n[25] !== l || n[26] !== u || n[27] !== d || n[28] !== f || n[29] !== p || n[30] !== m || n[31] !== h || n[32] !== g ? (C = [
|
|
176
185
|
c,
|
|
177
186
|
l,
|
|
178
187
|
u,
|
|
@@ -187,8 +196,9 @@ var s = a({}, (e, t, r) => {
|
|
|
187
196
|
y,
|
|
188
197
|
b,
|
|
189
198
|
x,
|
|
199
|
+
S,
|
|
190
200
|
a
|
|
191
|
-
], n[
|
|
201
|
+
], n[17] = a, n[18] = c, n[19] = _, n[20] = v, n[21] = y, n[22] = b, n[23] = x, n[24] = S, n[25] = l, n[26] = u, n[27] = d, n[28] = f, n[29] = p, n[30] = m, n[31] = h, n[32] = g, n[33] = C) : C = n[33], i(o, C);
|
|
192
202
|
};
|
|
193
203
|
function u(e) {
|
|
194
204
|
return !!(e.tokenTo && e.receiverAddress && e.destChainId && e.connectedAccount);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetEventsAtom.js","names":["atom","useAtomValue","useSetAtom","WidgetEventCallbacks","WidgetEventCallbacksMin","useLayoutEffect","getWidgetState","assert","TokenFormState","Callbacks","Required","widgetEventsAtom","get","set","callbacks","onSwap","payload","widgetState","swapFormState","formState","swap","isFullTokenFormState","Input","Parameters","NonNullable","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onCancelTx","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useWidgetEventsSetter","$","_c","setWidgetEvents","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","T","tokenTo","receiverAddress","destChainId","connectedAccount"],"sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onCancelTx: Callbacks[\"onCancelTx\"] = (payload) => {\n if (!callbacks.onCancelTx) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelTx(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onCancelTx,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onCancelTx: callbacks?.onCancelTx,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onCancelTx,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"mappings":";;;;;;;AAaA,IAAaW,IAAmBX,EAI9B,EAAE,GAAGY,GAAKC,GAAKC,MAAc;CAC7B,IAAMC,KAA+BC,MAAY;EAC/C,IAAI,CAACF,EAAUC,QAAQ;EACvB,IAAME,IAAcX,EAAeM,EAAI,EAEjCM,IAAgBD,EAAYE,UAAUC;EAC5Cb,EACEc,EAAqBH,EAAc,EACnC,8CACD;EAKD,IAAMO,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGT;KACL;IACD;GACDU,OAAOX;GACR;EAEDH,EAAUC,OAAOU,EAAiB;IAG9BI,KAAyCb,MAAY;EACzD,IAAI,CAACF,EAAUe,aAAa;EAC5B,IAAMZ,IAAcX,EAAeM,EAAI,EAEjCkB,IAAgBb,EAAYE,UAAUY;EAC5CxB,EACEc,EAAqBS,EAAc,EACnC,oDACD;EAMD,IAAML,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGG;KACL;IACD;GACDF,OAAOX;GACR;EAEDH,EAAUe,YAAYJ,EAAiB;IAGnCO,KAA2ChB,MAAY;EAC3D,IAAI,CAACF,EAAUkB,cAAc;EAC7B,IAAMf,IAAcX,EAAeM,EAAI,EACjCqB,IAAsBhB,EAAYE,UAAUe;EAClD3B,EACEc,EAAqBY,EAAoB,EACzC,6DACD;EAMD,IAAMR,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGM;KACL;IACD;GACDL,OAAOX;GACR;EACDH,EAAUkB,aAAaP,EAAiB;IAGpCU,KAAuCnB,MAAY;EACvD,IAAI,CAACF,EAAUqB,YAAY;EAC3B,IAAMlB,IAAcX,EAAeM,EAAI,EACjCwB,IAAoBnB,EAAYE,UAAUkB;EAChD9B,EACEc,EAAqBe,EAAkB,EACvC,0DACD;EAED,IAAMX,IAAmB;GACvBC,OAAO;IACL,GAAGV,EAAQU;IACXC,QAAQ;KACN,GAAGX,EAAQU,MAAMC;KACjB,GAAGS;KACL;IACD;GACDR,OAAOX;GACR;EACDH,EAAUqB,WAAWV,EAAiB;IAGlCa,KAA2CtB,MAAY;EAC3D,IAAI,CAACF,EAAUwB,cAAc;EAC7B,IAAMrB,IAAcX,EAAeM,EAAI,EAEjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EAEDH,EAAUwB,aAAab,EAAiB;IAGpCc,KAAqCvB,MAAY;EACrD,IAAI,CAACF,EAAUyB,WAAW;EAC1B,IAAMtB,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EACDH,EAAUyB,UAAUd,EAAiB;IAGjCe,KAAmDxB,MAAY;EACnE,IAAI,CAACF,EAAU0B,kBAAkB;EACjC,IAAMvB,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EACDH,EAAU0B,iBAAiBf,EAAiB;IAGxCgB,KAAiDzB,MAAY;EACjE,IAAI,CAACF,EAAU2B,iBAAiB;EAChC,IAAMxB,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EACDH,EAAU2B,gBAAgBhB,EAAiB;IAGvCiB,IAAwB5B,EAAU6B,sBAClCA,IACJD,KACK1B,MAAY;EACX,IAAMC,IAAcX,EAAeM,EAAI;EAKvC8B,EAAsBjB;GAHpBC,OAAOV,EAAQU;GACfE,OAAOX;GAEaQ,CAAiB;KAEzCmB,KAAAA,GAEAC,KAA6C7B,MAAY;EAC7D,IAAI,CAACF,EAAU+B,eAAe;EAC9B,IAAM5B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EACDH,EAAU+B,cAAcpB,EAAiB;IAGrCqB,KAAuC9B,MAAY;EACvD,IAAI,CAACF,EAAUgC,YAAY;EAC3B,IAAM7B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EACDH,EAAUgC,WAAWrB,EAAiB;IAGlCsB,KAA+C/B,MAAY;EAC/D,IAAI,CAACF,EAAUiC,gBAAgB;EAC/B,IAAM9B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EACDH,EAAUiC,eAAetB,EAAiB;IAGtCuB,KAAqDhC,MAAY;EACrE,IAAI,CAACF,EAAUkC,mBAAmB;EAClC,IAAM/B,IAAcX,EAAeM,EAAI,EACjCa,IAAmB;GACvBC,OAAOV,EAAQU;GACfE,OAAOX;GACR;EACDH,EAAUkC,kBAAkBvB,EAAiB;IAGzCwB,IAAiBnC,EAAUoC;CAYjCrC,EAAIF,GAAkB;EACpBI;EACAc;EACAG;EACAG;EACAG;EACAC;EACAC;EACAC;EACAE;EACAE;EACAC;EACAC;EACAC;EACAE,eAzB8DD,KAC3DjC,MAAY;GACX,IAAMC,IAAcX,EAAeM,EAAI;GAKvCqC,EAAexB;IAHbC,OAAOV,EAAQU;IACfE,OAAOX;IAEMQ,CAAiB;MAElCmB,KAAAA;EAiBH,CAAC;EACF,EAEWO,UACJlD,EAAaU,EAAiB,EAG1ByC,KAAwBtC,MAAA;CAAA,IAAAuC,IAAAC,EAAA,GAAA,EACnCC,IAAwBrD,EAAWS,EAAiB,EAAC6C;CAAA,AAAAH,EAAA,OAAAvC,GAAAwB,gBAAAe,EAAA,OAAAvC,GAAA+B,iBAAAQ,EAAA,OAAAvC,GAAAgC,cAAAO,EAAA,OAAAvC,GAAA2B,mBAAAY,EAAA,OAAAvC,GAAA6B,wBAAAU,EAAA,OAAAvC,GAAAiC,kBAAAM,EAAA,OAAAvC,GAAAkC,qBAAAK,EAAA,OAAAvC,GAAAkB,gBAAAqB,EAAA,OAAAvC,GAAAqB,cAAAkB,EAAA,OAAAvC,GAAAoC,iBAAAG,EAAA,QAAAvC,GAAA0B,oBAAAa,EAAA,QAAAvC,GAAAC,UAAAsC,EAAA,QAAAvC,GAAAe,eAAAwB,EAAA,QAAAvC,GAAAyB,aAAAc,EAAA,QAAAE,KAErCC,UAAA;EACdD,EAAgB;GAAAd,iBACG3B,GAAS2B;GAAiBE,sBACrB7B,GAAS6B;GAAsBL,cACvCxB,GAASwB;GAAcvB,QAC7BD,GAASC;GAAQc,aACZf,GAASe;GAAaM,YACvBrB,GAASqB;GAAYH,cACnBlB,GAASkB;GAAcO,WAC1BzB,GAASyB;GAAWC,kBACb1B,GAAS0B;GAAkBK,eAC9B/B,GAAS+B;GAAeC,YAC3BhC,GAASgC;GAAYC,gBACjBjC,GAASiC;GAAgBC,mBACtBlC,GAASkC;GAAmBE,eAChCpC,GAASoC;GACzB,CAAC;IACHG,EAAA,KAAAvC,GAAAwB,cAAAe,EAAA,KAAAvC,GAAA+B,eAAAQ,EAAA,KAAAvC,GAAAgC,YAAAO,EAAA,KAAAvC,GAAA2B,iBAAAY,EAAA,KAAAvC,GAAA6B,sBAAAU,EAAA,KAAAvC,GAAAiC,gBAAAM,EAAA,KAAAvC,GAAAkC,mBAAAK,EAAA,KAAAvC,GAAAkB,cAAAqB,EAAA,KAAAvC,GAAAqB,YAAAkB,EAAA,KAAAvC,GAAAoC,eAAAG,EAAA,MAAAvC,GAAA0B,kBAAAa,EAAA,MAAAvC,GAAAC,QAAAsC,EAAA,MAAAvC,GAAAe,aAAAwB,EAAA,MAAAvC,GAAAyB,WAAAc,EAAA,MAAAE,GAAAF,EAAA,MAAAG,KAAAA,IAAAH,EAAA;CACC,IAAAI,IAAA3C,GAAS2B,iBACTiB,IAAA5C,GAAS6B,sBACTgB,IAAA7C,GAASwB,cACTsB,IAAA9C,GAASC,QACT8C,IAAA/C,GAASe,aACTiC,IAAAhD,GAASqB,YACT4B,IAAAjD,GAASkB,cACTgC,IAAAlD,GAASyB,WACT0B,IAAAnD,GAAS0B,kBACT0B,IAAApD,GAAS+B,eACTsB,IAAArD,GAASgC,YACTsB,IAAAtD,GAASiC,gBACTsB,IAAAvD,GAASkC,mBACTsB,IAAAxD,GAASoC,eAAeqB;CA/B1BlE,AA+B0BgD,EAAA,QAAAE,KAAAF,EAAA,QAAAI,KAAAJ,EAAA,QAAAa,KAAAb,EAAA,QAAAc,KAAAd,EAAA,QAAAe,KAAAf,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAAAjB,EAAA,QAAAK,KAAAL,EAAA,QAAAM,KAAAN,EAAA,QAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAAAT,EAAA,QAAAU,KAAAV,EAAA,QAAAW,KAAAX,EAAA,QAAAY,KAdvBM,IAAA;EACDd;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAf;EACD,EAAAF,EAAA,MAAAE,GAAAF,EAAA,MAAAI,GAAAJ,EAAA,MAAAa,GAAAb,EAAA,MAAAc,GAAAd,EAAA,MAAAe,GAAAf,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAK,GAAAL,EAAA,MAAAM,GAAAN,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAU,GAAAV,EAAA,MAAAW,GAAAX,EAAA,MAAAY,GAAAZ,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA,KAjCDhD,EAAgBmD,GAiBbe,EAgBD;;AAGJ,SAASlD,EACPO,GACsB;CACtB,OAAO,CAAC,EACNA,EAAM6C,WACN7C,EAAM8C,mBACN9C,EAAM+C,eACN/C,EAAMgD"}
|
|
1
|
+
{"version":3,"file":"widgetEventsAtom.js","names":["atom","useAtomValue","useSetAtom","WidgetEventCallbacks","WidgetEventCallbacksMin","useLayoutEffect","getWidgetState","assert","TokenFormState","Callbacks","Required","widgetEventsAtom","get","set","callbacks","onSwap","payload","widgetState","swapFormState","formState","swap","isFullTokenFormState","Input","Parameters","NonNullable","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onCancelTx","onFillOTCOrder","onFormInputChange","onImportToken","_onPriceChange","onPriceChange","useWidgetEvents","useWidgetEventsSetter","$","_c","setWidgetEvents","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","T","tokenTo","receiverAddress","destChainId","connectedAccount"],"sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onCancelTx: Callbacks[\"onCancelTx\"] = (payload) => {\n if (!callbacks.onCancelTx) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelTx(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const onImportToken: Callbacks[\"onImportToken\"] = (payload) => {\n if (!callbacks.onImportToken) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onImportToken(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onCancelTx,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n onImportToken,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onCancelTx: callbacks?.onCancelTx,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n onImportToken: callbacks?.onImportToken,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onCancelTx,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n callbacks?.onImportToken,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/fees.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAGjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,GAAG,SAAS,CAmB9B;AAED,wBAAgB,0BAA0B,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,eAAe,CAiBlB"}
|
|
@@ -3,30 +3,25 @@ import { formatFiatPrice as t } from "../../lib/utils/formatFiatPrice.js";
|
|
|
3
3
|
import { calculateFeeUSD as n } from "../../lib/utils/fee.js";
|
|
4
4
|
import { jsx as r } from "react/jsx-runtime";
|
|
5
5
|
//#region src/core/swapDetails/fees.tsx
|
|
6
|
-
function i(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
let o = i(r);
|
|
12
|
-
if (o === 0) return;
|
|
13
|
-
let s = e(r) ? r.route.destination.output.amountUSD : r.destUSD;
|
|
14
|
-
if (!s) return;
|
|
15
|
-
let c = n(o, s), l = c ? t(c.toNumber()) : null;
|
|
6
|
+
function i({ price: r, isLoading: i }) {
|
|
7
|
+
if (!r || r.partnerFee === 0) return;
|
|
8
|
+
let a = e(r) ? r.receivedDestUSD : r.destUSD;
|
|
9
|
+
if (!a) return;
|
|
10
|
+
let o = n(r.partnerFee, a), s = o ? t(o.toNumber()) : null;
|
|
16
11
|
return {
|
|
17
12
|
title: "Swap Fees",
|
|
18
|
-
value:
|
|
19
|
-
isLoading:
|
|
20
|
-
tooltip: `Swap fees are set to ${
|
|
13
|
+
value: s === "$0.00" ? "<$0.01" : s,
|
|
14
|
+
isLoading: i,
|
|
15
|
+
tooltip: `Swap fees are set to ${r.partnerFee.toFixed(2)}% for this trade`
|
|
21
16
|
};
|
|
22
17
|
}
|
|
23
|
-
function
|
|
18
|
+
function a({ price: e, swapMode: n, isLoading: i }) {
|
|
24
19
|
let a = null;
|
|
25
20
|
if (n === "delta") a = /* @__PURE__ */ r("div", {
|
|
26
21
|
className: "text-[#A5D712]",
|
|
27
22
|
children: "Gasless"
|
|
28
23
|
});
|
|
29
|
-
else if (e
|
|
24
|
+
else if (e?.gasCostUSD !== void 0) {
|
|
30
25
|
let n = t(Number(e.gasCostUSD));
|
|
31
26
|
a = n === "$0.00" ? "<$0.01" : n;
|
|
32
27
|
}
|
|
@@ -38,6 +33,6 @@ function o({ price: e, swapMode: n, isLoading: i }) {
|
|
|
38
33
|
};
|
|
39
34
|
}
|
|
40
35
|
//#endregion
|
|
41
|
-
export {
|
|
36
|
+
export { a as constructNetworkFeesDetail, i as constructSwapFeesDetail };
|
|
42
37
|
|
|
43
38
|
//# sourceMappingURL=fees.js.map
|