tek-wallet 0.0.362 → 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,15 +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
- export declare enum DepositMethod {
14
+ export declare enum ReceiveMethods {
11
15
  RECEIVE_INTERNAL = "receive_internal",
12
16
  RECEIVE_EXTERNAL = "receive_external"
13
17
  }
14
- declare const DepositFunction: import("react").ForwardRefExoticComponent<DepositFunctionProps & import("react").RefAttributes<DepositFunctionRef>>;
18
+ declare const DepositFunction: import("react").ForwardRefExoticComponent<ReceiveFunctionProps & import("react").RefAttributes<ReceiveFunctionRef>>;
15
19
  export default DepositFunction;
@@ -49,7 +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.DepositMethod = void 0;
52
+ exports.ReceiveMethods = void 0;
53
53
  var jsx_runtime_1 = require("react/jsx-runtime");
54
54
  var react_1 = require("react");
55
55
  var DrawerComponent_1 = __importDefault(require("../DrawerComponent"));
@@ -74,35 +74,39 @@ var RequireConnect_1 = __importDefault(require("../RequireConnect"));
74
74
  var WaitingData_1 = __importDefault(require("../WaitingData"));
75
75
  var EmptyData_1 = __importDefault(require("../EmptyData"));
76
76
  var Formatter_1 = __importDefault(require("../Formatter"));
77
- var DepositMethod;
78
- (function (DepositMethod) {
79
- DepositMethod["RECEIVE_INTERNAL"] = "receive_internal";
80
- DepositMethod["RECEIVE_EXTERNAL"] = "receive_external";
81
- })(DepositMethod || (exports.DepositMethod = DepositMethod = {}));
82
- var DepositStep;
83
- (function (DepositStep) {
84
- DepositStep[DepositStep["SELECT_TOKEN"] = 1] = "SELECT_TOKEN";
85
- DepositStep[DepositStep["SELECT_NETWORK"] = 2] = "SELECT_NETWORK";
86
- DepositStep[DepositStep["SHOW_QR_CODE"] = 3] = "SHOW_QR_CODE";
87
- })(DepositStep || (DepositStep = {}));
88
- var DEPOSIT_STEP_NAME = (_a = {},
89
- _a[DepositStep.SELECT_TOKEN] = "Select token",
90
- _a[DepositStep.SELECT_NETWORK] = "Select network",
91
- _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",
92
95
  _a);
93
96
  var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
94
97
  var drawerRef = (0, react_1.useRef)(null);
95
98
  var amountDrawerRef = (0, react_1.useRef)(null);
99
+ var _a = (0, react_1.useState)(), selectedMethod = _a[0], setSelectedMethod = _a[1];
96
100
  var swiperRef = (0, react_1.useRef)(null);
97
101
  var theme = (0, material_1.useTheme)();
98
- var _a = (0, react_1.useState)(DepositStep.SELECT_TOKEN), currentStep = _a[0], setCurrentStep = _a[1];
99
- var _b = (0, react_1.useState)(), selectedToken = _b[0], setSelectedToken = _b[1];
100
- var _c = (0, react_1.useState)(), selectedNetwork = _c[0], setSelectedNetwork = _c[1];
101
- var _d = (0, useWalletData_1.default)(), isAuthenticated = _d.isAuthenticated, blockchainWallets = _d.blockchainWallets;
102
- var _e = (0, react_1.useState)(0), inputAmount = _e[0], setInputAmount = _e[1];
103
- var _f = (0, react_1.useState)(0), amount = _f[0], setAmount = _f[1];
104
- var _g = (0, react_1.useState)(""), amountError = _g[0], setAmountError = _g[1];
105
- 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;
106
110
  var networks = (0, react_1.useMemo)(function () {
107
111
  console.warn("🚀 ~ networks ~ selectedToken:", selectedToken);
108
112
  if (!selectedToken) {
@@ -123,13 +127,26 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
123
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;
124
128
  }, [blockchainWallets, selectedNetwork]);
125
129
  var qrCodeValue = (0, react_1.useMemo)(function () {
126
- var _a;
130
+ var _a, _b;
127
131
  if (!addressByNetwork || !selectedToken) {
128
132
  return "";
129
133
  }
130
- 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)));
131
- }, [addressByNetwork, selectedToken, amount]);
132
- 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 () {
133
150
  setInputAmount(0);
134
151
  setAmount(0);
135
152
  setAmountError("");
@@ -145,7 +162,7 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
145
162
  if (!isAuthenticated)
146
163
  throw new Error("Please connect your wallet");
147
164
  (_a = drawerRef.current) === null || _a === void 0 ? void 0 : _a.close();
148
- resetValues();
165
+ clearValues();
149
166
  };
150
167
  (0, react_1.useImperativeHandle)(ref, function () { return ({
151
168
  open: open,
@@ -156,22 +173,42 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
156
173
  (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.prev();
157
174
  setCurrentStep(currentStep - 1);
158
175
  };
159
- 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) {
160
189
  var _a;
161
- (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.next();
162
- 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);
163
195
  };
164
196
  var handleSelectToken = function (token) {
165
197
  console.warn("🚀 ~ handleSelectToken ~ token:", token);
166
198
  setSelectedToken(token);
167
199
  if (!!token) {
168
- nextStep();
200
+ if (selectedMethod === ReceiveMethods.RECEIVE_INTERNAL) {
201
+ gotoStep(ReceiveStep.SHOW_QR_CODE);
202
+ }
203
+ else {
204
+ gotoStep(ReceiveStep.SELECT_NETWORK);
205
+ }
169
206
  }
170
207
  };
171
208
  var handleSelectNetwork = function (network) {
172
209
  console.warn("network", selectedNetwork);
173
210
  setSelectedNetwork(network);
174
- nextStep();
211
+ gotoStep(ReceiveStep.SHOW_QR_CODE);
175
212
  };
176
213
  var validateAmount = function (amount) {
177
214
  var _a, _b;
@@ -207,7 +244,7 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
207
244
  };
208
245
  var handleOnClose = function () {
209
246
  var _a;
210
- resetValues();
247
+ clearValues();
211
248
  (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
212
249
  };
213
250
  (0, react_1.useEffect)(function () {
@@ -221,19 +258,25 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
221
258
  alignItems: "center",
222
259
  minHeight: "2rem",
223
260
  mb: theme.mixins.customMargin.m20,
224
- }, 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: {
225
262
  autoHeight: true,
226
263
  spaceBetween: 32,
227
- }, 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) {
228
271
  var stringifiedTokenData = JSON.stringify(item);
229
272
  if (!item)
230
273
  return null;
231
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));
232
- })] }) }, 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) {
233
276
  if (!item)
234
277
  return null;
235
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));
236
- }) }) }, 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: {
237
280
  display: "flex",
238
281
  flexDirection: "column",
239
282
  gap: theme.mixins.gaps.g16,
@@ -267,7 +310,7 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
267
310
  fontWeight: theme.typography.fontWeight400,
268
311
  leading: theme.typography.leading160,
269
312
  textTransform: "capitalize",
270
- }, 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) }) }) }));
271
314
  });
272
315
  DepositFunction.displayName = "DepositFunction";
273
316
  exports.default = DepositFunction;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tek-wallet",
3
- "version": "0.0.362",
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",