tek-wallet 0.0.361 → 0.0.363
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { GeneralProps, UnknownFunction } from "../../../types/ui";
|
|
2
|
-
|
|
2
|
+
import { TonTransferUrlParams } from "../../../utils/parseTonTransferUrl";
|
|
3
|
+
export interface ReceiveInternalParams extends TonTransferUrlParams {
|
|
4
|
+
isTekWalletReceiveInternal: true;
|
|
5
|
+
}
|
|
6
|
+
interface ReceiveFunctionProps extends GeneralProps {
|
|
3
7
|
onClose?: UnknownFunction;
|
|
4
8
|
onOpen?: UnknownFunction;
|
|
5
9
|
}
|
|
6
|
-
type
|
|
10
|
+
type ReceiveFunctionRef = {
|
|
7
11
|
open: () => void;
|
|
8
12
|
close: () => void;
|
|
9
13
|
};
|
|
10
|
-
declare
|
|
14
|
+
export declare enum ReceiveMethods {
|
|
15
|
+
RECEIVE_INTERNAL = "receive_internal",
|
|
16
|
+
RECEIVE_EXTERNAL = "receive_external"
|
|
17
|
+
}
|
|
18
|
+
declare const DepositFunction: import("react").ForwardRefExoticComponent<ReceiveFunctionProps & import("react").RefAttributes<ReceiveFunctionRef>>;
|
|
11
19
|
export default DepositFunction;
|
|
@@ -49,6 +49,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
49
49
|
};
|
|
50
50
|
var _a;
|
|
51
51
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
+
exports.ReceiveMethods = void 0;
|
|
52
53
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
53
54
|
var react_1 = require("react");
|
|
54
55
|
var DrawerComponent_1 = __importDefault(require("../DrawerComponent"));
|
|
@@ -73,30 +74,39 @@ var RequireConnect_1 = __importDefault(require("../RequireConnect"));
|
|
|
73
74
|
var WaitingData_1 = __importDefault(require("../WaitingData"));
|
|
74
75
|
var EmptyData_1 = __importDefault(require("../EmptyData"));
|
|
75
76
|
var Formatter_1 = __importDefault(require("../Formatter"));
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
})(
|
|
82
|
-
var
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
77
|
+
var ListItemCustom_1 = __importDefault(require("../ListItemCustom"));
|
|
78
|
+
var ReceiveMethods;
|
|
79
|
+
(function (ReceiveMethods) {
|
|
80
|
+
ReceiveMethods["RECEIVE_INTERNAL"] = "receive_internal";
|
|
81
|
+
ReceiveMethods["RECEIVE_EXTERNAL"] = "receive_external";
|
|
82
|
+
})(ReceiveMethods || (exports.ReceiveMethods = ReceiveMethods = {}));
|
|
83
|
+
var ReceiveStep;
|
|
84
|
+
(function (ReceiveStep) {
|
|
85
|
+
ReceiveStep[ReceiveStep["SELECT_METHOD"] = 0] = "SELECT_METHOD";
|
|
86
|
+
ReceiveStep[ReceiveStep["SELECT_TOKEN"] = 1] = "SELECT_TOKEN";
|
|
87
|
+
ReceiveStep[ReceiveStep["SELECT_NETWORK"] = 2] = "SELECT_NETWORK";
|
|
88
|
+
ReceiveStep[ReceiveStep["SHOW_QR_CODE"] = 3] = "SHOW_QR_CODE";
|
|
89
|
+
})(ReceiveStep || (ReceiveStep = {}));
|
|
90
|
+
var RECEIVE_STEP_NAME = (_a = {},
|
|
91
|
+
_a[ReceiveStep.SELECT_METHOD] = "Select method",
|
|
92
|
+
_a[ReceiveStep.SELECT_TOKEN] = "Select token",
|
|
93
|
+
_a[ReceiveStep.SELECT_NETWORK] = "Select network",
|
|
94
|
+
_a[ReceiveStep.SHOW_QR_CODE] = "Scan QR code",
|
|
86
95
|
_a);
|
|
87
96
|
var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
88
97
|
var drawerRef = (0, react_1.useRef)(null);
|
|
89
98
|
var amountDrawerRef = (0, react_1.useRef)(null);
|
|
99
|
+
var _a = (0, react_1.useState)(), selectedMethod = _a[0], setSelectedMethod = _a[1];
|
|
90
100
|
var swiperRef = (0, react_1.useRef)(null);
|
|
91
101
|
var theme = (0, material_1.useTheme)();
|
|
92
|
-
var
|
|
93
|
-
var
|
|
94
|
-
var
|
|
95
|
-
var
|
|
96
|
-
var
|
|
97
|
-
var
|
|
98
|
-
var
|
|
99
|
-
var
|
|
102
|
+
var _b = (0, react_1.useState)(ReceiveStep.SELECT_METHOD), currentStep = _b[0], setCurrentStep = _b[1];
|
|
103
|
+
var _c = (0, react_1.useState)(), selectedToken = _c[0], setSelectedToken = _c[1];
|
|
104
|
+
var _d = (0, react_1.useState)(), selectedNetwork = _d[0], setSelectedNetwork = _d[1];
|
|
105
|
+
var _e = (0, useWalletData_1.default)(), isAuthenticated = _e.isAuthenticated, blockchainWallets = _e.blockchainWallets, masterWallet = _e.masterWallet;
|
|
106
|
+
var _f = (0, react_1.useState)(0), inputAmount = _f[0], setInputAmount = _f[1];
|
|
107
|
+
var _g = (0, react_1.useState)(0), amount = _g[0], setAmount = _g[1];
|
|
108
|
+
var _h = (0, react_1.useState)(""), amountError = _h[0], setAmountError = _h[1];
|
|
109
|
+
var _j = (0, useDepositData_1.default)(), depositTokens = _j.depositTokens, updateDepositToken = _j.updateDepositToken;
|
|
100
110
|
var networks = (0, react_1.useMemo)(function () {
|
|
101
111
|
console.warn("🚀 ~ networks ~ selectedToken:", selectedToken);
|
|
102
112
|
if (!selectedToken) {
|
|
@@ -117,13 +127,26 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
117
127
|
return (_a = blockchainWallets.find(function (item) { return item.networkSlug === (selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.slug); })) === null || _a === void 0 ? void 0 : _a.blockchainAddress;
|
|
118
128
|
}, [blockchainWallets, selectedNetwork]);
|
|
119
129
|
var qrCodeValue = (0, react_1.useMemo)(function () {
|
|
120
|
-
var _a;
|
|
130
|
+
var _a, _b;
|
|
121
131
|
if (!addressByNetwork || !selectedToken) {
|
|
122
132
|
return "";
|
|
123
133
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
134
|
+
if (selectedMethod === ReceiveMethods.RECEIVE_INTERNAL) {
|
|
135
|
+
var tonTransferParamInternal = {
|
|
136
|
+
address: masterWallet || "",
|
|
137
|
+
amount: amount * Math.pow(10, ((_a = selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.decimal) !== null && _a !== void 0 ? _a : 0)),
|
|
138
|
+
jetton: selectedToken.address,
|
|
139
|
+
isTekWalletReceiveInternal: true,
|
|
140
|
+
text: "",
|
|
141
|
+
bin: "",
|
|
142
|
+
init: "",
|
|
143
|
+
isDeepLinkFormat: false,
|
|
144
|
+
};
|
|
145
|
+
return JSON.stringify(tonTransferParamInternal);
|
|
146
|
+
}
|
|
147
|
+
return "ton://transfer/".concat(addressByNetwork, "?&jetton=").concat(selectedToken.address, "&amount=").concat(amount * Math.pow(10, ((_b = selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.decimal) !== null && _b !== void 0 ? _b : 0)));
|
|
148
|
+
}, [addressByNetwork, selectedToken, amount, selectedMethod, masterWallet]);
|
|
149
|
+
var clearValues = function () {
|
|
127
150
|
setInputAmount(0);
|
|
128
151
|
setAmount(0);
|
|
129
152
|
setAmountError("");
|
|
@@ -139,7 +162,7 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
139
162
|
if (!isAuthenticated)
|
|
140
163
|
throw new Error("Please connect your wallet");
|
|
141
164
|
(_a = drawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
142
|
-
|
|
165
|
+
clearValues();
|
|
143
166
|
};
|
|
144
167
|
(0, react_1.useImperativeHandle)(ref, function () { return ({
|
|
145
168
|
open: open,
|
|
@@ -150,22 +173,42 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
150
173
|
(_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.prev();
|
|
151
174
|
setCurrentStep(currentStep - 1);
|
|
152
175
|
};
|
|
153
|
-
var
|
|
176
|
+
var handleSelectMethod = function (method) {
|
|
177
|
+
console.warn("🚀 ~ handleSelectMethod ~ method:", method);
|
|
178
|
+
setSelectedMethod(method);
|
|
179
|
+
switch (method) {
|
|
180
|
+
case ReceiveMethods.RECEIVE_INTERNAL:
|
|
181
|
+
case ReceiveMethods.RECEIVE_EXTERNAL:
|
|
182
|
+
gotoStep(ReceiveStep.SELECT_TOKEN);
|
|
183
|
+
break;
|
|
184
|
+
default:
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
var gotoStep = function (step) {
|
|
154
189
|
var _a;
|
|
155
|
-
(
|
|
156
|
-
|
|
190
|
+
if (step === ReceiveStep.SELECT_METHOD) {
|
|
191
|
+
clearValues();
|
|
192
|
+
}
|
|
193
|
+
setCurrentStep(step);
|
|
194
|
+
(_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.slideTo(step);
|
|
157
195
|
};
|
|
158
196
|
var handleSelectToken = function (token) {
|
|
159
197
|
console.warn("🚀 ~ handleSelectToken ~ token:", token);
|
|
160
198
|
setSelectedToken(token);
|
|
161
199
|
if (!!token) {
|
|
162
|
-
|
|
200
|
+
if (selectedMethod === ReceiveMethods.RECEIVE_INTERNAL) {
|
|
201
|
+
gotoStep(ReceiveStep.SHOW_QR_CODE);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
gotoStep(ReceiveStep.SELECT_NETWORK);
|
|
205
|
+
}
|
|
163
206
|
}
|
|
164
207
|
};
|
|
165
208
|
var handleSelectNetwork = function (network) {
|
|
166
209
|
console.warn("network", selectedNetwork);
|
|
167
210
|
setSelectedNetwork(network);
|
|
168
|
-
|
|
211
|
+
gotoStep(ReceiveStep.SHOW_QR_CODE);
|
|
169
212
|
};
|
|
170
213
|
var validateAmount = function (amount) {
|
|
171
214
|
var _a, _b;
|
|
@@ -201,7 +244,7 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
201
244
|
};
|
|
202
245
|
var handleOnClose = function () {
|
|
203
246
|
var _a;
|
|
204
|
-
|
|
247
|
+
clearValues();
|
|
205
248
|
(_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
206
249
|
};
|
|
207
250
|
(0, react_1.useEffect)(function () {
|
|
@@ -215,19 +258,25 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
215
258
|
alignItems: "center",
|
|
216
259
|
minHeight: "2rem",
|
|
217
260
|
mb: theme.mixins.customMargin.m20,
|
|
218
|
-
}, overrideBack: handleBack, hideBack: currentStep ===
|
|
261
|
+
}, overrideBack: handleBack, hideBack: currentStep === ReceiveStep.SELECT_TOKEN, center: RECEIVE_STEP_NAME[currentStep], children: (0, jsx_runtime_1.jsx)(CloseModal_1.default, { sx: { marginLeft: "auto" }, onClick: close }) }), children: (0, jsx_runtime_1.jsxs)(SwiperControlled_1.default, { ref: swiperRef, swiperProps: {
|
|
219
262
|
autoHeight: true,
|
|
220
263
|
spaceBetween: 32,
|
|
221
|
-
}, disableSwipe: true, children: [(0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { children: (0, jsx_runtime_1.
|
|
264
|
+
}, disableSwipe: true, children: [(0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { children: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { height: "fit-content" }), children: Object.values(ReceiveMethods).map(function (item, index) {
|
|
265
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [index !== 0 && (0, jsx_runtime_1.jsx)(material_1.Divider, {}), (0, jsx_runtime_1.jsx)(ListItemCustom_1.default, { title: item, description: item, icon: (0, getIcon_1.default)(item + "_icon"), onClick: function () {
|
|
266
|
+
return handleSelectMethod(item);
|
|
267
|
+
}, sx: {
|
|
268
|
+
my: theme.mixins.customMargin.m12,
|
|
269
|
+
} })] }, item));
|
|
270
|
+
}) }) }, ReceiveStep.SELECT_METHOD), (0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g12, height: "fit-content" }), children: [!depositTokens && (0, jsx_runtime_1.jsx)(WaitingData_1.default, {}), (depositTokens === null || depositTokens === void 0 ? void 0 : depositTokens.length) === 0 && (0, jsx_runtime_1.jsx)(EmptyData_1.default, {}), depositTokens === null || depositTokens === void 0 ? void 0 : depositTokens.map(function (item) {
|
|
222
271
|
var stringifiedTokenData = JSON.stringify(item);
|
|
223
272
|
if (!item)
|
|
224
273
|
return null;
|
|
225
274
|
return ((0, jsx_runtime_1.jsx)(TokenSelection_1.default, { onClick: handleSelectToken, tokenData: stringifiedTokenData, active: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.id) === item.id }, item.id));
|
|
226
|
-
})] }) },
|
|
275
|
+
})] }) }, ReceiveStep.SELECT_TOKEN), (0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { children: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g12 }), children: networks === null || networks === void 0 ? void 0 : networks.map(function (item) {
|
|
227
276
|
if (!item)
|
|
228
277
|
return null;
|
|
229
278
|
return ((0, jsx_runtime_1.jsx)(NetworkSelection_1.default, { onClick: handleSelectNetwork, networkData: JSON.stringify(item), active: (selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.id) === item.id }, item.id));
|
|
230
|
-
}) }) },
|
|
279
|
+
}) }) }, ReceiveStep.SELECT_NETWORK), (0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
|
|
231
280
|
display: "flex",
|
|
232
281
|
flexDirection: "column",
|
|
233
282
|
gap: theme.mixins.gaps.g16,
|
|
@@ -261,7 +310,7 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
261
310
|
fontWeight: theme.typography.fontWeight400,
|
|
262
311
|
leading: theme.typography.leading160,
|
|
263
312
|
textTransform: "capitalize",
|
|
264
|
-
}, children: "Share" }), (0, jsx_runtime_1.jsx)(Icon_1.default, { src: (0, getIcon_1.default)("share"), width: 20 })] }) })] })] }) },
|
|
313
|
+
}, children: "Share" }), (0, jsx_runtime_1.jsx)(Icon_1.default, { src: (0, getIcon_1.default)("share"), width: 20 })] }) })] })] }) }, ReceiveStep.SHOW_QR_CODE)] }, depositTokens === null || depositTokens === void 0 ? void 0 : depositTokens.length) }) }) }));
|
|
265
314
|
});
|
|
266
315
|
DepositFunction.displayName = "DepositFunction";
|
|
267
316
|
exports.default = DepositFunction;
|