generatePublicKeyBlind static method

List<int>? generatePublicKeyBlind(
  1. List<int> scalarBytes, {
  2. Secp256k1ECmultGenContext? context,
})

Implementation

static List<int>? generatePublicKeyBlind(List<int> scalarBytes,
    {Secp256k1ECmultGenContext? context}) {
  Secp256k1ECmultGenContext c = context ?? initalizeBlindEcMultContext();
  try {
    Secp256k1Scalar a = Secp256k1Scalar();
    Secp256k1.secp256k1ScalarSetB32(a, scalarBytes);
    Secp256k1Gej res1 = Secp256k1Gej();
    Secp256k1.secp256k1ECmultGen(c, res1, a);
    Secp256k1Ge mid1 = Secp256k1Ge();
    Secp256k1.secp256k1GeSetGej(mid1, res1);
    return secp256k1ECkeyPubkeySerialize(mid1, true);
  } finally {
    if (context == null) {
      c.clean();
    }
  }
}