tek-wallet 0.0.172 → 0.0.175

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.
@@ -3,5 +3,11 @@ import { LockData } from "./type";
3
3
  interface LockTokenProps extends Omit<ConfirmLayoutProps, "action"> {
4
4
  lockData: LockData;
5
5
  }
6
+ export declare enum LockTokenError {
7
+ TOKEN_NOT_FOUND = "Token not found",
8
+ NOT_ENOUGH_BALANCE = "Not enough balance",
9
+ MAX_AMOUNT = "Max amount",
10
+ MIN_AMOUNT = "Min amount"
11
+ }
6
12
  declare const LockToken: (props: LockTokenProps) => import("react/jsx-runtime").JSX.Element;
7
13
  export default LockToken;
@@ -11,27 +11,106 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  return __assign.apply(this, arguments);
13
13
  };
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
14
47
  var __importDefault = (this && this.__importDefault) || function (mod) {
15
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
49
  };
17
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.LockTokenError = void 0;
18
52
  var jsx_runtime_1 = require("react/jsx-runtime");
19
53
  var material_1 = require("@mui/material");
20
- var Button_1 = __importDefault(require("../../ui/Button"));
54
+ var Button_1 = __importStar(require("../../ui/Button"));
21
55
  var ConfirmLayout_1 = __importDefault(require("../ConfirmLayout"));
22
56
  var type_1 = require("../ConfirmLayout/type");
23
57
  var LineValue_1 = __importDefault(require("../LineValue"));
24
58
  var Formatter_1 = __importDefault(require("../Formatter"));
25
59
  var ConfirmByPasscode_1 = __importDefault(require("../ConfirmByPasscode"));
26
60
  var react_1 = require("react");
61
+ var useLockTokenData_1 = __importDefault(require("../../../hooks/useLockTokenData"));
62
+ var Text_1 = __importDefault(require("../Text"));
63
+ var LockTokenError;
64
+ (function (LockTokenError) {
65
+ LockTokenError["TOKEN_NOT_FOUND"] = "Token not found";
66
+ LockTokenError["NOT_ENOUGH_BALANCE"] = "Not enough balance";
67
+ LockTokenError["MAX_AMOUNT"] = "Max amount";
68
+ LockTokenError["MIN_AMOUNT"] = "Min amount";
69
+ })(LockTokenError || (exports.LockTokenError = LockTokenError = {}));
27
70
  var LockToken = function (props) {
71
+ var _a, _b;
28
72
  var theme = (0, material_1.useTheme)();
73
+ var lockTokens = (0, useLockTokenData_1.default)().lockTokens;
29
74
  var confirmByPasscodeDrawerRef = (0, react_1.useRef)(null);
75
+ var _c = (0, react_1.useState)(undefined), error = _c[0], setError = _c[1];
76
+ var _d = (0, react_1.useState)(undefined), errorAmount = _d[0], setErrorAmount = _d[1];
77
+ var _e = (0, react_1.useState)(Button_1.BUTTON_STATUS.ENABLED), buttonStatus = _e[0], setButtonStatus = _e[1];
78
+ var validateAmount = function (lockData) {
79
+ var token = lockTokens === null || lockTokens === void 0 ? void 0 : lockTokens.find(function (token) { return token.slug === lockData.tokenSlug; });
80
+ if (!token) {
81
+ setError(LockTokenError.TOKEN_NOT_FOUND);
82
+ return;
83
+ }
84
+ if (lockData.amount > token.max_value) {
85
+ setError(LockTokenError.MAX_AMOUNT);
86
+ setErrorAmount(token.max_value);
87
+ return;
88
+ }
89
+ if (lockData.amount < token.min_value) {
90
+ setError(LockTokenError.MIN_AMOUNT);
91
+ setErrorAmount(token.min_value);
92
+ return;
93
+ }
94
+ if (lockData.amount > +token.balance) {
95
+ setError(LockTokenError.NOT_ENOUGH_BALANCE);
96
+ setErrorAmount(token.balance);
97
+ return;
98
+ }
99
+ setError(undefined);
100
+ setErrorAmount(undefined);
101
+ };
30
102
  var handleLockToken = function (passcode) {
31
- var _a;
32
- (_a = confirmByPasscodeDrawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
33
103
  console.warn("🚀 ~ handleLockToken ~ lockData:", props.lockData, passcode);
104
+ setButtonStatus(Button_1.BUTTON_STATUS.LOADING);
105
+ setTimeout(function () {
106
+ var _a;
107
+ setButtonStatus(Button_1.BUTTON_STATUS.ENABLED);
108
+ (_a = confirmByPasscodeDrawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
109
+ }, 3000);
34
110
  };
35
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(ConfirmLayout_1.default, { ref: confirmByPasscodeDrawerRef, action: type_1.ActionConfirm.LOCK, trigger: props.trigger, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g16 }), children: [(0, jsx_runtime_1.jsx)(LineValue_1.default, { field: "Amount", value: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: props.lockData.amount, unit: props.lockData.tokenSlug }) }), (0, jsx_runtime_1.jsx)(ConfirmByPasscode_1.default, { action: type_1.ActionConfirm.LOCK, onConfirmSuccess: handleLockToken, children: (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { sx: { width: "100%" }, children: "Confirm" }) })] }) }) }));
111
+ (0, react_1.useEffect)(function () {
112
+ validateAmount(props.lockData);
113
+ }, [(_a = props.lockData) === null || _a === void 0 ? void 0 : _a.amount, (_b = props.lockData) === null || _b === void 0 ? void 0 : _b.tokenSlug]);
114
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(ConfirmLayout_1.default, { ref: confirmByPasscodeDrawerRef, action: type_1.ActionConfirm.LOCK, trigger: props.trigger, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g16 }), children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign({}, theme.mixins.paper), children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g6 }), children: [(0, jsx_runtime_1.jsx)(LineValue_1.default, { field: "Amount", value: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: props.lockData.amount, unit: props.lockData.tokenSlug }) }), (0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign({}, theme.mixins.validationError), children: [error, " ", !!errorAmount && ((0, jsx_runtime_1.jsx)(Formatter_1.default, { value: errorAmount, unit: props.lockData.tokenSlug }))] })] }) }), (0, jsx_runtime_1.jsx)(ConfirmByPasscode_1.default, { action: type_1.ActionConfirm.LOCK, onConfirmSuccess: handleLockToken, children: (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { status: !!error ? Button_1.BUTTON_STATUS.DISABLED : buttonStatus, sx: { width: "100%" }, children: "Confirm" }) })] }) }) }));
36
115
  };
37
116
  exports.default = LockToken;
@@ -0,0 +1,3 @@
1
+ import { LockTokensProviderDataType } from "../providers/LockTokenProvider/type";
2
+ declare function useLockTokenData(): LockTokensProviderDataType;
3
+ export default useLockTokenData;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var react_1 = require("react");
4
+ var LockTokenProvider_1 = require("../providers/LockTokenProvider");
5
+ var LockTokenProvider_2 = require("../providers/LockTokenProvider");
6
+ function useLockTokenData() {
7
+ try {
8
+ var data = (0, react_1.useContext)(LockTokenProvider_2.LockTokensContext);
9
+ return data;
10
+ }
11
+ catch (error) {
12
+ console.error("🚀 ~ useLockTokenData ~ error:", error);
13
+ return LockTokenProvider_1.initialLockTokens;
14
+ }
15
+ }
16
+ exports.default = useLockTokenData;
@@ -104,7 +104,7 @@ function LockTokensProvider(_a) {
104
104
  case 1:
105
105
  response = _a.sent();
106
106
  console.warn("🚀 ~ getBalance ~ response:", response);
107
- setLockTokens(response === null || response === void 0 ? void 0 : response.data);
107
+ setLockTokens(response === null || response === void 0 ? void 0 : response.supported_tokens);
108
108
  setIsLoadingLockToken(false);
109
109
  return [3 /*break*/, 3];
110
110
  case 2:
@@ -116,6 +116,9 @@ function LockTokensProvider(_a) {
116
116
  }
117
117
  });
118
118
  }); }, [isAuthenticated]);
119
+ (0, react_1.useEffect)(function () {
120
+ updateLockToken();
121
+ }, [updateLockToken]);
119
122
  return ((0, jsx_runtime_1.jsx)(exports.LockTokensContext.Provider, { value: {
120
123
  isLoadingLockToken: isLoadingLockToken,
121
124
  lockTokens: lockTokens,
@@ -60,6 +60,7 @@ var getLockTokenList = function (query) { return __awaiter(void 0, void 0, void
60
60
  return [4 /*yield*/, (0, get_config_tokens_list_1.default)(params)];
61
61
  case 1:
62
62
  response = _a.sent();
63
+ console.warn("🚀 ~ response getConfigTokenList:", response);
63
64
  return [2 /*return*/, response === null || response === void 0 ? void 0 : response.data];
64
65
  }
65
66
  });
@@ -15,9 +15,12 @@ export interface LockCurrency {
15
15
  usd_rate: string;
16
16
  icon_svg: string;
17
17
  network_data: Networkdata;
18
+ balance: string;
19
+ min_value: number;
20
+ max_value: number;
18
21
  }
19
22
  export interface LockTokenList {
20
- data: LockCurrency[];
23
+ supported_tokens: LockCurrency[];
21
24
  paginated: Paginated;
22
25
  }
23
26
  export interface LockTokenListResponse {
@@ -96,6 +96,7 @@ var customPadding = {
96
96
  var theBorderRadius = {
97
97
  full: "999px",
98
98
  r12: "0.75rem",
99
+ r16: "1rem",
99
100
  };
100
101
  var theme = (0, styles_1.createTheme)({
101
102
  palette: {
@@ -183,6 +184,15 @@ var theme = (0, styles_1.createTheme)({
183
184
  backgroundColor: "background.white16",
184
185
  backdropFilter: "blur(2px)",
185
186
  },
187
+ paper: {
188
+ display: "flex",
189
+ flexDirection: "column",
190
+ width: "100%",
191
+ gap: gaps.g12,
192
+ padding: customPadding.p12,
193
+ backgroundColor: "background.white16",
194
+ borderRadius: theBorderRadius.r16,
195
+ },
186
196
  },
187
197
  });
188
198
  exports.default = theme;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tek-wallet",
3
- "version": "0.0.172",
3
+ "version": "0.0.175",
4
4
  "description": "A custom React provider with TypeScript support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",