decodeAndValidateStruct static method
Static method to decode and validate the structure
Implementation
static Map<String, dynamic> decodeAndValidateStruct({
required StructLayout layout,
required List<int> bytes,
required List<int> instructionBytes,
}) {
final decode = layout.deserialize(bytes).value;
final instcutionData = decode["instruction"];
if (!BytesUtils.bytesEqual(instcutionData, instructionBytes)) {
throw MessageException("invalid instruction bytes", details: {
"expected": BytesUtils.toHexString(instructionBytes),
"instruction": BytesUtils.toBinary(instcutionData)
});
}
return decode;
}