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
- interface DepositFunctionProps extends GeneralProps {
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 DepositFunctionRef = {
10
+ type ReceiveFunctionRef = {
7
11
  open: () => void;
8
12
  close: () => void;
9
13
  };
10
- declare const DepositFunction: import("react").ForwardRefExoticComponent<DepositFunctionProps & import("react").RefAttributes<DepositFunctionRef>>;
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 DepositStep;
77
- (function (DepositStep) {
78
- DepositStep[DepositStep["SELECT_TOKEN"] = 1] = "SELECT_TOKEN";
79
- DepositStep[DepositStep["SELECT_NETWORK"] = 2] = "SELECT_NETWORK";
80
- DepositStep[DepositStep["SHOW_QR_CODE"] = 3] = "SHOW_QR_CODE";
81
- })(DepositStep || (DepositStep = {}));
82
- var DEPOSIT_STEP_NAME = (_a = {},
83
- _a[DepositStep.SELECT_TOKEN] = "Select token",
84
- _a[DepositStep.SELECT_NETWORK] = "Select network",
85
- _a[DepositStep.SHOW_QR_CODE] = "Scan QR code",
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 _a = (0, react_1.useState)(DepositStep.SELECT_TOKEN), currentStep = _a[0], setCurrentStep = _a[1];
93
- var _b = (0, react_1.useState)(), selectedToken = _b[0], setSelectedToken = _b[1];
94
- var _c = (0, react_1.useState)(), selectedNetwork = _c[0], setSelectedNetwork = _c[1];
95
- var _d = (0, useWalletData_1.default)(), isAuthenticated = _d.isAuthenticated, blockchainWallets = _d.blockchainWallets;
96
- var _e = (0, react_1.useState)(0), inputAmount = _e[0], setInputAmount = _e[1];
97
- var _f = (0, react_1.useState)(0), amount = _f[0], setAmount = _f[1];
98
- var _g = (0, react_1.useState)(""), amountError = _g[0], setAmountError = _g[1];
99
- var _h = (0, useDepositData_1.default)(), depositTokens = _h.depositTokens, updateDepositToken = _h.updateDepositToken;
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
- return "ton://transfer/".concat(addressByNetwork, "?&jetton=").concat(selectedToken.address, "&amount=").concat(amount * Math.pow(10, ((_a = selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.decimal) !== null && _a !== void 0 ? _a : 0)));
125
- }, [addressByNetwork, selectedToken, amount]);
126
- var resetValues = function () {
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
- resetValues();
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 nextStep = function () {
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
- (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.next();
156
- setCurrentStep(function (prev) { return prev + 1; });
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
- nextStep();
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
- nextStep();
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
- resetValues();
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 === DepositStep.SELECT_TOKEN, center: DEPOSIT_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: {
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.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) {
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
- })] }) }, DepositStep.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) {
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
- }) }) }, DepositStep.SELECT_NETWORK), (0, jsx_runtime_1.jsx)(react_2.SwiperSlide, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
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 })] }) })] })] }) }, DepositStep.SHOW_QR_CODE)] }, depositTokens === null || depositTokens === void 0 ? void 0 : depositTokens.length) }) }) }));
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tek-wallet",
3
- "version": "0.0.361",
3
+ "version": "0.0.363",
4
4
  "description": "A custom React provider with TypeScript support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",