barretenberg
Loading...
Searching...
No Matches
prover_settings.hpp
1#pragma once
2#include "barretenberg/proof_system/arithmetization/arithmetization.hpp"
3#include "barretenberg/transcript/transcript.hpp"
4namespace proof_system::plonk {
6 public:
7 static constexpr bool requires_shifted_wire(const uint64_t wire_shift_settings, const uint64_t wire_index)
8 {
9 return (((wire_shift_settings >> (wire_index)) & 1UL) == 1UL);
10 }
11};
12
14 public:
16 static constexpr size_t num_challenge_bytes = 16;
17 static constexpr transcript::HashType hash_type = transcript::HashType::PedersenBlake3s;
18 static constexpr size_t program_width = 3;
19 static constexpr size_t num_shifted_wire_evaluations = 1;
20 static constexpr uint64_t wire_shift_settings = 0b0100;
21 static constexpr uint32_t permutation_shift = 30;
22 static constexpr uint32_t permutation_mask = 0xC0000000;
23 static constexpr size_t num_roots_cut_out_of_vanishing_polynomial = 4;
24 static constexpr bool is_plookup = false;
25};
26
28 public:
29 static constexpr size_t num_challenge_bytes = 16;
30 static constexpr transcript::HashType hash_type = transcript::HashType::PedersenBlake3s;
31 static constexpr size_t program_width = 4;
32 static constexpr size_t num_shifted_wire_evaluations = 4;
33 static constexpr uint64_t wire_shift_settings = 0b1111;
34 static constexpr uint32_t permutation_shift = 30;
35 static constexpr uint32_t permutation_mask = 0xC0000000;
36 static constexpr size_t num_roots_cut_out_of_vanishing_polynomial = 4;
37 static constexpr bool is_plookup = true;
38};
39
40// Only needed because ultra-to-standard recursion requires us to use a Pedersen hash which is common to both Ultra &
41// Standard plonk i.e. the non-ultra version.
43 public:
44 static constexpr transcript::HashType hash_type = transcript::HashType::PedersenBlake3s;
45};
46
47// Only needed because ultra-to-standard recursion requires us to use a Pedersen hash which is common to both Ultra &
48// Standard plonk i.e. the non-ultra version.
50 public:
51 static constexpr size_t num_challenge_bytes = 32;
52 static constexpr transcript::HashType hash_type = transcript::HashType::Keccak256;
53};
54
55} // namespace proof_system::plonk
Specify the structure of a CircuitBuilder.
Definition: arithmetization.hpp:35
Definition: prover_settings.hpp:5
Definition: prover_settings.hpp:13
Definition: prover_settings.hpp:27
Definition: prover_settings.hpp:42
Definition: prover_settings.hpp:49
Definition: widget.bench.cpp:13