V1. Accept requests of the form:
where vk
and proof
are in the upa format. In this way, groth16 with commits is supported and we have conversion functionality from snarkjs and gnark formats.
circuits
create in upa repo):Service<_>
, HTTPServer<>
In prover_daemon
crate. Already has a multi-threaded server impl.
upa_circuits::batch_verifier::types::UniversalBatchVerifierInput
A json request to the verifier service can be UniversalBatchVerifierInput
or Vec<UniversalBatchVerifierInput>
.
upacircuits::batch_verifier::universal::native
This handles a sequence of UniversalBatchVerifierInput
s. If we make the endpoint accept a list of UniversalBatchVerifierInput
s, we can use this function as-is and get batched verification for multi-proof requests.