|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Contains all the information required by a Honk prover to create a proof, constructed from a finalized circuit. More...
#include <prover_instance.hpp>
Public Types | |
| using | Flavor = Flavor_ |
| using | FF = typename Flavor::FF |
Public Member Functions | |
| size_t | dyadic_size () const |
| size_t | log_dyadic_size () const |
| size_t | pub_inputs_offset () const |
| size_t | num_public_inputs () const |
| size_t | get_final_active_wire_idx () const |
| Flavor::PrecomputedData | get_precomputed () |
| ProverInstance_ (Circuit &circuit) | |
| ProverInstance_ ()=default | |
| ProverInstance_ (const ProverInstance_ &)=delete | |
| ProverInstance_ (ProverInstance_ &&)=delete | |
| ProverInstance_ & | operator= (const ProverInstance_ &)=delete |
| ProverInstance_ & | operator= (ProverInstance_ &&)=delete |
| ~ProverInstance_ ()=default | |
Public Attributes | |
| std::vector< FF > | public_inputs |
| ProverPolynomials | polynomials |
| WitnessCommitments | commitments |
| FF | alpha |
| RelationParameters< FF > | relation_parameters |
| std::vector< FF > | gate_challenges |
| HonkProof | ipa_proof |
| std::vector< uint32_t > | memory_read_records |
| std::vector< uint32_t > | memory_write_records |
| std::vector< uint32_t > | rom_logup_records |
Static Public Attributes | |
| static constexpr size_t | TRACE_OFFSET = Flavor::TRACE_OFFSET |
Private Types | |
| using | Circuit = typename Flavor::CircuitBuilder |
| using | ProverPolynomials = typename Flavor::ProverPolynomials |
| using | WitnessCommitments = typename Flavor::WitnessCommitments |
| using | Polynomial = typename Flavor::Polynomial |
Private Member Functions | |
| size_t | trace_active_range_size () const |
| Get the size of the active trace range (0 to the final active wire index) | |
| size_t | compute_dyadic_size (Circuit &) |
| Compute the minimum dyadic (power-of-2) circuit size. | |
| void | allocate_wires () |
| void | allocate_permutation_argument_polynomials () |
| void | allocate_lagrange_polynomials () |
| void | allocate_selectors (const Circuit &) |
| void | allocate_table_lookup_polynomials (const Circuit &) |
| void | populate_memory_records (const Circuit &circuit) |
Private Attributes | |
| MetaData | metadata |
| size_t | final_active_wire_idx { std::numeric_limits<size_t>::max() } |
| void allocate_ecc_op_polynomials(const Circuit &) void allocate_databus_polynomials(const Circuit &) Flavor void construct_databus_polynomials(Circuit &) Flavor void | construct_lookup_polynomials (Circuit &circuit) |
Contains all the information required by a Honk prover to create a proof, constructed from a finalized circuit.
Definition at line 27 of file prover_instance.hpp.
|
private |
Definition at line 36 of file prover_instance.hpp.
| using bb::ProverInstance_< Flavor_ >::FF = typename Flavor::FF |
Definition at line 30 of file prover_instance.hpp.
| using bb::ProverInstance_< Flavor_ >::Flavor = Flavor_ |
Definition at line 29 of file prover_instance.hpp.
|
private |
Definition at line 39 of file prover_instance.hpp.
|
private |
Definition at line 37 of file prover_instance.hpp.
|
private |
Definition at line 38 of file prover_instance.hpp.
| bb::ProverInstance_< Flavor >::ProverInstance_ | ( | Circuit & | circuit | ) |
Definition at line 25 of file prover_instance.cpp.
|
default |
|
delete |
|
delete |
|
default |
|
private |
Definition at line 177 of file prover_instance.cpp.
|
private |
Definition at line 160 of file prover_instance.cpp.
|
private |
Definition at line 188 of file prover_instance.cpp.
|
private |
Definition at line 206 of file prover_instance.cpp.
|
private |
Definition at line 149 of file prover_instance.cpp.
|
private |
Compute the minimum dyadic (power-of-2) circuit size.
The dyadic circuit size is the smallest power of two which can accommodate all polynomials required for the proving system. This size must account for the execution trace itself, i.e. the wires/selectors, but also any auxiliary polynomials like those that store the table data for lookup arguments.
| Flavor |
| circuit |
Definition at line 132 of file prover_instance.cpp.
|
inline |
Definition at line 58 of file prover_instance.hpp.
|
inline |
Definition at line 66 of file prover_instance.hpp.
|
inline |
Definition at line 73 of file prover_instance.hpp.
|
inline |
Definition at line 59 of file prover_instance.hpp.
|
inline |
Definition at line 61 of file prover_instance.hpp.
|
delete |
|
delete |
|
private |
|
inline |
Definition at line 60 of file prover_instance.hpp.
|
inlineprivate |
Get the size of the active trace range (0 to the final active wire index)
Definition at line 89 of file prover_instance.hpp.
| FF bb::ProverInstance_< Flavor_ >::alpha |
Definition at line 48 of file prover_instance.hpp.
| WitnessCommitments bb::ProverInstance_< Flavor_ >::commitments |
Definition at line 47 of file prover_instance.hpp.
|
private |
Definition at line 113 of file prover_instance.hpp.
|
private |
Definition at line 42 of file prover_instance.hpp.
| std::vector<FF> bb::ProverInstance_< Flavor_ >::gate_challenges |
Definition at line 50 of file prover_instance.hpp.
| HonkProof bb::ProverInstance_< Flavor_ >::ipa_proof |
Definition at line 52 of file prover_instance.hpp.
| std::vector<uint32_t> bb::ProverInstance_< Flavor_ >::memory_read_records |
Definition at line 54 of file prover_instance.hpp.
| std::vector<uint32_t> bb::ProverInstance_< Flavor_ >::memory_write_records |
Definition at line 55 of file prover_instance.hpp.
|
private |
Definition at line 40 of file prover_instance.hpp.
| ProverPolynomials bb::ProverInstance_< Flavor_ >::polynomials |
Definition at line 46 of file prover_instance.hpp.
| std::vector<FF> bb::ProverInstance_< Flavor_ >::public_inputs |
Definition at line 45 of file prover_instance.hpp.
| RelationParameters<FF> bb::ProverInstance_< Flavor_ >::relation_parameters |
Definition at line 49 of file prover_instance.hpp.
| std::vector<uint32_t> bb::ProverInstance_< Flavor_ >::rom_logup_records |
Definition at line 56 of file prover_instance.hpp.
|
staticconstexpr |
Definition at line 33 of file prover_instance.hpp.