@velora-dex/widget 0.2.5-dev.13 → 0.2.5-dev.14
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/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +124 -69
- 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 +76 -54
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.js +122 -68
- package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +46 -26
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js +15 -24
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +56 -47
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +2 -2
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +143 -98
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +15 -11
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.js +9 -20
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +112 -57
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/motionProps.d.ts +20 -0
- package/dist/components/widget/TradeOverview/motionProps.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/motionProps.js +121 -0
- package/dist/components/widget/TradeOverview/motionProps.js.map +1 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +18 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +74 -0
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -0
- package/dist/core/across/{isCrosshcainPossible.d.ts → isCrosschainPossible.d.ts} +1 -1
- package/dist/core/across/{isCrosshcainPossible.d.ts.map → isCrosschainPossible.d.ts.map} +1 -1
- package/dist/core/across/{isCrosshcainPossible.js → isCrosschainPossible.js} +1 -1
- package/dist/core/across/{isCrosshcainPossible.js.map → isCrosschainPossible.js.map} +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -2
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -61
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/constants.d.ts +1 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +2 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +4 -6
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +18 -3
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -6
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +4 -4
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +25 -10
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js +26 -16
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/screen/state/screenAtom.d.ts.map +1 -1
- package/dist/core/screen/state/screenAtom.js +5 -0
- package/dist/core/screen/state/screenAtom.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +2 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +3 -3
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js +4 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +8 -3
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +16 -14
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +11 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +10 -5
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +12 -10
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +29 -4
- package/package.json +3 -2
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { d as distExports } from '../../../_virtual/index.js';
|
|
3
|
+
import { motion, AnimatePresence } from 'motion/react';
|
|
3
4
|
import { Step } from './Step/Step.js';
|
|
4
5
|
import { prepareStepProps } from './Step/utils.js';
|
|
5
6
|
import { useTradeFlowContext } from './tradeFlowContext.js';
|
|
6
7
|
import { VerticalDash } from './VerticalDash.js';
|
|
8
|
+
import { stepItemProps } from './motionProps.js';
|
|
7
9
|
|
|
8
10
|
const StepperBase = (t0) => {
|
|
9
|
-
const $ = distExports.c(
|
|
11
|
+
const $ = distExports.c(16);
|
|
12
|
+
let T0;
|
|
10
13
|
let t1;
|
|
11
14
|
let t2;
|
|
12
15
|
let t3;
|
|
16
|
+
let t4;
|
|
13
17
|
if ($[0] !== t0) {
|
|
14
18
|
const {
|
|
15
19
|
steps,
|
|
@@ -18,15 +22,17 @@ const StepperBase = (t0) => {
|
|
|
18
22
|
} = t0;
|
|
19
23
|
const activeStepIndex = activeStep ? steps.findIndex((step) => step.key === activeStep.key) : -1;
|
|
20
24
|
const isActiveStepLast = activeStepIndex === steps.length - 1;
|
|
21
|
-
|
|
22
|
-
if ($[
|
|
23
|
-
|
|
24
|
-
$[
|
|
25
|
-
$[
|
|
25
|
+
t3 = "flex flex-col gap-[28px] relative bg-contrast-8 dark:bg-contrast-2";
|
|
26
|
+
if ($[6] !== isActiveStepLast) {
|
|
27
|
+
t4 = !isActiveStepLast && /* @__PURE__ */ jsx("div", { className: "absolute left-[17px] top-0 bottom-[17px] flex justify-center", children: /* @__PURE__ */ jsx(VerticalDash, {}) });
|
|
28
|
+
$[6] = isActiveStepLast;
|
|
29
|
+
$[7] = t4;
|
|
26
30
|
} else {
|
|
27
|
-
|
|
31
|
+
t4 = $[7];
|
|
28
32
|
}
|
|
29
|
-
|
|
33
|
+
T0 = AnimatePresence;
|
|
34
|
+
t1 = "popLayout";
|
|
35
|
+
t2 = steps.map((step_0, i) => {
|
|
30
36
|
const prepareStepPropsParams = {
|
|
31
37
|
currentStep: step_0,
|
|
32
38
|
activeStepIndex,
|
|
@@ -35,31 +41,45 @@ const StepperBase = (t0) => {
|
|
|
35
41
|
titleFnProps
|
|
36
42
|
};
|
|
37
43
|
const stepProps = prepareStepProps(prepareStepPropsParams);
|
|
38
|
-
return stepProps ? /* @__PURE__ */ jsx(Step, { ...stepProps }, step_0.key) : null;
|
|
44
|
+
return stepProps ? /* @__PURE__ */ jsx(motion.div, { ...stepItemProps, children: /* @__PURE__ */ jsx(Step, { ...stepProps }) }, step_0.key) : null;
|
|
39
45
|
});
|
|
40
46
|
$[0] = t0;
|
|
41
|
-
$[1] =
|
|
42
|
-
$[2] =
|
|
43
|
-
$[3] =
|
|
47
|
+
$[1] = T0;
|
|
48
|
+
$[2] = t1;
|
|
49
|
+
$[3] = t2;
|
|
50
|
+
$[4] = t3;
|
|
51
|
+
$[5] = t4;
|
|
44
52
|
} else {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
53
|
+
T0 = $[1];
|
|
54
|
+
t1 = $[2];
|
|
55
|
+
t2 = $[3];
|
|
56
|
+
t3 = $[4];
|
|
57
|
+
t4 = $[5];
|
|
48
58
|
}
|
|
49
|
-
let
|
|
50
|
-
if ($[
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
59
|
+
let t5;
|
|
60
|
+
if ($[8] !== T0 || $[9] !== t1 || $[10] !== t2) {
|
|
61
|
+
t5 = /* @__PURE__ */ jsx(T0, { mode: t1, children: t2 });
|
|
62
|
+
$[8] = T0;
|
|
63
|
+
$[9] = t1;
|
|
64
|
+
$[10] = t2;
|
|
65
|
+
$[11] = t5;
|
|
66
|
+
} else {
|
|
67
|
+
t5 = $[11];
|
|
68
|
+
}
|
|
69
|
+
let t6;
|
|
70
|
+
if ($[12] !== t3 || $[13] !== t4 || $[14] !== t5) {
|
|
71
|
+
t6 = /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: t3, children: [
|
|
72
|
+
t4,
|
|
73
|
+
t5
|
|
54
74
|
] }) });
|
|
55
|
-
$[
|
|
56
|
-
$[
|
|
57
|
-
$[
|
|
58
|
-
$[
|
|
75
|
+
$[12] = t3;
|
|
76
|
+
$[13] = t4;
|
|
77
|
+
$[14] = t5;
|
|
78
|
+
$[15] = t6;
|
|
59
79
|
} else {
|
|
60
|
-
|
|
80
|
+
t6 = $[15];
|
|
61
81
|
}
|
|
62
|
-
return
|
|
82
|
+
return t6;
|
|
63
83
|
};
|
|
64
84
|
const Stepper = () => {
|
|
65
85
|
const $ = distExports.c(7);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.js","sources":["../../../../src/components/widget/TradeOverview/Stepper.tsx"],"sourcesContent":["// import { Informative } from \"../Informative/Informative\";\nimport { Step } from \"./Step/Step\";\nimport type { ActiveStep, FlowStep } from \"./Step/types\";\nimport { prepareStepProps } from \"./Step/utils\";\nimport type { MinTradeFlowToken } from \"./TradeDetails\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { VerticalDash } from \"./VerticalDash\";\n\n// --- Stepper ---\ntype StepperProps<Key extends string = string> = {\n steps: FlowStep<Key>[];\n activeStep?: ActiveStep<Key>;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n};\n\nconst StepperBase = <Key extends string = string>({\n steps,\n activeStep,\n ...titleFnProps\n}: StepperProps<Key>) => {\n const activeStepIndex = activeStep\n ? steps.findIndex((step) => step.key === activeStep.key)\n : -1;\n\n const isActiveStepLast = activeStepIndex === steps.length - 1;\n\n return (\n <>\n <div className=\"flex flex-col gap-[28px] relative bg-contrast-8 dark:bg-contrast-2\">\n {/* Vertical line positioned absolutely */}\n {!isActiveStepLast && (\n // show vertical line only if there will be more than 1 step displayed\n <div className=\"absolute left-[17px] top-0 bottom-[17px] flex justify-center\">\n <VerticalDash />\n </div>\n )}\n {steps.map((step, i) => {\n
|
|
1
|
+
{"version":3,"file":"Stepper.js","sources":["../../../../src/components/widget/TradeOverview/Stepper.tsx"],"sourcesContent":["// import { Informative } from \"../Informative/Informative\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { Step } from \"./Step/Step\";\nimport type { ActiveStep, FlowStep } from \"./Step/types\";\nimport { prepareStepProps } from \"./Step/utils\";\nimport type { MinTradeFlowToken } from \"./TradeDetails\";\nimport { useTradeFlowContext } from \"./tradeFlowContext\";\nimport { VerticalDash } from \"./VerticalDash\";\nimport { stepItemProps } from \"./motionProps\";\n\n// --- Stepper ---\ntype StepperProps<Key extends string = string> = {\n steps: FlowStep<Key>[];\n activeStep?: ActiveStep<Key>;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n fromAmount: string;\n toAmount: string;\n};\n\nconst StepperBase = <Key extends string = string>({\n steps,\n activeStep,\n ...titleFnProps\n}: StepperProps<Key>) => {\n const activeStepIndex = activeStep\n ? steps.findIndex((step) => step.key === activeStep.key)\n : -1;\n\n const isActiveStepLast = activeStepIndex === steps.length - 1;\n\n return (\n <>\n <div className=\"flex flex-col gap-[28px] relative bg-contrast-8 dark:bg-contrast-2\">\n {/* Vertical line positioned absolutely */}\n {!isActiveStepLast && (\n // show vertical line only if there will be more than 1 step displayed\n <div className=\"absolute left-[17px] top-0 bottom-[17px] flex justify-center\">\n <VerticalDash />\n </div>\n )}\n <AnimatePresence mode=\"popLayout\">\n {steps.map((step, i) => {\n const prepareStepPropsParams = {\n currentStep: step,\n activeStepIndex,\n currentStepIndex: i,\n activeStep,\n titleFnProps,\n };\n\n const stepProps = prepareStepProps(prepareStepPropsParams);\n\n return stepProps ? (\n <motion.div key={step.key} {...stepItemProps}>\n <Step {...stepProps} />\n </motion.div>\n ) : null;\n })}\n </AnimatePresence>\n </div>\n\n {/* show StepperHint on the last step, @TODO reenable when we have conditional hints */}\n {/* {steps.length - activeStepIndex === 1 && <StepperHint />} */}\n </>\n );\n};\n\n/* const StepperHint = () => (\n <Informative\n title=\"Did you know?\"\n description=\"There may be a network issue (such as sudden gas price spike) that is delaying your order\"\n classes={{ root: \"mb-4\" }}\n />\n); */\n\nexport const Stepper = () => {\n const { fromToken, toToken, fromAmount, toAmount, steps, activeStep } =\n useTradeFlowContext();\n\n return (\n <StepperBase\n steps={steps}\n activeStep={activeStep}\n fromToken={fromToken}\n toToken={toToken}\n fromAmount={fromAmount}\n toAmount={toAmount}\n />\n );\n};\n"],"names":["StepperBase","t0","$","_c","T0","t1","t2","t3","t4","steps","activeStep","titleFnProps","activeStepIndex","findIndex","step","key","isActiveStepLast","length","AnimatePresence","map","step_0","i","prepareStepPropsParams","currentStep","currentStepIndex","stepProps","prepareStepProps","stepItemProps","t5","t6","Stepper","fromToken","toToken","fromAmount","toAmount","useTradeFlowContext"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAKzE,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,mBAAmB,kBAAkB,4CAKlE,CAAC"}
|
|
@@ -2,48 +2,39 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import { d as distExports } from '../../../../_virtual/index.js';
|
|
3
3
|
import { TradeCompletedDetails } from './TradeCompletedDetails.js';
|
|
4
4
|
import { TradeCompletedHeader } from './TradeCompleteHeader.js';
|
|
5
|
-
import { TradeDetailsDisplay } from '../TradeDetailsDisplay.js';
|
|
6
5
|
|
|
7
6
|
const TradeComplete = (t0) => {
|
|
8
|
-
const $ = distExports.c(
|
|
7
|
+
const $ = distExports.c(5);
|
|
9
8
|
const {
|
|
10
9
|
tradeFlowType
|
|
11
10
|
} = t0;
|
|
12
11
|
let t1;
|
|
13
|
-
if ($[0]
|
|
14
|
-
t1 = /* @__PURE__ */ jsx(
|
|
15
|
-
$[0] =
|
|
12
|
+
if ($[0] !== tradeFlowType) {
|
|
13
|
+
t1 = /* @__PURE__ */ jsx(TradeCompletedHeader, { tradeFlowType });
|
|
14
|
+
$[0] = tradeFlowType;
|
|
15
|
+
$[1] = t1;
|
|
16
16
|
} else {
|
|
17
|
-
t1 = $[
|
|
17
|
+
t1 = $[1];
|
|
18
18
|
}
|
|
19
19
|
let t2;
|
|
20
|
-
if ($[
|
|
21
|
-
t2 = /* @__PURE__ */ jsx(
|
|
22
|
-
$[1] = tradeFlowType;
|
|
20
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
21
|
+
t2 = /* @__PURE__ */ jsx(TradeCompletedDetails, {});
|
|
23
22
|
$[2] = t2;
|
|
24
23
|
} else {
|
|
25
24
|
t2 = $[2];
|
|
26
25
|
}
|
|
27
26
|
let t3;
|
|
28
|
-
if ($[3]
|
|
29
|
-
t3 = /* @__PURE__ */
|
|
30
|
-
$[3] = t3;
|
|
31
|
-
} else {
|
|
32
|
-
t3 = $[3];
|
|
33
|
-
}
|
|
34
|
-
let t4;
|
|
35
|
-
if ($[4] !== t2) {
|
|
36
|
-
t4 = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
27
|
+
if ($[3] !== t1) {
|
|
28
|
+
t3 = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
37
29
|
t1,
|
|
38
|
-
t2
|
|
39
|
-
t3
|
|
30
|
+
t2
|
|
40
31
|
] });
|
|
41
|
-
$[
|
|
42
|
-
$[
|
|
32
|
+
$[3] = t1;
|
|
33
|
+
$[4] = t3;
|
|
43
34
|
} else {
|
|
44
|
-
|
|
35
|
+
t3 = $[4];
|
|
45
36
|
}
|
|
46
|
-
return
|
|
37
|
+
return t3;
|
|
47
38
|
};
|
|
48
39
|
|
|
49
40
|
export { TradeComplete };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/index.tsx"],"sourcesContent":["import type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\n\nimport { TradeCompletedDetails } from \"./TradeCompletedDetails\";\nimport { TradeCompletedHeader } from \"./TradeCompleteHeader\";\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/index.tsx"],"sourcesContent":["import type { TradeFlowType } from \"@/hooks/swap/tradeFlow/common/types\";\n\nimport { TradeCompletedDetails } from \"./TradeCompletedDetails\";\nimport { TradeCompletedHeader } from \"./TradeCompleteHeader\";\n\ntype TradeCompleteProps = {\n tradeFlowType: TradeFlowType;\n};\n\nexport const TradeComplete = ({ tradeFlowType }: TradeCompleteProps) => (\n <div className=\"flex flex-col gap-4\">\n <TradeCompletedHeader tradeFlowType={tradeFlowType} />\n <TradeCompletedDetails />\n </div>\n);\n"],"names":["TradeComplete","t0","$","_c","tradeFlowType","t1","t2","Symbol","for","t3"],"mappings":";;;;;AASO,MAAMA,gBAAgBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAAH,EAAAA;AAAqC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAE,aAAAA,EAAA;AAE/DC,IAAAA,EAAAA,uBAAC,wBAAoCD,aAAAA,EAAa,CAAA;AAAIF,IAAAA,CAAAA,MAAAE,aAAAA;AAAAF,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAK,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACtDF,IAAAA,EAAAA,uBAAC,qBAAA,EAAA,EAAqB,CAAA;AAAGJ,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAP,CAAAA,QAAAG,EAAAA,EAAA;AAF3BI,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EAAe,SAAA,EAAA,qBAAA,EACbJ,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MACAC;AAAAA,KAAAA,EACF,CAAA;AAAMJ,IAAAA,CAAAA,MAAAG,EAAAA;AAAAH,IAAAA,CAAAA,MAAAO,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAP,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHNO,EAAAA;AAGM;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTradeCompleteDetails.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useTradeCompleteDetails.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAa3D,wBAAgB,wBAAwB,IAAI,eAAe,EAAE,CAgF5D"}
|
|
@@ -6,69 +6,78 @@ import { useTradeFlowContext } from '../tradeFlowContext.js';
|
|
|
6
6
|
import { getExpectedTransferAmounts, getResultAmounts } from './utils.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
import { isTruthy } from '../../../../lib/utils/index.js';
|
|
9
|
+
import { isOrderTradeFlowType } from '../../../../hooks/swap/tradeFlow/common/utils.js';
|
|
9
10
|
|
|
10
11
|
const badgeClasses = {
|
|
11
12
|
root: "text-xs text-contrast-1 dark:text-contrast-8 font-medium"
|
|
12
13
|
};
|
|
13
14
|
function useTradeCompletedDetails() {
|
|
14
|
-
const $ = distExports.c(
|
|
15
|
+
const $ = distExports.c(21);
|
|
15
16
|
const {
|
|
16
17
|
fromToken,
|
|
17
18
|
toToken,
|
|
18
19
|
result
|
|
19
20
|
} = useTradeFlowContext();
|
|
20
|
-
const isLimitOrderFlow = result?.tradeFlowType === "limitOrder";
|
|
21
21
|
let t0;
|
|
22
22
|
if ($[0] !== result) {
|
|
23
|
-
t0 =
|
|
24
|
-
result
|
|
25
|
-
});
|
|
23
|
+
t0 = !!result?.tradeFlowType && isOrderTradeFlowType(result.tradeFlowType);
|
|
26
24
|
$[0] = result;
|
|
27
25
|
$[1] = t0;
|
|
28
26
|
} else {
|
|
29
27
|
t0 = $[1];
|
|
30
28
|
}
|
|
31
|
-
const
|
|
32
|
-
const receipt = result?.tradeFlowType === "marketSwap" ? result.swap.receipt || result.swap.callsReceipt : void 0;
|
|
29
|
+
const isOrderFlow = t0;
|
|
33
30
|
let t1;
|
|
34
|
-
if ($[2] !==
|
|
35
|
-
t1 =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
$[
|
|
31
|
+
if ($[2] !== result) {
|
|
32
|
+
t1 = getExpectedTransferAmounts({
|
|
33
|
+
result
|
|
34
|
+
});
|
|
35
|
+
$[2] = result;
|
|
36
|
+
$[3] = t1;
|
|
39
37
|
} else {
|
|
40
|
-
t1 = $[
|
|
38
|
+
t1 = $[3];
|
|
41
39
|
}
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
const resultWeiAmounts = t1;
|
|
41
|
+
const receipt = result?.tradeFlowType === "marketSwap" ? result.swap.receipt || result.swap.callsReceipt : void 0;
|
|
42
|
+
let t2;
|
|
43
|
+
if ($[4] !== fromToken || $[5] !== toToken) {
|
|
44
|
+
t2 = [fromToken, toToken];
|
|
45
|
+
$[4] = fromToken;
|
|
46
|
+
$[5] = toToken;
|
|
47
|
+
$[6] = t2;
|
|
48
|
+
} else {
|
|
49
|
+
t2 = $[6];
|
|
50
|
+
}
|
|
51
|
+
const t3 = result?.account;
|
|
52
|
+
const t4 = result?.receiverAddress;
|
|
53
|
+
const t5 = resultWeiAmounts?.tokensMap;
|
|
54
|
+
let t6;
|
|
55
|
+
if ($[7] !== fromToken.network || $[8] !== receipt || $[9] !== t2 || $[10] !== t3 || $[11] !== t4 || $[12] !== t5) {
|
|
56
|
+
t6 = {
|
|
48
57
|
receipt,
|
|
49
|
-
tokens:
|
|
50
|
-
senderAddress:
|
|
51
|
-
receiverAddress:
|
|
58
|
+
tokens: t2,
|
|
59
|
+
senderAddress: t3,
|
|
60
|
+
receiverAddress: t4,
|
|
52
61
|
chainId: fromToken.network,
|
|
53
|
-
expectedTokenTransfers:
|
|
62
|
+
expectedTokenTransfers: t5
|
|
54
63
|
};
|
|
55
|
-
$[
|
|
56
|
-
$[
|
|
57
|
-
$[
|
|
58
|
-
$[
|
|
59
|
-
$[
|
|
60
|
-
$[
|
|
61
|
-
$[
|
|
64
|
+
$[7] = fromToken.network;
|
|
65
|
+
$[8] = receipt;
|
|
66
|
+
$[9] = t2;
|
|
67
|
+
$[10] = t3;
|
|
68
|
+
$[11] = t4;
|
|
69
|
+
$[12] = t5;
|
|
70
|
+
$[13] = t6;
|
|
62
71
|
} else {
|
|
63
|
-
|
|
72
|
+
t6 = $[13];
|
|
64
73
|
}
|
|
65
74
|
const {
|
|
66
75
|
data: tokenTransfers
|
|
67
|
-
} = useTokenTransfersFromReceipt(
|
|
76
|
+
} = useTokenTransfersFromReceipt(t6);
|
|
68
77
|
const fromAmountFinal = tokenTransfers?.[fromToken.address]?.sentAmount ?? resultWeiAmounts?.fromAmountWei;
|
|
69
78
|
const toAmountFinal = tokenTransfers?.[toToken.address]?.receivedAmount ?? resultWeiAmounts?.toAmountWei;
|
|
70
|
-
let
|
|
71
|
-
if ($[
|
|
79
|
+
let t7;
|
|
80
|
+
if ($[14] !== fromAmountFinal || $[15] !== fromToken || $[16] !== isOrderFlow || $[17] !== resultWeiAmounts?.isBuy || $[18] !== toAmountFinal || $[19] !== toToken) {
|
|
72
81
|
const amounts = getResultAmounts({
|
|
73
82
|
fromAmountWei: fromAmountFinal,
|
|
74
83
|
toAmountWei: toAmountFinal,
|
|
@@ -76,30 +85,30 @@ function useTradeCompletedDetails() {
|
|
|
76
85
|
fromToken,
|
|
77
86
|
toToken
|
|
78
87
|
});
|
|
79
|
-
|
|
88
|
+
t7 = [{
|
|
80
89
|
key: "sold",
|
|
81
|
-
title:
|
|
90
|
+
title: isOrderFlow ? "Pay" : "You sold",
|
|
82
91
|
value: /* @__PURE__ */ jsx(TokenBadge, { address: fromToken.address, chainId: fromToken.network, img: fromToken.img, symbol: fromToken.symbol, showNetworkIcon: true, amount: amounts.fromAmountUnit, classes: badgeClasses })
|
|
83
92
|
}, {
|
|
84
93
|
key: "received",
|
|
85
|
-
title:
|
|
94
|
+
title: isOrderFlow ? "Receive" : "You received",
|
|
86
95
|
value: /* @__PURE__ */ jsx(TokenBadge, { address: toToken.address, chainId: toToken.network, img: toToken.img, symbol: toToken.symbol, showNetworkIcon: true, amount: amounts.toAmountUnit, classes: badgeClasses })
|
|
87
|
-
}, !
|
|
96
|
+
}, !isOrderFlow && {
|
|
88
97
|
key: "rate",
|
|
89
98
|
title: "Best Rate",
|
|
90
99
|
value: amounts.rateStr
|
|
91
100
|
}].filter(isTruthy);
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
98
|
-
$[
|
|
101
|
+
$[14] = fromAmountFinal;
|
|
102
|
+
$[15] = fromToken;
|
|
103
|
+
$[16] = isOrderFlow;
|
|
104
|
+
$[17] = resultWeiAmounts?.isBuy;
|
|
105
|
+
$[18] = toAmountFinal;
|
|
106
|
+
$[19] = toToken;
|
|
107
|
+
$[20] = t7;
|
|
99
108
|
} else {
|
|
100
|
-
|
|
109
|
+
t7 = $[20];
|
|
101
110
|
}
|
|
102
|
-
const details =
|
|
111
|
+
const details = t7;
|
|
103
112
|
return details;
|
|
104
113
|
}
|
|
105
114
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTradeCompleteDetails.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.tsx"],"sourcesContent":["import { useTokenTransfersFromReceipt } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { TokenBadge } from \"../../TokenBadge/TokenBadge\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport { getExpectedTransferAmounts, getResultAmounts } from \"./utils\";\nimport type { Address } from \"viem\";\nimport { useMemo } from \"react\";\nimport { isTruthy } from \"@/lib/utils\";\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nexport function useTradeCompletedDetails(): DetailWithValue[] {\n const { fromToken, toToken, result } = useTradeFlowContext();\n const
|
|
1
|
+
{"version":3,"file":"useTradeCompleteDetails.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.tsx"],"sourcesContent":["import { useTokenTransfersFromReceipt } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport type { DetailWithValue } from \"../../Details/types\";\nimport { TokenBadge } from \"../../TokenBadge/TokenBadge\";\nimport { useTradeFlowContext } from \"../tradeFlowContext\";\nimport { getExpectedTransferAmounts, getResultAmounts } from \"./utils\";\nimport type { Address } from \"viem\";\nimport { useMemo } from \"react\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { isOrderTradeFlowType } from \"@/hooks/swap/tradeFlow/common/utils\";\n\nconst badgeClasses = {\n root: \"text-xs text-contrast-1 dark:text-contrast-8 font-medium\",\n};\n\nexport function useTradeCompletedDetails(): DetailWithValue[] {\n const { fromToken, toToken, result } = useTradeFlowContext();\n const isOrderFlow =\n !!result?.tradeFlowType && isOrderTradeFlowType(result.tradeFlowType);\n\n const resultWeiAmounts = useMemo(() => {\n return getExpectedTransferAmounts({\n result,\n });\n }, [result]);\n\n const receipt =\n result?.tradeFlowType === \"marketSwap\"\n ? // for batch txs callsReceipt will be available, but not the usual tx receipt\n result.swap.receipt || result.swap.callsReceipt\n : undefined;\n\n const { data: tokenTransfers } = useTokenTransfersFromReceipt({\n receipt,\n tokens: [fromToken, toToken],\n senderAddress: result?.account,\n receiverAddress: result?.receiverAddress,\n chainId: fromToken.network,\n expectedTokenTransfers: resultWeiAmounts?.tokensMap,\n });\n\n const fromAmountFinal =\n tokenTransfers?.[fromToken.address as Address]?.sentAmount ??\n resultWeiAmounts?.fromAmountWei;\n const toAmountFinal =\n tokenTransfers?.[toToken.address as Address]?.receivedAmount ??\n resultWeiAmounts?.toAmountWei;\n\n const amounts = getResultAmounts({\n fromAmountWei: fromAmountFinal,\n toAmountWei: toAmountFinal,\n isBuy: resultWeiAmounts?.isBuy,\n fromToken,\n toToken,\n });\n\n const details: DetailWithValue[] = [\n {\n key: \"sold\",\n title: isOrderFlow ? \"Pay\" : \"You sold\",\n value: (\n <TokenBadge\n address={fromToken.address}\n chainId={fromToken.network}\n img={fromToken.img}\n symbol={fromToken.symbol}\n showNetworkIcon\n amount={amounts.fromAmountUnit}\n classes={badgeClasses}\n />\n ),\n },\n {\n key: \"received\",\n title: isOrderFlow ? \"Receive\" : \"You received\",\n value: (\n <TokenBadge\n address={toToken.address}\n chainId={toToken.network}\n img={toToken.img}\n symbol={toToken.symbol}\n showNetworkIcon\n amount={amounts.toAmountUnit}\n classes={badgeClasses}\n />\n ),\n },\n !isOrderFlow && {\n key: \"rate\",\n title: \"Best Rate\",\n value: amounts.rateStr,\n },\n ].filter(isTruthy);\n\n return details;\n}\n"],"names":["badgeClasses","root","useTradeCompletedDetails","$","_c","fromToken","toToken","result","useTradeFlowContext","t0","tradeFlowType","isOrderTradeFlowType","isOrderFlow","t1","getExpectedTransferAmounts","resultWeiAmounts","receipt","swap","callsReceipt","undefined","t2","t3","account","t4","receiverAddress","t5","tokensMap","t6","network","tokens","senderAddress","chainId","expectedTokenTransfers","data","tokenTransfers","useTokenTransfersFromReceipt","fromAmountFinal","address","sentAmount","fromAmountWei","toAmountFinal","receivedAmount","toAmountWei","t7","isBuy","amounts","getResultAmounts","key","title","value","img","symbol","fromAmountUnit","toAmountUnit","rateStr","filter","isTruthy","details"],"mappings":";;;;;;;;;;AAUA,MAAMA,YAAAA,GAAe;AAAA,EACnBC,IAAAA,EAAM;AACR,CAAA;AAEO,SAAAC,wBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACL,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,MAAuCC,mBAAAA,EAAoB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,CAAAA,QAAAI,MAAAA,EAAA;AAE3DE,IAAAA,EAAAA,GAAA,CAAC,CAACF,MAAAA,EAAMG,aAAAA,IAAmBC,oBAAAA,CAAqBJ,OAAMG,aAAc,CAAA;AAACP,IAAAA,CAAAA,MAAAI,MAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AADvE,EAAA,MAAAS,WAAAA,GACEH,EAAAA;AAAsE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAV,CAAAA,QAAAI,MAAAA,EAAA;AAG/DM,IAAAA,EAAAA,GAAAC,0BAAAA,CAA2B;AAAA,MAAAP;AAAAA,KAEjC,CAAA;AAACJ,IAAAA,CAAAA,MAAAI,MAAAA;AAAAJ,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAHJ,EAAA,MAAAY,gBAAAA,GACEF,EAAAA;AAKF,EAAA,MAAAG,OAAAA,GACET,QAAMG,aAAAA,KAAoB,YAAA,GAEtBH,OAAMU,IAAAA,CAAKD,OAAAA,IAAYT,MAAAA,CAAMU,IAAAA,CAAKC,YAAAA,GAFtCC,MAAAA;AAGc,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAjB,EAAA,CAAA,CAAA,KAAAE,aAAAF,CAAAA,QAAAG,OAAAA,EAAA;AAINc,IAAAA,EAAAA,GAAA,CAACf,WAAWC,OAAO,CAAA;AAACH,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAG,OAAAA;AAAAH,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA,EAAA;AACb,EAAA,MAAAkB,KAAAd,MAAAA,EAAMe,OAAAA;AACJ,EAAA,MAAAC,KAAAhB,MAAAA,EAAMiB,eAAAA;AAEC,EAAA,MAAAC,KAAAV,gBAAAA,EAAgBW,SAAAA;AAAW,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAxB,CAAAA,CAAA,CAAA,CAAA,KAAAE,SAAAA,CAAAuB,OAAAA,IAAAzB,EAAA,CAAA,CAAA,KAAAa,OAAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAiB,MAAAjB,CAAAA,CAAA,EAAA,CAAA,KAAAkB,EAAAA,IAAAlB,CAAAA,SAAAoB,EAAAA,IAAApB,CAAAA,CAAA,EAAA,CAAA,KAAAsB,EAAAA,EAAA;AANSE,IAAAA,EAAAA,GAAA;AAAA,MAAAX,OAAAA;AAAAA,MAAAa,MAAAA,EAEpDT,EAAAA;AAAAA,MAAoBU,aAAAA,EACbT,EAAAA;AAAAA,MAAeG,eAAAA,EACbD,EAAAA;AAAAA,MAAuBQ,SAC/B1B,SAAAA,CAASuB,OAAAA;AAAAA,MAAQI,sBAAAA,EACFP;AAAAA,KAC1B;AAACtB,IAAAA,CAAAA,CAAA,CAAA,IAAAE,SAAAA,CAAAuB,OAAAA;AAAAzB,IAAAA,CAAAA,MAAAa,OAAAA;AAAAb,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAlB,IAAAA,CAAAA,OAAAoB,EAAAA;AAAApB,IAAAA,CAAAA,OAAAsB,EAAAA;AAAAtB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAPD,EAAA,MAAA;AAAA,IAAA8B,IAAAA,EAAAC;AAAAA,GAAA,GAAiCC,6BAA6BR,EAO7D,CAAA;AAED,EAAA,MAAAS,kBACEF,cAAAA,GAAiB7B,SAAAA,CAASgC,OAAmB,CAAA,EAAaC,cAC1DvB,gBAAAA,EAAgBwB,aAAAA;AAClB,EAAA,MAAAC,gBACEN,cAAAA,GAAiB5B,OAAAA,CAAO+B,OAAmB,CAAA,EAAiBI,kBAC5D1B,gBAAAA,EAAgB2B,WAAAA;AAAc,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAxC,CAAAA,CAAA,EAAA,CAAA,KAAAiC,eAAAA,IAAAjC,CAAAA,SAAAE,SAAAA,IAAAF,CAAAA,CAAA,EAAA,CAAA,KAAAS,WAAAA,IAAAT,EAAA,EAAA,CAAA,KAAAY,gBAAAA,EAAA6B,KAAAA,IAAAzC,CAAAA,SAAAqC,aAAAA,IAAArC,CAAAA,CAAA,EAAA,CAAA,KAAAG,OAAAA,EAAA;AAEhC,IAAA,MAAAuC,UAAgBC,gBAAAA,CAAiB;AAAA,MAAAP,aAAAA,EAChBH,eAAAA;AAAAA,MAAeM,WAAAA,EACjBF,aAAAA;AAAAA,MAAaI,OACnB7B,gBAAAA,EAAgB6B,KAAAA;AAAAA,MAAOvC,SAAAA;AAAAA,MAAAC;AAAAA,KAG/B,CAAA;AAEkCqC,IAAAA,EAAAA,GAAA,CACjC;AAAA,MAAAI,GAAAA,EACO,MAAA;AAAA,MAAMC,KAAAA,EACJpC,cAAA,KAAA,GAAA,UAAA;AAAA,MAAgCqC,KAAAA,sBAEpC,UAAA,EAAA,EACU,OAAA,EAAA5C,UAASgC,OAAAA,EACT,OAAA,EAAAhC,UAASuB,OAAAA,EACb,GAAA,EAAAvB,UAAS6C,GAAAA,EACN,MAAA,EAAA7C,UAAS8C,MAAAA,EACjB,eAAA,EAAA,MACQ,MAAA,EAAAN,OAAAA,CAAOO,cAAAA,EACNpD,OAAAA,EAAAA,YAAAA,EAAY;AAAA,KAG3B,EACA;AAAA,MAAA+C,GAAAA,EACO,UAAA;AAAA,MAAUC,KAAAA,EACRpC,cAAA,SAAA,GAAA,cAAA;AAAA,MAAwCqC,KAAAA,sBAE5C,UAAA,EAAA,EACU,OAAA,EAAA3C,QAAO+B,OAAAA,EACP,OAAA,EAAA/B,QAAOsB,OAAAA,EACX,GAAA,EAAAtB,QAAO4C,GAAAA,EACJ,MAAA,EAAA5C,QAAO6C,MAAAA,EACf,eAAA,EAAA,MACQ,MAAA,EAAAN,OAAAA,CAAOQ,YAAAA,EACNrD,OAAAA,EAAAA,YAAAA,EAAY;AAAA,KAG3B,EACA,CAACY,WAAAA,IAAD;AAAA,MAAAmC,GAAAA,EACO,MAAA;AAAA,MAAMC,KAAAA,EACJ,WAAA;AAAA,MAAWC,OACXJ,OAAAA,CAAOS;AAAAA,KACf,CAAA,CACFC,MAAAA,CAAQC,QAAQ,CAAA;AAACrD,IAAAA,CAAAA,OAAAiC,eAAAA;AAAAjC,IAAAA,CAAAA,OAAAE,SAAAA;AAAAF,IAAAA,CAAAA,OAAAS,WAAAA;AAAAT,IAAAA,CAAAA,CAAA,EAAA,IAAAY,gBAAAA,EAAA6B,KAAAA;AAAAzC,IAAAA,CAAAA,OAAAqC,aAAAA;AAAArC,IAAAA,CAAAA,OAAAG,OAAAA;AAAAH,IAAAA,CAAAA,OAAAwC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxC,EAAA,EAAA,CAAA;AAAA,EAAA;AApClB,EAAA,MAAAsD,OAAAA,GAAmCd,EAAAA;AAoChB,EAAA,OAEZc,OAAAA;AAAO;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAGhF,KAAK,aAAa,GAAG;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EACzC,MAAM,GACP,EAAE;IACD,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,GAAG,iBAAiB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAGhF,KAAK,aAAa,GAAG;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,EACzC,MAAM,GACP,EAAE;IACD,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,GAAG,iBAAiB,GAAG,SAAS,CA0JhC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,aAAa,EACb,WAAW,EACX,KAAK,EACL,SAAS,EACT,OAAO,GACR,EAAE,kBAAkB,GAAG,aAAa,CA4CpC;AAED,KAAK,cAAc,GAAG;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,OAAO,GACR,EAAE,mBAAmB,GAAG,cAAc,GAAG,IAAI,CAsC7C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { formatTokenBalanceClean } from '../../../../lib/utils/formatTokenBalance.js';
|
|
2
2
|
import { calcRate } from '../../../../lib/utils/rate.js';
|
|
3
|
-
import {
|
|
3
|
+
import { getSwapSideFromDeltaOrder } from '../../../../hooks/swap/prices/delta/queries/utils.js';
|
|
4
4
|
|
|
5
5
|
function getExpectedTransferAmounts({
|
|
6
6
|
result
|
|
@@ -29,7 +29,7 @@ function getExpectedTransferAmounts({
|
|
|
29
29
|
receivedAmount: BigInt(toAmountWei2)
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
const swapSide =
|
|
32
|
+
const swapSide = getSwapSideFromDeltaOrder(result.deltaOrder.sentOrder.order);
|
|
33
33
|
const isBuy = swapSide === "BUY";
|
|
34
34
|
return {
|
|
35
35
|
fromAmountWei: fromAmountWei2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport { getSwapSideFromDeltaPrice } from \"@/hooks/swap/prices/delta/queries/utils\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const { srcToken, destToken } = result.deltaOrder.sentOrder.order;\n\n const fromAmountWei =\n result.deltaOrder.lastOrderState?.order.srcAmount ||\n result.deltaOrder.sentOrder.order.srcAmount;\n const toAmountWei =\n result.deltaOrder.lastOrderState?.order.destAmount ||\n result.deltaOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n // we can't know SwapSide from deltaOrder alone\n const swapSide = getSwapSideFromDeltaPrice(result.deltaPrice);\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const { srcToken, destToken } = result.limitOrder.sentOrder.order;\n\n const fromAmountWei = result.limitOrder.sentOrder.order.srcAmount;\n const toAmountWei = result.limitOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n // result.tradeFlowType === \"marketSwap\" is the one left\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount shown at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"names":["getExpectedTransferAmounts","result","tradeFlowType","srcToken","destToken","deltaOrder","sentOrder","order","fromAmountWei","lastOrderState","srcAmount","toAmountWei","destAmount","tokensMap","token","sentAmount","BigInt","receivedAmount","swapSide","getSwapSideFromDeltaPrice","deltaPrice","isBuy","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","marketPrice","side","getResultAmounts","fromToken","toToken","undefined","fromAmountUnit","toAmountUnit","rateStr","formatTokenBalanceClean","decimals","rates","calcRate","symbol","address","rateFormatted","toString","getSurplusAmounts","txs","transactions","length","expectedAmount","actualReceived","reduce","acc","tx","diffWei","diffUnit","surplusStr","Number"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport { getSwapSideFromDeltaOrder } from \"@/hooks/swap/prices/delta/queries/utils\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const { srcToken, destToken } = result.deltaOrder.sentOrder.order;\n\n const fromAmountWei =\n result.deltaOrder.lastOrderState?.order.srcAmount ||\n result.deltaOrder.sentOrder.order.srcAmount;\n const toAmountWei =\n result.deltaOrder.lastOrderState?.order.destAmount ||\n result.deltaOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const swapSide = getSwapSideFromDeltaOrder(\n result.deltaOrder.sentOrder.order\n );\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const { srcToken, destToken } = result.limitOrder.sentOrder.order;\n\n const fromAmountWei = result.limitOrder.sentOrder.order.srcAmount;\n const toAmountWei = result.limitOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n // result.tradeFlowType === \"marketSwap\" is the one left\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount shown at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"names":["getExpectedTransferAmounts","result","tradeFlowType","srcToken","destToken","deltaOrder","sentOrder","order","fromAmountWei","lastOrderState","srcAmount","toAmountWei","destAmount","tokensMap","token","sentAmount","BigInt","receivedAmount","swapSide","getSwapSideFromDeltaOrder","isBuy","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","marketPrice","side","getResultAmounts","fromToken","toToken","undefined","fromAmountUnit","toAmountUnit","rateStr","formatTokenBalanceClean","decimals","rates","calcRate","symbol","address","rateFormatted","toString","getSurplusAmounts","txs","transactions","length","expectedAmount","actualReceived","reduce","acc","tx","diffWei","diffUnit","surplusStr","Number"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/TradeDetails.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"TradeDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/TradeOverview/TradeDetails.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,KAAK,EACL,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CACtD,CAAC;AAuFF,eAAO,MAAM,YAAY,+CAcxB,CAAC"}
|