@dynamic-labs/sdk-react-core 4.70.0 → 4.72.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 (158) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/package.cjs +3 -3
  3. package/package.js +3 -3
  4. package/package.json +14 -14
  5. package/src/lib/client/extension/deprecated/mfa/verifyTotpMfaDevice/verifyTotpMfaDevice.d.ts +1 -1
  6. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.cjs +15 -0
  7. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.d.ts +1 -0
  8. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.js +11 -0
  9. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.cjs +11 -0
  10. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.d.ts +1 -0
  11. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.js +7 -0
  12. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.cjs +33 -0
  13. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.d.ts +16 -0
  14. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.js +29 -0
  15. package/src/lib/client/extension/functions/getSessionKeys/getSessionKeys.d.ts +1 -0
  16. package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.cjs +5 -9
  17. package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.d.ts +4 -0
  18. package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.js +6 -10
  19. package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.cjs +51 -0
  20. package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.d.ts +1 -0
  21. package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.js +47 -0
  22. package/src/lib/client/extension/hooks/useInitializeSdkClient/getApiHeaders/getApiHeaders.cjs +5 -6
  23. package/src/lib/client/extension/hooks/useInitializeSdkClient/getApiHeaders/getApiHeaders.js +5 -6
  24. package/src/lib/client/extension/hooks/useInitializeSdkClient/syncEvents/syncEvents.cjs +12 -0
  25. package/src/lib/client/extension/hooks/useInitializeSdkClient/syncEvents/syncEvents.js +12 -0
  26. package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.cjs +2 -0
  27. package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.js +2 -0
  28. package/src/lib/client/extension/index.d.ts +4 -0
  29. package/src/lib/components/SendBalanceForm/SendBalanceForm.cjs +15 -2
  30. package/src/lib/components/SendBalanceForm/SendBalanceForm.d.ts +4 -0
  31. package/src/lib/components/SendBalanceForm/SendBalanceForm.js +15 -2
  32. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.cjs +25 -3
  33. package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.js +26 -4
  34. package/src/lib/components/SendBalancePageLayout/components/TokensBalanceDropdown/TokensBalanceDropdown.cjs +4 -1
  35. package/src/lib/components/SendBalancePageLayout/components/TokensBalanceDropdown/TokensBalanceDropdown.js +4 -1
  36. package/src/lib/components/TransactionCard/SendBalanceTransactionCard.cjs +9 -5
  37. package/src/lib/components/TransactionCard/SendBalanceTransactionCard.js +9 -5
  38. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +2 -2
  39. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +2 -2
  40. package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.cjs +2 -2
  41. package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.js +2 -2
  42. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.cjs +2 -2
  43. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.js +2 -2
  44. package/src/lib/context/DynamicContext/DynamicContext.cjs +0 -3
  45. package/src/lib/context/DynamicContext/DynamicContext.js +0 -3
  46. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +3 -4
  47. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +3 -4
  48. package/src/lib/context/DynamicContext/types/DynamicContextProps.d.ts +10 -0
  49. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +0 -2
  50. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +0 -2
  51. package/src/lib/data/api/api.cjs +1 -1
  52. package/src/lib/data/api/api.js +1 -1
  53. package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +2 -4
  54. package/src/lib/data/api/embeddedWallets/embeddedWallets.js +2 -4
  55. package/src/lib/events/deviceRegistration.d.ts +4 -0
  56. package/src/lib/events/dynamicEvents.cjs +2 -0
  57. package/src/lib/events/dynamicEvents.d.ts +3 -2
  58. package/src/lib/events/dynamicEvents.js +2 -0
  59. package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
  60. package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
  61. package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.cjs +2 -0
  62. package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.d.ts +3 -3
  63. package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.js +2 -0
  64. package/src/lib/styles/index.shadow.cjs +1 -1
  65. package/src/lib/styles/index.shadow.js +1 -1
  66. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.cjs +0 -88
  67. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.d.ts +0 -25
  68. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.js +2 -83
  69. package/src/lib/utils/functions/compareChains/compareChains.cjs +1 -0
  70. package/src/lib/utils/functions/compareChains/compareChains.js +1 -0
  71. package/src/lib/utils/functions/index.d.ts +0 -1
  72. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +0 -2
  73. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +0 -2
  74. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +0 -2
  75. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +0 -2
  76. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +0 -2
  77. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +0 -2
  78. package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +2 -2
  79. package/src/lib/utils/hooks/index.d.ts +0 -1
  80. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +4 -12
  81. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +4 -12
  82. package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs +1 -1
  83. package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js +1 -1
  84. package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.cjs +28 -36
  85. package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.d.ts +5 -2
  86. package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.js +29 -37
  87. package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.cjs +7 -2
  88. package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.d.ts +2 -1
  89. package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.js +7 -2
  90. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +2 -3
  91. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +2 -3
  92. package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.cjs +14 -14
  93. package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.js +14 -14
  94. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +3 -3
  95. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +3 -3
  96. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.cjs +14 -38
  97. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.js +14 -38
  98. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.types.d.ts +3 -2
  99. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptMfa.cjs +4 -1
  100. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptMfa.js +4 -1
  101. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptReauth.cjs +22 -6
  102. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptReauth.js +22 -6
  103. package/src/lib/utils/hooks/useSyncDeviceRegistrationFlow/useSyncDeviceRegistrationFlow.cjs +5 -1
  104. package/src/lib/utils/hooks/useSyncDeviceRegistrationFlow/useSyncDeviceRegistrationFlow.js +5 -1
  105. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +0 -2
  106. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +0 -2
  107. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.cjs +1 -1
  108. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.js +1 -1
  109. package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -2
  110. package/src/lib/views/EmailVerification/EmailVerification.js +2 -2
  111. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +2 -2
  112. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +2 -2
  113. package/src/lib/views/StepUpReauthOtpView/StepUpReauthOtpView.cjs +1 -109
  114. package/src/lib/views/StepUpReauthOtpView/StepUpReauthOtpView.js +1 -109
  115. package/src/lib/views/StepUpReauthSocialView/StepUpReauthSocialView.cjs +1 -2
  116. package/src/lib/views/StepUpReauthSocialView/StepUpReauthSocialView.js +1 -2
  117. package/src/lib/views/StepUpReauthWalletView/StepUpReauthWalletView.cjs +2 -96
  118. package/src/lib/views/StepUpReauthWalletView/StepUpReauthWalletView.js +2 -96
  119. package/src/lib/views/WalletList/data.cjs +1 -0
  120. package/src/lib/views/WalletList/data.d.ts +1 -1
  121. package/src/lib/views/WalletList/data.js +1 -0
  122. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +2 -2
  123. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.d.ts +1 -0
  124. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +2 -2
  125. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +1 -1
  126. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +1 -1
  127. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +1 -1
  128. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +1 -1
  129. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/ActiveWalletBalance.cjs +9 -1
  130. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/ActiveWalletBalance.js +9 -1
  131. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/TokenBalanceItem.cjs +2 -1
  132. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/TokenBalanceItem/TokenBalanceItem.js +2 -1
  133. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -1
  134. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -1
  135. package/src/lib/widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.cjs +1 -1
  136. package/src/lib/widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.js +1 -1
  137. package/src/lib/widgets/DynamicWidget/helpers/helpers.cjs +22 -0
  138. package/src/lib/widgets/DynamicWidget/helpers/helpers.js +22 -0
  139. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -1
  140. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -1
  141. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.cjs +60 -5
  142. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.js +61 -6
  143. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +12 -54
  144. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +12 -54
  145. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -1
  146. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -1
  147. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysMfaWidgetView/ManagePasskeysMfaWidgetView.cjs +1 -1
  148. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysMfaWidgetView/ManagePasskeysMfaWidgetView.js +1 -1
  149. package/src/lib/widgets/DynamicWidget/views/ManageTotpMfaWidgetView/ManageTotpMfaWidgetView.cjs +2 -2
  150. package/src/lib/widgets/DynamicWidget/views/ManageTotpMfaWidgetView/ManageTotpMfaWidgetView.js +2 -2
  151. package/src/lib/data/api/externalAuth/externalAuth.cjs +0 -66
  152. package/src/lib/data/api/externalAuth/externalAuth.js +0 -62
  153. package/src/lib/utils/functions/clientSessionKeys/constants.cjs +0 -8
  154. package/src/lib/utils/functions/clientSessionKeys/constants.js +0 -4
  155. package/src/lib/utils/hooks/useClientSessionKeys/index.d.ts +0 -1
  156. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.cjs +0 -101
  157. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.d.ts +0 -4
  158. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.js +0 -97
package/CHANGELOG.md CHANGED
@@ -1,4 +1,32 @@
1
1
 
2
+ ## [4.72.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.71.0...v4.72.0) (2026-03-26)
3
+
4
+
5
+ ### Features
6
+
7
+ * add action-based MFA check to wallet export ([#10774](https://github.com/dynamic-labs/dynamic-auth/issues/10774)) ([06aae8a](https://github.com/dynamic-labs/dynamic-auth/commit/06aae8a6365adde1658b8632c8caa11df409c646))
8
+ * integrate checkStepUpAuth into React SDK ([#10751](https://github.com/dynamic-labs/dynamic-auth/issues/10751)) ([7907557](https://github.com/dynamic-labs/dynamic-auth/commit/79075575086b89b9bfb405d75e7c6b3d573cc25d))
9
+ * **react-native:** expose setup auth state ([#10779](https://github.com/dynamic-labs/dynamic-auth/issues/10779)) ([9600e46](https://github.com/dynamic-labs/dynamic-auth/commit/9600e46028b446c88e682e7d842e65d691230b14))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * allow for connectors to inject icons into bridge view ([#10752](https://github.com/dynamic-labs/dynamic-auth/issues/10752)) ([94b5c3e](https://github.com/dynamic-labs/dynamic-auth/commit/94b5c3e78a1d92558ef316d9ca6761fdc4b788d5))
15
+ * react-native-extension build on iOS ([#10764](https://github.com/dynamic-labs/dynamic-auth/issues/10764)) ([b5eca2a](https://github.com/dynamic-labs/dynamic-auth/commit/b5eca2aa012e3da74361e28b4a41414710fdfa9c))
16
+
17
+ ## [4.71.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.70.0...v4.71.0) (2026-03-24)
18
+
19
+
20
+ ### Features
21
+
22
+ * add Tempo chain connector and core type definitions ([#10672](https://github.com/dynamic-labs/dynamic-auth/issues/10672)) ([0439c15](https://github.com/dynamic-labs/dynamic-auth/commit/0439c153238359083b9f226dcd2ebf6d83e26519))
23
+ * add verifySocial method to demo site step-up auth methods ([#10721](https://github.com/dynamic-labs/dynamic-auth/issues/10721)) ([b9ef517](https://github.com/dynamic-labs/dynamic-auth/commit/b9ef5173df3e3ed08f718de49b036ea899dc1832))
24
+ * **demo:** add Tempo chain support to demo app ([#10674](https://github.com/dynamic-labs/dynamic-auth/issues/10674)) ([a5918fc](https://github.com/dynamic-labs/dynamic-auth/commit/a5918fc2ab0821e7f025aa470573129f71de33cc))
25
+ * repurpose verifyWithExternalJwt for elevated access token requests ([#10743](https://github.com/dynamic-labs/dynamic-auth/issues/10743)) ([d1abda0](https://github.com/dynamic-labs/dynamic-auth/commit/d1abda0111d68c78226d30bd0630e6e341dedad9))
26
+ * **sdk:** add Tempo chain support to UI components ([#10673](https://github.com/dynamic-labs/dynamic-auth/issues/10673)) ([aec9fbb](https://github.com/dynamic-labs/dynamic-auth/commit/aec9fbb20754a2935bffe106e7e8715f46be3de7))
27
+ * support multi-chain wallet creation in createWallet ([#10694](https://github.com/dynamic-labs/dynamic-auth/issues/10694)) ([0b6b57f](https://github.com/dynamic-labs/dynamic-auth/commit/0b6b57f4179c35d1f86d1c8c9c40f52cb307c849))
28
+ * wire up elevatedAccessToken for sign, reshare, and refresh operations ([#10737](https://github.com/dynamic-labs/dynamic-auth/issues/10737)) ([f9d5c76](https://github.com/dynamic-labs/dynamic-auth/commit/f9d5c768037aff4f5d7994b6bc6c338621a6ee6b))
29
+
2
30
  ## [4.70.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.69.0...v4.70.0) (2026-03-23)
3
31
 
4
32
 
package/package.cjs CHANGED
@@ -3,11 +3,11 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.70.0";
6
+ var version = "4.72.0";
7
7
  var dependencies = {
8
8
  "@dynamic-labs/sdk-api-core": "0.0.909",
9
- "@dynamic-labs-sdk/client": "0.17.4",
10
- "@dynamic-labs-wallet/browser-wallet-client": "0.0.309",
9
+ "@dynamic-labs-sdk/client": "0.19.0",
10
+ "@dynamic-labs-wallet/browser-wallet-client": "0.0.314",
11
11
  "@hcaptcha/react-hcaptcha": "1.4.4",
12
12
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
13
13
  "country-list": "2.3.0",
package/package.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use client'
2
- var version = "4.70.0";
2
+ var version = "4.72.0";
3
3
  var dependencies = {
4
4
  "@dynamic-labs/sdk-api-core": "0.0.909",
5
- "@dynamic-labs-sdk/client": "0.17.4",
6
- "@dynamic-labs-wallet/browser-wallet-client": "0.0.309",
5
+ "@dynamic-labs-sdk/client": "0.19.0",
6
+ "@dynamic-labs-wallet/browser-wallet-client": "0.0.314",
7
7
  "@hcaptcha/react-hcaptcha": "1.4.4",
8
8
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
9
9
  "country-list": "2.3.0",
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "4.70.0",
3
+ "version": "4.72.0",
4
4
  "dependencies": {
5
5
  "@dynamic-labs/sdk-api-core": "0.0.909",
6
- "@dynamic-labs-sdk/client": "0.17.4",
7
- "@dynamic-labs-wallet/browser-wallet-client": "0.0.309",
6
+ "@dynamic-labs-sdk/client": "0.19.0",
7
+ "@dynamic-labs-wallet/browser-wallet-client": "0.0.314",
8
8
  "@hcaptcha/react-hcaptcha": "1.4.4",
9
9
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
10
10
  "country-list": "2.3.0",
@@ -16,17 +16,17 @@
16
16
  "yup": "0.32.11",
17
17
  "react-international-phone": "4.5.0",
18
18
  "bs58": "5.0.0",
19
- "@dynamic-labs/assert-package-version": "4.70.0",
20
- "@dynamic-labs/iconic": "4.70.0",
21
- "@dynamic-labs/locale": "4.70.0",
22
- "@dynamic-labs/logger": "4.70.0",
23
- "@dynamic-labs/multi-wallet": "4.70.0",
24
- "@dynamic-labs/rpc-providers": "4.70.0",
25
- "@dynamic-labs/store": "4.70.0",
26
- "@dynamic-labs/types": "4.70.0",
27
- "@dynamic-labs/utils": "4.70.0",
28
- "@dynamic-labs/wallet-book": "4.70.0",
29
- "@dynamic-labs/wallet-connector-core": "4.70.0",
19
+ "@dynamic-labs/assert-package-version": "4.72.0",
20
+ "@dynamic-labs/iconic": "4.72.0",
21
+ "@dynamic-labs/locale": "4.72.0",
22
+ "@dynamic-labs/logger": "4.72.0",
23
+ "@dynamic-labs/multi-wallet": "4.72.0",
24
+ "@dynamic-labs/rpc-providers": "4.72.0",
25
+ "@dynamic-labs/store": "4.72.0",
26
+ "@dynamic-labs/types": "4.72.0",
27
+ "@dynamic-labs/utils": "4.72.0",
28
+ "@dynamic-labs/wallet-book": "4.72.0",
29
+ "@dynamic-labs/wallet-connector-core": "4.72.0",
30
30
  "eventemitter3": "5.0.1"
31
31
  },
32
32
  "devDependencies": {
@@ -1,3 +1,3 @@
1
1
  export declare const verifyTotpMfaDevice: ({ code }: {
2
2
  code: string;
3
- }) => Promise<import("@dynamic-labs/sdk-api-core").MFADevice>;
3
+ }) => Promise<import("@dynamic-labs-sdk/client").MFADevice>;
@@ -0,0 +1,15 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../../_virtual/_tslib.cjs');
7
+ var client = require('@dynamic-labs-sdk/client');
8
+ var core = require('@dynamic-labs-sdk/client/core');
9
+
10
+ const generateChainingSignature = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
11
+ const { signature } = yield core.getSignedSessionId(client.getDefaultClient());
12
+ return signature;
13
+ });
14
+
15
+ exports.generateChainingSignature = generateChainingSignature;
@@ -0,0 +1 @@
1
+ export declare const generateChainingSignature: () => Promise<string>;
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
3
+ import { getDefaultClient } from '@dynamic-labs-sdk/client';
4
+ import { getSignedSessionId } from '@dynamic-labs-sdk/client/core';
5
+
6
+ const generateChainingSignature = () => __awaiter(void 0, void 0, void 0, function* () {
7
+ const { signature } = yield getSignedSessionId(getDefaultClient());
8
+ return signature;
9
+ });
10
+
11
+ export { generateChainingSignature };
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var client = require('@dynamic-labs-sdk/client');
7
+ var core = require('@dynamic-labs-sdk/client/core');
8
+
9
+ const generateSessionKeys = () => core.generateSessionKeys(client.getDefaultClient());
10
+
11
+ exports.generateSessionKeys = generateSessionKeys;
@@ -0,0 +1 @@
1
+ export declare const generateSessionKeys: () => Promise<import("@dynamic-labs-sdk/client/core").SessionKeys>;
@@ -0,0 +1,7 @@
1
+ 'use client'
2
+ import { getDefaultClient } from '@dynamic-labs-sdk/client';
3
+ import { generateSessionKeys as generateSessionKeys$1 } from '@dynamic-labs-sdk/client/core';
4
+
5
+ const generateSessionKeys = () => generateSessionKeys$1(getDefaultClient());
6
+
7
+ export { generateSessionKeys };
@@ -0,0 +1,33 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../../_virtual/_tslib.cjs');
7
+ var client = require('@dynamic-labs-sdk/client');
8
+ var core = require('@dynamic-labs-sdk/client/core');
9
+
10
+ /**
11
+ * Returns the nonce, nonce signature, and session public key needed for
12
+ * Turnkey session key registration headers.
13
+ *
14
+ * Parses the combined session chaining signature format:
15
+ * `${signedSessionId}/${nonceSignature}/${nonce}`
16
+ *
17
+ * Note: signatures are hex-encoded (no slashes), so splitting on '/' is safe.
18
+ */
19
+ const getClientSessionNonceHeaders = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
20
+ var _a, _b;
21
+ const client$1 = client.getDefaultClient();
22
+ const { signature } = yield core.getSignedSessionId(client$1);
23
+ // signature format: "${signedSessionId}/${nonceSignature}/${nonce}"
24
+ const parts = signature.split('/');
25
+ if (parts.length < 3) {
26
+ throw new Error(`Unexpected session chaining signature format: expected 3 parts, got ${parts.length}`);
27
+ }
28
+ const [, nonceSignature, nonce] = parts;
29
+ const publicKey = (_b = (_a = core.getSessionKeys(client$1)) === null || _a === void 0 ? void 0 : _a.publicKey) !== null && _b !== void 0 ? _b : '';
30
+ return { nonce, nonceSignature, publicKey };
31
+ });
32
+
33
+ exports.getClientSessionNonceHeaders = getClientSessionNonceHeaders;
@@ -0,0 +1,16 @@
1
+ type ClientSessionNonceHeaders = {
2
+ nonce: string;
3
+ nonceSignature: string;
4
+ publicKey: string;
5
+ };
6
+ /**
7
+ * Returns the nonce, nonce signature, and session public key needed for
8
+ * Turnkey session key registration headers.
9
+ *
10
+ * Parses the combined session chaining signature format:
11
+ * `${signedSessionId}/${nonceSignature}/${nonce}`
12
+ *
13
+ * Note: signatures are hex-encoded (no slashes), so splitting on '/' is safe.
14
+ */
15
+ export declare const getClientSessionNonceHeaders: () => Promise<ClientSessionNonceHeaders>;
16
+ export {};
@@ -0,0 +1,29 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
3
+ import { getDefaultClient } from '@dynamic-labs-sdk/client';
4
+ import { getSignedSessionId, getSessionKeys } from '@dynamic-labs-sdk/client/core';
5
+
6
+ /**
7
+ * Returns the nonce, nonce signature, and session public key needed for
8
+ * Turnkey session key registration headers.
9
+ *
10
+ * Parses the combined session chaining signature format:
11
+ * `${signedSessionId}/${nonceSignature}/${nonce}`
12
+ *
13
+ * Note: signatures are hex-encoded (no slashes), so splitting on '/' is safe.
14
+ */
15
+ const getClientSessionNonceHeaders = () => __awaiter(void 0, void 0, void 0, function* () {
16
+ var _a, _b;
17
+ const client = getDefaultClient();
18
+ const { signature } = yield getSignedSessionId(client);
19
+ // signature format: "${signedSessionId}/${nonceSignature}/${nonce}"
20
+ const parts = signature.split('/');
21
+ if (parts.length < 3) {
22
+ throw new Error(`Unexpected session chaining signature format: expected 3 parts, got ${parts.length}`);
23
+ }
24
+ const [, nonceSignature, nonce] = parts;
25
+ const publicKey = (_b = (_a = getSessionKeys(client)) === null || _a === void 0 ? void 0 : _a.publicKey) !== null && _b !== void 0 ? _b : '';
26
+ return { nonce, nonceSignature, publicKey };
27
+ });
28
+
29
+ export { getClientSessionNonceHeaders };
@@ -0,0 +1 @@
1
+ export declare const getSessionKeys: () => import("@dynamic-labs-sdk/client/core").SessionKeys | undefined;
@@ -4,15 +4,11 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var client = require('@dynamic-labs-sdk/client');
7
- var core = require('@dynamic-labs-sdk/client/core');
8
7
 
9
- const EXPIRATION_BUFFER_MS = 5000;
10
- const hasElevatedAccessToken = (scope) => {
11
- const { elevatedAccessTokens = [] } = core.getCore(client.getDefaultClient()).state.get();
12
- // Add a buffer to the expiration date to account for delay between token check and its usage
13
- const threshold = new Date(Date.now() + EXPIRATION_BUFFER_MS);
14
- return elevatedAccessTokens.some((token) => token.scopes.includes(scope) &&
15
- (!token.expiresAt || token.expiresAt > threshold));
16
- };
8
+ /**
9
+ * Checks whether a valid elevated access token exists for the given scope.
10
+ * Delegates to the JS SDK's getElevatedAccessToken without consuming the token.
11
+ */
12
+ const hasElevatedAccessToken = (scope) => client.getElevatedAccessToken({ consume: false, scope }) !== undefined;
17
13
 
18
14
  exports.hasElevatedAccessToken = hasElevatedAccessToken;
@@ -1 +1,5 @@
1
+ /**
2
+ * Checks whether a valid elevated access token exists for the given scope.
3
+ * Delegates to the JS SDK's getElevatedAccessToken without consuming the token.
4
+ */
1
5
  export declare const hasElevatedAccessToken: (scope: string) => boolean;
@@ -1,14 +1,10 @@
1
1
  'use client'
2
- import { getDefaultClient } from '@dynamic-labs-sdk/client';
3
- import { getCore } from '@dynamic-labs-sdk/client/core';
2
+ import { getElevatedAccessToken } from '@dynamic-labs-sdk/client';
4
3
 
5
- const EXPIRATION_BUFFER_MS = 5000;
6
- const hasElevatedAccessToken = (scope) => {
7
- const { elevatedAccessTokens = [] } = getCore(getDefaultClient()).state.get();
8
- // Add a buffer to the expiration date to account for delay between token check and its usage
9
- const threshold = new Date(Date.now() + EXPIRATION_BUFFER_MS);
10
- return elevatedAccessTokens.some((token) => token.scopes.includes(scope) &&
11
- (!token.expiresAt || token.expiresAt > threshold));
12
- };
4
+ /**
5
+ * Checks whether a valid elevated access token exists for the given scope.
6
+ * Delegates to the JS SDK's getElevatedAccessToken without consuming the token.
7
+ */
8
+ const hasElevatedAccessToken = (scope) => getElevatedAccessToken({ consume: false, scope }) !== undefined;
13
9
 
14
10
  export { hasElevatedAccessToken };
@@ -0,0 +1,51 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../../_virtual/_tslib.cjs');
7
+ var client = require('@dynamic-labs-sdk/client');
8
+ var core = require('@dynamic-labs-sdk/client/core');
9
+ require('@dynamic-labs/iconic');
10
+ require('@dynamic-labs/wallet-connector-core');
11
+ require('react');
12
+ require('react/jsx-runtime');
13
+ require('../../../../context/ViewContext/ViewContext.cjs');
14
+ var logger = require('../../../../shared/logger.cjs');
15
+ require('@dynamic-labs/wallet-book');
16
+ require('@dynamic-labs/utils');
17
+ require('../../../../utils/constants/colors.cjs');
18
+ require('../../../../utils/constants/values.cjs');
19
+ require('@dynamic-labs/sdk-api-core');
20
+ require('../../../../shared/consts/index.cjs');
21
+ var getClientSessionKeys = require('../../../../utils/functions/clientSessionKeys/getClientSessionKeys.cjs');
22
+
23
+ const migrateClientSessionKey = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
24
+ try {
25
+ // Wait for the SDK to finish initializing (including its own migration phase)
26
+ // before overwriting the keychain — react-SDK keys always take precedence.
27
+ const client$1 = client.getDefaultClient();
28
+ yield client.waitForClientInitialized(client$1);
29
+ logger.logger.debug('[migrateClientSessionKey] Checking for legacy session key in storage');
30
+ const legacy = getClientSessionKeys.getClientSessionKeys();
31
+ if (!legacy) {
32
+ logger.logger.debug('[migrateClientSessionKey] No legacy session key found in storage, skipping migration');
33
+ return;
34
+ }
35
+ const { keychain } = core.getCore(client$1);
36
+ logger.logger.debug('[migrateClientSessionKey] Found legacy session key, importing into keychain', { expectedPublicKey: legacy.publicKey });
37
+ const importedPublicKey = yield keychain.importKey('session', legacy.privateKeyJwk);
38
+ logger.logger.debug('[migrateClientSessionKey] Key imported into IndexedDB', {
39
+ expectedPublicKey: legacy.publicKey,
40
+ importedPublicKey,
41
+ });
42
+ core.getCore(client$1).state.set({ sessionKeys: importedPublicKey });
43
+ getClientSessionKeys.clearClientSessionKeys();
44
+ logger.logger.debug('[migrateClientSessionKey] Migration complete, legacy entry removed from storage');
45
+ }
46
+ catch (error) {
47
+ logger.logger.debug('[migrateClientSessionKey] Migration failed, ignoring:', error);
48
+ }
49
+ });
50
+
51
+ exports.migrateClientSessionKey = migrateClientSessionKey;
@@ -0,0 +1 @@
1
+ export declare const migrateClientSessionKey: () => Promise<void>;
@@ -0,0 +1,47 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
3
+ import { getDefaultClient, waitForClientInitialized } from '@dynamic-labs-sdk/client';
4
+ import { getCore } from '@dynamic-labs-sdk/client/core';
5
+ import '@dynamic-labs/iconic';
6
+ import '@dynamic-labs/wallet-connector-core';
7
+ import 'react';
8
+ import 'react/jsx-runtime';
9
+ import '../../../../context/ViewContext/ViewContext.js';
10
+ import { logger } from '../../../../shared/logger.js';
11
+ import '@dynamic-labs/wallet-book';
12
+ import '@dynamic-labs/utils';
13
+ import '../../../../utils/constants/colors.js';
14
+ import '../../../../utils/constants/values.js';
15
+ import '@dynamic-labs/sdk-api-core';
16
+ import '../../../../shared/consts/index.js';
17
+ import { getClientSessionKeys, clearClientSessionKeys } from '../../../../utils/functions/clientSessionKeys/getClientSessionKeys.js';
18
+
19
+ const migrateClientSessionKey = () => __awaiter(void 0, void 0, void 0, function* () {
20
+ try {
21
+ // Wait for the SDK to finish initializing (including its own migration phase)
22
+ // before overwriting the keychain — react-SDK keys always take precedence.
23
+ const client = getDefaultClient();
24
+ yield waitForClientInitialized(client);
25
+ logger.debug('[migrateClientSessionKey] Checking for legacy session key in storage');
26
+ const legacy = getClientSessionKeys();
27
+ if (!legacy) {
28
+ logger.debug('[migrateClientSessionKey] No legacy session key found in storage, skipping migration');
29
+ return;
30
+ }
31
+ const { keychain } = getCore(client);
32
+ logger.debug('[migrateClientSessionKey] Found legacy session key, importing into keychain', { expectedPublicKey: legacy.publicKey });
33
+ const importedPublicKey = yield keychain.importKey('session', legacy.privateKeyJwk);
34
+ logger.debug('[migrateClientSessionKey] Key imported into IndexedDB', {
35
+ expectedPublicKey: legacy.publicKey,
36
+ importedPublicKey,
37
+ });
38
+ getCore(client).state.set({ sessionKeys: importedPublicKey });
39
+ clearClientSessionKeys();
40
+ logger.debug('[migrateClientSessionKey] Migration complete, legacy entry removed from storage');
41
+ }
42
+ catch (error) {
43
+ logger.debug('[migrateClientSessionKey] Migration failed, ignoring:', error);
44
+ }
45
+ });
46
+
47
+ export { migrateClientSessionKey };
@@ -3,6 +3,8 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var client = require('@dynamic-labs-sdk/client');
7
+ var core = require('@dynamic-labs-sdk/client/core');
6
8
  var version = require('../../../../../../version.cjs');
7
9
  var isGlobalWalletPopup = require('../../../../../shared/utils/functions/isGlobalWalletPopup/isGlobalWalletPopup.cjs');
8
10
  require('@dynamic-labs/sdk-api-core');
@@ -23,16 +25,13 @@ require('../../../../../utils/constants/colors.cjs');
23
25
  require('../../../../../shared/consts/index.cjs');
24
26
  require('../../../../../store/state/nonce/nonce.cjs');
25
27
  var randomString = require('../../../../../utils/functions/randomString/randomString.cjs');
26
- require('@dynamic-labs-sdk/client/core');
27
28
  require('../../../../client.cjs');
28
- require('@dynamic-labs-sdk/client');
29
29
  require('../../../../../config/ApiEndpoint.cjs');
30
30
  require('../../../../../events/dynamicEvents.cjs');
31
31
  require('@dynamic-labs/locale');
32
32
  require('../../../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
33
33
  require('../../../../../store/state/primaryWalletId/primaryWalletId.cjs');
34
34
  require('../../../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
35
- var getClientSessionKeys = require('../../../../../utils/functions/clientSessionKeys/getClientSessionKeys.cjs');
36
35
  require('../../../../../utils/functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
37
36
 
38
37
  const getApiHeaders = () => {
@@ -43,9 +42,9 @@ const getApiHeaders = () => {
43
42
  if (deviceFingerprint) {
44
43
  apiHeaders['x-dyn-device-fingerprint'] = deviceFingerprint;
45
44
  }
46
- const sessionPublicKey = getClientSessionKeys.getClientSessionPublicKey();
47
- if (sessionPublicKey) {
48
- apiHeaders['x-dyn-session-public-key'] = sessionPublicKey;
45
+ const sessionKeys = core.getSessionKeys(client.getDefaultClient());
46
+ if (sessionKeys === null || sessionKeys === void 0 ? void 0 : sessionKeys.publicKey) {
47
+ apiHeaders['x-dyn-session-public-key'] = sessionKeys.publicKey;
49
48
  }
50
49
  apiHeaders['x-dyn-version'] = `WalletKit/${version.VERSION}`;
51
50
  apiHeaders['x-dyn-api-version'] = `API/${version.API_VERSION}`;
@@ -1,4 +1,6 @@
1
1
  'use client'
2
+ import { getDefaultClient } from '@dynamic-labs-sdk/client';
3
+ import { getSessionKeys } from '@dynamic-labs-sdk/client/core';
2
4
  import { VERSION, API_VERSION } from '../../../../../../version.js';
3
5
  import { isGlobalWalletPopup } from '../../../../../shared/utils/functions/isGlobalWalletPopup/isGlobalWalletPopup.js';
4
6
  import '@dynamic-labs/sdk-api-core';
@@ -19,16 +21,13 @@ import '../../../../../utils/constants/colors.js';
19
21
  import '../../../../../shared/consts/index.js';
20
22
  import '../../../../../store/state/nonce/nonce.js';
21
23
  import { randomString } from '../../../../../utils/functions/randomString/randomString.js';
22
- import '@dynamic-labs-sdk/client/core';
23
24
  import '../../../../client.js';
24
- import '@dynamic-labs-sdk/client';
25
25
  import '../../../../../config/ApiEndpoint.js';
26
26
  import '../../../../../events/dynamicEvents.js';
27
27
  import '@dynamic-labs/locale';
28
28
  import '../../../../../store/state/dynamicContextProps/dynamicContextProps.js';
29
29
  import '../../../../../store/state/primaryWalletId/primaryWalletId.js';
30
30
  import '../../../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
31
- import { getClientSessionPublicKey } from '../../../../../utils/functions/clientSessionKeys/getClientSessionKeys.js';
32
31
  import '../../../../../utils/functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
33
32
 
34
33
  const getApiHeaders = () => {
@@ -39,9 +38,9 @@ const getApiHeaders = () => {
39
38
  if (deviceFingerprint) {
40
39
  apiHeaders['x-dyn-device-fingerprint'] = deviceFingerprint;
41
40
  }
42
- const sessionPublicKey = getClientSessionPublicKey();
43
- if (sessionPublicKey) {
44
- apiHeaders['x-dyn-session-public-key'] = sessionPublicKey;
41
+ const sessionKeys = getSessionKeys(getDefaultClient());
42
+ if (sessionKeys === null || sessionKeys === void 0 ? void 0 : sessionKeys.publicKey) {
43
+ apiHeaders['x-dyn-session-public-key'] = sessionKeys.publicKey;
45
44
  }
46
45
  apiHeaders['x-dyn-version'] = `WalletKit/${VERSION}`;
47
46
  apiHeaders['x-dyn-api-version'] = `API/${API_VERSION}`;
@@ -25,6 +25,18 @@ const syncEvents = (client$1) => {
25
25
  dynamicEvents.dynamicEvents.emit('logout');
26
26
  },
27
27
  }, client$1);
28
+ client.onEvent({
29
+ event: 'deviceRegistrationCompleted',
30
+ listener: () => {
31
+ dynamicEvents.dynamicEvents.emit('deviceRegistrationCompleted');
32
+ },
33
+ }, client$1);
34
+ client.onEvent({
35
+ event: 'deviceRegistrationCompletedInAnotherTab',
36
+ listener: () => {
37
+ dynamicEvents.dynamicEvents.emit('deviceRegistrationCompletedInAnotherTab');
38
+ },
39
+ }, client$1);
28
40
  };
29
41
 
30
42
  exports.syncEvents = syncEvents;
@@ -21,6 +21,18 @@ const syncEvents = (client) => {
21
21
  dynamicEvents.emit('logout');
22
22
  },
23
23
  }, client);
24
+ onEvent({
25
+ event: 'deviceRegistrationCompleted',
26
+ listener: () => {
27
+ dynamicEvents.emit('deviceRegistrationCompleted');
28
+ },
29
+ }, client);
30
+ onEvent({
31
+ event: 'deviceRegistrationCompletedInAnotherTab',
32
+ listener: () => {
33
+ dynamicEvents.emit('deviceRegistrationCompletedInAnotherTab');
34
+ },
35
+ }, client);
24
36
  };
25
37
 
26
38
  export { syncEvents };
@@ -20,6 +20,7 @@ require('../../../../utils/constants/colors.cjs');
20
20
  require('../../../../utils/constants/values.cjs');
21
21
  require('@dynamic-labs/sdk-api-core');
22
22
  require('../../../../shared/consts/index.cjs');
23
+ var migrateClientSessionKey = require('../../functions/migrateClientSessionKey/migrateClientSessionKey.cjs');
23
24
  var getApiHeaders = require('./getApiHeaders/getApiHeaders.cjs');
24
25
  var syncEvents = require('./syncEvents/syncEvents.cjs');
25
26
 
@@ -69,6 +70,7 @@ const useInitializeSdkClient = ({ settings, client: clientFromProps }, key) => {
69
70
  logLevel: settings.logLevel === 'DEBUG' ? 'debug' : undefined,
70
71
  });
71
72
  setClient(client$2);
73
+ void migrateClientSessionKey.migrateClientSessionKey();
72
74
  };
73
75
 
74
76
  exports.useInitializeSdkClient = useInitializeSdkClient;
@@ -16,6 +16,7 @@ import '../../../../utils/constants/colors.js';
16
16
  import '../../../../utils/constants/values.js';
17
17
  import '@dynamic-labs/sdk-api-core';
18
18
  import '../../../../shared/consts/index.js';
19
+ import { migrateClientSessionKey } from '../../functions/migrateClientSessionKey/migrateClientSessionKey.js';
19
20
  import { getApiHeaders } from './getApiHeaders/getApiHeaders.js';
20
21
  import { syncEvents } from './syncEvents/syncEvents.js';
21
22
 
@@ -65,6 +66,7 @@ const useInitializeSdkClient = ({ settings, client: clientFromProps }, key) => {
65
66
  logLevel: settings.logLevel === 'DEBUG' ? 'debug' : undefined,
66
67
  });
67
68
  setClient(client);
69
+ void migrateClientSessionKey();
68
70
  };
69
71
 
70
72
  export { useInitializeSdkClient };
@@ -16,6 +16,10 @@ export { getSignInCredentialIdFromMinToken } from './functions/getSignInCredenti
16
16
  export { getAuthToken } from './functions/getAuthToken';
17
17
  export { getExpiresAt } from './functions/getExpiresAt';
18
18
  export { hasElevatedAccessToken } from './functions/hasElevatedAccessToken';
19
+ export { generateChainingSignature } from './functions/generateChainingSignature/generateChainingSignature';
20
+ export { generateSessionKeys } from './functions/generateSessionKeys/generateSessionKeys';
21
+ export { getSessionKeys } from './functions/getSessionKeys/getSessionKeys';
22
+ export { getClientSessionNonceHeaders } from './functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders';
19
23
  export { useInitStatus } from './initStatus/useInitStatus';
20
24
  export { setUnverifiedWalletAccounts } from './unverifiedWalletAccounts/setUnverifiedWalletAccounts';
21
25
  export { createDeviceSignatureHeadersMiddleware } from './functions/createDeviceSignatureHeadersMiddleware';
@@ -139,7 +139,9 @@ const getDisplayErrorMessage = (errors, t, field, decimals) => {
139
139
  }
140
140
  return '';
141
141
  };
142
- const SendBalanceForm = ({ initialValues, onSubmit, decimals = 18, validateAddress = () => true, validateAmount = () => true, currentToken, transaction, tokenBalances, setCurrentToken, isLoading, }) => {
142
+ const SendBalanceForm = ({ initialValues, onSubmit, decimals = 18, validateAddress = () => true, validateAmount = () => true, currentToken, transaction, tokenBalances, setCurrentToken, isLoading,
143
+ // Tempo-specific props
144
+ isTempo = false, feeTokenOptions, currentFeeToken, setCurrentFeeToken, }) => {
143
145
  const { t } = reactI18next.useTranslation();
144
146
  const { showFiat } = useInternalDynamicContext.useInternalDynamicContext();
145
147
  const floatingValueRef = React.useRef(null);
@@ -194,7 +196,18 @@ const SendBalanceForm = ({ initialValues, onSubmit, decimals = 18, validateAddre
194
196
  paddingLeft: `${leftSymbolPadding}px`,
195
197
  } }), jsxRuntime.jsx("div", { className: 'send-balance-form__amount-container__floating_value', ref: floatingValueRef, children: jsxRuntime.jsx(Typography.Typography, { variant: 'title', weight: 'regular', color: 'secondary', children: currentToken === null || currentToken === void 0 ? void 0 : currentToken.symbol }) }), jsxRuntime.jsx("div", { className: 'send-balance-form__amount-container__balance', children: showFiat && !Number.isNaN(amount) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_mini', weight: 'bold', color: 'secondary', children: "$" }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_mini', weight: 'regular', color: 'secondary', children: utils.getDisplayFiatPrice(amount, currentToken) })] })) })] }), jsxRuntime.jsx(Typography.Typography, { className: 'send-balance-form__amount_available', variant: 'body_small', weight: 'regular', color: 'secondary', as: 'div', children: jsxRuntime.jsxs("div", { style: { display: 'flex', gap: '0.225rem' }, children: [jsxRuntime.jsx(Typography.Typography, { className: 'send-balance-form__amount_available__line', variant: 'body_small', weight: 'bold', color: 'primary', as: 'div', children: (_a = currentToken === null || currentToken === void 0 ? void 0 : currentToken.balance) !== null && _a !== void 0 ? _a : 0 }), t('dyn_send_transaction.data.symbol_available', {
196
198
  symbol: currentToken === null || currentToken === void 0 ? void 0 : currentToken.symbol,
197
- })] }) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', weight: 'regular', color: 'secondary', copykey: 'dyn_send_transaction.data.recipient.label', children: "Recipient Address" }), jsxRuntime.jsx(formik.Field, { className: 'send-balance-form__field', placeholder: t('dyn_send_transaction.data.recipient.placeholder'), label: t('dyn_send_transaction.data.recipient.label'), id: 'recipient', name: 'recipient', as: Input.Input, error: errors['recipient'], copykey: 'dyn_send_transaction.data.recipient.label', message: touched['recipient'] &&
199
+ })] }) }), isTempo &&
200
+ feeTokenOptions &&
201
+ feeTokenOptions.length > 0 &&
202
+ setCurrentFeeToken && (jsxRuntime.jsxs("div", { className: 'send-balance-form__fee-token-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', weight: 'regular', color: 'secondary', style: { marginBottom: '8px' }, children: t('dyn_send_transaction.data.fee_token_label') }), jsxRuntime.jsx("select", { className: 'send-balance-form__fee-token-select', value: (currentFeeToken === null || currentFeeToken === void 0 ? void 0 : currentFeeToken.address) || '', onChange: ({ target: { value } }) => {
203
+ const selected = feeTokenOptions.find((token) => token.address === value);
204
+ if (selected) {
205
+ setCurrentFeeToken(selected);
206
+ }
207
+ }, children: feeTokenOptions.map((token) => {
208
+ var _a;
209
+ return (jsxRuntime.jsxs("option", { value: token.address, children: [token.symbol, " (", ((_a = token.balance) === null || _a === void 0 ? void 0 : _a.toLocaleString()) || 0, ' ', "available)"] }, token.address));
210
+ }) })] })), jsxRuntime.jsx(Typography.Typography, { variant: 'body_small', weight: 'regular', color: 'secondary', copykey: 'dyn_send_transaction.data.recipient.label', children: "Recipient Address" }), jsxRuntime.jsx(formik.Field, { className: 'send-balance-form__field', placeholder: t('dyn_send_transaction.data.recipient.placeholder'), label: t('dyn_send_transaction.data.recipient.label'), id: 'recipient', name: 'recipient', as: Input.Input, error: errors['recipient'], copykey: 'dyn_send_transaction.data.recipient.label', message: touched['recipient'] &&
198
211
  getDisplayErrorMessage(errors, t, 'recipient') }), jsxRuntime.jsx(TypographyButton.TypographyButton, { dataTestId: 'sendBalanceFormSubmitButton', expanded: true, type: 'submit', buttonVariant: 'primary', buttonPadding: 'small', buttonClassName: 'send-balance-form__button', copykey: 'dyn_send_transaction.preview_transaction', children: t('dyn_send_transaction.preview_transaction') })] }));
199
212
  } }));
200
213
  };
@@ -16,5 +16,9 @@ export type Props = {
16
16
  setCurrentToken: Dispatch<SetStateAction<TokenBalance | undefined>>;
17
17
  isLoading?: boolean;
18
18
  transaction: IUITransaction;
19
+ isTempo?: boolean;
20
+ feeTokenOptions?: TokenBalance[];
21
+ currentFeeToken?: TokenBalance;
22
+ setCurrentFeeToken?: Dispatch<SetStateAction<TokenBalance | undefined>>;
19
23
  };
20
24
  export declare const SendBalanceForm: FC<Props>;