@dynamic-labs-wallet/core 0.0.135 → 0.0.137

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.
package/index.cjs.js CHANGED
@@ -733,11 +733,15 @@ class DynamicApiClient extends BaseClient {
733
733
  mfaToken
734
734
  });
735
735
  }
736
- async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion, requiresSignedSessionId = true }) {
736
+ async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion, requiresSignedSessionId = true, authMode = AuthMode.HEADER }) {
737
737
  if (requiresSignedSessionId && !signedSessionId) {
738
738
  throw new Error('Signed session ID is required');
739
739
  }
740
- const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup`, {
740
+ // When using cookie-based authentication, use the main apiClient instead of clientRelayApiClient.
741
+ // This ensures requests are sent to the same domain, allowing cookies to be included and maintaining session continuity.
742
+ // For header-based auth, clientRelayApiClient is used as usual.
743
+ const apiClient = authMode === AuthMode.COOKIE ? this.apiClient : this.clientRelayApiClient;
744
+ const { data } = await apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup`, {
741
745
  // TODO: decide on whether to store encryptedAccountCredentials or encryptedKeyShares as backup
742
746
  encryptedAccountCredentials: encryptedKeyShares,
743
747
  passwordEncrypted,
@@ -768,12 +772,16 @@ class DynamicApiClient extends BaseClient {
768
772
  });
769
773
  return data;
770
774
  }
771
- async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken, requiresSignedSessionId = true }) {
775
+ async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken, requiresSignedSessionId = true, authMode = AuthMode.HEADER }) {
772
776
  if (requiresSignedSessionId && !signedSessionId) {
773
777
  throw new Error('Signed session ID is required');
774
778
  }
779
+ // When using cookie-based authentication, use the main apiClient instead of clientRelayApiClient.
780
+ // This ensures requests are sent to the same domain, allowing cookies to be included and maintaining session continuity.
781
+ // For header-based auth, clientRelayApiClient is used as usual.
782
+ const apiClient = authMode === AuthMode.COOKIE ? this.apiClient : this.clientRelayApiClient;
775
783
  // TODO: add signed messsage to body?
776
- const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/recover`, keyShareIds ? {
784
+ const { data } = await apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/recover`, keyShareIds ? {
777
785
  keyShareIds
778
786
  } : undefined, {
779
787
  headers: {
package/index.esm.js CHANGED
@@ -731,11 +731,15 @@ class DynamicApiClient extends BaseClient {
731
731
  mfaToken
732
732
  });
733
733
  }
734
- async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion, requiresSignedSessionId = true }) {
734
+ async storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion, requiresSignedSessionId = true, authMode = AuthMode.HEADER }) {
735
735
  if (requiresSignedSessionId && !signedSessionId) {
736
736
  throw new Error('Signed session ID is required');
737
737
  }
738
- const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup`, {
738
+ // When using cookie-based authentication, use the main apiClient instead of clientRelayApiClient.
739
+ // This ensures requests are sent to the same domain, allowing cookies to be included and maintaining session continuity.
740
+ // For header-based auth, clientRelayApiClient is used as usual.
741
+ const apiClient = authMode === AuthMode.COOKIE ? this.apiClient : this.clientRelayApiClient;
742
+ const { data } = await apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/backup`, {
739
743
  // TODO: decide on whether to store encryptedAccountCredentials or encryptedKeyShares as backup
740
744
  encryptedAccountCredentials: encryptedKeyShares,
741
745
  passwordEncrypted,
@@ -766,12 +770,16 @@ class DynamicApiClient extends BaseClient {
766
770
  });
767
771
  return data;
768
772
  }
769
- async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken, requiresSignedSessionId = true }) {
773
+ async recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken, requiresSignedSessionId = true, authMode = AuthMode.HEADER }) {
770
774
  if (requiresSignedSessionId && !signedSessionId) {
771
775
  throw new Error('Signed session ID is required');
772
776
  }
777
+ // When using cookie-based authentication, use the main apiClient instead of clientRelayApiClient.
778
+ // This ensures requests are sent to the same domain, allowing cookies to be included and maintaining session continuity.
779
+ // For header-based auth, clientRelayApiClient is used as usual.
780
+ const apiClient = authMode === AuthMode.COOKIE ? this.apiClient : this.clientRelayApiClient;
773
781
  // TODO: add signed messsage to body?
774
- const { data } = await this.clientRelayApiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/recover`, keyShareIds ? {
782
+ const { data } = await apiClient.post(`/api/v0/sdk/${this.environmentId}/waas/${walletId}/keyShares/recover`, keyShareIds ? {
775
783
  keyShareIds
776
784
  } : undefined, {
777
785
  headers: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/core",
3
- "version": "0.0.135",
3
+ "version": "0.0.137",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
package/src/api/api.d.ts CHANGED
@@ -57,13 +57,14 @@ export declare class DynamicApiClient extends BaseClient {
57
57
  exportId: string;
58
58
  onError?: (error: Error) => void;
59
59
  }): Promise<OpenRoomResponse>;
60
- storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion, requiresSignedSessionId, }: {
60
+ storeEncryptedBackupByWallet({ walletId, encryptedKeyShares, passwordEncrypted, signedSessionId, encryptionVersion, requiresSignedSessionId, authMode, }: {
61
61
  walletId: string;
62
62
  encryptedKeyShares: string[];
63
63
  passwordEncrypted: boolean;
64
64
  signedSessionId?: string;
65
65
  encryptionVersion?: string;
66
66
  requiresSignedSessionId?: boolean;
67
+ authMode?: AuthMode;
67
68
  }): Promise<any>;
68
69
  markKeySharesAsBackedUpGoogleDrive({ walletId }: {
69
70
  walletId: string;
@@ -80,12 +81,13 @@ export declare class DynamicApiClient extends BaseClient {
80
81
  externalKeyShareId?: string;
81
82
  }[];
82
83
  }>;
83
- recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken, requiresSignedSessionId, }: {
84
+ recoverEncryptedBackupByWallet({ walletId, keyShareIds, signedSessionId, mfaToken, requiresSignedSessionId, authMode, }: {
84
85
  walletId: string;
85
86
  keyShareIds?: string[];
86
87
  signedSessionId?: string;
87
88
  mfaToken?: string;
88
89
  requiresSignedSessionId?: boolean;
90
+ authMode?: AuthMode;
89
91
  }): Promise<any>;
90
92
  getAccessToken({ oauthAccountId }: {
91
93
  oauthAccountId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}