22 using type =
typename Flavor::NativeFlavor;
33template <
typename Flavor,
typename Builder>
47 return verification_key.hash();
51template <
typename Flavor,
typename Builder>
55 info(
"compute_vk_hash: Not implemented for this Flavor/Builder, returning 0.");
62 for (
auto& coeff : polynomial) {
63 if (!coeff.is_zero()) {
77 auto& prover_polys = decider_proving_key->prover_polynomials;
78 std::vector<std::string> zero_polys;
79 for (
auto [label, poly] :
zip_view(prover_polys.get_labels(), prover_polys.get_all())) {
81 zero_polys.emplace_back(label);
84 if (zero_polys.empty()) {
85 info(
"\nProving Key Inspector: All prover polynomials are non-zero.");
87 info(
"\nProving Key Inspector: The following prover polynomials are identically zero: ");
88 for (
const std::string& label : zero_polys) {
A DeciderProvingKey is normally constructed from a finalized circuit and it contains all the informat...
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
UltraKeccakFlavor::VerificationKey VerificationKey
bool is_non_zero(auto &polynomial)
uint256_t compute_vk_hash(const Builder &circuit_in, const TraceSettings &trace_settings=TraceSettings{ AZTEC_TRACE_STRUCTURE })
Compute the hash of the verification key that results from constructing a proving key from the given ...
void inspect_proving_key(auto &decider_proving_key)
Utility for indicating which polynomials in a decider proving key are identically zero.
typename Flavor::NativeFlavor type