@velora-dex/widget 0.4.12-dev.2 → 0.4.12
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/widget/BridgeList/BridgeListItem.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +3 -13
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +3 -3
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +40 -37
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +36 -34
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +6 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +45 -30
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +6 -3
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +2 -5
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +2 -5
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.d.ts +3 -0
- package/dist/components/widget/TradeParameters/state/constants.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.js +4 -1
- package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts +1 -0
- package/dist/components/widget/TradeParameters/state/degenModeParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js +5 -1
- package/dist/components/widget/TradeParameters/state/degenModeParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts +1 -4
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts +1 -4
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts +2 -6
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts +3 -2
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +9 -3
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +5 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +32 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/types.d.ts +11 -0
- package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +6 -7
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/Warning/Warning.d.ts +3 -2
- package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
- package/dist/components/widget/Warning/Warning.js +74 -50
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/types.d.ts +2 -1
- package/dist/components/widget/Warning/types.d.ts.map +1 -1
- package/dist/configurator/state/themeAtom.d.ts +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.d.ts.map +1 -1
- package/dist/core/Warnings.js +227 -50
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +48 -36
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +7 -11
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js +53 -72
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts +2 -3
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +4 -16
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +82 -80
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +1 -1
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/swap/prices/constants.d.ts +1 -0
- package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
- package/dist/hooks/swap/prices/constants.js +2 -1
- package/dist/hooks/swap/prices/constants.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +0 -2
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +15 -0
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +10 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts +5 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts +2 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +28 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js +34 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +47 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +16 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +103 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +7 -0
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +10 -4
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +9 -4
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +19 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/factory.d.ts +7 -0
- package/dist/hooks/swap/prices/factory.d.ts.map +1 -0
- package/dist/hooks/swap/prices/factory.js +35 -0
- package/dist/hooks/swap/prices/factory.js.map +1 -0
- package/dist/hooks/swap/prices/market/queries/errors.d.ts +8 -3
- package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js +7 -3
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +4 -3
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +108 -65
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +49 -39
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +17 -9
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +21 -35
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +17 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +1 -0
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/useSDK.js +2 -34
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/utils/priceImpact.d.ts +5 -1
- package/dist/lib/utils/priceImpact.d.ts.map +1 -1
- package/dist/lib/utils/priceImpact.js +5 -3
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/tokens/lists/lists.json.d.ts +78 -17
- package/dist/tokens/lists/lists.json.js +1 -337
- package/dist/tokens/lists/lists.json.js.map +1 -1
- package/dist/tokens/state/importedTokensAtom.d.ts +1 -1
- package/dist/transactions/state/transactionsAtom.d.ts +2 -1
- package/dist/transactions/state/transactionsAtom.d.ts.map +1 -1
- package/dist/transactions/state/transactionsAtom.js +6 -2
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/types.d.ts +1 -0
- package/dist/transactions/types.d.ts.map +1 -1
- package/dist/transactions/utils.d.ts +2 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +4 -1
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts +0 -4
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +0 -1
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts +0 -4
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts.map +0 -1
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js +0 -12
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +0 -1
- package/dist/core/swapDetails/useIsDangerSwap.d.ts +0 -2
- package/dist/core/swapDetails/useIsDangerSwap.d.ts.map +0 -1
- package/dist/core/swapDetails/useIsDangerSwap.js +0 -27
- package/dist/core/swapDetails/useIsDangerSwap.js.map +0 -1
- package/dist/core/swapDetails/usePriceImpactWarning.d.ts +0 -8
- package/dist/core/swapDetails/usePriceImpactWarning.d.ts.map +0 -1
- package/dist/core/swapDetails/usePriceImpactWarning.js +0 -35
- package/dist/core/swapDetails/usePriceImpactWarning.js.map +0 -1
|
@@ -18,7 +18,7 @@ import { Skeleton } from '../../components/ui/skeleton.js';
|
|
|
18
18
|
import { constructMaxToPayDetail } from './maxToPay.js';
|
|
19
19
|
|
|
20
20
|
const useSwapDetailsListProps = () => {
|
|
21
|
-
const $ = distExports.c(
|
|
21
|
+
const $ = distExports.c(50);
|
|
22
22
|
const {
|
|
23
23
|
tokenFrom,
|
|
24
24
|
tokenTo
|
|
@@ -37,7 +37,8 @@ const useSwapDetailsListProps = () => {
|
|
|
37
37
|
const {
|
|
38
38
|
isLoading,
|
|
39
39
|
price,
|
|
40
|
-
priceMode
|
|
40
|
+
priceMode,
|
|
41
|
+
getPriceImpact
|
|
41
42
|
} = useCurrentSwapPrice(t0);
|
|
42
43
|
const {
|
|
43
44
|
resolvedSlippage
|
|
@@ -52,7 +53,7 @@ const useSwapDetailsListProps = () => {
|
|
|
52
53
|
let t4;
|
|
53
54
|
let t5;
|
|
54
55
|
let t6;
|
|
55
|
-
if ($[1] !== destAmountWei || $[2] !==
|
|
56
|
+
if ($[1] !== destAmountWei || $[2] !== getPriceImpact || $[3] !== isLoading || $[4] !== price || $[5] !== priceMode || $[6] !== resolvedSlippage || $[7] !== srcAmountWei || $[8] !== swapSide || $[9] !== tokenFrom || $[10] !== tokenTo) {
|
|
56
57
|
const orderRoutingDetail = constructOrderRoutingDetail({
|
|
57
58
|
bestRoutes: price && "bestRoute" in price ? price.bestRoute : void 0,
|
|
58
59
|
swapMode: priceMode,
|
|
@@ -64,7 +65,7 @@ const useSwapDetailsListProps = () => {
|
|
|
64
65
|
isUnavailable,
|
|
65
66
|
...priceImpactDetail
|
|
66
67
|
} = constructPriceImpactDetail({
|
|
67
|
-
|
|
68
|
+
priceImpactResult: getPriceImpact(),
|
|
68
69
|
isLoading
|
|
69
70
|
});
|
|
70
71
|
const swapFeesDetail = constructSwapFeesDetail({
|
|
@@ -93,34 +94,34 @@ const useSwapDetailsListProps = () => {
|
|
|
93
94
|
const isBuy = swapSide === "BUY";
|
|
94
95
|
t5 = "flex items-center justify-between";
|
|
95
96
|
let t72;
|
|
96
|
-
if ($[
|
|
97
|
+
if ($[20] !== destAmountWei || $[21] !== isBuy || $[22] !== isLoading || $[23] !== srcAmountWei || $[24] !== tokenFrom || $[25] !== tokenTo) {
|
|
97
98
|
t72 = /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(SwapRate, { srcToken: tokenFrom, destToken: tokenTo, srcAmountWei, destAmountWei, isLoading, reverse: isBuy }) }) });
|
|
98
|
-
$[
|
|
99
|
-
$[
|
|
100
|
-
$[
|
|
101
|
-
$[
|
|
102
|
-
$[
|
|
103
|
-
$[
|
|
104
|
-
$[
|
|
99
|
+
$[20] = destAmountWei;
|
|
100
|
+
$[21] = isBuy;
|
|
101
|
+
$[22] = isLoading;
|
|
102
|
+
$[23] = srcAmountWei;
|
|
103
|
+
$[24] = tokenFrom;
|
|
104
|
+
$[25] = tokenTo;
|
|
105
|
+
$[26] = t72;
|
|
105
106
|
} else {
|
|
106
|
-
t72 = $[
|
|
107
|
+
t72 = $[26];
|
|
107
108
|
}
|
|
108
109
|
let t82;
|
|
109
|
-
if ($[
|
|
110
|
+
if ($[27] === Symbol.for("react.memo_cache_sentinel")) {
|
|
110
111
|
t82 = /* @__PURE__ */ jsx(TooltipContent, { children: "Best price for this trade based on the current market conditions" });
|
|
111
|
-
$[
|
|
112
|
+
$[27] = t82;
|
|
112
113
|
} else {
|
|
113
|
-
t82 = $[
|
|
114
|
+
t82 = $[27];
|
|
114
115
|
}
|
|
115
|
-
if ($[
|
|
116
|
+
if ($[28] !== t72) {
|
|
116
117
|
t6 = /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
117
118
|
t72,
|
|
118
119
|
t82
|
|
119
120
|
] });
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
121
|
+
$[28] = t72;
|
|
122
|
+
$[29] = t6;
|
|
122
123
|
} else {
|
|
123
|
-
t6 = $[
|
|
124
|
+
t6 = $[29];
|
|
124
125
|
}
|
|
125
126
|
T1 = Tooltip;
|
|
126
127
|
T0 = TooltipTrigger;
|
|
@@ -132,111 +133,112 @@ const useSwapDetailsListProps = () => {
|
|
|
132
133
|
}) });
|
|
133
134
|
t3 = priceImpactDetail.isLoading ? /* @__PURE__ */ jsx(Skeleton, { className: "bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]" }) : /* @__PURE__ */ jsx("div", { className: cn(priceImpactDetail.classes?.value, "text-nowrap"), children: priceImpactDetail.value ?? "-" });
|
|
134
135
|
$[1] = destAmountWei;
|
|
135
|
-
$[2] =
|
|
136
|
-
$[3] =
|
|
137
|
-
$[4] =
|
|
138
|
-
$[5] =
|
|
139
|
-
$[6] =
|
|
140
|
-
$[7] =
|
|
141
|
-
$[8] =
|
|
142
|
-
$[9] =
|
|
143
|
-
$[10] =
|
|
144
|
-
$[11] =
|
|
145
|
-
$[12] =
|
|
146
|
-
$[13] =
|
|
147
|
-
$[14] =
|
|
148
|
-
$[15] =
|
|
149
|
-
$[16] =
|
|
150
|
-
$[17] =
|
|
151
|
-
$[18] =
|
|
136
|
+
$[2] = getPriceImpact;
|
|
137
|
+
$[3] = isLoading;
|
|
138
|
+
$[4] = price;
|
|
139
|
+
$[5] = priceMode;
|
|
140
|
+
$[6] = resolvedSlippage;
|
|
141
|
+
$[7] = srcAmountWei;
|
|
142
|
+
$[8] = swapSide;
|
|
143
|
+
$[9] = tokenFrom;
|
|
144
|
+
$[10] = tokenTo;
|
|
145
|
+
$[11] = T0;
|
|
146
|
+
$[12] = T1;
|
|
147
|
+
$[13] = details;
|
|
148
|
+
$[14] = t1;
|
|
149
|
+
$[15] = t2;
|
|
150
|
+
$[16] = t3;
|
|
151
|
+
$[17] = t4;
|
|
152
|
+
$[18] = t5;
|
|
153
|
+
$[19] = t6;
|
|
152
154
|
} else {
|
|
153
|
-
T0 = $[
|
|
154
|
-
T1 = $[
|
|
155
|
-
details = $[
|
|
156
|
-
t1 = $[
|
|
157
|
-
t2 = $[
|
|
158
|
-
t3 = $[
|
|
159
|
-
t4 = $[
|
|
160
|
-
t5 = $[
|
|
161
|
-
t6 = $[
|
|
155
|
+
T0 = $[11];
|
|
156
|
+
T1 = $[12];
|
|
157
|
+
details = $[13];
|
|
158
|
+
t1 = $[14];
|
|
159
|
+
t2 = $[15];
|
|
160
|
+
t3 = $[16];
|
|
161
|
+
t4 = $[17];
|
|
162
|
+
t5 = $[18];
|
|
163
|
+
t6 = $[19];
|
|
162
164
|
}
|
|
163
165
|
let t7;
|
|
164
|
-
if ($[
|
|
166
|
+
if ($[30] !== t1 || $[31] !== t2 || $[32] !== t3) {
|
|
165
167
|
t7 = /* @__PURE__ */ jsxs("div", { className: t1, children: [
|
|
166
168
|
t2,
|
|
167
169
|
t3
|
|
168
170
|
] });
|
|
169
|
-
$[
|
|
170
|
-
$[
|
|
171
|
-
$[
|
|
172
|
-
$[
|
|
171
|
+
$[30] = t1;
|
|
172
|
+
$[31] = t2;
|
|
173
|
+
$[32] = t3;
|
|
174
|
+
$[33] = t7;
|
|
173
175
|
} else {
|
|
174
|
-
t7 = $[
|
|
176
|
+
t7 = $[33];
|
|
175
177
|
}
|
|
176
178
|
let t8;
|
|
177
|
-
if ($[
|
|
179
|
+
if ($[34] !== T0 || $[35] !== t4 || $[36] !== t7) {
|
|
178
180
|
t8 = /* @__PURE__ */ jsx(T0, { asChild: t4, children: t7 });
|
|
179
|
-
$[
|
|
180
|
-
$[
|
|
181
|
-
$[
|
|
182
|
-
$[
|
|
181
|
+
$[34] = T0;
|
|
182
|
+
$[35] = t4;
|
|
183
|
+
$[36] = t7;
|
|
184
|
+
$[37] = t8;
|
|
183
185
|
} else {
|
|
184
|
-
t8 = $[
|
|
186
|
+
t8 = $[37];
|
|
185
187
|
}
|
|
186
188
|
let t9;
|
|
187
|
-
if ($[
|
|
189
|
+
if ($[38] === Symbol.for("react.memo_cache_sentinel")) {
|
|
188
190
|
t9 = /* @__PURE__ */ jsx(TooltipContent, { children: "Price Impact" });
|
|
189
|
-
$[
|
|
191
|
+
$[38] = t9;
|
|
190
192
|
} else {
|
|
191
|
-
t9 = $[
|
|
193
|
+
t9 = $[38];
|
|
192
194
|
}
|
|
193
195
|
let t10;
|
|
194
|
-
if ($[
|
|
196
|
+
if ($[39] !== T1 || $[40] !== t8) {
|
|
195
197
|
t10 = /* @__PURE__ */ jsxs(T1, { children: [
|
|
196
198
|
t8,
|
|
197
199
|
t9
|
|
198
200
|
] });
|
|
199
|
-
$[
|
|
200
|
-
$[
|
|
201
|
-
$[
|
|
201
|
+
$[39] = T1;
|
|
202
|
+
$[40] = t8;
|
|
203
|
+
$[41] = t10;
|
|
202
204
|
} else {
|
|
203
|
-
t10 = $[
|
|
205
|
+
t10 = $[41];
|
|
204
206
|
}
|
|
205
207
|
let t11;
|
|
206
|
-
if ($[
|
|
208
|
+
if ($[42] !== t10 || $[43] !== t5 || $[44] !== t6) {
|
|
207
209
|
t11 = /* @__PURE__ */ jsxs("div", { className: t5, children: [
|
|
208
210
|
t6,
|
|
209
211
|
t10
|
|
210
212
|
] });
|
|
211
|
-
$[
|
|
212
|
-
$[
|
|
213
|
-
$[
|
|
214
|
-
$[
|
|
213
|
+
$[42] = t10;
|
|
214
|
+
$[43] = t5;
|
|
215
|
+
$[44] = t6;
|
|
216
|
+
$[45] = t11;
|
|
215
217
|
} else {
|
|
216
|
-
t11 = $[
|
|
218
|
+
t11 = $[45];
|
|
217
219
|
}
|
|
218
220
|
let t12;
|
|
219
|
-
if ($[
|
|
221
|
+
if ($[46] === Symbol.for("react.memo_cache_sentinel")) {
|
|
220
222
|
t12 = {
|
|
221
223
|
root: "mt-4 items-center",
|
|
222
224
|
trigger: "items-center"
|
|
223
225
|
};
|
|
224
|
-
$[
|
|
226
|
+
$[46] = t12;
|
|
225
227
|
} else {
|
|
226
|
-
t12 = $[
|
|
228
|
+
t12 = $[46];
|
|
227
229
|
}
|
|
228
230
|
let t13;
|
|
229
|
-
if ($[
|
|
231
|
+
if ($[47] !== details || $[48] !== t11) {
|
|
230
232
|
t13 = {
|
|
231
233
|
trigger: t11,
|
|
232
234
|
details,
|
|
233
235
|
classes: t12
|
|
234
236
|
};
|
|
235
|
-
$[
|
|
236
|
-
$[
|
|
237
|
-
$[
|
|
237
|
+
$[47] = details;
|
|
238
|
+
$[48] = t11;
|
|
239
|
+
$[49] = t13;
|
|
238
240
|
} else {
|
|
239
|
-
t13 = $[
|
|
241
|
+
t13 = $[49];
|
|
240
242
|
}
|
|
241
243
|
return t13;
|
|
242
244
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapDetailsListProps.js","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"../inputs/state/inputAmountAtom\";\n\nimport { constructOrderRoutingDetail } from \"./orderRouting\";\nimport { constructPriceImpactDetail } from \"./priceImpact\";\nimport { constructSwapFeesDetail, constructNetworkFeesDetail } from \"./fees\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { cn, isTruthy } from \"@/lib/utils\";\nimport { constructYouGetDetail } from \"./youGet\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\n\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n} from \"@/components/ui/tooltip\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { constructMaxToPayDetail } from \"./maxToPay\";\n\nexport const useSwapDetailsListProps =\n (): DetailWithValueListExpandableProps => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const srcAmountWei = useAtomValue(payInputAmountWeiAtom);\n const destAmountWei = useAtomValue(receiveInputAmountWeiAtom);\n\n const { isLoading, price, priceMode } = useCurrentSwapPrice({\n enabled: false,\n });\n\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSide = useSwapSide();\n\n const orderRoutingDetail = constructOrderRoutingDetail({\n bestRoutes: price && \"bestRoute\" in price ? price.bestRoute : undefined,\n swapMode: priceMode,\n isLoading,\n });\n\n const {\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n ...priceImpactDetail\n } = constructPriceImpactDetail({\n price,\n isLoading,\n });\n\n const swapFeesDetail = constructSwapFeesDetail({\n price,\n isLoading,\n });\n\n const networkFeesDetail = constructNetworkFeesDetail({\n price,\n swapMode: priceMode,\n isLoading,\n });\n\n const minMaxDetail =\n swapSide === \"SELL\"\n ? // minimum received when SELLing\n constructYouGetDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenTo,\n swapSide,\n })\n : // maximum to pay when BUYing\n constructMaxToPayDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenFrom,\n swapSide,\n });\n\n const details: DetailWithValue[] = [\n orderRoutingDetail,\n priceImpactDetail,\n swapFeesDetail,\n minMaxDetail,\n networkFeesDetail,\n ].filter(isTruthy);\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n trigger: (\n <div className=\"flex items-center justify-between\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div>\n <SwapRate\n srcToken={tokenFrom}\n destToken={tokenTo}\n srcAmountWei={srcAmountWei}\n destAmountWei={destAmountWei}\n isLoading={isLoading}\n reverse={isBuy}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent>\n Best price for this trade based on the current market conditions\n </TooltipContent>\n </Tooltip>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"flex items-center gap-1\">\n {!isHighImpact && (\n <PriceImpactSVG\n className={cn(\"size-[16px]\", {\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-2 dark:text-secondary-radical-red-2\":\n isUnavailable,\n })}\n />\n )}\n {priceImpactDetail.isLoading ? (\n <Skeleton className=\"bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]\" />\n ) : (\n <div\n className={cn(\n priceImpactDetail.classes?.value,\n \"text-nowrap\"\n )}\n >\n {priceImpactDetail.value ?? \"-\"}\n </div>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n </div>\n ),\n details,\n classes: {\n root: \"mt-4 items-center\",\n trigger: \"items-center\",\n },\n };\n };\n"],"names":["useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","useWidgetTokens","srcAmountWei","useAtomValue","payInputAmountWeiAtom","destAmountWei","receiveInputAmountWeiAtom","t0","Symbol","for","enabled","isLoading","price","priceMode","useCurrentSwapPrice","resolvedSlippage","useSlippage","swapSide","useSwapSide","T0","T1","details","t1","t2","t3","t4","t5","t6","orderRoutingDetail","constructOrderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","isHighImpact","isMediumImpact","isUnavailable","priceImpactDetail","constructPriceImpactDetail","swapFeesDetail","constructSwapFeesDetail","networkFeesDetail","constructNetworkFeesDetail","minMaxDetail","constructYouGetDetail","slippagePercent","constructMaxToPayDetail","filter","isTruthy","isBuy","t7","t8","Tooltip","TooltipTrigger","PriceImpactSVG","cn","classes","value","t9","t10","t11","t12","root","trigger","t13"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSwapDetailsListProps.js","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { SwapRate } from \"@/components/widget/SwapRate/SwapRate\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"../inputs/state/inputAmountAtom\";\n\nimport { constructOrderRoutingDetail } from \"./orderRouting\";\nimport { constructPriceImpactDetail } from \"./priceImpact\";\nimport { constructSwapFeesDetail, constructNetworkFeesDetail } from \"./fees\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { cn, isTruthy } from \"@/lib/utils\";\nimport { constructYouGetDetail } from \"./youGet\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\n\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n} from \"@/components/ui/tooltip\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { constructMaxToPayDetail } from \"./maxToPay\";\n\nexport const useSwapDetailsListProps =\n (): DetailWithValueListExpandableProps => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const srcAmountWei = useAtomValue(payInputAmountWeiAtom);\n const destAmountWei = useAtomValue(receiveInputAmountWeiAtom);\n\n const { isLoading, price, priceMode, getPriceImpact } = useCurrentSwapPrice(\n { enabled: false }\n );\n\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSide = useSwapSide();\n\n const orderRoutingDetail = constructOrderRoutingDetail({\n bestRoutes: price && \"bestRoute\" in price ? price.bestRoute : undefined,\n swapMode: priceMode,\n isLoading,\n });\n\n const {\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n ...priceImpactDetail\n } = constructPriceImpactDetail({\n priceImpactResult: getPriceImpact(),\n isLoading,\n });\n\n const swapFeesDetail = constructSwapFeesDetail({\n price,\n isLoading,\n });\n\n const networkFeesDetail = constructNetworkFeesDetail({\n price,\n swapMode: priceMode,\n isLoading,\n });\n\n const minMaxDetail =\n swapSide === \"SELL\"\n ? // minimum received when SELLing\n constructYouGetDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenTo,\n swapSide,\n })\n : // maximum to pay when BUYing\n constructMaxToPayDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenFrom,\n swapSide,\n });\n\n const details: DetailWithValue[] = [\n orderRoutingDetail,\n priceImpactDetail,\n swapFeesDetail,\n minMaxDetail,\n networkFeesDetail,\n ].filter(isTruthy);\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n trigger: (\n <div className=\"flex items-center justify-between\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div>\n <SwapRate\n srcToken={tokenFrom}\n destToken={tokenTo}\n srcAmountWei={srcAmountWei}\n destAmountWei={destAmountWei}\n isLoading={isLoading}\n reverse={isBuy}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent>\n Best price for this trade based on the current market conditions\n </TooltipContent>\n </Tooltip>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"flex items-center gap-1\">\n {!isHighImpact && (\n <PriceImpactSVG\n className={cn(\"size-[16px]\", {\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-2 dark:text-secondary-radical-red-2\":\n isUnavailable,\n })}\n />\n )}\n {priceImpactDetail.isLoading ? (\n <Skeleton className=\"bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]\" />\n ) : (\n <div\n className={cn(\n priceImpactDetail.classes?.value,\n \"text-nowrap\"\n )}\n >\n {priceImpactDetail.value ?? \"-\"}\n </div>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n </div>\n ),\n details,\n classes: {\n root: \"mt-4 items-center\",\n trigger: \"items-center\",\n },\n };\n };\n"],"names":["useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","useWidgetTokens","srcAmountWei","useAtomValue","payInputAmountWeiAtom","destAmountWei","receiveInputAmountWeiAtom","t0","Symbol","for","enabled","isLoading","price","priceMode","getPriceImpact","useCurrentSwapPrice","resolvedSlippage","useSlippage","swapSide","useSwapSide","T0","T1","details","t1","t2","t3","t4","t5","t6","orderRoutingDetail","constructOrderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","isHighImpact","isMediumImpact","isUnavailable","priceImpactDetail","constructPriceImpactDetail","priceImpactResult","swapFeesDetail","constructSwapFeesDetail","networkFeesDetail","constructNetworkFeesDetail","minMaxDetail","constructYouGetDetail","slippagePercent","constructMaxToPayDetail","filter","isTruthy","isBuy","t7","t8","Tooltip","TooltipTrigger","PriceImpactSVG","cn","classes","value","t9","t10","t11","t12","root","trigger","t13"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deadlines.js","sources":["../../../../src/hooks/permit/utils/deadlines.ts"],"sourcesContent":["export const PERMIT_VALIDITY_BUFFER = 3 * 24 * 60 * 60 * 1000; // 3 days in milliseconds\nexport const ALLOWANCE_VALIDITY_BUFFER = 10 * PERMIT_VALIDITY_BUFFER; // 30 days in milliseconds\n// default deadline =
|
|
1
|
+
{"version":3,"file":"deadlines.js","sources":["../../../../src/hooks/permit/utils/deadlines.ts"],"sourcesContent":["export const PERMIT_VALIDITY_BUFFER = 3 * 24 * 60 * 60 * 1000; // 3 days in milliseconds\nexport const ALLOWANCE_VALIDITY_BUFFER = 10 * PERMIT_VALIDITY_BUFFER; // 30 days in milliseconds\n// default deadline = 10 min for Delta Order\nexport const DELTA_DEFAULT_EXPIRY = 10 * 60 * 1000; // 10 minutes in milliseconds\n\n// deadline for Permit1 and Permit2 signature expiration to use up a signed Permit)\nexport function produceSignatureDeadline(): bigint {\n return toDeadline(PERMIT_VALIDITY_BUFFER);\n}\n\n// deadline for Token allowance expiration in Permit2\nexport function produceAllowanceDeadline(): bigint {\n return toDeadline(ALLOWANCE_VALIDITY_BUFFER);\n}\n\n// deadline for Permit2 TransferFrom signature expiration,\n// and for Delta Order deadline;\n// they must match exactly\nexport function produceDeltaOrderDeadline(): bigint {\n return toDeadline(DELTA_DEFAULT_EXPIRY);\n}\n\n// given expiration in milliseconds, return the deadline(now+expiration) in seconds\nexport function toDeadline(expiration: number): bigint {\n const deadline = Math.floor((Date.now() + expiration) / 1000);\n\n return BigInt(deadline);\n}\n"],"names":["PERMIT_VALIDITY_BUFFER","DELTA_DEFAULT_EXPIRY","produceSignatureDeadline","toDeadline","produceDeltaOrderDeadline","expiration","deadline","Math","floor","Date","now","BigInt"],"mappings":"AAAO,MAAMA,sBAAAA,GAAyB,CAAA,GAAI,EAAA,GAAK,EAAA,GAAK,EAAA,GAAK;AAGlD,MAAMC,oBAAAA,GAAuB,KAAK,EAAA,GAAK;AAGvC,SAASC,wBAAAA,GAAmC;AACjD,EAAA,OAAOC,WAAWH,sBAAsB,CAAA;AAC1C;AAUO,SAASI,yBAAAA,GAAoC;AAClD,EAAA,OAAOD,WAAWF,oBAAoB,CAAA;AACxC;AAGO,SAASE,WAAWE,UAAAA,EAA4B;AACrD,EAAA,MAAMC,WAAWC,IAAAA,CAAKC,KAAAA,CAAAA,CAAOC,KAAKC,GAAAA,EAAI,GAAIL,cAAc,GAAI,CAAA;AAE5D,EAAA,OAAOM,OAAOL,QAAQ,CAAA;AACxB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,0BAA0B,QAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,0BAA0B,QAAmC,CAAC;AAE3E,eAAO,MAAM,qBAAqB,KAAK,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const PRICE_REFETCH_INTERVAL_MS = 5e3;
|
|
2
2
|
const PRICE_REFETCH_INTERVAL_SEC = PRICE_REFETCH_INTERVAL_MS / 1e3;
|
|
3
|
+
const DEGEN_MODE_MAX_IMPACT = 50;
|
|
3
4
|
|
|
4
|
-
export { PRICE_REFETCH_INTERVAL_MS, PRICE_REFETCH_INTERVAL_SEC };
|
|
5
|
+
export { DEGEN_MODE_MAX_IMPACT, PRICE_REFETCH_INTERVAL_MS, PRICE_REFETCH_INTERVAL_SEC };
|
|
5
6
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../src/hooks/swap/prices/constants.ts"],"sourcesContent":["export const PRICE_REFETCH_INTERVAL_MS = 5000; // 5 seconds\nexport const PRICE_REFETCH_INTERVAL_SEC = PRICE_REFETCH_INTERVAL_MS / 1000;\n"],"names":["PRICE_REFETCH_INTERVAL_MS","PRICE_REFETCH_INTERVAL_SEC"],"mappings":"AAAO,MAAMA,yBAAAA,GAA4B;AAClC,MAAMC,6BAA6BD,yBAAAA,GAA4B;;;;"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/hooks/swap/prices/constants.ts"],"sourcesContent":["export const PRICE_REFETCH_INTERVAL_MS = 5000; // 5 seconds\nexport const PRICE_REFETCH_INTERVAL_SEC = PRICE_REFETCH_INTERVAL_MS / 1000;\n\nexport const DEGEN_MODE_MAX_IMPACT = 50; // 50%\n"],"names":["PRICE_REFETCH_INTERVAL_MS","PRICE_REFETCH_INTERVAL_SEC","DEGEN_MODE_MAX_IMPACT"],"mappings":"AAAO,MAAMA,yBAAAA,GAA4B;AAClC,MAAMC,6BAA6BD,yBAAAA,GAA4B;AAE/D,MAAME,qBAAAA,GAAwB;;;;"}
|
|
@@ -28,8 +28,6 @@ function pickBridgePriceByPreference(price, bridgePreference) {
|
|
|
28
28
|
function combinePriceWithAvailableBridge(price, availableBridge) {
|
|
29
29
|
return {
|
|
30
30
|
srcToken: price.srcToken,
|
|
31
|
-
srcAmount: price.srcAmount,
|
|
32
|
-
srcUSD: price.srcUSD,
|
|
33
31
|
partner: price.partner,
|
|
34
32
|
partnerFee: price.partnerFee,
|
|
35
33
|
hmac: price.hmac,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { BridgedDepositResponse, GetSuggestedFeesResponse } from \"./types\";\nimport type { QueryMeta } from \"@tanstack/react-query\";\nimport type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport type { BridgePreference } from \"@/components/widget/TradeParameters/state/bridgePreferences/types\";\n\nexport type GetBridgedDepositStatusInput = {\n depositId: string;\n originChainId: number;\n};\n\nconst ACROSS_API = \"https://app.across.to/api\";\n\nexport async function getBridgedDepositStatus({\n depositId,\n originChainId,\n}: GetBridgedDepositStatusInput): Promise<BridgedDepositResponse> {\n // non-existing depositId will throw with 404\n const { data } = await axios.get<BridgedDepositResponse>(\n `${ACROSS_API}/deposit/status?depositId=${depositId}&originChainId=${originChainId}`\n );\n return data;\n}\n\nexport function isBridgedDepositExecuted(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponseSuccess {\n return deposit.status === \"filled\" && !!deposit.fillTx;\n}\n\nexport type BridgedDepositResponseSuccess = BridgedDepositResponse & {\n status: \"filled\";\n fillTx: string;\n};\n\nexport type BridgedDepositResponseFailure = BridgedDepositResponse & {\n status: \"refunded\" | \"expired\";\n fillTx: null;\n};\n\nexport function isBridgedDepositFailed(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponseFailure {\n return deposit.status === \"refunded\" || deposit.status === \"expired\";\n}\n\nexport function isBridgedDepositRefunded(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponse & {\n status: \"refunded\";\n fillTx: null;\n depositRefundTxHash: string;\n} {\n return deposit.status === \"refunded\" && !!deposit.depositRefundTxHash;\n}\n\n// ------------------- Suggested Fees -------------------\n\nexport type GetSuggestedFeesInput = {\n originChainId: number;\n destinationChainId: number;\n inputToken: string;\n outputToken: string;\n amount: string;\n recipient?: string;\n message?: string;\n relayer?: string;\n timestamp?: number;\n};\n\nexport async function getSuggestedFees(\n params: GetSuggestedFeesInput,\n signal?: AbortSignal\n): Promise<GetSuggestedFeesResponse> {\n const { data } = await axios.get<GetSuggestedFeesResponse>(\n `${ACROSS_API}/suggested-fees`,\n {\n params,\n signal,\n }\n );\n return data;\n}\n\n// ------------------- Generic Utils -------------------\n\nexport type RefetchMetaWithTiming = { startedQueryAt: number };\nexport function isMetaWithTimeStart(\n meta: QueryMeta\n): meta is RefetchMetaWithTiming {\n return \"startedQueryAt\" in meta && typeof meta[\"startedQueryAt\"] === \"number\";\n}\n\nexport function extractSelectedBridgePrice({\n price,\n protocolName,\n bridgePreference,\n}: {\n price: BridgePrice;\n protocolName?: string;\n bridgePreference: BridgePreference;\n}) {\n const loweredProtocolName = protocolName?.toLowerCase();\n // no protocol selected\n if (!loweredProtocolName)\n return pickBridgePriceByPreference(price, bridgePreference);\n\n // selected protocol is from the top-level bridge price\n if (loweredProtocolName === price.bridgeInfo.protocolName.toLowerCase())\n return price;\n\n const selectedAmongAvailable = price.availableBridges.find(\n (bridge) =>\n bridge.bridgeInfo.protocolName.toLowerCase() === loweredProtocolName\n );\n\n // selected protocol is found among available bridges\n if (selectedAmongAvailable)\n return combinePriceWithAvailableBridge(price, selectedAmongAvailable);\n\n // fallback to top-level bridge price\n return price;\n}\n\nfunction pickBridgePriceByPreference(\n price: BridgePrice,\n bridgePreference: BridgePreference\n): BridgePrice {\n // top-level price matches preference\n if (\n bridgePreference === \"auto\" ||\n (bridgePreference === \"fastest\" && price.bridgeInfo.fastest) ||\n (bridgePreference === \"bestReturn\" && price.bridgeInfo.bestReturn)\n )\n return price;\n\n // look for matching available bridge\n const availableBridge = price.availableBridges.find((availableBridge) => {\n if (bridgePreference === \"fastest\")\n return availableBridge.bridgeInfo.fastest;\n if (bridgePreference === \"bestReturn\")\n return availableBridge.bridgeInfo.bestReturn;\n return false;\n });\n\n if (availableBridge)\n return combinePriceWithAvailableBridge(price, availableBridge);\n\n // fallback to top-level price\n return price;\n}\n\nfunction combinePriceWithAvailableBridge(\n price: BridgePrice,\n availableBridge: AvailableBridge\n): BridgePrice {\n return {\n srcToken: price.srcToken,\n
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/bridge/utils.ts"],"sourcesContent":["import axios from \"axios\";\nimport type { BridgedDepositResponse, GetSuggestedFeesResponse } from \"./types\";\nimport type { QueryMeta } from \"@tanstack/react-query\";\nimport type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport type { BridgePreference } from \"@/components/widget/TradeParameters/state/bridgePreferences/types\";\n\nexport type GetBridgedDepositStatusInput = {\n depositId: string;\n originChainId: number;\n};\n\nconst ACROSS_API = \"https://app.across.to/api\";\n\nexport async function getBridgedDepositStatus({\n depositId,\n originChainId,\n}: GetBridgedDepositStatusInput): Promise<BridgedDepositResponse> {\n // non-existing depositId will throw with 404\n const { data } = await axios.get<BridgedDepositResponse>(\n `${ACROSS_API}/deposit/status?depositId=${depositId}&originChainId=${originChainId}`\n );\n return data;\n}\n\nexport function isBridgedDepositExecuted(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponseSuccess {\n return deposit.status === \"filled\" && !!deposit.fillTx;\n}\n\nexport type BridgedDepositResponseSuccess = BridgedDepositResponse & {\n status: \"filled\";\n fillTx: string;\n};\n\nexport type BridgedDepositResponseFailure = BridgedDepositResponse & {\n status: \"refunded\" | \"expired\";\n fillTx: null;\n};\n\nexport function isBridgedDepositFailed(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponseFailure {\n return deposit.status === \"refunded\" || deposit.status === \"expired\";\n}\n\nexport function isBridgedDepositRefunded(\n deposit: BridgedDepositResponse\n): deposit is BridgedDepositResponse & {\n status: \"refunded\";\n fillTx: null;\n depositRefundTxHash: string;\n} {\n return deposit.status === \"refunded\" && !!deposit.depositRefundTxHash;\n}\n\n// ------------------- Suggested Fees -------------------\n\nexport type GetSuggestedFeesInput = {\n originChainId: number;\n destinationChainId: number;\n inputToken: string;\n outputToken: string;\n amount: string;\n recipient?: string;\n message?: string;\n relayer?: string;\n timestamp?: number;\n};\n\nexport async function getSuggestedFees(\n params: GetSuggestedFeesInput,\n signal?: AbortSignal\n): Promise<GetSuggestedFeesResponse> {\n const { data } = await axios.get<GetSuggestedFeesResponse>(\n `${ACROSS_API}/suggested-fees`,\n {\n params,\n signal,\n }\n );\n return data;\n}\n\n// ------------------- Generic Utils -------------------\n\nexport type RefetchMetaWithTiming = { startedQueryAt: number };\nexport function isMetaWithTimeStart(\n meta: QueryMeta\n): meta is RefetchMetaWithTiming {\n return \"startedQueryAt\" in meta && typeof meta[\"startedQueryAt\"] === \"number\";\n}\n\nexport function extractSelectedBridgePrice({\n price,\n protocolName,\n bridgePreference,\n}: {\n price: BridgePrice;\n protocolName?: string;\n bridgePreference: BridgePreference;\n}) {\n const loweredProtocolName = protocolName?.toLowerCase();\n // no protocol selected\n if (!loweredProtocolName)\n return pickBridgePriceByPreference(price, bridgePreference);\n\n // selected protocol is from the top-level bridge price\n if (loweredProtocolName === price.bridgeInfo.protocolName.toLowerCase())\n return price;\n\n const selectedAmongAvailable = price.availableBridges.find(\n (bridge) =>\n bridge.bridgeInfo.protocolName.toLowerCase() === loweredProtocolName\n );\n\n // selected protocol is found among available bridges\n if (selectedAmongAvailable)\n return combinePriceWithAvailableBridge(price, selectedAmongAvailable);\n\n // fallback to top-level bridge price\n return price;\n}\n\nfunction pickBridgePriceByPreference(\n price: BridgePrice,\n bridgePreference: BridgePreference\n): BridgePrice {\n // top-level price matches preference\n if (\n bridgePreference === \"auto\" ||\n (bridgePreference === \"fastest\" && price.bridgeInfo.fastest) ||\n (bridgePreference === \"bestReturn\" && price.bridgeInfo.bestReturn)\n )\n return price;\n\n // look for matching available bridge\n const availableBridge = price.availableBridges.find((availableBridge) => {\n if (bridgePreference === \"fastest\")\n return availableBridge.bridgeInfo.fastest;\n if (bridgePreference === \"bestReturn\")\n return availableBridge.bridgeInfo.bestReturn;\n return false;\n });\n\n if (availableBridge)\n return combinePriceWithAvailableBridge(price, availableBridge);\n\n // fallback to top-level price\n return price;\n}\n\nfunction combinePriceWithAvailableBridge(\n price: BridgePrice,\n availableBridge: AvailableBridge\n): BridgePrice {\n return {\n srcToken: price.srcToken,\n partner: price.partner,\n partnerFee: price.partnerFee,\n hmac: price.hmac,\n availableBridges: price.availableBridges,\n ...availableBridge,\n };\n}\n"],"names":["isMetaWithTimeStart","meta","extractSelectedBridgePrice","price","protocolName","bridgePreference","loweredProtocolName","toLowerCase","pickBridgePriceByPreference","bridgeInfo","selectedAmongAvailable","availableBridges","find","bridge","combinePriceWithAvailableBridge","fastest","bestReturn","availableBridge","srcToken","partner","partnerFee","hmac"],"mappings":";;AAuFO,SAASA,oBACdC,IAAAA,EAC+B;AAC/B,EAAA,OAAO,gBAAA,IAAoBA,IAAAA,IAAQ,OAAOA,IAAAA,CAAK,gBAAgB,CAAA,KAAM,QAAA;AACvE;AAEO,SAASC,0BAAAA,CAA2B;AAAA,EACzCC,KAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC;AAKF,CAAA,EAAG;AACD,EAAA,MAAMC,mBAAAA,GAAsBF,cAAcG,WAAAA,EAAY;AAEtD,EAAA,IAAI,CAACD,mBAAAA,EACH,OAAOE,2BAAAA,CAA4BL,OAAOE,gBAAgB,CAAA;AAG5D,EAAA,IAAIC,wBAAwBH,KAAAA,CAAMM,UAAAA,CAAWL,YAAAA,CAAaG,WAAAA,IACxD,OAAOJ,KAAAA;AAET,EAAA,MAAMO,sBAAAA,GAAyBP,KAAAA,CAAMQ,gBAAAA,CAAiBC,IAAAA,CACnDC,CAAAA,MAAAA,KACCA,OAAOJ,UAAAA,CAAWL,YAAAA,CAAaG,WAAAA,EAAY,KAAMD,mBACrD,CAAA;AAGA,EAAA,IAAII,sBAAAA,EACF,OAAOI,+BAAAA,CAAgCX,KAAAA,EAAOO,sBAAsB,CAAA;AAGtE,EAAA,OAAOP,KAAAA;AACT;AAEA,SAASK,2BAAAA,CACPL,OACAE,gBAAAA,EACa;AAEb,EAAA,IACEA,gBAAAA,KAAqB,MAAA,IACpBA,gBAAAA,KAAqB,SAAA,IAAaF,KAAAA,CAAMM,UAAAA,CAAWM,OAAAA,IACnDV,gBAAAA,KAAqB,YAAA,IAAgBF,KAAAA,CAAMM,UAAAA,CAAWO,UAAAA,EAEvD,OAAOb,KAAAA;AAGT,EAAA,MAAMc,eAAAA,GAAkBd,KAAAA,CAAMQ,gBAAAA,CAAiBC,IAAAA,CAAMK,CAAAA,gBAAAA,KAAoB;AACvE,IAAA,IAAIZ,gBAAAA,KAAqB,SAAA,EACvB,OAAOY,gBAAAA,CAAgBR,UAAAA,CAAWM,OAAAA;AACpC,IAAA,IAAIV,gBAAAA,KAAqB,YAAA,EACvB,OAAOY,gBAAAA,CAAgBR,UAAAA,CAAWO,UAAAA;AACpC,IAAA,OAAO,KAAA;AAAA,EACT,CAAC,CAAA;AAED,EAAA,IAAIC,eAAAA,EACF,OAAOH,+BAAAA,CAAgCX,KAAAA,EAAOc,eAAe,CAAA;AAG/D,EAAA,OAAOd,KAAAA;AACT;AAEA,SAASW,+BAAAA,CACPX,OACAc,eAAAA,EACa;AACb,EAAA,OAAO;AAAA,IACLC,UAAUf,KAAAA,CAAMe,QAAAA;AAAAA,IAChBC,SAAShB,KAAAA,CAAMgB,OAAAA;AAAAA,IACfC,YAAYjB,KAAAA,CAAMiB,UAAAA;AAAAA,IAClBC,MAAMlB,KAAAA,CAAMkB,IAAAA;AAAAA,IACZV,kBAAkBR,KAAAA,CAAMQ,gBAAAA;AAAAA,IACxB,GAAGM;AAAAA,GACL;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePostDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/usePostDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"usePostDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/usePostDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAG5E,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEvD,KAAK,6BAA6B,GAAG,IAAI,CACvC,kBAAkB,CAChB,0BAA0B,EAC1B,KAAK,EACL,mBAAmB,EACnB,IAAI,CACL,EACD,YAAY,CACb,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,eAAe,CAAC,EAAE,6BAA6B,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,6BAA6B,mBAAmB,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,sBAAsB,GAAG,iBAAiB,CAC3C,0BAA0B,EAC1B,KAAK,EACL,mBAAmB,EACnB,IAAI,CACL,CA4CA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { d as distExports } from '../../../../../_virtual/index.js';
|
|
2
2
|
import { useDeltaSDK } from '../../../../useSDK.js';
|
|
3
3
|
import { useMutation } from '@tanstack/react-query';
|
|
4
|
+
import { shouldRetryPostOrder } from './utils.js';
|
|
4
5
|
|
|
5
6
|
const POST_DELTA_ORDER_MUTATION_KEY = "postDeltaOrder";
|
|
6
7
|
function usePostDeltaOrder(t0) {
|
|
@@ -70,6 +71,8 @@ function usePostDeltaOrder(t0) {
|
|
|
70
71
|
t4 = {
|
|
71
72
|
mutationKey: t2,
|
|
72
73
|
mutationFn: t3,
|
|
74
|
+
retry: _temp,
|
|
75
|
+
retryDelay: _temp2,
|
|
73
76
|
...mutationOptions
|
|
74
77
|
};
|
|
75
78
|
$[7] = mutationOptions;
|
|
@@ -80,6 +83,18 @@ function usePostDeltaOrder(t0) {
|
|
|
80
83
|
}
|
|
81
84
|
return useMutation(t4);
|
|
82
85
|
}
|
|
86
|
+
function _temp2(attemptIndex) {
|
|
87
|
+
if (attemptIndex === 0) {
|
|
88
|
+
return 500;
|
|
89
|
+
}
|
|
90
|
+
return attemptIndex * 1e3;
|
|
91
|
+
}
|
|
92
|
+
function _temp(retryCount, error) {
|
|
93
|
+
if (retryCount >= 2) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
return shouldRetryPostOrder(error);
|
|
97
|
+
}
|
|
83
98
|
|
|
84
99
|
export { POST_DELTA_ORDER_MUTATION_KEY, usePostDeltaOrder };
|
|
85
100
|
//# sourceMappingURL=usePostDeltaOrder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePostDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/usePostDeltaOrder.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type { MinViemClient, PostDeltaOrderParams } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\nimport type { SubmittedDeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\n\nexport type PostDeltaOrderInput = PostDeltaOrderParams;\n\ntype PostDeltaOrderMutationOptions = Omit<\n UseMutationOptions<\n SubmittedDeltaOrderFromAPI,\n Error,\n PostDeltaOrderInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype PostDeltaOrderMutInput = {\n mutationOptions?: PostDeltaOrderMutationOptions;\n chainId: number;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const POST_DELTA_ORDER_MUTATION_KEY = \"postDeltaOrder\";\n\nexport function usePostDeltaOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: PostDeltaOrderMutInput): UseMutationResult<\n SubmittedDeltaOrderFromAPI,\n Error,\n PostDeltaOrderInput,\n void\n> {\n const { sdk } = useDeltaSDK({ chainId, account, client });\n\n return useMutation<\n SubmittedDeltaOrderFromAPI,\n Error,\n PostDeltaOrderInput,\n void\n >({\n mutationKey: [POST_DELTA_ORDER_MUTATION_KEY],\n mutationFn: async ({\n signature,\n order,\n partner,\n referrerAddress,\n type,\n includeAgents,\n excludeAgents,\n degenMode,\n }) => {\n const orderFromAPI = await sdk.postDeltaOrder({\n signature,\n order,\n partner,\n referrerAddress,\n type,\n includeAgents,\n excludeAgents,\n degenMode,\n });\n\n return orderFromAPI;\n },\n ...mutationOptions,\n });\n}\n"],"names":["POST_DELTA_ORDER_MUTATION_KEY","usePostDeltaOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useDeltaSDK","t2","Symbol","for","t3","t4","signature","order","partner","referrerAddress","type","includeAgents","excludeAgents","degenMode","orderFromAPI","postDeltaOrder","mutationKey","mutationFn","useMutation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePostDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/usePostDeltaOrder.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type { MinViemClient, PostDeltaOrderParams } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\nimport type { SubmittedDeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\nimport { shouldRetryPostOrder } from \"./utils\";\n\nexport type PostDeltaOrderInput = PostDeltaOrderParams;\n\ntype PostDeltaOrderMutationOptions = Omit<\n UseMutationOptions<\n SubmittedDeltaOrderFromAPI,\n Error,\n PostDeltaOrderInput,\n void\n >,\n \"mutationFn\"\n>;\n\ntype PostDeltaOrderMutInput = {\n mutationOptions?: PostDeltaOrderMutationOptions;\n chainId: number;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const POST_DELTA_ORDER_MUTATION_KEY = \"postDeltaOrder\";\n\nexport function usePostDeltaOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: PostDeltaOrderMutInput): UseMutationResult<\n SubmittedDeltaOrderFromAPI,\n Error,\n PostDeltaOrderInput,\n void\n> {\n const { sdk } = useDeltaSDK({ chainId, account, client });\n\n return useMutation<\n SubmittedDeltaOrderFromAPI,\n Error,\n PostDeltaOrderInput,\n void\n >({\n mutationKey: [POST_DELTA_ORDER_MUTATION_KEY],\n mutationFn: async ({\n signature,\n order,\n partner,\n referrerAddress,\n type,\n includeAgents,\n excludeAgents,\n degenMode,\n }) => {\n const orderFromAPI = await sdk.postDeltaOrder({\n signature,\n order,\n partner,\n referrerAddress,\n type,\n includeAgents,\n excludeAgents,\n degenMode,\n });\n\n return orderFromAPI;\n },\n retry: (retryCount, error) => {\n if (retryCount >= 2) return false;\n return shouldRetryPostOrder(error);\n },\n retryDelay: (attemptIndex) => {\n if (attemptIndex === 0) return 500; // initial retry after 0.5s\n return attemptIndex * 1000; // linear backoff: 1s, 2s\n },\n // allow to override retry and retryDelay via mutationOptions\n ...mutationOptions,\n });\n}\n"],"names":["POST_DELTA_ORDER_MUTATION_KEY","usePostDeltaOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useDeltaSDK","t2","Symbol","for","t3","t4","signature","order","partner","referrerAddress","type","includeAgents","excludeAgents","degenMode","orderFromAPI","postDeltaOrder","mutationKey","mutationFn","retry","_temp","retryDelay","_temp2","useMutation","attemptIndex","retryCount","error","shouldRetryPostOrder"],"mappings":"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"}
|
|
@@ -10,5 +10,6 @@ export declare function buildPreSignOrderPayload({ sdk, orderInput, chainId, ref
|
|
|
10
10
|
type?: "MARKET" | "LIMIT";
|
|
11
11
|
degenMode?: boolean;
|
|
12
12
|
}): Promise<PreSignDeltaOrderToPost>;
|
|
13
|
+
export declare function shouldRetryPostOrder(error: unknown): boolean;
|
|
13
14
|
export {};
|
|
14
15
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,KAAK,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,yBAAyB,CAAC,GAC5E,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;AAEpD,wBAAsB,wBAAwB,CAAC,EAC7C,GAAG,EACH,UAAU,EACV,OAAO,EACP,eAAe,EACf,IAAI,EACJ,SAAS,GACV,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,yBAAyB,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoBnC"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,KAAK,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,yBAAyB,CAAC,GAC5E,IAAI,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,CAAC;AAEpD,wBAAsB,wBAAwB,CAAC,EAC7C,GAAG,EACH,UAAU,EACV,OAAO,EACP,eAAe,EACf,IAAI,EACJ,SAAS,GACV,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,yBAAyB,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoBnC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,WAYlD"}
|
|
@@ -20,6 +20,15 @@ async function buildPreSignOrderPayload({
|
|
|
20
20
|
};
|
|
21
21
|
return orderToPost;
|
|
22
22
|
}
|
|
23
|
+
function shouldRetryPostOrder(error) {
|
|
24
|
+
if (!(error instanceof Error)) return false;
|
|
25
|
+
if (error.message === "Network Error") return true;
|
|
26
|
+
if ("response" in error) {
|
|
27
|
+
const status = error.response?.status;
|
|
28
|
+
if (status >= 500 && status < 600) return true;
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
23
32
|
|
|
24
|
-
export { buildPreSignOrderPayload };
|
|
33
|
+
export { buildPreSignOrderPayload, shouldRetryPostOrder };
|
|
25
34
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/utils.ts"],"sourcesContent":["import type {\n BuildDeltaOrderDataParams,\n BuildDeltaOrderFunctions,\n PreSignDeltaOrderFunctions,\n} from \"@velora-dex/sdk\";\nimport type { PreSignDeltaOrderToPost } from \"./types\";\nimport type { Hex } from \"viem\";\n\ntype MinSDK = Pick<PreSignDeltaOrderFunctions<Hex>, \"hashDeltaOrderTypedData\"> &\n Pick<BuildDeltaOrderFunctions, \"buildDeltaOrder\">;\n\nexport async function buildPreSignOrderPayload({\n sdk,\n orderInput,\n chainId,\n referrerAddress,\n type,\n degenMode,\n}: {\n sdk: MinSDK;\n orderInput: BuildDeltaOrderDataParams;\n chainId: number;\n referrerAddress?: string;\n type?: \"MARKET\" | \"LIMIT\";\n degenMode?: boolean;\n}): Promise<PreSignDeltaOrderToPost> {\n // Step 1: build order (with async partnerFee calculation internally)\n const signableTypedData = await sdk.buildDeltaOrder(orderInput);\n\n // Step 2: hash order\n const orderHash = sdk.hashDeltaOrderTypedData(signableTypedData);\n\n // Step 3: prepare order payload\n const orderToPost: PreSignDeltaOrderToPost = {\n chainId,\n orderHash,\n order: signableTypedData.data,\n partner: orderInput.partner,\n referrerAddress,\n type,\n signature: \"0x\",\n degenMode,\n };\n\n return orderToPost;\n}\n"],"names":["buildPreSignOrderPayload","sdk","orderInput","chainId","referrerAddress","type","degenMode","signableTypedData","buildDeltaOrder","orderHash","hashDeltaOrderTypedData","orderToPost","order","data","partner","signature"],"mappings":"AAWA,eAAsBA,wBAAAA,CAAyB;AAAA,EAC7CC,GAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,IAAAA;AAAAA,EACAC;AAQF,CAAA,EAAqC;AAEnC,EAAA,MAAMC,iBAAAA,GAAoB,MAAMN,GAAAA,CAAIO,eAAAA,CAAgBN,UAAU,CAAA;AAG9D,EAAA,MAAMO,SAAAA,GAAYR,GAAAA,CAAIS,uBAAAA,CAAwBH,iBAAiB,CAAA;AAG/D,EAAA,MAAMI,WAAAA,GAAuC;AAAA,IAC3CR,OAAAA;AAAAA,IACAM,SAAAA;AAAAA,IACAG,OAAOL,iBAAAA,CAAkBM,IAAAA;AAAAA,IACzBC,SAASZ,UAAAA,CAAWY,OAAAA;AAAAA,IACpBV,eAAAA;AAAAA,IACAC,IAAAA;AAAAA,IACAU,SAAAA,EAAW,IAAA;AAAA,IACXT;AAAAA,GACF;AAEA,EAAA,OAAOK,WAAAA;AACT;;;;"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/utils.ts"],"sourcesContent":["import type {\n BuildDeltaOrderDataParams,\n BuildDeltaOrderFunctions,\n PreSignDeltaOrderFunctions,\n} from \"@velora-dex/sdk\";\nimport type { PreSignDeltaOrderToPost } from \"./types\";\nimport type { Hex } from \"viem\";\n\ntype MinSDK = Pick<PreSignDeltaOrderFunctions<Hex>, \"hashDeltaOrderTypedData\"> &\n Pick<BuildDeltaOrderFunctions, \"buildDeltaOrder\">;\n\nexport async function buildPreSignOrderPayload({\n sdk,\n orderInput,\n chainId,\n referrerAddress,\n type,\n degenMode,\n}: {\n sdk: MinSDK;\n orderInput: BuildDeltaOrderDataParams;\n chainId: number;\n referrerAddress?: string;\n type?: \"MARKET\" | \"LIMIT\";\n degenMode?: boolean;\n}): Promise<PreSignDeltaOrderToPost> {\n // Step 1: build order (with async partnerFee calculation internally)\n const signableTypedData = await sdk.buildDeltaOrder(orderInput);\n\n // Step 2: hash order\n const orderHash = sdk.hashDeltaOrderTypedData(signableTypedData);\n\n // Step 3: prepare order payload\n const orderToPost: PreSignDeltaOrderToPost = {\n chainId,\n orderHash,\n order: signableTypedData.data,\n partner: orderInput.partner,\n referrerAddress,\n type,\n signature: \"0x\",\n degenMode,\n };\n\n return orderToPost;\n}\n\nexport function shouldRetryPostOrder(error: unknown) {\n // safer not to retry if we cannot identify the error\n if (!(error instanceof Error)) return false;\n // retry if Network Error\n if (error.message === \"Network Error\") return true;\n // retry if 5xx response\n if (\"response\" in error) {\n const status = (error.response as { status: number })?.status;\n if (status >= 500 && status < 600) return true;\n }\n // otherwise don't retry\n return false;\n}\n"],"names":["buildPreSignOrderPayload","sdk","orderInput","chainId","referrerAddress","type","degenMode","signableTypedData","buildDeltaOrder","orderHash","hashDeltaOrderTypedData","orderToPost","order","data","partner","signature","shouldRetryPostOrder","error","Error","message","status","response"],"mappings":"AAWA,eAAsBA,wBAAAA,CAAyB;AAAA,EAC7CC,GAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,IAAAA;AAAAA,EACAC;AAQF,CAAA,EAAqC;AAEnC,EAAA,MAAMC,iBAAAA,GAAoB,MAAMN,GAAAA,CAAIO,eAAAA,CAAgBN,UAAU,CAAA;AAG9D,EAAA,MAAMO,SAAAA,GAAYR,GAAAA,CAAIS,uBAAAA,CAAwBH,iBAAiB,CAAA;AAG/D,EAAA,MAAMI,WAAAA,GAAuC;AAAA,IAC3CR,OAAAA;AAAAA,IACAM,SAAAA;AAAAA,IACAG,OAAOL,iBAAAA,CAAkBM,IAAAA;AAAAA,IACzBC,SAASZ,UAAAA,CAAWY,OAAAA;AAAAA,IACpBV,eAAAA;AAAAA,IACAC,IAAAA;AAAAA,IACAU,SAAAA,EAAW,IAAA;AAAA,IACXT;AAAAA,GACF;AAEA,EAAA,OAAOK,WAAAA;AACT;AAEO,SAASK,qBAAqBC,KAAAA,EAAgB;AAEnD,EAAA,IAAI,EAAEA,KAAAA,YAAiBC,KAAAA,CAAAA,EAAQ,OAAO,KAAA;AAEtC,EAAA,IAAID,KAAAA,CAAME,OAAAA,KAAY,eAAA,EAAiB,OAAO,IAAA;AAE9C,EAAA,IAAI,cAAcF,KAAAA,EAAO;AACvB,IAAA,MAAMG,MAAAA,GAAUH,MAAMI,QAAAA,EAAiCD,MAAAA;AACvD,IAAA,IAAIA,MAAAA,IAAU,GAAA,IAAOA,MAAAA,GAAS,GAAA,EAAK,OAAO,IAAA;AAAA,EAC5C;AAEA,EAAA,OAAO,KAAA;AACT;;;;"}
|
|
@@ -47,7 +47,7 @@ export type ExecutedDeltaAuction = Omit<DeltaAuction, "status" | "transaction">
|
|
|
47
47
|
transaction: DeltaAuctionTx;
|
|
48
48
|
};
|
|
49
49
|
export type FailedDeltaAuction = DeltaAuction & ({
|
|
50
|
-
status: Extract<DeltaAuctionStatus, "FAILED" | "EXPIRED" | "CANCELLED">;
|
|
50
|
+
status: Extract<DeltaAuctionStatus, "FAILED" | "EXPIRED" | "CANCELLED" | "REFUNDED">;
|
|
51
51
|
} | {
|
|
52
52
|
status: "EXECUTED";
|
|
53
53
|
bridgeStatus: "expired" | "refunded";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,YAAY,EACZ,QAAQ,GAAG,aAAa,CACzB,GAAG;IACF,MAAM,EAAE,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAChD,WAAW,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAC3C,CACI;IACE,MAAM,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,YAAY,EACZ,QAAQ,GAAG,aAAa,CACzB,GAAG;IACF,MAAM,EAAE,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAChD,WAAW,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAC3C,CACI;IACE,MAAM,EAAE,OAAO,CACb,kBAAkB,EAClB,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAChD,CAAC;CACH,GACD;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,SAAS,GAAG,UAAU,CAAC;CACtC,CACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const RETRY_DELAY_MS = 2000;
|
|
2
|
+
/** Orders older than this are considered stale and won't be retried */
|
|
3
|
+
export declare const ORDER_TTL_MS: number;
|
|
4
|
+
export declare const logger: import('../../../../../../lib/utils/logger').LoggerInstance;
|
|
5
|
+
//# sourceMappingURL=const.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/const.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,OAAO,CAAC;AACnC,uEAAuE;AACvE,eAAO,MAAM,YAAY,QAAqB,CAAC;AAE/C,eAAO,MAAM,MAAM,6DAAmC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getLogger } from '../../../../../../core/logger.js';
|
|
2
|
+
|
|
3
|
+
const RETRY_DELAY_MS = 2e3;
|
|
4
|
+
const ORDER_TTL_MS = 1e3 * 60 * 60 * 1;
|
|
5
|
+
const logger = getLogger("UnpostedDeltaOrders");
|
|
6
|
+
|
|
7
|
+
export { ORDER_TTL_MS, RETRY_DELAY_MS, logger };
|
|
8
|
+
//# sourceMappingURL=const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/const.ts"],"sourcesContent":["import { getLogger } from \"@/core/logger\";\n\nexport const RETRY_DELAY_MS = 2000;\n/** Orders older than this are considered stale and won't be retried */\nexport const ORDER_TTL_MS = 1000 * 60 * 60 * 1; // 1 hour\n\nexport const logger = getLogger(\"UnpostedDeltaOrders\");\n"],"names":["RETRY_DELAY_MS","ORDER_TTL_MS","logger","getLogger"],"mappings":";;AAEO,MAAMA,cAAAA,GAAiB;AAEvB,MAAMC,YAAAA,GAAe,GAAA,GAAO,EAAA,GAAK,EAAA,GAAK;AAEtC,MAAMC,MAAAA,GAASC,UAAU,qBAAqB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/effect.ts"],"names":[],"mappings":"AAwBA,wBAAgB,+BAA+B,SAE9C"}
|