Principal.fromHex constructor

Principal.fromHex(
  1. String hex, {
  2. String? subAccountHex,
})

Implementation

factory Principal.fromHex(String hex, {String? subAccountHex}) {
  if (hex.isEmpty) {
    return Principal(Uint8List(0));
  }
  if (subAccountHex == null || subAccountHex.isEmpty) {
    subAccountHex = null;
  } else if (subAccountHex.startsWith('0')) {
    throw ArgumentError.value(
      subAccountHex,
      'subAccountHex',
      'The representation is not canonical: '
          'leading zeros are not allowed in subaccounts.',
    );
  }
  return Principal(
    hex.toU8a(),
    subAccount: subAccountHex?.padLeft(64, '0').toU8a(),
  );
}