computeHash method
Computes the canonical deterministic SHA-256 runtime fingerprint hash string.
Implementation
String computeHash() {
final buffer = StringBuffer();
buffer.writeln('bloom_version:$bloomVersion');
buffer.writeln('flutter_engine:$flutterEngineRevision');
buffer.writeln('dart_sdk:$dartSdkVersion');
// Sort native modules deterministically
final sortedModules = nativeModuleFingerprints.keys.toList()..sort();
for (final mod in sortedModules) {
buffer.writeln('module:$mod:${nativeModuleFingerprints[mod]}');
}
// Sort permissions deterministically
final sortedPerms = List<String>.from(permissions)..sort();
for (final p in sortedPerms) {
buffer.writeln('permission:$p');
}
return sha256.convert(utf8.encode(buffer.toString())).toString();
}