registerAddressType method
Register an address type which is a sequence of U8s of specified length.
bcs.registerAddressType('address', SUI_ADDRESS_LENGTH);
final addr = bcs.de('address', 'c3aca510c785c7094ac99aeaa1e69d493122444df50bb8a99dfa790c654a79af', Encoding.hex);
Implementation
LegacyBCS registerAddressType(
String name,
int length,
[Encoding encoding = Encoding.hex]
) {
switch (encoding) {
case Encoding.base64:
return registerType(
name,
(writer, data, _, __) {
fromB64(data).forEach((el) => writer.write8(el));
return writer;
},
(reader, _, __) => toB64(reader.readBytes(length))
);
case Encoding.hex:
return registerType(
name,
(writer, data, _, __) {
fromHEX(data).forEach((el) => writer.write8(el));
return writer;
},
(reader, _, __) => toHEX(reader.readBytes(length))
);
default:
throw ArgumentError("Unsupported encoding! Use either hex or base64");
}
}