@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.
Files changed (50) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.cjs +3 -3
  3. package/package.js +3 -3
  4. package/package.json +14 -14
  5. package/src/lib/context/DynamicContext/DynamicContext.cjs +13 -12
  6. package/src/lib/context/DynamicContext/DynamicContext.js +13 -12
  7. package/src/lib/context/DynamicContext/types/SettingsOverrides.d.ts +10 -0
  8. package/src/lib/data/api/constants.cjs +12 -0
  9. package/src/lib/data/api/constants.d.ts +3 -0
  10. package/src/lib/data/api/constants.js +6 -0
  11. package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +12 -1
  12. package/src/lib/data/api/embeddedWallets/embeddedWallets.js +12 -1
  13. package/src/lib/data/api/user/user.cjs +19 -0
  14. package/src/lib/data/api/user/user.d.ts +5 -0
  15. package/src/lib/data/api/user/user.js +19 -1
  16. package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
  17. package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
  18. package/src/lib/utils/constants/values.cjs +2 -0
  19. package/src/lib/utils/constants/values.js +2 -0
  20. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.cjs +33 -1
  21. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.d.ts +11 -0
  22. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.js +32 -2
  23. package/src/lib/utils/functions/compareChains/compareChains.cjs +1 -0
  24. package/src/lib/utils/functions/compareChains/compareChains.js +1 -0
  25. package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.cjs +1 -1
  26. package/src/lib/utils/hooks/useAuthenticatePasskeyMFA/useAuthenticatePasskeyMFA.js +1 -1
  27. package/src/lib/utils/hooks/useGetTransactionHistory/useGetTransactionHistory.d.ts +29 -0
  28. package/src/lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.cjs +1 -4
  29. package/src/lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.js +1 -4
  30. package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.cjs +7 -2
  31. package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.d.ts +2 -1
  32. package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.js +7 -2
  33. package/src/lib/utils/hooks/useRegisterPasskey/useRegisterPasskey.cjs +8 -1
  34. package/src/lib/utils/hooks/useRegisterPasskey/useRegisterPasskey.js +8 -1
  35. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +2 -1
  36. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +4 -1
  37. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +2 -1
  38. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +1 -1
  39. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +1 -1
  40. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +1 -1
  41. package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.cjs +131 -0
  42. package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.d.ts +6 -0
  43. package/src/lib/utils/hooks/useUserUpdateRequest/unlinkUserEmail/unlinkUserEmail.js +127 -0
  44. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.cjs +3 -1
  45. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.d.ts +2 -0
  46. package/src/lib/utils/hooks/useUserUpdateRequest/useUserUpdateRequest.js +3 -1
  47. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +14 -2
  48. package/src/lib/views/SendBalanceView/SendBalanceView.js +15 -3
  49. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +8 -1
  50. 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.51.0";
6
+ var version = "4.52.0";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.831",
9
- "@dynamic-labs-sdk/client": "0.1.0-alpha.33",
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.51.0";
2
+ var version = "4.52.0";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.831",
5
- "@dynamic-labs-sdk/client": "0.1.0-alpha.33",
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.51.0",
3
+ "version": "4.52.0",
4
4
  "dependencies": {
5
- "@dynamic-labs/sdk-api-core": "0.0.831",
6
- "@dynamic-labs-sdk/client": "0.1.0-alpha.33",
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.51.0",
19
- "@dynamic-labs/iconic": "4.51.0",
20
- "@dynamic-labs/locale": "4.51.0",
21
- "@dynamic-labs/logger": "4.51.0",
22
- "@dynamic-labs/multi-wallet": "4.51.0",
23
- "@dynamic-labs/rpc-providers": "4.51.0",
24
- "@dynamic-labs/store": "4.51.0",
25
- "@dynamic-labs/types": "4.51.0",
26
- "@dynamic-labs/utils": "4.51.0",
27
- "@dynamic-labs/wallet-book": "4.51.0",
28
- "@dynamic-labs/wallet-connector-core": "4.51.0",
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
- tronNetworksOverrides: (_f = settings$1.overrides) === null || _f === void 0 ? void 0 : _f.tronNetworks,
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: (_g = settings$1.overrides) === null || _g === void 0 ? void 0 : _g.multiWallet,
257
- multiWalletSettings: (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.multiWallet,
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: (_j = settings$1.overrides) === null || _j === void 0 ? void 0 : _j.multiAsset,
261
- multiAssetSettings: (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.enableMultiAsset,
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: (_l = settings$1.overrides) === null || _l === void 0 ? void 0 : _l.showFiat,
265
- showFiatSettings: (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.showFiat,
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: (_p = (_o = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _o === void 0 ? void 0 : _o.accountAbstraction) === null || _p === void 0 ? void 0 : _p.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: (_q = settings$1.events) === null || _q === void 0 ? void 0 : _q.onAuthSuccess,
445
- onUserProfileUpdate: (_r = settings$1.events) === null || _r === void 0 ? void 0 : _r.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, ((_s = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _s === void 0 ? void 0 : _s.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
+ 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
- tronNetworksOverrides: (_f = settings.overrides) === null || _f === void 0 ? void 0 : _f.tronNetworks,
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: (_g = settings.overrides) === null || _g === void 0 ? void 0 : _g.multiWallet,
253
- multiWalletSettings: (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.multiWallet,
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: (_j = settings.overrides) === null || _j === void 0 ? void 0 : _j.multiAsset,
257
- multiAssetSettings: (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.enableMultiAsset,
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: (_l = settings.overrides) === null || _l === void 0 ? void 0 : _l.showFiat,
261
- showFiatSettings: (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.showFiat,
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: (_p = (_o = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _o === void 0 ? void 0 : _o.accountAbstraction) === null || _p === void 0 ? void 0 : _p.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: (_q = settings.events) === null || _q === void 0 ? void 0 : _q.onAuthSuccess,
441
- onUserProfileUpdate: (_r = settings.events) === null || _r === void 0 ? void 0 : _r.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, ((_s = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _s === void 0 ? void 0 : _s.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
+ 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,3 @@
1
+ export declare const DYNAMIC_SESSION_PUBLIC_KEY_HEADER = "x-dyn-session-public-key";
2
+ export declare const DYNAMIC_SESSION_NONCE_HEADER = "x-dyn-session-nonce";
3
+ export declare const DYNAMIC_SESSION_NONCE_SIGNATURE_HEADER = "x-dyn-session-nonce-signature";
@@ -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
- response = yield api.sdkApi().registerSessionKey({
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
- response = yield sdkApi().registerSessionKey({
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 };
@@ -22,6 +22,7 @@ const chainIconMap = {
22
22
  spark: iconic.SparkIcon,
23
23
  starknet: iconic.StarknetIcon,
24
24
  sui: iconic.SuiIcon,
25
+ ton: iconic.TonIcon,
25
26
  tron: iconic.TronIcon,
26
27
  };
27
28
  const getChainIcon = (chain) => {
@@ -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 = (_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ sessionId, }) {
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;