@dynamic-labs-sdk/client 1.24.0 → 1.25.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 (113) hide show
  1. package/dist/core.cjs +6 -7
  2. package/dist/core.cjs.map +1 -1
  3. package/dist/core.esm.js +5 -6
  4. package/dist/core.esm.js.map +1 -1
  5. package/dist/core.native.esm.js +5 -5
  6. package/dist/exports/waas.d.ts +1 -0
  7. package/dist/exports/waas.d.ts.map +1 -1
  8. package/dist/{getNetworkProviderFromNetworkId-R8IKGc6s.native.esm.js → getNetworkProviderFromNetworkId-CN0fhJMJ.native.esm.js} +3 -2
  9. package/dist/{getNetworkProviderFromNetworkId-R8IKGc6s.native.esm.js.map → getNetworkProviderFromNetworkId-CN0fhJMJ.native.esm.js.map} +1 -1
  10. package/dist/{getNetworkProviderFromNetworkId-CZjFA5G8.cjs → getNetworkProviderFromNetworkId-CtXKqsri.cjs} +2 -2
  11. package/dist/{getNetworkProviderFromNetworkId-CZjFA5G8.cjs.map → getNetworkProviderFromNetworkId-CtXKqsri.cjs.map} +1 -1
  12. package/dist/{getNetworkProviderFromNetworkId-CjdC5HjA.esm.js → getNetworkProviderFromNetworkId-DCvqxwoP.esm.js} +2 -2
  13. package/dist/{getNetworkProviderFromNetworkId-CjdC5HjA.esm.js.map → getNetworkProviderFromNetworkId-DCvqxwoP.esm.js.map} +1 -1
  14. package/dist/{getSignedSessionId-BYR70F5w.esm.js → getSignedSessionId-B3aCjPhf.native.esm.js} +12 -3
  15. package/dist/{getSignedSessionId-B6Eqmue0.native.esm.js.map → getSignedSessionId-B3aCjPhf.native.esm.js.map} +1 -1
  16. package/dist/{getSignedSessionId-B6Eqmue0.native.esm.js → getSignedSessionId-BmL1vPnC.esm.js} +3 -3
  17. package/dist/getSignedSessionId-BmL1vPnC.esm.js.map +1 -0
  18. package/dist/{getSignedSessionId-BpUNqL9z.cjs → getSignedSessionId-DIn697B6.cjs} +17 -2
  19. package/dist/getSignedSessionId-DIn697B6.cjs.map +1 -0
  20. package/dist/{getWalletProviderByKey-BVVFLnfy.esm.js → getWalletProviderByKey-Dm7Ey9SI.esm.js} +2 -2
  21. package/dist/{getWalletProviderByKey-BVVFLnfy.esm.js.map → getWalletProviderByKey-Dm7Ey9SI.esm.js.map} +1 -1
  22. package/dist/{getWalletProviderByKey-D2ElEmJR.cjs → getWalletProviderByKey-DtcD_nPD.cjs} +2 -2
  23. package/dist/{getWalletProviderByKey-D2ElEmJR.cjs.map → getWalletProviderByKey-DtcD_nPD.cjs.map} +1 -1
  24. package/dist/{getWalletProviderByKey-CqdhcE7y.native.esm.js → getWalletProviderByKey-Pg1oNi-G.native.esm.js} +2 -2
  25. package/dist/{getWalletProviderByKey-CqdhcE7y.native.esm.js.map → getWalletProviderByKey-Pg1oNi-G.native.esm.js.map} +1 -1
  26. package/dist/index.cjs +14 -10
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.esm.js +14 -10
  29. package/dist/index.esm.js.map +1 -1
  30. package/dist/index.native.esm.js +18 -21
  31. package/dist/index.native.esm.js.map +1 -1
  32. package/dist/{isDynamicWaasEnabled-yo_LqzH5.native.esm.js → isDynamicWaasEnabled-B75AeGiP.native.esm.js} +2 -2
  33. package/dist/{isDynamicWaasEnabled-yo_LqzH5.native.esm.js.map → isDynamicWaasEnabled-B75AeGiP.native.esm.js.map} +1 -1
  34. package/dist/{isDynamicWaasEnabled-Ck0VFh7Z.esm.js → isDynamicWaasEnabled-BC2gR0R1.esm.js} +2 -2
  35. package/dist/{isDynamicWaasEnabled-Ck0VFh7Z.esm.js.map → isDynamicWaasEnabled-BC2gR0R1.esm.js.map} +1 -1
  36. package/dist/{isDynamicWaasEnabled-B7_FiTkx.cjs → isDynamicWaasEnabled-BWvSMhAP.cjs} +2 -2
  37. package/dist/{isDynamicWaasEnabled-B7_FiTkx.cjs.map → isDynamicWaasEnabled-BWvSMhAP.cjs.map} +1 -1
  38. package/dist/{isMfaRequiredForAction-B3FO4Zbn.cjs → isMfaRequiredForAction-Dr44C3-l.cjs} +2 -2
  39. package/dist/{isMfaRequiredForAction-B3FO4Zbn.cjs.map → isMfaRequiredForAction-Dr44C3-l.cjs.map} +1 -1
  40. package/dist/{isMfaRequiredForAction-Zi7_K00W.native.esm.js → isMfaRequiredForAction-WmEokgKF.native.esm.js} +32 -3
  41. package/dist/isMfaRequiredForAction-WmEokgKF.native.esm.js.map +1 -0
  42. package/dist/{isMfaRequiredForAction-CnO4g-V0.esm.js → isMfaRequiredForAction-ncRFYLGn.esm.js} +2 -2
  43. package/dist/{isMfaRequiredForAction-CnO4g-V0.esm.js.map → isMfaRequiredForAction-ncRFYLGn.esm.js.map} +1 -1
  44. package/dist/{isUserOnboardingComplete-DZk1nVHO.esm.js → isUserOnboardingComplete-B-J8O4KB.esm.js} +3 -3
  45. package/dist/{isUserOnboardingComplete-DZk1nVHO.esm.js.map → isUserOnboardingComplete-B-J8O4KB.esm.js.map} +1 -1
  46. package/dist/{isUserOnboardingComplete-Dnx30meW.cjs → isUserOnboardingComplete-B9vzjs71.cjs} +3 -3
  47. package/dist/{isUserOnboardingComplete-Dnx30meW.cjs.map → isUserOnboardingComplete-B9vzjs71.cjs.map} +1 -1
  48. package/dist/{isUserOnboardingComplete-DcRl6Q1f.native.esm.js → isUserOnboardingComplete-G6Hf8p_v.native.esm.js} +3 -3
  49. package/dist/{isUserOnboardingComplete-DcRl6Q1f.native.esm.js.map → isUserOnboardingComplete-G6Hf8p_v.native.esm.js.map} +1 -1
  50. package/dist/{migrateFromFireblocks-CdSxWZav.cjs → migrateFromFireblocks-MbP1ajwI.cjs} +3 -54
  51. package/dist/migrateFromFireblocks-MbP1ajwI.cjs.map +1 -0
  52. package/dist/{migrateFromFireblocks-nkmSeZrn.esm.js → migrateFromFireblocks-fY2IrQgU.esm.js} +4 -43
  53. package/dist/migrateFromFireblocks-fY2IrQgU.esm.js.map +1 -0
  54. package/dist/migrateFromFireblocks-kFz_kyA5.native.esm.js +65 -0
  55. package/dist/migrateFromFireblocks-kFz_kyA5.native.esm.js.map +1 -0
  56. package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts.map +1 -1
  57. package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts.map +1 -1
  58. package/dist/modules/waas/businessAccounts/addWalletToBusinessAccount/addWalletToBusinessAccount.d.ts.map +1 -1
  59. package/dist/modules/waas/businessAccounts/createBusinessAccount/createBusinessAccount.d.ts +2 -1
  60. package/dist/modules/waas/businessAccounts/createBusinessAccount/createBusinessAccount.d.ts.map +1 -1
  61. package/dist/modules/waas/businessAccounts/getBusinessAccount/getBusinessAccount.d.ts +2 -1
  62. package/dist/modules/waas/businessAccounts/getBusinessAccount/getBusinessAccount.d.ts.map +1 -1
  63. package/dist/modules/waas/businessAccounts/listBusinessAccounts/listBusinessAccounts.d.ts +2 -1
  64. package/dist/modules/waas/businessAccounts/listBusinessAccounts/listBusinessAccounts.d.ts.map +1 -1
  65. package/dist/modules/waas/businessAccounts/removeBusinessAccountMember/removeBusinessAccountMember.d.ts.map +1 -1
  66. package/dist/modules/waas/businessAccounts/removeBusinessAccountSigner/removeBusinessAccountSigner.d.ts.map +1 -1
  67. package/dist/modules/waas/businessAccounts/removeBusinessAccountWallet/index.d.ts +2 -0
  68. package/dist/modules/waas/businessAccounts/removeBusinessAccountWallet/index.d.ts.map +1 -0
  69. package/dist/modules/waas/businessAccounts/removeBusinessAccountWallet/removeBusinessAccountWallet.d.ts +32 -0
  70. package/dist/modules/waas/businessAccounts/removeBusinessAccountWallet/removeBusinessAccountWallet.d.ts.map +1 -0
  71. package/dist/modules/waas/businessAccounts/transferBusinessAccountOwnership/transferBusinessAccountOwnership.d.ts.map +1 -1
  72. package/dist/modules/waas/businessAccounts/updateBusinessAccountMemberRole/updateBusinessAccountMemberRole.d.ts.map +1 -1
  73. package/dist/modules/waas/createWaasClient/createWaasClient.d.ts.map +1 -1
  74. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  75. package/dist/services/openDeeplink/{createWebDeeplinkOpener/createWebDeeplinkOpener.d.ts → createDeeplinkOpener/createDeeplinkOpener.d.ts} +6 -2
  76. package/dist/services/openDeeplink/createDeeplinkOpener/createDeeplinkOpener.d.ts.map +1 -0
  77. package/dist/services/openDeeplink/createDeeplinkOpener/index.d.ts +2 -0
  78. package/dist/services/openDeeplink/createDeeplinkOpener/index.d.ts.map +1 -0
  79. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  80. package/dist/{updateAuthFromVerifyResponse-BSORoVT0.cjs → updateAuthFromVerifyResponse-D9kFrAkK.cjs} +3 -3
  81. package/dist/{updateAuthFromVerifyResponse-BSORoVT0.cjs.map → updateAuthFromVerifyResponse-D9kFrAkK.cjs.map} +1 -1
  82. package/dist/{NativeModuleNotLinkedError-CJy_4-6r.native.esm.js → updateAuthFromVerifyResponse-WlGmt2v0.native.esm.js} +4 -33
  83. package/dist/updateAuthFromVerifyResponse-WlGmt2v0.native.esm.js.map +1 -0
  84. package/dist/{updateAuthFromVerifyResponse-D0Tt9-Z-.esm.js → updateAuthFromVerifyResponse-ZzU46s0t.esm.js} +3 -3
  85. package/dist/{updateAuthFromVerifyResponse-D0Tt9-Z-.esm.js.map → updateAuthFromVerifyResponse-ZzU46s0t.esm.js.map} +1 -1
  86. package/dist/waas.cjs +60 -33
  87. package/dist/waas.cjs.map +1 -1
  88. package/dist/waas.esm.js +61 -35
  89. package/dist/waas.esm.js.map +1 -1
  90. package/dist/waas.native.esm.js +61 -34
  91. package/dist/waas.native.esm.js.map +1 -1
  92. package/dist/waasCore.cjs +55 -12
  93. package/dist/waasCore.cjs.map +1 -1
  94. package/dist/waasCore.esm.js +51 -8
  95. package/dist/waasCore.esm.js.map +1 -1
  96. package/dist/waasCore.native.esm.js +267 -7
  97. package/dist/waasCore.native.esm.js.map +1 -1
  98. package/package.json +3 -3
  99. package/dist/NativeModuleNotLinkedError-CJy_4-6r.native.esm.js.map +0 -1
  100. package/dist/consumeMfaTokenIfRequiredForAction-B6nFE5IO.cjs +0 -17
  101. package/dist/consumeMfaTokenIfRequiredForAction-B6nFE5IO.cjs.map +0 -1
  102. package/dist/consumeMfaTokenIfRequiredForAction-DXTH4qki.esm.js +0 -12
  103. package/dist/consumeMfaTokenIfRequiredForAction-DXTH4qki.esm.js.map +0 -1
  104. package/dist/getSignedSessionId-BYR70F5w.esm.js.map +0 -1
  105. package/dist/getSignedSessionId-BpUNqL9z.cjs.map +0 -1
  106. package/dist/isMfaRequiredForAction-Zi7_K00W.native.esm.js.map +0 -1
  107. package/dist/migrateFromFireblocks-COEK_Acn.native.esm.js +0 -321
  108. package/dist/migrateFromFireblocks-COEK_Acn.native.esm.js.map +0 -1
  109. package/dist/migrateFromFireblocks-CdSxWZav.cjs.map +0 -1
  110. package/dist/migrateFromFireblocks-nkmSeZrn.esm.js.map +0 -1
  111. package/dist/services/openDeeplink/createWebDeeplinkOpener/createWebDeeplinkOpener.d.ts.map +0 -1
  112. package/dist/services/openDeeplink/createWebDeeplinkOpener/index.d.ts +0 -2
  113. package/dist/services/openDeeplink/createWebDeeplinkOpener/index.d.ts.map +0 -1
@@ -1,12 +1,13 @@
1
- import { $ as UnauthorizedError, B as onEvent, Ct as name, E as getWalletProviderRegistry, F as normalizeAddress, H as createApiClient, I as splitWalletProviderKey, K as getNonce, M as getChainFromVerifiedCredentialChain, N as CHAINS_INFO_MAP, O as NoWalletProviderFoundError, P as formatWalletAccountId, Q as createLocalStorageAdapter, R as emitEvent, S as extractSessionId, St as getCore, T as WalletProviderPriority, V as onceEvent, X as updateNoncePoolStorage, Y as fetchAndStoreNonces, Z as createStorageKeySchema, _ as instrumentFunction, _t as NONCE_POOL_SIZE, a as InvalidParamError, at as APIError, b as getUserAgent, ct as DYNAMIC_ICONIC_SPRITE_URL, dt as isCookieEnabled, et as SandboxMaximumThresholdReachedError, ft as assertDefined, gt as getPlatform, h as checkAndRaiseWalletAccountsChangedEvent, ht as randomString, i as parseElevatedAccessToken, it as InvalidExternalAuthError, k as getWalletAccounts, lt as SDK_API_CORE_VERSION, m as isUserMissingMfaAuth, mt as getElevatedAccessToken, n as updateAuthFromVerifyResponse, nt as MfaInvalidOtpError, o as initializeWaasClientsForEagerRecovery, p as getWalletProviders, pt as ValueMustBeDefinedError, r as upsertElevatedAccessToken, rt as LinkCredentialError, tt as MfaRateLimitedError, v as scrubParameters, vt as getDefaultClient, w as getWalletProviderFromWalletAccount, wt as version, x as getOperatingSystem, xt as BaseError, y as DEFAULT_PII_FIELDS, yt as setDefaultClient, z as offEvent } from "./NativeModuleNotLinkedError-CJy_4-6r.native.esm.js";
2
- import { A as createCrossTabBroadcast, B as getBuffer, C as getKeychainIndexedDBName, D as assertSafeNavigationUrl, E as createKeychainService, F as GENERATE_SESSION_KEYS_TRACKER_KEY, H as isEqualShallow, I as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, L as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, M as CannotTrackError, N as createDeferredPromise, P as FETCH_PROJECT_SETTINGS_TRACKER_KEY, R as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY, S as MergeAccountsConfirmationError, T as assertSafeDeeplinkUrl, U as createStorage, V as subscribeWithSelector, _ as getAppMetadata, a as verifyMessageSignatureOwnership, b as WalletAlreadyLinkedToAnotherUserError, c as formatSignInMessage, d as setUnverifiedWalletAccounts, f as createVisit, g as isCaptchaRequired, h as consumeCaptchaToken, i as getNetworksData, k as createLogger, l as reconcileWalletAccountsAgainstClient, m as __setCaptchaToken_wrapped, o as removeUnverifiedWalletAccount, p as hasExtension, s as createSignInMessageStatement, t as getNetworkProviderFromNetworkId, u as updateWalletProviderKeysForVerifiedCredentials, v as MethodNotImplementedError, w as createRealtimeService, x as NoNetworkProvidersError, y as WalletScreeningBlockedError, z as isServerSideRendering } from "./getNetworkProviderFromNetworkId-R8IKGc6s.native.esm.js";
3
- import { a as fetchProjectSettings, i as generateSessionKeys, n as getVerifiedCredentialForWalletAccount, o as isSignedIn, r as __logoutWithReason_wrapped, s as retryOnFail, t as getWalletProviderByKey } from "./getWalletProviderByKey-CqdhcE7y.native.esm.js";
4
- import { n as NotWaasWalletAccountError, r as __refreshAuth_wrapped } from "./isDynamicWaasEnabled-yo_LqzH5.native.esm.js";
5
- import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, o as WaasLoadFailedError, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-DcRl6Q1f.native.esm.js";
6
- import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-Zi7_K00W.native.esm.js";
1
+ import { $ as SandboxMaximumThresholdReachedError, B as onceEvent, C as getWalletProviderFromWalletAccount, Ct as version, D as NoWalletProviderFoundError, F as splitWalletProviderKey, G as getNonce, J as fetchAndStoreNonces, L as emitEvent, M as CHAINS_INFO_MAP, N as formatWalletAccountId, O as getWalletAccounts, P as normalizeAddress, Q as UnauthorizedError, R as offEvent, St as name, T as getWalletProviderRegistry, V as createApiClient, X as createStorageKeySchema, Y as updateNoncePoolStorage, Z as createLocalStorageAdapter, _ as scrubParameters, _t as getDefaultClient, a as initializeWaasClientsForEagerRecovery, b as getOperatingSystem, bt as BaseError, ct as SDK_API_CORE_VERSION, dt as assertDefined, et as MfaRateLimitedError, f as getWalletProviders, ft as ValueMustBeDefinedError, g as instrumentFunction, gt as NONCE_POOL_SIZE, ht as getPlatform, i as InvalidParamError, it as APIError, j as getChainFromVerifiedCredentialChain, m as checkAndRaiseWalletAccountsChangedEvent, mt as randomString, n as upsertElevatedAccessToken, nt as LinkCredentialError, p as isUserMissingMfaAuth, pt as getElevatedAccessToken, r as parseElevatedAccessToken, rt as InvalidExternalAuthError, st as DYNAMIC_ICONIC_SPRITE_URL, t as updateAuthFromVerifyResponse, tt as MfaInvalidOtpError, ut as isCookieEnabled, v as DEFAULT_PII_FIELDS, vt as setDefaultClient, w as WalletProviderPriority, x as extractSessionId, xt as getCore, y as getUserAgent, z as onEvent } from "./updateAuthFromVerifyResponse-WlGmt2v0.native.esm.js";
2
+ import { A as createCrossTabBroadcast, B as getBuffer, C as getKeychainIndexedDBName, D as assertSafeNavigationUrl, E as createKeychainService, F as GENERATE_SESSION_KEYS_TRACKER_KEY, H as isEqualShallow, I as INITIALIZE_STORAGE_SYNC_TRACKER_KEY, L as REFRESH_USER_STATE_FROM_COOKIE_TRACKER_KEY, M as CannotTrackError, N as createDeferredPromise, P as FETCH_PROJECT_SETTINGS_TRACKER_KEY, R as REFRESH_USER_STATE_FROM_VALID_TOKEN_TRACKER_KEY, S as MergeAccountsConfirmationError, T as assertSafeDeeplinkUrl, U as createStorage, V as subscribeWithSelector, _ as getAppMetadata, a as verifyMessageSignatureOwnership, b as WalletAlreadyLinkedToAnotherUserError, c as formatSignInMessage, d as setUnverifiedWalletAccounts, f as createVisit, g as isCaptchaRequired, h as consumeCaptchaToken, i as getNetworksData, k as createLogger, l as reconcileWalletAccountsAgainstClient, m as __setCaptchaToken_wrapped, o as removeUnverifiedWalletAccount, p as hasExtension, s as createSignInMessageStatement, t as getNetworkProviderFromNetworkId, u as updateWalletProviderKeysForVerifiedCredentials, v as MethodNotImplementedError, w as createRealtimeService, x as NoNetworkProvidersError, y as WalletScreeningBlockedError, z as isServerSideRendering } from "./getNetworkProviderFromNetworkId-CN0fhJMJ.native.esm.js";
3
+ import { a as fetchProjectSettings, i as generateSessionKeys, n as getVerifiedCredentialForWalletAccount, o as isSignedIn, r as __logoutWithReason_wrapped, s as retryOnFail, t as getWalletProviderByKey } from "./getWalletProviderByKey-Pg1oNi-G.native.esm.js";
4
+ import { n as NotWaasWalletAccountError, r as __refreshAuth_wrapped } from "./isDynamicWaasEnabled-B75AeGiP.native.esm.js";
5
+ import { n as getMfaMethods, r as __consumeMfaToken_wrapped, t as isMfaRequiredForAction } from "./isMfaRequiredForAction-WmEokgKF.native.esm.js";
6
+ import { a as WaasOnboardingIncompleteError, i as preconnectWaasIframe, n as isPendingRecoveryCodesAcknowledgment, o as WaasLoadFailedError, r as isDeviceRegistrationRequired, t as isUserOnboardingComplete } from "./isUserOnboardingComplete-G6Hf8p_v.native.esm.js";
7
7
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
8
8
  import { AuthModeEnum, CaptchaProviderEnum as CaptchaProviderEnum$1, ExchangeKeyEnum, JwtVerifiedCredentialFormatEnum, JwtVerifiedCredentialFormatEnum as JwtVerifiedCredentialFormatEnum$1, MFAAction, MfaBackupCodeAcknowledgement, ProviderEnum, ProviderEnum as ProviderEnum$1, TokenScope, TokenScope as TokenScope$1, WaasBackupOptionsEnum, WalletProviderEnum } from "@dynamic-labs/sdk-api-core";
9
9
  import * as z from "zod/mini";
10
+ import { Linking } from "react-native";
10
11
  import EventEmitter, { EventEmitter as EventEmitter$1 } from "eventemitter3";
11
12
  import { Passkey } from "react-native-passkey";
12
13
 
@@ -777,26 +778,22 @@ const createNavigationHandler = () => {
777
778
  };
778
779
 
779
780
  //#endregion
780
- //#region src/services/openDeeplink/createWebDeeplinkOpener/createWebDeeplinkOpener.ts
781
+ //#region src/services/openDeeplink/createDeeplinkOpener/createDeeplinkOpener.native.ts
781
782
  /**
782
- * Creates a deeplink opener that navigates the current tab to the deeplink URL.
783
+ * React Native variant of the deeplink opener.
783
784
  *
784
- * Uses `window.location.assign` instead of `window.open` deliberately.
785
- * This matters for Phantom redirect specifically, which is the only deep link
786
- * provider that redirects back to the app in a new tab. With `window.open`,
787
- * the browser first opens an `about:blank` tab before the native wallet app
788
- * handles the deep link. When Phantom redirects back, it opens yet another
789
- * tab. The user ends up with three tabs (original, about:blank, redirect) and
790
- * the browser focuses the lingering about:blank after the redirect tab closes.
791
- * `window.location.assign` reuses the current tab, avoiding the extra tab
792
- * entirely.
785
+ * Metro resolves `.native.ts` over the plain `.ts` counterpart, so this file
786
+ * is used exclusively in RN builds. React Native has no browser navigation, so
787
+ * the web implementation (`window.location.assign`) is unusable and RN's
788
+ * read-only `location` throws on href assignment. `Linking.openURL` is the
789
+ * platform primitive for handing a `metamask:`/`phantom:` pairing deeplink off
790
+ * to the wallet app.
793
791
  * @notInstrumented
794
792
  */
795
- const createWebDeeplinkOpener = () => {
796
- if (isServerSideRendering()) return () => Promise.reject(new UnavailableInServerSideError("createWebDeeplinkOpener"));
793
+ const createDeeplinkOpener = () => {
797
794
  return async (url) => {
798
795
  assertSafeDeeplinkUrl(url);
799
- window.location.assign(url);
796
+ await Linking.openURL(url);
800
797
  };
801
798
  };
802
799
 
@@ -1059,7 +1056,7 @@ const createCore = (config) => {
1059
1056
  storageAdapter: config.coreConfig?.storageAdapter ?? createLocalStorageAdapter()
1060
1057
  });
1061
1058
  const fetch = config.coreConfig?.fetch ?? createWebFetch();
1062
- const openDeeplink = config.coreConfig?.openDeeplink ?? createWebDeeplinkOpener();
1059
+ const openDeeplink = config.coreConfig?.openDeeplink ?? createDeeplinkOpener();
1063
1060
  const openAuthSession = config.coreConfig?.openAuthSession;
1064
1061
  const navigate = config.coreConfig?.navigate ?? createNavigationHandler();
1065
1062
  const state = createObservableState(getInitialState);