@dynamic-labs-sdk/client 1.31.2 → 1.33.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 (176) hide show
  1. package/dist/{apiClient-d2qJyIvx.native.esm.js → apiClient-4r7VAsLC.native.esm.js} +45 -12
  2. package/dist/apiClient-4r7VAsLC.native.esm.js.map +1 -0
  3. package/dist/constants.d.ts +6 -0
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/core.cjs +79 -76
  6. package/dist/core.cjs.map +1 -1
  7. package/dist/core.esm.js +79 -78
  8. package/dist/core.esm.js.map +1 -1
  9. package/dist/core.native.esm.js +77 -76
  10. package/dist/core.native.esm.js.map +1 -1
  11. package/dist/errors/AmbiguousWalletChainError.d.ts +7 -9
  12. package/dist/errors/AmbiguousWalletChainError.d.ts.map +1 -1
  13. package/dist/errors/ConnectionUriHandlerMissingError.d.ts +10 -12
  14. package/dist/errors/ConnectionUriHandlerMissingError.d.ts.map +1 -1
  15. package/dist/errors/NoConnectionOptionAvailableError.d.ts +2 -2
  16. package/dist/errors/UnexpectedConsentResponseError.d.ts +7 -0
  17. package/dist/errors/UnexpectedConsentResponseError.d.ts.map +1 -0
  18. package/dist/errors/WalletBrowserRedirectHandlerMissingError.d.ts +39 -0
  19. package/dist/errors/WalletBrowserRedirectHandlerMissingError.d.ts.map +1 -0
  20. package/dist/errors/WalletOptionNotFoundError.d.ts +3 -3
  21. package/dist/exports/core.d.ts +2 -0
  22. package/dist/exports/core.d.ts.map +1 -1
  23. package/dist/exports/index.d.ts +7 -0
  24. package/dist/exports/index.d.ts.map +1 -1
  25. package/dist/exports/waas.d.ts +2 -1
  26. package/dist/exports/waas.d.ts.map +1 -1
  27. package/dist/{getNetworkProviderFromNetworkId-DF9kPibD.native.esm.js → getNetworkProviderFromNetworkId-BV229QF3.native.esm.js} +107 -14
  28. package/dist/getNetworkProviderFromNetworkId-BV229QF3.native.esm.js.map +1 -0
  29. package/dist/{getNetworkProviderFromNetworkId-D9nx6Od5.esm.js → getNetworkProviderFromNetworkId-D9oRzWA6.esm.js} +111 -18
  30. package/dist/getNetworkProviderFromNetworkId-D9oRzWA6.esm.js.map +1 -0
  31. package/dist/{getNetworkProviderFromNetworkId-DueBnAl6.cjs → getNetworkProviderFromNetworkId-DOrcvuFv.cjs} +111 -12
  32. package/dist/getNetworkProviderFromNetworkId-DOrcvuFv.cjs.map +1 -0
  33. package/dist/{getSignedSessionId-B5oxmSTs.cjs → getSignedSessionId-4qHh_BOh.cjs} +3 -3
  34. package/dist/{getSignedSessionId-B5oxmSTs.cjs.map → getSignedSessionId-4qHh_BOh.cjs.map} +1 -1
  35. package/dist/{getSignedSessionId-5q4uyZsv.native.esm.js → getSignedSessionId-Cd8CCp5d.native.esm.js} +3 -3
  36. package/dist/{getSignedSessionId-5q4uyZsv.native.esm.js.map → getSignedSessionId-Cd8CCp5d.native.esm.js.map} +1 -1
  37. package/dist/{getSignedSessionId-BKfQycNo.esm.js → getSignedSessionId-DA-MMsJm.esm.js} +3 -3
  38. package/dist/{getSignedSessionId-BKfQycNo.esm.js.map → getSignedSessionId-DA-MMsJm.esm.js.map} +1 -1
  39. package/dist/{getVerifiedCredentialForWalletAccount-Bx0HlvfW.cjs → getVerifiedCredentialForWalletAccount-Bw5q7QZn.cjs} +2 -2
  40. package/dist/{getVerifiedCredentialForWalletAccount-Bx0HlvfW.cjs.map → getVerifiedCredentialForWalletAccount-Bw5q7QZn.cjs.map} +1 -1
  41. package/dist/{getVerifiedCredentialForWalletAccount-_3MExyld.esm.js → getVerifiedCredentialForWalletAccount-Fr3bEKeU.esm.js} +2 -2
  42. package/dist/{getVerifiedCredentialForWalletAccount-_3MExyld.esm.js.map → getVerifiedCredentialForWalletAccount-Fr3bEKeU.esm.js.map} +1 -1
  43. package/dist/highLevelFunctions/connectWalletOption/connectWalletOption.d.ts +55 -0
  44. package/dist/highLevelFunctions/connectWalletOption/connectWalletOption.d.ts.map +1 -0
  45. package/dist/highLevelFunctions/connectWalletOption/connectWalletOption.types.d.ts +46 -0
  46. package/dist/highLevelFunctions/connectWalletOption/connectWalletOption.types.d.ts.map +1 -0
  47. package/dist/highLevelFunctions/connectWalletOption/index.d.ts +2 -0
  48. package/dist/highLevelFunctions/connectWalletOption/index.d.ts.map +1 -0
  49. package/dist/index.cjs +930 -815
  50. package/dist/index.cjs.map +1 -1
  51. package/dist/index.esm.js +925 -814
  52. package/dist/index.esm.js.map +1 -1
  53. package/dist/index.native.esm.js +923 -812
  54. package/dist/index.native.esm.js.map +1 -1
  55. package/dist/{isMfaRequiredForAction-BDmY2_Sj.esm.js → isMfaRequiredForAction-BdU62usM.esm.js} +3 -9
  56. package/dist/{isMfaRequiredForAction-BDmY2_Sj.esm.js.map → isMfaRequiredForAction-BdU62usM.esm.js.map} +1 -1
  57. package/dist/{isMfaRequiredForAction-BrRCSvEX.native.esm.js → isMfaRequiredForAction-DZfEkyIU.native.esm.js} +3 -9
  58. package/dist/{isMfaRequiredForAction-BrRCSvEX.native.esm.js.map → isMfaRequiredForAction-DZfEkyIU.native.esm.js.map} +1 -1
  59. package/dist/{isMfaRequiredForAction-DnKzPDZk.cjs → isMfaRequiredForAction-Djd-jkSl.cjs} +3 -9
  60. package/dist/{isMfaRequiredForAction-DnKzPDZk.cjs.map → isMfaRequiredForAction-Djd-jkSl.cjs.map} +1 -1
  61. package/dist/{isUserOnboardingComplete-D1-QluDm.esm.js → isUserOnboardingComplete-BEZOYohA.esm.js} +3 -3
  62. package/dist/{isUserOnboardingComplete-D1-QluDm.esm.js.map → isUserOnboardingComplete-BEZOYohA.esm.js.map} +1 -1
  63. package/dist/{isUserOnboardingComplete-7GzNYU2g.cjs → isUserOnboardingComplete-Bwvv6Urs.cjs} +3 -3
  64. package/dist/{isUserOnboardingComplete-7GzNYU2g.cjs.map → isUserOnboardingComplete-Bwvv6Urs.cjs.map} +1 -1
  65. package/dist/{isUserOnboardingComplete-BfMMBtkF.native.esm.js → isUserOnboardingComplete-CEUkAzCi.native.esm.js} +3 -3
  66. package/dist/{isUserOnboardingComplete-BfMMBtkF.native.esm.js.map → isUserOnboardingComplete-CEUkAzCi.native.esm.js.map} +1 -1
  67. package/dist/{logoutWithReason-C_T7KddM.cjs → logoutWithReason-B-ZF0VmN.cjs} +57 -18
  68. package/dist/logoutWithReason-B-ZF0VmN.cjs.map +1 -0
  69. package/dist/{logoutWithReason-3UICYir7.native.esm.js → logoutWithReason-DvnEa2Uv.native.esm.js} +3 -9
  70. package/dist/{logoutWithReason-3UICYir7.native.esm.js.map → logoutWithReason-DvnEa2Uv.native.esm.js.map} +1 -1
  71. package/dist/{logoutWithReason-CHyuBHdx.esm.js → logoutWithReason-I6vShLpA.esm.js} +46 -19
  72. package/dist/logoutWithReason-I6vShLpA.esm.js.map +1 -0
  73. package/dist/{migrateFromFireblocks-DJt9bktR.native.esm.js → migrateFromFireblocks-6I7lkraQ.native.esm.js} +2 -2
  74. package/dist/{migrateFromFireblocks-DJt9bktR.native.esm.js.map → migrateFromFireblocks-6I7lkraQ.native.esm.js.map} +1 -1
  75. package/dist/{migrateFromFireblocks-C9Kuke5V.cjs → migrateFromFireblocks-C23-24bK.cjs} +2 -2
  76. package/dist/{migrateFromFireblocks-C9Kuke5V.cjs.map → migrateFromFireblocks-C23-24bK.cjs.map} +1 -1
  77. package/dist/{migrateFromFireblocks-BMO3u6rO.esm.js → migrateFromFireblocks-Dtk6t8hN.esm.js} +2 -2
  78. package/dist/{migrateFromFireblocks-BMO3u6rO.esm.js.map → migrateFromFireblocks-Dtk6t8hN.esm.js.map} +1 -1
  79. package/dist/modules/funding/coinbase/getCoinbaseAccounts/getCoinbaseAccounts.d.ts +1 -1
  80. package/dist/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.d.ts +1 -1
  81. package/dist/modules/funding/kraken/getKrakenAccounts/getKrakenAccounts.d.ts +1 -1
  82. package/dist/modules/funding/kraken/getKrakenWhitelistedAddresses/getKrakenWhitelistedAddresses.d.ts +1 -1
  83. package/dist/modules/sessionKeys/signBusinessAccountIntent/signBusinessAccountIntent.d.ts +95 -0
  84. package/dist/modules/sessionKeys/signBusinessAccountIntent/signBusinessAccountIntent.d.ts.map +1 -0
  85. package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts +3 -1
  86. package/dist/modules/waas/businessAccounts/addBusinessAccountMember/addBusinessAccountMember.d.ts.map +1 -1
  87. package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts +15 -6
  88. package/dist/modules/waas/businessAccounts/addBusinessAccountSigner/addBusinessAccountSigner.d.ts.map +1 -1
  89. package/dist/modules/waas/businessAccounts/addWalletToBusinessAccount/addWalletToBusinessAccount.d.ts +7 -3
  90. package/dist/modules/waas/businessAccounts/addWalletToBusinessAccount/addWalletToBusinessAccount.d.ts.map +1 -1
  91. package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts +115 -2
  92. package/dist/modules/waas/businessAccounts/businessAccounts.types.d.ts.map +1 -1
  93. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/index.d.ts +2 -0
  94. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/index.d.ts.map +1 -0
  95. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/isBusinessAccountActionRequired.d.ts +27 -0
  96. package/dist/modules/waas/businessAccounts/isBusinessAccountActionRequired/isBusinessAccountActionRequired.d.ts.map +1 -0
  97. package/dist/modules/waas/businessAccounts/updateBusinessAccountMemberRole/updateBusinessAccountMemberRole.d.ts +13 -6
  98. package/dist/modules/waas/businessAccounts/updateBusinessAccountMemberRole/updateBusinessAccountMemberRole.d.ts.map +1 -1
  99. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  100. package/dist/modules/waas/waas.types.d.ts +5 -2
  101. package/dist/modules/waas/waas.types.d.ts.map +1 -1
  102. package/dist/modules/walletOptionsCatalogue/buildWalletBookConnectionOptions/buildWalletBookConnectionOptions.d.ts +42 -0
  103. package/dist/modules/walletOptionsCatalogue/buildWalletBookConnectionOptions/buildWalletBookConnectionOptions.d.ts.map +1 -0
  104. package/dist/modules/walletOptionsCatalogue/buildWalletConnectOptions/buildWalletConnectOptions.d.ts +7 -1
  105. package/dist/modules/walletOptionsCatalogue/buildWalletConnectOptions/buildWalletConnectOptions.d.ts.map +1 -1
  106. package/dist/modules/walletOptionsCatalogue/buildWalletOption/buildWalletOption.d.ts.map +1 -1
  107. package/dist/modules/walletOptionsCatalogue/deriveSupportedChains/deriveSupportedChains.d.ts +27 -0
  108. package/dist/modules/walletOptionsCatalogue/deriveSupportedChains/deriveSupportedChains.d.ts.map +1 -0
  109. package/dist/modules/walletOptionsCatalogue/getWalletOptionsCatalogue/getWalletOptionsCatalogue.d.ts +4 -0
  110. package/dist/modules/walletOptionsCatalogue/getWalletOptionsCatalogue/getWalletOptionsCatalogue.d.ts.map +1 -1
  111. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/index.d.ts +3 -0
  112. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/index.d.ts.map +1 -0
  113. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/isWalletExtensionInstalled.d.ts +35 -0
  114. package/dist/modules/walletOptionsCatalogue/isWalletExtensionInstalled/isWalletExtensionInstalled.d.ts.map +1 -0
  115. package/dist/modules/walletOptionsCatalogue/sortWalletOptions/sortWalletOptions.d.ts +1 -1
  116. package/dist/modules/walletOptionsCatalogue/walletOptionsCatalogue.types.d.ts +7 -0
  117. package/dist/modules/walletOptionsCatalogue/walletOptionsCatalogue.types.d.ts.map +1 -1
  118. package/dist/modules/wallets/connectWithUriConnectionOption/connectWithUriConnectionOption.d.ts +6 -5
  119. package/dist/modules/wallets/connectWithUriConnectionOption/connectWithUriConnectionOption.d.ts.map +1 -1
  120. package/dist/modules/wallets/redirectToInAppBrowser/redirectToInAppBrowser.d.ts +3 -3
  121. package/dist/modules/wallets/resolveWalletConnectionOption/resolveWalletConnectionOption.d.ts +2 -2
  122. package/dist/modules/wallets/resolveWalletConnectionOption/resolveWalletConnectionOption.d.ts.map +1 -1
  123. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/getUriConnectionStarterChains.d.ts +27 -0
  124. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/getUriConnectionStarterChains.d.ts.map +1 -0
  125. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/index.d.ts +2 -0
  126. package/dist/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/index.d.ts.map +1 -0
  127. package/dist/modules/wallets/verifyMessageSignatureOwnership/verifyMessageSignatureOwnership.d.ts.map +1 -1
  128. package/dist/modules/wallets/walletConnectionHandlers.types.d.ts +62 -0
  129. package/dist/modules/wallets/walletConnectionHandlers.types.d.ts.map +1 -0
  130. package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts +6 -5
  131. package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts.map +1 -1
  132. package/dist/services/instrumentation/resolveInstrumentationCore/index.d.ts +2 -0
  133. package/dist/services/instrumentation/resolveInstrumentationCore/index.d.ts.map +1 -0
  134. package/dist/services/instrumentation/resolveInstrumentationCore/resolveInstrumentationCore.d.ts +19 -0
  135. package/dist/services/instrumentation/resolveInstrumentationCore/resolveInstrumentationCore.d.ts.map +1 -0
  136. package/dist/services/instrumentation/transports/createDynamicTransport/createDynamicTransport.d.ts +4 -3
  137. package/dist/services/instrumentation/transports/createDynamicTransport/createDynamicTransport.d.ts.map +1 -1
  138. package/dist/services/realtime/createRealtimeService/createRealtimeService.d.ts.map +1 -1
  139. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  140. package/dist/utils/getCurrentPageUrl/getCurrentPageUrl.d.ts +15 -0
  141. package/dist/utils/getCurrentPageUrl/getCurrentPageUrl.d.ts.map +1 -0
  142. package/dist/utils/getCurrentPageUrl/index.d.ts +2 -0
  143. package/dist/utils/getCurrentPageUrl/index.d.ts.map +1 -0
  144. package/dist/utils/isScreeningBlockedError/index.d.ts +2 -0
  145. package/dist/utils/isScreeningBlockedError/index.d.ts.map +1 -0
  146. package/dist/utils/isScreeningBlockedError/isScreeningBlockedError.d.ts +24 -0
  147. package/dist/utils/isScreeningBlockedError/isScreeningBlockedError.d.ts.map +1 -0
  148. package/dist/{waas-Bxsd0-HG.cjs → waas-C0IDCf3u.cjs} +81 -18
  149. package/dist/waas-C0IDCf3u.cjs.map +1 -0
  150. package/dist/{waas-9QajYGeK.native.esm.js → waas-DJeW02-Y.native.esm.js} +77 -20
  151. package/dist/waas-DJeW02-Y.native.esm.js.map +1 -0
  152. package/dist/{waas-T_dHXyI9.esm.js → waas-D_alZrtb.esm.js} +77 -20
  153. package/dist/waas-D_alZrtb.esm.js.map +1 -0
  154. package/dist/waas.cjs +5 -4
  155. package/dist/waas.esm.js +5 -5
  156. package/dist/waas.native.esm.js +5 -5
  157. package/dist/waasCore.cjs +8 -6
  158. package/dist/waasCore.cjs.map +1 -1
  159. package/dist/waasCore.esm.js +8 -6
  160. package/dist/waasCore.esm.js.map +1 -1
  161. package/dist/waasCore.native.esm.js +8 -6
  162. package/dist/waasCore.native.esm.js.map +1 -1
  163. package/package.json +5 -4
  164. package/dist/apiClient-d2qJyIvx.native.esm.js.map +0 -1
  165. package/dist/getNetworkProviderFromNetworkId-D9nx6Od5.esm.js.map +0 -1
  166. package/dist/getNetworkProviderFromNetworkId-DF9kPibD.native.esm.js.map +0 -1
  167. package/dist/getNetworkProviderFromNetworkId-DueBnAl6.cjs.map +0 -1
  168. package/dist/logoutWithReason-CHyuBHdx.esm.js.map +0 -1
  169. package/dist/logoutWithReason-C_T7KddM.cjs.map +0 -1
  170. package/dist/modules/walletOptionsCatalogue/hasInstalledProvider/hasInstalledProvider.d.ts +0 -18
  171. package/dist/modules/walletOptionsCatalogue/hasInstalledProvider/hasInstalledProvider.d.ts.map +0 -1
  172. package/dist/modules/wallets/connectWallet.types.d.ts +0 -35
  173. package/dist/modules/wallets/connectWallet.types.d.ts.map +0 -1
  174. package/dist/waas-9QajYGeK.native.esm.js.map +0 -1
  175. package/dist/waas-Bxsd0-HG.cjs.map +0 -1
  176. package/dist/waas-T_dHXyI9.esm.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
- const require_logoutWithReason = require('./logoutWithReason-C_T7KddM.cjs');
2
- const require_migrateFromFireblocks = require('./migrateFromFireblocks-C9Kuke5V.cjs');
3
- const require_waas = require('./waas-Bxsd0-HG.cjs');
4
- const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-DueBnAl6.cjs');
5
- const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-Bx0HlvfW.cjs');
6
- const require_isUserOnboardingComplete = require('./isUserOnboardingComplete-7GzNYU2g.cjs');
7
- const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-DnKzPDZk.cjs');
1
+ const require_logoutWithReason = require('./logoutWithReason-B-ZF0VmN.cjs');
2
+ const require_migrateFromFireblocks = require('./migrateFromFireblocks-C23-24bK.cjs');
3
+ const require_waas = require('./waas-C0IDCf3u.cjs');
4
+ const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-DOrcvuFv.cjs');
5
+ const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-Bw5q7QZn.cjs');
6
+ const require_isUserOnboardingComplete = require('./isUserOnboardingComplete-Bwvv6Urs.cjs');
7
+ const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-Djd-jkSl.cjs');
8
8
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
9
9
  let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
10
10
  let zod_mini = require("zod/mini");
@@ -412,13 +412,7 @@ const __refreshUser_impl = refreshUser;
412
412
  const __refreshUser_wrapped = require_logoutWithReason.instrumentFunction({
413
413
  fn: __refreshUser_impl,
414
414
  functionName: "refreshUser",
415
- getCore: () => {
416
- try {
417
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
418
- } catch {
419
- return;
420
- }
421
- }
415
+ getCore: require_logoutWithReason.resolveInstrumentationCore
422
416
  });
423
417
 
424
418
  //#endregion
@@ -609,13 +603,7 @@ const __initializeClient_impl = initializeClient;
609
603
  const __initializeClient_wrapped = require_logoutWithReason.instrumentFunction({
610
604
  fn: __initializeClient_impl,
611
605
  functionName: "initializeClient",
612
- getCore: () => {
613
- try {
614
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
615
- } catch {
616
- return;
617
- }
618
- }
606
+ getCore: require_logoutWithReason.resolveInstrumentationCore
619
607
  });
620
608
 
621
609
  //#endregion
@@ -778,8 +766,9 @@ const LOGS_BASE_URL = "https://logs.dynamicauth.com/api/v1";
778
766
  * synchronous tick are coalesced into one request, avoiding a round-trip per
779
767
  * event.
780
768
  *
781
- * Fetch errors are swallowed to prevent an instrumentation failure from
782
- * triggering another instrumentation event and causing an infinite loop.
769
+ * Fetch and serialization errors are swallowed to prevent an instrumentation
770
+ * failure from triggering another instrumentation event and causing an
771
+ * infinite loop.
783
772
  *
784
773
  * Works in both browser and SSR environments — fetch is injected and
785
774
  * queueMicrotask is available in Node.js >= 11.
@@ -793,11 +782,13 @@ const createDynamicTransport = (params) => {
793
782
  const events = queue.splice(0);
794
783
  if (events.length === 0) return;
795
784
  const url = `${LOGS_BASE_URL}/${params.environmentId}`;
796
- params.fetch(url, {
797
- body: JSON.stringify(events),
798
- headers: { "Content-Type": "application/json" },
799
- method: "POST"
800
- }).catch(() => {});
785
+ try {
786
+ params.fetch(url, {
787
+ body: JSON.stringify(events),
788
+ headers: { "Content-Type": "application/json" },
789
+ method: "POST"
790
+ }).catch(() => {});
791
+ } catch {}
801
792
  };
802
793
  return { log: (event) => {
803
794
  queue.push(event);
@@ -1195,20 +1186,14 @@ const __createDynamicClient_impl = createDynamicClient;
1195
1186
  const __createDynamicClient_wrapped = require_logoutWithReason.instrumentFunction({
1196
1187
  fn: __createDynamicClient_impl,
1197
1188
  functionName: "createDynamicClient",
1198
- getCore: () => {
1199
- try {
1200
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
1201
- } catch {
1202
- return;
1203
- }
1204
- }
1189
+ getCore: require_logoutWithReason.resolveInstrumentationCore
1205
1190
  });
1206
1191
 
1207
1192
  //#endregion
1208
1193
  //#region src/errors/AmbiguousWalletChainError.ts
1209
1194
  /**
1210
1195
  * Thrown when a wallet can be connected on more than one of the client's
1211
- * enabled chains and no chain was passed to `connectWallet`.
1196
+ * enabled chains and no chain was passed to `connectWalletOption`.
1212
1197
  *
1213
1198
  * Multi-chain wallets such as MetaMask or Phantom connect to a different
1214
1199
  * account per chain, so the chain has to be an explicit choice rather than one
@@ -1216,15 +1201,13 @@ const __createDynamicClient_wrapped = require_logoutWithReason.instrumentFunctio
1216
1201
  *
1217
1202
  * @example
1218
1203
  * ```ts
1219
- * try {
1220
- * await connectWallet({ walletKey: 'phantom' });
1221
- * } catch (error) {
1222
- * if (error instanceof AmbiguousWalletChainError) {
1223
- * await connectWallet({ chain: 'SOL', walletKey: 'phantom' });
1224
- * }
1225
- * }
1204
+ * // Throws, since Phantom connects on both SOL and EVM
1205
+ * await connectWalletOption({ walletKey: 'phantom' });
1206
+ *
1207
+ * // Connects the wallet's Solana account
1208
+ * await connectWalletOption({ chain: 'SOL', walletKey: 'phantom' });
1226
1209
  * ```
1227
- * @see connectWallet
1210
+ * @see connectWalletOption
1228
1211
  * @see getWalletOptionsCatalogue
1229
1212
  */
1230
1213
  var AmbiguousWalletChainError = class extends require_logoutWithReason.BaseError {
@@ -1402,6 +1385,48 @@ var CoinbaseTravelRuleRequiredError = class extends require_logoutWithReason.Bas
1402
1385
  }
1403
1386
  };
1404
1387
 
1388
+ //#endregion
1389
+ //#region src/errors/ConnectionUriHandlerMissingError.ts
1390
+ /**
1391
+ * Thrown when the only connection path for a wallet is a URI pairing and no
1392
+ * `onConnectionUri` handler was passed to `connectWalletOption`.
1393
+ *
1394
+ * The pairing URI has to reach the user — as a QR code on desktop, or by opening
1395
+ * the wallet's deeplink on mobile — for the wallet to be able to
1396
+ * approve the connection.
1397
+ *
1398
+ * @example
1399
+ * ```ts
1400
+ * // Throws, since the wallet can only be reached through a URI pairing
1401
+ * await connectWalletOption({ walletKey: 'trust' });
1402
+ *
1403
+ * // Connects, once the user approves the pairing
1404
+ * await connectWalletOption({
1405
+ * onConnectionUri: ({ uri }) => renderQrCode(uri),
1406
+ * walletKey: 'trust',
1407
+ * });
1408
+ * ```
1409
+ * @see connectWalletOption
1410
+ * @see ConnectionUriHandlerParams
1411
+ */
1412
+ var ConnectionUriHandlerMissingError = class extends require_logoutWithReason.BaseError {
1413
+ constructor({ chain, type, walletKey }) {
1414
+ super({
1415
+ cause: null,
1416
+ code: "connection_uri_handler_missing",
1417
+ docsUrl: null,
1418
+ metaMessages: [
1419
+ `Wallet key: ${walletKey}`,
1420
+ `Chain: ${chain}`,
1421
+ `URI connection type: ${type}`,
1422
+ "Pass onConnectionUri to render the pairing URI it hands you as a QR code, or to open it as a link on mobile."
1423
+ ],
1424
+ name: "ConnectionUriHandlerMissingError",
1425
+ shortMessage: `Connecting to ${walletKey} requires a URI pairing, so the onConnectionUri param is required.`
1426
+ });
1427
+ }
1428
+ };
1429
+
1405
1430
  //#endregion
1406
1431
  //#region src/errors/DeeplinkConnectAndVerifyUnsupportedError.ts
1407
1432
  var DeeplinkConnectAndVerifyUnsupportedError = class extends require_logoutWithReason.BaseError {
@@ -1656,14 +1681,14 @@ var NoAddressFoundError = class extends require_logoutWithReason.BaseError {
1656
1681
  * @example
1657
1682
  * ```ts
1658
1683
  * try {
1659
- * await connectWallet({ walletKey: 'rainbow' });
1684
+ * await connectWalletOption({ walletKey: 'rainbow' });
1660
1685
  * } catch (error) {
1661
1686
  * if (error instanceof NoConnectionOptionAvailableError) {
1662
1687
  * promptWalletInstall(error.installationUrls);
1663
1688
  * }
1664
1689
  * }
1665
1690
  * ```
1666
- * @see connectWallet
1691
+ * @see connectWalletOption
1667
1692
  * @see getWalletOptionsCatalogue
1668
1693
  */
1669
1694
  var NoConnectionOptionAvailableError = class extends require_logoutWithReason.BaseError {
@@ -1885,10 +1910,57 @@ var WalletAccountNotSelectedError = class extends require_logoutWithReason.BaseE
1885
1910
  }
1886
1911
  };
1887
1912
 
1913
+ //#endregion
1914
+ //#region src/errors/WalletBrowserRedirectHandlerMissingError.ts
1915
+ /**
1916
+ * Thrown when the connection option resolved for a wallet is its in-app
1917
+ * browser, no `handleWalletBrowserRedirect` handler was passed to
1918
+ * `connectWalletOption`, and there is no current page URL to redirect into
1919
+ * that browser — as on React Native and during server-side rendering.
1920
+ *
1921
+ * That path connects by reloading your app inside the wallet's own browser,
1922
+ * so it needs the URL of the page to reload.
1923
+ *
1924
+ * @example
1925
+ * ```ts
1926
+ * // Throws on React Native, where there is no page URL to reuse
1927
+ * await connectWalletOption({ walletKey: 'coinbase' });
1928
+ *
1929
+ * // Connects, redirecting into the wallet's browser
1930
+ * await connectWalletOption({
1931
+ * handleWalletBrowserRedirect: ({ chain, walletKey }) =>
1932
+ * redirectToInAppBrowser({
1933
+ * appUrl: 'https://mydapp.xyz/login',
1934
+ * chain,
1935
+ * walletKey,
1936
+ * }),
1937
+ * walletKey: 'coinbase',
1938
+ * });
1939
+ * ```
1940
+ * @see connectWalletOption
1941
+ * @see redirectToInAppBrowser
1942
+ */
1943
+ var WalletBrowserRedirectHandlerMissingError = class extends require_logoutWithReason.BaseError {
1944
+ constructor({ chain, walletKey }) {
1945
+ super({
1946
+ cause: null,
1947
+ code: "wallet_browser_redirect_handler_missing",
1948
+ docsUrl: null,
1949
+ metaMessages: [
1950
+ `Wallet key: ${walletKey}`,
1951
+ `Chain: ${chain}`,
1952
+ "Pass handleWalletBrowserRedirect and call redirectToInAppBrowser from it with the URL of the page to reload inside the wallet's browser."
1953
+ ],
1954
+ name: "WalletBrowserRedirectHandlerMissingError",
1955
+ shortMessage: `Connecting to ${walletKey} requires opening its in-app browser, so the handleWalletBrowserRedirect param is required where there is no page URL to redirect.`
1956
+ });
1957
+ }
1958
+ };
1959
+
1888
1960
  //#endregion
1889
1961
  //#region src/errors/WalletOptionNotFoundError.ts
1890
1962
  /**
1891
- * Thrown when `connectWallet` is given a wallet key that no wallet option in
1963
+ * Thrown when `connectWalletOption` is given a wallet key that no wallet option in
1892
1964
  * the catalogue matches.
1893
1965
  *
1894
1966
  * A wallet is only surfaced for the chains this client has an extension for, so
@@ -1898,14 +1970,14 @@ var WalletAccountNotSelectedError = class extends require_logoutWithReason.BaseE
1898
1970
  * @example
1899
1971
  * ```ts
1900
1972
  * try {
1901
- * await connectWallet({ walletKey: 'metmask' });
1973
+ * await connectWalletOption({ walletKey: 'metmask' });
1902
1974
  * } catch (error) {
1903
1975
  * if (error instanceof WalletOptionNotFoundError) {
1904
1976
  * showUnknownWalletMessage();
1905
1977
  * }
1906
1978
  * }
1907
1979
  * ```
1908
- * @see connectWallet
1980
+ * @see connectWalletOption
1909
1981
  * @see getWalletOptionsCatalogue
1910
1982
  */
1911
1983
  var WalletOptionNotFoundError = class extends require_logoutWithReason.BaseError {
@@ -2001,13 +2073,7 @@ const __checkStepUpAuth_impl = checkStepUpAuth;
2001
2073
  const __checkStepUpAuth_wrapped = require_logoutWithReason.instrumentFunction({
2002
2074
  fn: __checkStepUpAuth_impl,
2003
2075
  functionName: "checkStepUpAuth",
2004
- getCore: () => {
2005
- try {
2006
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2007
- } catch {
2008
- return;
2009
- }
2010
- }
2076
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2011
2077
  });
2012
2078
 
2013
2079
  //#endregion
@@ -2047,13 +2113,7 @@ const __requestExternalAuthElevatedToken_impl = requestExternalAuthElevatedToken
2047
2113
  const __requestExternalAuthElevatedToken_wrapped = require_logoutWithReason.instrumentFunction({
2048
2114
  fn: __requestExternalAuthElevatedToken_impl,
2049
2115
  functionName: "requestExternalAuthElevatedToken",
2050
- getCore: () => {
2051
- try {
2052
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2053
- } catch {
2054
- return;
2055
- }
2056
- }
2116
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2057
2117
  });
2058
2118
 
2059
2119
  //#endregion
@@ -2095,13 +2155,7 @@ const __signInWithExternalJwt_impl = signInWithExternalJwt;
2095
2155
  const __signInWithExternalJwt_wrapped = require_logoutWithReason.instrumentFunction({
2096
2156
  fn: __signInWithExternalJwt_impl,
2097
2157
  functionName: "signInWithExternalJwt",
2098
- getCore: () => {
2099
- try {
2100
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2101
- } catch {
2102
- return;
2103
- }
2104
- }
2158
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2105
2159
  });
2106
2160
 
2107
2161
  //#endregion
@@ -2212,13 +2266,7 @@ const __deletePasskey_impl = deletePasskey;
2212
2266
  const __deletePasskey_wrapped = require_logoutWithReason.instrumentFunction({
2213
2267
  fn: __deletePasskey_impl,
2214
2268
  functionName: "deletePasskey",
2215
- getCore: () => {
2216
- try {
2217
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2218
- } catch {
2219
- return;
2220
- }
2221
- }
2269
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2222
2270
  });
2223
2271
 
2224
2272
  //#endregion
@@ -2301,13 +2349,7 @@ const __registerPasskey_impl = registerPasskey;
2301
2349
  const __registerPasskey_wrapped = require_logoutWithReason.instrumentFunction({
2302
2350
  fn: __registerPasskey_impl,
2303
2351
  functionName: "registerPasskey",
2304
- getCore: () => {
2305
- try {
2306
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2307
- } catch {
2308
- return;
2309
- }
2310
- }
2352
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2311
2353
  });
2312
2354
 
2313
2355
  //#endregion
@@ -2374,13 +2416,7 @@ const __signInWithPasskey_impl = signInWithPasskey;
2374
2416
  const __signInWithPasskey_wrapped = require_logoutWithReason.instrumentFunction({
2375
2417
  fn: __signInWithPasskey_impl,
2376
2418
  functionName: "signInWithPasskey",
2377
- getCore: () => {
2378
- try {
2379
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2380
- } catch {
2381
- return;
2382
- }
2383
- }
2419
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2384
2420
  });
2385
2421
 
2386
2422
  //#endregion
@@ -2595,13 +2631,7 @@ const __signInWithSocialRedirect_impl = signInWithSocialRedirect;
2595
2631
  const __signInWithSocialRedirect_wrapped = require_logoutWithReason.instrumentFunction({
2596
2632
  fn: __signInWithSocialRedirect_impl,
2597
2633
  functionName: "signInWithSocialRedirect",
2598
- getCore: () => {
2599
- try {
2600
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2601
- } catch {
2602
- return;
2603
- }
2604
- }
2634
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2605
2635
  });
2606
2636
 
2607
2637
  //#endregion
@@ -2626,13 +2656,7 @@ const __authenticateWithSocial_impl = authenticateWithSocial;
2626
2656
  const __authenticateWithSocial_wrapped = require_logoutWithReason.instrumentFunction({
2627
2657
  fn: __authenticateWithSocial_impl,
2628
2658
  functionName: "authenticateWithSocial",
2629
- getCore: () => {
2630
- try {
2631
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2632
- } catch {
2633
- return;
2634
- }
2635
- }
2659
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2636
2660
  });
2637
2661
 
2638
2662
  //#endregion
@@ -2744,13 +2768,7 @@ const __processSocialCallback_impl = processSocialCallback;
2744
2768
  const __processSocialCallback_wrapped = require_logoutWithReason.instrumentFunction({
2745
2769
  fn: __processSocialCallback_impl,
2746
2770
  functionName: "processSocialCallback",
2747
- getCore: () => {
2748
- try {
2749
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2750
- } catch {
2751
- return;
2752
- }
2753
- }
2771
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2754
2772
  });
2755
2773
 
2756
2774
  //#endregion
@@ -2811,13 +2829,7 @@ const __completeSocialRedirect_impl = completeSocialRedirect;
2811
2829
  const __completeSocialRedirect_wrapped = require_logoutWithReason.instrumentFunction({
2812
2830
  fn: __completeSocialRedirect_impl,
2813
2831
  functionName: "completeSocialRedirect",
2814
- getCore: () => {
2815
- try {
2816
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2817
- } catch {
2818
- return;
2819
- }
2820
- }
2832
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2821
2833
  });
2822
2834
 
2823
2835
  //#endregion
@@ -2834,13 +2846,7 @@ const __completeSocialAuthentication_impl = completeSocialAuthentication;
2834
2846
  const __completeSocialAuthentication_wrapped = require_logoutWithReason.instrumentFunction({
2835
2847
  fn: __completeSocialAuthentication_impl,
2836
2848
  functionName: "completeSocialAuthentication",
2837
- getCore: () => {
2838
- try {
2839
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2840
- } catch {
2841
- return;
2842
- }
2843
- }
2849
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2844
2850
  });
2845
2851
 
2846
2852
  //#endregion
@@ -2909,13 +2915,7 @@ const __signInWithSocialPopUp_impl = signInWithSocialPopUp;
2909
2915
  const __signInWithSocialPopUp_wrapped = require_logoutWithReason.instrumentFunction({
2910
2916
  fn: __signInWithSocialPopUp_impl,
2911
2917
  functionName: "signInWithSocialPopUp",
2912
- getCore: () => {
2913
- try {
2914
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2915
- } catch {
2916
- return;
2917
- }
2918
- }
2918
+ getCore: require_logoutWithReason.resolveInstrumentationCore
2919
2919
  });
2920
2920
 
2921
2921
  //#endregion
@@ -2990,13 +2990,7 @@ const __unlinkSocialAccount_impl = unlinkSocialAccount;
2990
2990
  const __unlinkSocialAccount_wrapped = require_logoutWithReason.instrumentFunction({
2991
2991
  fn: __unlinkSocialAccount_impl,
2992
2992
  functionName: "unlinkSocialAccount",
2993
- getCore: () => {
2994
- try {
2995
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
2996
- } catch {
2997
- return;
2998
- }
2999
- }
2993
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3000
2994
  });
3001
2995
 
3002
2996
  //#endregion
@@ -3253,13 +3247,7 @@ const __attachCheckoutTransactionSource_impl = attachCheckoutTransactionSource;
3253
3247
  const __attachCheckoutTransactionSource_wrapped = require_logoutWithReason.instrumentFunction({
3254
3248
  fn: __attachCheckoutTransactionSource_impl,
3255
3249
  functionName: "attachCheckoutTransactionSource",
3256
- getCore: () => {
3257
- try {
3258
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3259
- } catch {
3260
- return;
3261
- }
3262
- }
3250
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3263
3251
  });
3264
3252
 
3265
3253
  //#endregion
@@ -3295,13 +3283,7 @@ const __broadcastCheckoutTransaction_impl = broadcastCheckoutTransaction;
3295
3283
  const __broadcastCheckoutTransaction_wrapped = require_logoutWithReason.instrumentFunction({
3296
3284
  fn: __broadcastCheckoutTransaction_impl,
3297
3285
  functionName: "broadcastCheckoutTransaction",
3298
- getCore: () => {
3299
- try {
3300
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3301
- } catch {
3302
- return;
3303
- }
3304
- }
3286
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3305
3287
  });
3306
3288
 
3307
3289
  //#endregion
@@ -3334,13 +3316,7 @@ const __cancelCheckoutTransaction_impl = cancelCheckoutTransaction;
3334
3316
  const __cancelCheckoutTransaction_wrapped = require_logoutWithReason.instrumentFunction({
3335
3317
  fn: __cancelCheckoutTransaction_impl,
3336
3318
  functionName: "cancelCheckoutTransaction",
3337
- getCore: () => {
3338
- try {
3339
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3340
- } catch {
3341
- return;
3342
- }
3343
- }
3319
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3344
3320
  });
3345
3321
 
3346
3322
  //#endregion
@@ -3392,13 +3368,7 @@ const __createCheckoutTransaction_impl = createCheckoutTransaction;
3392
3368
  const __createCheckoutTransaction_wrapped = require_logoutWithReason.instrumentFunction({
3393
3369
  fn: __createCheckoutTransaction_impl,
3394
3370
  functionName: "createCheckoutTransaction",
3395
- getCore: () => {
3396
- try {
3397
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3398
- } catch {
3399
- return;
3400
- }
3401
- }
3371
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3402
3372
  });
3403
3373
 
3404
3374
  //#endregion
@@ -3486,13 +3456,7 @@ const __prepareCheckoutTransaction_impl = prepareCheckoutTransaction;
3486
3456
  const __prepareCheckoutTransaction_wrapped = require_logoutWithReason.instrumentFunction({
3487
3457
  fn: __prepareCheckoutTransaction_impl,
3488
3458
  functionName: "prepareCheckoutTransaction",
3489
- getCore: () => {
3490
- try {
3491
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3492
- } catch {
3493
- return;
3494
- }
3495
- }
3459
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3496
3460
  });
3497
3461
 
3498
3462
  //#endregion
@@ -3590,13 +3554,7 @@ const __executeSwapTransaction_impl = executeSwapTransaction;
3590
3554
  const __executeSwapTransaction_wrapped = require_logoutWithReason.instrumentFunction({
3591
3555
  fn: __executeSwapTransaction_impl,
3592
3556
  functionName: "executeSwapTransaction",
3593
- getCore: () => {
3594
- try {
3595
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3596
- } catch {
3597
- return;
3598
- }
3599
- }
3557
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3600
3558
  });
3601
3559
 
3602
3560
  //#endregion
@@ -3639,13 +3597,7 @@ const __submitCheckoutTransaction_impl = submitCheckoutTransaction;
3639
3597
  const __submitCheckoutTransaction_wrapped = require_logoutWithReason.instrumentFunction({
3640
3598
  fn: __submitCheckoutTransaction_impl,
3641
3599
  functionName: "submitCheckoutTransaction",
3642
- getCore: () => {
3643
- try {
3644
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3645
- } catch {
3646
- return;
3647
- }
3648
- }
3600
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3649
3601
  });
3650
3602
 
3651
3603
  //#endregion
@@ -3768,13 +3720,7 @@ const __completeDeviceRegistration_impl = completeDeviceRegistration;
3768
3720
  const __completeDeviceRegistration_wrapped = require_logoutWithReason.instrumentFunction({
3769
3721
  fn: __completeDeviceRegistration_impl,
3770
3722
  functionName: "completeDeviceRegistration",
3771
- getCore: () => {
3772
- try {
3773
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3774
- } catch {
3775
- return;
3776
- }
3777
- }
3723
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3778
3724
  });
3779
3725
 
3780
3726
  //#endregion
@@ -3851,13 +3797,7 @@ const __revokeAllRegisteredDevices_impl = revokeAllRegisteredDevices;
3851
3797
  const __revokeAllRegisteredDevices_wrapped = require_logoutWithReason.instrumentFunction({
3852
3798
  fn: __revokeAllRegisteredDevices_impl,
3853
3799
  functionName: "revokeAllRegisteredDevices",
3854
- getCore: () => {
3855
- try {
3856
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3857
- } catch {
3858
- return;
3859
- }
3860
- }
3800
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3861
3801
  });
3862
3802
 
3863
3803
  //#endregion
@@ -3875,13 +3815,7 @@ const __revokeRegisteredDevice_impl = revokeRegisteredDevice;
3875
3815
  const __revokeRegisteredDevice_wrapped = require_logoutWithReason.instrumentFunction({
3876
3816
  fn: __revokeRegisteredDevice_impl,
3877
3817
  functionName: "revokeRegisteredDevice",
3878
- getCore: () => {
3879
- try {
3880
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
3881
- } catch {
3882
- return;
3883
- }
3884
- }
3818
+ getCore: require_logoutWithReason.resolveInstrumentationCore
3885
3819
  });
3886
3820
 
3887
3821
  //#endregion
@@ -4002,13 +3936,7 @@ const __attachFlowSource_impl = attachFlowSource;
4002
3936
  const __attachFlowSource_wrapped = require_logoutWithReason.instrumentFunction({
4003
3937
  fn: __attachFlowSource_impl,
4004
3938
  functionName: "attachFlowSource",
4005
- getCore: () => {
4006
- try {
4007
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4008
- } catch {
4009
- return;
4010
- }
4011
- },
3939
+ getCore: require_logoutWithReason.resolveInstrumentationCore,
4012
3940
  selectors: attachFlowSourceInstrumentation
4013
3941
  });
4014
3942
 
@@ -4073,13 +4001,7 @@ const __broadcastFlow_impl = broadcastFlow;
4073
4001
  const __broadcastFlow_wrapped = require_logoutWithReason.instrumentFunction({
4074
4002
  fn: __broadcastFlow_impl,
4075
4003
  functionName: "broadcastFlow",
4076
- getCore: () => {
4077
- try {
4078
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4079
- } catch {
4080
- return;
4081
- }
4082
- },
4004
+ getCore: require_logoutWithReason.resolveInstrumentationCore,
4083
4005
  selectors: broadcastFlowInstrumentation
4084
4006
  });
4085
4007
 
@@ -4132,13 +4054,7 @@ const __cancelFlow_impl = cancelFlow;
4132
4054
  const __cancelFlow_wrapped = require_logoutWithReason.instrumentFunction({
4133
4055
  fn: __cancelFlow_impl,
4134
4056
  functionName: "cancelFlow",
4135
- getCore: () => {
4136
- try {
4137
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4138
- } catch {
4139
- return;
4140
- }
4141
- },
4057
+ getCore: require_logoutWithReason.resolveInstrumentationCore,
4142
4058
  selectors: cancelFlowInstrumentation
4143
4059
  });
4144
4060
 
@@ -4255,13 +4171,7 @@ const __prepareFlowSigning_impl = prepareFlowSigning;
4255
4171
  const __prepareFlowSigning_wrapped = require_logoutWithReason.instrumentFunction({
4256
4172
  fn: __prepareFlowSigning_impl,
4257
4173
  functionName: "prepareFlowSigning",
4258
- getCore: () => {
4259
- try {
4260
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4261
- } catch {
4262
- return;
4263
- }
4264
- },
4174
+ getCore: require_logoutWithReason.resolveInstrumentationCore,
4265
4175
  selectors: prepareFlowSigningInstrumentation
4266
4176
  });
4267
4177
 
@@ -4320,13 +4230,7 @@ const __submitFlowTransaction_impl = submitFlowTransaction;
4320
4230
  const __submitFlowTransaction_wrapped = require_logoutWithReason.instrumentFunction({
4321
4231
  fn: __submitFlowTransaction_impl,
4322
4232
  functionName: "submitFlowTransaction",
4323
- getCore: () => {
4324
- try {
4325
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4326
- } catch {
4327
- return;
4328
- }
4329
- },
4233
+ getCore: require_logoutWithReason.resolveInstrumentationCore,
4330
4234
  selectors: submitFlowTransactionInstrumentation
4331
4235
  });
4332
4236
 
@@ -4668,13 +4572,7 @@ const __createCoinbaseOnrampOrder_impl = createCoinbaseOnrampOrder;
4668
4572
  const __createCoinbaseOnrampOrder_wrapped = require_logoutWithReason.instrumentFunction({
4669
4573
  fn: __createCoinbaseOnrampOrder_impl,
4670
4574
  functionName: "createCoinbaseOnrampOrder",
4671
- getCore: () => {
4672
- try {
4673
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4674
- } catch {
4675
- return;
4676
- }
4677
- }
4575
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4678
4576
  });
4679
4577
 
4680
4578
  //#endregion
@@ -4713,7 +4611,7 @@ const assertChainName = (chainName) => {
4713
4611
  * ```
4714
4612
  * @see createCoinbaseExchangeTransfer
4715
4613
  * @see GetCoinbaseAccountsParams
4716
- * @notInstrumented
4614
+ * @instrumented
4717
4615
  */
4718
4616
  const getCoinbaseAccounts = async (params, client = require_logoutWithReason.getDefaultClient()) => {
4719
4617
  const core = require_logoutWithReason.getCore(client);
@@ -4729,6 +4627,12 @@ const getCoinbaseAccounts = async (params, client = require_logoutWithReason.get
4729
4627
  networkId
4730
4628
  });
4731
4629
  };
4630
+ const __getCoinbaseAccounts_impl = getCoinbaseAccounts;
4631
+ const __getCoinbaseAccounts_wrapped = require_logoutWithReason.instrumentFunction({
4632
+ fn: __getCoinbaseAccounts_impl,
4633
+ functionName: "getCoinbaseAccounts",
4634
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4635
+ });
4732
4636
 
4733
4637
  //#endregion
4734
4638
  //#region src/modules/funding/coinbase/getCoinbaseBuyUrl/getCoinbaseBuyUrl.ts
@@ -4738,7 +4642,7 @@ const getCoinbaseAccounts = async (params, client = require_logoutWithReason.get
4738
4642
  * @param buyUrlParams CoinbaseOnrampGetBuyUrlRequest - The parameters for the buy URL.
4739
4643
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
4740
4644
  * @returns an object containing the buy URL
4741
- * @notInstrumented
4645
+ * @instrumented
4742
4646
  */
4743
4647
  const getCoinbaseBuyUrl = async (buyUrlParams, client = require_logoutWithReason.getDefaultClient()) => {
4744
4648
  const core = require_logoutWithReason.getCore(client);
@@ -4747,6 +4651,12 @@ const getCoinbaseBuyUrl = async (buyUrlParams, client = require_logoutWithReason
4747
4651
  environmentId: core.environmentId
4748
4652
  });
4749
4653
  };
4654
+ const __getCoinbaseBuyUrl_impl = getCoinbaseBuyUrl;
4655
+ const __getCoinbaseBuyUrl_wrapped = require_logoutWithReason.instrumentFunction({
4656
+ fn: __getCoinbaseBuyUrl_impl,
4657
+ functionName: "getCoinbaseBuyUrl",
4658
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4659
+ });
4750
4660
 
4751
4661
  //#endregion
4752
4662
  //#region src/modules/funding/cryptoDotCom/createCryptoDotComPayment/createCryptoDotComPayment.ts
@@ -4772,13 +4682,7 @@ const __createCryptoDotComPayment_impl = createCryptoDotComPayment;
4772
4682
  const __createCryptoDotComPayment_wrapped = require_logoutWithReason.instrumentFunction({
4773
4683
  fn: __createCryptoDotComPayment_impl,
4774
4684
  functionName: "createCryptoDotComPayment",
4775
- getCore: () => {
4776
- try {
4777
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4778
- } catch {
4779
- return;
4780
- }
4781
- }
4685
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4782
4686
  });
4783
4687
 
4784
4688
  //#endregion
@@ -4811,7 +4715,7 @@ const createKrakenExchangeTransfer = async (transferParams, client = require_log
4811
4715
  * @param [params] GetKrakenAccountsParams - Optional filters for the accounts.
4812
4716
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
4813
4717
  * @returns Array of Kraken accounts with balances
4814
- * @notInstrumented
4718
+ * @instrumented
4815
4719
  */
4816
4720
  const getKrakenAccounts = async (params, client = require_logoutWithReason.getDefaultClient()) => {
4817
4721
  const core = require_logoutWithReason.getCore(client);
@@ -4822,6 +4726,12 @@ const getKrakenAccounts = async (params, client = require_logoutWithReason.getDe
4822
4726
  networkId: params?.networkId
4823
4727
  });
4824
4728
  };
4729
+ const __getKrakenAccounts_impl = getKrakenAccounts;
4730
+ const __getKrakenAccounts_wrapped = require_logoutWithReason.instrumentFunction({
4731
+ fn: __getKrakenAccounts_impl,
4732
+ functionName: "getKrakenAccounts",
4733
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4734
+ });
4825
4735
 
4826
4736
  //#endregion
4827
4737
  //#region src/modules/funding/kraken/getKrakenWhitelistedAddresses/getKrakenWhitelistedAddresses.ts
@@ -4830,7 +4740,7 @@ const getKrakenAccounts = async (params, client = require_logoutWithReason.getDe
4830
4740
  *
4831
4741
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
4832
4742
  * @returns Transfer destinations response with whitelisted addresses
4833
- * @notInstrumented
4743
+ * @instrumented
4834
4744
  */
4835
4745
  const getKrakenWhitelistedAddresses = async (client = require_logoutWithReason.getDefaultClient()) => {
4836
4746
  const core = require_logoutWithReason.getCore(client);
@@ -4839,6 +4749,12 @@ const getKrakenWhitelistedAddresses = async (client = require_logoutWithReason.g
4839
4749
  exchangeKey: _dynamic_labs_sdk_api_core.ExchangeKeyEnum.Kraken
4840
4750
  });
4841
4751
  };
4752
+ const __getKrakenWhitelistedAddresses_impl = getKrakenWhitelistedAddresses;
4753
+ const __getKrakenWhitelistedAddresses_wrapped = require_logoutWithReason.instrumentFunction({
4754
+ fn: __getKrakenWhitelistedAddresses_impl,
4755
+ functionName: "getKrakenWhitelistedAddresses",
4756
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4757
+ });
4842
4758
 
4843
4759
  //#endregion
4844
4760
  //#region src/modules/funding/moonpay/getMoonPayCurrencies/getMoonPayCurrencies.ts
@@ -4864,13 +4780,7 @@ const __getMoonPayCurrencies_impl = getMoonPayCurrencies;
4864
4780
  const __getMoonPayCurrencies_wrapped = require_logoutWithReason.instrumentFunction({
4865
4781
  fn: __getMoonPayCurrencies_impl,
4866
4782
  functionName: "getMoonPayCurrencies",
4867
- getCore: () => {
4868
- try {
4869
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4870
- } catch {
4871
- return;
4872
- }
4873
- }
4783
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4874
4784
  });
4875
4785
 
4876
4786
  //#endregion
@@ -4940,13 +4850,7 @@ const __getMoonPayUrl_impl = getMoonPayUrl;
4940
4850
  const __getMoonPayUrl_wrapped = require_logoutWithReason.instrumentFunction({
4941
4851
  fn: __getMoonPayUrl_impl,
4942
4852
  functionName: "getMoonPayUrl",
4943
- getCore: () => {
4944
- try {
4945
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4946
- } catch {
4947
- return;
4948
- }
4949
- }
4853
+ getCore: require_logoutWithReason.resolveInstrumentationCore
4950
4854
  });
4951
4855
 
4952
4856
  //#endregion
@@ -4990,13 +4894,7 @@ const __setInstrumentationEnabled_impl = setInstrumentationEnabled;
4990
4894
  const __setInstrumentationEnabled_wrapped = require_logoutWithReason.instrumentFunction({
4991
4895
  fn: __setInstrumentationEnabled_impl,
4992
4896
  functionName: "setInstrumentationEnabled",
4993
- getCore: () => {
4994
- try {
4995
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
4996
- } catch {
4997
- return;
4998
- }
4999
- }
4897
+ getCore: require_logoutWithReason.resolveInstrumentationCore
5000
4898
  });
5001
4899
 
5002
4900
  //#endregion
@@ -5563,13 +5461,7 @@ const __updateUser_impl = updateUser;
5563
5461
  const __updateUser_wrapped = require_logoutWithReason.instrumentFunction({
5564
5462
  fn: __updateUser_impl,
5565
5463
  functionName: "updateUser",
5566
- getCore: () => {
5567
- try {
5568
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
5569
- } catch {
5570
- return;
5571
- }
5572
- }
5464
+ getCore: require_logoutWithReason.resolveInstrumentationCore
5573
5465
  });
5574
5466
 
5575
5467
  //#endregion
@@ -5591,13 +5483,7 @@ const __acknowledgeRecoveryCodes_impl = acknowledgeRecoveryCodes;
5591
5483
  const __acknowledgeRecoveryCodes_wrapped = require_logoutWithReason.instrumentFunction({
5592
5484
  fn: __acknowledgeRecoveryCodes_impl,
5593
5485
  functionName: "acknowledgeRecoveryCodes",
5594
- getCore: () => {
5595
- try {
5596
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
5597
- } catch {
5598
- return;
5599
- }
5600
- }
5486
+ getCore: require_logoutWithReason.resolveInstrumentationCore
5601
5487
  });
5602
5488
 
5603
5489
  //#endregion
@@ -5792,13 +5678,7 @@ const __createNewMfaRecoveryCodes_impl = createNewMfaRecoveryCodes;
5792
5678
  const __createNewMfaRecoveryCodes_wrapped = require_logoutWithReason.instrumentFunction({
5793
5679
  fn: __createNewMfaRecoveryCodes_impl,
5794
5680
  functionName: "createNewMfaRecoveryCodes",
5795
- getCore: () => {
5796
- try {
5797
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
5798
- } catch {
5799
- return;
5800
- }
5801
- }
5681
+ getCore: require_logoutWithReason.resolveInstrumentationCore
5802
5682
  });
5803
5683
 
5804
5684
  //#endregion
@@ -5834,13 +5714,7 @@ const __deleteMfaDevice_impl = deleteMfaDevice;
5834
5714
  const __deleteMfaDevice_wrapped = require_logoutWithReason.instrumentFunction({
5835
5715
  fn: __deleteMfaDevice_impl,
5836
5716
  functionName: "deleteMfaDevice",
5837
- getCore: () => {
5838
- try {
5839
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
5840
- } catch {
5841
- return;
5842
- }
5843
- }
5717
+ getCore: require_logoutWithReason.resolveInstrumentationCore
5844
5718
  });
5845
5719
 
5846
5720
  //#endregion
@@ -5901,13 +5775,7 @@ const __registerTotpMfaDevice_impl = registerTotpMfaDevice;
5901
5775
  const __registerTotpMfaDevice_wrapped = require_logoutWithReason.instrumentFunction({
5902
5776
  fn: __registerTotpMfaDevice_impl,
5903
5777
  functionName: "registerTotpMfaDevice",
5904
- getCore: () => {
5905
- try {
5906
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
5907
- } catch {
5908
- return;
5909
- }
5910
- }
5778
+ getCore: require_logoutWithReason.resolveInstrumentationCore
5911
5779
  });
5912
5780
 
5913
5781
  //#endregion
@@ -5936,13 +5804,7 @@ const __setDefaultMfaDevice_impl = setDefaultMfaDevice;
5936
5804
  const __setDefaultMfaDevice_wrapped = require_logoutWithReason.instrumentFunction({
5937
5805
  fn: __setDefaultMfaDevice_impl,
5938
5806
  functionName: "setDefaultMfaDevice",
5939
- getCore: () => {
5940
- try {
5941
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
5942
- } catch {
5943
- return;
5944
- }
5945
- }
5807
+ getCore: require_logoutWithReason.resolveInstrumentationCore
5946
5808
  });
5947
5809
 
5948
5810
  //#endregion
@@ -5991,13 +5853,7 @@ const __sendEmailOTP_impl = sendEmailOTP;
5991
5853
  const __sendEmailOTP_wrapped = require_logoutWithReason.instrumentFunction({
5992
5854
  fn: __sendEmailOTP_impl,
5993
5855
  functionName: "sendEmailOTP",
5994
- getCore: () => {
5995
- try {
5996
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
5997
- } catch {
5998
- return;
5999
- }
6000
- }
5856
+ getCore: require_logoutWithReason.resolveInstrumentationCore
6001
5857
  });
6002
5858
 
6003
5859
  //#endregion
@@ -6969,13 +6825,7 @@ const __sendSmsOTP_impl = sendSmsOTP;
6969
6825
  const __sendSmsOTP_wrapped = require_logoutWithReason.instrumentFunction({
6970
6826
  fn: __sendSmsOTP_impl,
6971
6827
  functionName: "sendSmsOTP",
6972
- getCore: () => {
6973
- try {
6974
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
6975
- } catch {
6976
- return;
6977
- }
6978
- }
6828
+ getCore: require_logoutWithReason.resolveInstrumentationCore
6979
6829
  });
6980
6830
 
6981
6831
  //#endregion
@@ -7067,13 +6917,7 @@ const __verifyOTP_impl = verifyOTP;
7067
6917
  const __verifyOTP_wrapped = require_logoutWithReason.instrumentFunction({
7068
6918
  fn: __verifyOTP_impl,
7069
6919
  functionName: "verifyOTP",
7070
- getCore: () => {
7071
- try {
7072
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
7073
- } catch {
7074
- return;
7075
- }
7076
- }
6920
+ getCore: require_logoutWithReason.resolveInstrumentationCore
7077
6921
  });
7078
6922
 
7079
6923
  //#endregion
@@ -7211,13 +7055,7 @@ const __deleteUser_impl = deleteUser;
7211
7055
  const __deleteUser_wrapped = require_logoutWithReason.instrumentFunction({
7212
7056
  fn: __deleteUser_impl,
7213
7057
  functionName: "deleteUser",
7214
- getCore: () => {
7215
- try {
7216
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
7217
- } catch {
7218
- return;
7219
- }
7220
- }
7058
+ getCore: require_logoutWithReason.resolveInstrumentationCore
7221
7059
  });
7222
7060
 
7223
7061
  //#endregion
@@ -7360,13 +7198,7 @@ const __getGoogleDriveBackupReadiness_impl = getGoogleDriveBackupReadiness;
7360
7198
  const __getGoogleDriveBackupReadiness_wrapped = require_logoutWithReason.instrumentFunction({
7361
7199
  fn: __getGoogleDriveBackupReadiness_impl,
7362
7200
  functionName: "getGoogleDriveBackupReadiness",
7363
- getCore: () => {
7364
- try {
7365
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
7366
- } catch {
7367
- return;
7368
- }
7369
- }
7201
+ getCore: require_logoutWithReason.resolveInstrumentationCore
7370
7202
  });
7371
7203
 
7372
7204
  //#endregion
@@ -7618,90 +7450,6 @@ const getChainsFromWalletSchema = ({ wallet, walletKey }) => {
7618
7450
  return Array.from(chains);
7619
7451
  };
7620
7452
 
7621
- //#endregion
7622
- //#region src/modules/walletOptionsCatalogue/resolveWalletBookWalletOptionKey/resolveWalletBookWalletOptionKey.ts
7623
- /**
7624
- * Resolves which wallet option (group) a wallet book entry belongs to. Used
7625
- * by the catalogue's wallet-book-driven transformers (URI deeplink,
7626
- * `inAppBrowser`, `installation`) to bucket their emitted options.
7627
- *
7628
- * Wallet book entries inconsistently use `group` / `chainGroup` /
7629
- * `walletGroup` for the same idea. The wallet key itself acts as the wallet
7630
- * option key when no group field is set.
7631
- *
7632
- * @param params.wallet - The wallet entry.
7633
- * @param params.walletKey - The wallet's key in `walletBook.wallets`.
7634
- * @returns The wallet option key.
7635
- * @notInstrumented
7636
- */
7637
- const resolveWalletBookWalletOptionKey = ({ wallet, walletKey }) => wallet.group ?? wallet.chainGroup ?? wallet.walletGroup ?? walletKey;
7638
-
7639
- //#endregion
7640
- //#region src/modules/walletOptionsCatalogue/buildInAppBrowserOptions/getInAppBrowserUrl/getInAppBrowserUrl.ts
7641
- /**
7642
- * Returns the wallet's in-app browser URL template, preferring the v2
7643
- * field. `inAppBrowser` is deprecated but some wallet book entries
7644
- * still carry only the v1 value, so it acts as a fallback. Trailing
7645
- * `?? undefined` collapses the schema's `string | null` typing down to
7646
- * the `string | undefined` return contract.
7647
- *
7648
- * @param params.wallet - The wallet book wallet entry.
7649
- * @returns The in-app browser URL, or `undefined` if neither field is set.
7650
- * @notInstrumented
7651
- */
7652
- const getInAppBrowserUrl = ({ wallet }) => wallet.mobile?.inAppBrowserV2 ?? wallet.mobile?.inAppBrowser ?? void 0;
7653
-
7654
- //#endregion
7655
- //#region src/modules/walletOptionsCatalogue/buildInAppBrowserOptions/buildInAppBrowserOptions.ts
7656
- /**
7657
- * Builds the `inAppBrowser` catalogue options from the wallet book. A wallet
7658
- * qualifies when it exposes a mobile in-app-browser URL — typically a
7659
- * `cb_url={{encodedDappURI}}`-style template the customer fills in with the
7660
- * current page URL before opening.
7661
- *
7662
- * Reuses the generic `shouldFilterWallet` rules — embedded sign-in methods
7663
- * and injected-only wallets are dropped — so the catalogue's notion of
7664
- * "external wallet" stays consistent across option types.
7665
- *
7666
- * A wallet's in-app browser opens a single session, so it emits one option
7667
- * tagged with the first chain it advertises that the client has an
7668
- * extension for — a multi-chain wallet is still reachable when only one of
7669
- * its chains is enabled.
7670
- *
7671
- * @param params.enabledChains - Chains the client has an extension for.
7672
- * @param params.walletBook - The fetched wallet book.
7673
- * @returns Tagged `inAppBrowser` options paired with their wallet option keys.
7674
- * @notInstrumented
7675
- */
7676
- const buildInAppBrowserOptions = ({ enabledChains, walletBook }) => {
7677
- const result = [];
7678
- for (const [walletKey, wallet] of Object.entries(walletBook.wallets)) {
7679
- if (shouldFilterWallet({
7680
- wallet,
7681
- walletKey
7682
- })) continue;
7683
- const url = getInAppBrowserUrl({ wallet });
7684
- if (!url) continue;
7685
- const chain = getChainsFromWalletSchema({
7686
- wallet,
7687
- walletKey
7688
- }).find((advertisedChain) => enabledChains.has(advertisedChain));
7689
- if (!chain) continue;
7690
- result.push({
7691
- option: {
7692
- chain,
7693
- type: "inAppBrowser",
7694
- url
7695
- },
7696
- walletOptionKey: resolveWalletBookWalletOptionKey({
7697
- wallet,
7698
- walletKey
7699
- })
7700
- });
7701
- }
7702
- return result;
7703
- };
7704
-
7705
7453
  //#endregion
7706
7454
  //#region src/modules/walletOptionsCatalogue/buildInstallationUrls/buildInstallationUrls.ts
7707
7455
  const PLAY_STORE_URL_TEMPLATE = "https://play.google.com/store/apps/details?id=";
@@ -7739,6 +7487,24 @@ const buildInstallationUrls = ({ wallet }) => {
7739
7487
  };
7740
7488
  };
7741
7489
 
7490
+ //#endregion
7491
+ //#region src/modules/walletOptionsCatalogue/resolveWalletBookWalletOptionKey/resolveWalletBookWalletOptionKey.ts
7492
+ /**
7493
+ * Resolves which wallet option (group) a wallet book entry belongs to. Used
7494
+ * by the catalogue's wallet-book-driven transformers (URI deeplink,
7495
+ * `inAppBrowser`, `installation`) to bucket their emitted options.
7496
+ *
7497
+ * Wallet book entries inconsistently use `group` / `chainGroup` /
7498
+ * `walletGroup` for the same idea. The wallet key itself acts as the wallet
7499
+ * option key when no group field is set.
7500
+ *
7501
+ * @param params.wallet - The wallet entry.
7502
+ * @param params.walletKey - The wallet's key in `walletBook.wallets`.
7503
+ * @returns The wallet option key.
7504
+ * @notInstrumented
7505
+ */
7506
+ const resolveWalletBookWalletOptionKey = ({ wallet, walletKey }) => wallet.group ?? wallet.chainGroup ?? wallet.walletGroup ?? walletKey;
7507
+
7742
7508
  //#endregion
7743
7509
  //#region src/modules/walletOptionsCatalogue/buildInstallationUrlsByWalletOptionKey/buildInstallationUrlsByWalletOptionKey.ts
7744
7510
  /**
@@ -7792,6 +7558,97 @@ const buildInstallationUrlsByWalletOptionKey = ({ enabledChains, walletBook }) =
7792
7558
  return map;
7793
7559
  };
7794
7560
 
7561
+ //#endregion
7562
+ //#region src/modules/wallets/uriConnectionStarterRegistry/getUriConnectionStarterChains/getUriConnectionStarterChains.ts
7563
+ /**
7564
+ * Returns the chains that have a URI connection starter registered for a
7565
+ * given URI protocol. An empty set means no chain extension can mint a
7566
+ * pairing URI for that protocol, so surfaces driven by it are not
7567
+ * reachable on this client.
7568
+ *
7569
+ * @example
7570
+ * ```ts
7571
+ * const chains = getUriConnectionStarterChains({ type: 'walletConnect' }, client);
7572
+ * ```
7573
+ *
7574
+ * @param params.type - The URI protocol to look up starters for.
7575
+ * @param client - The Dynamic client instance.
7576
+ * @returns The chains with a registered starter for the given protocol.
7577
+ * @see getUriConnectionStarterRegistry
7578
+ * @see UriConnectionType
7579
+ * @notInstrumented
7580
+ */
7581
+ const getUriConnectionStarterChains = ({ type }, client) => {
7582
+ const starters = require_getNetworkProviderFromNetworkId.getUriConnectionStarterRegistry(client).getAll();
7583
+ return new Set(starters.filter((starter) => starter.type === type).map((starter) => starter.chain));
7584
+ };
7585
+
7586
+ //#endregion
7587
+ //#region src/modules/walletOptionsCatalogue/buildInAppBrowserOptions/getInAppBrowserUrl/getInAppBrowserUrl.ts
7588
+ /**
7589
+ * Returns the wallet's in-app browser URL template, preferring the v2
7590
+ * field. `inAppBrowser` is deprecated but some wallet book entries
7591
+ * still carry only the v1 value, so it acts as a fallback. Trailing
7592
+ * `?? undefined` collapses the schema's `string | null` typing down to
7593
+ * the `string | undefined` return contract.
7594
+ *
7595
+ * @param params.wallet - The wallet book wallet entry.
7596
+ * @returns The in-app browser URL, or `undefined` if neither field is set.
7597
+ * @notInstrumented
7598
+ */
7599
+ const getInAppBrowserUrl = ({ wallet }) => wallet.mobile?.inAppBrowserV2 ?? wallet.mobile?.inAppBrowser ?? void 0;
7600
+
7601
+ //#endregion
7602
+ //#region src/modules/walletOptionsCatalogue/buildInAppBrowserOptions/buildInAppBrowserOptions.ts
7603
+ /**
7604
+ * Builds the `inAppBrowser` catalogue options from the wallet book. A wallet
7605
+ * qualifies when it exposes a mobile in-app-browser URL — typically a
7606
+ * `cb_url={{encodedDappURI}}`-style template the customer fills in with the
7607
+ * current page URL before opening.
7608
+ *
7609
+ * Reuses the generic `shouldFilterWallet` rules — embedded sign-in methods
7610
+ * and injected-only wallets are dropped — so the catalogue's notion of
7611
+ * "external wallet" stays consistent across option types.
7612
+ *
7613
+ * A wallet's in-app browser opens a single session, so it emits one option
7614
+ * tagged with the first chain it advertises that the client has an
7615
+ * extension for — a multi-chain wallet is still reachable when only one of
7616
+ * its chains is enabled.
7617
+ *
7618
+ * @param params.enabledChains - Chains the client has an extension for.
7619
+ * @param params.walletBook - The fetched wallet book.
7620
+ * @returns Tagged `inAppBrowser` options paired with their wallet option keys.
7621
+ * @notInstrumented
7622
+ */
7623
+ const buildInAppBrowserOptions = ({ enabledChains, walletBook }) => {
7624
+ const result = [];
7625
+ for (const [walletKey, wallet] of Object.entries(walletBook.wallets)) {
7626
+ if (shouldFilterWallet({
7627
+ wallet,
7628
+ walletKey
7629
+ })) continue;
7630
+ const url = getInAppBrowserUrl({ wallet });
7631
+ if (!url) continue;
7632
+ const chain = getChainsFromWalletSchema({
7633
+ wallet,
7634
+ walletKey
7635
+ }).find((advertisedChain) => enabledChains.has(advertisedChain));
7636
+ if (!chain) continue;
7637
+ result.push({
7638
+ option: {
7639
+ chain,
7640
+ type: "inAppBrowser",
7641
+ url
7642
+ },
7643
+ walletOptionKey: resolveWalletBookWalletOptionKey({
7644
+ wallet,
7645
+ walletKey
7646
+ })
7647
+ });
7648
+ }
7649
+ return result;
7650
+ };
7651
+
7795
7652
  //#endregion
7796
7653
  //#region src/modules/legacyWalletBook/hasUsableDeeplink/hasUsableDeeplink.ts
7797
7654
  /**
@@ -7875,13 +7732,6 @@ const buildMetaMaskSdkUriOptions = ({ walletBook }) => {
7875
7732
  //#endregion
7876
7733
  //#region src/modules/walletOptionsCatalogue/buildWalletConnectOptions/buildWalletConnectOptions.ts
7877
7734
  /**
7878
- * Chains Dynamic ships a WalletConnect extension for. Anything else a
7879
- * wallet book entry advertises (Cosmos, BTC, …) gets filtered out — the
7880
- * catalogue should not surface a chain the SDK has no `connectWithWalletConnect<Chain>`
7881
- * primitive for.
7882
- */
7883
- const WALLETCONNECT_SUPPORTED_CHAINS = new Set(["EVM", "SOL"]);
7884
- /**
7885
7735
  * Builds the `walletConnect`-discriminator catalogue options from a fetched
7886
7736
  * wallet book. Applies the WalletConnect-specific eligibility filter
7887
7737
  * (`shouldFilterWalletForWalletConnect`) so embedded wallets and entries
@@ -7895,11 +7745,15 @@ const WALLETCONNECT_SUPPORTED_CHAINS = new Set(["EVM", "SOL"]);
7895
7745
  * discriminator via `excludedConnectionOptionTypes` doesn't accidentally
7896
7746
  * gate the other.
7897
7747
  *
7748
+ * Chains a wallet book entry advertises without a registered WalletConnect
7749
+ * starter are filtered out.
7750
+ *
7898
7751
  * @param params.walletBook - The fetched wallet book.
7752
+ * @param params.walletConnectChains - Chains with a registered `walletConnect` URI connection starter.
7899
7753
  * @returns Tagged `walletConnect` options paired with their wallet option keys.
7900
7754
  * @notInstrumented
7901
7755
  */
7902
- const buildWalletConnectOptions = ({ walletBook }) => {
7756
+ const buildWalletConnectOptions = ({ walletBook, walletConnectChains }) => {
7903
7757
  const result = [];
7904
7758
  for (const [walletKey, wallet] of Object.entries(walletBook.wallets)) {
7905
7759
  if (shouldFilterWalletForWalletConnect({
@@ -7915,7 +7769,7 @@ const buildWalletConnectOptions = ({ walletBook }) => {
7915
7769
  const chains = getChainsFromWalletSchema({
7916
7770
  wallet,
7917
7771
  walletKey
7918
- }).filter((chain) => WALLETCONNECT_SUPPORTED_CHAINS.has(chain));
7772
+ }).filter((chain) => walletConnectChains.has(chain));
7919
7773
  for (const chain of chains) result.push({
7920
7774
  option: {
7921
7775
  chain,
@@ -7931,6 +7785,108 @@ const buildWalletConnectOptions = ({ walletBook }) => {
7931
7785
  return result;
7932
7786
  };
7933
7787
 
7788
+ //#endregion
7789
+ //#region src/modules/walletOptionsCatalogue/filterConnectionOptionsByEnabledChains/filterConnectionOptionsByEnabledChains.ts
7790
+ /**
7791
+ * Drops options whose chain has no extension on this client. The wallet
7792
+ * book advertises every chain a wallet supports, so options derived from
7793
+ * it have to be narrowed to the chains the client can actually connect
7794
+ * on — otherwise the catalogue surfaces a connection the customer has no
7795
+ * primitive to drive.
7796
+ *
7797
+ * @param params.enabledChains - Chains the client has an extension for.
7798
+ * @param params.options - The tagged options to narrow.
7799
+ * @returns The options on enabled chains, in input order.
7800
+ * @example
7801
+ * ```typescript
7802
+ * filterConnectionOptionsByEnabledChains({
7803
+ * enabledChains: new Set(['EVM']),
7804
+ * options: [evmOption, solOption],
7805
+ * }); // [evmOption]
7806
+ * ```
7807
+ * @see {@link getEnabledChains} for how the enabled chains are derived.
7808
+ * @see {@link getWalletOptionsCatalogue} for the catalogue that applies this filter.
7809
+ * @notInstrumented
7810
+ */
7811
+ const filterConnectionOptionsByEnabledChains = ({ enabledChains, options }) => options.filter(({ option }) => enabledChains.has(option.chain));
7812
+
7813
+ //#endregion
7814
+ //#region src/modules/walletOptionsCatalogue/buildWalletBookConnectionOptions/buildWalletBookConnectionOptions.ts
7815
+ /**
7816
+ * Builds every wallet-book-sourced connection option — WalletConnect,
7817
+ * MetaMask SDK URI and in-app browser — narrowed to the chains this client
7818
+ * has an extension for.
7819
+ *
7820
+ * Each URI-deeplink discriminator has its own builder with its own
7821
+ * eligibility filter (WalletConnect requires `sign_v2`; MetaMask SDK URI
7822
+ * does not), so excluding one discriminator never gates the other.
7823
+ *
7824
+ * WalletConnect options are emitted only on the chains with a registered
7825
+ * `walletConnect` URI connection starter.
7826
+ *
7827
+ * @example
7828
+ * ```ts
7829
+ * const options = buildWalletBookConnectionOptions(
7830
+ * { enabledChains, excludedConnectionOptionTypes: new Set(), walletBook },
7831
+ * client
7832
+ * );
7833
+ * ```
7834
+ *
7835
+ * @param params.enabledChains - Chains the client has an extension for.
7836
+ * @param params.excludedConnectionOptionTypes - Connection types to drop.
7837
+ * @param params.walletBook - The fetched wallet book.
7838
+ * @param client - The Dynamic client instance.
7839
+ * @returns Tagged wallet-book options paired with their wallet option keys.
7840
+ * @see getWalletOptionsCatalogue
7841
+ * @see filterConnectionOptionsByEnabledChains
7842
+ * @notInstrumented
7843
+ */
7844
+ const buildWalletBookConnectionOptions = ({ enabledChains, excludedConnectionOptionTypes, walletBook }, client) => {
7845
+ const options = [];
7846
+ const walletConnectChains = getUriConnectionStarterChains({ type: "walletConnect" }, client);
7847
+ const hasWalletConnectStarter = walletConnectChains.size > 0;
7848
+ if (!excludedConnectionOptionTypes.has("walletConnect") && hasWalletConnectStarter) options.push(...buildWalletConnectOptions({
7849
+ walletBook,
7850
+ walletConnectChains
7851
+ }));
7852
+ if (!excludedConnectionOptionTypes.has("metamaskSdkUri")) options.push(...buildMetaMaskSdkUriOptions({ walletBook }));
7853
+ if (!excludedConnectionOptionTypes.has("inAppBrowser")) options.push(...buildInAppBrowserOptions({
7854
+ enabledChains,
7855
+ walletBook
7856
+ }));
7857
+ return filterConnectionOptionsByEnabledChains({
7858
+ enabledChains,
7859
+ options
7860
+ });
7861
+ };
7862
+
7863
+ //#endregion
7864
+ //#region src/modules/walletOptionsCatalogue/deriveSupportedChains/deriveSupportedChains.ts
7865
+ /**
7866
+ * Derives the chains a wallet option can be connected on from its connection
7867
+ * options, deduped and sorted alphabetically so the order is stable
7868
+ * regardless of how the connection options rank.
7869
+ *
7870
+ * Install-only wallet options have no connection options, so they support no
7871
+ * chain until the wallet is installed.
7872
+ *
7873
+ * @example
7874
+ * ```ts
7875
+ * const supportedChains = deriveSupportedChains({ connectionOptions });
7876
+ * ```
7877
+ *
7878
+ * @param params.connectionOptions - The wallet option's connection options.
7879
+ * @returns The chains supported by the wallet option.
7880
+ * @see buildWalletOption
7881
+ * @see WalletOption
7882
+ * @notInstrumented
7883
+ */
7884
+ const deriveSupportedChains = ({ connectionOptions }) => {
7885
+ const chains = /* @__PURE__ */ new Set();
7886
+ for (const connectionOption of connectionOptions) chains.add(connectionOption.chain);
7887
+ return Array.from(chains).sort((a, b) => a.localeCompare(b));
7888
+ };
7889
+
7934
7890
  //#endregion
7935
7891
  //#region src/modules/walletOptionsCatalogue/buildWalletOption/buildWalletOption.ts
7936
7892
  /**
@@ -7979,7 +7935,8 @@ const buildWalletOption = ({ connectionOptions, displayOverride, installationUrl
7979
7935
  installationUrls,
7980
7936
  key: walletOptionKey,
7981
7937
  name: displayOverride?.name ?? group?.name ?? walletEntry?.name ?? walletOptionKey,
7982
- primaryColor: group?.brand?.primaryColor ?? walletEntry?.brand?.primaryColor
7938
+ primaryColor: group?.brand?.primaryColor ?? walletEntry?.brand?.primaryColor,
7939
+ supportedChains: deriveSupportedChains({ connectionOptions })
7983
7940
  };
7984
7941
  };
7985
7942
 
@@ -8257,38 +8214,13 @@ const buildWithWalletProviderOptions = ({ entries, walletBook }, client) => {
8257
8214
  const EXCLUDED_WALLET_OPTION_KEYS = new Set(["coinbase", "coinbasewallet"]);
8258
8215
 
8259
8216
  //#endregion
8260
- //#region src/modules/walletOptionsCatalogue/filterConnectionOptionsByEnabledChains/filterConnectionOptionsByEnabledChains.ts
8217
+ //#region src/modules/walletOptionsCatalogue/groupOptionsByWalletOption/groupOptionsByWalletOption.ts
8261
8218
  /**
8262
- * Drops options whose chain has no extension on this client. The wallet
8263
- * book advertises every chain a wallet supports, so options derived from
8264
- * it have to be narrowed to the chains the client can actually connect
8265
- * on otherwise the catalogue surfaces a connection the customer has no
8266
- * primitive to drive.
8267
- *
8268
- * @param params.enabledChains - Chains the client has an extension for.
8269
- * @param params.options - The tagged options to narrow.
8270
- * @returns The options on enabled chains, in input order.
8271
- * @example
8272
- * ```typescript
8273
- * filterConnectionOptionsByEnabledChains({
8274
- * enabledChains: new Set(['EVM']),
8275
- * options: [evmOption, solOption],
8276
- * }); // [evmOption]
8277
- * ```
8278
- * @see {@link getEnabledChains} for how the enabled chains are derived.
8279
- * @see {@link getWalletOptionsCatalogue} for the catalogue that applies this filter.
8280
- * @notInstrumented
8281
- */
8282
- const filterConnectionOptionsByEnabledChains = ({ enabledChains, options }) => options.filter(({ option }) => enabledChains.has(option.chain));
8283
-
8284
- //#endregion
8285
- //#region src/modules/walletOptionsCatalogue/groupOptionsByWalletOption/groupOptionsByWalletOption.ts
8286
- /**
8287
- * Buckets tagged connection options by their wallet option key. Preserves
8288
- * first-seen order so that the caller's choice of
8289
- * `walletOptionOrdering: 'relevance'` naturally inherits the upstream input
8290
- * order (wallet book order for walletConnect/inAppBrowser/installation,
8291
- * registry order for withWalletProvider).
8219
+ * Buckets tagged connection options by their wallet option key. Preserves
8220
+ * first-seen order so that the caller's choice of
8221
+ * `walletOptionOrdering: 'relevance'` naturally inherits the upstream input
8222
+ * order (wallet book order for walletConnect/inAppBrowser/installation,
8223
+ * registry order for withWalletProvider).
8292
8224
  *
8293
8225
  * Carries through the first-seen `displayOverride` per wallet option
8294
8226
  * key, so the shell builder can apply provider-announced metadata on
@@ -8444,19 +8376,26 @@ const compareByRelevance = ({ a, b }) => {
8444
8376
  const hasAnyConnectionOption = ({ walletOption }) => walletOption.connectionOptions.length > 0;
8445
8377
 
8446
8378
  //#endregion
8447
- //#region src/modules/walletOptionsCatalogue/hasInstalledProvider/hasInstalledProvider.ts
8379
+ //#region src/modules/walletOptionsCatalogue/isWalletExtensionInstalled/isWalletExtensionInstalled.ts
8448
8380
  /**
8449
- * True when the wallet option has a `withWalletProvider` connection — i.e.
8450
- * the user already has the wallet available in the page (browser extension,
8451
- * Wallet Standard announcement, window injection, or an SDK-backed provider
8452
- * one of our chain extensions registered). `connectionOptions` is
8453
- * pre-sorted, so a registered provider always sits at index 0 when present.
8381
+ * Returns true when the wallet option has any `withWalletProvider` connection
8382
+ * option, meaning the wallet is available in the page through a browser
8383
+ * extension, Wallet Standard announcement, window injection, or an SDK-backed
8384
+ * provider registered by a chain extension.
8454
8385
  *
8386
+ * @description Detects whether a wallet option is available through a provider
8387
+ * registered in the page.
8455
8388
  * @param params.walletOption - The wallet option to inspect.
8456
- * @returns True when an installed provider is available.
8389
+ * @returns True when the wallet is available in the page.
8390
+ * @example
8391
+ * ```ts
8392
+ * const isInstalled = isWalletExtensionInstalled({ walletOption });
8393
+ * ```
8394
+ * @see getWalletOptionsCatalogue
8395
+ * @see WalletOption
8457
8396
  * @notInstrumented
8458
8397
  */
8459
- const hasInstalledProvider = ({ walletOption }) => walletOption.connectionOptions[0]?.type === "withWalletProvider";
8398
+ const isWalletExtensionInstalled = ({ walletOption }) => walletOption.connectionOptions.some(({ type }) => type === "withWalletProvider");
8460
8399
 
8461
8400
  //#endregion
8462
8401
  //#region src/modules/walletOptionsCatalogue/sortWalletOptions/sortWalletOptions.ts
@@ -8469,7 +8408,7 @@ const hasInstalledProvider = ({ walletOption }) => walletOption.connectionOption
8469
8408
  * - `'relevance'` (default): bucket wallet options into three tiers, in
8470
8409
  * this order:
8471
8410
  * 1. **Installed provider** — user already has the wallet available
8472
- * (`withWalletProvider` at index 0).
8411
+ * (any `withWalletProvider` connection option).
8473
8412
  * 2. **Connectable** — has at least one connection (URI deeplink
8474
8413
  * or `inAppBrowser`) but no installed provider.
8475
8414
  * 3. **Install-only** — no connection at all; only `installationUrls`.
@@ -8491,7 +8430,7 @@ const sortWalletOptions = ({ walletOptions, ordering }) => {
8491
8430
  const installed = [];
8492
8431
  const connectable = [];
8493
8432
  const installOnly = [];
8494
- for (const walletOption of walletOptions) if (hasInstalledProvider({ walletOption })) installed.push(walletOption);
8433
+ for (const walletOption of walletOptions) if (isWalletExtensionInstalled({ walletOption })) installed.push(walletOption);
8495
8434
  else if (hasAnyConnectionOption({ walletOption })) connectable.push(walletOption);
8496
8435
  else installOnly.push(walletOption);
8497
8436
  installed.sort((a, b) => compareByRelevance({
@@ -8529,6 +8468,10 @@ const EMPTY_WALLET_BOOK = {
8529
8468
  * client has an extension for — a wallet is only surfaced on chains the
8530
8469
  * customer can actually connect on.
8531
8470
  *
8471
+ * WalletConnect surfaces require a registered `walletConnect` URI
8472
+ * connection starter, so they only appear once a chain extension that can
8473
+ * mint a WalletConnect URI is added to the client.
8474
+ *
8532
8475
  * Pass `excludedConnectionOptionTypes` to drop specific connection types
8533
8476
  * from the catalogue (e.g. `['inAppBrowser']` on desktop). Wallets whose
8534
8477
  * only connection was an excluded type fall through to the install-only
@@ -8553,19 +8496,11 @@ const getWalletOptionsCatalogue = async (params = {}, client = require_logoutWit
8553
8496
  walletBook
8554
8497
  }, client));
8555
8498
  }
8556
- if (includeMobileOptions) {
8557
- const walletBookOptions = [];
8558
- if (!excludedConnectionOptionTypes.has("walletConnect")) walletBookOptions.push(...buildWalletConnectOptions({ walletBook }));
8559
- if (!excludedConnectionOptionTypes.has("metamaskSdkUri")) walletBookOptions.push(...buildMetaMaskSdkUriOptions({ walletBook }));
8560
- if (!excludedConnectionOptionTypes.has("inAppBrowser")) walletBookOptions.push(...buildInAppBrowserOptions({
8561
- enabledChains,
8562
- walletBook
8563
- }));
8564
- allConnectionOptions.push(...filterConnectionOptionsByEnabledChains({
8565
- enabledChains,
8566
- options: walletBookOptions
8567
- }));
8568
- }
8499
+ if (includeMobileOptions) allConnectionOptions.push(...buildWalletBookConnectionOptions({
8500
+ enabledChains,
8501
+ excludedConnectionOptionTypes,
8502
+ walletBook
8503
+ }, client));
8569
8504
  const installationUrlsByKey = includeMobileOptions ? buildInstallationUrlsByWalletOptionKey({
8570
8505
  enabledChains,
8571
8506
  walletBook
@@ -8644,13 +8579,7 @@ const __confirmTransaction_impl = confirmTransaction;
8644
8579
  const __confirmTransaction_wrapped = require_logoutWithReason.instrumentFunction({
8645
8580
  fn: __confirmTransaction_impl,
8646
8581
  functionName: "confirmTransaction",
8647
- getCore: () => {
8648
- try {
8649
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
8650
- } catch {
8651
- return;
8652
- }
8653
- }
8582
+ getCore: require_logoutWithReason.resolveInstrumentationCore
8654
8583
  });
8655
8584
 
8656
8585
  //#endregion
@@ -8744,13 +8673,7 @@ const __connectWithWalletProvider_impl = connectWithWalletProvider;
8744
8673
  const __connectWithWalletProvider_wrapped = require_logoutWithReason.instrumentFunction({
8745
8674
  fn: __connectWithWalletProvider_impl,
8746
8675
  functionName: "connectWithWalletProvider",
8747
- getCore: () => {
8748
- try {
8749
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
8750
- } catch {
8751
- return;
8752
- }
8753
- }
8676
+ getCore: require_logoutWithReason.resolveInstrumentationCore
8754
8677
  });
8755
8678
 
8756
8679
  //#endregion
@@ -8879,13 +8802,7 @@ const __proveWalletAccountOwnership_impl = proveWalletAccountOwnership;
8879
8802
  const __proveWalletAccountOwnership_wrapped = require_logoutWithReason.instrumentFunction({
8880
8803
  fn: __proveWalletAccountOwnership_impl,
8881
8804
  functionName: "proveWalletAccountOwnership",
8882
- getCore: () => {
8883
- try {
8884
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
8885
- } catch {
8886
- return;
8887
- }
8888
- }
8805
+ getCore: require_logoutWithReason.resolveInstrumentationCore
8889
8806
  });
8890
8807
 
8891
8808
  //#endregion
@@ -8995,13 +8912,7 @@ const __verifyWalletAccount_impl = verifyWalletAccount;
8995
8912
  const __verifyWalletAccount_wrapped = require_logoutWithReason.instrumentFunction({
8996
8913
  fn: __verifyWalletAccount_impl,
8997
8914
  functionName: "verifyWalletAccount",
8998
- getCore: () => {
8999
- try {
9000
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9001
- } catch {
9002
- return;
9003
- }
9004
- }
8915
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9005
8916
  });
9006
8917
 
9007
8918
  //#endregion
@@ -9033,46 +8944,479 @@ const isDeeplinkWalletProvider = ({ walletProvider }) => walletProvider.walletPr
9033
8944
  *
9034
8945
  * @example
9035
8946
  * ```ts
9036
- * const walletAccount = await connectAndVerifyWithWalletProvider({
9037
- * walletProviderKey: 'metamaskevm',
8947
+ * const walletAccount = await connectAndVerifyWithWalletProvider({
8948
+ * walletProviderKey: 'metamaskevm',
8949
+ * });
8950
+ * console.log('Verified address:', walletAccount.address);
8951
+ * ```
8952
+ *
8953
+ * @param params.walletProviderKey - The unique key identifying the wallet provider to connect to.
8954
+ * @param [params.hardwareWalletVendor] - The hardware wallet vendor, if connecting via a hardware wallet (e.g. 'ledger').
8955
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
8956
+ * @returns A promise that resolves to the connected and verified wallet account.
8957
+ * @see connectWithWalletProvider
8958
+ * @see verifyWalletAccount
8959
+ * @instrumented
8960
+ */
8961
+ const connectAndVerifyWithWalletProvider = async ({ walletProviderKey, hardwareWalletVendor }, client = require_logoutWithReason.getDefaultClient()) => {
8962
+ const walletProvider = require_getVerifiedCredentialForWalletAccount.getWalletProviderByKey({ walletProviderKey }, client);
8963
+ if (isMobile() && isDeeplinkWalletProvider({ walletProvider })) throw new DeeplinkConnectAndVerifyUnsupportedError({ walletProviderKey });
8964
+ const walletAccount = await __connectWithWalletProvider_wrapped({
8965
+ addToDynamicWalletAccounts: false,
8966
+ hardwareWalletVendor,
8967
+ walletProviderKey
8968
+ }, client);
8969
+ await __verifyWalletAccount_wrapped({ walletAccount }, client);
8970
+ require_getNetworkProviderFromNetworkId.createVisit({
8971
+ authMode: _dynamic_labs_sdk_api_core.AuthModeEnum.AndSign,
8972
+ walletAccount
8973
+ }, client);
8974
+ return walletAccount;
8975
+ };
8976
+ const __connectAndVerifyWithWalletProvider_impl = connectAndVerifyWithWalletProvider;
8977
+ const __connectAndVerifyWithWalletProvider_wrapped = require_logoutWithReason.instrumentFunction({
8978
+ fn: __connectAndVerifyWithWalletProvider_impl,
8979
+ functionName: "connectAndVerifyWithWalletProvider",
8980
+ getCore: require_logoutWithReason.resolveInstrumentationCore
8981
+ });
8982
+
8983
+ //#endregion
8984
+ //#region src/utils/appendConnectionUriToDeeplink/appendConnectionUriToDeeplink.ts
8985
+ /**
8986
+ * Appends a wallet connection URI to a deeplink URL.
8987
+ *
8988
+ * Generic across URI-deeplink connection options — works for both
8989
+ * WalletConnect pairing URIs and MetaMask SDK URIs. Determines the
8990
+ * appropriate query parameter separator based on whether the deeplink
8991
+ * already contains query parameters.
8992
+ *
8993
+ * @param params.deeplinkUrl - The base deeplink URL (e.g., `walletapp://wc` or `walletapp://wc?param=value`).
8994
+ * @param params.connectionUri - The connection URI to append.
8995
+ * @returns The deeplink URL with the connection URI appended as a query parameter.
8996
+ *
8997
+ * @example
8998
+ * ```ts
8999
+ * appendConnectionUriToDeeplink({ deeplinkUrl: 'walletapp://wc', connectionUri: 'wc:123-456' })
9000
+ * // Returns: 'walletapp://wc?uri=wc%3A123-456'
9001
+ *
9002
+ * appendConnectionUriToDeeplink({ deeplinkUrl: 'walletapp://wc?param=value', connectionUri: 'wc:123-456' })
9003
+ * // Returns: 'walletapp://wc?param=value&uri=wc%3A123-456'
9004
+ * ```
9005
+ * @notInstrumented
9006
+ */
9007
+ const appendConnectionUriToDeeplink = ({ connectionUri, deeplinkUrl }) => {
9008
+ const url = new URL(deeplinkUrl);
9009
+ url.searchParams.set("uri", connectionUri);
9010
+ return url.href;
9011
+ };
9012
+
9013
+ //#endregion
9014
+ //#region src/utils/getPreferredWalletDeepLink/getPreferredWalletDeepLink.ts
9015
+ /**
9016
+ * Picks the most appropriate deep link variant for the current platform.
9017
+ *
9018
+ * Mobile (Android, iOS, tablets) prefers `native` because the OS treats
9019
+ * custom URL schemes as first-class app links and gives the wallet a faster
9020
+ * round-trip back to the dApp. Desktop prefers `universal` because browsers
9021
+ * cannot resolve mobile-only custom schemes and need an `https://` link
9022
+ * that opens the wallet's web flow.
9023
+ *
9024
+ * In either case, the alternative is used as a fallback when the preferred
9025
+ * variant is missing. Returns `undefined` only when both variants are
9026
+ * absent.
9027
+ *
9028
+ * @example
9029
+ * ```ts
9030
+ * const deepLink = getPreferredWalletDeepLink({
9031
+ * deeplinks: wallet.deeplinks,
9032
+ * });
9033
+ * ```
9034
+ *
9035
+ * @param params.deeplinks - The deep link variants for a wallet (typically `WalletConnectCatalogWallet.deeplinks`).
9036
+ * @returns The preferred deep link URL, or `undefined` if neither variant is available.
9037
+ * @see appendConnectionUriToDeeplink
9038
+ * @see getConnectionUriDeeplink
9039
+ * @notInstrumented
9040
+ */
9041
+ const getPreferredWalletDeepLink = ({ deeplinks }) => {
9042
+ const { native, universal } = deeplinks;
9043
+ if (isMobile()) return native ?? universal;
9044
+ return universal ?? native;
9045
+ };
9046
+
9047
+ //#endregion
9048
+ //#region src/modules/wallets/connectWithUriConnectionOption/getConnectionUriDeeplink/getConnectionUriDeeplink.ts
9049
+ /**
9050
+ * Builds the single deeplink that hands a pairing URI to the wallet, picking
9051
+ * the shape the URI's protocol expects.
9052
+ *
9053
+ * A WalletConnect URI travels as the `uri` query parameter of the wallet's own
9054
+ * deeplink, whereas the MetaMask SDK mints a launch link that already targets
9055
+ * MetaMask, so it is handed over untouched.
9056
+ *
9057
+ * @example
9058
+ * ```ts
9059
+ * const deeplink = getConnectionUriDeeplink({
9060
+ * deeplinks: connectionOption.deeplinks,
9061
+ * type: connectionOption.type,
9062
+ * uri,
9063
+ * });
9064
+ * ```
9065
+ *
9066
+ * @param params.deeplinks - The wallet's deeplink variants, as carried by the wallet book.
9067
+ * @param params.type - The URI connection type that minted the URI.
9068
+ * @param params.uri - The pairing URI.
9069
+ * @returns The deeplink to open, or `undefined` when the wallet publishes no deeplink to carry the URI.
9070
+ * @see getPreferredWalletDeepLink
9071
+ * @see appendConnectionUriToDeeplink
9072
+ * @notInstrumented
9073
+ */
9074
+ const getConnectionUriDeeplink = ({ deeplinks, type, uri }) => {
9075
+ if (type === "metamaskSdkUri") return uri;
9076
+ const deeplinkUrl = getPreferredWalletDeepLink({ deeplinks });
9077
+ if (!deeplinkUrl) return;
9078
+ return appendConnectionUriToDeeplink({
9079
+ connectionUri: uri,
9080
+ deeplinkUrl
9081
+ });
9082
+ };
9083
+
9084
+ //#endregion
9085
+ //#region src/modules/wallets/connectWithUriConnectionOption/connectWithUriConnectionOption.ts
9086
+ /**
9087
+ * Connects to a wallet through a URI pairing and returns the connected wallet
9088
+ * account.
9089
+ *
9090
+ * Mints the pairing URI with the starter the chain extension registered for
9091
+ * the option's chain and URI type, hands it to `onConnectionUri` as the
9092
+ * wallet's deeplink carrying the pairing so the customer can render a QR code
9093
+ * or open the wallet app, then waits for the user to approve the pairing on
9094
+ * the wallet side.
9095
+ *
9096
+ * The handler is awaited, so an async handler that fails to open the wallet
9097
+ * rejects the connection rather than letting the pairing resolve into an
9098
+ * account nobody asked for.
9099
+ *
9100
+ * @example
9101
+ * ```ts
9102
+ * const walletAccount = await connectWithUriConnectionOption(
9103
+ * {
9104
+ * addToDynamicWalletAccounts: true,
9105
+ * connectionOption,
9106
+ * onConnectionUri: ({ uri }) => renderQrCode(uri),
9107
+ * walletKey: 'trust',
9108
+ * },
9109
+ * client
9110
+ * );
9111
+ * ```
9112
+ *
9113
+ * @param params.addToDynamicWalletAccounts - Whether the connected wallet account should be added to the client's wallet accounts.
9114
+ * @param params.connectionOption - The URI deeplink connection option to drive.
9115
+ * @param params.onConnectionUri - Called with the pairing URI once it is minted. Awaited before the approval is waited on.
9116
+ * @param params.walletKey - The wallet being connected, keyed as in the wallet options catalogue.
9117
+ * @param client - The Dynamic client instance.
9118
+ * @returns A promise that resolves to the connected wallet account.
9119
+ * @throws ConnectionUriHandlerMissingError If no onConnectionUri handler was passed.
9120
+ * @throws NoConnectionOptionAvailableError If no URI connection starter is registered for the option's chain and type.
9121
+ * @throws NoAddressFoundError If the pairing was approved but no address was shared with your app.
9122
+ * @see getUriConnectionStarterRegistry
9123
+ * @see getWalletOptionsCatalogue
9124
+ * @notInstrumented
9125
+ */
9126
+ const connectWithUriConnectionOption = async ({ addToDynamicWalletAccounts, connectionOption, onConnectionUri, walletKey }, client) => {
9127
+ const { chain, deeplinks, type } = connectionOption;
9128
+ if (!onConnectionUri) throw new ConnectionUriHandlerMissingError({
9129
+ chain,
9130
+ type,
9131
+ walletKey
9132
+ });
9133
+ const starter = require_getNetworkProviderFromNetworkId.getUriConnectionStarterRegistry(client).get({
9134
+ chain,
9135
+ type
9136
+ });
9137
+ if (!starter) throw new NoConnectionOptionAvailableError({
9138
+ chain,
9139
+ walletKey
9140
+ });
9141
+ const { approval, uri } = await starter.start({ addToDynamicWalletAccounts });
9142
+ const walletAccountsPromise = approval();
9143
+ walletAccountsPromise.catch(() => void 0);
9144
+ await onConnectionUri({ uri: getConnectionUriDeeplink({
9145
+ deeplinks,
9146
+ type,
9147
+ uri
9148
+ }) ?? uri });
9149
+ const { walletAccounts } = await walletAccountsPromise;
9150
+ const [walletAccount] = walletAccounts;
9151
+ if (!walletAccount) throw new NoAddressFoundError();
9152
+ return walletAccount;
9153
+ };
9154
+
9155
+ //#endregion
9156
+ //#region src/utils/buildInAppBrowserUrl/buildInAppBrowserUrl.ts
9157
+ /**
9158
+ * Placeholder the wallet book leaves in in-app-browser URLs for the app URL
9159
+ * the wallet should open.
9160
+ */
9161
+ const DAPP_URL_PLACEHOLDER = "{{encodedDappURI}}";
9162
+ /**
9163
+ * Fills a wallet's in-app-browser URL template with the app URL to open.
9164
+ *
9165
+ * Wallet book entries carry the entry point as a template (e.g.
9166
+ * `https://go.base.app/dapp?cb_url={{encodedDappURI}}`), so the URL is only
9167
+ * usable once every occurrence of the placeholder is substituted in,
9168
+ * percent-encoded. Templates without the placeholder are returned untouched —
9169
+ * some wallets open a fixed landing page.
9170
+ *
9171
+ * @example
9172
+ * ```ts
9173
+ * buildInAppBrowserUrl({
9174
+ * appUrl: 'https://myapp.xyz/login',
9175
+ * inAppBrowserUrl: 'https://go.base.app/dapp?cb_url={{encodedDappURI}}',
9176
+ * });
9177
+ * // Returns: 'https://go.base.app/dapp?cb_url=https%3A%2F%2Fmyapp.xyz%2Flogin'
9178
+ * ```
9179
+ *
9180
+ * @param params.appUrl - The URL of your app for the wallet's browser to open.
9181
+ * @param params.inAppBrowserUrl - The wallet's in-app-browser URL template.
9182
+ * @returns The in-app-browser URL to open.
9183
+ * @see redirectToInAppBrowser
9184
+ * @see getWalletOptionsCatalogue
9185
+ * @notInstrumented
9186
+ */
9187
+ const buildInAppBrowserUrl = ({ appUrl, inAppBrowserUrl }) => inAppBrowserUrl.replaceAll(DAPP_URL_PLACEHOLDER, encodeURIComponent(appUrl));
9188
+
9189
+ //#endregion
9190
+ //#region src/modules/wallets/redirectToInAppBrowser/redirectToInAppBrowser.ts
9191
+ /**
9192
+ * Leaves your app for a wallet's in-app browser, which reloads `appUrl`
9193
+ * inside it.
9194
+ *
9195
+ * Call this from `handleWalletBrowserRedirect` with the URL of the page the
9196
+ * wallet should reload. The wallet's in-app-browser entry point is read from
9197
+ * the wallet options catalogue, so you only need the wallet's key. The wallet
9198
+ * is only injected on that reload, so the connection is made on the next page
9199
+ * load rather than in the current one.
9200
+ *
9201
+ * @example
9202
+ * ```ts
9203
+ * await connectWalletOption({
9204
+ * handleWalletBrowserRedirect: ({ chain, walletKey }) =>
9205
+ * redirectToInAppBrowser({ appUrl: window.location.href, chain, walletKey }),
9206
+ * walletKey: 'coinbase',
9207
+ * });
9208
+ * ```
9209
+ *
9210
+ * @param params.appUrl - The URL of your app for the wallet's browser to open.
9211
+ * @param params.walletKey - The wallet to open, keyed as in the wallet options catalogue.
9212
+ * @param [params.chain] - The chain to open the wallet's browser for. Required only when the wallet exposes an in-app browser on more than one enabled chain.
9213
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
9214
+ * @returns A promise that resolves once the redirect is triggered.
9215
+ * @throws WalletOptionNotFoundError If no wallet option matches the key.
9216
+ * @throws NoConnectionOptionAvailableError If the wallet exposes no in-app browser on the requested chain.
9217
+ * @throws AmbiguousWalletChainError If the wallet exposes an in-app browser on more than one chain and no chain was passed.
9218
+ * @throws UnsafeDeeplinkUrlError If the wallet's in-app-browser URL has a scheme that can execute script.
9219
+ * @see connectWalletOption
9220
+ * @see WalletBrowserRedirectHandlerParams
9221
+ * @instrumented
9222
+ */
9223
+ const redirectToInAppBrowser = async ({ appUrl, chain, walletKey }, client = require_logoutWithReason.getDefaultClient()) => {
9224
+ const walletOption = (await getWalletOptionsCatalogue({ includeMobileOptions: true }, client)).find(({ key }) => key === walletKey);
9225
+ if (!walletOption) throw new WalletOptionNotFoundError({ walletKey });
9226
+ const inAppBrowserOptions = walletOption.connectionOptions.filter((option) => option.type === "inAppBrowser" && (!chain || option.chain === chain));
9227
+ if (inAppBrowserOptions.length === 0) throw new NoConnectionOptionAvailableError({
9228
+ chain,
9229
+ installationUrls: walletOption.installationUrls,
9230
+ walletKey
9231
+ });
9232
+ const availableChains = [...new Set(inAppBrowserOptions.map((option) => option.chain))];
9233
+ if (!chain && availableChains.length > 1) throw new AmbiguousWalletChainError({
9234
+ chains: availableChains,
9235
+ walletKey
9236
+ });
9237
+ const [inAppBrowserOption] = inAppBrowserOptions;
9238
+ const urlToOpen = buildInAppBrowserUrl({
9239
+ appUrl,
9240
+ inAppBrowserUrl: inAppBrowserOption.url
9241
+ });
9242
+ require_getNetworkProviderFromNetworkId.assertSafeDeeplinkUrl(urlToOpen);
9243
+ await require_logoutWithReason.getCore(client).openDeeplink(urlToOpen);
9244
+ };
9245
+ const __redirectToInAppBrowser_impl = redirectToInAppBrowser;
9246
+ const __redirectToInAppBrowser_wrapped = require_logoutWithReason.instrumentFunction({
9247
+ fn: __redirectToInAppBrowser_impl,
9248
+ functionName: "redirectToInAppBrowser",
9249
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9250
+ });
9251
+
9252
+ //#endregion
9253
+ //#region src/modules/wallets/resolveWalletConnectionOption/resolveWalletConnectionOption.ts
9254
+ /**
9255
+ * Picks the connection option `connectWalletOption` should drive for a wallet.
9256
+ *
9257
+ * Reads the wallet options catalogue, keeps the options this client can
9258
+ * actually drive — a registered wallet provider, an in-app-browser entry, or
9259
+ * a URI pairing whose starter a chain extension has registered — and returns
9260
+ * the best one by the catalogue's ordering.
9261
+ *
9262
+ * @example
9263
+ * ```ts
9264
+ * const connectionOption = await resolveWalletConnectionOption(
9265
+ * { walletKey: 'metamask' },
9266
+ * client
9267
+ * );
9268
+ * ```
9269
+ *
9270
+ * @param params.walletKey - The wallet to connect, keyed as in the wallet options catalogue.
9271
+ * @param [params.chain] - The chain to connect on. Required only when the wallet resolves on more than one enabled chain.
9272
+ * @param client - The Dynamic client instance.
9273
+ * @returns A promise that resolves to the connection option to drive.
9274
+ * @throws WalletOptionNotFoundError If no wallet option matches the key.
9275
+ * @throws AmbiguousWalletChainError If the wallet resolves on more than one chain and no chain was passed.
9276
+ * @throws NoConnectionOptionAvailableError If the wallet has no connection option this client can drive on the requested chain.
9277
+ * @see connectWalletOption
9278
+ * @see getWalletOptionsCatalogue
9279
+ * @notInstrumented
9280
+ */
9281
+ const resolveWalletConnectionOption = async ({ walletKey, chain }, client) => {
9282
+ const walletOption = (await getWalletOptionsCatalogue({ includeMobileOptions: true }, client)).find(({ key }) => key === walletKey);
9283
+ if (!walletOption) throw new WalletOptionNotFoundError({ walletKey });
9284
+ const uriConnectionStarterRegistry = require_getNetworkProviderFromNetworkId.getUriConnectionStarterRegistry(client);
9285
+ const availableOptions = walletOption.connectionOptions.filter((option) => !chain || option.chain === chain).filter((option) => {
9286
+ if (option.type !== "walletConnect" && option.type !== "metamaskSdkUri") return true;
9287
+ const starter = uriConnectionStarterRegistry.get({
9288
+ chain: option.chain,
9289
+ type: option.type
9290
+ });
9291
+ return Boolean(starter);
9292
+ });
9293
+ if (availableOptions.length === 0) throw new NoConnectionOptionAvailableError({
9294
+ chain,
9295
+ installationUrls: walletOption.installationUrls,
9296
+ walletKey
9297
+ });
9298
+ const availableChains = [...new Set(availableOptions.map((option) => option.chain))];
9299
+ if (!chain && availableChains.length > 1) throw new AmbiguousWalletChainError({
9300
+ chains: availableChains,
9301
+ walletKey
9302
+ });
9303
+ const [connectionOption] = availableOptions;
9304
+ return connectionOption;
9305
+ };
9306
+
9307
+ //#endregion
9308
+ //#region src/utils/getCurrentPageUrl/getCurrentPageUrl.ts
9309
+ /**
9310
+ * Returns the URL of the page the app is running in.
9311
+ *
9312
+ * @example
9313
+ * ```ts
9314
+ * const appUrl = getCurrentPageUrl() ?? 'https://mydapp.xyz';
9315
+ * ```
9316
+ *
9317
+ * @returns The current page URL, or null where there is no page to read it from, such as on React Native and during server-side rendering.
9318
+ * @see isServerSideRendering
9319
+ * @see redirectToInAppBrowser
9320
+ * @notInstrumented
9321
+ */
9322
+ const getCurrentPageUrl = () => {
9323
+ if (typeof window === "undefined") return null;
9324
+ const href = window.location?.href;
9325
+ if (typeof href !== "string") return null;
9326
+ return href;
9327
+ };
9328
+
9329
+ //#endregion
9330
+ //#region src/highLevelFunctions/connectWalletOption/connectWalletOption.ts
9331
+ /**
9332
+ * Connects to an external wallet by its wallet options catalogue key and
9333
+ * returns the connected wallet account.
9334
+ *
9335
+ * Picks the connection path for the wallet so the customer does not have to:
9336
+ * a registered wallet provider when the user has the wallet installed,
9337
+ * otherwise a URI pairing (WalletConnect or the MetaMask SDK), with the
9338
+ * pairing URI handed to `onConnectionUri` while the returned promise waits for
9339
+ * the user to approve on the wallet side.
9340
+ *
9341
+ * Wallets that can only be reached through their own in-app browser — no
9342
+ * extension, no URI pairing — resolve to a redirect instead: the wallet and
9343
+ * chain are handed to `handleWalletBrowserRedirect`, which leaves for that
9344
+ * browser with `redirectToInAppBrowser`. Without that handler, the current
9345
+ * page is redirected into the wallet's browser directly, so the handler is
9346
+ * only needed to pick a different page to come back to, or where there is no
9347
+ * page URL to reuse (React Native, server-side rendering). The returned
9348
+ * promise never settles either way, since the connection completes on the
9349
+ * next page load inside the wallet's browser.
9350
+ *
9351
+ * Note: This function does not verify the wallet account — use
9352
+ * `verifyWalletAccount` afterwards to link it to the user.
9353
+ *
9354
+ * @example
9355
+ * ```ts
9356
+ * const walletAccount = await connectWalletOption({
9357
+ * handleWalletBrowserRedirect: ({ chain, walletKey }) =>
9358
+ * redirectToInAppBrowser({ appUrl: 'https://mydapp.xyz', chain, walletKey }),
9359
+ * onConnectionUri: ({ uri }) => renderQrCode(uri),
9360
+ * walletKey: 'metamask',
9038
9361
  * });
9039
- * console.log('Verified address:', walletAccount.address);
9362
+ * console.log(walletAccount.address);
9040
9363
  * ```
9041
9364
  *
9042
- * @param params.walletProviderKey - The unique key identifying the wallet provider to connect to.
9043
- * @param [params.hardwareWalletVendor] - The hardware wallet vendor, if connecting via a hardware wallet (e.g. 'ledger').
9365
+ * @param params.walletKey - The wallet to connect, keyed as in the wallet options catalogue (e.g. 'metamask', 'phantom').
9366
+ * @param [params.chain] - The chain to connect on. Required only when the wallet resolves on more than one enabled chain.
9367
+ * @param [params.onConnectionUri] - Called with the pairing URI when the connection runs through a URI pairing.
9368
+ * @param [params.handleWalletBrowserRedirect] - Called with the wallet and chain when the wallet can only be connected through its own in-app browser. Defaults to redirecting the current page into that browser.
9044
9369
  * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
9045
- * @returns A promise that resolves to the connected and verified wallet account.
9046
- * @see connectWithWalletProvider
9370
+ * @returns A promise that resolves to the connected wallet account, or that never settles on the in-app-browser path.
9371
+ * @throws WalletOptionNotFoundError If no wallet option matches the key.
9372
+ * @throws AmbiguousWalletChainError If the wallet resolves on more than one chain and no chain was passed.
9373
+ * @throws NoConnectionOptionAvailableError If the wallet has no connection option this client can drive on the requested chain.
9374
+ * @throws ConnectionUriHandlerMissingError If the wallet resolves to a URI pairing and no onConnectionUri handler was passed.
9375
+ * @throws WalletBrowserRedirectHandlerMissingError If the wallet resolves to its in-app browser, no handleWalletBrowserRedirect handler was passed, and there is no current page URL to redirect.
9376
+ * @throws UnsafeDeeplinkUrlError If the wallet's in-app-browser URL has a scheme that can execute script.
9047
9377
  * @see verifyWalletAccount
9378
+ * @see redirectToInAppBrowser
9379
+ * @see getWalletOptionsCatalogue
9048
9380
  * @instrumented
9049
9381
  */
9050
- const connectAndVerifyWithWalletProvider = async ({ walletProviderKey, hardwareWalletVendor }, client = require_logoutWithReason.getDefaultClient()) => {
9051
- const walletProvider = require_getVerifiedCredentialForWalletAccount.getWalletProviderByKey({ walletProviderKey }, client);
9052
- if (isMobile() && isDeeplinkWalletProvider({ walletProvider })) throw new DeeplinkConnectAndVerifyUnsupportedError({ walletProviderKey });
9053
- const walletAccount = await __connectWithWalletProvider_wrapped({
9054
- addToDynamicWalletAccounts: false,
9055
- hardwareWalletVendor,
9056
- walletProviderKey
9057
- }, client);
9058
- await __verifyWalletAccount_wrapped({ walletAccount }, client);
9059
- require_getNetworkProviderFromNetworkId.createVisit({
9060
- authMode: _dynamic_labs_sdk_api_core.AuthModeEnum.AndSign,
9061
- walletAccount
9382
+ const connectWalletOption = async ({ walletKey, chain, handleWalletBrowserRedirect, onConnectionUri }, client = require_logoutWithReason.getDefaultClient()) => {
9383
+ const connectionOption = await resolveWalletConnectionOption({
9384
+ chain,
9385
+ walletKey
9062
9386
  }, client);
9063
- return walletAccount;
9064
- };
9065
- const __connectAndVerifyWithWalletProvider_impl = connectAndVerifyWithWalletProvider;
9066
- const __connectAndVerifyWithWalletProvider_wrapped = require_logoutWithReason.instrumentFunction({
9067
- fn: __connectAndVerifyWithWalletProvider_impl,
9068
- functionName: "connectAndVerifyWithWalletProvider",
9069
- getCore: () => {
9070
- try {
9071
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9072
- } catch {
9073
- return;
9387
+ if (connectionOption.type === "withWalletProvider") return __connectWithWalletProvider_wrapped({ walletProviderKey: connectionOption.walletProviderKey }, client);
9388
+ if (connectionOption.type === "inAppBrowser") {
9389
+ const { chain: inAppBrowserChain } = connectionOption;
9390
+ if (handleWalletBrowserRedirect) handleWalletBrowserRedirect({
9391
+ chain: inAppBrowserChain,
9392
+ walletKey
9393
+ });
9394
+ else {
9395
+ const currentPageUrl = getCurrentPageUrl();
9396
+ if (!currentPageUrl) throw new WalletBrowserRedirectHandlerMissingError({
9397
+ chain: inAppBrowserChain,
9398
+ walletKey
9399
+ });
9400
+ await __redirectToInAppBrowser_wrapped({
9401
+ appUrl: currentPageUrl,
9402
+ chain: inAppBrowserChain,
9403
+ walletKey
9404
+ }, client);
9074
9405
  }
9406
+ return new Promise(() => void 0);
9075
9407
  }
9408
+ return connectWithUriConnectionOption({
9409
+ addToDynamicWalletAccounts: true,
9410
+ connectionOption,
9411
+ onConnectionUri,
9412
+ walletKey
9413
+ }, client);
9414
+ };
9415
+ const __connectWalletOption_impl = connectWalletOption;
9416
+ const __connectWalletOption_wrapped = require_logoutWithReason.instrumentFunction({
9417
+ fn: __connectWalletOption_impl,
9418
+ functionName: "connectWalletOption",
9419
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9076
9420
  });
9077
9421
 
9078
9422
  //#endregion
@@ -9294,13 +9638,7 @@ const __addNetwork_impl = addNetwork;
9294
9638
  const __addNetwork_wrapped = require_logoutWithReason.instrumentFunction({
9295
9639
  fn: __addNetwork_impl,
9296
9640
  functionName: "addNetwork",
9297
- getCore: () => {
9298
- try {
9299
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9300
- } catch {
9301
- return;
9302
- }
9303
- }
9641
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9304
9642
  });
9305
9643
 
9306
9644
  //#endregion
@@ -9502,13 +9840,7 @@ const __switchActiveNetwork_impl = switchActiveNetwork;
9502
9840
  const __switchActiveNetwork_wrapped = require_logoutWithReason.instrumentFunction({
9503
9841
  fn: __switchActiveNetwork_impl,
9504
9842
  functionName: "switchActiveNetwork",
9505
- getCore: () => {
9506
- try {
9507
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9508
- } catch {
9509
- return;
9510
- }
9511
- }
9843
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9512
9844
  });
9513
9845
 
9514
9846
  //#endregion
@@ -9601,13 +9933,7 @@ const __setSelectedWalletAccount_impl = setSelectedWalletAccount;
9601
9933
  const __setSelectedWalletAccount_wrapped = require_logoutWithReason.instrumentFunction({
9602
9934
  fn: __setSelectedWalletAccount_impl,
9603
9935
  functionName: "setSelectedWalletAccount",
9604
- getCore: () => {
9605
- try {
9606
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9607
- } catch {
9608
- return;
9609
- }
9610
- }
9936
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9611
9937
  });
9612
9938
 
9613
9939
  //#endregion
@@ -9663,116 +9989,7 @@ const __selectPrimaryWalletAccount_impl = selectPrimaryWalletAccount;
9663
9989
  const __selectPrimaryWalletAccount_wrapped = require_logoutWithReason.instrumentFunction({
9664
9990
  fn: __selectPrimaryWalletAccount_impl,
9665
9991
  functionName: "selectPrimaryWalletAccount",
9666
- getCore: () => {
9667
- try {
9668
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9669
- } catch {
9670
- return;
9671
- }
9672
- }
9673
- });
9674
-
9675
- //#endregion
9676
- //#region src/utils/buildInAppBrowserUrl/buildInAppBrowserUrl.ts
9677
- /**
9678
- * Placeholder the wallet book leaves in in-app-browser URLs for the app URL
9679
- * the wallet should open.
9680
- */
9681
- const DAPP_URL_PLACEHOLDER = "{{encodedDappURI}}";
9682
- /**
9683
- * Fills a wallet's in-app-browser URL template with the app URL to open.
9684
- *
9685
- * Wallet book entries carry the entry point as a template (e.g.
9686
- * `https://go.base.app/dapp?cb_url={{encodedDappURI}}`), so the URL is only
9687
- * usable once every occurrence of the placeholder is substituted in,
9688
- * percent-encoded. Templates without the placeholder are returned untouched —
9689
- * some wallets open a fixed landing page.
9690
- *
9691
- * @example
9692
- * ```ts
9693
- * buildInAppBrowserUrl({
9694
- * appUrl: 'https://myapp.xyz/login',
9695
- * inAppBrowserUrl: 'https://go.base.app/dapp?cb_url={{encodedDappURI}}',
9696
- * });
9697
- * // Returns: 'https://go.base.app/dapp?cb_url=https%3A%2F%2Fmyapp.xyz%2Flogin'
9698
- * ```
9699
- *
9700
- * @param params.appUrl - The URL of your app for the wallet's browser to open.
9701
- * @param params.inAppBrowserUrl - The wallet's in-app-browser URL template.
9702
- * @returns The in-app-browser URL to open.
9703
- * @see redirectToInAppBrowser
9704
- * @see getWalletOptionsCatalogue
9705
- * @notInstrumented
9706
- */
9707
- const buildInAppBrowserUrl = ({ appUrl, inAppBrowserUrl }) => inAppBrowserUrl.replaceAll(DAPP_URL_PLACEHOLDER, encodeURIComponent(appUrl));
9708
-
9709
- //#endregion
9710
- //#region src/modules/wallets/redirectToInAppBrowser/redirectToInAppBrowser.ts
9711
- /**
9712
- * Leaves your app for a wallet's in-app browser, which reloads `appUrl`
9713
- * inside it.
9714
- *
9715
- * Call this from `handleWalletBrowserRedirect` with the URL of the page the
9716
- * wallet should reload. The wallet's in-app-browser entry point is read from
9717
- * the wallet options catalogue, so you only need the wallet's key. The wallet
9718
- * is only injected on that reload, so the connection is made on the next page
9719
- * load rather than in the current one.
9720
- *
9721
- * @example
9722
- * ```ts
9723
- * await connectWallet({
9724
- * handleWalletBrowserRedirect: ({ chain, walletKey }) =>
9725
- * redirectToInAppBrowser({ appUrl: window.location.href, chain, walletKey }),
9726
- * walletKey: 'coinbase',
9727
- * });
9728
- * ```
9729
- *
9730
- * @param params.appUrl - The URL of your app for the wallet's browser to open.
9731
- * @param params.walletKey - The wallet to open, keyed as in the wallet options catalogue.
9732
- * @param [params.chain] - The chain to open the wallet's browser for. Required only when the wallet exposes an in-app browser on more than one enabled chain.
9733
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
9734
- * @returns A promise that resolves once the redirect is triggered.
9735
- * @throws WalletOptionNotFoundError If no wallet option matches the key.
9736
- * @throws NoConnectionOptionAvailableError If the wallet exposes no in-app browser on the requested chain.
9737
- * @throws AmbiguousWalletChainError If the wallet exposes an in-app browser on more than one chain and no chain was passed.
9738
- * @throws UnsafeDeeplinkUrlError If the wallet's in-app-browser URL has a scheme that can execute script.
9739
- * @see connectWallet
9740
- * @see WalletBrowserRedirectHandlerParams
9741
- * @instrumented
9742
- */
9743
- const redirectToInAppBrowser = async ({ appUrl, chain, walletKey }, client = require_logoutWithReason.getDefaultClient()) => {
9744
- const walletOption = (await getWalletOptionsCatalogue({ includeMobileOptions: true }, client)).find(({ key }) => key === walletKey);
9745
- if (!walletOption) throw new WalletOptionNotFoundError({ walletKey });
9746
- const inAppBrowserOptions = walletOption.connectionOptions.filter((option) => option.type === "inAppBrowser" && (!chain || option.chain === chain));
9747
- if (inAppBrowserOptions.length === 0) throw new NoConnectionOptionAvailableError({
9748
- chain,
9749
- installationUrls: walletOption.installationUrls,
9750
- walletKey
9751
- });
9752
- const availableChains = [...new Set(inAppBrowserOptions.map((option) => option.chain))];
9753
- if (!chain && availableChains.length > 1) throw new AmbiguousWalletChainError({
9754
- chains: availableChains,
9755
- walletKey
9756
- });
9757
- const [inAppBrowserOption] = inAppBrowserOptions;
9758
- const urlToOpen = buildInAppBrowserUrl({
9759
- appUrl,
9760
- inAppBrowserUrl: inAppBrowserOption.url
9761
- });
9762
- require_getNetworkProviderFromNetworkId.assertSafeDeeplinkUrl(urlToOpen);
9763
- await require_logoutWithReason.getCore(client).openDeeplink(urlToOpen);
9764
- };
9765
- const __redirectToInAppBrowser_impl = redirectToInAppBrowser;
9766
- const __redirectToInAppBrowser_wrapped = require_logoutWithReason.instrumentFunction({
9767
- fn: __redirectToInAppBrowser_impl,
9768
- functionName: "redirectToInAppBrowser",
9769
- getCore: () => {
9770
- try {
9771
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9772
- } catch {
9773
- return;
9774
- }
9775
- }
9992
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9776
9993
  });
9777
9994
 
9778
9995
  //#endregion
@@ -9845,13 +10062,7 @@ const __removeWalletAccount_impl = removeWalletAccount;
9845
10062
  const __removeWalletAccount_wrapped = require_logoutWithReason.instrumentFunction({
9846
10063
  fn: __removeWalletAccount_impl,
9847
10064
  functionName: "removeWalletAccount",
9848
- getCore: () => {
9849
- try {
9850
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9851
- } catch {
9852
- return;
9853
- }
9854
- }
10065
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9855
10066
  });
9856
10067
 
9857
10068
  //#endregion
@@ -9892,13 +10103,7 @@ const __signMessage_impl = signMessage;
9892
10103
  const __signMessage_wrapped = require_logoutWithReason.instrumentFunction({
9893
10104
  fn: __signMessage_impl,
9894
10105
  functionName: "signMessage",
9895
- getCore: () => {
9896
- try {
9897
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9898
- } catch {
9899
- return;
9900
- }
9901
- }
10106
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9902
10107
  });
9903
10108
 
9904
10109
  //#endregion
@@ -9944,13 +10149,7 @@ const __transferAmount_impl = transferAmount;
9944
10149
  const __transferAmount_wrapped = require_logoutWithReason.instrumentFunction({
9945
10150
  fn: __transferAmount_impl,
9946
10151
  functionName: "transferAmount",
9947
- getCore: () => {
9948
- try {
9949
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9950
- } catch {
9951
- return;
9952
- }
9953
- }
10152
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9954
10153
  });
9955
10154
 
9956
10155
  //#endregion
@@ -9988,13 +10187,7 @@ const __transferWalletAccount_impl = transferWalletAccount;
9988
10187
  const __transferWalletAccount_wrapped = require_logoutWithReason.instrumentFunction({
9989
10188
  fn: __transferWalletAccount_impl,
9990
10189
  functionName: "transferWalletAccount",
9991
- getCore: () => {
9992
- try {
9993
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
9994
- } catch {
9995
- return;
9996
- }
9997
- }
10190
+ getCore: require_logoutWithReason.resolveInstrumentationCore
9998
10191
  });
9999
10192
 
10000
10193
  //#endregion
@@ -10137,13 +10330,7 @@ const __claimYieldRewards_impl = claimYieldRewards;
10137
10330
  const __claimYieldRewards_wrapped = require_logoutWithReason.instrumentFunction({
10138
10331
  fn: __claimYieldRewards_impl,
10139
10332
  functionName: "claimYieldRewards",
10140
- getCore: () => {
10141
- try {
10142
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
10143
- } catch {
10144
- return;
10145
- }
10146
- }
10333
+ getCore: require_logoutWithReason.resolveInstrumentationCore
10147
10334
  });
10148
10335
 
10149
10336
  //#endregion
@@ -10195,13 +10382,7 @@ const __depositToYieldVault_impl = depositToYieldVault;
10195
10382
  const __depositToYieldVault_wrapped = require_logoutWithReason.instrumentFunction({
10196
10383
  fn: __depositToYieldVault_impl,
10197
10384
  functionName: "depositToYieldVault",
10198
- getCore: () => {
10199
- try {
10200
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
10201
- } catch {
10202
- return;
10203
- }
10204
- }
10385
+ getCore: require_logoutWithReason.resolveInstrumentationCore
10205
10386
  });
10206
10387
 
10207
10388
  //#endregion
@@ -10367,79 +10548,9 @@ const __withdrawFromYieldVault_impl = withdrawFromYieldVault;
10367
10548
  const __withdrawFromYieldVault_wrapped = require_logoutWithReason.instrumentFunction({
10368
10549
  fn: __withdrawFromYieldVault_impl,
10369
10550
  functionName: "withdrawFromYieldVault",
10370
- getCore: () => {
10371
- try {
10372
- return require_logoutWithReason.getCore(require_logoutWithReason.getDefaultClient());
10373
- } catch {
10374
- return;
10375
- }
10376
- }
10551
+ getCore: require_logoutWithReason.resolveInstrumentationCore
10377
10552
  });
10378
10553
 
10379
- //#endregion
10380
- //#region src/utils/appendConnectionUriToDeeplink/appendConnectionUriToDeeplink.ts
10381
- /**
10382
- * Appends a wallet connection URI to a deeplink URL.
10383
- *
10384
- * Generic across URI-deeplink connection options — works for both
10385
- * WalletConnect pairing URIs and MetaMask SDK URIs. Determines the
10386
- * appropriate query parameter separator based on whether the deeplink
10387
- * already contains query parameters.
10388
- *
10389
- * @param params.deeplinkUrl - The base deeplink URL (e.g., `walletapp://wc` or `walletapp://wc?param=value`).
10390
- * @param params.connectionUri - The connection URI to append.
10391
- * @returns The deeplink URL with the connection URI appended as a query parameter.
10392
- *
10393
- * @example
10394
- * ```ts
10395
- * appendConnectionUriToDeeplink({ deeplinkUrl: 'walletapp://wc', connectionUri: 'wc:123-456' })
10396
- * // Returns: 'walletapp://wc?uri=wc%3A123-456'
10397
- *
10398
- * appendConnectionUriToDeeplink({ deeplinkUrl: 'walletapp://wc?param=value', connectionUri: 'wc:123-456' })
10399
- * // Returns: 'walletapp://wc?param=value&uri=wc%3A123-456'
10400
- * ```
10401
- * @notInstrumented
10402
- */
10403
- const appendConnectionUriToDeeplink = ({ connectionUri, deeplinkUrl }) => {
10404
- const url = new URL(deeplinkUrl);
10405
- url.searchParams.set("uri", connectionUri);
10406
- return url.href;
10407
- };
10408
-
10409
- //#endregion
10410
- //#region src/utils/getPreferredWalletDeepLink/getPreferredWalletDeepLink.ts
10411
- /**
10412
- * Picks the most appropriate deep link variant for the current platform.
10413
- *
10414
- * Mobile (Android, iOS, tablets) prefers `native` because the OS treats
10415
- * custom URL schemes as first-class app links and gives the wallet a faster
10416
- * round-trip back to the dApp. Desktop prefers `universal` because browsers
10417
- * cannot resolve mobile-only custom schemes and need an `https://` link
10418
- * that opens the wallet's web flow.
10419
- *
10420
- * In either case, the alternative is used as a fallback when the preferred
10421
- * variant is missing. Returns `undefined` only when both variants are
10422
- * absent.
10423
- *
10424
- * @example
10425
- * ```ts
10426
- * const deepLink = getPreferredWalletDeepLink({
10427
- * deeplinks: wallet.deeplinks,
10428
- * });
10429
- * ```
10430
- *
10431
- * @param params.deeplinks - The deep link variants for a wallet (typically `WalletConnectCatalogWallet.deeplinks`).
10432
- * @returns The preferred deep link URL, or `undefined` if neither variant is available.
10433
- * @see appendConnectionUriToDeeplink
10434
- * @see getConnectionUriDeeplink
10435
- * @notInstrumented
10436
- */
10437
- const getPreferredWalletDeepLink = ({ deeplinks }) => {
10438
- const { native, universal } = deeplinks;
10439
- if (isMobile()) return native ?? universal;
10440
- return universal ?? native;
10441
- };
10442
-
10443
10554
  //#endregion
10444
10555
  //#region src/utils/parseUserAgent/parseUserAgent.ts
10445
10556
  const browserMatchers = [
@@ -10533,6 +10644,7 @@ exports.CoinbaseTransferMfaFailedError = CoinbaseTransferMfaFailedError;
10533
10644
  exports.CoinbaseTransferMfaRequiredError = CoinbaseTransferMfaRequiredError;
10534
10645
  exports.CoinbaseTravelRuleFieldName = CoinbaseTravelRuleFieldName;
10535
10646
  exports.CoinbaseTravelRuleRequiredError = CoinbaseTravelRuleRequiredError;
10647
+ exports.ConnectionUriHandlerMissingError = ConnectionUriHandlerMissingError;
10536
10648
  exports.DeeplinkConnectAndVerifyUnsupportedError = DeeplinkConnectAndVerifyUnsupportedError;
10537
10649
  exports.DeviceRegistrationIdentityMismatchError = DeviceRegistrationIdentityMismatchError;
10538
10650
  exports.FeeEstimationFailedError = FeeEstimationFailedError;
@@ -10582,6 +10694,7 @@ exports.WaasRbacStaleRetryUnsafeError = require_isUserOnboardingComplete.WaasRba
10582
10694
  exports.WalletAccountAlreadyVerifiedError = WalletAccountAlreadyVerifiedError;
10583
10695
  exports.WalletAccountNotSelectedError = WalletAccountNotSelectedError;
10584
10696
  exports.WalletAlreadyLinkedToAnotherUserError = require_getNetworkProviderFromNetworkId.WalletAlreadyLinkedToAnotherUserError;
10697
+ exports.WalletBrowserRedirectHandlerMissingError = WalletBrowserRedirectHandlerMissingError;
10585
10698
  exports.WalletOptionNotFoundError = WalletOptionNotFoundError;
10586
10699
  exports.WalletProviderMethodUnavailableError = WalletProviderMethodUnavailableError;
10587
10700
  exports.WalletScreeningBlockedError = require_getNetworkProviderFromNetworkId.WalletScreeningBlockedError;
@@ -10612,6 +10725,7 @@ exports.completeSocialAuthentication = __completeSocialAuthentication_wrapped;
10612
10725
  exports.completeSocialRedirect = __completeSocialRedirect_wrapped;
10613
10726
  exports.confirmTransaction = __confirmTransaction_wrapped;
10614
10727
  exports.connectAndVerifyWithWalletProvider = __connectAndVerifyWithWalletProvider_wrapped;
10728
+ exports.connectWalletOption = __connectWalletOption_wrapped;
10615
10729
  exports.connectWithWalletProvider = __connectWithWalletProvider_wrapped;
10616
10730
  exports.consumeMfaToken = require_isMfaRequiredForAction.__consumeMfaToken_wrapped;
10617
10731
  exports.createCheckoutTransaction = __createCheckoutTransaction_wrapped;
@@ -10641,8 +10755,8 @@ exports.getBalances = getBalances;
10641
10755
  exports.getCaptchaSettings = getCaptchaSettings;
10642
10756
  exports.getCheckoutTransaction = getCheckoutTransaction;
10643
10757
  exports.getCheckoutTransactionQuote = getCheckoutTransactionQuote;
10644
- exports.getCoinbaseAccounts = getCoinbaseAccounts;
10645
- exports.getCoinbaseBuyUrl = getCoinbaseBuyUrl;
10758
+ exports.getCoinbaseAccounts = __getCoinbaseAccounts_wrapped;
10759
+ exports.getCoinbaseBuyUrl = __getCoinbaseBuyUrl_wrapped;
10646
10760
  exports.getConnectedAddresses = getConnectedAddresses;
10647
10761
  exports.getDefaultClient = require_logoutWithReason.getDefaultClient;
10648
10762
  exports.getDeviceRegistrationTokenFromUrl = getDeviceRegistrationTokenFromUrl;
@@ -10651,8 +10765,8 @@ exports.getFlow = getFlow;
10651
10765
  exports.getFlowQuote = getFlowQuote;
10652
10766
  exports.getGoogleDriveBackupReadiness = __getGoogleDriveBackupReadiness_wrapped;
10653
10767
  exports.getInstallationLinkForCurrentPlatform = getInstallationLinkForCurrentPlatform;
10654
- exports.getKrakenAccounts = getKrakenAccounts;
10655
- exports.getKrakenWhitelistedAddresses = getKrakenWhitelistedAddresses;
10768
+ exports.getKrakenAccounts = __getKrakenAccounts_wrapped;
10769
+ exports.getKrakenWhitelistedAddresses = __getKrakenWhitelistedAddresses_wrapped;
10656
10770
  exports.getMfaDevices = getMfaDevices;
10657
10771
  exports.getMfaMethods = require_isMfaRequiredForAction.getMfaMethods;
10658
10772
  exports.getMfaRecoveryCodes = getMfaRecoveryCodes;
@@ -10702,6 +10816,7 @@ exports.isSignedIn = require_logoutWithReason.isSignedIn;
10702
10816
  exports.isUserMissingMfaAuth = require_logoutWithReason.isUserMissingMfaAuth;
10703
10817
  exports.isUserOnboardingComplete = require_isUserOnboardingComplete.isUserOnboardingComplete;
10704
10818
  exports.isWalletAccountVerified = isWalletAccountVerified;
10819
+ exports.isWalletExtensionInstalled = isWalletExtensionInstalled;
10705
10820
  exports.listYieldVaults = listYieldVaults;
10706
10821
  exports.logout = logout;
10707
10822
  exports.matchWalletProvidersToCatalogGroup = matchWalletProvidersToCatalogGroup;