@dynamic-labs-sdk/client 1.17.1 → 1.19.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 (319) hide show
  1. package/dist/client/createDynamicClient/createDynamicClient.d.ts +11 -1
  2. package/dist/client/createDynamicClient/createDynamicClient.d.ts.map +1 -1
  3. package/dist/client/defaultClient/defaultClient.d.ts +12 -1
  4. package/dist/client/defaultClient/defaultClient.d.ts.map +1 -1
  5. package/dist/core.cjs +7 -5
  6. package/dist/core.cjs.map +1 -1
  7. package/dist/core.esm.js +6 -6
  8. package/dist/core.esm.js.map +1 -1
  9. package/dist/core.native.esm.js +6 -6
  10. package/dist/core.native.esm.js.map +1 -1
  11. package/dist/errors/APIError/APIError.d.ts +11 -1
  12. package/dist/errors/APIError/APIError.d.ts.map +1 -1
  13. package/dist/errors/DeviceRegistrationIdentityMismatchError.d.ts +26 -0
  14. package/dist/errors/DeviceRegistrationIdentityMismatchError.d.ts.map +1 -0
  15. package/dist/errors/MergeAccountsConfirmationError.d.ts +49 -0
  16. package/dist/errors/MergeAccountsConfirmationError.d.ts.map +1 -0
  17. package/dist/errors/UnsafeDeeplinkUrlError.d.ts +17 -0
  18. package/dist/errors/UnsafeDeeplinkUrlError.d.ts.map +1 -0
  19. package/dist/errors/UnsafeNavigationUrlError.d.ts +16 -0
  20. package/dist/errors/UnsafeNavigationUrlError.d.ts.map +1 -0
  21. package/dist/errors/WalletScreeningBlockedError.d.ts +27 -0
  22. package/dist/errors/WalletScreeningBlockedError.d.ts.map +1 -0
  23. package/dist/exports/core.d.ts +4 -0
  24. package/dist/exports/core.d.ts.map +1 -1
  25. package/dist/exports/index.d.ts +18 -3
  26. package/dist/exports/index.d.ts.map +1 -1
  27. package/dist/exports/waas.d.ts +2 -0
  28. package/dist/exports/waas.d.ts.map +1 -1
  29. package/dist/{getNetworkProviderFromNetworkId-CS4r9hi7.cjs → getNetworkProviderFromNetworkId-BJX2AMGR.cjs} +190 -19
  30. package/dist/getNetworkProviderFromNetworkId-BJX2AMGR.cjs.map +1 -0
  31. package/dist/{getNetworkProviderFromNetworkId-Bfg-NkNJ.native.esm.js → getNetworkProviderFromNetworkId-Bsv12Q6B.native.esm.js} +165 -10
  32. package/dist/getNetworkProviderFromNetworkId-Bsv12Q6B.native.esm.js.map +1 -0
  33. package/dist/{getNetworkProviderFromNetworkId-pknqqhk1.esm.js → getNetworkProviderFromNetworkId-D3uwhdMN.esm.js} +166 -19
  34. package/dist/getNetworkProviderFromNetworkId-D3uwhdMN.esm.js.map +1 -0
  35. package/dist/{getSignedSessionId-cMGkmojJ.cjs → getSignedSessionId-BIZJGg61.cjs} +3 -3
  36. package/dist/{getSignedSessionId-cMGkmojJ.cjs.map → getSignedSessionId-BIZJGg61.cjs.map} +1 -1
  37. package/dist/{getSignedSessionId-CUw7LJ35.esm.js → getSignedSessionId-CnSAMO3P.esm.js} +3 -3
  38. package/dist/{getSignedSessionId-CUw7LJ35.esm.js.map → getSignedSessionId-CnSAMO3P.esm.js.map} +1 -1
  39. package/dist/{getSignedSessionId-Cl3PEqa8.native.esm.js → getSignedSessionId-DXDi7NkE.native.esm.js} +3 -3
  40. package/dist/{getSignedSessionId-Cl3PEqa8.native.esm.js.map → getSignedSessionId-DXDi7NkE.native.esm.js.map} +1 -1
  41. package/dist/{getWalletProviderByKey-CP9Te5Sz.cjs → getWalletProviderByKey-C6aS7KgD.cjs} +2 -2
  42. package/dist/{getWalletProviderByKey-CP9Te5Sz.cjs.map → getWalletProviderByKey-C6aS7KgD.cjs.map} +1 -1
  43. package/dist/{getWalletProviderByKey-lQVfIGFi.esm.js → getWalletProviderByKey-Cr8m-Nax.esm.js} +2 -2
  44. package/dist/{getWalletProviderByKey-lQVfIGFi.esm.js.map → getWalletProviderByKey-Cr8m-Nax.esm.js.map} +1 -1
  45. package/dist/{getWalletProviderByKey-24co0tBE.native.esm.js → getWalletProviderByKey-DVk2t98D.native.esm.js} +2 -2
  46. package/dist/{getWalletProviderByKey-24co0tBE.native.esm.js.map → getWalletProviderByKey-DVk2t98D.native.esm.js.map} +1 -1
  47. package/dist/index.cjs +950 -111
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.esm.js +940 -112
  50. package/dist/index.esm.js.map +1 -1
  51. package/dist/index.native.esm.js +867 -111
  52. package/dist/index.native.esm.js.map +1 -1
  53. package/dist/{isDynamicWaasEnabled-BwP1oowd.cjs → isDynamicWaasEnabled-BawttOeb.cjs} +21 -9
  54. package/dist/isDynamicWaasEnabled-BawttOeb.cjs.map +1 -0
  55. package/dist/{isDynamicWaasEnabled-BYaqAOml.esm.js → isDynamicWaasEnabled-DDrg89y1.esm.js} +20 -8
  56. package/dist/isDynamicWaasEnabled-DDrg89y1.esm.js.map +1 -0
  57. package/dist/{isDynamicWaasEnabled-BXe0VyI4.native.esm.js → isDynamicWaasEnabled-Dj_sLoBO.native.esm.js} +20 -8
  58. package/dist/isDynamicWaasEnabled-Dj_sLoBO.native.esm.js.map +1 -0
  59. package/dist/{isMfaRequiredForAction-Btejc5g3.cjs → isMfaRequiredForAction-BuvyBN_r.cjs} +21 -6
  60. package/dist/isMfaRequiredForAction-BuvyBN_r.cjs.map +1 -0
  61. package/dist/{isMfaRequiredForAction-CqEcCTIe.esm.js → isMfaRequiredForAction-DTp4CZBt.esm.js} +21 -6
  62. package/dist/isMfaRequiredForAction-DTp4CZBt.esm.js.map +1 -0
  63. package/dist/{isMfaRequiredForAction-Demz9zlH.native.esm.js → isMfaRequiredForAction-EY-OQORc.native.esm.js} +3 -5
  64. package/dist/isMfaRequiredForAction-EY-OQORc.native.esm.js.map +1 -0
  65. package/dist/{isUserOnboardingComplete-C86NDY7I.cjs → isUserOnboardingComplete-CkyzRYrg.cjs} +14 -4
  66. package/dist/isUserOnboardingComplete-CkyzRYrg.cjs.map +1 -0
  67. package/dist/{isUserOnboardingComplete-CBrAH0ZF.esm.js → isUserOnboardingComplete-D3HrBYje.native.esm.js} +13 -3
  68. package/dist/isUserOnboardingComplete-D3HrBYje.native.esm.js.map +1 -0
  69. package/dist/{isUserOnboardingComplete-Cr-YTpcU.native.esm.js → isUserOnboardingComplete-Dy2Ygp0u.esm.js} +13 -3
  70. package/dist/isUserOnboardingComplete-Dy2Ygp0u.esm.js.map +1 -0
  71. package/dist/{migrateFromFireblocks-D-J6-gRo.native.esm.js → migrateFromFireblocks-B5qWGLCM.native.esm.js} +3 -3
  72. package/dist/{migrateFromFireblocks-D-J6-gRo.native.esm.js.map → migrateFromFireblocks-B5qWGLCM.native.esm.js.map} +1 -1
  73. package/dist/{migrateFromFireblocks-B_q8Oawb.cjs → migrateFromFireblocks-Dp-QA9hi.cjs} +3 -3
  74. package/dist/{migrateFromFireblocks-B_q8Oawb.cjs.map → migrateFromFireblocks-Dp-QA9hi.cjs.map} +1 -1
  75. package/dist/{migrateFromFireblocks-Bbx2wHZD.esm.js → migrateFromFireblocks-MAatsk_w.esm.js} +3 -3
  76. package/dist/{migrateFromFireblocks-Bbx2wHZD.esm.js.map → migrateFromFireblocks-MAatsk_w.esm.js.map} +1 -1
  77. package/dist/modules/apiClient/constants.d.ts +8 -0
  78. package/dist/modules/apiClient/constants.d.ts.map +1 -1
  79. package/dist/modules/apiClient/createApiClient.d.ts.map +1 -1
  80. package/dist/modules/auth/externalAuth/requestExternalAuthElevatedToken/requestExternalAuthElevatedToken.d.ts +0 -1
  81. package/dist/modules/auth/externalAuth/requestExternalAuthElevatedToken/requestExternalAuthElevatedToken.d.ts.map +1 -1
  82. package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts +11 -2
  83. package/dist/modules/auth/externalAuth/signInWithExternalJwt/signInWithExternalJwt.d.ts.map +1 -1
  84. package/dist/modules/auth/isSignedIn/isSignedIn.d.ts +9 -0
  85. package/dist/modules/auth/isSignedIn/isSignedIn.d.ts.map +1 -1
  86. package/dist/modules/auth/logout/logout.d.ts +13 -0
  87. package/dist/modules/auth/logout/logout.d.ts.map +1 -1
  88. package/dist/modules/auth/logoutWithReason/logoutWithReason.d.ts.map +1 -1
  89. package/dist/modules/auth/mergeUserAccounts/index.d.ts +3 -0
  90. package/dist/modules/auth/mergeUserAccounts/index.d.ts.map +1 -0
  91. package/dist/modules/auth/mergeUserAccounts/mergeUserAccounts.d.ts +62 -0
  92. package/dist/modules/auth/mergeUserAccounts/mergeUserAccounts.d.ts.map +1 -0
  93. package/dist/modules/auth/mergeUserAccounts/mergeUserAccounts.types.d.ts +78 -0
  94. package/dist/modules/auth/mergeUserAccounts/mergeUserAccounts.types.d.ts.map +1 -0
  95. package/dist/modules/auth/passkeys/registerPasskey/registerPasskey.d.ts +7 -1
  96. package/dist/modules/auth/passkeys/registerPasskey/registerPasskey.d.ts.map +1 -1
  97. package/dist/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts +9 -1
  98. package/dist/modules/auth/passkeys/signInWithPasskey/signInWithPasskey.d.ts.map +1 -1
  99. package/dist/modules/auth/social/oauth/authenticateWithSocial/authenticateWithSocial.d.ts +8 -0
  100. package/dist/modules/auth/social/oauth/authenticateWithSocial/authenticateWithSocial.d.ts.map +1 -1
  101. package/dist/modules/auth/social/oauth/clearSocialRedirectParams/clearSocialRedirectParams.d.ts +34 -0
  102. package/dist/modules/auth/social/oauth/clearSocialRedirectParams/clearSocialRedirectParams.d.ts.map +1 -0
  103. package/dist/modules/auth/social/oauth/clearSocialRedirectParams/index.d.ts +2 -0
  104. package/dist/modules/auth/social/oauth/clearSocialRedirectParams/index.d.ts.map +1 -0
  105. package/dist/modules/auth/social/oauth/completeSocialRedirect/completeSocialRedirect.d.ts +11 -0
  106. package/dist/modules/auth/social/oauth/completeSocialRedirect/completeSocialRedirect.d.ts.map +1 -1
  107. package/dist/modules/auth/social/oauth/detectSocialRedirectUrl/detectSocialRedirectUrl.d.ts +0 -1
  108. package/dist/modules/auth/social/oauth/detectSocialRedirectUrl/detectSocialRedirectUrl.d.ts.map +1 -1
  109. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.d.ts +12 -0
  110. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.d.ts.map +1 -1
  111. package/dist/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.d.ts.map +1 -1
  112. package/dist/modules/auth/social/oauth/signInWithSocialRedirect/signInWithSocialRedirect.d.ts +10 -0
  113. package/dist/modules/auth/social/oauth/signInWithSocialRedirect/signInWithSocialRedirect.d.ts.map +1 -1
  114. package/dist/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts +0 -1
  115. package/dist/modules/auth/social/oauth/unlinkSocialAccount/unlinkSocialAccount.d.ts.map +1 -1
  116. package/dist/modules/auth/updateAuthFromVerifyResponse/updateAuthFromVerifyResponse.d.ts.map +1 -1
  117. package/dist/modules/captcha/CaptchaProviderEnum/CaptchaProviderEnum.d.ts +37 -0
  118. package/dist/modules/captcha/CaptchaProviderEnum/CaptchaProviderEnum.d.ts.map +1 -0
  119. package/dist/modules/captcha/getCaptchaSettings/getCaptchaSettings.d.ts +50 -0
  120. package/dist/modules/captcha/getCaptchaSettings/getCaptchaSettings.d.ts.map +1 -0
  121. package/dist/modules/captcha/getCaptchaSettings/getCaptchaSettings.types.d.ts +22 -0
  122. package/dist/modules/captcha/getCaptchaSettings/getCaptchaSettings.types.d.ts.map +1 -0
  123. package/dist/modules/captcha/getCaptchaSettings/index.d.ts +3 -0
  124. package/dist/modules/captcha/getCaptchaSettings/index.d.ts.map +1 -0
  125. package/dist/modules/captcha/isCaptchaRequired/isCaptchaRequired.d.ts.map +1 -1
  126. package/dist/modules/captcha/setCaptchaToken/setCaptchaToken.d.ts +0 -1
  127. package/dist/modules/captcha/setCaptchaToken/setCaptchaToken.d.ts.map +1 -1
  128. package/dist/modules/clientEvents/clientEvents.d.ts +34 -0
  129. package/dist/modules/clientEvents/clientEvents.d.ts.map +1 -1
  130. package/dist/modules/deviceRegistration/clearDeviceRegistrationRedirectParams/clearDeviceRegistrationRedirectParams.d.ts +35 -0
  131. package/dist/modules/deviceRegistration/clearDeviceRegistrationRedirectParams/clearDeviceRegistrationRedirectParams.d.ts.map +1 -0
  132. package/dist/modules/deviceRegistration/clearDeviceRegistrationRedirectParams/index.d.ts +2 -0
  133. package/dist/modules/deviceRegistration/clearDeviceRegistrationRedirectParams/index.d.ts.map +1 -0
  134. package/dist/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.d.ts +8 -1
  135. package/dist/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.d.ts.map +1 -1
  136. package/dist/modules/deviceRegistration/isDeviceRegistrationRequired/isDeviceRegistrationRequired.d.ts +1 -0
  137. package/dist/modules/deviceRegistration/isDeviceRegistrationRequired/isDeviceRegistrationRequired.d.ts.map +1 -1
  138. package/dist/modules/flow/attachFlowSource/attachFlowSource.instrumentation.d.ts +9 -0
  139. package/dist/modules/flow/attachFlowSource/attachFlowSource.instrumentation.d.ts.map +1 -0
  140. package/dist/modules/flow/broadcastFlow/broadcastFlow.instrumentation.d.ts +9 -0
  141. package/dist/modules/flow/broadcastFlow/broadcastFlow.instrumentation.d.ts.map +1 -0
  142. package/dist/modules/flow/cancelFlow/cancelFlow.d.ts +10 -3
  143. package/dist/modules/flow/cancelFlow/cancelFlow.d.ts.map +1 -1
  144. package/dist/modules/flow/cancelFlow/cancelFlow.instrumentation.d.ts +8 -0
  145. package/dist/modules/flow/cancelFlow/cancelFlow.instrumentation.d.ts.map +1 -0
  146. package/dist/modules/flow/getFlow/getFlow.d.ts +11 -3
  147. package/dist/modules/flow/getFlow/getFlow.d.ts.map +1 -1
  148. package/dist/modules/flow/getFlowQuote/getFlowQuote.d.ts +16 -3
  149. package/dist/modules/flow/getFlowQuote/getFlowQuote.d.ts.map +1 -1
  150. package/dist/modules/flow/prepareFlowSigning/prepareFlowSigning.instrumentation.d.ts +9 -0
  151. package/dist/modules/flow/prepareFlowSigning/prepareFlowSigning.instrumentation.d.ts.map +1 -0
  152. package/dist/modules/flow/submitFlowTransaction/submitFlowTransaction.instrumentation.d.ts +9 -0
  153. package/dist/modules/flow/submitFlowTransaction/submitFlowTransaction.instrumentation.d.ts.map +1 -0
  154. package/dist/modules/funding/moonpay/getMoonPayUrl/getMoonPayUrl.d.ts +0 -4
  155. package/dist/modules/funding/moonpay/getMoonPayUrl/getMoonPayUrl.d.ts.map +1 -1
  156. package/dist/modules/initializeClient/initializeClient.d.ts +16 -0
  157. package/dist/modules/initializeClient/initializeClient.d.ts.map +1 -1
  158. package/dist/modules/initializeClient/waitForClientInitialized/waitForClientInitialized.d.ts +12 -2
  159. package/dist/modules/initializeClient/waitForClientInitialized/waitForClientInitialized.d.ts.map +1 -1
  160. package/dist/modules/mfa/consumeMfaToken/consumeMfaToken.d.ts +0 -1
  161. package/dist/modules/mfa/consumeMfaToken/consumeMfaToken.d.ts.map +1 -1
  162. package/dist/modules/mfa/createNewMfaRecoveryCodes/createNewMfaRecoveryCodes.d.ts +0 -1
  163. package/dist/modules/mfa/createNewMfaRecoveryCodes/createNewMfaRecoveryCodes.d.ts.map +1 -1
  164. package/dist/modules/mfa/isPendingRecoveryCodesAcknowledgment/isPendingRecoveryCodesAcknowledgment.d.ts +1 -0
  165. package/dist/modules/mfa/isPendingRecoveryCodesAcknowledgment/isPendingRecoveryCodesAcknowledgment.d.ts.map +1 -1
  166. package/dist/modules/mfa/isUserMissingMfaAuth/isUserMissingMfaAuth.d.ts +1 -0
  167. package/dist/modules/mfa/isUserMissingMfaAuth/isUserMissingMfaAuth.d.ts.map +1 -1
  168. package/dist/modules/mfa/registerTotpMfaDevice/registerTotpMfaDevice.d.ts +0 -3
  169. package/dist/modules/mfa/registerTotpMfaDevice/registerTotpMfaDevice.d.ts.map +1 -1
  170. package/dist/modules/otp/sendEmailOTP/sendEmailOTP.d.ts +14 -1
  171. package/dist/modules/otp/sendEmailOTP/sendEmailOTP.d.ts.map +1 -1
  172. package/dist/modules/otp/sendSmsOTP/sendSmsOTP.d.ts +12 -1
  173. package/dist/modules/otp/sendSmsOTP/sendSmsOTP.d.ts.map +1 -1
  174. package/dist/modules/otp/verifyOTP/verifyOTP.d.ts +33 -2
  175. package/dist/modules/otp/verifyOTP/verifyOTP.d.ts.map +1 -1
  176. package/dist/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts +1 -1
  177. package/dist/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts.map +1 -1
  178. package/dist/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.d.ts +8 -0
  179. package/dist/modules/projectSettings/fetchProjectSettings/fetchProjectSettings.d.ts.map +1 -1
  180. package/dist/modules/user/checkUserScopes/checkUserScopes.d.ts +28 -0
  181. package/dist/modules/user/checkUserScopes/checkUserScopes.d.ts.map +1 -0
  182. package/dist/modules/user/checkUserScopes/index.d.ts +2 -0
  183. package/dist/modules/user/checkUserScopes/index.d.ts.map +1 -0
  184. package/dist/modules/user/deleteUser/deleteUser.d.ts +8 -0
  185. package/dist/modules/user/deleteUser/deleteUser.d.ts.map +1 -1
  186. package/dist/modules/user/isUserOnboardingComplete/isUserOnboardingComplete.d.ts +9 -1
  187. package/dist/modules/user/isUserOnboardingComplete/isUserOnboardingComplete.d.ts.map +1 -1
  188. package/dist/modules/user/refreshAuth/refreshAuth.d.ts +17 -4
  189. package/dist/modules/user/refreshAuth/refreshAuth.d.ts.map +1 -1
  190. package/dist/modules/user/refreshUser/refreshUser.d.ts +16 -3
  191. package/dist/modules/user/refreshUser/refreshUser.d.ts.map +1 -1
  192. package/dist/modules/user/updateUser/updateUser.d.ts +0 -1
  193. package/dist/modules/user/updateUser/updateUser.d.ts.map +1 -1
  194. package/dist/modules/user/user.types.d.ts +9 -1
  195. package/dist/modules/user/user.types.d.ts.map +1 -1
  196. package/dist/modules/waas/getEmbeddedWalletsRequiringUpgrade/getEmbeddedWalletsRequiringUpgrade.d.ts +30 -0
  197. package/dist/modules/waas/getEmbeddedWalletsRequiringUpgrade/getEmbeddedWalletsRequiringUpgrade.d.ts.map +1 -0
  198. package/dist/modules/waas/getEmbeddedWalletsRequiringUpgrade/index.d.ts +2 -0
  199. package/dist/modules/waas/getEmbeddedWalletsRequiringUpgrade/index.d.ts.map +1 -0
  200. package/dist/modules/waas/hasEmbeddedWalletsRequiringUpgrade/hasEmbeddedWalletsRequiringUpgrade.d.ts +23 -0
  201. package/dist/modules/waas/hasEmbeddedWalletsRequiringUpgrade/hasEmbeddedWalletsRequiringUpgrade.d.ts.map +1 -0
  202. package/dist/modules/waas/hasEmbeddedWalletsRequiringUpgrade/index.d.ts +2 -0
  203. package/dist/modules/waas/hasEmbeddedWalletsRequiringUpgrade/index.d.ts.map +1 -0
  204. package/dist/modules/wallets/connectAndVerifyWithWalletProvider/connectAndVerifyWithWalletProvider.d.ts +11 -1
  205. package/dist/modules/wallets/connectAndVerifyWithWalletProvider/connectAndVerifyWithWalletProvider.d.ts.map +1 -1
  206. package/dist/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts +11 -3
  207. package/dist/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts.map +1 -1
  208. package/dist/modules/wallets/disconnectWalletAccount/disconnectWalletAccount.d.ts +16 -3
  209. package/dist/modules/wallets/disconnectWalletAccount/disconnectWalletAccount.d.ts.map +1 -1
  210. package/dist/modules/wallets/getConnectedAddresses/getConnectedAddresses.d.ts +9 -1
  211. package/dist/modules/wallets/getConnectedAddresses/getConnectedAddresses.d.ts.map +1 -1
  212. package/dist/modules/wallets/getWalletAccounts/getWalletAccounts.d.ts +11 -1
  213. package/dist/modules/wallets/getWalletAccounts/getWalletAccounts.d.ts.map +1 -1
  214. package/dist/modules/wallets/getWalletProviderDataByKey/getWalletProviderDataByKey.d.ts +2 -1
  215. package/dist/modules/wallets/getWalletProviderDataByKey/getWalletProviderDataByKey.d.ts.map +1 -1
  216. package/dist/modules/wallets/isAnyWalletAccountConnected/isAnyWalletAccountConnected.d.ts +9 -0
  217. package/dist/modules/wallets/isAnyWalletAccountConnected/isAnyWalletAccountConnected.d.ts.map +1 -1
  218. package/dist/modules/wallets/isWalletAccountVerified/isWalletAccountVerified.d.ts +10 -2
  219. package/dist/modules/wallets/isWalletAccountVerified/isWalletAccountVerified.d.ts.map +1 -1
  220. package/dist/modules/wallets/networks/getBalance/getBalance.d.ts +8 -0
  221. package/dist/modules/wallets/networks/getBalance/getBalance.d.ts.map +1 -1
  222. package/dist/modules/wallets/networks/getNativeBalance/getNativeBalance.d.ts +8 -0
  223. package/dist/modules/wallets/networks/getNativeBalance/getNativeBalance.d.ts.map +1 -1
  224. package/dist/modules/wallets/networks/switchActiveNetwork/switchActiveNetwork.d.ts +11 -1
  225. package/dist/modules/wallets/networks/switchActiveNetwork/switchActiveNetwork.d.ts.map +1 -1
  226. package/dist/modules/wallets/proveWalletAccountOwnership/proveWalletAccountOwnership.d.ts +10 -0
  227. package/dist/modules/wallets/proveWalletAccountOwnership/proveWalletAccountOwnership.d.ts.map +1 -1
  228. package/dist/modules/wallets/removeWalletAccount/removeWalletAccount.d.ts +9 -1
  229. package/dist/modules/wallets/removeWalletAccount/removeWalletAccount.d.ts.map +1 -1
  230. package/dist/modules/wallets/selectedWalletAccount/getPrimaryWalletAccount/getPrimaryWalletAccount.d.ts +24 -0
  231. package/dist/modules/wallets/selectedWalletAccount/getPrimaryWalletAccount/getPrimaryWalletAccount.d.ts.map +1 -0
  232. package/dist/modules/wallets/selectedWalletAccount/getPrimaryWalletAccount/index.d.ts.map +1 -0
  233. package/dist/modules/wallets/selectedWalletAccount/getSelectedWalletAccount/getSelectedWalletAccount.d.ts +30 -0
  234. package/dist/modules/wallets/selectedWalletAccount/getSelectedWalletAccount/getSelectedWalletAccount.d.ts.map +1 -0
  235. package/dist/modules/wallets/selectedWalletAccount/getSelectedWalletAccount/index.d.ts +2 -0
  236. package/dist/modules/wallets/selectedWalletAccount/getSelectedWalletAccount/index.d.ts.map +1 -0
  237. package/dist/modules/wallets/selectedWalletAccount/selectPrimaryWalletAccount/index.d.ts.map +1 -0
  238. package/dist/modules/wallets/selectedWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.d.ts +28 -0
  239. package/dist/modules/wallets/selectedWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.d.ts.map +1 -0
  240. package/dist/modules/wallets/selectedWalletAccount/setSelectedWalletAccount/index.d.ts +2 -0
  241. package/dist/modules/wallets/selectedWalletAccount/setSelectedWalletAccount/index.d.ts.map +1 -0
  242. package/dist/modules/wallets/selectedWalletAccount/setSelectedWalletAccount/setSelectedWalletAccount.d.ts +34 -0
  243. package/dist/modules/wallets/selectedWalletAccount/setSelectedWalletAccount/setSelectedWalletAccount.d.ts.map +1 -0
  244. package/dist/modules/wallets/signMessage/signMessage.d.ts +12 -1
  245. package/dist/modules/wallets/signMessage/signMessage.d.ts.map +1 -1
  246. package/dist/modules/wallets/transferAmount/transferAmount.d.ts +13 -2
  247. package/dist/modules/wallets/transferAmount/transferAmount.d.ts.map +1 -1
  248. package/dist/modules/wallets/transferWalletAccount/transferWalletAccount.d.ts +10 -1
  249. package/dist/modules/wallets/transferWalletAccount/transferWalletAccount.d.ts.map +1 -1
  250. package/dist/modules/wallets/utils/getWalletAccountFromAddress/getWalletAccountFromAddress.d.ts +11 -1
  251. package/dist/modules/wallets/utils/getWalletAccountFromAddress/getWalletAccountFromAddress.d.ts.map +1 -1
  252. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts +3 -0
  253. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts.map +1 -1
  254. package/dist/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts +12 -1
  255. package/dist/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts.map +1 -1
  256. package/dist/services/instrumentation/createInstrumentation/createInstrumentation.d.ts.map +1 -1
  257. package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts +40 -34
  258. package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts.map +1 -1
  259. package/dist/services/instrumentation/instrumentation.types.d.ts +50 -19
  260. package/dist/services/instrumentation/instrumentation.types.d.ts.map +1 -1
  261. package/dist/services/keychain/createKeychainService/createKeychainService.d.ts.map +1 -1
  262. package/dist/services/navigate/createNavigationHandler/createNavigationHandler.d.ts.map +1 -1
  263. package/dist/services/openDeeplink/createWebDeeplinkOpener/createWebDeeplinkOpener.d.ts.map +1 -1
  264. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  265. package/dist/{updateAuthFromVerifyResponse-D1w-Aw9P.native.esm.js → updateAuthFromVerifyResponse-DFjqCSu2.native.esm.js} +235 -159
  266. package/dist/updateAuthFromVerifyResponse-DFjqCSu2.native.esm.js.map +1 -0
  267. package/dist/{updateAuthFromVerifyResponse-azIi_3FB.esm.js → updateAuthFromVerifyResponse-_oYRLK_w.esm.js} +235 -159
  268. package/dist/updateAuthFromVerifyResponse-_oYRLK_w.esm.js.map +1 -0
  269. package/dist/{updateAuthFromVerifyResponse-CElYpi97.cjs → updateAuthFromVerifyResponse-pgYXvDvj.cjs} +241 -159
  270. package/dist/updateAuthFromVerifyResponse-pgYXvDvj.cjs.map +1 -0
  271. package/dist/utils/assertSafeDeeplinkUrl/assertSafeDeeplinkUrl.d.ts +12 -0
  272. package/dist/utils/assertSafeDeeplinkUrl/assertSafeDeeplinkUrl.d.ts.map +1 -0
  273. package/dist/utils/assertSafeDeeplinkUrl/index.d.ts +2 -0
  274. package/dist/utils/assertSafeDeeplinkUrl/index.d.ts.map +1 -0
  275. package/dist/utils/assertSafeNavigationUrl/assertSafeNavigationUrl.d.ts +12 -0
  276. package/dist/utils/assertSafeNavigationUrl/assertSafeNavigationUrl.d.ts.map +1 -0
  277. package/dist/utils/assertSafeNavigationUrl/index.d.ts +2 -0
  278. package/dist/utils/assertSafeNavigationUrl/index.d.ts.map +1 -0
  279. package/dist/utils/getSecureCookieAttribute/getSecureCookieAttribute.d.ts +18 -0
  280. package/dist/utils/getSecureCookieAttribute/getSecureCookieAttribute.d.ts.map +1 -0
  281. package/dist/utils/getSecureCookieAttribute/index.d.ts +2 -0
  282. package/dist/utils/getSecureCookieAttribute/index.d.ts.map +1 -0
  283. package/dist/waas.cjs +72 -5
  284. package/dist/waas.cjs.map +1 -1
  285. package/dist/waas.esm.js +70 -5
  286. package/dist/waas.esm.js.map +1 -1
  287. package/dist/waas.native.esm.js +70 -5
  288. package/dist/waas.native.esm.js.map +1 -1
  289. package/dist/waasCore.cjs +6 -6
  290. package/dist/waasCore.esm.js +6 -6
  291. package/dist/waasCore.native.esm.js +6 -6
  292. package/package.json +3 -3
  293. package/dist/getNetworkProviderFromNetworkId-Bfg-NkNJ.native.esm.js.map +0 -1
  294. package/dist/getNetworkProviderFromNetworkId-CS4r9hi7.cjs.map +0 -1
  295. package/dist/getNetworkProviderFromNetworkId-pknqqhk1.esm.js.map +0 -1
  296. package/dist/isDynamicWaasEnabled-BXe0VyI4.native.esm.js.map +0 -1
  297. package/dist/isDynamicWaasEnabled-BYaqAOml.esm.js.map +0 -1
  298. package/dist/isDynamicWaasEnabled-BwP1oowd.cjs.map +0 -1
  299. package/dist/isMfaRequiredForAction-Btejc5g3.cjs.map +0 -1
  300. package/dist/isMfaRequiredForAction-CqEcCTIe.esm.js.map +0 -1
  301. package/dist/isMfaRequiredForAction-Demz9zlH.native.esm.js.map +0 -1
  302. package/dist/isUserOnboardingComplete-C86NDY7I.cjs.map +0 -1
  303. package/dist/isUserOnboardingComplete-CBrAH0ZF.esm.js.map +0 -1
  304. package/dist/isUserOnboardingComplete-Cr-YTpcU.native.esm.js.map +0 -1
  305. package/dist/modules/wallets/primaryWalletAccount/getPrimaryWalletAccount/getPrimaryWalletAccount.d.ts +0 -10
  306. package/dist/modules/wallets/primaryWalletAccount/getPrimaryWalletAccount/getPrimaryWalletAccount.d.ts.map +0 -1
  307. package/dist/modules/wallets/primaryWalletAccount/getPrimaryWalletAccount/index.d.ts.map +0 -1
  308. package/dist/modules/wallets/primaryWalletAccount/selectPrimaryWalletAccount/index.d.ts.map +0 -1
  309. package/dist/modules/wallets/primaryWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.d.ts +0 -12
  310. package/dist/modules/wallets/primaryWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.d.ts.map +0 -1
  311. package/dist/services/instrumentation/instrumentFunction/extractParams/extractParams.d.ts +0 -28
  312. package/dist/services/instrumentation/instrumentFunction/extractParams/extractParams.d.ts.map +0 -1
  313. package/dist/services/instrumentation/instrumentFunction/scrubResolvedValue/scrubResolvedValue.d.ts +0 -15
  314. package/dist/services/instrumentation/instrumentFunction/scrubResolvedValue/scrubResolvedValue.d.ts.map +0 -1
  315. package/dist/updateAuthFromVerifyResponse-CElYpi97.cjs.map +0 -1
  316. package/dist/updateAuthFromVerifyResponse-D1w-Aw9P.native.esm.js.map +0 -1
  317. package/dist/updateAuthFromVerifyResponse-azIi_3FB.esm.js.map +0 -1
  318. /package/dist/modules/wallets/{primaryWalletAccount → selectedWalletAccount}/getPrimaryWalletAccount/index.d.ts +0 -0
  319. /package/dist/modules/wallets/{primaryWalletAccount → selectedWalletAccount}/selectPrimaryWalletAccount/index.d.ts +0 -0
package/dist/index.esm.js CHANGED
@@ -1,11 +1,11 @@
1
- import { $ as MfaRateLimitedError, A as NoWalletProviderFoundError, B as emitEvent, C as getOperatingSystem, D as WalletProviderPriority, E as getWalletProviderFromWalletAccount, F as CHAINS_INFO_MAP, G as fetchAndStoreNonces, H as onEvent, I as formatWalletAccountId, K as createApiClient, L as normalizeAddress, O as getWalletProviderRegistry, P as getChainFromVerifiedCredentialChain, Q as SandboxMaximumThresholdReachedError, R as splitWalletProviderKey, S as getPlatform, U as onceEvent, V as offEvent, Z as getNonce, _ as SDK_API_CORE_VERSION, _t as getCore, a as initializeWaasClientsForEagerRecovery, at as isCookieEnabled, b as DEFAULT_PII_FIELDS, ct as getElevatedAccessToken, et as MfaInvalidOtpError, f as getWalletProviders, ft as NONCE_POOL_SIZE, g as DYNAMIC_ICONIC_SPRITE_URL, gt as BaseError, i as InvalidParamError, j as getWalletAccounts, lt as randomString, m as checkAndRaiseWalletAccountsChangedEvent, mt as setDefaultClient, n as upsertElevatedAccessToken, nt as InvalidExternalAuthError, ot as assertDefined, p as isUserMissingMfaAuth, pt as getDefaultClient, q as UnauthorizedError, r as parseElevatedAccessToken, rt as APIError, st as ValueMustBeDefinedError, t as updateAuthFromVerifyResponse, tt as LinkCredentialError, v as instrumentFunction, vt as name, w as extractSessionId, x as getUserAgent, y as scrubParameters, yt as version } from "./updateAuthFromVerifyResponse-azIi_3FB.esm.js";
2
- import { A as GENERATE_SESSION_KEYS_TRACKER_KEY, B as isEqualShallow, C as createKeychainService, D as CannotTrackError, F as getBuffer, I as createStorage, M as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, N as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY, O as createDeferredPromise, P as isServerSideRendering, R as createLocalStorageAdapter, S as createRealtimeService, T as createCrossTabBroadcast, _ as consumeCaptchaToken, a as verifyMessageSignatureOwnership, b as NoNetworkProvidersError, c as formatSignInMessage, d as updateWalletProviderKeysForVerifiedCredentials, f as setUnverifiedWalletAccounts, g as MethodNotImplementedError, h as __setCaptchaToken_wrapped, i as getNetworksData, j as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, k as FETCH_PROJECT_SETTINGS_TRACKER_KEY, l as getAppMetadata, m as hasExtension, o as removeUnverifiedWalletAccount, p as createVisit, s as createSignInMessageStatement, t as getNetworkProviderFromNetworkId, u as reconcileWalletAccountsAgainstClient, v as isCaptchaRequired, w as createLogger, x as getKeychainIndexedDBName, y as WalletAlreadyLinkedToAnotherUserError, z as subscribeWithSelector } from "./getNetworkProviderFromNetworkId-pknqqhk1.esm.js";
3
- import { a as generateSessionKeys, c as isSignedIn, i as __logoutWithReason_wrapped, l as retryOnFail, n as getMfaMethods, o as fetchProjectSettings, r as __consumeMfaToken_wrapped, s as createStorageKeySchema, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-CqEcCTIe.esm.js";
4
- import { n as NotWaasWalletAccountError, r as __refreshAuth_wrapped } from "./isDynamicWaasEnabled-BYaqAOml.esm.js";
5
- import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-CBrAH0ZF.esm.js";
6
- import { n as getVerifiedCredentialForWalletAccount, t as getWalletProviderByKey } from "./getWalletProviderByKey-lQVfIGFi.esm.js";
1
+ import { $ as MfaRateLimitedError, A as getWalletAccounts, B as offEvent, C as extractSessionId, D as getWalletProviderRegistry, E as WalletProviderPriority, F as formatWalletAccountId, G as fetchAndStoreNonces, H as onceEvent, I as normalizeAddress, K as createApiClient, L as splitWalletProviderKey, N as getChainFromVerifiedCredentialChain, P as CHAINS_INFO_MAP, Q as SandboxMaximumThresholdReachedError, S as getOperatingSystem, T as getWalletProviderFromWalletAccount, V as onEvent, Z as getNonce, _ as SDK_API_CORE_VERSION, _t as BaseError, a as initializeWaasClientsForEagerRecovery, at as isCookieEnabled, b as DEFAULT_PII_FIELDS, bt as version, ct as getElevatedAccessToken, et as MfaInvalidOtpError, f as getWalletProviders, g as DYNAMIC_ICONIC_SPRITE_URL, ht as setDefaultClient, i as InvalidParamError, k as NoWalletProviderFoundError, lt as randomString, m as checkAndRaiseWalletAccountsChangedEvent, mt as getDefaultClient, n as upsertElevatedAccessToken, nt as InvalidExternalAuthError, ot as assertDefined, p as isUserMissingMfaAuth, pt as NONCE_POOL_SIZE, q as UnauthorizedError, r as parseElevatedAccessToken, rt as APIError, st as ValueMustBeDefinedError, t as updateAuthFromVerifyResponse, tt as LinkCredentialError, ut as getPlatform, v as instrumentFunction, vt as getCore, x as getUserAgent, y as scrubParameters, yt as name, z as emitEvent } from "./updateAuthFromVerifyResponse-_oYRLK_w.esm.js";
2
+ import { B as createStorage, C as getKeychainIndexedDBName, E as assertSafeNavigationUrl, F as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, H as createLocalStorageAdapter, I as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, L as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY, M as createDeferredPromise, N as FETCH_PROJECT_SETTINGS_TRACKER_KEY, O as createLogger, P as GENERATE_SESSION_KEYS_TRACKER_KEY, R as isServerSideRendering, S as MergeAccountsConfirmationError, T as createKeychainService, U as subscribeWithSelector, W as isEqualShallow, _ as consumeCaptchaToken, a as verifyMessageSignatureOwnership, b as WalletAlreadyLinkedToAnotherUserError, c as formatSignInMessage, d as updateWalletProviderKeysForVerifiedCredentials, f as setUnverifiedWalletAccounts, g as MethodNotImplementedError, h as __setCaptchaToken_wrapped, i as getNetworksData, j as CannotTrackError, k as createCrossTabBroadcast, l as getAppMetadata, m as hasExtension, o as removeUnverifiedWalletAccount, p as createVisit, s as createSignInMessageStatement, t as getNetworkProviderFromNetworkId, u as reconcileWalletAccountsAgainstClient, v as isCaptchaRequired, w as createRealtimeService, x as NoNetworkProvidersError, y as WalletScreeningBlockedError, z as getBuffer } from "./getNetworkProviderFromNetworkId-D3uwhdMN.esm.js";
3
+ import { a as generateSessionKeys, c as isSignedIn, i as __logoutWithReason_wrapped, l as retryOnFail, n as getMfaMethods, o as fetchProjectSettings, r as __consumeMfaToken_wrapped, s as createStorageKeySchema, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-DTp4CZBt.esm.js";
4
+ import { n as NotWaasWalletAccountError, r as __refreshAuth_wrapped } from "./isDynamicWaasEnabled-DDrg89y1.esm.js";
5
+ import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-Dy2Ygp0u.esm.js";
6
+ import { n as getVerifiedCredentialForWalletAccount, t as getWalletProviderByKey } from "./getWalletProviderByKey-Cr8m-Nax.esm.js";
7
7
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
8
- import { AuthModeEnum, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, JwtVerifiedCredentialFormatEnum as JwtVerifiedCredentialFormatEnum$1, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, ProviderEnum as ProviderEnum$1, TokenScope, TokenScope as TokenScope$1, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
8
+ import { AuthModeEnum, CaptchaProviderEnum as CaptchaProviderEnum$1, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, JwtVerifiedCredentialFormatEnum as JwtVerifiedCredentialFormatEnum$1, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, ProviderEnum as ProviderEnum$1, TokenScope, TokenScope as TokenScope$1, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
9
9
  import * as z from "zod/mini";
10
10
  import EventEmitter, { EventEmitter as EventEmitter$1 } from "eventemitter3";
11
11
  import { browserSupportsWebAuthn, startAuthentication, startRegistration } from "@simplewebauthn/browser";
@@ -353,13 +353,26 @@ const initializeStorageSync = async (client) => {
353
353
  //#endregion
354
354
  //#region src/modules/user/refreshUser/refreshUser.ts
355
355
  /**
356
- * Refreshes the current user's data from the server.
356
+ * Refreshes the current user's profile from the server.
357
357
  *
358
- * This function fetches the latest authenticated user information from the backend
359
- * and updates the local user state.
358
+ * This fetches the latest authenticated user from the backend and updates only
359
+ * the local user state, returning the `SdkUser`. It does not touch the auth
360
+ * token — use it when you just need up-to-date user data.
361
+ *
362
+ * Prefer `refreshAuth` when you need to rotate the auth token as well: it runs
363
+ * a full verify, updates both token and user state, and returns the raw
364
+ * `VerifyResponse` (including the new token).
365
+ *
366
+ * @example
367
+ * ```ts
368
+ * const user = await refreshUser();
369
+ * console.log('Updated user:', user.email);
370
+ * ```
360
371
  *
361
372
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
362
373
  * @returns A promise that resolves to the authenticated user.
374
+ * @see refreshAuth
375
+ * @see deleteUser
363
376
  * @instrumented
364
377
  * @noHook Low-level refresh primitive that is not exposed as a React hook.
365
378
  */
@@ -410,9 +423,25 @@ var ClientAlreadyInitializedError = class extends BaseError {
410
423
  *
411
424
  * You only need to call this function if you are not using `autoInitialize: true` in createDynamicClient.
412
425
  *
426
+ * @example
427
+ * ```ts
428
+ * const client = createDynamicClient({
429
+ * environmentId: 'env-id',
430
+ * autoInitialize: false,
431
+ * });
432
+ *
433
+ * try {
434
+ * await initializeClient(client);
435
+ * } catch (error) {
436
+ * console.error('Failed to initialize:', error);
437
+ * }
438
+ * ```
439
+ *
413
440
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
414
441
  * @returns A promise that resolves when initialization is complete.
415
442
  * @throws ClientAlreadyInitializedError If the client is already initialized.
443
+ * @see createDynamicClient
444
+ * @see waitForClientInitialized
416
445
  * @instrumented
417
446
  * @noHook Client lifecycle management is not exposed as a React hook.
418
447
  */
@@ -749,10 +778,67 @@ const createDynamicTransport = (params) => {
749
778
  const createNavigationHandler = () => {
750
779
  if (isServerSideRendering()) return () => Promise.reject(new UnavailableInServerSideError("createNavigationHandler"));
751
780
  return async (url) => {
781
+ assertSafeNavigationUrl(url);
752
782
  window.location.href = url;
753
783
  };
754
784
  };
755
785
 
786
+ //#endregion
787
+ //#region src/errors/UnsafeDeeplinkUrlError.ts
788
+ /**
789
+ * Thrown when a deeplink is opened with a URL whose scheme can execute script
790
+ * in the current origin (`javascript:`, `data:`, `vbscript:`). Unlike
791
+ * navigation, deeplinks legitimately use custom app schemes (e.g. `phantom:`,
792
+ * `metamask:`), so this guards via a denylist of dangerous schemes rather than
793
+ * an `http(s)` allowlist, preventing DOM XSS through the `window.location.assign`
794
+ * sink while leaving valid wallet deeplinks untouched.
795
+ */
796
+ var UnsafeDeeplinkUrlError = class extends BaseError {
797
+ constructor({ scheme }) {
798
+ super({
799
+ cause: null,
800
+ code: "unsafe_deeplink_url_error",
801
+ docsUrl: null,
802
+ name: "UnsafeDeeplinkUrlError",
803
+ shortMessage: `Refusing to open a deeplink with an unsafe scheme "${scheme}". Script-executing schemes (javascript:, data:, vbscript:) are not allowed. This may indicate a compromised or misconfigured deeplink URL.`
804
+ });
805
+ }
806
+ };
807
+
808
+ //#endregion
809
+ //#region src/utils/assertSafeDeeplinkUrl/assertSafeDeeplinkUrl.ts
810
+ /**
811
+ * Schemes that can execute script in the current origin and must never reach a
812
+ * deeplink navigation sink. Deeplinks legitimately use arbitrary custom app
813
+ * schemes (e.g. `phantom:`, `metamask:`), so a denylist of dangerous schemes is
814
+ * used here instead of the `http(s)` allowlist applied to standard navigation.
815
+ */
816
+ const DANGEROUS_DEEPLINK_SCHEMES = new Set([
817
+ "javascript:",
818
+ "data:",
819
+ "vbscript:",
820
+ "blob:"
821
+ ]);
822
+ /**
823
+ * Asserts that the given deeplink URL is safe to open, i.e. its scheme is not
824
+ * one that can execute script (`javascript:`, `data:`, `vbscript:`, `blob:`). Used as a
825
+ * defense-in-depth guard on the `window.location.assign` deeplink sink to
826
+ * prevent DOM XSS, while still permitting custom wallet app schemes.
827
+ *
828
+ * @param url - The deeplink URL string to validate.
829
+ * @throws {UnsafeDeeplinkUrlError} If the URL cannot be parsed or its scheme can execute script.
830
+ * @notInstrumented
831
+ */
832
+ const assertSafeDeeplinkUrl = (url) => {
833
+ let parsed;
834
+ try {
835
+ parsed = new URL(url);
836
+ } catch {
837
+ throw new UnsafeDeeplinkUrlError({ scheme: "unknown" });
838
+ }
839
+ if (DANGEROUS_DEEPLINK_SCHEMES.has(parsed.protocol)) throw new UnsafeDeeplinkUrlError({ scheme: parsed.protocol });
840
+ };
841
+
756
842
  //#endregion
757
843
  //#region src/services/openDeeplink/createWebDeeplinkOpener/createWebDeeplinkOpener.ts
758
844
  /**
@@ -772,6 +858,7 @@ const createNavigationHandler = () => {
772
858
  const createWebDeeplinkOpener = () => {
773
859
  if (isServerSideRendering()) return () => Promise.reject(new UnavailableInServerSideError("createWebDeeplinkOpener"));
774
860
  return async (url) => {
861
+ assertSafeDeeplinkUrl(url);
775
862
  window.location.assign(url);
776
863
  };
777
864
  };
@@ -1038,8 +1125,18 @@ const createCore = (config) => {
1038
1125
  * Manually calling `initializeClient` also allows you to catch any potential
1039
1126
  * errors that may occur during initialization.
1040
1127
  *
1128
+ * @example
1129
+ * ```ts
1130
+ * const client = createDynamicClient({
1131
+ * environmentId: 'your-environment-id',
1132
+ * appUrl: 'https://myapp.com',
1133
+ * });
1134
+ * ```
1135
+ *
1041
1136
  * @param config - The configuration for the Dynamic client, like the environment ID, app url, etc.
1042
1137
  * @returns The Dynamic client instance.
1138
+ * @see initializeClient
1139
+ * @see getDefaultClient
1043
1140
  * @instrumented
1044
1141
  */
1045
1142
  const createDynamicClient = (config) => {
@@ -1128,6 +1225,42 @@ var DeeplinkConnectAndVerifyUnsupportedError = class extends BaseError {
1128
1225
  }
1129
1226
  };
1130
1227
 
1228
+ //#endregion
1229
+ //#region src/errors/DeviceRegistrationIdentityMismatchError.ts
1230
+ /**
1231
+ * Thrown when completing device registration would replace the current session
1232
+ * with a different user's identity.
1233
+ *
1234
+ * The device registration token resolved to a user other than the one currently
1235
+ * authenticated, which can indicate a login-CSRF / session-fixation attempt, so
1236
+ * the returned session is rejected and the current session is left untouched.
1237
+ *
1238
+ * @example
1239
+ * ```ts
1240
+ * try {
1241
+ * await completeDeviceRegistration({ token });
1242
+ * } catch (error) {
1243
+ * if (error instanceof DeviceRegistrationIdentityMismatchError) {
1244
+ * // The current session was preserved; ask the user to retry on this device.
1245
+ * }
1246
+ * }
1247
+ * ```
1248
+ * @see completeDeviceRegistration
1249
+ * @see InvalidDeviceRegistrationRedirectError
1250
+ */
1251
+ var DeviceRegistrationIdentityMismatchError = class extends BaseError {
1252
+ constructor() {
1253
+ super({
1254
+ cause: null,
1255
+ code: "device_registration_identity_mismatch_error",
1256
+ docsUrl: null,
1257
+ metaMessages: ["The device registration token resolved to a different user than the one currently authenticated.", "This can indicate a login-CSRF / session-fixation attempt, so the returned session was rejected and the current session was left untouched."],
1258
+ name: "DeviceRegistrationIdentityMismatchError",
1259
+ shortMessage: "Device registration completion was rejected because it would have replaced the current session with a different identity."
1260
+ });
1261
+ }
1262
+ };
1263
+
1131
1264
  //#endregion
1132
1265
  //#region src/errors/FeeEstimationFailedError.ts
1133
1266
  var FeeEstimationFailedError = class extends BaseError {
@@ -1575,7 +1708,6 @@ const __checkStepUpAuth_wrapped = instrumentFunction({
1575
1708
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1576
1709
  * @returns A promise that resolves to the assertion response containing the elevated access token.
1577
1710
  * @instrumented
1578
- * @redact-params
1579
1711
  */
1580
1712
  const requestExternalAuthElevatedToken = async ({ externalJwt }, client = getDefaultClient()) => {
1581
1713
  const core = getCore(client);
@@ -1603,8 +1735,7 @@ const __requestExternalAuthElevatedToken_wrapped = instrumentFunction({
1603
1735
  } catch {
1604
1736
  return;
1605
1737
  }
1606
- },
1607
- redactAll: true
1738
+ }
1608
1739
  });
1609
1740
 
1610
1741
  //#endregion
@@ -1615,11 +1746,20 @@ const __requestExternalAuthElevatedToken_wrapped = instrumentFunction({
1615
1746
  * This function allows authentication using JWT tokens from external providers,
1616
1747
  * enabling integration with custom authentication systems.
1617
1748
  *
1749
+ * @example
1750
+ * ```ts
1751
+ * const response = await signInWithExternalJwt({
1752
+ * externalJwt: 'eyJhbGciOiJSUzI1NiIs...',
1753
+ * });
1754
+ * ```
1755
+ *
1618
1756
  * @param [params.externalJwt] - Optional external JWT token to authenticate with. Not required when using cookie based auth.
1757
+ * @param [params.sessionPublicKey] - Optional session public key for session-based auth.
1619
1758
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1620
1759
  * @returns A promise that resolves to the authentication response from the server.
1760
+ * @see logout
1761
+ * @see refreshAuth
1621
1762
  * @instrumented
1622
- * @redact-params
1623
1763
  */
1624
1764
  const signInWithExternalJwt = async ({ externalJwt, sessionPublicKey } = {}, client = getDefaultClient()) => {
1625
1765
  const core = getCore(client);
@@ -1643,8 +1783,7 @@ const __signInWithExternalJwt_wrapped = instrumentFunction({
1643
1783
  } catch {
1644
1784
  return;
1645
1785
  }
1646
- },
1647
- redactAll: true
1786
+ }
1648
1787
  });
1649
1788
 
1650
1789
  //#endregion
@@ -1652,8 +1791,21 @@ const __signInWithExternalJwt_wrapped = instrumentFunction({
1652
1791
  /**
1653
1792
  * Logs out the current user and clears all authentication data.
1654
1793
  *
1794
+ * @example
1795
+ * ```ts
1796
+ * await logout();
1797
+ * ```
1798
+ *
1799
+ * @example
1800
+ * ```ts
1801
+ * // With explicit client for multi-client setups
1802
+ * await logout(myClient);
1803
+ * ```
1804
+ *
1655
1805
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1656
1806
  * @returns A promise that resolves when the logout process is complete.
1807
+ * @see isAnyWalletAccountConnected
1808
+ * @see refreshAuth
1657
1809
  * @notInstrumented
1658
1810
  */
1659
1811
  const logout = async (client = getDefaultClient()) => {
@@ -1666,6 +1818,58 @@ const logout = async (client = getDefaultClient()) => {
1666
1818
  return __logoutWithReason_wrapped({ reason: "user-intent" }, client);
1667
1819
  };
1668
1820
 
1821
+ //#endregion
1822
+ //#region src/modules/auth/mergeUserAccounts/mergeUserAccounts.ts
1823
+ /**
1824
+ * Completes an account merge after a credential was found to already belong to
1825
+ * another user (surfaced as `MergeAccountsConfirmationError` during
1826
+ * verification / linking).
1827
+ *
1828
+ * When the merge has no field-level conflicts, call it with no resolutions to
1829
+ * merge directly. When the two accounts hold different values for the same
1830
+ * profile field, pass the user's chosen `conflictResolutions` (one per
1831
+ * conflict) so the backend knows which value to keep. On success the two users
1832
+ * are folded into one, the merged session is persisted, and the merged user is
1833
+ * returned.
1834
+ *
1835
+ * @example
1836
+ * ```ts
1837
+ * try {
1838
+ * await verifyWalletAccount({ walletAccount });
1839
+ * } catch (error) {
1840
+ * if (error instanceof MergeAccountsConfirmationError) {
1841
+ * // resolveConflicts is your own function (not provided by the SDK): given
1842
+ * // the conflicting fields, decide which value to keep for each one —
1843
+ * // usually by prompting the user — and return them as MergeUserConflictResolution[].
1844
+ * await mergeUserAccounts(
1845
+ * error.mergeConflicts
1846
+ * ? { conflictResolutions: resolveConflicts(error.mergeConflicts) }
1847
+ * : undefined,
1848
+ * );
1849
+ * }
1850
+ * }
1851
+ * ```
1852
+ * @param params.conflictResolutions - Optional per-field conflict resolutions.
1853
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1854
+ * @returns A promise that resolves to the merged user.
1855
+ * @see MergeAccountsConfirmationError
1856
+ * @see MergeUserConflictResolution
1857
+ * @notInstrumented
1858
+ */
1859
+ const mergeUserAccounts = async ({ conflictResolutions } = {}, client = getDefaultClient()) => {
1860
+ const core = getCore(client);
1861
+ const apiClient = createApiClient({}, client);
1862
+ const hasConflictResolutions = conflictResolutions !== void 0 && conflictResolutions.length > 0;
1863
+ let response;
1864
+ if (hasConflictResolutions) response = await apiClient.verifyMergeUsers({
1865
+ environmentId: core.environmentId,
1866
+ mergeUserConflictResolutions: { mergeUserResolutions: conflictResolutions }
1867
+ });
1868
+ else response = await apiClient.mergeUsers({ environmentId: core.environmentId });
1869
+ updateAuthFromVerifyResponse({ response }, client);
1870
+ return response.user;
1871
+ };
1872
+
1669
1873
  //#endregion
1670
1874
  //#region src/modules/auth/passkeys/deletePasskey/deletePasskey.ts
1671
1875
  /**
@@ -1751,12 +1955,18 @@ const serverRegisterPasskey = async ({ registration, createMfaToken }, client) =
1751
1955
  * passwordless authentication. The user will be prompted to create a passkey
1752
1956
  * using their device's biometric authentication or security key.
1753
1957
  *
1958
+ * @example
1959
+ * ```ts
1960
+ * await registerPasskey();
1961
+ * ```
1962
+ *
1754
1963
  * @param [params.createMfaToken] - Optional configuration for MFA token creation.
1755
1964
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1756
1965
  * @returns A promise that resolves to the registration response.
1757
1966
  * @throws NoWebAuthNSupportError If WebAuthn is not supported by the browser.
1967
+ * @see signInWithPasskey
1968
+ * @see getPasskeys
1758
1969
  * @instrumented
1759
- * @redact-params
1760
1970
  */
1761
1971
  const registerPasskey = async ({ createMfaToken } = {}, client = getDefaultClient()) => {
1762
1972
  const core = getCore(client);
@@ -1779,8 +1989,7 @@ const __registerPasskey_wrapped = instrumentFunction({
1779
1989
  } catch {
1780
1990
  return;
1781
1991
  }
1782
- },
1783
- redactAll: true
1992
+ }
1784
1993
  });
1785
1994
 
1786
1995
  //#endregion
@@ -1821,11 +2030,19 @@ const serverSigninPasskey = async ({ authentication, createMfaToken }, client) =
1821
2030
  * credential, providing passwordless authentication using biometrics or
1822
2031
  * security keys.
1823
2032
  *
2033
+ * @example
2034
+ * ```ts
2035
+ * const response = await signInWithPasskey();
2036
+ * console.log('Signed in:', response.user.email);
2037
+ * ```
2038
+ *
2039
+ * @param [params.relatedOriginRpId] - Optional relying party ID for cross-origin authentication.
1824
2040
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
1825
2041
  * @returns A promise that resolves to the authentication response.
1826
2042
  * @throws NoWebAuthNSupportError If WebAuthn is not supported by the browser.
2043
+ * @see registerPasskey
2044
+ * @see getPasskeys
1827
2045
  * @instrumented
1828
- * @redact-params
1829
2046
  */
1830
2047
  const signInWithPasskey = async ({ relatedOriginRpId } = {}, client = getDefaultClient()) => {
1831
2048
  const core = getCore(client);
@@ -1845,8 +2062,7 @@ const __signInWithPasskey_wrapped = instrumentFunction({
1845
2062
  } catch {
1846
2063
  return;
1847
2064
  }
1848
- },
1849
- redactAll: true
2065
+ }
1850
2066
  });
1851
2067
 
1852
2068
  //#endregion
@@ -1950,22 +2166,29 @@ const addOAuthUrlParams = ({ baseUrl, isGoogleDriveBackupEnabled, provider }) =>
1950
2166
 
1951
2167
  //#endregion
1952
2168
  //#region src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.ts
1953
- /** Helper function to build the OAuth base URL for a given provider. * @notInstrumented
2169
+ /**
2170
+ * Resolves the raw base URL string for a provider before parsing/validation.
1954
2171
  */
1955
- const getOAuthBaseUrl = (provider) => {
2172
+ const resolveBaseUrl = (provider) => {
1956
2173
  assertDefined(provider.provider, "Provider type not found");
1957
2174
  const providerType = provider.provider;
1958
2175
  if (providerType === ProviderEnum$1.Telegram) {
1959
2176
  assertDefined(provider.authorizationUrl, "Telegram authorization URL not found");
1960
- return new URL(provider.authorizationUrl);
2177
+ return provider.authorizationUrl;
1961
2178
  }
1962
2179
  assertDefined(provider.baseAuthUrl, "Base auth URL not found");
1963
2180
  if (providerType === ProviderEnum$1.Shopify) {
1964
2181
  assertDefined(provider.shopifyStore, "Shopify store value not found in provider");
1965
- const loginBaseUrl = provider.baseAuthUrl.replace("{{shopifyStore}}", provider.shopifyStore);
1966
- return new URL(loginBaseUrl);
2182
+ return provider.baseAuthUrl.replace("{{shopifyStore}}", provider.shopifyStore);
1967
2183
  }
1968
- return new URL(provider.baseAuthUrl);
2184
+ return provider.baseAuthUrl;
2185
+ };
2186
+ /** Helper function to build the OAuth base URL for a given provider. * @notInstrumented
2187
+ */
2188
+ const getOAuthBaseUrl = (provider) => {
2189
+ const urlString = resolveBaseUrl(provider);
2190
+ assertSafeNavigationUrl(urlString);
2191
+ return new URL(urlString);
1969
2192
  };
1970
2193
 
1971
2194
  //#endregion
@@ -2014,9 +2237,19 @@ const buildOAuthUrl = async (core, provider) => {
2014
2237
  * back because of this flow, then call `completeSocialRedirect` to finish
2015
2238
  * the social authentication.
2016
2239
  *
2240
+ * @example
2241
+ * ```ts
2242
+ * await signInWithSocialRedirect({
2243
+ * provider: 'google',
2244
+ * redirectUrl: window.location.href,
2245
+ * });
2246
+ * ```
2247
+ *
2017
2248
  * @param params.provider - The social provider to authenticate with (e.g., 'google', 'github').
2018
2249
  * @param params.redirectUrl - The URL to redirect back to after authentication.
2019
2250
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2251
+ * @see completeSocialRedirect
2252
+ * @see detectSocialRedirectUrl
2020
2253
  * @instrumented
2021
2254
  */
2022
2255
  const signInWithSocialRedirect = async ({ provider, redirectUrl }, client = getDefaultClient()) => {
@@ -2059,6 +2292,14 @@ const __signInWithSocialRedirect_wrapped = instrumentFunction({
2059
2292
  * @deprecated Renamed to {@link signInWithSocialRedirect}. This alias will be
2060
2293
  * removed in a future major version.
2061
2294
  *
2295
+ * @example
2296
+ * ```ts
2297
+ * // Prefer signInWithSocialRedirect instead
2298
+ * await signInWithSocialRedirect({ provider: 'google', redirectUrl: window.location.href });
2299
+ * ```
2300
+ *
2301
+ * @see signInWithSocialRedirect
2302
+ * @see completeSocialRedirect
2062
2303
  * @instrumented
2063
2304
  * @noHook Deprecated alias that is not exposed as a React hook.
2064
2305
  */
@@ -2076,6 +2317,45 @@ const __authenticateWithSocial_wrapped = instrumentFunction({
2076
2317
  }
2077
2318
  });
2078
2319
 
2320
+ //#endregion
2321
+ //#region src/modules/auth/social/oauth/clearSocialRedirectParams/clearSocialRedirectParams.ts
2322
+ /**
2323
+ * Removes the social OAuth redirect parameters that `signInWithSocialRedirect`
2324
+ * appends to the return URL from the browser's current URL, leaving every other
2325
+ * query parameter, the path, and the hash untouched.
2326
+ *
2327
+ * Call this once you have finished `completeSocialRedirect` so a page refresh
2328
+ * doesn't re-trigger the redirect flow. Unlike clearing the whole query
2329
+ * string, this preserves any of your own parameters on the callback URL.
2330
+ *
2331
+ * This reads and rewrites `window.location`, so it can only run in the
2332
+ * browser. Calling it during server-side rendering (no `window`) throws
2333
+ * `UnavailableInServerSideError`.
2334
+ *
2335
+ * @returns Nothing. The current URL is rewritten in place via
2336
+ * `window.history.replaceState`.
2337
+ *
2338
+ * @throws {UnavailableInServerSideError} When called without a `window`
2339
+ * (e.g. during server-side rendering).
2340
+ *
2341
+ * @example
2342
+ * ```ts
2343
+ * await completeSocialRedirect({ url: new URL(window.location.href) });
2344
+ * clearSocialRedirectParams();
2345
+ * ```
2346
+ *
2347
+ * @see {@link completeSocialRedirect} to finish the redirect sign-in before
2348
+ * clearing the parameters.
2349
+ * @see {@link detectSocialRedirectUrl} to check whether the current URL is a
2350
+ * social OAuth callback.
2351
+ *
2352
+ * @notInstrumented
2353
+ */
2354
+ const clearSocialRedirectParams = () => {
2355
+ if (isServerSideRendering()) throw new UnavailableInServerSideError("clearSocialRedirectParams");
2356
+ window.history.replaceState({}, "", removeDynamicOauthParamsFromUrl(window.location.href));
2357
+ };
2358
+
2079
2359
  //#endregion
2080
2360
  //#region src/modules/auth/social/oauth/processSocialCallback/processSocialCallback.ts
2081
2361
  /**
@@ -2157,12 +2437,23 @@ const __processSocialCallback_wrapped = instrumentFunction({
2157
2437
  * authenticating (or linking) the user with the social provider. This is the
2158
2438
  * final step after `signInWithSocialRedirect` + `detectSocialRedirectUrl`.
2159
2439
  *
2440
+ * @example
2441
+ * ```ts
2442
+ * const redirectUrl = detectSocialRedirectUrl();
2443
+ * if (redirectUrl) {
2444
+ * const user = await completeSocialRedirect({ url: redirectUrl });
2445
+ * }
2446
+ * ```
2447
+ *
2160
2448
  * @param params.url - The callback URL containing OAuth response parameters.
2161
2449
  * @param [params.requestedScopes] - Optional scopes to request an elevated access token when verifying (linking) a social account.
2162
2450
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2163
2451
  * @returns A promise that resolves to the authenticated user or null.
2164
2452
  * @throws MissingSocialUrlParamError If required OAuth parameters are missing.
2165
2453
  * @throws InvalidRedirectStorageStateError If the stored state doesn't match.
2454
+ * @see signInWithSocialRedirect
2455
+ * @see detectSocialRedirectUrl
2456
+ * @see clearSocialRedirectParams
2166
2457
  * @instrumented
2167
2458
  */
2168
2459
  const completeSocialRedirect = ({ url, requestedScopes }, client = getDefaultClient()) => __processSocialCallback_wrapped({
@@ -2218,7 +2509,6 @@ const __completeSocialAuthentication_wrapped = instrumentFunction({
2218
2509
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2219
2510
  * @returns A promise that resolves to true if the URL is an OAuth redirect, false otherwise.
2220
2511
  * @notInstrumented
2221
- * @noHook Low-level redirect-detection primitive that is not exposed as a React hook.
2222
2512
  */
2223
2513
  const detectSocialRedirectUrl = async ({ url }, client = getDefaultClient()) => {
2224
2514
  const core = getCore(client);
@@ -2250,7 +2540,19 @@ const detectOAuthRedirect = (params, client = getDefaultClient()) => detectSocia
2250
2540
  * {@link signInWithSocialRedirect} + {@link completeSocialRedirect} instead —
2251
2541
  * the browser already owns the tab so there is no popup to open.
2252
2542
  *
2543
+ * @example
2544
+ * ```ts
2545
+ * // React Native only
2546
+ * const user = await signInWithSocialPopUp({ provider: 'google' });
2547
+ * ```
2548
+ *
2549
+ * @param params.provider - The social provider to authenticate with.
2550
+ * @param [params.requestedScopes] - Optional scopes to request from the provider.
2551
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2552
+ * @returns A promise that resolves to the authenticated user or null.
2253
2553
  * @throws MethodNotImplementedError Always on web.
2554
+ * @see signInWithSocialRedirect
2555
+ * @see completeSocialRedirect
2254
2556
  * @instrumented
2255
2557
  */
2256
2558
  const signInWithSocialPopUp = async ({ provider, requestedScopes }, client = getDefaultClient()) => {
@@ -2270,19 +2572,39 @@ const __signInWithSocialPopUp_wrapped = instrumentFunction({
2270
2572
  });
2271
2573
 
2272
2574
  //#endregion
2273
- //#region src/modules/wallets/primaryWalletAccount/getPrimaryWalletAccount/getPrimaryWalletAccount.ts
2575
+ //#region src/modules/wallets/selectedWalletAccount/getSelectedWalletAccount/getSelectedWalletAccount.ts
2274
2576
  /**
2275
- * Get the primary wallet account.
2276
- * The primary wallet account is the one that was last selected by the user.
2277
- * This information is stored in both unverified and verified wallet accounts.
2278
- * This function consolidates this information to determine which wallet was most recently selected.
2577
+ * Get the wallet account currently selected for the user.
2578
+ *
2579
+ * The SDK itself does not use or care about which wallet is "selected" — it has
2580
+ * no bearing on authentication, signing, or any other SDK behaviour. This is
2581
+ * purely a convenience for *reading* which wallet the user most recently
2582
+ * selected (derived from the backend `lastSelectedAt` timestamp, across both
2583
+ * unverified and verified wallet accounts). Applications that need a notion of
2584
+ * an active/current wallet should own that selection state themselves.
2585
+ *
2586
+ * The one exception is the wagmi integration (`@dynamic-labs-sdk/wagmi`), which
2587
+ * mirrors the selected EVM wallet into wagmi's connector state.
2588
+ *
2589
+ * @example
2590
+ * ```ts
2591
+ * const selected = getSelectedWalletAccount();
2592
+ * if (selected) {
2593
+ * console.log('Selected wallet:', selected.address);
2594
+ * }
2595
+ * ```
2596
+ *
2597
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2598
+ * @returns The selected wallet account, or null if no wallet has been selected.
2599
+ * @see setSelectedWalletAccount
2600
+ * @see getWalletAccounts
2279
2601
  * @notInstrumented
2280
2602
  */
2281
- const getPrimaryWalletAccount = (client = getDefaultClient()) => {
2603
+ const getSelectedWalletAccount = (client = getDefaultClient()) => {
2282
2604
  const sortedLastSelectedWalletAccounts = getWalletAccounts(client).filter((walletAccount) => Boolean(walletAccount.lastSelectedAt)).sort((a, b) => b.lastSelectedAt.getTime() - a.lastSelectedAt.getTime());
2283
2605
  if (sortedLastSelectedWalletAccounts.length === 0) return null;
2284
- const [primaryWalletAccount] = sortedLastSelectedWalletAccounts;
2285
- return primaryWalletAccount;
2606
+ const [selectedWallet] = sortedLastSelectedWalletAccounts;
2607
+ return selectedWallet;
2286
2608
  };
2287
2609
 
2288
2610
  //#endregion
@@ -2300,14 +2622,13 @@ const getPrimaryWalletAccount = (client = getDefaultClient()) => {
2300
2622
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2301
2623
  * @returns A promise that resolves to the verify response.
2302
2624
  * @instrumented
2303
- * @redact-params
2304
2625
  */
2305
2626
  const unlinkSocialAccount = async ({ verifiedCredentialId }, client = getDefaultClient()) => {
2306
2627
  const core = getCore(client);
2307
2628
  const apiClient = createApiClient({ elevatedAccessTokenScope: TokenScope$1.Credentialunlink }, client);
2308
- const primaryWalletAccount = getPrimaryWalletAccount(client);
2309
- const walletId = primaryWalletAccount?.verifiedCredentialId?.replace("-zerodev", "") ?? void 0;
2310
- const isEmbeddedWallet = !!primaryWalletAccount && getVerifiedCredentialForWalletAccount({ walletAccount: primaryWalletAccount }, client)?.walletProvider === WalletProviderEnum.EmbeddedWallet;
2629
+ const selectedWallet = getSelectedWalletAccount(client);
2630
+ const walletId = selectedWallet?.verifiedCredentialId?.replace("-zerodev", "") ?? void 0;
2631
+ const isEmbeddedWallet = !!selectedWallet && getVerifiedCredentialForWalletAccount({ walletAccount: selectedWallet }, client)?.walletProvider === WalletProviderEnum.EmbeddedWallet;
2311
2632
  const response = await apiClient.verifyUnlink({
2312
2633
  environmentId: core.environmentId,
2313
2634
  verifyUnlinkRequest: {
@@ -2328,8 +2649,7 @@ const __unlinkSocialAccount_wrapped = instrumentFunction({
2328
2649
  } catch {
2329
2650
  return;
2330
2651
  }
2331
- },
2332
- redactAll: true
2652
+ }
2333
2653
  });
2334
2654
 
2335
2655
  //#endregion
@@ -2421,6 +2741,59 @@ const getMultichainTokenBalances = async ({ balanceRequest }, client = getDefaul
2421
2741
  */
2422
2742
  const getMultichainBalances = (params, client = getDefaultClient()) => getMultichainTokenBalances(params, client);
2423
2743
 
2744
+ //#endregion
2745
+ //#region src/modules/captcha/getCaptchaSettings/getCaptchaSettings.ts
2746
+ /**
2747
+ * The captcha providers Dynamic can be configured to use for an environment.
2748
+ * Use it to branch on which captcha widget to render for the active provider.
2749
+ *
2750
+ * Redeclared locally (rather than re-exported directly from the generated
2751
+ * `sdk-api-core`) so the public client entry point owns its own documented,
2752
+ * stable surface for this token.
2753
+ *
2754
+ * @example
2755
+ * ```ts
2756
+ * const settings = getCaptchaSettings();
2757
+ * if (settings?.provider === CaptchaProviderEnum.Hcaptcha) {
2758
+ * renderHcaptcha(settings.siteKey);
2759
+ * }
2760
+ * ```
2761
+ * @see getCaptchaSettings
2762
+ * @see CaptchaSettingsResult
2763
+ */
2764
+ const CaptchaProviderEnum = CaptchaProviderEnum$1;
2765
+ /**
2766
+ * Returns the active captcha provider and site key, or undefined if captcha is not enabled.
2767
+ * Use this to determine which captcha widget to render and which site key to pass it.
2768
+ *
2769
+ * @example
2770
+ * ```ts
2771
+ * const settings = getCaptchaSettings();
2772
+ * if (settings) renderCaptcha(settings.provider, settings.siteKey);
2773
+ * ```
2774
+ * @see CaptchaSettingsResult
2775
+ * @see CaptchaProviderEnum
2776
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2777
+ * @returns The active captcha provider and site key, or undefined when captcha is not enabled.
2778
+ * @notInstrumented
2779
+ */
2780
+ const getCaptchaSettings = (client = getDefaultClient()) => {
2781
+ const projectSettings = client.projectSettings;
2782
+ if (!projectSettings) return void 0;
2783
+ const { security } = projectSettings;
2784
+ if (security.captcha) {
2785
+ if (security.captcha.enabled) return {
2786
+ provider: security.captcha.provider ?? CaptchaProviderEnum.Hcaptcha,
2787
+ siteKey: security.captcha.siteKey
2788
+ };
2789
+ return;
2790
+ }
2791
+ if (security.hCaptcha?.enabled) return {
2792
+ provider: CaptchaProviderEnum.Hcaptcha,
2793
+ siteKey: security.hCaptcha.siteKey
2794
+ };
2795
+ };
2796
+
2424
2797
  //#endregion
2425
2798
  //#region src/modules/checkout/utils/createCheckoutSessionTokenStorageKey/createCheckoutSessionTokenStorageKey.ts
2426
2799
  /** @notInstrumented */
@@ -2980,14 +3353,65 @@ const requiresConversion = async ({ transaction }, client = getDefaultClient())
2980
3353
  return !checkout.settlementConfig.settlements.some((settlement) => settlement.chainName === transaction.fromChainName && settlement.chainId === transaction.fromChainId && settlement.tokenAddress === transaction.fromToken);
2981
3354
  };
2982
3355
 
3356
+ //#endregion
3357
+ //#region src/modules/deviceRegistration/clearDeviceRegistrationRedirectParams/clearDeviceRegistrationRedirectParams.ts
3358
+ /**
3359
+ * Removes the device registration redirect parameters that the device
3360
+ * registration email link appends to the return URL from the browser's current
3361
+ * URL, leaving every other query parameter, the path, and the hash untouched.
3362
+ *
3363
+ * Call this once you have finished `completeDeviceRegistration` so a page
3364
+ * refresh doesn't re-trigger the registration flow. Unlike clearing the whole
3365
+ * query string, this preserves any of your own parameters on the callback URL.
3366
+ *
3367
+ * This reads and rewrites `window.location`, so it can only run in the
3368
+ * browser. Calling it during server-side rendering (no `window`) throws
3369
+ * `UnavailableInServerSideError`.
3370
+ *
3371
+ * @returns Nothing. The current URL is rewritten in place via
3372
+ * `window.history.replaceState`.
3373
+ *
3374
+ * @throws {UnavailableInServerSideError} When called without a `window`
3375
+ * (e.g. during server-side rendering).
3376
+ *
3377
+ * @example
3378
+ * ```ts
3379
+ * const deviceToken = getDeviceRegistrationTokenFromUrl({ url: window.location.href });
3380
+ * await completeDeviceRegistration({ deviceToken });
3381
+ * clearDeviceRegistrationRedirectParams();
3382
+ * ```
3383
+ *
3384
+ * @see {@link completeDeviceRegistration} to finish the registration before
3385
+ * clearing the parameters.
3386
+ * @see {@link detectDeviceRegistrationRedirect} to check whether the current
3387
+ * URL is a device registration callback.
3388
+ *
3389
+ * @notInstrumented
3390
+ */
3391
+ const clearDeviceRegistrationRedirectParams = () => {
3392
+ if (isServerSideRendering()) throw new UnavailableInServerSideError("clearDeviceRegistrationRedirectParams");
3393
+ const url = new URL(window.location.href);
3394
+ url.searchParams.delete("deviceRegistrationToken");
3395
+ window.history.replaceState({}, "", url.toString());
3396
+ };
3397
+
2983
3398
  //#endregion
2984
3399
  //#region src/modules/deviceRegistration/completeDeviceRegistration/completeDeviceRegistration.ts
2985
3400
  const DEVICE_REGISTRATION_TOKEN_HEADER = "x-dynamic-device-registration-token";
2986
- /** @instrumented */
3401
+ /**
3402
+ * Completes device registration using the token from a device registration
3403
+ * redirect, authenticating the current device against the user's account.
3404
+ *
3405
+ * @see detectDeviceRegistrationRedirect
3406
+ * @see clearDeviceRegistrationRedirectParams
3407
+ * @instrumented
3408
+ */
2987
3409
  const completeDeviceRegistration = async ({ deviceToken }, client = getDefaultClient()) => {
2988
3410
  assertDefined(deviceToken, "deviceToken is required");
2989
3411
  const core = getCore(client);
3412
+ const currentUser = core.state.get().user;
2990
3413
  const response = await createApiClient({ headers: { [DEVICE_REGISTRATION_TOKEN_HEADER]: deviceToken } }, client).deviceRegistration({ environmentId: core.environmentId });
3414
+ if (currentUser && response.user?.id !== currentUser.id) throw new DeviceRegistrationIdentityMismatchError();
2991
3415
  updateAuthFromVerifyResponse({ response }, client);
2992
3416
  emitEvent({ event: "deviceRegistrationCompleted" }, client);
2993
3417
  return response;
@@ -3168,6 +3592,22 @@ const withFlowSessionTokenCleanupOn401 = async ({ call, flowId }, client) => {
3168
3592
  }
3169
3593
  };
3170
3594
 
3595
+ //#endregion
3596
+ //#region src/modules/flow/attachFlowSource/attachFlowSource.instrumentation.ts
3597
+ /**
3598
+ * Explicit instrumentation payload for attachFlowSource. Reads the nested
3599
+ * `flow` and logs non-sensitive volume and routing dimensions only — never the
3600
+ * wallet address, and never the response's session token.
3601
+ */
3602
+ const attachFlowSourceInstrumentation = { resolved: ({ flow }) => ({
3603
+ amount: flow.amount ?? null,
3604
+ currency: flow.currency ?? null,
3605
+ fromChainId: flow.fromChainId ?? null,
3606
+ fromChainName: flow.fromChainName ?? null,
3607
+ mode: flow.mode ?? null,
3608
+ sourceType: flow.sourceType ?? null
3609
+ }) };
3610
+
3171
3611
  //#endregion
3172
3612
  //#region src/modules/flow/attachFlowSource/attachFlowSource.ts
3173
3613
  /**
@@ -3220,7 +3660,8 @@ const __attachFlowSource_wrapped = instrumentFunction({
3220
3660
  } catch {
3221
3661
  return;
3222
3662
  }
3223
- }
3663
+ },
3664
+ selectors: attachFlowSourceInstrumentation
3224
3665
  });
3225
3666
 
3226
3667
  //#endregion
@@ -3238,6 +3679,22 @@ const createFlowApiClient = async ({ flowId }, client) => {
3238
3679
  };
3239
3680
  };
3240
3681
 
3682
+ //#endregion
3683
+ //#region src/modules/flow/broadcastFlow/broadcastFlow.instrumentation.ts
3684
+ /**
3685
+ * Explicit instrumentation payload for broadcastFlow. Logs non-sensitive
3686
+ * volume and routing dimensions only — never the wallet address or any
3687
+ * session token — so we can understand volume moved through the flow product.
3688
+ */
3689
+ const broadcastFlowInstrumentation = { resolved: (flow) => ({
3690
+ amount: flow.amount ?? null,
3691
+ currency: flow.currency ?? null,
3692
+ fromChainId: flow.fromChainId ?? null,
3693
+ fromChainName: flow.fromChainName ?? null,
3694
+ mode: flow.mode ?? null,
3695
+ sourceType: flow.sourceType ?? null
3696
+ }) };
3697
+
3241
3698
  //#endregion
3242
3699
  //#region src/modules/flow/broadcastFlow/broadcastFlow.ts
3243
3700
  /**
@@ -3274,17 +3731,40 @@ const __broadcastFlow_wrapped = instrumentFunction({
3274
3731
  } catch {
3275
3732
  return;
3276
3733
  }
3277
- }
3734
+ },
3735
+ selectors: broadcastFlowInstrumentation
3278
3736
  });
3279
3737
 
3738
+ //#endregion
3739
+ //#region src/modules/flow/cancelFlow/cancelFlow.instrumentation.ts
3740
+ /**
3741
+ * Explicit instrumentation payload for cancelFlow. Logs non-sensitive volume
3742
+ * and routing dimensions only — never the wallet address or any session token.
3743
+ */
3744
+ const cancelFlowInstrumentation = { resolved: (flow) => ({
3745
+ amount: flow.amount ?? null,
3746
+ currency: flow.currency ?? null,
3747
+ fromChainId: flow.fromChainId ?? null,
3748
+ fromChainName: flow.fromChainName ?? null,
3749
+ mode: flow.mode ?? null,
3750
+ sourceType: flow.sourceType ?? null
3751
+ }) };
3752
+
3280
3753
  //#endregion
3281
3754
  //#region src/modules/flow/cancelFlow/cancelFlow.ts
3282
3755
  /**
3283
- * Cancels a flow before it has been broadcasted
3756
+ * Cancels a flow before it has been broadcasted.
3757
+ *
3758
+ * @example
3759
+ * ```ts
3760
+ * const cancelledFlow = await cancelFlow({ flowId: 'flow-abc123' });
3761
+ * ```
3284
3762
  *
3285
- * @param params CancelFlowParams - The flow to cancel.
3763
+ * @param params.flowId - The unique identifier of the flow to cancel.
3286
3764
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
3287
- * @returns The cancelled flow
3765
+ * @returns A promise that resolves to the cancelled flow.
3766
+ * @see getFlow
3767
+ * @see getFlowQuote
3288
3768
  * @instrumented
3289
3769
  */
3290
3770
  const cancelFlow = async ({ flowId }, client = getDefaultClient()) => {
@@ -3310,17 +3790,26 @@ const __cancelFlow_wrapped = instrumentFunction({
3310
3790
  } catch {
3311
3791
  return;
3312
3792
  }
3313
- }
3793
+ },
3794
+ selectors: cancelFlowInstrumentation
3314
3795
  });
3315
3796
 
3316
3797
  //#endregion
3317
3798
  //#region src/modules/flow/getFlow/getFlow.ts
3318
3799
  /**
3319
- * Fetches a flow by its ID
3800
+ * Fetches a flow by its ID.
3320
3801
  *
3321
- * @param params GetFlowParams - The parameters for fetching the flow.
3802
+ * @example
3803
+ * ```ts
3804
+ * const flow = await getFlow({ flowId: 'flow-abc123' });
3805
+ * console.log('Flow status:', flow.status);
3806
+ * ```
3807
+ *
3808
+ * @param params.flowId - The unique identifier of the flow to fetch.
3322
3809
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
3323
- * @returns The flow
3810
+ * @returns A promise that resolves to the flow object.
3811
+ * @see cancelFlow
3812
+ * @see getFlowQuote
3324
3813
  * @notInstrumented
3325
3814
  */
3326
3815
  const getFlow = async ({ flowId }, client = getDefaultClient()) => {
@@ -3334,11 +3823,24 @@ const getFlow = async ({ flowId }, client = getDefaultClient()) => {
3334
3823
  //#endregion
3335
3824
  //#region src/modules/flow/getFlowQuote/getFlowQuote.ts
3336
3825
  /**
3337
- * Fetches a quote for a flow
3826
+ * Fetches a quote for a flow.
3827
+ *
3828
+ * @example
3829
+ * ```ts
3830
+ * const flow = await getFlowQuote({
3831
+ * flowId: 'flow-abc123',
3832
+ * slippage: 0.5,
3833
+ * });
3834
+ * ```
3338
3835
  *
3339
- * @param params GetFlowQuoteParams - The quote parameters.
3836
+ * @param params.flowId - The unique identifier of the flow.
3837
+ * @param [params.fromChainId] - Optional chain ID overriding the one set at attachFlowSource time.
3838
+ * @param [params.fromTokenAddress] - Optional token address (defaults to native token).
3839
+ * @param [params.slippage] - Acceptable slippage percentage.
3340
3840
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
3341
- * @returns The updated flow with quote data
3841
+ * @returns A promise that resolves to the updated flow with quote data.
3842
+ * @see getFlow
3843
+ * @see cancelFlow
3342
3844
  * @notInstrumented
3343
3845
  */
3344
3846
  const getFlowQuote = async ({ flowId, fromChainId, fromTokenAddress, slippage }, client = getDefaultClient()) => {
@@ -3358,6 +3860,22 @@ const getFlowQuote = async ({ flowId, fromChainId, fromTokenAddress, slippage },
3358
3860
  }, client);
3359
3861
  };
3360
3862
 
3863
+ //#endregion
3864
+ //#region src/modules/flow/prepareFlowSigning/prepareFlowSigning.instrumentation.ts
3865
+ /**
3866
+ * Explicit instrumentation payload for prepareFlowSigning. Logs non-sensitive
3867
+ * volume and routing dimensions only — never the wallet address or any
3868
+ * session token.
3869
+ */
3870
+ const prepareFlowSigningInstrumentation = { resolved: (flow) => ({
3871
+ amount: flow.amount ?? null,
3872
+ currency: flow.currency ?? null,
3873
+ fromChainId: flow.fromChainId ?? null,
3874
+ fromChainName: flow.fromChainName ?? null,
3875
+ mode: flow.mode ?? null,
3876
+ sourceType: flow.sourceType ?? null
3877
+ }) };
3878
+
3361
3879
  //#endregion
3362
3880
  //#region src/modules/flow/prepareFlowSigning/prepareFlowSigning.ts
3363
3881
  /**
@@ -3395,9 +3913,26 @@ const __prepareFlowSigning_wrapped = instrumentFunction({
3395
3913
  } catch {
3396
3914
  return;
3397
3915
  }
3398
- }
3916
+ },
3917
+ selectors: prepareFlowSigningInstrumentation
3399
3918
  });
3400
3919
 
3920
+ //#endregion
3921
+ //#region src/modules/flow/submitFlowTransaction/submitFlowTransaction.instrumentation.ts
3922
+ /**
3923
+ * Explicit instrumentation payload for submitFlowTransaction. Logs
3924
+ * non-sensitive volume and routing dimensions only — never the wallet address
3925
+ * or any session token — so executed flow volume is measurable.
3926
+ */
3927
+ const submitFlowTransactionInstrumentation = { resolved: (flow) => ({
3928
+ amount: flow.amount ?? null,
3929
+ currency: flow.currency ?? null,
3930
+ fromChainId: flow.fromChainId ?? null,
3931
+ fromChainName: flow.fromChainName ?? null,
3932
+ mode: flow.mode ?? null,
3933
+ sourceType: flow.sourceType ?? null
3934
+ }) };
3935
+
3401
3936
  //#endregion
3402
3937
  //#region src/modules/flow/submitFlowTransaction/submitFlowTransaction.ts
3403
3938
  /**
@@ -3441,7 +3976,8 @@ const __submitFlowTransaction_wrapped = instrumentFunction({
3441
3976
  } catch {
3442
3977
  return;
3443
3978
  }
3444
- }
3979
+ },
3980
+ selectors: submitFlowTransactionInstrumentation
3445
3981
  });
3446
3982
 
3447
3983
  //#endregion
@@ -3673,18 +4209,6 @@ const createKrakenExchangeTransfer = async (transferParams, client = getDefaultC
3673
4209
  exchangeKey: ExchangeKeyEnum.Kraken
3674
4210
  });
3675
4211
  };
3676
- const __createKrakenExchangeTransfer_impl = createKrakenExchangeTransfer;
3677
- const __createKrakenExchangeTransfer_wrapped = instrumentFunction({
3678
- fn: __createKrakenExchangeTransfer_impl,
3679
- functionName: "createKrakenExchangeTransfer",
3680
- getCore: () => {
3681
- try {
3682
- return getCore(getDefaultClient());
3683
- } catch {
3684
- return;
3685
- }
3686
- }
3687
- });
3688
4212
 
3689
4213
  //#endregion
3690
4214
  //#region src/modules/funding/kraken/getKrakenAccounts/getKrakenAccounts.ts
@@ -3796,10 +4320,6 @@ var MoonPayProviderNotAvailableError = class extends BaseError {
3796
4320
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
3797
4321
  * @returns The signed MoonPay URL.
3798
4322
  * @instrumented
3799
- * @redact-params - the return is a bare signed onramp URL whose query string
3800
- * carries the provider signature plus the user's wallet address; a bare-string
3801
- * return is logged under the synthetic `result` key, which no key-based rule
3802
- * covers, so redact the whole event.
3803
4323
  */
3804
4324
  const getMoonPayUrl = async (params, client = getDefaultClient()) => {
3805
4325
  const core = getCore(client);
@@ -3833,8 +4353,7 @@ const __getMoonPayUrl_wrapped = instrumentFunction({
3833
4353
  } catch {
3834
4354
  return;
3835
4355
  }
3836
- },
3837
- redactAll: true
4356
+ }
3838
4357
  });
3839
4358
 
3840
4359
  //#endregion
@@ -3843,7 +4362,17 @@ const __getMoonPayUrl_wrapped = instrumentFunction({
3843
4362
  * Allows waiting until all modules of the client have been properly initialized
3844
4363
  * and are ready for use.
3845
4364
  *
3846
- * @returns a promise that resolves once the client is fully initialized.
4365
+ * @example
4366
+ * ```ts
4367
+ * const client = createDynamicClient({ environmentId: 'env-id' });
4368
+ * await waitForClientInitialized(client);
4369
+ * // Client is now fully ready
4370
+ * ```
4371
+ *
4372
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
4373
+ * @returns A promise that resolves once the client is fully initialized.
4374
+ * @see initializeClient
4375
+ * @see createDynamicClient
3847
4376
  * @notInstrumented
3848
4377
  * @noHook Client lifecycle management is not exposed as a hook; use useInitStatus.
3849
4378
  */
@@ -4418,7 +4947,6 @@ const getWalletConnectCatalogWalletByWalletProviderKey = async ({ walletProvider
4418
4947
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
4419
4948
  * @returns A promise that resolves to OTP verification details if verification is required, or undefined.
4420
4949
  * @instrumented
4421
- * @redact-params
4422
4950
  */
4423
4951
  const updateUser = async ({ userFields }, client = getDefaultClient()) => {
4424
4952
  const core = getCore(client);
@@ -4448,8 +4976,7 @@ const __updateUser_wrapped = instrumentFunction({
4448
4976
  } catch {
4449
4977
  return;
4450
4978
  }
4451
- },
4452
- redactAll: true
4979
+ }
4453
4980
  });
4454
4981
 
4455
4982
  //#endregion
@@ -4663,7 +5190,6 @@ const authenticateTotpMfaDevice = async ({ deviceId, code, createMfaTokenOptions
4663
5190
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
4664
5191
  * @returns A promise that resolves to the newly generated recovery codes.
4665
5192
  * @instrumented
4666
- * @redact-params
4667
5193
  */
4668
5194
  const createNewMfaRecoveryCodes = async (client = getDefaultClient()) => {
4669
5195
  const core = getCore(client);
@@ -4679,8 +5205,7 @@ const __createNewMfaRecoveryCodes_wrapped = instrumentFunction({
4679
5205
  } catch {
4680
5206
  return;
4681
5207
  }
4682
- },
4683
- redactAll: true
5208
+ }
4684
5209
  });
4685
5210
 
4686
5211
  //#endregion
@@ -4774,9 +5299,6 @@ const getMfaRecoveryCodes = async (client = getDefaultClient()) => {
4774
5299
  * @returns A promise that resolves to the TOTP registration response containing setup information,
4775
5300
  * like the secret key and the OTP Auth URI.
4776
5301
  * @instrumented
4777
- * @redact-params - the response embeds the TOTP shared secret in both `secret`
4778
- * and the `uri` (`otpauth://...?secret=...`); redact the whole event so the
4779
- * seed never reaches logs via the un-keyed `uri` field.
4780
5302
  */
4781
5303
  const registerTotpMfaDevice = async (client = getDefaultClient()) => {
4782
5304
  const core = getCore(client);
@@ -4792,8 +5314,7 @@ const __registerTotpMfaDevice_wrapped = instrumentFunction({
4792
5314
  } catch {
4793
5315
  return;
4794
5316
  }
4795
- },
4796
- redactAll: true
5317
+ }
4797
5318
  });
4798
5319
 
4799
5320
  //#endregion
@@ -4838,11 +5359,24 @@ const __setDefaultMfaDevice_wrapped = instrumentFunction({
4838
5359
  *
4839
5360
  * Once you have the OTP code, you should then use `verifyOTP` to verify it and complete the authentication process.
4840
5361
  *
5362
+ * @example
5363
+ * ```ts
5364
+ * const { verificationUUID } = await sendEmailOTP({
5365
+ * email: 'user@example.com',
5366
+ * });
5367
+ * // Then verify with the code the user received
5368
+ * await verifyOTP({
5369
+ * otpVerification: { email: 'user@example.com', verificationUUID },
5370
+ * verificationToken: '123456',
5371
+ * });
5372
+ * ```
5373
+ *
4841
5374
  * @param params.email - The email address to send the OTP to.
4842
5375
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
4843
5376
  * @returns A promise that resolves to an OTPVerification object containing the email and verification UUID.
5377
+ * @see verifyOTP
5378
+ * @see sendSmsOTP
4844
5379
  * @instrumented
4845
- * @redact-params
4846
5380
  */
4847
5381
  const sendEmailOTP = async ({ email }, client = getDefaultClient()) => {
4848
5382
  const core = getCore(client);
@@ -4870,8 +5404,7 @@ const __sendEmailOTP_wrapped = instrumentFunction({
4870
5404
  } catch {
4871
5405
  return;
4872
5406
  }
4873
- },
4874
- redactAll: true
5407
+ }
4875
5408
  });
4876
5409
 
4877
5410
  //#endregion
@@ -5800,12 +6333,23 @@ const supportedCountries = {
5800
6333
  /**
5801
6334
  * Sends a one-time password (OTP) via SMS to the specified phone number.
5802
6335
  *
6336
+ * @example
6337
+ * ```ts
6338
+ * const { verificationUUID } = await sendSmsOTP({
6339
+ * isoCountryCode: 'US',
6340
+ * phoneNumber: '5551234567',
6341
+ * });
6342
+ * // Then verify with the code the user received
6343
+ * await verifyOTP({ otpVerification: { phoneNumber: '5551234567', verificationUUID }, verificationToken: '123456' });
6344
+ * ```
6345
+ *
5803
6346
  * @param params.isoCountryCode - The ISO country code for the phone number (e.g., 'US', 'CA', 'GB').
5804
6347
  * @param params.phoneNumber - The phone number to send the OTP to.
5805
6348
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
5806
6349
  * @returns A promise that resolves to an OTPVerification object containing the phone details and verification UUID.
6350
+ * @see verifyOTP
6351
+ * @see sendEmailOTP
5807
6352
  * @instrumented
5808
- * @redact-params
5809
6353
  */
5810
6354
  const sendSmsOTP = async ({ isoCountryCode, phoneNumber }, client = getDefaultClient()) => {
5811
6355
  const core = getCore(client);
@@ -5838,17 +6382,17 @@ const __sendSmsOTP_wrapped = instrumentFunction({
5838
6382
  } catch {
5839
6383
  return;
5840
6384
  }
5841
- },
5842
- redactAll: true
6385
+ }
5843
6386
  });
5844
6387
 
5845
6388
  //#endregion
5846
6389
  //#region src/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.ts
5847
6390
  /** @notInstrumented */
5848
- const verifyOTPForUserSignIn = async ({ otpVerification, verificationToken }, client) => {
6391
+ const verifyOTPForUserSignIn = async ({ allowNewMFALinking, otpVerification, verificationToken }, client) => {
5849
6392
  const core = getCore(client);
5850
6393
  const apiClient = createApiClient({}, client);
5851
6394
  const verifyRequest = {
6395
+ ...allowNewMFALinking !== void 0 && { allowNewMFALinking },
5852
6396
  verificationToken,
5853
6397
  verificationUUID: otpVerification.verificationUUID
5854
6398
  };
@@ -5891,14 +6435,26 @@ const verifyOTPForUserUpdate = async ({ otpVerification, verificationToken, requ
5891
6435
  * This function validates the OTP code provided by the user and completes
5892
6436
  * the verification process for either sign-in or account updates.
5893
6437
  *
6438
+ * @example
6439
+ * ```ts
6440
+ * const { verificationUUID } = await sendEmailOTP({ email: 'user@example.com' });
6441
+ * const response = await verifyOTP({
6442
+ * otpVerification: { email: 'user@example.com', verificationUUID },
6443
+ * verificationToken: '123456',
6444
+ * });
6445
+ * ```
6446
+ *
6447
+ * @param [params.allowNewMFALinking] - Whether sign-in may return a credential-link elevated token for users without MFA.
5894
6448
  * @param params.otpVerification - The OTP verification object containing verification details.
5895
6449
  * @param params.verificationToken - The token received from the OTP verification process.
6450
+ * @param [params.requestedScopes] - Optional token scopes to request during verification.
5896
6451
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
5897
6452
  * @returns A promise that resolves to the verify response object upon successful verification.
6453
+ * @see sendEmailOTP
6454
+ * @see sendSmsOTP
5898
6455
  * @instrumented
5899
- * @redact-params
5900
6456
  */
5901
- const verifyOTP = async ({ otpVerification, verificationToken, requestedScopes }, client = getDefaultClient()) => {
6457
+ const verifyOTP = async ({ allowNewMFALinking, otpVerification, requestedScopes, verificationToken }, client = getDefaultClient()) => {
5902
6458
  preconnectWaasIframe(client);
5903
6459
  let response;
5904
6460
  if (client.user) response = await verifyOTPForUserUpdate({
@@ -5907,6 +6463,7 @@ const verifyOTP = async ({ otpVerification, verificationToken, requestedScopes }
5907
6463
  verificationToken
5908
6464
  }, client);
5909
6465
  else response = await verifyOTPForUserSignIn({
6466
+ allowNewMFALinking,
5910
6467
  otpVerification,
5911
6468
  verificationToken
5912
6469
  }, client);
@@ -5923,8 +6480,7 @@ const __verifyOTP_wrapped = instrumentFunction({
5923
6480
  } catch {
5924
6481
  return;
5925
6482
  }
5926
- },
5927
- redactAll: true
6483
+ }
5928
6484
  });
5929
6485
 
5930
6486
  //#endregion
@@ -6006,6 +6562,33 @@ const getSwapStatus = async (params, client = getDefaultClient()) => {
6006
6562
  }
6007
6563
  };
6008
6564
 
6565
+ //#endregion
6566
+ //#region src/modules/user/checkUserScopes/checkUserScopes.ts
6567
+ /**
6568
+ * Checks whether the given user has all the specified scopes.
6569
+ *
6570
+ * The user's `scope` field is a whitespace-separated string of granted
6571
+ * permissions (per RFC 8693 §4.2). This helper splits it and verifies that
6572
+ * every entry in `scopes` is present.
6573
+ *
6574
+ * @example
6575
+ * const user = getDefaultClient().user;
6576
+ * if (user && checkUserScopes({ user, scopes: ['wallets:read'] })) {
6577
+ * showWalletBalances();
6578
+ * }
6579
+ *
6580
+ * @param params.user - The authenticated user to check.
6581
+ * @param params.scopes - The scope strings the user must have.
6582
+ * @returns `true` if the user has every scope in `scopes`, `false` otherwise.
6583
+ * @see User
6584
+ * @see updateUser
6585
+ * @notInstrumented
6586
+ */
6587
+ const checkUserScopes = ({ scopes, user }) => {
6588
+ const grantedScopes = user.scope?.split(/\s+/).filter(Boolean) ?? [];
6589
+ return scopes.every((requiredScope) => grantedScopes.includes(requiredScope));
6590
+ };
6591
+
6009
6592
  //#endregion
6010
6593
  //#region src/modules/user/deleteUser/deleteUser.ts
6011
6594
  /**
@@ -6014,8 +6597,16 @@ const getSwapStatus = async (params, client = getDefaultClient()) => {
6014
6597
  * This function performs a hard delete of the user account. Upon successful deletion,
6015
6598
  * the user will be automatically logged out and all authentication data will be cleared.
6016
6599
  *
6600
+ * @example
6601
+ * ```ts
6602
+ * // Permanently delete the user's account
6603
+ * await deleteUser();
6604
+ * ```
6605
+ *
6017
6606
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
6018
6607
  * @returns A promise that resolves when the user account is successfully deleted.
6608
+ * @see logout
6609
+ * @see refreshUser
6019
6610
  * @instrumented
6020
6611
  */
6021
6612
  const deleteUser = async (client = getDefaultClient()) => {
@@ -7349,8 +7940,14 @@ const getAddressesWithTypesFromConnectionResult = (connectionResult) => {
7349
7940
  *
7350
7941
  * Note: This function will not verify the wallet account, use the verifyWalletAccount function to do that
7351
7942
  * or connectAndVerifyWithWalletProvider to do that in a single step.
7352
- * @see verifyWalletAccount
7353
- * @see connectAndVerifyWithWalletProvider
7943
+ *
7944
+ * @example
7945
+ * ```ts
7946
+ * const walletAccount = await connectWithWalletProvider({
7947
+ * walletProviderKey: 'metamaskevm',
7948
+ * });
7949
+ * console.log(walletAccount.address);
7950
+ * ```
7354
7951
  *
7355
7952
  * @param params.walletProviderKey - The unique key identifying the wallet provider to connect to (e.g. 'metamaskevm', 'phantomsol').
7356
7953
  * @param [params.addToDynamicWalletAccounts] - Whether to add the connected wallet account to the user's wallet accounts. Defaults to true.
@@ -7358,7 +7955,9 @@ const getAddressesWithTypesFromConnectionResult = (connectionResult) => {
7358
7955
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7359
7956
  * @returns A promise that resolves to the connected wallet account.
7360
7957
  * @throws NoAddressFoundError If the request to connect was successful but no address is connected to your app.
7361
- * @instrumented
7958
+ * @see verifyWalletAccount
7959
+ * @see connectAndVerifyWithWalletProvider
7960
+ * @instrumented
7362
7961
  */
7363
7962
  const connectWithWalletProvider = async ({ walletProviderKey, addToDynamicWalletAccounts = true, hardwareWalletVendor }, client = getDefaultClient()) => {
7364
7963
  const walletProvider = getWalletProviderByKey({ walletProviderKey }, client);
@@ -7495,9 +8094,19 @@ const getSignInMessage = async ({ nonce: nonceOverride, walletAccount }, client)
7495
8094
  * This function generates a sign-in message and requires the user to sign it
7496
8095
  * with their wallet's private key, proving they control the wallet address.
7497
8096
  *
8097
+ * @example
8098
+ * ```ts
8099
+ * const { messageToSign, signature } = await proveWalletAccountOwnership({
8100
+ * walletAccount: wallets[0],
8101
+ * });
8102
+ * // Send signature to your backend for verification
8103
+ * ```
8104
+ *
7498
8105
  * @param params.walletAccount - The wallet account to prove ownership of.
7499
8106
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7500
8107
  * @returns A promise that resolves to an object containing the message and signature.
8108
+ * @see signMessage
8109
+ * @see verifyWalletAccount
7501
8110
  * @instrumented
7502
8111
  */
7503
8112
  const proveWalletAccountOwnership = async ({ walletAccount }, client = getDefaultClient()) => {
@@ -7601,11 +8210,22 @@ const verifyWalletAccountForSignInOrTransfer = async ({ walletAccount, isTransfe
7601
8210
  * This function requires the user to sign a message to prove wallet ownership,
7602
8211
  * then sets the wallet account as verified.
7603
8212
  *
8213
+ * @example
8214
+ * ```ts
8215
+ * const walletAccount = await connectWithWalletProvider({
8216
+ * walletProviderKey: 'metamaskevm',
8217
+ * });
8218
+ * const verified = await verifyWalletAccount({ walletAccount });
8219
+ * ```
8220
+ *
7604
8221
  * @param params.walletAccount - The wallet account to verify ownership of.
8222
+ * @param [params.requestedScopes] - Optional token scopes to request during verification.
7605
8223
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7606
8224
  * @returns A promise that resolves to the verified wallet account.
7607
8225
  * @throws WalletAccountAlreadyVerifiedError If the wallet is already verified.
7608
8226
  * @throws WalletAlreadyLinkedToAnotherUserError If the wallet is linked to another user.
8227
+ * @see connectWithWalletProvider
8228
+ * @see connectAndVerifyWithWalletProvider
7609
8229
  * @instrumented
7610
8230
  */
7611
8231
  const verifyWalletAccount = async ({ walletAccount, requestedScopes }, client = getDefaultClient()) => {
@@ -7655,10 +8275,20 @@ const isDeeplinkWalletProvider = ({ walletProvider }) => walletProvider.walletPr
7655
8275
  * `verifyWalletAccount` separately from a new user gesture (e.g. a "Verify
7656
8276
  * Ownership" button).
7657
8277
  *
8278
+ * @example
8279
+ * ```ts
8280
+ * const walletAccount = await connectAndVerifyWithWalletProvider({
8281
+ * walletProviderKey: 'metamaskevm',
8282
+ * });
8283
+ * console.log('Verified address:', walletAccount.address);
8284
+ * ```
8285
+ *
7658
8286
  * @param params.walletProviderKey - The unique key identifying the wallet provider to connect to.
7659
8287
  * @param [params.hardwareWalletVendor] - The hardware wallet vendor, if connecting via a hardware wallet (e.g. 'ledger').
7660
8288
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7661
8289
  * @returns A promise that resolves to the connected and verified wallet account.
8290
+ * @see connectWithWalletProvider
8291
+ * @see verifyWalletAccount
7662
8292
  * @instrumented
7663
8293
  */
7664
8294
  const connectAndVerifyWithWalletProvider = async ({ walletProviderKey, hardwareWalletVendor }, client = getDefaultClient()) => {
@@ -7720,9 +8350,17 @@ const getAvailableWalletProvidersData = (client = getDefaultClient()) => {
7720
8350
  * This function returns the list of wallet addresses that are currently
7721
8351
  * connected and available through the specified wallet provider.
7722
8352
  *
8353
+ * @example
8354
+ * ```ts
8355
+ * const addresses = getConnectedAddresses({ walletProviderKey: 'metamaskevm' });
8356
+ * console.log('Connected:', addresses);
8357
+ * ```
8358
+ *
7723
8359
  * @param params.walletProviderKey - The unique key of the wallet provider to query.
7724
8360
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7725
8361
  * @returns An array of connected wallet addresses.
8362
+ * @see connectWithWalletProvider
8363
+ * @see getWalletAccounts
7726
8364
  * @notInstrumented
7727
8365
  */
7728
8366
  const getConnectedAddresses = ({ walletProviderKey }, client = getDefaultClient()) => {
@@ -7754,6 +8392,7 @@ const getWalletAccountAddressByType = ({ type, walletAccount }) => {
7754
8392
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7755
8393
  * @returns The data for the wallet provider.
7756
8394
  * @notInstrumented
8395
+ * @hook Exposed as a hook so consumers get reactive wallet provider data, updated when the wallet provider registry changes.
7757
8396
  */
7758
8397
  const getWalletProviderDataByKey = ({ walletProviderKey }, client = getDefaultClient()) => {
7759
8398
  const { chain, groupKey, key, metadata, walletProviderType } = getWalletProviderByKey({ walletProviderKey }, client);
@@ -7802,8 +8441,17 @@ const isHardwareWalletAccount = ({ walletAccount }) => walletAccount.hardwareWal
7802
8441
  * else your app considers "signed in" (e.g. `client.user`, completed onboarding,
7803
8442
  * a required embedded wallet, …).
7804
8443
  *
8444
+ * @example
8445
+ * ```ts
8446
+ * if (isAnyWalletAccountConnected()) {
8447
+ * console.log('At least one wallet is connected');
8448
+ * }
8449
+ * ```
8450
+ *
7805
8451
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7806
8452
  * @returns True if the session has at least one wallet account, false otherwise.
8453
+ * @see getWalletAccounts
8454
+ * @see isWalletAccountVerified
7807
8455
  * @notInstrumented
7808
8456
  */
7809
8457
  const isAnyWalletAccountConnected = (client = getDefaultClient()) => getWalletAccounts(client).length > 0;
@@ -7813,8 +8461,16 @@ const isAnyWalletAccountConnected = (client = getDefaultClient()) => getWalletAc
7813
8461
  /**
7814
8462
  * Checks if a wallet account has been verified by a user.
7815
8463
  *
7816
- * @param walletAccount - The wallet account to check.
8464
+ * @example
8465
+ * ```ts
8466
+ * const wallets = getWalletAccounts();
8467
+ * const verified = wallets.filter(w => isWalletAccountVerified({ walletAccount: w }));
8468
+ * ```
8469
+ *
8470
+ * @param params.walletAccount - The wallet account to check.
7817
8471
  * @returns True if the wallet account has been verified, false otherwise.
8472
+ * @see verifyWalletAccount
8473
+ * @see getWalletAccounts
7818
8474
  * @notInstrumented
7819
8475
  */
7820
8476
  const isWalletAccountVerified = ({ walletAccount }) => {
@@ -7904,9 +8560,17 @@ const getActiveNetworkId = ({ walletAccount }, client = getDefaultClient()) => {
7904
8560
  * {@link getTokenBalances}; for a multi-chain portfolio snapshot, use
7905
8561
  * {@link getMultichainTokenBalances}.
7906
8562
  *
8563
+ * @example
8564
+ * ```ts
8565
+ * const { balance } = await getNativeBalance({ walletAccount: wallets[0] });
8566
+ * console.log('Native balance:', balance);
8567
+ * ```
8568
+ *
7907
8569
  * @param params.walletAccount - The wallet account to get the balance for.
7908
8570
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
7909
8571
  * @returns A promise that resolves to an object containing the balance as a string or null.
8572
+ * @see getMultichainTokenBalances
8573
+ * @see switchActiveNetwork
7910
8574
  * @notInstrumented
7911
8575
  */
7912
8576
  const getNativeBalance = async ({ walletAccount }, client = getDefaultClient()) => {
@@ -7926,6 +8590,14 @@ const getNativeBalance = async ({ walletAccount }, client = getDefaultClient())
7926
8590
  * with the token-balance fetchers (`getTokenBalances` /
7927
8591
  * `getMultichainTokenBalances`).
7928
8592
  *
8593
+ * @example
8594
+ * ```ts
8595
+ * // Prefer getNativeBalance instead
8596
+ * const balance = await getNativeBalance({ walletAccount });
8597
+ * ```
8598
+ *
8599
+ * @see getNativeBalance
8600
+ * @see getMultichainBalances
7929
8601
  * @notInstrumented
7930
8602
  * @noHook Deprecated; the replacement is exposed via its own hook.
7931
8603
  */
@@ -8011,11 +8683,21 @@ const isProgrammaticNetworkSwitchAvailable = ({ walletAccount }, client = getDef
8011
8683
  * This function programmatically changes the network
8012
8684
  * that the wallet is currently connected to.
8013
8685
  *
8686
+ * @example
8687
+ * ```ts
8688
+ * await switchActiveNetwork({
8689
+ * walletAccount: wallets[0],
8690
+ * networkId: '137', // Polygon
8691
+ * });
8692
+ * ```
8693
+ *
8014
8694
  * @param params.networkId - The identifier of the network to switch to. Should match the networkId of the network data.
8015
8695
  * @param params.walletAccount - The wallet account to switch networks for.
8016
8696
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8017
8697
  * @returns A promise that resolves when the network switch is complete.
8018
8698
  * @throws NetworkSwitchingUnavailableError If the wallet provider doesn't support network switching.
8699
+ * @see getNativeBalance
8700
+ * @see isProgrammaticNetworkSwitchAvailable
8019
8701
  * @instrumented
8020
8702
  */
8021
8703
  const switchActiveNetwork = async ({ networkId, walletAccount }, client = getDefaultClient()) => {
@@ -8041,15 +8723,37 @@ const __switchActiveNetwork_wrapped = instrumentFunction({
8041
8723
  });
8042
8724
 
8043
8725
  //#endregion
8044
- //#region src/modules/wallets/primaryWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.ts
8726
+ //#region src/modules/wallets/selectedWalletAccount/setSelectedWalletAccount/setSelectedWalletAccount.ts
8045
8727
  /**
8046
- * Make the wallet account provided as the primary wallet account.
8728
+ * Set the wallet account that is currently selected for the user.
8729
+ *
8730
+ * The SDK itself does not use or care about which wallet is "selected" — this
8731
+ * only records the selection (updating the backend `lastSelectedAt` and, for
8732
+ * verified wallets, persisting it server-side) so it can later be read back via
8733
+ * `getSelectedWalletAccount`. It has no bearing on authentication or signing.
8734
+ * Applications that need a notion of an active/current wallet should own that
8735
+ * selection state themselves.
8736
+ *
8737
+ * The one exception is the wagmi integration (`@dynamic-labs-sdk/wagmi`), which
8738
+ * relies on the selected EVM wallet.
8739
+ *
8740
+ * @example
8741
+ * ```ts
8742
+ * const wallets = getWalletAccounts();
8743
+ * await setSelectedWalletAccount({ walletAccount: wallets[1] });
8744
+ * ```
8745
+ *
8746
+ * @param params.walletAccount - The wallet account to mark as selected.
8747
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8748
+ * @returns A promise that resolves when the selection is persisted.
8749
+ * @see getSelectedWalletAccount
8750
+ * @see getWalletAccounts
8047
8751
  * @instrumented
8048
- * @noHook The primary-wallet concept is discouraged and not exposed as a hook.
8752
+ * @noHook The selected-wallet concept is not exposed as a hook.
8049
8753
  */
8050
- const selectPrimaryWalletAccount = async ({ walletAccount }, client = getDefaultClient()) => {
8754
+ const setSelectedWalletAccount = async ({ walletAccount }, client = getDefaultClient()) => {
8051
8755
  const core = getCore(client);
8052
- if (getPrimaryWalletAccount(client)?.id === walletAccount.id) return;
8756
+ if (getSelectedWalletAccount(client)?.id === walletAccount.id) return;
8053
8757
  if (walletAccount.verifiedCredentialId) updateAuthFromVerifyResponse({ response: await createApiClient({}, client).selectUserWallet({
8054
8758
  environmentId: core.environmentId,
8055
8759
  userWalletSelectionRequest: { walletId: walletAccount.verifiedCredentialId }
@@ -8059,6 +8763,68 @@ const selectPrimaryWalletAccount = async ({ walletAccount }, client = getDefault
8059
8763
  lastSelectedAt: /* @__PURE__ */ new Date()
8060
8764
  }] }, client);
8061
8765
  };
8766
+ const __setSelectedWalletAccount_impl = setSelectedWalletAccount;
8767
+ const __setSelectedWalletAccount_wrapped = instrumentFunction({
8768
+ fn: __setSelectedWalletAccount_impl,
8769
+ functionName: "setSelectedWalletAccount",
8770
+ getCore: () => {
8771
+ try {
8772
+ return getCore(getDefaultClient());
8773
+ } catch {
8774
+ return;
8775
+ }
8776
+ }
8777
+ });
8778
+
8779
+ //#endregion
8780
+ //#region src/modules/wallets/selectedWalletAccount/getPrimaryWalletAccount/getPrimaryWalletAccount.ts
8781
+ /**
8782
+ * Get the primary wallet account.
8783
+ *
8784
+ * @deprecated Renamed to `getSelectedWalletAccount`. The "primary wallet" naming was
8785
+ * misleading — the SDK does not use or care about which wallet is selected; it
8786
+ * only lets you *read* the user's most recently selected wallet. Migrate to
8787
+ * `getSelectedWalletAccount`, and own your own wallet-selection state in your
8788
+ * application rather than relying on the SDK's selected wallet.
8789
+ *
8790
+ * @example
8791
+ * ```ts
8792
+ * const primary = getPrimaryWalletAccount();
8793
+ * if (primary) {
8794
+ * console.log('Primary wallet:', primary.address);
8795
+ * }
8796
+ * ```
8797
+ *
8798
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8799
+ * @returns The primary wallet account, or null if no wallet has been selected.
8800
+ * @notInstrumented
8801
+ */
8802
+ const getPrimaryWalletAccount = (client = getDefaultClient()) => getSelectedWalletAccount(client);
8803
+
8804
+ //#endregion
8805
+ //#region src/modules/wallets/selectedWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.ts
8806
+ /**
8807
+ * Make the wallet account provided as the primary wallet account.
8808
+ *
8809
+ * @deprecated Renamed to `setSelectedWalletAccount`. The "primary wallet" naming was
8810
+ * misleading — the SDK does not use or care about which wallet is selected;
8811
+ * this only records the selection so it can later be read back. Migrate to
8812
+ * `setSelectedWalletAccount`, and own your own wallet-selection state in your
8813
+ * application rather than relying on the SDK's selected wallet.
8814
+ *
8815
+ * @example
8816
+ * ```ts
8817
+ * const wallets = getWalletAccounts();
8818
+ * await selectPrimaryWalletAccount({ walletAccount: wallets[1] });
8819
+ * ```
8820
+ *
8821
+ * @param params.walletAccount - The wallet account to set as primary.
8822
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8823
+ * @returns A promise that resolves when the selection is persisted.
8824
+ * @instrumented
8825
+ * @noHook The selected-wallet concept is not exposed as a hook.
8826
+ */
8827
+ const selectPrimaryWalletAccount = async ({ walletAccount }, client = getDefaultClient()) => __setSelectedWalletAccount_wrapped({ walletAccount }, client);
8062
8828
  const __selectPrimaryWalletAccount_impl = selectPrimaryWalletAccount;
8063
8829
  const __selectPrimaryWalletAccount_wrapped = instrumentFunction({
8064
8830
  fn: __selectPrimaryWalletAccount_impl,
@@ -8075,10 +8841,23 @@ const __selectPrimaryWalletAccount_wrapped = instrumentFunction({
8075
8841
  //#endregion
8076
8842
  //#region src/modules/wallets/disconnectWalletAccount/disconnectWalletAccount.ts
8077
8843
  /**
8078
- * This function disconnects the specified wallet account with the wallet provider.
8844
+ * Disconnects the specified wallet account from its wallet provider.
8079
8845
  *
8080
- * The wallet account is not removed from the user's profile or from dynamic's state,
8846
+ * The wallet account is not removed from the user's profile or from Dynamic's state,
8081
8847
  * it is only responsible for terminating the connection with the wallet provider.
8848
+ * Use `removeWalletAccount` to fully remove a wallet from the user's session.
8849
+ *
8850
+ * @example
8851
+ * ```ts
8852
+ * const wallets = getWalletAccounts();
8853
+ * await disconnectWalletAccount({ walletAccount: wallets[0] }, client);
8854
+ * ```
8855
+ *
8856
+ * @param params.walletAccount - The wallet account to disconnect.
8857
+ * @param client - The Dynamic client instance.
8858
+ * @returns A promise that resolves when the wallet is disconnected from the provider.
8859
+ * @see removeWalletAccount
8860
+ * @see connectWithWalletProvider
8082
8861
  * @notInstrumented
8083
8862
  */
8084
8863
  const disconnectWalletAccount = async ({ walletAccount }, client) => {
@@ -8099,9 +8878,17 @@ const disconnectWalletAccount = async ({ walletAccount }, client) => {
8099
8878
  * updating local state and server records (if there is an authenticated user).
8100
8879
  * For verified wallets, it will unlink them from the user's account.
8101
8880
  *
8881
+ * @example
8882
+ * ```ts
8883
+ * const wallets = getWalletAccounts();
8884
+ * await removeWalletAccount({ walletAccount: wallets[0] });
8885
+ * ```
8886
+ *
8102
8887
  * @param params.walletAccount - The wallet account to remove.
8103
8888
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8104
8889
  * @returns A promise that resolves when the wallet account is successfully removed.
8890
+ * @see getWalletAccounts
8891
+ * @see disconnectWalletAccount
8105
8892
  * @instrumented
8106
8893
  */
8107
8894
  const removeWalletAccount = async ({ walletAccount }, client = getDefaultClient()) => {
@@ -8138,10 +8925,21 @@ const __removeWalletAccount_wrapped = instrumentFunction({
8138
8925
  * This function uses the wallet's private key to cryptographically sign
8139
8926
  * the provided message.
8140
8927
  *
8928
+ * @example
8929
+ * ```ts
8930
+ * const wallets = getWalletAccounts();
8931
+ * const { signature } = await signMessage({
8932
+ * walletAccount: wallets[0],
8933
+ * message: 'Hello Dynamic!',
8934
+ * });
8935
+ * ```
8936
+ *
8141
8937
  * @param params.walletAccount - The wallet account to use for signing.
8142
8938
  * @param params.message - The message to sign.
8143
8939
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8144
8940
  * @returns A promise that resolves to an object containing the signature.
8941
+ * @see getWalletAccounts
8942
+ * @see connectWithWalletProvider
8145
8943
  * @instrumented
8146
8944
  */
8147
8945
  const signMessage = async ({ walletAccount, message }, client = getDefaultClient()) => {
@@ -8174,13 +8972,24 @@ const __signMessage_wrapped = instrumentFunction({
8174
8972
  * Supports native token transfers and, where supported by the chain,
8175
8973
  * fungible/token transfers via the optional `token` parameter.
8176
8974
  *
8975
+ * @example
8976
+ * ```ts
8977
+ * const { transactionHash } = await transferAmount({
8978
+ * walletAccount: wallets[0],
8979
+ * amount: '0.1',
8980
+ * recipient: '0x1234...abcd',
8981
+ * });
8982
+ * ```
8983
+ *
8177
8984
  * @param params.walletAccount - The wallet account to transfer from.
8178
8985
  * @param params.amount - The amount to transfer as a decimal string (e.g. "1.5").
8179
8986
  * @param params.recipient - The recipient address.
8180
- * @param params.token - Optional token info for non-native transfers.
8987
+ * @param [params.token] - Optional token info for non-native transfers.
8181
8988
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8182
8989
  * @returns A promise that resolves to an object containing the transaction hash.
8183
8990
  * @throws If the wallet provider does not support the transfer amount method.
8991
+ * @see getWalletAccounts
8992
+ * @see signMessage
8184
8993
  * @instrumented
8185
8994
  */
8186
8995
  const transferAmount = async ({ walletAccount, amount, recipient, token }, client = getDefaultClient()) => {
@@ -8215,9 +9024,18 @@ const __transferAmount_wrapped = instrumentFunction({
8215
9024
  * This function requires the user to sign a message to prove wallet ownership,
8216
9025
  * then transfers the wallet account to the current user's account.
8217
9026
  *
9027
+ * @example
9028
+ * ```ts
9029
+ * const walletAccount = await transferWalletAccount({
9030
+ * walletProviderKey: 'metamaskevm',
9031
+ * });
9032
+ * ```
9033
+ *
8218
9034
  * @param params.walletProviderKey - The key of the wallet provider of the wallet account to transfer.
8219
9035
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8220
9036
  * @returns A promise that resolves to the transferred wallet account.
9037
+ * @see connectWithWalletProvider
9038
+ * @see verifyWalletAccount
8221
9039
  * @instrumented
8222
9040
  */
8223
9041
  const transferWalletAccount = async ({ walletProviderKey }, client = getDefaultClient()) => {
@@ -8250,10 +9068,20 @@ const __transferWalletAccount_wrapped = instrumentFunction({
8250
9068
  * This function searches through the current session's wallet accounts
8251
9069
  * to find one matching the specified address and chain.
8252
9070
  *
9071
+ * @example
9072
+ * ```ts
9073
+ * const account = getWalletAccountFromAddress({
9074
+ * address: '0x1234...abcd',
9075
+ * chain: 'EVM',
9076
+ * });
9077
+ * ```
9078
+ *
8253
9079
  * @param params.address - The wallet address to search for.
8254
9080
  * @param params.chain - The blockchain the wallet belongs to.
8255
9081
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8256
9082
  * @returns The matching wallet account, or undefined if not found.
9083
+ * @see getWalletAccounts
9084
+ * @see isWalletAccountVerified
8257
9085
  * @notInstrumented
8258
9086
  */
8259
9087
  const getWalletAccountFromAddress = ({ address, chain }, client = getDefaultClient()) => {
@@ -8412,5 +9240,5 @@ const parseUserAgent = ({ userAgent }) => {
8412
9240
  assertPackageVersion(name, version);
8413
9241
 
8414
9242
  //#endregion
8415
- export { BaseError, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, DeeplinkConnectAndVerifyUnsupportedError, FeeEstimationFailedError, FlowSessionTokenMissingError, GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, InvalidSocialCallbackOriginError, JwtVerifiedCredentialFormatEnum, LinkCredentialError, MFAAction, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, ProviderEnum, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenScope, TokenSwapError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserCancelledSocialPopUpError, UserNotAuthenticatedError, UserRejectedError, WaasOnboardingIncompleteError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, appendConnectionUriToDeeplink, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, __attachFlowSource_wrapped as attachFlowSource, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, __broadcastFlow_wrapped as broadcastFlow, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __cancelFlow_wrapped as cancelFlow, __checkStepUpAuth_wrapped as checkStepUpAuth, __completeDeviceRegistration_wrapped as completeDeviceRegistration, __completeSocialAuthentication_wrapped as completeSocialAuthentication, __completeSocialRedirect_wrapped as completeSocialRedirect, __confirmTransaction_wrapped as confirmTransaction, __connectAndVerifyWithWalletProvider_wrapped as connectAndVerifyWithWalletProvider, __connectWithWalletProvider_wrapped as connectWithWalletProvider, __consumeMfaToken_wrapped as consumeMfaToken, __createCheckoutTransaction_wrapped as createCheckoutTransaction, __createCoinbaseOnrampOrder_wrapped as createCoinbaseOnrampOrder, __createCryptoDotComPayment_wrapped as createCryptoDotComPayment, __createDynamicClient_wrapped as createDynamicClient, __createKrakenExchangeTransfer_wrapped as createKrakenExchangeTransfer, __createNewMfaRecoveryCodes_wrapped as createNewMfaRecoveryCodes, __deleteMfaDevice_wrapped as deleteMfaDevice, __deletePasskey_wrapped as deletePasskey, __deleteUser_wrapped as deleteUser, detectDeviceRegistrationRedirect, detectOAuthRedirect, detectSocialRedirectUrl, excludeInstalledFromCatalog, __executeSwapTransaction_wrapped as executeSwapTransaction, fetchProjectSettings, findMissingGoogleDriveBackupScopes, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getBalances, getCheckoutTransaction, getCheckoutTransactionQuote, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, getElevatedAccessToken, getFlow, getFlowQuote, __getGoogleDriveBackupReadiness_wrapped as getGoogleDriveBackupReadiness, getInstallationLinkForCurrentPlatform, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, __getMoonPayCurrencies_wrapped as getMoonPayCurrencies, __getMoonPayUrl_wrapped as getMoonPayUrl, getMultichainBalances, getMultichainTokenBalances, getNativeBalance, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getRegisteredDevices, getSwapQuote, getSwapStatus, getTokenBalances, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletOptionsCatalogue, getWalletProviderDataByKey, hasAllGoogleDriveBackupScopes, hasExtension, __initializeClient_wrapped as initializeClient, isAnyWalletAccountConnected, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isInsufficientGoogleDriveScopesError, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, matchWalletProvidersToCatalogGroup, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, parseUserAgent, __prepareCheckoutTransaction_wrapped as prepareCheckoutTransaction, __prepareFlowSigning_wrapped as prepareFlowSigning, __proveWalletAccountOwnership_wrapped as proveWalletAccountOwnership, __refreshAuth_wrapped as refreshAuth, __refreshUser_wrapped as refreshUser, __registerPasskey_wrapped as registerPasskey, __registerTotpMfaDevice_wrapped as registerTotpMfaDevice, __removeWalletAccount_wrapped as removeWalletAccount, __requestExternalAuthElevatedToken_wrapped as requestExternalAuthElevatedToken, requiresConversion, __revokeAllRegisteredDevices_wrapped as revokeAllRegisteredDevices, __revokeRegisteredDevice_wrapped as revokeRegisteredDevice, __selectPrimaryWalletAccount_wrapped as selectPrimaryWalletAccount, __sendEmailOTP_wrapped as sendEmailOTP, __sendSmsOTP_wrapped as sendSmsOTP, __setCaptchaToken_wrapped as setCaptchaToken, __setDefaultMfaDevice_wrapped as setDefaultMfaDevice, __setInstrumentationEnabled_wrapped as setInstrumentationEnabled, __signInWithExternalJwt_wrapped as signInWithExternalJwt, __signInWithPasskey_wrapped as signInWithPasskey, __signInWithSocialPopUp_wrapped as signInWithSocialPopUp, __signInWithSocialRedirect_wrapped as signInWithSocialRedirect, __signMessage_wrapped as signMessage, __submitCheckoutTransaction_wrapped as submitCheckoutTransaction, __submitFlowTransaction_wrapped as submitFlowTransaction, supportedCountries, __switchActiveNetwork_wrapped as switchActiveNetwork, trackCheckoutTransaction, __transferAmount_wrapped as transferAmount, __transferWalletAccount_wrapped as transferWalletAccount, __unlinkSocialAccount_wrapped as unlinkSocialAccount, __updateUser_wrapped as updateUser, __verifyOTP_wrapped as verifyOTP, __verifyWalletAccount_wrapped as verifyWalletAccount, waitForClientInitialized };
9243
+ export { BaseError, CaptchaProviderEnum, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, DeeplinkConnectAndVerifyUnsupportedError, DeviceRegistrationIdentityMismatchError, FeeEstimationFailedError, FlowSessionTokenMissingError, GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, InvalidSocialCallbackOriginError, JwtVerifiedCredentialFormatEnum, LinkCredentialError, MFAAction, MergeAccountsConfirmationError, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, ProviderEnum, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenScope, TokenSwapError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserCancelledSocialPopUpError, UserNotAuthenticatedError, UserRejectedError, WaasOnboardingIncompleteError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, WalletScreeningBlockedError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, appendConnectionUriToDeeplink, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, __attachFlowSource_wrapped as attachFlowSource, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, __broadcastFlow_wrapped as broadcastFlow, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __cancelFlow_wrapped as cancelFlow, __checkStepUpAuth_wrapped as checkStepUpAuth, checkUserScopes, clearDeviceRegistrationRedirectParams, clearSocialRedirectParams, __completeDeviceRegistration_wrapped as completeDeviceRegistration, __completeSocialAuthentication_wrapped as completeSocialAuthentication, __completeSocialRedirect_wrapped as completeSocialRedirect, __confirmTransaction_wrapped as confirmTransaction, __connectAndVerifyWithWalletProvider_wrapped as connectAndVerifyWithWalletProvider, __connectWithWalletProvider_wrapped as connectWithWalletProvider, __consumeMfaToken_wrapped as consumeMfaToken, __createCheckoutTransaction_wrapped as createCheckoutTransaction, __createCoinbaseOnrampOrder_wrapped as createCoinbaseOnrampOrder, __createCryptoDotComPayment_wrapped as createCryptoDotComPayment, __createDynamicClient_wrapped as createDynamicClient, createKrakenExchangeTransfer, __createNewMfaRecoveryCodes_wrapped as createNewMfaRecoveryCodes, __deleteMfaDevice_wrapped as deleteMfaDevice, __deletePasskey_wrapped as deletePasskey, __deleteUser_wrapped as deleteUser, detectDeviceRegistrationRedirect, detectOAuthRedirect, detectSocialRedirectUrl, excludeInstalledFromCatalog, __executeSwapTransaction_wrapped as executeSwapTransaction, fetchProjectSettings, findMissingGoogleDriveBackupScopes, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getBalances, getCaptchaSettings, getCheckoutTransaction, getCheckoutTransactionQuote, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, getElevatedAccessToken, getFlow, getFlowQuote, __getGoogleDriveBackupReadiness_wrapped as getGoogleDriveBackupReadiness, getInstallationLinkForCurrentPlatform, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, __getMoonPayCurrencies_wrapped as getMoonPayCurrencies, __getMoonPayUrl_wrapped as getMoonPayUrl, getMultichainBalances, getMultichainTokenBalances, getNativeBalance, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getRegisteredDevices, getSelectedWalletAccount, getSwapQuote, getSwapStatus, getTokenBalances, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletOptionsCatalogue, getWalletProviderDataByKey, hasAllGoogleDriveBackupScopes, hasExtension, __initializeClient_wrapped as initializeClient, isAnyWalletAccountConnected, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isInsufficientGoogleDriveScopesError, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, matchWalletProvidersToCatalogGroup, mergeUserAccounts, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, parseUserAgent, __prepareCheckoutTransaction_wrapped as prepareCheckoutTransaction, __prepareFlowSigning_wrapped as prepareFlowSigning, __proveWalletAccountOwnership_wrapped as proveWalletAccountOwnership, __refreshAuth_wrapped as refreshAuth, __refreshUser_wrapped as refreshUser, __registerPasskey_wrapped as registerPasskey, __registerTotpMfaDevice_wrapped as registerTotpMfaDevice, __removeWalletAccount_wrapped as removeWalletAccount, __requestExternalAuthElevatedToken_wrapped as requestExternalAuthElevatedToken, requiresConversion, __revokeAllRegisteredDevices_wrapped as revokeAllRegisteredDevices, __revokeRegisteredDevice_wrapped as revokeRegisteredDevice, __selectPrimaryWalletAccount_wrapped as selectPrimaryWalletAccount, __sendEmailOTP_wrapped as sendEmailOTP, __sendSmsOTP_wrapped as sendSmsOTP, __setCaptchaToken_wrapped as setCaptchaToken, __setDefaultMfaDevice_wrapped as setDefaultMfaDevice, __setInstrumentationEnabled_wrapped as setInstrumentationEnabled, __setSelectedWalletAccount_wrapped as setSelectedWalletAccount, __signInWithExternalJwt_wrapped as signInWithExternalJwt, __signInWithPasskey_wrapped as signInWithPasskey, __signInWithSocialPopUp_wrapped as signInWithSocialPopUp, __signInWithSocialRedirect_wrapped as signInWithSocialRedirect, __signMessage_wrapped as signMessage, __submitCheckoutTransaction_wrapped as submitCheckoutTransaction, __submitFlowTransaction_wrapped as submitFlowTransaction, supportedCountries, __switchActiveNetwork_wrapped as switchActiveNetwork, trackCheckoutTransaction, __transferAmount_wrapped as transferAmount, __transferWalletAccount_wrapped as transferWalletAccount, __unlinkSocialAccount_wrapped as unlinkSocialAccount, __updateUser_wrapped as updateUser, __verifyOTP_wrapped as verifyOTP, __verifyWalletAccount_wrapped as verifyWalletAccount, waitForClientInitialized };
8416
9244
  //# sourceMappingURL=index.esm.js.map