@dynamic-labs-sdk/client 0.0.1-alpha.19 → 0.0.1-alpha.20

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 (65) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/core.cjs.js +29 -4
  3. package/core.esm.js +30 -3
  4. package/getWalletProviderFromWalletAccount.cjs.js +5 -61
  5. package/getWalletProviderFromWalletAccount.esm.js +6 -58
  6. package/index.cjs.js +71 -70
  7. package/index.esm.js +73 -72
  8. package/package.json +4 -3
  9. package/src/exports/core.d.ts +6 -7
  10. package/src/exports/core.d.ts.map +1 -1
  11. package/src/exports/index.d.ts.map +1 -1
  12. package/src/modules/auth/social/oauth/redirectStateStorageSchema/redirectStateStorageSchema.d.ts +2 -3
  13. package/src/modules/auth/social/oauth/redirectStateStorageSchema/redirectStateStorageSchema.d.ts.map +1 -1
  14. package/src/modules/mfa/deleteMfaDevice/deleteMfaDevice.d.ts +3 -2
  15. package/src/modules/mfa/deleteMfaDevice/deleteMfaDevice.d.ts.map +1 -1
  16. package/src/modules/mfa/getMfaDevices/getMfaDevices.d.ts.map +1 -1
  17. package/src/modules/mfa/getMfaMethods/getMfaMethods.d.ts +1 -5
  18. package/src/modules/mfa/getMfaMethods/getMfaMethods.d.ts.map +1 -1
  19. package/src/modules/mfa/setDefaultMfaDevice/setDefaultMfaDevice.d.ts +4 -2
  20. package/src/modules/mfa/setDefaultMfaDevice/setDefaultMfaDevice.d.ts.map +1 -1
  21. package/src/modules/otp/sendEmailOTP/sendEmailOTP.d.ts.map +1 -1
  22. package/src/modules/otp/sendSmsOTP/sendSmsOTP.d.ts.map +1 -1
  23. package/src/modules/otp/verifyOTP/verifyOTP.d.ts +3 -1
  24. package/src/modules/otp/verifyOTP/verifyOTP.d.ts.map +1 -1
  25. package/src/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts +2 -2
  26. package/src/modules/otp/verifyOTP/verifyOTPForUserSignIn/verifyOTPForUserSignIn.d.ts.map +1 -1
  27. package/src/modules/otp/verifyOTP/verifyOTPForUserUpdate/verifyOTPForUserUpdate.d.ts +2 -2
  28. package/src/modules/otp/verifyOTP/verifyOTPForUserUpdate/verifyOTPForUserUpdate.d.ts.map +1 -1
  29. package/src/modules/projectSettings/fetchProjectSettings/projectSettingsExpirationScheme.d.ts.map +1 -1
  30. package/src/modules/user/updateUser/updateUser.d.ts.map +1 -1
  31. package/src/modules/wallets/assertWalletAccountSigningAvailability/assertWalletAccountSigningAvailability.d.ts +4 -1
  32. package/src/modules/wallets/assertWalletAccountSigningAvailability/assertWalletAccountSigningAvailability.d.ts.map +1 -1
  33. package/src/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts +4 -1
  34. package/src/modules/wallets/connectWithWalletProvider/connectWithWalletProvider.d.ts.map +1 -1
  35. package/src/modules/wallets/getWalletAccounts/getWalletAccounts.d.ts.map +1 -1
  36. package/src/modules/wallets/primaryWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.d.ts +4 -1
  37. package/src/modules/wallets/primaryWalletAccount/selectPrimaryWalletAccount/selectPrimaryWalletAccount.d.ts.map +1 -1
  38. package/src/modules/wallets/removeWalletAccount/removeWalletAccount.d.ts +4 -1
  39. package/src/modules/wallets/removeWalletAccount/removeWalletAccount.d.ts.map +1 -1
  40. package/src/modules/wallets/signMessage/signMessage.d.ts +3 -1
  41. package/src/modules/wallets/signMessage/signMessage.d.ts.map +1 -1
  42. package/src/modules/wallets/unverifiedWalletAccounts/schema.d.ts +3 -3
  43. package/src/modules/wallets/unverifiedWalletAccounts/schema.d.ts.map +1 -1
  44. package/src/modules/wallets/unverifiedWalletAccounts/types.d.ts +1 -1
  45. package/src/modules/wallets/unverifiedWalletAccounts/types.d.ts.map +1 -1
  46. package/src/modules/wallets/utils/getWalletProviderFromWalletAccount/getWalletProviderFromWalletAccount.d.ts +4 -1
  47. package/src/modules/wallets/utils/getWalletProviderFromWalletAccount/getWalletProviderFromWalletAccount.d.ts.map +1 -1
  48. package/src/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts +4 -1
  49. package/src/modules/wallets/verifyWalletAccount/verifyWalletAccount.d.ts.map +1 -1
  50. package/src/modules/wallets/walletProviderRegistry/createWalletProviderRegistry/createWalletProviderRegistry.d.ts.map +1 -1
  51. package/src/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts +1 -1
  52. package/src/services/storage/createStorageKeySchema/createStorageKeySchema.d.ts.map +1 -1
  53. package/src/services/storage/types.d.ts +1 -1
  54. package/src/services/storage/types.d.ts.map +1 -1
  55. package/src/utils/mapVerifiedCredentialChainToChain/mapVerifiedCredentialChainToChain.d.ts.map +1 -1
  56. package/src/utils/assertClientAreEqual/assertClientAreEqual.d.ts +0 -3
  57. package/src/utils/assertClientAreEqual/assertClientAreEqual.d.ts.map +0 -1
  58. package/src/utils/assertClientAreEqual/index.d.ts +0 -2
  59. package/src/utils/assertClientAreEqual/index.d.ts.map +0 -1
  60. package/src/utils/getClient/assignClient.d.ts +0 -3
  61. package/src/utils/getClient/assignClient.d.ts.map +0 -1
  62. package/src/utils/getClient/getClient.d.ts +0 -3
  63. package/src/utils/getClient/getClient.d.ts.map +0 -1
  64. package/src/utils/getClient/index.d.ts +0 -3
  65. package/src/utils/getClient/index.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.0.1-alpha.20 (2025-08-06)
2
+
3
+ ### 🚀 Features
4
+
5
+ - raise an error if different dynamic packages are on different versions ([#253](https://github.com/dynamic-labs/dynamic-sdk/pull/253))
6
+
1
7
  ## 0.0.1-alpha.19 (2025-07-23)
2
8
 
3
9
  This was a version bump only, there were no code changes.
package/core.cjs.js CHANGED
@@ -1,9 +1,34 @@
1
1
  'use strict';
2
2
 
3
+ var assertPackageVersion = require('@dynamic-labs-sdk/assert-package-version');
3
4
  var getWalletProviderFromWalletAccount = require('./getWalletProviderFromWalletAccount.cjs.js');
4
5
  var buffer = require('buffer');
5
6
  require('@dynamic-labs/sdk-api-core');
6
7
 
8
+ class ClientNotPresentError extends getWalletProviderFromWalletAccount.BaseError {
9
+ constructor(){
10
+ super({
11
+ cause: null,
12
+ code: 'client_not_present_error',
13
+ docsUrl: null,
14
+ name: 'ClientNotPresentError',
15
+ shortMessage: 'The client is not present in the target object.'
16
+ });
17
+ }
18
+ }
19
+
20
+ class ClientsDoNotMatchError extends getWalletProviderFromWalletAccount.BaseError {
21
+ constructor(){
22
+ super({
23
+ cause: null,
24
+ code: 'clients_do_not_match_error',
25
+ docsUrl: null,
26
+ name: 'ClientsDoNotMatchError',
27
+ shortMessage: 'Clients do not match'
28
+ });
29
+ }
30
+ }
31
+
7
32
  class MethodNotImplementedError extends getWalletProviderFromWalletAccount.BaseError {
8
33
  constructor(methodName){
9
34
  super({
@@ -87,10 +112,10 @@ const bufferToBase64 = (buf)=>{
87
112
  return getBuffer().from(binstr, 'binary').toString('base64');
88
113
  };
89
114
 
115
+ assertPackageVersion.assertPackageVersion('@dynamic-labs-sdk/client', getWalletProviderFromWalletAccount.version);
116
+
90
117
  exports.APIError = getWalletProviderFromWalletAccount.APIError;
91
118
  exports.CannotTrackError = getWalletProviderFromWalletAccount.CannotTrackError;
92
- exports.ClientNotPresentError = getWalletProviderFromWalletAccount.ClientNotPresentError;
93
- exports.ClientsDoNotMatchError = getWalletProviderFromWalletAccount.ClientsDoNotMatchError;
94
119
  exports.InvalidStorageSet = getWalletProviderFromWalletAccount.InvalidStorageSet;
95
120
  exports.ValueMustBeDefinedError = getWalletProviderFromWalletAccount.ValueMustBeDefinedError;
96
121
  Object.defineProperty(exports, "WalletProviderPriority", {
@@ -98,15 +123,15 @@ Object.defineProperty(exports, "WalletProviderPriority", {
98
123
  get: function () { return getWalletProviderFromWalletAccount.WalletProviderPriority; }
99
124
  });
100
125
  exports.assertDefined = getWalletProviderFromWalletAccount.assertDefined;
101
- exports.assignClient = getWalletProviderFromWalletAccount.assignClient;
102
126
  exports.createApiClient = getWalletProviderFromWalletAccount.createApiClient;
103
127
  exports.emitEvent = getWalletProviderFromWalletAccount.emitEvent;
104
- exports.getClient = getWalletProviderFromWalletAccount.getClient;
105
128
  exports.getCore = getWalletProviderFromWalletAccount.getCore;
106
129
  exports.getWalletProviderFromWalletAccount = getWalletProviderFromWalletAccount.getWalletProviderFromWalletAccount;
107
130
  exports.getWalletProviderRegistry = getWalletProviderFromWalletAccount.getWalletProviderRegistry;
108
131
  exports.hasExtension = getWalletProviderFromWalletAccount.hasExtension;
109
132
  exports.subscribeWithSelector = getWalletProviderFromWalletAccount.subscribeWithSelector;
133
+ exports.ClientNotPresentError = ClientNotPresentError;
134
+ exports.ClientsDoNotMatchError = ClientsDoNotMatchError;
110
135
  exports.MethodNotImplementedError = MethodNotImplementedError;
111
136
  exports.bufferToBase64 = bufferToBase64;
112
137
  exports.formatSignInMessage = formatSignInMessage;
package/core.esm.js CHANGED
@@ -1,8 +1,33 @@
1
- import { B as BaseError, g as getCore } from './getWalletProviderFromWalletAccount.esm.js';
2
- export { A as APIError, C as CannotTrackError, p as ClientNotPresentError, q as ClientsDoNotMatchError, I as InvalidStorageSet, V as ValueMustBeDefinedError, W as WalletProviderPriority, a as assertDefined, b as assignClient, c as createApiClient, e as emitEvent, f as getClient, h as getWalletProviderFromWalletAccount, j as getWalletProviderRegistry, n as hasExtension, s as subscribeWithSelector } from './getWalletProviderFromWalletAccount.esm.js';
1
+ import { assertPackageVersion } from '@dynamic-labs-sdk/assert-package-version';
2
+ import { B as BaseError, g as getCore, v as version } from './getWalletProviderFromWalletAccount.esm.js';
3
+ export { A as APIError, C as CannotTrackError, I as InvalidStorageSet, V as ValueMustBeDefinedError, W as WalletProviderPriority, a as assertDefined, c as createApiClient, e as emitEvent, b as getWalletProviderFromWalletAccount, f as getWalletProviderRegistry, l as hasExtension, s as subscribeWithSelector } from './getWalletProviderFromWalletAccount.esm.js';
3
4
  import { Buffer as Buffer$1 } from 'buffer';
4
5
  import '@dynamic-labs/sdk-api-core';
5
6
 
7
+ class ClientNotPresentError extends BaseError {
8
+ constructor(){
9
+ super({
10
+ cause: null,
11
+ code: 'client_not_present_error',
12
+ docsUrl: null,
13
+ name: 'ClientNotPresentError',
14
+ shortMessage: 'The client is not present in the target object.'
15
+ });
16
+ }
17
+ }
18
+
19
+ class ClientsDoNotMatchError extends BaseError {
20
+ constructor(){
21
+ super({
22
+ cause: null,
23
+ code: 'clients_do_not_match_error',
24
+ docsUrl: null,
25
+ name: 'ClientsDoNotMatchError',
26
+ shortMessage: 'Clients do not match'
27
+ });
28
+ }
29
+ }
30
+
6
31
  class MethodNotImplementedError extends BaseError {
7
32
  constructor(methodName){
8
33
  super({
@@ -86,4 +111,6 @@ const bufferToBase64 = (buf)=>{
86
111
  return getBuffer().from(binstr, 'binary').toString('base64');
87
112
  };
88
113
 
89
- export { MethodNotImplementedError, bufferToBase64, formatSignInMessage, formatWalletProviderGroupKey, formatWalletProviderKey, getCore, registerExtension };
114
+ assertPackageVersion('@dynamic-labs-sdk/client', version);
115
+
116
+ export { ClientNotPresentError, ClientsDoNotMatchError, MethodNotImplementedError, bufferToBase64, formatSignInMessage, formatWalletProviderGroupKey, formatWalletProviderKey, getCore, registerExtension };
@@ -2,6 +2,10 @@
2
2
 
3
3
  var sdkApiCore = require('@dynamic-labs/sdk-api-core');
4
4
 
5
+ var version = "0.0.1-alpha.20";
6
+ var dependencies = {
7
+ "@dynamic-labs/sdk-api-core": "0.0.745"};
8
+
5
9
  const getCore = (client)=>{
6
10
  // @ts-expect-error - this was hidden from the public API
7
11
  return client.__core;
@@ -70,10 +74,6 @@ function _extends() {
70
74
  return _extends.apply(this, arguments);
71
75
  }
72
76
 
73
- var version = "0.0.1-alpha.19";
74
- var dependencies = {
75
- "@dynamic-labs/sdk-api-core": "0.0.727"};
76
-
77
77
  const randomString = (length)=>{
78
78
  const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
79
79
  let result = '';
@@ -380,36 +380,6 @@ class MfaRateLimitedError extends BaseError {
380
380
  eventEmitter.emit(event, ...args);
381
381
  };
382
382
 
383
- const assignClient = (target, client)=>{
384
- Object.defineProperty(target, '__client', {
385
- // hide from enumeration
386
- configurable: true,
387
- enumerable: false,
388
- get: ()=>client
389
- });
390
- return target;
391
- };
392
-
393
- class ClientNotPresentError extends BaseError {
394
- constructor(){
395
- super({
396
- cause: null,
397
- code: 'client_not_present_error',
398
- docsUrl: null,
399
- name: 'ClientNotPresentError',
400
- shortMessage: 'The client is not present in the target object.'
401
- });
402
- }
403
- }
404
-
405
- const getClient = (target)=>{
406
- if (!Object.prototype.hasOwnProperty.call(target, '__client')) {
407
- throw new ClientNotPresentError();
408
- }
409
- // @ts-expect-error - this was hidden from the public API
410
- return target.__client;
411
- };
412
-
413
383
  class InvalidStorageSet extends BaseError {
414
384
  constructor({ key, value }){
415
385
  super({
@@ -464,24 +434,6 @@ class CannotTrackError extends BaseError {
464
434
  return core.extensions.has(extensionKey);
465
435
  };
466
436
 
467
- class ClientsDoNotMatchError extends BaseError {
468
- constructor(){
469
- super({
470
- cause: null,
471
- code: 'clients_do_not_match_error',
472
- docsUrl: null,
473
- name: 'ClientsDoNotMatchError',
474
- shortMessage: 'Clients do not match'
475
- });
476
- }
477
- }
478
-
479
- const assertClientAreEqual = (client1, client2)=>{
480
- if (client1 !== client2) {
481
- throw new ClientsDoNotMatchError();
482
- }
483
- };
484
-
485
437
  /**
486
438
  * Creates a new wallet provider registry that manages wallet providers with priority-based registration.
487
439
  *
@@ -509,9 +461,6 @@ const assertClientAreEqual = (client1, client2)=>{
509
461
  },
510
462
  listProviders: ()=>Array.from(registry.values()).map((v)=>v.walletProvider),
511
463
  register: (args)=>{
512
- /**
513
- * Verify the wallet provider has the client assigned to it
514
- */ assertClientAreEqual(getClient(args.walletProvider), client);
515
464
  const existingEntry = registry.get(args.walletProvider.key);
516
465
  if (existingEntry) {
517
466
  if (existingEntry.priority < args.priority) {
@@ -571,8 +520,7 @@ exports.WalletProviderPriority = void 0;
571
520
  */ WalletProviderPriority[WalletProviderPriority["WINDOW_INJECT"] = 20] = "WINDOW_INJECT";
572
521
  })(exports.WalletProviderPriority || (exports.WalletProviderPriority = {}));
573
522
 
574
- const getWalletProviderFromWalletAccount = (walletAccount)=>{
575
- const client = getClient(walletAccount);
523
+ const getWalletProviderFromWalletAccount = (client, { walletAccount })=>{
576
524
  const walletProviderRegistry = getWalletProviderRegistry(client);
577
525
  const walletProvider = walletProviderRegistry.getByKey(walletAccount.walletProviderKey);
578
526
  assertDefined(walletProvider, `Wallet provider "${walletAccount.walletProviderKey}" not found`);
@@ -582,19 +530,15 @@ const getWalletProviderFromWalletAccount = (walletAccount)=>{
582
530
  exports.APIError = APIError;
583
531
  exports.BaseError = BaseError;
584
532
  exports.CannotTrackError = CannotTrackError;
585
- exports.ClientNotPresentError = ClientNotPresentError;
586
- exports.ClientsDoNotMatchError = ClientsDoNotMatchError;
587
533
  exports.InvalidStorageSet = InvalidStorageSet;
588
534
  exports.MfaInvalidOtpError = MfaInvalidOtpError;
589
535
  exports.MfaRateLimitedError = MfaRateLimitedError;
590
536
  exports.ValueMustBeDefinedError = ValueMustBeDefinedError;
591
537
  exports._extends = _extends;
592
538
  exports.assertDefined = assertDefined;
593
- exports.assignClient = assignClient;
594
539
  exports.createApiClient = createApiClient;
595
540
  exports.dependencies = dependencies;
596
541
  exports.emitEvent = emitEvent;
597
- exports.getClient = getClient;
598
542
  exports.getCore = getCore;
599
543
  exports.getWalletProviderFromWalletAccount = getWalletProviderFromWalletAccount;
600
544
  exports.getWalletProviderRegistry = getWalletProviderRegistry;
@@ -1,5 +1,9 @@
1
1
  import { AuthStorageEnum, SDKApi, Configuration } from '@dynamic-labs/sdk-api-core';
2
2
 
3
+ var version = "0.0.1-alpha.20";
4
+ var dependencies = {
5
+ "@dynamic-labs/sdk-api-core": "0.0.745"};
6
+
3
7
  const getCore = (client)=>{
4
8
  // @ts-expect-error - this was hidden from the public API
5
9
  return client.__core;
@@ -68,10 +72,6 @@ function _extends() {
68
72
  return _extends.apply(this, arguments);
69
73
  }
70
74
 
71
- var version = "0.0.1-alpha.19";
72
- var dependencies = {
73
- "@dynamic-labs/sdk-api-core": "0.0.727"};
74
-
75
75
  const randomString = (length)=>{
76
76
  const CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
77
77
  let result = '';
@@ -378,36 +378,6 @@ class MfaRateLimitedError extends BaseError {
378
378
  eventEmitter.emit(event, ...args);
379
379
  };
380
380
 
381
- const assignClient = (target, client)=>{
382
- Object.defineProperty(target, '__client', {
383
- // hide from enumeration
384
- configurable: true,
385
- enumerable: false,
386
- get: ()=>client
387
- });
388
- return target;
389
- };
390
-
391
- class ClientNotPresentError extends BaseError {
392
- constructor(){
393
- super({
394
- cause: null,
395
- code: 'client_not_present_error',
396
- docsUrl: null,
397
- name: 'ClientNotPresentError',
398
- shortMessage: 'The client is not present in the target object.'
399
- });
400
- }
401
- }
402
-
403
- const getClient = (target)=>{
404
- if (!Object.prototype.hasOwnProperty.call(target, '__client')) {
405
- throw new ClientNotPresentError();
406
- }
407
- // @ts-expect-error - this was hidden from the public API
408
- return target.__client;
409
- };
410
-
411
381
  class InvalidStorageSet extends BaseError {
412
382
  constructor({ key, value }){
413
383
  super({
@@ -462,24 +432,6 @@ class CannotTrackError extends BaseError {
462
432
  return core.extensions.has(extensionKey);
463
433
  };
464
434
 
465
- class ClientsDoNotMatchError extends BaseError {
466
- constructor(){
467
- super({
468
- cause: null,
469
- code: 'clients_do_not_match_error',
470
- docsUrl: null,
471
- name: 'ClientsDoNotMatchError',
472
- shortMessage: 'Clients do not match'
473
- });
474
- }
475
- }
476
-
477
- const assertClientAreEqual = (client1, client2)=>{
478
- if (client1 !== client2) {
479
- throw new ClientsDoNotMatchError();
480
- }
481
- };
482
-
483
435
  /**
484
436
  * Creates a new wallet provider registry that manages wallet providers with priority-based registration.
485
437
  *
@@ -507,9 +459,6 @@ const assertClientAreEqual = (client1, client2)=>{
507
459
  },
508
460
  listProviders: ()=>Array.from(registry.values()).map((v)=>v.walletProvider),
509
461
  register: (args)=>{
510
- /**
511
- * Verify the wallet provider has the client assigned to it
512
- */ assertClientAreEqual(getClient(args.walletProvider), client);
513
462
  const existingEntry = registry.get(args.walletProvider.key);
514
463
  if (existingEntry) {
515
464
  if (existingEntry.priority < args.priority) {
@@ -569,12 +518,11 @@ var WalletProviderPriority;
569
518
  */ WalletProviderPriority[WalletProviderPriority["WINDOW_INJECT"] = 20] = "WINDOW_INJECT";
570
519
  })(WalletProviderPriority || (WalletProviderPriority = {}));
571
520
 
572
- const getWalletProviderFromWalletAccount = (walletAccount)=>{
573
- const client = getClient(walletAccount);
521
+ const getWalletProviderFromWalletAccount = (client, { walletAccount })=>{
574
522
  const walletProviderRegistry = getWalletProviderRegistry(client);
575
523
  const walletProvider = walletProviderRegistry.getByKey(walletAccount.walletProviderKey);
576
524
  assertDefined(walletProvider, `Wallet provider "${walletAccount.walletProviderKey}" not found`);
577
525
  return walletProvider;
578
526
  };
579
527
 
580
- export { APIError as A, BaseError as B, CannotTrackError as C, InvalidStorageSet as I, MfaInvalidOtpError as M, ValueMustBeDefinedError as V, WalletProviderPriority as W, _extends as _, assertDefined as a, assignClient as b, createApiClient as c, dependencies as d, emitEvent as e, getClient as f, getCore as g, getWalletProviderFromWalletAccount as h, isEqualShallow as i, getWalletProviderRegistry as j, MfaRateLimitedError as k, onceEvent as l, onEvent as m, hasExtension as n, offEvent as o, ClientNotPresentError as p, ClientsDoNotMatchError as q, randomString as r, subscribeWithSelector as s, version as v };
528
+ export { APIError as A, BaseError as B, CannotTrackError as C, InvalidStorageSet as I, MfaInvalidOtpError as M, ValueMustBeDefinedError as V, WalletProviderPriority as W, _extends as _, assertDefined as a, getWalletProviderFromWalletAccount as b, createApiClient as c, dependencies as d, emitEvent as e, getWalletProviderRegistry as f, getCore as g, MfaRateLimitedError as h, isEqualShallow as i, onceEvent as j, onEvent as k, hasExtension as l, offEvent as o, randomString as r, subscribeWithSelector as s, version as v };
package/index.cjs.js CHANGED
@@ -1,8 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ var assertPackageVersion = require('@dynamic-labs-sdk/assert-package-version');
3
4
  var getWalletProviderFromWalletAccount = require('./getWalletProviderFromWalletAccount.cjs.js');
4
5
  var sdkApiCore = require('@dynamic-labs/sdk-api-core');
5
- var z = require('@zod/mini');
6
+ var z = require('zod/mini');
6
7
  var EventEmitter = require('eventemitter3');
7
8
  var browser = require('@simplewebauthn/browser');
8
9
 
@@ -69,22 +70,6 @@ const retryOnFail = async ({ delay = 0, fn, maxRetries })=>{
69
70
  throw new InvalidRetryOnFailCallError(maxRetries);
70
71
  };
71
72
 
72
- const mapVerifiedCredentialChainToChain = (verifiedCredentialChain)=>{
73
- const mapVerifiedChainIdToChain = {
74
- algorand: 'ALGO',
75
- bip122: 'BTC',
76
- cosmos: 'COSMOS',
77
- eclipse: 'ECLIPSE',
78
- eip155: 'EVM',
79
- flow: 'FLOW',
80
- solana: 'SOL',
81
- starknet: 'STARK'
82
- };
83
- const chain = mapVerifiedChainIdToChain[verifiedCredentialChain];
84
- getWalletProviderFromWalletAccount.assertDefined(chain, `Unknown chain: ${verifiedCredentialChain}`);
85
- return chain;
86
- };
87
-
88
73
  const normalizeAddress = (address, chain)=>{
89
74
  let normalizedAddress = address;
90
75
  if (normalizedAddress == null ? void 0 : normalizedAddress.startsWith('0x')) {
@@ -104,6 +89,32 @@ const normalizeAddress = (address, chain)=>{
104
89
 
105
90
  const createWalletAccountId = (chain, address)=>`${chain}-${normalizeAddress(address, chain)}`;
106
91
 
92
+ const convertUnverifiedWalletAccountToWalletAccount = (unverifiedWalletAccount)=>({
93
+ address: unverifiedWalletAccount.address,
94
+ chain: unverifiedWalletAccount.chain,
95
+ id: createWalletAccountId(unverifiedWalletAccount.chain, unverifiedWalletAccount.address),
96
+ lastSelectedAt: unverifiedWalletAccount.lastSelectedAt,
97
+ verifiedCredentialId: null,
98
+ walletProviderKey: unverifiedWalletAccount.walletProviderKey
99
+ });
100
+
101
+ const mapVerifiedCredentialChainToChain = (verifiedCredentialChain)=>{
102
+ const mapVerifiedChainIdToChain = {
103
+ algorand: 'ALGO',
104
+ bip122: 'BTC',
105
+ cosmos: 'COSMOS',
106
+ eclipse: 'ECLIPSE',
107
+ eip155: 'EVM',
108
+ flow: 'FLOW',
109
+ solana: 'SOL',
110
+ starknet: 'STARK',
111
+ sui: 'SUI'
112
+ };
113
+ const chain = mapVerifiedChainIdToChain[verifiedCredentialChain];
114
+ getWalletProviderFromWalletAccount.assertDefined(chain, `Unknown chain: ${verifiedCredentialChain}`);
115
+ return chain;
116
+ };
117
+
107
118
  const convertVerifiedCredentialToWalletAccount = (verified)=>{
108
119
  getWalletProviderFromWalletAccount.assertDefined(verified.address, 'Missing address in verified credential');
109
120
  getWalletProviderFromWalletAccount.assertDefined(verified.chain, 'Missing chain in verified credential');
@@ -120,15 +131,6 @@ const convertVerifiedCredentialToWalletAccount = (verified)=>{
120
131
  };
121
132
  };
122
133
 
123
- const convertUnverifiedWalletAccountToWalletAccount = (unverifiedWalletAccount)=>({
124
- address: unverifiedWalletAccount.address,
125
- chain: unverifiedWalletAccount.chain,
126
- id: createWalletAccountId(unverifiedWalletAccount.chain, unverifiedWalletAccount.address),
127
- lastSelectedAt: unverifiedWalletAccount.lastSelectedAt,
128
- verifiedCredentialId: null,
129
- walletProviderKey: unverifiedWalletAccount.walletProviderKey
130
- });
131
-
132
134
  /**
133
135
  * Retrieves all wallet accounts associated with the current user from the Dynamic client.
134
136
  *
@@ -150,7 +152,7 @@ const convertUnverifiedWalletAccountToWalletAccount = (unverifiedWalletAccount)=
150
152
  * Handle user verified credentials
151
153
  */ const verifiedCredentials = (_user_verifiedCredentials = user == null ? void 0 : user.verifiedCredentials) != null ? _user_verifiedCredentials : [];
152
154
  verifiedCredentials.filter((verified)=>verified.format === sdkApiCore.JwtVerifiedCredentialFormatEnum.Blockchain).map(convertVerifiedCredentialToWalletAccount).forEach((veririedWalletAccount)=>walletAccountsMap.set(veririedWalletAccount.id, veririedWalletAccount));
153
- return Array.from(walletAccountsMap.values()).map((walletAccount)=>getWalletProviderFromWalletAccount.assignClient(walletAccount, client));
155
+ return Array.from(walletAccountsMap.values());
154
156
  };
155
157
 
156
158
  /**
@@ -240,6 +242,7 @@ const parseFromStorage = (value)=>{
240
242
  };
241
243
  };
242
244
 
245
+ // eslint-disable-next-line import/no-namespace, no-restricted-syntax
243
246
  /**
244
247
  * The schema to track the expiration time of the project settings.
245
248
  */ const projectSettingsExpirationScheme = createStorageKeySchema({
@@ -1283,18 +1286,18 @@ const updateUser = async (client, userFields)=>{
1283
1286
  });
1284
1287
  updateAuthFromVerifyResponse(client, response);
1285
1288
  if (response.emailVerification) {
1286
- return getWalletProviderFromWalletAccount.assignClient({
1289
+ return {
1287
1290
  email: response.emailVerification.email,
1288
1291
  verificationUUID: response.emailVerification.verificationUUID
1289
- }, client);
1292
+ };
1290
1293
  }
1291
1294
  if (response.smsVerification) {
1292
- return getWalletProviderFromWalletAccount.assignClient({
1295
+ return {
1293
1296
  isoCountryCode: response.smsVerification.isoCountryCode,
1294
1297
  phoneCountryCode: response.smsVerification.phoneCountryCode,
1295
1298
  phoneNumber: response.smsVerification.phoneNumber,
1296
1299
  verificationUUID: response.smsVerification.verificationUUID
1297
- }, client);
1300
+ };
1298
1301
  }
1299
1302
  return undefined;
1300
1303
  };
@@ -1431,15 +1434,14 @@ const consumeMfaToken = (client)=>{
1431
1434
 
1432
1435
  /**
1433
1436
  * Deletes a MFA device
1434
- */ const deleteMfaDevice = async (device, { mfaAuthToken })=>{
1435
- const client = getWalletProviderFromWalletAccount.getClient(device);
1437
+ */ const deleteMfaDevice = async (client, { deviceId, mfaAuthToken })=>{
1436
1438
  const core = getWalletProviderFromWalletAccount.getCore(client);
1437
1439
  const apiClient = getWalletProviderFromWalletAccount.createApiClient(client);
1438
- getWalletProviderFromWalletAccount.assertDefined(device.id, 'device.id is required');
1440
+ getWalletProviderFromWalletAccount.assertDefined(deviceId, 'deviceId is required');
1439
1441
  getWalletProviderFromWalletAccount.assertDefined(mfaAuthToken, 'mfaAuthToken is required');
1440
1442
  return apiClient.deleteMfaDevice({
1441
1443
  environmentId: core.environmentId,
1442
- mfaDeviceId: device.id,
1444
+ mfaDeviceId: deviceId,
1443
1445
  xMfaAuthToken: mfaAuthToken
1444
1446
  });
1445
1447
  };
@@ -1450,7 +1452,7 @@ const getMfaDevices = async (client)=>{
1450
1452
  const { devices } = await apiClient.getUserMfaDevices({
1451
1453
  environmentId: core.environmentId
1452
1454
  });
1453
- return devices.map((device)=>getWalletProviderFromWalletAccount.assignClient(device, client));
1455
+ return devices;
1454
1456
  };
1455
1457
 
1456
1458
  const getMfaMethods = async (client, { verifiedOnly = false } = {})=>{
@@ -1460,10 +1462,7 @@ const getMfaMethods = async (client, { verifiedOnly = false } = {})=>{
1460
1462
  environmentId: core.environmentId,
1461
1463
  verifiedOnly
1462
1464
  });
1463
- return getWalletProviderFromWalletAccount._extends({}, userMfaMethods, {
1464
- devices: userMfaMethods.devices.map((device)=>getWalletProviderFromWalletAccount.assignClient(device, client)),
1465
- passkeys: userMfaMethods.passkeys.map((passkey)=>getWalletProviderFromWalletAccount.assignClient(passkey, client))
1466
- });
1465
+ return userMfaMethods;
1467
1466
  };
1468
1467
 
1469
1468
  /**
@@ -1497,15 +1496,14 @@ const registerTotpMfaDevice = async (client)=>{
1497
1496
  });
1498
1497
  };
1499
1498
 
1500
- const setDefaultMfaDevice = async (device)=>{
1501
- const client = getWalletProviderFromWalletAccount.getClient(device);
1499
+ const setDefaultMfaDevice = async (client, { deviceId })=>{
1502
1500
  const core = getWalletProviderFromWalletAccount.getCore(client);
1503
1501
  const apiClient = getWalletProviderFromWalletAccount.createApiClient(client);
1504
- getWalletProviderFromWalletAccount.assertDefined(device.id, 'device.id is required');
1502
+ getWalletProviderFromWalletAccount.assertDefined(deviceId, 'deviceId is required');
1505
1503
  // All that this endpoint does is set the default device to the one provided.
1506
1504
  return apiClient.updateUserMfaDevice({
1507
1505
  environmentId: core.environmentId,
1508
- mfaDeviceId: device.id
1506
+ mfaDeviceId: deviceId
1509
1507
  });
1510
1508
  };
1511
1509
 
@@ -1518,10 +1516,10 @@ const sendEmailOTP = async (client, { email })=>{
1518
1516
  },
1519
1517
  environmentId: core.environmentId
1520
1518
  });
1521
- return getWalletProviderFromWalletAccount.assignClient({
1519
+ return {
1522
1520
  email,
1523
1521
  verificationUUID
1524
- }, client);
1522
+ };
1525
1523
  };
1526
1524
 
1527
1525
  // Source:
@@ -2460,16 +2458,15 @@ const sendSmsOTP = async (client, { isoCountryCode, phoneNumber })=>{
2460
2458
  phoneNumber
2461
2459
  }
2462
2460
  });
2463
- return getWalletProviderFromWalletAccount.assignClient({
2461
+ return {
2464
2462
  isoCountryCode,
2465
2463
  phoneCountryCode,
2466
2464
  phoneNumber,
2467
2465
  verificationUUID
2468
- }, client);
2466
+ };
2469
2467
  };
2470
2468
 
2471
- const verifyOTPForUserSignIn = async (otpVerification, { verificationToken })=>{
2472
- const client = getWalletProviderFromWalletAccount.getClient(otpVerification);
2469
+ const verifyOTPForUserSignIn = async (client, { otpVerification, verificationToken })=>{
2473
2470
  const core = getWalletProviderFromWalletAccount.getCore(client);
2474
2471
  const apiClient = getWalletProviderFromWalletAccount.createApiClient(client);
2475
2472
  const verifyRequest = {
@@ -2488,8 +2485,7 @@ const verifyOTPForUserSignIn = async (otpVerification, { verificationToken })=>{
2488
2485
  });
2489
2486
  };
2490
2487
 
2491
- const verifyOTPForUserUpdate = async (otpVerification, { verificationToken })=>{
2492
- const client = getWalletProviderFromWalletAccount.getClient(otpVerification);
2488
+ const verifyOTPForUserUpdate = async (client, { otpVerification, verificationToken })=>{
2493
2489
  const core = getWalletProviderFromWalletAccount.getCore(client);
2494
2490
  const apiClient = getWalletProviderFromWalletAccount.createApiClient(client);
2495
2491
  const verifyRequest = {
@@ -2508,19 +2504,22 @@ const verifyOTPForUserUpdate = async (otpVerification, { verificationToken })=>{
2508
2504
  });
2509
2505
  };
2510
2506
 
2511
- const verifyOTP = async (otpVerification, { verificationToken })=>{
2512
- const client = getWalletProviderFromWalletAccount.getClient(otpVerification);
2513
- const response = client.user ? await verifyOTPForUserUpdate(otpVerification, {
2507
+ const verifyOTP = async (client, { otpVerification, verificationToken })=>{
2508
+ const response = client.user ? await verifyOTPForUserUpdate(client, {
2509
+ otpVerification,
2514
2510
  verificationToken
2515
- }) : await verifyOTPForUserSignIn(otpVerification, {
2511
+ }) : await verifyOTPForUserSignIn(client, {
2512
+ otpVerification,
2516
2513
  verificationToken
2517
2514
  });
2518
2515
  updateAuthFromVerifyResponse(client, response);
2519
2516
  return response.user;
2520
2517
  };
2521
2518
 
2522
- const assertWalletAccountSigningAvailability = async (walletAccount)=>{
2523
- const walletProvider = getWalletProviderFromWalletAccount.getWalletProviderFromWalletAccount(walletAccount);
2519
+ const assertWalletAccountSigningAvailability = async (client, { walletAccount })=>{
2520
+ const walletProvider = getWalletProviderFromWalletAccount.getWalletProviderFromWalletAccount(client, {
2521
+ walletAccount
2522
+ });
2524
2523
  const { addresses } = await walletProvider.getConnectedAddresses();
2525
2524
  if (!addresses.includes(walletAccount.address)) {
2526
2525
  throw new WalletAccountNotSelectedError({
@@ -2556,8 +2555,7 @@ const assertWalletAccountSigningAvailability = async (walletAccount)=>{
2556
2555
  *
2557
2556
  * Throws the NoAddressFoundError error in case the request to connect was successful but no
2558
2557
  * address is connected to the dapp.
2559
- */ const connectWithWalletProvider = async (walletProvider)=>{
2560
- const client = getWalletProviderFromWalletAccount.getClient(walletProvider);
2558
+ */ const connectWithWalletProvider = async (client, { walletProvider })=>{
2561
2559
  const { addresses: [selectedAddress] } = await walletProvider.connect();
2562
2560
  const currentAddresses = getWalletAccounts(client).map(({ address })=>address);
2563
2561
  /**
@@ -2583,7 +2581,7 @@ const assertWalletAccountSigningAvailability = async (walletAccount)=>{
2583
2581
  }
2584
2582
  setUnverifiedWalletAccount(client, walletAccount);
2585
2583
  emitWalletAccountsChangedEvent(client);
2586
- return getWalletProviderFromWalletAccount.assignClient(walletAccount, client);
2584
+ return walletAccount;
2587
2585
  };
2588
2586
 
2589
2587
  /**
@@ -2610,8 +2608,7 @@ const assertWalletAccountSigningAvailability = async (walletAccount)=>{
2610
2608
 
2611
2609
  /**
2612
2610
  * Make the wallet account provided as the primary wallet account.
2613
- */ const selectPrimaryWalletAccount = async (walletAccount)=>{
2614
- const client = getWalletProviderFromWalletAccount.getClient(walletAccount);
2611
+ */ const selectPrimaryWalletAccount = async (client, { walletAccount })=>{
2615
2612
  const core = getWalletProviderFromWalletAccount.getCore(client);
2616
2613
  const currentPrimaryWalletAccount = getPrimaryWalletAccount(client);
2617
2614
  if ((currentPrimaryWalletAccount == null ? void 0 : currentPrimaryWalletAccount.id) === walletAccount.id) {
@@ -2646,8 +2643,7 @@ const assertWalletAccountSigningAvailability = async (walletAccount)=>{
2646
2643
 
2647
2644
  /**
2648
2645
  * Remove a wallet account
2649
- */ const removeWalletAccount = async (walletAccount)=>{
2650
- const client = getWalletProviderFromWalletAccount.getClient(walletAccount);
2646
+ */ const removeWalletAccount = async (client, { walletAccount })=>{
2651
2647
  const core = getWalletProviderFromWalletAccount.getCore(client);
2652
2648
  const apiClient = getWalletProviderFromWalletAccount.createApiClient(client);
2653
2649
  if (!walletAccount.verifiedCredentialId) {
@@ -2666,8 +2662,10 @@ const assertWalletAccountSigningAvailability = async (walletAccount)=>{
2666
2662
 
2667
2663
  /**
2668
2664
  * Sign a message with a wallet account
2669
- */ const signMessage = async (walletAccount, { message })=>{
2670
- const walletProvider = getWalletProviderFromWalletAccount.getWalletProviderFromWalletAccount(walletAccount);
2665
+ */ const signMessage = async (client, { walletAccount, message })=>{
2666
+ const walletProvider = getWalletProviderFromWalletAccount.getWalletProviderFromWalletAccount(client, {
2667
+ walletAccount
2668
+ });
2671
2669
  const { signature } = await walletProvider.signMessage({
2672
2670
  message,
2673
2671
  walletAccount
@@ -2694,14 +2692,15 @@ const isSameAddress = (left, right, chain)=>normalizeAddress(left, chain) === no
2694
2692
  * Verify the ownership of a wallet account and add to the user's verified credentials
2695
2693
  *
2696
2694
  * Throws the WalletAlreadyLinkedToAnotherUserError error in case the wallet is already linked to another user.
2697
- */ const verifyWalletAccount = async (walletAccount)=>{
2695
+ */ const verifyWalletAccount = async (client, { walletAccount })=>{
2698
2696
  if (walletAccount.verifiedCredentialId) {
2699
2697
  throw new WalletAccountAlreadyVerifiedError(walletAccount.address);
2700
2698
  }
2701
- const client = getWalletProviderFromWalletAccount.getClient(walletAccount);
2702
2699
  const core = getWalletProviderFromWalletAccount.getCore(client);
2703
2700
  const apiClient = getWalletProviderFromWalletAccount.createApiClient(client);
2704
- const walletProvider = getWalletProviderFromWalletAccount.getWalletProviderFromWalletAccount(walletAccount);
2701
+ const walletProvider = getWalletProviderFromWalletAccount.getWalletProviderFromWalletAccount(client, {
2702
+ walletAccount
2703
+ });
2705
2704
  const { signedMessage, messageToSign } = await walletProvider.proveOwnership(walletAccount);
2706
2705
  const verifyApiFunction = client.user ? apiClient.verifyLink.bind(apiClient) : apiClient.verify.bind(apiClient);
2707
2706
  try {
@@ -2740,6 +2739,8 @@ const isSameAddress = (left, right, chain)=>normalizeAddress(left, chain) === no
2740
2739
  return verifiedWalletAccount;
2741
2740
  };
2742
2741
 
2742
+ assertPackageVersion.assertPackageVersion('@dynamic-labs-sdk/client', getWalletProviderFromWalletAccount.version);
2743
+
2743
2744
  exports.BaseError = getWalletProviderFromWalletAccount.BaseError;
2744
2745
  exports.MfaInvalidOtpError = getWalletProviderFromWalletAccount.MfaInvalidOtpError;
2745
2746
  exports.MfaRateLimitedError = getWalletProviderFromWalletAccount.MfaRateLimitedError;