tek-wallet 0.0.388 → 0.0.389
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.
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AccordionProps } from "@mui/material";
|
|
2
2
|
export interface FeesProps extends Omit<AccordionProps, "children"> {
|
|
3
3
|
feesData: string;
|
|
4
|
+
onEnoughBalanceToPayFee?: () => void;
|
|
5
|
+
onNotEnoughBalanceToPayFee?: () => void;
|
|
4
6
|
}
|
|
5
7
|
declare function Fees(props: FeesProps): import("react/jsx-runtime").JSX.Element;
|
|
6
8
|
export default Fees;
|
|
@@ -33,11 +33,40 @@ var Text_1 = __importDefault(require("../Text"));
|
|
|
33
33
|
var Formatter_1 = __importDefault(require("../Formatter"));
|
|
34
34
|
var jsx_runtime_2 = require("react/jsx-runtime");
|
|
35
35
|
var parsePropsData_1 = __importDefault(require("../../../utils/parsePropsData"));
|
|
36
|
+
var useWalletData_1 = __importDefault(require("../../../hooks/useWalletData"));
|
|
37
|
+
var react_1 = require("react");
|
|
38
|
+
var ReceiveFunction_1 = __importDefault(require("../ReceiveFunction"));
|
|
36
39
|
function Fees(props) {
|
|
37
40
|
var _a, _b;
|
|
38
41
|
var sx = props.sx, rest = __rest(props, ["sx"]);
|
|
39
42
|
var theme = (0, material_1.useTheme)();
|
|
40
43
|
var feesData = (0, parsePropsData_1.default)(props === null || props === void 0 ? void 0 : props.feesData);
|
|
44
|
+
var tokens = (0, useWalletData_1.default)().tokens;
|
|
45
|
+
var isEnoughBalanceToPayFee = (0, react_1.useMemo)(function () {
|
|
46
|
+
// const tokensFee: FeeDetail[] = [];
|
|
47
|
+
// feesData?.feeDetail?.forEach((fee) => {
|
|
48
|
+
// const index = tokensFee?.findIndex(
|
|
49
|
+
// (token) => token.currencySlug === fee?.currencySlug
|
|
50
|
+
// );
|
|
51
|
+
// if (index === -1) {
|
|
52
|
+
// tokensFee.push(fee);
|
|
53
|
+
// } else {
|
|
54
|
+
// if (+tokensFee[index]?.feeFixed < fee?.feeInCurrency) {
|
|
55
|
+
// tokensFee[index] = { ...fee, isEnoughBalance: false };
|
|
56
|
+
// }
|
|
57
|
+
// }
|
|
58
|
+
// });
|
|
59
|
+
// for (let i = 0; i < length; i++) {
|
|
60
|
+
// const fee = feesData?.feeDetail[i] as FeeDetail;
|
|
61
|
+
// const token = tokens?.find(
|
|
62
|
+
// (token) => token.currency_slug === fee?.currencySlug
|
|
63
|
+
// );
|
|
64
|
+
// if (!token || +token?.current_value < (fee?.feeInCurrency ?? 0)) {
|
|
65
|
+
// tokensFee.push({ ...fee, isEnoughBalance: false });
|
|
66
|
+
// }
|
|
67
|
+
// }
|
|
68
|
+
return true;
|
|
69
|
+
}, [tokens]);
|
|
41
70
|
return ((0, jsx_runtime_1.jsxs)(material_1.Accordion, __assign({ defaultExpanded: true }, rest, { sx: __assign({ "&.MuiAccordion-root": {
|
|
42
71
|
backgroundColor: "transparent",
|
|
43
72
|
margin: 0,
|
|
@@ -56,20 +85,22 @@ function Fees(props) {
|
|
|
56
85
|
}, "& .MuiAccordionDetails-root": {
|
|
57
86
|
paddingLeft: theme.mixins.customPadding.p12,
|
|
58
87
|
paddingRight: theme.mixins.customPadding.p12,
|
|
59
|
-
} }, sx), children: [(0, jsx_runtime_1.jsx)(material_1.AccordionSummary, { expandIcon: (0, jsx_runtime_1.jsx)(Icon_1.default, { src: (0, getIcon_1.default)("arrow_down"), width: 20 }), children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { width: "100%" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.fieldTitle), children: "Total fees" }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { ml: "auto" }), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: 1000 }) })] }) }), (0, jsx_runtime_1.jsx)(material_1.AccordionDetails, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { alignItems: "stretch" }), children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { width: "fit-content", gap: theme.mixins.gaps.g8, alignItems: "center" }), children: (_a = feesData === null || feesData === void 0 ? void 0 : feesData.feeDetail) === null || _a === void 0 ? void 0 : _a.map(function (item, index) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
88
|
+
} }, sx), children: [(0, jsx_runtime_1.jsx)(material_1.AccordionSummary, { expandIcon: (0, jsx_runtime_1.jsx)(Icon_1.default, { src: (0, getIcon_1.default)("arrow_down"), width: 20 }), children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { width: "100%" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.fieldTitle), children: "Total fees" }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { ml: "auto" }), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: 1000 }) })] }) }), (0, jsx_runtime_1.jsx)(material_1.AccordionDetails, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g8 }), children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { alignItems: "stretch" }), children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { width: "fit-content", gap: theme.mixins.gaps.g8, alignItems: "center" }), children: (_a = feesData === null || feesData === void 0 ? void 0 : feesData.feeDetail) === null || _a === void 0 ? void 0 : _a.map(function (item, index) {
|
|
89
|
+
var _a;
|
|
90
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_2.Fragment, { children: [index !== 0 && ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
|
|
91
|
+
borderRight: "1px dashed ".concat(theme.palette.border.white24),
|
|
92
|
+
flex: 1,
|
|
93
|
+
} })), (0, jsx_runtime_1.jsx)(Icon_1.default, { src: (0, getIcon_1.default)("timeline_dot"), width: 16 })] }, (_a = item.feeType) === null || _a === void 0 ? void 0 : _a.name));
|
|
94
|
+
}) }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { flex: 1, gap: theme.mixins.gaps.g8 }), children: (_b = feesData === null || feesData === void 0 ? void 0 : feesData.feeDetail) === null || _b === void 0 ? void 0 : _b.map(function (item) {
|
|
95
|
+
var _a, _b;
|
|
96
|
+
return ((0, jsx_runtime_1.jsx)(FeeDetail, { feeName: (_a = item.feeType) === null || _a === void 0 ? void 0 : _a.name, feeInCurrency: item.feeInCurrency, feeInUSD: item.feeInUSD, currencyName: "USDT" }, (_b = item.feeType) === null || _b === void 0 ? void 0 : _b.name));
|
|
97
|
+
}) })] }), isEnoughBalanceToPayFee && ((0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign({}, theme.mixins.validationError), children: ["You don't have enough balance to pay the fee, please ", " ", (0, jsx_runtime_1.jsxs)(ReceiveFunction_1.default, { children: [" ", (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
|
|
98
|
+
textDecoration: "underline",
|
|
99
|
+
}, children: "Topup more" })] }), " ", "to continue"] }))] }) })] })));
|
|
69
100
|
}
|
|
70
101
|
exports.default = Fees;
|
|
71
102
|
var FeeDetail = function (_a) {
|
|
72
103
|
var feeName = _a.feeName, feeInCurrency = _a.feeInCurrency, feeInUSD = _a.feeInUSD, currencyName = _a.currencyName;
|
|
73
104
|
var theme = (0, material_1.useTheme)();
|
|
74
|
-
return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g4 }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.fieldTitle), { whiteSpace: "nowrap" }), children: feeName }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { flex: 1, width: "fit-content", alignItems: "flex-end" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: feeInCurrency, unit: " ".concat(currencyName) }) }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: feeInUSD, start: "~ $" }) })] })] }));
|
|
105
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g4 }), children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4 }), children: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.fieldTitle), { whiteSpace: "nowrap" }), children: feeName }) }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { flex: 1, width: "fit-content", alignItems: "flex-end" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: feeInCurrency, unit: " ".concat(currencyName) }) }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: feeInUSD, start: "~ $" }) })] })] }));
|
|
75
106
|
};
|
|
@@ -144,33 +144,34 @@ var AmountError;
|
|
|
144
144
|
AmountError["MIN_LIMIT"] = "The minimum amount is";
|
|
145
145
|
})(AmountError || (exports.AmountError = AmountError = {}));
|
|
146
146
|
var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
147
|
+
var _a;
|
|
147
148
|
var swiperKey = (0, react_1.useId)();
|
|
148
149
|
console.warn("🚀 ~ swiperKey:", swiperKey);
|
|
149
150
|
var drawerRef = (0, react_1.useRef)(null);
|
|
150
151
|
var swiperRef = (0, react_1.useRef)(null);
|
|
151
152
|
var theme = (0, material_1.useTheme)();
|
|
152
|
-
var
|
|
153
|
-
var
|
|
154
|
-
var
|
|
153
|
+
var _b = (0, react_1.useState)(WithdrawStep.SELECT_METHOD), currentStep = _b[0], setCurrentStep = _b[1];
|
|
154
|
+
var _c = (0, react_1.useState)(), selectedToken = _c[0], setSelectedToken = _c[1];
|
|
155
|
+
var _d = (0, react_1.useState)(), selectedNetwork = _d[0], setSelectedNetwork = _d[1];
|
|
155
156
|
var isAuthenticated = (0, useWalletData_1.default)().isAuthenticated;
|
|
156
|
-
var
|
|
157
|
-
var
|
|
158
|
-
var
|
|
159
|
-
var
|
|
160
|
-
var
|
|
161
|
-
var
|
|
162
|
-
var
|
|
163
|
-
var
|
|
157
|
+
var _e = (0, useWithdrawData_1.default)(), withdrawTokens = _e.withdrawTokens, updateWithdrawToken = _e.updateWithdrawToken, updateSendInternalToken = _e.updateSendInternalToken, sendInternalTokens = _e.sendInternalTokens;
|
|
158
|
+
var _f = (0, react_1.useState)(), infoDialogContent = _f[0], setInfoDialogContent = _f[1];
|
|
159
|
+
var _g = (0, react_1.useState)(""), amount = _g[0], setAmount = _g[1];
|
|
160
|
+
var _h = (0, react_1.useState)(undefined), memo = _h[0], setMemo = _h[1];
|
|
161
|
+
var _j = (0, react_1.useState)(undefined), recipientAddress = _j[0], setRecipientAddress = _j[1];
|
|
162
|
+
var _k = (0, react_1.useState)(), amountErrorMessage = _k[0], setAmountErrorMessage = _k[1];
|
|
163
|
+
var _l = (0, react_1.useState)(true), hiddenError = _l[0], setHiddenError = _l[1];
|
|
164
|
+
var _m = (0, react_1.useState)(), amountError = _m[0], setAmountError = _m[1];
|
|
164
165
|
var scannerAllQrCodeRef = (0, react_1.useRef)(null);
|
|
165
166
|
var scannerAddressQrCodeRef = (0, react_1.useRef)(null);
|
|
166
167
|
var backDropRef = (0, react_1.useRef)(null);
|
|
167
168
|
var suggestUseTransferInternalDialogRef = (0, react_1.useRef)(null);
|
|
168
169
|
var suggestUseTransferExternalDialogRef = (0, react_1.useRef)(null);
|
|
169
|
-
var
|
|
170
|
-
var
|
|
171
|
-
var
|
|
172
|
-
var
|
|
173
|
-
var
|
|
170
|
+
var _o = (0, react_1.useState)(), selectedMethod = _o[0], setSelectedMethod = _o[1];
|
|
171
|
+
var _p = (0, react_1.useState)(), sendInfoGet = _p[0], setSendInfoGet = _p[1];
|
|
172
|
+
var _q = (0, react_1.useState)(false), isLoadingEstimateFee = _q[0], setIsLoadingEstimateFee = _q[1];
|
|
173
|
+
var _r = (0, react_1.useState)(), estimateFee = _r[0], setEstimateFee = _r[1];
|
|
174
|
+
var _s = (0, react_1.useState)(), recipientAddressError = _s[0], setRecipientAddressError = _s[1];
|
|
174
175
|
var onlyChangeAddress = (0, react_1.useRef)(false);
|
|
175
176
|
var withdrawToken = (0, react_1.useMemo)(function () {
|
|
176
177
|
return selectedMethod === SendMethods.TRANSFER_EXTERNAL
|
|
@@ -611,7 +612,7 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
611
612
|
placeholder: "Enter memo",
|
|
612
613
|
value: memo,
|
|
613
614
|
onChange: handleChangeMemo,
|
|
614
|
-
} })] })), (0, jsx_runtime_1.jsx)(Fees_1.default, { feesData: JSON.stringify(estimateFee) }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign({}, theme.mixins.row), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.fieldTitle), children: "Estimate receive" }), (0, jsx_runtime_1.jsx)(
|
|
615
|
+
} })] })), ((_a = estimateFee === null || estimateFee === void 0 ? void 0 : estimateFee.feeDetail) === null || _a === void 0 ? void 0 : _a.length) && !!amount && ((0, jsx_runtime_1.jsx)(Fees_1.default, { feesData: JSON.stringify(estimateFee) })), estimateReceive !== undefined && ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign({}, theme.mixins.row), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.fieldTitle), children: "Estimate receive" }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { ml: "auto" }), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: estimateReceive }) })] })), (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { sx: { width: "100%" }, onClick: handleSend, status: !!amountError ||
|
|
615
616
|
!!recipientAddressError ||
|
|
616
617
|
!recipientAddress ||
|
|
617
618
|
!amount ||
|