ClSignature.fromHex constructor

ClSignature.fromHex(
  1. String hexStr
)

Creates a ClSignature object from a hexadecimal string representation. The hexadecimal string is prefixed with keyAlgorithm.identifierByteHex.

Implementation

factory ClSignature.fromHex(String hexStr) {
  final Tuple2<Cep57ChecksumResult, Uint8List> decoded = Cep57Checksum.decode(hexStr.substring(2));

  if (decoded.item1 == Cep57ChecksumResult.invalid) {
    throw ArgumentError('Signature checksum verification failed');
  }

  final Uint8List bytes = decoded.item2;
  KeyAlgorithm algorithm = KeyAlgorithmExt.fromIdentifierByte(hexStringToInt(hexStr.substring(0, 2)));

  return ClSignature.fromBytes(bytes, algorithm);
}