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
mapdata.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