31 AvmProver(proving_key, verification_key, proving_key->commitment_key));
33 auto proof =
AVM_TRACK_TIME_V(
"proving/construct_proof", prover.construct_proof());
44 const bool skippable_enabled = (getenv(
"AVM_DISABLE_SKIPPABLE") ==
nullptr);
45 const size_t num_rows = skippable_enabled ?
trace.get_num_witness_rows() + 1 :
trace.get_num_rows();
46 vinfo(
"Running check ",
47 skippable_enabled ?
"(with skippable)" :
"(without skippable)",
57 }
catch (std::runtime_error& e) {
60 vinfo(
"Circuit check failed: ", e.what());
bool verify(const Proof &proof, const PublicInputs &pi)
Proof prove(tracegen::TraceContainer &&trace)
bool check_circuit(tracegen::TraceContainer &&trace)
AvmProver::ProverPolynomials compute_polynomials(tracegen::TraceContainer &trace)
std::shared_ptr< AvmProver::ProvingKey > proving_key_from_polynomials(AvmProver::ProverPolynomials &polynomials)
void run_check_circuit(AvmFlavor::ProverPolynomials &polys, size_t num_rows, bool skippable_enabled)
VerifierCommitmentKey< Curve > vk
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
#define AVM_TRACK_TIME_V(key, body)
#define AVM_TRACK_TIME(key, body)