@dynamic-labs-sdk/client 0.27.0 → 0.27.2

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 (136) hide show
  1. package/dist/{InvalidParamError-D_EzyxXy.native.esm.js → InvalidParamError-B8XO1W5c.native.esm.js} +2 -2
  2. package/dist/{InvalidParamError-D_EzyxXy.native.esm.js.map → InvalidParamError-B8XO1W5c.native.esm.js.map} +1 -1
  3. package/dist/{InvalidParamError-BHNFIR4K.cjs → InvalidParamError-Co6j4qll.cjs} +3 -3
  4. package/dist/{InvalidParamError-BHNFIR4K.cjs.map → InvalidParamError-Co6j4qll.cjs.map} +1 -1
  5. package/dist/{InvalidParamError-DJxqCxOB.esm.js → InvalidParamError-Di6crZca.esm.js} +2 -2
  6. package/dist/{InvalidParamError-DJxqCxOB.esm.js.map → InvalidParamError-Di6crZca.esm.js.map} +1 -1
  7. package/dist/{NotWaasWalletAccountError-CIUs1vxk.cjs → NotWaasWalletAccountError-BvN42V8M.cjs} +3 -3
  8. package/dist/{NotWaasWalletAccountError-CIUs1vxk.cjs.map → NotWaasWalletAccountError-BvN42V8M.cjs.map} +1 -1
  9. package/dist/{NotWaasWalletAccountError-BSon-4Ob.native.esm.js → NotWaasWalletAccountError-CUQFqBLS.native.esm.js} +3 -3
  10. package/dist/{NotWaasWalletAccountError-BSon-4Ob.native.esm.js.map → NotWaasWalletAccountError-CUQFqBLS.native.esm.js.map} +1 -1
  11. package/dist/{NotWaasWalletAccountError-DyqqJavQ.esm.js → NotWaasWalletAccountError-yLvN4JGj.esm.js} +3 -3
  12. package/dist/{NotWaasWalletAccountError-DyqqJavQ.esm.js.map → NotWaasWalletAccountError-yLvN4JGj.esm.js.map} +1 -1
  13. package/dist/client/core/createCore/createCore.d.ts.map +1 -1
  14. package/dist/client/core/types/DynamicCore.d.ts +8 -0
  15. package/dist/client/core/types/DynamicCore.d.ts.map +1 -1
  16. package/dist/client/core/types/DynamicCoreConfig.d.ts +1 -1
  17. package/dist/client/core/types/DynamicCoreConfig.d.ts.map +1 -1
  18. package/dist/core.cjs +19 -21
  19. package/dist/core.cjs.map +1 -1
  20. package/dist/core.esm.js +19 -22
  21. package/dist/core.esm.js.map +1 -1
  22. package/dist/core.native.esm.js +19 -8
  23. package/dist/core.native.esm.js.map +1 -1
  24. package/dist/errors/InvalidSocialCallbackOriginError.d.ts +10 -0
  25. package/dist/errors/InvalidSocialCallbackOriginError.d.ts.map +1 -0
  26. package/dist/errors/UserCancelledSocialPopUpError.d.ts +5 -0
  27. package/dist/errors/UserCancelledSocialPopUpError.d.ts.map +1 -0
  28. package/dist/exports/core.d.ts +2 -0
  29. package/dist/exports/core.d.ts.map +1 -1
  30. package/dist/exports/index.d.ts +9 -0
  31. package/dist/exports/index.d.ts.map +1 -1
  32. package/dist/{getNetworkProviderFromNetworkId-BN3NLh8u.native.esm.js → getNetworkProviderFromNetworkId-B55TeeB6.native.esm.js} +35 -41
  33. package/dist/getNetworkProviderFromNetworkId-B55TeeB6.native.esm.js.map +1 -0
  34. package/dist/{getNetworkProviderFromNetworkId-EbAuEVM-.esm.js → getNetworkProviderFromNetworkId-Cx5BbTRa.esm.js} +35 -27
  35. package/dist/getNetworkProviderFromNetworkId-Cx5BbTRa.esm.js.map +1 -0
  36. package/dist/{getNetworkProviderFromNetworkId-B5HGICoA.cjs → getNetworkProviderFromNetworkId-ctY-MguW.cjs} +36 -28
  37. package/dist/getNetworkProviderFromNetworkId-ctY-MguW.cjs.map +1 -0
  38. package/dist/{getSignedSessionId-BW4I7fDk.esm.js → getSignedSessionId-C-R1Tsh4.esm.js} +3 -3
  39. package/dist/{getSignedSessionId-BW4I7fDk.esm.js.map → getSignedSessionId-C-R1Tsh4.esm.js.map} +1 -1
  40. package/dist/{getSignedSessionId-DMMejcaD.cjs → getSignedSessionId-CEh6X6Uk.cjs} +3 -3
  41. package/dist/{getSignedSessionId-DMMejcaD.cjs.map → getSignedSessionId-CEh6X6Uk.cjs.map} +1 -1
  42. package/dist/{getSignedSessionId-B_a6CXGP.native.esm.js → getSignedSessionId-CqQEOYvq.native.esm.js} +3 -3
  43. package/dist/{getSignedSessionId-B_a6CXGP.native.esm.js.map → getSignedSessionId-CqQEOYvq.native.esm.js.map} +1 -1
  44. package/dist/{getVerifiedCredentialForWalletAccount-ChZvrEQJ.esm.js → getVerifiedCredentialForWalletAccount-Bb6xxqc5.esm.js} +2 -2
  45. package/dist/{getVerifiedCredentialForWalletAccount-ChZvrEQJ.esm.js.map → getVerifiedCredentialForWalletAccount-Bb6xxqc5.esm.js.map} +1 -1
  46. package/dist/{getVerifiedCredentialForWalletAccount-DMoMmbjK.native.esm.js → getVerifiedCredentialForWalletAccount-C3_d4Wfb.native.esm.js} +2 -2
  47. package/dist/{getVerifiedCredentialForWalletAccount-DMoMmbjK.native.esm.js.map → getVerifiedCredentialForWalletAccount-C3_d4Wfb.native.esm.js.map} +1 -1
  48. package/dist/{getVerifiedCredentialForWalletAccount-C7-3wtlJ.cjs → getVerifiedCredentialForWalletAccount-Cc41eb96.cjs} +3 -3
  49. package/dist/{getVerifiedCredentialForWalletAccount-C7-3wtlJ.cjs.map → getVerifiedCredentialForWalletAccount-Cc41eb96.cjs.map} +1 -1
  50. package/dist/index.cjs +304 -109
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.esm.js +300 -113
  53. package/dist/index.esm.js.map +1 -1
  54. package/dist/index.native.esm.js +523 -116
  55. package/dist/index.native.esm.js.map +1 -1
  56. package/dist/{isMfaRequiredForAction-BUfcq6P2.esm.js → isMfaRequiredForAction-5fIZTsUT.esm.js} +2 -2
  57. package/dist/{isMfaRequiredForAction-BUfcq6P2.esm.js.map → isMfaRequiredForAction-5fIZTsUT.esm.js.map} +1 -1
  58. package/dist/{isMfaRequiredForAction-IhCAdScF.cjs → isMfaRequiredForAction-BgSJwZj8.cjs} +2 -2
  59. package/dist/{isMfaRequiredForAction-IhCAdScF.cjs.map → isMfaRequiredForAction-BgSJwZj8.cjs.map} +1 -1
  60. package/dist/{isMfaRequiredForAction-iVSdynw1.native.esm.js → isMfaRequiredForAction-BvOa3tgh.native.esm.js} +2 -2
  61. package/dist/{isMfaRequiredForAction-iVSdynw1.native.esm.js.map → isMfaRequiredForAction-BvOa3tgh.native.esm.js.map} +1 -1
  62. package/dist/modules/auth/social/oauth/completeSocialRedirect/completeSocialRedirect.d.ts.map +1 -1
  63. package/dist/modules/auth/social/oauth/processSocialCallback/index.d.ts +2 -0
  64. package/dist/modules/auth/social/oauth/processSocialCallback/index.d.ts.map +1 -0
  65. package/dist/modules/auth/social/oauth/processSocialCallback/processSocialCallback.d.ts +29 -0
  66. package/dist/modules/auth/social/oauth/processSocialCallback/processSocialCallback.d.ts.map +1 -0
  67. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/index.d.ts +2 -0
  68. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/index.d.ts.map +1 -0
  69. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.d.ts +16 -0
  70. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.d.ts.map +1 -0
  71. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.types.d.ts +5 -0
  72. package/dist/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.types.d.ts.map +1 -0
  73. package/dist/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.d.ts.map +1 -1
  74. package/dist/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.d.ts +6 -1
  75. package/dist/modules/checkout/trackCheckoutTransaction/trackCheckoutTransaction.d.ts.map +1 -1
  76. package/dist/modules/waas/createWaasClient/createWaasClient.d.ts.map +1 -1
  77. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  78. package/dist/modules/waas/waas.types.d.ts +3 -3
  79. package/dist/modules/waas/waas.types.d.ts.map +1 -1
  80. package/dist/modules/walletBackup/googleDrive/constants.d.ts +19 -0
  81. package/dist/modules/walletBackup/googleDrive/constants.d.ts.map +1 -0
  82. package/dist/modules/walletBackup/googleDrive/findMissingGoogleDriveBackupScopes/findMissingGoogleDriveBackupScopes.d.ts +11 -0
  83. package/dist/modules/walletBackup/googleDrive/findMissingGoogleDriveBackupScopes/findMissingGoogleDriveBackupScopes.d.ts.map +1 -0
  84. package/dist/modules/walletBackup/googleDrive/findMissingGoogleDriveBackupScopes/index.d.ts +2 -0
  85. package/dist/modules/walletBackup/googleDrive/findMissingGoogleDriveBackupScopes/index.d.ts.map +1 -0
  86. package/dist/modules/walletBackup/googleDrive/getGoogleDriveBackupReadiness/getGoogleDriveBackupReadiness.d.ts +35 -0
  87. package/dist/modules/walletBackup/googleDrive/getGoogleDriveBackupReadiness/getGoogleDriveBackupReadiness.d.ts.map +1 -0
  88. package/dist/modules/walletBackup/googleDrive/getGoogleDriveBackupReadiness/index.d.ts +2 -0
  89. package/dist/modules/walletBackup/googleDrive/getGoogleDriveBackupReadiness/index.d.ts.map +1 -0
  90. package/dist/modules/walletBackup/googleDrive/googleDrive.types.d.ts +30 -0
  91. package/dist/modules/walletBackup/googleDrive/googleDrive.types.d.ts.map +1 -0
  92. package/dist/modules/walletBackup/googleDrive/hasAllGoogleDriveBackupScopes/hasAllGoogleDriveBackupScopes.d.ts +10 -0
  93. package/dist/modules/walletBackup/googleDrive/hasAllGoogleDriveBackupScopes/hasAllGoogleDriveBackupScopes.d.ts.map +1 -0
  94. package/dist/modules/walletBackup/googleDrive/hasAllGoogleDriveBackupScopes/index.d.ts +2 -0
  95. package/dist/modules/walletBackup/googleDrive/hasAllGoogleDriveBackupScopes/index.d.ts.map +1 -0
  96. package/dist/modules/walletBackup/googleDrive/isInsufficientGoogleDriveScopesError/index.d.ts +2 -0
  97. package/dist/modules/walletBackup/googleDrive/isInsufficientGoogleDriveScopesError/index.d.ts.map +1 -0
  98. package/dist/modules/walletBackup/googleDrive/isInsufficientGoogleDriveScopesError/isInsufficientGoogleDriveScopesError.d.ts +15 -0
  99. package/dist/modules/walletBackup/googleDrive/isInsufficientGoogleDriveScopesError/isInsufficientGoogleDriveScopesError.d.ts.map +1 -0
  100. package/dist/modules/walletBackup/googleDrive/utils/fetchGoogleDriveOauthAccess/fetchGoogleDriveOauthAccess.d.ts +21 -0
  101. package/dist/modules/walletBackup/googleDrive/utils/fetchGoogleDriveOauthAccess/fetchGoogleDriveOauthAccess.d.ts.map +1 -0
  102. package/dist/modules/walletBackup/googleDrive/utils/fetchGoogleDriveOauthAccess/index.d.ts +2 -0
  103. package/dist/modules/walletBackup/googleDrive/utils/fetchGoogleDriveOauthAccess/index.d.ts.map +1 -0
  104. package/dist/modules/walletBackup/googleDrive/utils/findGoogleOauthAccountId/findGoogleOauthAccountId.d.ts +18 -0
  105. package/dist/modules/walletBackup/googleDrive/utils/findGoogleOauthAccountId/findGoogleOauthAccountId.d.ts.map +1 -0
  106. package/dist/modules/walletBackup/googleDrive/utils/findGoogleOauthAccountId/index.d.ts +2 -0
  107. package/dist/modules/walletBackup/googleDrive/utils/findGoogleOauthAccountId/index.d.ts.map +1 -0
  108. package/dist/modules/wallets/destroyWalletProviders/destroyWalletProviders.d.ts +15 -0
  109. package/dist/modules/wallets/destroyWalletProviders/destroyWalletProviders.d.ts.map +1 -0
  110. package/dist/modules/wallets/destroyWalletProviders/index.d.ts +2 -0
  111. package/dist/modules/wallets/destroyWalletProviders/index.d.ts.map +1 -0
  112. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts +9 -10
  113. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
  114. package/dist/services/openAuthSession/index.d.ts +2 -0
  115. package/dist/services/openAuthSession/index.d.ts.map +1 -0
  116. package/dist/services/openAuthSession/openAuthSession.types.d.ts +26 -0
  117. package/dist/services/openAuthSession/openAuthSession.types.d.ts.map +1 -0
  118. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  119. package/dist/utils/debouncedMutex/createDebouncedMutex/createDebouncedMutex.d.ts.map +1 -1
  120. package/dist/waas.cjs +4 -4
  121. package/dist/waas.esm.js +3 -3
  122. package/dist/waas.native.esm.js +3 -3
  123. package/dist/waasCore.cjs +17 -7
  124. package/dist/waasCore.cjs.map +1 -1
  125. package/dist/waasCore.esm.js +17 -7
  126. package/dist/waasCore.esm.js.map +1 -1
  127. package/dist/waasCore.native.esm.js +17 -7
  128. package/dist/waasCore.native.esm.js.map +1 -1
  129. package/package.json +39 -3
  130. package/dist/getNetworkProviderFromNetworkId-B5HGICoA.cjs.map +0 -1
  131. package/dist/getNetworkProviderFromNetworkId-BN3NLh8u.native.esm.js.map +0 -1
  132. package/dist/getNetworkProviderFromNetworkId-EbAuEVM-.esm.js.map +0 -1
  133. package/dist/modules/wallets/disconnectAndTerminateWalletProviders/disconnectAndTerminateWalletProviders.d.ts +0 -10
  134. package/dist/modules/wallets/disconnectAndTerminateWalletProviders/disconnectAndTerminateWalletProviders.d.ts.map +0 -1
  135. package/dist/modules/wallets/disconnectAndTerminateWalletProviders/index.d.ts +0 -2
  136. package/dist/modules/wallets/disconnectAndTerminateWalletProviders/index.d.ts.map +0 -1
@@ -1,12 +1,12 @@
1
- import { A as extractSessionId, B as name, C as isCookieEnabled, D as instrumentFunction, E as __getElevatedAccessToken_wrapped, F as getDefaultClient, I as setDefaultClient, O as DEFAULT_PII_FIELDS, P as NONCE_POOL_SIZE, R as BaseError, T as ValueMustBeDefinedError, V as version, _ as MfaRateLimitedError, a as DYNAMIC_ICONIC_SPRITE_URL, b as InvalidExternalAuthError, c as CHAINS_INFO_MAP, d as UnauthorizedError, g as SandboxMaximumThresholdReachedError, h as getNonce, j as randomString, k as getUserAgent, l as fetchAndStoreNonces, o as SDK_API_CORE_VERSION, s as getChainFromVerifiedCredentialChain, t as InvalidParamError, u as createApiClient, v as MfaInvalidOtpError, w as assertDefined, x as APIError, y as LinkCredentialError, z as getCore } from "./InvalidParamError-D_EzyxXy.native.esm.js";
2
- import { A as GENERATE_SESSION_KEYS_TRACKER_KEY, B as createStorage, D as CannotTrackError, F as getBuffer, G as subscribeWithSelector, H as createLocalStorageAdapter, I as __logoutWithReason_wrapped, K as isEqualShallow, L as generateSessionKeys, 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 fetchProjectSettings, S as createKeychainService, T as createCrossTabBroadcast, U as isSignedIn, W as retryOnFail, _ as MethodNotImplementedError, a as updateWalletProviderKeysForVerifiedCredentials, b as getKeychainIndexedDBName, c as createSignInMessageStatement, d as createVisit, f as consumeCaptchaToken, g as isCaptchaRequired, h as __setCaptchaToken_wrapped, i as getNetworksData, j as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, k as FETCH_PROJECT_SETTINGS_TRACKER_KEY, l as formatSignInMessage, m as createRealtimeChannelSchema, o as verifyMessageSignatureOwnership, p as hasExtension, s as removeUnverifiedWalletAccount, t as getNetworkProviderFromNetworkId, u as setUnverifiedWalletAccounts, v as WalletAlreadyLinkedToAnotherUserError, w as createLogger, x as createRealtimeService, y as NoNetworkProvidersError, z as createStorageKeySchema } from "./getNetworkProviderFromNetworkId-BN3NLh8u.native.esm.js";
3
- import { A as onceEvent, C as formatWalletAccountId, D as emitEvent, O as offEvent, T as splitWalletProviderKey, a as parseElevatedAccessToken, b as getWalletAccounts, d as isUserMissingMfaAuth, f as checkAndRaiseWalletAccountsChangedEvent, h as getWalletProviderFromWalletAccount, i as upsertElevatedAccessToken, k as onEvent, n as getWalletProviderByKey, o as restoreUserSharesForAllWalletAccounts, p as emitWalletAccountsChangedEvent, r as updateAuthFromVerifyResponse, t as getVerifiedCredentialForWalletAccount, u as getWalletProviders, w as normalizeAddress, y as NoWalletProviderFoundError } from "./getVerifiedCredentialForWalletAccount-DMoMmbjK.native.esm.js";
4
- import { n as __refreshAuth_wrapped, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-BSon-4Ob.native.esm.js";
5
- import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-iVSdynw1.native.esm.js";
1
+ import { A as extractSessionId, B as name, C as isCookieEnabled, D as instrumentFunction, E as __getElevatedAccessToken_wrapped, F as getDefaultClient, I as setDefaultClient, O as DEFAULT_PII_FIELDS, P as NONCE_POOL_SIZE, R as BaseError, T as ValueMustBeDefinedError, V as version, _ as MfaRateLimitedError, a as DYNAMIC_ICONIC_SPRITE_URL, b as InvalidExternalAuthError, c as CHAINS_INFO_MAP, d as UnauthorizedError, g as SandboxMaximumThresholdReachedError, h as getNonce, j as randomString, k as getUserAgent, l as fetchAndStoreNonces, o as SDK_API_CORE_VERSION, s as getChainFromVerifiedCredentialChain, t as InvalidParamError, u as createApiClient, v as MfaInvalidOtpError, w as assertDefined, x as APIError, y as LinkCredentialError, z as getCore } from "./InvalidParamError-B8XO1W5c.native.esm.js";
2
+ import { A as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, C as createLogger, D as createDeferredPromise, E as CannotTrackError, F as __logoutWithReason_wrapped, G as isEqualShallow, H as isSignedIn, I as generateSessionKeys, L as fetchProjectSettings, M as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY, N as isServerSideRendering, O as FETCH_PROJECT_SETTINGS_TRACKER_KEY, P as getBuffer, R as createStorageKeySchema, U as retryOnFail, V as createLocalStorageAdapter, W as subscribeWithSelector, _ as WalletAlreadyLinkedToAnotherUserError, a as updateWalletProviderKeysForVerifiedCredentials, b as createRealtimeService, c as createSignInMessageStatement, d as createVisit, f as hasExtension, g as MethodNotImplementedError, h as isCaptchaRequired, i as getNetworksData, j as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, k as GENERATE_SESSION_KEYS_TRACKER_KEY, l as formatSignInMessage, m as consumeCaptchaToken, o as verifyMessageSignatureOwnership, p as __setCaptchaToken_wrapped, s as removeUnverifiedWalletAccount, t as getNetworkProviderFromNetworkId, u as setUnverifiedWalletAccounts, v as NoNetworkProvidersError, w as createCrossTabBroadcast, x as createKeychainService, y as getKeychainIndexedDBName, z as createStorage } from "./getNetworkProviderFromNetworkId-B55TeeB6.native.esm.js";
3
+ import { A as onceEvent, C as formatWalletAccountId, D as emitEvent, O as offEvent, T as splitWalletProviderKey, a as parseElevatedAccessToken, b as getWalletAccounts, d as isUserMissingMfaAuth, f as checkAndRaiseWalletAccountsChangedEvent, h as getWalletProviderFromWalletAccount, i as upsertElevatedAccessToken, k as onEvent, n as getWalletProviderByKey, o as restoreUserSharesForAllWalletAccounts, p as emitWalletAccountsChangedEvent, r as updateAuthFromVerifyResponse, t as getVerifiedCredentialForWalletAccount, u as getWalletProviders, w as normalizeAddress, y as NoWalletProviderFoundError } from "./getVerifiedCredentialForWalletAccount-C3_d4Wfb.native.esm.js";
4
+ import { n as __refreshAuth_wrapped, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-CUQFqBLS.native.esm.js";
5
+ import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-BvOa3tgh.native.esm.js";
6
6
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
7
- import { AuthModeEnum, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, MFAAction, MfaBackupCodeAcknowledgement, TokenScope, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
7
+ import { AuthModeEnum, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, TokenScope, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
8
8
  import * as z from "zod/mini";
9
- import EventEmitter$1, { EventEmitter } from "eventemitter3";
9
+ import EventEmitter, { EventEmitter as EventEmitter$1 } from "eventemitter3";
10
10
  import { Passkey } from "react-native-passkey";
11
11
 
12
12
  //#region src/modules/state/raiseStateEvents/events.ts
@@ -535,7 +535,7 @@ const createAsyncTrack = () => {
535
535
  * This ensures no process is missed (as it would throw when tracked on a different node tick).
536
536
  */
537
537
  let isTrackEnabled = true;
538
- const eventEmitter = new EventEmitter();
538
+ const eventEmitter = new EventEmitter$1();
539
539
  const allSettledPromise = createDeferredPromise();
540
540
  const tracker = /* @__PURE__ */ new Map();
541
541
  /**
@@ -582,7 +582,7 @@ const createAsyncTrack = () => {
582
582
  //#endregion
583
583
  //#region src/services/eventEmitter/createEventEmitter.ts
584
584
  /** @not-instrumented */
585
- const createEventEmitter = () => new EventEmitter$1();
585
+ const createEventEmitter = () => new EventEmitter();
586
586
 
587
587
  //#endregion
588
588
  //#region src/errors/UnavailableInServerSideError.ts
@@ -1021,6 +1021,7 @@ const createCore = (config) => {
1021
1021
  });
1022
1022
  const fetch = config.coreConfig?.fetch ?? createWebFetch();
1023
1023
  const openDeeplink = config.coreConfig?.openDeeplink ?? createWebDeeplinkOpener();
1024
+ const openAuthSession = config.coreConfig?.openAuthSession;
1024
1025
  const navigate = config.coreConfig?.navigate ?? createNavigationHandler();
1025
1026
  const state = createObservableState(getInitialState);
1026
1027
  const debouncedMutex = createDebouncedMutex();
@@ -1067,6 +1068,7 @@ const createCore = (config) => {
1067
1068
  logger,
1068
1069
  metadata,
1069
1070
  navigate,
1071
+ openAuthSession,
1070
1072
  openDeeplink,
1071
1073
  passkey,
1072
1074
  realtime,
@@ -1223,6 +1225,34 @@ var InvalidRedirectStorageStateError = class extends BaseError {
1223
1225
  }
1224
1226
  };
1225
1227
 
1228
+ //#endregion
1229
+ //#region src/errors/InvalidSocialCallbackOriginError.ts
1230
+ var InvalidSocialCallbackOriginError = class extends BaseError {
1231
+ constructor({ actualOrigin, expectedOrigin }) {
1232
+ super({
1233
+ cause: null,
1234
+ code: "invalid_social_callback_origin_error",
1235
+ docsUrl: null,
1236
+ name: "InvalidSocialCallbackOriginError",
1237
+ shortMessage: `OAuth callback URL origin mismatch. Expected ${expectedOrigin}, got ${actualOrigin}. This may indicate a compromised auth session or misconfigured redirect URL.`
1238
+ });
1239
+ }
1240
+ };
1241
+
1242
+ //#endregion
1243
+ //#region src/errors/UserCancelledSocialPopUpError.ts
1244
+ var UserCancelledSocialPopUpError = class extends BaseError {
1245
+ constructor() {
1246
+ super({
1247
+ cause: null,
1248
+ code: "user_cancelled_social_popup_error",
1249
+ docsUrl: null,
1250
+ name: "UserCancelledSocialPopUpError",
1251
+ shortMessage: "The user cancelled (or dismissed) the social authentication pop-up."
1252
+ });
1253
+ }
1254
+ };
1255
+
1226
1256
  //#endregion
1227
1257
  //#region src/errors/MissingRedirectStorageStateError.ts
1228
1258
  var MissingRedirectStorageStateError = class extends BaseError {
@@ -1879,15 +1909,16 @@ const getUserSocialAccounts = (client = getDefaultClient()) => {
1879
1909
  //#endregion
1880
1910
  //#region src/modules/auth/social/oauth/signInWithSocialRedirect/signInWithSocialRedirect.native.ts
1881
1911
  /**
1882
- * OAuth redirect flow is not implemented on React Native — there is no
1883
- * shared browser to navigate away to and back from. Consumers should use the
1884
- * in-app / native social auth path instead.
1912
+ * OAuth redirect flow is not supported on React Native — there is no shared
1913
+ * browser to navigate away to and back from. Use `signInWithSocialPopUp`
1914
+ * instead: it handles the entire social login flow (open auth session,
1915
+ * process callback, verify, update auth state) in a single call.
1885
1916
  *
1886
1917
  * @throws MethodNotImplementedError Always on React Native.
1887
1918
  * @instrumented
1888
1919
  */
1889
1920
  const signInWithSocialRedirect = async ({ provider, redirectUrl }, client = getDefaultClient()) => {
1890
- throw new MethodNotImplementedError("signInWithSocialRedirect");
1921
+ throw new MethodNotImplementedError("signInWithSocialRedirect (use signInWithSocialPopUp on React Native instead)");
1891
1922
  };
1892
1923
  const __signInWithSocialRedirect_impl = signInWithSocialRedirect;
1893
1924
  const __signInWithSocialRedirect_wrapped = instrumentFunction({
@@ -1902,31 +1933,317 @@ const __signInWithSocialRedirect_wrapped = instrumentFunction({
1902
1933
  }
1903
1934
  });
1904
1935
 
1936
+ //#endregion
1937
+ //#region src/modules/auth/social/oauth/redirectStateStorageSchema/redirectStateStorageSchema.ts
1938
+ /** The schema to track the state of the OAuth flow. */
1939
+ const redirectStateStorageKeySchema = createStorageKeySchema({
1940
+ key: "redirectState",
1941
+ schema: z.object({
1942
+ codeVerifier: z.optional(z.string()),
1943
+ provider: z.enum(ProviderEnum),
1944
+ state: z.string()
1945
+ })
1946
+ });
1947
+
1948
+ //#endregion
1949
+ //#region src/modules/auth/social/oauth/processSocialCallback/processSocialCallback.ts
1950
+ /**
1951
+ * Platform-agnostic OAuth callback processor used by both the web redirect
1952
+ * flow (`completeSocialRedirect`) and the native pop-up flow
1953
+ * (`signInWithSocialPopUp`). Intentionally has no `.native.ts` variant — the
1954
+ * logic (parse URL, validate state, call oauthSignIn/oauthVerify, update auth)
1955
+ * works identically on every platform.
1956
+ *
1957
+ * Not exported from the public SDK surface; public callers go through
1958
+ * `completeSocialRedirect` or `signInWithSocialPopUp` instead.
1959
+ *
1960
+ * @param params.url - The callback URL containing OAuth response parameters.
1961
+ * @param [params.requestedScopes] - Optional scopes to request an elevated access token when verifying (linking) a social account.
1962
+ * @param client - The Dynamic client instance.
1963
+ * @returns The authenticated user, or null if the verify response had none.
1964
+ * @throws MissingSocialUrlParamError If required OAuth parameters are missing.
1965
+ * @throws MissingRedirectStorageStateError If no stored redirect state exists.
1966
+ * @throws InvalidRedirectStorageStateError If the stored state doesn't match the URL state.
1967
+ * @instrumented
1968
+ */
1969
+ const processSocialCallback = async ({ url, requestedScopes }, client) => {
1970
+ const core = getCore(client);
1971
+ const apiClient = createApiClient({}, client);
1972
+ await core.initTrack.waitForAll();
1973
+ const dynamicOauthState = url.searchParams.get("dynamicOauthState");
1974
+ const dynamicOauthCode = url.searchParams.get("dynamicOauthCode");
1975
+ if (!dynamicOauthState) throw new MissingSocialUrlParamError("dynamicOauthState");
1976
+ if (!dynamicOauthCode) throw new MissingSocialUrlParamError("dynamicOauthCode");
1977
+ const storedSocialRedirectState = await core.storage.getItem(redirectStateStorageKeySchema);
1978
+ if (!storedSocialRedirectState) throw new MissingRedirectStorageStateError();
1979
+ if (storedSocialRedirectState.state !== dynamicOauthState) throw new InvalidRedirectStorageStateError();
1980
+ const { provider, codeVerifier } = storedSocialRedirectState;
1981
+ await core.storage.removeItem(redirectStateStorageKeySchema);
1982
+ let response;
1983
+ if (client.user) response = await apiClient.oauthVerify({
1984
+ environmentId: core.environmentId,
1985
+ oauthRequest: {
1986
+ code: dynamicOauthCode,
1987
+ codeVerifier,
1988
+ requestedScopes,
1989
+ state: dynamicOauthState
1990
+ },
1991
+ providerType: provider
1992
+ });
1993
+ else response = await apiClient.oauthSignIn({
1994
+ environmentId: core.environmentId,
1995
+ oauthRequest: {
1996
+ captchaToken: consumeCaptchaToken(client),
1997
+ code: dynamicOauthCode,
1998
+ codeVerifier,
1999
+ state: dynamicOauthState
2000
+ },
2001
+ providerType: provider
2002
+ });
2003
+ updateAuthFromVerifyResponse({ response }, client);
2004
+ return response.user;
2005
+ };
2006
+ const __processSocialCallback_impl = processSocialCallback;
2007
+ const __processSocialCallback_wrapped = instrumentFunction({
2008
+ fn: __processSocialCallback_impl,
2009
+ functionName: "processSocialCallback",
2010
+ getCore: () => {
2011
+ try {
2012
+ return getCore(getDefaultClient());
2013
+ } catch {
2014
+ return;
2015
+ }
2016
+ }
2017
+ });
2018
+
2019
+ //#endregion
2020
+ //#region src/utils/digestSHA256/digestSHA256.ts
2021
+ /** @not-instrumented */
2022
+ const digestSHA256 = (str) => {
2023
+ const data = new TextEncoder().encode(str);
2024
+ return crypto.subtle.digest("SHA-256", data);
2025
+ };
2026
+
2027
+ //#endregion
2028
+ //#region src/utils/encodeBase64Url/encodeBase64Url.ts
2029
+ /**
2030
+ * Encodes a string to base64url.
2031
+ *
2032
+ * @param str - The string to encode as an ArrayBuffer.
2033
+ * @returns The base64url encoded string.
2034
+ * @not-instrumented
2035
+ */
2036
+ const encodeBase64Url = (str) => {
2037
+ const numberArray = [];
2038
+ new Uint8Array(str).forEach((item) => numberArray.push(item));
2039
+ return btoa(String.fromCharCode.apply(null, numberArray)).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
2040
+ };
2041
+
2042
+ //#endregion
2043
+ //#region src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/addOAuthUrlParams/addOAuthUrlParams.ts
2044
+ const APPLE_RESPONSE_MODE = "form_post";
2045
+ const APPLE_RESPONSE_TYPE = "code id_token";
2046
+ /** Helper function to add OAuth URL parameters to a given base URL. * @not-instrumented
2047
+ */
2048
+ const addOAuthUrlParams = ({ baseUrl, isGoogleDriveBackupEnabled, provider }) => {
2049
+ assertDefined(provider.clientId, "Client ID not found");
2050
+ assertDefined(provider.provider, "Provider type not found");
2051
+ assertDefined(provider.redirectUrl, "Redirect URL not found");
2052
+ const providerType = provider.provider;
2053
+ baseUrl.searchParams.set("client_id", provider.clientId);
2054
+ baseUrl.searchParams.set("response_type", "code");
2055
+ baseUrl.searchParams.set("redirect_uri", provider.redirectUrl);
2056
+ if (providerType === ProviderEnum.Tiktok) {
2057
+ baseUrl.searchParams.delete("client_id");
2058
+ baseUrl.searchParams.set("client_key", provider.clientId);
2059
+ }
2060
+ if (providerType === ProviderEnum.Google) {
2061
+ baseUrl.searchParams.set("access_type", "offline");
2062
+ if (isGoogleDriveBackupEnabled) baseUrl.searchParams.set("prompt", "consent");
2063
+ }
2064
+ if (providerType === ProviderEnum.Apple) {
2065
+ baseUrl.searchParams.set("response_mode", APPLE_RESPONSE_MODE);
2066
+ baseUrl.searchParams.set("response_type", APPLE_RESPONSE_TYPE);
2067
+ }
2068
+ if (provider.scopes) baseUrl.searchParams.set("scope", provider.scopes);
2069
+ return baseUrl;
2070
+ };
2071
+
2072
+ //#endregion
2073
+ //#region src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/getOAuthBaseUrl/getOAuthBaseUrl.ts
2074
+ /** Helper function to build the OAuth base URL for a given provider. * @not-instrumented
2075
+ */
2076
+ const getOAuthBaseUrl = (provider) => {
2077
+ assertDefined(provider.provider, "Provider type not found");
2078
+ const providerType = provider.provider;
2079
+ if (providerType === ProviderEnum.Telegram) {
2080
+ assertDefined(provider.authorizationUrl, "Telegram authorization URL not found");
2081
+ return new URL(provider.authorizationUrl);
2082
+ }
2083
+ assertDefined(provider.baseAuthUrl, "Base auth URL not found");
2084
+ if (providerType === ProviderEnum.Shopify) {
2085
+ assertDefined(provider.shopifyStore, "Shopify store value not found in provider");
2086
+ const loginBaseUrl = provider.baseAuthUrl.replace("{{shopifyStore}}", provider.shopifyStore);
2087
+ return new URL(loginBaseUrl);
2088
+ }
2089
+ return new URL(provider.baseAuthUrl);
2090
+ };
2091
+
2092
+ //#endregion
2093
+ //#region src/modules/auth/social/oauth/signInWithSocialRedirect/buildOAuthUrl/buildOAuthUrl.ts
2094
+ const providersRequiringPkce = ["twitter", "github"];
2095
+ /** Helper function to build the OAuth URL for a given provider. * @not-instrumented
2096
+ */
2097
+ const buildOAuthUrl = async (core, provider) => {
2098
+ const { projectSettings } = core.state.get();
2099
+ assertDefined(projectSettings, "Project settings not found");
2100
+ assertDefined(projectSettings.providers, "Project providers not found");
2101
+ const socialProvider = projectSettings.providers.find((p) => p.provider === provider);
2102
+ assertDefined(socialProvider, `Social provider ${provider} not supported`);
2103
+ const isGoogleDriveBackupEnabled = projectSettings.sdk.waas?.backupOptions?.includes(WaasBackupOptionsEnum.GoogleDrive);
2104
+ const socialProviderUrl = addOAuthUrlParams({
2105
+ baseUrl: getOAuthBaseUrl(socialProvider),
2106
+ isGoogleDriveBackupEnabled,
2107
+ provider: socialProvider
2108
+ });
2109
+ const usingPkce = providersRequiringPkce.includes(provider);
2110
+ const state = randomString({ length: 32 });
2111
+ const codeVerifier = randomString({ length: 43 });
2112
+ socialProviderUrl.searchParams.set("state", state);
2113
+ socialProviderUrl.searchParams.set("response_type", "code");
2114
+ if (usingPkce) {
2115
+ const digest = await digestSHA256(codeVerifier);
2116
+ socialProviderUrl.searchParams.set("code_challenge", encodeBase64Url(digest));
2117
+ socialProviderUrl.searchParams.set("code_challenge_method", "S256");
2118
+ }
2119
+ return {
2120
+ codeVerifier: usingPkce ? codeVerifier : void 0,
2121
+ state,
2122
+ url: socialProviderUrl
2123
+ };
2124
+ };
2125
+
2126
+ //#endregion
2127
+ //#region src/modules/auth/social/oauth/signInWithSocialPopUp/signInWithSocialPopUp.native.ts
2128
+ /**
2129
+ * Default auth-session opener — uses `react-native-inappbrowser-reborn`
2130
+ * (ASWebAuthenticationSession on iOS, Chrome Custom Tabs on Android). Used
2131
+ * when the host app has not overridden `coreConfig.openAuthSession`.
2132
+ */
2133
+ const openDefaultAuthSession = async ({ authUrl, redirectUrl }) => {
2134
+ const { default: InAppBrowser } = await import("react-native-inappbrowser-reborn");
2135
+ try {
2136
+ InAppBrowser.closeAuth();
2137
+ } catch {}
2138
+ const result = await InAppBrowser.openAuth(authUrl, redirectUrl);
2139
+ if (result.type === "success" && result.url) return {
2140
+ type: "success",
2141
+ url: result.url
2142
+ };
2143
+ return { type: "cancel" };
2144
+ };
2145
+ /**
2146
+ * Signs the user in with a social provider via an in-app authentication
2147
+ * session, then completes the flow and returns the authenticated user.
2148
+ *
2149
+ * Requires `metadata.nativeLink` to be set on the client — it is used as
2150
+ * the OAuth redirect URL; the provider redirects back to it after the user
2151
+ * authenticates. The auth session defaults to `react-native-inappbrowser-reborn`;
2152
+ * override via `coreConfig.openAuthSession` to plug in a different browser.
2153
+ *
2154
+ * Supports every provider in `SocialProvider` (Apple, Discord, Facebook,
2155
+ * Github, Google, Kraken, LinkedIn, Microsoft, Epic Games, Steam, TikTok,
2156
+ * Twitch, Twitter).
2157
+ *
2158
+ * @param params.provider - The social provider to authenticate with.
2159
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2160
+ * @returns The authenticated user, or null if the verify response had none.
2161
+ * @throws UserCancelledSocialPopUpError If the user dismisses the pop-up before completing auth.
2162
+ * @throws InvalidSocialCallbackOriginError If the callback URL origin does not match `metadata.nativeLink`.
2163
+ * @instrumented
2164
+ */
2165
+ const signInWithSocialPopUp = async ({ provider }, client = getDefaultClient()) => {
2166
+ const core = getCore(client);
2167
+ const apiClient = createApiClient({}, client);
2168
+ const nativeLink = core.metadata?.nativeLink;
2169
+ assertDefined(nativeLink, "metadata.nativeLink must be set on the Dynamic client to use signInWithSocialPopUp");
2170
+ await core.initTrack.waitForAll();
2171
+ const providerType = provider;
2172
+ const { url, state, codeVerifier } = await buildOAuthUrl(core, providerType);
2173
+ await apiClient.initAuth({
2174
+ environmentId: core.environmentId,
2175
+ oauthInitAuthRequest: {
2176
+ redirectUrl: nativeLink,
2177
+ state
2178
+ },
2179
+ providerType
2180
+ });
2181
+ await core.storage.setItem(redirectStateStorageKeySchema, {
2182
+ codeVerifier,
2183
+ provider: providerType,
2184
+ state
2185
+ });
2186
+ const openSession = core.openAuthSession ?? openDefaultAuthSession;
2187
+ try {
2188
+ const result = await openSession({
2189
+ authUrl: url.toString(),
2190
+ redirectUrl: nativeLink
2191
+ });
2192
+ if (result.type === "cancel") throw new UserCancelledSocialPopUpError();
2193
+ const callbackUrl = new URL(result.url);
2194
+ const expectedUrl = new URL(nativeLink);
2195
+ const callbackOrigin = `${callbackUrl.protocol}//${callbackUrl.host}`;
2196
+ const expectedOrigin = `${expectedUrl.protocol}//${expectedUrl.host}`;
2197
+ if (callbackOrigin !== expectedOrigin) throw new InvalidSocialCallbackOriginError({
2198
+ actualOrigin: callbackOrigin,
2199
+ expectedOrigin
2200
+ });
2201
+ return await __processSocialCallback_wrapped({ url: callbackUrl }, client);
2202
+ } catch (error) {
2203
+ await core.storage.removeItem(redirectStateStorageKeySchema);
2204
+ throw error;
2205
+ }
2206
+ };
2207
+ const __signInWithSocialPopUp_impl = signInWithSocialPopUp;
2208
+ const __signInWithSocialPopUp_wrapped = instrumentFunction({
2209
+ fn: __signInWithSocialPopUp_impl,
2210
+ functionName: "signInWithSocialPopUp",
2211
+ getCore: () => {
2212
+ try {
2213
+ return getCore(getDefaultClient());
2214
+ } catch {
2215
+ return;
2216
+ }
2217
+ }
2218
+ });
2219
+
1905
2220
  //#endregion
1906
2221
  //#region src/modules/auth/social/oauth/detectSocialRedirectUrl/detectSocialRedirectUrl.native.ts
1907
2222
  /**
1908
- * OAuth redirect detection is not implemented on React Native the redirect
1909
- * flow itself is not supported on native, so there is nothing to detect.
2223
+ * OAuth redirect detection is not supported on React Native. There is no
2224
+ * browser redirect to detect because `signInWithSocialPopUp` processes the
2225
+ * pop-up callback inline and returns the authenticated user directly.
1910
2226
  *
1911
2227
  * @throws MethodNotImplementedError Always on React Native.
1912
2228
  * @not-instrumented
1913
2229
  */
1914
2230
  const detectSocialRedirectUrl = async ({ url }, client = getDefaultClient()) => {
1915
- throw new MethodNotImplementedError("detectSocialRedirectUrl");
2231
+ throw new MethodNotImplementedError("detectSocialRedirectUrl (not needed on React Native — signInWithSocialPopUp processes the callback inline)");
1916
2232
  };
1917
2233
 
1918
2234
  //#endregion
1919
2235
  //#region src/modules/auth/social/oauth/completeSocialRedirect/completeSocialRedirect.native.ts
1920
2236
  /**
1921
- * Completing an OAuth redirect is not implemented on React Native — the
1922
- * redirect flow itself is not supported on native, so there is nothing to
1923
- * complete.
2237
+ * Completing an OAuth redirect is not supported on React Native. Use
2238
+ * `signInWithSocialPopUp` instead: it opens the in-app auth session,
2239
+ * processes the callback, and returns the authenticated user in one call —
2240
+ * there is no separate "complete" step on native.
1924
2241
  *
1925
2242
  * @throws MethodNotImplementedError Always on React Native.
1926
2243
  * @instrumented
1927
2244
  */
1928
2245
  const completeSocialRedirect = async ({ url, requestedScopes }, client = getDefaultClient()) => {
1929
- throw new MethodNotImplementedError("completeSocialRedirect");
2246
+ throw new MethodNotImplementedError("completeSocialRedirect (not needed on React Native — signInWithSocialPopUp processes the callback inline)");
1930
2247
  };
1931
2248
  const __completeSocialRedirect_impl = completeSocialRedirect;
1932
2249
  const __completeSocialRedirect_wrapped = instrumentFunction({
@@ -2248,97 +2565,6 @@ const getCheckouts = async (client) => {
2248
2565
  return projectSettings.checkouts ?? [];
2249
2566
  };
2250
2567
 
2251
- //#endregion
2252
- //#region src/modules/checkout/utils/createCheckoutTransactionChannelSchema/createCheckoutTransactionChannelSchema.ts
2253
- /**
2254
- * Zod schema for realtime events published to a checkout transaction's channel.
2255
- * Uses z.string() for axis and state fields to remain valid when new states are
2256
- * added to the backend without requiring a SDK update.
2257
- */
2258
- const checkoutTransactionEventSchema = z.object({
2259
- axis: z.string(),
2260
- newState: z.string(),
2261
- previousState: z.string(),
2262
- timestamp: z.string(),
2263
- transactionId: z.string()
2264
- });
2265
- /**
2266
- * Creates a typed realtime channel schema for a given checkout transaction.
2267
- * Channel name follows the backend convention: `transaction:{transactionId}`.
2268
- * @not-instrumented
2269
- */
2270
- const createCheckoutTransactionChannelSchema = (transactionId) => createRealtimeChannelSchema({
2271
- channel: `transaction:${transactionId}`,
2272
- schema: checkoutTransactionEventSchema
2273
- });
2274
-
2275
- //#endregion
2276
- //#region src/modules/checkout/utils/subscribeToCheckoutTransaction/subscribeToCheckoutTransaction.ts
2277
- const TERMINAL_EXECUTION_STATES = new Set([
2278
- "cancelled",
2279
- "expired",
2280
- "failed"
2281
- ]);
2282
- const TERMINAL_SETTLEMENT_STATES = new Set(["completed", "failed"]);
2283
- const isTerminalEvent = (data) => {
2284
- if (data.axis === "execution") return TERMINAL_EXECUTION_STATES.has(data.newState);
2285
- if (data.axis === "settlement") return TERMINAL_SETTLEMENT_STATES.has(data.newState);
2286
- return false;
2287
- };
2288
- /**
2289
- * Connects to the realtime service if not already connected and subscribes to
2290
- * all state transition events for the given checkout transaction.
2291
- *
2292
- * Settlement and execution axis events are forwarded as public SDK events.
2293
- * The subscription is torn down automatically when a terminal event is received.
2294
- * @not-instrumented
2295
- */
2296
- const subscribeToCheckoutTransaction = async ({ transactionId }, client) => {
2297
- const core = getCore(client);
2298
- const { realtime } = core;
2299
- if (realtime.getConnectionState() === "idle") {
2300
- const sessionToken = await core.storage.getItem(createCheckoutSessionTokenStorageKey(transactionId));
2301
- const headers = {};
2302
- if (sessionToken) {
2303
- headers["x-dynamic-checkout-session-token"] = sessionToken;
2304
- headers["x-dynamic-checkout-transaction-id"] = transactionId;
2305
- }
2306
- await realtime.connect({
2307
- client,
2308
- headers
2309
- });
2310
- }
2311
- const channelSchema = createCheckoutTransactionChannelSchema(transactionId);
2312
- const handler = ({ data }) => {
2313
- if (data.axis === "execution") emitEvent({
2314
- args: {
2315
- newState: data.newState,
2316
- previousState: data.previousState,
2317
- timestamp: data.timestamp,
2318
- transactionId: data.transactionId
2319
- },
2320
- event: "checkoutTransactionExecutionStateChanged"
2321
- }, client);
2322
- if (data.axis === "settlement") emitEvent({
2323
- args: {
2324
- newState: data.newState,
2325
- previousState: data.previousState,
2326
- timestamp: data.timestamp,
2327
- transactionId: data.transactionId
2328
- },
2329
- event: "checkoutTransactionSettlementStateChanged"
2330
- }, client);
2331
- if (isTerminalEvent(data)) realtime.unsubscribe({
2332
- callback: handler,
2333
- channelSchema
2334
- });
2335
- };
2336
- await realtime.subscribe({
2337
- callback: handler,
2338
- channelSchema
2339
- });
2340
- };
2341
-
2342
2568
  //#endregion
2343
2569
  //#region src/modules/checkout/createCheckoutTransaction/createCheckoutTransaction.ts
2344
2570
  /**
@@ -2370,9 +2596,6 @@ const createCheckoutTransaction = async (params, client = getDefaultClient()) =>
2370
2596
  environmentId: core.environmentId
2371
2597
  });
2372
2598
  await core.storage.setItem(createCheckoutSessionTokenStorageKey(result.transaction.id), result.sessionToken);
2373
- subscribeToCheckoutTransaction({ transactionId: result.transaction.id }, client).catch((error) => {
2374
- core.logger.error("Failed to subscribe to checkout transaction realtime channel", error);
2375
- });
2376
2599
  return result;
2377
2600
  };
2378
2601
  const __createCheckoutTransaction_impl = createCheckoutTransaction;
@@ -2598,11 +2821,17 @@ const __submitCheckoutTransaction_wrapped = instrumentFunction({
2598
2821
  * subscribed — calling this again for those is unnecessary unless the page
2599
2822
  * has been reloaded.
2600
2823
  *
2824
+ * NOTE: Temporarily a no-op while the Ably API key is being provisioned for
2825
+ * the realtime checkout transaction channel. Will be re-enabled once the
2826
+ * dashboard-api environment has the Ably wiring in place.
2827
+ *
2601
2828
  * @param params.transactionId - The ID of the checkout transaction to track.
2602
2829
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
2603
2830
  * @not-instrumented
2604
2831
  */
2605
- const trackCheckoutTransaction = ({ transactionId }, client = getDefaultClient()) => subscribeToCheckoutTransaction({ transactionId }, client);
2832
+ const trackCheckoutTransaction = (_params, client = getDefaultClient()) => {
2833
+ return Promise.resolve();
2834
+ };
2606
2835
 
2607
2836
  //#endregion
2608
2837
  //#region src/modules/checkout/utils/requiresConversion/requiresConversion.ts
@@ -5180,6 +5409,184 @@ const isUserOnboardingComplete = (client = getDefaultClient()) => {
5180
5409
  return !hasMissingKycFields && !hasPendingMfaAuth && !hasPendingRecoveryCodes;
5181
5410
  };
5182
5411
 
5412
+ //#endregion
5413
+ //#region src/modules/walletBackup/googleDrive/constants.ts
5414
+ /**
5415
+ * OAuth scopes that must be granted on the user's Google account in order
5416
+ * for the keyshare backup upload to Google Drive to succeed.
5417
+ *
5418
+ * Exported so host apps can pre-flight check or display these in their own
5419
+ * UX. Kept as a `readonly` tuple to discourage mutation.
5420
+ */
5421
+ const GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES = ["https://www.googleapis.com/auth/drive.appdata", "https://www.googleapis.com/auth/drive.file"];
5422
+ /**
5423
+ * Stable phrase the WaaS layer includes in Google Drive 401 / scope-insufficient
5424
+ * upload failure messages. Match by `.includes(...)` rather than equality
5425
+ * because the iframe message-handler fallback path rewraps the original error
5426
+ * as `new Error(String(response.error))`, which prefixes the message with
5427
+ * "Error: ". The phrase remains unique to the auth/scope case across all the
5428
+ * Drive failure reasons (rate-limit, storage-full, 5xx, network all use
5429
+ * distinct prefixes), so message-only matching is sufficient to discriminate.
5430
+ */
5431
+ const ACCESS_DENIED_PHRASE = "Google Drive access denied";
5432
+
5433
+ //#endregion
5434
+ //#region src/modules/walletBackup/googleDrive/findMissingGoogleDriveBackupScopes/findMissingGoogleDriveBackupScopes.ts
5435
+ /**
5436
+ * Returns the Google OAuth scopes from `GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES`
5437
+ * that are NOT present in `grantedScopes`. An empty array means all required
5438
+ * scopes have been granted.
5439
+ *
5440
+ * @param grantedScopes - Scopes the user has granted to their Google account.
5441
+ * @returns The subset of required scopes that are still missing.
5442
+ * @not-instrumented
5443
+ */
5444
+ const findMissingGoogleDriveBackupScopes = (grantedScopes) => GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES.filter((required) => !grantedScopes.includes(required));
5445
+
5446
+ //#endregion
5447
+ //#region src/modules/walletBackup/googleDrive/utils/fetchGoogleDriveOauthAccess/fetchGoogleDriveOauthAccess.ts
5448
+ /**
5449
+ * Fetches the user's stored Google OAuth access token together with the
5450
+ * scopes that were granted when the token was issued.
5451
+ *
5452
+ * Internal to the Google Drive backup readiness check — not exported as a
5453
+ * public API. The returned `scopes` array can be empty for legacy tokens
5454
+ * captured before the API began tracking granted scopes.
5455
+ *
5456
+ * @param params.oauthAccountId - The verified-credential id of the linked
5457
+ * Google account (see `findGoogleOauthAccountId`).
5458
+ * @param client - The Dynamic client instance.
5459
+ * @returns The OAuth access token and granted scopes.
5460
+ * @not-instrumented
5461
+ */
5462
+ const fetchGoogleDriveOauthAccess = async ({ oauthAccountId }, client) => {
5463
+ const core = getCore(client);
5464
+ return createApiClient({}, client).getEndUserOauthAccessToken({
5465
+ environmentId: core.environmentId,
5466
+ oauthAccountId
5467
+ });
5468
+ };
5469
+
5470
+ //#endregion
5471
+ //#region src/modules/walletBackup/googleDrive/utils/findGoogleOauthAccountId/findGoogleOauthAccountId.ts
5472
+ /**
5473
+ * Returns the verified-credential `id` (UUID of the user_oauth_accounts row)
5474
+ * for the user's linked Google account, or `undefined` if no Google account
5475
+ * is linked.
5476
+ *
5477
+ * The `getEndUserOauthAccessToken` API path parameter expects this UUID, NOT
5478
+ * the third-party `oauthAccountId` (Google's numeric profile ID) — those are
5479
+ * stored in the same credential under different fields.
5480
+ *
5481
+ * @param credentials - The user's verified credentials, typically from
5482
+ * `client.user?.verifiedCredentials`.
5483
+ * @returns The credential id of the linked Google oauth account, or
5484
+ * `undefined`.
5485
+ * @not-instrumented
5486
+ */
5487
+ const findGoogleOauthAccountId = (credentials) => credentials?.find((cred) => cred.format === JwtVerifiedCredentialFormatEnum.Oauth && cred.oauthProvider === ProviderEnum.Google)?.id;
5488
+
5489
+ //#endregion
5490
+ //#region src/modules/walletBackup/googleDrive/getGoogleDriveBackupReadiness/getGoogleDriveBackupReadiness.ts
5491
+ /**
5492
+ * Pre-flight readiness check for backing up MPC keyshares to Google Drive.
5493
+ *
5494
+ * Call this before initiating the keyshare backup ceremony. When the result
5495
+ * is `'needs-access'`, have the user re-link their Google account so the
5496
+ * required Drive scopes are granted, then call this again before retrying
5497
+ * the backup. This avoids spending an MPC reshare ceremony on a backup that
5498
+ * will predictably fail.
5499
+ *
5500
+ * Status values:
5501
+ * - `'ready'`: stored scopes include both required Drive scopes; backup
5502
+ * should succeed (barring transient errors).
5503
+ * - `'needs-access'`: backup likely won't succeed without user intervention.
5504
+ * Three sub-cases, distinguished by `missingScopes`:
5505
+ * - No Google account linked → `missingScopes` is the full required set.
5506
+ * - Some scopes granted but not all → `missingScopes` lists the gap.
5507
+ * - Legacy token captured before scope tracking shipped (`scopes: []` from
5508
+ * the API) → `missingScopes` is empty. Forcing a fresh consent will
5509
+ * populate the scopes column for subsequent calls.
5510
+ *
5511
+ * Failures of the underlying access-token fetch propagate as Promise
5512
+ * rejections — the caller is expected to surface or retry them.
5513
+ *
5514
+ * Pair with `isInsufficientGoogleDriveScopesError` to detect post-flight
5515
+ * scope failures (e.g. for the legacy "unknown scopes" case where pre-flight
5516
+ * cannot prove failure).
5517
+ *
5518
+ * @param [client] - The Dynamic client instance. Only required when using
5519
+ * multiple Dynamic clients.
5520
+ * @returns The readiness result.
5521
+ * @instrumented
5522
+ */
5523
+ const getGoogleDriveBackupReadiness = async (client = getDefaultClient()) => {
5524
+ const { user } = client;
5525
+ const oauthAccountId = findGoogleOauthAccountId(user?.verifiedCredentials);
5526
+ if (!oauthAccountId) return {
5527
+ missingScopes: GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES,
5528
+ status: "needs-access"
5529
+ };
5530
+ const { accessToken, scopes } = await fetchGoogleDriveOauthAccess({ oauthAccountId }, client);
5531
+ if (scopes.length === 0) return {
5532
+ accessToken,
5533
+ missingScopes: [],
5534
+ status: "needs-access"
5535
+ };
5536
+ const missing = findMissingGoogleDriveBackupScopes(scopes);
5537
+ if (missing.length === 0) return {
5538
+ accessToken,
5539
+ missingScopes: [],
5540
+ status: "ready"
5541
+ };
5542
+ return {
5543
+ accessToken,
5544
+ missingScopes: missing,
5545
+ status: "needs-access"
5546
+ };
5547
+ };
5548
+ const __getGoogleDriveBackupReadiness_impl = getGoogleDriveBackupReadiness;
5549
+ const __getGoogleDriveBackupReadiness_wrapped = instrumentFunction({
5550
+ fn: __getGoogleDriveBackupReadiness_impl,
5551
+ functionName: "getGoogleDriveBackupReadiness",
5552
+ getCore: () => {
5553
+ try {
5554
+ return getCore(getDefaultClient());
5555
+ } catch {
5556
+ return;
5557
+ }
5558
+ }
5559
+ });
5560
+
5561
+ //#endregion
5562
+ //#region src/modules/walletBackup/googleDrive/hasAllGoogleDriveBackupScopes/hasAllGoogleDriveBackupScopes.ts
5563
+ /**
5564
+ * Returns whether `grantedScopes` covers every Google OAuth scope required
5565
+ * to upload a keyshare backup to Google Drive.
5566
+ *
5567
+ * @param grantedScopes - Scopes the user has granted to their Google account.
5568
+ * @returns `true` when every required scope is granted, otherwise `false`.
5569
+ * @not-instrumented
5570
+ */
5571
+ const hasAllGoogleDriveBackupScopes = (grantedScopes) => findMissingGoogleDriveBackupScopes(grantedScopes).length === 0;
5572
+
5573
+ //#endregion
5574
+ //#region src/modules/walletBackup/googleDrive/isInsufficientGoogleDriveScopesError/isInsufficientGoogleDriveScopesError.ts
5575
+ /**
5576
+ * Type-guard for Google Drive backup failures caused by missing or
5577
+ * insufficient OAuth scopes (or otherwise denied access).
5578
+ *
5579
+ * Recover by having the user re-link their Google account and retrying the
5580
+ * backup once the granted scopes include
5581
+ * `GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES`.
5582
+ *
5583
+ * @param err - The unknown value to check.
5584
+ * @returns `true` when `err` is an `Error` whose message indicates Google
5585
+ * Drive access was denied.
5586
+ * @not-instrumented
5587
+ */
5588
+ const isInsufficientGoogleDriveScopesError = (err) => err instanceof Error && err.message.includes(ACCESS_DENIED_PHRASE);
5589
+
5183
5590
  //#endregion
5184
5591
  //#region src/modules/wallets/assertWalletAccountSigningAvailability/assertWalletAccountSigningAvailability.ts
5185
5592
  /**
@@ -6253,5 +6660,5 @@ const parseUserAgent = ({ userAgent }) => {
6253
6660
  assertPackageVersion(name, version);
6254
6661
 
6255
6662
  //#endregion
6256
- export { BaseError, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, DeeplinkConnectAndVerifyUnsupportedError, FeeEstimationFailedError, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, LinkCredentialError, MFAAction, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenSwapError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __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, __executeSwapTransaction_wrapped as executeSwapTransaction, fetchProjectSettings, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getBalances, getCheckoutTransaction, getCheckoutTransactionQuote, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, __getElevatedAccessToken_wrapped as getElevatedAccessToken, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, getMultichainBalances, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getRegisteredDevices, getSwapQuote, getSwapStatus, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletProviderDataByKey, hasExtension, __initializeClient_wrapped as initializeClient, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, parseUserAgent, __prepareCheckoutTransaction_wrapped as prepareCheckoutTransaction, __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, __signInWithSocialRedirect_wrapped as signInWithSocialRedirect, __signMessage_wrapped as signMessage, __submitCheckoutTransaction_wrapped as submitCheckoutTransaction, 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 };
6663
+ export { BaseError, CheckoutSessionTokenMissingError, ClientAlreadyInitializedError, DeeplinkConnectAndVerifyUnsupportedError, FeeEstimationFailedError, GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES, InvalidDeviceRegistrationRedirectError, InvalidExternalAuthError, InvalidParamError, InvalidRedirectStorageStateError, InvalidSocialCallbackOriginError, LinkCredentialError, MFAAction, MfaInvalidOtpError, MfaRateLimitedError, MissingRedirectStorageStateError, MissingSocialUrlParamError, MissingUserVerificationError, NetworkAddingUnavailableError, NetworkNotAddedError, NetworkSwitchingUnavailableError, NoAddressFoundError, NoNetworkProvidersError, NoPasskeyCredentialsFoundError, NoSmartWalletAccountSignerFoundError, NoWebAuthNSupportError, NotWaasWalletAccountError, SandboxMaximumThresholdReachedError, SimulationFailedError, TokenSwapError, UnauthorizedError, UnavailableInServerSideError, UnrecognizedNetworkError, UserCancelledSocialPopUpError, UserNotAuthenticatedError, UserRejectedError, WalletAccountAlreadyVerifiedError, WalletAccountNotSelectedError, WalletAlreadyLinkedToAnotherUserError, WalletProviderMethodUnavailableError, __acknowledgeRecoveryCodes_wrapped as acknowledgeRecoveryCodes, addCoinbaseOnrampOrderEventListener, __addNetwork_wrapped as addNetwork, assertWalletAccountSigningAvailability, assertWalletProviderMethodDefined, __attachCheckoutTransactionSource_wrapped as attachCheckoutTransactionSource, authenticateMfaRecoveryCode, authenticatePasskeyMFA, authenticateTotpMfaDevice, __authenticateWithSocial_wrapped as authenticateWithSocial, __broadcastCheckoutTransaction_wrapped as broadcastCheckoutTransaction, canConnectWithHardwareWallet, __cancelCheckoutTransaction_wrapped as cancelCheckoutTransaction, __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, __executeSwapTransaction_wrapped as executeSwapTransaction, fetchProjectSettings, findMissingGoogleDriveBackupScopes, getActiveNetworkData, getActiveNetworkId, getAvailableWalletProvidersData, getBalance, getBalanceForAddress, getBalances, getCheckoutTransaction, getCheckoutTransactionQuote, getCoinbaseBuyUrl, getConnectedAddresses, getDefaultClient, getDeviceRegistrationTokenFromUrl, __getElevatedAccessToken_wrapped as getElevatedAccessToken, __getGoogleDriveBackupReadiness_wrapped as getGoogleDriveBackupReadiness, getKrakenAccounts, getKrakenWhitelistedAddresses, getMfaDevices, getMfaMethods, getMfaRecoveryCodes, getMissingVerificationForCoinbaseOnrampOrder, getMultichainBalances, getNetworksData, getOwnerWalletAccountForSmartWalletAccount, getPasskeys, getPrimaryWalletAccount, getRegisteredDevices, getSwapQuote, getSwapStatus, getTransactionHistory, getUserSocialAccounts, getWalletAccountAddressByType, getWalletAccountFromAddress, getWalletAccounts, getWalletConnectCatalog, getWalletConnectCatalogWalletByWalletProviderKey, getWalletProviderDataByKey, hasAllGoogleDriveBackupScopes, hasExtension, __initializeClient_wrapped as initializeClient, isCaptchaRequired, isDeeplinkWalletProvider, isDeviceRegistrationRequired, isHardwareWalletAccount, isInsufficientGoogleDriveScopesError, isMfaRequiredForAction, isMobile, isPendingRecoveryCodesAcknowledgment, isProgrammaticNetworkSwitchAvailable, isSignedIn, isUserMissingMfaAuth, isUserOnboardingComplete, isWalletAccountVerified, logout, offEvent, offWalletProviderEvent, onEvent, onWalletProviderEvent, onceEvent, parseUserAgent, __prepareCheckoutTransaction_wrapped as prepareCheckoutTransaction, __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, 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 };
6257
6664
  //# sourceMappingURL=index.native.esm.js.map