6using namespace numeric;
7#ifndef AZTEC_NO_ORIGIN_TAGS
25 if (*challenges_a == 0 && *challenges_b == 0 && *submitted_a != 0 && *submitted_b != 0 &&
26 *submitted_a != *submitted_b) {
27 throw_or_abort(
"Submitted values from 2 different rounds are mixing without challenges");
40 throw_or_abort(
"Touched an element that should not have been touched");
55 throw_or_abort(
"A free witness element should not interact with an element that has an origin");
64 throw_or_abort(
"A free witness element should not interact with an element that has an origin");
73 throw_or_abort(
"Tags from different transcripts were involved in the same computation");
Entry point for Barretenberg command-line interface.
void check_round_provenance(const uint256_t &provenance_a, const uint256_t &provenance_b)
Detect if two elements from the same transcript are performing a suspicious interaction.
This file contains part of the logic for the Origin Tag mechanism that tracks the use of in-circuit p...
unsigned __int128 uint128_t
static constexpr size_t CONSTANT
bool is_free_witness() const
numeric::uint256_t round_provenance
bool operator==(const OriginTag &other) const
void throw_or_abort(std::string const &err)