analyzeEncryptedSecrets method
Returns secret event types mapped to valid SSSS key ids.
Only account data entries with a valid encrypted map shape are included.
Implementation
Map<String, Set<String>> analyzeEncryptedSecrets() {
final secrets = <String, Set<String>>{};
for (final entry in client.accountData.entries) {
final type = entry.key;
final event = entry.value;
final encryptedContent = event.content.tryGetMap<String, Object?>(
'encrypted',
);
if (encryptedContent == null) continue;
final validKeys = <String>{};
for (final keyEntry in encryptedContent.entries) {
final key = keyEntry.key;
final value = keyEntry.value;
if (!_isUsableEncryptedKeyEntry(key, value)) continue;
validKeys.add(key);
}
if (validKeys.isNotEmpty) {
secrets[type] = validKeys;
}
}
return secrets;
}