tek-wallet 0.0.354 → 0.0.356

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.
Files changed (26) hide show
  1. package/dist/components/ui/BackArrow/index.d.ts +2 -2
  2. package/dist/components/ui/Button/index.js +2 -2
  3. package/dist/components/ui/Icon/index.d.ts +3 -2
  4. package/dist/components/ui/Icon/index.js +2 -2
  5. package/dist/components/ui/Image/index.d.ts +2 -2
  6. package/dist/components/ui/WithdrawFunction/index.d.ts +4 -3
  7. package/dist/components/ui/WithdrawFunction/index.js +35 -11
  8. package/dist/providers/RealtimeProvider/index.d.ts +13 -0
  9. package/dist/providers/RealtimeProvider/index.js +107 -0
  10. package/dist/providers/RealtimeProvider/type.d.ts +11 -0
  11. package/dist/providers/RealtimeProvider/type.js +2 -0
  12. package/dist/providers/TekWalletProvider/index.js +2 -1
  13. package/dist/services/ably/ably.service.d.ts +13 -0
  14. package/dist/services/ably/ably.service.js +153 -0
  15. package/dist/services/ably/type.d.ts +3 -0
  16. package/dist/services/ably/type.js +7 -0
  17. package/dist/services/axios/send-external-service/index.d.ts +3 -0
  18. package/dist/services/axios/send-external-service/index.js +58 -0
  19. package/dist/services/axios/send-external-service/type.d.ts +13 -0
  20. package/dist/services/axios/send-external-service/type.js +2 -0
  21. package/dist/services/axios/send-internal-service/index.d.ts +3 -0
  22. package/dist/services/axios/send-internal-service/index.js +58 -0
  23. package/dist/services/axios/send-internal-service/type.d.ts +11 -0
  24. package/dist/services/axios/send-internal-service/type.js +2 -0
  25. package/dist/services/axios/validate-wallet-address-service/type.d.ts +1 -0
  26. package/package.json +3 -1
@@ -1,5 +1,5 @@
1
- import { GeneralProps } from "../../../types/ui";
2
- interface BackArrowProps extends GeneralProps {
1
+ import { IconProps } from "../Icon";
2
+ interface BackArrowProps extends IconProps {
3
3
  }
4
4
  declare const BackArrow: (props: BackArrowProps) => import("react/jsx-runtime").JSX.Element;
5
5
  export default BackArrow;
@@ -38,9 +38,9 @@ var Button = function (props) {
38
38
  };
39
39
  Button.displayName = "Button";
40
40
  Button.Primary = function (props) {
41
- var sx = props.sx, rest = __rest(props, ["sx"]);
41
+ var sx = props.sx, children = props.children, rest = __rest(props, ["sx", "children"]);
42
42
  var theme = (0, material_1.useTheme)();
43
- return ((0, jsx_runtime_1.jsx)(Button, __assign({}, rest, { variant: "contained", color: "primary", sx: __assign({ borderRadius: theme.mixins.theBorderRadius.full }, sx) })));
43
+ return ((0, jsx_runtime_1.jsx)(Button, __assign({}, rest, { variant: "contained", color: "primary", sx: __assign({ borderRadius: theme.mixins.theBorderRadius.full }, sx), children: children })));
44
44
  };
45
45
  Button.Primary.displayName = "Button.Primary";
46
46
  Button.Secondary = function (props) {
@@ -1,9 +1,10 @@
1
- import { GeneralProps } from "../../../types/ui";
2
- export interface IconProps extends Omit<GeneralProps, "onClick">, React.ImgHTMLAttributes<HTMLImageElement> {
1
+ import { SxProps } from "@mui/material";
2
+ export interface IconProps extends React.ImgHTMLAttributes<HTMLImageElement> {
3
3
  src?: string;
4
4
  alt?: string;
5
5
  width?: number;
6
6
  height?: number;
7
+ sx?: SxProps;
7
8
  }
8
9
  declare const Icon: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export default Icon;
@@ -26,11 +26,11 @@ var jsx_runtime_1 = require("react/jsx-runtime");
26
26
  var material_1 = require("@mui/material");
27
27
  var Icon = function (props) {
28
28
  var _a, _b;
29
- var src = props.src, alt = props.alt, onClick = props.onClick, width = props.width, height = props.height, rest = __rest(props, ["src", "alt", "onClick", "width", "height"]);
29
+ var src = props.src, alt = props.alt, onClick = props.onClick, width = props.width, height = props.height, sx = props.sx, rest = __rest(props, ["src", "alt", "onClick", "width", "height", "sx"]);
30
30
  return ((0, jsx_runtime_1.jsx)(material_1.Box, __assign({ component: "img", src: src, alt: alt, onClick: onClick }, rest, { sx: __assign({ display: "block", width: ((_a = width !== null && width !== void 0 ? width : height) !== null && _a !== void 0 ? _a : false)
31
31
  ? "".concat((width || height || 0) / 16, "rem")
32
32
  : "auto", height: ((_b = height !== null && height !== void 0 ? height : width) !== null && _b !== void 0 ? _b : false)
33
33
  ? "".concat((height || width || 0) / 16, "rem")
34
- : "auto" }, props.sx) })));
34
+ : "auto" }, sx) })));
35
35
  };
36
36
  exports.default = Icon;
@@ -1,5 +1,5 @@
1
- import { GeneralProps } from "../../../types/ui";
2
- interface ImageProps extends GeneralProps {
1
+ import { BoxProps } from "@mui/material";
2
+ interface ImageProps extends BoxProps {
3
3
  src?: string;
4
4
  alt?: string;
5
5
  }
@@ -10,14 +10,15 @@ type WithdrawFunctionRef = {
10
10
  };
11
11
  export declare enum SendMethods {
12
12
  SCAN_QR_CODE = "scan qr code",
13
- TRANSFER_INTERNAL = "transfer internal",
14
- TRANSFER_EXTERNAL = "transfer external"
13
+ TRANSFER_INTERNAL = "send internal",
14
+ TRANSFER_EXTERNAL = "send external"
15
15
  }
16
16
  export declare enum WithdrawStep {
17
17
  SELECT_METHOD = 0,
18
18
  SELECT_TOKEN = 1,
19
19
  SELECT_NETWORK = 2,
20
- CONFIRM = 3
20
+ FORM = 3,
21
+ CONFIRM = 4
21
22
  }
22
23
  export declare enum AmountError {
23
24
  INSUFFICIENT_BALANCE = "Your balance is insufficient",
@@ -116,20 +116,22 @@ var Formatter_1 = __importDefault(require("../Formatter"));
116
116
  var SendMethods;
117
117
  (function (SendMethods) {
118
118
  SendMethods["SCAN_QR_CODE"] = "scan qr code";
119
- SendMethods["TRANSFER_INTERNAL"] = "transfer internal";
120
- SendMethods["TRANSFER_EXTERNAL"] = "transfer external";
119
+ SendMethods["TRANSFER_INTERNAL"] = "send internal";
120
+ SendMethods["TRANSFER_EXTERNAL"] = "send external";
121
121
  })(SendMethods || (exports.SendMethods = SendMethods = {}));
122
122
  var WithdrawStep;
123
123
  (function (WithdrawStep) {
124
124
  WithdrawStep[WithdrawStep["SELECT_METHOD"] = 0] = "SELECT_METHOD";
125
125
  WithdrawStep[WithdrawStep["SELECT_TOKEN"] = 1] = "SELECT_TOKEN";
126
126
  WithdrawStep[WithdrawStep["SELECT_NETWORK"] = 2] = "SELECT_NETWORK";
127
- WithdrawStep[WithdrawStep["CONFIRM"] = 3] = "CONFIRM";
127
+ WithdrawStep[WithdrawStep["FORM"] = 3] = "FORM";
128
+ WithdrawStep[WithdrawStep["CONFIRM"] = 4] = "CONFIRM";
128
129
  })(WithdrawStep || (exports.WithdrawStep = WithdrawStep = {}));
129
130
  var WITHDRAW_STEP_NAME = (_a = {},
130
131
  _a[WithdrawStep.SELECT_METHOD] = "Select method",
131
132
  _a[WithdrawStep.SELECT_TOKEN] = "Select token",
132
133
  _a[WithdrawStep.SELECT_NETWORK] = "Select network",
134
+ _a[WithdrawStep.FORM] = "Form",
133
135
  _a[WithdrawStep.CONFIRM] = "Confirm",
134
136
  _a);
135
137
  var AmountError;
@@ -284,7 +286,7 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
284
286
  }
285
287
  else {
286
288
  setSelectedToken(tokenSet);
287
- gotoStep(WithdrawStep.CONFIRM);
289
+ gotoStep(WithdrawStep.FORM);
288
290
  }
289
291
  };
290
292
  var handleSelectContinueTransferExternal = function (dataPromptly) {
@@ -304,7 +306,7 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
304
306
  else {
305
307
  setSelectedToken(tokenSet);
306
308
  setSelectedNetwork(tokenSet === null || tokenSet === void 0 ? void 0 : tokenSet.network_data);
307
- gotoStep(WithdrawStep.CONFIRM);
309
+ gotoStep(WithdrawStep.FORM);
308
310
  }
309
311
  setAmount(getAmountAfterDecimal((data === null || data === void 0 ? void 0 : data.amount) || 0, (tokenSet === null || tokenSet === void 0 ? void 0 : tokenSet.decimal) || 0));
310
312
  setMemo(data === null || data === void 0 ? void 0 : data.text);
@@ -339,7 +341,7 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
339
341
  return amountNumber || "";
340
342
  };
341
343
  var handleBack = function () {
342
- if (currentStep === WithdrawStep.CONFIRM &&
344
+ if (currentStep === WithdrawStep.FORM &&
343
345
  selectedMethod === SendMethods.TRANSFER_INTERNAL) {
344
346
  gotoStep(WithdrawStep.SELECT_TOKEN);
345
347
  return;
@@ -351,7 +353,7 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
351
353
  setSelectedToken(token);
352
354
  if (!!token) {
353
355
  if (selectedMethod === SendMethods.TRANSFER_INTERNAL) {
354
- gotoStep(WithdrawStep.CONFIRM);
356
+ gotoStep(WithdrawStep.FORM);
355
357
  }
356
358
  else {
357
359
  gotoStep(WithdrawStep.SELECT_NETWORK);
@@ -361,7 +363,7 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
361
363
  var handleSelectNetwork = function (network) {
362
364
  console.warn("network", selectedNetwork);
363
365
  setSelectedNetwork(network);
364
- gotoStep(WithdrawStep.CONFIRM);
366
+ gotoStep(WithdrawStep.FORM);
365
367
  };
366
368
  var handleValidateWalletAddress = function (address, network) { return __awaiter(void 0, void 0, void 0, function () {
367
369
  var validateWalletAddress;
@@ -425,6 +427,10 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
425
427
  // if(validateWalletAddress?.is_current_wallet) {
426
428
  // return
427
429
  // }
430
+ if (validateWalletAddress === null || validateWalletAddress === void 0 ? void 0 : validateWalletAddress.is_current_wallet) {
431
+ setInfoDialogContent("You can not send to your own wallet");
432
+ return [2 /*return*/];
433
+ }
428
434
  if (!!(validateWalletAddress === null || validateWalletAddress === void 0 ? void 0 : validateWalletAddress.valid)) {
429
435
  setRecipientAddressError(undefined);
430
436
  }
@@ -457,6 +463,24 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
457
463
  return [2 /*return*/];
458
464
  });
459
465
  }); };
466
+ var handleWithdrawInternal = function () {
467
+ console.warn("withdraw internal");
468
+ };
469
+ var handleWithdrawExternal = function () {
470
+ console.warn("withdraw external");
471
+ };
472
+ var handleWithdraw = function () {
473
+ switch (selectedMethod) {
474
+ case SendMethods.TRANSFER_INTERNAL:
475
+ handleWithdrawInternal();
476
+ break;
477
+ case SendMethods.TRANSFER_EXTERNAL:
478
+ handleWithdrawExternal();
479
+ break;
480
+ default:
481
+ break;
482
+ }
483
+ };
460
484
  (0, react_1.useEffect)(function () {
461
485
  if (isAuthenticated && !withdrawTokens) {
462
486
  console.warn("🚀 ~ updateWithdrawToken ~ isAuthenticated:", isAuthenticated);
@@ -472,7 +496,7 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
472
496
  alignItems: "center",
473
497
  minHeight: "2rem",
474
498
  mb: theme.mixins.customMargin.m20,
475
- }, overrideBack: handleBack, hideBack: currentStep === WithdrawStep.SELECT_METHOD, center: currentStep === WithdrawStep.CONFIRM
499
+ }, overrideBack: handleBack, hideBack: currentStep === WithdrawStep.SELECT_METHOD, center: currentStep === WithdrawStep.FORM
476
500
  ? "Send ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name, " ").concat(selectedMethod === SendMethods.TRANSFER_EXTERNAL ? "externally" : "internally")
477
501
  : WITHDRAW_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: {
478
502
  autoHeight: true,
@@ -513,13 +537,13 @@ var WithdrawFunction = (0, react_1.forwardRef)(function (props, ref) {
513
537
  placeholder: "Enter memo",
514
538
  value: memo,
515
539
  onChange: handleChangeMemo,
516
- } })] })), (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { sx: { width: "100%" }, status: !!amountError ||
540
+ } })] })), (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { sx: { width: "100%" }, onClick: handleWithdraw, status: !!amountError ||
517
541
  !recipientAddress ||
518
542
  !amount ||
519
543
  !selectedToken ||
520
544
  !!recipientAddressError
521
545
  ? Button_1.BUTTON_STATUS.DISABLED
522
- : Button_1.BUTTON_STATUS.ENABLED, children: "Confirm" })] }) }, WithdrawStep.CONFIRM)] }, withdrawTokens === null || withdrawTokens === void 0 ? void 0 : withdrawTokens.length), (0, jsx_runtime_1.jsx)(QrCodeReader_1.default, { ref: scannerAllQrCodeRef, onResult: handleScanAllQrCode }), (0, jsx_runtime_1.jsx)(QrCodeReader_1.default, { ref: scannerAddressQrCodeRef, onResult: handleScanAddressQrCode }), (0, jsx_runtime_1.jsx)(AppBackDrop_1.default, { ref: backDropRef }), (0, jsx_runtime_1.jsx)(AppDialog_1.default, { overrideOpen: !!infoDialogContent, children: (0, jsx_runtime_1.jsx)(DialogContentLayout_1.default, { content: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
546
+ : Button_1.BUTTON_STATUS.ENABLED, children: "Continue" })] }) }, WithdrawStep.FORM)] }, withdrawTokens === null || withdrawTokens === void 0 ? void 0 : withdrawTokens.length), (0, jsx_runtime_1.jsx)(QrCodeReader_1.default, { ref: scannerAllQrCodeRef, onResult: handleScanAllQrCode }), (0, jsx_runtime_1.jsx)(QrCodeReader_1.default, { ref: scannerAddressQrCodeRef, onResult: handleScanAddressQrCode }), (0, jsx_runtime_1.jsx)(AppBackDrop_1.default, { ref: backDropRef }), (0, jsx_runtime_1.jsx)(AppDialog_1.default, { overrideOpen: !!infoDialogContent, children: (0, jsx_runtime_1.jsx)(DialogContentLayout_1.default, { content: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
523
547
  textAlign: "center",
524
548
  display: "inline-block",
525
549
  width: "100%",
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { RealtimeProviderDataType } from "./type";
3
+ import { VariantType } from "notistack";
4
+ export declare const initialRealtime: RealtimeProviderDataType;
5
+ export interface Notification {
6
+ message: string;
7
+ variant: VariantType;
8
+ }
9
+ export declare const RealtimeContext: React.Context<RealtimeProviderDataType>;
10
+ declare function RealtimeProvider({ children }: {
11
+ children: React.ReactNode;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ export default RealtimeProvider;
@@ -0,0 +1,107 @@
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 __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
+ })();
47
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
48
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
49
+ if (ar || !(i in from)) {
50
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
51
+ ar[i] = from[i];
52
+ }
53
+ }
54
+ return to.concat(ar || Array.prototype.slice.call(from));
55
+ };
56
+ var __importDefault = (this && this.__importDefault) || function (mod) {
57
+ return (mod && mod.__esModule) ? mod : { "default": mod };
58
+ };
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.RealtimeContext = exports.initialRealtime = void 0;
61
+ var jsx_runtime_1 = require("react/jsx-runtime");
62
+ var react_1 = __importStar(require("react"));
63
+ var useWalletData_1 = __importDefault(require("../../hooks/useWalletData"));
64
+ var ably_service_1 = require("../../services/ably/ably.service");
65
+ var material_1 = require("@mui/material");
66
+ var notistack_1 = require("notistack");
67
+ var Slide_1 = __importDefault(require("@mui/material/Slide"));
68
+ exports.initialRealtime = {
69
+ transaction: undefined,
70
+ isConnected: false,
71
+ pushNotification: function () { },
72
+ };
73
+ function SlideTransition(props) {
74
+ return (0, jsx_runtime_1.jsx)(Slide_1.default, __assign({}, props, { direction: "up" }));
75
+ }
76
+ exports.RealtimeContext = react_1.default.createContext(exports.initialRealtime);
77
+ function RealtimeProvider(_a) {
78
+ var children = _a.children;
79
+ var masterWallet = (0, useWalletData_1.default)().masterWallet;
80
+ var _b = (0, react_1.useState)(exports.initialRealtime.isConnected), isConnected = _b[0], setIsConnected = _b[1];
81
+ var _c = (0, react_1.useState)(exports.initialRealtime.transaction), transaction = _c[0], setTransaction = _c[1];
82
+ var _d = (0, react_1.useState)([]), notifications = _d[0], setNotifications = _d[1];
83
+ var pushNotification = function (notification) {
84
+ setNotifications(function (prev) { return __spreadArray(__spreadArray([], prev, true), [notification], false); });
85
+ };
86
+ (0, react_1.useEffect)(function () {
87
+ if (!masterWallet)
88
+ return;
89
+ var ablyService = new ably_service_1.AblyService();
90
+ console.warn("Connecting to realtime");
91
+ ablyService.listenMessage(masterWallet, function (message) {
92
+ // eslint-disable-next-line no-console
93
+ console.log("🚀 ~ ablyService.listenMessage ~ message:", message);
94
+ setIsConnected(true);
95
+ setTransaction(message);
96
+ });
97
+ }, [masterWallet]);
98
+ return ((0, jsx_runtime_1.jsxs)(exports.RealtimeContext.Provider, { value: {
99
+ isConnected: isConnected,
100
+ transaction: transaction,
101
+ pushNotification: pushNotification,
102
+ }, children: [children, (0, jsx_runtime_1.jsx)(notistack_1.SnackbarProvider, { maxSnack: 2, children: notifications.map(function (notification) {
103
+ var _a;
104
+ return ((0, jsx_runtime_1.jsx)(material_1.Snackbar, { open: true, onClose: function () { }, slots: { transition: SlideTransition }, message: notification.message, autoHideDuration: (_a = notification.duration) !== null && _a !== void 0 ? _a : 2000 }, notification.id));
105
+ }) })] }));
106
+ }
107
+ exports.default = RealtimeProvider;
@@ -0,0 +1,11 @@
1
+ export interface RealtimeProviderDataType {
2
+ transaction: any;
3
+ isConnected: boolean;
4
+ pushNotification: (notification: NotificationType) => void;
5
+ }
6
+ export interface NotificationType {
7
+ message: string;
8
+ type: "success" | "error" | "warning" | "info";
9
+ duration?: number;
10
+ id: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -10,8 +10,9 @@ var mui_1 = __importDefault(require("../../theme/mui"));
10
10
  var DepositProvider_1 = __importDefault(require("../DepositProvider"));
11
11
  var LockTokenProvider_1 = __importDefault(require("../LockTokenProvider"));
12
12
  var WithdrawProvider_1 = __importDefault(require("../WithdrawProvider"));
13
+ var RealtimeProvider_1 = __importDefault(require("../RealtimeProvider"));
13
14
  function TekWalletProvider(_a) {
14
15
  var children = _a.children;
15
- return ((0, jsx_runtime_1.jsx)(WalletDataProvider_1.default, { children: (0, jsx_runtime_1.jsx)(DepositProvider_1.default, { children: (0, jsx_runtime_1.jsx)(LockTokenProvider_1.default, { children: (0, jsx_runtime_1.jsx)(WithdrawProvider_1.default, { children: (0, jsx_runtime_1.jsx)(mui_1.default, { children: children }) }) }) }) }));
16
+ return ((0, jsx_runtime_1.jsx)(WalletDataProvider_1.default, { children: (0, jsx_runtime_1.jsx)(RealtimeProvider_1.default, { children: (0, jsx_runtime_1.jsx)(DepositProvider_1.default, { children: (0, jsx_runtime_1.jsx)(LockTokenProvider_1.default, { children: (0, jsx_runtime_1.jsx)(WithdrawProvider_1.default, { children: (0, jsx_runtime_1.jsx)(mui_1.default, { children: children }) }) }) }) }) }));
16
17
  }
17
18
  exports.default = TekWalletProvider;
@@ -0,0 +1,13 @@
1
+ import * as Ably from "ably";
2
+ import { Message } from "ably";
3
+ export declare class AblyService {
4
+ private readonly ably;
5
+ private readonly channels;
6
+ constructor();
7
+ getChannels(): Map<string, Ably.RealtimeChannel>;
8
+ getClient(): Ably.Realtime;
9
+ listenMessage(walletAddress: string, onMessage: (message: Message) => void): Promise<void>;
10
+ publish(channel: string, event: string, data: any): Promise<void>;
11
+ subscribe(channel: string, event: string, callback: (message: any) => void): Promise<void>;
12
+ cleanup(walletAddress: string): Promise<void>;
13
+ }
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __generator = (this && this.__generator) || function (thisArg, body) {
45
+ 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);
46
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
+ function verb(n) { return function (v) { return step([n, v]); }; }
48
+ function step(op) {
49
+ if (f) throw new TypeError("Generator is already executing.");
50
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
+ 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;
52
+ if (y = 0, t) op = [op[0] & 2, t.value];
53
+ switch (op[0]) {
54
+ case 0: case 1: t = op; break;
55
+ case 4: _.label++; return { value: op[1], done: false };
56
+ case 5: _.label++; y = op[1]; op = [0]; continue;
57
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
+ default:
59
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
+ if (t[2]) _.ops.pop();
64
+ _.trys.pop(); continue;
65
+ }
66
+ op = body.call(thisArg, _);
67
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
+ }
70
+ };
71
+ Object.defineProperty(exports, "__esModule", { value: true });
72
+ exports.AblyService = void 0;
73
+ var Ably = __importStar(require("ably"));
74
+ var type_1 = require("./type");
75
+ var AblyService = /** @class */ (function () {
76
+ function AblyService() {
77
+ this.channels = new Map();
78
+ this.ably = new Ably.Realtime({
79
+ key: process.env.NEXT_PUBLIC_TEK_WALLET_ABLY_API_KEY,
80
+ clientId: "".concat(process.env.NEXT_PUBLIC_TEK_WALLET_APP_SLUG, "-FE"),
81
+ });
82
+ }
83
+ AblyService.prototype.getChannels = function () {
84
+ return this.channels;
85
+ };
86
+ AblyService.prototype.getClient = function () {
87
+ return this.ably;
88
+ };
89
+ AblyService.prototype.listenMessage = function (walletAddress, onMessage) {
90
+ return __awaiter(this, void 0, void 0, function () {
91
+ var channel, error_1;
92
+ return __generator(this, function (_a) {
93
+ switch (_a.label) {
94
+ case 0:
95
+ _a.trys.push([0, 2, , 3]);
96
+ channel = this.ably.channels.get(walletAddress);
97
+ return [4 /*yield*/, channel.subscribe(type_1.ABLY_CHANNELS_NAME.TRANSACTION, function (message) {
98
+ onMessage(message);
99
+ })];
100
+ case 1:
101
+ _a.sent();
102
+ return [3 /*break*/, 3];
103
+ case 2:
104
+ error_1 = _a.sent();
105
+ console.error("Test failed for wallet ".concat(walletAddress, ":"), error_1);
106
+ return [3 /*break*/, 3];
107
+ case 3: return [2 /*return*/];
108
+ }
109
+ });
110
+ });
111
+ };
112
+ AblyService.prototype.publish = function (channel, event, data) {
113
+ return __awaiter(this, void 0, void 0, function () {
114
+ var message;
115
+ return __generator(this, function (_a) {
116
+ message = {
117
+ name: event,
118
+ data: data,
119
+ };
120
+ return [2 /*return*/, this.ably.channels.get(channel).publish(message)];
121
+ });
122
+ });
123
+ };
124
+ AblyService.prototype.subscribe = function (channel, event, callback) {
125
+ return __awaiter(this, void 0, void 0, function () {
126
+ return __generator(this, function (_a) {
127
+ switch (_a.label) {
128
+ case 0: return [4 /*yield*/, this.ably.channels.get(channel).subscribe(event, callback)];
129
+ case 1:
130
+ _a.sent();
131
+ return [2 /*return*/];
132
+ }
133
+ });
134
+ });
135
+ };
136
+ AblyService.prototype.cleanup = function (walletAddress) {
137
+ return __awaiter(this, void 0, void 0, function () {
138
+ var channel;
139
+ return __generator(this, function (_a) {
140
+ channel = this.channels.get(walletAddress);
141
+ if (channel) {
142
+ channel.unsubscribe();
143
+ this.channels.delete(walletAddress);
144
+ // eslint-disable-next-line no-console
145
+ console.log("Unsubscribed from wallet ".concat(walletAddress));
146
+ }
147
+ return [2 /*return*/];
148
+ });
149
+ });
150
+ };
151
+ return AblyService;
152
+ }());
153
+ exports.AblyService = AblyService;
@@ -0,0 +1,3 @@
1
+ export declare enum ABLY_CHANNELS_NAME {
2
+ TRANSACTION = "transaction"
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ABLY_CHANNELS_NAME = void 0;
4
+ var ABLY_CHANNELS_NAME;
5
+ (function (ABLY_CHANNELS_NAME) {
6
+ ABLY_CHANNELS_NAME["TRANSACTION"] = "transaction";
7
+ })(ABLY_CHANNELS_NAME || (exports.ABLY_CHANNELS_NAME = ABLY_CHANNELS_NAME = {}));
@@ -0,0 +1,3 @@
1
+ import { SendExternalBody, SendExternalResponse } from "./type";
2
+ declare const sendExternalService: (body: SendExternalBody) => Promise<SendExternalResponse>;
3
+ export default sendExternalService;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ 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);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var userClientRequest_1 = __importDefault(require("../clients/userClientRequest"));
43
+ var sendExternalService = function (body) { return __awaiter(void 0, void 0, void 0, function () {
44
+ var response;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0: return [4 /*yield*/, userClientRequest_1.default.post("/transaction/withdrawn", body, {
48
+ headers: {
49
+ "c-payload-signature": "text",
50
+ },
51
+ })];
52
+ case 1:
53
+ response = _a.sent();
54
+ return [2 /*return*/, response.data];
55
+ }
56
+ });
57
+ }); };
58
+ exports.default = sendExternalService;
@@ -0,0 +1,13 @@
1
+ export interface SendExternalBody {
2
+ amount: string;
3
+ currency_slug: string;
4
+ passcode: string;
5
+ to_address: string;
6
+ network: string;
7
+ memo: string;
8
+ }
9
+ export interface SendExternalResponse {
10
+ success: boolean;
11
+ message: string;
12
+ timestamp: string;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import { SendInternalBody, SendInternalResponse } from "./type";
2
+ declare const sendInternalService: (body: SendInternalBody) => Promise<SendInternalResponse>;
3
+ export default sendInternalService;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ 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);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var userClientRequest_1 = __importDefault(require("../clients/userClientRequest"));
43
+ var sendInternalService = function (body) { return __awaiter(void 0, void 0, void 0, function () {
44
+ var response;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0: return [4 /*yield*/, userClientRequest_1.default.post("/transaction/transfer-internal", body, {
48
+ headers: {
49
+ "c-payload-signature": "text",
50
+ },
51
+ })];
52
+ case 1:
53
+ response = _a.sent();
54
+ return [2 /*return*/, response.data];
55
+ }
56
+ });
57
+ }); };
58
+ exports.default = sendInternalService;
@@ -0,0 +1,11 @@
1
+ export interface SendInternalBody {
2
+ amount: string;
3
+ to_address: string;
4
+ currency_slug: string;
5
+ passcode: string;
6
+ }
7
+ export interface SendInternalResponse {
8
+ success: boolean;
9
+ message: string;
10
+ timestamp: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -10,6 +10,7 @@ export interface ValidateWalletAddressData {
10
10
  valid: number;
11
11
  master_wallet_address: null;
12
12
  is_existed: boolean;
13
+ is_current_wallet: boolean;
13
14
  }
14
15
  export interface ValidateWalletAddressBody {
15
16
  address: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tek-wallet",
3
- "version": "0.0.354",
3
+ "version": "0.0.356",
4
4
  "description": "A custom React provider with TypeScript support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,6 +32,7 @@
32
32
  "@mui/material": "^6.4.7",
33
33
  "@mui/system": "^7.0.2",
34
34
  "@yudiel/react-qr-scanner": "^2.2.1",
35
+ "ably": "^2.7.0",
35
36
  "axios": "^1.8.4",
36
37
  "clsx": "^2.1.1",
37
38
  "date-fns": "^4.1.0",
@@ -42,6 +43,7 @@
42
43
  "html-to-image": "^1.11.13",
43
44
  "jsonwebtoken": "^9.0.2",
44
45
  "next": "^15.2.4",
46
+ "notistack": "^3.0.2",
45
47
  "qrcode.react": "^4.2.0",
46
48
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
47
49
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",