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");
}
}