barretenberg
Loading...
Searching...
No Matches
random_widget.hpp
1#pragma once
2#include "barretenberg/ecc/curves/bn254/fr.hpp"
3#include "barretenberg/plonk/transcript/transcript.hpp"
4#include "barretenberg/plonk/work_queue/work_queue.hpp"
5
6#include <map>
7namespace transcript {
8class Transcript;
9}
10namespace proof_system::plonk {
11
12struct proving_key;
13
14class ReferenceString;
15
17 protected:
18 typedef barretenberg::fr fr;
20
21 public:
23 : key(input_key)
24 {}
26 : key(other.key)
27 {}
29 : key(other.key)
30 {}
31
32 ProverRandomWidget& operator=(const ProverRandomWidget& other)
33 {
34 key = other.key;
35 return *this;
36 }
37
38 ProverRandomWidget& operator=(ProverRandomWidget&& other)
39 {
40 key = other.key;
41 return *this;
42 }
43
44 virtual ~ProverRandomWidget() {}
45
46 virtual void compute_round_commitments(transcript::StandardTranscript&, const size_t, work_queue&){};
47
48 virtual barretenberg::fr compute_quotient_contribution(const barretenberg::fr& alpha_base,
49 const transcript::StandardTranscript& transcript) = 0;
50
51 proving_key* key;
52};
53
54} // namespace proof_system::plonk
Definition: random_widget.hpp:16
Definition: work_queue.hpp:11
Definition: transcript_wrappers.hpp:13
Definition: widget.bench.cpp:13
Definition: proving_key.hpp:38