@dynamic-labs/sdk-react-core 2.0.0-alpha.6 → 2.0.0-alpha.8
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 +21 -0
- package/package.cjs +4 -4
- package/package.js +4 -4
- package/package.json +16 -16
- package/src/index.cjs +3 -7
- package/src/index.d.ts +1 -2
- package/src/index.js +2 -2
- package/src/lib/components/Alert/Alert.cjs +1 -0
- package/src/lib/components/Alert/Alert.js +1 -0
- package/src/lib/components/Alert/Alert.types.d.ts +1 -1
- package/src/lib/components/ErrorContainer/ErrorContainer.cjs +1 -1
- package/src/lib/components/ErrorContainer/ErrorContainer.js +1 -1
- package/src/lib/components/NetworkPicker/NetworkPicker.cjs +4 -2
- package/src/lib/components/NetworkPicker/NetworkPicker.js +4 -2
- package/src/lib/components/ShadowDOM/ShadowDOM.cjs +2 -0
- package/src/lib/components/ShadowDOM/ShadowDOM.js +2 -1
- package/src/lib/components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.cjs +26 -10
- package/src/lib/components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.js +27 -11
- package/src/lib/components/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +16 -17
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +3 -4
- package/src/lib/context/DynamicContext/DynamicContext.js +17 -18
- package/src/lib/context/DynamicContext/helpers/helpers.cjs +10 -0
- package/src/lib/context/DynamicContext/helpers/helpers.d.ts +5 -0
- package/src/lib/context/DynamicContext/helpers/helpers.js +10 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +0 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +1 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +1 -1
- package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.cjs +1 -0
- package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.d.ts +8 -7
- package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.js +1 -0
- package/src/lib/context/DynamicContext/types/index.d.ts +14 -2
- package/src/lib/context/ErrorContext/ErrorContext.cjs +4 -0
- package/src/lib/context/ErrorContext/ErrorContext.d.ts +1 -0
- package/src/lib/context/ErrorContext/ErrorContext.js +4 -0
- package/src/lib/context/FundingContext/FundingContext.cjs +3 -1
- package/src/lib/context/FundingContext/FundingContext.js +3 -1
- package/src/lib/context/PasskeyContext/PasskeyContext.cjs +1 -0
- package/src/lib/context/PasskeyContext/PasskeyContext.js +1 -0
- package/src/lib/context/ViewContext/ViewContext.cjs +7 -0
- package/src/lib/context/ViewContext/ViewContext.js +7 -0
- package/src/lib/context/ViewContext/types/index.d.ts +5 -3
- package/src/lib/locale/en/translation.cjs +30 -16
- package/src/lib/locale/en/translation.d.ts +22 -8
- package/src/lib/locale/en/translation.js +30 -16
- package/src/lib/shared/types/localStorage.d.ts +1 -1
- package/src/lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.cjs +10 -28
- package/src/lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.d.ts +1 -5
- package/src/lib/shared/utils/hooks/useGlobalLoading/useGlobalLoading.js +10 -28
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/index.d.ts +1 -0
- package/src/lib/utils/functions/mergeNetworks/index.d.ts +1 -0
- package/src/lib/utils/functions/mergeNetworks/mergeNetworks.cjs +26 -0
- package/src/lib/utils/functions/mergeNetworks/mergeNetworks.d.ts +13 -0
- package/src/lib/utils/functions/mergeNetworks/mergeNetworks.js +22 -0
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +4 -2
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +4 -2
- package/src/lib/utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.cjs +1 -0
- package/src/lib/utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.js +1 -0
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +3 -13
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +1 -2
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +3 -13
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +1 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +1 -1
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.cjs +1 -0
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.js +1 -0
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.cjs +33 -8
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.js +33 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +1 -0
- package/src/lib/utils/hooks/useEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +1 -0
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +27 -5
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +27 -5
- package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs +7 -6
- package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.js +7 -6
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +2 -6
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +2 -6
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/useProcessNetworkConfigurations.cjs +20 -54
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/useProcessNetworkConfigurations.d.ts +5 -3
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/useProcessNetworkConfigurations.js +20 -54
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/index.d.ts +1 -0
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +38 -0
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.d.ts +2 -0
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +34 -0
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +1 -0
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +1 -0
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +8 -11
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +8 -11
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +1 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +1 -0
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +1 -0
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +1 -0
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.cjs +4 -7
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.js +4 -7
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +1 -1
- package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +1 -1
- package/src/lib/views/BridgeSummaryView/BridgeSummaryView.cjs +1 -1
- package/src/lib/views/BridgeSummaryView/BridgeSummaryView.js +1 -1
- package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.cjs +1 -1
- package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.js +1 -1
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +3 -8
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +3 -8
- package/src/lib/views/{CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs → CollectUserDataViewNoWallet/CollectUserDataViewNoWallet.cjs} +5 -4
- package/src/lib/views/CollectUserDataViewNoWallet/CollectUserDataViewNoWallet.d.ts +13 -0
- package/src/lib/views/{CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js → CollectUserDataViewNoWallet/CollectUserDataViewNoWallet.js} +5 -4
- package/src/lib/views/CollectUserDataViewNoWallet/index.d.ts +1 -0
- package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.cjs +17 -2
- package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.js +17 -2
- package/src/lib/views/CreatePasswordView/CreatePasswordView.cjs +12 -13
- package/src/lib/views/CreatePasswordView/CreatePasswordView.d.ts +2 -0
- package/src/lib/views/CreatePasswordView/CreatePasswordView.js +12 -13
- package/src/lib/views/EmailUpdate/EmailUpdate.cjs +1 -0
- package/src/lib/views/EmailUpdate/EmailUpdate.js +1 -0
- package/src/lib/views/EmailVerification/EmailVerification.cjs +10 -17
- package/src/lib/views/EmailVerification/EmailVerification.js +10 -17
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +40 -13
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.d.ts +2 -3
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +40 -13
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.d.ts +1 -1
- package/src/lib/views/EnterPasswordView/EnterPasswordView.cjs +8 -1
- package/src/lib/views/EnterPasswordView/EnterPasswordView.js +8 -1
- package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.cjs +1 -0
- package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.js +1 -0
- package/src/lib/views/LoginView/useLoginView/useLoginView.cjs +11 -5
- package/src/lib/views/LoginView/useLoginView/useLoginView.js +11 -5
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +1 -0
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +1 -0
- package/src/lib/views/Passkey/EmbeddedAuthChoice/EmbeddedAuthChoice.d.ts +2 -3
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.d.ts +2 -3
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.d.ts +2 -3
- package/src/lib/views/Passkey/RenamePasskeyView/RenamePasskeyView.cjs +1 -0
- package/src/lib/views/Passkey/RenamePasskeyView/RenamePasskeyView.js +1 -0
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +31 -7
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +31 -7
- package/src/lib/views/WalletUsedView/WalletUsedView.cjs +1 -0
- package/src/lib/views/WalletUsedView/WalletUsedView.js +1 -0
- package/src/lib/views/viewToComponentMap.cjs +4 -4
- package/src/lib/views/viewToComponentMap.d.ts +60 -2
- package/src/lib/views/viewToComponentMap.js +4 -4
- package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +1 -1
- package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +6 -4
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +6 -4
- package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +5 -2
- package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +5 -2
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/PendingAccountSwitchModal.cjs +2 -14
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/PendingAccountSwitchModal.js +2 -14
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +3 -1
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +4 -2
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +2 -14
- package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +2 -14
- package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.cjs +18 -9
- package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.js +18 -9
- package/src/lib/utils/functions/isSameWalletName/index.d.ts +0 -1
- package/src/lib/utils/functions/isSameWalletName/isSameWalletName.cjs +0 -9
- package/src/lib/utils/functions/isSameWalletName/isSameWalletName.d.ts +0 -1
- package/src/lib/utils/functions/isSameWalletName/isSameWalletName.js +0 -5
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/utils/index.d.ts +0 -1
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +0 -1
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +0 -16
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +0 -2
- package/src/lib/utils/hooks/useProcessNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +0 -12
- package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.d.ts +0 -2
- package/src/lib/views/CollectUserDataViewLoginWithEmail/index.d.ts +0 -1
|
@@ -49,6 +49,7 @@ var useValidateSession = require('../../utils/hooks/useValidateSession/useValida
|
|
|
49
49
|
var useWalletConnectorOptions = require('../../utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs');
|
|
50
50
|
var useWalletConnectors = require('../../utils/hooks/useWalletConnectors/useWalletConnectors.cjs');
|
|
51
51
|
var useWalletUiUtils = require('../../utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs');
|
|
52
|
+
var useSetWalletConnectorFetchers = require('../../utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs');
|
|
52
53
|
require('../../components/Alert/Alert.cjs');
|
|
53
54
|
require('../../components/ShadowDOM/ShadowDOM.cjs');
|
|
54
55
|
require('../../components/IconButton/IconButton.cjs');
|
|
@@ -72,13 +73,13 @@ require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/Secondar
|
|
|
72
73
|
require('i18next');
|
|
73
74
|
require('@hcaptcha/react-hcaptcha');
|
|
74
75
|
var LoadingContext = require('../LoadingContext/LoadingContext.cjs');
|
|
76
|
+
var ApiEndpoint = require('../../config/ApiEndpoint.cjs');
|
|
75
77
|
require('../FooterAnimationContext/index.cjs');
|
|
76
78
|
require('../../views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.cjs');
|
|
77
79
|
var WalletGroupContext = require('../WalletGroupContext/WalletGroupContext.cjs');
|
|
78
80
|
var PasskeyContext = require('../PasskeyContext/PasskeyContext.cjs');
|
|
79
81
|
var SyncEmbeddedWalletAuthFlow = require('../../components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.cjs');
|
|
80
82
|
var Toolkit = require('../../components/Toolkit/Toolkit.cjs');
|
|
81
|
-
var ApiEndpoint = require('../../config/ApiEndpoint.cjs');
|
|
82
83
|
var locale = require('../../locale/locale.cjs');
|
|
83
84
|
var getMissingChains = require('../../utils/functions/getMissingChains/getMissingChains.cjs');
|
|
84
85
|
var parseTheme = require('../../utils/functions/parseTheme/parseTheme.cjs');
|
|
@@ -128,10 +129,11 @@ const DynamicContext = React.createContext(undefined);
|
|
|
128
129
|
/** The context provider itself we only use internally */
|
|
129
130
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale$1, }) => {
|
|
130
131
|
var _a, _b, _c, _d, _e;
|
|
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,
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
:
|
|
132
|
+
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, 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, recommendedWallets, hideEmbeddedWalletUIs, } = settings;
|
|
133
|
+
const networkValidationMode = helpers.resolveNetworkValidationMode({
|
|
134
|
+
bridgeChains: settings.bridgeChains,
|
|
135
|
+
networkValidationMode: settings.networkValidationMode,
|
|
136
|
+
});
|
|
135
137
|
let { appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', } = settings;
|
|
136
138
|
if (!environmentId) {
|
|
137
139
|
throw new utils.MissingEnvironmentIdError();
|
|
@@ -141,7 +143,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
141
143
|
if (environmentId === PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID) {
|
|
142
144
|
logger.logger.warn(`WARNING: DYNAMIC is using a test environment ID ${environmentId}. Please sign up on https://app.dynamic.xyz/ to get your production environment ID.`);
|
|
143
145
|
}
|
|
144
|
-
ApiEndpoint.setBaseUrl((
|
|
146
|
+
ApiEndpoint.setBaseUrl((_a = process.env.DYNAMIC_API_BASE_URL) !== null && _a !== void 0 ? _a : apiBaseUrl);
|
|
145
147
|
localStorage.LocalStorage.setSuffix(localStorageSuffix);
|
|
146
148
|
const i18nSDKInstance = locale.Locale.setup(locale$1);
|
|
147
149
|
const isAuthenticated = Boolean(getAuthToken.getAuthToken());
|
|
@@ -168,8 +170,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
168
170
|
});
|
|
169
171
|
const { multiWallet, setMultiWallet } = useMultiWallet.useMultiWallet({
|
|
170
172
|
isBridgeFlow,
|
|
171
|
-
multiWalletSettings: (
|
|
172
|
-
toolkitEnabled: toolkitEnabled || false,
|
|
173
|
+
multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
173
174
|
});
|
|
174
175
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
175
176
|
const [showWidgetStatePopup, setShowWidgetStatePopup] = React.useState(!multiWallet);
|
|
@@ -178,10 +179,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
178
179
|
// Set to true when a customer starts any auth verification process and set to false when it ends
|
|
179
180
|
const [isVerificationInProgress, setIsVerificationInProgress] = useVerificationInProgress.useVerificationInProgress();
|
|
180
181
|
const walletBook$1 = walletBook.useWalletBookCdn();
|
|
181
|
-
const {
|
|
182
|
+
const { networkConfigurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useProcessNetworkConfigurations.useProcessNetworkConfigurations({
|
|
182
183
|
authToken: getAuthToken.getAuthToken(),
|
|
183
184
|
environmentId,
|
|
184
|
-
evmNetworks,
|
|
185
|
+
evmNetworksOverrides: (_c = settings.overrides) === null || _c === void 0 ? void 0 : _c.evmNetworks,
|
|
185
186
|
projectSettings,
|
|
186
187
|
});
|
|
187
188
|
const { imageUserInAccessList, imageUserNotInAccessList, displayName, appLogo, } = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) || {};
|
|
@@ -259,6 +260,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
259
260
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
260
261
|
const authToken = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
261
262
|
useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
263
|
+
useSetWalletConnectorFetchers.useSetWalletConnectorFetchers(authToken, walletConnectorOptions, environmentId);
|
|
262
264
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors.useWalletConnectors({
|
|
263
265
|
authMode,
|
|
264
266
|
authToken: getAuthToken.getAuthToken() || onboardingOnlyJwt,
|
|
@@ -275,7 +277,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
275
277
|
walletConnectorOptions,
|
|
276
278
|
});
|
|
277
279
|
const walletConnectors = linkedOrConnectedWallets.map((wallet) => wallet.connector);
|
|
278
|
-
const
|
|
280
|
+
const sdkHasLoaded = useGlobalLoading.useGlobalLoading({
|
|
279
281
|
authMode,
|
|
280
282
|
connectedInfo: connectedWalletsInfo[0],
|
|
281
283
|
connectedWallets,
|
|
@@ -318,7 +320,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
318
320
|
setLegacyIsVerifying,
|
|
319
321
|
setMultiWalletWidgetState,
|
|
320
322
|
setOnboardingOnlyJwt,
|
|
321
|
-
setSdkHasLoaded,
|
|
322
323
|
setShowAuthFlow,
|
|
323
324
|
setShowBridgeWidget,
|
|
324
325
|
setShowDynamicUserProfile,
|
|
@@ -451,7 +452,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
451
452
|
disconnectWallet,
|
|
452
453
|
displaySiweStatement,
|
|
453
454
|
enableConnectOnlyFallback,
|
|
454
|
-
enableForcedNetworkValidation,
|
|
455
455
|
environmentId,
|
|
456
456
|
eventsCallbacks,
|
|
457
457
|
getConnectedWalletById,
|
|
@@ -477,6 +477,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
477
477
|
multiWalletWidgetState,
|
|
478
478
|
network,
|
|
479
479
|
networkConfigurations: serverNetworkConfigurations,
|
|
480
|
+
networkValidationMode,
|
|
480
481
|
newToWeb3WalletChainMap: walletsForChainsMap,
|
|
481
482
|
notInTheListImageUrl: imageUserNotInAccessList || notInTheListImageUrl,
|
|
482
483
|
onboardingImageUrl: imageUserInAccessList || onboardingImageUrl,
|
|
@@ -515,7 +516,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
515
516
|
setPrimaryWallet,
|
|
516
517
|
setPrimaryWalletId,
|
|
517
518
|
setQrcodeUri,
|
|
518
|
-
setSdkHasLoaded,
|
|
519
519
|
setSelectedWalletConnectorKey,
|
|
520
520
|
setSelectedWalletWithAction,
|
|
521
521
|
setShowAuthFlow,
|
|
@@ -552,7 +552,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
552
552
|
accessDeniedMessagePrimary,
|
|
553
553
|
accessDeniedMessageSecondary,
|
|
554
554
|
accountSwitchState,
|
|
555
|
-
enableForcedNetworkValidation,
|
|
556
555
|
appLogoUrl,
|
|
557
556
|
appName,
|
|
558
557
|
authMode,
|
|
@@ -589,6 +588,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
589
588
|
isVerificationInProgress,
|
|
590
589
|
legacyIsVerifying,
|
|
591
590
|
user,
|
|
591
|
+
networkValidationMode,
|
|
592
592
|
linkedOrConnectedWallets,
|
|
593
593
|
loadingNetwork,
|
|
594
594
|
loginWithEmail,
|
|
@@ -626,7 +626,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
626
626
|
setNetwork,
|
|
627
627
|
setPrimaryWallet,
|
|
628
628
|
setPrimaryWalletId,
|
|
629
|
-
setSdkHasLoaded,
|
|
630
629
|
setSelectedWalletConnectorKey,
|
|
631
630
|
setShowAuthFlow,
|
|
632
631
|
setShowLinkNewWalletModal,
|
|
@@ -697,7 +696,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
697
696
|
isBridgeFlow,
|
|
698
697
|
isFullyConnected,
|
|
699
698
|
isMultiWalletEnabled: multiWallet,
|
|
700
|
-
}), children: [
|
|
699
|
+
}), 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(VerificationContext.VerificationProvider, { 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.jsxs(PhantomRedirectContext.PhantomRedirectContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(SyncEmbeddedWalletAuthFlow.SyncEmbeddedWalletAuthFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
701
700
|
};
|
|
702
701
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
703
702
|
const DynamicContextProvider = (props) => (jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(UserWalletsContext.UserWalletsProvider, { children: jsxRuntime.jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }));
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
2
|
import { LogLevel } from '@dynamic-labs/logger';
|
|
3
|
-
import {
|
|
3
|
+
import { SocialProviderFilter } from '@dynamic-labs/types';
|
|
4
4
|
import { DeepLinkVariant, WalletConnectorExtension, WalletConnectorsMethod } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import { LocaleResource } from '../../locale';
|
|
6
6
|
import { AccessDeniedCustomButton, AuthModeType, ChainToWalletMap, DynamicEventsCallbacks, RecommendedWallet, WalletOption } from '../../shared';
|
|
7
7
|
import { SocialNetworkIconType } from '../../utils/functions/getSocialNetworkIcon';
|
|
8
8
|
import { ThemeData, ThemeSetting } from '../ThemeContext';
|
|
9
|
-
import { ChainsToConnect, IDynamicContext, SettingsOverrides } from './types';
|
|
9
|
+
import { ChainsToConnect, IDynamicContext, NetworkValidationMode, SettingsOverrides } from './types';
|
|
10
10
|
export declare const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = "2762a57b-faa4-41ce-9f16-abff9300e2c9";
|
|
11
11
|
export interface DynamicContextProps {
|
|
12
12
|
children: ReactNode;
|
|
13
13
|
settings: {
|
|
14
14
|
enableConnectOnlyFallback?: boolean;
|
|
15
|
-
|
|
15
|
+
networkValidationMode?: NetworkValidationMode;
|
|
16
16
|
overrides?: SettingsOverrides;
|
|
17
17
|
bridgeChains?: ChainsToConnect[];
|
|
18
18
|
accessDeniedMessagePrimary?: string;
|
|
@@ -38,7 +38,6 @@ export interface DynamicContextProps {
|
|
|
38
38
|
environmentId: string;
|
|
39
39
|
localStorageSuffix?: string;
|
|
40
40
|
eventsCallbacks?: DynamicEventsCallbacks;
|
|
41
|
-
evmNetworks?: EvmNetwork[];
|
|
42
41
|
/**
|
|
43
42
|
* @deprecated Set flow network in dashboard instead
|
|
44
43
|
*/
|
|
@@ -45,6 +45,7 @@ import { useValidateSession } from '../../utils/hooks/useValidateSession/useVali
|
|
|
45
45
|
import { useWalletConnectorOptions } from '../../utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js';
|
|
46
46
|
import { useWalletConnectors } from '../../utils/hooks/useWalletConnectors/useWalletConnectors.js';
|
|
47
47
|
import { useWalletUiUtils } from '../../utils/hooks/useWalletUiUtils/useWalletUiUtils.js';
|
|
48
|
+
import { useSetWalletConnectorFetchers } from '../../utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js';
|
|
48
49
|
import '../../components/Alert/Alert.js';
|
|
49
50
|
import '../../components/ShadowDOM/ShadowDOM.js';
|
|
50
51
|
import '../../components/IconButton/IconButton.js';
|
|
@@ -68,13 +69,13 @@ import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/Secondary
|
|
|
68
69
|
import 'i18next';
|
|
69
70
|
import '@hcaptcha/react-hcaptcha';
|
|
70
71
|
import { LoadingContextProvider } from '../LoadingContext/LoadingContext.js';
|
|
72
|
+
import ApiEndpoint from '../../config/ApiEndpoint.js';
|
|
71
73
|
import '../FooterAnimationContext/index.js';
|
|
72
74
|
import '../../views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.js';
|
|
73
75
|
import { WalletGroupContextProvider } from '../WalletGroupContext/WalletGroupContext.js';
|
|
74
76
|
import { PasskeyContextProvider } from '../PasskeyContext/PasskeyContext.js';
|
|
75
77
|
import { SyncEmbeddedWalletAuthFlow } from '../../components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.js';
|
|
76
78
|
import { Toolkit } from '../../components/Toolkit/Toolkit.js';
|
|
77
|
-
import ApiEndpoint from '../../config/ApiEndpoint.js';
|
|
78
79
|
import { Locale } from '../../locale/locale.js';
|
|
79
80
|
import { getMissingChains } from '../../utils/functions/getMissingChains/getMissingChains.js';
|
|
80
81
|
import { parseTheme } from '../../utils/functions/parseTheme/parseTheme.js';
|
|
@@ -104,7 +105,7 @@ import { SendBalanceContextProvider } from '../SendBalanceContext/SendBalanceCon
|
|
|
104
105
|
import { UseNetworkValidation } from '../UseNetworkValidation/UseNetworkValidation.js';
|
|
105
106
|
import { UserWalletsProvider } from '../UserWalletsContext/UserWalletsContext.js';
|
|
106
107
|
import { handleDisconnectWallet } from './handleDisconnectWallet/handleDisconnectWallet.js';
|
|
107
|
-
import { initExpirationTime, getInitialView } from './helpers/helpers.js';
|
|
108
|
+
import { resolveNetworkValidationMode, initExpirationTime, getInitialView } from './helpers/helpers.js';
|
|
108
109
|
import { useDisplayOrderState } from './hooks/useDisplayOrderState/useDisplayOrderState.js';
|
|
109
110
|
import { useEmailLoginState } from './hooks/useEmailLoginState/useEmailLoginState.js';
|
|
110
111
|
import { useHandleLogout } from './hooks/useHandleLogout/useHandleLogout.js';
|
|
@@ -124,10 +125,11 @@ const DynamicContext = createContext(undefined);
|
|
|
124
125
|
/** The context provider itself we only use internally */
|
|
125
126
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) => {
|
|
126
127
|
var _a, _b, _c, _d, _e;
|
|
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,
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
:
|
|
128
|
+
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, 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, recommendedWallets, hideEmbeddedWalletUIs, } = settings;
|
|
129
|
+
const networkValidationMode = resolveNetworkValidationMode({
|
|
130
|
+
bridgeChains: settings.bridgeChains,
|
|
131
|
+
networkValidationMode: settings.networkValidationMode,
|
|
132
|
+
});
|
|
131
133
|
let { appLogoUrl = 'https://demo.dynamic.xyz/assets/dynamic-logo.svg', appName = 'Dynamic Example', } = settings;
|
|
132
134
|
if (!environmentId) {
|
|
133
135
|
throw new MissingEnvironmentIdError();
|
|
@@ -137,7 +139,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
137
139
|
if (environmentId === PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID) {
|
|
138
140
|
logger.warn(`WARNING: DYNAMIC is using a test environment ID ${environmentId}. Please sign up on https://app.dynamic.xyz/ to get your production environment ID.`);
|
|
139
141
|
}
|
|
140
|
-
ApiEndpoint.setBaseUrl((
|
|
142
|
+
ApiEndpoint.setBaseUrl((_a = process.env.DYNAMIC_API_BASE_URL) !== null && _a !== void 0 ? _a : apiBaseUrl);
|
|
141
143
|
LocalStorage.setSuffix(localStorageSuffix);
|
|
142
144
|
const i18nSDKInstance = Locale.setup(locale);
|
|
143
145
|
const isAuthenticated = Boolean(getAuthToken());
|
|
@@ -164,8 +166,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
164
166
|
});
|
|
165
167
|
const { multiWallet, setMultiWallet } = useMultiWallet({
|
|
166
168
|
isBridgeFlow,
|
|
167
|
-
multiWalletSettings: (
|
|
168
|
-
toolkitEnabled: toolkitEnabled || false,
|
|
169
|
+
multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
169
170
|
});
|
|
170
171
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
171
172
|
const [showWidgetStatePopup, setShowWidgetStatePopup] = useState(!multiWallet);
|
|
@@ -174,10 +175,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
174
175
|
// Set to true when a customer starts any auth verification process and set to false when it ends
|
|
175
176
|
const [isVerificationInProgress, setIsVerificationInProgress] = useVerificationInProgress();
|
|
176
177
|
const walletBook = useWalletBookCdn();
|
|
177
|
-
const {
|
|
178
|
+
const { networkConfigurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useProcessNetworkConfigurations({
|
|
178
179
|
authToken: getAuthToken(),
|
|
179
180
|
environmentId,
|
|
180
|
-
evmNetworks,
|
|
181
|
+
evmNetworksOverrides: (_c = settings.overrides) === null || _c === void 0 ? void 0 : _c.evmNetworks,
|
|
181
182
|
projectSettings,
|
|
182
183
|
});
|
|
183
184
|
const { imageUserInAccessList, imageUserNotInAccessList, displayName, appLogo, } = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) || {};
|
|
@@ -255,6 +256,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
255
256
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
256
257
|
const authToken = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
257
258
|
useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
259
|
+
useSetWalletConnectorFetchers(authToken, walletConnectorOptions, environmentId);
|
|
258
260
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors({
|
|
259
261
|
authMode,
|
|
260
262
|
authToken: getAuthToken() || onboardingOnlyJwt,
|
|
@@ -271,7 +273,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
271
273
|
walletConnectorOptions,
|
|
272
274
|
});
|
|
273
275
|
const walletConnectors = linkedOrConnectedWallets.map((wallet) => wallet.connector);
|
|
274
|
-
const
|
|
276
|
+
const sdkHasLoaded = useGlobalLoading({
|
|
275
277
|
authMode,
|
|
276
278
|
connectedInfo: connectedWalletsInfo[0],
|
|
277
279
|
connectedWallets,
|
|
@@ -314,7 +316,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
314
316
|
setLegacyIsVerifying,
|
|
315
317
|
setMultiWalletWidgetState,
|
|
316
318
|
setOnboardingOnlyJwt,
|
|
317
|
-
setSdkHasLoaded,
|
|
318
319
|
setShowAuthFlow,
|
|
319
320
|
setShowBridgeWidget,
|
|
320
321
|
setShowDynamicUserProfile,
|
|
@@ -447,7 +448,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
447
448
|
disconnectWallet,
|
|
448
449
|
displaySiweStatement,
|
|
449
450
|
enableConnectOnlyFallback,
|
|
450
|
-
enableForcedNetworkValidation,
|
|
451
451
|
environmentId,
|
|
452
452
|
eventsCallbacks,
|
|
453
453
|
getConnectedWalletById,
|
|
@@ -473,6 +473,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
473
473
|
multiWalletWidgetState,
|
|
474
474
|
network,
|
|
475
475
|
networkConfigurations: serverNetworkConfigurations,
|
|
476
|
+
networkValidationMode,
|
|
476
477
|
newToWeb3WalletChainMap: walletsForChainsMap,
|
|
477
478
|
notInTheListImageUrl: imageUserNotInAccessList || notInTheListImageUrl,
|
|
478
479
|
onboardingImageUrl: imageUserInAccessList || onboardingImageUrl,
|
|
@@ -511,7 +512,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
511
512
|
setPrimaryWallet,
|
|
512
513
|
setPrimaryWalletId,
|
|
513
514
|
setQrcodeUri,
|
|
514
|
-
setSdkHasLoaded,
|
|
515
515
|
setSelectedWalletConnectorKey,
|
|
516
516
|
setSelectedWalletWithAction,
|
|
517
517
|
setShowAuthFlow,
|
|
@@ -548,7 +548,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
548
548
|
accessDeniedMessagePrimary,
|
|
549
549
|
accessDeniedMessageSecondary,
|
|
550
550
|
accountSwitchState,
|
|
551
|
-
enableForcedNetworkValidation,
|
|
552
551
|
appLogoUrl,
|
|
553
552
|
appName,
|
|
554
553
|
authMode,
|
|
@@ -585,6 +584,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
585
584
|
isVerificationInProgress,
|
|
586
585
|
legacyIsVerifying,
|
|
587
586
|
user,
|
|
587
|
+
networkValidationMode,
|
|
588
588
|
linkedOrConnectedWallets,
|
|
589
589
|
loadingNetwork,
|
|
590
590
|
loginWithEmail,
|
|
@@ -622,7 +622,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
622
622
|
setNetwork,
|
|
623
623
|
setPrimaryWallet,
|
|
624
624
|
setPrimaryWalletId,
|
|
625
|
-
setSdkHasLoaded,
|
|
626
625
|
setSelectedWalletConnectorKey,
|
|
627
626
|
setShowAuthFlow,
|
|
628
627
|
setShowLinkNewWalletModal,
|
|
@@ -693,7 +692,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
693
692
|
isBridgeFlow,
|
|
694
693
|
isFullyConnected,
|
|
695
694
|
isMultiWalletEnabled: multiWallet,
|
|
696
|
-
}), children: [
|
|
695
|
+
}), children: [networkValidationMode === 'always' && jsx(UseNetworkValidation, {}), jsx(CaptchaContextProvider, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(PasskeyContextProvider, { children: jsx(VerificationProvider, { 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: jsxs(PhantomRedirectContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(SyncEmbeddedWalletAuthFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
697
696
|
};
|
|
698
697
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
699
698
|
const DynamicContextProvider = (props) => (jsx(ErrorContextProvider, { children: jsx(UserWalletsProvider, { children: jsx(InnerDynamicContextProvider, Object.assign({}, props)) }) }));
|
|
@@ -103,12 +103,22 @@ const isSettingExpired = (lsKey, timer) => {
|
|
|
103
103
|
}
|
|
104
104
|
return false;
|
|
105
105
|
};
|
|
106
|
+
const resolveNetworkValidationMode = ({ networkValidationMode, bridgeChains, }) => {
|
|
107
|
+
if (networkValidationMode) {
|
|
108
|
+
return networkValidationMode;
|
|
109
|
+
}
|
|
110
|
+
if (bridgeChains) {
|
|
111
|
+
return 'always';
|
|
112
|
+
}
|
|
113
|
+
return 'sign-in';
|
|
114
|
+
};
|
|
106
115
|
|
|
107
116
|
exports.getInitialView = getInitialView;
|
|
108
117
|
exports.initExpirationTime = initExpirationTime;
|
|
109
118
|
exports.isAuthTokenExpired = isAuthTokenExpired;
|
|
110
119
|
exports.isDynamicContextSessionSettingExpired = isDynamicContextSessionSettingExpired;
|
|
111
120
|
exports.isWagmiSessionSettingExpired = isWagmiSessionSettingExpired;
|
|
121
|
+
exports.resolveNetworkValidationMode = resolveNetworkValidationMode;
|
|
112
122
|
exports.sdkSettingsTimeout = sdkSettingsTimeout;
|
|
113
123
|
exports.setDynamicContextSessionSettings = setDynamicContextSessionSettings;
|
|
114
124
|
exports.setWagmiSessionSettings = setWagmiSessionSettings;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Wallet } from '../../../shared';
|
|
2
2
|
import { ViewState, ViewType } from '../../ViewContext';
|
|
3
|
+
import { ChainsToConnect, NetworkValidationMode } from '../types';
|
|
3
4
|
export declare const sdkSettingsTimeout: number;
|
|
4
5
|
export declare const isAuthTokenExpired: (token: string) => boolean;
|
|
5
6
|
export declare const initExpirationTime: (logout: VoidFunction) => void;
|
|
@@ -14,3 +15,7 @@ export declare const setDynamicContextSessionSettings: () => void;
|
|
|
14
15
|
export declare const setWagmiSessionSettings: () => void;
|
|
15
16
|
export declare const isDynamicContextSessionSettingExpired: () => boolean;
|
|
16
17
|
export declare const isWagmiSessionSettingExpired: () => boolean;
|
|
18
|
+
export declare const resolveNetworkValidationMode: ({ networkValidationMode, bridgeChains, }: {
|
|
19
|
+
networkValidationMode: NetworkValidationMode | undefined;
|
|
20
|
+
bridgeChains: ChainsToConnect[] | undefined;
|
|
21
|
+
}) => NetworkValidationMode;
|
|
@@ -99,5 +99,14 @@ const isSettingExpired = (lsKey, timer) => {
|
|
|
99
99
|
}
|
|
100
100
|
return false;
|
|
101
101
|
};
|
|
102
|
+
const resolveNetworkValidationMode = ({ networkValidationMode, bridgeChains, }) => {
|
|
103
|
+
if (networkValidationMode) {
|
|
104
|
+
return networkValidationMode;
|
|
105
|
+
}
|
|
106
|
+
if (bridgeChains) {
|
|
107
|
+
return 'always';
|
|
108
|
+
}
|
|
109
|
+
return 'sign-in';
|
|
110
|
+
};
|
|
102
111
|
|
|
103
|
-
export { getInitialView, initExpirationTime, isAuthTokenExpired, isDynamicContextSessionSettingExpired, isWagmiSessionSettingExpired, sdkSettingsTimeout, setDynamicContextSessionSettings, setWagmiSessionSettings };
|
|
112
|
+
export { getInitialView, initExpirationTime, isAuthTokenExpired, isDynamicContextSessionSettingExpired, isWagmiSessionSettingExpired, resolveNetworkValidationMode, sdkSettingsTimeout, setDynamicContextSessionSettings, setWagmiSessionSettings };
|
|
@@ -6,7 +6,6 @@ import { ChainsToConnect } from '../../types';
|
|
|
6
6
|
import { SetShowAuthFlow } from '../useShowAuthFlow';
|
|
7
7
|
export type UseHandleLogoutParams = {
|
|
8
8
|
removeUser: () => void;
|
|
9
|
-
setSdkHasLoaded: Dispatch<SetStateAction<boolean>>;
|
|
10
9
|
clearAllWalletConnectSessions: () => void;
|
|
11
10
|
setBridgeChainsToConnect: Dispatch<SetStateAction<ChainsToConnect[] | undefined>>;
|
|
12
11
|
bridgeChains: ChainsToConnect[] | undefined;
|
|
@@ -65,6 +65,7 @@ require('../../../../widgets/DynamicBridgeWidget/views/WalletsView/components/Se
|
|
|
65
65
|
require('i18next');
|
|
66
66
|
require('@hcaptcha/react-hcaptcha');
|
|
67
67
|
require('../../../LoadingContext/LoadingContext.cjs');
|
|
68
|
+
require('../../../../config/ApiEndpoint.cjs');
|
|
68
69
|
require('../../../FooterAnimationContext/index.cjs');
|
|
69
70
|
require('../../../../views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.cjs');
|
|
70
71
|
require('../../../WalletGroupContext/WalletGroupContext.cjs');
|
|
@@ -80,7 +81,6 @@ const useHandleLogout = (params) => {
|
|
|
80
81
|
paramsRef.current = params;
|
|
81
82
|
const logout = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
82
83
|
const p = paramsRef.current;
|
|
83
|
-
p.setSdkHasLoaded(false);
|
|
84
84
|
p.clearAllWalletConnectSessions();
|
|
85
85
|
p.setBridgeChainsToConnect(p.bridgeChains);
|
|
86
86
|
p.setShowDynamicUserProfile(false);
|
|
@@ -61,6 +61,7 @@ import '../../../../widgets/DynamicBridgeWidget/views/WalletsView/components/Sec
|
|
|
61
61
|
import 'i18next';
|
|
62
62
|
import '@hcaptcha/react-hcaptcha';
|
|
63
63
|
import '../../../LoadingContext/LoadingContext.js';
|
|
64
|
+
import '../../../../config/ApiEndpoint.js';
|
|
64
65
|
import '../../../FooterAnimationContext/index.js';
|
|
65
66
|
import '../../../../views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.js';
|
|
66
67
|
import '../../../WalletGroupContext/WalletGroupContext.js';
|
|
@@ -76,7 +77,6 @@ const useHandleLogout = (params) => {
|
|
|
76
77
|
paramsRef.current = params;
|
|
77
78
|
const logout = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
79
|
const p = paramsRef.current;
|
|
79
|
-
p.setSdkHasLoaded(false);
|
|
80
80
|
p.clearAllWalletConnectSessions();
|
|
81
81
|
p.setBridgeChainsToConnect(p.bridgeChains);
|
|
82
82
|
p.setShowDynamicUserProfile(false);
|
|
@@ -25,16 +25,17 @@ export type SetShowAuthFlowOptions = {
|
|
|
25
25
|
clearErrors?: boolean;
|
|
26
26
|
};
|
|
27
27
|
export type SetShowAuthFlow = (value: SetStateAction<boolean>, options?: SetShowAuthFlowOptions) => void;
|
|
28
|
+
export type UseShowAuthFlowParams = {
|
|
29
|
+
isMultiWalletEnabled: boolean;
|
|
30
|
+
isRenderingEmbeddedAuthFlow: IDynamicContext['isRenderingEmbeddedAuthFlow'];
|
|
31
|
+
walletConnectorOptions: WalletOption[];
|
|
32
|
+
isAuthenticated: boolean;
|
|
33
|
+
setShowDynamicUserProfile: IDynamicContext['setShowDynamicUserProfile'];
|
|
34
|
+
};
|
|
28
35
|
/**
|
|
29
36
|
* There are a multitude of scenarios where we want to ignore or insert functionality to calls
|
|
30
37
|
* to setShowAuthFlow. This hook wraps it with an options parameter to allow encapsulating these
|
|
31
38
|
* different scenarios and makes it especially easy to customize exactly which version of this method
|
|
32
39
|
* is being passed to useDynamicContext.
|
|
33
40
|
*/
|
|
34
|
-
export declare const useShowAuthFlow: ({ isAuthenticated, isRenderingEmbeddedAuthFlow, isMultiWalletEnabled, walletConnectorOptions, setShowDynamicUserProfile, }:
|
|
35
|
-
isMultiWalletEnabled: boolean;
|
|
36
|
-
isRenderingEmbeddedAuthFlow: IDynamicContext['isRenderingEmbeddedAuthFlow'];
|
|
37
|
-
walletConnectorOptions: WalletOption[];
|
|
38
|
-
isAuthenticated: boolean;
|
|
39
|
-
setShowDynamicUserProfile: IDynamicContext['setShowDynamicUserProfile'];
|
|
40
|
-
}) => [boolean, SetShowAuthFlow];
|
|
41
|
+
export declare const useShowAuthFlow: ({ isAuthenticated, isRenderingEmbeddedAuthFlow, isMultiWalletEnabled, walletConnectorOptions, setShowDynamicUserProfile, }: UseShowAuthFlowParams) => [boolean, SetShowAuthFlow];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Dispatch, MutableRefObject, ReactElement, ReactNode, SetStateAction } from 'react';
|
|
2
2
|
import { DynamicJwt, NameServiceData, ProjectSettings, SdkView } from '@dynamic-labs/sdk-api';
|
|
3
|
-
import { NetworkConfigurationMap, SocialProviderFilter, WalletUiUtils } from '@dynamic-labs/types';
|
|
3
|
+
import { GenericNetwork, NetworkConfigurationMap, SocialProviderFilter, WalletUiUtils } from '@dynamic-labs/types';
|
|
4
4
|
import { Chain, FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import { PasskeySuccessEnum } from '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner';
|
|
6
6
|
import { AccessDeniedCustomButton, AccountSwitchState, AuthModeType, AwaitingSignatureState, ChainToWalletMap, DynamicEventsCallbacks, DynamicRPCProviders, MultiWalletWidgetState, RecommendedWallet, UserProfile, Wallet, WalletOption, WalletWithAction } from '../../../shared';
|
|
@@ -31,13 +31,25 @@ export type WalletListViewSettings = {
|
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
33
|
export type ViewsOverrides = SdkView | WalletListViewSettings;
|
|
34
|
+
export type EvmNetworksOverrides = GenericNetwork[] | ((dashboardNetworks: GenericNetwork[]) => GenericNetwork[]);
|
|
34
35
|
export type SettingsOverrides = {
|
|
35
36
|
views?: Array<ViewsOverrides>;
|
|
37
|
+
/**
|
|
38
|
+
* Allows overriding which evm networks the SDK has access to.
|
|
39
|
+
* If an array is provided, it is used instead of whatever is obtained from dashboard configs.
|
|
40
|
+
* If a callback is passed, the callback will be called with the values obtained from dashboard, and
|
|
41
|
+
* it must return the network values that will be used.
|
|
42
|
+
*
|
|
43
|
+
* WARNING: this callback must be memoized as it will be used in a dependency array to ensure
|
|
44
|
+
* the SDK can react to this value changing (for ex, toggling a chain off).
|
|
45
|
+
*/
|
|
46
|
+
evmNetworks?: EvmNetworksOverrides;
|
|
36
47
|
};
|
|
37
48
|
export type ConnectWalletResult = {
|
|
38
49
|
address: string;
|
|
39
50
|
id: string;
|
|
40
51
|
};
|
|
52
|
+
export type NetworkValidationMode = 'always' | 'sign-in' | 'never';
|
|
41
53
|
export interface IDynamicContext {
|
|
42
54
|
accessDeniedMessagePrimary?: string;
|
|
43
55
|
accessDeniedMessageSecondary?: string;
|
|
@@ -45,9 +57,9 @@ export interface IDynamicContext {
|
|
|
45
57
|
accessDeniedButton?: AccessDeniedCustomButton;
|
|
46
58
|
accountSwitchState: AccountSwitchState;
|
|
47
59
|
appLogoUrl?: string;
|
|
60
|
+
networkValidationMode: NetworkValidationMode;
|
|
48
61
|
appName?: string;
|
|
49
62
|
isBridgeFlow: boolean;
|
|
50
|
-
enableForcedNetworkValidation: boolean;
|
|
51
63
|
authMode: AuthModeType;
|
|
52
64
|
authToken: string | undefined;
|
|
53
65
|
authorizationViewDisplayOrder: DisplayOrder;
|
|
@@ -33,7 +33,11 @@ const ErrorContextProvider = ({ children }) => {
|
|
|
33
33
|
var _a;
|
|
34
34
|
setError((_a = errorMessageMap[status]) !== null && _a !== void 0 ? _a : 'Something went wrong. Please try again.');
|
|
35
35
|
}, []);
|
|
36
|
+
const clearError = React.useCallback(() => {
|
|
37
|
+
setError(undefined);
|
|
38
|
+
}, []);
|
|
36
39
|
return (jsxRuntime.jsx(ErrorContext.Provider, { value: {
|
|
40
|
+
clearError,
|
|
37
41
|
error,
|
|
38
42
|
setError,
|
|
39
43
|
setErrorMessage,
|
|
@@ -3,6 +3,7 @@ interface ErrorContextProps {
|
|
|
3
3
|
error: string | undefined;
|
|
4
4
|
setError(error: string | undefined): void;
|
|
5
5
|
setErrorMessage: (status: string) => void;
|
|
6
|
+
clearError(): void;
|
|
6
7
|
}
|
|
7
8
|
export declare const ErrorContext: import("react").Context<ErrorContextProps | undefined>;
|
|
8
9
|
export declare const ErrorContextProvider: ({ children }: {
|
|
@@ -29,7 +29,11 @@ const ErrorContextProvider = ({ children }) => {
|
|
|
29
29
|
var _a;
|
|
30
30
|
setError((_a = errorMessageMap[status]) !== null && _a !== void 0 ? _a : 'Something went wrong. Please try again.');
|
|
31
31
|
}, []);
|
|
32
|
+
const clearError = useCallback(() => {
|
|
33
|
+
setError(undefined);
|
|
34
|
+
}, []);
|
|
32
35
|
return (jsx(ErrorContext.Provider, { value: {
|
|
36
|
+
clearError,
|
|
33
37
|
error,
|
|
34
38
|
setError,
|
|
35
39
|
setErrorMessage,
|
|
@@ -64,6 +64,7 @@ require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/Secondar
|
|
|
64
64
|
require('i18next');
|
|
65
65
|
require('@hcaptcha/react-hcaptcha');
|
|
66
66
|
require('../LoadingContext/LoadingContext.cjs');
|
|
67
|
+
require('../../config/ApiEndpoint.cjs');
|
|
67
68
|
require('../FooterAnimationContext/index.cjs');
|
|
68
69
|
require('../../views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.cjs');
|
|
69
70
|
require('../WalletGroupContext/WalletGroupContext.cjs');
|
|
@@ -95,11 +96,12 @@ const FundingContextProvider = ({ children, }) => {
|
|
|
95
96
|
return;
|
|
96
97
|
const bitcoinAddress = walletConnectorCore.isBitcoinConnector(primaryWallet.connector) &&
|
|
97
98
|
getWalletAdditionalAddressByType.getWalletAdditionalAddressByType(sdkApi.WalletAddressType.Payment, primaryWallet);
|
|
99
|
+
const chainHasNetwork = network && chainName === 'evm';
|
|
98
100
|
try {
|
|
99
101
|
const [{ url }] = yield api.getOnrampProviders({
|
|
100
102
|
chain: chainName,
|
|
101
103
|
environmentId,
|
|
102
|
-
networkId:
|
|
104
|
+
networkId: chainHasNetwork ? network.toString() : undefined,
|
|
103
105
|
token,
|
|
104
106
|
walletAddress: address || bitcoinAddress || primaryWallet.address,
|
|
105
107
|
});
|
|
@@ -60,6 +60,7 @@ import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/Secondary
|
|
|
60
60
|
import 'i18next';
|
|
61
61
|
import '@hcaptcha/react-hcaptcha';
|
|
62
62
|
import '../LoadingContext/LoadingContext.js';
|
|
63
|
+
import '../../config/ApiEndpoint.js';
|
|
63
64
|
import '../FooterAnimationContext/index.js';
|
|
64
65
|
import '../../views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.js';
|
|
65
66
|
import '../WalletGroupContext/WalletGroupContext.js';
|
|
@@ -91,11 +92,12 @@ const FundingContextProvider = ({ children, }) => {
|
|
|
91
92
|
return;
|
|
92
93
|
const bitcoinAddress = isBitcoinConnector(primaryWallet.connector) &&
|
|
93
94
|
getWalletAdditionalAddressByType(WalletAddressType.Payment, primaryWallet);
|
|
95
|
+
const chainHasNetwork = network && chainName === 'evm';
|
|
94
96
|
try {
|
|
95
97
|
const [{ url }] = yield getOnrampProviders({
|
|
96
98
|
chain: chainName,
|
|
97
99
|
environmentId,
|
|
98
|
-
networkId:
|
|
100
|
+
networkId: chainHasNetwork ? network.toString() : undefined,
|
|
99
101
|
token,
|
|
100
102
|
walletAddress: address || bitcoinAddress || primaryWallet.address,
|
|
101
103
|
});
|
|
@@ -69,6 +69,7 @@ require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/Secondar
|
|
|
69
69
|
require('i18next');
|
|
70
70
|
require('@hcaptcha/react-hcaptcha');
|
|
71
71
|
require('../LoadingContext/LoadingContext.cjs');
|
|
72
|
+
require('../../config/ApiEndpoint.cjs');
|
|
72
73
|
require('../FooterAnimationContext/index.cjs');
|
|
73
74
|
require('../../views/LoginView/sections/PhoneNumberSignInSection/usePhoneInputLogic/usePhoneInputLogic.cjs');
|
|
74
75
|
require('../WalletGroupContext/WalletGroupContext.cjs');
|