hashMessage static method
Uint8List
hashMessage({
- required String jsonData,
- required TypedDataVersion version,
- int? chainId,
Implementation
static Uint8List hashMessage(
{required String jsonData,
required TypedDataVersion version,
int? chainId}) {
late final rawTypedData;
try {
rawTypedData = jsonDecode(jsonData);
} catch (_) {
throw ArgumentError('jsonData format must be correct');
}
if (version == TypedDataVersion.V1) {
late final List<EIP712TypedData> typedData;
try {
if (rawTypedData is List) {
typedData =
rawTypedData.map((e) => EIP712TypedData.fromJson(e)).toList();
} else {
typedData = [EIP712TypedData.fromJson(rawTypedData)];
}
} catch (_) {
throw ArgumentError(
'jsonData format is not corresponding to EIP712TypedData');
}
return TypedDataUtil.hashTypedDataV1(typedData);
}
late final typedData;
try {
typedData = TypedMessage.fromJson(rawTypedData);
} catch (_) {
throw ArgumentError(
'jsonData format is not corresponding to TypedMessage');
}
return version == TypedDataVersion.V4
? TypedDataUtil.hashTypedDataV4(typedData)
: TypedDataUtil.hashTypedDataV3(typedData);
}