@dynamic-labs/sdk-react-core 1.4.3 → 1.4.5
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/CHANGELOG.md +20 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +11 -11
- package/src/lib/components/DynamicFooter/DynamicFooter.cjs +8 -1
- package/src/lib/components/DynamicFooter/DynamicFooter.js +8 -1
- package/src/lib/components/Toolkit/Toolkit.cjs +2 -3
- package/src/lib/components/Toolkit/Toolkit.js +2 -3
- package/src/lib/components/Toolkit/components/index.d.ts +0 -1
- package/src/lib/context/DynamicContext/DynamicContext.cjs +13 -12
- package/src/lib/context/DynamicContext/DynamicContext.js +13 -12
- package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +0 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +0 -3
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +1 -4
- package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.cjs +15 -0
- package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.d.ts +6 -0
- package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.js +11 -0
- package/src/lib/context/DynamicContext/hooks/useParentDynamicContextGuard/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useParentDynamicContextGuard/useParentDynamicContextGuard.cjs +15 -0
- package/src/lib/context/DynamicContext/hooks/useParentDynamicContextGuard/useParentDynamicContextGuard.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useParentDynamicContextGuard/useParentDynamicContextGuard.js +11 -0
- package/src/lib/context/DynamicContext/types/index.d.ts +4 -1
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +4 -2
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +4 -2
- package/src/lib/main.global.cjs +1 -1
- package/src/lib/main.global.js +1 -1
- package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.cjs +0 -10
- package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.js +0 -10
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/constants/index.d.ts +1 -1
- package/src/lib/utils/constants/localStorage.cjs +0 -2
- package/src/lib/utils/constants/localStorage.d.ts +0 -1
- package/src/lib/utils/constants/localStorage.js +1 -2
- package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.cjs +9 -4
- package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.js +9 -4
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +24 -15
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.d.ts +13 -0
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +24 -16
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +16 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +16 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.d.ts +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -0
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +4 -1
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +4 -1
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +11 -1
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +11 -1
- package/src/lib/components/Toolkit/components/MultiWalletSwitch.cjs +0 -18
- package/src/lib/components/Toolkit/components/MultiWalletSwitch.d.ts +0 -6
- package/src/lib/components/Toolkit/components/MultiWalletSwitch.js +0 -14
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +0 -39
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +0 -9
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +0 -35
- /package/src/lib/{utils/hooks/multiWallet → context/DynamicContext/hooks}/useMultiWallet/index.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
|
|
2
|
+
### [1.4.5](https://github.com/dynamic-labs/DynamicAuth/compare/v1.4.4...v1.4.5) (2024-04-05)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* use in-app browser deeplink for metamask ([#5176](https://github.com/dynamic-labs/DynamicAuth/issues/5176)) ([#5203](https://github.com/dynamic-labs/DynamicAuth/issues/5203)) ([63951d8](https://github.com/dynamic-labs/DynamicAuth/commit/63951d8896ea073e595e4a1e92bfe22731b012f4))
|
|
8
|
+
* clear user wallets immediately on logout ([#5238](https://github.com/dynamic-labs/DynamicAuth/issues/5238)) ([13b55a7](https://github.com/dynamic-labs/DynamicAuth/commit/13b55a7070f6f159504bf05b503848cc2c5ed445)), closes [#5211](https://github.com/dynamic-labs/DynamicAuth/issues/5211)
|
|
9
|
+
|
|
10
|
+
### [1.4.4](https://github.com/dynamic-labs/DynamicAuth/compare/v1.4.3...v1.4.4) (2024-04-01)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* Multiple WC bug fixes ([#5132](https://github.com/dynamic-labs/DynamicAuth/issues/5132)) ([#5133](https://github.com/dynamic-labs/DynamicAuth/issues/5133)) ([88affaf](https://github.com/dynamic-labs/DynamicAuth/commit/88affaff291391f5f633f7f3bb1ecd5219705117))
|
|
16
|
+
* apply network validation in mobile auth flow ([#5142](https://github.com/dynamic-labs/DynamicAuth/issues/5142)) ([#5159](https://github.com/dynamic-labs/DynamicAuth/issues/5159)) ([f8a6202](https://github.com/dynamic-labs/DynamicAuth/commit/f8a6202f9af8f234c723cfd05f4438536eb30fd0))
|
|
17
|
+
* Better handling of empty callback queue ([#5147](https://github.com/dynamic-labs/DynamicAuth/issues/5147)) ([#5149](https://github.com/dynamic-labs/DynamicAuth/issues/5149)) ([f520f25](https://github.com/dynamic-labs/DynamicAuth/commit/f520f25f2a0faf12567db29f6712cc2f8e421cff))
|
|
18
|
+
* multiple improvements to the wallet list ([#5155](https://github.com/dynamic-labs/DynamicAuth/issues/5155)) ([582ac0e](https://github.com/dynamic-labs/DynamicAuth/commit/582ac0e8baf0fd0eec1246219a5eda730c99f290)), closes [#5112](https://github.com/dynamic-labs/DynamicAuth/issues/5112)
|
|
19
|
+
* Improved scroll experience on ios [48873da](https://github.com/dynamic-labs/DynamicAuth/commit/48873da25bafd07104cebf3bcbb8e2a787c8092c))
|
|
20
|
+
* better handling of multiwallet state ([#5146](https://github.com/dynamic-labs/DynamicAuth/issues/5146)) ([#5148](https://github.com/dynamic-labs/DynamicAuth/issues/5148)) ([dabb780](https://github.com/dynamic-labs/DynamicAuth/commit/dabb7808c94cfa4da7d0c7a058f04d69ffdb301a))
|
|
21
|
+
|
|
2
22
|
### [1.4.3](https://github.com/dynamic-labs/DynamicAuth/compare/v1.4.2...v1.4.3) (2024-03-28)
|
|
3
23
|
|
|
4
24
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.5",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"react-focus-lock": "2.9.2",
|
|
17
17
|
"react-i18next": "^13.2.0",
|
|
18
18
|
"yup": "0.32.11",
|
|
19
|
-
"@dynamic-labs/ethereum": "1.4.
|
|
20
|
-
"@dynamic-labs/iconic": "1.4.
|
|
21
|
-
"@dynamic-labs/logger": "1.4.
|
|
22
|
-
"@dynamic-labs/multi-wallet": "1.4.
|
|
23
|
-
"@dynamic-labs/rpc-providers": "1.4.
|
|
24
|
-
"@dynamic-labs/types": "1.4.
|
|
25
|
-
"@dynamic-labs/utils": "1.4.
|
|
26
|
-
"@dynamic-labs/viem-utils": "1.4.
|
|
27
|
-
"@dynamic-labs/wallet-book": "1.4.
|
|
28
|
-
"@dynamic-labs/wallet-connector-core": "1.4.
|
|
19
|
+
"@dynamic-labs/ethereum": "1.4.5",
|
|
20
|
+
"@dynamic-labs/iconic": "1.4.5",
|
|
21
|
+
"@dynamic-labs/logger": "1.4.5",
|
|
22
|
+
"@dynamic-labs/multi-wallet": "1.4.5",
|
|
23
|
+
"@dynamic-labs/rpc-providers": "1.4.5",
|
|
24
|
+
"@dynamic-labs/types": "1.4.5",
|
|
25
|
+
"@dynamic-labs/utils": "1.4.5",
|
|
26
|
+
"@dynamic-labs/viem-utils": "1.4.5",
|
|
27
|
+
"@dynamic-labs/wallet-book": "1.4.5",
|
|
28
|
+
"@dynamic-labs/wallet-connector-core": "1.4.5",
|
|
29
29
|
"eventemitter3": "5.0.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
@@ -4,7 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var PoweredByDynamic = require('../PoweredByDynamic/PoweredByDynamic.cjs');
|
|
7
|
+
var classNames = require('../../utils/functions/classNames/classNames.cjs');
|
|
8
|
+
var useAuthLayoutChecks = require('../../utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs');
|
|
7
9
|
|
|
8
|
-
const DynamicFooter = () =>
|
|
10
|
+
const DynamicFooter = () => {
|
|
11
|
+
const { shouldHideDynamicFooterSeparator } = useAuthLayoutChecks.useAuthLayoutChecks();
|
|
12
|
+
return (jsxRuntime.jsx("div", { "data-testid": 'dynamic-footer', className: classNames.classNames('dynamic-footer', {
|
|
13
|
+
'dynamic-footer__top-border': !shouldHideDynamicFooterSeparator,
|
|
14
|
+
}), children: jsxRuntime.jsx(PoweredByDynamic.PoweredByDynamic, {}) }));
|
|
15
|
+
};
|
|
9
16
|
|
|
10
17
|
exports.DynamicFooter = DynamicFooter;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { PoweredByDynamic } from '../PoweredByDynamic/PoweredByDynamic.js';
|
|
3
|
+
import { classNames } from '../../utils/functions/classNames/classNames.js';
|
|
4
|
+
import { useAuthLayoutChecks } from '../../utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js';
|
|
3
5
|
|
|
4
|
-
const DynamicFooter = () =>
|
|
6
|
+
const DynamicFooter = () => {
|
|
7
|
+
const { shouldHideDynamicFooterSeparator } = useAuthLayoutChecks();
|
|
8
|
+
return (jsx("div", { "data-testid": 'dynamic-footer', className: classNames('dynamic-footer', {
|
|
9
|
+
'dynamic-footer__top-border': !shouldHideDynamicFooterSeparator,
|
|
10
|
+
}), children: jsx(PoweredByDynamic, {}) }));
|
|
11
|
+
};
|
|
5
12
|
|
|
6
13
|
export { DynamicFooter };
|
|
@@ -61,7 +61,6 @@ var AuthModeSwitch = require('./components/AuthModeSwitch.cjs');
|
|
|
61
61
|
var LoginWithEmailSwitch = require('./components/LoginWithEmailSwitch.cjs');
|
|
62
62
|
var LoginWithEmailViewDisplayPriorityOrderSwitch = require('./components/LoginWithEmailViewDisplayPriorityOrderSwitch.cjs');
|
|
63
63
|
var TemplateSelect = require('./components/TemplateSelect.cjs');
|
|
64
|
-
var MultiWalletSwitch = require('./components/MultiWalletSwitch.cjs');
|
|
65
64
|
require('../PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
|
|
66
65
|
require('../../context/PasskeyContext/PasskeyContext.cjs');
|
|
67
66
|
require('../../views/WalletList/WalletList.cjs');
|
|
@@ -81,7 +80,7 @@ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/
|
|
|
81
80
|
var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
82
81
|
|
|
83
82
|
const Toolkit = () => {
|
|
84
|
-
const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode,
|
|
83
|
+
const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
85
84
|
const isToolkitVisible = React.useMemo(() => {
|
|
86
85
|
if (!toolkitEnabled)
|
|
87
86
|
return false;
|
|
@@ -89,7 +88,7 @@ const Toolkit = () => {
|
|
|
89
88
|
}, [showAuthFlow, showDynamicUserProfile, toolkitEnabled]);
|
|
90
89
|
if (!isToolkitVisible)
|
|
91
90
|
return null;
|
|
92
|
-
return (jsxRuntime.jsx(ShadowDOM.ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: index.toolkitZIndex, children: jsxRuntime.jsxs("div", { className: 'toolkit__container', children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsxRuntime.jsx(ThemeSwitch.ThemeSwitch, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsxRuntime.jsx(TemplateSelect.TemplateSelect, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsxRuntime.jsx(PrimaryColorInput.PrimaryColorInput, {})] }), !user && (jsxRuntime.jsxs(
|
|
91
|
+
return (jsxRuntime.jsx(ShadowDOM.ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: index.toolkitZIndex, children: jsxRuntime.jsxs("div", { className: 'toolkit__container', children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsxRuntime.jsx(ThemeSwitch.ThemeSwitch, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsxRuntime.jsx(TemplateSelect.TemplateSelect, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsxRuntime.jsx(PrimaryColorInput.PrimaryColorInput, {})] }), !user && (jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Auth mode" }), jsxRuntime.jsx(AuthModeSwitch.AuthModeSwitch, { authMode: authMode, setAuthMode: setAuthMode })] })), isEmailProviderEnabled.isEmailProviderEnabled((projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) || []) && !user && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Log in with Email" }), jsxRuntime.jsx(LoginWithEmailSwitch.LoginWithEmailSwitch, {})] }), jsxRuntime.jsxs("div", { className: 'toolkit__switcher', children: [jsxRuntime.jsx(Typography.Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Email vs Wallet priority" }), jsxRuntime.jsx(LoginWithEmailViewDisplayPriorityOrderSwitch.LoginWithEmailViewDisplayPriorityOrderSwitch, {})] })] }))] }) }));
|
|
93
92
|
};
|
|
94
93
|
|
|
95
94
|
exports.Toolkit = Toolkit;
|
|
@@ -57,7 +57,6 @@ import { AuthModeSwitch } from './components/AuthModeSwitch.js';
|
|
|
57
57
|
import { LoginWithEmailSwitch } from './components/LoginWithEmailSwitch.js';
|
|
58
58
|
import { LoginWithEmailViewDisplayPriorityOrderSwitch } from './components/LoginWithEmailViewDisplayPriorityOrderSwitch.js';
|
|
59
59
|
import { TemplateSelect } from './components/TemplateSelect.js';
|
|
60
|
-
import { MultiWalletSwitch } from './components/MultiWalletSwitch.js';
|
|
61
60
|
import '../PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
|
|
62
61
|
import '../../context/PasskeyContext/PasskeyContext.js';
|
|
63
62
|
import '../../views/WalletList/WalletList.js';
|
|
@@ -77,7 +76,7 @@ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/P
|
|
|
77
76
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
78
77
|
|
|
79
78
|
const Toolkit = () => {
|
|
80
|
-
const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode,
|
|
79
|
+
const { projectSettings, user, showAuthFlow, showDynamicUserProfile, toolkitEnabled, authMode, setAuthMode, } = useInternalDynamicContext();
|
|
81
80
|
const isToolkitVisible = useMemo(() => {
|
|
82
81
|
if (!toolkitEnabled)
|
|
83
82
|
return false;
|
|
@@ -85,7 +84,7 @@ const Toolkit = () => {
|
|
|
85
84
|
}, [showAuthFlow, showDynamicUserProfile, toolkitEnabled]);
|
|
86
85
|
if (!isToolkitVisible)
|
|
87
86
|
return null;
|
|
88
|
-
return (jsx(ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: toolkitZIndex, children: jsxs("div", { className: 'toolkit__container', children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsx(ThemeSwitch, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsx(TemplateSelect, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsx(PrimaryColorInput, {})] }), !user && (jsxs(
|
|
87
|
+
return (jsx(ShadowDOM, { dataTestId: 'toolkit-shadowdom', className: 'toolkit-shadowdom', zIndex: toolkitZIndex, children: jsxs("div", { className: 'toolkit__container', children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Theme" }), jsx(ThemeSwitch, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Template" }), jsx(TemplateSelect, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Primary Color" }), jsx(PrimaryColorInput, {})] }), !user && (jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Auth mode" }), jsx(AuthModeSwitch, { authMode: authMode, setAuthMode: setAuthMode })] })), isEmailProviderEnabled((projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) || []) && !user && (jsxs(Fragment, { children: [jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Log in with Email" }), jsx(LoginWithEmailSwitch, {})] }), jsxs("div", { className: 'toolkit__switcher', children: [jsx(Typography, { className: 'switcher__copy', as: 'h2', variant: 'body_normal', children: "Email vs Wallet priority" }), jsx(LoginWithEmailViewDisplayPriorityOrderSwitch, {})] })] }))] }) }));
|
|
89
88
|
};
|
|
90
89
|
|
|
91
90
|
export { Toolkit };
|
|
@@ -4,4 +4,3 @@ export { AuthModeSwitch } from './AuthModeSwitch';
|
|
|
4
4
|
export { LoginWithEmailSwitch } from './LoginWithEmailSwitch';
|
|
5
5
|
export { LoginWithEmailViewDisplayPriorityOrderSwitch } from './LoginWithEmailViewDisplayPriorityOrderSwitch';
|
|
6
6
|
export { TemplateSelect } from './TemplateSelect';
|
|
7
|
-
export { MultiWalletSwitch } from './MultiWalletSwitch';
|
|
@@ -79,7 +79,6 @@ var locale = require('../../locale/locale.cjs');
|
|
|
79
79
|
var getMissingChains = require('../../utils/functions/getMissingChains/getMissingChains.cjs');
|
|
80
80
|
var parseTheme = require('../../utils/functions/parseTheme/parseTheme.cjs');
|
|
81
81
|
var useMultiWalletWidgetState = require('../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.cjs');
|
|
82
|
-
var useMultiWallet = require('../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs');
|
|
83
82
|
var useClearWalletConnectSessions = require('../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.cjs');
|
|
84
83
|
var useConnectWallet = require('../../utils/hooks/useConnectWallet/useConnectWallet.cjs');
|
|
85
84
|
var useFetchWalletsForChainsMap = require('../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.cjs');
|
|
@@ -117,16 +116,18 @@ var useShowAuthFlow = require('./hooks/useShowAuthFlow/useShowAuthFlow.cjs');
|
|
|
117
116
|
var usePasskeySuccessPopup = require('./hooks/usePasskeySuccessPopup/usePasskeySuccessPopup.cjs');
|
|
118
117
|
var useTieCallbacksToEvents = require('./hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs');
|
|
119
118
|
var useVerificationInProgress = require('./hooks/useVerificationInProgress/useVerificationInProgress.cjs');
|
|
119
|
+
var useMultiWallet = require('./hooks/useMultiWallet/useMultiWallet.cjs');
|
|
120
120
|
var useSetShowLinkNewWalletModal = require('./hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.cjs');
|
|
121
121
|
var useCustomerCallbacks = require('./useCustomerCallbacks/useCustomerCallbacks.cjs');
|
|
122
122
|
var validators = require('./validators/validators.cjs');
|
|
123
|
+
var useParentDynamicContextGuard = require('./hooks/useParentDynamicContextGuard/useParentDynamicContextGuard.cjs');
|
|
123
124
|
|
|
124
125
|
const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9';
|
|
125
126
|
const EMPTY_INITIAL_USER = undefined;
|
|
126
127
|
const DynamicContext = React.createContext(undefined);
|
|
127
128
|
/** The context provider itself we only use internally */
|
|
128
129
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale$1, }) => {
|
|
129
|
-
var _a, _b, _c, _d, _e, _f;
|
|
130
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
130
131
|
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableConnectOnlyFallback = false, deepLinkPreference = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, hideEmbeddedWalletTransactionUIs, } = settings;
|
|
131
132
|
const networkValidationMode = helpers.resolveNetworkValidationMode({
|
|
132
133
|
bridgeChains: settings.bridgeChains,
|
|
@@ -168,10 +169,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
168
169
|
dynamicContextProps: { settings },
|
|
169
170
|
environmentId,
|
|
170
171
|
});
|
|
171
|
-
const
|
|
172
|
+
const multiWallet = useMultiWallet.useMultiWallet({
|
|
172
173
|
isBridgeFlow,
|
|
173
|
-
|
|
174
|
-
|
|
174
|
+
multiWalletOverride: (_b = settings.overrides) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
175
|
+
multiWalletSettings: (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.multiWallet,
|
|
175
176
|
});
|
|
176
177
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
177
178
|
const [showWidgetStatePopup, setShowWidgetStatePopup] = React.useState(!multiWallet);
|
|
@@ -245,7 +246,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
245
246
|
//selected wallet to perform an action (become primary, unlink, etc)
|
|
246
247
|
const [selectedWalletWithAction, setSelectedWalletWithAction] = React.useState(null);
|
|
247
248
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
248
|
-
const authToken = (
|
|
249
|
+
const authToken = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
249
250
|
useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
250
251
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors.useWalletConnectors({
|
|
251
252
|
authMode,
|
|
@@ -312,14 +313,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
312
313
|
setShowAuthFlow,
|
|
313
314
|
setShowBridgeWidget,
|
|
314
315
|
setShowDynamicUserProfile,
|
|
315
|
-
toolkitEnabled,
|
|
316
316
|
user,
|
|
317
317
|
walletConnectors,
|
|
318
318
|
});
|
|
319
319
|
let wcVersion;
|
|
320
320
|
if (projectSettings) {
|
|
321
321
|
wcVersion =
|
|
322
|
-
((
|
|
322
|
+
((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.walletConnect) === null || _f === void 0 ? void 0 : _f.v2Enabled) && !walletConnectV1Bridge
|
|
323
323
|
? 2
|
|
324
324
|
: 1;
|
|
325
325
|
}
|
|
@@ -516,7 +516,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
516
516
|
setIsVerificationInProgress,
|
|
517
517
|
setLegacyIsVerifying,
|
|
518
518
|
setLogInWithEmail,
|
|
519
|
-
setMultiWallet,
|
|
520
519
|
setMultiWalletWidgetState,
|
|
521
520
|
setNetwork,
|
|
522
521
|
setOnboardingOnlyJwt,
|
|
@@ -633,7 +632,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
633
632
|
setCallback,
|
|
634
633
|
setIsVerificationInProgress,
|
|
635
634
|
setLogInWithEmail,
|
|
636
|
-
setMultiWallet,
|
|
637
635
|
setMultiWalletWidgetState,
|
|
638
636
|
setNetwork,
|
|
639
637
|
setPrimaryWallet,
|
|
@@ -701,7 +699,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
701
699
|
setShowDynamicUserProfile(true);
|
|
702
700
|
}
|
|
703
701
|
}, [multiWallet, multiWalletWidgetState, showDynamicUserProfile, user]);
|
|
704
|
-
return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((
|
|
702
|
+
return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((_g = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _g === void 0 ? void 0 : _g.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsxRuntime.jsx(LoadingContext.LoadingContextProvider, { children: jsxRuntime.jsxs(ViewContext.ViewContextProvider, { initialView: helpers.getInitialView({
|
|
705
703
|
bridgeOnboardingCompleted,
|
|
706
704
|
connectedWallets,
|
|
707
705
|
isAuthenticated: isAuthenticated || Boolean(primaryWallet),
|
|
@@ -710,7 +708,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
710
708
|
}), children: [networkValidationMode === 'always' && jsxRuntime.jsx(UseNetworkValidation.UseNetworkValidation, {}), jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(PasskeyContext.PasskeyContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsx(WalletGroupContext.WalletGroupContextProvider, { children: jsxRuntime.jsx(UserFieldEditorContext.UserFieldEditorContextProvider, { children: jsxRuntime.jsx(ConnectWithEmailOtpProvider.ConnectWithEmailOtpProvider, { children: jsxRuntime.jsx(PhantomRedirectContext.PhantomRedirectContextProvider, { children: jsxRuntime.jsxs(SocialRedirectContext.SocialRedirectContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(SyncPasskeyFlow.SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
711
709
|
};
|
|
712
710
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
713
|
-
const DynamicContextProvider = (props) =>
|
|
711
|
+
const DynamicContextProvider = (props) => {
|
|
712
|
+
useParentDynamicContextGuard.useParentDynamicContextGuard();
|
|
713
|
+
return (jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(UserWalletsContext.UserWalletsProvider, { children: jsxRuntime.jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }));
|
|
714
|
+
};
|
|
714
715
|
|
|
715
716
|
exports.DynamicContext = DynamicContext;
|
|
716
717
|
exports.DynamicContextProvider = DynamicContextProvider;
|
|
@@ -75,7 +75,6 @@ import { Locale } from '../../locale/locale.js';
|
|
|
75
75
|
import { getMissingChains } from '../../utils/functions/getMissingChains/getMissingChains.js';
|
|
76
76
|
import { parseTheme } from '../../utils/functions/parseTheme/parseTheme.js';
|
|
77
77
|
import { useMultiWalletWidgetState } from '../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.js';
|
|
78
|
-
import { useMultiWallet } from '../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js';
|
|
79
78
|
import { useClearWalletConnectSessions } from '../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.js';
|
|
80
79
|
import { useConnectWallet } from '../../utils/hooks/useConnectWallet/useConnectWallet.js';
|
|
81
80
|
import { useFetchWalletsForChainsMap } from '../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.js';
|
|
@@ -113,16 +112,18 @@ import { useShowAuthFlow } from './hooks/useShowAuthFlow/useShowAuthFlow.js';
|
|
|
113
112
|
import { usePasskeySuccessPopup } from './hooks/usePasskeySuccessPopup/usePasskeySuccessPopup.js';
|
|
114
113
|
import { useTieCallbacksToEvents } from './hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js';
|
|
115
114
|
import { useVerificationInProgress } from './hooks/useVerificationInProgress/useVerificationInProgress.js';
|
|
115
|
+
import { useMultiWallet } from './hooks/useMultiWallet/useMultiWallet.js';
|
|
116
116
|
import { useSetShowLinkNewWalletModal } from './hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.js';
|
|
117
117
|
import { useCustomerCallbacks } from './useCustomerCallbacks/useCustomerCallbacks.js';
|
|
118
118
|
import { validateAuthUser } from './validators/validators.js';
|
|
119
|
+
import { useParentDynamicContextGuard } from './hooks/useParentDynamicContextGuard/useParentDynamicContextGuard.js';
|
|
119
120
|
|
|
120
121
|
const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9';
|
|
121
122
|
const EMPTY_INITIAL_USER = undefined;
|
|
122
123
|
const DynamicContext = createContext(undefined);
|
|
123
124
|
/** The context provider itself we only use internally */
|
|
124
125
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) => {
|
|
125
|
-
var _a, _b, _c, _d, _e, _f;
|
|
126
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
126
127
|
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableConnectOnlyFallback = false, deepLinkPreference = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, hideEmbeddedWalletTransactionUIs, } = settings;
|
|
127
128
|
const networkValidationMode = resolveNetworkValidationMode({
|
|
128
129
|
bridgeChains: settings.bridgeChains,
|
|
@@ -164,10 +165,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
164
165
|
dynamicContextProps: { settings },
|
|
165
166
|
environmentId,
|
|
166
167
|
});
|
|
167
|
-
const
|
|
168
|
+
const multiWallet = useMultiWallet({
|
|
168
169
|
isBridgeFlow,
|
|
169
|
-
|
|
170
|
-
|
|
170
|
+
multiWalletOverride: (_b = settings.overrides) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
171
|
+
multiWalletSettings: (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.multiWallet,
|
|
171
172
|
});
|
|
172
173
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
173
174
|
const [showWidgetStatePopup, setShowWidgetStatePopup] = useState(!multiWallet);
|
|
@@ -241,7 +242,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
241
242
|
//selected wallet to perform an action (become primary, unlink, etc)
|
|
242
243
|
const [selectedWalletWithAction, setSelectedWalletWithAction] = useState(null);
|
|
243
244
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
244
|
-
const authToken = (
|
|
245
|
+
const authToken = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
245
246
|
useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
246
247
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors({
|
|
247
248
|
authMode,
|
|
@@ -308,14 +309,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
308
309
|
setShowAuthFlow,
|
|
309
310
|
setShowBridgeWidget,
|
|
310
311
|
setShowDynamicUserProfile,
|
|
311
|
-
toolkitEnabled,
|
|
312
312
|
user,
|
|
313
313
|
walletConnectors,
|
|
314
314
|
});
|
|
315
315
|
let wcVersion;
|
|
316
316
|
if (projectSettings) {
|
|
317
317
|
wcVersion =
|
|
318
|
-
((
|
|
318
|
+
((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.walletConnect) === null || _f === void 0 ? void 0 : _f.v2Enabled) && !walletConnectV1Bridge
|
|
319
319
|
? 2
|
|
320
320
|
: 1;
|
|
321
321
|
}
|
|
@@ -512,7 +512,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
512
512
|
setIsVerificationInProgress,
|
|
513
513
|
setLegacyIsVerifying,
|
|
514
514
|
setLogInWithEmail,
|
|
515
|
-
setMultiWallet,
|
|
516
515
|
setMultiWalletWidgetState,
|
|
517
516
|
setNetwork,
|
|
518
517
|
setOnboardingOnlyJwt,
|
|
@@ -629,7 +628,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
629
628
|
setCallback,
|
|
630
629
|
setIsVerificationInProgress,
|
|
631
630
|
setLogInWithEmail,
|
|
632
|
-
setMultiWallet,
|
|
633
631
|
setMultiWalletWidgetState,
|
|
634
632
|
setNetwork,
|
|
635
633
|
setPrimaryWallet,
|
|
@@ -697,7 +695,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
697
695
|
setShowDynamicUserProfile(true);
|
|
698
696
|
}
|
|
699
697
|
}, [multiWallet, multiWalletWidgetState, showDynamicUserProfile, user]);
|
|
700
|
-
return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((
|
|
698
|
+
return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((_g = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _g === void 0 ? void 0 : _g.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsx(LoadingContextProvider, { children: jsxs(ViewContextProvider, { initialView: getInitialView({
|
|
701
699
|
bridgeOnboardingCompleted,
|
|
702
700
|
connectedWallets,
|
|
703
701
|
isAuthenticated: isAuthenticated || Boolean(primaryWallet),
|
|
@@ -706,6 +704,9 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
706
704
|
}), children: [networkValidationMode === 'always' && jsx(UseNetworkValidation, {}), jsx(CaptchaContextProvider, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(PasskeyContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsx(WalletGroupContextProvider, { children: jsx(UserFieldEditorContextProvider, { children: jsx(ConnectWithEmailOtpProvider, { children: jsx(PhantomRedirectContextProvider, { children: jsxs(SocialRedirectContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
707
705
|
};
|
|
708
706
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
709
|
-
const DynamicContextProvider = (props) =>
|
|
707
|
+
const DynamicContextProvider = (props) => {
|
|
708
|
+
useParentDynamicContextGuard();
|
|
709
|
+
return (jsx(ErrorContextProvider, { children: jsx(UserWalletsProvider, { children: jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }));
|
|
710
|
+
};
|
|
710
711
|
|
|
711
712
|
export { DynamicContext, DynamicContextProvider, InnerDynamicContextProvider, PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID };
|
|
@@ -11,7 +11,6 @@ export type UseHandleLogoutParams = {
|
|
|
11
11
|
bridgeChains: ChainsToConnect[] | undefined;
|
|
12
12
|
setShowDynamicUserProfile: Dispatch<SetStateAction<boolean>>;
|
|
13
13
|
setShowBridgeWidget: Dispatch<SetStateAction<boolean>>;
|
|
14
|
-
toolkitEnabled: boolean | undefined;
|
|
15
14
|
user: UserProfile | undefined;
|
|
16
15
|
environmentId: string;
|
|
17
16
|
walletConnectors: WalletConnectorCore.WalletConnector[];
|
|
@@ -84,9 +84,6 @@ const useHandleLogout = (params) => {
|
|
|
84
84
|
p.setShowBridgeWidget(false);
|
|
85
85
|
p.resetLoginWithEmail();
|
|
86
86
|
localStorage.LocalStorage.removeFromLS(localStorage$1.WALLET_PICKER_SEARCH_KEY);
|
|
87
|
-
if (!p.toolkitEnabled) {
|
|
88
|
-
localStorage.LocalStorage.removeFromLS(localStorage$1.IS_MULTI_WALLET_ENABLED);
|
|
89
|
-
}
|
|
90
87
|
const jwt = getAuthToken.getAuthToken();
|
|
91
88
|
if (jwt && p.user) {
|
|
92
89
|
// do not await this async call - just fire and forget
|
|
@@ -9,7 +9,7 @@ import '@dynamic-labs/wallet-connector-core';
|
|
|
9
9
|
import 'react/jsx-runtime';
|
|
10
10
|
import '../../../ViewContext/ViewContext.js';
|
|
11
11
|
import '@dynamic-labs/wallet-book';
|
|
12
|
-
import { WALLET_PICKER_SEARCH_KEY,
|
|
12
|
+
import { WALLET_PICKER_SEARCH_KEY, AUTH_TOKEN } from '../../../../utils/constants/localStorage.js';
|
|
13
13
|
import '../../../../utils/constants/colors.js';
|
|
14
14
|
import '../../../../utils/constants/values.js';
|
|
15
15
|
import { LocalStorage } from '../../../../shared/utils/classes/storage/localStorage.js';
|
|
@@ -80,9 +80,6 @@ const useHandleLogout = (params) => {
|
|
|
80
80
|
p.setShowBridgeWidget(false);
|
|
81
81
|
p.resetLoginWithEmail();
|
|
82
82
|
LocalStorage.removeFromLS(WALLET_PICKER_SEARCH_KEY);
|
|
83
|
-
if (!p.toolkitEnabled) {
|
|
84
|
-
LocalStorage.removeFromLS(IS_MULTI_WALLET_ENABLED);
|
|
85
|
-
}
|
|
86
83
|
const jwt = getAuthToken();
|
|
87
84
|
if (jwt && p.user) {
|
|
88
85
|
// do not await this async call - just fire and forget
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const useMultiWallet = ({ isBridgeFlow, multiWalletOverride, multiWalletSettings, }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
// Use settings override
|
|
8
|
+
if (multiWalletOverride !== undefined) {
|
|
9
|
+
return multiWalletOverride;
|
|
10
|
+
}
|
|
11
|
+
// Use settings value
|
|
12
|
+
return (_a = (multiWalletSettings || isBridgeFlow)) !== null && _a !== void 0 ? _a : false;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.useMultiWallet = useMultiWallet;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const useMultiWallet = ({ isBridgeFlow, multiWalletOverride, multiWalletSettings, }) => {
|
|
2
|
+
var _a;
|
|
3
|
+
// Use settings override
|
|
4
|
+
if (multiWalletOverride !== undefined) {
|
|
5
|
+
return multiWalletOverride;
|
|
6
|
+
}
|
|
7
|
+
// Use settings value
|
|
8
|
+
return (_a = (multiWalletSettings || isBridgeFlow)) !== null && _a !== void 0 ? _a : false;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { useMultiWallet };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useParentDynamicContextGuard } from './useParentDynamicContextGuard';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var DynamicContext = require('../../DynamicContext.cjs');
|
|
7
|
+
|
|
8
|
+
const useParentDynamicContextGuard = () => {
|
|
9
|
+
const context = React.useContext(DynamicContext.DynamicContext);
|
|
10
|
+
if (context) {
|
|
11
|
+
throw new Error('DynamicContextProvider should not be nested. Please wrap your application in a single DynamicContextProvider.');
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
exports.useParentDynamicContextGuard = useParentDynamicContextGuard;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useParentDynamicContextGuard: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { DynamicContext } from '../../DynamicContext.js';
|
|
3
|
+
|
|
4
|
+
const useParentDynamicContextGuard = () => {
|
|
5
|
+
const context = useContext(DynamicContext);
|
|
6
|
+
if (context) {
|
|
7
|
+
throw new Error('DynamicContextProvider should not be nested. Please wrap your application in a single DynamicContextProvider.');
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { useParentDynamicContextGuard };
|
|
@@ -32,6 +32,10 @@ export type WalletListViewSettings = {
|
|
|
32
32
|
export type ViewsOverrides = SdkView | WalletListViewSettings;
|
|
33
33
|
export type SettingsOverrides = {
|
|
34
34
|
views?: Array<ViewsOverrides>;
|
|
35
|
+
/**
|
|
36
|
+
* Allows overriding the multi-wallet feature from the dashboard.
|
|
37
|
+
*/
|
|
38
|
+
multiWallet?: boolean;
|
|
35
39
|
};
|
|
36
40
|
export type ConnectWalletResult = {
|
|
37
41
|
address: string;
|
|
@@ -117,7 +121,6 @@ export interface IDynamicContext {
|
|
|
117
121
|
setDesktopUri: Dispatch<SetStateAction<string>>;
|
|
118
122
|
setIsSingleWalletAccount: Dispatch<SetStateAction<boolean>>;
|
|
119
123
|
setLogInWithEmail: Dispatch<SetStateAction<boolean>>;
|
|
120
|
-
setMultiWallet: (value: boolean) => void;
|
|
121
124
|
setMultiWalletWidgetState: MultiWalletWidgetStateSetter;
|
|
122
125
|
setNetwork: Dispatch<SetStateAction<number | string | undefined>>;
|
|
123
126
|
setOnboardingOnlyJwt: Dispatch<SetStateAction<string | undefined>>;
|
|
@@ -110,8 +110,10 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onLinkSuccess, onUse
|
|
|
110
110
|
handleNextCallback(callbackQueue[0], authToken, user);
|
|
111
111
|
setCallbackQueue((prev) => {
|
|
112
112
|
const [resolvedCallback, ...updatedQueue] = prev;
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
if (resolvedCallback) {
|
|
114
|
+
logger.logger.debug('Resolved callback: ', resolvedCallback.callback);
|
|
115
|
+
logger.logger.debug('Callbacks in queue: ', updatedQueue.map((c) => c.callback));
|
|
116
|
+
}
|
|
115
117
|
return updatedQueue;
|
|
116
118
|
});
|
|
117
119
|
}, [callbackQueue, handleNextCallback, primaryWallet, user]);
|
|
@@ -106,8 +106,10 @@ const useCustomerCallbacks = ({ callbacks: { onAuthSuccess, onLinkSuccess, onUse
|
|
|
106
106
|
handleNextCallback(callbackQueue[0], authToken, user);
|
|
107
107
|
setCallbackQueue((prev) => {
|
|
108
108
|
const [resolvedCallback, ...updatedQueue] = prev;
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
if (resolvedCallback) {
|
|
110
|
+
logger.debug('Resolved callback: ', resolvedCallback.callback);
|
|
111
|
+
logger.debug('Callbacks in queue: ', updatedQueue.map((c) => c.callback));
|
|
112
|
+
}
|
|
111
113
|
return updatedQueue;
|
|
112
114
|
});
|
|
113
115
|
}, [callbackQueue, handleNextCallback, primaryWallet, user]);
|