@velora-dex/widget 0.8.2 → 0.8.3-dev.0
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/hooks.d.ts +2 -2
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +79 -73
- 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/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/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 +4 -1
- 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/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +46 -52
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +3 -4
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -4
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- 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 +7 -5
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts +2 -3
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +54 -110
- 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 +1 -4
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/swapDetails/fees.d.ts.map +1 -1
- package/dist/core/swapDetails/fees.js +16 -11
- 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 +18 -17
- 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/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/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -4
- 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 +6 -3
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +20 -17
- 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 +27 -28
- 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 +27 -28
- 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 +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -6
- 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 +2 -1
- 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 +2 -2
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +6 -3
- 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 +16 -33
- 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/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 +2 -3
- 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 +4 -5
- 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 +10 -17
- 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/useDeltaFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +119 -124
- 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 +159 -196
- 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 +217 -229
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +19 -3
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +65 -35
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/queryClient.js +1 -1
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/utils/price.d.ts +5 -2
- package/dist/lib/utils/price.d.ts.map +1 -1
- package/dist/lib/utils/price.js +8 -5
- 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/package.json +2 -2
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts +0 -8
- package/dist/hooks/swap/prices/delta/bridge/const.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/bridge/const.js +0 -13
- package/dist/hooks/swap/prices/delta/bridge/const.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DeltaPriceV2 } from '@velora-dex/sdk';
|
|
2
2
|
import { BridgeListItemProps } from './types';
|
|
3
3
|
export declare function useBridgeListItems({ bridgePrice, prioritize, maxItems, }: {
|
|
4
|
-
bridgePrice?:
|
|
4
|
+
bridgePrice?: DeltaPriceV2;
|
|
5
5
|
/**
|
|
6
6
|
@true [recommended, selected, bestReturn, fastest, others...]
|
|
7
7
|
@false [recommended, others...]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,iBAAiB,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAQnD,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,UAAkB,EAClB,QAAQ,GACT,EAAE;IACD,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG;IACF,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CA0CA"}
|
|
@@ -1,127 +1,133 @@
|
|
|
1
1
|
import { useSetAtom as e } from "../../../core/store.js";
|
|
2
2
|
import { emptyArray as t } from "../../../lib/constants/index.js";
|
|
3
3
|
import { protocolNameAtom as n } from "../TradeParameters/state/bridgePreferences/protocolNameAtom.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import { getAllBridgeRoutes as r } from "../../../hooks/swap/prices/delta/bridge/utils.js";
|
|
5
|
+
import { useWidgetTokens as i } from "../../../core/inputs/state/common.js";
|
|
6
|
+
import { useSelectedBridgePrice as a } from "../../../hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js";
|
|
7
|
+
import { useGetBridgeProtocolsMap as o } from "../../../hooks/useBridgeProtocols.js";
|
|
8
|
+
import { c as s } from "react-compiler-runtime";
|
|
8
9
|
//#region src/components/widget/BridgeList/hooks.tsx
|
|
9
|
-
function
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
let b =
|
|
10
|
+
function c(r) {
|
|
11
|
+
let c = s(20), { bridgePrice: u, prioritize: d, maxItems: p } = r, m = d === void 0 ? !1 : d, { data: h } = o(), { tokenFrom: g, tokenTo: _ } = i("swap"), v = e(n), y;
|
|
12
|
+
c[0] === u ? y = c[1] : (y = { price: u }, c[0] = u, c[1] = y);
|
|
13
|
+
let b = a(y);
|
|
13
14
|
if (!u || !h || !_ || !b) {
|
|
14
15
|
let e;
|
|
15
|
-
return
|
|
16
|
+
return c[2] === Symbol.for("react.memo_cache_sentinel") ? (e = {
|
|
16
17
|
displayedBridges: t,
|
|
17
18
|
allBridges: t
|
|
18
|
-
},
|
|
19
|
+
}, c[2] = e) : e = c[2], e;
|
|
19
20
|
}
|
|
20
|
-
let x;
|
|
21
|
-
|
|
22
|
-
let t = e.protocolName.toLowerCase(), n =
|
|
21
|
+
let x = b.route.bridge?.protocol, S;
|
|
22
|
+
c[3] !== x || c[4] !== v || c[5] !== g || c[6] !== _ ? (S = (e) => {
|
|
23
|
+
let t = e.protocolName.toLowerCase(), n = () => {
|
|
23
24
|
v(t);
|
|
24
|
-
},
|
|
25
|
+
}, r = t === x?.toLowerCase();
|
|
25
26
|
return {
|
|
26
27
|
...e,
|
|
27
|
-
onClick:
|
|
28
|
+
onClick: n,
|
|
28
29
|
tokenFrom: g,
|
|
29
30
|
tokenTo: _,
|
|
30
|
-
isSelected:
|
|
31
|
+
isSelected: r
|
|
31
32
|
};
|
|
32
|
-
},
|
|
33
|
-
let
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
}, c[3] = x, c[4] = v, c[5] = g, c[6] = _, c[7] = S) : S = c[7];
|
|
34
|
+
let C = S, w, T;
|
|
35
|
+
c[8] !== u || c[9] !== h || c[10] !== C || c[11] !== p || c[12] !== m || c[13] !== b.route ? (w = C(f({
|
|
36
|
+
route: b.route,
|
|
36
37
|
bridgeProtocols: h
|
|
37
|
-
})),
|
|
38
|
+
})), T = l({
|
|
38
39
|
prioritize: m,
|
|
39
40
|
bridgePrice: u,
|
|
40
41
|
bridgeProtocols: h,
|
|
41
|
-
extendBridge:
|
|
42
|
-
selectedBridge:
|
|
42
|
+
extendBridge: C,
|
|
43
|
+
selectedBridge: w,
|
|
43
44
|
maxItems: p
|
|
44
|
-
}),
|
|
45
|
-
let { displayedBridges:
|
|
46
|
-
return
|
|
47
|
-
displayedBridges:
|
|
48
|
-
allBridges:
|
|
49
|
-
selectedBridge:
|
|
50
|
-
},
|
|
45
|
+
}), c[8] = u, c[9] = h, c[10] = C, c[11] = p, c[12] = m, c[13] = b.route, c[14] = w, c[15] = T) : (w = c[14], T = c[15]);
|
|
46
|
+
let { displayedBridges: E, allBridges: D } = T, O;
|
|
47
|
+
return c[16] !== D || c[17] !== E || c[18] !== w ? (O = {
|
|
48
|
+
displayedBridges: E,
|
|
49
|
+
allBridges: D,
|
|
50
|
+
selectedBridge: w
|
|
51
|
+
}, c[16] = D, c[17] = E, c[18] = w, c[19] = O) : O = c[19], O;
|
|
51
52
|
}
|
|
52
|
-
function
|
|
53
|
-
return e ?
|
|
53
|
+
function l({ prioritize: e, bridgePrice: t, bridgeProtocols: n, extendBridge: r, selectedBridge: i, maxItems: a }) {
|
|
54
|
+
return e ? u({
|
|
54
55
|
bridgePrice: t,
|
|
55
56
|
bridgeProtocols: n,
|
|
56
57
|
extendBridge: r,
|
|
57
58
|
selectedBridge: i,
|
|
58
59
|
maxItems: a
|
|
59
|
-
}) :
|
|
60
|
+
}) : d({
|
|
60
61
|
bridgePrice: t,
|
|
61
62
|
bridgeProtocols: n,
|
|
62
63
|
extendBridge: r,
|
|
63
64
|
maxItems: a
|
|
64
65
|
});
|
|
65
66
|
}
|
|
66
|
-
function
|
|
67
|
-
let
|
|
68
|
-
for (let e of
|
|
69
|
-
let r = e.
|
|
70
|
-
if (
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
function u({ bridgePrice: e, bridgeProtocols: t, extendBridge: n, selectedBridge: i, maxItems: a }) {
|
|
68
|
+
let o = r(e), s = [i], c = new Set([i.protocolName.toLowerCase()]);
|
|
69
|
+
for (let e of o) {
|
|
70
|
+
let r = e.bridge?.protocol;
|
|
71
|
+
if (!r) continue;
|
|
72
|
+
let i = r.toLowerCase();
|
|
73
|
+
if (c.has(i)) continue;
|
|
74
|
+
c.add(i);
|
|
75
|
+
let a = f({
|
|
76
|
+
route: e,
|
|
74
77
|
bridgeProtocols: t
|
|
75
78
|
});
|
|
76
|
-
|
|
79
|
+
s.push(n(a));
|
|
77
80
|
}
|
|
78
|
-
let
|
|
81
|
+
let l = s.sort(p);
|
|
79
82
|
return {
|
|
80
|
-
displayedBridges:
|
|
81
|
-
allBridges:
|
|
83
|
+
displayedBridges: a ? l.slice(0, a) : l,
|
|
84
|
+
allBridges: l
|
|
82
85
|
};
|
|
83
86
|
}
|
|
84
|
-
function
|
|
85
|
-
let
|
|
86
|
-
for (let e of
|
|
87
|
-
let
|
|
88
|
-
if (
|
|
89
|
-
let
|
|
90
|
-
|
|
87
|
+
function d({ bridgePrice: e, bridgeProtocols: t, extendBridge: n, maxItems: i }) {
|
|
88
|
+
let a = r(e), o = [], s = /* @__PURE__ */ new Set();
|
|
89
|
+
for (let e of a) {
|
|
90
|
+
let r = e.bridge?.protocol;
|
|
91
|
+
if (!r) continue;
|
|
92
|
+
let i = r.toLowerCase();
|
|
93
|
+
if (s.has(i)) continue;
|
|
94
|
+
s.add(i);
|
|
95
|
+
let a = f({
|
|
96
|
+
route: e,
|
|
91
97
|
bridgeProtocols: t
|
|
92
98
|
});
|
|
93
|
-
o.
|
|
99
|
+
o.push(n(a));
|
|
94
100
|
}
|
|
95
|
-
let
|
|
101
|
+
let c = o.sort(m);
|
|
96
102
|
return {
|
|
97
|
-
displayedBridges:
|
|
98
|
-
allBridges:
|
|
103
|
+
displayedBridges: i ? c.slice(0, i) : c,
|
|
104
|
+
allBridges: c
|
|
99
105
|
};
|
|
100
106
|
}
|
|
101
|
-
function
|
|
102
|
-
let
|
|
107
|
+
function f({ route: e, bridgeProtocols: t }) {
|
|
108
|
+
let n = e.bridge, r = t[n.protocol.toLowerCase()], i = n.tags;
|
|
103
109
|
return {
|
|
104
|
-
srcUSD:
|
|
105
|
-
destUSD:
|
|
106
|
-
srcAmount:
|
|
107
|
-
destAmount:
|
|
108
|
-
protocolDisplayName:
|
|
109
|
-
protocolIcon:
|
|
110
|
-
protocolSelector:
|
|
111
|
-
protocolName:
|
|
112
|
-
estimatedTimeMs:
|
|
113
|
-
recommended: i.recommended,
|
|
114
|
-
bestReturn: i.
|
|
115
|
-
fastest: i.fastest
|
|
110
|
+
srcUSD: e.origin.input.amountUSD,
|
|
111
|
+
destUSD: e.destination.output.amountUSD,
|
|
112
|
+
srcAmount: e.origin.input.amount,
|
|
113
|
+
destAmount: e.destination.output.amount,
|
|
114
|
+
protocolDisplayName: r?.displayName,
|
|
115
|
+
protocolIcon: r?.icon,
|
|
116
|
+
protocolSelector: n.contractParams.protocolSelector,
|
|
117
|
+
protocolName: n.protocol,
|
|
118
|
+
estimatedTimeMs: n.estimatedTimeMs,
|
|
119
|
+
recommended: i.includes("recommended"),
|
|
120
|
+
bestReturn: i.includes("best-return"),
|
|
121
|
+
fastest: i.includes("fastest")
|
|
116
122
|
};
|
|
117
123
|
}
|
|
118
|
-
function
|
|
124
|
+
function p(e, t) {
|
|
119
125
|
return e.recommended && !t.recommended ? -1 : !e.recommended && t.recommended ? 1 : e.isSelected && !t.isSelected ? -1 : !e.isSelected && t.isSelected ? 1 : e.bestReturn && !t.bestReturn ? -1 : !e.bestReturn && t.bestReturn ? 1 : e.fastest && !t.fastest ? -1 : !e.fastest && t.fastest ? 1 : 0;
|
|
120
126
|
}
|
|
121
|
-
function
|
|
127
|
+
function m(e, t) {
|
|
122
128
|
return e.recommended && !t.recommended ? -1 : !e.recommended && t.recommended ? 1 : 0;
|
|
123
129
|
}
|
|
124
130
|
//#endregion
|
|
125
|
-
export {
|
|
131
|
+
export { c as useBridgeListItems };
|
|
126
132
|
|
|
127
133
|
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","names":["BridgePrice","AvailableBridge","useGetBridgeProtocolsMap","useWidgetTokens","BridgeListItemProps","emptyArray","BridgeProtocolsMapping","useSetAtom","protocolNameAtom","useSelectedBridgePrice","useBridgeListItems","t0","$","_c","bridgePrice","prioritize","t1","maxItems","undefined","data","bridgeProtocols","tokenFrom","tokenTo","setProtocolName","t2","price","selectedBridgePrice","t3","Symbol","for","displayedBridges","allBridges","bridgeInfo","protocolName","bridge","loweredProtocolName","toLowerCase","loweredSelectedProtocolName","onClick","isSelected","extendBridge","selectedBridge","t4","pickBridgeProps","availableBridge","getDisplayedBridges","t5","BridgeListItemBaseProps","Omit","GetDisplayedBridgesParams","getBridgesWithPriority","getAllBridges","availableBridges","addedBridgesSet","Set","has","add","bridgeProps","push","sorted","sort","sortBridgesByPriority","slice","sortBridgesRecommendedFirst","receivedDestUSD","srcUSD","srcAmount","bridgeProtocol","destUSD","destAmount","destAmountAfterBridge","protocolDisplayName","displayName","protocolIcon","icon","protocolSelector","estimatedTimeMs","recommended","bestReturn","fastest","a","b"],"sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"sourcesContent":["import type { BridgePrice, AvailableBridge } from \"@velora-dex/sdk\";\nimport { useGetBridgeProtocolsMap } from \"@/hooks/useBridgeProtocols\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport type { BridgeListItemProps } from \"./types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeProtocolsMapping } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useSetAtom } from \"@/core/store\";\nimport { protocolNameAtom } from \"../TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport { useSelectedBridgePrice } from \"@/hooks/swap/prices/delta/bridge/useSelectedBridgePrice\";\n\nexport function useBridgeListItems({\n bridgePrice,\n prioritize = false,\n maxItems,\n}: {\n bridgePrice?: BridgePrice;\n /**\n @true [recommended, selected, bestReturn, fastest, others...]\n @false [recommended, others...]\n @default false\n */\n prioritize?: boolean;\n maxItems?: number;\n}): {\n displayedBridges: BridgeListItemProps[];\n allBridges: BridgeListItemProps[];\n selectedBridge?: BridgeListItemProps;\n} {\n const { data: bridgeProtocols } = useGetBridgeProtocolsMap();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const setProtocolName = useSetAtom(protocolNameAtom);\n const selectedBridgePrice = useSelectedBridgePrice({ price: bridgePrice });\n\n if (!bridgePrice || !bridgeProtocols || !tokenTo || !selectedBridgePrice)\n return { displayedBridges: emptyArray, allBridges: emptyArray };\n\n const extendBridge = (\n bridge: BridgeListItemBaseProps\n ): BridgeListItemProps => {\n const loweredProtocolName = bridge.protocolName.toLowerCase();\n const loweredSelectedProtocolName =\n selectedBridgePrice.bridgeInfo.protocolName.toLowerCase();\n\n const onClick = () => {\n setProtocolName(loweredProtocolName);\n };\n const isSelected = loweredProtocolName === loweredSelectedProtocolName;\n return { ...bridge, onClick, tokenFrom, tokenTo, isSelected };\n };\n\n const selectedBridge = extendBridge(\n pickBridgeProps({\n availableBridge: selectedBridgePrice,\n bridgeProtocols,\n })\n );\n\n const { displayedBridges, allBridges } = getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n\n return { displayedBridges, allBridges, selectedBridge };\n}\n\n// BridgeListItemProps without stateful fields\ntype BridgeListItemBaseProps = Omit<\n BridgeListItemProps,\n \"tokenFrom\" | \"tokenTo\" | \"isSelected\" | \"onClick\"\n>;\n\ntype GetDisplayedBridgesParams = {\n prioritize: boolean;\n bridgePrice: BridgePrice;\n bridgeProtocols: BridgeProtocolsMapping;\n extendBridge: (bridge: BridgeListItemBaseProps) => BridgeListItemProps;\n selectedBridge: BridgeListItemProps;\n maxItems?: number;\n};\n\nfunction getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: GetDisplayedBridgesParams) {\n if (prioritize) {\n return getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n }\n\n return getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n });\n}\n\nfunction getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [selectedBridge];\n const addedBridgesSet = new Set<string>([\n selectedBridge.protocolName.toLowerCase(),\n ]);\n\n for (const availableBridge of availableBridges) {\n const loweredProtocolName =\n availableBridge.bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesByPriority);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\" | \"selectedBridge\">) {\n const { availableBridges } = bridgePrice;\n\n const displayedBridges: BridgeListItemProps[] = [];\n const addedBridgesSet = new Set<string>();\n\n // then all others in any order\n for (const availableBridge of availableBridges) {\n const { bridgeInfo } = availableBridge;\n const loweredProtocolName = bridgeInfo.protocolName.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n\n const bridgeProps = pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n });\n addedBridgesSet.add(loweredProtocolName);\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesRecommendedFirst);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction pickBridgeProps({\n availableBridge,\n bridgeProtocols,\n}: {\n availableBridge: AvailableBridge;\n bridgeProtocols: BridgeProtocolsMapping;\n}): BridgeListItemBaseProps {\n const { receivedDestUSD, bridge, bridgeInfo, srcUSD, srcAmount } =\n availableBridge;\n const bridgeProtocol = bridgeProtocols[bridgeInfo.protocolName.toLowerCase()];\n\n return {\n srcUSD,\n destUSD: receivedDestUSD,\n srcAmount,\n destAmount: bridgeInfo.destAmountAfterBridge,\n protocolDisplayName: bridgeProtocol?.displayName,\n protocolIcon: bridgeProtocol?.icon,\n protocolSelector: bridge.protocolSelector,\n protocolName: bridgeInfo.protocolName,\n estimatedTimeMs: bridgeInfo.estimatedTimeMs,\n recommended: bridgeInfo.recommended,\n bestReturn: bridgeInfo.bestReturn,\n fastest: bridgeInfo.fastest,\n };\n}\n\nfunction sortBridgesByPriority(a: BridgeListItemProps, b: BridgeListItemProps) {\n // prioritize recommended > selected > bestReturn > fastest\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n if (a.isSelected && !b.isSelected) return -1;\n if (!a.isSelected && b.isSelected) return 1;\n\n if (a.bestReturn && !b.bestReturn) return -1;\n if (!a.bestReturn && b.bestReturn) return 1;\n\n if (a.fastest && !b.fastest) return -1;\n if (!a.fastest && b.fastest) return 1;\n\n return 0;\n}\n\nfunction sortBridgesRecommendedFirst(\n a: BridgeListItemProps,\n b: BridgeListItemProps\n) {\n // prioritize recommended first\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n return 0;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","names":["DeltaPriceV2","DeltaRoute","useGetBridgeProtocolsMap","useWidgetTokens","BridgeListItemProps","emptyArray","BridgeProtocolsMapping","useSetAtom","protocolNameAtom","useSelectedBridgePrice","getAllBridgeRoutes","useBridgeListItems","t0","$","_c","bridgePrice","prioritize","t1","maxItems","undefined","data","bridgeProtocols","tokenFrom","tokenTo","setProtocolName","t2","price","selectedBridgePrice","t3","Symbol","for","displayedBridges","allBridges","selectedProtocolName","route","bridge","protocol","loweredProtocolName","protocolName","toLowerCase","onClick","isSelected","extendBridge","selectedBridge","t4","pickBridgeProps","getDisplayedBridges","t5","BridgeListItemBaseProps","Omit","GetDisplayedBridgesParams","getBridgesWithPriority","getAllBridges","routes","addedBridgesSet","Set","has","add","bridgeProps","push","sorted","sort","sortBridgesByPriority","slice","sortBridgesRecommendedFirst","bridgeProtocol","tags","srcUSD","origin","input","amountUSD","destUSD","destination","output","srcAmount","amount","destAmount","protocolDisplayName","displayName","protocolIcon","icon","protocolSelector","contractParams","estimatedTimeMs","recommended","includes","bestReturn","fastest","a","b"],"sources":["../../../../src/components/widget/BridgeList/hooks.tsx"],"sourcesContent":["import type { DeltaPriceV2, DeltaRoute } from \"@velora-dex/sdk\";\nimport { useGetBridgeProtocolsMap } from \"@/hooks/useBridgeProtocols\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport type { BridgeListItemProps } from \"./types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeProtocolsMapping } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useSetAtom } from \"@/core/store\";\nimport { protocolNameAtom } from \"../TradeParameters/state/bridgePreferences/protocolNameAtom\";\nimport { useSelectedBridgePrice } from \"@/hooks/swap/prices/delta/bridge/useSelectedBridgePrice\";\nimport { getAllBridgeRoutes } from \"@/hooks/swap/prices/delta/bridge/utils\";\n\nexport function useBridgeListItems({\n bridgePrice,\n prioritize = false,\n maxItems,\n}: {\n bridgePrice?: DeltaPriceV2;\n /**\n @true [recommended, selected, bestReturn, fastest, others...]\n @false [recommended, others...]\n @default false\n */\n prioritize?: boolean;\n maxItems?: number;\n}): {\n displayedBridges: BridgeListItemProps[];\n allBridges: BridgeListItemProps[];\n selectedBridge?: BridgeListItemProps;\n} {\n const { data: bridgeProtocols } = useGetBridgeProtocolsMap();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const setProtocolName = useSetAtom(protocolNameAtom);\n const selectedBridgePrice = useSelectedBridgePrice({ price: bridgePrice });\n\n if (!bridgePrice || !bridgeProtocols || !tokenTo || !selectedBridgePrice)\n return { displayedBridges: emptyArray, allBridges: emptyArray };\n\n const selectedProtocolName = selectedBridgePrice.route.bridge?.protocol;\n\n const extendBridge = (\n bridge: BridgeListItemBaseProps\n ): BridgeListItemProps => {\n const loweredProtocolName = bridge.protocolName.toLowerCase();\n\n const onClick = () => {\n setProtocolName(loweredProtocolName);\n };\n const isSelected =\n loweredProtocolName === selectedProtocolName?.toLowerCase();\n return { ...bridge, onClick, tokenFrom, tokenTo, isSelected };\n };\n\n const selectedBridge = extendBridge(\n pickBridgeProps({\n route: selectedBridgePrice.route,\n bridgeProtocols,\n })\n );\n\n const { displayedBridges, allBridges } = getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n\n return { displayedBridges, allBridges, selectedBridge };\n}\n\n// BridgeListItemProps without stateful fields\ntype BridgeListItemBaseProps = Omit<\n BridgeListItemProps,\n \"tokenFrom\" | \"tokenTo\" | \"isSelected\" | \"onClick\"\n>;\n\ntype GetDisplayedBridgesParams = {\n prioritize: boolean;\n bridgePrice: DeltaPriceV2;\n bridgeProtocols: BridgeProtocolsMapping;\n extendBridge: (bridge: BridgeListItemBaseProps) => BridgeListItemProps;\n selectedBridge: BridgeListItemProps;\n maxItems?: number;\n};\n\nfunction getDisplayedBridges({\n prioritize,\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: GetDisplayedBridgesParams) {\n if (prioritize) {\n return getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n });\n }\n\n return getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n });\n}\n\nfunction getBridgesWithPriority({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n selectedBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\">) {\n const routes = getAllBridgeRoutes(bridgePrice);\n\n const displayedBridges: BridgeListItemProps[] = [selectedBridge];\n const addedBridgesSet = new Set<string>([\n selectedBridge.protocolName.toLowerCase(),\n ]);\n\n for (const route of routes) {\n const protocol = route.bridge?.protocol;\n if (!protocol) continue;\n const loweredProtocolName = protocol.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({ route, bridgeProtocols });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesByPriority);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction getAllBridges({\n bridgePrice,\n bridgeProtocols,\n extendBridge,\n maxItems,\n}: Omit<GetDisplayedBridgesParams, \"prioritize\" | \"selectedBridge\">) {\n const routes = getAllBridgeRoutes(bridgePrice);\n\n const displayedBridges: BridgeListItemProps[] = [];\n const addedBridgesSet = new Set<string>();\n\n for (const route of routes) {\n const protocol = route.bridge?.protocol;\n if (!protocol) continue;\n const loweredProtocolName = protocol.toLowerCase();\n if (addedBridgesSet.has(loweredProtocolName)) continue;\n addedBridgesSet.add(loweredProtocolName);\n\n const bridgeProps = pickBridgeProps({ route, bridgeProtocols });\n displayedBridges.push(extendBridge(bridgeProps));\n }\n\n const sorted = displayedBridges.sort(sortBridgesRecommendedFirst);\n return {\n displayedBridges: maxItems ? sorted.slice(0, maxItems) : sorted,\n allBridges: sorted,\n };\n}\n\nfunction pickBridgeProps({\n route,\n bridgeProtocols,\n}: {\n route: DeltaRoute;\n bridgeProtocols: BridgeProtocolsMapping;\n}): BridgeListItemBaseProps {\n // bridge is null only for same-chain; callers filter those out\n const bridge = route.bridge!;\n const bridgeProtocol = bridgeProtocols[bridge.protocol.toLowerCase()];\n const tags = bridge.tags;\n\n return {\n srcUSD: route.origin.input.amountUSD,\n destUSD: route.destination.output.amountUSD,\n srcAmount: route.origin.input.amount,\n destAmount: route.destination.output.amount,\n protocolDisplayName: bridgeProtocol?.displayName,\n protocolIcon: bridgeProtocol?.icon,\n protocolSelector: bridge.contractParams.protocolSelector,\n protocolName: bridge.protocol,\n estimatedTimeMs: bridge.estimatedTimeMs,\n recommended: tags.includes(\"recommended\"),\n bestReturn: tags.includes(\"best-return\"),\n fastest: tags.includes(\"fastest\"),\n };\n}\n\nfunction sortBridgesByPriority(a: BridgeListItemProps, b: BridgeListItemProps) {\n // prioritize recommended > selected > bestReturn > fastest\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n if (a.isSelected && !b.isSelected) return -1;\n if (!a.isSelected && b.isSelected) return 1;\n\n if (a.bestReturn && !b.bestReturn) return -1;\n if (!a.bestReturn && b.bestReturn) return 1;\n\n if (a.fastest && !b.fastest) return -1;\n if (!a.fastest && b.fastest) return 1;\n\n return 0;\n}\n\nfunction sortBridgesRecommendedFirst(\n a: BridgeListItemProps,\n b: BridgeListItemProps\n) {\n // prioritize recommended first\n if (a.recommended && !b.recommended) return -1;\n if (!a.recommended && b.recommended) return 1;\n\n return 0;\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WithClasses } from '../../../types/withClasses';
|
|
2
|
-
import {
|
|
2
|
+
import { DeltaPriceV2 } from '@velora-dex/sdk';
|
|
3
3
|
type BridgeSelectorExpandableProps = {
|
|
4
|
-
bridgePrice:
|
|
4
|
+
bridgePrice: DeltaPriceV2;
|
|
5
5
|
} & WithClasses<"root">;
|
|
6
6
|
export declare const BridgeSelectorExpandable: ({ classes, bridgePrice, }: BridgeSelectorExpandableProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeSelectorExpandable.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"BridgeSelectorExpandable.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,KAAK,6BAA6B,GAAG;IACnC,WAAW,EAAE,YAAY,CAAC;CAC3B,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AASxB,eAAO,MAAM,wBAAwB,GAAI,2BAGtC,6BAA6B,4CAuD/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeSelectorExpandable.js","names":["Accordion","AccordionContent","AccordionItem","AccordionTrigger","WithClasses","
|
|
1
|
+
{"version":3,"file":"BridgeSelectorExpandable.js","names":["Accordion","AccordionContent","AccordionItem","AccordionTrigger","WithClasses","DeltaPriceV2","BridgeSticker","useBridgeListItems","BridgesList","useSetScreen","BridgeSelectorExpandableProps","bridgePrice","maxItems","accordionTriggerClasses","root","children","const","BridgeSelectorExpandable","t0","$","_c","classes","t1","prioritize","displayedBridges","allBridges","selectedBridge","showCompareQuotesScreen","selectedBridgeName","protocolDisplayName","selectedBridgeIcon","protocolIcon","t2","t3","Symbol","for","t4","t5","t6","t7","fastest","bestReturn","t8","t9","length","t10","t11"],"sources":["../../../../src/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.tsx"],"sourcesContent":["import {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport type { DeltaPriceV2 } from \"@velora-dex/sdk\";\nimport { BridgeSticker } from \"../BridgeList/BridgeListItem\";\nimport { useBridgeListItems } from \"../BridgeList/hooks\";\nimport { BridgesList } from \"../BridgeList/BridgesList\";\nimport { useSetScreen } from \"@/core/screen/state/hooks/useSetScreen\";\n\ntype BridgeSelectorExpandableProps = {\n bridgePrice: DeltaPriceV2;\n} & WithClasses<\"root\">;\n\nconst maxItems = 2;\n\nconst accordionTriggerClasses = {\n root: \"truncate\",\n children: \"truncate\",\n} as const;\n\nexport const BridgeSelectorExpandable = ({\n classes,\n bridgePrice,\n}: BridgeSelectorExpandableProps) => {\n const { displayedBridges, allBridges, selectedBridge } = useBridgeListItems({\n bridgePrice,\n prioritize: true,\n maxItems,\n });\n const { showCompareQuotesScreen } = useSetScreen();\n\n const selectedBridgeName = selectedBridge?.protocolDisplayName || \"Unknown\";\n const selectedBridgeIcon = selectedBridge?.protocolIcon;\n\n return (\n <Accordion\n type=\"single\"\n collapsible\n defaultValue=\"item-1\" // Open by default\n className={classes?.root}\n >\n <AccordionItem value=\"item-1\">\n <AccordionTrigger\n className=\"min-w-0\" // to allow truncation of children\n classes={accordionTriggerClasses}\n >\n <div className=\"font-inter flex items-center justify-between gap-2\">\n <div>Crosschain Bridge</div>\n <div className=\"flex items-center gap-2\">\n <div className=\"flex items-center gap-1\">\n {selectedBridgeIcon && (\n <img\n src={selectedBridgeIcon}\n alt={selectedBridgeName}\n className=\"size-4\"\n />\n )}\n <span className=\"truncate\">{selectedBridgeName}</span>\n </div>\n {selectedBridge && (\n <BridgeSticker\n fastest={selectedBridge.fastest}\n bestReturn={selectedBridge.bestReturn}\n />\n )}\n </div>\n </div>\n </AccordionTrigger>\n <AccordionContent className=\"pb-2\">\n <BridgesList\n bridges={displayedBridges}\n totalLength={allBridges.length}\n onViewAllClick={showCompareQuotesScreen}\n />\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n"],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@ import { SubmitDeltaOrderResult } from '../../../hooks/swap/tradeFlow/useDeltaFl
|
|
|
2
2
|
import { MinTradeOverviewProps, TradeOverviewProps } from './TradeOverview';
|
|
3
3
|
import { DeltaOrderStepKey } from './steps';
|
|
4
4
|
import { DeltaSwapFlowType } from '../../../hooks/swap/tradeFlow/common/types';
|
|
5
|
-
import {
|
|
5
|
+
import { DeltaPriceV2 } from '@velora-dex/sdk';
|
|
6
6
|
type DeltaOrderTradeOverviewProps = Pick<TradeOverviewProps<DeltaOrderStepKey, SubmitDeltaOrderResult, DeltaSwapFlowType>, "fromToken" | "toToken" | "fromAmount" | "toAmount" | "onDismiss" | "onHelp" | "onCancelFlow" | "onCancelOrder" | "onResubmit" | "onRestartFlow" | "isFlowCancellable" | "explorerLink" | "activeStep" | "orderCancellationStep" | "result" | "error" | "erroredStep" | "tradeFlowType" | "swapSide">;
|
|
7
7
|
export declare function DeltaOrderTradeOverview({ fromToken, toToken, fromAmount, toAmount, swapSide, onDismiss, onHelp, onCancelFlow, onCancelOrder, onResubmit, onRestartFlow, activeStep, orderCancellationStep, isFlowCancellable, explorerLink, result, error, erroredStep, tradeFlowType, }: DeltaOrderTradeOverviewProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export type DeltaOrderTradeOverviewFlowProps = {
|
|
9
9
|
orderProps: MinTradeOverviewProps;
|
|
10
|
-
deltaPrice:
|
|
10
|
+
deltaPrice: DeltaPriceV2;
|
|
11
11
|
onClose?: () => void;
|
|
12
12
|
};
|
|
13
13
|
export declare const DeltaOrderTradeOverviewScreen: (props: DeltaOrderTradeOverviewFlowProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaOrderTradeOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/DeltaOrderTradeOverview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"DeltaOrderTradeOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/DeltaOrderTradeOverview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AASpD,KAAK,4BAA4B,GAAG,IAAI,CACtC,kBAAkB,CAChB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,CAClB,EACC,WAAW,GACX,SAAS,GACT,YAAY,GACZ,UAAU,GACV,WAAW,GACX,QAAQ,GACR,cAAc,GACd,eAAe,GACf,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,uBAAuB,GACvB,QAAQ,GACR,OAAO,GACP,aAAa,GACb,eAAe,GACf,UAAU,CACb,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,WAAW,EACX,aAAa,GACd,EAAE,4BAA4B,2CAyB9B;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,qBAAqB,CAAC;IAClC,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AA6GF,eAAO,MAAM,6BAA6B,GACxC,OAAO,gCAAgC,4CAIxC,CAAC"}
|
|
@@ -55,8 +55,8 @@ function p(n) {
|
|
|
55
55
|
} : void 0, a[7] = I, a[8] = L);
|
|
56
56
|
let R = L, z;
|
|
57
57
|
a[9] === k ? z = a[10] : (z = k ? {
|
|
58
|
-
srcAmount: k.
|
|
59
|
-
destAmount: k.
|
|
58
|
+
srcAmount: k.route.origin.input.amount,
|
|
59
|
+
destAmount: k.route.destination.output.amount,
|
|
60
60
|
swapSide: e(k)
|
|
61
61
|
} : void 0, a[9] = k, a[10] = z);
|
|
62
62
|
let B = z, V;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaOrderTradeOverview.js","names":["SubmitDeltaOrderResult","TradeOverview","MinTradeOverviewProps","TradeOverviewProps","DeltaOrderSteps","DeltaOrderStepKey","DeltaSwapFlowType","useDeltaSwapStep","BridgePrice","DeltaPrice","handleTxSent","addDeltaOrderToast","useCurrentSwapPrice","useSwapAmountsWithSlippage","getSwapSideFromDeltaPrice","useRunOnMount","getUnifiedDeltaOrderData","DeltaOrderTradeOverviewProps","Pick","DeltaOrderTradeOverview","t0","$","_c","fromToken","toToken","fromAmount","toAmount","swapSide","onDismiss","onHelp","onCancelFlow","onCancelOrder","onResubmit","onRestartFlow","activeStep","orderCancellationStep","isFlowCancellable","explorerLink","result","error","erroredStep","tradeFlowType","t1","DeltaOrderTradeOverviewFlowProps","orderProps","deltaPrice","onClose","DeltaOrderTradeOverviewFlow","step","startDeltaSwap","cancelDeltaOrder","cancelFlow","retryFlow","goToBeforeSwap","isNonFlowStep","isOrderCancellable","reset","usedPrice","submittedDeltaOrder","t2","onTxSent","onOrderSent","t3","undefined","orderData","t4","srcAmount","destAmount","submittedSwapWei","t5","receivedDestAmount","usedPriceWei","t6","t7","formDataUnit","price","amountsAndSide","t8","t9","DeltaOrderTradeOverviewScreen","props"],"sources":["../../../../src/components/widget/TradeOverview/DeltaOrderTradeOverview.tsx"],"sourcesContent":["import type { SubmitDeltaOrderResult } from \"@/hooks/swap/tradeFlow/useDeltaFlow\";\nimport {\n TradeOverview,\n type MinTradeOverviewProps,\n type TradeOverviewProps,\n} from \"./TradeOverview\";\nimport { DeltaOrderSteps, type DeltaOrderStepKey } from \"./steps\";\nimport type { DeltaSwapFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useDeltaSwapStep } from \"@/hooks/swap/tradeFlow/useDeltaSwapStep\";\nimport type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport { addDeltaOrderToast } from \"@/lib/utils/toasts\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useSwapAmountsWithSlippage } from \"./utils/useSwapAmountsWithSlippage\";\nimport { getSwapSideFromDeltaPrice } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useRunOnMount } from \"@/core/screen/hooks/useRunOnMount\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype DeltaOrderTradeOverviewProps = Pick<\n TradeOverviewProps<\n DeltaOrderStepKey,\n SubmitDeltaOrderResult,\n DeltaSwapFlowType\n >,\n | \"fromToken\"\n | \"toToken\"\n | \"fromAmount\"\n | \"toAmount\"\n | \"onDismiss\"\n | \"onHelp\"\n | \"onCancelFlow\"\n | \"onCancelOrder\"\n | \"onResubmit\"\n | \"onRestartFlow\"\n | \"isFlowCancellable\"\n | \"explorerLink\"\n | \"activeStep\"\n | \"orderCancellationStep\"\n | \"result\"\n | \"error\"\n | \"erroredStep\"\n | \"tradeFlowType\"\n | \"swapSide\"\n>;\n\nexport function DeltaOrderTradeOverview({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n onDismiss,\n onHelp,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n activeStep,\n orderCancellationStep,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: DeltaOrderTradeOverviewProps) {\n return (\n <TradeOverview<DeltaOrderStepKey, SubmitDeltaOrderResult, DeltaSwapFlowType>\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n steps={DeltaOrderSteps}\n activeStep={activeStep}\n orderCancellationStep={orderCancellationStep}\n onDismiss={onDismiss}\n onHelp={onHelp}\n onCancelFlow={onCancelFlow}\n onCancelOrder={onCancelOrder}\n onResubmit={onResubmit}\n onRestartFlow={onRestartFlow}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport type DeltaOrderTradeOverviewFlowProps = {\n orderProps: MinTradeOverviewProps;\n deltaPrice: DeltaPrice | BridgePrice;\n onClose?: () => void;\n};\n\nfunction DeltaOrderTradeOverviewFlow({\n orderProps,\n deltaPrice,\n onClose,\n}: DeltaOrderTradeOverviewFlowProps) {\n const {\n step,\n orderCancellationStep,\n startDeltaSwap,\n cancelDeltaOrder,\n cancelFlow,\n retryFlow,\n goToBeforeSwap,\n isNonFlowStep,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n explorerLink,\n result,\n usedPrice,\n submittedDeltaOrder,\n error,\n erroredStep,\n tradeFlowType,\n } = useDeltaSwapStep({\n deltaPrice,\n });\n\n // avoid multiple instances of transaction submitted at once due to unstable fn ref\n useRunOnMount(() => {\n if (isNonFlowStep) {\n // don't start the flow if we're in a non-flow step\n return;\n }\n startDeltaSwap({\n onTxSent: handleTxSent,\n onOrderSent: addDeltaOrderToast,\n });\n });\n\n const orderData = submittedDeltaOrder\n ? getUnifiedDeltaOrderData(submittedDeltaOrder)\n : undefined;\n\n const submittedSwapWei = orderData\n ? {\n srcAmount: orderData.srcAmount,\n destAmount: orderData.destAmount,\n swapSide: orderData.swapSide,\n }\n : undefined;\n\n const usedPriceWei = usedPrice\n ? {\n srcAmount: usedPrice.srcAmount,\n destAmount: usedPrice.receivedDestAmount,\n swapSide: getSwapSideFromDeltaPrice(usedPrice),\n }\n : undefined;\n\n const amountsAndSide = useSwapAmountsWithSlippage({\n submittedSwapWei,\n usedPriceWei,\n formDataUnit: {\n srcAmount: orderProps.fromAmount,\n destAmount: orderProps.toAmount,\n swapSide: orderProps.swapSide,\n },\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n price: deltaPrice,\n });\n\n const onDismiss = () => {\n onClose?.();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelDeltaOrder : undefined;\n\n return (\n <DeltaOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={amountsAndSide.srcAmount}\n toAmount={amountsAndSide.destAmount}\n swapSide={amountsAndSide.swapSide}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onCancelOrder={onCancelOrder}\n onRestartFlow={retryFlow}\n onResubmit={goToBeforeSwap}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport const DeltaOrderTradeOverviewScreen = (\n props: DeltaOrderTradeOverviewFlowProps\n) => {\n useCurrentSwapPrice(); // keep prices updated while in the flow\n return <DeltaOrderTradeOverviewFlow {...props} />;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DeltaOrderTradeOverview.js","names":["SubmitDeltaOrderResult","TradeOverview","MinTradeOverviewProps","TradeOverviewProps","DeltaOrderSteps","DeltaOrderStepKey","DeltaSwapFlowType","useDeltaSwapStep","DeltaPriceV2","handleTxSent","addDeltaOrderToast","useCurrentSwapPrice","useSwapAmountsWithSlippage","getSwapSideFromDeltaPrice","useRunOnMount","getUnifiedDeltaOrderData","DeltaOrderTradeOverviewProps","Pick","DeltaOrderTradeOverview","t0","$","_c","fromToken","toToken","fromAmount","toAmount","swapSide","onDismiss","onHelp","onCancelFlow","onCancelOrder","onResubmit","onRestartFlow","activeStep","orderCancellationStep","isFlowCancellable","explorerLink","result","error","erroredStep","tradeFlowType","t1","DeltaOrderTradeOverviewFlowProps","orderProps","deltaPrice","onClose","DeltaOrderTradeOverviewFlow","step","startDeltaSwap","cancelDeltaOrder","cancelFlow","retryFlow","goToBeforeSwap","isNonFlowStep","isOrderCancellable","reset","usedPrice","submittedDeltaOrder","t2","onTxSent","onOrderSent","t3","undefined","orderData","t4","srcAmount","destAmount","submittedSwapWei","t5","route","origin","input","amount","destination","output","usedPriceWei","t6","t7","formDataUnit","price","amountsAndSide","t8","t9","DeltaOrderTradeOverviewScreen","props"],"sources":["../../../../src/components/widget/TradeOverview/DeltaOrderTradeOverview.tsx"],"sourcesContent":["import type { SubmitDeltaOrderResult } from \"@/hooks/swap/tradeFlow/useDeltaFlow\";\nimport {\n TradeOverview,\n type MinTradeOverviewProps,\n type TradeOverviewProps,\n} from \"./TradeOverview\";\nimport { DeltaOrderSteps, type DeltaOrderStepKey } from \"./steps\";\nimport type { DeltaSwapFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useDeltaSwapStep } from \"@/hooks/swap/tradeFlow/useDeltaSwapStep\";\nimport type { DeltaPriceV2 } from \"@velora-dex/sdk\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport { addDeltaOrderToast } from \"@/lib/utils/toasts\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useSwapAmountsWithSlippage } from \"./utils/useSwapAmountsWithSlippage\";\nimport { getSwapSideFromDeltaPrice } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useRunOnMount } from \"@/core/screen/hooks/useRunOnMount\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype DeltaOrderTradeOverviewProps = Pick<\n TradeOverviewProps<\n DeltaOrderStepKey,\n SubmitDeltaOrderResult,\n DeltaSwapFlowType\n >,\n | \"fromToken\"\n | \"toToken\"\n | \"fromAmount\"\n | \"toAmount\"\n | \"onDismiss\"\n | \"onHelp\"\n | \"onCancelFlow\"\n | \"onCancelOrder\"\n | \"onResubmit\"\n | \"onRestartFlow\"\n | \"isFlowCancellable\"\n | \"explorerLink\"\n | \"activeStep\"\n | \"orderCancellationStep\"\n | \"result\"\n | \"error\"\n | \"erroredStep\"\n | \"tradeFlowType\"\n | \"swapSide\"\n>;\n\nexport function DeltaOrderTradeOverview({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n onDismiss,\n onHelp,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n activeStep,\n orderCancellationStep,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: DeltaOrderTradeOverviewProps) {\n return (\n <TradeOverview<DeltaOrderStepKey, SubmitDeltaOrderResult, DeltaSwapFlowType>\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n steps={DeltaOrderSteps}\n activeStep={activeStep}\n orderCancellationStep={orderCancellationStep}\n onDismiss={onDismiss}\n onHelp={onHelp}\n onCancelFlow={onCancelFlow}\n onCancelOrder={onCancelOrder}\n onResubmit={onResubmit}\n onRestartFlow={onRestartFlow}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport type DeltaOrderTradeOverviewFlowProps = {\n orderProps: MinTradeOverviewProps;\n deltaPrice: DeltaPriceV2;\n onClose?: () => void;\n};\n\nfunction DeltaOrderTradeOverviewFlow({\n orderProps,\n deltaPrice,\n onClose,\n}: DeltaOrderTradeOverviewFlowProps) {\n const {\n step,\n orderCancellationStep,\n startDeltaSwap,\n cancelDeltaOrder,\n cancelFlow,\n retryFlow,\n goToBeforeSwap,\n isNonFlowStep,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n explorerLink,\n result,\n usedPrice,\n submittedDeltaOrder,\n error,\n erroredStep,\n tradeFlowType,\n } = useDeltaSwapStep({\n deltaPrice,\n });\n\n // avoid multiple instances of transaction submitted at once due to unstable fn ref\n useRunOnMount(() => {\n if (isNonFlowStep) {\n // don't start the flow if we're in a non-flow step\n return;\n }\n startDeltaSwap({\n onTxSent: handleTxSent,\n onOrderSent: addDeltaOrderToast,\n });\n });\n\n const orderData = submittedDeltaOrder\n ? getUnifiedDeltaOrderData(submittedDeltaOrder)\n : undefined;\n\n const submittedSwapWei = orderData\n ? {\n srcAmount: orderData.srcAmount,\n destAmount: orderData.destAmount,\n swapSide: orderData.swapSide,\n }\n : undefined;\n\n const usedPriceWei = usedPrice\n ? {\n srcAmount: usedPrice.route.origin.input.amount,\n destAmount: usedPrice.route.destination.output.amount,\n swapSide: getSwapSideFromDeltaPrice(usedPrice),\n }\n : undefined;\n\n const amountsAndSide = useSwapAmountsWithSlippage({\n submittedSwapWei,\n usedPriceWei,\n formDataUnit: {\n srcAmount: orderProps.fromAmount,\n destAmount: orderProps.toAmount,\n swapSide: orderProps.swapSide,\n },\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n price: deltaPrice,\n });\n\n const onDismiss = () => {\n onClose?.();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelDeltaOrder : undefined;\n\n return (\n <DeltaOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={amountsAndSide.srcAmount}\n toAmount={amountsAndSide.destAmount}\n swapSide={amountsAndSide.swapSide}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onCancelOrder={onCancelOrder}\n onRestartFlow={retryFlow}\n onResubmit={goToBeforeSwap}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport const DeltaOrderTradeOverviewScreen = (\n props: DeltaOrderTradeOverviewFlowProps\n) => {\n useCurrentSwapPrice(); // keep prices updated while in the flow\n return <DeltaOrderTradeOverviewFlow {...props} />;\n};\n"],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@ import { SubmitTwapOrderResult } from '../../../hooks/swap/tradeFlow/useTwapFlow
|
|
|
2
2
|
import { MinTradeOverviewProps, TradeOverviewProps } from './TradeOverview';
|
|
3
3
|
import { TwapOrderStepKey } from './steps';
|
|
4
4
|
import { TwapOrderFlowType } from '../../../hooks/swap/tradeFlow/common/types';
|
|
5
|
-
import {
|
|
5
|
+
import { DeltaPriceV2 } from '@velora-dex/sdk';
|
|
6
6
|
type TwapOrderTradeOverviewProps = Pick<TradeOverviewProps<TwapOrderStepKey, SubmitTwapOrderResult, TwapOrderFlowType>, "fromToken" | "toToken" | "fromAmount" | "toAmount" | "onDismiss" | "onHelp" | "onCancelFlow" | "onCancelOrder" | "onResubmit" | "onRestartFlow" | "isFlowCancellable" | "explorerLink" | "activeStep" | "orderCancellationStep" | "result" | "error" | "erroredStep" | "tradeFlowType" | "swapSide">;
|
|
7
7
|
export declare function TwapOrderTradeOverview({ fromToken, toToken, fromAmount, toAmount, swapSide, onDismiss, onHelp, onCancelFlow, onCancelOrder, onResubmit, onRestartFlow, activeStep, orderCancellationStep, isFlowCancellable, explorerLink, result, error, erroredStep, tradeFlowType, }: TwapOrderTradeOverviewProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export type TwapOrderTradeOverviewFlowProps = {
|
|
9
9
|
orderProps: MinTradeOverviewProps;
|
|
10
|
-
twapPrice:
|
|
10
|
+
twapPrice: DeltaPriceV2;
|
|
11
11
|
onClose?: () => void;
|
|
12
12
|
};
|
|
13
13
|
export declare const TwapOrderTradeOverviewScreen: (props: TwapOrderTradeOverviewFlowProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwapOrderTradeOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/TwapOrderTradeOverview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TwapOrderTradeOverview.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/TwapOrderTradeOverview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUpD,KAAK,2BAA2B,GAAG,IAAI,CACrC,kBAAkB,CAChB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,CAClB,EACC,WAAW,GACX,SAAS,GACT,YAAY,GACZ,UAAU,GACV,WAAW,GACX,QAAQ,GACR,cAAc,GACd,eAAe,GACf,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,uBAAuB,GACvB,QAAQ,GACR,OAAO,GACP,aAAa,GACb,eAAe,GACf,UAAU,CACb,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,WAAW,EACX,aAAa,GACd,EAAE,2BAA2B,2CAyB7B;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,UAAU,EAAE,qBAAqB,CAAC;IAClC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AA6GF,eAAO,MAAM,4BAA4B,GACvC,OAAO,+BAA+B,4CAIvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwapOrderTradeOverview.js","names":["SubmitTwapOrderResult","TradeOverview","MinTradeOverviewProps","TradeOverviewProps","TwapOrderSteps","TwapOrderStepKey","TwapOrderFlowType","useTwapSwapStep","BridgePrice","DeltaPrice","handleTxSent","useTwapPrices","useSwapAmountsWithSlippage","getSwapSideFromDeltaPrice","useRunOnMount","useTwapSplit","getTwapAmountsFromPrice","getUnifiedDeltaOrderData","TwapOrderTradeOverviewProps","Pick","TwapOrderTradeOverview","t0","$","_c","fromToken","toToken","fromAmount","toAmount","swapSide","onDismiss","onHelp","onCancelFlow","onCancelOrder","onResubmit","onRestartFlow","activeStep","orderCancellationStep","isFlowCancellable","explorerLink","result","error","erroredStep","tradeFlowType","t1","TwapOrderTradeOverviewFlowProps","orderProps","twapPrice","onClose","TwapOrderTradeOverviewFlow","numSlices","step","startTwapSwap","cancelTwapOrder","cancelFlow","retryFlow","goToBeforeSwap","isNonFlowStep","isOrderCancellable","reset","usedPrice","submittedTwapOrder","t2","onTxSent","t3","undefined","orderData","t4","srcAmount","destAmount","submittedSwapWei","t5","price","usedPriceWei","t6","t7","formDataUnit","amountsAndSide","t8","t9","TwapOrderTradeOverviewScreen","props"],"sources":["../../../../src/components/widget/TradeOverview/TwapOrderTradeOverview.tsx"],"sourcesContent":["import type { SubmitTwapOrderResult } from \"@/hooks/swap/tradeFlow/useTwapFlow\";\nimport {\n TradeOverview,\n type MinTradeOverviewProps,\n type TradeOverviewProps,\n} from \"./TradeOverview\";\nimport { TwapOrderSteps, type TwapOrderStepKey } from \"./steps\";\nimport type { TwapOrderFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useTwapSwapStep } from \"@/hooks/swap/tradeFlow/useTwapSwapStep\";\nimport type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport { useTwapPrices } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapAmountsWithSlippage } from \"./utils/useSwapAmountsWithSlippage\";\nimport { getSwapSideFromDeltaPrice } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useRunOnMount } from \"@/core/screen/hooks/useRunOnMount\";\nimport { useTwapSplit } from \"@/core/twap/state/twapParamsAtom\";\nimport { getTwapAmountsFromPrice } from \"@/lib/utils/twap\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype TwapOrderTradeOverviewProps = Pick<\n TradeOverviewProps<\n TwapOrderStepKey,\n SubmitTwapOrderResult,\n TwapOrderFlowType\n >,\n | \"fromToken\"\n | \"toToken\"\n | \"fromAmount\"\n | \"toAmount\"\n | \"onDismiss\"\n | \"onHelp\"\n | \"onCancelFlow\"\n | \"onCancelOrder\"\n | \"onResubmit\"\n | \"onRestartFlow\"\n | \"isFlowCancellable\"\n | \"explorerLink\"\n | \"activeStep\"\n | \"orderCancellationStep\"\n | \"result\"\n | \"error\"\n | \"erroredStep\"\n | \"tradeFlowType\"\n | \"swapSide\"\n>;\n\nexport function TwapOrderTradeOverview({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n onDismiss,\n onHelp,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n activeStep,\n orderCancellationStep,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: TwapOrderTradeOverviewProps) {\n return (\n <TradeOverview<TwapOrderStepKey, SubmitTwapOrderResult, TwapOrderFlowType>\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n steps={TwapOrderSteps}\n activeStep={activeStep}\n orderCancellationStep={orderCancellationStep}\n onDismiss={onDismiss}\n onHelp={onHelp}\n onCancelFlow={onCancelFlow}\n onCancelOrder={onCancelOrder}\n onResubmit={onResubmit}\n onRestartFlow={onRestartFlow}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport type TwapOrderTradeOverviewFlowProps = {\n orderProps: MinTradeOverviewProps;\n twapPrice: DeltaPrice | BridgePrice;\n onClose?: () => void;\n};\n\nfunction TwapOrderTradeOverviewFlow({\n orderProps,\n twapPrice,\n onClose,\n}: TwapOrderTradeOverviewFlowProps) {\n const numSlices = useTwapSplit();\n\n const {\n step,\n orderCancellationStep,\n startTwapSwap,\n cancelTwapOrder,\n cancelFlow,\n retryFlow,\n goToBeforeSwap,\n isNonFlowStep,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n explorerLink,\n result,\n usedPrice,\n submittedTwapOrder,\n error,\n erroredStep,\n tradeFlowType,\n } = useTwapSwapStep({\n twapPrice,\n });\n\n // avoid multiple instances of transaction submitted at once due to unstable fn ref\n useRunOnMount(() => {\n if (isNonFlowStep) {\n // don't start the flow if we're in a non-flow step\n return;\n }\n startTwapSwap({\n onTxSent: handleTxSent,\n });\n });\n\n const orderData = submittedTwapOrder\n ? getUnifiedDeltaOrderData(submittedTwapOrder)\n : undefined;\n\n const submittedSwapWei = orderData\n ? {\n srcAmount: orderData.srcAmount,\n destAmount: orderData.destAmount,\n swapSide: orderData.swapSide,\n }\n : undefined;\n\n const usedPriceWei = usedPrice\n ? {\n ...getTwapAmountsFromPrice({ price: usedPrice, numSlices }),\n swapSide: getSwapSideFromDeltaPrice(usedPrice),\n }\n : undefined;\n\n const amountsAndSide = useSwapAmountsWithSlippage({\n submittedSwapWei,\n usedPriceWei,\n formDataUnit: {\n srcAmount: orderProps.fromAmount,\n destAmount: orderProps.toAmount,\n swapSide: orderProps.swapSide,\n },\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n price: twapPrice,\n });\n\n const onDismiss = () => {\n onClose?.();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelTwapOrder : undefined;\n\n return (\n <TwapOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={amountsAndSide.srcAmount}\n toAmount={amountsAndSide.destAmount}\n swapSide={amountsAndSide.swapSide}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onCancelOrder={onCancelOrder}\n onRestartFlow={retryFlow}\n onResubmit={goToBeforeSwap}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport const TwapOrderTradeOverviewScreen = (\n props: TwapOrderTradeOverviewFlowProps\n) => {\n useTwapPrices(); // keep prices updated while in the flow\n return <TwapOrderTradeOverviewFlow {...props} />;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TwapOrderTradeOverview.js","names":["SubmitTwapOrderResult","TradeOverview","MinTradeOverviewProps","TradeOverviewProps","TwapOrderSteps","TwapOrderStepKey","TwapOrderFlowType","useTwapSwapStep","DeltaPriceV2","handleTxSent","useTwapPrices","useSwapAmountsWithSlippage","getSwapSideFromDeltaPrice","useRunOnMount","useTwapSplit","getTwapAmountsFromPrice","getUnifiedDeltaOrderData","TwapOrderTradeOverviewProps","Pick","TwapOrderTradeOverview","t0","$","_c","fromToken","toToken","fromAmount","toAmount","swapSide","onDismiss","onHelp","onCancelFlow","onCancelOrder","onResubmit","onRestartFlow","activeStep","orderCancellationStep","isFlowCancellable","explorerLink","result","error","erroredStep","tradeFlowType","t1","TwapOrderTradeOverviewFlowProps","orderProps","twapPrice","onClose","TwapOrderTradeOverviewFlow","numSlices","step","startTwapSwap","cancelTwapOrder","cancelFlow","retryFlow","goToBeforeSwap","isNonFlowStep","isOrderCancellable","reset","usedPrice","submittedTwapOrder","t2","onTxSent","t3","undefined","orderData","t4","srcAmount","destAmount","submittedSwapWei","t5","price","usedPriceWei","t6","t7","formDataUnit","amountsAndSide","t8","t9","TwapOrderTradeOverviewScreen","props"],"sources":["../../../../src/components/widget/TradeOverview/TwapOrderTradeOverview.tsx"],"sourcesContent":["import type { SubmitTwapOrderResult } from \"@/hooks/swap/tradeFlow/useTwapFlow\";\nimport {\n TradeOverview,\n type MinTradeOverviewProps,\n type TradeOverviewProps,\n} from \"./TradeOverview\";\nimport { TwapOrderSteps, type TwapOrderStepKey } from \"./steps\";\nimport type { TwapOrderFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { useTwapSwapStep } from \"@/hooks/swap/tradeFlow/useTwapSwapStep\";\nimport type { DeltaPriceV2 } from \"@velora-dex/sdk\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport { useTwapPrices } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapAmountsWithSlippage } from \"./utils/useSwapAmountsWithSlippage\";\nimport { getSwapSideFromDeltaPrice } from \"@/hooks/swap/prices/delta/orders/utils\";\nimport { useRunOnMount } from \"@/core/screen/hooks/useRunOnMount\";\nimport { useTwapSplit } from \"@/core/twap/state/twapParamsAtom\";\nimport { getTwapAmountsFromPrice } from \"@/lib/utils/twap\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype TwapOrderTradeOverviewProps = Pick<\n TradeOverviewProps<\n TwapOrderStepKey,\n SubmitTwapOrderResult,\n TwapOrderFlowType\n >,\n | \"fromToken\"\n | \"toToken\"\n | \"fromAmount\"\n | \"toAmount\"\n | \"onDismiss\"\n | \"onHelp\"\n | \"onCancelFlow\"\n | \"onCancelOrder\"\n | \"onResubmit\"\n | \"onRestartFlow\"\n | \"isFlowCancellable\"\n | \"explorerLink\"\n | \"activeStep\"\n | \"orderCancellationStep\"\n | \"result\"\n | \"error\"\n | \"erroredStep\"\n | \"tradeFlowType\"\n | \"swapSide\"\n>;\n\nexport function TwapOrderTradeOverview({\n fromToken,\n toToken,\n fromAmount,\n toAmount,\n swapSide,\n onDismiss,\n onHelp,\n onCancelFlow,\n onCancelOrder,\n onResubmit,\n onRestartFlow,\n activeStep,\n orderCancellationStep,\n isFlowCancellable,\n explorerLink,\n result,\n error,\n erroredStep,\n tradeFlowType,\n}: TwapOrderTradeOverviewProps) {\n return (\n <TradeOverview<TwapOrderStepKey, SubmitTwapOrderResult, TwapOrderFlowType>\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n swapSide={swapSide}\n steps={TwapOrderSteps}\n activeStep={activeStep}\n orderCancellationStep={orderCancellationStep}\n onDismiss={onDismiss}\n onHelp={onHelp}\n onCancelFlow={onCancelFlow}\n onCancelOrder={onCancelOrder}\n onResubmit={onResubmit}\n onRestartFlow={onRestartFlow}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport type TwapOrderTradeOverviewFlowProps = {\n orderProps: MinTradeOverviewProps;\n twapPrice: DeltaPriceV2;\n onClose?: () => void;\n};\n\nfunction TwapOrderTradeOverviewFlow({\n orderProps,\n twapPrice,\n onClose,\n}: TwapOrderTradeOverviewFlowProps) {\n const numSlices = useTwapSplit();\n\n const {\n step,\n orderCancellationStep,\n startTwapSwap,\n cancelTwapOrder,\n cancelFlow,\n retryFlow,\n goToBeforeSwap,\n isNonFlowStep,\n isFlowCancellable,\n isOrderCancellable,\n reset,\n explorerLink,\n result,\n usedPrice,\n submittedTwapOrder,\n error,\n erroredStep,\n tradeFlowType,\n } = useTwapSwapStep({\n twapPrice,\n });\n\n // avoid multiple instances of transaction submitted at once due to unstable fn ref\n useRunOnMount(() => {\n if (isNonFlowStep) {\n // don't start the flow if we're in a non-flow step\n return;\n }\n startTwapSwap({\n onTxSent: handleTxSent,\n });\n });\n\n const orderData = submittedTwapOrder\n ? getUnifiedDeltaOrderData(submittedTwapOrder)\n : undefined;\n\n const submittedSwapWei = orderData\n ? {\n srcAmount: orderData.srcAmount,\n destAmount: orderData.destAmount,\n swapSide: orderData.swapSide,\n }\n : undefined;\n\n const usedPriceWei = usedPrice\n ? {\n ...getTwapAmountsFromPrice({ price: usedPrice, numSlices }),\n swapSide: getSwapSideFromDeltaPrice(usedPrice),\n }\n : undefined;\n\n const amountsAndSide = useSwapAmountsWithSlippage({\n submittedSwapWei,\n usedPriceWei,\n formDataUnit: {\n srcAmount: orderProps.fromAmount,\n destAmount: orderProps.toAmount,\n swapSide: orderProps.swapSide,\n },\n fromToken: orderProps.fromToken,\n toToken: orderProps.toToken,\n price: twapPrice,\n });\n\n const onDismiss = () => {\n onClose?.();\n // reset at this point helps to:\n // 1. reset all mutations\n // 2. reset trackedPrice\n reset();\n };\n\n const onCancelOrder = isOrderCancellable ? cancelTwapOrder : undefined;\n\n return (\n <TwapOrderTradeOverview\n fromToken={orderProps.fromToken}\n toToken={orderProps.toToken}\n fromAmount={amountsAndSide.srcAmount}\n toAmount={amountsAndSide.destAmount}\n swapSide={amountsAndSide.swapSide}\n onDismiss={onDismiss}\n onCancelFlow={cancelFlow}\n onCancelOrder={onCancelOrder}\n onRestartFlow={retryFlow}\n onResubmit={goToBeforeSwap}\n activeStep={step}\n orderCancellationStep={orderCancellationStep}\n isFlowCancellable={isFlowCancellable}\n explorerLink={explorerLink}\n result={result}\n error={error}\n erroredStep={erroredStep}\n tradeFlowType={tradeFlowType}\n />\n );\n}\n\nexport const TwapOrderTradeOverviewScreen = (\n props: TwapOrderTradeOverviewFlowProps\n) => {\n useTwapPrices(); // keep prices updated while in the flow\n return <TwapOrderTradeOverviewFlow {...props} />;\n};\n"],"mappings":"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"}
|
|
@@ -2,7 +2,10 @@ import { DeltaOrMarketPrice } from '../../../../hooks/swap/prices/types';
|
|
|
2
2
|
import { Token } from '../../../../tokens/state/types';
|
|
3
3
|
import { SwapSideUnion } from '@velora-dex/sdk';
|
|
4
4
|
import { MarkOptional } from 'ts-essentials';
|
|
5
|
-
type SwapAmounts =
|
|
5
|
+
type SwapAmounts = {
|
|
6
|
+
srcAmount: string;
|
|
7
|
+
destAmount: string;
|
|
8
|
+
};
|
|
6
9
|
type UseSwapAmountsWithSlippageInput = {
|
|
7
10
|
submittedSwapWei?: SwapSideAmounts;
|
|
8
11
|
usedPriceWei?: SwapSideAmounts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapAmountsWithSlippage.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,KAAK,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"useSwapAmountsWithSlippage.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,KAAK,WAAW,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,KAAK,+BAA+B,GAAG;IACrC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACxD,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACnC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAC1C,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,KAAK,GACN,EAAE,+BAA+B,GAAG,eAAe,CA4EnD"}
|
|
@@ -7,7 +7,7 @@ import { formatUnits as a, parseUnits as o } from "viem";
|
|
|
7
7
|
//#region src/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.ts
|
|
8
8
|
function s(s) {
|
|
9
9
|
let c = i(15), { submittedSwapWei: l, usedPriceWei: u, formDataUnit: d, fromToken: f, toToken: p, price: m } = s, { resolvedSlippage: h } = n("swap"), g = t(), _ = l?.swapSide || u?.swapSide || d.swapSide || g, v;
|
|
10
|
-
c[0] === m ? v = c[1] : (v = m && e(m) && m.
|
|
10
|
+
c[0] === m ? v = c[1] : (v = m && e(m) && m.inputToken.address.toLowerCase() === m.outputToken.address.toLowerCase(), c[0] = m, c[1] = v);
|
|
11
11
|
let y = !v, b;
|
|
12
12
|
if (c[2] !== d.destAmount || c[3] !== d.srcAmount || c[4] !== f || c[5] !== h || c[6] !== y || c[7] !== l || c[8] !== _ || c[9] !== p || c[10] !== u) {
|
|
13
13
|
if (b = {
|