HashDomain.fromDomain constructor

HashDomain.fromDomain(
  1. String domain, {
  2. List<int>? message,
  3. List<PallasAffinePoint>? sinsemillaS,
  4. bool withSeperator = false,
})

Implementation

factory HashDomain.fromDomain(
  String domain, {
  List<int>? message,
  List<PallasAffinePoint>? sinsemillaS,
  bool withSeperator = false,
}) {
  if (withSeperator) {
    domain += "-M";
  }
  message ??= StringUtils.encode(domain);
  final point = PallasPoint.hashToCurve(
    domainPrefix: HashDomainConst.qPersonalization,
    message: message,
  );
  sinsemillaS ??= generateSinsemillaS();
  return HashDomain(q: point, sinsemillaS: sinsemillaS);
}