byteVector static method
Fast vector<u8>: same wire bytes as vector(u8()), no per-element overhead.
Implementation
static BcsType<Uint8List, dynamic> byteVector(
[BcsTypeOptions<Uint8List, dynamic>? options]) {
return BcsType<Uint8List, dynamic>(
name: options?.name ?? 'vector<u8>',
read: (reader) {
final length = reader.readULEB();
return reader.readBytes(length);
},
write: (value, writer) {
final array = value is Uint8List
? value
: Uint8List.fromList(List<int>.from(value));
writer.writeULEB(array.length);
writer.writeBytes(array);
},
serializedSize: (value, {BcsWriterOptions? options}) {
final length = (value as dynamic).length as int;
return ulebEncode(length).length + length;
},
validate: (value) {
options?.validate?.call(value);
},
);
}