71 template <
typename B = Builder>
100 requires(!IsRecursive)
103 msgpack::pack(
buffer, *
this);
108 requires(!IsRecursive)
116 requires(!IsRecursive)
118 auto uint8_buffer = from_buffer<std::vector<uint8_t>>(
buffer);
119 msgpack::sbuffer sbuf;
120 sbuf.write(
reinterpret_cast<char*
>(uint8_buffer.data()), uint8_buffer.size());
125 requires(!IsRecursive)
134 oh.get().convert(proof);
139 requires(!IsRecursive)
142 std::ofstream ofs(filename, std::ios::binary);
143 if (!ofs.is_open()) {
151 requires(!IsRecursive)
153 std::ifstream ifs(filename, std::ios::binary);
154 if (!ifs.is_open()) {
157 ifs.seekg(0, std::ios::end);
158 size_t file_size =
static_cast<size_t>(ifs.tellg());
159 ifs.seekg(0, std::ios::beg);
163 msgpack::sbuffer msgpack_buffer;
164 msgpack_buffer.write(
buffer.data(), file_size);
174 :
std::runtime_error(
std::string(
"Chonk Proof deserialization error: ") + msg)
DeserializationError(const std::string &msg)
static constexpr size_t PROOF_LENGTH
static constexpr size_t PUBLIC_INPUTS_SIZE
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t COMMITTED_SUMCHECK_PROOF_LENGTH
std::unique_ptr< uint8_t[]> buffer
Entry point for Barretenberg command-line interface.
std::vector< fr > HonkProof
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::string to_string(bb::avm2::ValueTag tag)
uint8_t * to_heap_buffer(T const &value)
SERIALIZATION_FIELDS(hiding_oink_proof, merge_proof, eccvm_proof, ipa_proof, joint_proof)
std::conditional_t< IsRecursive, stdlib::field_t< Builder >, bb::fr > FF
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS
static constexpr size_t JOINT_PROOF_LENGTH
ChonkProof_(B &builder, const ChonkProof_< false > &proof)
ChonkProof_(HonkProof mega_zk, HonkProof merge, HonkProof eccvm, HonkProof ipa, HonkProof joint)
std::conditional_t< IsRecursive, UltraCircuitBuilder, void > Builder
msgpack::sbuffer to_msgpack_buffer() const
uint8_t * to_msgpack_heap_buffer() const
static ChonkProof_ from_field_elements(const std::vector< FF > &fields)
Reconstruct proof from field elements.
static ChonkProof_ from_msgpack_buffer(uint8_t const *&buffer)
void to_file_msgpack(const std::string &filename) const
static ChonkProof_ from_msgpack_buffer(const msgpack::sbuffer &buffer)
std::conditional_t< IsRecursive, stdlib::Proof< Builder >, ::bb::HonkProof > HonkProof
HonkProof hiding_oink_proof
static constexpr size_t PROOF_LENGTH
std::vector< FF > to_field_elements() const
Serialize proof to field elements (native mode)
static ChonkProof_ from_file_msgpack(const std::string &filename)
static constexpr size_t HIDING_OINK_LENGTH
static constexpr const char MSGPACK_SCHEMA_NAME[]
bool operator==(const ChonkProof_ &other) const =default
Computes Oink proof length from flavor traits.
void throw_or_abort(std::string const &err)