@dynamic-labs-sdk/client 1.16.0 → 1.17.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 (112) hide show
  1. package/dist/core.cjs +53 -53
  2. package/dist/core.cjs.map +1 -1
  3. package/dist/core.esm.js +7 -7
  4. package/dist/core.esm.js.map +1 -1
  5. package/dist/core.native.esm.js +5 -5
  6. package/dist/exports/waas.d.ts +2 -1
  7. package/dist/exports/waas.d.ts.map +1 -1
  8. package/dist/exports/waasCore.d.ts +3 -2
  9. package/dist/exports/waasCore.d.ts.map +1 -1
  10. package/dist/{getNetworkProviderFromNetworkId-CregkqLB.esm.js → getNetworkProviderFromNetworkId-BVVs3arj.esm.js} +6 -7
  11. package/dist/getNetworkProviderFromNetworkId-BVVs3arj.esm.js.map +1 -0
  12. package/dist/{getNetworkProviderFromNetworkId-BURAkmc3.native.esm.js → getNetworkProviderFromNetworkId-DC1bhMuB.native.esm.js} +3 -4
  13. package/dist/{getNetworkProviderFromNetworkId-BURAkmc3.native.esm.js.map → getNetworkProviderFromNetworkId-DC1bhMuB.native.esm.js.map} +1 -1
  14. package/dist/{getNetworkProviderFromNetworkId-BpvoqbEH.cjs → getNetworkProviderFromNetworkId-DzzocxRc.cjs} +43 -44
  15. package/dist/{getNetworkProviderFromNetworkId-BpvoqbEH.cjs.map → getNetworkProviderFromNetworkId-DzzocxRc.cjs.map} +1 -1
  16. package/dist/{getSignedSessionId-Czpvp58E.esm.js → getSignedSessionId-Bnuz2Aqc.esm.js} +3 -3
  17. package/dist/{getSignedSessionId-Czpvp58E.esm.js.map → getSignedSessionId-Bnuz2Aqc.esm.js.map} +1 -1
  18. package/dist/{getSignedSessionId-C98wdvMw.cjs → getSignedSessionId-Dx0qQLMP.cjs} +11 -11
  19. package/dist/{getSignedSessionId-C98wdvMw.cjs.map → getSignedSessionId-Dx0qQLMP.cjs.map} +1 -1
  20. package/dist/{getSignedSessionId-upC71vLP.native.esm.js → getSignedSessionId-Pc_5wscD.native.esm.js} +3 -3
  21. package/dist/{getSignedSessionId-upC71vLP.native.esm.js.map → getSignedSessionId-Pc_5wscD.native.esm.js.map} +1 -1
  22. package/dist/getWalletProviderByKey-BL3u0e-d.esm.js +20 -0
  23. package/dist/getWalletProviderByKey-BL3u0e-d.esm.js.map +1 -0
  24. package/dist/getWalletProviderByKey-BLWcueTR.cjs +31 -0
  25. package/dist/getWalletProviderByKey-BLWcueTR.cjs.map +1 -0
  26. package/dist/getWalletProviderByKey-DhqKzh7g.native.esm.js +20 -0
  27. package/dist/getWalletProviderByKey-DhqKzh7g.native.esm.js.map +1 -0
  28. package/dist/index.cjs +539 -540
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.esm.js +9 -10
  31. package/dist/index.esm.js.map +1 -1
  32. package/dist/index.native.esm.js +6 -7
  33. package/dist/index.native.esm.js.map +1 -1
  34. package/dist/isDynamicWaasEnabled-BEn7FcD9.cjs +88 -0
  35. package/dist/isDynamicWaasEnabled-BEn7FcD9.cjs.map +1 -0
  36. package/dist/isDynamicWaasEnabled-CvBaMGlR.native.esm.js +70 -0
  37. package/dist/isDynamicWaasEnabled-CvBaMGlR.native.esm.js.map +1 -0
  38. package/dist/isDynamicWaasEnabled-DYy0TvLy.esm.js +70 -0
  39. package/dist/isDynamicWaasEnabled-DYy0TvLy.esm.js.map +1 -0
  40. package/dist/{isMfaRequiredForAction-CgVdSGRA.esm.js → isMfaRequiredForAction-B7wNkqQf.esm.js} +2 -2
  41. package/dist/{isMfaRequiredForAction-CgVdSGRA.esm.js.map → isMfaRequiredForAction-B7wNkqQf.esm.js.map} +1 -1
  42. package/dist/{isMfaRequiredForAction-juTvf3Pl.native.esm.js → isMfaRequiredForAction-CJ9qbBUz.native.esm.js} +2 -2
  43. package/dist/{isMfaRequiredForAction-juTvf3Pl.native.esm.js.map → isMfaRequiredForAction-CJ9qbBUz.native.esm.js.map} +1 -1
  44. package/dist/{isMfaRequiredForAction-DECknr5q.cjs → isMfaRequiredForAction-CaNdGc-m.cjs} +29 -29
  45. package/dist/{isMfaRequiredForAction-DECknr5q.cjs.map → isMfaRequiredForAction-CaNdGc-m.cjs.map} +1 -1
  46. package/dist/{isUserOnboardingComplete-DFrrp61b.esm.js → isUserOnboardingComplete-CGz-9Iyw.esm.js} +3 -3
  47. package/dist/{isUserOnboardingComplete-DFrrp61b.esm.js.map → isUserOnboardingComplete-CGz-9Iyw.esm.js.map} +1 -1
  48. package/dist/{isUserOnboardingComplete-Dtr1_Mi4.native.esm.js → isUserOnboardingComplete-FRAIuxdi.native.esm.js} +3 -3
  49. package/dist/{isUserOnboardingComplete-Dtr1_Mi4.native.esm.js.map → isUserOnboardingComplete-FRAIuxdi.native.esm.js.map} +1 -1
  50. package/dist/{isUserOnboardingComplete-DvCQh8Dj.cjs → isUserOnboardingComplete-w1IkCC_p.cjs} +13 -13
  51. package/dist/{isUserOnboardingComplete-DvCQh8Dj.cjs.map → isUserOnboardingComplete-w1IkCC_p.cjs.map} +1 -1
  52. package/dist/migrateFromFireblocks-C-IqJz3q.native.esm.js +65 -0
  53. package/dist/migrateFromFireblocks-C-IqJz3q.native.esm.js.map +1 -0
  54. package/dist/migrateFromFireblocks-CjQWJPZW.cjs +82 -0
  55. package/dist/migrateFromFireblocks-CjQWJPZW.cjs.map +1 -0
  56. package/dist/migrateFromFireblocks-DXs3odF_.esm.js +65 -0
  57. package/dist/migrateFromFireblocks-DXs3odF_.esm.js.map +1 -0
  58. package/dist/modules/waas/createWaasProvider/createWaasProvider.d.ts.map +1 -1
  59. package/dist/modules/waas/migrateFromFireblocks/index.d.ts +2 -0
  60. package/dist/modules/waas/migrateFromFireblocks/index.d.ts.map +1 -0
  61. package/dist/modules/waas/migrateFromFireblocks/migrateFromFireblocks.d.ts +52 -0
  62. package/dist/modules/waas/migrateFromFireblocks/migrateFromFireblocks.d.ts.map +1 -0
  63. package/dist/modules/waas/waas.types.d.ts +9 -1
  64. package/dist/modules/waas/waas.types.d.ts.map +1 -1
  65. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  66. package/dist/{InvalidParamError-Dn_riAvL.esm.js → updateAuthFromVerifyResponse-BdokPJ21.esm.js} +237 -3
  67. package/dist/updateAuthFromVerifyResponse-BdokPJ21.esm.js.map +1 -0
  68. package/dist/{InvalidParamError-DHriGGNI.cjs → updateAuthFromVerifyResponse-CUnvs5Af.cjs} +291 -9
  69. package/dist/updateAuthFromVerifyResponse-CUnvs5Af.cjs.map +1 -0
  70. package/dist/{InvalidParamError-DYezznCD.native.esm.js → updateAuthFromVerifyResponse-DW-tPgdV.native.esm.js} +457 -4
  71. package/dist/updateAuthFromVerifyResponse-DW-tPgdV.native.esm.js.map +1 -0
  72. package/dist/waas.cjs +53 -67
  73. package/dist/waas.cjs.map +1 -1
  74. package/dist/waas.esm.js +5 -20
  75. package/dist/waas.esm.js.map +1 -1
  76. package/dist/waas.native.esm.js +5 -20
  77. package/dist/waas.native.esm.js.map +1 -1
  78. package/dist/waasCore.cjs +40 -23
  79. package/dist/waasCore.cjs.map +1 -1
  80. package/dist/waasCore.esm.js +23 -7
  81. package/dist/waasCore.esm.js.map +1 -1
  82. package/dist/waasCore.native.esm.js +23 -7
  83. package/dist/waasCore.native.esm.js.map +1 -1
  84. package/package.json +2 -2
  85. package/dist/InvalidParamError-DHriGGNI.cjs.map +0 -1
  86. package/dist/InvalidParamError-DYezznCD.native.esm.js.map +0 -1
  87. package/dist/InvalidParamError-Dn_riAvL.esm.js.map +0 -1
  88. package/dist/getNetworkProviderFromNetworkId-CregkqLB.esm.js.map +0 -1
  89. package/dist/getWaasWalletProviderFromWalletAccount-BrskhuL8.cjs +0 -19
  90. package/dist/getWaasWalletProviderFromWalletAccount-BrskhuL8.cjs.map +0 -1
  91. package/dist/getWaasWalletProviderFromWalletAccount-DHKga3uH.native.esm.js +0 -14
  92. package/dist/getWaasWalletProviderFromWalletAccount-DHKga3uH.native.esm.js.map +0 -1
  93. package/dist/getWaasWalletProviderFromWalletAccount-Dc6QvHVt.esm.js +0 -14
  94. package/dist/getWaasWalletProviderFromWalletAccount-Dc6QvHVt.esm.js.map +0 -1
  95. package/dist/getWalletProviderByKey-DDNCUbUe.cjs +0 -321
  96. package/dist/getWalletProviderByKey-DDNCUbUe.cjs.map +0 -1
  97. package/dist/getWalletProviderByKey-DTi6MhKt.esm.js +0 -255
  98. package/dist/getWalletProviderByKey-DTi6MhKt.esm.js.map +0 -1
  99. package/dist/getWalletProviderByKey-OYhHm11_.native.esm.js +0 -474
  100. package/dist/getWalletProviderByKey-OYhHm11_.native.esm.js.map +0 -1
  101. package/dist/isDynamicWaasEnabled-Bj3v8LZ_.cjs +0 -49
  102. package/dist/isDynamicWaasEnabled-Bj3v8LZ_.cjs.map +0 -1
  103. package/dist/isDynamicWaasEnabled-CuSe2RO1.esm.js +0 -37
  104. package/dist/isDynamicWaasEnabled-CuSe2RO1.esm.js.map +0 -1
  105. package/dist/isDynamicWaasEnabled-CvD8_c7H.native.esm.js +0 -37
  106. package/dist/isDynamicWaasEnabled-CvD8_c7H.native.esm.js.map +0 -1
  107. package/dist/refreshAuth-CKHkaRJo.native.esm.js +0 -38
  108. package/dist/refreshAuth-CKHkaRJo.native.esm.js.map +0 -1
  109. package/dist/refreshAuth-Q5fxSi3Z.esm.js +0 -38
  110. package/dist/refreshAuth-Q5fxSi3Z.esm.js.map +0 -1
  111. package/dist/refreshAuth-oycoOXtD.cjs +0 -43
  112. package/dist/refreshAuth-oycoOXtD.cjs.map +0 -1
package/dist/core.cjs CHANGED
@@ -1,8 +1,8 @@
1
- const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-DECknr5q.cjs');
2
- const require_InvalidParamError = require('./InvalidParamError-DHriGGNI.cjs');
3
- const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-BpvoqbEH.cjs');
4
- const require_getWalletProviderByKey = require('./getWalletProviderByKey-DDNCUbUe.cjs');
5
- const require_getSignedSessionId = require('./getSignedSessionId-C98wdvMw.cjs');
1
+ const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-CaNdGc-m.cjs');
2
+ const require_updateAuthFromVerifyResponse = require('./updateAuthFromVerifyResponse-CUnvs5Af.cjs');
3
+ const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-DzzocxRc.cjs');
4
+ const require_getWalletProviderByKey = require('./getWalletProviderByKey-BLWcueTR.cjs');
5
+ const require_getSignedSessionId = require('./getSignedSessionId-Dx0qQLMP.cjs');
6
6
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
7
7
  let zod_mini = require("zod/mini");
8
8
  zod_mini = require_isMfaRequiredForAction.__toESM(zod_mini);
@@ -10,7 +10,7 @@ let eventemitter3 = require("eventemitter3");
10
10
  eventemitter3 = require_isMfaRequiredForAction.__toESM(eventemitter3);
11
11
 
12
12
  //#region src/errors/ArrayMustNotBeEmptyError.ts
13
- var ArrayMustNotBeEmptyError = class extends require_InvalidParamError.BaseError {
13
+ var ArrayMustNotBeEmptyError = class extends require_updateAuthFromVerifyResponse.BaseError {
14
14
  constructor(message) {
15
15
  super({
16
16
  cause: null,
@@ -24,7 +24,7 @@ var ArrayMustNotBeEmptyError = class extends require_InvalidParamError.BaseError
24
24
 
25
25
  //#endregion
26
26
  //#region src/errors/ClientsDoNotMatchError.ts
27
- var ClientsDoNotMatchError = class extends require_InvalidParamError.BaseError {
27
+ var ClientsDoNotMatchError = class extends require_updateAuthFromVerifyResponse.BaseError {
28
28
  constructor() {
29
29
  super({
30
30
  cause: null,
@@ -38,7 +38,7 @@ var ClientsDoNotMatchError = class extends require_InvalidParamError.BaseError {
38
38
 
39
39
  //#endregion
40
40
  //#region src/errors/MultipleClientsFoundError.ts
41
- var MultipleClientsFoundError = class extends require_InvalidParamError.BaseError {
41
+ var MultipleClientsFoundError = class extends require_updateAuthFromVerifyResponse.BaseError {
42
42
  constructor() {
43
43
  super({
44
44
  cause: null,
@@ -64,17 +64,17 @@ var MultipleClientsFoundError = class extends require_InvalidParamError.BaseErro
64
64
  * @notInstrumented
65
65
  */
66
66
  const registerExtension = ({ extensionKey }, client) => {
67
- require_InvalidParamError.getCore(client).extensions.add(extensionKey);
67
+ require_updateAuthFromVerifyResponse.getCore(client).extensions.add(extensionKey);
68
68
  };
69
69
 
70
70
  //#endregion
71
71
  //#region src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts
72
72
  /** @notInstrumented */
73
73
  const waitForProjectSettings = async (client) => {
74
- const projectSettingsTracker = require_InvalidParamError.getCore(client).initTrack.getTracker(require_getNetworkProviderFromNetworkId.FETCH_PROJECT_SETTINGS_TRACKER_KEY);
75
- require_InvalidParamError.assertDefined(projectSettingsTracker, "Project settings tracker not found");
74
+ const projectSettingsTracker = require_updateAuthFromVerifyResponse.getCore(client).initTrack.getTracker(require_getNetworkProviderFromNetworkId.FETCH_PROJECT_SETTINGS_TRACKER_KEY);
75
+ require_updateAuthFromVerifyResponse.assertDefined(projectSettingsTracker, "Project settings tracker not found");
76
76
  await projectSettingsTracker.promise;
77
- require_InvalidParamError.assertDefined(client.projectSettings, "Project settings still not available after awaiting its tracker");
77
+ require_updateAuthFromVerifyResponse.assertDefined(client.projectSettings, "Project settings still not available after awaiting its tracker");
78
78
  return client.projectSettings;
79
79
  };
80
80
 
@@ -119,7 +119,7 @@ const networkRegistryStorageKeySchema = require_isMfaRequiredForAction.createSto
119
119
  * @notInstrumented
120
120
  */
121
121
  const createLastKnownNetworkRegistry = (client) => {
122
- const core = require_InvalidParamError.getCore(client);
122
+ const core = require_updateAuthFromVerifyResponse.getCore(client);
123
123
  const walletProviderKeyToNetworkId = /* @__PURE__ */ new Map();
124
124
  const getNetworkId = async ({ walletProviderKey }) => {
125
125
  if (walletProviderKeyToNetworkId.has(walletProviderKey)) return { networkId: walletProviderKeyToNetworkId.get(walletProviderKey) };
@@ -133,7 +133,7 @@ const createLastKnownNetworkRegistry = (client) => {
133
133
  const networkProviders = require_getNetworkProviderFromNetworkId.getNetworkProviders(client);
134
134
  if (networkProviders.length === 0) throw new require_getNetworkProviderFromNetworkId.NoNetworkProvidersError();
135
135
  const defaultNetworkProvider = networkProviders.find((networkProvider) => networkProvider.chain === walletProvider.chain);
136
- require_InvalidParamError.assertDefined(defaultNetworkProvider, `No networks found for chain ${walletProvider.chain}`);
136
+ require_updateAuthFromVerifyResponse.assertDefined(defaultNetworkProvider, `No networks found for chain ${walletProvider.chain}`);
137
137
  walletProviderKeyToNetworkId.set(walletProviderKey, defaultNetworkProvider.networkId);
138
138
  return { networkId: defaultNetworkProvider.networkId };
139
139
  };
@@ -149,7 +149,7 @@ const createLastKnownNetworkRegistry = (client) => {
149
149
 
150
150
  //#endregion
151
151
  //#region src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts
152
- const getLastKnownNetworkRegistry = require_InvalidParamError.createRuntimeServiceAccessKey("last-known-network-registry", (client) => createLastKnownNetworkRegistry(client));
152
+ const getLastKnownNetworkRegistry = require_updateAuthFromVerifyResponse.createRuntimeServiceAccessKey("last-known-network-registry", (client) => createLastKnownNetworkRegistry(client));
153
153
 
154
154
  //#endregion
155
155
  //#region src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts
@@ -231,15 +231,15 @@ const createWalletProviderEventEmitter = ({ removeEventListeners, setupEventList
231
231
  /** Value returned by setupEventListeners */
232
232
  let setupReturnValue;
233
233
  const handleAccountsChanged = (params) => {
234
- require_InvalidParamError.assertDefined(eventEmitter, "Event emitter not defined");
234
+ require_updateAuthFromVerifyResponse.assertDefined(eventEmitter, "Event emitter not defined");
235
235
  eventEmitter.emit("accountsChanged", params);
236
236
  };
237
237
  const handleDisconnected = () => {
238
- require_InvalidParamError.assertDefined(eventEmitter, "Event emitter not defined");
238
+ require_updateAuthFromVerifyResponse.assertDefined(eventEmitter, "Event emitter not defined");
239
239
  eventEmitter.emit("disconnected");
240
240
  };
241
241
  const handleNetworkChanged = (params) => {
242
- require_InvalidParamError.assertDefined(eventEmitter, "Event emitter not defined");
242
+ require_updateAuthFromVerifyResponse.assertDefined(eventEmitter, "Event emitter not defined");
243
243
  eventEmitter.emit("networkChanged", params);
244
244
  };
245
245
  const cleanupEventEmitter = () => {
@@ -346,7 +346,7 @@ const parseAmountToSmallestUnit = ({ amount, decimals }) => {
346
346
 
347
347
  //#endregion
348
348
  //#region src/errors/ReactNativeOnlyError.ts
349
- var ReactNativeOnlyError = class extends require_InvalidParamError.BaseError {
349
+ var ReactNativeOnlyError = class extends require_updateAuthFromVerifyResponse.BaseError {
350
350
  constructor({ apiName }) {
351
351
  super({
352
352
  cause: null,
@@ -413,64 +413,64 @@ const setScreenshotProtection = ({ enabled }) => {
413
413
 
414
414
  //#endregion
415
415
  //#region src/exports/core.ts
416
- (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_InvalidParamError.name, require_InvalidParamError.version);
416
+ (0, _dynamic_labs_sdk_assert_package_version.assertPackageVersion)(require_updateAuthFromVerifyResponse.name, require_updateAuthFromVerifyResponse.version);
417
417
 
418
418
  //#endregion
419
- exports.APIError = require_InvalidParamError.APIError;
419
+ exports.APIError = require_updateAuthFromVerifyResponse.APIError;
420
420
  exports.ArrayMustNotBeEmptyError = ArrayMustNotBeEmptyError;
421
- exports.CHAINS_INFO_MAP = require_InvalidParamError.CHAINS_INFO_MAP;
421
+ exports.CHAINS_INFO_MAP = require_updateAuthFromVerifyResponse.CHAINS_INFO_MAP;
422
422
  exports.CannotTrackError = require_getNetworkProviderFromNetworkId.CannotTrackError;
423
- exports.ClientNotFoundError = require_InvalidParamError.ClientNotFoundError;
423
+ exports.ClientNotFoundError = require_updateAuthFromVerifyResponse.ClientNotFoundError;
424
424
  exports.ClientsDoNotMatchError = ClientsDoNotMatchError;
425
425
  exports.CrossTabBroadcastMessageSchema = require_getNetworkProviderFromNetworkId.CrossTabBroadcastMessageSchema;
426
- exports.DYNAMIC_ICONIC_SPRITE_URL = require_InvalidParamError.DYNAMIC_ICONIC_SPRITE_URL;
427
- exports.DYNAMIC_SDK_API_VERSION = require_InvalidParamError.DYNAMIC_SDK_API_VERSION;
426
+ exports.DYNAMIC_ICONIC_SPRITE_URL = require_updateAuthFromVerifyResponse.DYNAMIC_ICONIC_SPRITE_URL;
427
+ exports.DYNAMIC_SDK_API_VERSION = require_updateAuthFromVerifyResponse.DYNAMIC_SDK_API_VERSION;
428
428
  exports.InvalidStorageSet = require_getNetworkProviderFromNetworkId.InvalidStorageSet;
429
- exports.InvalidWalletProviderKeyError = require_InvalidParamError.InvalidWalletProviderKeyError;
429
+ exports.InvalidWalletProviderKeyError = require_updateAuthFromVerifyResponse.InvalidWalletProviderKeyError;
430
430
  exports.MethodNotImplementedError = require_getNetworkProviderFromNetworkId.MethodNotImplementedError;
431
431
  exports.MultipleClientsFoundError = MultipleClientsFoundError;
432
- exports.NoWalletProviderFoundError = require_InvalidParamError.NoWalletProviderFoundError;
433
- exports.ValueMustBeDefinedError = require_InvalidParamError.ValueMustBeDefinedError;
434
- exports.WalletProviderPriority = require_InvalidParamError.WalletProviderPriority;
435
- exports.assertDefined = require_InvalidParamError.assertDefined;
432
+ exports.NoWalletProviderFoundError = require_updateAuthFromVerifyResponse.NoWalletProviderFoundError;
433
+ exports.ValueMustBeDefinedError = require_updateAuthFromVerifyResponse.ValueMustBeDefinedError;
434
+ exports.WalletProviderPriority = require_updateAuthFromVerifyResponse.WalletProviderPriority;
435
+ exports.assertDefined = require_updateAuthFromVerifyResponse.assertDefined;
436
436
  exports.assertNonEmptyArray = assertNonEmptyArray;
437
437
  exports.bufferToBase64 = bufferToBase64;
438
438
  exports.consumeCaptchaToken = require_getNetworkProviderFromNetworkId.consumeCaptchaToken;
439
439
  exports.consumeMfaTokenIfRequiredForAction = require_getSignedSessionId.consumeMfaTokenIfRequiredForAction;
440
- exports.createApiClient = require_InvalidParamError.createApiClient;
440
+ exports.createApiClient = require_updateAuthFromVerifyResponse.createApiClient;
441
441
  exports.createBaseNetworkProvider = createBaseNetworkProvider;
442
442
  exports.createCrossTabBroadcast = require_getNetworkProviderFromNetworkId.createCrossTabBroadcast;
443
443
  exports.createDeferredPromise = require_getNetworkProviderFromNetworkId.createDeferredPromise;
444
- exports.createDeviceSignatureHeadersMiddleware = require_InvalidParamError.createDeviceSignatureHeadersMiddleware;
444
+ exports.createDeviceSignatureHeadersMiddleware = require_updateAuthFromVerifyResponse.createDeviceSignatureHeadersMiddleware;
445
445
  exports.createKeychainService = require_getNetworkProviderFromNetworkId.createKeychainService;
446
446
  exports.createLocalStorageAdapter = require_getNetworkProviderFromNetworkId.createLocalStorageAdapter;
447
447
  exports.createLogger = require_getNetworkProviderFromNetworkId.createLogger;
448
448
  exports.createRealtimeChannelSchema = createRealtimeChannelSchema;
449
449
  exports.createRealtimeService = require_getNetworkProviderFromNetworkId.createRealtimeService;
450
- exports.createRuntimeServiceAccessKey = require_InvalidParamError.createRuntimeServiceAccessKey;
450
+ exports.createRuntimeServiceAccessKey = require_updateAuthFromVerifyResponse.createRuntimeServiceAccessKey;
451
451
  exports.createSignInMessageStatement = require_getNetworkProviderFromNetworkId.createSignInMessageStatement;
452
452
  exports.createStorage = require_getNetworkProviderFromNetworkId.createStorage;
453
453
  exports.createStorageKeySchema = require_isMfaRequiredForAction.createStorageKeySchema;
454
454
  exports.createVisit = require_getNetworkProviderFromNetworkId.createVisit;
455
455
  exports.createWalletProviderEventEmitter = createWalletProviderEventEmitter;
456
- exports.emitEvent = require_InvalidParamError.emitEvent;
457
- exports.emitWalletAccountsChangedEvent = require_getWalletProviderByKey.emitWalletAccountsChangedEvent;
456
+ exports.emitEvent = require_updateAuthFromVerifyResponse.emitEvent;
457
+ exports.emitWalletAccountsChangedEvent = require_updateAuthFromVerifyResponse.emitWalletAccountsChangedEvent;
458
458
  exports.filterDuplicates = filterDuplicates;
459
459
  exports.formatSignInMessage = require_getNetworkProviderFromNetworkId.formatSignInMessage;
460
- exports.formatWalletAccountId = require_InvalidParamError.formatWalletAccountId;
460
+ exports.formatWalletAccountId = require_updateAuthFromVerifyResponse.formatWalletAccountId;
461
461
  exports.formatWalletProviderGroupKey = formatWalletProviderGroupKey;
462
- exports.formatWalletProviderKey = require_InvalidParamError.formatWalletProviderKey;
462
+ exports.formatWalletProviderKey = require_updateAuthFromVerifyResponse.formatWalletProviderKey;
463
463
  exports.generateSessionKeys = require_isMfaRequiredForAction.generateSessionKeys;
464
464
  exports.getActiveNetworkIdFromLastKnownRegistry = getActiveNetworkIdFromLastKnownRegistry;
465
465
  exports.getAllProvidersFromWindow = getAllProvidersFromWindow;
466
466
  exports.getAppMetadata = require_getNetworkProviderFromNetworkId.getAppMetadata;
467
467
  exports.getBuffer = require_getNetworkProviderFromNetworkId.getBuffer;
468
- exports.getChainFromVerifiedCredentialChain = require_InvalidParamError.getChainFromVerifiedCredentialChain;
469
- exports.getCore = require_InvalidParamError.getCore;
470
- exports.getDefaultClient = require_InvalidParamError.getDefaultClient;
471
- exports.getDeviceSigner = require_InvalidParamError.getDeviceSigner;
472
- exports.getElevatedAccessToken = require_InvalidParamError.getElevatedAccessToken;
473
- exports.getHeadersForNonceSignedByDeviceSigners = require_InvalidParamError.getHeadersForNonceSignedByDeviceSigners;
468
+ exports.getChainFromVerifiedCredentialChain = require_updateAuthFromVerifyResponse.getChainFromVerifiedCredentialChain;
469
+ exports.getCore = require_updateAuthFromVerifyResponse.getCore;
470
+ exports.getDefaultClient = require_updateAuthFromVerifyResponse.getDefaultClient;
471
+ exports.getDeviceSigner = require_updateAuthFromVerifyResponse.getDeviceSigner;
472
+ exports.getElevatedAccessToken = require_updateAuthFromVerifyResponse.getElevatedAccessToken;
473
+ exports.getHeadersForNonceSignedByDeviceSigners = require_updateAuthFromVerifyResponse.getHeadersForNonceSignedByDeviceSigners;
474
474
  exports.getInjectedProviderFromWindow = getInjectedProviderFromWindow;
475
475
  exports.getKeychainIndexedDBName = require_getNetworkProviderFromNetworkId.getKeychainIndexedDBName;
476
476
  exports.getLastKnownNetworkRegistry = getLastKnownNetworkRegistry;
@@ -479,30 +479,30 @@ exports.getNetworkDataForNetworkId = getNetworkDataForNetworkId;
479
479
  exports.getNetworkProviderBuilderRegistry = require_getNetworkProviderFromNetworkId.getNetworkProviderBuilderRegistry;
480
480
  exports.getNetworkProviderFromNetworkId = require_getNetworkProviderFromNetworkId.getNetworkProviderFromNetworkId;
481
481
  exports.getNetworkProviders = require_getNetworkProviderFromNetworkId.getNetworkProviders;
482
- exports.getNonce = require_InvalidParamError.getNonce;
482
+ exports.getNonce = require_updateAuthFromVerifyResponse.getNonce;
483
483
  exports.getReactNativeManifest = getReactNativeManifest;
484
- exports.getSessionKeys = require_InvalidParamError.getSessionKeys;
484
+ exports.getSessionKeys = require_updateAuthFromVerifyResponse.getSessionKeys;
485
485
  exports.getSignedSessionId = require_getSignedSessionId.getSignedSessionId;
486
486
  exports.getVerifiedCredentialForWalletAccount = require_getWalletProviderByKey.getVerifiedCredentialForWalletAccount;
487
- exports.getWalletProviderFromWalletAccount = require_InvalidParamError.getWalletProviderFromWalletAccount;
488
- exports.getWalletProviderRegistry = require_InvalidParamError.getWalletProviderRegistry;
489
- exports.getWalletProviders = require_getWalletProviderByKey.getWalletProviders;
487
+ exports.getWalletProviderFromWalletAccount = require_updateAuthFromVerifyResponse.getWalletProviderFromWalletAccount;
488
+ exports.getWalletProviderRegistry = require_updateAuthFromVerifyResponse.getWalletProviderRegistry;
489
+ exports.getWalletProviders = require_updateAuthFromVerifyResponse.getWalletProviders;
490
490
  exports.hasExtension = require_getNetworkProviderFromNetworkId.hasExtension;
491
- exports.isCookieEnabled = require_InvalidParamError.isCookieEnabled;
491
+ exports.isCookieEnabled = require_updateAuthFromVerifyResponse.isCookieEnabled;
492
492
  exports.logoutWithReason = require_isMfaRequiredForAction.__logoutWithReason_wrapped;
493
- exports.normalizeWalletNameWithChain = require_InvalidParamError.normalizeWalletNameWithChain;
493
+ exports.normalizeWalletNameWithChain = require_updateAuthFromVerifyResponse.normalizeWalletNameWithChain;
494
494
  exports.parseAmountToSmallestUnit = parseAmountToSmallestUnit;
495
- exports.randomString = require_InvalidParamError.randomString;
495
+ exports.randomString = require_updateAuthFromVerifyResponse.randomString;
496
496
  exports.reconcileWalletAccountsAgainstClient = require_getNetworkProviderFromNetworkId.reconcileWalletAccountsAgainstClient;
497
497
  exports.registerExtension = registerExtension;
498
498
  exports.removeUnverifiedWalletAccount = require_getNetworkProviderFromNetworkId.removeUnverifiedWalletAccount;
499
499
  exports.setCaptchaToken = require_getNetworkProviderFromNetworkId.__setCaptchaToken_wrapped;
500
500
  exports.setScreenshotProtection = setScreenshotProtection;
501
501
  exports.setUnverifiedWalletAccounts = require_getNetworkProviderFromNetworkId.setUnverifiedWalletAccounts;
502
- exports.splitWalletProviderKey = require_InvalidParamError.splitWalletProviderKey;
502
+ exports.splitWalletProviderKey = require_updateAuthFromVerifyResponse.splitWalletProviderKey;
503
503
  exports.subscribeWithSelector = require_getNetworkProviderFromNetworkId.subscribeWithSelector;
504
504
  exports.switchActiveNetworkInLastKnownRegistry = switchActiveNetworkInLastKnownRegistry;
505
- exports.updateAuthFromVerifyResponse = require_getWalletProviderByKey.updateAuthFromVerifyResponse;
505
+ exports.updateAuthFromVerifyResponse = require_updateAuthFromVerifyResponse.updateAuthFromVerifyResponse;
506
506
  exports.updateWalletProviderKeysForVerifiedCredentials = require_getNetworkProviderFromNetworkId.updateWalletProviderKeysForVerifiedCredentials;
507
507
  exports.verifyMessageSignatureOwnership = require_getNetworkProviderFromNetworkId.verifyMessageSignatureOwnership;
508
508
  exports.waitForProjectSettings = waitForProjectSettings;
package/dist/core.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.cjs","names":["BaseError","BaseError","BaseError","getCore","getCore","FETCH_PROJECT_SETTINGS_TRACKER_KEY","getNetworksData","createStorageKeySchema","z","getCore","getNetworkId: LastKnownNetworkRegistry['getNetworkId']","getWalletProviderByKey","getNetworkProviders","NoNetworkProvidersError","setNetworkId: LastKnownNetworkRegistry['setNetworkId']","createRuntimeServiceAccessKey","target: unknown","providers: T[]","target: unknown","getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry","switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry","eventEmitter: EventEmitter<WalletProviderEvents> | undefined","setupReturnValue: R","EventEmitter","getBuffer","BaseError","packageName","packageVersion"],"sources":["../src/errors/ArrayMustNotBeEmptyError.ts","../src/errors/ClientsDoNotMatchError.ts","../src/errors/MultipleClientsFoundError.ts","../src/modules/extension/registerExtension/registerExtension.ts","../src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts","../src/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.ts","../src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts","../src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts","../src/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.ts","../src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.ts","../src/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.ts","../src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.ts","../src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.ts","../src/services/realtime/createRealtimeChannelSchema/createRealtimeChannelSchema.ts","../src/utils/assertNonEmptyArray/assertNonEmptyArray.ts","../src/utils/bufferToBase64/bufferToBase64.ts","../src/utils/filterDuplicates/filterDuplicates.ts","../src/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.ts","../src/errors/ReactNativeOnlyError.ts","../src/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.ts","../src/utils/getNativeLinkScheme/getNativeLinkScheme.ts","../src/modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.ts","../src/exports/core.ts"],"sourcesContent":["import { BaseError } from './base';\n\nexport class ArrayMustNotBeEmptyError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(message: string) {\n super({\n cause: null,\n code: 'array_must_not_be_empty_error',\n docsUrl: null,\n name: 'ArrayMustNotBeEmpty',\n shortMessage: message,\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class ClientsDoNotMatchError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'clients_do_not_match_error',\n docsUrl: null,\n name: 'ClientsDoNotMatchError',\n shortMessage: 'Clients do not match',\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class MultipleClientsFoundError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'multiple_clients_found_error',\n docsUrl: null,\n name: 'MultipleClientsFoundError',\n shortMessage:\n 'Multiple Dynamic clients have been initialized. Please provide the intended client for this action explicitly',\n });\n }\n}\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\n\ntype RegisterExtensionParams = {\n extensionKey: string;\n};\n\n/**\n * Registers an extension to the client.\n *\n * Other extensions can be aware of which extensions are present,\n * and allows creating dependencies between extensions.\n *\n * @param client - The client instance.\n * @param extensionKey - The key of the extension to register.\n * @returns The client instance.\n * @notInstrumented\n */\nexport const registerExtension = (\n { extensionKey }: RegisterExtensionParams,\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n core.extensions.add(extensionKey);\n};\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport { FETCH_PROJECT_SETTINGS_TRACKER_KEY } from '../consts';\n\n/** @notInstrumented */\nexport const waitForProjectSettings = async (client: DynamicClient) => {\n const core = getCore(client);\n\n const projectSettingsTracker = core.initTrack.getTracker<void>(\n FETCH_PROJECT_SETTINGS_TRACKER_KEY\n );\n\n assertDefined(projectSettingsTracker, 'Project settings tracker not found');\n\n await projectSettingsTracker.promise;\n\n assertDefined(\n client.projectSettings,\n 'Project settings still not available after awaiting its tracker'\n );\n\n return client.projectSettings;\n};\n","import type { Chain } from '../../../chain';\nimport type {\n BaseNetworkProvider,\n NetworkData,\n} from '../networkProvider/networkProvider.types';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const createBaseNetworkProvider = <TChain extends Chain = Chain>(\n chain: TChain,\n networkData: NetworkData\n): Omit<BaseNetworkProvider<TChain>, 'getBalance'> => ({\n blockExplorerUrls: networkData.blockExplorerUrls,\n chain,\n displayName: networkData.displayName,\n iconUrl: networkData.iconUrl,\n id: `${chain}-${networkData.networkId}`,\n name: networkData.name,\n nativeCurrency: networkData.nativeCurrency,\n networkId: networkData.networkId,\n rpcUrls: networkData.rpcUrls,\n testnet: networkData.testnet,\n});\n","import type { DynamicClient } from '../../../../client/types';\nimport type { Chain } from '../../../chain';\nimport { getNetworksData } from '../getNetworksData';\nimport type { NetworkData } from '../networkProvider/networkProvider.types';\n\ntype GetNetworkDataForNetworkIdProps = {\n chain: Chain;\n networkId: string;\n};\n\n/** @notInstrumented */\nexport const getNetworkDataForNetworkId = (\n { networkId, chain }: GetNetworkDataForNetworkIdProps,\n client: DynamicClient\n): NetworkData | undefined => {\n const networksData = getNetworksData(client);\n\n const networkData = networksData.find(\n (networkData) =>\n networkData.networkId === networkId && networkData.chain === chain\n );\n\n return networkData;\n};\n","import * as z from 'zod/mini';\n\nimport { createStorageKeySchema } from '../../../../../services/storage';\n\nexport const networkRegistryStorageKeySchema = createStorageKeySchema({\n key: 'lastKnownNetworkRegistry',\n schema: z.record(z.string(), z.string()),\n});\n","import { getCore } from '../../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../../client/types';\nimport { NoNetworkProvidersError } from '../../../../../errors/NoNetworkProvidersError';\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport { getWalletProviderByKey } from '../../../getWalletProviderByKey';\nimport { getNetworkProviders } from '../../getNetworkProviders';\nimport type { LastKnownNetworkRegistry } from '../LastKnownNetworkRegistry.types';\nimport { networkRegistryStorageKeySchema } from './schema';\n\n/**\n * Creates the registry that keeps tabs on which wallet provider is\n * connected to which network.\n *\n * Reminder that this will not be used for chains that have an internal way to\n * switch networks (ex EVM).\n * @notInstrumented\n */\nexport const createLastKnownNetworkRegistry = (\n client: DynamicClient\n): LastKnownNetworkRegistry => {\n const core = getCore(client);\n\n const walletProviderKeyToNetworkId = new Map<string, string>();\n\n const getNetworkId: LastKnownNetworkRegistry['getNetworkId'] = async ({\n walletProviderKey,\n }) => {\n // Priorities:\n // 1. In memory\n // 2. Storage\n // 3. First available network for this wallet's chain\n\n if (walletProviderKeyToNetworkId.has(walletProviderKey)) {\n return {\n networkId: walletProviderKeyToNetworkId.get(\n walletProviderKey\n ) as string,\n };\n }\n\n const storageRecords = await core.storage.getItem(\n networkRegistryStorageKeySchema\n );\n\n if (storageRecords && storageRecords[walletProviderKey]) {\n const networkId = storageRecords[walletProviderKey];\n\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n return { networkId };\n }\n\n const walletProvider = getWalletProviderByKey(\n { walletProviderKey },\n client\n );\n\n const networkProviders = getNetworkProviders(client);\n\n if (networkProviders.length === 0) {\n throw new NoNetworkProvidersError();\n }\n\n const defaultNetworkProvider = networkProviders.find(\n (networkProvider) => networkProvider.chain === walletProvider.chain\n );\n\n assertDefined(\n defaultNetworkProvider,\n `No networks found for chain ${walletProvider.chain}`\n );\n\n walletProviderKeyToNetworkId.set(\n walletProviderKey,\n defaultNetworkProvider.networkId\n );\n\n // No need to set in storage, as we're just falling back to the default\n return { networkId: defaultNetworkProvider.networkId };\n };\n\n const setNetworkId: LastKnownNetworkRegistry['setNetworkId'] = async ({\n networkId,\n walletProviderKey,\n }) => {\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n await core.storage.setItem(\n networkRegistryStorageKeySchema,\n Object.fromEntries(walletProviderKeyToNetworkId.entries())\n );\n };\n\n return { getNetworkId, setNetworkId };\n};\n","import { createRuntimeServiceAccessKey } from '../../../../../services/runtimeServices';\nimport { createLastKnownNetworkRegistry } from '../createLastKnownNetworkRegistry';\n\nexport const getLastKnownNetworkRegistry = createRuntimeServiceAccessKey(\n 'last-known-network-registry',\n (client) => createLastKnownNetworkRegistry(client)\n);\n","/** @notInstrumented */\nexport const formatWalletProviderGroupKey = (walletName: string): string =>\n walletName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n","/* eslint-disable no-restricted-globals */\n\n/**\n * Retrieves all providers from a window path.\n *\n * Unlike getInjectedProviderFromWindow which returns only the first provider,\n * this function returns ALL providers found at the path, including those\n * in a .providers array if present.\n *\n * This is particularly useful for detecting wallet providers in wallet app\n * in-app browsers, where wallets inject their provider into the window object.\n *\n * @param path - Dot-separated path to traverse (e.g., \"ethereum\")\n * @returns Array of all providers found, or empty array if none\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getAllProvidersFromWindow = <T = unknown>(path: string): T[] => {\n if (typeof window === 'undefined') {\n return [];\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return [];\n }\n\n if (Array.isArray(target)) {\n return target as T[];\n }\n\n const providers: T[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n // If target has a .providers array, return all providers from it\n if (providersArray && Array.isArray(providersArray)) {\n providers.push(...(providersArray as T[]));\n }\n\n // Always include the target itself as a provider (if it's not just a container)\n // This handles the case where window.ethereum is both a provider AND has a providers array\n providers.push(target as T);\n\n return providers;\n};\n","/* eslint-disable no-restricted-globals */\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getInjectedProviderFromWindow = <T = unknown>(\n path: string\n): T | null => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return null;\n }\n\n if (Array.isArray(target)) {\n return target.length > 0 ? (target[0] as T) : null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n if (providersArray && Array.isArray(providersArray)) {\n return providersArray.length > 0 ? (providersArray[0] as T) : null;\n }\n\n return target as T;\n};\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype GetActiveNetworkIdFromLastKnownRegistry = (args: {\n client: DynamicClient;\n walletProviderKey: string;\n}) => ReturnType<WalletProvider['getActiveNetworkId']>;\n\n/** @notInstrumented */\nexport const getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry =\n async ({ client, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n return networkRegistry.getNetworkId({ walletProviderKey });\n };\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype SwitchActiveNetworkInLastKnownRegistry = (args: {\n client: DynamicClient;\n networkId: string;\n walletProviderKey: string;\n}) => ReturnType<NonNullable<WalletProvider['switchActiveNetwork']>>;\n\n/** @notInstrumented */\nexport const switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry =\n async ({ client, networkId, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n await networkRegistry.setNetworkId({\n networkId,\n walletProviderKey,\n });\n };\n","import EventEmitter from 'eventemitter3';\n\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport type { WalletProvider } from '../../walletProvider.types';\nimport type { WalletProviderEvents } from '../walletProviderEvents.types';\n\ntype CreateWalletProviderEventEmitterParams<R = void> = {\n /**\n * Callback responsible for removing the listeners from the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n * @notInstrumented\n */\n removeEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n /**\n * Value returned by setupEventListeners, particularly useful for cleaning up the event listeners\n */\n setupReturnValue: R;\n }) => void;\n /**\n * Callback responsible for connecting the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n *\n * @returns May return a value that will be later passed to removeEventListeners as `setupReturnValue`\n */\n setupEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n }) => R;\n /**\n * List of events that the wallet provider supports listening to.\n * Defaults to all events.\n */\n supportedEvents?: (keyof WalletProviderEvents)[];\n};\n\n/**\n * Takes a callback that registers handlers for the external wallet provider.\n * Returns both a getter of an eventEmitter that can be exposed via the wallet provider\n * and a callback that will be used to destroy the listeners.\n * @notInstrumented\n */\nexport const createWalletProviderEventEmitter = <R = void>({\n removeEventListeners,\n setupEventListeners,\n supportedEvents = ['accountsChanged', 'disconnected', 'networkChanged'],\n}: CreateWalletProviderEventEmitterParams<R>) => {\n let eventEmitter: EventEmitter<WalletProviderEvents> | undefined;\n\n /** Value returned by setupEventListeners */\n let setupReturnValue: R;\n\n const handleAccountsChanged = (params: { addresses: string[] }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('accountsChanged', params);\n };\n\n const handleDisconnected = () => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('disconnected');\n };\n\n const handleNetworkChanged = (params: { networkId: string }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('networkChanged', params);\n };\n\n const cleanupEventEmitter = () => {\n if (!eventEmitter) {\n return;\n }\n\n removeEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n setupReturnValue,\n });\n\n eventEmitter = undefined;\n };\n\n const getEventEmitter = (): WalletProvider['events'] => {\n if (!eventEmitter) {\n eventEmitter = new EventEmitter<WalletProviderEvents>();\n\n setupReturnValue = setupEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n });\n }\n\n return Object.assign(eventEmitter, { supportedEvents });\n };\n\n return {\n cleanupEventEmitter,\n getEventEmitter,\n };\n};\n","import type * as z from 'zod/mini';\n\nimport type { RealtimeChannelSchema } from '../realtime.types';\n\n/**\n * Defines a typed schema for a realtime channel — analogous to `createStorageKeySchema`\n * for storage. Pairs a channel name with a Zod schema that validates the shape of\n * messages sent and received on that channel. Pass the result to the realtime service's\n * `subscribe` / `unsubscribe` / `publish` methods to get end-to-end type safety.\n * @notInstrumented\n */\nexport const createRealtimeChannelSchema = <T>(params: {\n channel: string;\n schema: z.ZodMiniType<T>;\n}): RealtimeChannelSchema<T> => params;\n","/* eslint-disable func-style -- javascript requires this to be a function */\n\nimport { ArrayMustNotBeEmptyError } from './../../errors/ArrayMustNotBeEmptyError';\n\n/**\n * Asserts that a value is a non-empty array, throwing an error if it is null,\n * undefined, or has zero elements. This function acts as a type guard,\n * narrowing the type to a tuple of at least one element.\n *\n * @template T - The element type of the array being checked\n * @param value - The array (or possibly null/undefined value) to check\n * @param message - The error message to throw if the value is empty or missing\n * @throws Throws an error with the provided message if value is null, undefined, or empty\n * @example\n * ```typescript\n * const maybeNetworks: Network[] | undefined = getNetworks();\n * assertNonEmptyArray(maybeNetworks, 'At least one network is required');\n * // maybeNetworks is now typed as [Network, ...Network[]]\n * const first = maybeNetworks[0]; // safely accessible without `| undefined`\n * ```\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport function assertNonEmptyArray<T>(\n value: T[] | null | undefined,\n message: string\n): asserts value is [T, ...T[]] {\n if (!value || value.length === 0) {\n throw new ArrayMustNotBeEmptyError(message);\n }\n}\n","import { getBuffer } from \"../getBuffer\";\n\n/** @notInstrumented */\nexport const bufferToBase64 = (buf: Uint8Array): string => {\n const binstr = Array.prototype.map\n .call(buf, (ch: number) => String.fromCharCode(ch))\n .join('');\n return getBuffer().from(binstr, 'binary').toString('base64');\n};\n","/**\n * Filter duplicates from an array by equality.\n * Uses a Set internally.\n * @notInstrumented\n */\nexport const filterDuplicates = <T>(array: T[]): T[] =>\n Array.from(new Set(array));\n","type ParseAmountToSmallestUnitParams = {\n amount: string;\n decimals: number;\n};\n\n/**\n * Converts a human-readable decimal amount string to the smallest unit\n * representation as a bigint, using string-based arithmetic to avoid\n * floating-point precision loss.\n *\n * @example\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 9 }) // 1500000000n (1.5 SOL in lamports)\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 8 }) // 150000000n (1.5 BTC in satoshis)\n * parseAmountToSmallestUnit({ amount: '10.5', decimals: 6 }) // 10500000n (10.5 USDC)\n * parseAmountToSmallestUnit({ amount: '0.1', decimals: 9 }) // 100000000n (no float error)\n *\n * @param params.amount - The amount as a decimal string (e.g. \"1.5\").\n * @param params.decimals - The number of decimal places for the token.\n * @returns The amount in smallest units as a bigint.\n * @notInstrumented\n */\nexport const parseAmountToSmallestUnit = ({\n amount,\n decimals,\n}: ParseAmountToSmallestUnitParams): bigint => {\n const [whole = '0', fraction = ''] = amount.split('.');\n const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);\n return BigInt(whole + paddedFraction);\n};\n","import { BaseError } from './base';\n\ntype ReactNativeOnlyErrorParams = {\n apiName: string;\n};\n\nexport class ReactNativeOnlyError extends BaseError {\n constructor({ apiName }: ReactNativeOnlyErrorParams) {\n super({\n cause: null,\n code: 'react_native_only_error',\n docsUrl: null,\n name: 'ReactNativeOnlyError',\n shortMessage: `${apiName} is only available in React Native environments.`,\n });\n }\n}\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { ReactNativeManifest } from '../nativeManifest.types';\n\n/**\n * Returns the React Native manifest containing native SDK metadata.\n *\n * This function is only available in React Native environments.\n * On web, it throws a `ReactNativeOnlyError`.\n *\n * @notInstrumented\n */\nexport const getReactNativeManifest = (): ReactNativeManifest => {\n throw new ReactNativeOnlyError({ apiName: 'getReactNativeManifest' });\n};\n","const SCHEME_SEPARATOR = '://';\n\n/** Parameters for {@link getNativeLinkScheme}. */\nexport type GetNativeLinkSchemeParams = {\n /** A native link, e.g. `myapp://wallet/connect`. */\n nativeLink: string | undefined;\n};\n\n/**\n * Reduces a native link to just its URL scheme (e.g.\n * `myapp://wallet/connect` -> `myapp://`), dropping anything after the scheme\n * separator. A native link may be configured with an in-app route, but a\n * consumer that only needs to deep link back into the app (rather than a\n * specific route) should use the scheme alone. Links without a scheme\n * separator are returned unchanged (they cannot carry a route), and\n * `undefined` passes through.\n *\n * @notInstrumented\n */\nexport const getNativeLinkScheme = ({\n nativeLink,\n}: GetNativeLinkSchemeParams): string | undefined => {\n if (nativeLink === undefined) {\n return undefined;\n }\n\n const schemeSeparatorIndex = nativeLink.indexOf(SCHEME_SEPARATOR);\n\n if (schemeSeparatorIndex === -1) {\n return nativeLink;\n }\n\n return nativeLink.slice(0, schemeSeparatorIndex + SCHEME_SEPARATOR.length);\n};\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { SetScreenshotProtectionParams } from './setScreenshotProtection.types';\n\n/**\n * Web/desktop counterpart of the React Native `setScreenshotProtection` (see\n * `setScreenshotProtection.native.ts`).\n *\n * Screenshot/recording protection is a native window-level capability with no\n * web equivalent. Rather than silently no-op (which would let a desktop caller\n * believe content is protected when it is not), this throws a\n * `ReactNativeOnlyError` so an accidental web/desktop call is loud — the API is\n * intentionally React-Native-only.\n *\n * @notInstrumented\n */\nexport const setScreenshotProtection = ({\n // Destructured to keep an identical signature to the native implementation\n // for the platform-type parity check; unused because this always throws.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n enabled,\n}: SetScreenshotProtectionParams): void => {\n throw new ReactNativeOnlyError({ apiName: 'setScreenshotProtection' });\n};\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building Dynamic SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { getCore } from '../client/core/getCore';\n/** @category Extension Development */\nexport type { DynamicCore, DynamicCoreState } from '../client/core/types';\n/** @category Extension Development */\nexport { getDefaultClient } from '../client/defaultClient';\n/** @category Extension Development */\nexport { APIError } from '../errors/APIError';\n/** @category Extension Development */\nexport { ArrayMustNotBeEmptyError } from '../errors/ArrayMustNotBeEmptyError';\n/** @category Extension Development */\nexport { CannotTrackError } from '../errors/CannotTrackError';\n/** @category Extension Development */\nexport { ClientNotFoundError } from '../errors/ClientNotFoundError';\n/** @category Extension Development */\nexport { ClientsDoNotMatchError } from '../errors/ClientsDoNotMatchError';\n/** @category Extension Development */\nexport { InvalidStorageSet } from '../errors/InvalidStorageSet';\n/** @category Extension Development */\nexport { InvalidWalletProviderKeyError } from '../errors/InvalidWalletProviderKeyError';\n/** @category Extension Development */\nexport { MethodNotImplementedError } from '../errors/MethodNotImplementedError';\n/** @category Extension Development */\nexport { MultipleClientsFoundError } from '../errors/MultipleClientsFoundError';\n/** @category Extension Development */\nexport { NoWalletProviderFoundError } from '../errors/NoWalletProviderFoundError';\n/** @category Extension Development */\nexport { ValueMustBeDefinedError } from '../errors/ValueMustBeDefinedError';\n/** @category Extension Development */\nexport { createApiClient, DYNAMIC_SDK_API_VERSION } from '../modules/apiClient';\n/** @category Extension Development */\nexport { createVisit } from '../modules/auth/createVisit';\n/** @category Extension Development */\nexport { logoutWithReason } from '../modules/auth/logoutWithReason';\n/** @category Extension Development */\nexport { updateAuthFromVerifyResponse } from '../modules/auth/updateAuthFromVerifyResponse';\n/** @category Extension Development */\nexport { consumeCaptchaToken } from '../modules/captcha/consumeCaptchaToken';\n/** @category Extension Development */\nexport { setCaptchaToken } from '../modules/captcha/setCaptchaToken';\n/** @category Extension Development */\nexport { emitEvent } from '../modules/clientEvents';\n/** @category Extension Development */\nexport { hasExtension } from '../modules/extension/hasExtension';\n/** @category Extension Development */\nexport { registerExtension } from '../modules/extension/registerExtension';\n/** @category Extension Development */\nexport { waitForProjectSettings } from '../modules/initializeClient/waitForProjectSettings';\n/** @category Extension Development */\nexport { getElevatedAccessToken } from '../modules/auth/getElevatedAccessToken';\n/** @category Extension Development */\nexport { consumeMfaTokenIfRequiredForAction } from '../modules/mfa/consumeMfaTokenIfRequiredForAction';\n/** @category Extension Development */\nexport { isCookieEnabled } from '../modules/projectSettings/isCookieEnabled';\n/** @category Extension Development */\nexport { generateSessionKeys } from '../modules/sessionKeys/generateSessionKeys/generateSessionKeys';\n/** @category Extension Development */\nexport { getSessionKeys } from '../modules/sessionKeys/getSessionKeys';\n/** @category Extension Development */\nexport { getSignedSessionId } from '../modules/sessionKeys/getSignedSessionId';\n/** @category Extension Development */\nexport type { SessionKeys } from '../modules/sessionKeys/sessionKeys.types';\n/** @category Extension Development */\nexport { CHAINS_INFO_MAP } from '../modules/wallets/constants';\n/** @category Extension Development */\nexport { emitWalletAccountsChangedEvent } from '../modules/wallets/emitWalletAccountsChangedEvent';\n/** @category Extension Development */\nexport { getWalletProviders } from '../modules/wallets/getWalletProviders';\n/** @category Extension Development */\nexport { createBaseNetworkProvider } from '../modules/wallets/networks/createBaseNetworkProvider';\n/** @category Extension Development */\nexport { getNetworkDataForNetworkId } from '../modules/wallets/networks/getNetworkDataForNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviderFromNetworkId } from '../modules/wallets/networks/getNetworkProviderFromNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviders } from '../modules/wallets/networks/getNetworkProviders';\n/** @category Extension Development */\nexport { getLastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry';\n/** @category Extension Development */\nexport type { LastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/LastKnownNetworkRegistry.types';\n/** @category Extension Development */\nexport type { BaseNetworkProvider } from '../modules/wallets/networks/networkProvider/networkProvider.types';\n/** @category Extension Development */\nexport {\n getNetworkProviderBuilderRegistry,\n type NetworkProviderBuilder,\n type NetworkProviderBuilderRegistry,\n} from '../modules/wallets/networks/networkProviderBuilderRegistry';\n/** @category Extension Development */\nexport { reconcileWalletAccountsAgainstClient } from '../modules/wallets/reconcileWalletAccountsAgainstClient';\n/** @category Extension Development */\nexport { removeUnverifiedWalletAccount } from '../modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount';\nexport { setUnverifiedWalletAccounts } from '../modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts';\n/** @category Extension Development */\nexport { formatSignInMessage } from '../modules/wallets/utils/formatSignInMessage';\n/** @category Extension Development */\nexport { formatWalletAccountId } from '../modules/wallets/utils/formatWalletAccountId';\n/** @category Extension Development */\nexport { formatWalletProviderGroupKey } from '../modules/wallets/utils/formatWalletProviderGroupKey';\n/** @category Extension Development */\nexport { formatWalletProviderKey } from '../modules/wallets/utils/formatWalletProviderKey';\n/** @category Extension Development */\nexport { getAllProvidersFromWindow } from '../modules/wallets/utils/getAllProvidersFromWindow';\n/** @category Extension Development */\nexport { getInjectedProviderFromWindow } from '../modules/wallets/utils/getInjectedProviderFromWindow';\n/** @category Extension Development */\nexport { getVerifiedCredentialForWalletAccount } from '../modules/wallets/utils/getVerifiedCredentialForWalletAccount';\n/** @category Extension Development */\nexport { getWalletProviderFromWalletAccount } from '../modules/wallets/utils/getWalletProviderFromWalletAccount';\n/** @category Extension Development */\nexport { normalizeWalletNameWithChain } from '../modules/wallets/utils/normalizeWalletNameWithChain';\n/** @category Extension Development */\nexport { verifyMessageSignatureOwnership } from '../modules/wallets/verifyMessageSignatureOwnership';\n/** @category Extension Development */\nexport type { BaseWalletAccount } from '../modules/wallets/walletAccount';\n/** @category Extension Development */\nexport type {\n ConfirmTransactionParams,\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n TransferAmountParams,\n WalletProvider,\n WalletProviderConnectAddress,\n} from '../modules/wallets/walletProvider';\n/** @category Extension Development */\nexport { getActiveNetworkIdFromLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry';\n/** @category Extension Development */\nexport { switchActiveNetworkInLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry';\n/** @category Extension Development */\nexport { createWalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\n/** @category Extension Development */\nexport { splitWalletProviderKey } from '../modules/wallets/walletProvider/splitWalletProviderKey';\n/** @category Extension Development */\nexport {\n getWalletProviderRegistry,\n WalletProviderPriority,\n} from '../modules/wallets/walletProviderRegistry';\n/** @category Extension Development */\nexport type {\n AsyncProcessEntry,\n AsyncProcessStatus,\n AsyncTrack,\n AsyncTrackEmitter,\n} from '../services/asyncTrack/asyncTrack.types';\n/** @category Extension Development */\nexport { createCrossTabBroadcast } from '../services/crossTabBroadcast/createCrossTabBroadcast';\n/** @category Extension Development */\nexport type {\n CrossTabBroadcast,\n CrossTabBroadcastMessage,\n} from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { CrossTabBroadcastMessageSchema } from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { createRealtimeChannelSchema } from '../services/realtime/createRealtimeChannelSchema';\n/** @category Extension Development */\nexport { createRealtimeService } from '../services/realtime/createRealtimeService';\n/** @category Extension Development */\nexport type {\n RealtimeChannelSchema,\n RealtimeConnectionState,\n RealtimeService,\n} from '../services/realtime';\n/** @category Extension Development */\nexport { createLogger } from '../services/logger/createLogger';\n/** @category Extension Development */\nexport type { Logger, LogLevel } from '../services/logger/logger.types';\n/** @category Extension Development */\nexport { createKeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { KeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { PasskeyService } from '../services/passkey';\n/** @category Extension Development */\nexport {\n createRuntimeServiceAccessKey,\n type RuntimeServices,\n} from '../services/runtimeServices';\n/** @category Extension Development */\nexport {\n createLocalStorageAdapter,\n createStorage,\n createStorageKeySchema,\n type Storage,\n type StorageAdapter,\n type StorageAdapterOptions,\n type StorageKeySchema,\n type StorageKeySchemaConfig,\n type StorageTier,\n} from '../services/storage';\n/** @category Extension Development */\nexport type { ExtendParameters } from '../types/ExtendParameters';\n/** @category Extension Development */\nexport { assertDefined } from '../utils/assertDefined';\n/** @category Extension Development */\nexport { assertNonEmptyArray } from '../utils/assertNonEmptyArray';\n/** @category Extension Development */\nexport { bufferToBase64 } from '../utils/bufferToBase64';\n/** @category Extension Development */\nexport type { DebouncedMutex } from '../utils/debouncedMutex/debouncedMutex.types';\n/** @category Extension Development */\nexport { filterDuplicates } from '../utils/filterDuplicates';\n/** @category Extension Development */\nexport { getBuffer } from '../utils/getBuffer';\n/** @category Extension Development */\nexport { getChainFromVerifiedCredentialChain } from '../utils/getChainFromVerifiedCredentialChain';\n/** @category Extension Development */\nexport { getKeychainIndexedDBName } from '../utils/getKeychainIndexedDBName';\n/** @category Extension Development */\nexport { getNonce } from '../utils/getNonce';\n/** @category Extension Development */\nexport { parseAmountToSmallestUnit } from '../utils/parseAmountToSmallestUnit';\n/** @category Extension Development */\nexport type { ObservableState } from '../utils/observable/observable.types';\n/** @category Extension Development */\nexport { createSignInMessageStatement } from '../modules/wallets/utils/getSignInMessage/createSignInMessageStatement';\n/** @category Extension Development */\nexport { subscribeWithSelector } from '../utils/observable/subscribeWithSelector';\n/** @category Extension Development */\nexport { updateWalletProviderKeysForVerifiedCredentials } from '../modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials';\n/** @category Extension Development */\nexport { DYNAMIC_ICONIC_SPRITE_URL } from '../constants';\n/** @category Extension Development */\nexport { createDeferredPromise } from '../utils/deferredPromise';\n/** @category Extension Development */\nexport { getDeviceSigner } from '../modules/deviceRegistration/getDeviceSigner';\n/** @category Extension Development */\nexport { getHeadersForNonceSignedByDeviceSigners } from '../modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners';\n/** @category Extension Development */\nexport { createDeviceSignatureHeadersMiddleware } from '../modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware';\n/** @category Extension Development */\nexport { randomString } from '../utils/randomString';\n/** @category Extension Development */\nexport { getReactNativeManifest } from '../services/nativeManifest/getReactNativeManifest';\n/** @category Extension Development */\nexport type { ReactNativeManifest } from '../services/nativeManifest/nativeManifest.types';\n/** @category Extension Development */\nexport { getAppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport type { AppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport { getNativeLinkScheme } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport type { GetNativeLinkSchemeParams } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport { setScreenshotProtection } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection';\n/** @category Extension Development */\nexport type { SetScreenshotProtectionParams } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"core.cjs","names":["BaseError","BaseError","BaseError","getCore","getCore","FETCH_PROJECT_SETTINGS_TRACKER_KEY","getNetworksData","createStorageKeySchema","z","getCore","getNetworkId: LastKnownNetworkRegistry['getNetworkId']","getWalletProviderByKey","getNetworkProviders","NoNetworkProvidersError","setNetworkId: LastKnownNetworkRegistry['setNetworkId']","createRuntimeServiceAccessKey","target: unknown","providers: T[]","target: unknown","getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry","switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry","eventEmitter: EventEmitter<WalletProviderEvents> | undefined","setupReturnValue: R","EventEmitter","getBuffer","BaseError","packageName","packageVersion"],"sources":["../src/errors/ArrayMustNotBeEmptyError.ts","../src/errors/ClientsDoNotMatchError.ts","../src/errors/MultipleClientsFoundError.ts","../src/modules/extension/registerExtension/registerExtension.ts","../src/modules/initializeClient/waitForProjectSettings/waitForProjectSettings.ts","../src/modules/wallets/networks/createBaseNetworkProvider/createBaseNetworkProvider.ts","../src/modules/wallets/networks/getNetworkDataForNetworkId/getNetworkDataForNetworkId.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/schema.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/createLastKnownNetworkRegistry/createLastKnownNetworkRegistry.ts","../src/modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry.ts","../src/modules/wallets/utils/formatWalletProviderGroupKey/formatWalletProviderGroupKey.ts","../src/modules/wallets/utils/getAllProvidersFromWindow/getAllProvidersFromWindow.ts","../src/modules/wallets/utils/getInjectedProviderFromWindow/getInjectedProviderFromWindow.ts","../src/modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry/getActiveNetworkIdFromLastKnownRegistry.ts","../src/modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry/switchActiveNetworkInLastKnownRegistry.ts","../src/modules/wallets/walletProvider/events/createWalletProviderEventEmitter/createWalletProviderEventEmitter.ts","../src/services/realtime/createRealtimeChannelSchema/createRealtimeChannelSchema.ts","../src/utils/assertNonEmptyArray/assertNonEmptyArray.ts","../src/utils/bufferToBase64/bufferToBase64.ts","../src/utils/filterDuplicates/filterDuplicates.ts","../src/utils/parseAmountToSmallestUnit/parseAmountToSmallestUnit.ts","../src/errors/ReactNativeOnlyError.ts","../src/services/nativeManifest/getReactNativeManifest/getReactNativeManifest.ts","../src/utils/getNativeLinkScheme/getNativeLinkScheme.ts","../src/modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.ts","../src/exports/core.ts"],"sourcesContent":["import { BaseError } from './base';\n\nexport class ArrayMustNotBeEmptyError extends BaseError {\n // eslint-disable-next-line custom-rules/require-single-object-param\n constructor(message: string) {\n super({\n cause: null,\n code: 'array_must_not_be_empty_error',\n docsUrl: null,\n name: 'ArrayMustNotBeEmpty',\n shortMessage: message,\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class ClientsDoNotMatchError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'clients_do_not_match_error',\n docsUrl: null,\n name: 'ClientsDoNotMatchError',\n shortMessage: 'Clients do not match',\n });\n }\n}\n","import { BaseError } from './base';\n\nexport class MultipleClientsFoundError extends BaseError {\n constructor() {\n super({\n cause: null,\n code: 'multiple_clients_found_error',\n docsUrl: null,\n name: 'MultipleClientsFoundError',\n shortMessage:\n 'Multiple Dynamic clients have been initialized. Please provide the intended client for this action explicitly',\n });\n }\n}\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\n\ntype RegisterExtensionParams = {\n extensionKey: string;\n};\n\n/**\n * Registers an extension to the client.\n *\n * Other extensions can be aware of which extensions are present,\n * and allows creating dependencies between extensions.\n *\n * @param client - The client instance.\n * @param extensionKey - The key of the extension to register.\n * @returns The client instance.\n * @notInstrumented\n */\nexport const registerExtension = (\n { extensionKey }: RegisterExtensionParams,\n client: DynamicClient\n) => {\n const core = getCore(client);\n\n core.extensions.add(extensionKey);\n};\n","import { getCore } from '../../../client/core/getCore';\nimport type { DynamicClient } from '../../../client/types';\nimport { assertDefined } from '../../../utils/assertDefined';\nimport { FETCH_PROJECT_SETTINGS_TRACKER_KEY } from '../consts';\n\n/** @notInstrumented */\nexport const waitForProjectSettings = async (client: DynamicClient) => {\n const core = getCore(client);\n\n const projectSettingsTracker = core.initTrack.getTracker<void>(\n FETCH_PROJECT_SETTINGS_TRACKER_KEY\n );\n\n assertDefined(projectSettingsTracker, 'Project settings tracker not found');\n\n await projectSettingsTracker.promise;\n\n assertDefined(\n client.projectSettings,\n 'Project settings still not available after awaiting its tracker'\n );\n\n return client.projectSettings;\n};\n","import type { Chain } from '../../../chain';\nimport type {\n BaseNetworkProvider,\n NetworkData,\n} from '../networkProvider/networkProvider.types';\n\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const createBaseNetworkProvider = <TChain extends Chain = Chain>(\n chain: TChain,\n networkData: NetworkData\n): Omit<BaseNetworkProvider<TChain>, 'getBalance'> => ({\n blockExplorerUrls: networkData.blockExplorerUrls,\n chain,\n displayName: networkData.displayName,\n iconUrl: networkData.iconUrl,\n id: `${chain}-${networkData.networkId}`,\n name: networkData.name,\n nativeCurrency: networkData.nativeCurrency,\n networkId: networkData.networkId,\n rpcUrls: networkData.rpcUrls,\n testnet: networkData.testnet,\n});\n","import type { DynamicClient } from '../../../../client/types';\nimport type { Chain } from '../../../chain';\nimport { getNetworksData } from '../getNetworksData';\nimport type { NetworkData } from '../networkProvider/networkProvider.types';\n\ntype GetNetworkDataForNetworkIdProps = {\n chain: Chain;\n networkId: string;\n};\n\n/** @notInstrumented */\nexport const getNetworkDataForNetworkId = (\n { networkId, chain }: GetNetworkDataForNetworkIdProps,\n client: DynamicClient\n): NetworkData | undefined => {\n const networksData = getNetworksData(client);\n\n const networkData = networksData.find(\n (networkData) =>\n networkData.networkId === networkId && networkData.chain === chain\n );\n\n return networkData;\n};\n","import * as z from 'zod/mini';\n\nimport { createStorageKeySchema } from '../../../../../services/storage';\n\nexport const networkRegistryStorageKeySchema = createStorageKeySchema({\n key: 'lastKnownNetworkRegistry',\n schema: z.record(z.string(), z.string()),\n});\n","import { getCore } from '../../../../../client/core/getCore';\nimport type { DynamicClient } from '../../../../../client/types';\nimport { NoNetworkProvidersError } from '../../../../../errors/NoNetworkProvidersError';\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport { getWalletProviderByKey } from '../../../getWalletProviderByKey';\nimport { getNetworkProviders } from '../../getNetworkProviders';\nimport type { LastKnownNetworkRegistry } from '../LastKnownNetworkRegistry.types';\nimport { networkRegistryStorageKeySchema } from './schema';\n\n/**\n * Creates the registry that keeps tabs on which wallet provider is\n * connected to which network.\n *\n * Reminder that this will not be used for chains that have an internal way to\n * switch networks (ex EVM).\n * @notInstrumented\n */\nexport const createLastKnownNetworkRegistry = (\n client: DynamicClient\n): LastKnownNetworkRegistry => {\n const core = getCore(client);\n\n const walletProviderKeyToNetworkId = new Map<string, string>();\n\n const getNetworkId: LastKnownNetworkRegistry['getNetworkId'] = async ({\n walletProviderKey,\n }) => {\n // Priorities:\n // 1. In memory\n // 2. Storage\n // 3. First available network for this wallet's chain\n\n if (walletProviderKeyToNetworkId.has(walletProviderKey)) {\n return {\n networkId: walletProviderKeyToNetworkId.get(\n walletProviderKey\n ) as string,\n };\n }\n\n const storageRecords = await core.storage.getItem(\n networkRegistryStorageKeySchema\n );\n\n if (storageRecords && storageRecords[walletProviderKey]) {\n const networkId = storageRecords[walletProviderKey];\n\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n return { networkId };\n }\n\n const walletProvider = getWalletProviderByKey(\n { walletProviderKey },\n client\n );\n\n const networkProviders = getNetworkProviders(client);\n\n if (networkProviders.length === 0) {\n throw new NoNetworkProvidersError();\n }\n\n const defaultNetworkProvider = networkProviders.find(\n (networkProvider) => networkProvider.chain === walletProvider.chain\n );\n\n assertDefined(\n defaultNetworkProvider,\n `No networks found for chain ${walletProvider.chain}`\n );\n\n walletProviderKeyToNetworkId.set(\n walletProviderKey,\n defaultNetworkProvider.networkId\n );\n\n // No need to set in storage, as we're just falling back to the default\n return { networkId: defaultNetworkProvider.networkId };\n };\n\n const setNetworkId: LastKnownNetworkRegistry['setNetworkId'] = async ({\n networkId,\n walletProviderKey,\n }) => {\n walletProviderKeyToNetworkId.set(walletProviderKey, networkId);\n\n await core.storage.setItem(\n networkRegistryStorageKeySchema,\n Object.fromEntries(walletProviderKeyToNetworkId.entries())\n );\n };\n\n return { getNetworkId, setNetworkId };\n};\n","import { createRuntimeServiceAccessKey } from '../../../../../services/runtimeServices';\nimport { createLastKnownNetworkRegistry } from '../createLastKnownNetworkRegistry';\n\nexport const getLastKnownNetworkRegistry = createRuntimeServiceAccessKey(\n 'last-known-network-registry',\n (client) => createLastKnownNetworkRegistry(client)\n);\n","/** @notInstrumented */\nexport const formatWalletProviderGroupKey = (walletName: string): string =>\n walletName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();\n","/* eslint-disable no-restricted-globals */\n\n/**\n * Retrieves all providers from a window path.\n *\n * Unlike getInjectedProviderFromWindow which returns only the first provider,\n * this function returns ALL providers found at the path, including those\n * in a .providers array if present.\n *\n * This is particularly useful for detecting wallet providers in wallet app\n * in-app browsers, where wallets inject their provider into the window object.\n *\n * @param path - Dot-separated path to traverse (e.g., \"ethereum\")\n * @returns Array of all providers found, or empty array if none\n * @notInstrumented\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getAllProvidersFromWindow = <T = unknown>(path: string): T[] => {\n if (typeof window === 'undefined') {\n return [];\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return [];\n }\n\n if (Array.isArray(target)) {\n return target as T[];\n }\n\n const providers: T[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n // If target has a .providers array, return all providers from it\n if (providersArray && Array.isArray(providersArray)) {\n providers.push(...(providersArray as T[]));\n }\n\n // Always include the target itself as a provider (if it's not just a container)\n // This handles the case where window.ethereum is both a provider AND has a providers array\n providers.push(target as T);\n\n return providers;\n};\n","/* eslint-disable no-restricted-globals */\n/** @notInstrumented */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport const getInjectedProviderFromWindow = <T = unknown>(\n path: string\n): T | null => {\n if (typeof window === 'undefined') {\n return null;\n }\n\n // Traverse the path safely\n const target: unknown = path.split('.').reduce<unknown>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (acc, key) => (acc == null ? null : (acc as any)[key]),\n window\n );\n\n if (typeof target !== 'object' || target === null) {\n return null;\n }\n\n if (Array.isArray(target)) {\n return target.length > 0 ? (target[0] as T) : null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const providersArray = (target as any).providers;\n\n if (providersArray && Array.isArray(providersArray)) {\n return providersArray.length > 0 ? (providersArray[0] as T) : null;\n }\n\n return target as T;\n};\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype GetActiveNetworkIdFromLastKnownRegistry = (args: {\n client: DynamicClient;\n walletProviderKey: string;\n}) => ReturnType<WalletProvider['getActiveNetworkId']>;\n\n/** @notInstrumented */\nexport const getActiveNetworkIdFromLastKnownRegistry: GetActiveNetworkIdFromLastKnownRegistry =\n async ({ client, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n return networkRegistry.getNetworkId({ walletProviderKey });\n };\n","import type { DynamicClient } from '../../../../../client/types/DynamicClient';\nimport { getLastKnownNetworkRegistry } from '../../../networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry/getLastKnownNetworkRegistry';\nimport type { WalletProvider } from '../../walletProvider.types';\n\ntype SwitchActiveNetworkInLastKnownRegistry = (args: {\n client: DynamicClient;\n networkId: string;\n walletProviderKey: string;\n}) => ReturnType<NonNullable<WalletProvider['switchActiveNetwork']>>;\n\n/** @notInstrumented */\nexport const switchActiveNetworkInLastKnownRegistry: SwitchActiveNetworkInLastKnownRegistry =\n async ({ client, networkId, walletProviderKey }) => {\n const networkRegistry = getLastKnownNetworkRegistry(client);\n\n await networkRegistry.setNetworkId({\n networkId,\n walletProviderKey,\n });\n };\n","import EventEmitter from 'eventemitter3';\n\nimport { assertDefined } from '../../../../../utils/assertDefined';\nimport type { WalletProvider } from '../../walletProvider.types';\nimport type { WalletProviderEvents } from '../walletProviderEvents.types';\n\ntype CreateWalletProviderEventEmitterParams<R = void> = {\n /**\n * Callback responsible for removing the listeners from the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n * @notInstrumented\n */\n removeEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n /**\n * Value returned by setupEventListeners, particularly useful for cleaning up the event listeners\n */\n setupReturnValue: R;\n }) => void;\n /**\n * Callback responsible for connecting the external wallet provider event emitters\n * to the the Dynamic handlers that will emit the wallet provider events.\n *\n * @returns May return a value that will be later passed to removeEventListeners as `setupReturnValue`\n */\n setupEventListeners: (params: {\n handleAccountsChanged: (params: { addresses: string[] }) => void;\n handleDisconnected: () => void;\n handleNetworkChanged: (params: { networkId: string }) => void;\n }) => R;\n /**\n * List of events that the wallet provider supports listening to.\n * Defaults to all events.\n */\n supportedEvents?: (keyof WalletProviderEvents)[];\n};\n\n/**\n * Takes a callback that registers handlers for the external wallet provider.\n * Returns both a getter of an eventEmitter that can be exposed via the wallet provider\n * and a callback that will be used to destroy the listeners.\n * @notInstrumented\n */\nexport const createWalletProviderEventEmitter = <R = void>({\n removeEventListeners,\n setupEventListeners,\n supportedEvents = ['accountsChanged', 'disconnected', 'networkChanged'],\n}: CreateWalletProviderEventEmitterParams<R>) => {\n let eventEmitter: EventEmitter<WalletProviderEvents> | undefined;\n\n /** Value returned by setupEventListeners */\n let setupReturnValue: R;\n\n const handleAccountsChanged = (params: { addresses: string[] }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('accountsChanged', params);\n };\n\n const handleDisconnected = () => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('disconnected');\n };\n\n const handleNetworkChanged = (params: { networkId: string }) => {\n assertDefined(eventEmitter, 'Event emitter not defined');\n eventEmitter.emit('networkChanged', params);\n };\n\n const cleanupEventEmitter = () => {\n if (!eventEmitter) {\n return;\n }\n\n removeEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n setupReturnValue,\n });\n\n eventEmitter = undefined;\n };\n\n const getEventEmitter = (): WalletProvider['events'] => {\n if (!eventEmitter) {\n eventEmitter = new EventEmitter<WalletProviderEvents>();\n\n setupReturnValue = setupEventListeners({\n handleAccountsChanged,\n handleDisconnected,\n handleNetworkChanged,\n });\n }\n\n return Object.assign(eventEmitter, { supportedEvents });\n };\n\n return {\n cleanupEventEmitter,\n getEventEmitter,\n };\n};\n","import type * as z from 'zod/mini';\n\nimport type { RealtimeChannelSchema } from '../realtime.types';\n\n/**\n * Defines a typed schema for a realtime channel — analogous to `createStorageKeySchema`\n * for storage. Pairs a channel name with a Zod schema that validates the shape of\n * messages sent and received on that channel. Pass the result to the realtime service's\n * `subscribe` / `unsubscribe` / `publish` methods to get end-to-end type safety.\n * @notInstrumented\n */\nexport const createRealtimeChannelSchema = <T>(params: {\n channel: string;\n schema: z.ZodMiniType<T>;\n}): RealtimeChannelSchema<T> => params;\n","/* eslint-disable func-style -- javascript requires this to be a function */\n\nimport { ArrayMustNotBeEmptyError } from './../../errors/ArrayMustNotBeEmptyError';\n\n/**\n * Asserts that a value is a non-empty array, throwing an error if it is null,\n * undefined, or has zero elements. This function acts as a type guard,\n * narrowing the type to a tuple of at least one element.\n *\n * @template T - The element type of the array being checked\n * @param value - The array (or possibly null/undefined value) to check\n * @param message - The error message to throw if the value is empty or missing\n * @throws Throws an error with the provided message if value is null, undefined, or empty\n * @example\n * ```typescript\n * const maybeNetworks: Network[] | undefined = getNetworks();\n * assertNonEmptyArray(maybeNetworks, 'At least one network is required');\n * // maybeNetworks is now typed as [Network, ...Network[]]\n * const first = maybeNetworks[0]; // safely accessible without `| undefined`\n * ```\n */\n// eslint-disable-next-line custom-rules/require-single-object-param\nexport function assertNonEmptyArray<T>(\n value: T[] | null | undefined,\n message: string\n): asserts value is [T, ...T[]] {\n if (!value || value.length === 0) {\n throw new ArrayMustNotBeEmptyError(message);\n }\n}\n","import { getBuffer } from \"../getBuffer\";\n\n/** @notInstrumented */\nexport const bufferToBase64 = (buf: Uint8Array): string => {\n const binstr = Array.prototype.map\n .call(buf, (ch: number) => String.fromCharCode(ch))\n .join('');\n return getBuffer().from(binstr, 'binary').toString('base64');\n};\n","/**\n * Filter duplicates from an array by equality.\n * Uses a Set internally.\n * @notInstrumented\n */\nexport const filterDuplicates = <T>(array: T[]): T[] =>\n Array.from(new Set(array));\n","type ParseAmountToSmallestUnitParams = {\n amount: string;\n decimals: number;\n};\n\n/**\n * Converts a human-readable decimal amount string to the smallest unit\n * representation as a bigint, using string-based arithmetic to avoid\n * floating-point precision loss.\n *\n * @example\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 9 }) // 1500000000n (1.5 SOL in lamports)\n * parseAmountToSmallestUnit({ amount: '1.5', decimals: 8 }) // 150000000n (1.5 BTC in satoshis)\n * parseAmountToSmallestUnit({ amount: '10.5', decimals: 6 }) // 10500000n (10.5 USDC)\n * parseAmountToSmallestUnit({ amount: '0.1', decimals: 9 }) // 100000000n (no float error)\n *\n * @param params.amount - The amount as a decimal string (e.g. \"1.5\").\n * @param params.decimals - The number of decimal places for the token.\n * @returns The amount in smallest units as a bigint.\n * @notInstrumented\n */\nexport const parseAmountToSmallestUnit = ({\n amount,\n decimals,\n}: ParseAmountToSmallestUnitParams): bigint => {\n const [whole = '0', fraction = ''] = amount.split('.');\n const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);\n return BigInt(whole + paddedFraction);\n};\n","import { BaseError } from './base';\n\ntype ReactNativeOnlyErrorParams = {\n apiName: string;\n};\n\nexport class ReactNativeOnlyError extends BaseError {\n constructor({ apiName }: ReactNativeOnlyErrorParams) {\n super({\n cause: null,\n code: 'react_native_only_error',\n docsUrl: null,\n name: 'ReactNativeOnlyError',\n shortMessage: `${apiName} is only available in React Native environments.`,\n });\n }\n}\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { ReactNativeManifest } from '../nativeManifest.types';\n\n/**\n * Returns the React Native manifest containing native SDK metadata.\n *\n * This function is only available in React Native environments.\n * On web, it throws a `ReactNativeOnlyError`.\n *\n * @notInstrumented\n */\nexport const getReactNativeManifest = (): ReactNativeManifest => {\n throw new ReactNativeOnlyError({ apiName: 'getReactNativeManifest' });\n};\n","const SCHEME_SEPARATOR = '://';\n\n/** Parameters for {@link getNativeLinkScheme}. */\nexport type GetNativeLinkSchemeParams = {\n /** A native link, e.g. `myapp://wallet/connect`. */\n nativeLink: string | undefined;\n};\n\n/**\n * Reduces a native link to just its URL scheme (e.g.\n * `myapp://wallet/connect` -> `myapp://`), dropping anything after the scheme\n * separator. A native link may be configured with an in-app route, but a\n * consumer that only needs to deep link back into the app (rather than a\n * specific route) should use the scheme alone. Links without a scheme\n * separator are returned unchanged (they cannot carry a route), and\n * `undefined` passes through.\n *\n * @notInstrumented\n */\nexport const getNativeLinkScheme = ({\n nativeLink,\n}: GetNativeLinkSchemeParams): string | undefined => {\n if (nativeLink === undefined) {\n return undefined;\n }\n\n const schemeSeparatorIndex = nativeLink.indexOf(SCHEME_SEPARATOR);\n\n if (schemeSeparatorIndex === -1) {\n return nativeLink;\n }\n\n return nativeLink.slice(0, schemeSeparatorIndex + SCHEME_SEPARATOR.length);\n};\n","import { ReactNativeOnlyError } from '../../../errors/ReactNativeOnlyError';\nimport type { SetScreenshotProtectionParams } from './setScreenshotProtection.types';\n\n/**\n * Web/desktop counterpart of the React Native `setScreenshotProtection` (see\n * `setScreenshotProtection.native.ts`).\n *\n * Screenshot/recording protection is a native window-level capability with no\n * web equivalent. Rather than silently no-op (which would let a desktop caller\n * believe content is protected when it is not), this throws a\n * `ReactNativeOnlyError` so an accidental web/desktop call is loud — the API is\n * intentionally React-Native-only.\n *\n * @notInstrumented\n */\nexport const setScreenshotProtection = ({\n // Destructured to keep an identical signature to the native implementation\n // for the platform-type parity check; unused because this always throws.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n enabled,\n}: SetScreenshotProtectionParams): void => {\n throw new ReactNativeOnlyError({ apiName: 'setScreenshotProtection' });\n};\n","import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';\n\nimport {\n name as packageName,\n version as packageVersion,\n} from '../../package.json';\nassertPackageVersion(packageName, packageVersion);\n\n/**\n * @categoryDescription Extension Development\n * Core utilities and functions for building Dynamic SDK extensions.\n * These APIs provide low-level access to the SDK internals and are intended\n * for advanced use cases and extension development. Most applications should\n * use the higher-level APIs exported from the main SDK package instead.\n */\n\n/** @category Extension Development */\nexport { getCore } from '../client/core/getCore';\n/** @category Extension Development */\nexport type { DynamicCore, DynamicCoreState } from '../client/core/types';\n/** @category Extension Development */\nexport { getDefaultClient } from '../client/defaultClient';\n/** @category Extension Development */\nexport { APIError } from '../errors/APIError';\n/** @category Extension Development */\nexport { ArrayMustNotBeEmptyError } from '../errors/ArrayMustNotBeEmptyError';\n/** @category Extension Development */\nexport { CannotTrackError } from '../errors/CannotTrackError';\n/** @category Extension Development */\nexport { ClientNotFoundError } from '../errors/ClientNotFoundError';\n/** @category Extension Development */\nexport { ClientsDoNotMatchError } from '../errors/ClientsDoNotMatchError';\n/** @category Extension Development */\nexport { InvalidStorageSet } from '../errors/InvalidStorageSet';\n/** @category Extension Development */\nexport { InvalidWalletProviderKeyError } from '../errors/InvalidWalletProviderKeyError';\n/** @category Extension Development */\nexport { MethodNotImplementedError } from '../errors/MethodNotImplementedError';\n/** @category Extension Development */\nexport { MultipleClientsFoundError } from '../errors/MultipleClientsFoundError';\n/** @category Extension Development */\nexport { NoWalletProviderFoundError } from '../errors/NoWalletProviderFoundError';\n/** @category Extension Development */\nexport { ValueMustBeDefinedError } from '../errors/ValueMustBeDefinedError';\n/** @category Extension Development */\nexport { createApiClient, DYNAMIC_SDK_API_VERSION } from '../modules/apiClient';\n/** @category Extension Development */\nexport { createVisit } from '../modules/auth/createVisit';\n/** @category Extension Development */\nexport { logoutWithReason } from '../modules/auth/logoutWithReason';\n/** @category Extension Development */\nexport { updateAuthFromVerifyResponse } from '../modules/auth/updateAuthFromVerifyResponse';\n/** @category Extension Development */\nexport { consumeCaptchaToken } from '../modules/captcha/consumeCaptchaToken';\n/** @category Extension Development */\nexport { setCaptchaToken } from '../modules/captcha/setCaptchaToken';\n/** @category Extension Development */\nexport { emitEvent } from '../modules/clientEvents';\n/** @category Extension Development */\nexport { hasExtension } from '../modules/extension/hasExtension';\n/** @category Extension Development */\nexport { registerExtension } from '../modules/extension/registerExtension';\n/** @category Extension Development */\nexport { waitForProjectSettings } from '../modules/initializeClient/waitForProjectSettings';\n/** @category Extension Development */\nexport { getElevatedAccessToken } from '../modules/auth/getElevatedAccessToken';\n/** @category Extension Development */\nexport { consumeMfaTokenIfRequiredForAction } from '../modules/mfa/consumeMfaTokenIfRequiredForAction';\n/** @category Extension Development */\nexport { isCookieEnabled } from '../modules/projectSettings/isCookieEnabled';\n/** @category Extension Development */\nexport { generateSessionKeys } from '../modules/sessionKeys/generateSessionKeys/generateSessionKeys';\n/** @category Extension Development */\nexport { getSessionKeys } from '../modules/sessionKeys/getSessionKeys';\n/** @category Extension Development */\nexport { getSignedSessionId } from '../modules/sessionKeys/getSignedSessionId';\n/** @category Extension Development */\nexport type { SessionKeys } from '../modules/sessionKeys/sessionKeys.types';\n/** @category Extension Development */\nexport { CHAINS_INFO_MAP } from '../modules/wallets/constants';\n/** @category Extension Development */\nexport { emitWalletAccountsChangedEvent } from '../modules/wallets/emitWalletAccountsChangedEvent';\n/** @category Extension Development */\nexport { getWalletProviders } from '../modules/wallets/getWalletProviders';\n/** @category Extension Development */\nexport { createBaseNetworkProvider } from '../modules/wallets/networks/createBaseNetworkProvider';\n/** @category Extension Development */\nexport { getNetworkDataForNetworkId } from '../modules/wallets/networks/getNetworkDataForNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviderFromNetworkId } from '../modules/wallets/networks/getNetworkProviderFromNetworkId';\n/** @category Extension Development */\nexport { getNetworkProviders } from '../modules/wallets/networks/getNetworkProviders';\n/** @category Extension Development */\nexport { getLastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/getLastKnownNetworkRegistry';\n/** @category Extension Development */\nexport type { LastKnownNetworkRegistry } from '../modules/wallets/networks/lastKnownNetworkRegistry/LastKnownNetworkRegistry.types';\n/** @category Extension Development */\nexport type { BaseNetworkProvider } from '../modules/wallets/networks/networkProvider/networkProvider.types';\n/** @category Extension Development */\nexport {\n getNetworkProviderBuilderRegistry,\n type NetworkProviderBuilder,\n type NetworkProviderBuilderRegistry,\n} from '../modules/wallets/networks/networkProviderBuilderRegistry';\n/** @category Extension Development */\nexport { reconcileWalletAccountsAgainstClient } from '../modules/wallets/reconcileWalletAccountsAgainstClient';\n/** @category Extension Development */\nexport { removeUnverifiedWalletAccount } from '../modules/wallets/unverifiedWalletAccounts/removeUnverifiedWalletAccount';\nexport { setUnverifiedWalletAccounts } from '../modules/wallets/unverifiedWalletAccounts/setUnverifiedWalletAccounts';\n/** @category Extension Development */\nexport { formatSignInMessage } from '../modules/wallets/utils/formatSignInMessage';\n/** @category Extension Development */\nexport { formatWalletAccountId } from '../modules/wallets/utils/formatWalletAccountId';\n/** @category Extension Development */\nexport { formatWalletProviderGroupKey } from '../modules/wallets/utils/formatWalletProviderGroupKey';\n/** @category Extension Development */\nexport { formatWalletProviderKey } from '../modules/wallets/utils/formatWalletProviderKey';\n/** @category Extension Development */\nexport { getAllProvidersFromWindow } from '../modules/wallets/utils/getAllProvidersFromWindow';\n/** @category Extension Development */\nexport { getInjectedProviderFromWindow } from '../modules/wallets/utils/getInjectedProviderFromWindow';\n/** @category Extension Development */\nexport { getVerifiedCredentialForWalletAccount } from '../modules/wallets/utils/getVerifiedCredentialForWalletAccount';\n/** @category Extension Development */\nexport { getWalletProviderFromWalletAccount } from '../modules/wallets/utils/getWalletProviderFromWalletAccount';\n/** @category Extension Development */\nexport { normalizeWalletNameWithChain } from '../modules/wallets/utils/normalizeWalletNameWithChain';\n/** @category Extension Development */\nexport { verifyMessageSignatureOwnership } from '../modules/wallets/verifyMessageSignatureOwnership';\n/** @category Extension Development */\nexport type { BaseWalletAccount } from '../modules/wallets/walletAccount';\n/** @category Extension Development */\nexport type {\n ConfirmTransactionParams,\n ExecuteSwapTransactionParams,\n ExecuteSwapTransactionResult,\n TransferAmountParams,\n WalletProvider,\n WalletProviderConnectAddress,\n} from '../modules/wallets/walletProvider';\n/** @category Extension Development */\nexport { getActiveNetworkIdFromLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/getActiveNetworkIdFromLastKnownRegistry';\n/** @category Extension Development */\nexport { switchActiveNetworkInLastKnownRegistry } from '../modules/wallets/walletProvider/defaultImplementations/switchActiveNetworkInLastKnownRegistry';\n/** @category Extension Development */\nexport { createWalletProviderEventEmitter } from '../modules/wallets/walletProvider/events/createWalletProviderEventEmitter';\n/** @category Extension Development */\nexport { splitWalletProviderKey } from '../modules/wallets/walletProvider/splitWalletProviderKey';\n/** @category Extension Development */\nexport {\n getWalletProviderRegistry,\n WalletProviderPriority,\n} from '../modules/wallets/walletProviderRegistry';\n/** @category Extension Development */\nexport type {\n AsyncProcessEntry,\n AsyncProcessStatus,\n AsyncTrack,\n AsyncTrackEmitter,\n} from '../services/asyncTrack/asyncTrack.types';\n/** @category Extension Development */\nexport { createCrossTabBroadcast } from '../services/crossTabBroadcast/createCrossTabBroadcast';\n/** @category Extension Development */\nexport type {\n CrossTabBroadcast,\n CrossTabBroadcastMessage,\n} from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { CrossTabBroadcastMessageSchema } from '../services/crossTabBroadcast';\n/** @category Extension Development */\nexport { createRealtimeChannelSchema } from '../services/realtime/createRealtimeChannelSchema';\n/** @category Extension Development */\nexport { createRealtimeService } from '../services/realtime/createRealtimeService';\n/** @category Extension Development */\nexport type {\n RealtimeChannelSchema,\n RealtimeConnectionState,\n RealtimeService,\n} from '../services/realtime';\n/** @category Extension Development */\nexport { createLogger } from '../services/logger/createLogger';\n/** @category Extension Development */\nexport type { Logger, LogLevel } from '../services/logger/logger.types';\n/** @category Extension Development */\nexport { createKeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { KeychainService } from '../services/keychain';\n/** @category Extension Development */\nexport type { PasskeyService } from '../services/passkey';\n/** @category Extension Development */\nexport {\n createRuntimeServiceAccessKey,\n type RuntimeServices,\n} from '../services/runtimeServices';\n/** @category Extension Development */\nexport {\n createLocalStorageAdapter,\n createStorage,\n createStorageKeySchema,\n type Storage,\n type StorageAdapter,\n type StorageAdapterOptions,\n type StorageKeySchema,\n type StorageKeySchemaConfig,\n type StorageTier,\n} from '../services/storage';\n/** @category Extension Development */\nexport type { ExtendParameters } from '../types/ExtendParameters';\n/** @category Extension Development */\nexport { assertDefined } from '../utils/assertDefined';\n/** @category Extension Development */\nexport { assertNonEmptyArray } from '../utils/assertNonEmptyArray';\n/** @category Extension Development */\nexport { bufferToBase64 } from '../utils/bufferToBase64';\n/** @category Extension Development */\nexport type { DebouncedMutex } from '../utils/debouncedMutex/debouncedMutex.types';\n/** @category Extension Development */\nexport { filterDuplicates } from '../utils/filterDuplicates';\n/** @category Extension Development */\nexport { getBuffer } from '../utils/getBuffer';\n/** @category Extension Development */\nexport { getChainFromVerifiedCredentialChain } from '../utils/getChainFromVerifiedCredentialChain';\n/** @category Extension Development */\nexport { getKeychainIndexedDBName } from '../utils/getKeychainIndexedDBName';\n/** @category Extension Development */\nexport { getNonce } from '../utils/getNonce';\n/** @category Extension Development */\nexport { parseAmountToSmallestUnit } from '../utils/parseAmountToSmallestUnit';\n/** @category Extension Development */\nexport type { ObservableState } from '../utils/observable/observable.types';\n/** @category Extension Development */\nexport { createSignInMessageStatement } from '../modules/wallets/utils/getSignInMessage/createSignInMessageStatement';\n/** @category Extension Development */\nexport { subscribeWithSelector } from '../utils/observable/subscribeWithSelector';\n/** @category Extension Development */\nexport { updateWalletProviderKeysForVerifiedCredentials } from '../modules/wallets/walletProvider/walletProviderKeyMap/updateWalletProviderKeysForVerifiedCredentials';\n/** @category Extension Development */\nexport { DYNAMIC_ICONIC_SPRITE_URL } from '../constants';\n/** @category Extension Development */\nexport { createDeferredPromise } from '../utils/deferredPromise';\n/** @category Extension Development */\nexport { getDeviceSigner } from '../modules/deviceRegistration/getDeviceSigner';\n/** @category Extension Development */\nexport { getHeadersForNonceSignedByDeviceSigners } from '../modules/deviceRegistration/getHeadersForNonceSignedByDeviceSigners';\n/** @category Extension Development */\nexport { createDeviceSignatureHeadersMiddleware } from '../modules/apiClient/utils/deviceSignatureHeadersMiddleware/createDeviceSignatureHeadersMiddleware';\n/** @category Extension Development */\nexport { randomString } from '../utils/randomString';\n/** @category Extension Development */\nexport { getReactNativeManifest } from '../services/nativeManifest/getReactNativeManifest';\n/** @category Extension Development */\nexport type { ReactNativeManifest } from '../services/nativeManifest/nativeManifest.types';\n/** @category Extension Development */\nexport { getAppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport type { AppMetadata } from '../utils/getAppMetadata';\n/** @category Extension Development */\nexport { getNativeLinkScheme } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport type { GetNativeLinkSchemeParams } from '../utils/getNativeLinkScheme';\n/** @category Extension Development */\nexport { setScreenshotProtection } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection';\n/** @category Extension Development */\nexport type { SetScreenshotProtectionParams } from '../modules/screenshotProtection/setScreenshotProtection/setScreenshotProtection.types';\n"],"mappings":"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"}
package/dist/core.esm.js CHANGED
@@ -1,11 +1,11 @@
1
- import { $ as ValueMustBeDefinedError, A as splitWalletProviderKey, B as createDeviceSignatureHeadersMiddleware, D as CHAINS_INFO_MAP, E as getChainFromVerifiedCredentialChain, H as getDeviceSigner, M as emitEvent, O as formatWalletAccountId, Q as assertDefined, R as createApiClient, T as normalizeWalletNameWithChain, U as getNonce, V as getHeadersForNonceSignedByDeviceSigners, X as getSessionKeys, Y as APIError, Z as isCookieEnabled, _ as getWalletProviderFromWalletAccount, at as getDefaultClient, b as createRuntimeServiceAccessKey, ct as BaseError, dt as version, et as getElevatedAccessToken, j as InvalidWalletProviderKeyError, lt as getCore, rt as DYNAMIC_SDK_API_VERSION, s as DYNAMIC_ICONIC_SPRITE_URL, st as ClientNotFoundError, tt as randomString, ut as name, v as WalletProviderPriority, w as formatWalletProviderKey, x as NoWalletProviderFoundError, y as getWalletProviderRegistry } from "./InvalidParamError-Dn_riAvL.esm.js";
2
- import { C as createKeychainService, D as CannotTrackError, E as CrossTabBroadcastMessageSchema, F as getBuffer, I as createStorage, L as InvalidStorageSet, O as createDeferredPromise, R as createLocalStorageAdapter, S as createRealtimeService, T as createCrossTabBroadcast, _ as consumeCaptchaToken, a as verifyMessageSignatureOwnership, b as NoNetworkProvidersError, c as formatSignInMessage, d as updateWalletProviderKeysForVerifiedCredentials, f as setUnverifiedWalletAccounts, g as MethodNotImplementedError, h as __setCaptchaToken_wrapped, i as getNetworksData, k as FETCH_PROJECT_SETTINGS_TRACKER_KEY, l as getAppMetadata, m as hasExtension, n as getNetworkProviders, o as removeUnverifiedWalletAccount, p as createVisit, r as getNetworkProviderBuilderRegistry, s as createSignInMessageStatement, t as getNetworkProviderFromNetworkId, u as reconcileWalletAccountsAgainstClient, w as createLogger, x as getKeychainIndexedDBName, z as subscribeWithSelector } from "./getNetworkProviderFromNetworkId-CregkqLB.esm.js";
3
- import { a as generateSessionKeys, i as __logoutWithReason_wrapped, s as createStorageKeySchema } from "./isMfaRequiredForAction-CgVdSGRA.esm.js";
4
- import { d as emitWalletAccountsChangedEvent, l as getWalletProviders, n as getVerifiedCredentialForWalletAccount, r as updateAuthFromVerifyResponse, t as getWalletProviderByKey } from "./getWalletProviderByKey-DTi6MhKt.esm.js";
5
- import { n as consumeMfaTokenIfRequiredForAction, t as getSignedSessionId } from "./getSignedSessionId-Czpvp58E.esm.js";
1
+ import { A as NoWalletProviderFoundError, B as emitEvent, D as WalletProviderPriority, E as getWalletProviderFromWalletAccount, F as CHAINS_INFO_MAP, I as formatWalletAccountId, J as createDeviceSignatureHeadersMiddleware, K as createApiClient, M as formatWalletProviderKey, N as normalizeWalletNameWithChain, O as getWalletProviderRegistry, P as getChainFromVerifiedCredentialChain, R as splitWalletProviderKey, X as getDeviceSigner, Y as getHeadersForNonceSignedByDeviceSigners, Z as getNonce, _t as getCore, at as isCookieEnabled, ct as getElevatedAccessToken, dt as DYNAMIC_SDK_API_VERSION, f as getWalletProviders, g as DYNAMIC_ICONIC_SPRITE_URL, gt as BaseError, h as emitWalletAccountsChangedEvent, ht as ClientNotFoundError, it as getSessionKeys, k as createRuntimeServiceAccessKey, lt as randomString, ot as assertDefined, pt as getDefaultClient, rt as APIError, st as ValueMustBeDefinedError, t as updateAuthFromVerifyResponse, vt as name, yt as version, z as InvalidWalletProviderKeyError } from "./updateAuthFromVerifyResponse-BdokPJ21.esm.js";
2
+ import { C as createKeychainService, D as CannotTrackError, E as CrossTabBroadcastMessageSchema, F as getBuffer, I as createStorage, L as InvalidStorageSet, O as createDeferredPromise, R as createLocalStorageAdapter, S as createRealtimeService, T as createCrossTabBroadcast, _ as consumeCaptchaToken, a as verifyMessageSignatureOwnership, b as NoNetworkProvidersError, c as formatSignInMessage, d as updateWalletProviderKeysForVerifiedCredentials, f as setUnverifiedWalletAccounts, g as MethodNotImplementedError, h as __setCaptchaToken_wrapped, i as getNetworksData, k as FETCH_PROJECT_SETTINGS_TRACKER_KEY, l as getAppMetadata, m as hasExtension, n as getNetworkProviders, o as removeUnverifiedWalletAccount, p as createVisit, r as getNetworkProviderBuilderRegistry, s as createSignInMessageStatement, t as getNetworkProviderFromNetworkId, u as reconcileWalletAccountsAgainstClient, w as createLogger, x as getKeychainIndexedDBName, z as subscribeWithSelector } from "./getNetworkProviderFromNetworkId-BVVs3arj.esm.js";
3
+ import { a as generateSessionKeys, i as __logoutWithReason_wrapped, s as createStorageKeySchema } from "./isMfaRequiredForAction-B7wNkqQf.esm.js";
4
+ import { n as getVerifiedCredentialForWalletAccount, t as getWalletProviderByKey } from "./getWalletProviderByKey-BL3u0e-d.esm.js";
5
+ import { n as consumeMfaTokenIfRequiredForAction, t as getSignedSessionId } from "./getSignedSessionId-Bnuz2Aqc.esm.js";
6
6
  import { assertPackageVersion } from "@dynamic-labs-sdk/assert-package-version";
7
7
  import * as z from "zod/mini";
8
- import EventEmitter$1 from "eventemitter3";
8
+ import EventEmitter from "eventemitter3";
9
9
 
10
10
  //#region src/errors/ArrayMustNotBeEmptyError.ts
11
11
  var ArrayMustNotBeEmptyError = class extends BaseError {
@@ -252,7 +252,7 @@ const createWalletProviderEventEmitter = ({ removeEventListeners, setupEventList
252
252
  };
253
253
  const getEventEmitter = () => {
254
254
  if (!eventEmitter) {
255
- eventEmitter = new EventEmitter$1();
255
+ eventEmitter = new EventEmitter();
256
256
  setupReturnValue = setupEventListeners({
257
257
  handleAccountsChanged,
258
258
  handleDisconnected,