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.
Files changed (119) hide show
  1. package/dist/components/TekWallet/components/index.d.ts +7 -0
  2. package/dist/components/TekWallet/components/index.js +7 -0
  3. package/dist/components/TekWallet/components/layouts/ChildPageLayout/index.js +14 -3
  4. package/dist/components/TekWallet/components/ui/BackHeader/index.js +5 -1
  5. package/dist/components/TekWallet/components/ui/BottomActionLayout/index.d.ts +3 -3
  6. package/dist/components/TekWallet/components/ui/BottomActionLayout/index.js +24 -6
  7. package/dist/components/TekWallet/components/ui/Button/index.js +2 -2
  8. package/dist/components/TekWallet/components/ui/ConfirmByPasscode/index.js +2 -6
  9. package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.d.ts +6 -2
  10. package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.js +92 -12
  11. package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.d.ts +4 -2
  12. package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.js +12 -4
  13. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/Result.d.ts +8 -0
  14. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/Result.js +112 -0
  15. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/index.d.ts +18 -0
  16. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/index.js +169 -0
  17. package/dist/components/TekWallet/components/ui/CopyableText/index.js +1 -1
  18. package/dist/components/TekWallet/components/ui/DetailSwap/index.js +1 -1
  19. package/dist/components/TekWallet/components/ui/Fees/index.d.ts +1 -1
  20. package/dist/components/TekWallet/components/ui/Fees/index.js +51 -41
  21. package/dist/components/TekWallet/components/ui/FeesAutoDebounce/index.d.ts +10 -0
  22. package/dist/components/TekWallet/components/ui/FeesAutoDebounce/index.js +223 -0
  23. package/dist/components/TekWallet/components/ui/FiatDeposit/components/shareAction.js +2 -2
  24. package/dist/components/TekWallet/components/ui/FiatDeposit/components/shareImage.js +13 -13
  25. package/dist/components/TekWallet/components/ui/FiatDeposit/index.js +6 -4
  26. package/dist/components/TekWallet/components/ui/Formatter/index.d.ts +1 -0
  27. package/dist/components/TekWallet/components/ui/Formatter/index.js +4 -2
  28. package/dist/components/TekWallet/components/ui/FunctionItem/index.js +5 -4
  29. package/dist/components/TekWallet/components/ui/Icon/index.d.ts +4 -2
  30. package/dist/components/TekWallet/components/ui/Icon/index.js +44 -3
  31. package/dist/components/TekWallet/components/ui/Input/index.js +3 -3
  32. package/dist/components/TekWallet/components/ui/ListItemCustom/index.d.ts +2 -1
  33. package/dist/components/TekWallet/components/ui/ListItemCustom/index.js +3 -3
  34. package/dist/components/TekWallet/components/ui/QRCode/index.js +1 -1
  35. package/dist/components/TekWallet/components/ui/SendExternalToken/index.js +1 -1
  36. package/dist/components/TekWallet/components/ui/SendExternalTokenWithdrawn/index.d.ts +2 -5
  37. package/dist/components/TekWallet/components/ui/SvgPath/index.d.ts +12 -0
  38. package/dist/components/TekWallet/components/ui/SvgPath/index.js +27 -15
  39. package/dist/components/TekWallet/components/ui/SwapFunction/index.js +4 -4
  40. package/dist/components/TekWallet/components/ui/SwapToken/index.d.ts +2 -3
  41. package/dist/components/TekWallet/components/ui/TokensBoard/index.js +1 -3
  42. package/dist/components/TekWallet/components/ui/ValidateWalletAddress/index.d.ts +5 -0
  43. package/dist/components/TekWallet/components/ui/ValidateWalletAddress/index.js +67 -0
  44. package/dist/components/TekWallet/components/ui/WaitingData/index.d.ts +1 -0
  45. package/dist/components/TekWallet/components/ui/WaitingData/index.js +10 -6
  46. package/dist/components/TekWallet/components/ui/WithdrawFunction/index.d.ts +1 -1
  47. package/dist/components/TekWallet/components/ui/WithdrawFunction/index.js +70 -32
  48. package/dist/components/TekWallet/components/views/AssetView/Menu.d.ts +7 -0
  49. package/dist/components/TekWallet/components/views/AssetView/Menu.js +25 -0
  50. package/dist/components/TekWallet/components/views/AssetView/index.js +25 -26
  51. package/dist/components/TekWallet/components/views/NotFoundView/index.d.ts +2 -0
  52. package/dist/components/TekWallet/components/views/NotFoundView/index.js +7 -0
  53. package/dist/components/TekWallet/components/views/SendExternalView/components/Form.d.ts +11 -0
  54. package/dist/components/TekWallet/components/views/SendExternalView/components/Form.js +450 -0
  55. package/dist/components/TekWallet/components/views/SendExternalView/components/Result.d.ts +14 -0
  56. package/dist/components/TekWallet/components/views/SendExternalView/components/Result.js +140 -0
  57. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectNetwork.d.ts +10 -0
  58. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectNetwork.js +34 -0
  59. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectToken.d.ts +8 -0
  60. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectToken.js +173 -0
  61. package/dist/components/TekWallet/components/views/SendExternalView/components/Summary.d.ts +12 -0
  62. package/dist/components/TekWallet/components/views/SendExternalView/components/Summary.js +131 -0
  63. package/dist/components/TekWallet/components/views/SendExternalView/index.d.ts +23 -0
  64. package/dist/components/TekWallet/components/views/SendExternalView/index.js +143 -0
  65. package/dist/components/TekWallet/components/views/SendInternalView/components/AmountForm.d.ts +11 -0
  66. package/dist/components/TekWallet/components/views/SendInternalView/components/AmountForm.js +380 -0
  67. package/dist/components/TekWallet/components/views/SendInternalView/components/Form.d.ts +11 -0
  68. package/dist/components/TekWallet/components/views/SendInternalView/components/Form.js +381 -0
  69. package/dist/components/TekWallet/components/views/SendInternalView/components/Result.d.ts +13 -0
  70. package/dist/components/TekWallet/components/views/SendInternalView/components/Result.js +128 -0
  71. package/dist/components/TekWallet/components/views/SendInternalView/components/SelectToken.d.ts +8 -0
  72. package/dist/components/TekWallet/components/views/SendInternalView/components/SelectToken.js +173 -0
  73. package/dist/components/TekWallet/components/views/SendInternalView/components/Summary.d.ts +11 -0
  74. package/dist/components/TekWallet/components/views/SendInternalView/components/Summary.js +126 -0
  75. package/dist/components/TekWallet/components/views/SendInternalView/index.d.ts +24 -0
  76. package/dist/components/TekWallet/components/views/SendInternalView/index.js +155 -0
  77. package/dist/components/TekWallet/components/views/SwapView/components/CardTo/index.d.ts +11 -0
  78. package/dist/components/TekWallet/components/views/SwapView/components/CardTo/index.js +111 -0
  79. package/dist/components/TekWallet/components/views/SwapView/components/FromCard/index.d.ts +14 -0
  80. package/dist/components/TekWallet/components/views/SwapView/components/FromCard/index.js +180 -0
  81. package/dist/components/TekWallet/components/views/SwapView/components/SelectToken.d.ts +9 -0
  82. package/dist/components/TekWallet/components/views/SwapView/components/SelectToken.js +173 -0
  83. package/dist/components/TekWallet/components/views/SwapView/components/Summary.d.ts +14 -0
  84. package/dist/components/TekWallet/components/views/SwapView/components/Summary.js +239 -0
  85. package/dist/components/TekWallet/components/views/SwapView/functions/convertTokensRate.d.ts +3 -0
  86. package/dist/components/TekWallet/components/views/SwapView/functions/convertTokensRate.js +14 -0
  87. package/dist/components/TekWallet/components/views/SwapView/index.d.ts +11 -0
  88. package/dist/components/TekWallet/components/views/SwapView/index.js +218 -0
  89. package/dist/components/TekWallet/components/views/TekWalletView/expose.d.ts +2 -0
  90. package/dist/components/TekWallet/components/views/TekWalletView/expose.js +18 -0
  91. package/dist/components/TekWallet/components/views/TekWalletView/index.d.ts +3 -0
  92. package/dist/components/TekWallet/components/views/TekWalletView/index.js +16 -0
  93. package/dist/components/TekWallet/components/views/TekWalletView/routes.d.ts +9 -0
  94. package/dist/components/TekWallet/components/views/TekWalletView/routes.js +74 -0
  95. package/dist/components/TekWallet/hooks/useValidateAmount.d.ts +26 -0
  96. package/dist/components/TekWallet/hooks/useValidateAmount.js +103 -0
  97. package/dist/components/TekWallet/providers/EventHandlerProvider/index.js +5 -0
  98. package/dist/components/TekWallet/providers/RealtimeProvider/index.js +2 -2
  99. package/dist/components/TekWallet/providers/TekWalletProvider/index.d.ts +3 -0
  100. package/dist/components/TekWallet/providers/TekWalletProvider/index.js +8 -2
  101. package/dist/components/TekWallet/providers/WithdrawProvider/index.js +36 -0
  102. package/dist/components/TekWallet/services/axios/get-est-fee-service/type.d.ts +5 -4
  103. package/dist/components/TekWallet/services/axios/send-external-service/type.d.ts +5 -30
  104. package/dist/components/TekWallet/services/axios/swap-service/type.d.ts +4 -0
  105. package/dist/components/TekWallet/services/axios/transfer-internal-service/type.d.ts +4 -32
  106. package/dist/components/TekWallet/theme/mui/deposit-fiat-theme/components.js +3 -3
  107. package/dist/components/TekWallet/theme/mui/deposit-fiat-theme/palette.js +3 -3
  108. package/dist/components/TekWallet/theme/mui/theme.js +9 -9
  109. package/dist/components/TekWallet/utils/stop.d.ts +3 -0
  110. package/dist/components/TekWallet/utils/stop.js +6 -0
  111. package/package.json +2 -2
  112. package/dist/components/TekWallet/components/ui/CardFrom/index.d.ts +0 -10
  113. package/dist/components/TekWallet/components/ui/CardFrom/index.js +0 -91
  114. package/dist/components/TekWallet/components/ui/CardTo/index.d.ts +0 -10
  115. package/dist/components/TekWallet/components/ui/CardTo/index.js +0 -39
  116. package/dist/components/TekWallet/components/ui/ConfirmLayout copy/index.d.ts +0 -7
  117. package/dist/components/TekWallet/components/ui/ConfirmLayout copy/index.js +0 -67
  118. package/dist/components/TekWallet/components/views/HelpView/index.d.ts +0 -2
  119. package/dist/components/TekWallet/components/views/HelpView/index.js +0 -7
@@ -0,0 +1,450 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
47
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
48
+ return new (P || (P = Promise))(function (resolve, reject) {
49
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
50
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
51
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
52
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
53
+ });
54
+ };
55
+ var __generator = (this && this.__generator) || function (thisArg, body) {
56
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
57
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
58
+ function verb(n) { return function (v) { return step([n, v]); }; }
59
+ function step(op) {
60
+ if (f) throw new TypeError("Generator is already executing.");
61
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
62
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
63
+ if (y = 0, t) op = [op[0] & 2, t.value];
64
+ switch (op[0]) {
65
+ case 0: case 1: t = op; break;
66
+ case 4: _.label++; return { value: op[1], done: false };
67
+ case 5: _.label++; y = op[1]; op = [0]; continue;
68
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
69
+ default:
70
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
71
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
72
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
73
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
74
+ if (t[2]) _.ops.pop();
75
+ _.trys.pop(); continue;
76
+ }
77
+ op = body.call(thisArg, _);
78
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
79
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
80
+ }
81
+ };
82
+ var __importDefault = (this && this.__importDefault) || function (mod) {
83
+ return (mod && mod.__esModule) ? mod : { "default": mod };
84
+ };
85
+ Object.defineProperty(exports, "__esModule", { value: true });
86
+ exports.default = Form;
87
+ var jsx_runtime_1 = require("react/jsx-runtime");
88
+ var material_1 = require("@mui/material");
89
+ var Input_1 = __importDefault(require("../../../ui/Input"));
90
+ var Formatter_1 = __importDefault(require("../../../ui/Formatter"));
91
+ var SvgPath_1 = require("../../../ui/SvgPath");
92
+ var Text_1 = __importDefault(require("../../../ui/Text"));
93
+ var providers_1 = require("../../../../providers");
94
+ var react_1 = require("react");
95
+ var validate_wallet_address_service_1 = __importDefault(require("../../../../services/axios/validate-wallet-address-service"));
96
+ var lodash_1 = require("lodash");
97
+ var Button_1 = __importStar(require("../../../ui/Button"));
98
+ var expose_1 = require("../../../../services/axios/expose");
99
+ var __1 = require("..");
100
+ var QrCodeReader_1 = __importDefault(require("../../../ui/QrCodeReader"));
101
+ var Icon_1 = __importDefault(require("../../../ui/Icon"));
102
+ var get_est_fee_service_1 = __importDefault(require("../../../../services/axios/get-est-fee-service"));
103
+ var type_1 = require("../../../../services/axios/get-activities-service/type");
104
+ var Fees_1 = __importStar(require("../../../ui/Fees"));
105
+ var xhub_keyboard_1 = require("xhub-keyboard");
106
+ var useUniqueId_1 = require("../../../../hooks/useUniqueId");
107
+ var DrawerComponent_1 = __importDefault(require("../../../ui/DrawerComponent"));
108
+ var ModalLayout_1 = __importDefault(require("../../../ui/ModalLayout"));
109
+ var SelectNetwork_1 = __importDefault(require("./SelectNetwork"));
110
+ var validateAddressDebounce = (0, lodash_1.debounce)(function (callback) {
111
+ callback();
112
+ }, 500, { leading: true, trailing: true });
113
+ var getEstimateFeeDebounce = (0, lodash_1.debounce)(function (callback) {
114
+ callback();
115
+ }, 500, { leading: true, trailing: true });
116
+ function Form(props) {
117
+ var _this = this;
118
+ var theme = (0, providers_1.useTheme)();
119
+ var selectedToken = props.selectedToken, onContinue = props.onContinue, sx = props.sx;
120
+ var _a = (0, react_1.useState)(""), recipientAddress = _a[0], setRecipientAddress = _a[1];
121
+ var _b = (0, react_1.useState)(), recipientAddressError = _b[0], setRecipientAddressError = _b[1];
122
+ var _c = (0, react_1.useState)(""), amount = _c[0], setAmount = _c[1];
123
+ var _d = (0, react_1.useState)(), amountErrorMessage = _d[0], setAmountErrorMessage = _d[1];
124
+ var _e = (0, react_1.useState)(), amountError = _e[0], setAmountError = _e[1];
125
+ var _f = (0, react_1.useState)(undefined), comment = _f[0], setComment = _f[1];
126
+ var _g = (0, react_1.useState)(false), isValidatingAddress = _g[0], setIsValidatingAddress = _g[1];
127
+ var scannerAddressQrCodeRef = (0, react_1.useRef)(null);
128
+ var _h = (0, react_1.useState)(false), isEstimatingFee = _h[0], setIsLoadingEstimateFee = _h[1];
129
+ var _j = (0, react_1.useState)(), estimateFee = _j[0], setEstimateFee = _j[1];
130
+ var _k = (0, react_1.useState)(false), isEnoughBalanceToPayFee = _k[0], setIsEnoughBalanceToPayFee = _k[1];
131
+ var _l = (0, react_1.useState)(false), isKeyboardOpen = _l[0], setIsKeyboardOpen = _l[1];
132
+ var _m = (0, react_1.useState)(), selectedNetwork = _m[0], setSelectedNetwork = _m[1];
133
+ var _o = (0, react_1.useState)([]), networks = _o[0], setNetworks = _o[1];
134
+ var selectNetworkDrawerRef = (0, react_1.useRef)(null);
135
+ var minValue = (0, react_1.useMemo)(function () { return +((selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.min_value) || 0); }, [selectedNetwork]);
136
+ var maxValue = (0, react_1.useMemo)(function () { return +((selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.max_value) || Infinity); }, [selectedNetwork]);
137
+ var balance = (0, react_1.useMemo)(function () { return +((selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.balance) || 0); }, [selectedToken]);
138
+ var keyboardId = (0, useUniqueId_1.useUniqueId)("form-keyboard");
139
+ var allowSelectNetwork = (0, react_1.useMemo)(function () {
140
+ return (networks === null || networks === void 0 ? void 0 : networks.length) >= 1 && !!recipientAddress && !recipientAddressError && !!selectedToken;
141
+ }, [networks, recipientAddress, recipientAddressError, selectedToken]);
142
+ var placeholder = (0, react_1.useMemo)(function () {
143
+ if (!!minValue && !!maxValue) {
144
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Formatter_1.default, { value: minValue }), " -", " ", (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: maxValue, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) })] }));
145
+ }
146
+ if (!!minValue && maxValue === Infinity) {
147
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Min ", (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: minValue, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) })] }));
148
+ }
149
+ if (!!maxValue && maxValue !== Infinity && !minValue) {
150
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Max ", (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: maxValue, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) })] }));
151
+ }
152
+ return "Enter amount";
153
+ }, [selectedToken, minValue, maxValue]);
154
+ var getEstimateFee = (0, react_1.useCallback)(function (amount) { return __awaiter(_this, void 0, void 0, function () {
155
+ var _this = this;
156
+ return __generator(this, function (_a) {
157
+ if (!selectedToken || !selectedNetwork) {
158
+ setIsLoadingEstimateFee(false);
159
+ setIsEnoughBalanceToPayFee(false);
160
+ return [2 /*return*/];
161
+ }
162
+ setIsLoadingEstimateFee(true);
163
+ getEstimateFeeDebounce(function () { return __awaiter(_this, void 0, void 0, function () {
164
+ var response;
165
+ return __generator(this, function (_a) {
166
+ switch (_a.label) {
167
+ case 0: return [4 /*yield*/, (0, get_est_fee_service_1.default)({
168
+ amount: "".concat(amount),
169
+ transaction_type: type_1.TransactionSlug.WITHDRAWN,
170
+ currency: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.slug) || "",
171
+ network_slug: (selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.slug) || "",
172
+ })];
173
+ case 1:
174
+ response = _a.sent();
175
+ setIsLoadingEstimateFee(false);
176
+ setEstimateFee(response === null || response === void 0 ? void 0 : response.data);
177
+ return [2 /*return*/];
178
+ }
179
+ });
180
+ }); });
181
+ return [2 /*return*/];
182
+ });
183
+ }); }, [selectedToken, selectedNetwork]);
184
+ var validateAmount = (0, react_1.useCallback)(function (amount) {
185
+ var isAmountGreaterThanMaxValue = +amount > maxValue;
186
+ var isAmountLessThanMinValue = +amount < minValue;
187
+ var isAmountGreaterThanBalance = +amount > balance;
188
+ if (isAmountLessThanMinValue) {
189
+ setAmountErrorMessage(__1.WithdrawAmountError.MIN_LIMIT);
190
+ setAmountError(minValue);
191
+ return false;
192
+ }
193
+ if (isAmountGreaterThanMaxValue) {
194
+ setAmountErrorMessage(__1.WithdrawAmountError.MAX_LIMIT);
195
+ setAmountError(maxValue);
196
+ return false;
197
+ }
198
+ if (isAmountGreaterThanBalance) {
199
+ setAmountErrorMessage(__1.WithdrawAmountError.INSUFFICIENT_BALANCE);
200
+ setAmountError(undefined);
201
+ return false;
202
+ }
203
+ setAmountError(undefined);
204
+ setAmountErrorMessage(undefined);
205
+ getEstimateFee(amount);
206
+ return true;
207
+ }, [minValue, maxValue, balance, getEstimateFee]);
208
+ var validateAddress = function (address) {
209
+ if (!address) {
210
+ setRecipientAddressError("The address is required");
211
+ return;
212
+ }
213
+ validateAddressDebounce(function () { return __awaiter(_this, void 0, void 0, function () {
214
+ var validateResult, message, networks_1;
215
+ var _a;
216
+ return __generator(this, function (_b) {
217
+ switch (_b.label) {
218
+ case 0:
219
+ setIsValidatingAddress(true);
220
+ return [4 /*yield*/, (0, validate_wallet_address_service_1.default)({
221
+ address: address,
222
+ })];
223
+ case 1:
224
+ validateResult = _b.sent();
225
+ console.warn("🚀 ~ validateAddress ~ validateResult:", validateResult);
226
+ setIsValidatingAddress(false);
227
+ message = validateResult.message;
228
+ if (message === expose_1.ValidateWalletAddressResultMessage.ERROR) {
229
+ setRecipientAddressError("Something went wrong, please try again");
230
+ return [2 /*return*/];
231
+ }
232
+ if (message === expose_1.ValidateWalletAddressResultMessage.IN_VALID) {
233
+ setRecipientAddressError("The address is invalid");
234
+ return [2 /*return*/];
235
+ }
236
+ if (message === expose_1.ValidateWalletAddressResultMessage.EXTERNAL_WALLET ||
237
+ message === expose_1.ValidateWalletAddressResultMessage.EXTERNAL_WALLET_BUT_ALSO_INTERNAL_WALLET) {
238
+ networks_1 = (_a = selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.network_data) === null || _a === void 0 ? void 0 : _a.filter(function (item) {
239
+ var _a, _b, _c, _d;
240
+ return (_d = (_c = (_b = (_a = validateResult === null || validateResult === void 0 ? void 0 : validateResult.data) === null || _a === void 0 ? void 0 : _a.networks) === null || _b === void 0 ? void 0 : _b.map) === null || _c === void 0 ? void 0 : _c.call(_b, function (nw) { return nw.id; })) === null || _d === void 0 ? void 0 : _d.includes(item.id);
241
+ });
242
+ console.warn("🚀 ~ validateAddress ~ networks:", networks_1);
243
+ if (!(networks_1 === null || networks_1 === void 0 ? void 0 : networks_1.length) || (networks_1 === null || networks_1 === void 0 ? void 0 : networks_1.length) < 1) {
244
+ setRecipientAddressError("Does not have available networks support for this address and selected token");
245
+ return [2 /*return*/];
246
+ }
247
+ setNetworks(networks_1 || []);
248
+ setSelectedNetwork(undefined);
249
+ setRecipientAddressError(undefined);
250
+ }
251
+ if (message === expose_1.ValidateWalletAddressResultMessage.IS_CURRENT_WALLET) {
252
+ setRecipientAddressError("You can not send to yourself wallet");
253
+ return [2 /*return*/];
254
+ }
255
+ if (message === expose_1.ValidateWalletAddressResultMessage.INTERNAL_WALLET) {
256
+ setRecipientAddressError("The address is not an on-chain wallet");
257
+ return [2 /*return*/];
258
+ }
259
+ return [2 /*return*/];
260
+ }
261
+ });
262
+ }); });
263
+ };
264
+ var handleChangeRecipientAddress = function (e) {
265
+ var address = e.target.value.trim();
266
+ setRecipientAddress(address);
267
+ validateAddress(address);
268
+ setSelectedNetwork(undefined);
269
+ setNetworks([]);
270
+ };
271
+ var handlePaste = function () { return __awaiter(_this, void 0, void 0, function () {
272
+ var text, address;
273
+ return __generator(this, function (_a) {
274
+ switch (_a.label) {
275
+ case 0: return [4 /*yield*/, navigator.clipboard.readText()];
276
+ case 1:
277
+ text = _a.sent();
278
+ address = text.trim();
279
+ if (!address) {
280
+ return [2 /*return*/];
281
+ }
282
+ handleChangeRecipientAddress({
283
+ target: { value: address },
284
+ });
285
+ return [2 /*return*/];
286
+ }
287
+ });
288
+ }); };
289
+ var handleClearRecipientAddress = function () {
290
+ handleChangeRecipientAddress({
291
+ target: { value: "" },
292
+ });
293
+ };
294
+ var handleScanAddressQrCode = function (result) { return __awaiter(_this, void 0, void 0, function () {
295
+ var text, address, isReceiveInternal, data;
296
+ var _a;
297
+ return __generator(this, function (_b) {
298
+ closeScannerAddressQrCode();
299
+ text = (_a = result === null || result === void 0 ? void 0 : result[0]) === null || _a === void 0 ? void 0 : _a.rawValue;
300
+ address = "";
301
+ isReceiveInternal = text === null || text === void 0 ? void 0 : text.includes("isTekWalletReceiveInternal");
302
+ if (isReceiveInternal) {
303
+ data = JSON.parse(text);
304
+ address = data === null || data === void 0 ? void 0 : data.address;
305
+ }
306
+ else {
307
+ address = text;
308
+ }
309
+ if (!address)
310
+ return [2 /*return*/];
311
+ handleChangeRecipientAddress({
312
+ target: { value: address },
313
+ });
314
+ return [2 /*return*/];
315
+ });
316
+ }); };
317
+ var handleChangeAmount = function (e) {
318
+ var amount = e.target.value;
319
+ setAmount(amount);
320
+ };
321
+ var handleKeyboardChangeAmount = function (amount) {
322
+ handleChangeAmount({
323
+ target: { value: amount },
324
+ });
325
+ };
326
+ var handleClickMaxAmount = function () {
327
+ var amount = Math.min(balance, maxValue);
328
+ handleChangeAmount({
329
+ target: { value: amount || "" },
330
+ });
331
+ };
332
+ var handleChangeComment = function (e) {
333
+ setComment(e.target.value);
334
+ };
335
+ var handleContinue = function () {
336
+ var _a;
337
+ if (!selectedNetwork)
338
+ return;
339
+ onContinue === null || onContinue === void 0 ? void 0 : onContinue({
340
+ amount: ((_a = amount === null || amount === void 0 ? void 0 : amount.toString) === null || _a === void 0 ? void 0 : _a.call(amount)) || "",
341
+ to_address: recipientAddress,
342
+ currency_slug: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.slug) || "",
343
+ network: selectedNetwork,
344
+ memo: comment || "",
345
+ network_address: recipientAddress,
346
+ extraTransactions: null,
347
+ }, estimateFee);
348
+ };
349
+ var openScannerAddressQrCode = function () {
350
+ var _a;
351
+ (_a = scannerAddressQrCodeRef.current) === null || _a === void 0 ? void 0 : _a.open();
352
+ };
353
+ var closeScannerAddressQrCode = function () {
354
+ var _a;
355
+ (_a = scannerAddressQrCodeRef.current) === null || _a === void 0 ? void 0 : _a.close();
356
+ };
357
+ var handleKeyboardOpen = function () {
358
+ setIsKeyboardOpen(true);
359
+ };
360
+ var handleKeyboardClose = function () {
361
+ setIsKeyboardOpen(false);
362
+ };
363
+ var closeSelectNetwork = function () {
364
+ var _a;
365
+ (_a = selectNetworkDrawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
366
+ };
367
+ var handleChangeNetwork = function (network) {
368
+ setSelectedNetwork(network);
369
+ closeSelectNetwork();
370
+ };
371
+ (0, react_1.useEffect)(function () {
372
+ validateAmount((amount === null || amount === void 0 ? void 0 : amount.toString()) || "");
373
+ }, [amount, validateAmount]);
374
+ return ((0, jsx_runtime_1.jsx)(xhub_keyboard_1.Keyboard, { styles: {
375
+ container: {
376
+ height: "100%",
377
+ },
378
+ }, id: keyboardId, onChange: handleKeyboardChangeAmount, keyboardType: xhub_keyboard_1.KeyboardType.Double, value: amount === null || amount === void 0 ? void 0 : amount.toString(), keyboardId: "form-amount-keyboard-id", onOpen: handleKeyboardOpen, onClose: handleKeyboardClose, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign(__assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g16, minHeight: "100%", transition: "padding-bottom 0.3s ease-in-out" }), sx), (isKeyboardOpen
379
+ ? {
380
+ paddingBottom: theme.mixins.customPadding.p8,
381
+ }
382
+ : {})), 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.jsx)(Text_1.default, { sx: {
383
+ fontSize: theme.typography.fontSize14,
384
+ color: theme.palette.text.black,
385
+ fontWeight: theme.typography.fontWeight700,
386
+ }, children: "Wallet address" }), (0, jsx_runtime_1.jsx)(Input_1.default, { sx: {
387
+ paddingX: theme.mixins.customPadding.p16,
388
+ }, inputRest: {
389
+ placeholder: "Enter recipient address",
390
+ value: recipientAddress,
391
+ onChange: handleChangeRecipientAddress,
392
+ id: "recipient-address-input-id",
393
+ }, rightPart: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8 }), children: !!recipientAddress ? ((0, jsx_runtime_1.jsx)("label", { htmlFor: "recipient-address-input-id", children: (0, jsx_runtime_1.jsx)(material_1.Box, { onClick: handleClearRecipientAddress, sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8, cursor: "pointer" }), children: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 12, height: 12 }, children: SvgPath_1.IC_CLOSE }) }) })) : ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8 }), children: [(0, jsx_runtime_1.jsx)(material_1.Box, { onClick: openScannerAddressQrCode, children: (0, jsx_runtime_1.jsx)(Icon_1.default, { iconKey: "IC_SCAN", sx: { width: 18, height: 18 } }) }), (0, jsx_runtime_1.jsx)(material_1.Divider, { orientation: "vertical", variant: "fullWidth", flexItem: true }), (0, jsx_runtime_1.jsx)(material_1.Box, { onClick: handlePaste, children: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 18, height: 18 }, children: SvgPath_1.IC_DOCUMENTS }) })] })) }) }), !!recipientAddressError && ((0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.validationError), children: recipientAddressError }))] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g8, opacity: allowSelectNetwork ? 1 : 0.5, pointerEvents: allowSelectNetwork ? "auto" : "none" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
394
+ fontSize: theme.typography.fontSize14,
395
+ color: theme.palette.text.black,
396
+ fontWeight: theme.typography.fontWeight700,
397
+ }, children: "Network" }), (0, jsx_runtime_1.jsx)(DrawerComponent_1.default, { ref: selectNetworkDrawerRef, trigger: (0, jsx_runtime_1.jsx)(Input_1.default, { sx: {
398
+ paddingLeft: theme.mixins.customPadding.p12,
399
+ paddingRight: theme.mixins.customPadding.p16,
400
+ }, inputRest: {
401
+ placeholder: "Select a network",
402
+ value: (selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.name) || "",
403
+ onChange: handleChangeRecipientAddress,
404
+ inputProps: {
405
+ readOnly: true,
406
+ },
407
+ }, leftPart: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8 }), children: (0, jsx_runtime_1.jsx)(Icon_1.default, { iconKey: "IC_NETWORK", src: (selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.link) || undefined, sx: { width: 24, height: 24 } }) }), rightPart: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { display: "block" }, children: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 10, height: 18, display: "block" }, children: SvgPath_1.ARROW_DOWN }) }) }), children: (0, jsx_runtime_1.jsx)(ModalLayout_1.default, { title: "Select network", onClose: closeSelectNetwork, children: (0, jsx_runtime_1.jsx)(SelectNetwork_1.default, { networks: networks, selectedNetwork: selectedNetwork, selectedToken: selectedToken, onChangeNetwork: handleChangeNetwork }) }) })] }), (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), { gap: theme.mixins.gaps.g8, alignItems: "center", justifyContent: "space-between" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
408
+ fontSize: theme.typography.fontSize14,
409
+ color: theme.palette.text.black,
410
+ fontWeight: theme.typography.fontWeight700,
411
+ }, children: "Withdrawal amount" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8, alignItems: "center" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { fontSize: theme.typography.fontSize11, color: theme.palette.text.accent }), children: "Your balance " }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { fontSize: theme.typography.fontSize12, color: theme.palette.text.black, fontWeight: theme.typography.fontWeight700 }), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: balance, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) }) })] })] }), (0, jsx_runtime_1.jsx)(xhub_keyboard_1.Label, { htmlFor: keyboardId, children: (0, jsx_runtime_1.jsx)(xhub_keyboard_1.Input, { elementsAcceptIds: ["form-amount-keyboard-id"], value: amount === null || amount === void 0 ? void 0 : amount.toString(), displayType: xhub_keyboard_1.DisplayType.Double, placeholder: ((0, jsx_runtime_1.jsx)(material_1.Box, { component: "span", sx: { pointerEvents: "none" }, children: placeholder })), styles: {
412
+ container: {
413
+ paddingRight: theme.mixins.customPadding.p4,
414
+ paddingLeft: theme.mixins.customPadding.p16,
415
+ paddingTop: theme.mixins.customPadding.p4,
416
+ paddingBottom: theme.mixins.customPadding.p4,
417
+ border: "1px ".concat(theme.palette.border.primary, " solid"),
418
+ borderRadius: theme.mixins.customRadius.r8,
419
+ },
420
+ }, rightElement: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8 }), children: (0, jsx_runtime_1.jsx)(material_1.Box, { onClick: handleClickMaxAmount, sx: {
421
+ background: theme.palette.background.tertiary,
422
+ color: theme.palette.text.black,
423
+ fontSize: theme.typography.fontSize11,
424
+ fontWeight: theme.typography.fontWeight700,
425
+ borderRadius: theme.mixins.customRadius.r4,
426
+ paddingX: theme.mixins.customPadding.p16,
427
+ paddingY: theme.mixins.customPadding.p8,
428
+ border: "0px solid",
429
+ cursor: "pointer",
430
+ }, children: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
431
+ fontSize: theme.typography.fontSize12,
432
+ color: theme.palette.text.primary,
433
+ fontWeight: theme.typography.fontWeight500,
434
+ }, children: "Max" }) }) }) }) }), !!amountErrorMessage && ((0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign({}, theme.mixins.validationError), children: [amountErrorMessage, " ", !!amountError && (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: amountError, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g8 }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
435
+ fontSize: theme.typography.fontSize14,
436
+ color: theme.palette.text.black,
437
+ fontWeight: theme.typography.fontWeight700,
438
+ }, children: "Comment" }), (0, jsx_runtime_1.jsx)(Input_1.default, { inputRest: {
439
+ placeholder: "Enter comment if needed",
440
+ value: comment,
441
+ onChange: handleChangeComment,
442
+ } }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.validationDescription), children: "Enter comment if your receiving platform requires one to avoid losing your funds." })] }), (0, jsx_runtime_1.jsx)(Fees_1.default, { isFeePaidByAmount: true, feesData: estimateFee, amount: +amount, tokenSlug: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.slug) || "", feesStyle: Fees_1.FeesStyle.WITH_BACKGROUND, setIsEnoughBalanceToPayFee: setIsEnoughBalanceToPayFee }), (0, jsx_runtime_1.jsx)(QrCodeReader_1.default, { ref: scannerAddressQrCodeRef, onResult: handleScanAddressQrCode }), (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { loading: isValidatingAddress || isEstimatingFee, onClick: handleContinue, status: !recipientAddress ||
443
+ !selectedNetwork ||
444
+ !amount ||
445
+ !!recipientAddressError ||
446
+ !!amountError ||
447
+ !isEnoughBalanceToPayFee
448
+ ? Button_1.BUTTON_STATUS.DISABLED
449
+ : Button_1.BUTTON_STATUS.ENABLED, sx: { width: "100%", marginTop: "auto" }, children: "Continue" })] }) }));
450
+ }
@@ -0,0 +1,14 @@
1
+ import { ReactEventHandler } from "react";
2
+ import { WithdrawCurrency } from "../../../../services/axios/get-withdraw-tokens-list-service/type";
3
+ import { FeesDataType } from "../../../../services/axios/get-est-fee-service/type";
4
+ import { SendExternalResponse } from "../../../../services/axios/send-external-service/type";
5
+ import { SendExternalDataType } from "../../../ui/ConfirmSendExternal";
6
+ interface ResultProps {
7
+ transaction?: SendExternalResponse["data"];
8
+ onDone?: ReactEventHandler;
9
+ payload?: SendExternalDataType;
10
+ estimateFee?: FeesDataType;
11
+ selectedToken?: WithdrawCurrency;
12
+ }
13
+ export default function Result(props: ResultProps): import("react/jsx-runtime").JSX.Element;
14
+ export type { ResultProps };
@@ -0,0 +1,140 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
47
+ return (mod && mod.__esModule) ? mod : { "default": mod };
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.default = Result;
51
+ var jsx_runtime_1 = require("react/jsx-runtime");
52
+ var material_1 = require("@mui/material");
53
+ var Text_1 = __importDefault(require("../../../ui/Text"));
54
+ var InlineTitleValue_1 = __importDefault(require("../../../ui/InlineTitleValue"));
55
+ var CopyTextComponent_1 = __importDefault(require("../../../ui/CopyTextComponent"));
56
+ var SvgPath_1 = require("../../../ui/SvgPath");
57
+ var Fees_1 = __importStar(require("../../../ui/Fees"));
58
+ var safeText_1 = require("../../../../utils/safeText");
59
+ var react_1 = require("react");
60
+ var Button_1 = __importDefault(require("../../../ui/Button"));
61
+ var providers_1 = require("../../../../providers");
62
+ var Formatter_1 = __importDefault(require("../../../ui/Formatter"));
63
+ var Icon_1 = __importDefault(require("../../../ui/Icon"));
64
+ var useFormatter_1 = __importDefault(require("../../../../hooks/useFormatter"));
65
+ var getIconKey = function (status) {
66
+ if (status === "success")
67
+ return "IC_CHECK_CIRCLE";
68
+ if (status === "failed")
69
+ return "IC_ERROR_CIRCLE";
70
+ return "IC_PROCESSING_CIRCLE";
71
+ };
72
+ function Result(props) {
73
+ var _a;
74
+ var theme = (0, providers_1.useTheme)();
75
+ var formatDate = (0, useFormatter_1.default)().formatDate;
76
+ var response = props.transaction, onDone = props.onDone, payload = props.payload, selectedToken = props.selectedToken;
77
+ var status = (0, react_1.useMemo)(function () { return (response === null || response === void 0 ? void 0 : response.transaction_status) || "failed"; }, [response === null || response === void 0 ? void 0 : response.transaction_status]);
78
+ var recipientAddress = (0, react_1.useMemo)(function () { return (response === null || response === void 0 ? void 0 : response.to_address) || (payload === null || payload === void 0 ? void 0 : payload.to_address); }, [response === null || response === void 0 ? void 0 : response.to_address, payload === null || payload === void 0 ? void 0 : payload.to_address]);
79
+ var amount = (0, react_1.useMemo)(function () { return (response === null || response === void 0 ? void 0 : response.amount) || (payload === null || payload === void 0 ? void 0 : payload.amount); }, [response === null || response === void 0 ? void 0 : response.amount, payload === null || payload === void 0 ? void 0 : payload.amount]);
80
+ var message = (0, react_1.useMemo)(function () { return (response === null || response === void 0 ? void 0 : response.description) || (payload === null || payload === void 0 ? void 0 : payload.memo); }, [response === null || response === void 0 ? void 0 : response.description, payload === null || payload === void 0 ? void 0 : payload.memo]);
81
+ var feeInfo = (0, react_1.useMemo)(function () { return response === null || response === void 0 ? void 0 : response.fee_info; }, [response === null || response === void 0 ? void 0 : response.fee_info]);
82
+ var dateCreated = (0, react_1.useMemo)(function () { return response === null || response === void 0 ? void 0 : response.date_created; }, [response === null || response === void 0 ? void 0 : response.date_created]);
83
+ var tokenName = (0, react_1.useMemo)(function () { var _a; return ((_a = response === null || response === void 0 ? void 0 : response.currency_data) === null || _a === void 0 ? void 0 : _a.name) || (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name); }, [(_a = response === null || response === void 0 ? void 0 : response.currency_data) === null || _a === void 0 ? void 0 : _a.name, selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name]);
84
+ var networkInfo = (0, react_1.useMemo)(function () { return (response === null || response === void 0 ? void 0 : response.network_data) || (payload === null || payload === void 0 ? void 0 : payload.network); }, [response === null || response === void 0 ? void 0 : response.network_data, payload === null || payload === void 0 ? void 0 : payload.network]);
85
+ return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
86
+ display: "flex",
87
+ flexDirection: "column",
88
+ gap: 3,
89
+ height: "100%",
90
+ }, children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
91
+ display: "flex",
92
+ flexDirection: "column",
93
+ alignItems: "center",
94
+ gap: theme.mixins.gaps.g16,
95
+ my: "auto",
96
+ backgroundColor: theme.palette.background.tertiary,
97
+ borderRadius: theme.mixins.customRadius.r16,
98
+ padding: theme.mixins.customPadding.p16,
99
+ paddingTop: "0px",
100
+ }, children: [(0, jsx_runtime_1.jsx)(Icon_1.default, { iconKey: getIconKey(status), width: 100, sx: {
101
+ transform: "translateY(-50%)",
102
+ } }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
103
+ display: "flex",
104
+ flexDirection: "column",
105
+ alignItems: "center",
106
+ }, children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
107
+ fontSize: theme.typography.fontSize13,
108
+ color: theme.palette.text.accent2,
109
+ }, children: "Withdraw" }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
110
+ color: theme.palette.text.primary,
111
+ textTransform: "capitalize",
112
+ fontWeight: 600,
113
+ fontSize: theme.typography.fontSize24,
114
+ }, children: status })] }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: "100%", borderTop: "1px ".concat(theme.palette.border.accent3, " solid") } }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.bigValue), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { start: "- ", value: amount, unit: tokenName }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: "100%", borderTop: "1px ".concat(theme.palette.border.accent3, " solid") } }), (0, jsx_runtime_1.jsx)(InlineTitleValue_1.default, { title: "Recipient address", titleStyle: {
115
+ fontSize: "0.6875rem",
116
+ fontWeight: 500,
117
+ color: "gray.700",
118
+ }, 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: {
119
+ width: 16,
120
+ height: 16,
121
+ }, children: SvgPath_1.IC_COPY })] }) }), isAligned: true }), (0, jsx_runtime_1.jsx)(InlineTitleValue_1.default, { title: "Network", titleStyle: {
122
+ fontSize: "0.6875rem",
123
+ fontWeight: 500,
124
+ color: "gray.700",
125
+ }, value: (0, jsx_runtime_1.jsxs)(material_1.Box, { className: "flex gap-2 items-center", children: [(0, jsx_runtime_1.jsx)(Icon_1.default, { src: networkInfo === null || networkInfo === void 0 ? void 0 : networkInfo.link, width: 20 }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: networkInfo === null || networkInfo === void 0 ? void 0 : networkInfo.name })] }), isAligned: true }), message && ((0, jsx_runtime_1.jsx)(InlineTitleValue_1.default, { title: "Message", titleStyle: {
126
+ fontSize: "0.6875rem",
127
+ fontWeight: 500,
128
+ color: "gray.700",
129
+ }, value: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: message }), isAligned: true })), dateCreated && ((0, jsx_runtime_1.jsx)(InlineTitleValue_1.default, { title: "Date time", titleStyle: {
130
+ fontSize: "0.6875rem",
131
+ fontWeight: 500,
132
+ color: "gray.700",
133
+ }, value: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: formatDate(dateCreated, true) }), isAligned: true })), !!feeInfo && ((0, jsx_runtime_1.jsx)(Fees_1.default, { isFeePaidByAmount: true, feesData: feeInfo, amount: +(amount || 0), tokenSlug: (response === null || response === void 0 ? void 0 : response.currency_slug) || "", feesStyle: Fees_1.FeesStyle.DEFAULT }))] }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
134
+ marginTop: "auto",
135
+ width: "100%",
136
+ display: "grid",
137
+ gridTemplateColumns: "1fr",
138
+ gap: theme.mixins.gaps.g8,
139
+ }, children: (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { sx: { width: "100%" }, onClick: onDone, children: "Done" }) })] }));
140
+ }
@@ -0,0 +1,10 @@
1
+ import { NetworkData } from "../../../../services/axios/type";
2
+ import { WithdrawCurrency } from "../../../../services/axios/get-withdraw-tokens-list-service/type";
3
+ export interface SelectNetworkProps {
4
+ networks?: NetworkData[];
5
+ selectedNetwork?: NetworkData;
6
+ selectedToken?: WithdrawCurrency;
7
+ onChangeNetwork?: (network?: NetworkData) => void;
8
+ }
9
+ declare function SelectNetwork(props: SelectNetworkProps): import("react/jsx-runtime").JSX.Element;
10
+ export default SelectNetwork;