@dynamic-labs-sdk/client 1.2.0 → 1.2.1

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 (87) hide show
  1. package/dist/{InvalidParamError-Dhv4EhOy.native.esm.js → InvalidParamError-BYnLW_9s.native.esm.js} +2 -2
  2. package/dist/{InvalidParamError-Dhv4EhOy.native.esm.js.map → InvalidParamError-BYnLW_9s.native.esm.js.map} +1 -1
  3. package/dist/{InvalidParamError-CPzPxL0l.cjs → InvalidParamError-CEykJlaG.cjs} +3 -3
  4. package/dist/{InvalidParamError-CPzPxL0l.cjs.map → InvalidParamError-CEykJlaG.cjs.map} +1 -1
  5. package/dist/{InvalidParamError-BWWTxQ9d.esm.js → InvalidParamError-uluG140m.esm.js} +2 -2
  6. package/dist/{InvalidParamError-BWWTxQ9d.esm.js.map → InvalidParamError-uluG140m.esm.js.map} +1 -1
  7. package/dist/{NotWaasWalletAccountError-D_mLDrYD.native.esm.js → NotWaasWalletAccountError-33QOxTKa.native.esm.js} +3 -3
  8. package/dist/{NotWaasWalletAccountError-D_mLDrYD.native.esm.js.map → NotWaasWalletAccountError-33QOxTKa.native.esm.js.map} +1 -1
  9. package/dist/{NotWaasWalletAccountError-BcIbGm0s.cjs → NotWaasWalletAccountError-BNdbbGX7.cjs} +3 -3
  10. package/dist/{NotWaasWalletAccountError-BcIbGm0s.cjs.map → NotWaasWalletAccountError-BNdbbGX7.cjs.map} +1 -1
  11. package/dist/{NotWaasWalletAccountError-D1EuiYyR.esm.js → NotWaasWalletAccountError-DmlwWvy0.esm.js} +3 -3
  12. package/dist/{NotWaasWalletAccountError-D1EuiYyR.esm.js.map → NotWaasWalletAccountError-DmlwWvy0.esm.js.map} +1 -1
  13. package/dist/core.cjs +45 -5
  14. package/dist/core.cjs.map +1 -1
  15. package/dist/core.esm.js +45 -8
  16. package/dist/core.esm.js.map +1 -1
  17. package/dist/core.native.esm.js +43 -6
  18. package/dist/core.native.esm.js.map +1 -1
  19. package/dist/errors/ArrayMustNotBeEmptyError.d.ts +5 -0
  20. package/dist/errors/ArrayMustNotBeEmptyError.d.ts.map +1 -0
  21. package/dist/exports/core.d.ts +8 -0
  22. package/dist/exports/core.d.ts.map +1 -1
  23. package/dist/exports/index.d.ts +2 -0
  24. package/dist/exports/index.d.ts.map +1 -1
  25. package/dist/{getNetworkProviderFromNetworkId-D26TNjm4.cjs → getNetworkProviderFromNetworkId-BOCwNNMm.cjs} +30 -4
  26. package/dist/getNetworkProviderFromNetworkId-BOCwNNMm.cjs.map +1 -0
  27. package/dist/{getNetworkProviderFromNetworkId-C9QzgcLs.esm.js → getNetworkProviderFromNetworkId-CS1GXEp6.esm.js} +29 -9
  28. package/dist/getNetworkProviderFromNetworkId-CS1GXEp6.esm.js.map +1 -0
  29. package/dist/{getNetworkProviderFromNetworkId-VkHaRqMa.native.esm.js → getNetworkProviderFromNetworkId-a0atbFHU.native.esm.js} +25 -5
  30. package/dist/getNetworkProviderFromNetworkId-a0atbFHU.native.esm.js.map +1 -0
  31. package/dist/{getSignedSessionId-D52QC0hh.cjs → getSignedSessionId-B42gT4xk.cjs} +3 -3
  32. package/dist/{getSignedSessionId-D52QC0hh.cjs.map → getSignedSessionId-B42gT4xk.cjs.map} +1 -1
  33. package/dist/{getSignedSessionId-DcJl2sy8.esm.js → getSignedSessionId-D1Oh4604.esm.js} +3 -3
  34. package/dist/{getSignedSessionId-DcJl2sy8.esm.js.map → getSignedSessionId-D1Oh4604.esm.js.map} +1 -1
  35. package/dist/{getSignedSessionId-L0T26uTy.native.esm.js → getSignedSessionId-zHtJOVpY.native.esm.js} +3 -3
  36. package/dist/{getSignedSessionId-L0T26uTy.native.esm.js.map → getSignedSessionId-zHtJOVpY.native.esm.js.map} +1 -1
  37. package/dist/{getVerifiedCredentialForWalletAccount-C94BZhqL.cjs → getVerifiedCredentialForWalletAccount-B-IhZJuM.cjs} +3 -3
  38. package/dist/{getVerifiedCredentialForWalletAccount-C94BZhqL.cjs.map → getVerifiedCredentialForWalletAccount-B-IhZJuM.cjs.map} +1 -1
  39. package/dist/{getVerifiedCredentialForWalletAccount-Cm2e3Boz.esm.js → getVerifiedCredentialForWalletAccount-BkaECPL_.esm.js} +2 -2
  40. package/dist/{getVerifiedCredentialForWalletAccount-Cm2e3Boz.esm.js.map → getVerifiedCredentialForWalletAccount-BkaECPL_.esm.js.map} +1 -1
  41. package/dist/{getVerifiedCredentialForWalletAccount-CMEe9e1b.native.esm.js → getVerifiedCredentialForWalletAccount-CEvtJ3xW.native.esm.js} +2 -2
  42. package/dist/{getVerifiedCredentialForWalletAccount-CMEe9e1b.native.esm.js.map → getVerifiedCredentialForWalletAccount-CEvtJ3xW.native.esm.js.map} +1 -1
  43. package/dist/index.cjs +122 -8
  44. package/dist/index.cjs.map +1 -1
  45. package/dist/index.esm.js +124 -12
  46. package/dist/index.esm.js.map +1 -1
  47. package/dist/index.native.esm.js +126 -14
  48. package/dist/index.native.esm.js.map +1 -1
  49. package/dist/{isMfaRequiredForAction-B6kjcIA2.native.esm.js → isMfaRequiredForAction-BfabCDxI.native.esm.js} +2 -2
  50. package/dist/{isMfaRequiredForAction-B6kjcIA2.native.esm.js.map → isMfaRequiredForAction-BfabCDxI.native.esm.js.map} +1 -1
  51. package/dist/{isMfaRequiredForAction-kxGzZLB_.cjs → isMfaRequiredForAction-CJvFP4oN.cjs} +2 -2
  52. package/dist/{isMfaRequiredForAction-kxGzZLB_.cjs.map → isMfaRequiredForAction-CJvFP4oN.cjs.map} +1 -1
  53. package/dist/{isMfaRequiredForAction-vbGFqLFc.esm.js → isMfaRequiredForAction-G7SXCZ5L.esm.js} +2 -2
  54. package/dist/{isMfaRequiredForAction-vbGFqLFc.esm.js.map → isMfaRequiredForAction-G7SXCZ5L.esm.js.map} +1 -1
  55. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/collectInstalledGroupIds/collectInstalledGroupIds.d.ts +26 -0
  56. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/collectInstalledGroupIds/collectInstalledGroupIds.d.ts.map +1 -0
  57. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/collectInstalledGroupIds/index.d.ts +2 -0
  58. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/collectInstalledGroupIds/index.d.ts.map +1 -0
  59. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/excludeInstalledFromCatalog.d.ts +28 -0
  60. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/excludeInstalledFromCatalog.d.ts.map +1 -0
  61. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/index.d.ts +2 -0
  62. package/dist/modules/legacyWalletBook/excludeInstalledFromCatalog/index.d.ts.map +1 -0
  63. package/dist/modules/legacyWalletBook/matchWalletProvidersToCatalogGroup/index.d.ts +2 -0
  64. package/dist/modules/legacyWalletBook/matchWalletProvidersToCatalogGroup/index.d.ts.map +1 -0
  65. package/dist/modules/legacyWalletBook/matchWalletProvidersToCatalogGroup/matchWalletProvidersToCatalogGroup.d.ts +26 -0
  66. package/dist/modules/legacyWalletBook/matchWalletProvidersToCatalogGroup/matchWalletProvidersToCatalogGroup.d.ts.map +1 -0
  67. package/dist/modules/wallets/utils/getSignInMessage/createSignInMessageStatement/createSignInMessageStatement.d.ts.map +1 -1
  68. package/dist/modules/wallets/utils/getSignInMessage/getSignInMessage.d.ts.map +1 -1
  69. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  70. package/dist/utils/assertNonEmptyArray/assertNonEmptyArray.d.ts +19 -0
  71. package/dist/utils/assertNonEmptyArray/assertNonEmptyArray.d.ts.map +1 -0
  72. package/dist/utils/assertNonEmptyArray/index.d.ts +2 -0
  73. package/dist/utils/assertNonEmptyArray/index.d.ts.map +1 -0
  74. package/dist/utils/getAppMetadata/getAppMetadata.d.ts +16 -0
  75. package/dist/utils/getAppMetadata/getAppMetadata.d.ts.map +1 -0
  76. package/dist/utils/getAppMetadata/index.d.ts +3 -0
  77. package/dist/utils/getAppMetadata/index.d.ts.map +1 -0
  78. package/dist/waas.cjs +4 -4
  79. package/dist/waas.esm.js +3 -3
  80. package/dist/waas.native.esm.js +3 -3
  81. package/dist/waasCore.cjs +4 -4
  82. package/dist/waasCore.esm.js +3 -3
  83. package/dist/waasCore.native.esm.js +3 -3
  84. package/package.json +3 -3
  85. package/dist/getNetworkProviderFromNetworkId-C9QzgcLs.esm.js.map +0 -1
  86. package/dist/getNetworkProviderFromNetworkId-D26TNjm4.cjs.map +0 -1
  87. package/dist/getNetworkProviderFromNetworkId-VkHaRqMa.native.esm.js.map +0 -1
@@ -1,8 +1,8 @@
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-Dhv4EhOy.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-VkHaRqMa.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-CMEe9e1b.native.esm.js";
4
- import { n as __refreshAuth_wrapped, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-D_mLDrYD.native.esm.js";
5
- import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-B6kjcIA2.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-BYnLW_9s.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 hasExtension, g as getAppMetadata, h as isCaptchaRequired, i as getNetworksData, j as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, k as FETCH_PROJECT_SETTINGS_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 WalletAlreadyLinkedToAnotherUserError, w as createLogger, x as createRealtimeService, y as NoNetworkProvidersError, z as createStorageKeySchema } from "./getNetworkProviderFromNetworkId-a0atbFHU.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-CEvtJ3xW.native.esm.js";
4
+ import { n as __refreshAuth_wrapped, t as NotWaasWalletAccountError } from "./NotWaasWalletAccountError-33QOxTKa.native.esm.js";
5
+ import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-BfabCDxI.native.esm.js";
6
6
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
7
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";
@@ -2165,15 +2165,15 @@ const openDefaultAuthSession = async ({ authUrl, redirectUrl }) => {
2165
2165
  const signInWithSocialPopUp = async ({ provider }, client = getDefaultClient()) => {
2166
2166
  const core = getCore(client);
2167
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");
2168
+ const { appNativeLink } = getAppMetadata(client);
2169
+ assertDefined(appNativeLink, "metadata.nativeLink must be set on the Dynamic client to use signInWithSocialPopUp");
2170
2170
  await core.initTrack.waitForAll();
2171
2171
  const providerType = provider;
2172
2172
  const { url, state, codeVerifier } = await buildOAuthUrl(core, providerType);
2173
2173
  await apiClient.initAuth({
2174
2174
  environmentId: core.environmentId,
2175
2175
  oauthInitAuthRequest: {
2176
- redirectUrl: nativeLink,
2176
+ redirectUrl: appNativeLink,
2177
2177
  state
2178
2178
  },
2179
2179
  providerType
@@ -2187,11 +2187,11 @@ const signInWithSocialPopUp = async ({ provider }, client = getDefaultClient())
2187
2187
  try {
2188
2188
  const result = await openSession({
2189
2189
  authUrl: url.toString(),
2190
- redirectUrl: nativeLink
2190
+ redirectUrl: appNativeLink
2191
2191
  });
2192
2192
  if (result.type === "cancel") throw new UserCancelledSocialPopUpError();
2193
2193
  const callbackUrl = new URL(result.url);
2194
- const expectedUrl = new URL(nativeLink);
2194
+ const expectedUrl = new URL(appNativeLink);
2195
2195
  const callbackOrigin = `${callbackUrl.protocol}//${callbackUrl.host}`;
2196
2196
  const expectedOrigin = `${expectedUrl.protocol}//${expectedUrl.host}`;
2197
2197
  if (callbackOrigin !== expectedOrigin) throw new InvalidSocialCallbackOriginError({
@@ -3733,6 +3733,118 @@ const getWalletConnectCatalog = async (client = getDefaultClient()) => {
3733
3733
  return transformWalletBook({ walletBook: await fetchLegacyWalletBook(client) });
3734
3734
  };
3735
3735
 
3736
+ //#endregion
3737
+ //#region src/modules/legacyWalletBook/matchWalletProvidersToCatalogGroup/matchWalletProvidersToCatalogGroup.ts
3738
+ const normalize = (value) => value.toLowerCase().replace(/\s+/g, "").replace(/wallet/g, "");
3739
+ /**
3740
+ * Returns the wallet providers that belong to the same wallet group as the
3741
+ * given WalletConnect catalog entry. Useful for de-duplicating "installed"
3742
+ * vs "available via WalletConnect" wallets when rendering a combined list.
3743
+ *
3744
+ * Matching is done on normalized identifiers — lowercased, whitespace removed,
3745
+ * and the literal substring "wallet" stripped — so that variations like:
3746
+ * - catalog key `"trust"` + catalog name `"Trust Wallet"`
3747
+ * - provider `groupKey: "trustwallet"` + `displayName: "Trust Wallet"`
3748
+ * collapse into a single match.
3749
+ *
3750
+ * @param params.catalogGroupKey - Key of the catalog group (e.g. `"metamask"`).
3751
+ * @param [params.catalogGroupName] - Optional display name (e.g. `"Trust Wallet"`); matched as a fallback when the key is opaque.
3752
+ * @param params.walletProviders - Currently available wallet providers (from `getAvailableWalletProvidersData`).
3753
+ * @returns The subset of `walletProviders` that match the catalog group.
3754
+ * @not-instrumented
3755
+ */
3756
+ const matchWalletProvidersToCatalogGroup = ({ catalogGroupKey, catalogGroupName, walletProviders }) => {
3757
+ const targets = new Set([normalize(catalogGroupKey)]);
3758
+ if (catalogGroupName) targets.add(normalize(catalogGroupName));
3759
+ return walletProviders.filter((provider) => {
3760
+ return [normalize(provider.groupKey), normalize(provider.metadata.displayName)].some((candidate) => targets.has(candidate));
3761
+ });
3762
+ };
3763
+
3764
+ //#endregion
3765
+ //#region src/modules/legacyWalletBook/excludeInstalledFromCatalog/collectInstalledGroupIds/collectInstalledGroupIds.ts
3766
+ /**
3767
+ * Scans the catalog and returns the set of group identifiers for which at
3768
+ * least one installed wallet provider matches.
3769
+ *
3770
+ * Walks the catalog twice on purpose:
3771
+ * - First through `wallets`, to cover wallets that point to a `groupId`
3772
+ * with no matching entry in `groups` (we fall back to the wallet's own
3773
+ * name for matching in that case).
3774
+ * - Then through `groups`, to catch orphan group entries that have no
3775
+ * wallet referencing them.
3776
+ *
3777
+ * The check is skipped for any group already known to be installed, so a
3778
+ * multi-chain wallet (same `groupId` across EVM + SOL entries) only runs
3779
+ * the match once.
3780
+ *
3781
+ * @not-instrumented
3782
+ */
3783
+ const collectInstalledGroupIds = ({ catalog, walletProviders }) => {
3784
+ const installedGroupIds = /* @__PURE__ */ new Set();
3785
+ for (const [walletKey, wallet] of Object.entries(catalog.wallets)) {
3786
+ const groupId = wallet.groupId || walletKey;
3787
+ if (installedGroupIds.has(groupId)) continue;
3788
+ if (matchWalletProvidersToCatalogGroup({
3789
+ catalogGroupKey: groupId,
3790
+ catalogGroupName: catalog.groups[groupId]?.name || wallet.name,
3791
+ walletProviders
3792
+ }).length > 0) installedGroupIds.add(groupId);
3793
+ }
3794
+ for (const [groupKey, group] of Object.entries(catalog.groups)) {
3795
+ if (installedGroupIds.has(groupKey)) continue;
3796
+ if (matchWalletProvidersToCatalogGroup({
3797
+ catalogGroupKey: groupKey,
3798
+ catalogGroupName: group.name,
3799
+ walletProviders
3800
+ }).length > 0) installedGroupIds.add(groupKey);
3801
+ }
3802
+ return installedGroupIds;
3803
+ };
3804
+
3805
+ //#endregion
3806
+ //#region src/modules/legacyWalletBook/excludeInstalledFromCatalog/excludeInstalledFromCatalog.ts
3807
+ /**
3808
+ * Returns a new WalletConnect catalog with the wallets and groups that the
3809
+ * user already has installed removed.
3810
+ *
3811
+ * Useful when rendering a combined wallet list (installed + WalletConnect
3812
+ * catalog) where each wallet should appear exactly once: installed wallets
3813
+ * win and the corresponding catalog entries get hidden.
3814
+ *
3815
+ * Matching is delegated to {@link collectInstalledGroupIds}, so a single
3816
+ * installed provider removes every wallet that shares its group — e.g. an
3817
+ * installed MetaMask hides both the EVM and SOL catalog entries.
3818
+ *
3819
+ * The original catalog object is not mutated.
3820
+ *
3821
+ * @param params.catalog - The full WalletConnect catalog (typically from `getWalletConnectCatalog`).
3822
+ * @param params.walletProviders - Currently available wallet providers.
3823
+ * @returns A new catalog with only the wallets and groups the user does not have installed.
3824
+ * @not-instrumented
3825
+ */
3826
+ const excludeInstalledFromCatalog = ({ catalog, walletProviders }) => {
3827
+ const installedGroupIds = collectInstalledGroupIds({
3828
+ catalog,
3829
+ walletProviders
3830
+ });
3831
+ const wallets = {};
3832
+ for (const [walletKey, wallet] of Object.entries(catalog.wallets)) {
3833
+ const groupId = wallet.groupId || walletKey;
3834
+ if (installedGroupIds.has(groupId)) continue;
3835
+ wallets[walletKey] = wallet;
3836
+ }
3837
+ const groups = {};
3838
+ for (const [groupKey, group] of Object.entries(catalog.groups)) {
3839
+ if (installedGroupIds.has(groupKey)) continue;
3840
+ groups[groupKey] = group;
3841
+ }
3842
+ return {
3843
+ groups,
3844
+ wallets
3845
+ };
3846
+ };
3847
+
3736
3848
  //#endregion
3737
3849
  //#region src/modules/wallets/walletProvider/extractChainFromNormalizedName/extractChainFromNormalizedName.ts
3738
3850
  /**
@@ -5808,9 +5920,9 @@ const getChainIdForAccountVerification = async ({ walletProvider }) => {
5808
5920
  /** @not-instrumented */
5809
5921
  const getSignInMessage = async ({ nonce: nonceOverride, walletAccount }, client) => {
5810
5922
  const core = getCore(client);
5811
- const universalLink = core.metadata?.universalLink;
5812
- assertDefined(universalLink, "Universal link is not set");
5813
- const url = new URL(universalLink);
5923
+ const { appUniversalLink } = getAppMetadata(client);
5924
+ assertDefined(appUniversalLink, "Universal link is not set");
5925
+ const url = new URL(appUniversalLink);
5814
5926
  const domain = url.host;
5815
5927
  const nonce = nonceOverride ?? await getNonce(client);
5816
5928
  const walletProvider = getWalletProviderFromWalletAccount({ walletAccount }, client);
@@ -6693,5 +6805,5 @@ const parseUserAgent = ({ userAgent }) => {
6693
6805
  assertPackageVersion(name, version);
6694
6806
 
6695
6807
  //#endregion
6696
- 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 };
6808
+ 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, excludeInstalledFromCatalog, __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, matchWalletProvidersToCatalogGroup, 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 };
6697
6809
  //# sourceMappingURL=index.native.esm.js.map