BloomRuntimeFingerprint class

Cryptographic Runtime Fingerprint generator and validator.

Ensures Over-The-Air (OTA) patches are only applied to native binaries with identical Dart SDK, Flutter engine, and native module capabilities.

Example:

final fingerprint = BloomRuntimeFingerprint.current();
final hash = fingerprint.computeHash();
print('Binary fingerprint hash: $hash');

Constructors

BloomRuntimeFingerprint({required String bloomVersion, required String flutterEngineRevision, required String dartSdkVersion, Map<String, String> nativeModuleFingerprints = const {}, List<String> permissions = const []})
Creates a BloomRuntimeFingerprint.
const
BloomRuntimeFingerprint.current({String bloomVersion = '1.0.0', String? flutterRevision, Map<String, String> moduleFingerprints = const {}, List<String> permissions = const []})
Derives runtime fingerprint dynamically from current environment or BloomConfig.
factory
BloomRuntimeFingerprint.fromConfig(dynamic config, {Map<String, String> moduleFingerprints = const {}, String? flutterRevision})
Creates a runtime fingerprint from a BloomConfig object and native module fingerprints.
factory
BloomRuntimeFingerprint.fromMap(Map<String, dynamic> map)
Creates a fingerprint from raw manifest/lockfile JSON or Map map data.
factory

Properties

bloomVersion → String
Bloom framework semantic version.
final
dartSdkVersion → String
Dart SDK version string.
final
flutterEngineRevision → String
Flutter engine git revision string.
final
hashCode → int
The hash code for this object.
no setterinherited
nativeModuleFingerprints → Map<String, String>
Deterministic fingerprints of all installed native modules.
final
permissions → List<String>
Declared native system permissions.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

computeHash() → String
Computes the canonical deterministic SHA-256 runtime fingerprint hash string.
isCompatibleWith(String patchRuntimeFingerprint) → bool
Validates whether a remote patch runtime fingerprint matches the local binary.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited