@dynamic-labs/sdk-react-core 2.0.0-alpha.6 → 2.0.0-alpha.7
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 +19 -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 -16
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +3 -4
- package/src/lib/context/DynamicContext/DynamicContext.js +17 -17
- 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/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,7 +170,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
168
170
|
});
|
|
169
171
|
const { multiWallet, setMultiWallet } = useMultiWallet.useMultiWallet({
|
|
170
172
|
isBridgeFlow,
|
|
171
|
-
multiWalletSettings: (
|
|
173
|
+
multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
172
174
|
toolkitEnabled: toolkitEnabled || false,
|
|
173
175
|
});
|
|
174
176
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
@@ -178,10 +180,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
178
180
|
// Set to true when a customer starts any auth verification process and set to false when it ends
|
|
179
181
|
const [isVerificationInProgress, setIsVerificationInProgress] = useVerificationInProgress.useVerificationInProgress();
|
|
180
182
|
const walletBook$1 = walletBook.useWalletBookCdn();
|
|
181
|
-
const {
|
|
183
|
+
const { networkConfigurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useProcessNetworkConfigurations.useProcessNetworkConfigurations({
|
|
182
184
|
authToken: getAuthToken.getAuthToken(),
|
|
183
185
|
environmentId,
|
|
184
|
-
evmNetworks,
|
|
186
|
+
evmNetworksOverrides: (_c = settings.overrides) === null || _c === void 0 ? void 0 : _c.evmNetworks,
|
|
185
187
|
projectSettings,
|
|
186
188
|
});
|
|
187
189
|
const { imageUserInAccessList, imageUserNotInAccessList, displayName, appLogo, } = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) || {};
|
|
@@ -259,6 +261,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
259
261
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
260
262
|
const authToken = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
261
263
|
useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
264
|
+
useSetWalletConnectorFetchers.useSetWalletConnectorFetchers(authToken, walletConnectorOptions, environmentId);
|
|
262
265
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors.useWalletConnectors({
|
|
263
266
|
authMode,
|
|
264
267
|
authToken: getAuthToken.getAuthToken() || onboardingOnlyJwt,
|
|
@@ -275,7 +278,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
275
278
|
walletConnectorOptions,
|
|
276
279
|
});
|
|
277
280
|
const walletConnectors = linkedOrConnectedWallets.map((wallet) => wallet.connector);
|
|
278
|
-
const
|
|
281
|
+
const sdkHasLoaded = useGlobalLoading.useGlobalLoading({
|
|
279
282
|
authMode,
|
|
280
283
|
connectedInfo: connectedWalletsInfo[0],
|
|
281
284
|
connectedWallets,
|
|
@@ -318,7 +321,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
318
321
|
setLegacyIsVerifying,
|
|
319
322
|
setMultiWalletWidgetState,
|
|
320
323
|
setOnboardingOnlyJwt,
|
|
321
|
-
setSdkHasLoaded,
|
|
322
324
|
setShowAuthFlow,
|
|
323
325
|
setShowBridgeWidget,
|
|
324
326
|
setShowDynamicUserProfile,
|
|
@@ -451,7 +453,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
451
453
|
disconnectWallet,
|
|
452
454
|
displaySiweStatement,
|
|
453
455
|
enableConnectOnlyFallback,
|
|
454
|
-
enableForcedNetworkValidation,
|
|
455
456
|
environmentId,
|
|
456
457
|
eventsCallbacks,
|
|
457
458
|
getConnectedWalletById,
|
|
@@ -477,6 +478,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
477
478
|
multiWalletWidgetState,
|
|
478
479
|
network,
|
|
479
480
|
networkConfigurations: serverNetworkConfigurations,
|
|
481
|
+
networkValidationMode,
|
|
480
482
|
newToWeb3WalletChainMap: walletsForChainsMap,
|
|
481
483
|
notInTheListImageUrl: imageUserNotInAccessList || notInTheListImageUrl,
|
|
482
484
|
onboardingImageUrl: imageUserInAccessList || onboardingImageUrl,
|
|
@@ -515,7 +517,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
515
517
|
setPrimaryWallet,
|
|
516
518
|
setPrimaryWalletId,
|
|
517
519
|
setQrcodeUri,
|
|
518
|
-
setSdkHasLoaded,
|
|
519
520
|
setSelectedWalletConnectorKey,
|
|
520
521
|
setSelectedWalletWithAction,
|
|
521
522
|
setShowAuthFlow,
|
|
@@ -552,7 +553,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
552
553
|
accessDeniedMessagePrimary,
|
|
553
554
|
accessDeniedMessageSecondary,
|
|
554
555
|
accountSwitchState,
|
|
555
|
-
enableForcedNetworkValidation,
|
|
556
556
|
appLogoUrl,
|
|
557
557
|
appName,
|
|
558
558
|
authMode,
|
|
@@ -589,6 +589,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
589
589
|
isVerificationInProgress,
|
|
590
590
|
legacyIsVerifying,
|
|
591
591
|
user,
|
|
592
|
+
networkValidationMode,
|
|
592
593
|
linkedOrConnectedWallets,
|
|
593
594
|
loadingNetwork,
|
|
594
595
|
loginWithEmail,
|
|
@@ -626,7 +627,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
626
627
|
setNetwork,
|
|
627
628
|
setPrimaryWallet,
|
|
628
629
|
setPrimaryWalletId,
|
|
629
|
-
setSdkHasLoaded,
|
|
630
630
|
setSelectedWalletConnectorKey,
|
|
631
631
|
setShowAuthFlow,
|
|
632
632
|
setShowLinkNewWalletModal,
|
|
@@ -697,7 +697,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
697
697
|
isBridgeFlow,
|
|
698
698
|
isFullyConnected,
|
|
699
699
|
isMultiWalletEnabled: multiWallet,
|
|
700
|
-
}), children: [
|
|
700
|
+
}), 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
701
|
};
|
|
702
702
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
703
703
|
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,7 +166,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
164
166
|
});
|
|
165
167
|
const { multiWallet, setMultiWallet } = useMultiWallet({
|
|
166
168
|
isBridgeFlow,
|
|
167
|
-
multiWalletSettings: (
|
|
169
|
+
multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
168
170
|
toolkitEnabled: toolkitEnabled || false,
|
|
169
171
|
});
|
|
170
172
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
@@ -174,10 +176,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
174
176
|
// Set to true when a customer starts any auth verification process and set to false when it ends
|
|
175
177
|
const [isVerificationInProgress, setIsVerificationInProgress] = useVerificationInProgress();
|
|
176
178
|
const walletBook = useWalletBookCdn();
|
|
177
|
-
const {
|
|
179
|
+
const { networkConfigurations: serverNetworkConfigurations, handleRemoveLsNetworks, } = useProcessNetworkConfigurations({
|
|
178
180
|
authToken: getAuthToken(),
|
|
179
181
|
environmentId,
|
|
180
|
-
evmNetworks,
|
|
182
|
+
evmNetworksOverrides: (_c = settings.overrides) === null || _c === void 0 ? void 0 : _c.evmNetworks,
|
|
181
183
|
projectSettings,
|
|
182
184
|
});
|
|
183
185
|
const { imageUserInAccessList, imageUserNotInAccessList, displayName, appLogo, } = (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general) || {};
|
|
@@ -255,6 +257,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
255
257
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
256
258
|
const authToken = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
257
259
|
useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
260
|
+
useSetWalletConnectorFetchers(authToken, walletConnectorOptions, environmentId);
|
|
258
261
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors({
|
|
259
262
|
authMode,
|
|
260
263
|
authToken: getAuthToken() || onboardingOnlyJwt,
|
|
@@ -271,7 +274,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
271
274
|
walletConnectorOptions,
|
|
272
275
|
});
|
|
273
276
|
const walletConnectors = linkedOrConnectedWallets.map((wallet) => wallet.connector);
|
|
274
|
-
const
|
|
277
|
+
const sdkHasLoaded = useGlobalLoading({
|
|
275
278
|
authMode,
|
|
276
279
|
connectedInfo: connectedWalletsInfo[0],
|
|
277
280
|
connectedWallets,
|
|
@@ -314,7 +317,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
314
317
|
setLegacyIsVerifying,
|
|
315
318
|
setMultiWalletWidgetState,
|
|
316
319
|
setOnboardingOnlyJwt,
|
|
317
|
-
setSdkHasLoaded,
|
|
318
320
|
setShowAuthFlow,
|
|
319
321
|
setShowBridgeWidget,
|
|
320
322
|
setShowDynamicUserProfile,
|
|
@@ -447,7 +449,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
447
449
|
disconnectWallet,
|
|
448
450
|
displaySiweStatement,
|
|
449
451
|
enableConnectOnlyFallback,
|
|
450
|
-
enableForcedNetworkValidation,
|
|
451
452
|
environmentId,
|
|
452
453
|
eventsCallbacks,
|
|
453
454
|
getConnectedWalletById,
|
|
@@ -473,6 +474,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
473
474
|
multiWalletWidgetState,
|
|
474
475
|
network,
|
|
475
476
|
networkConfigurations: serverNetworkConfigurations,
|
|
477
|
+
networkValidationMode,
|
|
476
478
|
newToWeb3WalletChainMap: walletsForChainsMap,
|
|
477
479
|
notInTheListImageUrl: imageUserNotInAccessList || notInTheListImageUrl,
|
|
478
480
|
onboardingImageUrl: imageUserInAccessList || onboardingImageUrl,
|
|
@@ -511,7 +513,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
511
513
|
setPrimaryWallet,
|
|
512
514
|
setPrimaryWalletId,
|
|
513
515
|
setQrcodeUri,
|
|
514
|
-
setSdkHasLoaded,
|
|
515
516
|
setSelectedWalletConnectorKey,
|
|
516
517
|
setSelectedWalletWithAction,
|
|
517
518
|
setShowAuthFlow,
|
|
@@ -548,7 +549,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
548
549
|
accessDeniedMessagePrimary,
|
|
549
550
|
accessDeniedMessageSecondary,
|
|
550
551
|
accountSwitchState,
|
|
551
|
-
enableForcedNetworkValidation,
|
|
552
552
|
appLogoUrl,
|
|
553
553
|
appName,
|
|
554
554
|
authMode,
|
|
@@ -585,6 +585,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
585
585
|
isVerificationInProgress,
|
|
586
586
|
legacyIsVerifying,
|
|
587
587
|
user,
|
|
588
|
+
networkValidationMode,
|
|
588
589
|
linkedOrConnectedWallets,
|
|
589
590
|
loadingNetwork,
|
|
590
591
|
loginWithEmail,
|
|
@@ -622,7 +623,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
622
623
|
setNetwork,
|
|
623
624
|
setPrimaryWallet,
|
|
624
625
|
setPrimaryWalletId,
|
|
625
|
-
setSdkHasLoaded,
|
|
626
626
|
setSelectedWalletConnectorKey,
|
|
627
627
|
setShowAuthFlow,
|
|
628
628
|
setShowLinkNewWalletModal,
|
|
@@ -693,7 +693,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
693
693
|
isBridgeFlow,
|
|
694
694
|
isFullyConnected,
|
|
695
695
|
isMultiWalletEnabled: multiWallet,
|
|
696
|
-
}), children: [
|
|
696
|
+
}), 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
697
|
};
|
|
698
698
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
699
699
|
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');
|