groth16Prove method

  1. @override
Future<({String proof, String publicSignals})> groth16Prove({
  1. required Uint8List zkey,
  2. required Uint8List witness,
  3. int proofBufferSize = _defaultProofBufferSize,
  4. int? publicBufferSize,
  5. int errorBufferSize = _defaultErrorBufferSize,
})
override

Implementation

@override
Future<({String proof, String publicSignals})> groth16Prove({
  required Uint8List zkey,
  required Uint8List witness,
  int proofBufferSize = _defaultProofBufferSize,
  int? publicBufferSize,
  int errorBufferSize = _defaultErrorBufferSize,
}) async {
  final actualPublicBufferSize = publicBufferSize ??
      await groth16PublicSizeForZkeyBuf(
          zkey: zkey, errorBufferSize: errorBufferSize);

  final result = (await methodChannel.invokeMapMethod<String, dynamic>(
    'groth16Prove',
    {
      "zkey": zkey,
      "witness": witness,
      "proofBufferSize": proofBufferSize,
      "publicBufferSize": actualPublicBufferSize,
      "errorBufferSize": errorBufferSize,
    },
  ))!;

  return (
    proof: result['proof'] as String,
    publicSignals: result['publicSignals'] as String,
  );
}