@n1xyz/wallet-widget 0.0.33-alpha.3 → 0.0.34

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 (216) hide show
  1. package/dist/animations/N1Loader.js +8 -14
  2. package/dist/animations/N1Loader.js.map +1 -1
  3. package/dist/animations/Processing.js +8 -14
  4. package/dist/animations/Processing.js.map +1 -1
  5. package/dist/components/LoadingFallback.js +2 -6
  6. package/dist/components/LoadingFallback.js.map +1 -1
  7. package/dist/components/Logo.js +22 -25
  8. package/dist/components/Logo.js.map +1 -1
  9. package/dist/components/N1ConnectButton.js +12 -18
  10. package/dist/components/N1ConnectButton.js.map +1 -1
  11. package/dist/components/logos/ArbitrumLogo.js +3 -7
  12. package/dist/components/logos/ArbitrumLogo.js.map +1 -1
  13. package/dist/components/logos/BaseLogo.js +3 -7
  14. package/dist/components/logos/BaseLogo.js.map +1 -1
  15. package/dist/components/logos/BeraLogo.js +3 -7
  16. package/dist/components/logos/BeraLogo.js.map +1 -1
  17. package/dist/components/logos/BitcoinLogo.js +3 -7
  18. package/dist/components/logos/BitcoinLogo.js.map +1 -1
  19. package/dist/components/logos/EthereumLogo.js +3 -7
  20. package/dist/components/logos/EthereumLogo.js.map +1 -1
  21. package/dist/components/logos/HyperliquidLogo.js +3 -7
  22. package/dist/components/logos/HyperliquidLogo.js.map +1 -1
  23. package/dist/components/logos/OptimismLogo.js +3 -7
  24. package/dist/components/logos/OptimismLogo.js.map +1 -1
  25. package/dist/components/logos/SolanaLogo.js +3 -7
  26. package/dist/components/logos/SolanaLogo.js.map +1 -1
  27. package/dist/components/logos/ZeroOneLogo.js +3 -7
  28. package/dist/components/logos/ZeroOneLogo.js.map +1 -1
  29. package/dist/components/logos/index.js +9 -25
  30. package/dist/components/logos/index.js.map +1 -1
  31. package/dist/config/dynamic.d.ts +1 -0
  32. package/dist/config/dynamic.js +13 -0
  33. package/dist/config/dynamic.js.map +1 -0
  34. package/dist/config/solana.js +3 -7
  35. package/dist/config/solana.js.map +1 -1
  36. package/dist/config/turnkey.d.ts +2 -0
  37. package/dist/config/turnkey.js +35 -0
  38. package/dist/config/turnkey.js.map +1 -0
  39. package/dist/config.js +2 -5
  40. package/dist/config.js.map +1 -1
  41. package/dist/context/n1-wallet-context.js +4 -8
  42. package/dist/context/n1-wallet-context.js.map +1 -1
  43. package/dist/errors/types.js +3 -6
  44. package/dist/errors/types.js.map +1 -1
  45. package/dist/features/onboarding-flow/N1WalletModal.js +23 -59
  46. package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -1
  47. package/dist/features/onboarding-flow/OnboardingFlow.js +46 -50
  48. package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -1
  49. package/dist/features/onboarding-flow/components/ChainButton.js +4 -7
  50. package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -1
  51. package/dist/features/onboarding-flow/components/Header.js +11 -15
  52. package/dist/features/onboarding-flow/components/Header.js.map +1 -1
  53. package/dist/features/onboarding-flow/components/ImageWithFallback.js +6 -10
  54. package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -1
  55. package/dist/features/onboarding-flow/components/TransactionTable.js +10 -13
  56. package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -1
  57. package/dist/features/onboarding-flow/components/WaitingMessage.js +8 -14
  58. package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -1
  59. package/dist/features/onboarding-flow/components/index.js +5 -21
  60. package/dist/features/onboarding-flow/components/index.js.map +1 -1
  61. package/dist/features/onboarding-flow/index.js +1 -5
  62. package/dist/features/onboarding-flow/index.js.map +1 -1
  63. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js +55 -60
  64. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -1
  65. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +43 -48
  66. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -1
  67. package/dist/features/onboarding-flow/providers/StateProvider.js +7 -11
  68. package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -1
  69. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +69 -74
  70. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -1
  71. package/dist/features/onboarding-flow/providers/debug.js +18 -21
  72. package/dist/features/onboarding-flow/providers/debug.js.map +1 -1
  73. package/dist/features/onboarding-flow/providers/index.js +5 -16
  74. package/dist/features/onboarding-flow/providers/index.js.map +1 -1
  75. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +15 -20
  76. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -1
  77. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js +8 -11
  78. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -1
  79. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +34 -38
  80. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -1
  81. package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.d.ts +1 -0
  82. package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js +18 -0
  83. package/dist/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +1 -0
  84. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js +47 -51
  85. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -1
  86. package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.d.ts +1 -0
  87. package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js +18 -0
  88. package/dist/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +1 -0
  89. package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.d.ts +31 -0
  90. package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.js +100 -0
  91. package/dist/features/onboarding-flow/screens/04-ChainSelectionScreen.js.map +1 -0
  92. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +8 -12
  93. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -1
  94. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.d.ts +6 -0
  95. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js +360 -0
  96. package/dist/features/onboarding-flow/screens/05-AmountInputScreen.js.map +1 -0
  97. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js +25 -28
  98. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -1
  99. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +10 -13
  100. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -1
  101. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.d.ts +3 -0
  102. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js +31 -0
  103. package/dist/features/onboarding-flow/screens/06-DepositProgressScreen.js.map +1 -0
  104. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.d.ts +1 -0
  105. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.js +136 -0
  106. package/dist/features/onboarding-flow/screens/07-DepositSuccessScreen.js.map +1 -0
  107. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +7 -10
  108. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -1
  109. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.d.ts +1 -0
  110. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.js +31 -0
  111. package/dist/features/onboarding-flow/screens/08-AuthLoadingScreen.js.map +1 -0
  112. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.d.ts +1 -0
  113. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js +18 -0
  114. package/dist/features/onboarding-flow/screens/08-TurnkeyAuthScreen.js.map +1 -0
  115. package/dist/features/onboarding-flow/screens/09-ErrorScreen.d.ts +1 -0
  116. package/dist/features/onboarding-flow/screens/09-ErrorScreen.js +14 -0
  117. package/dist/features/onboarding-flow/screens/09-ErrorScreen.js.map +1 -0
  118. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.d.ts +1 -0
  119. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js +18 -0
  120. package/dist/features/onboarding-flow/screens/09-TurnkeyPreparingScreen.js.map +1 -0
  121. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.d.ts +1 -0
  122. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js +18 -0
  123. package/dist/features/onboarding-flow/screens/TurnkeyAuthScreen.js.map +1 -0
  124. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.d.ts +1 -0
  125. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js +18 -0
  126. package/dist/features/onboarding-flow/screens/TurnkeyPreparingScreen.js.map +1 -0
  127. package/dist/features/onboarding-flow/screens/index.js +7 -23
  128. package/dist/features/onboarding-flow/screens/index.js.map +1 -1
  129. package/dist/features/onboarding-flow/types.js +3 -6
  130. package/dist/features/onboarding-flow/types.js.map +1 -1
  131. package/dist/features/onboarding-flow/utils/depositStorage.js +3 -8
  132. package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -1
  133. package/dist/features/onboarding-flow/utils/imageUtils.js +3 -9
  134. package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -1
  135. package/dist/features/onboarding-flow/utils/nordUser.js +2 -38
  136. package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -1
  137. package/dist/features/onboarding-flow/utils/nordUtils.js +5 -12
  138. package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -1
  139. package/dist/features/onboarding-flow/utils/session.js +14 -17
  140. package/dist/features/onboarding-flow/utils/session.js.map +1 -1
  141. package/dist/features/onboarding-flow/utils/transaction.js +1 -4
  142. package/dist/features/onboarding-flow/utils/transaction.js.map +1 -1
  143. package/dist/features/onboarding-flow/utils/utils.js +8 -16
  144. package/dist/features/onboarding-flow/utils/utils.js.map +1 -1
  145. package/dist/features/onboarding-flow/utils/withImageFallback.js +9 -15
  146. package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -1
  147. package/dist/features/turnkey/createTurnkeyWallet.d.ts +25 -0
  148. package/dist/features/turnkey/createTurnkeyWallet.js +119 -0
  149. package/dist/features/turnkey/createTurnkeyWallet.js.map +1 -0
  150. package/dist/hooks/index.js +2 -18
  151. package/dist/hooks/index.js.map +1 -1
  152. package/dist/hooks/useN1Wallet.js +6 -10
  153. package/dist/hooks/useN1Wallet.js.map +1 -1
  154. package/dist/hooks/useNordUserInitialization.js +31 -34
  155. package/dist/hooks/useNordUserInitialization.js.map +1 -1
  156. package/dist/index.js +7 -21
  157. package/dist/index.js.map +1 -1
  158. package/dist/{styles/main.css → main.css} +2 -2
  159. package/dist/polyfills/windowEthereumGuard.js +1 -2
  160. package/dist/polyfills/windowEthereumGuard.js.map +1 -1
  161. package/dist/providers/LazyWalletProvider.js +38 -74
  162. package/dist/providers/LazyWalletProvider.js.map +1 -1
  163. package/dist/providers/N1WalletProvider.js +70 -109
  164. package/dist/providers/N1WalletProvider.js.map +1 -1
  165. package/dist/providers/ShadowRootWrapper.js +4 -10
  166. package/dist/providers/ShadowRootWrapper.js.map +1 -1
  167. package/dist/providers/TurnkeyProviderBridge.d.ts +7 -0
  168. package/dist/providers/TurnkeyProviderBridge.js +20 -0
  169. package/dist/providers/TurnkeyProviderBridge.js.map +1 -0
  170. package/dist/providers/WalletErrorBoundary.js +6 -11
  171. package/dist/providers/WalletErrorBoundary.js.map +1 -1
  172. package/dist/styles/embedded-main-css.d.ts +1 -1
  173. package/dist/styles/embedded-main-css.js +1 -3
  174. package/dist/styles/embedded-main-css.js.map +1 -1
  175. package/dist/turnkey/TurnkeyProvider.d.ts +9 -0
  176. package/dist/turnkey/TurnkeyProvider.js +378 -0
  177. package/dist/turnkey/TurnkeyProvider.js.map +1 -0
  178. package/dist/turnkey/createWalletProvider.d.ts +3 -0
  179. package/dist/turnkey/createWalletProvider.js +180 -0
  180. package/dist/turnkey/createWalletProvider.js.map +1 -0
  181. package/dist/turnkey/index.d.ts +3 -0
  182. package/dist/turnkey/index.js +3 -0
  183. package/dist/turnkey/index.js.map +1 -0
  184. package/dist/turnkey/types.d.ts +48 -0
  185. package/dist/turnkey/types.js +8 -0
  186. package/dist/turnkey/types.js.map +1 -0
  187. package/dist/types/wallet.js +4 -7
  188. package/dist/types/wallet.js.map +1 -1
  189. package/dist/utils/ed25519.js +14 -20
  190. package/dist/utils/ed25519.js.map +1 -1
  191. package/dist/utils/getPseudoName.js +7 -10
  192. package/dist/utils/getPseudoName.js.map +1 -1
  193. package/dist/utils/logger.js +3 -5
  194. package/dist/utils/logger.js.map +1 -1
  195. package/dist/utils/shortenString.js +2 -6
  196. package/dist/utils/shortenString.js.map +1 -1
  197. package/dist/utils/turnkeySessionStorage.d.ts +3 -0
  198. package/dist/utils/turnkeySessionStorage.js +33 -0
  199. package/dist/utils/turnkeySessionStorage.js.map +1 -0
  200. package/dist/utils/words.js +1 -4
  201. package/dist/utils/words.js.map +1 -1
  202. package/package.json +3 -3
  203. package/dist/assets/fonts/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf +0 -0
  204. package/dist/assets/fonts/apk-galeria/APK-Galeria-Bold-Trial.otf +0 -0
  205. package/dist/assets/fonts/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf +0 -0
  206. package/dist/assets/fonts/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf +0 -0
  207. package/dist/assets/fonts/apk-galeria/APK-Galeria-Light-Italic-Trial.otf +0 -0
  208. package/dist/assets/fonts/apk-galeria/APK-Galeria-Light-Trial.otf +0 -0
  209. package/dist/assets/fonts/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf +0 -0
  210. package/dist/assets/fonts/apk-galeria/APK-Galeria-Medium-Trial.otf +0 -0
  211. package/dist/assets/fonts/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf +0 -0
  212. package/dist/assets/fonts/apk-galeria/APK-Galeria-Regular-Trial.otf +0 -0
  213. package/dist/assets/fonts/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf +0 -0
  214. package/dist/assets/fonts/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf +0 -0
  215. package/dist/assets/fonts/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf +0 -0
  216. package/dist/assets/fonts/apk-galeria/APK-Galeria-Thin-Trial.otf +0 -0
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  'use client';
3
2
  var __assign = (this && this.__assign) || function () {
4
3
  __assign = Object.assign || function(t) {
@@ -11,39 +10,6 @@ var __assign = (this && this.__assign) || function () {
11
10
  };
12
11
  return __assign.apply(this, arguments);
13
12
  };
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
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
48
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
49
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -80,94 +46,89 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
80
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
81
47
  }
82
48
  };
83
- var __importDefault = (this && this.__importDefault) || function (mod) {
84
- return (mod && mod.__esModule) ? mod : { "default": mod };
85
- };
86
- Object.defineProperty(exports, "__esModule", { value: true });
87
- exports.N1WalletProvider = N1WalletProvider;
88
- var jsx_runtime_1 = require("react/jsx-runtime");
89
- require("../polyfills/windowEthereumGuard");
90
- var react_1 = __importStar(require("react"));
91
- var react_shadow_1 = __importDefault(require("react-shadow"));
92
- var N1WalletModal_1 = require("../features/onboarding-flow/N1WalletModal");
93
- var providers_1 = require("../features/onboarding-flow/providers");
94
- var types_1 = require("../errors/types");
95
- var logger_1 = require("../utils/logger");
96
- var WalletErrorBoundary_1 = __importDefault(require("./WalletErrorBoundary"));
97
- var n1_wallet_context_1 = require("../context/n1-wallet-context");
98
- var useNordUserInitialization_1 = require("../hooks/useNordUserInitialization");
99
- var wallet_1 = require("../types/wallet");
100
- var embedded_main_css_1 = __importDefault(require("../styles/embedded-main-css"));
101
- var LazyWalletProvider = react_1.default.lazy(function () {
102
- return Promise.resolve().then(function () { return __importStar(require('./LazyWalletProvider')); }).then(function (mod) { return ({
49
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
50
+ import '../polyfills/windowEthereumGuard';
51
+ import React, { Suspense, useCallback, useEffect, useRef, useState } from 'react';
52
+ import root from 'react-shadow';
53
+ import { N1WalletModal } from '../features/onboarding-flow/N1WalletModal';
54
+ import { OnboardingProvider } from '../features/onboarding-flow/providers';
55
+ import { WalletError, WalletErrorCode } from '../errors/types';
56
+ import { logger } from '../utils/logger';
57
+ import WalletErrorBoundary from './WalletErrorBoundary';
58
+ import { N1InternalWalletContext, N1WalletContext } from '../context/n1-wallet-context';
59
+ import { useNordUserInitialization } from '../hooks/useNordUserInitialization';
60
+ import { N1ModalViewMode, N1SessionMode, } from '../types/wallet';
61
+ import mainCss from '../styles/embedded-main-css';
62
+ var LazyWalletProvider = React.lazy(function () {
63
+ return import('./LazyWalletProvider').then(function (mod) { return ({
103
64
  default: mod.LazyWalletProvider,
104
65
  }); });
105
66
  });
106
- var ModalContent = react_1.default.memo(function (_a) {
67
+ var ModalContent = React.memo(function (_a) {
107
68
  var css = _a.css;
108
- return ((0, jsx_runtime_1.jsxs)(react_shadow_1.default.div, { children: [(0, jsx_runtime_1.jsx)("style", { children: css }), (0, jsx_runtime_1.jsx)(N1WalletModal_1.N1WalletModal, {})] }));
69
+ return (_jsxs(root.div, { children: [_jsx("style", { children: css }), _jsx(N1WalletModal, {})] }));
109
70
  });
110
- var DynamicBridge = react_1.default.memo(function () { return null; });
71
+ var DynamicBridge = React.memo(function () { return null; });
111
72
  function NordWrapper(_a) {
112
73
  var children = _a.children;
113
74
  // Use the extracted hook for NordUser initialization
114
- (0, useNordUserInitialization_1.useNordUserInitialization)();
115
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children }));
75
+ useNordUserInitialization();
76
+ return (_jsx(_Fragment, { children: children }));
116
77
  }
117
- function N1WalletProvider(_a) {
78
+ export function N1WalletProvider(_a) {
118
79
  var _this = this;
119
80
  var children = _a.children, providedSessionMode = _a.providedSessionMode, onError = _a.onError, nord = _a.nord, colorOverrides = _a.colorOverrides, skipFinalScreen = _a.skipFinalScreen;
120
- var _b = (0, react_1.useState)(false), isConnected = _b[0], setIsConnected = _b[1];
121
- var _c = (0, react_1.useState)(null), sessionPubKey = _c[0], setSessionPubKey = _c[1];
122
- var _d = (0, react_1.useState)(null), walletPubKey = _d[0], setWalletPubKey = _d[1];
123
- var _e = (0, react_1.useState)(null), userChain = _e[0], setUserChain = _e[1];
124
- var _f = (0, react_1.useState)(''), username = _f[0], setUsername = _f[1];
81
+ var _b = useState(false), isConnected = _b[0], setIsConnected = _b[1];
82
+ var _c = useState(null), sessionPubKey = _c[0], setSessionPubKey = _c[1];
83
+ var _d = useState(null), walletPubKey = _d[0], setWalletPubKey = _d[1];
84
+ var _e = useState(null), userChain = _e[0], setUserChain = _e[1];
85
+ var _f = useState(''), username = _f[0], setUsername = _f[1];
125
86
  // TODO: Define proper types for message and transaction
126
- var _g = (0, react_1.useState)(null), signMessageWithSessionKey = _g[0], setSignMessageWithSessionKey = _g[1];
127
- var _h = (0, react_1.useState)(null), signMessageWithWalletKey = _h[0], setSignMessageWithWalletKey = _h[1];
128
- var _j = (0, react_1.useState)(null), signTransactionWithWalletKey = _j[0], setSignTransactionWithWalletKey = _j[1];
129
- var _k = (0, react_1.useState)(false), loading = _k[0], setLoading = _k[1];
130
- var _l = (0, react_1.useState)(wallet_1.N1ModalViewMode.Automatic), viewMode = _l[0], setViewMode = _l[1];
87
+ var _g = useState(null), signMessageWithSessionKey = _g[0], setSignMessageWithSessionKey = _g[1];
88
+ var _h = useState(null), signMessageWithWalletKey = _h[0], setSignMessageWithWalletKey = _h[1];
89
+ var _j = useState(null), signTransactionWithWalletKey = _j[0], setSignTransactionWithWalletKey = _j[1];
90
+ var _k = useState(false), loading = _k[0], setLoading = _k[1];
91
+ var _l = useState(N1ModalViewMode.Automatic), viewMode = _l[0], setViewMode = _l[1];
131
92
  // TODO: Import NordUser type from @n1xyz/nord-ts if available
132
- var _m = (0, react_1.useState)(null), nordUser = _m[0], setNordUser = _m[1];
133
- var _o = (0, react_1.useState)(function () { return function () {
134
- logger_1.logger.warn('disconnectWallet invoked before handler registration');
93
+ var _m = useState(null), nordUser = _m[0], setNordUser = _m[1];
94
+ var _o = useState(function () { return function () {
95
+ logger.warn('disconnectWallet invoked before handler registration');
135
96
  }; }), disconnectWalletHandler = _o[0], setDisconnectWalletHandler = _o[1];
136
97
  // dynamic
137
- var _p = (0, react_1.useState)([]), balances = _p[0], setBalances = _p[1];
138
- var _q = (0, react_1.useState)(''), chain = _q[0], setChain = _q[1];
139
- var _r = (0, react_1.useState)(null), dynamicSdkHasLoaded = _r[0], setDynamicSdkHasLoaded = _r[1];
140
- var _s = (0, react_1.useState)(false), showLogin = _s[0], setShowLoginState = _s[1];
141
- var _t = (0, react_1.useState)(false), startClosingLogin = _t[0], setStartClosingLogin = _t[1];
142
- var _u = (0, react_1.useState)(null), showDynamicWidget = _u[0], setShowDynamicWidget = _u[1];
143
- var _v = (0, react_1.useState)(0), depositFlowRequestId = _v[0], setDepositFlowRequestId = _v[1];
144
- var nextOpenAllowedAtRef = (0, react_1.useRef)(0);
145
- var pendingShowLoginRef = (0, react_1.useRef)(false);
98
+ var _p = useState([]), balances = _p[0], setBalances = _p[1];
99
+ var _q = useState(''), chain = _q[0], setChain = _q[1];
100
+ var _r = useState(null), dynamicSdkHasLoaded = _r[0], setDynamicSdkHasLoaded = _r[1];
101
+ var _s = useState(false), showLogin = _s[0], setShowLoginState = _s[1];
102
+ var _t = useState(false), startClosingLogin = _t[0], setStartClosingLogin = _t[1];
103
+ var _u = useState(null), showDynamicWidget = _u[0], setShowDynamicWidget = _u[1];
104
+ var _v = useState(0), depositFlowRequestId = _v[0], setDepositFlowRequestId = _v[1];
105
+ var nextOpenAllowedAtRef = useRef(0);
106
+ var pendingShowLoginRef = useRef(false);
146
107
  // dynamic
147
- var _w = (0, react_1.useState)(''), address = _w[0], setAddress = _w[1];
148
- var _x = (0, react_1.useState)(null), dynamicHandleLogOut = _x[0], setDynamicHandleLogOut = _x[1];
149
- var _y = (0, react_1.useState)(null), dynamicWallet = _y[0], setDynamicWallet = _y[1];
150
- var sessionMode = wallet_1.N1SessionMode.Nord;
151
- (0, react_1.useEffect)(function () {
152
- if (providedSessionMode !== wallet_1.N1SessionMode.Nord) {
153
- logger_1.logger.warn("Only Nord session mode is supported. Received ".concat(providedSessionMode, ", defaulting to Nord."));
108
+ var _w = useState(''), address = _w[0], setAddress = _w[1];
109
+ var _x = useState(null), dynamicHandleLogOut = _x[0], setDynamicHandleLogOut = _x[1];
110
+ var _y = useState(null), dynamicWallet = _y[0], setDynamicWallet = _y[1];
111
+ var sessionMode = N1SessionMode.Nord;
112
+ useEffect(function () {
113
+ if (providedSessionMode !== N1SessionMode.Nord) {
114
+ logger.warn("Only Nord session mode is supported. Received ".concat(providedSessionMode, ", defaulting to Nord."));
154
115
  }
155
116
  }, [providedSessionMode]);
156
- (0, react_1.useEffect)(function () {
117
+ useEffect(function () {
157
118
  var isDynamicReady = Boolean(dynamicSdkHasLoaded);
158
119
  setLoading(!isDynamicReady);
159
120
  }, [dynamicSdkHasLoaded, setLoading]);
160
- var handleError = (0, react_1.useCallback)(function (error) {
121
+ var handleError = useCallback(function (error) {
161
122
  onError === null || onError === void 0 ? void 0 : onError(error);
162
123
  }, [onError]);
163
124
  var throwTestError = function () { return __awaiter(_this, void 0, void 0, function () {
164
125
  return __generator(this, function (_a) {
165
- handleError(new types_1.WalletError(types_1.WalletErrorCode.WALLET_NOT_FOUND, 'Test error: No compatible wallet was found'));
126
+ handleError(new WalletError(WalletErrorCode.WALLET_NOT_FOUND, 'Test error: No compatible wallet was found'));
166
127
  return [2 /*return*/];
167
128
  });
168
129
  }); };
169
130
  // Prepare CSS with color overrides if provided
170
- var injectedCss = embedded_main_css_1.default;
131
+ var injectedCss = mainCss;
171
132
  if (Array.isArray(colorOverrides) && colorOverrides.length > 0) {
172
133
  // Apply all color overrides in order
173
134
  colorOverrides.forEach(function (_a) {
@@ -179,15 +140,15 @@ function N1WalletProvider(_a) {
179
140
  }
180
141
  });
181
142
  }
182
- var blockModalReopen = (0, react_1.useCallback)(function (duration) {
143
+ var blockModalReopen = useCallback(function (duration) {
183
144
  if (duration === void 0) { duration = 600; }
184
145
  var unblockAt = Date.now() + duration;
185
- logger_1.logger.debug('blockModalReopen invoked', { duration: duration, unblockAt: unblockAt });
146
+ logger.debug('blockModalReopen invoked', { duration: duration, unblockAt: unblockAt });
186
147
  nextOpenAllowedAtRef.current = Date.now() + duration;
187
148
  }, []);
188
- var applyShowLoginState = (0, react_1.useCallback)(function (next) {
149
+ var applyShowLoginState = useCallback(function (next) {
189
150
  setShowLoginState(function (prev) {
190
- logger_1.logger.debug('setShowLogin invoked', {
151
+ logger.debug('setShowLogin invoked', {
191
152
  next: next,
192
153
  prev: prev,
193
154
  now: Date.now(),
@@ -197,43 +158,43 @@ function N1WalletProvider(_a) {
197
158
  return prev;
198
159
  }
199
160
  if (next) {
200
- logger_1.logger.debug('setShowLogin opening request stack trace', {
161
+ logger.debug('setShowLogin opening request stack trace', {
201
162
  stack: new Error('setShowLogin stack').stack,
202
163
  });
203
164
  if (Date.now() < nextOpenAllowedAtRef.current) {
204
- logger_1.logger.debug('setShowLogin blocked by cooldown', {
165
+ logger.debug('setShowLogin blocked by cooldown', {
205
166
  next: next,
206
167
  prev: prev,
207
168
  });
208
169
  return prev;
209
170
  }
210
- logger_1.logger.debug('setShowLogin opening modal');
171
+ logger.debug('setShowLogin opening modal');
211
172
  return true;
212
173
  }
213
- logger_1.logger.debug('setShowLogin closing modal');
174
+ logger.debug('setShowLogin closing modal');
214
175
  blockModalReopen();
215
176
  return false;
216
177
  });
217
178
  }, [blockModalReopen]);
218
- (0, react_1.useEffect)(function () {
179
+ useEffect(function () {
219
180
  if (dynamicSdkHasLoaded && pendingShowLoginRef.current) {
220
- logger_1.logger.debug('setShowLogin deferred open; Dynamic SDK ready, opening modal');
181
+ logger.debug('setShowLogin deferred open; Dynamic SDK ready, opening modal');
221
182
  pendingShowLoginRef.current = false;
222
183
  applyShowLoginState(true);
223
184
  }
224
185
  }, [dynamicSdkHasLoaded, applyShowLoginState]);
225
- var setShowLogin = (0, react_1.useCallback)(function (next) {
186
+ var setShowLogin = useCallback(function (next) {
226
187
  if (next && !dynamicSdkHasLoaded) {
227
- logger_1.logger.debug('setShowLogin deferred until Dynamic SDK is ready');
188
+ logger.debug('setShowLogin deferred until Dynamic SDK is ready');
228
189
  pendingShowLoginRef.current = true;
229
190
  return;
230
191
  }
231
192
  pendingShowLoginRef.current = false;
232
193
  applyShowLoginState(next);
233
194
  }, [dynamicSdkHasLoaded, applyShowLoginState]);
234
- var startDepositFlow = (0, react_1.useCallback)(function () {
195
+ var startDepositFlow = useCallback(function () {
235
196
  if (!nordUser || !nordUser.sessionId) {
236
- logger_1.logger.warn('startDepositFlow called without an authenticated Nord session; falling back to regular flow');
197
+ logger.warn('startDepositFlow called without an authenticated Nord session; falling back to regular flow');
237
198
  setShowLogin(true);
238
199
  return false;
239
200
  }
@@ -264,7 +225,7 @@ function N1WalletProvider(_a) {
264
225
  throwTestError: throwTestError,
265
226
  nord: nord,
266
227
  nordUser: nordUser,
267
- disconnectWallet: (0, react_1.useCallback)(function () {
228
+ disconnectWallet: useCallback(function () {
268
229
  disconnectWalletHandler();
269
230
  }, [disconnectWalletHandler]),
270
231
  };
@@ -301,6 +262,6 @@ function N1WalletProvider(_a) {
301
262
  depositFlowRequestId: depositFlowRequestId,
302
263
  setDisconnectWalletHandler: setDisconnectWalletHandler,
303
264
  };
304
- return ((0, jsx_runtime_1.jsx)(WalletErrorBoundary_1.default, { onError: handleError, children: (0, jsx_runtime_1.jsx)(n1_wallet_context_1.N1WalletContext.Provider, { value: walletContextValue, children: (0, jsx_runtime_1.jsx)(n1_wallet_context_1.N1InternalWalletContext.Provider, { value: __assign(__assign({}, internalWalletContextValue), { skipFinalScreen: skipFinalScreen }), children: (0, jsx_runtime_1.jsx)(NordWrapper, { children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(providers_1.OnboardingProvider, { children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, (0, jsx_runtime_1.jsx)(ModalContent, { css: injectedCss })] }) }), (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: null, children: (0, jsx_runtime_1.jsx)(LazyWalletProvider, { children: (0, jsx_runtime_1.jsx)(DynamicBridge, {}) }) })] }) }) }) }) }));
265
+ return (_jsx(WalletErrorBoundary, { onError: handleError, children: _jsx(N1WalletContext.Provider, { value: walletContextValue, children: _jsx(N1InternalWalletContext.Provider, { value: __assign(__assign({}, internalWalletContextValue), { skipFinalScreen: skipFinalScreen }), children: _jsx(NordWrapper, { children: _jsxs(_Fragment, { children: [_jsx(OnboardingProvider, { children: _jsxs(_Fragment, { children: [children, _jsx(ModalContent, { css: injectedCss })] }) }), _jsx(Suspense, { fallback: null, children: _jsx(LazyWalletProvider, { children: _jsx(DynamicBridge, {}) }) })] }) }) }) }) }));
305
266
  }
306
267
  //# sourceMappingURL=N1WalletProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"N1WalletProvider.js","sourceRoot":"","sources":["../../src/providers/N1WalletProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport '../polyfills/windowEthereumGuard';\n\nimport React, { Suspense, useCallback, useEffect, useRef, useState } from 'react';\nimport root from 'react-shadow';\nimport { N1WalletModal } from '../features/onboarding-flow/N1WalletModal';\nimport { OnboardingProvider } from '../features/onboarding-flow/providers';\nimport { WalletError, WalletErrorCode } from '../errors/types';\nimport { logger } from '../utils/logger';\nimport WalletErrorBoundary from './WalletErrorBoundary';\nimport { N1InternalWalletContext, N1WalletContext } from '../context/n1-wallet-context';\nimport { useNordUserInitialization } from '../hooks/useNordUserInitialization';\nimport {\n Balance,\n N1ModalViewMode,\n N1SessionMode,\n N1WalletProviderProps,\n} from '../types/wallet';\nimport mainCss from '../styles/embedded-main-css';\n\nconst LazyWalletProvider = React.lazy(() =>\n import('./LazyWalletProvider').then((mod) => ({\n default: mod.LazyWalletProvider,\n }))\n);\n\nconst ModalContent = React.memo(({ css }: { css: string }) => (\n <root.div>\n <style>{css}</style>\n <N1WalletModal />\n </root.div>\n));\n\nconst DynamicBridge = React.memo(() => null);\n\nfunction NordWrapper({ children }: { children: React.ReactNode }) {\n // Use the extracted hook for NordUser initialization\n useNordUserInitialization();\n return (\n <>\n {children}\n </>\n )\n}\n\nexport function N1WalletProvider({\n children,\n providedSessionMode,\n onError,\n nord,\n colorOverrides,\n skipFinalScreen,\n}: N1WalletProviderProps) {\n const [isConnected, setIsConnected] = useState<boolean>(false);\n const [sessionPubKey, setSessionPubKey] = useState<Uint8Array | null>(null);\n const [walletPubKey, setWalletPubKey] = useState<Uint8Array | null>(null);\n const [userChain, setUserChain] = useState<string | null>(null);\n const [username, setUsername] = useState<string>('');\n \n // TODO: Define proper types for message and transaction\n const [signMessageWithSessionKey, setSignMessageWithSessionKey] = useState<\n ((message: unknown) => Promise<unknown>) | null\n >(null);\n const [signMessageWithWalletKey, setSignMessageWithWalletKey] = useState<\n ((message: unknown) => Promise<unknown>) | null\n >(null);\n const [signTransactionWithWalletKey, setSignTransactionWithWalletKey] =\n useState<((transaction: unknown) => Promise<unknown>) | null>(null);\n \n const [loading, setLoading] = useState<boolean>(false);\n const [viewMode, setViewMode] = useState<N1ModalViewMode>(\n N1ModalViewMode.Automatic\n );\n \n // TODO: Import NordUser type from @n1xyz/nord-ts if available\n const [nordUser, setNordUser] = useState<any>(null);\n \n const [disconnectWalletHandler, setDisconnectWalletHandler] = useState<() => void>(\n () => () => {\n logger.warn('disconnectWallet invoked before handler registration');\n }\n );\n\n // dynamic\n const [balances, setBalances] = useState<Balance[]>([]);\n const [chain, setChain] = useState<string>('');\n const [dynamicSdkHasLoaded, setDynamicSdkHasLoaded] = useState<any>(null);\n\n const [showLogin, setShowLoginState] = useState<boolean>(false);\n const [startClosingLogin, setStartClosingLogin] = useState<boolean>(false);\n const [showDynamicWidget, setShowDynamicWidget] = useState<any>(null);\n const [depositFlowRequestId, setDepositFlowRequestId] = useState(0);\n const nextOpenAllowedAtRef = useRef(0);\n const pendingShowLoginRef = useRef(false);\n\n // dynamic\n const [address, setAddress] = useState<string>('');\n const [dynamicHandleLogOut, setDynamicHandleLogOut] = useState<any>(null);\n const [dynamicWallet, setDynamicWallet] = useState<any>(null);\n const sessionMode = N1SessionMode.Nord;\n\n useEffect(() => {\n if (providedSessionMode !== N1SessionMode.Nord) {\n logger.warn(\n `Only Nord session mode is supported. Received ${providedSessionMode}, defaulting to Nord.`\n );\n }\n }, [providedSessionMode]);\n\n useEffect(() => {\n const isDynamicReady = Boolean(dynamicSdkHasLoaded);\n setLoading(!isDynamicReady);\n }, [dynamicSdkHasLoaded, setLoading]);\n\n const handleError = useCallback(\n (error: WalletError) => {\n onError?.(error);\n },\n [onError]\n );\n\n const throwTestError = async () => {\n handleError(\n new WalletError(\n WalletErrorCode.WALLET_NOT_FOUND,\n 'Test error: No compatible wallet was found'\n )\n );\n };\n\n // Prepare CSS with color overrides if provided\n let injectedCss = mainCss;\n if (Array.isArray(colorOverrides) && colorOverrides.length > 0) {\n // Apply all color overrides in order\n colorOverrides.forEach(({ color, replacement }) => {\n if (color && replacement) {\n // Replace all instances, case-insensitive\n const regex = new RegExp(color.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'gi');\n injectedCss = injectedCss.replace(regex, replacement);\n }\n });\n }\n\n const blockModalReopen = useCallback((duration: number = 600) => {\n const unblockAt = Date.now() + duration;\n logger.debug('blockModalReopen invoked', { duration, unblockAt });\n nextOpenAllowedAtRef.current = Date.now() + duration;\n }, []);\n\n const applyShowLoginState = useCallback(\n (next: boolean) => {\n setShowLoginState((prev) => {\n logger.debug('setShowLogin invoked', {\n next,\n prev,\n now: Date.now(),\n nextOpenAllowed: nextOpenAllowedAtRef.current,\n });\n\n if (next === prev) {\n return prev;\n }\n\n if (next) {\n logger.debug('setShowLogin opening request stack trace', {\n stack: new Error('setShowLogin stack').stack,\n });\n if (Date.now() < nextOpenAllowedAtRef.current) {\n logger.debug('setShowLogin blocked by cooldown', {\n next,\n prev,\n });\n return prev;\n }\n logger.debug('setShowLogin opening modal');\n return true;\n }\n\n logger.debug('setShowLogin closing modal');\n blockModalReopen();\n return false;\n });\n },\n [blockModalReopen]\n );\n\n useEffect(() => {\n if (dynamicSdkHasLoaded && pendingShowLoginRef.current) {\n logger.debug('setShowLogin deferred open; Dynamic SDK ready, opening modal');\n pendingShowLoginRef.current = false;\n applyShowLoginState(true);\n }\n }, [dynamicSdkHasLoaded, applyShowLoginState]);\n\n const setShowLogin = useCallback(\n (next: boolean) => {\n if (next && !dynamicSdkHasLoaded) {\n logger.debug('setShowLogin deferred until Dynamic SDK is ready');\n pendingShowLoginRef.current = true;\n return;\n }\n\n pendingShowLoginRef.current = false;\n applyShowLoginState(next);\n },\n [dynamicSdkHasLoaded, applyShowLoginState]\n );\n\n const startDepositFlow = useCallback(() => {\n if (!nordUser || !nordUser.sessionId) {\n logger.warn(\n 'startDepositFlow called without an authenticated Nord session; falling back to regular flow'\n );\n setShowLogin(true);\n return false;\n }\n\n setStartClosingLogin(false);\n setDepositFlowRequestId((prev) => prev + 1);\n setShowLogin(true);\n return true;\n }, [nordUser, setShowLogin, setStartClosingLogin]);\n\n // Create the wallet context value\n const walletContextValue = {\n address,\n balances,\n chain,\n isConnected,\n sessionMode,\n sessionPubKey,\n setShowLogin,\n startDepositFlow,\n setViewMode,\n showLogin,\n signMessageWithSessionKey,\n signMessageWithWalletKey,\n signTransactionWithWalletKey,\n userChain,\n username,\n viewMode,\n walletPubKey,\n throwTestError,\n nord,\n nordUser,\n disconnectWallet: useCallback(() => {\n disconnectWalletHandler();\n }, [disconnectWalletHandler]),\n };\n\n // Create the internal wallet context value\n const internalWalletContextValue = {\n dynamicHandleLogOut,\n dynamicWallet,\n loading,\n dynamicSdkHasLoaded,\n handleError,\n setDynamicSdkHasLoaded,\n setAddress,\n setBalances,\n setChain,\n setDynamicHandleLogOut,\n setDynamicWallet,\n setIsConnected,\n setLoading,\n blockModalReopen,\n setSessionPubKey,\n setSignMessageWithSessionKey,\n setSignMessageWithWalletKey,\n setSignTransactionWithWalletKey,\n setStartClosingLogin,\n setUsername,\n setUserChain,\n setViewMode,\n setWalletPubKey,\n startClosingLogin,\n showDynamicWidget,\n setShowDynamicWidget,\n sessionMode,\n setNordUser,\n depositFlowRequestId,\n setDisconnectWalletHandler,\n };\n\n return (\n <WalletErrorBoundary onError={handleError}>\n <N1WalletContext.Provider value={walletContextValue}>\n <N1InternalWalletContext.Provider\n value={{\n ...internalWalletContextValue,\n skipFinalScreen, // make available to modal context tree\n }}\n >\n <NordWrapper>\n <>\n <OnboardingProvider>\n <>\n {children}\n <ModalContent css={injectedCss} />\n </>\n </OnboardingProvider>\n <Suspense fallback={null}>\n <LazyWalletProvider>\n <DynamicBridge />\n </LazyWalletProvider>\n </Suspense>\n </>\n </NordWrapper>\n </N1InternalWalletContext.Provider>\n </N1WalletContext.Provider>\n </WalletErrorBoundary>\n );\n}\n"]}
1
+ {"version":3,"file":"N1WalletProvider.js","sourceRoot":"","sources":["../../src/providers/N1WalletProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport '../polyfills/windowEthereumGuard';\n\nimport React, { Suspense, useCallback, useEffect, useRef, useState } from 'react';\nimport root from 'react-shadow';\nimport { N1WalletModal } from '../features/onboarding-flow/N1WalletModal';\nimport { OnboardingProvider } from '../features/onboarding-flow/providers';\nimport { WalletError, WalletErrorCode } from '../errors/types';\nimport { logger } from '../utils/logger';\nimport WalletErrorBoundary from './WalletErrorBoundary';\nimport { N1InternalWalletContext, N1WalletContext } from '../context/n1-wallet-context';\nimport { useNordUserInitialization } from '../hooks/useNordUserInitialization';\nimport {\n Balance,\n N1ModalViewMode,\n N1SessionMode,\n N1WalletProviderProps,\n} from '../types/wallet';\nimport mainCss from '../styles/embedded-main-css';\n\nconst LazyWalletProvider = React.lazy(() =>\n import('./LazyWalletProvider').then((mod) => ({\n default: mod.LazyWalletProvider,\n }))\n);\n\nconst ModalContent = React.memo(({ css }: { css: string }) => (\n <root.div>\n <style>{css}</style>\n <N1WalletModal />\n </root.div>\n));\n\nconst DynamicBridge = React.memo(() => null);\n\nfunction NordWrapper({ children }: { children: React.ReactNode }) {\n // Use the extracted hook for NordUser initialization\n useNordUserInitialization();\n return (\n <>\n {children}\n </>\n )\n}\n\nexport function N1WalletProvider({\n children,\n providedSessionMode,\n onError,\n nord,\n colorOverrides,\n skipFinalScreen,\n}: N1WalletProviderProps) {\n const [isConnected, setIsConnected] = useState<boolean>(false);\n const [sessionPubKey, setSessionPubKey] = useState<Uint8Array | null>(null);\n const [walletPubKey, setWalletPubKey] = useState<Uint8Array | null>(null);\n const [userChain, setUserChain] = useState<string | null>(null);\n const [username, setUsername] = useState<string>('');\n \n // TODO: Define proper types for message and transaction\n const [signMessageWithSessionKey, setSignMessageWithSessionKey] = useState<\n ((message: unknown) => Promise<unknown>) | null\n >(null);\n const [signMessageWithWalletKey, setSignMessageWithWalletKey] = useState<\n ((message: unknown) => Promise<unknown>) | null\n >(null);\n const [signTransactionWithWalletKey, setSignTransactionWithWalletKey] =\n useState<((transaction: unknown) => Promise<unknown>) | null>(null);\n \n const [loading, setLoading] = useState<boolean>(false);\n const [viewMode, setViewMode] = useState<N1ModalViewMode>(\n N1ModalViewMode.Automatic\n );\n \n // TODO: Import NordUser type from @n1xyz/nord-ts if available\n const [nordUser, setNordUser] = useState<any>(null);\n \n const [disconnectWalletHandler, setDisconnectWalletHandler] = useState<() => void>(\n () => () => {\n logger.warn('disconnectWallet invoked before handler registration');\n }\n );\n\n // dynamic\n const [balances, setBalances] = useState<Balance[]>([]);\n const [chain, setChain] = useState<string>('');\n const [dynamicSdkHasLoaded, setDynamicSdkHasLoaded] = useState<any>(null);\n\n const [showLogin, setShowLoginState] = useState<boolean>(false);\n const [startClosingLogin, setStartClosingLogin] = useState<boolean>(false);\n const [showDynamicWidget, setShowDynamicWidget] = useState<any>(null);\n const [depositFlowRequestId, setDepositFlowRequestId] = useState(0);\n const nextOpenAllowedAtRef = useRef(0);\n const pendingShowLoginRef = useRef(false);\n\n // dynamic\n const [address, setAddress] = useState<string>('');\n const [dynamicHandleLogOut, setDynamicHandleLogOut] = useState<any>(null);\n const [dynamicWallet, setDynamicWallet] = useState<any>(null);\n const sessionMode = N1SessionMode.Nord;\n\n useEffect(() => {\n if (providedSessionMode !== N1SessionMode.Nord) {\n logger.warn(\n `Only Nord session mode is supported. Received ${providedSessionMode}, defaulting to Nord.`\n );\n }\n }, [providedSessionMode]);\n\n useEffect(() => {\n const isDynamicReady = Boolean(dynamicSdkHasLoaded);\n setLoading(!isDynamicReady);\n }, [dynamicSdkHasLoaded, setLoading]);\n\n const handleError = useCallback(\n (error: WalletError) => {\n onError?.(error);\n },\n [onError]\n );\n\n const throwTestError = async () => {\n handleError(\n new WalletError(\n WalletErrorCode.WALLET_NOT_FOUND,\n 'Test error: No compatible wallet was found'\n )\n );\n };\n\n // Prepare CSS with color overrides if provided\n let injectedCss = mainCss;\n if (Array.isArray(colorOverrides) && colorOverrides.length > 0) {\n // Apply all color overrides in order\n colorOverrides.forEach(({ color, replacement }) => {\n if (color && replacement) {\n // Replace all instances, case-insensitive\n const regex = new RegExp(color.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'gi');\n injectedCss = injectedCss.replace(regex, replacement);\n }\n });\n }\n\n const blockModalReopen = useCallback((duration: number = 600) => {\n const unblockAt = Date.now() + duration;\n logger.debug('blockModalReopen invoked', { duration, unblockAt });\n nextOpenAllowedAtRef.current = Date.now() + duration;\n }, []);\n\n const applyShowLoginState = useCallback(\n (next: boolean) => {\n setShowLoginState((prev) => {\n logger.debug('setShowLogin invoked', {\n next,\n prev,\n now: Date.now(),\n nextOpenAllowed: nextOpenAllowedAtRef.current,\n });\n\n if (next === prev) {\n return prev;\n }\n\n if (next) {\n logger.debug('setShowLogin opening request stack trace', {\n stack: new Error('setShowLogin stack').stack,\n });\n if (Date.now() < nextOpenAllowedAtRef.current) {\n logger.debug('setShowLogin blocked by cooldown', {\n next,\n prev,\n });\n return prev;\n }\n logger.debug('setShowLogin opening modal');\n return true;\n }\n\n logger.debug('setShowLogin closing modal');\n blockModalReopen();\n return false;\n });\n },\n [blockModalReopen]\n );\n\n useEffect(() => {\n if (dynamicSdkHasLoaded && pendingShowLoginRef.current) {\n logger.debug('setShowLogin deferred open; Dynamic SDK ready, opening modal');\n pendingShowLoginRef.current = false;\n applyShowLoginState(true);\n }\n }, [dynamicSdkHasLoaded, applyShowLoginState]);\n\n const setShowLogin = useCallback(\n (next: boolean) => {\n if (next && !dynamicSdkHasLoaded) {\n logger.debug('setShowLogin deferred until Dynamic SDK is ready');\n pendingShowLoginRef.current = true;\n return;\n }\n\n pendingShowLoginRef.current = false;\n applyShowLoginState(next);\n },\n [dynamicSdkHasLoaded, applyShowLoginState]\n );\n\n const startDepositFlow = useCallback(() => {\n if (!nordUser || !nordUser.sessionId) {\n logger.warn(\n 'startDepositFlow called without an authenticated Nord session; falling back to regular flow'\n );\n setShowLogin(true);\n return false;\n }\n\n setStartClosingLogin(false);\n setDepositFlowRequestId((prev) => prev + 1);\n setShowLogin(true);\n return true;\n }, [nordUser, setShowLogin, setStartClosingLogin]);\n\n // Create the wallet context value\n const walletContextValue = {\n address,\n balances,\n chain,\n isConnected,\n sessionMode,\n sessionPubKey,\n setShowLogin,\n startDepositFlow,\n setViewMode,\n showLogin,\n signMessageWithSessionKey,\n signMessageWithWalletKey,\n signTransactionWithWalletKey,\n userChain,\n username,\n viewMode,\n walletPubKey,\n throwTestError,\n nord,\n nordUser,\n disconnectWallet: useCallback(() => {\n disconnectWalletHandler();\n }, [disconnectWalletHandler]),\n };\n\n // Create the internal wallet context value\n const internalWalletContextValue = {\n dynamicHandleLogOut,\n dynamicWallet,\n loading,\n dynamicSdkHasLoaded,\n handleError,\n setDynamicSdkHasLoaded,\n setAddress,\n setBalances,\n setChain,\n setDynamicHandleLogOut,\n setDynamicWallet,\n setIsConnected,\n setLoading,\n blockModalReopen,\n setSessionPubKey,\n setSignMessageWithSessionKey,\n setSignMessageWithWalletKey,\n setSignTransactionWithWalletKey,\n setStartClosingLogin,\n setUsername,\n setUserChain,\n setViewMode,\n setWalletPubKey,\n startClosingLogin,\n showDynamicWidget,\n setShowDynamicWidget,\n sessionMode,\n setNordUser,\n depositFlowRequestId,\n setDisconnectWalletHandler,\n };\n\n return (\n <WalletErrorBoundary onError={handleError}>\n <N1WalletContext.Provider value={walletContextValue}>\n <N1InternalWalletContext.Provider\n value={{\n ...internalWalletContextValue,\n skipFinalScreen, // make available to modal context tree\n }}\n >\n <NordWrapper>\n <>\n <OnboardingProvider>\n <>\n {children}\n <ModalContent css={injectedCss} />\n </>\n </OnboardingProvider>\n <Suspense fallback={null}>\n <LazyWalletProvider>\n <DynamicBridge />\n </LazyWalletProvider>\n </Suspense>\n </>\n </NordWrapper>\n </N1InternalWalletContext.Provider>\n </N1WalletContext.Provider>\n </WalletErrorBoundary>\n );\n}\n"]}
@@ -1,13 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ShadowRootWrapper = ShadowRootWrapper;
7
- var jsx_runtime_1 = require("react/jsx-runtime");
8
- var react_shadow_1 = __importDefault(require("react-shadow"));
9
- function ShadowRootWrapper(_a) {
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import root from 'react-shadow';
3
+ export function ShadowRootWrapper(_a) {
10
4
  var children = _a.children, injectedCss = _a.injectedCss;
11
- return ((0, jsx_runtime_1.jsxs)(react_shadow_1.default.div, { children: [(0, jsx_runtime_1.jsx)("style", { children: injectedCss }), children] }));
5
+ return (_jsxs(root.div, { children: [_jsx("style", { children: injectedCss }), children] }));
12
6
  }
13
7
  //# sourceMappingURL=ShadowRootWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShadowRootWrapper.js","sourceRoot":"","sources":["../../src/providers/ShadowRootWrapper.tsx"],"names":[],"mappings":";;;;;AAQA,8CAOC;;AAdD,8DAAgC;AAOhC,SAAgB,iBAAiB,CAAC,EAAiD;QAA/C,QAAQ,cAAA,EAAE,WAAW,iBAAA;IACvD,OAAO,CACL,wBAAC,sBAAI,CAAC,GAAG,eACP,4CAAQ,WAAW,GAAS,EAC3B,QAAQ,IACA,CACZ,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport root from 'react-shadow';\n\ninterface ShadowRootWrapperProps {\n children: React.ReactNode;\n injectedCss: string;\n}\n\nexport function ShadowRootWrapper({ children, injectedCss }: ShadowRootWrapperProps) {\n return (\n <root.div>\n <style>{injectedCss}</style>\n {children}\n </root.div>\n );\n} \n"]}
1
+ {"version":3,"file":"ShadowRootWrapper.js","sourceRoot":"","sources":["../../src/providers/ShadowRootWrapper.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,cAAc,CAAC;AAOhC,MAAM,UAAU,iBAAiB,CAAC,EAAiD;QAA/C,QAAQ,cAAA,EAAE,WAAW,iBAAA;IACvD,OAAO,CACL,MAAC,IAAI,CAAC,GAAG,eACP,0BAAQ,WAAW,GAAS,EAC3B,QAAQ,IACA,CACZ,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport root from 'react-shadow';\n\ninterface ShadowRootWrapperProps {\n children: React.ReactNode;\n injectedCss: string;\n}\n\nexport function ShadowRootWrapper({ children, injectedCss }: ShadowRootWrapperProps) {\n return (\n <root.div>\n <style>{injectedCss}</style>\n {children}\n </root.div>\n );\n} \n"]}
@@ -0,0 +1,7 @@
1
+ import { type TurnkeyProviderConfig } from '../turnkey';
2
+ interface TurnkeyProviderBridgeProps {
3
+ children: React.ReactNode;
4
+ config?: TurnkeyProviderConfig | null;
5
+ }
6
+ export declare function TurnkeyProviderBridge({ children, config, }: TurnkeyProviderBridgeProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
3
+ import { useMemo } from 'react';
4
+ import { TurnkeyProvider, } from '../turnkey';
5
+ import { getTurnkeyProviderConfig } from '../config/turnkey';
6
+ import { logger } from '../utils/logger';
7
+ var hasWarnedAboutMissingConfig = false;
8
+ export function TurnkeyProviderBridge(_a) {
9
+ var children = _a.children, config = _a.config;
10
+ var resolvedConfig = useMemo(function () { return config !== null && config !== void 0 ? config : getTurnkeyProviderConfig(); }, [config]);
11
+ if (!resolvedConfig) {
12
+ if (!hasWarnedAboutMissingConfig) {
13
+ hasWarnedAboutMissingConfig = true;
14
+ logger.warn('Turnkey provider config is missing; Turnkey features will be disabled');
15
+ }
16
+ return _jsx(_Fragment, { children: children });
17
+ }
18
+ return _jsx(TurnkeyProvider, { config: resolvedConfig, children: children });
19
+ }
20
+ //# sourceMappingURL=TurnkeyProviderBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TurnkeyProviderBridge.js","sourceRoot":"","sources":["../../src/providers/TurnkeyProviderBridge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,eAAe,GAEhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAOzC,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAExC,MAAM,UAAU,qBAAqB,CAAC,EAGT;QAF3B,QAAQ,cAAA,EACR,MAAM,YAAA;IAEN,IAAM,cAAc,GAAG,OAAO,CAC5B,cAAM,OAAA,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,wBAAwB,EAAE,EAApC,CAAoC,EAC1C,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,2BAA2B,GAAG,IAAI,CAAC;YACnC,MAAM,CAAC,IAAI,CACT,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,OAAO,KAAC,eAAe,IAAC,MAAM,EAAE,cAAc,YAAG,QAAQ,GAAmB,CAAC;AAC/E,CAAC","sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport {\n TurnkeyProvider,\n type TurnkeyProviderConfig,\n} from '../turnkey';\nimport { getTurnkeyProviderConfig } from '../config/turnkey';\nimport { logger } from '../utils/logger';\n\ninterface TurnkeyProviderBridgeProps {\n children: React.ReactNode;\n config?: TurnkeyProviderConfig | null;\n}\n\nlet hasWarnedAboutMissingConfig = false;\n\nexport function TurnkeyProviderBridge({\n children,\n config,\n}: TurnkeyProviderBridgeProps) {\n const resolvedConfig = useMemo<TurnkeyProviderConfig | null>(\n () => config ?? getTurnkeyProviderConfig(),\n [config]\n );\n\n if (!resolvedConfig) {\n if (!hasWarnedAboutMissingConfig) {\n hasWarnedAboutMissingConfig = true;\n logger.warn(\n 'Turnkey provider config is missing; Turnkey features will be disabled'\n );\n }\n return <>{children}</>;\n }\n\n return <TurnkeyProvider config={resolvedConfig}>{children}</TurnkeyProvider>;\n}\n"]}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __extends = (this && this.__extends) || (function () {
3
2
  var extendStatics = function (d, b) {
4
3
  extendStatics = Object.setPrototypeOf ||
@@ -14,12 +13,8 @@ var __extends = (this && this.__extends) || (function () {
14
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
14
  };
16
15
  })();
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- Object.defineProperty(exports, "__esModule", { value: true });
21
- var react_1 = __importDefault(require("react"));
22
- var types_1 = require("../errors/types");
16
+ import React from 'react';
17
+ import { WalletError, WalletErrorCode } from '../errors/types';
23
18
  // Error boundary to catch WalletErrors
24
19
  var WalletErrorBoundary = /** @class */ (function (_super) {
25
20
  __extends(WalletErrorBoundary, _super);
@@ -35,12 +30,12 @@ var WalletErrorBoundary = /** @class */ (function (_super) {
35
30
  };
36
31
  WalletErrorBoundary.prototype.componentDidCatch = function (error) {
37
32
  console.error('[N1 Wallet] Unhandled error captured by WalletErrorBoundary:', error);
38
- if (error instanceof types_1.WalletError) {
33
+ if (error instanceof WalletError) {
39
34
  this.props.onError(error);
40
35
  }
41
36
  else {
42
37
  // Convert unknown errors to WalletError
43
- this.props.onError(new types_1.WalletError(types_1.WalletErrorCode.UNKNOWN, error.message || 'An unexpected error occurred', { originalError: error }));
38
+ this.props.onError(new WalletError(WalletErrorCode.UNKNOWN, error.message || 'An unexpected error occurred', { originalError: error }));
44
39
  }
45
40
  };
46
41
  WalletErrorBoundary.prototype.componentDidUpdate = function (prevProps, prevState) {
@@ -57,6 +52,6 @@ var WalletErrorBoundary = /** @class */ (function (_super) {
57
52
  return this.props.children;
58
53
  };
59
54
  return WalletErrorBoundary;
60
- }(react_1.default.Component));
61
- exports.default = WalletErrorBoundary;
55
+ }(React.Component));
56
+ export default WalletErrorBoundary;
62
57
  //# sourceMappingURL=WalletErrorBoundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletErrorBoundary.js","sourceRoot":"","sources":["../../src/providers/WalletErrorBoundary.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,yCAA+D;AAW/D,uCAAuC;AACvC;IAAkC,uCAGjC;IAHD;;QAIE,WAAK,GAA6B;YAChC,QAAQ,EAAE,KAAK;SAChB,CAAC;;IAuCJ,CAAC;IArCQ,4CAAwB,GAA/B;QACE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,+CAAiB,GAAjB,UAAkB,KAAY;QAC5B,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,KAAK,YAAY,mBAAW,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,IAAI,mBAAW,CACb,uBAAe,CAAC,OAAO,EACvB,KAAK,CAAC,OAAO,IAAI,8BAA8B,EAC/C,EAAE,aAAa,EAAE,KAAK,EAAE,CACzB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gDAAkB,GAAlB,UACE,SAAmC,EACnC,SAAmC;QAEnC,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5F,wDAAwD;YACxD,yDAAyD;YACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,oCAAM,GAAN;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACH,0BAAC;AAAD,CAAC,AA7CD,CAAkC,eAAK,CAAC,SAAS,GA6ChD;AAED,kBAAe,mBAAmB,CAAC","sourcesContent":["import React from 'react';\nimport { WalletError, WalletErrorCode } from '../errors/types';\n\ntype WalletErrorBoundaryProps = {\n children: React.ReactNode;\n onError: (error: WalletError) => void;\n};\n\ntype WalletErrorBoundaryState = {\n hasError: boolean;\n};\n\n// Error boundary to catch WalletErrors\nclass WalletErrorBoundary extends React.Component<\n WalletErrorBoundaryProps,\n WalletErrorBoundaryState\n> {\n state: WalletErrorBoundaryState = {\n hasError: false,\n };\n\n static getDerivedStateFromError(): WalletErrorBoundaryState {\n return { hasError: true };\n }\n\n componentDidCatch(error: Error) {\n console.error('[N1 Wallet] Unhandled error captured by WalletErrorBoundary:', error);\n if (error instanceof WalletError) {\n this.props.onError(error);\n } else {\n // Convert unknown errors to WalletError\n this.props.onError(\n new WalletError(\n WalletErrorCode.UNKNOWN,\n error.message || 'An unexpected error occurred',\n { originalError: error }\n )\n );\n }\n }\n\n componentDidUpdate(\n prevProps: WalletErrorBoundaryProps,\n prevState: WalletErrorBoundaryState\n ) {\n if (prevState.hasError && this.state.hasError && prevProps.children !== this.props.children) {\n // reset error state when children change after an error\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n return null;\n }\n return this.props.children;\n }\n}\n\nexport default WalletErrorBoundary;\n"]}
1
+ {"version":3,"file":"WalletErrorBoundary.js","sourceRoot":"","sources":["../../src/providers/WalletErrorBoundary.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAW/D,uCAAuC;AACvC;IAAkC,uCAGjC;IAHD;;QAIE,WAAK,GAA6B;YAChC,QAAQ,EAAE,KAAK;SAChB,CAAC;;IAuCJ,CAAC;IArCQ,4CAAwB,GAA/B;QACE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,+CAAiB,GAAjB,UAAkB,KAAY;QAC5B,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,KAAK,CAAC,CAAC;QACrF,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,IAAI,WAAW,CACb,eAAe,CAAC,OAAO,EACvB,KAAK,CAAC,OAAO,IAAI,8BAA8B,EAC/C,EAAE,aAAa,EAAE,KAAK,EAAE,CACzB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gDAAkB,GAAlB,UACE,SAAmC,EACnC,SAAmC;QAEnC,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5F,wDAAwD;YACxD,yDAAyD;YACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,oCAAM,GAAN;QACE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACH,0BAAC;AAAD,CAAC,AA7CD,CAAkC,KAAK,CAAC,SAAS,GA6ChD;AAED,eAAe,mBAAmB,CAAC","sourcesContent":["import React from 'react';\nimport { WalletError, WalletErrorCode } from '../errors/types';\n\ntype WalletErrorBoundaryProps = {\n children: React.ReactNode;\n onError: (error: WalletError) => void;\n};\n\ntype WalletErrorBoundaryState = {\n hasError: boolean;\n};\n\n// Error boundary to catch WalletErrors\nclass WalletErrorBoundary extends React.Component<\n WalletErrorBoundaryProps,\n WalletErrorBoundaryState\n> {\n state: WalletErrorBoundaryState = {\n hasError: false,\n };\n\n static getDerivedStateFromError(): WalletErrorBoundaryState {\n return { hasError: true };\n }\n\n componentDidCatch(error: Error) {\n console.error('[N1 Wallet] Unhandled error captured by WalletErrorBoundary:', error);\n if (error instanceof WalletError) {\n this.props.onError(error);\n } else {\n // Convert unknown errors to WalletError\n this.props.onError(\n new WalletError(\n WalletErrorCode.UNKNOWN,\n error.message || 'An unexpected error occurred',\n { originalError: error }\n )\n );\n }\n }\n\n componentDidUpdate(\n prevProps: WalletErrorBoundaryProps,\n prevState: WalletErrorBoundaryState\n ) {\n if (prevState.hasError && this.state.hasError && prevProps.children !== this.props.children) {\n // reset error state when children change after an error\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n return null;\n }\n return this.props.children;\n }\n}\n\nexport default WalletErrorBoundary;\n"]}