@dynamic-labs-sdk/client 1.14.0 → 1.15.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 (80) hide show
  1. package/dist/{InvalidParamError-Cs4ZMEj4.cjs → InvalidParamError-BPY2yug_.cjs} +3 -3
  2. package/dist/{InvalidParamError-Cs4ZMEj4.cjs.map → InvalidParamError-BPY2yug_.cjs.map} +1 -1
  3. package/dist/{InvalidParamError-DZjc7Tjc.esm.js → InvalidParamError-CXCYtY0p.esm.js} +2 -2
  4. package/dist/{InvalidParamError-DZjc7Tjc.esm.js.map → InvalidParamError-CXCYtY0p.esm.js.map} +1 -1
  5. package/dist/{InvalidParamError-BKr8fFc1.native.esm.js → InvalidParamError-DSXDW6g4.native.esm.js} +2 -2
  6. package/dist/{InvalidParamError-BKr8fFc1.native.esm.js.map → InvalidParamError-DSXDW6g4.native.esm.js.map} +1 -1
  7. package/dist/core.cjs +5 -5
  8. package/dist/core.esm.js +7 -7
  9. package/dist/core.esm.js.map +1 -1
  10. package/dist/core.native.esm.js +5 -5
  11. package/dist/{getNetworkProviderFromNetworkId-CdCEFEgT.cjs → getNetworkProviderFromNetworkId-DCwFIoM3.cjs} +4 -4
  12. package/dist/{getNetworkProviderFromNetworkId-CdCEFEgT.cjs.map → getNetworkProviderFromNetworkId-DCwFIoM3.cjs.map} +1 -1
  13. package/dist/{getNetworkProviderFromNetworkId-ChFA088e.esm.js → getNetworkProviderFromNetworkId-_pvqm2fB.esm.js} +7 -7
  14. package/dist/getNetworkProviderFromNetworkId-_pvqm2fB.esm.js.map +1 -0
  15. package/dist/{getNetworkProviderFromNetworkId-DZkq74O7.native.esm.js → getNetworkProviderFromNetworkId-b-H_ta9Q.native.esm.js} +4 -4
  16. package/dist/{getNetworkProviderFromNetworkId-DZkq74O7.native.esm.js.map → getNetworkProviderFromNetworkId-b-H_ta9Q.native.esm.js.map} +1 -1
  17. package/dist/{getSignedSessionId-DmDcWkqB.native.esm.js → getSignedSessionId-Co8y0azF.native.esm.js} +3 -3
  18. package/dist/{getSignedSessionId-DmDcWkqB.native.esm.js.map → getSignedSessionId-Co8y0azF.native.esm.js.map} +1 -1
  19. package/dist/{getSignedSessionId-DrrvGNcG.esm.js → getSignedSessionId-D7Q9q-oy.esm.js} +3 -3
  20. package/dist/{getSignedSessionId-DrrvGNcG.esm.js.map → getSignedSessionId-D7Q9q-oy.esm.js.map} +1 -1
  21. package/dist/{getSignedSessionId-DceZVits.cjs → getSignedSessionId-NZR0A-EZ.cjs} +3 -3
  22. package/dist/{getSignedSessionId-DceZVits.cjs.map → getSignedSessionId-NZR0A-EZ.cjs.map} +1 -1
  23. package/dist/{getWaasWalletProviderFromWalletAccount-CKZIsFWL.cjs → getWaasWalletProviderFromWalletAccount-CUgNeKaa.cjs} +3 -3
  24. package/dist/{getWaasWalletProviderFromWalletAccount-CKZIsFWL.cjs.map → getWaasWalletProviderFromWalletAccount-CUgNeKaa.cjs.map} +1 -1
  25. package/dist/{getWaasWalletProviderFromWalletAccount-C2GdfqUr.native.esm.js → getWaasWalletProviderFromWalletAccount-DLq_TjmC.native.esm.js} +3 -3
  26. package/dist/{getWaasWalletProviderFromWalletAccount-C2GdfqUr.native.esm.js.map → getWaasWalletProviderFromWalletAccount-DLq_TjmC.native.esm.js.map} +1 -1
  27. package/dist/{getWaasWalletProviderFromWalletAccount-B_8slAdm.esm.js → getWaasWalletProviderFromWalletAccount-DNBPKg4j.esm.js} +3 -3
  28. package/dist/{getWaasWalletProviderFromWalletAccount-B_8slAdm.esm.js.map → getWaasWalletProviderFromWalletAccount-DNBPKg4j.esm.js.map} +1 -1
  29. package/dist/{getWalletProviderByKey-DWYF9IxH.esm.js → getWalletProviderByKey-C4KTyeYY.esm.js} +2 -2
  30. package/dist/{getWalletProviderByKey-DWYF9IxH.esm.js.map → getWalletProviderByKey-C4KTyeYY.esm.js.map} +1 -1
  31. package/dist/{getWalletProviderByKey-OD65GUWG.cjs → getWalletProviderByKey-DZrpcmPE.cjs} +3 -3
  32. package/dist/{getWalletProviderByKey-OD65GUWG.cjs.map → getWalletProviderByKey-DZrpcmPE.cjs.map} +1 -1
  33. package/dist/{getWalletProviderByKey-BhisAyZg.native.esm.js → getWalletProviderByKey-Dk_K8Lg8.native.esm.js} +2 -2
  34. package/dist/{getWalletProviderByKey-BhisAyZg.native.esm.js.map → getWalletProviderByKey-Dk_K8Lg8.native.esm.js.map} +1 -1
  35. package/dist/index.cjs +34 -8
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.esm.js +37 -11
  38. package/dist/index.esm.js.map +1 -1
  39. package/dist/index.native.esm.js +34 -8
  40. package/dist/index.native.esm.js.map +1 -1
  41. package/dist/{isDynamicWaasEnabled-C9gQ9M80.esm.js → isDynamicWaasEnabled-C9aVoXek.esm.js} +2 -2
  42. package/dist/{isDynamicWaasEnabled-C9gQ9M80.esm.js.map → isDynamicWaasEnabled-C9aVoXek.esm.js.map} +1 -1
  43. package/dist/{isDynamicWaasEnabled-rRFvljev.native.esm.js → isDynamicWaasEnabled-DNtxO0Bc.native.esm.js} +2 -2
  44. package/dist/{isDynamicWaasEnabled-rRFvljev.native.esm.js.map → isDynamicWaasEnabled-DNtxO0Bc.native.esm.js.map} +1 -1
  45. package/dist/{isDynamicWaasEnabled-C90E53x1.cjs → isDynamicWaasEnabled-DQ1mtWZv.cjs} +3 -3
  46. package/dist/{isDynamicWaasEnabled-C90E53x1.cjs.map → isDynamicWaasEnabled-DQ1mtWZv.cjs.map} +1 -1
  47. package/dist/{isMfaRequiredForAction-C1KaU-XS.native.esm.js → isMfaRequiredForAction-BXnpnD2X.native.esm.js} +2 -2
  48. package/dist/{isMfaRequiredForAction-C1KaU-XS.native.esm.js.map → isMfaRequiredForAction-BXnpnD2X.native.esm.js.map} +1 -1
  49. package/dist/{isMfaRequiredForAction-CTQzzCMt.esm.js → isMfaRequiredForAction-BhLg6M8J.esm.js} +2 -2
  50. package/dist/{isMfaRequiredForAction-CTQzzCMt.esm.js.map → isMfaRequiredForAction-BhLg6M8J.esm.js.map} +1 -1
  51. package/dist/{isMfaRequiredForAction-DFowphoV.cjs → isMfaRequiredForAction-DsOwHl4C.cjs} +2 -2
  52. package/dist/{isMfaRequiredForAction-DFowphoV.cjs.map → isMfaRequiredForAction-DsOwHl4C.cjs.map} +1 -1
  53. package/dist/{isUserOnboardingComplete-DfDNapVu.native.esm.js → isUserOnboardingComplete-BRfyMejK.native.esm.js} +3 -3
  54. package/dist/{isUserOnboardingComplete-DfDNapVu.native.esm.js.map → isUserOnboardingComplete-BRfyMejK.native.esm.js.map} +1 -1
  55. package/dist/{isUserOnboardingComplete-77jTT2BB.cjs → isUserOnboardingComplete-DrgtJIFi.cjs} +4 -4
  56. package/dist/{isUserOnboardingComplete-77jTT2BB.cjs.map → isUserOnboardingComplete-DrgtJIFi.cjs.map} +1 -1
  57. package/dist/{isUserOnboardingComplete-D1gGc77y.esm.js → isUserOnboardingComplete-KFfpvN4R.esm.js} +3 -3
  58. package/dist/{isUserOnboardingComplete-D1gGc77y.esm.js.map → isUserOnboardingComplete-KFfpvN4R.esm.js.map} +1 -1
  59. package/dist/modules/wallets/verifyWalletAccountForSignInOrTransfer/verifyWalletAccountForSignInOrTransfer.d.ts.map +1 -1
  60. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts +8 -0
  61. package/dist/modules/wallets/walletProvider/walletProvider.types.d.ts.map +1 -1
  62. package/dist/{refreshAuth-CAPTC0sg.esm.js → refreshAuth-BnkCuIdw.esm.js} +3 -3
  63. package/dist/{refreshAuth-CAPTC0sg.esm.js.map → refreshAuth-BnkCuIdw.esm.js.map} +1 -1
  64. package/dist/{refreshAuth-aTqsU1uq.native.esm.js → refreshAuth-CfUYFXh_.native.esm.js} +3 -3
  65. package/dist/{refreshAuth-aTqsU1uq.native.esm.js.map → refreshAuth-CfUYFXh_.native.esm.js.map} +1 -1
  66. package/dist/{refreshAuth-B3XSU6GT.cjs → refreshAuth-DvHy0g8j.cjs} +3 -3
  67. package/dist/{refreshAuth-B3XSU6GT.cjs.map → refreshAuth-DvHy0g8j.cjs.map} +1 -1
  68. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  69. package/dist/utils/retryOnFetchError/index.d.ts +2 -0
  70. package/dist/utils/retryOnFetchError/index.d.ts.map +1 -0
  71. package/dist/utils/retryOnFetchError/retryOnFetchError.d.ts +36 -0
  72. package/dist/utils/retryOnFetchError/retryOnFetchError.d.ts.map +1 -0
  73. package/dist/waas.cjs +6 -6
  74. package/dist/waas.esm.js +5 -5
  75. package/dist/waas.native.esm.js +5 -5
  76. package/dist/waasCore.cjs +6 -6
  77. package/dist/waasCore.esm.js +6 -6
  78. package/dist/waasCore.native.esm.js +6 -6
  79. package/package.json +2 -2
  80. package/dist/getNetworkProviderFromNetworkId-ChFA088e.esm.js.map +0 -1
package/dist/index.esm.js CHANGED
@@ -1,14 +1,14 @@
1
- import { $ as ValueMustBeDefinedError, A as splitWalletProviderKey, D as CHAINS_INFO_MAP, E as getChainFromVerifiedCredentialChain, F as onceEvent, G as MfaRateLimitedError, J as InvalidExternalAuthError, K as MfaInvalidOtpError, L as fetchAndStoreNonces, M as emitEvent, N as offEvent, O as formatWalletAccountId, P as onEvent, Q as assertDefined, R as createApiClient, S as getWalletAccounts, U as getNonce, W as SandboxMaximumThresholdReachedError, Y as APIError, Z as isCookieEnabled, _ as getWalletProviderFromWalletAccount, at as getDefaultClient, c as SDK_API_CORE_VERSION, ct as BaseError, d as DEFAULT_PII_FIELDS, dt as version, et as getElevatedAccessToken, f as getUserAgent, h as extractSessionId, it as NONCE_POOL_SIZE, k as normalizeAddress, l as instrumentFunction, lt as getCore, m as getOperatingSystem, o as isUserMissingMfaAuth, ot as setDefaultClient, p as getPlatform, q as LinkCredentialError, s as DYNAMIC_ICONIC_SPRITE_URL, t as InvalidParamError, tt as randomString, u as scrubParameters, ut as name, v as WalletProviderPriority, x as NoWalletProviderFoundError, y as getWalletProviderRegistry, z as UnauthorizedError } from "./InvalidParamError-DZjc7Tjc.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-ChFA088e.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-CTQzzCMt.esm.js";
4
- import { a as parseElevatedAccessToken, i as upsertElevatedAccessToken, l as getWalletProviders, n as getVerifiedCredentialForWalletAccount, o as initializeWaasClientsForEagerRecovery, r as updateAuthFromVerifyResponse, t as getWalletProviderByKey, u as checkAndRaiseWalletAccountsChangedEvent } from "./getWalletProviderByKey-DWYF9IxH.esm.js";
5
- import { t as __refreshAuth_wrapped } from "./refreshAuth-CAPTC0sg.esm.js";
6
- import { n as NotWaasWalletAccountError } from "./isDynamicWaasEnabled-C9gQ9M80.esm.js";
7
- import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-D1gGc77y.esm.js";
1
+ import { $ as ValueMustBeDefinedError, A as splitWalletProviderKey, D as CHAINS_INFO_MAP, E as getChainFromVerifiedCredentialChain, F as onceEvent, G as MfaRateLimitedError, J as InvalidExternalAuthError, K as MfaInvalidOtpError, L as fetchAndStoreNonces, M as emitEvent, N as offEvent, O as formatWalletAccountId, P as onEvent, Q as assertDefined, R as createApiClient, S as getWalletAccounts, U as getNonce, W as SandboxMaximumThresholdReachedError, Y as APIError, Z as isCookieEnabled, _ as getWalletProviderFromWalletAccount, at as getDefaultClient, c as SDK_API_CORE_VERSION, ct as BaseError, d as DEFAULT_PII_FIELDS, dt as version, et as getElevatedAccessToken, f as getUserAgent, h as extractSessionId, it as NONCE_POOL_SIZE, k as normalizeAddress, l as instrumentFunction, lt as getCore, m as getOperatingSystem, o as isUserMissingMfaAuth, ot as setDefaultClient, p as getPlatform, q as LinkCredentialError, s as DYNAMIC_ICONIC_SPRITE_URL, t as InvalidParamError, tt as randomString, u as scrubParameters, ut as name, v as WalletProviderPriority, x as NoWalletProviderFoundError, y as getWalletProviderRegistry, z as UnauthorizedError } from "./InvalidParamError-CXCYtY0p.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-_pvqm2fB.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-BhLg6M8J.esm.js";
4
+ import { a as parseElevatedAccessToken, i as upsertElevatedAccessToken, l as getWalletProviders, n as getVerifiedCredentialForWalletAccount, o as initializeWaasClientsForEagerRecovery, r as updateAuthFromVerifyResponse, t as getWalletProviderByKey, u as checkAndRaiseWalletAccountsChangedEvent } from "./getWalletProviderByKey-C4KTyeYY.esm.js";
5
+ import { t as __refreshAuth_wrapped } from "./refreshAuth-BnkCuIdw.esm.js";
6
+ import { n as NotWaasWalletAccountError } from "./isDynamicWaasEnabled-C9aVoXek.esm.js";
7
+ import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-KFfpvN4R.esm.js";
8
8
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
9
9
  import { AuthModeEnum, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, TokenScope, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
10
10
  import * as z from "zod/mini";
11
- import EventEmitter$1, { EventEmitter } from "eventemitter3";
11
+ import EventEmitter, { EventEmitter as EventEmitter$1 } from "eventemitter3";
12
12
  import { browserSupportsWebAuthn, startAuthentication, startRegistration } from "@simplewebauthn/browser";
13
13
 
14
14
  //#region src/modules/state/raiseStateEvents/events.ts
@@ -546,7 +546,7 @@ const createAsyncTrack = () => {
546
546
  * This ensures no process is missed (as it would throw when tracked on a different node tick).
547
547
  */
548
548
  let isTrackEnabled = true;
549
- const eventEmitter = new EventEmitter();
549
+ const eventEmitter = new EventEmitter$1();
550
550
  const allSettledPromise = createDeferredPromise();
551
551
  const tracker = /* @__PURE__ */ new Map();
552
552
  /**
@@ -593,7 +593,7 @@ const createAsyncTrack = () => {
593
593
  //#endregion
594
594
  //#region src/services/eventEmitter/createEventEmitter.ts
595
595
  /** @notInstrumented */
596
- const createEventEmitter = () => new EventEmitter$1();
596
+ const createEventEmitter = () => new EventEmitter();
597
597
 
598
598
  //#endregion
599
599
  //#region src/errors/UnavailableInServerSideError.ts
@@ -7403,6 +7403,28 @@ const __connectWithWalletProvider_wrapped = instrumentFunction({
7403
7403
  }
7404
7404
  });
7405
7405
 
7406
+ //#endregion
7407
+ //#region src/utils/retryOnFetchError/retryOnFetchError.ts
7408
+ /**
7409
+ * Retries `fn` only when it rejects with the `TypeError` that `fetch` throws on
7410
+ * a transport-level network failure (the connection drops before the server
7411
+ * responds). Per the WHATWG Fetch standard every engine rejects with a
7412
+ * `TypeError` here and only the message differs.
7413
+ * Everything that is not a `TypeError` is rethrown immediately and never
7414
+ * retried.
7415
+ *
7416
+ * @notInstrumented
7417
+ */
7418
+ const retryOnFetchError = async ({ delay = 1e3, fn, maxRetries = 2, onRetry }) => {
7419
+ for (let retry = 0;; retry++) try {
7420
+ return await fn();
7421
+ } catch (error) {
7422
+ if (retry >= maxRetries || !(error instanceof TypeError)) throw error;
7423
+ onRetry?.({ error });
7424
+ if (delay > 0) await new Promise((resolve) => setTimeout(resolve, delay));
7425
+ }
7426
+ };
7427
+
7406
7428
  //#endregion
7407
7429
  //#region src/modules/wallets/hardwareWallet/formatSignatureForHardwareWallet/formatSignatureForHardwareWallet.ts
7408
7430
  /**
@@ -7529,7 +7551,7 @@ const verifyWalletAccountForSignInOrTransfer = async ({ walletAccount, isTransfe
7529
7551
  signature
7530
7552
  }) : signature;
7531
7553
  const { networkId } = await walletProvider.getActiveNetworkId();
7532
- const response = await verifyMessageSignatureOwnership({
7554
+ const verify = () => verifyMessageSignatureOwnership({
7533
7555
  addressesWithTypes: walletAccount.addressesWithTypes,
7534
7556
  chain: walletAccount.chain,
7535
7557
  isTransfer,
@@ -7541,6 +7563,10 @@ const verifyWalletAccountForSignInOrTransfer = async ({ walletAccount, isTransfe
7541
7563
  walletDisplayName: walletProvider.metadata.displayName,
7542
7564
  walletProviderType: walletProvider.walletProviderType
7543
7565
  }, client);
7566
+ const response = walletProvider.shouldRetryVerificationOnNetworkError ? await retryOnFetchError({
7567
+ fn: verify,
7568
+ onRetry: ({ error }) => getCore(client).logger.warn("Retrying wallet verification after network error", error)
7569
+ }) : await verify();
7544
7570
  const walletVerifiedCredential = response.user?.verifiedCredentials.find((verifiedCredential) => isSameAddress({
7545
7571
  chain: walletAccount.chain,
7546
7572
  left: verifiedCredential.address ?? "",