tek-wallet 0.0.749 → 0.0.752
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/README.md +18 -10
- package/dist/components/TekWallet/components/index.d.ts +1 -0
- package/dist/components/TekWallet/components/index.js +1 -0
- package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.d.ts +16 -0
- package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.js +93 -0
- package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.d.ts +15 -0
- package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.js +92 -0
- package/dist/components/TekWallet/components/ui/ConfirmTransaction/index.d.ts +6 -2
- package/dist/components/TekWallet/components/ui/ConfirmTransaction/index.js +11 -6
- package/dist/components/TekWallet/components/ui/ConfirmTransfer/index.d.ts +28 -0
- package/dist/components/TekWallet/components/ui/ConfirmTransfer/index.js +253 -0
- package/dist/components/TekWallet/components/ui/ConfirmTransfer/type.d.ts +16 -0
- package/dist/components/TekWallet/components/ui/ConfirmTransfer/type.js +2 -0
- package/dist/components/TekWallet/components/ui/ReceiveFunction/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,14 +18,7 @@ import { TekWalletProvider } from "tek-wallet";
|
|
|
18
18
|
<YourApp />
|
|
19
19
|
</TekWalletProvider>;
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
import theme from "path-to-your-theme";
|
|
23
|
-
|
|
24
|
-
<TekWalletProvider
|
|
25
|
-
isSSO
|
|
26
|
-
accessToken={accessToken}
|
|
27
|
-
theme={theme} // Truyền theme nếu sử dụng MUI
|
|
28
|
-
>
|
|
21
|
+
<TekWalletProvider isSSO accessToken={accessToken}>
|
|
29
22
|
<YourApp />
|
|
30
23
|
</TekWalletProvider>;
|
|
31
24
|
```
|
|
@@ -50,7 +43,9 @@ NEXT_PUBLIC_TEK_WALLET_ABLY_API_KEY=your_ably_api_key
|
|
|
50
43
|
Component này được sử dụng để kiểm tra trạng thái kết nối ví trước khi thực hiện các hành động yêu cầu ví phải được kết nối.
|
|
51
44
|
|
|
52
45
|
```jsx
|
|
53
|
-
import { RequiredConnect } from "tek
|
|
46
|
+
import { RequiredConnect, useWallet } from "tek-wallet";
|
|
47
|
+
|
|
48
|
+
const { tokens } = useWallet();
|
|
54
49
|
|
|
55
50
|
<RequiredConnect>
|
|
56
51
|
<Button.Primary onClick={() => console.log(tokens)}>Log balances</Button.Primary>
|
|
@@ -81,6 +76,14 @@ Component hiển thị tài sản trong ví.
|
|
|
81
76
|
|
|
82
77
|
Component xử lý chức năng rút token.
|
|
83
78
|
|
|
79
|
+
### ConfirmSendExternal
|
|
80
|
+
|
|
81
|
+
Component xử lý chức năng rút token bản đơn giản (khả năng custom cao).
|
|
82
|
+
|
|
83
|
+
### ConfirmSendInternal
|
|
84
|
+
|
|
85
|
+
Component xử lý chức năng chuyển nội bộ bản đơn giản (khả năng custom cao).
|
|
86
|
+
|
|
84
87
|
## States
|
|
85
88
|
|
|
86
89
|
### Wallet States
|
|
@@ -133,6 +136,12 @@ Component xử lý chức năng rút token.
|
|
|
133
136
|
| `updateReceiveExternalToken()` | Cập nhật danh sách các token được phép nhận từ bên ngoài |
|
|
134
137
|
| `updateReceiveInternalToken()` | Cập nhật danh sách các token được phép nhận nội bộ |
|
|
135
138
|
|
|
139
|
+
### Validation
|
|
140
|
+
|
|
141
|
+
| Method | Description |
|
|
142
|
+
| -------------------------------- | ------------------------------------ |
|
|
143
|
+
| `validateWalletAddressService()` | Validate địa chỉ ví nội bộ / Onchain |
|
|
144
|
+
|
|
136
145
|
### Notification
|
|
137
146
|
|
|
138
147
|
| Method | Description |
|
|
@@ -150,7 +159,6 @@ Component xử lý chức năng rút token.
|
|
|
150
159
|
|
|
151
160
|
## Lưu ý
|
|
152
161
|
|
|
153
|
-
- Khi sử dụng MUI, hãy truyền theme vào TekWalletProvider để giữ nguyên các cấu hình theme của bạn
|
|
154
162
|
- Đảm bảo luôn sử dụng RequiredConnect cho các hành động yêu cầu ví phải được kết nối
|
|
155
163
|
- Các biến môi trường phải được cấu hình đúng để đảm bảo ứng dụng hoạt động chính xác
|
|
156
164
|
|
|
@@ -29,3 +29,4 @@ __exportStar(require("./ui/TransferConfirmation"), exports);
|
|
|
29
29
|
__exportStar(require("./ui/Formatter"), exports);
|
|
30
30
|
__exportStar(require("./ui/TokenItem"), exports);
|
|
31
31
|
__exportStar(require("./ui/ConfirmTransferInternal"), exports);
|
|
32
|
+
__exportStar(require("./ui/Button"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ConfirmLayoutProps } from "../ConfirmLayout";
|
|
2
|
+
import { SendExternalBody, SendExternalResponse } from "../../../services/axios/send-external-service/type";
|
|
3
|
+
import { NetworkData } from "../../../services/axios/type";
|
|
4
|
+
export interface SendExternalDataType extends Omit<SendExternalBody, "network" | "passcode"> {
|
|
5
|
+
network: NetworkData;
|
|
6
|
+
}
|
|
7
|
+
export interface ConfirmSendExternalProps extends Omit<ConfirmLayoutProps, "action"> {
|
|
8
|
+
payload: SendExternalDataType;
|
|
9
|
+
onSuccess?: (data: SendExternalResponse) => unknown;
|
|
10
|
+
onStart?: () => void;
|
|
11
|
+
onFinally?: () => void;
|
|
12
|
+
onError?: (error: Error | unknown) => void;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export declare const ConfirmSendExternal: ({ payload, onSuccess, onStart, onFinally, onError, children, }: ConfirmSendExternalProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default ConfirmSendExternal;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __assign = (this && this.__assign) || function () {
|
|
4
|
+
__assign = Object.assign || function(t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
+
t[p] = s[p];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
return __assign.apply(this, arguments);
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
24
|
+
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);
|
|
25
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
26
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
27
|
+
function step(op) {
|
|
28
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
29
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
30
|
+
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;
|
|
31
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
32
|
+
switch (op[0]) {
|
|
33
|
+
case 0: case 1: t = op; break;
|
|
34
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
35
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
36
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
37
|
+
default:
|
|
38
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
39
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
40
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
41
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
42
|
+
if (t[2]) _.ops.pop();
|
|
43
|
+
_.trys.pop(); continue;
|
|
44
|
+
}
|
|
45
|
+
op = body.call(thisArg, _);
|
|
46
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
47
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.ConfirmSendExternal = void 0;
|
|
55
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
56
|
+
var ConfirmByPasscode_1 = __importDefault(require("../ConfirmByPasscode"));
|
|
57
|
+
var send_external_service_1 = __importDefault(require("../../../services/axios/send-external-service"));
|
|
58
|
+
var ConfirmSendExternal = function (_a) {
|
|
59
|
+
var payload = _a.payload, onSuccess = _a.onSuccess, onStart = _a.onStart, onFinally = _a.onFinally, onError = _a.onError, children = _a.children;
|
|
60
|
+
var network = payload.network;
|
|
61
|
+
var handleConfirmSendExternal = function (passcode) { return __awaiter(void 0, void 0, void 0, function () {
|
|
62
|
+
var response, err_1;
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
_a.trys.push([0, 2, 3, 4]);
|
|
67
|
+
onStart === null || onStart === void 0 ? void 0 : onStart();
|
|
68
|
+
return [4 /*yield*/, (0, send_external_service_1.default)(__assign(__assign({}, payload), { network: network.slug, passcode: passcode }))];
|
|
69
|
+
case 1:
|
|
70
|
+
response = _a.sent();
|
|
71
|
+
if (response.success) {
|
|
72
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
throw new Error("Send external failed", { cause: response });
|
|
76
|
+
}
|
|
77
|
+
return [3 /*break*/, 4];
|
|
78
|
+
case 2:
|
|
79
|
+
err_1 = _a.sent();
|
|
80
|
+
console.error(err_1);
|
|
81
|
+
onError === null || onError === void 0 ? void 0 : onError(err_1);
|
|
82
|
+
return [3 /*break*/, 4];
|
|
83
|
+
case 3:
|
|
84
|
+
onFinally === null || onFinally === void 0 ? void 0 : onFinally();
|
|
85
|
+
return [7 /*endfinally*/];
|
|
86
|
+
case 4: return [2 /*return*/];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}); };
|
|
90
|
+
return ((0, jsx_runtime_1.jsx)(ConfirmByPasscode_1.default, { onConfirmSuccess: handleConfirmSendExternal, children: children }));
|
|
91
|
+
};
|
|
92
|
+
exports.ConfirmSendExternal = ConfirmSendExternal;
|
|
93
|
+
exports.default = exports.ConfirmSendExternal;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TransferInternalBody, TransferInternalResponse } from "../../../services/axios/transfer-internal-service/type";
|
|
2
|
+
export interface SendInternalDataType extends Omit<TransferInternalBody, "passcode"> {
|
|
3
|
+
}
|
|
4
|
+
export interface SendInternalResponse extends TransferInternalResponse {
|
|
5
|
+
}
|
|
6
|
+
export interface ConfirmSendInternalProps {
|
|
7
|
+
payload: SendInternalDataType;
|
|
8
|
+
onSuccess?: (data: SendInternalResponse) => unknown;
|
|
9
|
+
onStart?: () => void;
|
|
10
|
+
onFinally?: () => void;
|
|
11
|
+
onError?: (error: Error | unknown) => void;
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export declare function ConfirmSendInternal({ payload, onSuccess, onStart, onFinally, onError, children, }: ConfirmSendInternalProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export default ConfirmSendInternal;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __assign = (this && this.__assign) || function () {
|
|
4
|
+
__assign = Object.assign || function(t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
+
t[p] = s[p];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
return __assign.apply(this, arguments);
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
24
|
+
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);
|
|
25
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
26
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
27
|
+
function step(op) {
|
|
28
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
29
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
30
|
+
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;
|
|
31
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
32
|
+
switch (op[0]) {
|
|
33
|
+
case 0: case 1: t = op; break;
|
|
34
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
35
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
36
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
37
|
+
default:
|
|
38
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
39
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
40
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
41
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
42
|
+
if (t[2]) _.ops.pop();
|
|
43
|
+
_.trys.pop(); continue;
|
|
44
|
+
}
|
|
45
|
+
op = body.call(thisArg, _);
|
|
46
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
47
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
51
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.ConfirmSendInternal = ConfirmSendInternal;
|
|
55
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
56
|
+
var transfer_internal_service_1 = __importDefault(require("../../../services/axios/transfer-internal-service"));
|
|
57
|
+
var ConfirmByPasscode_1 = __importDefault(require("../ConfirmByPasscode"));
|
|
58
|
+
function ConfirmSendInternal(_a) {
|
|
59
|
+
var _this = this;
|
|
60
|
+
var payload = _a.payload, onSuccess = _a.onSuccess, onStart = _a.onStart, onFinally = _a.onFinally, onError = _a.onError, children = _a.children;
|
|
61
|
+
var handleConfirmSendInternal = function (passcode) { return __awaiter(_this, void 0, void 0, function () {
|
|
62
|
+
var response, err_1;
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
_a.trys.push([0, 2, 3, 4]);
|
|
67
|
+
onStart === null || onStart === void 0 ? void 0 : onStart();
|
|
68
|
+
return [4 /*yield*/, (0, transfer_internal_service_1.default)(__assign(__assign({}, payload), { passcode: passcode }))];
|
|
69
|
+
case 1:
|
|
70
|
+
response = _a.sent();
|
|
71
|
+
if (response.success) {
|
|
72
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
throw new Error("Send internal failed", { cause: response });
|
|
76
|
+
}
|
|
77
|
+
return [3 /*break*/, 4];
|
|
78
|
+
case 2:
|
|
79
|
+
err_1 = _a.sent();
|
|
80
|
+
console.error(err_1);
|
|
81
|
+
onError === null || onError === void 0 ? void 0 : onError(err_1);
|
|
82
|
+
return [3 /*break*/, 4];
|
|
83
|
+
case 3:
|
|
84
|
+
onFinally === null || onFinally === void 0 ? void 0 : onFinally();
|
|
85
|
+
return [7 /*endfinally*/];
|
|
86
|
+
case 4: return [2 /*return*/];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}); };
|
|
90
|
+
return ((0, jsx_runtime_1.jsx)(ConfirmByPasscode_1.default, { onConfirmSuccess: handleConfirmSendInternal, children: children }));
|
|
91
|
+
}
|
|
92
|
+
exports.default = ConfirmSendInternal;
|
|
@@ -2,13 +2,17 @@ import React, { PropsWithChildren, HTMLAttributes } from "react";
|
|
|
2
2
|
import { BUTTON_STATUS } from "../Button";
|
|
3
3
|
import { InstructionBody } from "../../../services/axios/instructions-service/type";
|
|
4
4
|
import { GeneralProps } from "../../../types/ui";
|
|
5
|
+
import { InstructionResponse } from "../../../services/axios/instructions-service/response.type";
|
|
5
6
|
type ConfirmTransactionProps = {
|
|
6
7
|
transactionSlug: string;
|
|
7
8
|
transactionData: Omit<InstructionBody, "passcode">;
|
|
8
9
|
renderChildren: (props: PropsWithChildren<HTMLAttributes<HTMLElement>> & {
|
|
9
10
|
status: BUTTON_STATUS;
|
|
10
11
|
}) => React.ReactElement<any>;
|
|
11
|
-
|
|
12
|
+
onSuccess?: (data: InstructionResponse) => void;
|
|
13
|
+
onError?: (error: any) => void;
|
|
14
|
+
onStart?: () => void;
|
|
15
|
+
onFinally?: () => void;
|
|
12
16
|
} & GeneralProps;
|
|
13
|
-
export declare function ConfirmTransaction({ renderChildren, transactionSlug, transactionData,
|
|
17
|
+
export declare function ConfirmTransaction({ renderChildren, transactionSlug, transactionData, onSuccess, onError, onStart, onFinally, }: ConfirmTransactionProps): import("react/jsx-runtime").JSX.Element;
|
|
14
18
|
export default ConfirmTransaction;
|
|
@@ -59,35 +59,40 @@ var Button_1 = require("../Button");
|
|
|
59
59
|
var instructions_service_1 = __importDefault(require("../../../services/axios/instructions-service"));
|
|
60
60
|
function ConfirmTransaction(_a) {
|
|
61
61
|
var _this = this;
|
|
62
|
-
var renderChildren = _a.renderChildren, transactionSlug = _a.transactionSlug, transactionData = _a.transactionData,
|
|
62
|
+
var renderChildren = _a.renderChildren, transactionSlug = _a.transactionSlug, transactionData = _a.transactionData, onSuccess = _a.onSuccess, onError = _a.onError, onStart = _a.onStart, onFinally = _a.onFinally;
|
|
63
63
|
var _b = (0, react_1.useState)(Button_1.BUTTON_STATUS.ENABLED), buttonStatus = _b[0], setButtonStatus = _b[1];
|
|
64
64
|
var handleConfirmPasscode = function (passcode) { return __awaiter(_this, void 0, void 0, function () {
|
|
65
65
|
var response, err_1;
|
|
66
66
|
return __generator(this, function (_a) {
|
|
67
67
|
switch (_a.label) {
|
|
68
68
|
case 0:
|
|
69
|
-
_a.trys.push([0, 2, ,
|
|
69
|
+
_a.trys.push([0, 2, 3, 4]);
|
|
70
70
|
setButtonStatus(Button_1.BUTTON_STATUS.LOADING);
|
|
71
|
+
onStart === null || onStart === void 0 ? void 0 : onStart();
|
|
71
72
|
return [4 /*yield*/, (0, instructions_service_1.default)(__assign(__assign({}, transactionData), { passcode: passcode }))];
|
|
72
73
|
case 1:
|
|
73
74
|
response = _a.sent();
|
|
74
75
|
if (response.success) {
|
|
75
76
|
setButtonStatus(Button_1.BUTTON_STATUS.ENABLED);
|
|
76
|
-
|
|
77
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response);
|
|
77
78
|
}
|
|
78
79
|
else {
|
|
79
80
|
throw new Error("Send internal failed");
|
|
80
81
|
}
|
|
81
|
-
return [3 /*break*/,
|
|
82
|
+
return [3 /*break*/, 4];
|
|
82
83
|
case 2:
|
|
83
84
|
err_1 = _a.sent();
|
|
84
85
|
console.error(err_1);
|
|
86
|
+
onError === null || onError === void 0 ? void 0 : onError(err_1);
|
|
85
87
|
setButtonStatus(Button_1.BUTTON_STATUS.ERROR);
|
|
86
88
|
setTimeout(function () {
|
|
87
89
|
setButtonStatus(Button_1.BUTTON_STATUS.ENABLED);
|
|
88
90
|
}, 1200);
|
|
89
|
-
return [3 /*break*/,
|
|
90
|
-
case 3:
|
|
91
|
+
return [3 /*break*/, 4];
|
|
92
|
+
case 3:
|
|
93
|
+
onFinally === null || onFinally === void 0 ? void 0 : onFinally();
|
|
94
|
+
return [7 /*endfinally*/];
|
|
95
|
+
case 4: return [2 /*return*/];
|
|
91
96
|
}
|
|
92
97
|
});
|
|
93
98
|
}); };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ConfirmLayoutProps } from "../ConfirmLayout";
|
|
2
|
+
import { SendInternalResponse } from "../../../services/axios/send-internal-service/type";
|
|
3
|
+
import { InstructionBody } from "../../../services/axios/instructions-service/type";
|
|
4
|
+
export type TransferConfirmationData = InstructionBody & {
|
|
5
|
+
amount: number;
|
|
6
|
+
currency_slug: string;
|
|
7
|
+
to_address: string;
|
|
8
|
+
isEnoughBalance: boolean;
|
|
9
|
+
};
|
|
10
|
+
interface TransferConfirmationProps extends Omit<ConfirmLayoutProps, "action"> {
|
|
11
|
+
transferData: TransferConfirmationData;
|
|
12
|
+
transferContent: React.ReactNode;
|
|
13
|
+
titleHeader: string;
|
|
14
|
+
onTransferSuccess?: (data: SendInternalResponse) => any;
|
|
15
|
+
}
|
|
16
|
+
export interface TransferConfirmationTokenRef {
|
|
17
|
+
open: () => void;
|
|
18
|
+
close: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare enum TransferConfirmationError {
|
|
21
|
+
TOKEN_NOT_FOUND = "\u24D8 Token not found",
|
|
22
|
+
NOT_ENOUGH_BALANCE = "\u24D8 Not enough balance",
|
|
23
|
+
MAX_AMOUNT = "\u24D8 Max amount",
|
|
24
|
+
MIN_AMOUNT = "\u24D8 Min amount",
|
|
25
|
+
FAILED = "\u24D8 Failed"
|
|
26
|
+
}
|
|
27
|
+
export declare const TransferConfirmation: import("react").ForwardRefExoticComponent<Omit<TransferConfirmationProps, "ref"> & import("react").RefAttributes<TransferConfirmationTokenRef>>;
|
|
28
|
+
export default TransferConfirmation;
|
|
@@ -0,0 +1,253 @@
|
|
|
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
32
|
+
var ownKeys = function(o) {
|
|
33
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
34
|
+
var ar = [];
|
|
35
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
36
|
+
return ar;
|
|
37
|
+
};
|
|
38
|
+
return ownKeys(o);
|
|
39
|
+
};
|
|
40
|
+
return function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
})();
|
|
48
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
49
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
50
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
51
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
52
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
53
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
54
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
58
|
+
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);
|
|
59
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
60
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
61
|
+
function step(op) {
|
|
62
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
63
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
64
|
+
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;
|
|
65
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
66
|
+
switch (op[0]) {
|
|
67
|
+
case 0: case 1: t = op; break;
|
|
68
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
69
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
70
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
71
|
+
default:
|
|
72
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
73
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
74
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
75
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
76
|
+
if (t[2]) _.ops.pop();
|
|
77
|
+
_.trys.pop(); continue;
|
|
78
|
+
}
|
|
79
|
+
op = body.call(thisArg, _);
|
|
80
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
81
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
85
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
86
|
+
};
|
|
87
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
88
|
+
exports.TransferConfirmation = exports.TransferConfirmationError = void 0;
|
|
89
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
90
|
+
var Button_1 = __importStar(require("../Button"));
|
|
91
|
+
var DrawerComponent_1 = require("../DrawerComponent");
|
|
92
|
+
var ConfirmLayout_1 = __importDefault(require("../ConfirmLayout"));
|
|
93
|
+
var Formatter_1 = __importDefault(require("../Formatter"));
|
|
94
|
+
var react_1 = require("react");
|
|
95
|
+
var Text_1 = __importDefault(require("../Text"));
|
|
96
|
+
var RequireConnect_1 = __importDefault(require("../RequireConnect"));
|
|
97
|
+
var type_1 = require("../../../services/axios/get-activities-service/type");
|
|
98
|
+
var validate_wallet_address_service_1 = __importDefault(require("../../../services/axios/validate-wallet-address-service"));
|
|
99
|
+
var type_2 = require("../../../services/axios/validate-wallet-address-service/type");
|
|
100
|
+
var ConfirmByPasscode_1 = __importDefault(require("../ConfirmByPasscode"));
|
|
101
|
+
var instructions_service_1 = __importDefault(require("../../../services/axios/instructions-service"));
|
|
102
|
+
var providers_1 = require("../../../providers");
|
|
103
|
+
var useWallet_1 = __importDefault(require("../../../hooks/useWallet"));
|
|
104
|
+
var TransferConfirmationError;
|
|
105
|
+
(function (TransferConfirmationError) {
|
|
106
|
+
TransferConfirmationError["TOKEN_NOT_FOUND"] = "\u24D8 Token not found";
|
|
107
|
+
TransferConfirmationError["NOT_ENOUGH_BALANCE"] = "\u24D8 Not enough balance";
|
|
108
|
+
TransferConfirmationError["MAX_AMOUNT"] = "\u24D8 Max amount";
|
|
109
|
+
TransferConfirmationError["MIN_AMOUNT"] = "\u24D8 Min amount";
|
|
110
|
+
TransferConfirmationError["FAILED"] = "\u24D8 Failed";
|
|
111
|
+
})(TransferConfirmationError || (exports.TransferConfirmationError = TransferConfirmationError = {}));
|
|
112
|
+
exports.TransferConfirmation = (0, react_1.forwardRef)(function (props, ref) {
|
|
113
|
+
var _a, _b;
|
|
114
|
+
var theme = (0, providers_1.useTheme)();
|
|
115
|
+
var transferData = props.transferData, transferContent = props.transferContent;
|
|
116
|
+
var _c = (0, useWallet_1.default)(), isInitPasscode = _c.isInitPasscode, sendInternalTokens = _c.sendInternalTokens, updateSendInternalToken = _c.updateSendInternalToken;
|
|
117
|
+
var confirmLayoutDrawerRef = (0, react_1.useRef)(null);
|
|
118
|
+
var _d = (0, react_1.useState)(undefined), error = _d[0], setError = _d[1];
|
|
119
|
+
var _e = (0, react_1.useState)(undefined), errorAmount = _e[0], setErrorAmount = _e[1];
|
|
120
|
+
var _f = (0, react_1.useState)(Button_1.BUTTON_STATUS.ENABLED), buttonStatus = _f[0], setButtonStatus = _f[1];
|
|
121
|
+
var _g = (0, react_1.useState)(false), isValidatingAddress = _g[0], setIsValidatingAddress = _g[1];
|
|
122
|
+
var _h = (0, react_1.useState)(undefined), errorAddress = _h[0], setErrorAddress = _h[1];
|
|
123
|
+
var toAddress = transferData.to_address;
|
|
124
|
+
var amount = transferData.amount;
|
|
125
|
+
var currencySlug = transferData.currency_slug;
|
|
126
|
+
var isEnoughBalance = transferData.isEnoughBalance;
|
|
127
|
+
var token = (0, react_1.useMemo)(function () {
|
|
128
|
+
return sendInternalTokens === null || sendInternalTokens === void 0 ? void 0 : sendInternalTokens.find(function (token) { return token.slug === currencySlug; });
|
|
129
|
+
}, [currencySlug, sendInternalTokens]);
|
|
130
|
+
var validateAmount = (0, react_1.useCallback)(function () {
|
|
131
|
+
if (!token) {
|
|
132
|
+
setError(TransferConfirmationError.TOKEN_NOT_FOUND);
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
if (amount > token.max_value) {
|
|
136
|
+
setError(TransferConfirmationError.MAX_AMOUNT);
|
|
137
|
+
setErrorAmount(token.max_value);
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
if (amount < token.min_value) {
|
|
141
|
+
setError(TransferConfirmationError.MIN_AMOUNT);
|
|
142
|
+
setErrorAmount(token.min_value);
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
if (!isEnoughBalance) {
|
|
146
|
+
setError(TransferConfirmationError.NOT_ENOUGH_BALANCE);
|
|
147
|
+
setErrorAmount(token.balance);
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
setError(undefined);
|
|
151
|
+
setErrorAmount(undefined);
|
|
152
|
+
return true;
|
|
153
|
+
}, [token, amount]);
|
|
154
|
+
var validateAddress = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
155
|
+
var message;
|
|
156
|
+
return __generator(this, function (_a) {
|
|
157
|
+
switch (_a.label) {
|
|
158
|
+
case 0:
|
|
159
|
+
setIsValidatingAddress(true);
|
|
160
|
+
return [4 /*yield*/, (0, validate_wallet_address_service_1.default)({
|
|
161
|
+
address: toAddress,
|
|
162
|
+
})];
|
|
163
|
+
case 1:
|
|
164
|
+
message = (_a.sent()).message;
|
|
165
|
+
setIsValidatingAddress(false);
|
|
166
|
+
if (message === type_2.ValidateWalletAddressResultMessage.INTERNAL_WALLET ||
|
|
167
|
+
message === type_2.ValidateWalletAddressResultMessage.EXTERNAL_WALLET_BUT_ALSO_INTERNAL_WALLET) {
|
|
168
|
+
setErrorAddress(undefined);
|
|
169
|
+
return [2 /*return*/, true];
|
|
170
|
+
}
|
|
171
|
+
setErrorAddress("ⓘ This address is not a valid internal wallet address");
|
|
172
|
+
return [2 /*return*/, false];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}); }, [toAddress]);
|
|
176
|
+
var validateAll = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
177
|
+
var isAmountValid;
|
|
178
|
+
return __generator(this, function (_a) {
|
|
179
|
+
switch (_a.label) {
|
|
180
|
+
case 0:
|
|
181
|
+
isAmountValid = validateAmount();
|
|
182
|
+
if (!isAmountValid)
|
|
183
|
+
return [2 /*return*/, false];
|
|
184
|
+
return [4 /*yield*/, validateAddress()];
|
|
185
|
+
case 1:
|
|
186
|
+
_a.sent();
|
|
187
|
+
return [2 /*return*/];
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}); }, [validateAmount, validateAddress]);
|
|
191
|
+
var handleSendInternalToken = function (passcode) { return __awaiter(void 0, void 0, void 0, function () {
|
|
192
|
+
var response, err_1;
|
|
193
|
+
var _a, _b;
|
|
194
|
+
return __generator(this, function (_c) {
|
|
195
|
+
switch (_c.label) {
|
|
196
|
+
case 0:
|
|
197
|
+
_c.trys.push([0, 2, , 3]);
|
|
198
|
+
setButtonStatus(Button_1.BUTTON_STATUS.LOADING);
|
|
199
|
+
return [4 /*yield*/, (0, instructions_service_1.default)(__assign(__assign({}, transferData), { passcode: passcode }))];
|
|
200
|
+
case 1:
|
|
201
|
+
response = _c.sent();
|
|
202
|
+
if (response.success) {
|
|
203
|
+
(_a = confirmLayoutDrawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
204
|
+
setButtonStatus(Button_1.BUTTON_STATUS.ENABLED);
|
|
205
|
+
(_b = props.onTransferSuccess) === null || _b === void 0 ? void 0 : _b.call(props, response);
|
|
206
|
+
updateSendInternalToken();
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
throw new Error("ⓘ Send internal failed");
|
|
210
|
+
}
|
|
211
|
+
return [3 /*break*/, 3];
|
|
212
|
+
case 2:
|
|
213
|
+
err_1 = _c.sent();
|
|
214
|
+
console.error(err_1);
|
|
215
|
+
setButtonStatus(Button_1.BUTTON_STATUS.ERROR);
|
|
216
|
+
setTimeout(function () {
|
|
217
|
+
setButtonStatus(Button_1.BUTTON_STATUS.ENABLED);
|
|
218
|
+
}, 1200);
|
|
219
|
+
return [3 /*break*/, 3];
|
|
220
|
+
case 3: return [2 /*return*/];
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}); };
|
|
224
|
+
var handleOpen = function () {
|
|
225
|
+
var _a;
|
|
226
|
+
if (!isInitPasscode)
|
|
227
|
+
throw new Error("Please connect your wallet");
|
|
228
|
+
(_a = confirmLayoutDrawerRef.current) === null || _a === void 0 ? void 0 : _a.open();
|
|
229
|
+
validateAll();
|
|
230
|
+
};
|
|
231
|
+
var handleClose = function () {
|
|
232
|
+
var _a;
|
|
233
|
+
if (!isInitPasscode)
|
|
234
|
+
throw new Error("Please connect your wallet");
|
|
235
|
+
(_a = confirmLayoutDrawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
236
|
+
};
|
|
237
|
+
(0, react_1.useImperativeHandle)(ref, function () { return ({
|
|
238
|
+
open: handleOpen,
|
|
239
|
+
close: handleClose,
|
|
240
|
+
}); });
|
|
241
|
+
(0, react_1.useEffect)(function () {
|
|
242
|
+
if (!sendInternalTokens && isInitPasscode) {
|
|
243
|
+
updateSendInternalToken();
|
|
244
|
+
}
|
|
245
|
+
}, [sendInternalTokens, updateSendInternalToken, isInitPasscode]);
|
|
246
|
+
return ((0, jsx_runtime_1.jsx)(RequireConnect_1.default, { children: (0, jsx_runtime_1.jsxs)(ConfirmLayout_1.default, { ref: confirmLayoutDrawerRef, action: props.titleHeader, trigger: props.children, onOpen: validateAll, confirmAction: (0, jsx_runtime_1.jsx)(ConfirmByPasscode_1.default, { action: type_1.TransactionSlug.TRANSFER_INTERNAL, onConfirmSuccess: handleSendInternalToken, triggerStatus: !!error || isValidatingAddress || errorAddress || !isEnoughBalance
|
|
247
|
+
? DrawerComponent_1.DRAWER_TRIGGER_STATUS.DISABLED
|
|
248
|
+
: DrawerComponent_1.DRAWER_TRIGGER_STATUS.ENABLED, children: (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { status: !!error || isValidatingAddress || errorAddress || !isEnoughBalance
|
|
249
|
+
? Button_1.BUTTON_STATUS.DISABLED
|
|
250
|
+
: buttonStatus, sx: { width: "100%" }, children: "Confirm" }) }), children: [transferContent, !!error && ((0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.validationError), { mt: (_a = theme.mixins.gaps) === null || _a === void 0 ? void 0 : _a.g6 }), children: [error, " ", !!errorAmount && (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: errorAmount, unit: " ".concat(token === null || token === void 0 ? void 0 : token.name) })] })), !!errorAddress && ((0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.validationError), { mt: (_b = theme.mixins.gaps) === null || _b === void 0 ? void 0 : _b.g6 }), children: errorAddress }))] }) }));
|
|
251
|
+
});
|
|
252
|
+
exports.TransferConfirmation.displayName = "TransferConfirmation";
|
|
253
|
+
exports.default = exports.TransferConfirmation;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FeesDataType } from "../../../services/axios/get-est-fee-service/type";
|
|
2
|
+
import { UserInfoDto } from "../../../types/expose-type";
|
|
3
|
+
export interface LockData {
|
|
4
|
+
amount: number;
|
|
5
|
+
tokenSlug: string;
|
|
6
|
+
}
|
|
7
|
+
export interface TransferInfoDto {
|
|
8
|
+
network?: string;
|
|
9
|
+
type?: string;
|
|
10
|
+
message?: string;
|
|
11
|
+
datetime?: string;
|
|
12
|
+
link?: string;
|
|
13
|
+
user?: UserInfoDto;
|
|
14
|
+
receiver?: UserInfoDto;
|
|
15
|
+
fee?: FeesDataType;
|
|
16
|
+
}
|
|
@@ -433,7 +433,7 @@ exports.ReceiveFunction = (0, react_1.forwardRef)(function (_a, ref) {
|
|
|
433
433
|
}, trigger: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g12, height: "fit-content", width: "100%" }), children: [functionsList.includes(ReceiveMethods.RECEIVE_INTERNAL) && ((0, jsx_runtime_1.jsx)(ListItemCustom_1.default, { title: "Top up via internal transfer", description: "Receive crypto from other Ting users", icon: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 24, height: 24 }, children: SvgPath_1.IC_RECEIVE_INTERNAL }), onClick: function () { return handleSelectMethod(ReceiveMethods.RECEIVE_INTERNAL); }, recommended: true })), functionsList.includes(ReceiveMethods.RECEIVE_EXTERNAL) && ((0, jsx_runtime_1.jsx)(ListItemCustom_1.default, { title: "Top up via blockchain", description: "Deposit using a Web3 or an Exchange wallet", icon: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 24, height: 24 }, children: SvgPath_1.IC_RECEIVE_EXTERNAL }), onClick: function () { return handleSelectMethod(ReceiveMethods.RECEIVE_EXTERNAL); }, recommended: true })), functionsList.includes(ReceiveMethods.RECEIVE_FIAT) && ((0, jsx_runtime_1.jsx)(FiatDeposit_1.default, { children: (0, jsx_runtime_1.jsx)(ListItemCustom_1.default, { title: "Fiat-Gateway", description: "Experimental deposit via bank transfer", icon: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 24, height: 24 }, children: SvgPath_1.IC_RECEIVE_EXTERNAL }), recommended: false }) }))] }), children: (0, jsx_runtime_1.jsx)(ChildPageLayout_1.default, { sx: {
|
|
434
434
|
position: "relative",
|
|
435
435
|
sx: "100dvh",
|
|
436
|
-
}, header: (0, jsx_runtime_1.jsx)(PageHeader_1.default, { title: RECEIVE_STEP_NAME[Math.max(currentStep, ReceiveStep.SELECT_TOKEN)], overrideBack: handleBack, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8, marginLeft: "auto" }), children: [(0, jsx_runtime_1.jsx)(HelpButton_1.default, {}),
|
|
436
|
+
}, header: (0, jsx_runtime_1.jsx)(PageHeader_1.default, { title: RECEIVE_STEP_NAME[Math.max(currentStep, ReceiveStep.SELECT_TOKEN)], overrideBack: handleBack, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8, marginLeft: "auto" }), children: [(0, jsx_runtime_1.jsx)(HelpButton_1.default, {}), !!handleGotoHistory && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Divider, { orientation: "vertical", sx: {
|
|
437
437
|
height: "1rem",
|
|
438
438
|
width: "1px",
|
|
439
439
|
backgroundColor: theme.palette.border.accent3,
|