encode method
Implementation
@override
Uint8List encode(Object value) {
final Uint8List bytes;
if (value is Uint8List) {
bytes = value;
} else if (value is String) {
var hex = value.toLowerCase().trim();
if (hex.startsWith('0x')) {
hex = hex.substring(2);
}
bytes = hexToBytes(hex);
} else {
throw Exception('Unsuported value type for "bytes"');
}
final ret = Uint8List(((bytes.length - 1) ~/ SolidityType.int32Size + 1) *
SolidityType.int32Size);
ret.setRange(0, bytes.length, bytes);
final data = Uint8List.fromList(IntType.encodeFromInt(bytes.length) + ret);
return data;
}