Hash.fromHex constructor
Hash.fromHex(
- String hexString
Create hash from hex string
Implementation
factory Hash.fromHex(String hexString) {
// Remove 0x prefix if present
if (hexString.startsWith('0x')) {
hexString = hexString.substring(2);
}
if (hexString.length > maxHashStringSize) {
throw HashStringSizeException();
}
// Pad with zeros if needed
hexString = hexString.padLeft(maxHashStringSize, '0');
try {
// Decode hex string to bytes
final parsedBytes = Uint8List.fromList(
List.generate(hexString.length ~/ 2,
(i) => int.parse(hexString.substring(i * 2, (i * 2) + 2), radix: 16))
);
// Reverse bytes since toString() produces reversed hex for display
final bytes = Uint8List(hashSize);
for (int i = 0; i < hashSize; i++) {
bytes[i] = parsedBytes[hashSize - 1 - i];
}
return Hash.fromBytes(bytes);
} catch (e) {
throw FormatException('Invalid hex string: $hexString');
}
}