@dynamic-labs-wallet/browser 0.0.210 → 0.0.212
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 +213 -93
- package/index.esm.js +207 -94
- package/package.json +2 -2
- package/src/client.d.ts +29 -4
- package/src/client.d.ts.map +1 -1
- package/src/types.d.ts +31 -1
- package/src/types.d.ts.map +1 -1
package/index.cjs.js
CHANGED
|
@@ -813,6 +813,43 @@ const localStorageWriteTest = {
|
|
|
813
813
|
}
|
|
814
814
|
});
|
|
815
815
|
|
|
816
|
+
const createDelegationWithGoogleDriveDistribution = ({ existingShares, delegatedShare })=>({
|
|
817
|
+
dynamicBackendShares: existingShares,
|
|
818
|
+
googleDriveShares: existingShares,
|
|
819
|
+
delegatedShare
|
|
820
|
+
});
|
|
821
|
+
const createDelegationOnlyDistribution = ({ existingShares, delegatedShare })=>({
|
|
822
|
+
dynamicBackendShares: existingShares,
|
|
823
|
+
googleDriveShares: [],
|
|
824
|
+
delegatedShare
|
|
825
|
+
});
|
|
826
|
+
const createGoogleDriveOnlyDistribution = ({ allShares })=>({
|
|
827
|
+
dynamicBackendShares: allShares.slice(0, -1),
|
|
828
|
+
googleDriveShares: allShares.slice(-1)
|
|
829
|
+
});
|
|
830
|
+
const createDynamicOnlyDistribution = ({ allShares })=>({
|
|
831
|
+
dynamicBackendShares: allShares,
|
|
832
|
+
googleDriveShares: []
|
|
833
|
+
});
|
|
834
|
+
const hasGoogleDriveBackup = (backupInfo)=>{
|
|
835
|
+
var _backupInfo_backups_BackupLocation_GOOGLE_DRIVE, _backupInfo_backups;
|
|
836
|
+
var _backupInfo_backups_BackupLocation_GOOGLE_DRIVE_length;
|
|
837
|
+
return ((_backupInfo_backups_BackupLocation_GOOGLE_DRIVE_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_GOOGLE_DRIVE = _backupInfo_backups[core.BackupLocation.GOOGLE_DRIVE]) == null ? void 0 : _backupInfo_backups_BackupLocation_GOOGLE_DRIVE.length) != null ? _backupInfo_backups_BackupLocation_GOOGLE_DRIVE_length : 0) > 0;
|
|
838
|
+
};
|
|
839
|
+
const hasDelegatedBackup = (backupInfo)=>{
|
|
840
|
+
var _backupInfo_backups_BackupLocation_DELEGATED, _backupInfo_backups;
|
|
841
|
+
var _backupInfo_backups_BackupLocation_DELEGATED_length;
|
|
842
|
+
return ((_backupInfo_backups_BackupLocation_DELEGATED_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_DELEGATED = _backupInfo_backups[core.BackupLocation.DELEGATED]) == null ? void 0 : _backupInfo_backups_BackupLocation_DELEGATED.length) != null ? _backupInfo_backups_BackupLocation_DELEGATED_length : 0) > 0;
|
|
843
|
+
};
|
|
844
|
+
/**
|
|
845
|
+
* Distribution for adding Google Drive backup to an existing delegation.
|
|
846
|
+
* Client's shares go to both Dynamic and Google Drive.
|
|
847
|
+
* delegatedShare is undefined - we don't re-publish, but preserve the location.
|
|
848
|
+
*/ const createAddGoogleDriveToExistingDelegationDistribution = ({ clientShares })=>({
|
|
849
|
+
dynamicBackendShares: clientShares,
|
|
850
|
+
googleDriveShares: clientShares
|
|
851
|
+
});
|
|
852
|
+
|
|
816
853
|
class DynamicWalletClient {
|
|
817
854
|
async initializeForwardMPCClient() {
|
|
818
855
|
try {
|
|
@@ -1494,14 +1531,42 @@ class DynamicWalletClient {
|
|
|
1494
1531
|
clientKeyShares: clientKeysharesToLocalStorage,
|
|
1495
1532
|
overwriteOrMerge: 'overwrite'
|
|
1496
1533
|
});
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1534
|
+
const allClientShares = [
|
|
1535
|
+
...existingReshareResults,
|
|
1536
|
+
...newReshareResults
|
|
1537
|
+
];
|
|
1538
|
+
let distribution;
|
|
1539
|
+
if (delegateToProjectEnvironment && backupToGoogleDrive) {
|
|
1540
|
+
// Delegation + Google Drive: Client's existing share backs up to both Dynamic and Google Drive.
|
|
1541
|
+
// The new share goes to the webhook for delegation.
|
|
1542
|
+
distribution = createDelegationWithGoogleDriveDistribution({
|
|
1543
|
+
existingShares: existingReshareResults,
|
|
1544
|
+
delegatedShare: newReshareResults[0]
|
|
1545
|
+
});
|
|
1546
|
+
} else if (delegateToProjectEnvironment) {
|
|
1547
|
+
// Delegation only: Client's existing share backs up to Dynamic.
|
|
1548
|
+
// The new share goes to the webhook for delegation. No Google Drive backup.
|
|
1549
|
+
distribution = createDelegationOnlyDistribution({
|
|
1550
|
+
existingShares: existingReshareResults,
|
|
1551
|
+
delegatedShare: newReshareResults[0]
|
|
1552
|
+
});
|
|
1553
|
+
} else if (backupToGoogleDrive) {
|
|
1554
|
+
// Google Drive only: Split shares between Dynamic (N-1) and Google Drive (1).
|
|
1555
|
+
// The last share (new share) goes to Google Drive.
|
|
1556
|
+
distribution = createGoogleDriveOnlyDistribution({
|
|
1557
|
+
allShares: allClientShares
|
|
1558
|
+
});
|
|
1559
|
+
} else {
|
|
1560
|
+
// No delegation, no Google Drive: All shares go to Dynamic backend only.
|
|
1561
|
+
distribution = createDynamicOnlyDistribution({
|
|
1562
|
+
allShares: allClientShares
|
|
1563
|
+
});
|
|
1564
|
+
}
|
|
1565
|
+
await this.backupSharesWithDistribution({
|
|
1500
1566
|
accountAddress,
|
|
1501
1567
|
password,
|
|
1502
1568
|
signedSessionId,
|
|
1503
|
-
|
|
1504
|
-
delegatedKeyshare
|
|
1569
|
+
distribution
|
|
1505
1570
|
});
|
|
1506
1571
|
} catch (error) {
|
|
1507
1572
|
logError({
|
|
@@ -1530,6 +1595,7 @@ class DynamicWalletClient {
|
|
|
1530
1595
|
}
|
|
1531
1596
|
async performDelegationOperation({ accountAddress, password, signedSessionId, mfaToken, newThresholdSignatureScheme, revokeDelegation = false, operationName }) {
|
|
1532
1597
|
try {
|
|
1598
|
+
var _this_walletMap_accountAddress;
|
|
1533
1599
|
const delegateToProjectEnvironment = this.featureFlags && this.featureFlags[core.FEATURE_FLAGS.ENABLE_DELEGATED_KEY_SHARES_FLAG] === true;
|
|
1534
1600
|
if (!delegateToProjectEnvironment) {
|
|
1535
1601
|
throw new Error('Delegation is not allowed for this project environment');
|
|
@@ -1551,7 +1617,7 @@ class DynamicWalletClient {
|
|
|
1551
1617
|
newThresholdSignatureScheme,
|
|
1552
1618
|
password,
|
|
1553
1619
|
signedSessionId,
|
|
1554
|
-
backupToGoogleDrive:
|
|
1620
|
+
backupToGoogleDrive: hasGoogleDriveBackup((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.clientKeySharesBackupInfo),
|
|
1555
1621
|
delegateToProjectEnvironment: true,
|
|
1556
1622
|
mfaToken,
|
|
1557
1623
|
revokeDelegation
|
|
@@ -1755,47 +1821,14 @@ class DynamicWalletClient {
|
|
|
1755
1821
|
});
|
|
1756
1822
|
await ((_this_storage = this.storage) == null ? void 0 : _this_storage.setItem(accountAddress, stringifiedClientKeyShares));
|
|
1757
1823
|
}
|
|
1758
|
-
|
|
1759
|
-
* Central backup orchestrator that encrypts and stores wallet key shares.
|
|
1760
|
-
*
|
|
1761
|
-
* This method serves as the main backup coordinator, handling the distribution of encrypted
|
|
1762
|
-
* key shares between Dynamic's backend and Google Drive based on the wallet's threshold scheme.
|
|
1763
|
-
* It is used by multiple operations including reshare, refresh, and manual backup requests.
|
|
1764
|
-
*
|
|
1765
|
-
* **Backup Distribution Strategy:**
|
|
1766
|
-
* - **Single share wallets**: All shares stored on Dynamic's backend only
|
|
1767
|
-
* - **Multi-share wallets (2+)**: When backing up to Google Drive, N-1 shares on Dynamic's backend, 1 share on Google Drive
|
|
1768
|
-
* - **Multi-share wallets (2+)**: When not backing up to Google Drive, all shares on Dynamic's backend
|
|
1769
|
-
*
|
|
1770
|
-
* **Process Flow:**
|
|
1771
|
-
* 1. Encrypts all client key shares with the provided password (or environment ID if no password)
|
|
1772
|
-
* 2. For multi-share wallets (2+): conditionally distributes N-1 to backend, 1 to Google Drive
|
|
1773
|
-
* 3. For other configurations: stores all shares on Dynamic's backend
|
|
1774
|
-
* 4. Updates backup metadata and synchronizes wallet state
|
|
1775
|
-
* 5. Persists the updated wallet map to local storage
|
|
1776
|
-
*
|
|
1777
|
-
* **Delegated Key Shares:**
|
|
1778
|
-
* - When delegatedKeyshare is provided, the method will not store the delegated key share but it will mark the delegated share as backed up on Dynamic's backend
|
|
1779
|
-
* - and encrypt the delegated key share to publish it to the webhook
|
|
1780
|
-
*
|
|
1781
|
-
* @param params - The backup operation parameters
|
|
1782
|
-
* @param params.accountAddress - The account address of the wallet to backup
|
|
1783
|
-
* @param params.clientKeyShares - Optional specific key shares to backup (uses localStorage if not provided)
|
|
1784
|
-
* @param params.password - Optional password for encryption (uses environment ID if not provided)
|
|
1785
|
-
* @param params.signedSessionId - Optional signed session ID for authentication
|
|
1786
|
-
* @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
|
|
1787
|
-
* @returns Promise with backup metadata including share locations and IDs
|
|
1788
|
-
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, backupToGoogleDrive = false, delegatedKeyshare = undefined }) {
|
|
1824
|
+
async backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation = false }) {
|
|
1789
1825
|
const dynamicRequestId = uuid.v4();
|
|
1790
1826
|
try {
|
|
1791
|
-
var _this_walletMap_accountAddress
|
|
1792
|
-
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
1793
|
-
accountAddress
|
|
1794
|
-
});
|
|
1827
|
+
var _this_walletMap_accountAddress;
|
|
1795
1828
|
if (!((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.walletId)) {
|
|
1796
1829
|
const error = new Error(`WalletId not found for accountAddress ${accountAddress}`);
|
|
1797
1830
|
logError({
|
|
1798
|
-
message: 'Error in
|
|
1831
|
+
message: 'Error in backupSharesWithDistribution, wallet or walletId not found from the wallet map',
|
|
1799
1832
|
error,
|
|
1800
1833
|
context: {
|
|
1801
1834
|
accountAddress,
|
|
@@ -1804,58 +1837,44 @@ class DynamicWalletClient {
|
|
|
1804
1837
|
});
|
|
1805
1838
|
throw error;
|
|
1806
1839
|
}
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
}
|
|
1828
|
-
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
1829
|
-
walletId: this.walletMap[accountAddress].walletId,
|
|
1830
|
-
encryptedKeyShares: dynamicClientKeyShares,
|
|
1831
|
-
passwordEncrypted: Boolean(password) && password !== this.environmentId,
|
|
1832
|
-
encryptionVersion: ENCRYPTION_VERSION_CURRENT,
|
|
1833
|
-
signedSessionId,
|
|
1834
|
-
authMode: this.authMode,
|
|
1835
|
-
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
1836
|
-
dynamicRequestId
|
|
1837
|
-
});
|
|
1838
|
-
if (data.keyShareIds.length === 0) {
|
|
1839
|
-
throw new Error('No key shares were backed up');
|
|
1840
|
-
}
|
|
1841
|
-
const locations = [
|
|
1842
|
-
{
|
|
1840
|
+
const locations = [];
|
|
1841
|
+
if (distribution.dynamicBackendShares.length > 0) {
|
|
1842
|
+
const encryptedDynamicShares = await Promise.all(distribution.dynamicBackendShares.map((keyShare)=>this.encryptKeyShare({
|
|
1843
|
+
keyShare,
|
|
1844
|
+
password
|
|
1845
|
+
})));
|
|
1846
|
+
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
1847
|
+
walletId: this.walletMap[accountAddress].walletId,
|
|
1848
|
+
encryptedKeyShares: encryptedDynamicShares,
|
|
1849
|
+
passwordEncrypted: Boolean(password) && password !== this.environmentId,
|
|
1850
|
+
encryptionVersion: ENCRYPTION_VERSION_CURRENT,
|
|
1851
|
+
signedSessionId,
|
|
1852
|
+
authMode: this.authMode,
|
|
1853
|
+
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
1854
|
+
dynamicRequestId
|
|
1855
|
+
});
|
|
1856
|
+
if (data.keyShareIds.length === 0) {
|
|
1857
|
+
throw new Error('No key shares were backed up to Dynamic backend');
|
|
1858
|
+
}
|
|
1859
|
+
locations.push({
|
|
1843
1860
|
location: core.BackupLocation.DYNAMIC,
|
|
1844
1861
|
externalKeyShareId: data.keyShareIds[0]
|
|
1845
|
-
}
|
|
1846
|
-
|
|
1847
|
-
if (
|
|
1862
|
+
});
|
|
1863
|
+
}
|
|
1864
|
+
if (distribution.googleDriveShares.length > 0) {
|
|
1865
|
+
const encryptedGoogleDriveShares = await Promise.all(distribution.googleDriveShares.map((keyShare)=>this.encryptKeyShare({
|
|
1866
|
+
keyShare,
|
|
1867
|
+
password
|
|
1868
|
+
})));
|
|
1848
1869
|
await this.uploadKeySharesToGoogleDrive({
|
|
1849
1870
|
accountAddress,
|
|
1850
|
-
encryptedKeyShares:
|
|
1871
|
+
encryptedKeyShares: encryptedGoogleDriveShares
|
|
1851
1872
|
});
|
|
1852
1873
|
locations.push({
|
|
1853
1874
|
location: core.BackupLocation.GOOGLE_DRIVE
|
|
1854
1875
|
});
|
|
1855
1876
|
}
|
|
1856
|
-
|
|
1857
|
-
// after publish confirmed, we mark the delegated share as backed up on Dynamic's backend
|
|
1858
|
-
if (delegatedKeyshare) {
|
|
1877
|
+
if (distribution.delegatedShare) {
|
|
1859
1878
|
var _publicKey_key, _publicKey_key1, _publicKey_key2;
|
|
1860
1879
|
const publicKey = await this.apiClient.getDelegatedEncryptionKey({
|
|
1861
1880
|
environmentId: this.environmentId
|
|
@@ -1864,7 +1883,7 @@ class DynamicWalletClient {
|
|
|
1864
1883
|
throw new Error('Public key not found');
|
|
1865
1884
|
}
|
|
1866
1885
|
var _publicKey_key_keyId;
|
|
1867
|
-
const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(
|
|
1886
|
+
const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(distribution.delegatedShare), publicKey == null ? void 0 : (_publicKey_key1 = publicKey.key) == null ? void 0 : _publicKey_key1.publicKeyPemB64, (_publicKey_key_keyId = publicKey == null ? void 0 : (_publicKey_key2 = publicKey.key) == null ? void 0 : _publicKey_key2.keyId) != null ? _publicKey_key_keyId : publicKey == null ? void 0 : publicKey.keyId);
|
|
1868
1887
|
const { status } = await this.apiClient.publishDelegatedKeyShare({
|
|
1869
1888
|
walletId: this.walletMap[accountAddress].walletId,
|
|
1870
1889
|
encryptedKeyShare: encryptedDelegatedKeyShareEnvelope,
|
|
@@ -1879,6 +1898,12 @@ class DynamicWalletClient {
|
|
|
1879
1898
|
location: core.BackupLocation.DELEGATED
|
|
1880
1899
|
});
|
|
1881
1900
|
}
|
|
1901
|
+
// Preserve existing delegated location without re-publishing
|
|
1902
|
+
if (preserveDelegatedLocation && !distribution.delegatedShare) {
|
|
1903
|
+
locations.push({
|
|
1904
|
+
location: core.BackupLocation.DELEGATED
|
|
1905
|
+
});
|
|
1906
|
+
}
|
|
1882
1907
|
const backupData = await this.apiClient.markKeySharesAsBackedUp({
|
|
1883
1908
|
walletId: this.walletMap[accountAddress].walletId,
|
|
1884
1909
|
locations,
|
|
@@ -1900,10 +1925,10 @@ class DynamicWalletClient {
|
|
|
1900
1925
|
clientKeySharesBackupInfo: updatedBackupInfo
|
|
1901
1926
|
});
|
|
1902
1927
|
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
1903
|
-
return
|
|
1928
|
+
return backupData;
|
|
1904
1929
|
} catch (error) {
|
|
1905
1930
|
logError({
|
|
1906
|
-
message: 'Error in
|
|
1931
|
+
message: 'Error in backupSharesWithDistribution',
|
|
1907
1932
|
error: error,
|
|
1908
1933
|
context: {
|
|
1909
1934
|
accountAddress,
|
|
@@ -1913,6 +1938,88 @@ class DynamicWalletClient {
|
|
|
1913
1938
|
throw error;
|
|
1914
1939
|
}
|
|
1915
1940
|
}
|
|
1941
|
+
/**
|
|
1942
|
+
* Central backup orchestrator that encrypts and stores wallet key shares.
|
|
1943
|
+
*
|
|
1944
|
+
* This method serves as the main backup coordinator, handling the distribution of encrypted
|
|
1945
|
+
* key shares between Dynamic's backend and Google Drive based on the wallet's threshold scheme.
|
|
1946
|
+
* It is used by multiple operations including reshare, refresh, and manual backup requests.
|
|
1947
|
+
*
|
|
1948
|
+
* **Backup Distribution Strategy:**
|
|
1949
|
+
* - **Single share wallets**: All shares stored on Dynamic's backend only
|
|
1950
|
+
* - **Multi-share wallets (2+)**: When backing up to Google Drive, N-1 shares on Dynamic's backend, 1 share on Google Drive
|
|
1951
|
+
* - **Multi-share wallets (2+)**: When not backing up to Google Drive, all shares on Dynamic's backend
|
|
1952
|
+
*
|
|
1953
|
+
* **Process Flow:**
|
|
1954
|
+
* 1. Encrypts all client key shares with the provided password (or environment ID if no password)
|
|
1955
|
+
* 2. For multi-share wallets (2+): conditionally distributes N-1 to backend, 1 to Google Drive
|
|
1956
|
+
* 3. For other configurations: stores all shares on Dynamic's backend
|
|
1957
|
+
* 4. Updates backup metadata and synchronizes wallet state
|
|
1958
|
+
* 5. Persists the updated wallet map to local storage
|
|
1959
|
+
*
|
|
1960
|
+
* **Delegated Key Shares:**
|
|
1961
|
+
* - When delegatedKeyshare is provided, the method will not store the delegated key share but it will mark the delegated share as backed up on Dynamic's backend
|
|
1962
|
+
* - and encrypt the delegated key share to publish it to the webhook
|
|
1963
|
+
*
|
|
1964
|
+
* @param params - The backup operation parameters
|
|
1965
|
+
* @param params.accountAddress - The account address of the wallet to backup
|
|
1966
|
+
* @param params.clientKeyShares - Optional specific key shares to backup (uses localStorage if not provided)
|
|
1967
|
+
* @param params.password - Optional password for encryption (uses environment ID if not provided)
|
|
1968
|
+
* @param params.signedSessionId - Optional signed session ID for authentication
|
|
1969
|
+
* @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
|
|
1970
|
+
* @returns Promise with backup metadata including share locations and IDs
|
|
1971
|
+
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, backupToGoogleDrive = false, delegatedKeyshare = undefined }) {
|
|
1972
|
+
var _this_walletMap_accountAddress, _this_walletMap_accountAddress1;
|
|
1973
|
+
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
1974
|
+
accountAddress
|
|
1975
|
+
});
|
|
1976
|
+
const shouldBackupToGoogleDrive = backupToGoogleDrive || hasGoogleDriveBackup((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.clientKeySharesBackupInfo);
|
|
1977
|
+
const hasExistingDelegation = hasDelegatedBackup((_this_walletMap_accountAddress1 = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress1.clientKeySharesBackupInfo);
|
|
1978
|
+
let distribution;
|
|
1979
|
+
let preserveDelegatedLocation = false;
|
|
1980
|
+
if (delegatedKeyshare && shouldBackupToGoogleDrive) {
|
|
1981
|
+
// NEW delegation + Google Drive: Client's shares back up to both Dynamic and Google Drive.
|
|
1982
|
+
// The delegated share goes to the webhook.
|
|
1983
|
+
distribution = createDelegationWithGoogleDriveDistribution({
|
|
1984
|
+
existingShares: keySharesToBackup,
|
|
1985
|
+
delegatedShare: delegatedKeyshare
|
|
1986
|
+
});
|
|
1987
|
+
} else if (delegatedKeyshare) {
|
|
1988
|
+
// NEW delegation only: Client's shares back up to Dynamic.
|
|
1989
|
+
// The delegated share goes to the webhook. No Google Drive backup.
|
|
1990
|
+
distribution = createDelegationOnlyDistribution({
|
|
1991
|
+
existingShares: keySharesToBackup,
|
|
1992
|
+
delegatedShare: delegatedKeyshare
|
|
1993
|
+
});
|
|
1994
|
+
} else if (hasExistingDelegation && shouldBackupToGoogleDrive) {
|
|
1995
|
+
// ADD Google Drive to EXISTING delegation: Client's share backs up to both Dynamic and GD.
|
|
1996
|
+
// Don't re-publish delegated share, just preserve the location.
|
|
1997
|
+
distribution = createAddGoogleDriveToExistingDelegationDistribution({
|
|
1998
|
+
clientShares: keySharesToBackup
|
|
1999
|
+
});
|
|
2000
|
+
preserveDelegatedLocation = true;
|
|
2001
|
+
} else if (shouldBackupToGoogleDrive && keySharesToBackup.length >= 2) {
|
|
2002
|
+
// Google Drive only (no delegation): Split shares between Dynamic (N-1) and Google Drive (1).
|
|
2003
|
+
distribution = createGoogleDriveOnlyDistribution({
|
|
2004
|
+
allShares: keySharesToBackup
|
|
2005
|
+
});
|
|
2006
|
+
} else {
|
|
2007
|
+
// No delegation, no Google Drive: All shares go to Dynamic backend only.
|
|
2008
|
+
distribution = createDynamicOnlyDistribution({
|
|
2009
|
+
allShares: keySharesToBackup
|
|
2010
|
+
});
|
|
2011
|
+
}
|
|
2012
|
+
const backupData = await this.backupSharesWithDistribution({
|
|
2013
|
+
accountAddress,
|
|
2014
|
+
password,
|
|
2015
|
+
signedSessionId,
|
|
2016
|
+
distribution,
|
|
2017
|
+
preserveDelegatedLocation
|
|
2018
|
+
});
|
|
2019
|
+
return _extends({}, backupData, {
|
|
2020
|
+
keyShareIds: backupData.locationsWithKeyShares.map((ks)=>ks.keyShareId)
|
|
2021
|
+
});
|
|
2022
|
+
}
|
|
1916
2023
|
async storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password, signedSessionId }) {
|
|
1917
2024
|
await retryPromise(()=>this.storeEncryptedBackupByWallet({
|
|
1918
2025
|
accountAddress,
|
|
@@ -2102,14 +2209,18 @@ class DynamicWalletClient {
|
|
|
2102
2209
|
return (_ks_externalKeyShareId = ks.externalKeyShareId) != null ? _ks_externalKeyShareId : '';
|
|
2103
2210
|
});
|
|
2104
2211
|
} else {
|
|
2105
|
-
|
|
2106
|
-
const data = await this.storeEncryptedBackupByWallet({
|
|
2212
|
+
await this.storeEncryptedBackupByWallet({
|
|
2107
2213
|
accountAddress,
|
|
2108
2214
|
password,
|
|
2109
2215
|
signedSessionId,
|
|
2110
2216
|
backupToGoogleDrive: true
|
|
2111
2217
|
});
|
|
2112
|
-
|
|
2218
|
+
const backupInfo = this.walletMap[accountAddress].clientKeySharesBackupInfo;
|
|
2219
|
+
const googleDriveShares = backupInfo.backups[core.BackupLocation.GOOGLE_DRIVE] || [];
|
|
2220
|
+
return googleDriveShares.map((ks)=>{
|
|
2221
|
+
var _ks_externalKeyShareId;
|
|
2222
|
+
return (_ks_externalKeyShareId = ks.externalKeyShareId) != null ? _ks_externalKeyShareId : '';
|
|
2223
|
+
});
|
|
2113
2224
|
}
|
|
2114
2225
|
} catch (error) {
|
|
2115
2226
|
logError({
|
|
@@ -2579,7 +2690,7 @@ class DynamicWalletClient {
|
|
|
2579
2690
|
this.apiClient.syncAuthToken(authToken);
|
|
2580
2691
|
}
|
|
2581
2692
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode = core.AuthMode.HEADER, authToken = undefined, // Represents the version of the client SDK used by developer
|
|
2582
|
-
sdkVersion, forwardMPCClient }){
|
|
2693
|
+
sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl }){
|
|
2583
2694
|
this.userId = undefined;
|
|
2584
2695
|
this.sessionId = undefined;
|
|
2585
2696
|
this.initializePromise = null;
|
|
@@ -2595,13 +2706,15 @@ class DynamicWalletClient {
|
|
|
2595
2706
|
this.baseMPCRelayApiUrl = baseMPCRelayApiUrl;
|
|
2596
2707
|
this.authMode = authMode;
|
|
2597
2708
|
this.sdkVersion = sdkVersion;
|
|
2709
|
+
this.baseClientKeysharesRelayApiUrl = baseClientKeysharesRelayApiUrl;
|
|
2598
2710
|
this.apiClient = new core.DynamicApiClient({
|
|
2599
2711
|
environmentId,
|
|
2600
2712
|
authToken,
|
|
2601
2713
|
baseApiUrl,
|
|
2602
2714
|
authMode,
|
|
2603
2715
|
sdkVersion,
|
|
2604
|
-
forwardMPCClient
|
|
2716
|
+
forwardMPCClient,
|
|
2717
|
+
baseClientKeysharesRelayApiUrl
|
|
2605
2718
|
});
|
|
2606
2719
|
this.debug = Boolean(debug);
|
|
2607
2720
|
this.logger.setLogLevel(this.debug ? logger$1.LogLevel.DEBUG : DEFAULT_LOG_LEVEL);
|
|
@@ -2701,7 +2814,12 @@ exports.ERROR_SIGN_MESSAGE = ERROR_SIGN_MESSAGE;
|
|
|
2701
2814
|
exports.ERROR_SIGN_TYPED_DATA = ERROR_SIGN_TYPED_DATA;
|
|
2702
2815
|
exports.ERROR_VERIFY_MESSAGE_SIGNATURE = ERROR_VERIFY_MESSAGE_SIGNATURE;
|
|
2703
2816
|
exports.ERROR_VERIFY_TRANSACTION_SIGNATURE = ERROR_VERIFY_TRANSACTION_SIGNATURE;
|
|
2817
|
+
exports.createAddGoogleDriveToExistingDelegationDistribution = createAddGoogleDriveToExistingDelegationDistribution;
|
|
2704
2818
|
exports.createBackupData = createBackupData;
|
|
2819
|
+
exports.createDelegationOnlyDistribution = createDelegationOnlyDistribution;
|
|
2820
|
+
exports.createDelegationWithGoogleDriveDistribution = createDelegationWithGoogleDriveDistribution;
|
|
2821
|
+
exports.createDynamicOnlyDistribution = createDynamicOnlyDistribution;
|
|
2822
|
+
exports.createGoogleDriveOnlyDistribution = createGoogleDriveOnlyDistribution;
|
|
2705
2823
|
exports.downloadStringAsFile = downloadStringAsFile;
|
|
2706
2824
|
exports.formatEvmMessage = formatEvmMessage;
|
|
2707
2825
|
exports.formatMessage = formatMessage;
|
|
@@ -2710,6 +2828,8 @@ exports.getClientKeyShareExportFileName = getClientKeyShareExportFileName;
|
|
|
2710
2828
|
exports.getGoogleOAuthAccountId = getGoogleOAuthAccountId;
|
|
2711
2829
|
exports.getMPCSignatureScheme = getMPCSignatureScheme;
|
|
2712
2830
|
exports.getMPCSigner = getMPCSigner;
|
|
2831
|
+
exports.hasDelegatedBackup = hasDelegatedBackup;
|
|
2832
|
+
exports.hasGoogleDriveBackup = hasGoogleDriveBackup;
|
|
2713
2833
|
exports.isBrowser = isBrowser;
|
|
2714
2834
|
exports.isHexString = isHexString;
|
|
2715
2835
|
exports.mergeUniqueKeyShares = mergeUniqueKeyShares;
|
package/index.esm.js
CHANGED
|
@@ -814,6 +814,43 @@ const localStorageWriteTest = {
|
|
|
814
814
|
}
|
|
815
815
|
});
|
|
816
816
|
|
|
817
|
+
const createDelegationWithGoogleDriveDistribution = ({ existingShares, delegatedShare })=>({
|
|
818
|
+
dynamicBackendShares: existingShares,
|
|
819
|
+
googleDriveShares: existingShares,
|
|
820
|
+
delegatedShare
|
|
821
|
+
});
|
|
822
|
+
const createDelegationOnlyDistribution = ({ existingShares, delegatedShare })=>({
|
|
823
|
+
dynamicBackendShares: existingShares,
|
|
824
|
+
googleDriveShares: [],
|
|
825
|
+
delegatedShare
|
|
826
|
+
});
|
|
827
|
+
const createGoogleDriveOnlyDistribution = ({ allShares })=>({
|
|
828
|
+
dynamicBackendShares: allShares.slice(0, -1),
|
|
829
|
+
googleDriveShares: allShares.slice(-1)
|
|
830
|
+
});
|
|
831
|
+
const createDynamicOnlyDistribution = ({ allShares })=>({
|
|
832
|
+
dynamicBackendShares: allShares,
|
|
833
|
+
googleDriveShares: []
|
|
834
|
+
});
|
|
835
|
+
const hasGoogleDriveBackup = (backupInfo)=>{
|
|
836
|
+
var _backupInfo_backups_BackupLocation_GOOGLE_DRIVE, _backupInfo_backups;
|
|
837
|
+
var _backupInfo_backups_BackupLocation_GOOGLE_DRIVE_length;
|
|
838
|
+
return ((_backupInfo_backups_BackupLocation_GOOGLE_DRIVE_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_GOOGLE_DRIVE = _backupInfo_backups[BackupLocation.GOOGLE_DRIVE]) == null ? void 0 : _backupInfo_backups_BackupLocation_GOOGLE_DRIVE.length) != null ? _backupInfo_backups_BackupLocation_GOOGLE_DRIVE_length : 0) > 0;
|
|
839
|
+
};
|
|
840
|
+
const hasDelegatedBackup = (backupInfo)=>{
|
|
841
|
+
var _backupInfo_backups_BackupLocation_DELEGATED, _backupInfo_backups;
|
|
842
|
+
var _backupInfo_backups_BackupLocation_DELEGATED_length;
|
|
843
|
+
return ((_backupInfo_backups_BackupLocation_DELEGATED_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_DELEGATED = _backupInfo_backups[BackupLocation.DELEGATED]) == null ? void 0 : _backupInfo_backups_BackupLocation_DELEGATED.length) != null ? _backupInfo_backups_BackupLocation_DELEGATED_length : 0) > 0;
|
|
844
|
+
};
|
|
845
|
+
/**
|
|
846
|
+
* Distribution for adding Google Drive backup to an existing delegation.
|
|
847
|
+
* Client's shares go to both Dynamic and Google Drive.
|
|
848
|
+
* delegatedShare is undefined - we don't re-publish, but preserve the location.
|
|
849
|
+
*/ const createAddGoogleDriveToExistingDelegationDistribution = ({ clientShares })=>({
|
|
850
|
+
dynamicBackendShares: clientShares,
|
|
851
|
+
googleDriveShares: clientShares
|
|
852
|
+
});
|
|
853
|
+
|
|
817
854
|
class DynamicWalletClient {
|
|
818
855
|
async initializeForwardMPCClient() {
|
|
819
856
|
try {
|
|
@@ -1495,14 +1532,42 @@ class DynamicWalletClient {
|
|
|
1495
1532
|
clientKeyShares: clientKeysharesToLocalStorage,
|
|
1496
1533
|
overwriteOrMerge: 'overwrite'
|
|
1497
1534
|
});
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1535
|
+
const allClientShares = [
|
|
1536
|
+
...existingReshareResults,
|
|
1537
|
+
...newReshareResults
|
|
1538
|
+
];
|
|
1539
|
+
let distribution;
|
|
1540
|
+
if (delegateToProjectEnvironment && backupToGoogleDrive) {
|
|
1541
|
+
// Delegation + Google Drive: Client's existing share backs up to both Dynamic and Google Drive.
|
|
1542
|
+
// The new share goes to the webhook for delegation.
|
|
1543
|
+
distribution = createDelegationWithGoogleDriveDistribution({
|
|
1544
|
+
existingShares: existingReshareResults,
|
|
1545
|
+
delegatedShare: newReshareResults[0]
|
|
1546
|
+
});
|
|
1547
|
+
} else if (delegateToProjectEnvironment) {
|
|
1548
|
+
// Delegation only: Client's existing share backs up to Dynamic.
|
|
1549
|
+
// The new share goes to the webhook for delegation. No Google Drive backup.
|
|
1550
|
+
distribution = createDelegationOnlyDistribution({
|
|
1551
|
+
existingShares: existingReshareResults,
|
|
1552
|
+
delegatedShare: newReshareResults[0]
|
|
1553
|
+
});
|
|
1554
|
+
} else if (backupToGoogleDrive) {
|
|
1555
|
+
// Google Drive only: Split shares between Dynamic (N-1) and Google Drive (1).
|
|
1556
|
+
// The last share (new share) goes to Google Drive.
|
|
1557
|
+
distribution = createGoogleDriveOnlyDistribution({
|
|
1558
|
+
allShares: allClientShares
|
|
1559
|
+
});
|
|
1560
|
+
} else {
|
|
1561
|
+
// No delegation, no Google Drive: All shares go to Dynamic backend only.
|
|
1562
|
+
distribution = createDynamicOnlyDistribution({
|
|
1563
|
+
allShares: allClientShares
|
|
1564
|
+
});
|
|
1565
|
+
}
|
|
1566
|
+
await this.backupSharesWithDistribution({
|
|
1501
1567
|
accountAddress,
|
|
1502
1568
|
password,
|
|
1503
1569
|
signedSessionId,
|
|
1504
|
-
|
|
1505
|
-
delegatedKeyshare
|
|
1570
|
+
distribution
|
|
1506
1571
|
});
|
|
1507
1572
|
} catch (error) {
|
|
1508
1573
|
logError({
|
|
@@ -1531,6 +1596,7 @@ class DynamicWalletClient {
|
|
|
1531
1596
|
}
|
|
1532
1597
|
async performDelegationOperation({ accountAddress, password, signedSessionId, mfaToken, newThresholdSignatureScheme, revokeDelegation = false, operationName }) {
|
|
1533
1598
|
try {
|
|
1599
|
+
var _this_walletMap_accountAddress;
|
|
1534
1600
|
const delegateToProjectEnvironment = this.featureFlags && this.featureFlags[FEATURE_FLAGS.ENABLE_DELEGATED_KEY_SHARES_FLAG] === true;
|
|
1535
1601
|
if (!delegateToProjectEnvironment) {
|
|
1536
1602
|
throw new Error('Delegation is not allowed for this project environment');
|
|
@@ -1552,7 +1618,7 @@ class DynamicWalletClient {
|
|
|
1552
1618
|
newThresholdSignatureScheme,
|
|
1553
1619
|
password,
|
|
1554
1620
|
signedSessionId,
|
|
1555
|
-
backupToGoogleDrive:
|
|
1621
|
+
backupToGoogleDrive: hasGoogleDriveBackup((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.clientKeySharesBackupInfo),
|
|
1556
1622
|
delegateToProjectEnvironment: true,
|
|
1557
1623
|
mfaToken,
|
|
1558
1624
|
revokeDelegation
|
|
@@ -1756,47 +1822,14 @@ class DynamicWalletClient {
|
|
|
1756
1822
|
});
|
|
1757
1823
|
await ((_this_storage = this.storage) == null ? void 0 : _this_storage.setItem(accountAddress, stringifiedClientKeyShares));
|
|
1758
1824
|
}
|
|
1759
|
-
|
|
1760
|
-
* Central backup orchestrator that encrypts and stores wallet key shares.
|
|
1761
|
-
*
|
|
1762
|
-
* This method serves as the main backup coordinator, handling the distribution of encrypted
|
|
1763
|
-
* key shares between Dynamic's backend and Google Drive based on the wallet's threshold scheme.
|
|
1764
|
-
* It is used by multiple operations including reshare, refresh, and manual backup requests.
|
|
1765
|
-
*
|
|
1766
|
-
* **Backup Distribution Strategy:**
|
|
1767
|
-
* - **Single share wallets**: All shares stored on Dynamic's backend only
|
|
1768
|
-
* - **Multi-share wallets (2+)**: When backing up to Google Drive, N-1 shares on Dynamic's backend, 1 share on Google Drive
|
|
1769
|
-
* - **Multi-share wallets (2+)**: When not backing up to Google Drive, all shares on Dynamic's backend
|
|
1770
|
-
*
|
|
1771
|
-
* **Process Flow:**
|
|
1772
|
-
* 1. Encrypts all client key shares with the provided password (or environment ID if no password)
|
|
1773
|
-
* 2. For multi-share wallets (2+): conditionally distributes N-1 to backend, 1 to Google Drive
|
|
1774
|
-
* 3. For other configurations: stores all shares on Dynamic's backend
|
|
1775
|
-
* 4. Updates backup metadata and synchronizes wallet state
|
|
1776
|
-
* 5. Persists the updated wallet map to local storage
|
|
1777
|
-
*
|
|
1778
|
-
* **Delegated Key Shares:**
|
|
1779
|
-
* - When delegatedKeyshare is provided, the method will not store the delegated key share but it will mark the delegated share as backed up on Dynamic's backend
|
|
1780
|
-
* - and encrypt the delegated key share to publish it to the webhook
|
|
1781
|
-
*
|
|
1782
|
-
* @param params - The backup operation parameters
|
|
1783
|
-
* @param params.accountAddress - The account address of the wallet to backup
|
|
1784
|
-
* @param params.clientKeyShares - Optional specific key shares to backup (uses localStorage if not provided)
|
|
1785
|
-
* @param params.password - Optional password for encryption (uses environment ID if not provided)
|
|
1786
|
-
* @param params.signedSessionId - Optional signed session ID for authentication
|
|
1787
|
-
* @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
|
|
1788
|
-
* @returns Promise with backup metadata including share locations and IDs
|
|
1789
|
-
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, backupToGoogleDrive = false, delegatedKeyshare = undefined }) {
|
|
1825
|
+
async backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation = false }) {
|
|
1790
1826
|
const dynamicRequestId = v4();
|
|
1791
1827
|
try {
|
|
1792
|
-
var _this_walletMap_accountAddress
|
|
1793
|
-
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
1794
|
-
accountAddress
|
|
1795
|
-
});
|
|
1828
|
+
var _this_walletMap_accountAddress;
|
|
1796
1829
|
if (!((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.walletId)) {
|
|
1797
1830
|
const error = new Error(`WalletId not found for accountAddress ${accountAddress}`);
|
|
1798
1831
|
logError({
|
|
1799
|
-
message: 'Error in
|
|
1832
|
+
message: 'Error in backupSharesWithDistribution, wallet or walletId not found from the wallet map',
|
|
1800
1833
|
error,
|
|
1801
1834
|
context: {
|
|
1802
1835
|
accountAddress,
|
|
@@ -1805,58 +1838,44 @@ class DynamicWalletClient {
|
|
|
1805
1838
|
});
|
|
1806
1839
|
throw error;
|
|
1807
1840
|
}
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
}
|
|
1829
|
-
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
1830
|
-
walletId: this.walletMap[accountAddress].walletId,
|
|
1831
|
-
encryptedKeyShares: dynamicClientKeyShares,
|
|
1832
|
-
passwordEncrypted: Boolean(password) && password !== this.environmentId,
|
|
1833
|
-
encryptionVersion: ENCRYPTION_VERSION_CURRENT,
|
|
1834
|
-
signedSessionId,
|
|
1835
|
-
authMode: this.authMode,
|
|
1836
|
-
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
1837
|
-
dynamicRequestId
|
|
1838
|
-
});
|
|
1839
|
-
if (data.keyShareIds.length === 0) {
|
|
1840
|
-
throw new Error('No key shares were backed up');
|
|
1841
|
-
}
|
|
1842
|
-
const locations = [
|
|
1843
|
-
{
|
|
1841
|
+
const locations = [];
|
|
1842
|
+
if (distribution.dynamicBackendShares.length > 0) {
|
|
1843
|
+
const encryptedDynamicShares = await Promise.all(distribution.dynamicBackendShares.map((keyShare)=>this.encryptKeyShare({
|
|
1844
|
+
keyShare,
|
|
1845
|
+
password
|
|
1846
|
+
})));
|
|
1847
|
+
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
1848
|
+
walletId: this.walletMap[accountAddress].walletId,
|
|
1849
|
+
encryptedKeyShares: encryptedDynamicShares,
|
|
1850
|
+
passwordEncrypted: Boolean(password) && password !== this.environmentId,
|
|
1851
|
+
encryptionVersion: ENCRYPTION_VERSION_CURRENT,
|
|
1852
|
+
signedSessionId,
|
|
1853
|
+
authMode: this.authMode,
|
|
1854
|
+
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
1855
|
+
dynamicRequestId
|
|
1856
|
+
});
|
|
1857
|
+
if (data.keyShareIds.length === 0) {
|
|
1858
|
+
throw new Error('No key shares were backed up to Dynamic backend');
|
|
1859
|
+
}
|
|
1860
|
+
locations.push({
|
|
1844
1861
|
location: BackupLocation.DYNAMIC,
|
|
1845
1862
|
externalKeyShareId: data.keyShareIds[0]
|
|
1846
|
-
}
|
|
1847
|
-
|
|
1848
|
-
if (
|
|
1863
|
+
});
|
|
1864
|
+
}
|
|
1865
|
+
if (distribution.googleDriveShares.length > 0) {
|
|
1866
|
+
const encryptedGoogleDriveShares = await Promise.all(distribution.googleDriveShares.map((keyShare)=>this.encryptKeyShare({
|
|
1867
|
+
keyShare,
|
|
1868
|
+
password
|
|
1869
|
+
})));
|
|
1849
1870
|
await this.uploadKeySharesToGoogleDrive({
|
|
1850
1871
|
accountAddress,
|
|
1851
|
-
encryptedKeyShares:
|
|
1872
|
+
encryptedKeyShares: encryptedGoogleDriveShares
|
|
1852
1873
|
});
|
|
1853
1874
|
locations.push({
|
|
1854
1875
|
location: BackupLocation.GOOGLE_DRIVE
|
|
1855
1876
|
});
|
|
1856
1877
|
}
|
|
1857
|
-
|
|
1858
|
-
// after publish confirmed, we mark the delegated share as backed up on Dynamic's backend
|
|
1859
|
-
if (delegatedKeyshare) {
|
|
1878
|
+
if (distribution.delegatedShare) {
|
|
1860
1879
|
var _publicKey_key, _publicKey_key1, _publicKey_key2;
|
|
1861
1880
|
const publicKey = await this.apiClient.getDelegatedEncryptionKey({
|
|
1862
1881
|
environmentId: this.environmentId
|
|
@@ -1865,7 +1884,7 @@ class DynamicWalletClient {
|
|
|
1865
1884
|
throw new Error('Public key not found');
|
|
1866
1885
|
}
|
|
1867
1886
|
var _publicKey_key_keyId;
|
|
1868
|
-
const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(
|
|
1887
|
+
const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(distribution.delegatedShare), publicKey == null ? void 0 : (_publicKey_key1 = publicKey.key) == null ? void 0 : _publicKey_key1.publicKeyPemB64, (_publicKey_key_keyId = publicKey == null ? void 0 : (_publicKey_key2 = publicKey.key) == null ? void 0 : _publicKey_key2.keyId) != null ? _publicKey_key_keyId : publicKey == null ? void 0 : publicKey.keyId);
|
|
1869
1888
|
const { status } = await this.apiClient.publishDelegatedKeyShare({
|
|
1870
1889
|
walletId: this.walletMap[accountAddress].walletId,
|
|
1871
1890
|
encryptedKeyShare: encryptedDelegatedKeyShareEnvelope,
|
|
@@ -1880,6 +1899,12 @@ class DynamicWalletClient {
|
|
|
1880
1899
|
location: BackupLocation.DELEGATED
|
|
1881
1900
|
});
|
|
1882
1901
|
}
|
|
1902
|
+
// Preserve existing delegated location without re-publishing
|
|
1903
|
+
if (preserveDelegatedLocation && !distribution.delegatedShare) {
|
|
1904
|
+
locations.push({
|
|
1905
|
+
location: BackupLocation.DELEGATED
|
|
1906
|
+
});
|
|
1907
|
+
}
|
|
1883
1908
|
const backupData = await this.apiClient.markKeySharesAsBackedUp({
|
|
1884
1909
|
walletId: this.walletMap[accountAddress].walletId,
|
|
1885
1910
|
locations,
|
|
@@ -1901,10 +1926,10 @@ class DynamicWalletClient {
|
|
|
1901
1926
|
clientKeySharesBackupInfo: updatedBackupInfo
|
|
1902
1927
|
});
|
|
1903
1928
|
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
1904
|
-
return
|
|
1929
|
+
return backupData;
|
|
1905
1930
|
} catch (error) {
|
|
1906
1931
|
logError({
|
|
1907
|
-
message: 'Error in
|
|
1932
|
+
message: 'Error in backupSharesWithDistribution',
|
|
1908
1933
|
error: error,
|
|
1909
1934
|
context: {
|
|
1910
1935
|
accountAddress,
|
|
@@ -1914,6 +1939,88 @@ class DynamicWalletClient {
|
|
|
1914
1939
|
throw error;
|
|
1915
1940
|
}
|
|
1916
1941
|
}
|
|
1942
|
+
/**
|
|
1943
|
+
* Central backup orchestrator that encrypts and stores wallet key shares.
|
|
1944
|
+
*
|
|
1945
|
+
* This method serves as the main backup coordinator, handling the distribution of encrypted
|
|
1946
|
+
* key shares between Dynamic's backend and Google Drive based on the wallet's threshold scheme.
|
|
1947
|
+
* It is used by multiple operations including reshare, refresh, and manual backup requests.
|
|
1948
|
+
*
|
|
1949
|
+
* **Backup Distribution Strategy:**
|
|
1950
|
+
* - **Single share wallets**: All shares stored on Dynamic's backend only
|
|
1951
|
+
* - **Multi-share wallets (2+)**: When backing up to Google Drive, N-1 shares on Dynamic's backend, 1 share on Google Drive
|
|
1952
|
+
* - **Multi-share wallets (2+)**: When not backing up to Google Drive, all shares on Dynamic's backend
|
|
1953
|
+
*
|
|
1954
|
+
* **Process Flow:**
|
|
1955
|
+
* 1. Encrypts all client key shares with the provided password (or environment ID if no password)
|
|
1956
|
+
* 2. For multi-share wallets (2+): conditionally distributes N-1 to backend, 1 to Google Drive
|
|
1957
|
+
* 3. For other configurations: stores all shares on Dynamic's backend
|
|
1958
|
+
* 4. Updates backup metadata and synchronizes wallet state
|
|
1959
|
+
* 5. Persists the updated wallet map to local storage
|
|
1960
|
+
*
|
|
1961
|
+
* **Delegated Key Shares:**
|
|
1962
|
+
* - When delegatedKeyshare is provided, the method will not store the delegated key share but it will mark the delegated share as backed up on Dynamic's backend
|
|
1963
|
+
* - and encrypt the delegated key share to publish it to the webhook
|
|
1964
|
+
*
|
|
1965
|
+
* @param params - The backup operation parameters
|
|
1966
|
+
* @param params.accountAddress - The account address of the wallet to backup
|
|
1967
|
+
* @param params.clientKeyShares - Optional specific key shares to backup (uses localStorage if not provided)
|
|
1968
|
+
* @param params.password - Optional password for encryption (uses environment ID if not provided)
|
|
1969
|
+
* @param params.signedSessionId - Optional signed session ID for authentication
|
|
1970
|
+
* @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
|
|
1971
|
+
* @returns Promise with backup metadata including share locations and IDs
|
|
1972
|
+
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, backupToGoogleDrive = false, delegatedKeyshare = undefined }) {
|
|
1973
|
+
var _this_walletMap_accountAddress, _this_walletMap_accountAddress1;
|
|
1974
|
+
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
1975
|
+
accountAddress
|
|
1976
|
+
});
|
|
1977
|
+
const shouldBackupToGoogleDrive = backupToGoogleDrive || hasGoogleDriveBackup((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.clientKeySharesBackupInfo);
|
|
1978
|
+
const hasExistingDelegation = hasDelegatedBackup((_this_walletMap_accountAddress1 = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress1.clientKeySharesBackupInfo);
|
|
1979
|
+
let distribution;
|
|
1980
|
+
let preserveDelegatedLocation = false;
|
|
1981
|
+
if (delegatedKeyshare && shouldBackupToGoogleDrive) {
|
|
1982
|
+
// NEW delegation + Google Drive: Client's shares back up to both Dynamic and Google Drive.
|
|
1983
|
+
// The delegated share goes to the webhook.
|
|
1984
|
+
distribution = createDelegationWithGoogleDriveDistribution({
|
|
1985
|
+
existingShares: keySharesToBackup,
|
|
1986
|
+
delegatedShare: delegatedKeyshare
|
|
1987
|
+
});
|
|
1988
|
+
} else if (delegatedKeyshare) {
|
|
1989
|
+
// NEW delegation only: Client's shares back up to Dynamic.
|
|
1990
|
+
// The delegated share goes to the webhook. No Google Drive backup.
|
|
1991
|
+
distribution = createDelegationOnlyDistribution({
|
|
1992
|
+
existingShares: keySharesToBackup,
|
|
1993
|
+
delegatedShare: delegatedKeyshare
|
|
1994
|
+
});
|
|
1995
|
+
} else if (hasExistingDelegation && shouldBackupToGoogleDrive) {
|
|
1996
|
+
// ADD Google Drive to EXISTING delegation: Client's share backs up to both Dynamic and GD.
|
|
1997
|
+
// Don't re-publish delegated share, just preserve the location.
|
|
1998
|
+
distribution = createAddGoogleDriveToExistingDelegationDistribution({
|
|
1999
|
+
clientShares: keySharesToBackup
|
|
2000
|
+
});
|
|
2001
|
+
preserveDelegatedLocation = true;
|
|
2002
|
+
} else if (shouldBackupToGoogleDrive && keySharesToBackup.length >= 2) {
|
|
2003
|
+
// Google Drive only (no delegation): Split shares between Dynamic (N-1) and Google Drive (1).
|
|
2004
|
+
distribution = createGoogleDriveOnlyDistribution({
|
|
2005
|
+
allShares: keySharesToBackup
|
|
2006
|
+
});
|
|
2007
|
+
} else {
|
|
2008
|
+
// No delegation, no Google Drive: All shares go to Dynamic backend only.
|
|
2009
|
+
distribution = createDynamicOnlyDistribution({
|
|
2010
|
+
allShares: keySharesToBackup
|
|
2011
|
+
});
|
|
2012
|
+
}
|
|
2013
|
+
const backupData = await this.backupSharesWithDistribution({
|
|
2014
|
+
accountAddress,
|
|
2015
|
+
password,
|
|
2016
|
+
signedSessionId,
|
|
2017
|
+
distribution,
|
|
2018
|
+
preserveDelegatedLocation
|
|
2019
|
+
});
|
|
2020
|
+
return _extends({}, backupData, {
|
|
2021
|
+
keyShareIds: backupData.locationsWithKeyShares.map((ks)=>ks.keyShareId)
|
|
2022
|
+
});
|
|
2023
|
+
}
|
|
1917
2024
|
async storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password, signedSessionId }) {
|
|
1918
2025
|
await retryPromise(()=>this.storeEncryptedBackupByWallet({
|
|
1919
2026
|
accountAddress,
|
|
@@ -2103,14 +2210,18 @@ class DynamicWalletClient {
|
|
|
2103
2210
|
return (_ks_externalKeyShareId = ks.externalKeyShareId) != null ? _ks_externalKeyShareId : '';
|
|
2104
2211
|
});
|
|
2105
2212
|
} else {
|
|
2106
|
-
|
|
2107
|
-
const data = await this.storeEncryptedBackupByWallet({
|
|
2213
|
+
await this.storeEncryptedBackupByWallet({
|
|
2108
2214
|
accountAddress,
|
|
2109
2215
|
password,
|
|
2110
2216
|
signedSessionId,
|
|
2111
2217
|
backupToGoogleDrive: true
|
|
2112
2218
|
});
|
|
2113
|
-
|
|
2219
|
+
const backupInfo = this.walletMap[accountAddress].clientKeySharesBackupInfo;
|
|
2220
|
+
const googleDriveShares = backupInfo.backups[BackupLocation.GOOGLE_DRIVE] || [];
|
|
2221
|
+
return googleDriveShares.map((ks)=>{
|
|
2222
|
+
var _ks_externalKeyShareId;
|
|
2223
|
+
return (_ks_externalKeyShareId = ks.externalKeyShareId) != null ? _ks_externalKeyShareId : '';
|
|
2224
|
+
});
|
|
2114
2225
|
}
|
|
2115
2226
|
} catch (error) {
|
|
2116
2227
|
logError({
|
|
@@ -2580,7 +2691,7 @@ class DynamicWalletClient {
|
|
|
2580
2691
|
this.apiClient.syncAuthToken(authToken);
|
|
2581
2692
|
}
|
|
2582
2693
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode = AuthMode.HEADER, authToken = undefined, // Represents the version of the client SDK used by developer
|
|
2583
|
-
sdkVersion, forwardMPCClient }){
|
|
2694
|
+
sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl }){
|
|
2584
2695
|
this.userId = undefined;
|
|
2585
2696
|
this.sessionId = undefined;
|
|
2586
2697
|
this.initializePromise = null;
|
|
@@ -2596,13 +2707,15 @@ class DynamicWalletClient {
|
|
|
2596
2707
|
this.baseMPCRelayApiUrl = baseMPCRelayApiUrl;
|
|
2597
2708
|
this.authMode = authMode;
|
|
2598
2709
|
this.sdkVersion = sdkVersion;
|
|
2710
|
+
this.baseClientKeysharesRelayApiUrl = baseClientKeysharesRelayApiUrl;
|
|
2599
2711
|
this.apiClient = new DynamicApiClient({
|
|
2600
2712
|
environmentId,
|
|
2601
2713
|
authToken,
|
|
2602
2714
|
baseApiUrl,
|
|
2603
2715
|
authMode,
|
|
2604
2716
|
sdkVersion,
|
|
2605
|
-
forwardMPCClient
|
|
2717
|
+
forwardMPCClient,
|
|
2718
|
+
baseClientKeysharesRelayApiUrl
|
|
2606
2719
|
});
|
|
2607
2720
|
this.debug = Boolean(debug);
|
|
2608
2721
|
this.logger.setLogLevel(this.debug ? LogLevel.DEBUG : DEFAULT_LOG_LEVEL);
|
|
@@ -2640,4 +2753,4 @@ const ERROR_VERIFY_TRANSACTION_SIGNATURE = '[DynamicWaasWalletClient]: Error ver
|
|
|
2640
2753
|
const ERROR_EXPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error exporting private key';
|
|
2641
2754
|
const ERROR_IMPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error importing private key';
|
|
2642
2755
|
|
|
2643
|
-
export { DynamicWalletClient, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_KEYGEN_FAILED, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, createBackupData, downloadStringAsFile, formatEvmMessage, formatMessage, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getGoogleOAuthAccountId, getMPCSignatureScheme, getMPCSigner, isBrowser, isHexString, mergeUniqueKeyShares, retryPromise, timeoutPromise };
|
|
2756
|
+
export { DynamicWalletClient, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_KEYGEN_FAILED, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, createAddGoogleDriveToExistingDelegationDistribution, createBackupData, createDelegationOnlyDistribution, createDelegationWithGoogleDriveDistribution, createDynamicOnlyDistribution, createGoogleDriveOnlyDistribution, downloadStringAsFile, formatEvmMessage, formatMessage, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getGoogleOAuthAccountId, getMPCSignatureScheme, getMPCSigner, hasDelegatedBackup, hasGoogleDriveBackup, isBrowser, isHexString, mergeUniqueKeyShares, retryPromise, timeoutPromise };
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.212",
|
|
4
4
|
"license": "Licensed under the Dynamic Labs, Inc. Terms Of Service (https://www.dynamic.xyz/terms-conditions)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dynamic-labs-wallet/core": "0.0.
|
|
7
|
+
"@dynamic-labs-wallet/core": "0.0.212",
|
|
8
8
|
"@dynamic-labs/logger": "^4.25.3",
|
|
9
9
|
"@dynamic-labs/sdk-api-core": "^0.0.818",
|
|
10
10
|
"argon2id": "1.0.1",
|
package/src/client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { AuthMode, BackupLocation, type BackupLocationWithExternalKeyShareId, Dy
|
|
|
3
3
|
import type { SignMessageContext } from '@dynamic-labs/sdk-api-core';
|
|
4
4
|
import type { ClientInitKeygenResult, ClientKeyShare } from './mpc/types.js';
|
|
5
5
|
import { type SupportedStorage } from './services/localStorage.js';
|
|
6
|
-
import type
|
|
6
|
+
import { type ShareDistribution, type WalletProperties } from './types.js';
|
|
7
7
|
export declare class DynamicWalletClient {
|
|
8
8
|
environmentId: string;
|
|
9
9
|
storageKey: string;
|
|
@@ -26,7 +26,8 @@ export declare class DynamicWalletClient {
|
|
|
26
26
|
readonly featureFlags: FeatureFlags;
|
|
27
27
|
protected authMode: AuthMode;
|
|
28
28
|
protected sdkVersion?: string;
|
|
29
|
-
|
|
29
|
+
protected baseClientKeysharesRelayApiUrl?: string;
|
|
30
|
+
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode, authToken, sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, }: DynamicWalletClientProps);
|
|
30
31
|
private initializeForwardMPCClient;
|
|
31
32
|
getAuthMode(): AuthMode;
|
|
32
33
|
/**
|
|
@@ -223,6 +224,21 @@ export declare class DynamicWalletClient {
|
|
|
223
224
|
clientKeyShares: ClientKeyShare[];
|
|
224
225
|
overwriteOrMerge?: 'overwrite' | 'merge';
|
|
225
226
|
}): Promise<void>;
|
|
227
|
+
backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation, }: {
|
|
228
|
+
accountAddress: string;
|
|
229
|
+
password?: string;
|
|
230
|
+
signedSessionId: string;
|
|
231
|
+
distribution: ShareDistribution;
|
|
232
|
+
preserveDelegatedLocation?: boolean;
|
|
233
|
+
}): Promise<{
|
|
234
|
+
message: string;
|
|
235
|
+
walletId: string;
|
|
236
|
+
locationsWithKeyShares: {
|
|
237
|
+
location: BackupLocation;
|
|
238
|
+
keyShareId: string;
|
|
239
|
+
externalKeyShareId?: string;
|
|
240
|
+
}[];
|
|
241
|
+
}>;
|
|
226
242
|
/**
|
|
227
243
|
* Central backup orchestrator that encrypts and stores wallet key shares.
|
|
228
244
|
*
|
|
@@ -260,8 +276,17 @@ export declare class DynamicWalletClient {
|
|
|
260
276
|
password?: string;
|
|
261
277
|
signedSessionId: string;
|
|
262
278
|
backupToGoogleDrive?: boolean;
|
|
263
|
-
delegatedKeyshare?:
|
|
264
|
-
}): Promise<
|
|
279
|
+
delegatedKeyshare?: ClientKeyShare;
|
|
280
|
+
}): Promise<{
|
|
281
|
+
keyShareIds: string[];
|
|
282
|
+
message: string;
|
|
283
|
+
walletId: string;
|
|
284
|
+
locationsWithKeyShares: {
|
|
285
|
+
location: BackupLocation;
|
|
286
|
+
keyShareId: string;
|
|
287
|
+
externalKeyShareId?: string;
|
|
288
|
+
}[];
|
|
289
|
+
}>;
|
|
265
290
|
storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password, signedSessionId, }: {
|
|
266
291
|
accountAddress: string;
|
|
267
292
|
clientKeyShares?: ClientKeyShare[];
|
package/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
package/src/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type KeyShareBackupInfo, type ThresholdSignatureScheme } from '@dynamic-labs-wallet/core';
|
|
2
|
+
import type { ClientKeyShare } from './mpc/types.js';
|
|
2
3
|
export interface WalletProperties {
|
|
3
4
|
chainName: string;
|
|
4
5
|
walletId: string;
|
|
@@ -7,4 +8,33 @@ export interface WalletProperties {
|
|
|
7
8
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
8
9
|
derivationPath?: string;
|
|
9
10
|
}
|
|
11
|
+
export type ShareDistribution = {
|
|
12
|
+
dynamicBackendShares: ClientKeyShare[];
|
|
13
|
+
googleDriveShares: ClientKeyShare[];
|
|
14
|
+
delegatedShare?: ClientKeyShare;
|
|
15
|
+
};
|
|
16
|
+
export declare const createDelegationWithGoogleDriveDistribution: ({ existingShares, delegatedShare, }: {
|
|
17
|
+
existingShares: ClientKeyShare[];
|
|
18
|
+
delegatedShare: ClientKeyShare;
|
|
19
|
+
}) => ShareDistribution;
|
|
20
|
+
export declare const createDelegationOnlyDistribution: ({ existingShares, delegatedShare, }: {
|
|
21
|
+
existingShares: ClientKeyShare[];
|
|
22
|
+
delegatedShare: ClientKeyShare;
|
|
23
|
+
}) => ShareDistribution;
|
|
24
|
+
export declare const createGoogleDriveOnlyDistribution: ({ allShares, }: {
|
|
25
|
+
allShares: ClientKeyShare[];
|
|
26
|
+
}) => ShareDistribution;
|
|
27
|
+
export declare const createDynamicOnlyDistribution: ({ allShares, }: {
|
|
28
|
+
allShares: ClientKeyShare[];
|
|
29
|
+
}) => ShareDistribution;
|
|
30
|
+
export declare const hasGoogleDriveBackup: (backupInfo?: KeyShareBackupInfo) => boolean;
|
|
31
|
+
export declare const hasDelegatedBackup: (backupInfo?: KeyShareBackupInfo) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Distribution for adding Google Drive backup to an existing delegation.
|
|
34
|
+
* Client's shares go to both Dynamic and Google Drive.
|
|
35
|
+
* delegatedShare is undefined - we don't re-publish, but preserve the location.
|
|
36
|
+
*/
|
|
37
|
+
export declare const createAddGoogleDriveToExistingDelegationDistribution: ({ clientShares, }: {
|
|
38
|
+
clientShares: ClientKeyShare[];
|
|
39
|
+
}) => ShareDistribution;
|
|
10
40
|
//# sourceMappingURL=types.d.ts.map
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,kBAAkB,CAAC;IAC9C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oBAAoB,EAAE,cAAc,EAAE,CAAC;IACvC,iBAAiB,EAAE,cAAc,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,2CAA2C,wCAGrD;IACD,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC,KAAG,iBAIF,CAAC;AAEH,eAAO,MAAM,gCAAgC,wCAG1C;IACD,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;CAChC,KAAG,iBAIF,CAAC;AAEH,eAAO,MAAM,iCAAiC,mBAE3C;IACD,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B,KAAG,iBAGF,CAAC;AAEH,eAAO,MAAM,6BAA6B,mBAEvC;IACD,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B,KAAG,iBAGF,CAAC;AAEH,eAAO,MAAM,oBAAoB,gBAClB,kBAAkB,KAC9B,OACoE,CAAC;AAExE,eAAO,MAAM,kBAAkB,gBAAiB,kBAAkB,KAAG,OACD,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,oDAAoD,sBAE9D;IACD,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC,KAAG,iBAGF,CAAC"}
|