@n1xyz/wallet-widget 0.0.33-alpha.3 → 0.0.33
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.
- package/dist/animations/N1Loader.js +8 -14
- package/dist/animations/N1Loader.js.map +1 -1
- package/dist/animations/Processing.js +8 -14
- package/dist/animations/Processing.js.map +1 -1
- package/dist/components/LoadingFallback.js +2 -6
- package/dist/components/LoadingFallback.js.map +1 -1
- package/dist/components/Logo.js +22 -25
- package/dist/components/Logo.js.map +1 -1
- package/dist/components/N1ConnectButton.js +12 -18
- package/dist/components/N1ConnectButton.js.map +1 -1
- package/dist/components/logos/ArbitrumLogo.js +3 -7
- package/dist/components/logos/ArbitrumLogo.js.map +1 -1
- package/dist/components/logos/BaseLogo.js +3 -7
- package/dist/components/logos/BaseLogo.js.map +1 -1
- package/dist/components/logos/BeraLogo.js +3 -7
- package/dist/components/logos/BeraLogo.js.map +1 -1
- package/dist/components/logos/BitcoinLogo.js +3 -7
- package/dist/components/logos/BitcoinLogo.js.map +1 -1
- package/dist/components/logos/EthereumLogo.js +3 -7
- package/dist/components/logos/EthereumLogo.js.map +1 -1
- package/dist/components/logos/HyperliquidLogo.js +3 -7
- package/dist/components/logos/HyperliquidLogo.js.map +1 -1
- package/dist/components/logos/OptimismLogo.js +3 -7
- package/dist/components/logos/OptimismLogo.js.map +1 -1
- package/dist/components/logos/SolanaLogo.js +3 -7
- package/dist/components/logos/SolanaLogo.js.map +1 -1
- package/dist/components/logos/ZeroOneLogo.js +3 -7
- package/dist/components/logos/ZeroOneLogo.js.map +1 -1
- package/dist/components/logos/index.js +9 -25
- package/dist/components/logos/index.js.map +1 -1
- package/dist/config/solana.js +3 -7
- package/dist/config/solana.js.map +1 -1
- package/dist/config.js +2 -5
- package/dist/config.js.map +1 -1
- package/dist/context/n1-wallet-context.js +4 -8
- package/dist/context/n1-wallet-context.js.map +1 -1
- package/dist/errors/types.js +3 -6
- package/dist/errors/types.js.map +1 -1
- package/dist/features/onboarding-flow/N1WalletModal.js +23 -59
- package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -1
- package/dist/features/onboarding-flow/OnboardingFlow.js +46 -50
- package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -1
- package/dist/features/onboarding-flow/components/ChainButton.js +4 -7
- package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -1
- package/dist/features/onboarding-flow/components/Header.js +11 -15
- package/dist/features/onboarding-flow/components/Header.js.map +1 -1
- package/dist/features/onboarding-flow/components/ImageWithFallback.js +6 -10
- package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -1
- package/dist/features/onboarding-flow/components/TransactionTable.js +10 -13
- package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -1
- package/dist/features/onboarding-flow/components/WaitingMessage.js +8 -14
- package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -1
- package/dist/features/onboarding-flow/components/index.js +5 -21
- package/dist/features/onboarding-flow/components/index.js.map +1 -1
- package/dist/features/onboarding-flow/index.js +1 -5
- package/dist/features/onboarding-flow/index.js.map +1 -1
- package/dist/features/onboarding-flow/providers/DepositFlowProvider.js +55 -60
- package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +43 -48
- package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/StateProvider.js +7 -11
- package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +69 -74
- package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -1
- package/dist/features/onboarding-flow/providers/debug.js +18 -21
- package/dist/features/onboarding-flow/providers/debug.js.map +1 -1
- package/dist/features/onboarding-flow/providers/index.js +5 -16
- package/dist/features/onboarding-flow/providers/index.js.map +1 -1
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +15 -20
- package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -1
- package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js +8 -11
- package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +34 -38
- package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js +47 -51
- package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +8 -12
- package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js +25 -28
- package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +10 -13
- package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +7 -10
- package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -1
- package/dist/features/onboarding-flow/screens/index.js +7 -23
- package/dist/features/onboarding-flow/screens/index.js.map +1 -1
- package/dist/features/onboarding-flow/types.js +3 -6
- package/dist/features/onboarding-flow/types.js.map +1 -1
- package/dist/features/onboarding-flow/utils/depositStorage.js +3 -8
- package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -1
- package/dist/features/onboarding-flow/utils/imageUtils.js +3 -9
- package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -1
- package/dist/features/onboarding-flow/utils/nordUser.js +2 -38
- package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -1
- package/dist/features/onboarding-flow/utils/nordUtils.js +5 -12
- package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -1
- package/dist/features/onboarding-flow/utils/session.js +14 -17
- package/dist/features/onboarding-flow/utils/session.js.map +1 -1
- package/dist/features/onboarding-flow/utils/transaction.js +1 -4
- package/dist/features/onboarding-flow/utils/transaction.js.map +1 -1
- package/dist/features/onboarding-flow/utils/utils.js +8 -16
- package/dist/features/onboarding-flow/utils/utils.js.map +1 -1
- package/dist/features/onboarding-flow/utils/withImageFallback.js +9 -15
- package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -1
- package/dist/hooks/index.js +2 -18
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useN1Wallet.js +6 -10
- package/dist/hooks/useN1Wallet.js.map +1 -1
- package/dist/hooks/useNordUserInitialization.js +31 -34
- package/dist/hooks/useNordUserInitialization.js.map +1 -1
- package/dist/index.js +7 -21
- package/dist/index.js.map +1 -1
- package/dist/main.css +2 -0
- package/dist/polyfills/windowEthereumGuard.js +1 -2
- package/dist/polyfills/windowEthereumGuard.js.map +1 -1
- package/dist/providers/LazyWalletProvider.js +38 -74
- package/dist/providers/LazyWalletProvider.js.map +1 -1
- package/dist/providers/N1WalletProvider.js +70 -109
- package/dist/providers/N1WalletProvider.js.map +1 -1
- package/dist/providers/ShadowRootWrapper.js +4 -10
- package/dist/providers/ShadowRootWrapper.js.map +1 -1
- package/dist/providers/WalletErrorBoundary.js +6 -11
- package/dist/providers/WalletErrorBoundary.js.map +1 -1
- package/dist/styles/embedded-main-css.js +1 -3
- package/dist/styles/embedded-main-css.js.map +1 -1
- package/dist/styles/main.css +1 -1
- package/dist/types/wallet.js +4 -7
- package/dist/types/wallet.js.map +1 -1
- package/dist/utils/ed25519.js +14 -20
- package/dist/utils/ed25519.js.map +1 -1
- package/dist/utils/getPseudoName.js +7 -10
- package/dist/utils/getPseudoName.js.map +1 -1
- package/dist/utils/logger.js +3 -5
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/shortenString.js +2 -6
- package/dist/utils/shortenString.js.map +1 -1
- package/dist/utils/words.js +1 -4
- package/dist/utils/words.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __assign = (this && this.__assign) || function () {
|
|
3
2
|
__assign = Object.assign || function(t) {
|
|
4
3
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -10,39 +9,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
9
|
};
|
|
11
10
|
return __assign.apply(this, arguments);
|
|
12
11
|
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
46
12
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
47
13
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
48
14
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -79,30 +45,28 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
79
45
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
80
46
|
}
|
|
81
47
|
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
var useN1Wallet_1 = require("../hooks/useN1Wallet");
|
|
87
|
-
var logger_1 = require("../utils/logger");
|
|
48
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
49
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
50
|
+
import { useN1WalletContext, useN1WalletInternalContext } from '../hooks/useN1Wallet';
|
|
51
|
+
import { logger } from '../utils/logger';
|
|
88
52
|
var AUTH_FLOW_IDLE_CLOSE_DELAY_MS = 1200;
|
|
89
53
|
function DynamicContextConsumer(_a) {
|
|
90
54
|
var children = _a.children;
|
|
91
|
-
var _b =
|
|
92
|
-
var showAuthFlowRef =
|
|
93
|
-
var primaryWalletStateRef =
|
|
94
|
-
var prevShowAuthFlowRef =
|
|
55
|
+
var _b = useState(null), DynamicContext = _b[0], setDynamicContext = _b[1];
|
|
56
|
+
var showAuthFlowRef = useRef(null);
|
|
57
|
+
var primaryWalletStateRef = useRef(null);
|
|
58
|
+
var prevShowAuthFlowRef = useRef(false);
|
|
95
59
|
// Use refs to track previous values and prevent unnecessary updates
|
|
96
|
-
var prevPrimaryWalletRef =
|
|
97
|
-
var prevHandleLogOutRef =
|
|
98
|
-
var prevSdkHasLoadedRef =
|
|
99
|
-
var _c =
|
|
100
|
-
var _d =
|
|
101
|
-
var pendingAuthCloseRef =
|
|
60
|
+
var prevPrimaryWalletRef = useRef(null);
|
|
61
|
+
var prevHandleLogOutRef = useRef(null);
|
|
62
|
+
var prevSdkHasLoadedRef = useRef(null);
|
|
63
|
+
var _c = useN1WalletInternalContext(), setDynamicWallet = _c.setDynamicWallet, setDynamicHandleLogOut = _c.setDynamicHandleLogOut, setDynamicSdkHasLoaded = _c.setDynamicSdkHasLoaded, setAddress = _c.setAddress, setShowDynamicWidget = _c.setShowDynamicWidget, setStartClosingLogin = _c.setStartClosingLogin;
|
|
64
|
+
var _d = useN1WalletContext(), setShowLogin = _d.setShowLogin, showLogin = _d.showLogin;
|
|
65
|
+
var pendingAuthCloseRef = useRef(null);
|
|
102
66
|
// Load the Dynamic context only once
|
|
103
|
-
|
|
67
|
+
useEffect(function () {
|
|
104
68
|
var isMounted = true;
|
|
105
|
-
|
|
69
|
+
import('@dynamic-labs/sdk-react-core').then(function (_a) {
|
|
106
70
|
var useDynamicContext = _a.useDynamicContext;
|
|
107
71
|
if (isMounted) {
|
|
108
72
|
setDynamicContext(function () { return useDynamicContext; });
|
|
@@ -113,7 +77,7 @@ function DynamicContextConsumer(_a) {
|
|
|
113
77
|
};
|
|
114
78
|
}, []);
|
|
115
79
|
// Set up a stable widget function that uses the ref - only once
|
|
116
|
-
|
|
80
|
+
useEffect(function () {
|
|
117
81
|
var stableShowWidget = function (show) {
|
|
118
82
|
if (showAuthFlowRef.current) {
|
|
119
83
|
showAuthFlowRef.current(show);
|
|
@@ -122,12 +86,12 @@ function DynamicContextConsumer(_a) {
|
|
|
122
86
|
setShowDynamicWidget(function () { return stableShowWidget; });
|
|
123
87
|
}, [setShowDynamicWidget]);
|
|
124
88
|
if (!DynamicContext) {
|
|
125
|
-
return (
|
|
89
|
+
return _jsx(_Fragment, { children: children });
|
|
126
90
|
}
|
|
127
91
|
var DynamicComponent = function () {
|
|
128
92
|
var _a = DynamicContext(), primaryWallet = _a.primaryWallet, sdkHasLoaded = _a.sdkHasLoaded, setShowAuthFlow = _a.setShowAuthFlow, handleLogOut = _a.handleLogOut, showAuthFlow = _a.showAuthFlow;
|
|
129
93
|
// Store setShowAuthFlow in ref to avoid re-renders - only when it changes
|
|
130
|
-
|
|
94
|
+
useEffect(function () {
|
|
131
95
|
if (!setShowAuthFlow) {
|
|
132
96
|
showAuthFlowRef.current = null;
|
|
133
97
|
return;
|
|
@@ -144,7 +108,7 @@ function DynamicContextConsumer(_a) {
|
|
|
144
108
|
}, [setShowAuthFlow, setShowLogin, setStartClosingLogin]);
|
|
145
109
|
// Set the dynamic wallet and address when the primary wallet changes
|
|
146
110
|
// Use deep comparison to prevent unnecessary updates
|
|
147
|
-
|
|
111
|
+
useEffect(function () {
|
|
148
112
|
// Skip if the wallet hasn't actually changed
|
|
149
113
|
if (primaryWallet === prevPrimaryWalletRef.current) {
|
|
150
114
|
return;
|
|
@@ -160,7 +124,7 @@ function DynamicContextConsumer(_a) {
|
|
|
160
124
|
setAddress('');
|
|
161
125
|
}
|
|
162
126
|
}, [primaryWallet, setDynamicWallet, setAddress]);
|
|
163
|
-
|
|
127
|
+
useEffect(function () {
|
|
164
128
|
var wasAuthFlowOpen = prevShowAuthFlowRef.current;
|
|
165
129
|
prevShowAuthFlowRef.current = showAuthFlow;
|
|
166
130
|
if (pendingAuthCloseRef.current != null) {
|
|
@@ -175,7 +139,7 @@ function DynamicContextConsumer(_a) {
|
|
|
175
139
|
var closeIfStillIdle = function () {
|
|
176
140
|
pendingAuthCloseRef.current = null;
|
|
177
141
|
if (!primaryWalletStateRef.current) {
|
|
178
|
-
|
|
142
|
+
logger.debug('Dynamic auth flow closed before wallet connection; closing Nord widget');
|
|
179
143
|
setShowLogin(false);
|
|
180
144
|
setStartClosingLogin(true);
|
|
181
145
|
}
|
|
@@ -189,22 +153,22 @@ function DynamicContextConsumer(_a) {
|
|
|
189
153
|
}
|
|
190
154
|
}, [showAuthFlow, showLogin, setShowLogin, setStartClosingLogin]);
|
|
191
155
|
// Set the logout handler when it changes - only when it actually changes
|
|
192
|
-
|
|
156
|
+
useEffect(function () {
|
|
193
157
|
if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {
|
|
194
158
|
prevHandleLogOutRef.current = handleLogOut;
|
|
195
159
|
setDynamicHandleLogOut(function () { return handleLogOut; });
|
|
196
160
|
}
|
|
197
161
|
}, [handleLogOut, setDynamicHandleLogOut]);
|
|
198
162
|
// Set the SDK loaded flag when it changes - only when it actually changes
|
|
199
|
-
|
|
163
|
+
useEffect(function () {
|
|
200
164
|
if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {
|
|
201
165
|
prevSdkHasLoadedRef.current = sdkHasLoaded;
|
|
202
166
|
setDynamicSdkHasLoaded(sdkHasLoaded);
|
|
203
167
|
}
|
|
204
168
|
}, [sdkHasLoaded, setDynamicSdkHasLoaded]);
|
|
205
|
-
return (
|
|
169
|
+
return _jsx(_Fragment, { children: children });
|
|
206
170
|
};
|
|
207
|
-
return (
|
|
171
|
+
return _jsx(DynamicComponent, {});
|
|
208
172
|
}
|
|
209
173
|
var getSettings = function () { return ({
|
|
210
174
|
initialAuthenticationMode: 'connect-only',
|
|
@@ -216,16 +180,16 @@ var getSettings = function () { return ({
|
|
|
216
180
|
},
|
|
217
181
|
events: {
|
|
218
182
|
onAuthSuccess: function (args) {
|
|
219
|
-
|
|
183
|
+
logger.debug('onAuthSuccess was called', args);
|
|
220
184
|
},
|
|
221
185
|
},
|
|
222
186
|
}); };
|
|
223
187
|
function LazyInternal(props) {
|
|
224
188
|
var _this = this;
|
|
225
|
-
var _a =
|
|
226
|
-
var _b =
|
|
227
|
-
var _c =
|
|
228
|
-
|
|
189
|
+
var _a = useState(null), Provider = _a[0], setProvider = _a[1];
|
|
190
|
+
var _b = useState(null), DynamicWidgetComponent = _b[0], setDynamicWidgetComponent = _b[1];
|
|
191
|
+
var _c = useState([]), walletConnectors = _c[0], setWalletConnectors = _c[1];
|
|
192
|
+
useEffect(function () {
|
|
229
193
|
var loadDynamicDeps = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
230
194
|
var _a, _b, DynamicContextProvider_1, DynamicWidget_1, SolanaWalletConnectors, error_1;
|
|
231
195
|
return __generator(this, function (_c) {
|
|
@@ -233,8 +197,8 @@ function LazyInternal(props) {
|
|
|
233
197
|
case 0:
|
|
234
198
|
_c.trys.push([0, 2, , 3]);
|
|
235
199
|
return [4 /*yield*/, Promise.all([
|
|
236
|
-
|
|
237
|
-
|
|
200
|
+
import('@dynamic-labs/sdk-react-core'),
|
|
201
|
+
import('@dynamic-labs/solana'),
|
|
238
202
|
])];
|
|
239
203
|
case 1:
|
|
240
204
|
_a = _c.sent(), _b = _a[0], DynamicContextProvider_1 = _b.DynamicContextProvider, DynamicWidget_1 = _b.DynamicWidget, SolanaWalletConnectors = _a[1].SolanaWalletConnectors;
|
|
@@ -244,7 +208,7 @@ function LazyInternal(props) {
|
|
|
244
208
|
return [3 /*break*/, 3];
|
|
245
209
|
case 2:
|
|
246
210
|
error_1 = _c.sent();
|
|
247
|
-
|
|
211
|
+
logger.error('Failed to load Dynamic dependencies:', error_1);
|
|
248
212
|
return [3 /*break*/, 3];
|
|
249
213
|
case 3: return [2 /*return*/];
|
|
250
214
|
}
|
|
@@ -253,14 +217,14 @@ function LazyInternal(props) {
|
|
|
253
217
|
loadDynamicDeps();
|
|
254
218
|
}, []);
|
|
255
219
|
// Memoize the dynamic settings to prevent unnecessary re-renders
|
|
256
|
-
var dynamicSettings =
|
|
220
|
+
var dynamicSettings = useCallback(function () { return (__assign(__assign({}, getSettings()), { walletConnectors: walletConnectors })); }, [walletConnectors]);
|
|
257
221
|
if (!Provider || walletConnectors.length === 0) {
|
|
258
222
|
return null;
|
|
259
223
|
}
|
|
260
|
-
return ((
|
|
224
|
+
return (_jsxs(Provider, { settings: dynamicSettings(), theme: "dark", children: [_jsx(DynamicContextConsumer, { children: props.children }), DynamicWidgetComponent ? _jsx(DynamicWidgetComponent, {}) : null] }));
|
|
261
225
|
}
|
|
262
|
-
function LazyWalletProvider(_a) {
|
|
226
|
+
export function LazyWalletProvider(_a) {
|
|
263
227
|
var children = _a.children;
|
|
264
|
-
return (
|
|
228
|
+
return _jsx(LazyInternal, { children: children });
|
|
265
229
|
}
|
|
266
230
|
//# sourceMappingURL=LazyWalletProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LazyWalletProvider.js","sourceRoot":"","sources":["../../src/providers/LazyWalletProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useN1WalletContext, useN1WalletInternalContext } from '../hooks/useN1Wallet';\nimport { logger } from '../utils/logger';\n\nconst AUTH_FLOW_IDLE_CLOSE_DELAY_MS = 1200;\n\nfunction DynamicContextConsumer({ children }: { children: any }) {\n const [DynamicContext, setDynamicContext] = useState<any>(null);\n const showAuthFlowRef = useRef<((show: boolean) => void) | null>(null);\n const primaryWalletStateRef = useRef<any>(null);\n const prevShowAuthFlowRef = useRef<boolean>(false);\n\n // Use refs to track previous values and prevent unnecessary updates\n const prevPrimaryWalletRef = useRef<any>(null);\n const prevHandleLogOutRef = useRef<any>(null);\n const prevSdkHasLoadedRef = useRef<boolean | null>(null);\n\n const {\n setDynamicWallet,\n setDynamicHandleLogOut,\n setDynamicSdkHasLoaded,\n setAddress,\n setShowDynamicWidget,\n setStartClosingLogin,\n } = useN1WalletInternalContext();\n\n const { setShowLogin, showLogin } = useN1WalletContext();\n const pendingAuthCloseRef = useRef<number | null>(null);\n\n\n // Load the Dynamic context only once\n useEffect(() => {\n let isMounted = true;\n import('@dynamic-labs/sdk-react-core').then(({ useDynamicContext }) => {\n if (isMounted) {\n setDynamicContext(() => useDynamicContext);\n }\n });\n return () => {\n isMounted = false;\n };\n }, []);\n\n // Set up a stable widget function that uses the ref - only once\n useEffect(() => {\n const stableShowWidget = (show: boolean) => {\n if (showAuthFlowRef.current) {\n showAuthFlowRef.current(show);\n }\n };\n\n setShowDynamicWidget(() => stableShowWidget);\n }, [setShowDynamicWidget]);\n\n if (!DynamicContext) {\n return <>{children}</>;\n }\n\n const DynamicComponent = () => {\n const { primaryWallet, sdkHasLoaded, setShowAuthFlow, handleLogOut, showAuthFlow } =\n DynamicContext();\n\n // Store setShowAuthFlow in ref to avoid re-renders - only when it changes\n useEffect(() => {\n if (!setShowAuthFlow) {\n showAuthFlowRef.current = null;\n return;\n }\n\n const proxiedSetShowAuthFlow = (show: boolean) => {\n setShowAuthFlow(show);\n };\n\n showAuthFlowRef.current = proxiedSetShowAuthFlow;\n\n return () => {\n if (showAuthFlowRef.current === proxiedSetShowAuthFlow) {\n showAuthFlowRef.current = null;\n }\n };\n }, [setShowAuthFlow, setShowLogin, setStartClosingLogin]);\n\n // Set the dynamic wallet and address when the primary wallet changes\n // Use deep comparison to prevent unnecessary updates\n useEffect(() => {\n \n // Skip if the wallet hasn't actually changed\n if (primaryWallet === prevPrimaryWalletRef.current) {\n return;\n }\n\n prevPrimaryWalletRef.current = primaryWallet;\n primaryWalletStateRef.current = primaryWallet;\n\n if (primaryWallet) {\n setDynamicWallet(primaryWallet);\n setAddress(primaryWallet.address);\n } else {\n setDynamicWallet(null);\n setAddress('');\n }\n }, [primaryWallet, setDynamicWallet, setAddress]);\n\n useEffect(() => {\n const wasAuthFlowOpen = prevShowAuthFlowRef.current;\n prevShowAuthFlowRef.current = showAuthFlow;\n\n if (pendingAuthCloseRef.current != null) {\n if (typeof window !== 'undefined') {\n window.clearTimeout(pendingAuthCloseRef.current);\n }\n pendingAuthCloseRef.current = null;\n }\n\n if (\n wasAuthFlowOpen &&\n !showAuthFlow &&\n showLogin\n ) {\n const closeIfStillIdle = () => {\n pendingAuthCloseRef.current = null;\n if (!primaryWalletStateRef.current) {\n logger.debug(\n 'Dynamic auth flow closed before wallet connection; closing Nord widget'\n );\n setShowLogin(false);\n setStartClosingLogin(true);\n }\n };\n\n if (typeof window === 'undefined') {\n closeIfStillIdle();\n } else {\n pendingAuthCloseRef.current = window.setTimeout(\n closeIfStillIdle,\n AUTH_FLOW_IDLE_CLOSE_DELAY_MS\n );\n }\n }\n }, [showAuthFlow, showLogin, setShowLogin, setStartClosingLogin]);\n\n // Set the logout handler when it changes - only when it actually changes\n useEffect(() => {\n if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {\n prevHandleLogOutRef.current = handleLogOut;\n setDynamicHandleLogOut(() => handleLogOut);\n }\n }, [handleLogOut, setDynamicHandleLogOut]);\n\n // Set the SDK loaded flag when it changes - only when it actually changes\n useEffect(() => {\n if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {\n prevSdkHasLoadedRef.current = sdkHasLoaded;\n setDynamicSdkHasLoaded(sdkHasLoaded);\n }\n }, [sdkHasLoaded, setDynamicSdkHasLoaded]);\n\n return <>{children}</>;\n };\n\n return <DynamicComponent />;\n}\n\nconst getSettings = () => ({\n initialAuthenticationMode: 'connect-only',\n environmentId: '61fe6031-545b-4e27-bc05-03c8a09f190b',\n silentAuthentication: true,\n silentAuth: true,\n theme: {\n mode: 'dark',\n },\n events: {\n onAuthSuccess: (args: any) => {\n logger.debug('onAuthSuccess was called', args);\n },\n },\n});\n\nfunction LazyInternal(props: { children: any }) {\n const [Provider, setProvider] = useState<any>(null);\n const [DynamicWidgetComponent, setDynamicWidgetComponent] = useState<any>(null);\n const [walletConnectors, setWalletConnectors] = useState<any[]>([]);\n\n useEffect(() => {\n\n const loadDynamicDeps = async () => {\n try {\n const [\n { DynamicContextProvider, DynamicWidget },\n { SolanaWalletConnectors },\n ] = await Promise.all([\n import('@dynamic-labs/sdk-react-core'),\n import('@dynamic-labs/solana'),\n ]);\n\n setProvider(() => DynamicContextProvider);\n setDynamicWidgetComponent(() => DynamicWidget);\n setWalletConnectors([SolanaWalletConnectors]);\n } catch (error) {\n logger.error('Failed to load Dynamic dependencies:', error);\n }\n };\n\n loadDynamicDeps();\n }, []);\n\n // Memoize the dynamic settings to prevent unnecessary re-renders\n const dynamicSettings = useCallback(\n () => ({\n ...getSettings(),\n walletConnectors,\n }),\n [walletConnectors]\n );\n\n if (!Provider || walletConnectors.length === 0) {\n return null;\n }\n\n return (\n <Provider settings={dynamicSettings()} theme=\"dark\">\n <DynamicContextConsumer>{props.children}</DynamicContextConsumer>\n {DynamicWidgetComponent ? <DynamicWidgetComponent /> : null}\n </Provider>\n );\n}\n\nexport function LazyWalletProvider({ children }: any) {\n return <LazyInternal>{children}</LazyInternal>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"LazyWalletProvider.js","sourceRoot":"","sources":["../../src/providers/LazyWalletProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useN1WalletContext, useN1WalletInternalContext } from '../hooks/useN1Wallet';\nimport { logger } from '../utils/logger';\n\nconst AUTH_FLOW_IDLE_CLOSE_DELAY_MS = 1200;\n\nfunction DynamicContextConsumer({ children }: { children: any }) {\n const [DynamicContext, setDynamicContext] = useState<any>(null);\n const showAuthFlowRef = useRef<((show: boolean) => void) | null>(null);\n const primaryWalletStateRef = useRef<any>(null);\n const prevShowAuthFlowRef = useRef<boolean>(false);\n\n // Use refs to track previous values and prevent unnecessary updates\n const prevPrimaryWalletRef = useRef<any>(null);\n const prevHandleLogOutRef = useRef<any>(null);\n const prevSdkHasLoadedRef = useRef<boolean | null>(null);\n\n const {\n setDynamicWallet,\n setDynamicHandleLogOut,\n setDynamicSdkHasLoaded,\n setAddress,\n setShowDynamicWidget,\n setStartClosingLogin,\n } = useN1WalletInternalContext();\n\n const { setShowLogin, showLogin } = useN1WalletContext();\n const pendingAuthCloseRef = useRef<number | null>(null);\n\n\n // Load the Dynamic context only once\n useEffect(() => {\n let isMounted = true;\n import('@dynamic-labs/sdk-react-core').then(({ useDynamicContext }) => {\n if (isMounted) {\n setDynamicContext(() => useDynamicContext);\n }\n });\n return () => {\n isMounted = false;\n };\n }, []);\n\n // Set up a stable widget function that uses the ref - only once\n useEffect(() => {\n const stableShowWidget = (show: boolean) => {\n if (showAuthFlowRef.current) {\n showAuthFlowRef.current(show);\n }\n };\n\n setShowDynamicWidget(() => stableShowWidget);\n }, [setShowDynamicWidget]);\n\n if (!DynamicContext) {\n return <>{children}</>;\n }\n\n const DynamicComponent = () => {\n const { primaryWallet, sdkHasLoaded, setShowAuthFlow, handleLogOut, showAuthFlow } =\n DynamicContext();\n\n // Store setShowAuthFlow in ref to avoid re-renders - only when it changes\n useEffect(() => {\n if (!setShowAuthFlow) {\n showAuthFlowRef.current = null;\n return;\n }\n\n const proxiedSetShowAuthFlow = (show: boolean) => {\n setShowAuthFlow(show);\n };\n\n showAuthFlowRef.current = proxiedSetShowAuthFlow;\n\n return () => {\n if (showAuthFlowRef.current === proxiedSetShowAuthFlow) {\n showAuthFlowRef.current = null;\n }\n };\n }, [setShowAuthFlow, setShowLogin, setStartClosingLogin]);\n\n // Set the dynamic wallet and address when the primary wallet changes\n // Use deep comparison to prevent unnecessary updates\n useEffect(() => {\n \n // Skip if the wallet hasn't actually changed\n if (primaryWallet === prevPrimaryWalletRef.current) {\n return;\n }\n\n prevPrimaryWalletRef.current = primaryWallet;\n primaryWalletStateRef.current = primaryWallet;\n\n if (primaryWallet) {\n setDynamicWallet(primaryWallet);\n setAddress(primaryWallet.address);\n } else {\n setDynamicWallet(null);\n setAddress('');\n }\n }, [primaryWallet, setDynamicWallet, setAddress]);\n\n useEffect(() => {\n const wasAuthFlowOpen = prevShowAuthFlowRef.current;\n prevShowAuthFlowRef.current = showAuthFlow;\n\n if (pendingAuthCloseRef.current != null) {\n if (typeof window !== 'undefined') {\n window.clearTimeout(pendingAuthCloseRef.current);\n }\n pendingAuthCloseRef.current = null;\n }\n\n if (\n wasAuthFlowOpen &&\n !showAuthFlow &&\n showLogin\n ) {\n const closeIfStillIdle = () => {\n pendingAuthCloseRef.current = null;\n if (!primaryWalletStateRef.current) {\n logger.debug(\n 'Dynamic auth flow closed before wallet connection; closing Nord widget'\n );\n setShowLogin(false);\n setStartClosingLogin(true);\n }\n };\n\n if (typeof window === 'undefined') {\n closeIfStillIdle();\n } else {\n pendingAuthCloseRef.current = window.setTimeout(\n closeIfStillIdle,\n AUTH_FLOW_IDLE_CLOSE_DELAY_MS\n );\n }\n }\n }, [showAuthFlow, showLogin, setShowLogin, setStartClosingLogin]);\n\n // Set the logout handler when it changes - only when it actually changes\n useEffect(() => {\n if (handleLogOut && handleLogOut !== prevHandleLogOutRef.current) {\n prevHandleLogOutRef.current = handleLogOut;\n setDynamicHandleLogOut(() => handleLogOut);\n }\n }, [handleLogOut, setDynamicHandleLogOut]);\n\n // Set the SDK loaded flag when it changes - only when it actually changes\n useEffect(() => {\n if (sdkHasLoaded !== prevSdkHasLoadedRef.current) {\n prevSdkHasLoadedRef.current = sdkHasLoaded;\n setDynamicSdkHasLoaded(sdkHasLoaded);\n }\n }, [sdkHasLoaded, setDynamicSdkHasLoaded]);\n\n return <>{children}</>;\n };\n\n return <DynamicComponent />;\n}\n\nconst getSettings = () => ({\n initialAuthenticationMode: 'connect-only',\n environmentId: '61fe6031-545b-4e27-bc05-03c8a09f190b',\n silentAuthentication: true,\n silentAuth: true,\n theme: {\n mode: 'dark',\n },\n events: {\n onAuthSuccess: (args: any) => {\n logger.debug('onAuthSuccess was called', args);\n },\n },\n});\n\nfunction LazyInternal(props: { children: any }) {\n const [Provider, setProvider] = useState<any>(null);\n const [DynamicWidgetComponent, setDynamicWidgetComponent] = useState<any>(null);\n const [walletConnectors, setWalletConnectors] = useState<any[]>([]);\n\n useEffect(() => {\n\n const loadDynamicDeps = async () => {\n try {\n const [\n { DynamicContextProvider, DynamicWidget },\n { SolanaWalletConnectors },\n ] = await Promise.all([\n import('@dynamic-labs/sdk-react-core'),\n import('@dynamic-labs/solana'),\n ]);\n\n setProvider(() => DynamicContextProvider);\n setDynamicWidgetComponent(() => DynamicWidget);\n setWalletConnectors([SolanaWalletConnectors]);\n } catch (error) {\n logger.error('Failed to load Dynamic dependencies:', error);\n }\n };\n\n loadDynamicDeps();\n }, []);\n\n // Memoize the dynamic settings to prevent unnecessary re-renders\n const dynamicSettings = useCallback(\n () => ({\n ...getSettings(),\n walletConnectors,\n }),\n [walletConnectors]\n );\n\n if (!Provider || walletConnectors.length === 0) {\n return null;\n }\n\n return (\n <Provider settings={dynamicSettings()} theme=\"dark\">\n <DynamicContextConsumer>{props.children}</DynamicContextConsumer>\n {DynamicWidgetComponent ? <DynamicWidgetComponent /> : null}\n </Provider>\n );\n}\n\nexport function LazyWalletProvider({ children }: any) {\n return <LazyInternal>{children}</LazyInternal>;\n}\n"]}
|
|
@@ -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
|
-
|
|
84
|
-
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
var
|
|
97
|
-
|
|
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 =
|
|
67
|
+
var ModalContent = React.memo(function (_a) {
|
|
107
68
|
var css = _a.css;
|
|
108
|
-
return ((
|
|
69
|
+
return (_jsxs(root.div, { children: [_jsx("style", { children: css }), _jsx(N1WalletModal, {})] }));
|
|
109
70
|
});
|
|
110
|
-
var DynamicBridge =
|
|
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
|
-
|
|
115
|
-
return ((
|
|
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 =
|
|
121
|
-
var _c =
|
|
122
|
-
var _d =
|
|
123
|
-
var _e =
|
|
124
|
-
var _f =
|
|
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 =
|
|
127
|
-
var _h =
|
|
128
|
-
var _j =
|
|
129
|
-
var _k =
|
|
130
|
-
var _l =
|
|
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 =
|
|
133
|
-
var _o =
|
|
134
|
-
|
|
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 =
|
|
138
|
-
var _q =
|
|
139
|
-
var _r =
|
|
140
|
-
var _s =
|
|
141
|
-
var _t =
|
|
142
|
-
var _u =
|
|
143
|
-
var _v =
|
|
144
|
-
var nextOpenAllowedAtRef =
|
|
145
|
-
var pendingShowLoginRef =
|
|
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 =
|
|
148
|
-
var _x =
|
|
149
|
-
var _y =
|
|
150
|
-
var sessionMode =
|
|
151
|
-
|
|
152
|
-
if (providedSessionMode !==
|
|
153
|
-
|
|
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
|
-
|
|
117
|
+
useEffect(function () {
|
|
157
118
|
var isDynamicReady = Boolean(dynamicSdkHasLoaded);
|
|
158
119
|
setLoading(!isDynamicReady);
|
|
159
120
|
}, [dynamicSdkHasLoaded, setLoading]);
|
|
160
|
-
var handleError =
|
|
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
|
|
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 =
|
|
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 =
|
|
143
|
+
var blockModalReopen = useCallback(function (duration) {
|
|
183
144
|
if (duration === void 0) { duration = 600; }
|
|
184
145
|
var unblockAt = Date.now() + duration;
|
|
185
|
-
|
|
146
|
+
logger.debug('blockModalReopen invoked', { duration: duration, unblockAt: unblockAt });
|
|
186
147
|
nextOpenAllowedAtRef.current = Date.now() + duration;
|
|
187
148
|
}, []);
|
|
188
|
-
var applyShowLoginState =
|
|
149
|
+
var applyShowLoginState = useCallback(function (next) {
|
|
189
150
|
setShowLoginState(function (prev) {
|
|
190
|
-
|
|
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
|
-
|
|
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
|
-
|
|
165
|
+
logger.debug('setShowLogin blocked by cooldown', {
|
|
205
166
|
next: next,
|
|
206
167
|
prev: prev,
|
|
207
168
|
});
|
|
208
169
|
return prev;
|
|
209
170
|
}
|
|
210
|
-
|
|
171
|
+
logger.debug('setShowLogin opening modal');
|
|
211
172
|
return true;
|
|
212
173
|
}
|
|
213
|
-
|
|
174
|
+
logger.debug('setShowLogin closing modal');
|
|
214
175
|
blockModalReopen();
|
|
215
176
|
return false;
|
|
216
177
|
});
|
|
217
178
|
}, [blockModalReopen]);
|
|
218
|
-
|
|
179
|
+
useEffect(function () {
|
|
219
180
|
if (dynamicSdkHasLoaded && pendingShowLoginRef.current) {
|
|
220
|
-
|
|
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 =
|
|
186
|
+
var setShowLogin = useCallback(function (next) {
|
|
226
187
|
if (next && !dynamicSdkHasLoaded) {
|
|
227
|
-
|
|
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 =
|
|
195
|
+
var startDepositFlow = useCallback(function () {
|
|
235
196
|
if (!nordUser || !nordUser.sessionId) {
|
|
236
|
-
|
|
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:
|
|
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 ((
|
|
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
|