deterministicNonceHash static method

BigInt deterministicNonceHash({
  1. required List<int> sk,
  2. required List<int> aggotherNonce,
  3. required List<int> aggPk,
  4. required int i,
  5. required List<int> msg,
})

Implementation

static BigInt deterministicNonceHash(
    {required List<int> sk,
    required List<int> aggotherNonce,
    required List<int> aggPk,
    required int i,
    required List<int> msg}) {
  final bytes = DynamicByteTracker();
  bytes.add(sk);
  bytes.add(aggotherNonce);
  bytes.add(aggPk);
  bytes.add(BigintUtils.toBytes(BigInt.from(msg.length), length: 8));
  bytes.add(msg);
  bytes.add(IntUtils.toBytes(i, length: 1));
  return BigintUtils.fromBytes(P2TRUtils.taggedHash(
      MuSig2Const.deterministicNonceDomain, bytes.toBytes()));
}