@dynamic-labs/sdk-react-core 4.51.0 → 4.52.0
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 +23 -0
- package/package.cjs +3 -3
- package/package.js +3 -3
- package/package.json +14 -14
- package/src/lib/context/DynamicContext/DynamicContext.cjs +13 -12
- package/src/lib/context/DynamicContext/DynamicContext.js +13 -12
- package/src/lib/context/DynamicContext/types/SettingsOverrides.d.ts +10 -0
- package/src/lib/data/api/constants.cjs +12 -0
- package/src/lib/data/api/constants.d.ts +3 -0
- package/src/lib/data/api/constants.js +6 -0
- package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +12 -1
- package/src/lib/data/api/embeddedWallets/embeddedWallets.js +12 -1
- package/src/lib/data/api/user/user.cjs +19 -0
- package/src/lib/data/api/user/user.d.ts +5 -0
- package/src/lib/data/api/user/user.js +19 -1
- package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
- package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
- package/src/lib/utils/constants/values.cjs +2 -0
- package/src/lib/utils/constants/values.js +2 -0
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.cjs +33 -1
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.d.ts +11 -0
- package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.js +32 -2
- package/src/lib/utils/functions/compareChains/compareChains.cjs +1 -0
- package/src/lib/utils/functions/compareChains/compareChains.js +1 -0
- package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.cjs +1 -1
- package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.js +1 -1
- package/src/lib/utils/hooks/useGetTransactionHistory/useGetTransactionHistory.d.ts +29 -0
- package/src/lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.cjs +1 -4
- package/src/lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.js +1 -4
- package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.cjs +7 -2
- package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.d.ts +2 -1
- package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.js +7 -2
- package/src/lib/utils/hooks/useRegisterPasskey/useRegisterPasskey.cjs +8 -1
- package/src/lib/utils/hooks/useRegisterPasskey/useRegisterPasskey.js +8 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +2 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +4 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +2 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +1 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +1 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +1 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.cjs +131 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.d.ts +6 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.js +127 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs +3 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.d.ts +2 -0
- package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js +3 -1
- package/src/lib/views/SendBalanceView/SendBalanceView.cjs +14 -2
- package/src/lib/views/SendBalanceView/SendBalanceView.js +15 -3
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +8 -1
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +8 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
|
|
2
|
+
## [4.52.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.51.2...v4.52.0) (2025-12-22)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add dynamic waas ton connector ([#9981](https://github.com/dynamic-labs/dynamic-auth/issues/9981)) ([95f2ecf](https://github.com/dynamic-labs/dynamic-auth/commit/95f2ecf253550ec8badad588a904599321a5846d))
|
|
8
|
+
* add getTransactionHistory to react-native ([#10132](https://github.com/dynamic-labs/dynamic-auth/issues/10132)) ([bed6ce1](https://github.com/dynamic-labs/dynamic-auth/commit/bed6ce13b5e12f80121eebf6421355ae2b87968d))
|
|
9
|
+
* add useGetTransactionHistory hook ([#10131](https://github.com/dynamic-labs/dynamic-auth/issues/10131)) ([431e7e1](https://github.com/dynamic-labs/dynamic-auth/commit/431e7e1a70cd0556c14f55c2827bb419f38a59c9))
|
|
10
|
+
|
|
11
|
+
### [4.51.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.51.1...v4.51.2) (2025-12-19)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* add updateUserEmail method ([#10133](https://github.com/dynamic-labs/dynamic-auth/issues/10133)) ([78ba809](https://github.com/dynamic-labs/dynamic-auth/commit/78ba809b8226d00d7c69a55424dc9c9471060ae7))
|
|
17
|
+
|
|
18
|
+
### [4.51.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.51.0...v4.51.1) (2025-12-19)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* emit mfaCompletionSuccess event when registering a passkey ([#10135](https://github.com/dynamic-labs/dynamic-auth/issues/10135)) ([1e1a19a](https://github.com/dynamic-labs/dynamic-auth/commit/1e1a19ac19002183b3041c733b2fd98e51b77fa6))
|
|
24
|
+
|
|
2
25
|
## [4.51.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.50.5...v4.51.0) (2025-12-18)
|
|
3
26
|
|
|
4
27
|
|
package/package.cjs
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var version = "4.
|
|
6
|
+
var version = "4.52.0";
|
|
7
7
|
var dependencies = {
|
|
8
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
9
|
-
"@dynamic-labs-sdk/client": "0.1.
|
|
8
|
+
"@dynamic-labs/sdk-api-core": "0.0.843",
|
|
9
|
+
"@dynamic-labs-sdk/client": "0.1.2",
|
|
10
10
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
11
11
|
"@thumbmarkjs/thumbmarkjs": "0.16.0",
|
|
12
12
|
"country-list": "2.3.0",
|
package/package.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
var version = "4.
|
|
2
|
+
var version = "4.52.0";
|
|
3
3
|
var dependencies = {
|
|
4
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
5
|
-
"@dynamic-labs-sdk/client": "0.1.
|
|
4
|
+
"@dynamic-labs/sdk-api-core": "0.0.843",
|
|
5
|
+
"@dynamic-labs-sdk/client": "0.1.2",
|
|
6
6
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
7
7
|
"@thumbmarkjs/thumbmarkjs": "0.16.0",
|
|
8
8
|
"country-list": "2.3.0",
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.52.0",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
6
|
-
"@dynamic-labs-sdk/client": "0.1.
|
|
5
|
+
"@dynamic-labs/sdk-api-core": "0.0.843",
|
|
6
|
+
"@dynamic-labs-sdk/client": "0.1.2",
|
|
7
7
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
8
8
|
"@thumbmarkjs/thumbmarkjs": "0.16.0",
|
|
9
9
|
"country-list": "2.3.0",
|
|
@@ -15,17 +15,17 @@
|
|
|
15
15
|
"yup": "0.32.11",
|
|
16
16
|
"react-international-phone": "4.5.0",
|
|
17
17
|
"bs58": "5.0.0",
|
|
18
|
-
"@dynamic-labs/assert-package-version": "4.
|
|
19
|
-
"@dynamic-labs/iconic": "4.
|
|
20
|
-
"@dynamic-labs/locale": "4.
|
|
21
|
-
"@dynamic-labs/logger": "4.
|
|
22
|
-
"@dynamic-labs/multi-wallet": "4.
|
|
23
|
-
"@dynamic-labs/rpc-providers": "4.
|
|
24
|
-
"@dynamic-labs/store": "4.
|
|
25
|
-
"@dynamic-labs/types": "4.
|
|
26
|
-
"@dynamic-labs/utils": "4.
|
|
27
|
-
"@dynamic-labs/wallet-book": "4.
|
|
28
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
18
|
+
"@dynamic-labs/assert-package-version": "4.52.0",
|
|
19
|
+
"@dynamic-labs/iconic": "4.52.0",
|
|
20
|
+
"@dynamic-labs/locale": "4.52.0",
|
|
21
|
+
"@dynamic-labs/logger": "4.52.0",
|
|
22
|
+
"@dynamic-labs/multi-wallet": "4.52.0",
|
|
23
|
+
"@dynamic-labs/rpc-providers": "4.52.0",
|
|
24
|
+
"@dynamic-labs/store": "4.52.0",
|
|
25
|
+
"@dynamic-labs/types": "4.52.0",
|
|
26
|
+
"@dynamic-labs/utils": "4.52.0",
|
|
27
|
+
"@dynamic-labs/wallet-book": "4.52.0",
|
|
28
|
+
"@dynamic-labs/wallet-connector-core": "4.52.0",
|
|
29
29
|
"eventemitter3": "5.0.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
@@ -175,7 +175,7 @@ const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9
|
|
|
175
175
|
const DynamicContext = React.createContext(undefined);
|
|
176
176
|
/** The context provider itself we only use internally */
|
|
177
177
|
const InnerDynamicContextProvider = (props) => {
|
|
178
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
178
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
179
179
|
const { children, theme, settings: settings$1, locale: locale$1, enableInstrumentation = false, } = props;
|
|
180
180
|
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, defaultPhoneInputIso2, coinbaseWalletPreference, detectNewWalletsForLinking = defaultDynamicSettings.defaultDynamicSettings.detectNewWalletsForLinking, enableConnectOnlyFallback = defaultDynamicSettings.defaultDynamicSettings.enableConnectOnlyFallback, deepLinkPreference: deepLinkPreferenceProp = defaultDynamicSettings.defaultDynamicSettings.deepLinkPreference, bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = defaultDynamicSettings.defaultDynamicSettings.initialAuthenticationMode, debugError = defaultDynamicSettings.defaultDynamicSettings.debugError, displaySiweStatement = defaultDynamicSettings.defaultDynamicSettings.displaySiweStatement, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = defaultDynamicSettings.defaultDynamicSettings.enableVisitTrackingOnConnectOnly, environmentId, walletsFilter, logLevel = defaultDynamicSettings.defaultDynamicSettings.logLevel, mobileExperience, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, siweStatement, shadowDOMEnabled = defaultDynamicSettings.defaultDynamicSettings.shadowDOMEnabled, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = defaultDynamicSettings.defaultDynamicSettings.showLockedWalletView, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, handlers, suppressEndUserConsoleWarning, transactionConfirmation: transactionConfirmationSettings, useMetamaskSdk = defaultDynamicSettings.defaultDynamicSettings.useMetamaskSdk, } = settings$1;
|
|
181
181
|
let { appLogoUrl = defaultDynamicSettings.defaultDynamicSettings.appLogoUrl, appName = defaultDynamicSettings.defaultDynamicSettings.appName, } = settings$1;
|
|
@@ -243,7 +243,8 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
243
243
|
evmNetworksOverrides: (_d = settings$1.overrides) === null || _d === void 0 ? void 0 : _d.evmNetworks,
|
|
244
244
|
projectSettings,
|
|
245
245
|
solanaNetworksOverrides: (_e = settings$1.overrides) === null || _e === void 0 ? void 0 : _e.solNetworks,
|
|
246
|
-
|
|
246
|
+
tonNetworksOverrides: (_f = settings$1.overrides) === null || _f === void 0 ? void 0 : _f.tonNetworks,
|
|
247
|
+
tronNetworksOverrides: (_g = settings$1.overrides) === null || _g === void 0 ? void 0 : _g.tronNetworks,
|
|
247
248
|
});
|
|
248
249
|
useSendDynamicProps.useSendDynamicProps({ environmentId, settings: settings$1 });
|
|
249
250
|
// Console warning for end user safety
|
|
@@ -253,16 +254,16 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
253
254
|
});
|
|
254
255
|
const multiWallet = useMultiWallet.useMultiWallet({
|
|
255
256
|
isBridgeFlow,
|
|
256
|
-
multiWalletOverride: (
|
|
257
|
-
multiWalletSettings: (
|
|
257
|
+
multiWalletOverride: (_h = settings$1.overrides) === null || _h === void 0 ? void 0 : _h.multiWallet,
|
|
258
|
+
multiWalletSettings: (_j = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _j === void 0 ? void 0 : _j.multiWallet,
|
|
258
259
|
});
|
|
259
260
|
const multiAsset = useMultiAsset.useMultiAsset({
|
|
260
|
-
multiAssetOverride: (
|
|
261
|
-
multiAssetSettings: (
|
|
261
|
+
multiAssetOverride: (_k = settings$1.overrides) === null || _k === void 0 ? void 0 : _k.multiAsset,
|
|
262
|
+
multiAssetSettings: (_l = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _l === void 0 ? void 0 : _l.enableMultiAsset,
|
|
262
263
|
});
|
|
263
264
|
const showFiat = useShowFiat.useShowFiat({
|
|
264
|
-
showFiatOverride: (
|
|
265
|
-
showFiatSettings: (
|
|
265
|
+
showFiatOverride: (_m = settings$1.overrides) === null || _m === void 0 ? void 0 : _m.showFiat,
|
|
266
|
+
showFiatSettings: (_o = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _o === void 0 ? void 0 : _o.showFiat,
|
|
266
267
|
});
|
|
267
268
|
// Used inside useVerifyOnAwaitingSignature. Is legacy and should be removed asap
|
|
268
269
|
const [legacyIsVerifying, setLegacyIsVerifying] = React.useState(false);
|
|
@@ -337,7 +338,7 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
337
338
|
canHaveMultipleWalletsConnected: multiWallet || isBridgeFlow,
|
|
338
339
|
connectedWallets,
|
|
339
340
|
primaryWalletId: primaryWalletId$1,
|
|
340
|
-
separateSmartWalletAndSigner: (
|
|
341
|
+
separateSmartWalletAndSigner: (_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.accountAbstraction) === null || _q === void 0 ? void 0 : _q.separateSmartWalletAndSigner,
|
|
341
342
|
setMultiWalletWidgetState,
|
|
342
343
|
user: user || userWithMissingInfo,
|
|
343
344
|
walletConnectorOptions,
|
|
@@ -441,8 +442,8 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
441
442
|
const { walletsForChainsMap } = useFetchWalletsForChainsMap.useFetchWalletsForChainsMap(newToWeb3WalletChainMap);
|
|
442
443
|
const { setCallback } = useCustomerCallbacks.useCustomerCallbacks({
|
|
443
444
|
callbacks: {
|
|
444
|
-
onAuthSuccess: (
|
|
445
|
-
onUserProfileUpdate: (
|
|
445
|
+
onAuthSuccess: (_r = settings$1.events) === null || _r === void 0 ? void 0 : _r.onAuthSuccess,
|
|
446
|
+
onUserProfileUpdate: (_s = settings$1.events) === null || _s === void 0 ? void 0 : _s.onUserProfileUpdate,
|
|
446
447
|
},
|
|
447
448
|
handleLogOut,
|
|
448
449
|
isAuthenticated,
|
|
@@ -730,7 +731,7 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
730
731
|
isBridgeFlow,
|
|
731
732
|
isMultiWalletEnabled: multiWallet,
|
|
732
733
|
});
|
|
733
|
-
return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((
|
|
734
|
+
return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((_t = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _t === void 0 ? void 0 : _t.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsxRuntime.jsx(LoadingContext.LoadingContextProvider, { children: jsxRuntime.jsxs(ViewContext.ViewContextProvider, { initialViewType: initialViewType, children: [networkValidationMode === 'always' && jsxRuntime.jsx(UseNetworkValidation.UseNetworkValidation, {}), jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { children: jsxRuntime.jsx(VerificationContext.VerificationProvider, { children: jsxRuntime.jsx(PasskeyContext.PasskeyContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(OnrampContext.OnrampContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsx(WalletGroupContext.WalletGroupContextProvider, { children: jsxRuntime.jsx(UserFieldEditorContext.UserFieldEditorContextProvider, { children: jsxRuntime.jsx(ConnectWithOtpProvider.ConnectWithOtpProvider, { children: jsxRuntime.jsx(PhantomRedirectContext.PhantomRedirectContextProvider, { children: jsxRuntime.jsxs(SocialRedirectContext.SocialRedirectContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(OnrampWidget.OnrampWidget, {}), jsxRuntime.jsx(SyncAuthFlow.SyncAuthFlow, {}), jsxRuntime.jsx(WalletConnectorEvents.WalletConnectorEvents, { connectorProps: connectorProps }), confirmationModal, jsxRuntime.jsx(ErrorBoundaryExclude.ErrorBoundaryExclude, { children: children })] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
734
735
|
};
|
|
735
736
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
736
737
|
const DynamicContextProvider = (props) => {
|
|
@@ -171,7 +171,7 @@ const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = '2762a57b-faa4-41ce-9f16-abff9300e2c9
|
|
|
171
171
|
const DynamicContext = createContext(undefined);
|
|
172
172
|
/** The context provider itself we only use internally */
|
|
173
173
|
const InnerDynamicContextProvider = (props) => {
|
|
174
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
|
174
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
175
175
|
const { children, theme, settings, locale, enableInstrumentation = false, } = props;
|
|
176
176
|
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, defaultPhoneInputIso2, coinbaseWalletPreference, detectNewWalletsForLinking = defaultDynamicSettings.detectNewWalletsForLinking, enableConnectOnlyFallback = defaultDynamicSettings.enableConnectOnlyFallback, deepLinkPreference: deepLinkPreferenceProp = defaultDynamicSettings.deepLinkPreference, bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = defaultDynamicSettings.initialAuthenticationMode, debugError = defaultDynamicSettings.debugError, displaySiweStatement = defaultDynamicSettings.displaySiweStatement, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = defaultDynamicSettings.enableVisitTrackingOnConnectOnly, environmentId, walletsFilter, logLevel = defaultDynamicSettings.logLevel, mobileExperience, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, siweStatement, shadowDOMEnabled = defaultDynamicSettings.shadowDOMEnabled, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = defaultDynamicSettings.showLockedWalletView, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, handlers, suppressEndUserConsoleWarning, transactionConfirmation: transactionConfirmationSettings, useMetamaskSdk = defaultDynamicSettings.useMetamaskSdk, } = settings;
|
|
177
177
|
let { appLogoUrl = defaultDynamicSettings.appLogoUrl, appName = defaultDynamicSettings.appName, } = settings;
|
|
@@ -239,7 +239,8 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
239
239
|
evmNetworksOverrides: (_d = settings.overrides) === null || _d === void 0 ? void 0 : _d.evmNetworks,
|
|
240
240
|
projectSettings,
|
|
241
241
|
solanaNetworksOverrides: (_e = settings.overrides) === null || _e === void 0 ? void 0 : _e.solNetworks,
|
|
242
|
-
|
|
242
|
+
tonNetworksOverrides: (_f = settings.overrides) === null || _f === void 0 ? void 0 : _f.tonNetworks,
|
|
243
|
+
tronNetworksOverrides: (_g = settings.overrides) === null || _g === void 0 ? void 0 : _g.tronNetworks,
|
|
243
244
|
});
|
|
244
245
|
useSendDynamicProps({ environmentId, settings });
|
|
245
246
|
// Console warning for end user safety
|
|
@@ -249,16 +250,16 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
249
250
|
});
|
|
250
251
|
const multiWallet = useMultiWallet({
|
|
251
252
|
isBridgeFlow,
|
|
252
|
-
multiWalletOverride: (
|
|
253
|
-
multiWalletSettings: (
|
|
253
|
+
multiWalletOverride: (_h = settings.overrides) === null || _h === void 0 ? void 0 : _h.multiWallet,
|
|
254
|
+
multiWalletSettings: (_j = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _j === void 0 ? void 0 : _j.multiWallet,
|
|
254
255
|
});
|
|
255
256
|
const multiAsset = useMultiAsset({
|
|
256
|
-
multiAssetOverride: (
|
|
257
|
-
multiAssetSettings: (
|
|
257
|
+
multiAssetOverride: (_k = settings.overrides) === null || _k === void 0 ? void 0 : _k.multiAsset,
|
|
258
|
+
multiAssetSettings: (_l = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _l === void 0 ? void 0 : _l.enableMultiAsset,
|
|
258
259
|
});
|
|
259
260
|
const showFiat = useShowFiat({
|
|
260
|
-
showFiatOverride: (
|
|
261
|
-
showFiatSettings: (
|
|
261
|
+
showFiatOverride: (_m = settings.overrides) === null || _m === void 0 ? void 0 : _m.showFiat,
|
|
262
|
+
showFiatSettings: (_o = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _o === void 0 ? void 0 : _o.showFiat,
|
|
262
263
|
});
|
|
263
264
|
// Used inside useVerifyOnAwaitingSignature. Is legacy and should be removed asap
|
|
264
265
|
const [legacyIsVerifying, setLegacyIsVerifying] = useState(false);
|
|
@@ -333,7 +334,7 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
333
334
|
canHaveMultipleWalletsConnected: multiWallet || isBridgeFlow,
|
|
334
335
|
connectedWallets,
|
|
335
336
|
primaryWalletId,
|
|
336
|
-
separateSmartWalletAndSigner: (
|
|
337
|
+
separateSmartWalletAndSigner: (_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.accountAbstraction) === null || _q === void 0 ? void 0 : _q.separateSmartWalletAndSigner,
|
|
337
338
|
setMultiWalletWidgetState,
|
|
338
339
|
user: user || userWithMissingInfo,
|
|
339
340
|
walletConnectorOptions,
|
|
@@ -437,8 +438,8 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
437
438
|
const { walletsForChainsMap } = useFetchWalletsForChainsMap(newToWeb3WalletChainMap);
|
|
438
439
|
const { setCallback } = useCustomerCallbacks({
|
|
439
440
|
callbacks: {
|
|
440
|
-
onAuthSuccess: (
|
|
441
|
-
onUserProfileUpdate: (
|
|
441
|
+
onAuthSuccess: (_r = settings.events) === null || _r === void 0 ? void 0 : _r.onAuthSuccess,
|
|
442
|
+
onUserProfileUpdate: (_s = settings.events) === null || _s === void 0 ? void 0 : _s.onUserProfileUpdate,
|
|
442
443
|
},
|
|
443
444
|
handleLogOut,
|
|
444
445
|
isAuthenticated,
|
|
@@ -726,7 +727,7 @@ const InnerDynamicContextProvider = (props) => {
|
|
|
726
727
|
isBridgeFlow,
|
|
727
728
|
isMultiWalletEnabled: multiWallet,
|
|
728
729
|
});
|
|
729
|
-
return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((
|
|
730
|
+
return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((_t = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _t === void 0 ? void 0 : _t.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsx(LoadingContextProvider, { children: jsxs(ViewContextProvider, { initialViewType: initialViewType, children: [networkValidationMode === 'always' && jsx(UseNetworkValidation, {}), jsx(CaptchaContextProvider, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { children: jsx(VerificationProvider, { children: jsx(PasskeyContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(OnrampContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsx(WalletGroupContextProvider, { children: jsx(UserFieldEditorContextProvider, { children: jsx(ConnectWithOtpProvider, { children: jsx(PhantomRedirectContextProvider, { children: jsxs(SocialRedirectContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(OnrampWidget, {}), jsx(SyncAuthFlow, {}), jsx(WalletConnectorEvents, { connectorProps: connectorProps }), confirmationModal, jsx(ErrorBoundaryExclude, { children: children })] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
730
731
|
};
|
|
731
732
|
/** The context provider you need to have access too all of Dynamic's hooks */
|
|
732
733
|
const DynamicContextProvider = (props) => {
|
|
@@ -103,6 +103,16 @@ export type SettingsOverrides = {
|
|
|
103
103
|
* the SDK can react to this value changing (for ex, toggling a chain off).
|
|
104
104
|
*/
|
|
105
105
|
aptosNetworks?: NetworksOverrides;
|
|
106
|
+
/**
|
|
107
|
+
* Allows overriding which TON networks the SDK has access to.
|
|
108
|
+
* If an array is provided, it is used instead of whatever is obtained from dashboard configs.
|
|
109
|
+
* If a callback is passed, the callback will be called with the values obtained from dashboard, and
|
|
110
|
+
* it must return the network values that will be used.
|
|
111
|
+
*
|
|
112
|
+
* WARNING: this callback must be memoized as it will be used in a dependency array to ensure
|
|
113
|
+
* the SDK can react to this value changing (for ex, toggling a chain off).
|
|
114
|
+
*/
|
|
115
|
+
tonNetworks?: NetworksOverrides;
|
|
106
116
|
/**
|
|
107
117
|
* Allows overriding the multi-wallet feature from the dashboard.
|
|
108
118
|
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
const DYNAMIC_SESSION_PUBLIC_KEY_HEADER = 'x-dyn-session-public-key';
|
|
7
|
+
const DYNAMIC_SESSION_NONCE_HEADER = 'x-dyn-session-nonce';
|
|
8
|
+
const DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER = 'x-dyn-session-nonce-signature';
|
|
9
|
+
|
|
10
|
+
exports.DYNAMIC_SESSION_NONCE_HEADER = DYNAMIC_SESSION_NONCE_HEADER;
|
|
11
|
+
exports.DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER = DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER;
|
|
12
|
+
exports.DYNAMIC_SESSION_PUBLIC_KEY_HEADER = DYNAMIC_SESSION_PUBLIC_KEY_HEADER;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
const DYNAMIC_SESSION_PUBLIC_KEY_HEADER = 'x-dyn-session-public-key';
|
|
3
|
+
const DYNAMIC_SESSION_NONCE_HEADER = 'x-dyn-session-nonce';
|
|
4
|
+
const DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER = 'x-dyn-session-nonce-signature';
|
|
5
|
+
|
|
6
|
+
export { DYNAMIC_SESSION_NONCE_HEADER, DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER, DYNAMIC_SESSION_PUBLIC_KEY_HEADER };
|
|
@@ -24,10 +24,12 @@ require('../../../config/ApiEndpoint.cjs');
|
|
|
24
24
|
require('@dynamic-labs/multi-wallet');
|
|
25
25
|
require('react-international-phone');
|
|
26
26
|
require('../../../store/state/nonce/nonce.cjs');
|
|
27
|
+
var constants = require('../constants.cjs');
|
|
27
28
|
require('@dynamic-labs/locale');
|
|
28
29
|
require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
|
|
29
30
|
require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
|
|
30
31
|
require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
|
|
32
|
+
var getClientSessionKeys = require('../../../utils/functions/clientSessionKeys/getClientSessionKeys.cjs');
|
|
31
33
|
require('../../../events/dynamicEvents.cjs');
|
|
32
34
|
var storeTokenAndUser = require('../../../client/extension/storeTokenAndUser/storeTokenAndUser.cjs');
|
|
33
35
|
|
|
@@ -156,7 +158,16 @@ const exportEmbeddedWallet = (_g) => _tslib.__awaiter(void 0, [_g], void 0, func
|
|
|
156
158
|
const registerSessionKey = (_h) => _tslib.__awaiter(void 0, [_h], void 0, function* ({ environmentId, walletId, publicKey, prevSessionKeySignature, }) {
|
|
157
159
|
let response;
|
|
158
160
|
try {
|
|
159
|
-
|
|
161
|
+
const { nonce, nonceSignature, publicKey: sessionPublicKey, } = yield getClientSessionKeys.getClientSessionNonceSignature({
|
|
162
|
+
environmentId,
|
|
163
|
+
});
|
|
164
|
+
response = yield api.sdkApi({
|
|
165
|
+
customHeaders: {
|
|
166
|
+
[constants.DYNAMIC_SESSION_NONCE_HEADER]: nonce,
|
|
167
|
+
[constants.DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER]: nonceSignature,
|
|
168
|
+
[constants.DYNAMIC_SESSION_PUBLIC_KEY_HEADER]: sessionPublicKey,
|
|
169
|
+
},
|
|
170
|
+
}).registerSessionKey({
|
|
160
171
|
environmentId,
|
|
161
172
|
registerSessionKeyRequest: {
|
|
162
173
|
prevSessionKeySignature,
|
|
@@ -20,10 +20,12 @@ import '../../../config/ApiEndpoint.js';
|
|
|
20
20
|
import '@dynamic-labs/multi-wallet';
|
|
21
21
|
import 'react-international-phone';
|
|
22
22
|
import '../../../store/state/nonce/nonce.js';
|
|
23
|
+
import { DYNAMIC_SESSION_NONCE_HEADER, DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER, DYNAMIC_SESSION_PUBLIC_KEY_HEADER } from '../constants.js';
|
|
23
24
|
import '@dynamic-labs/locale';
|
|
24
25
|
import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
|
|
25
26
|
import '../../../store/state/primaryWalletId/primaryWalletId.js';
|
|
26
27
|
import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
|
|
28
|
+
import { getClientSessionNonceSignature } from '../../../utils/functions/clientSessionKeys/getClientSessionKeys.js';
|
|
27
29
|
import '../../../events/dynamicEvents.js';
|
|
28
30
|
import { storeTokenAndUser } from '../../../client/extension/storeTokenAndUser/storeTokenAndUser.js';
|
|
29
31
|
|
|
@@ -152,7 +154,16 @@ const exportEmbeddedWallet = (_g) => __awaiter(void 0, [_g], void 0, function* (
|
|
|
152
154
|
const registerSessionKey = (_h) => __awaiter(void 0, [_h], void 0, function* ({ environmentId, walletId, publicKey, prevSessionKeySignature, }) {
|
|
153
155
|
let response;
|
|
154
156
|
try {
|
|
155
|
-
|
|
157
|
+
const { nonce, nonceSignature, publicKey: sessionPublicKey, } = yield getClientSessionNonceSignature({
|
|
158
|
+
environmentId,
|
|
159
|
+
});
|
|
160
|
+
response = yield sdkApi({
|
|
161
|
+
customHeaders: {
|
|
162
|
+
[DYNAMIC_SESSION_NONCE_HEADER]: nonce,
|
|
163
|
+
[DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER]: nonceSignature,
|
|
164
|
+
[DYNAMIC_SESSION_PUBLIC_KEY_HEADER]: sessionPublicKey,
|
|
165
|
+
},
|
|
166
|
+
}).registerSessionKey({
|
|
156
167
|
environmentId,
|
|
157
168
|
registerSessionKeyRequest: {
|
|
158
169
|
prevSessionKeySignature,
|
|
@@ -128,10 +128,29 @@ const getUserFieldsCheck = (_c) => _tslib.__awaiter(void 0, [_c], void 0, functi
|
|
|
128
128
|
return undefined;
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
|
+
const unlinkEmail = (_d) => _tslib.__awaiter(void 0, [_d], void 0, function* ({ environmentId, primaryWalletId, verifiedCredentialId, }) {
|
|
132
|
+
const normalizedPrimaryWalletId = primaryWalletId === null || primaryWalletId === void 0 ? void 0 : primaryWalletId.replace('-zerodev', '');
|
|
133
|
+
try {
|
|
134
|
+
const response = yield api.sdkApi().verifyUnlink({
|
|
135
|
+
environmentId,
|
|
136
|
+
verifyUnlinkRequest: {
|
|
137
|
+
primaryWalletId: normalizedPrimaryWalletId,
|
|
138
|
+
verifiedCredentialId,
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
const user = storeTokenAndUser.storeTokenAndUser(response);
|
|
142
|
+
return user;
|
|
143
|
+
}
|
|
144
|
+
catch (e) {
|
|
145
|
+
yield utils.logResponseError(e, 'Error unlinkEmail');
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
131
149
|
|
|
132
150
|
exports.getUserFieldsCheck = getUserFieldsCheck;
|
|
133
151
|
exports.hardDeleteUser = hardDeleteUser;
|
|
134
152
|
exports.mergeUserAccounts = mergeUserAccounts;
|
|
135
153
|
exports.refreshUserJwt = refreshUserJwt;
|
|
154
|
+
exports.unlinkEmail = unlinkEmail;
|
|
136
155
|
exports.updateUserProfileFields = updateUserProfileFields;
|
|
137
156
|
exports.verifyMergeUsers = verifyMergeUsers;
|
|
@@ -18,3 +18,8 @@ export declare const getUserFieldsCheck: ({ environmentId, filter, }: {
|
|
|
18
18
|
environmentId: string;
|
|
19
19
|
filter: UserFieldsCheckParams;
|
|
20
20
|
}) => Promise<UserFieldsCheckResponse | undefined>;
|
|
21
|
+
export declare const unlinkEmail: ({ environmentId, primaryWalletId, verifiedCredentialId, }: {
|
|
22
|
+
environmentId: string;
|
|
23
|
+
primaryWalletId: string;
|
|
24
|
+
verifiedCredentialId: string;
|
|
25
|
+
}) => Promise<UserProfile | undefined>;
|
|
@@ -124,5 +124,23 @@ const getUserFieldsCheck = (_c) => __awaiter(void 0, [_c], void 0, function* ({
|
|
|
124
124
|
return undefined;
|
|
125
125
|
}
|
|
126
126
|
});
|
|
127
|
+
const unlinkEmail = (_d) => __awaiter(void 0, [_d], void 0, function* ({ environmentId, primaryWalletId, verifiedCredentialId, }) {
|
|
128
|
+
const normalizedPrimaryWalletId = primaryWalletId === null || primaryWalletId === void 0 ? void 0 : primaryWalletId.replace('-zerodev', '');
|
|
129
|
+
try {
|
|
130
|
+
const response = yield sdkApi().verifyUnlink({
|
|
131
|
+
environmentId,
|
|
132
|
+
verifyUnlinkRequest: {
|
|
133
|
+
primaryWalletId: normalizedPrimaryWalletId,
|
|
134
|
+
verifiedCredentialId,
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
const user = storeTokenAndUser(response);
|
|
138
|
+
return user;
|
|
139
|
+
}
|
|
140
|
+
catch (e) {
|
|
141
|
+
yield logResponseError(e, 'Error unlinkEmail');
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
});
|
|
127
145
|
|
|
128
|
-
export { getUserFieldsCheck, hardDeleteUser, mergeUserAccounts, refreshUserJwt, updateUserProfileFields, verifyMergeUsers };
|
|
146
|
+
export { getUserFieldsCheck, hardDeleteUser, mergeUserAccounts, refreshUserJwt, unlinkEmail, updateUserProfileFields, verifyMergeUsers };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import { AlgorandIcon, AptosIcon, BitcoinIcon, CosmosIcon, EclipseIcon, EthereumIcon, FlowIcon, SolanaIcon, SparkIcon, StarknetIcon, SuiIcon, TronIcon } from '@dynamic-labs/iconic';
|
|
2
|
+
import { AlgorandIcon, AptosIcon, BitcoinIcon, CosmosIcon, EclipseIcon, EthereumIcon, FlowIcon, SolanaIcon, SparkIcon, StarknetIcon, SuiIcon, TonIcon, TronIcon } from '@dynamic-labs/iconic';
|
|
3
3
|
import { getChainInfo } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import 'react';
|
|
5
5
|
import { ReactComponent as SvgError } from '../../../assets/error.js';
|
|
@@ -18,6 +18,7 @@ const chainIconMap = {
|
|
|
18
18
|
spark: SparkIcon,
|
|
19
19
|
starknet: StarknetIcon,
|
|
20
20
|
sui: SuiIcon,
|
|
21
|
+
ton: TonIcon,
|
|
21
22
|
tron: TronIcon,
|
|
22
23
|
};
|
|
23
24
|
const getChainIcon = (chain) => {
|
|
@@ -18,6 +18,7 @@ const ChainEnumToVerifiedCredentialName = {
|
|
|
18
18
|
FLOW: 'flow',
|
|
19
19
|
SOL: 'solana',
|
|
20
20
|
STARK: 'starknet',
|
|
21
|
+
TON: 'ton',
|
|
21
22
|
};
|
|
22
23
|
const VerifiedCredentialNameToChainEnum = {
|
|
23
24
|
algorand: sdkApiCore.ChainEnum.Algo,
|
|
@@ -28,6 +29,7 @@ const VerifiedCredentialNameToChainEnum = {
|
|
|
28
29
|
solana: sdkApiCore.ChainEnum.Sol,
|
|
29
30
|
starknet: sdkApiCore.ChainEnum.Stark,
|
|
30
31
|
sui: sdkApiCore.ChainEnum.Sui,
|
|
32
|
+
ton: sdkApiCore.ChainEnum.Ton,
|
|
31
33
|
};
|
|
32
34
|
|
|
33
35
|
exports.ChainEnumToVerifiedCredentialName = ChainEnumToVerifiedCredentialName;
|
|
@@ -14,6 +14,7 @@ const ChainEnumToVerifiedCredentialName = {
|
|
|
14
14
|
FLOW: 'flow',
|
|
15
15
|
SOL: 'solana',
|
|
16
16
|
STARK: 'starknet',
|
|
17
|
+
TON: 'ton',
|
|
17
18
|
};
|
|
18
19
|
const VerifiedCredentialNameToChainEnum = {
|
|
19
20
|
algorand: ChainEnum.Algo,
|
|
@@ -24,6 +25,7 @@ const VerifiedCredentialNameToChainEnum = {
|
|
|
24
25
|
solana: ChainEnum.Sol,
|
|
25
26
|
starknet: ChainEnum.Stark,
|
|
26
27
|
sui: ChainEnum.Sui,
|
|
28
|
+
ton: ChainEnum.Ton,
|
|
27
29
|
};
|
|
28
30
|
|
|
29
31
|
export { ChainEnumToVerifiedCredentialName, DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, VerifiedCredentialNameToChainEnum };
|
|
@@ -18,7 +18,20 @@ require('../../constants/colors.cjs');
|
|
|
18
18
|
require('../../constants/values.cjs');
|
|
19
19
|
require('@dynamic-labs/sdk-api-core');
|
|
20
20
|
require('../../../shared/consts/index.cjs');
|
|
21
|
+
require('@dynamic-labs-sdk/client/core');
|
|
22
|
+
require('../../../client/client.cjs');
|
|
23
|
+
require('@dynamic-labs-sdk/client');
|
|
24
|
+
require('../../../config/ApiEndpoint.cjs');
|
|
25
|
+
require('@dynamic-labs/multi-wallet');
|
|
26
|
+
require('react-international-phone');
|
|
27
|
+
require('../../../store/state/nonce/nonce.cjs');
|
|
28
|
+
require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
|
|
29
|
+
require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
|
|
30
|
+
require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
|
|
21
31
|
var constants = require('./constants.cjs');
|
|
32
|
+
require('../../../events/dynamicEvents.cjs');
|
|
33
|
+
var utils$1 = require('../../../data/api/utils.cjs');
|
|
34
|
+
require('@dynamic-labs/locale');
|
|
22
35
|
|
|
23
36
|
const getClientSessionKeys = () => {
|
|
24
37
|
const sessionKeysSS = utils.StorageService.getItem(sessionStorage.CLIENT_SESSION_KEYS, sessionStorage.CLIENT_SESSION_KEYS_STORAGE_OPTIONS);
|
|
@@ -42,6 +55,7 @@ const generateKeyPair = () => _tslib.__awaiter(void 0, void 0, void 0, function*
|
|
|
42
55
|
return { privateKey, privateKeyJwk: privateJwk, publicKey };
|
|
43
56
|
});
|
|
44
57
|
const generateSessionSignature = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ privateKeyJwk, sessionId, }) { return keyService.p256Sign(privateKeyJwk, sessionId); });
|
|
58
|
+
const generateNonceSignature = (_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ privateKeyJwk, nonce, }) { return keyService.p256Sign(privateKeyJwk, nonce); });
|
|
45
59
|
const generateClientSessionKeys = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
46
60
|
// check if session keys are already stored in session storage
|
|
47
61
|
const clientSessionKeysSS = getClientSessionKeys();
|
|
@@ -62,7 +76,7 @@ const getClientSessionPublicKey = () => {
|
|
|
62
76
|
const clientSessionKeys = getClientSessionKeys();
|
|
63
77
|
return clientSessionKeys === null || clientSessionKeys === void 0 ? void 0 : clientSessionKeys.publicKey;
|
|
64
78
|
};
|
|
65
|
-
const getClientSessionSignature = (
|
|
79
|
+
const getClientSessionSignature = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ sessionId, }) {
|
|
66
80
|
const clientSessionKeys = getClientSessionKeys();
|
|
67
81
|
if (!clientSessionKeys) {
|
|
68
82
|
throw new Error('Client session keys not found');
|
|
@@ -74,6 +88,22 @@ const getClientSessionSignature = (_b) => _tslib.__awaiter(void 0, [_b], void 0,
|
|
|
74
88
|
});
|
|
75
89
|
return { publicKey, sessionSignature };
|
|
76
90
|
});
|
|
91
|
+
const getClientSessionNonceSignature = (_d) => _tslib.__awaiter(void 0, [_d], void 0, function* ({ environmentId, }) {
|
|
92
|
+
const clientSessionKeys = getClientSessionKeys();
|
|
93
|
+
if (!clientSessionKeys) {
|
|
94
|
+
throw new Error('Client session keys not found');
|
|
95
|
+
}
|
|
96
|
+
const { publicKey, privateKeyJwk } = clientSessionKeys;
|
|
97
|
+
const nonce = yield utils$1.getNonce(environmentId);
|
|
98
|
+
if (!nonce) {
|
|
99
|
+
throw new Error('Nonce not found');
|
|
100
|
+
}
|
|
101
|
+
const nonceSignature = yield generateNonceSignature({
|
|
102
|
+
nonce,
|
|
103
|
+
privateKeyJwk,
|
|
104
|
+
});
|
|
105
|
+
return { nonce, nonceSignature, publicKey };
|
|
106
|
+
});
|
|
77
107
|
const clearClientSessionKeys = () => {
|
|
78
108
|
const clientSessionKeys = getClientSessionKeys();
|
|
79
109
|
logger.logger.instrument('[SessionChaining] Clearing client session keys', {
|
|
@@ -87,7 +117,9 @@ const clearClientSessionKeys = () => {
|
|
|
87
117
|
exports.clearClientSessionKeys = clearClientSessionKeys;
|
|
88
118
|
exports.generateClientSessionKeys = generateClientSessionKeys;
|
|
89
119
|
exports.generateKeyPair = generateKeyPair;
|
|
120
|
+
exports.generateNonceSignature = generateNonceSignature;
|
|
90
121
|
exports.generateSessionSignature = generateSessionSignature;
|
|
91
122
|
exports.getClientSessionKeys = getClientSessionKeys;
|
|
123
|
+
exports.getClientSessionNonceSignature = getClientSessionNonceSignature;
|
|
92
124
|
exports.getClientSessionPublicKey = getClientSessionPublicKey;
|
|
93
125
|
exports.getClientSessionSignature = getClientSessionSignature;
|
|
@@ -5,6 +5,10 @@ export declare const generateSessionSignature: ({ privateKeyJwk, sessionId, }: {
|
|
|
5
5
|
privateKeyJwk: JsonWebKey;
|
|
6
6
|
sessionId: string;
|
|
7
7
|
}) => Promise<string>;
|
|
8
|
+
export declare const generateNonceSignature: ({ privateKeyJwk, nonce, }: {
|
|
9
|
+
privateKeyJwk: JsonWebKey;
|
|
10
|
+
nonce: string;
|
|
11
|
+
}) => Promise<string>;
|
|
8
12
|
export declare const generateClientSessionKeys: () => Promise<{
|
|
9
13
|
publicKey: string;
|
|
10
14
|
}>;
|
|
@@ -15,4 +19,11 @@ export declare const getClientSessionSignature: ({ sessionId, }: {
|
|
|
15
19
|
publicKey: string;
|
|
16
20
|
sessionSignature: string;
|
|
17
21
|
}>;
|
|
22
|
+
export declare const getClientSessionNonceSignature: ({ environmentId, }: {
|
|
23
|
+
environmentId: string;
|
|
24
|
+
}) => Promise<{
|
|
25
|
+
nonce: string;
|
|
26
|
+
nonceSignature: string;
|
|
27
|
+
publicKey: string;
|
|
28
|
+
}>;
|
|
18
29
|
export declare const clearClientSessionKeys: () => void;
|