@dynamic-labs-wallet/browser 0.0.344 → 0.0.346
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 +113 -24
- package/index.esm.js +112 -25
- package/package.json +3 -3
- package/src/client.d.ts +8 -4
- package/src/client.d.ts.map +1 -1
- package/src/errorConstants.d.ts +1 -0
- package/src/errorConstants.d.ts.map +1 -1
- package/src/types.d.ts +38 -2
- package/src/types.d.ts.map +1 -1
- package/src/utils.d.ts.map +1 -1
package/index.cjs
CHANGED
|
@@ -706,6 +706,10 @@ const ERROR_IMPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error importing pri
|
|
|
706
706
|
const ERROR_PUBLIC_KEY_MISMATCH = 'Mismatch between the public keys of the server and the ones provided';
|
|
707
707
|
const ERROR_PASSCODE_REQUIRED = '[DynamicWaasWalletClient]: A passcode is required for this environment. Please provide a password.';
|
|
708
708
|
const ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE = '[DynamicWaasWalletClient]: Refresh is not supported for 2/3 wallets. Reshare to 2/2 before refreshing.';
|
|
709
|
+
// Server-side error returned by /waas/create when an env disallows more than
|
|
710
|
+
// one wallet per chain and the user already has one. Matched verbatim by
|
|
711
|
+
// isNonRetryableCeremonyError — keep in sync with the backend wording.
|
|
712
|
+
const ERROR_MULTIPLE_WALLETS_PER_CHAIN = 'Multiple wallets per chain not allowed';
|
|
709
713
|
|
|
710
714
|
/**
|
|
711
715
|
* Normalizes an address to lowercase for consistent map key lookups.
|
|
@@ -911,6 +915,7 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
|
|
|
911
915
|
if (message.includes(ERROR_PASSCODE_REQUIRED)) return true;
|
|
912
916
|
if (message.includes(ERROR_PUBLIC_KEY_MISMATCH)) return true;
|
|
913
917
|
if (message.includes(ERROR_PASSWORD_MISMATCH)) return true;
|
|
918
|
+
if (message.includes(ERROR_MULTIPLE_WALLETS_PER_CHAIN)) return true;
|
|
914
919
|
return false;
|
|
915
920
|
};
|
|
916
921
|
/**
|
|
@@ -935,11 +940,15 @@ const isHexString = (str)=>{
|
|
|
935
940
|
return /^[0-9A-Fa-f]+$/.test(hex);
|
|
936
941
|
};
|
|
937
942
|
/**
|
|
938
|
-
*
|
|
939
|
-
* -
|
|
940
|
-
* -
|
|
941
|
-
* -
|
|
942
|
-
|
|
943
|
+
* Normalizes a message to the bytes/hex form an MPC signer consumes:
|
|
944
|
+
* - string + hex charset → Uint8Array
|
|
945
|
+
* - string + plain text → hex-encoded string
|
|
946
|
+
* - Uint8Array → passthrough
|
|
947
|
+
*
|
|
948
|
+
* Chain-agnostic: used by every chain whose signer takes raw bytes (Solana,
|
|
949
|
+
* TON, Stellar — Ed25519 — and Midnight — BIP340 Schnorr). The signing
|
|
950
|
+
* algorithm is applied inside the MPC signer, not here.
|
|
951
|
+
*/ const formatRawBytesMessage = (message)=>{
|
|
943
952
|
if (typeof message !== 'string') {
|
|
944
953
|
return message;
|
|
945
954
|
}
|
|
@@ -948,9 +957,10 @@ const isHexString = (str)=>{
|
|
|
948
957
|
}
|
|
949
958
|
return Buffer.from(message).toString('hex');
|
|
950
959
|
};
|
|
951
|
-
const formatSolanaMessage = (message)=>
|
|
952
|
-
const formatTonMessage = (message)=>
|
|
953
|
-
|
|
960
|
+
const formatSolanaMessage = (message)=>formatRawBytesMessage(message);
|
|
961
|
+
const formatTonMessage = (message)=>formatRawBytesMessage(message);
|
|
962
|
+
const formatStellarMessage = (message)=>formatRawBytesMessage(message);
|
|
963
|
+
const formatMidnightMessage = (message)=>formatRawBytesMessage(message);
|
|
954
964
|
const formatMessage = (chainName, message)=>{
|
|
955
965
|
switch(chainName){
|
|
956
966
|
case 'EVM':
|
|
@@ -964,6 +974,8 @@ const formatMessage = (chainName, message)=>{
|
|
|
964
974
|
return formatTonMessage(message);
|
|
965
975
|
case 'STELLAR':
|
|
966
976
|
return formatStellarMessage(message);
|
|
977
|
+
case 'MIDNIGHT':
|
|
978
|
+
return formatMidnightMessage(message);
|
|
967
979
|
default:
|
|
968
980
|
throw new Error('Unsupported chain name');
|
|
969
981
|
}
|
|
@@ -1662,10 +1674,44 @@ const createDynamicOnlyDistribution = ({ allShares })=>({
|
|
|
1662
1674
|
clientShares: allShares,
|
|
1663
1675
|
cloudProviderShares: {}
|
|
1664
1676
|
});
|
|
1665
|
-
|
|
1677
|
+
/**
|
|
1678
|
+
* Returns the delegated share set from a wallet's `otherShareSets` array, if
|
|
1679
|
+
* one exists. The new revoke flow targets the share set directly via this id
|
|
1680
|
+
* rather than running a reshare ceremony.
|
|
1681
|
+
*
|
|
1682
|
+
* Invariant: at most one delegated share set per wallet. If the server ever
|
|
1683
|
+
* returns more than one, the most recently created entry is returned and a
|
|
1684
|
+
* warning is logged once on the call site (caller's responsibility — keep this
|
|
1685
|
+
* helper pure).
|
|
1686
|
+
*/ const getDelegatedShareSet = (otherShareSets)=>{
|
|
1687
|
+
var _otherShareSets_filter;
|
|
1688
|
+
const delegated = (_otherShareSets_filter = otherShareSets == null ? void 0 : otherShareSets.filter((shareSet)=>shareSet.shareSetType === 'delegated')) != null ? _otherShareSets_filter : [];
|
|
1689
|
+
if (delegated.length <= 1) return delegated[0];
|
|
1690
|
+
// Multiple delegated entries shouldn't happen today. Pick the newest by
|
|
1691
|
+
// createdAt so behavior is deterministic if the invariant ever breaks.
|
|
1692
|
+
return [
|
|
1693
|
+
...delegated
|
|
1694
|
+
].sort((a, b)=>a.createdAt < b.createdAt ? 1 : -1)[0];
|
|
1695
|
+
};
|
|
1696
|
+
/**
|
|
1697
|
+
* Checks whether a wallet has delegation set up. Two sources are checked
|
|
1698
|
+
* because the SDK is in a transitional state:
|
|
1699
|
+
*
|
|
1700
|
+
* 1. Legacy: `backups[DELEGATED]` on the rootUser share set's backup info —
|
|
1701
|
+
* the pre-shareSets-array model where "delegated" was a backup location
|
|
1702
|
+
* of the rootUser share set.
|
|
1703
|
+
* 2. New: an entry with `shareSetType: 'delegated'` in `otherShareSets` —
|
|
1704
|
+
* the post-shareSets-array model where the delegated share set is a
|
|
1705
|
+
* separate `WaasWallets` row.
|
|
1706
|
+
*
|
|
1707
|
+
* Today both sources should agree (redcoast still populates `backups[DELEGATED]`
|
|
1708
|
+
* during the transition). Once the legacy backup-location entry is removed,
|
|
1709
|
+
* only `otherShareSets` will be authoritative — at which point we can drop the
|
|
1710
|
+
* first branch and the `backupInfo` parameter.
|
|
1711
|
+
*/ const hasDelegatedBackup = (backupInfo, otherShareSets)=>{
|
|
1666
1712
|
var _backupInfo_backups_BackupLocation_DELEGATED, _backupInfo_backups;
|
|
1667
1713
|
var _backupInfo_backups_BackupLocation_DELEGATED_length;
|
|
1668
|
-
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;
|
|
1714
|
+
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 || getDelegatedShareSet(otherShareSets) !== undefined;
|
|
1669
1715
|
};
|
|
1670
1716
|
|
|
1671
1717
|
/**
|
|
@@ -2653,13 +2699,14 @@ class DynamicWalletClient {
|
|
|
2653
2699
|
throw error;
|
|
2654
2700
|
}
|
|
2655
2701
|
}
|
|
2656
|
-
async serverSign({ walletId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
|
|
2702
|
+
async serverSign({ walletId, shareSetId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
|
|
2657
2703
|
// Create the room and sign the message
|
|
2658
2704
|
if (typeof message !== 'string') {
|
|
2659
2705
|
message = `0x${Buffer.from(message).toString('hex')}`;
|
|
2660
2706
|
}
|
|
2661
2707
|
const data = await this.apiClient.signMessage({
|
|
2662
2708
|
walletId,
|
|
2709
|
+
shareSetId,
|
|
2663
2710
|
message,
|
|
2664
2711
|
isFormatted,
|
|
2665
2712
|
dynamicRequestId,
|
|
@@ -2675,12 +2722,24 @@ class DynamicWalletClient {
|
|
|
2675
2722
|
return data;
|
|
2676
2723
|
}
|
|
2677
2724
|
prepareMessageForForwardMPC({ chainName, message, formattedMessage, signingAlgo, isFormatted }) {
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2725
|
+
// BIP340 hash unwrap MUST come first. When `isFormatted=true`, callers wrap
|
|
2726
|
+
// the payload in a `MessageHash`; the direct-MPC path then reads
|
|
2727
|
+
// `formattedMessage.bytes`. The forward-MPC signer can't accept the object
|
|
2728
|
+
// — it needs the hex string. MIDNIGHT also uses BIP340, so without this
|
|
2729
|
+
// running before the chain-name early-return, the MessageHash leaks through
|
|
2730
|
+
// for `isFormatted=true` Midnight signs and the two code paths diverge.
|
|
2681
2731
|
if (signingAlgo === 'BIP340' && formattedMessage instanceof web.MessageHash) {
|
|
2682
2732
|
return formattedMessage.toHex();
|
|
2683
2733
|
}
|
|
2734
|
+
// Ed25519-style-formatted chains: pass the formatted bytes through. MIDNIGHT
|
|
2735
|
+
// uses BIP340 at the MPC layer but formatMidnightMessage produces string |
|
|
2736
|
+
// Uint8Array (Ed25519-style framing), not a MessageHash — so the BIP340
|
|
2737
|
+
// branch above doesn't catch the `isFormatted=false` case. Without this,
|
|
2738
|
+
// forward-MPC Midnight signs would discard the formatted message and sign
|
|
2739
|
+
// raw bytes, producing signatures that don't match the direct-MPC path.
|
|
2740
|
+
if (chainName === 'SVM' || chainName === 'TON' || chainName === 'STELLAR' || chainName === 'MIDNIGHT') {
|
|
2741
|
+
return formattedMessage;
|
|
2742
|
+
}
|
|
2684
2743
|
return core.serializeMessageForForwardMPC({
|
|
2685
2744
|
message,
|
|
2686
2745
|
isFormatted,
|
|
@@ -2909,6 +2968,7 @@ class DynamicWalletClient {
|
|
|
2909
2968
|
// Perform the server sign
|
|
2910
2969
|
const serverSignPromise = this.serverSign({
|
|
2911
2970
|
walletId: wallet.walletId,
|
|
2971
|
+
shareSetId: wallet.shareSetId,
|
|
2912
2972
|
message,
|
|
2913
2973
|
isFormatted,
|
|
2914
2974
|
mfaToken,
|
|
@@ -3062,7 +3122,7 @@ class DynamicWalletClient {
|
|
|
3062
3122
|
};
|
|
3063
3123
|
}
|
|
3064
3124
|
const preservedCloudProviders = getActiveCloudProviders(walletProperties.clientKeySharesBackupInfo);
|
|
3065
|
-
const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo);
|
|
3125
|
+
const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo, walletProperties.otherShareSets);
|
|
3066
3126
|
this.logger.info('[resolveBackupLocationsForReshare] Preserving existing backup locations', {
|
|
3067
3127
|
dynamicRequestId,
|
|
3068
3128
|
cloudProviders: preservedCloudProviders,
|
|
@@ -3126,6 +3186,7 @@ class DynamicWalletClient {
|
|
|
3126
3186
|
const data = await this.apiClient.refreshWalletAccountShares({
|
|
3127
3187
|
dynamicRequestId,
|
|
3128
3188
|
walletId: wallet.walletId,
|
|
3189
|
+
shareSetId: wallet.shareSetId,
|
|
3129
3190
|
mfaToken,
|
|
3130
3191
|
elevatedAccessToken
|
|
3131
3192
|
});
|
|
@@ -3357,6 +3418,7 @@ class DynamicWalletClient {
|
|
|
3357
3418
|
// Server to create the room and complete the server reshare logics
|
|
3358
3419
|
const data = await this.apiClient.reshare({
|
|
3359
3420
|
walletId: wallet.walletId,
|
|
3421
|
+
shareSetId: wallet.shareSetId,
|
|
3360
3422
|
clientKeygenIds: clientKeygenIds,
|
|
3361
3423
|
oldThresholdSignatureScheme,
|
|
3362
3424
|
newThresholdSignatureScheme,
|
|
@@ -3650,6 +3712,7 @@ class DynamicWalletClient {
|
|
|
3650
3712
|
});
|
|
3651
3713
|
const data = await this.apiClient.exportKey({
|
|
3652
3714
|
walletId: wallet.walletId,
|
|
3715
|
+
shareSetId: wallet.shareSetId,
|
|
3653
3716
|
exportId,
|
|
3654
3717
|
bitcoinConfig,
|
|
3655
3718
|
dynamicRequestId,
|
|
@@ -3870,7 +3933,7 @@ class DynamicWalletClient {
|
|
|
3870
3933
|
* @param thresholdSignatureScheme - The TSS scheme used
|
|
3871
3934
|
* @param derivationPath - Optional derivation path (will be computed from chainConfig if not provided)
|
|
3872
3935
|
* @param additionalProps - Any chain-specific additional properties to merge
|
|
3873
|
-
*/ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, additionalProps = {} }) {
|
|
3936
|
+
*/ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, shareSetId, shareSetType, otherShareSets, additionalProps = {} }) {
|
|
3874
3937
|
this.updateWalletMap(accountAddress, _extends({
|
|
3875
3938
|
accountAddress,
|
|
3876
3939
|
walletId,
|
|
@@ -3878,6 +3941,12 @@ class DynamicWalletClient {
|
|
|
3878
3941
|
thresholdSignatureScheme
|
|
3879
3942
|
}, derivationPath ? {
|
|
3880
3943
|
derivationPath
|
|
3944
|
+
} : {}, shareSetId ? {
|
|
3945
|
+
shareSetId
|
|
3946
|
+
} : {}, shareSetType ? {
|
|
3947
|
+
shareSetType
|
|
3948
|
+
} : {}, otherShareSets ? {
|
|
3949
|
+
otherShareSets
|
|
3881
3950
|
} : {}, {
|
|
3882
3951
|
clientKeySharesBackupInfo: getClientKeyShareBackupInfo()
|
|
3883
3952
|
}, additionalProps));
|
|
@@ -3967,12 +4036,14 @@ class DynamicWalletClient {
|
|
|
3967
4036
|
return shares;
|
|
3968
4037
|
}
|
|
3969
4038
|
async backupToDynamicBackend({ walletId, clientShares, password, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted, accountAddress, preEncryptedShares, passwordUpdateBatchId }) {
|
|
4039
|
+
var _this_getWalletFromMap;
|
|
3970
4040
|
const encryptedDynamicShares = preEncryptedShares != null ? preEncryptedShares : await Promise.all(clientShares.map((keyShare)=>this.encryptKeyShare({
|
|
3971
4041
|
keyShare,
|
|
3972
4042
|
password
|
|
3973
4043
|
})));
|
|
3974
4044
|
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
3975
4045
|
walletId,
|
|
4046
|
+
shareSetId: (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.shareSetId,
|
|
3976
4047
|
encryptedKeyShares: encryptedDynamicShares,
|
|
3977
4048
|
passwordEncrypted: isPasswordEncrypted,
|
|
3978
4049
|
encryptionVersion: ENCRYPTION_VERSION_CURRENT,
|
|
@@ -4077,7 +4148,7 @@ class DynamicWalletClient {
|
|
|
4077
4148
|
keygenId
|
|
4078
4149
|
};
|
|
4079
4150
|
}
|
|
4080
|
-
async publishDelegatedShare({ walletId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
|
|
4151
|
+
async publishDelegatedShare({ walletId, shareSetId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
|
|
4081
4152
|
var _publicKey_key, _publicKey_key1, _publicKey_key2;
|
|
4082
4153
|
const publicKey = await this.apiClient.getDelegatedEncryptionKey({
|
|
4083
4154
|
environmentId: this.environmentId
|
|
@@ -4089,6 +4160,7 @@ class DynamicWalletClient {
|
|
|
4089
4160
|
const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(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);
|
|
4090
4161
|
const { status } = await this.apiClient.publishDelegatedKeyShare({
|
|
4091
4162
|
walletId,
|
|
4163
|
+
shareSetId,
|
|
4092
4164
|
encryptedKeyShare: encryptedDelegatedKeyShareEnvelope,
|
|
4093
4165
|
signedSessionId,
|
|
4094
4166
|
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
@@ -4221,6 +4293,7 @@ class DynamicWalletClient {
|
|
|
4221
4293
|
if (distribution.delegatedShare) {
|
|
4222
4294
|
uploadPromises.push(retryPromise(()=>this.publishDelegatedShare({
|
|
4223
4295
|
walletId: walletData.walletId,
|
|
4296
|
+
shareSetId: walletData.shareSetId,
|
|
4224
4297
|
delegatedShare: distribution.delegatedShare,
|
|
4225
4298
|
signedSessionId: resolvedSignedSessionId,
|
|
4226
4299
|
dynamicRequestId,
|
|
@@ -4248,6 +4321,7 @@ class DynamicWalletClient {
|
|
|
4248
4321
|
// Step 2: Activate server shares (independently retried)
|
|
4249
4322
|
const backupData = await retryPromise(()=>this.apiClient.markKeySharesAsBackedUp({
|
|
4250
4323
|
walletId: walletData.walletId,
|
|
4324
|
+
shareSetId: walletData.shareSetId,
|
|
4251
4325
|
locations,
|
|
4252
4326
|
dynamicRequestId,
|
|
4253
4327
|
passwordUpdateBatchId
|
|
@@ -4424,7 +4498,7 @@ class DynamicWalletClient {
|
|
|
4424
4498
|
* @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
|
|
4425
4499
|
* @returns Promise with backup metadata including share locations and IDs
|
|
4426
4500
|
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined, passwordUpdateBatchId, googleDriveAccessToken }) {
|
|
4427
|
-
var
|
|
4501
|
+
var _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
|
|
4428
4502
|
const hasProvidedShares = clientKeyShares !== undefined;
|
|
4429
4503
|
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromStorage({
|
|
4430
4504
|
accountAddress
|
|
@@ -4443,12 +4517,13 @@ class DynamicWalletClient {
|
|
|
4443
4517
|
});
|
|
4444
4518
|
}
|
|
4445
4519
|
// Re-read after the freshness check: walletMap may have been updated with fresh server data.
|
|
4446
|
-
const
|
|
4520
|
+
const walletFromMap = this.getWalletFromMap(accountAddress);
|
|
4521
|
+
const walletBackupInfo = walletFromMap == null ? void 0 : walletFromMap.clientKeySharesBackupInfo;
|
|
4447
4522
|
const activeCloudProviders = getActiveCloudProviders(walletBackupInfo);
|
|
4448
4523
|
const shouldBackupToCloudProviders = cloudProviders.length > 0 || activeCloudProviders.length > 0;
|
|
4449
4524
|
// Use requested providers, or fall back to existing active providers
|
|
4450
4525
|
const providersToBackup = cloudProviders.length > 0 ? cloudProviders : activeCloudProviders;
|
|
4451
|
-
const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo);
|
|
4526
|
+
const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo, walletFromMap == null ? void 0 : walletFromMap.otherShareSets);
|
|
4452
4527
|
let distribution;
|
|
4453
4528
|
let preserveDelegatedLocation = false;
|
|
4454
4529
|
// Generic distribution logic - works with any cloud providers
|
|
@@ -4611,6 +4686,7 @@ class DynamicWalletClient {
|
|
|
4611
4686
|
});
|
|
4612
4687
|
const result = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
4613
4688
|
walletId: wallet.walletId,
|
|
4689
|
+
shareSetId: wallet.shareSetId,
|
|
4614
4690
|
externalKeyShareIds: shares[core.BackupLocation.DYNAMIC] || [],
|
|
4615
4691
|
signedSessionId,
|
|
4616
4692
|
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
@@ -4826,6 +4902,7 @@ class DynamicWalletClient {
|
|
|
4826
4902
|
});
|
|
4827
4903
|
const data = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
4828
4904
|
walletId: wallet.walletId,
|
|
4905
|
+
shareSetId: wallet.shareSetId,
|
|
4829
4906
|
externalKeyShareIds: dynamicKeyShareIds,
|
|
4830
4907
|
signedSessionId,
|
|
4831
4908
|
mfaToken,
|
|
@@ -5461,7 +5538,10 @@ class DynamicWalletClient {
|
|
|
5461
5538
|
clientKeySharesBackupInfo: getClientKeyShareBackupInfo({
|
|
5462
5539
|
walletProperties: props
|
|
5463
5540
|
}),
|
|
5464
|
-
addressType: props == null ? void 0 : props.addressType
|
|
5541
|
+
addressType: props == null ? void 0 : props.addressType,
|
|
5542
|
+
shareSetId: props == null ? void 0 : props.shareSetId,
|
|
5543
|
+
shareSetType: props == null ? void 0 : props.shareSetType,
|
|
5544
|
+
otherShareSets: props == null ? void 0 : props.otherShareSets
|
|
5465
5545
|
});
|
|
5466
5546
|
}
|
|
5467
5547
|
if (walletOperation !== core.WalletOperation.NO_OPERATION && await this.requiresRestoreBackupSharesForOperation({
|
|
@@ -5509,6 +5589,7 @@ class DynamicWalletClient {
|
|
|
5509
5589
|
});
|
|
5510
5590
|
const data = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
5511
5591
|
walletId: walletData.walletId,
|
|
5592
|
+
shareSetId: walletData.shareSetId,
|
|
5512
5593
|
externalKeyShareIds: dynamicKeyShareIds,
|
|
5513
5594
|
signedSessionId,
|
|
5514
5595
|
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
@@ -5812,7 +5893,7 @@ class DynamicWalletClient {
|
|
|
5812
5893
|
this.userId = user.id;
|
|
5813
5894
|
const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
|
|
5814
5895
|
const wallets = waasWallets.map((vc)=>{
|
|
5815
|
-
var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1;
|
|
5896
|
+
var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1, _vc_walletProperties2, _vc_walletProperties3, _vc_walletProperties4;
|
|
5816
5897
|
var _this_getWalletFromMap_derivationPath;
|
|
5817
5898
|
return {
|
|
5818
5899
|
walletId: vc.id,
|
|
@@ -5823,7 +5904,10 @@ class DynamicWalletClient {
|
|
|
5823
5904
|
}),
|
|
5824
5905
|
derivationPath: (_this_getWalletFromMap_derivationPath = (_this_getWalletFromMap = this.getWalletFromMap(vc.address)) == null ? void 0 : _this_getWalletFromMap.derivationPath) != null ? _this_getWalletFromMap_derivationPath : undefined,
|
|
5825
5906
|
thresholdSignatureScheme: (_vc_walletProperties = vc.walletProperties) == null ? void 0 : _vc_walletProperties.thresholdSignatureScheme,
|
|
5826
|
-
addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType
|
|
5907
|
+
addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType,
|
|
5908
|
+
shareSetId: (_vc_walletProperties2 = vc.walletProperties) == null ? void 0 : _vc_walletProperties2.shareSetId,
|
|
5909
|
+
shareSetType: (_vc_walletProperties3 = vc.walletProperties) == null ? void 0 : _vc_walletProperties3.shareSetType,
|
|
5910
|
+
otherShareSets: (_vc_walletProperties4 = vc.walletProperties) == null ? void 0 : _vc_walletProperties4.otherShareSets
|
|
5827
5911
|
};
|
|
5828
5912
|
});
|
|
5829
5913
|
const existingWalletMap = this.walletMap;
|
|
@@ -5838,7 +5922,10 @@ class DynamicWalletClient {
|
|
|
5838
5922
|
derivationPath: existingWallet == null ? void 0 : existingWallet.derivationPath,
|
|
5839
5923
|
thresholdSignatureScheme: wallet.thresholdSignatureScheme,
|
|
5840
5924
|
addressType: wallet.addressType,
|
|
5841
|
-
walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState
|
|
5925
|
+
walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState,
|
|
5926
|
+
shareSetId: wallet.shareSetId,
|
|
5927
|
+
shareSetType: wallet.shareSetType,
|
|
5928
|
+
otherShareSets: wallet.otherShareSets
|
|
5842
5929
|
};
|
|
5843
5930
|
return acc;
|
|
5844
5931
|
}, {});
|
|
@@ -6184,6 +6271,7 @@ exports.ERROR_CREATE_WALLET_ACCOUNT = ERROR_CREATE_WALLET_ACCOUNT;
|
|
|
6184
6271
|
exports.ERROR_EXPORT_PRIVATE_KEY = ERROR_EXPORT_PRIVATE_KEY;
|
|
6185
6272
|
exports.ERROR_IMPORT_PRIVATE_KEY = ERROR_IMPORT_PRIVATE_KEY;
|
|
6186
6273
|
exports.ERROR_KEYGEN_FAILED = ERROR_KEYGEN_FAILED;
|
|
6274
|
+
exports.ERROR_MULTIPLE_WALLETS_PER_CHAIN = ERROR_MULTIPLE_WALLETS_PER_CHAIN;
|
|
6187
6275
|
exports.ERROR_PASSCODE_REQUIRED = ERROR_PASSCODE_REQUIRED;
|
|
6188
6276
|
exports.ERROR_PASSWORD_MISMATCH = ERROR_PASSWORD_MISMATCH;
|
|
6189
6277
|
exports.ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET = ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET;
|
|
@@ -6220,6 +6308,7 @@ exports.getActiveCloudProviders = getActiveCloudProviders;
|
|
|
6220
6308
|
exports.getBitcoinAddressTypeFromDerivationPath = getBitcoinAddressTypeFromDerivationPath;
|
|
6221
6309
|
exports.getClientKeyShareBackupInfo = getClientKeyShareBackupInfo;
|
|
6222
6310
|
exports.getClientKeyShareExportFileName = getClientKeyShareExportFileName;
|
|
6311
|
+
exports.getDelegatedShareSet = getDelegatedShareSet;
|
|
6223
6312
|
exports.getGoogleOAuthAccountId = getGoogleOAuthAccountId;
|
|
6224
6313
|
exports.getICloudBackup = getICloudBackup;
|
|
6225
6314
|
exports.getMPCSignatureScheme = getMPCSignatureScheme;
|
package/index.esm.js
CHANGED
|
@@ -707,6 +707,10 @@ const ERROR_IMPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error importing pri
|
|
|
707
707
|
const ERROR_PUBLIC_KEY_MISMATCH = 'Mismatch between the public keys of the server and the ones provided';
|
|
708
708
|
const ERROR_PASSCODE_REQUIRED = '[DynamicWaasWalletClient]: A passcode is required for this environment. Please provide a password.';
|
|
709
709
|
const ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE = '[DynamicWaasWalletClient]: Refresh is not supported for 2/3 wallets. Reshare to 2/2 before refreshing.';
|
|
710
|
+
// Server-side error returned by /waas/create when an env disallows more than
|
|
711
|
+
// one wallet per chain and the user already has one. Matched verbatim by
|
|
712
|
+
// isNonRetryableCeremonyError — keep in sync with the backend wording.
|
|
713
|
+
const ERROR_MULTIPLE_WALLETS_PER_CHAIN = 'Multiple wallets per chain not allowed';
|
|
710
714
|
|
|
711
715
|
/**
|
|
712
716
|
* Normalizes an address to lowercase for consistent map key lookups.
|
|
@@ -912,6 +916,7 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
|
|
|
912
916
|
if (message.includes(ERROR_PASSCODE_REQUIRED)) return true;
|
|
913
917
|
if (message.includes(ERROR_PUBLIC_KEY_MISMATCH)) return true;
|
|
914
918
|
if (message.includes(ERROR_PASSWORD_MISMATCH)) return true;
|
|
919
|
+
if (message.includes(ERROR_MULTIPLE_WALLETS_PER_CHAIN)) return true;
|
|
915
920
|
return false;
|
|
916
921
|
};
|
|
917
922
|
/**
|
|
@@ -936,11 +941,15 @@ const isHexString = (str)=>{
|
|
|
936
941
|
return /^[0-9A-Fa-f]+$/.test(hex);
|
|
937
942
|
};
|
|
938
943
|
/**
|
|
939
|
-
*
|
|
940
|
-
* -
|
|
941
|
-
* -
|
|
942
|
-
* -
|
|
943
|
-
|
|
944
|
+
* Normalizes a message to the bytes/hex form an MPC signer consumes:
|
|
945
|
+
* - string + hex charset → Uint8Array
|
|
946
|
+
* - string + plain text → hex-encoded string
|
|
947
|
+
* - Uint8Array → passthrough
|
|
948
|
+
*
|
|
949
|
+
* Chain-agnostic: used by every chain whose signer takes raw bytes (Solana,
|
|
950
|
+
* TON, Stellar — Ed25519 — and Midnight — BIP340 Schnorr). The signing
|
|
951
|
+
* algorithm is applied inside the MPC signer, not here.
|
|
952
|
+
*/ const formatRawBytesMessage = (message)=>{
|
|
944
953
|
if (typeof message !== 'string') {
|
|
945
954
|
return message;
|
|
946
955
|
}
|
|
@@ -949,9 +958,10 @@ const isHexString = (str)=>{
|
|
|
949
958
|
}
|
|
950
959
|
return Buffer.from(message).toString('hex');
|
|
951
960
|
};
|
|
952
|
-
const formatSolanaMessage = (message)=>
|
|
953
|
-
const formatTonMessage = (message)=>
|
|
954
|
-
|
|
961
|
+
const formatSolanaMessage = (message)=>formatRawBytesMessage(message);
|
|
962
|
+
const formatTonMessage = (message)=>formatRawBytesMessage(message);
|
|
963
|
+
const formatStellarMessage = (message)=>formatRawBytesMessage(message);
|
|
964
|
+
const formatMidnightMessage = (message)=>formatRawBytesMessage(message);
|
|
955
965
|
const formatMessage = (chainName, message)=>{
|
|
956
966
|
switch(chainName){
|
|
957
967
|
case 'EVM':
|
|
@@ -965,6 +975,8 @@ const formatMessage = (chainName, message)=>{
|
|
|
965
975
|
return formatTonMessage(message);
|
|
966
976
|
case 'STELLAR':
|
|
967
977
|
return formatStellarMessage(message);
|
|
978
|
+
case 'MIDNIGHT':
|
|
979
|
+
return formatMidnightMessage(message);
|
|
968
980
|
default:
|
|
969
981
|
throw new Error('Unsupported chain name');
|
|
970
982
|
}
|
|
@@ -1663,10 +1675,44 @@ const createDynamicOnlyDistribution = ({ allShares })=>({
|
|
|
1663
1675
|
clientShares: allShares,
|
|
1664
1676
|
cloudProviderShares: {}
|
|
1665
1677
|
});
|
|
1666
|
-
|
|
1678
|
+
/**
|
|
1679
|
+
* Returns the delegated share set from a wallet's `otherShareSets` array, if
|
|
1680
|
+
* one exists. The new revoke flow targets the share set directly via this id
|
|
1681
|
+
* rather than running a reshare ceremony.
|
|
1682
|
+
*
|
|
1683
|
+
* Invariant: at most one delegated share set per wallet. If the server ever
|
|
1684
|
+
* returns more than one, the most recently created entry is returned and a
|
|
1685
|
+
* warning is logged once on the call site (caller's responsibility — keep this
|
|
1686
|
+
* helper pure).
|
|
1687
|
+
*/ const getDelegatedShareSet = (otherShareSets)=>{
|
|
1688
|
+
var _otherShareSets_filter;
|
|
1689
|
+
const delegated = (_otherShareSets_filter = otherShareSets == null ? void 0 : otherShareSets.filter((shareSet)=>shareSet.shareSetType === 'delegated')) != null ? _otherShareSets_filter : [];
|
|
1690
|
+
if (delegated.length <= 1) return delegated[0];
|
|
1691
|
+
// Multiple delegated entries shouldn't happen today. Pick the newest by
|
|
1692
|
+
// createdAt so behavior is deterministic if the invariant ever breaks.
|
|
1693
|
+
return [
|
|
1694
|
+
...delegated
|
|
1695
|
+
].sort((a, b)=>a.createdAt < b.createdAt ? 1 : -1)[0];
|
|
1696
|
+
};
|
|
1697
|
+
/**
|
|
1698
|
+
* Checks whether a wallet has delegation set up. Two sources are checked
|
|
1699
|
+
* because the SDK is in a transitional state:
|
|
1700
|
+
*
|
|
1701
|
+
* 1. Legacy: `backups[DELEGATED]` on the rootUser share set's backup info —
|
|
1702
|
+
* the pre-shareSets-array model where "delegated" was a backup location
|
|
1703
|
+
* of the rootUser share set.
|
|
1704
|
+
* 2. New: an entry with `shareSetType: 'delegated'` in `otherShareSets` —
|
|
1705
|
+
* the post-shareSets-array model where the delegated share set is a
|
|
1706
|
+
* separate `WaasWallets` row.
|
|
1707
|
+
*
|
|
1708
|
+
* Today both sources should agree (redcoast still populates `backups[DELEGATED]`
|
|
1709
|
+
* during the transition). Once the legacy backup-location entry is removed,
|
|
1710
|
+
* only `otherShareSets` will be authoritative — at which point we can drop the
|
|
1711
|
+
* first branch and the `backupInfo` parameter.
|
|
1712
|
+
*/ const hasDelegatedBackup = (backupInfo, otherShareSets)=>{
|
|
1667
1713
|
var _backupInfo_backups_BackupLocation_DELEGATED, _backupInfo_backups;
|
|
1668
1714
|
var _backupInfo_backups_BackupLocation_DELEGATED_length;
|
|
1669
|
-
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;
|
|
1715
|
+
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 || getDelegatedShareSet(otherShareSets) !== undefined;
|
|
1670
1716
|
};
|
|
1671
1717
|
|
|
1672
1718
|
/**
|
|
@@ -2654,13 +2700,14 @@ class DynamicWalletClient {
|
|
|
2654
2700
|
throw error;
|
|
2655
2701
|
}
|
|
2656
2702
|
}
|
|
2657
|
-
async serverSign({ walletId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
|
|
2703
|
+
async serverSign({ walletId, shareSetId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
|
|
2658
2704
|
// Create the room and sign the message
|
|
2659
2705
|
if (typeof message !== 'string') {
|
|
2660
2706
|
message = `0x${Buffer.from(message).toString('hex')}`;
|
|
2661
2707
|
}
|
|
2662
2708
|
const data = await this.apiClient.signMessage({
|
|
2663
2709
|
walletId,
|
|
2710
|
+
shareSetId,
|
|
2664
2711
|
message,
|
|
2665
2712
|
isFormatted,
|
|
2666
2713
|
dynamicRequestId,
|
|
@@ -2676,12 +2723,24 @@ class DynamicWalletClient {
|
|
|
2676
2723
|
return data;
|
|
2677
2724
|
}
|
|
2678
2725
|
prepareMessageForForwardMPC({ chainName, message, formattedMessage, signingAlgo, isFormatted }) {
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2726
|
+
// BIP340 hash unwrap MUST come first. When `isFormatted=true`, callers wrap
|
|
2727
|
+
// the payload in a `MessageHash`; the direct-MPC path then reads
|
|
2728
|
+
// `formattedMessage.bytes`. The forward-MPC signer can't accept the object
|
|
2729
|
+
// — it needs the hex string. MIDNIGHT also uses BIP340, so without this
|
|
2730
|
+
// running before the chain-name early-return, the MessageHash leaks through
|
|
2731
|
+
// for `isFormatted=true` Midnight signs and the two code paths diverge.
|
|
2682
2732
|
if (signingAlgo === 'BIP340' && formattedMessage instanceof MessageHash) {
|
|
2683
2733
|
return formattedMessage.toHex();
|
|
2684
2734
|
}
|
|
2735
|
+
// Ed25519-style-formatted chains: pass the formatted bytes through. MIDNIGHT
|
|
2736
|
+
// uses BIP340 at the MPC layer but formatMidnightMessage produces string |
|
|
2737
|
+
// Uint8Array (Ed25519-style framing), not a MessageHash — so the BIP340
|
|
2738
|
+
// branch above doesn't catch the `isFormatted=false` case. Without this,
|
|
2739
|
+
// forward-MPC Midnight signs would discard the formatted message and sign
|
|
2740
|
+
// raw bytes, producing signatures that don't match the direct-MPC path.
|
|
2741
|
+
if (chainName === 'SVM' || chainName === 'TON' || chainName === 'STELLAR' || chainName === 'MIDNIGHT') {
|
|
2742
|
+
return formattedMessage;
|
|
2743
|
+
}
|
|
2685
2744
|
return serializeMessageForForwardMPC({
|
|
2686
2745
|
message,
|
|
2687
2746
|
isFormatted,
|
|
@@ -2910,6 +2969,7 @@ class DynamicWalletClient {
|
|
|
2910
2969
|
// Perform the server sign
|
|
2911
2970
|
const serverSignPromise = this.serverSign({
|
|
2912
2971
|
walletId: wallet.walletId,
|
|
2972
|
+
shareSetId: wallet.shareSetId,
|
|
2913
2973
|
message,
|
|
2914
2974
|
isFormatted,
|
|
2915
2975
|
mfaToken,
|
|
@@ -3063,7 +3123,7 @@ class DynamicWalletClient {
|
|
|
3063
3123
|
};
|
|
3064
3124
|
}
|
|
3065
3125
|
const preservedCloudProviders = getActiveCloudProviders(walletProperties.clientKeySharesBackupInfo);
|
|
3066
|
-
const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo);
|
|
3126
|
+
const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo, walletProperties.otherShareSets);
|
|
3067
3127
|
this.logger.info('[resolveBackupLocationsForReshare] Preserving existing backup locations', {
|
|
3068
3128
|
dynamicRequestId,
|
|
3069
3129
|
cloudProviders: preservedCloudProviders,
|
|
@@ -3127,6 +3187,7 @@ class DynamicWalletClient {
|
|
|
3127
3187
|
const data = await this.apiClient.refreshWalletAccountShares({
|
|
3128
3188
|
dynamicRequestId,
|
|
3129
3189
|
walletId: wallet.walletId,
|
|
3190
|
+
shareSetId: wallet.shareSetId,
|
|
3130
3191
|
mfaToken,
|
|
3131
3192
|
elevatedAccessToken
|
|
3132
3193
|
});
|
|
@@ -3358,6 +3419,7 @@ class DynamicWalletClient {
|
|
|
3358
3419
|
// Server to create the room and complete the server reshare logics
|
|
3359
3420
|
const data = await this.apiClient.reshare({
|
|
3360
3421
|
walletId: wallet.walletId,
|
|
3422
|
+
shareSetId: wallet.shareSetId,
|
|
3361
3423
|
clientKeygenIds: clientKeygenIds,
|
|
3362
3424
|
oldThresholdSignatureScheme,
|
|
3363
3425
|
newThresholdSignatureScheme,
|
|
@@ -3651,6 +3713,7 @@ class DynamicWalletClient {
|
|
|
3651
3713
|
});
|
|
3652
3714
|
const data = await this.apiClient.exportKey({
|
|
3653
3715
|
walletId: wallet.walletId,
|
|
3716
|
+
shareSetId: wallet.shareSetId,
|
|
3654
3717
|
exportId,
|
|
3655
3718
|
bitcoinConfig,
|
|
3656
3719
|
dynamicRequestId,
|
|
@@ -3871,7 +3934,7 @@ class DynamicWalletClient {
|
|
|
3871
3934
|
* @param thresholdSignatureScheme - The TSS scheme used
|
|
3872
3935
|
* @param derivationPath - Optional derivation path (will be computed from chainConfig if not provided)
|
|
3873
3936
|
* @param additionalProps - Any chain-specific additional properties to merge
|
|
3874
|
-
*/ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, additionalProps = {} }) {
|
|
3937
|
+
*/ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, shareSetId, shareSetType, otherShareSets, additionalProps = {} }) {
|
|
3875
3938
|
this.updateWalletMap(accountAddress, _extends({
|
|
3876
3939
|
accountAddress,
|
|
3877
3940
|
walletId,
|
|
@@ -3879,6 +3942,12 @@ class DynamicWalletClient {
|
|
|
3879
3942
|
thresholdSignatureScheme
|
|
3880
3943
|
}, derivationPath ? {
|
|
3881
3944
|
derivationPath
|
|
3945
|
+
} : {}, shareSetId ? {
|
|
3946
|
+
shareSetId
|
|
3947
|
+
} : {}, shareSetType ? {
|
|
3948
|
+
shareSetType
|
|
3949
|
+
} : {}, otherShareSets ? {
|
|
3950
|
+
otherShareSets
|
|
3882
3951
|
} : {}, {
|
|
3883
3952
|
clientKeySharesBackupInfo: getClientKeyShareBackupInfo()
|
|
3884
3953
|
}, additionalProps));
|
|
@@ -3968,12 +4037,14 @@ class DynamicWalletClient {
|
|
|
3968
4037
|
return shares;
|
|
3969
4038
|
}
|
|
3970
4039
|
async backupToDynamicBackend({ walletId, clientShares, password, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted, accountAddress, preEncryptedShares, passwordUpdateBatchId }) {
|
|
4040
|
+
var _this_getWalletFromMap;
|
|
3971
4041
|
const encryptedDynamicShares = preEncryptedShares != null ? preEncryptedShares : await Promise.all(clientShares.map((keyShare)=>this.encryptKeyShare({
|
|
3972
4042
|
keyShare,
|
|
3973
4043
|
password
|
|
3974
4044
|
})));
|
|
3975
4045
|
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
3976
4046
|
walletId,
|
|
4047
|
+
shareSetId: (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.shareSetId,
|
|
3977
4048
|
encryptedKeyShares: encryptedDynamicShares,
|
|
3978
4049
|
passwordEncrypted: isPasswordEncrypted,
|
|
3979
4050
|
encryptionVersion: ENCRYPTION_VERSION_CURRENT,
|
|
@@ -4078,7 +4149,7 @@ class DynamicWalletClient {
|
|
|
4078
4149
|
keygenId
|
|
4079
4150
|
};
|
|
4080
4151
|
}
|
|
4081
|
-
async publishDelegatedShare({ walletId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
|
|
4152
|
+
async publishDelegatedShare({ walletId, shareSetId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
|
|
4082
4153
|
var _publicKey_key, _publicKey_key1, _publicKey_key2;
|
|
4083
4154
|
const publicKey = await this.apiClient.getDelegatedEncryptionKey({
|
|
4084
4155
|
environmentId: this.environmentId
|
|
@@ -4090,6 +4161,7 @@ class DynamicWalletClient {
|
|
|
4090
4161
|
const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(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);
|
|
4091
4162
|
const { status } = await this.apiClient.publishDelegatedKeyShare({
|
|
4092
4163
|
walletId,
|
|
4164
|
+
shareSetId,
|
|
4093
4165
|
encryptedKeyShare: encryptedDelegatedKeyShareEnvelope,
|
|
4094
4166
|
signedSessionId,
|
|
4095
4167
|
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
@@ -4222,6 +4294,7 @@ class DynamicWalletClient {
|
|
|
4222
4294
|
if (distribution.delegatedShare) {
|
|
4223
4295
|
uploadPromises.push(retryPromise(()=>this.publishDelegatedShare({
|
|
4224
4296
|
walletId: walletData.walletId,
|
|
4297
|
+
shareSetId: walletData.shareSetId,
|
|
4225
4298
|
delegatedShare: distribution.delegatedShare,
|
|
4226
4299
|
signedSessionId: resolvedSignedSessionId,
|
|
4227
4300
|
dynamicRequestId,
|
|
@@ -4249,6 +4322,7 @@ class DynamicWalletClient {
|
|
|
4249
4322
|
// Step 2: Activate server shares (independently retried)
|
|
4250
4323
|
const backupData = await retryPromise(()=>this.apiClient.markKeySharesAsBackedUp({
|
|
4251
4324
|
walletId: walletData.walletId,
|
|
4325
|
+
shareSetId: walletData.shareSetId,
|
|
4252
4326
|
locations,
|
|
4253
4327
|
dynamicRequestId,
|
|
4254
4328
|
passwordUpdateBatchId
|
|
@@ -4425,7 +4499,7 @@ class DynamicWalletClient {
|
|
|
4425
4499
|
* @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
|
|
4426
4500
|
* @returns Promise with backup metadata including share locations and IDs
|
|
4427
4501
|
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined, passwordUpdateBatchId, googleDriveAccessToken }) {
|
|
4428
|
-
var
|
|
4502
|
+
var _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
|
|
4429
4503
|
const hasProvidedShares = clientKeyShares !== undefined;
|
|
4430
4504
|
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromStorage({
|
|
4431
4505
|
accountAddress
|
|
@@ -4444,12 +4518,13 @@ class DynamicWalletClient {
|
|
|
4444
4518
|
});
|
|
4445
4519
|
}
|
|
4446
4520
|
// Re-read after the freshness check: walletMap may have been updated with fresh server data.
|
|
4447
|
-
const
|
|
4521
|
+
const walletFromMap = this.getWalletFromMap(accountAddress);
|
|
4522
|
+
const walletBackupInfo = walletFromMap == null ? void 0 : walletFromMap.clientKeySharesBackupInfo;
|
|
4448
4523
|
const activeCloudProviders = getActiveCloudProviders(walletBackupInfo);
|
|
4449
4524
|
const shouldBackupToCloudProviders = cloudProviders.length > 0 || activeCloudProviders.length > 0;
|
|
4450
4525
|
// Use requested providers, or fall back to existing active providers
|
|
4451
4526
|
const providersToBackup = cloudProviders.length > 0 ? cloudProviders : activeCloudProviders;
|
|
4452
|
-
const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo);
|
|
4527
|
+
const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo, walletFromMap == null ? void 0 : walletFromMap.otherShareSets);
|
|
4453
4528
|
let distribution;
|
|
4454
4529
|
let preserveDelegatedLocation = false;
|
|
4455
4530
|
// Generic distribution logic - works with any cloud providers
|
|
@@ -4612,6 +4687,7 @@ class DynamicWalletClient {
|
|
|
4612
4687
|
});
|
|
4613
4688
|
const result = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
4614
4689
|
walletId: wallet.walletId,
|
|
4690
|
+
shareSetId: wallet.shareSetId,
|
|
4615
4691
|
externalKeyShareIds: shares[BackupLocation.DYNAMIC] || [],
|
|
4616
4692
|
signedSessionId,
|
|
4617
4693
|
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
@@ -4827,6 +4903,7 @@ class DynamicWalletClient {
|
|
|
4827
4903
|
});
|
|
4828
4904
|
const data = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
4829
4905
|
walletId: wallet.walletId,
|
|
4906
|
+
shareSetId: wallet.shareSetId,
|
|
4830
4907
|
externalKeyShareIds: dynamicKeyShareIds,
|
|
4831
4908
|
signedSessionId,
|
|
4832
4909
|
mfaToken,
|
|
@@ -5462,7 +5539,10 @@ class DynamicWalletClient {
|
|
|
5462
5539
|
clientKeySharesBackupInfo: getClientKeyShareBackupInfo({
|
|
5463
5540
|
walletProperties: props
|
|
5464
5541
|
}),
|
|
5465
|
-
addressType: props == null ? void 0 : props.addressType
|
|
5542
|
+
addressType: props == null ? void 0 : props.addressType,
|
|
5543
|
+
shareSetId: props == null ? void 0 : props.shareSetId,
|
|
5544
|
+
shareSetType: props == null ? void 0 : props.shareSetType,
|
|
5545
|
+
otherShareSets: props == null ? void 0 : props.otherShareSets
|
|
5466
5546
|
});
|
|
5467
5547
|
}
|
|
5468
5548
|
if (walletOperation !== WalletOperation.NO_OPERATION && await this.requiresRestoreBackupSharesForOperation({
|
|
@@ -5510,6 +5590,7 @@ class DynamicWalletClient {
|
|
|
5510
5590
|
});
|
|
5511
5591
|
const data = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
5512
5592
|
walletId: walletData.walletId,
|
|
5593
|
+
shareSetId: walletData.shareSetId,
|
|
5513
5594
|
externalKeyShareIds: dynamicKeyShareIds,
|
|
5514
5595
|
signedSessionId,
|
|
5515
5596
|
requiresSignedSessionId: this.requiresSignedSessionId(),
|
|
@@ -5813,7 +5894,7 @@ class DynamicWalletClient {
|
|
|
5813
5894
|
this.userId = user.id;
|
|
5814
5895
|
const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
|
|
5815
5896
|
const wallets = waasWallets.map((vc)=>{
|
|
5816
|
-
var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1;
|
|
5897
|
+
var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1, _vc_walletProperties2, _vc_walletProperties3, _vc_walletProperties4;
|
|
5817
5898
|
var _this_getWalletFromMap_derivationPath;
|
|
5818
5899
|
return {
|
|
5819
5900
|
walletId: vc.id,
|
|
@@ -5824,7 +5905,10 @@ class DynamicWalletClient {
|
|
|
5824
5905
|
}),
|
|
5825
5906
|
derivationPath: (_this_getWalletFromMap_derivationPath = (_this_getWalletFromMap = this.getWalletFromMap(vc.address)) == null ? void 0 : _this_getWalletFromMap.derivationPath) != null ? _this_getWalletFromMap_derivationPath : undefined,
|
|
5826
5907
|
thresholdSignatureScheme: (_vc_walletProperties = vc.walletProperties) == null ? void 0 : _vc_walletProperties.thresholdSignatureScheme,
|
|
5827
|
-
addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType
|
|
5908
|
+
addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType,
|
|
5909
|
+
shareSetId: (_vc_walletProperties2 = vc.walletProperties) == null ? void 0 : _vc_walletProperties2.shareSetId,
|
|
5910
|
+
shareSetType: (_vc_walletProperties3 = vc.walletProperties) == null ? void 0 : _vc_walletProperties3.shareSetType,
|
|
5911
|
+
otherShareSets: (_vc_walletProperties4 = vc.walletProperties) == null ? void 0 : _vc_walletProperties4.otherShareSets
|
|
5828
5912
|
};
|
|
5829
5913
|
});
|
|
5830
5914
|
const existingWalletMap = this.walletMap;
|
|
@@ -5839,7 +5923,10 @@ class DynamicWalletClient {
|
|
|
5839
5923
|
derivationPath: existingWallet == null ? void 0 : existingWallet.derivationPath,
|
|
5840
5924
|
thresholdSignatureScheme: wallet.thresholdSignatureScheme,
|
|
5841
5925
|
addressType: wallet.addressType,
|
|
5842
|
-
walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState
|
|
5926
|
+
walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState,
|
|
5927
|
+
shareSetId: wallet.shareSetId,
|
|
5928
|
+
shareSetType: wallet.shareSetType,
|
|
5929
|
+
otherShareSets: wallet.otherShareSets
|
|
5843
5930
|
};
|
|
5844
5931
|
return acc;
|
|
5845
5932
|
}, {});
|
|
@@ -6116,4 +6203,4 @@ DynamicWalletClient.rooms = {};
|
|
|
6116
6203
|
DynamicWalletClient.roomsInitializing = {};
|
|
6117
6204
|
DynamicWalletClient.roomsPersistChain = Promise.resolve();
|
|
6118
6205
|
|
|
6119
|
-
export { BACKUP_FILENAME, CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX, DynamicWalletClient, ENVIRONMENT_SETTINGS_STORAGE_KEY, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_KEYGEN_FAILED, ERROR_PASSCODE_REQUIRED, ERROR_PASSWORD_MISMATCH, ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET, ERROR_PUBLIC_KEY_MISMATCH, ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, HEAVY_QUEUE_OPERATIONS, RECOVER_QUEUE_OPERATIONS, ROOM_CACHE_COUNT, ROOM_EXPIRATION_TIME, SIGNED_SESSION_ID_MIN_VERSION, SIGNED_SESSION_ID_MIN_VERSION_BY_NAMESPACE, SIGN_QUEUE_OPERATIONS, STORAGE_KEY, StaleLocalSharesError, WalletBusyError, WalletNotReadyError, cancelICloudAuth, createAddCloudProviderToExistingDelegationDistribution, createBackupData, createCloudProviderDistribution, createDelegationOnlyDistribution, createDelegationWithCloudProviderDistribution, createDynamicOnlyDistribution, deleteICloudBackup, downloadStringAsFile, extractPubkey, formatEvmMessage, formatMessage, getActiveCloudProviders, getBitcoinAddressTypeFromDerivationPath, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getGoogleOAuthAccountId, getICloudBackup, getMPCSignatureScheme, getMPCSigner, hasCloudProviderBackup, hasDelegatedBackup, hasEncryptedSharesCached, initializeCloudKit, isBrowser, isHeavyQueueOperation, isHexString, isICloudAuthenticated, isNonRetryableCeremonyError, isPublicKeyMismatchError, isRecoverQueueOperation, isSignQueueOperation, listICloudBackups, markCeremonyErrorNonRetryable, readEnvironmentSettings, retryPromise, shouldReshareToSameBackups, timeoutPromise };
|
|
6206
|
+
export { BACKUP_FILENAME, CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX, DynamicWalletClient, ENVIRONMENT_SETTINGS_STORAGE_KEY, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_KEYGEN_FAILED, ERROR_MULTIPLE_WALLETS_PER_CHAIN, ERROR_PASSCODE_REQUIRED, ERROR_PASSWORD_MISMATCH, ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET, ERROR_PUBLIC_KEY_MISMATCH, ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, HEAVY_QUEUE_OPERATIONS, RECOVER_QUEUE_OPERATIONS, ROOM_CACHE_COUNT, ROOM_EXPIRATION_TIME, SIGNED_SESSION_ID_MIN_VERSION, SIGNED_SESSION_ID_MIN_VERSION_BY_NAMESPACE, SIGN_QUEUE_OPERATIONS, STORAGE_KEY, StaleLocalSharesError, WalletBusyError, WalletNotReadyError, cancelICloudAuth, createAddCloudProviderToExistingDelegationDistribution, createBackupData, createCloudProviderDistribution, createDelegationOnlyDistribution, createDelegationWithCloudProviderDistribution, createDynamicOnlyDistribution, deleteICloudBackup, downloadStringAsFile, extractPubkey, formatEvmMessage, formatMessage, getActiveCloudProviders, getBitcoinAddressTypeFromDerivationPath, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getDelegatedShareSet, getGoogleOAuthAccountId, getICloudBackup, getMPCSignatureScheme, getMPCSigner, hasCloudProviderBackup, hasDelegatedBackup, hasEncryptedSharesCached, initializeCloudKit, isBrowser, isHeavyQueueOperation, isHexString, isICloudAuthenticated, isNonRetryableCeremonyError, isPublicKeyMismatchError, isRecoverQueueOperation, isSignQueueOperation, listICloudBackups, markCeremonyErrorNonRetryable, readEnvironmentSettings, retryPromise, shouldReshareToSameBackups, timeoutPromise };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.346",
|
|
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.346",
|
|
8
8
|
"@dynamic-labs-wallet/forward-mpc-client": "0.9.0",
|
|
9
|
-
"@dynamic-labs-wallet/primitives": "0.0.
|
|
9
|
+
"@dynamic-labs-wallet/primitives": "0.0.346",
|
|
10
10
|
"@dynamic-labs/sdk-api-core": "^0.0.964",
|
|
11
11
|
"argon2id": "1.0.1",
|
|
12
12
|
"axios": "1.15.2",
|
package/src/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EcdsaSignature, MessageHash, type EcdsaPublicKey } from '#internal/web';
|
|
2
|
-
import { AuthMode, BackupLocation, DynamicApiClient, ThresholdSignatureScheme, WalletOperation, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type DynamicWalletClientProps, type FeatureFlags, type GetWalletResponse, type ILogger, type InitializeResult, type KeyShareBackupInfo, type SecureStorageAdapter, type TraceContext, type WalletRecoveryState } from '@dynamic-labs-wallet/core';
|
|
2
|
+
import { AuthMode, BackupLocation, DynamicApiClient, ThresholdSignatureScheme, WalletOperation, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type DynamicWalletClientProps, type FeatureFlags, type GetWalletResponse, type ILogger, type InitializeResult, type KeyShareBackupInfo, type SecureStorageAdapter, type ShareSet, type ShareSetType, type TraceContext, type WalletRecoveryState } from '@dynamic-labs-wallet/core';
|
|
3
3
|
import { RoomTypeEnum, type SignMessageContext } from '@dynamic-labs/sdk-api-core';
|
|
4
4
|
import type { ClientInitKeygenResult, ClientKeyShare, MPCSigner } from './mpc/types.js';
|
|
5
5
|
import { type SupportedStorage } from './services/localStorage.js';
|
|
@@ -208,8 +208,9 @@ export declare class DynamicWalletClient {
|
|
|
208
208
|
clientKeyShares: ClientKeyShare[];
|
|
209
209
|
}>;
|
|
210
210
|
private runImportRawPrivateKeyAttempt;
|
|
211
|
-
serverSign({ walletId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig, }: {
|
|
211
|
+
serverSign({ walletId, shareSetId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig, }: {
|
|
212
212
|
walletId: string;
|
|
213
|
+
shareSetId?: string;
|
|
213
214
|
message: string | Uint8Array;
|
|
214
215
|
dynamicRequestId: string;
|
|
215
216
|
isFormatted?: boolean;
|
|
@@ -371,7 +372,7 @@ export declare class DynamicWalletClient {
|
|
|
371
372
|
derivedPrivateKey: string | undefined;
|
|
372
373
|
}>;
|
|
373
374
|
protected getReconstructedKeyShare(accountAddress: string, mpcSigner: MPCSigner): Promise<ClientKeyShare>;
|
|
374
|
-
|
|
375
|
+
protected performMPCExport(mpcSigner: MPCSigner, reconstructedKeyShare: ClientKeyShare, roomId: string, exportId: string, accountAddress: string, chainName: string): Promise<string>;
|
|
375
376
|
protected derivePrivateKeyFromExport(mpcSigner: MPCSigner, keyExportRaw: string, wallet: WalletProperties): Promise<string | undefined>;
|
|
376
377
|
offlineExportKey({ chainName, keyShares, derivationPath, }: {
|
|
377
378
|
chainName: string;
|
|
@@ -408,12 +409,15 @@ export declare class DynamicWalletClient {
|
|
|
408
409
|
* @param derivationPath - Optional derivation path (will be computed from chainConfig if not provided)
|
|
409
410
|
* @param additionalProps - Any chain-specific additional properties to merge
|
|
410
411
|
*/
|
|
411
|
-
protected initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, additionalProps, }: {
|
|
412
|
+
protected initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, shareSetId, shareSetType, otherShareSets, additionalProps, }: {
|
|
412
413
|
accountAddress: string;
|
|
413
414
|
walletId: string;
|
|
414
415
|
chainName: string;
|
|
415
416
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
416
417
|
derivationPath?: string;
|
|
418
|
+
shareSetId?: string;
|
|
419
|
+
shareSetType?: ShareSetType;
|
|
420
|
+
otherShareSets?: ShareSet[];
|
|
417
421
|
additionalProps?: Record<string, unknown>;
|
|
418
422
|
}): void;
|
|
419
423
|
/**
|
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":"AAAA,OAAO,EAKL,cAAc,EAGd,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAOhB,wBAAwB,EACxB,eAAe,EAWf,KAAK,oCAAoC,EAEzC,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAoBnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAexF,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAQL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAmBpB,KAAK,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,qBAAa,mBAAmB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpD,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAQ;IACrE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACtC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAC3D,SAAS,CAAC,OAAO,EAAG,gBAAgB,CAAC;IACrC,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IACjE,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,iBAAiB,UAAS;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAM;IACzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAClD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAM;IACpD,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACjE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAoC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;IAEtD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAwB;IAEpE;;;OAGG;YACW,sBAAsB;gBAalC,EACE,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,QAA0B,EAC1B,SAAqB,EACrB,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,8BAA8B,EAC9B,YAAY,EACZ,MAAM,GACP,EAAE,wBAAwB,EAC3B,eAAe,CAAC,EAAE,kCAAkC;IA0EtD;;OAEG;WACW,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAIlE;;OAEG;WACW,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAI3D;;OAEG;WACW,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAInE;;;;OAIG;WACW,gBAAgB,IAAI,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIhF;;;;OAIG;cACa,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBjH;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAQpF,WAAW,IAAI,QAAQ;IAI9B;;;OAGG;IACU,sBAAsB;IAInC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA8BzB,iBAAiB,CAAC,SAAS,EAAE,MAAM;IA8CnC,UAAU,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYxE;;OAEG;cACa,WAAW,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyB7E,sBAAsB,CAAC,EAC3B,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACzE;IAqBK,sBAAsB,CAAC,EAC3B,SAAS,EACT,wBAAwB,EACxB,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAmB/B,eAAe,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAiB7D;;;;;;;;;;;;;;OAcG;IACG,sBAAsB,CAAC,EAC3B,SAAS,EACT,MAAM,EACN,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC;IAsEF,0EAA0E;IAC1E,OAAO,CAAC,oBAAoB;IAItB,YAAY,CAAC,EACjB,SAAS,EACT,MAAM,EACN,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC;IA2FI,MAAM,CAAC,IAAI,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;YAaY,gBAAgB;IAwGxB,mBAAmB,CAAC,IAAI,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,4DAA4D;QAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;YAaY,6BAA6B;IAqJrC,UAAU,CAAC,EACf,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA2BD,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,0BAA0B;IAO5B,oBAAoB,CAAC,EACzB,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,gBAAgB,EAAE,aAAa,CAAC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAgDlC,UAAU,CAAC,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAkFxC;;;;;;;OAOG;YACW,0BAA0B;IAoDlC,IAAI,CAAC,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAoB,EACpB,WAAmB,EACnB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,GACd,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;YAmB1B,YAAY;IAsMpB,0BAA0B,CAAC,EAC/B,cAAc,EACd,SAAS,EACT,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAcD;;;;;;;;;OASG;IACH,OAAO,CAAC,gCAAgC;IAsDxC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;YAclB,kCAAkC;YAyIlC,mBAAmB;IAQ3B,WAAW,CAAC,EAChB,SAAS,EACT,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;QAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA2BD;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,EACpB,SAAS,EACT,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,GAC5B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,gBAAgB,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;KACvD,GAAG,OAAO,CAAC;QACV,0BAA0B,EAAE,sBAAsB,EAAE,CAAC;QACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,uBAAuB,EAAE,cAAc,EAAE,CAAC;KAC3C,CAAC;IA+CI,OAAO,CAAC,EACZ,SAAS,EACT,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,4BAAoC,EACpC,QAAQ,EACR,mBAAmB,EACnB,gBAAwB,EACxB,sBAAsB,GACvB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC;YAmBa,eAAe;YA+Uf,0BAA0B;IAiElC,iBAAiB,CAAC,EACtB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAeK,gBAAgB,CAAC,EACrB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAYD,OAAO,CAAC,kBAAkB;IAgBpB,SAAS,CAAC,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;;;cA8Ee,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;cAsBrE,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,qBAAqB,EAAE,cAAc,EACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;cA0BH,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;IAgBzG,gBAAgB,CAAC,EACrB,SAAS,EACT,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KAChE,CAAC;IAuDI,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAW7F;;OAEG;YACW,kCAAkC;IAsChD;;;OAGG;IACG,6BAA6B,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiC9G;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,wBAAwB,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GAAG,IAAI;IAwBR;;;OAGG;IACH;;OAEG;IACH,OAAO,CAAC,mBAAmB;YAgBb,gCAAgC;IAe9C;;;;;;;OAOG;IACG,2BAA2B,CAAC,EAChC,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjB;;;;;;;OAOG;YACW,iBAAiB;YAYjB,sBAAsB;YAuEtB,0BAA0B;IAqCxC;;;;;;;OAOG;YACW,4BAA4B;YAY5B,qBAAqB;YA4CrB,qBAAqB;IA4DnC,OAAO,CAAC,gCAAgC;IAsBlC,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,yBAAiC,EACjC,qBAAqB,EACrB,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,iBAAiB,CAAC;QAChC,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC;;;;;;;;8BA77FoD,CAAC;;;YAorGxC,yBAAyB;IAiGvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,iBAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,iBAAiB,CAAC,EAAE,cAAc,CAAC;QACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC;;;;;;;;;;8BAt0GoD,CAAC;;;IAi6GhD,cAAc,CAAC,EACnB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;IAuCK,WAAW,CAAC,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;IA+BK,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAW/G;;;;;;;OAOG;IACH;;;;OAIG;YACW,sCAAsC;IA6DpD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,sBAAsB;cAMd,uCAAuC,CAAC,EACtD,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjB;;;;OAIG;cACa,iCAAiC,CAAC,EAChD,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjB;;;;;OAKG;YACW,8BAA8B;YAmC9B,2BAA2B;IAKzC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EACd,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,UAAsB,GACvB,EAAE;QACD,wBAAwB,EAAE,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,eAAe,EAAE,eAAe,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG;QACF,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,kBAAkB,EAAE,MAAM,CAAC;KAC5B;IA2CK,8BAA8B,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,eAAe,EACf,UAAsB,EACtB,oBAA2B,EAC3B,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAcf,sCAAsC;IAyF9C,cAAc;IAmCpB;;;;OAIG;YACW,8BAA8B;IA0D5C;;;;;;;;;;;OAWG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjB;;;;;;;;OAQG;YACW,0BAA0B;IAyCxC;;;;;;;;;OASG;IACG,uBAAuB,CAAC,EAC5B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjB;;;;;;;OAOG;YACW,qBAAqB;IA8BnC;;;;;;;;;;;;OAYG;YACW,4BAA4B;IAsD1C;;;;;;OAMG;YACW,uBAAuB;IAkC/B,oCAAoC,CAAC,EACzC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyGX,qBAAqB,CAAC,EAC1B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAmCK,kBAAkB,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAYD;;;;;OAKG;YACW,iBAAiB;IAsD/B;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAwBK,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3F;;OAEG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpB;;OAEG;IACG,uCAAuC,CAAC,EAC5C,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;YAsBN,+BAA+B;IASvC,iCAAiC,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAwBtG,0BAA0B;IAYlC,SAAS,CAAC,EACd,cAAc,EACd,eAA8C,EAC9C,UAAsB,EACtB,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoL7B;;;;;;;;;;;;;;;OAeG;IACG,sBAAsB,CAAC,EAC3B,cAAc,EACd,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4ChC;;;;;OAKG;YACW,4BAA4B;IAgD1C;;;;;;;;OAQG;IACG,YAAY,CAAC,EACjB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0H7B;;OAEG;YACW,2BAA2B;IA8BnC,aAAa,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI7C,UAAU;IAoFhB;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM;IAQzB,WAAW,CAAC,EAChB,QAAQ,EACR,wBAAwB,EACxB,SAAa,GACd,EAAE;QACD,QAAQ,EAAE,YAAY,CAAC;QACvB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAyDK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAiC/C,QAAQ,CACZ,QAAQ,CAAC,EAAE,YAAY,EACvB,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAQrC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAKrD;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,GAAG,MAAM;IAKhG,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA0DpH,eAAe,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAQ3F"}
|
package/src/errorConstants.d.ts
CHANGED
|
@@ -10,4 +10,5 @@ export declare const ERROR_IMPORT_PRIVATE_KEY = "[DynamicWaasWalletClient]: Erro
|
|
|
10
10
|
export declare const ERROR_PUBLIC_KEY_MISMATCH = "Mismatch between the public keys of the server and the ones provided";
|
|
11
11
|
export declare const ERROR_PASSCODE_REQUIRED = "[DynamicWaasWalletClient]: A passcode is required for this environment. Please provide a password.";
|
|
12
12
|
export declare const ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE = "[DynamicWaasWalletClient]: Refresh is not supported for 2/3 wallets. Reshare to 2/2 before refreshing.";
|
|
13
|
+
export declare const ERROR_MULTIPLE_WALLETS_PER_CHAIN = "Multiple wallets per chain not allowed";
|
|
13
14
|
//# sourceMappingURL=errorConstants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorConstants.d.ts","sourceRoot":"","sources":["../../packages/src/errorConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,iDAAiD,CAAC;AAElF,eAAO,MAAM,2BAA2B,6DAA6D,CAAC;AAEtG,eAAO,MAAM,kBAAkB,qDAAqD,CAAC;AAErF,eAAO,MAAM,qBAAqB,wDAAwD,CAAC;AAE3F,eAAO,MAAM,8BAA8B,2DAA2D,CAAC;AAEvG,eAAO,MAAM,8BAA8B,iEAAiE,CAAC;AAE7G,eAAO,MAAM,kCAAkC,qEAAqE,CAAC;AAErH,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,yBAAyB,yEAAyE,CAAC;AAEhH,eAAO,MAAM,uBAAuB,uGACkE,CAAC;AAEvG,eAAO,MAAM,4CAA4C,2GACiD,CAAC"}
|
|
1
|
+
{"version":3,"file":"errorConstants.d.ts","sourceRoot":"","sources":["../../packages/src/errorConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,iDAAiD,CAAC;AAElF,eAAO,MAAM,2BAA2B,6DAA6D,CAAC;AAEtG,eAAO,MAAM,kBAAkB,qDAAqD,CAAC;AAErF,eAAO,MAAM,qBAAqB,wDAAwD,CAAC;AAE3F,eAAO,MAAM,8BAA8B,2DAA2D,CAAC;AAEvG,eAAO,MAAM,8BAA8B,iEAAiE,CAAC;AAE7G,eAAO,MAAM,kCAAkC,qEAAqE,CAAC;AAErH,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,yBAAyB,yEAAyE,CAAC;AAEhH,eAAO,MAAM,uBAAuB,uGACkE,CAAC;AAEvG,eAAO,MAAM,4CAA4C,2GACiD,CAAC;AAK3G,eAAO,MAAM,gCAAgC,2CAA2C,CAAC"}
|
package/src/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BackupLocation, WalletOperation, type KeyShareBackupInfo, type ThresholdSignatureScheme, type WalletReadyState } from '@dynamic-labs-wallet/core';
|
|
1
|
+
import { BackupLocation, WalletOperation, type KeyShareBackupInfo, type ShareSet, type ShareSetType, type ThresholdSignatureScheme, type WalletReadyState } from '@dynamic-labs-wallet/core';
|
|
2
2
|
import type { ClientKeyShare } from './mpc/types.js';
|
|
3
3
|
export interface WalletProperties {
|
|
4
4
|
chainName: string;
|
|
@@ -9,6 +9,15 @@ export interface WalletProperties {
|
|
|
9
9
|
derivationPath?: string;
|
|
10
10
|
addressType?: string;
|
|
11
11
|
walletReadyState: WalletReadyState;
|
|
12
|
+
/** Primary share set — the one the SDK signs with (rootUser for the browser). */
|
|
13
|
+
shareSetId?: string;
|
|
14
|
+
shareSetType?: ShareSetType;
|
|
15
|
+
/**
|
|
16
|
+
* Other active share sets on this wallet (e.g., a delegated share set
|
|
17
|
+
* surfaced alongside rootUser). Read-only awareness; the SDK signs with the
|
|
18
|
+
* primary inlined above.
|
|
19
|
+
*/
|
|
20
|
+
otherShareSets?: ShareSet[];
|
|
12
21
|
}
|
|
13
22
|
export declare class WalletNotReadyError extends Error {
|
|
14
23
|
readonly accountAddress: string;
|
|
@@ -108,7 +117,34 @@ export declare const createDelegationOnlyDistribution: ({ existingShares, delega
|
|
|
108
117
|
export declare const createDynamicOnlyDistribution: ({ allShares }: {
|
|
109
118
|
allShares: ClientKeyShare[];
|
|
110
119
|
}) => ShareDistribution;
|
|
111
|
-
|
|
120
|
+
/**
|
|
121
|
+
* Returns the delegated share set from a wallet's `otherShareSets` array, if
|
|
122
|
+
* one exists. The new revoke flow targets the share set directly via this id
|
|
123
|
+
* rather than running a reshare ceremony.
|
|
124
|
+
*
|
|
125
|
+
* Invariant: at most one delegated share set per wallet. If the server ever
|
|
126
|
+
* returns more than one, the most recently created entry is returned and a
|
|
127
|
+
* warning is logged once on the call site (caller's responsibility — keep this
|
|
128
|
+
* helper pure).
|
|
129
|
+
*/
|
|
130
|
+
export declare const getDelegatedShareSet: (otherShareSets?: ShareSet[]) => ShareSet | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* Checks whether a wallet has delegation set up. Two sources are checked
|
|
133
|
+
* because the SDK is in a transitional state:
|
|
134
|
+
*
|
|
135
|
+
* 1. Legacy: `backups[DELEGATED]` on the rootUser share set's backup info —
|
|
136
|
+
* the pre-shareSets-array model where "delegated" was a backup location
|
|
137
|
+
* of the rootUser share set.
|
|
138
|
+
* 2. New: an entry with `shareSetType: 'delegated'` in `otherShareSets` —
|
|
139
|
+
* the post-shareSets-array model where the delegated share set is a
|
|
140
|
+
* separate `WaasWallets` row.
|
|
141
|
+
*
|
|
142
|
+
* Today both sources should agree (redcoast still populates `backups[DELEGATED]`
|
|
143
|
+
* during the transition). Once the legacy backup-location entry is removed,
|
|
144
|
+
* only `otherShareSets` will be authoritative — at which point we can drop the
|
|
145
|
+
* first branch and the `backupInfo` parameter.
|
|
146
|
+
*/
|
|
147
|
+
export declare const hasDelegatedBackup: (backupInfo?: KeyShareBackupInfo, otherShareSets?: ShareSet[]) => boolean;
|
|
112
148
|
export type Room = {
|
|
113
149
|
roomId: string;
|
|
114
150
|
createdAt: number;
|
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,EACL,cAAc,EACd,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,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;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"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"}
|
package/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,cAAc,EAGd,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"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"}
|