SuiAddress constructor

SuiAddress(
  1. String address
)

Creates a Sui address from a hexadecimal string.

Implementation

factory SuiAddress(String address) {
  address = StringUtils.strip0x(address);
  List<int>? toBytes =
      BytesUtils.tryFromHexString(address, paddingZero: address.length == 1);
  if (toBytes == null) {
    throw DartSuiPluginException("Invalid sui address.",
        details: {"address": address});
  }

  /// handle special addresses.
  if (toBytes.length == 1) {
    final byte = toBytes[0];
    if (byte < 10) {
      toBytes = List.filled(SuiAddrConst.addressBytesLength, 0);
      toBytes.last = byte;
    }
  }
  return SuiAddress.fromBytes(toBytes);
}