tek-wallet 0.0.752 → 0.0.754
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/TekWallet/components/index.d.ts +7 -0
- package/dist/components/TekWallet/components/index.js +7 -0
- package/dist/components/TekWallet/components/layouts/ChildPageLayout/index.js +14 -3
- package/dist/components/TekWallet/components/ui/BackHeader/index.js +5 -1
- package/dist/components/TekWallet/components/ui/BottomActionLayout/index.d.ts +3 -3
- package/dist/components/TekWallet/components/ui/BottomActionLayout/index.js +24 -6
- package/dist/components/TekWallet/components/ui/Button/index.js +2 -2
- package/dist/components/TekWallet/components/ui/ConfirmByPasscode/index.js +2 -6
- package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.d.ts +6 -2
- package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.js +92 -12
- package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.d.ts +4 -2
- package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.js +12 -4
- package/dist/components/TekWallet/components/ui/ConfirmSwapToken/Result.d.ts +8 -0
- package/dist/components/TekWallet/components/ui/ConfirmSwapToken/Result.js +112 -0
- package/dist/components/TekWallet/components/ui/ConfirmSwapToken/index.d.ts +18 -0
- package/dist/components/TekWallet/components/ui/ConfirmSwapToken/index.js +169 -0
- package/dist/components/TekWallet/components/ui/CopyableText/index.js +1 -1
- package/dist/components/TekWallet/components/ui/DetailSwap/index.js +1 -1
- package/dist/components/TekWallet/components/ui/Fees/index.d.ts +1 -1
- package/dist/components/TekWallet/components/ui/Fees/index.js +51 -41
- package/dist/components/TekWallet/components/ui/FeesAutoDebounce/index.d.ts +10 -0
- package/dist/components/TekWallet/components/ui/FeesAutoDebounce/index.js +223 -0
- package/dist/components/TekWallet/components/ui/FiatDeposit/components/shareAction.js +2 -2
- package/dist/components/TekWallet/components/ui/FiatDeposit/components/shareImage.js +13 -13
- package/dist/components/TekWallet/components/ui/FiatDeposit/index.js +6 -4
- package/dist/components/TekWallet/components/ui/Formatter/index.d.ts +1 -0
- package/dist/components/TekWallet/components/ui/Formatter/index.js +4 -2
- package/dist/components/TekWallet/components/ui/FunctionItem/index.js +5 -4
- package/dist/components/TekWallet/components/ui/Icon/index.d.ts +4 -2
- package/dist/components/TekWallet/components/ui/Icon/index.js +44 -3
- package/dist/components/TekWallet/components/ui/Input/index.js +3 -3
- package/dist/components/TekWallet/components/ui/ListItemCustom/index.d.ts +2 -1
- package/dist/components/TekWallet/components/ui/ListItemCustom/index.js +3 -3
- package/dist/components/TekWallet/components/ui/QRCode/index.js +1 -1
- package/dist/components/TekWallet/components/ui/SendExternalToken/index.js +1 -1
- package/dist/components/TekWallet/components/ui/SendExternalTokenWithdrawn/index.d.ts +2 -5
- package/dist/components/TekWallet/components/ui/SvgPath/index.d.ts +12 -0
- package/dist/components/TekWallet/components/ui/SvgPath/index.js +27 -15
- package/dist/components/TekWallet/components/ui/SwapFunction/index.js +4 -4
- package/dist/components/TekWallet/components/ui/SwapToken/index.d.ts +2 -3
- package/dist/components/TekWallet/components/ui/TokensBoard/index.js +1 -3
- package/dist/components/TekWallet/components/ui/ValidateWalletAddress/index.d.ts +5 -0
- package/dist/components/TekWallet/components/ui/ValidateWalletAddress/index.js +67 -0
- package/dist/components/TekWallet/components/ui/WaitingData/index.d.ts +1 -0
- package/dist/components/TekWallet/components/ui/WaitingData/index.js +10 -6
- package/dist/components/TekWallet/components/ui/WithdrawFunction/index.d.ts +1 -1
- package/dist/components/TekWallet/components/ui/WithdrawFunction/index.js +70 -32
- package/dist/components/TekWallet/components/views/AssetView/Menu.d.ts +7 -0
- package/dist/components/TekWallet/components/views/AssetView/Menu.js +25 -0
- package/dist/components/TekWallet/components/views/AssetView/index.js +25 -26
- package/dist/components/TekWallet/components/views/NotFoundView/index.d.ts +2 -0
- package/dist/components/TekWallet/components/views/NotFoundView/index.js +7 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/Form.d.ts +11 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/Form.js +450 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/Result.d.ts +14 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/Result.js +140 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/SelectNetwork.d.ts +10 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/SelectNetwork.js +34 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/SelectToken.d.ts +8 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/SelectToken.js +173 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/Summary.d.ts +12 -0
- package/dist/components/TekWallet/components/views/SendExternalView/components/Summary.js +131 -0
- package/dist/components/TekWallet/components/views/SendExternalView/index.d.ts +23 -0
- package/dist/components/TekWallet/components/views/SendExternalView/index.js +143 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/AmountForm.d.ts +11 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/AmountForm.js +380 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/Form.d.ts +11 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/Form.js +381 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/Result.d.ts +13 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/Result.js +128 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/SelectToken.d.ts +8 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/SelectToken.js +173 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/Summary.d.ts +11 -0
- package/dist/components/TekWallet/components/views/SendInternalView/components/Summary.js +126 -0
- package/dist/components/TekWallet/components/views/SendInternalView/index.d.ts +24 -0
- package/dist/components/TekWallet/components/views/SendInternalView/index.js +155 -0
- package/dist/components/TekWallet/components/views/SwapView/components/CardTo/index.d.ts +11 -0
- package/dist/components/TekWallet/components/views/SwapView/components/CardTo/index.js +111 -0
- package/dist/components/TekWallet/components/views/SwapView/components/FromCard/index.d.ts +14 -0
- package/dist/components/TekWallet/components/views/SwapView/components/FromCard/index.js +180 -0
- package/dist/components/TekWallet/components/views/SwapView/components/SelectToken.d.ts +9 -0
- package/dist/components/TekWallet/components/views/SwapView/components/SelectToken.js +173 -0
- package/dist/components/TekWallet/components/views/SwapView/components/Summary.d.ts +14 -0
- package/dist/components/TekWallet/components/views/SwapView/components/Summary.js +239 -0
- package/dist/components/TekWallet/components/views/SwapView/functions/convertTokensRate.d.ts +3 -0
- package/dist/components/TekWallet/components/views/SwapView/functions/convertTokensRate.js +14 -0
- package/dist/components/TekWallet/components/views/SwapView/index.d.ts +11 -0
- package/dist/components/TekWallet/components/views/SwapView/index.js +218 -0
- package/dist/components/TekWallet/components/views/TekWalletView/expose.d.ts +2 -0
- package/dist/components/TekWallet/components/views/TekWalletView/expose.js +18 -0
- package/dist/components/TekWallet/components/views/TekWalletView/index.d.ts +3 -0
- package/dist/components/TekWallet/components/views/TekWalletView/index.js +16 -0
- package/dist/components/TekWallet/components/views/TekWalletView/routes.d.ts +9 -0
- package/dist/components/TekWallet/components/views/TekWalletView/routes.js +74 -0
- package/dist/components/TekWallet/hooks/useValidateAmount.d.ts +26 -0
- package/dist/components/TekWallet/hooks/useValidateAmount.js +103 -0
- package/dist/components/TekWallet/providers/EventHandlerProvider/index.js +5 -0
- package/dist/components/TekWallet/providers/RealtimeProvider/index.js +2 -2
- package/dist/components/TekWallet/providers/TekWalletProvider/index.d.ts +3 -0
- package/dist/components/TekWallet/providers/TekWalletProvider/index.js +8 -2
- package/dist/components/TekWallet/providers/WithdrawProvider/index.js +36 -0
- package/dist/components/TekWallet/services/axios/get-est-fee-service/type.d.ts +5 -4
- package/dist/components/TekWallet/services/axios/send-external-service/type.d.ts +5 -30
- package/dist/components/TekWallet/services/axios/swap-service/type.d.ts +4 -0
- package/dist/components/TekWallet/services/axios/transfer-internal-service/type.d.ts +4 -32
- package/dist/components/TekWallet/theme/mui/deposit-fiat-theme/components.js +3 -3
- package/dist/components/TekWallet/theme/mui/deposit-fiat-theme/palette.js +3 -3
- package/dist/components/TekWallet/theme/mui/theme.js +9 -9
- package/dist/components/TekWallet/utils/stop.d.ts +3 -0
- package/dist/components/TekWallet/utils/stop.js +6 -0
- package/package.json +2 -2
- package/dist/components/TekWallet/components/ui/CardFrom/index.d.ts +0 -10
- package/dist/components/TekWallet/components/ui/CardFrom/index.js +0 -91
- package/dist/components/TekWallet/components/ui/CardTo/index.d.ts +0 -10
- package/dist/components/TekWallet/components/ui/CardTo/index.js +0 -39
- package/dist/components/TekWallet/components/ui/ConfirmLayout copy/index.d.ts +0 -7
- package/dist/components/TekWallet/components/ui/ConfirmLayout copy/index.js +0 -67
- package/dist/components/TekWallet/components/views/HelpView/index.d.ts +0 -2
- package/dist/components/TekWallet/components/views/HelpView/index.js +0 -7
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
47
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
48
|
+
if (ar || !(i in from)) {
|
|
49
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
50
|
+
ar[i] = from[i];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
54
|
+
};
|
|
55
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
56
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
57
|
+
};
|
|
58
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
59
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
60
|
+
var material_1 = require("@mui/material");
|
|
61
|
+
var providers_1 = require("../../../../providers");
|
|
62
|
+
var TokenSelection_1 = __importDefault(require("../../../ui/TokenSelection"));
|
|
63
|
+
var SvgPath_1 = require("../../../ui/SvgPath");
|
|
64
|
+
var EmptyData_1 = __importDefault(require("../../../ui/EmptyData"));
|
|
65
|
+
var WaitingData_1 = __importDefault(require("../../../ui/WaitingData"));
|
|
66
|
+
var react_1 = require("react");
|
|
67
|
+
var lodash_1 = require("lodash");
|
|
68
|
+
var SortGroup_1 = __importStar(require("../../../ui/ReceiveFunction/components/SortGroup"));
|
|
69
|
+
var SortTool_1 = require("../../../ui/ReceiveFunction/components/SortTool");
|
|
70
|
+
var searchDebounce = (0, lodash_1.debounce)(function (callback) {
|
|
71
|
+
callback();
|
|
72
|
+
}, 500, { leading: true, trailing: true });
|
|
73
|
+
var SelectToken = function (props) {
|
|
74
|
+
var theme = (0, providers_1.useTheme)();
|
|
75
|
+
var _a = (0, react_1.useState)(""), searchValue = _a[0], setSearchValue = _a[1];
|
|
76
|
+
var _b = (0, react_1.useState)(), searchedReceiveTokens = _b[0], setSearchedReceiveTokens = _b[1];
|
|
77
|
+
var _c = (0, react_1.useState)([]), tokenRender = _c[0], setTokenRender = _c[1];
|
|
78
|
+
var tokens = props.tokens, selectedToken = props.selectedToken, onChangeToken = props.onChangeToken;
|
|
79
|
+
var isSearching = (0, react_1.useMemo)(function () {
|
|
80
|
+
return searchValue.length > 0;
|
|
81
|
+
}, [searchValue]);
|
|
82
|
+
var isLoadingDepositTokens = (0, react_1.useMemo)(function () {
|
|
83
|
+
return !tokens;
|
|
84
|
+
}, [tokens]);
|
|
85
|
+
var isEmptyDepositTokens = (0, react_1.useMemo)(function () {
|
|
86
|
+
return !isLoadingDepositTokens && (tokens === null || tokens === void 0 ? void 0 : tokens.length) === 0;
|
|
87
|
+
}, [isLoadingDepositTokens, tokens]);
|
|
88
|
+
var isEmptySearch = (0, react_1.useMemo)(function () {
|
|
89
|
+
return isSearching && (searchedReceiveTokens === null || searchedReceiveTokens === void 0 ? void 0 : searchedReceiveTokens.length) === 0;
|
|
90
|
+
}, [isSearching, searchedReceiveTokens]);
|
|
91
|
+
var handleClearSearch = function () {
|
|
92
|
+
setSearchValue("");
|
|
93
|
+
};
|
|
94
|
+
var handleSelectToken = function (token) {
|
|
95
|
+
onChangeToken === null || onChangeToken === void 0 ? void 0 : onChangeToken(token);
|
|
96
|
+
};
|
|
97
|
+
var handleSearch = function (e) {
|
|
98
|
+
var searchValue = e.target.value;
|
|
99
|
+
setSearchValue(searchValue);
|
|
100
|
+
searchDebounce(function () {
|
|
101
|
+
if (searchValue.length > 0) {
|
|
102
|
+
var filteredTokens = tokens === null || tokens === void 0 ? void 0 : tokens.filter(function (item) {
|
|
103
|
+
return item.name.toLowerCase().includes(searchValue.toLowerCase());
|
|
104
|
+
});
|
|
105
|
+
setSearchedReceiveTokens(filteredTokens || []);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
setSearchedReceiveTokens(tokens);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
var handleSort = function (sortBy, sortOrder) {
|
|
113
|
+
var sortedTokens = __spreadArray([], tokenRender, true);
|
|
114
|
+
sortedTokens.sort(function (a, b) {
|
|
115
|
+
var _a, _b;
|
|
116
|
+
if (sortBy === SortGroup_1.SortByType.Name) {
|
|
117
|
+
return sortOrder === SortTool_1.SortOrder.ASC
|
|
118
|
+
? ((_a = a === null || a === void 0 ? void 0 : a.name) === null || _a === void 0 ? void 0 : _a.localeCompare((b === null || b === void 0 ? void 0 : b.name) || "")) || 0
|
|
119
|
+
: ((_b = b === null || b === void 0 ? void 0 : b.name) === null || _b === void 0 ? void 0 : _b.localeCompare((a === null || a === void 0 ? void 0 : a.name) || "")) || 0;
|
|
120
|
+
}
|
|
121
|
+
return sortOrder === SortTool_1.SortOrder.ASC
|
|
122
|
+
? +((a === null || a === void 0 ? void 0 : a.balance) || 0) - +((b === null || b === void 0 ? void 0 : b.balance) || 0)
|
|
123
|
+
: +((b === null || b === void 0 ? void 0 : b.balance) || 0) - +((a === null || a === void 0 ? void 0 : a.balance) || 0);
|
|
124
|
+
});
|
|
125
|
+
setTokenRender(sortedTokens);
|
|
126
|
+
};
|
|
127
|
+
(0, react_1.useEffect)(function () {
|
|
128
|
+
if (isSearching) {
|
|
129
|
+
setTokenRender(searchedReceiveTokens || []);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
setTokenRender(tokens || []);
|
|
133
|
+
}
|
|
134
|
+
}, [isSearching, searchedReceiveTokens, tokens]);
|
|
135
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g12, height: "fit-content" }), children: [!isEmptyDepositTokens && !isLoadingDepositTokens && ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
|
|
136
|
+
position: "sticky",
|
|
137
|
+
backgroundColor: theme.palette.background.white,
|
|
138
|
+
zIndex: 100,
|
|
139
|
+
top: "0px",
|
|
140
|
+
pb: theme.mixins.customPadding.p12,
|
|
141
|
+
}, children: [(0, jsx_runtime_1.jsx)(material_1.InputBase, { onChange: handleSearch, startAdornment: (0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "start", children: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 20, height: 20 }, children: SvgPath_1.IC_SEARCH }) }), value: searchValue, placeholder: "Search", sx: {
|
|
142
|
+
borderRadius: theme.mixins.customRadius.r12,
|
|
143
|
+
border: "1px solid",
|
|
144
|
+
borderColor: theme.palette.border.accent3,
|
|
145
|
+
background: theme.palette.background.white,
|
|
146
|
+
color: theme.palette.text.black,
|
|
147
|
+
py: theme.mixins.customPadding.p6,
|
|
148
|
+
px: theme.mixins.customPadding.p12,
|
|
149
|
+
fontSize: theme.typography.fontSize16,
|
|
150
|
+
width: "100%",
|
|
151
|
+
lineHeight: "100%",
|
|
152
|
+
"input::placeholder": {
|
|
153
|
+
fontSize: theme.typography.fontSize12,
|
|
154
|
+
pl: theme.mixins.customPadding.p4,
|
|
155
|
+
fontWeight: theme.typography.fontWeight500,
|
|
156
|
+
color: theme.palette.text.black,
|
|
157
|
+
lineHeight: "100%",
|
|
158
|
+
},
|
|
159
|
+
}, endAdornment: (0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", sx: {
|
|
160
|
+
visibility: isSearching ? "visible" : "hidden",
|
|
161
|
+
}, children: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: {
|
|
162
|
+
width: 20,
|
|
163
|
+
height: 20,
|
|
164
|
+
p: theme.mixins.customPadding.p4,
|
|
165
|
+
cursor: "pointer",
|
|
166
|
+
}, onClick: handleClearSearch, children: SvgPath_1.IC_CLOSE }) }) }), (tokenRender === null || tokenRender === void 0 ? void 0 : tokenRender.length) > 0 && (0, jsx_runtime_1.jsx)(SortGroup_1.default, { onChange: handleSort })] })), isLoadingDepositTokens && (0, jsx_runtime_1.jsx)(WaitingData_1.default, { numberOfSkeleton: 8 }), isEmptyDepositTokens && ((0, jsx_runtime_1.jsx)(EmptyData_1.default, { sx: { py: "4rem" }, title: "No deposit tokens", description: "No deposit tokens" })), isSearching && isEmptySearch && ((0, jsx_runtime_1.jsx)(EmptyData_1.default, { sx: { py: "4rem" }, title: "No search results", description: "Let's try again with a different search" })), tokenRender === null || tokenRender === void 0 ? void 0 : tokenRender.map(function (item, index) {
|
|
167
|
+
var stringifiedTokenData = JSON.stringify(item);
|
|
168
|
+
if (!item)
|
|
169
|
+
return null;
|
|
170
|
+
return ((0, jsx_runtime_1.jsx)(TokenSelection_1.default, { onClick: handleSelectToken, tokenData: stringifiedTokenData, active: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.id) === item.id }, "token_".concat(item.id, "_").concat(index)));
|
|
171
|
+
})] }));
|
|
172
|
+
};
|
|
173
|
+
exports.default = SelectToken;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FeesDataType } from "../../../../services/axios/get-est-fee-service/type";
|
|
2
|
+
import { WithdrawCurrency } from "../../../../services/axios/get-withdraw-tokens-list-service/type";
|
|
3
|
+
import { ConfirmSendInternalProps, SendInternalDataType } from "../../../ui/ConfirmSendInternal";
|
|
4
|
+
interface SummaryProps {
|
|
5
|
+
estimateFee?: FeesDataType;
|
|
6
|
+
selectedToken?: WithdrawCurrency;
|
|
7
|
+
payload: SendInternalDataType;
|
|
8
|
+
confirmProps?: Omit<ConfirmSendInternalProps, "payload">;
|
|
9
|
+
}
|
|
10
|
+
export default function Summary(props: SummaryProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export type { SummaryProps };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
47
|
+
var t = {};
|
|
48
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
49
|
+
t[p] = s[p];
|
|
50
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
51
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
52
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
53
|
+
t[p[i]] = s[p[i]];
|
|
54
|
+
}
|
|
55
|
+
return t;
|
|
56
|
+
};
|
|
57
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
58
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
59
|
+
};
|
|
60
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
+
exports.default = Summary;
|
|
62
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
63
|
+
var material_1 = require("@mui/material");
|
|
64
|
+
var Text_1 = __importDefault(require("../../../ui/Text"));
|
|
65
|
+
var InlineTitleValue_1 = __importDefault(require("../../../ui/InlineTitleValue"));
|
|
66
|
+
var CopyTextComponent_1 = __importDefault(require("../../../ui/CopyTextComponent"));
|
|
67
|
+
var SvgPath_1 = require("../../../ui/SvgPath");
|
|
68
|
+
var Fees_1 = __importStar(require("../../../ui/Fees"));
|
|
69
|
+
var safeText_1 = require("../../../../utils/safeText");
|
|
70
|
+
var ConfirmSendInternal_1 = __importDefault(require("../../../ui/ConfirmSendInternal"));
|
|
71
|
+
var react_1 = require("react");
|
|
72
|
+
var Button_1 = __importStar(require("../../../ui/Button"));
|
|
73
|
+
var providers_1 = require("../../../../providers");
|
|
74
|
+
var Formatter_1 = __importDefault(require("../../../ui/Formatter"));
|
|
75
|
+
function Summary(props) {
|
|
76
|
+
var estimateFee = props.estimateFee, selectedToken = props.selectedToken, payload = props.payload, confirmProps = props.confirmProps;
|
|
77
|
+
var _a = confirmProps || {}, onSuccess = _a.onSuccess, onError = _a.onError, onStart = _a.onStart, onFinally = _a.onFinally, confirmPropsRest = __rest(_a, ["onSuccess", "onError", "onStart", "onFinally"]);
|
|
78
|
+
var theme = (0, providers_1.useTheme)();
|
|
79
|
+
var recipientAddress = (0, react_1.useMemo)(function () { return payload.to_address; }, [payload.to_address]);
|
|
80
|
+
var amount = (0, react_1.useMemo)(function () { return payload.amount; }, [payload.amount]);
|
|
81
|
+
var message = (0, react_1.useMemo)(function () { return payload.message; }, [payload.message]);
|
|
82
|
+
var _b = (0, react_1.useState)(Button_1.BUTTON_STATUS.ENABLED), confirmButtonStatus = _b[0], setContinueButtonStatus = _b[1];
|
|
83
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
|
|
84
|
+
display: "flex",
|
|
85
|
+
flexDirection: "column",
|
|
86
|
+
gap: 3,
|
|
87
|
+
height: "100%",
|
|
88
|
+
}, children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
|
|
89
|
+
fontSize: 16,
|
|
90
|
+
fontWeight: 600,
|
|
91
|
+
}, children: "Transaction summary" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
|
|
92
|
+
display: "flex",
|
|
93
|
+
flexDirection: "column",
|
|
94
|
+
gap: 3,
|
|
95
|
+
}, children: [(0, jsx_runtime_1.jsx)(InlineTitleValue_1.default, { title: "Amount", titleStyle: {
|
|
96
|
+
fontSize: "0.6875rem",
|
|
97
|
+
fontWeight: 500,
|
|
98
|
+
color: "gray.700",
|
|
99
|
+
}, value: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: amount, unit: selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name }) }), isAligned: true }), (0, jsx_runtime_1.jsx)(InlineTitleValue_1.default, { title: "Recipient address", titleStyle: {
|
|
100
|
+
fontSize: "0.6875rem",
|
|
101
|
+
fontWeight: 500,
|
|
102
|
+
color: "gray.700",
|
|
103
|
+
}, value: (0, jsx_runtime_1.jsx)(CopyTextComponent_1.default, { value: recipientAddress || "", children: (0, jsx_runtime_1.jsxs)(material_1.Box, { className: "flex flex-row gap-2 items-center", children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: (0, safeText_1.safeText)(recipientAddress || "", { isShort: true }) }), (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: {
|
|
104
|
+
width: 16,
|
|
105
|
+
height: 16,
|
|
106
|
+
}, children: SvgPath_1.IC_COPY })] }) }), isAligned: true }), message && ((0, jsx_runtime_1.jsx)(InlineTitleValue_1.default, { title: "Message", titleStyle: {
|
|
107
|
+
fontSize: "0.6875rem",
|
|
108
|
+
fontWeight: 500,
|
|
109
|
+
color: "gray.700",
|
|
110
|
+
}, value: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: message }), isAligned: true })), (0, jsx_runtime_1.jsx)(Fees_1.default, { isFeePaidByAmount: true, feesData: estimateFee, amount: +(amount || 0), tokenSlug: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.slug) || "", feesStyle: Fees_1.FeesStyle.DEFAULT })] }), (0, jsx_runtime_1.jsx)(ConfirmSendInternal_1.default, __assign({ sx: {
|
|
111
|
+
width: "100%",
|
|
112
|
+
marginTop: "auto",
|
|
113
|
+
}, payload: payload }, confirmPropsRest, { onSuccess: function (res) {
|
|
114
|
+
setContinueButtonStatus(Button_1.BUTTON_STATUS.ENABLED);
|
|
115
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(res);
|
|
116
|
+
}, onError: function (err) {
|
|
117
|
+
setContinueButtonStatus(Button_1.BUTTON_STATUS.DISABLED);
|
|
118
|
+
onError === null || onError === void 0 ? void 0 : onError(err);
|
|
119
|
+
}, onStart: function () {
|
|
120
|
+
setContinueButtonStatus(Button_1.BUTTON_STATUS.LOADING);
|
|
121
|
+
onStart === null || onStart === void 0 ? void 0 : onStart();
|
|
122
|
+
}, onFinally: function () {
|
|
123
|
+
setContinueButtonStatus(Button_1.BUTTON_STATUS.ENABLED);
|
|
124
|
+
onFinally === null || onFinally === void 0 ? void 0 : onFinally();
|
|
125
|
+
}, children: (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { loading: confirmButtonStatus === Button_1.BUTTON_STATUS.LOADING, status: !recipientAddress || !amount ? Button_1.BUTTON_STATUS.DISABLED : confirmButtonStatus, sx: { width: "100%" }, children: "Confirm" }) }))] }));
|
|
126
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ReactEventHandler } from "react";
|
|
2
|
+
import { GeneralProps } from "../../../types/ui";
|
|
3
|
+
interface SendInternalViewProps extends GeneralProps {
|
|
4
|
+
onClose?: ReactEventHandler;
|
|
5
|
+
onOpen?: ReactEventHandler;
|
|
6
|
+
onSendSuccess?: (response: any) => void;
|
|
7
|
+
}
|
|
8
|
+
type SendInternalViewRef = {
|
|
9
|
+
open: () => void;
|
|
10
|
+
close: () => void;
|
|
11
|
+
};
|
|
12
|
+
export declare enum TransferStep {
|
|
13
|
+
SELECT_TOKEN = 0,
|
|
14
|
+
FORM = 1,
|
|
15
|
+
CONFIRM = 2,
|
|
16
|
+
RESULT = 3
|
|
17
|
+
}
|
|
18
|
+
export declare enum InternalAmountError {
|
|
19
|
+
INSUFFICIENT_BALANCE = "\u24D8 Insufficient balance",
|
|
20
|
+
MAX_LIMIT = "\u24D8 Enter a maximum amount of",
|
|
21
|
+
MIN_LIMIT = "\u24D8 Enter a minimum amount of"
|
|
22
|
+
}
|
|
23
|
+
export declare const SendInternalView: import("react").ForwardRefExoticComponent<SendInternalViewProps & import("react").RefAttributes<SendInternalViewRef>>;
|
|
24
|
+
export default SendInternalView;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
"use client";
|
|
4
|
+
var __assign = (this && this.__assign) || function () {
|
|
5
|
+
__assign = Object.assign || function(t) {
|
|
6
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7
|
+
s = arguments[i];
|
|
8
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
9
|
+
t[p] = s[p];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
return __assign.apply(this, arguments);
|
|
14
|
+
};
|
|
15
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
16
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
17
|
+
};
|
|
18
|
+
var _a;
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.SendInternalView = exports.InternalAmountError = exports.TransferStep = void 0;
|
|
21
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
22
|
+
var react_1 = require("react");
|
|
23
|
+
var SwiperControlled_1 = __importDefault(require("../../ui/SwiperControlled"));
|
|
24
|
+
var useWalletData_1 = __importDefault(require("../../../hooks/useWalletData"));
|
|
25
|
+
var react_2 = require("swiper/react");
|
|
26
|
+
var useWithdrawData_1 = __importDefault(require("../../../hooks/useWithdrawData"));
|
|
27
|
+
var SelectToken_1 = __importDefault(require("./components/SelectToken"));
|
|
28
|
+
var Form_1 = __importDefault(require("./components/Form"));
|
|
29
|
+
var ChildPageLayout_1 = __importDefault(require("../../layouts/ChildPageLayout"));
|
|
30
|
+
var PageHeader_1 = __importDefault(require("../../ui/PageHeader"));
|
|
31
|
+
var DefaultPageLayout_1 = __importDefault(require("../../layouts/DefaultPageLayout"));
|
|
32
|
+
var Summary_1 = __importDefault(require("./components/Summary"));
|
|
33
|
+
var Result_1 = __importDefault(require("./components/Result"));
|
|
34
|
+
var useCustomRouter_1 = __importDefault(require("../../../hooks/useCustomRouter"));
|
|
35
|
+
var providers_1 = require("../../../providers");
|
|
36
|
+
var TransferStep;
|
|
37
|
+
(function (TransferStep) {
|
|
38
|
+
TransferStep[TransferStep["SELECT_TOKEN"] = 0] = "SELECT_TOKEN";
|
|
39
|
+
TransferStep[TransferStep["FORM"] = 1] = "FORM";
|
|
40
|
+
TransferStep[TransferStep["CONFIRM"] = 2] = "CONFIRM";
|
|
41
|
+
TransferStep[TransferStep["RESULT"] = 3] = "RESULT";
|
|
42
|
+
})(TransferStep || (exports.TransferStep = TransferStep = {}));
|
|
43
|
+
var WITHDRAW_STEP_NAME = (_a = {},
|
|
44
|
+
_a[TransferStep.SELECT_TOKEN] = "Select token",
|
|
45
|
+
_a[TransferStep.FORM] = "Form",
|
|
46
|
+
_a[TransferStep.CONFIRM] = "Confirm",
|
|
47
|
+
_a[TransferStep.RESULT] = "Result",
|
|
48
|
+
_a);
|
|
49
|
+
var InternalAmountError;
|
|
50
|
+
(function (InternalAmountError) {
|
|
51
|
+
InternalAmountError["INSUFFICIENT_BALANCE"] = "\u24D8 Insufficient balance";
|
|
52
|
+
InternalAmountError["MAX_LIMIT"] = "\u24D8 Enter a maximum amount of";
|
|
53
|
+
InternalAmountError["MIN_LIMIT"] = "\u24D8 Enter a minimum amount of";
|
|
54
|
+
})(InternalAmountError || (exports.InternalAmountError = InternalAmountError = {}));
|
|
55
|
+
exports.SendInternalView = (0, react_1.forwardRef)(function (props, ref) {
|
|
56
|
+
var isInitPasscode = (0, useWalletData_1.default)().isInitPasscode;
|
|
57
|
+
var _a = (0, useWithdrawData_1.default)(), updateSendInternalToken = _a.updateSendInternalToken, sendInternalTokens = _a.sendInternalTokens;
|
|
58
|
+
var theme = (0, providers_1.useTheme)();
|
|
59
|
+
var router = (0, useCustomRouter_1.default)();
|
|
60
|
+
var drawerRef = (0, react_1.useRef)(null);
|
|
61
|
+
var stepsRef = (0, react_1.useRef)(null);
|
|
62
|
+
var swiperRef = (0, react_1.useRef)(null);
|
|
63
|
+
var _b = (0, react_1.useState)(TransferStep.SELECT_TOKEN), currentStep = _b[0], setCurrentStep = _b[1];
|
|
64
|
+
var _c = (0, react_1.useState)(), selectedToken = _c[0], setSelectedToken = _c[1];
|
|
65
|
+
var _d = (0, react_1.useState)(), payload = _d[0], setPayload = _d[1];
|
|
66
|
+
var _e = (0, react_1.useState)(), estimateFee = _e[0], setEstimateFee = _e[1];
|
|
67
|
+
var _f = (0, react_1.useState)(""), clearFormKey = _f[0], setClearFormKey = _f[1];
|
|
68
|
+
var _g = (0, react_1.useState)(), response = _g[0], setResponse = _g[1];
|
|
69
|
+
var _h = (0, react_1.useState)(false), isChangeSlidePromptly = _h[0], setIsChangeSlidePromptly = _h[1];
|
|
70
|
+
var withdrawTokens = (0, react_1.useMemo)(function () {
|
|
71
|
+
return sendInternalTokens;
|
|
72
|
+
}, [sendInternalTokens]);
|
|
73
|
+
var clearValues = (0, react_1.useCallback)(function () {
|
|
74
|
+
setSelectedToken(undefined);
|
|
75
|
+
setClearFormKey(function (prev) { return prev + 1; });
|
|
76
|
+
}, []);
|
|
77
|
+
var close = function () {
|
|
78
|
+
var _a;
|
|
79
|
+
(_a = drawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
80
|
+
};
|
|
81
|
+
var gotoStep = (0, react_1.useCallback)(function (step) {
|
|
82
|
+
var _a, _b;
|
|
83
|
+
if (step === TransferStep.SELECT_TOKEN) {
|
|
84
|
+
clearValues();
|
|
85
|
+
(_a = stepsRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
86
|
+
}
|
|
87
|
+
setCurrentStep(step);
|
|
88
|
+
(_b = swiperRef.current) === null || _b === void 0 ? void 0 : _b.slideTo(step);
|
|
89
|
+
}, [clearValues]);
|
|
90
|
+
var open = function () {
|
|
91
|
+
var _a;
|
|
92
|
+
(_a = drawerRef.current) === null || _a === void 0 ? void 0 : _a.open();
|
|
93
|
+
};
|
|
94
|
+
(0, react_1.useImperativeHandle)(ref, function () { return ({
|
|
95
|
+
open: open,
|
|
96
|
+
close: close,
|
|
97
|
+
}); });
|
|
98
|
+
var handleBack = function () {
|
|
99
|
+
if (currentStep === TransferStep.RESULT) {
|
|
100
|
+
gotoStep(TransferStep.SELECT_TOKEN);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (currentStep === TransferStep.SELECT_TOKEN) {
|
|
104
|
+
clearValues();
|
|
105
|
+
router.back();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
gotoStep(currentStep - 1);
|
|
109
|
+
};
|
|
110
|
+
var handleCloseResult = (0, react_1.useCallback)(function () {
|
|
111
|
+
gotoStep(TransferStep.SELECT_TOKEN);
|
|
112
|
+
setIsChangeSlidePromptly(false);
|
|
113
|
+
}, [gotoStep]);
|
|
114
|
+
var gotoConfirmStep = function (payload, estimateFee) {
|
|
115
|
+
gotoStep(TransferStep.CONFIRM);
|
|
116
|
+
setPayload(payload);
|
|
117
|
+
setEstimateFee(estimateFee);
|
|
118
|
+
};
|
|
119
|
+
var handleSelectToken = function (token) {
|
|
120
|
+
setSelectedToken(token);
|
|
121
|
+
gotoStep(TransferStep.FORM);
|
|
122
|
+
};
|
|
123
|
+
var handleSendSuccess = (0, react_1.useCallback)(function (res) {
|
|
124
|
+
setResponse(res);
|
|
125
|
+
gotoStep(TransferStep.RESULT);
|
|
126
|
+
setIsChangeSlidePromptly(true);
|
|
127
|
+
}, [gotoStep]);
|
|
128
|
+
(0, react_1.useEffect)(function () {
|
|
129
|
+
if (isInitPasscode && !sendInternalTokens) {
|
|
130
|
+
updateSendInternalToken();
|
|
131
|
+
}
|
|
132
|
+
}, [isInitPasscode, sendInternalTokens]);
|
|
133
|
+
return ((0, jsx_runtime_1.jsx)(ChildPageLayout_1.default, { header: currentStep < TransferStep.RESULT && ((0, jsx_runtime_1.jsx)(PageHeader_1.default, { title: WITHDRAW_STEP_NAME[currentStep], overrideBack: handleBack })), children: (0, jsx_runtime_1.jsxs)(SwiperControlled_1.default, { disableSwipe: true, ref: swiperRef, swiperProps: {
|
|
134
|
+
spaceBetween: 32,
|
|
135
|
+
speed: isChangeSlidePromptly ? 0 : 500,
|
|
136
|
+
}, sx: {
|
|
137
|
+
height: "100%",
|
|
138
|
+
}, swiperStyle: {
|
|
139
|
+
height: "100%",
|
|
140
|
+
}, children: [(0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { style: { minHeight: "100%" }, children: (0, jsx_runtime_1.jsx)(DefaultPageLayout_1.default, { children: (0, jsx_runtime_1.jsx)(SelectToken_1.default, { tokens: withdrawTokens, selectedToken: selectedToken, onChangeToken: handleSelectToken }) }) }, TransferStep.SELECT_TOKEN), (0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { style: { minHeight: "100%" }, children: (0, jsx_runtime_1.jsx)(DefaultPageLayout_1.default, { sx: {
|
|
141
|
+
height: "100%",
|
|
142
|
+
paddingLeft: "0px",
|
|
143
|
+
paddingRight: "0px",
|
|
144
|
+
paddingTop: "0px",
|
|
145
|
+
paddingBottom: "0px",
|
|
146
|
+
}, children: (0, jsx_runtime_1.jsx)(Form_1.default, { sx: __assign({}, theme.mixins.pagePadding), selectedToken: selectedToken, onContinue: gotoConfirmStep }, clearFormKey) }) }, TransferStep.FORM), (0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { style: { minHeight: "100%" }, children: (0, jsx_runtime_1.jsx)(DefaultPageLayout_1.default, { sx: {
|
|
147
|
+
height: "100%",
|
|
148
|
+
}, children: payload && ((0, jsx_runtime_1.jsx)(Summary_1.default, { estimateFee: estimateFee, payload: __assign(__assign({}, payload), { await_completion: true }), selectedToken: selectedToken, confirmProps: {
|
|
149
|
+
onSuccess: handleSendSuccess,
|
|
150
|
+
} })) }) }, TransferStep.CONFIRM), (0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { style: { minHeight: "100%" }, children: (0, jsx_runtime_1.jsx)(DefaultPageLayout_1.default, { sx: {
|
|
151
|
+
height: "100%",
|
|
152
|
+
}, children: (0, jsx_runtime_1.jsx)(Result_1.default, { response: response, payload: payload, estimateFee: estimateFee, selectedToken: selectedToken, onDone: handleCloseResult }) }) }, TransferStep.RESULT)] }) }));
|
|
153
|
+
});
|
|
154
|
+
exports.SendInternalView.displayName = "SendInternalView";
|
|
155
|
+
exports.default = exports.SendInternalView;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Output, SupportedToken } from "../../../../../services/axios/get-swap-tokens-list-service/type";
|
|
2
|
+
interface Props {
|
|
3
|
+
className?: string;
|
|
4
|
+
selectedFromToken?: SupportedToken;
|
|
5
|
+
selectedToToken?: Output;
|
|
6
|
+
fromAmount?: number;
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
onChangeToToken?: (token: Output) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const CardTo: ({ selectedToToken, selectedFromToken, fromAmount, onChangeToToken }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default CardTo;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
+
var material_1 = require("@mui/material");
|
|
41
|
+
var react_1 = require("react");
|
|
42
|
+
var Icon_1 = __importDefault(require("../../../../ui/Icon"));
|
|
43
|
+
var providers_1 = require("../../../../../providers");
|
|
44
|
+
var Text_1 = __importDefault(require("../../../../ui/Text"));
|
|
45
|
+
var SvgPath_1 = require("../../../../ui/SvgPath");
|
|
46
|
+
var Formatter_1 = __importDefault(require("../../../../ui/Formatter"));
|
|
47
|
+
var DrawerComponent_1 = __importStar(require("../../../../ui/DrawerComponent"));
|
|
48
|
+
var ChildPageLayout_1 = __importDefault(require("../../../../layouts/ChildPageLayout"));
|
|
49
|
+
var DefaultPageLayout_1 = __importDefault(require("../../../../layouts/DefaultPageLayout"));
|
|
50
|
+
var PageHeader_1 = __importDefault(require("../../../../ui/PageHeader"));
|
|
51
|
+
var SelectToken_1 = __importDefault(require("../SelectToken"));
|
|
52
|
+
var CardTo = function (_a) {
|
|
53
|
+
var selectedToToken = _a.selectedToToken, selectedFromToken = _a.selectedFromToken, fromAmount = _a.fromAmount, onChangeToToken = _a.onChangeToToken;
|
|
54
|
+
var selectTokenRef = (0, react_1.useRef)(null);
|
|
55
|
+
var receiveAmountEst = (0, react_1.useMemo)(function () {
|
|
56
|
+
try {
|
|
57
|
+
var inputAmount = +(fromAmount !== null && fromAmount !== void 0 ? fromAmount : 0);
|
|
58
|
+
if (!inputAmount) {
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
61
|
+
var fromUSDRate = Number(selectedFromToken === null || selectedFromToken === void 0 ? void 0 : selectedFromToken.usd_rate);
|
|
62
|
+
var toUSDRate = Number(selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.usd_rate);
|
|
63
|
+
return (fromUSDRate * inputAmount) / toUSDRate;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.warn("🚀 ~ CardTo ~ error:", error);
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
}, [fromAmount, selectedFromToken === null || selectedFromToken === void 0 ? void 0 : selectedFromToken.usd_rate, selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.usd_rate]);
|
|
70
|
+
var theme = (0, providers_1.useTheme)();
|
|
71
|
+
var outputTokens = (0, react_1.useMemo)(function () {
|
|
72
|
+
var _a;
|
|
73
|
+
return (_a = selectedFromToken === null || selectedFromToken === void 0 ? void 0 : selectedFromToken.outputs) !== null && _a !== void 0 ? _a : [];
|
|
74
|
+
}, [selectedFromToken === null || selectedFromToken === void 0 ? void 0 : selectedFromToken.slug]);
|
|
75
|
+
var closeSelectToken = function () {
|
|
76
|
+
var _a;
|
|
77
|
+
(_a = selectTokenRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
78
|
+
};
|
|
79
|
+
var handleSelectToken = function (token) {
|
|
80
|
+
onChangeToToken === null || onChangeToToken === void 0 ? void 0 : onChangeToToken(token);
|
|
81
|
+
closeSelectToken();
|
|
82
|
+
};
|
|
83
|
+
var selectDefaultToToken = (0, react_1.useCallback)(function () {
|
|
84
|
+
var isExist = outputTokens.some(function (token) { return token.id === (selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.id); });
|
|
85
|
+
if (!isExist) {
|
|
86
|
+
onChangeToToken === null || onChangeToToken === void 0 ? void 0 : onChangeToToken(outputTokens[0]);
|
|
87
|
+
}
|
|
88
|
+
}, [outputTokens, selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.id, onChangeToToken]);
|
|
89
|
+
(0, react_1.useEffect)(function () {
|
|
90
|
+
selectDefaultToToken();
|
|
91
|
+
}, [selectDefaultToToken]);
|
|
92
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
|
|
93
|
+
padding: theme.mixins.customPadding.p12,
|
|
94
|
+
backgroundColor: theme.palette.background.tertiary,
|
|
95
|
+
borderRadius: theme.mixins.customRadius.r12,
|
|
96
|
+
}, children: [(0, jsx_runtime_1.jsx)(material_1.Box, { className: "flex justify-between", children: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
|
|
97
|
+
color: theme.palette.text.blackContrast,
|
|
98
|
+
fontWeight: theme.typography.fontWeight600,
|
|
99
|
+
}, children: "To" }) }), (0, jsx_runtime_1.jsxs)(material_1.Box, { className: "flex justify-between mt-5 mb-4", children: [(0, jsx_runtime_1.jsx)(DrawerComponent_1.default, { ref: selectTokenRef, direction: DrawerComponent_1.DRAWER_DIRECTION.RIGHT, trigger: (0, jsx_runtime_1.jsxs)(material_1.Box, { className: "flex items-center gap-1 cursor-pointer", children: [(0, jsx_runtime_1.jsx)(Icon_1.default, { src: selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.link, width: 20, height: 20, className: "rounded-full" }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
|
|
100
|
+
color: theme.palette.text.blackContrast,
|
|
101
|
+
fontWeight: theme.typography.fontWeight600,
|
|
102
|
+
}, children: (selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.name) || (selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.full_name) }), (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 10, height: 10 }, children: SvgPath_1.IC_ARROW_BLACK_DROP })] }), children: (0, jsx_runtime_1.jsx)(ChildPageLayout_1.default, { header: (0, jsx_runtime_1.jsx)(PageHeader_1.default, { title: "Select Token", overrideBack: closeSelectToken }), children: (0, jsx_runtime_1.jsx)(DefaultPageLayout_1.default, { sx: {
|
|
103
|
+
width: "100dvw",
|
|
104
|
+
height: "100dvh",
|
|
105
|
+
}, children: (0, jsx_runtime_1.jsx)(SelectToken_1.default, { tokens: outputTokens, selectedToken: selectedToToken, onChangeToken: handleSelectToken }) }) }) }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
|
|
106
|
+
color: theme.palette.text.blackContrast,
|
|
107
|
+
fontWeight: theme.typography.fontWeight600,
|
|
108
|
+
fontSize: theme.typography.fontSize16,
|
|
109
|
+
}, children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: receiveAmountEst, unit: selectedToToken === null || selectedToToken === void 0 ? void 0 : selectedToToken.name }) })] })] }));
|
|
110
|
+
};
|
|
111
|
+
exports.default = CardTo;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { SupportedToken } from "../../../../../services/axios/get-swap-tokens-list-service/type";
|
|
3
|
+
interface Props {
|
|
4
|
+
className?: string;
|
|
5
|
+
selectedToken?: SupportedToken;
|
|
6
|
+
amount?: number | string;
|
|
7
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
8
|
+
onChangeToken?: (token: SupportedToken) => void;
|
|
9
|
+
setFromInfoIsReady?: (isReady: boolean) => void;
|
|
10
|
+
keyboardId?: string;
|
|
11
|
+
amountWasChanged?: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare const CardForm: ({ selectedToken, onChange, amount, onChangeToken, setFromInfoIsReady, keyboardId, amountWasChanged, }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default CardForm;
|