15#ifndef PRIVACY_PROOFS_ZK_LIB_SUMCHECK_TESTING_H_
16#define PRIVACY_PROOFS_ZK_LIB_SUMCHECK_TESTING_H_
23#include "arrays/dense.h"
24#include "random/transcript.h"
25#include "sumcheck/circuit.h"
26#include "sumcheck/prover.h"
27#include "sumcheck/verifier.h"
29#include "util/panic.h"
39 typename Prover<Field>::inputs pin;
42 auto V = prover.eval_circuit(&pin, C, W->clone(), F);
44 check(V !=
nullptr,
"eval_circuit failed.");
47 for (
size_t i = 0; i < V->n1_; ++i) {
48 if (V->v_[i] != F.zero()) {
49 log(INFO,
"witness failed: non-zero output at %zu", i);
51 check(V->v_[i] == F.zero(),
"witness failed, non-zero output");
55 prover.prove(proof,
nullptr, C, pin, tsp);
61 const char *why =
"ok";
62 auto V = std::make_unique<Dense<Field>>(F);
64 check(Verifier<Field>::verify(&why, C, &proof, std::move(V),
65 W->clone(), tsv, F), why);
Definition transcript.h:65