combine static method
Combine partials into a BIP-340 Schnorr sig (64 bytes: R_x || s). s_final = sum(s_i) mod n.
Implementation
static Uint8List combine(
AggregatedKey aggKey,
NonceSession session,
List<PartialSig> partials,
) {
if (partials.isEmpty) {
throw ArgumentError('No partial signatures to combine');
}
final aggR = session.aggregateNonces();
final rPoint = ecBytesToPoint(aggR);
final rX = bigIntToBytes(rPoint.x, 32);
BigInt sSum = BigInt.zero;
for (final partial in partials) {
sSum = (sSum + bytesToBigInt(partial.partialS)) % secp256k1N;
}
final sig = Uint8List(64);
sig.setRange(0, 32, rX);
sig.setRange(32, 64, bigIntToBytes(sSum, 32));
return sig;
}