8#include "../circuit_builders/circuit_builders_fwd.hpp"
9#include "../field/field.hpp"
17template <
typename Builder>
class databus {
120 auto default_commitment =
Commitment(DEFAULT_COMMITMENT_VALUE);
121 default_commitment.convert_constant_to_fixed_witness(&
builder);
122 return default_commitment;
Class for managing propagation of databus return data commitments used in consistency checks.
Commitment get_kernel_return_data_commitment(Builder &builder)
Get the previously set kernel return data commitment if it exists, else a default one.
Commitment app_return_data_commitment
typename Curve::ScalarFieldNative FrNative
bool kernel_return_data_commitment_exists
typename Curve::AffineElementNative CommitmentNative
bool app_return_data_commitment_exists
static Commitment construct_default_commitment(Builder &builder)
Construct a default commitment for the databus return data.
Commitment kernel_return_data_commitment
Commitment get_app_return_data_commitment(Builder &builder)
Get the previously set app return data commitment if it exists, else a default one.
typename Curve::Group Commitment
void set_app_return_data_commitment(const Commitment &commitment)
void set_kernel_return_data_commitment(const Commitment &commitment)
field_pt operator[](const field_pt &index) const
Read from the bus vector with a witness index value. Creates a read gate.
bus_vector(const BusId bus_idx)
void set_values(const std::vector< field_pt > &entries_in)
Set the entries of the bus vector from possibly unnormalized or constant inputs.
std::vector< field_pt > entries
Builder * get_context() const
bus_vector secondary_calldata
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
static constexpr bb::fr DEFAULT_VALUE
GroupNative::affine_element AffineElementNative
curve::BN254::ScalarField ScalarFieldNative
element< CircuitBuilder, bigfield< CircuitBuilder, bb::Bn254FqParams >, ScalarField, GroupNative > Group