barretenberg
Loading...
Searching...
No Matches
transcript_wrappers.hpp
1#pragma once
2
3#include "./transcript.hpp"
4#include "barretenberg/ecc/curves/bn254/fr.hpp"
5#include "barretenberg/ecc/curves/bn254/g1.hpp"
6#include <unordered_map>
7
8namespace transcript {
14 public:
23 StandardTranscript(const Manifest input_manifest,
24 const HashType hash_type = HashType::Keccak256,
25 const size_t challenge_bytes = 32)
26 : Transcript(input_manifest, hash_type, challenge_bytes)
27 {}
38 StandardTranscript(const std::vector<uint8_t>& input_transcript,
39 const Manifest input_manifest,
40 const HashType hash_type = HashType::Keccak256,
41 const size_t challenge_bytes = 32)
42 : Transcript(input_transcript, input_manifest, hash_type, challenge_bytes){};
43
44 void add_field_element(const std::string& element_name, const barretenberg::fr& element);
45
46 barretenberg::fr get_field_element(const std::string& element_name) const;
47 barretenberg::g1::affine_element get_group_element(const std::string& element_name) const;
48
49 std::vector<barretenberg::fr> get_field_element_vector(const std::string& element_name) const;
50
51 barretenberg::fr get_challenge_field_element(const std::string& challenge_name, const size_t idx = 0) const;
52 barretenberg::fr get_challenge_field_element_from_map(const std::string& challenge_name,
53 const std::string& challenge_map_name) const;
54
55 std::vector<uint8_t> export_transcript() const { return Transcript::export_transcript(); }
56
57 // TODO(luke): temporary function for debugging
58 barretenberg::fr get_mock_challenge() { return barretenberg::fr::random_element(); };
59};
60
61} // namespace transcript
Definition: affine_element.hpp:11
Definition: manifest.hpp:11
Definition: transcript_wrappers.hpp:13
StandardTranscript(const Manifest input_manifest, const HashType hash_type=HashType::Keccak256, const size_t challenge_bytes=32)
Definition: transcript_wrappers.hpp:23
StandardTranscript(const std::vector< uint8_t > &input_transcript, const Manifest input_manifest, const HashType hash_type=HashType::Keccak256, const size_t challenge_bytes=32)
Definition: transcript_wrappers.hpp:38
Definition: transcript.hpp:34