Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
public_inputs_builder.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
#include <vector>
5
6
#include "
barretenberg/numeric/random/engine.hpp
"
7
#include "
barretenberg/vm2/common/avm_inputs.hpp
"
8
#include "
barretenberg/vm2/common/aztec_types.hpp
"
9
#include "
barretenberg/vm2/common/field.hpp
"
10
#include "
barretenberg/vm2/simulation/lib/serialization.hpp
"
11
#include "
barretenberg/vm2/tracegen/test_trace_container.hpp
"
12
#include "
barretenberg/vm2/tracegen/trace_container.hpp
"
13
14
namespace
bb::avm2::testing
{
15
16
class
PublicInputsBuilder
{
17
public
:
18
PublicInputsBuilder
()
19
:
engine
(numeric::
get_debug_randomness
())
20
{}
21
22
PublicInputsBuilder
&
with_global_variables
(
const
GlobalVariables
& globals);
23
PublicInputsBuilder
&
set_protocol_contracts
(
const
ProtocolContracts
& protocol_contracts);
24
PublicInputsBuilder
&
with_start_tree_snapshots
(
const
TreeSnapshots
& start_tree_snapshots);
25
PublicInputsBuilder
&
with_start_gas_used
(
const
Gas
&
gas
);
26
PublicInputsBuilder
&
with_gas_settings
(
const
GasSettings
& gas_settings);
27
PublicInputsBuilder
&
with_fee_payer
(
const
AztecAddress
& fee_payer);
28
PublicInputsBuilder
&
with_public_setup_call_requests
(
29
const
std::array<PublicCallRequest, MAX_ENQUEUED_CALLS_PER_TX>
& public_setup_call_requests);
30
PublicInputsBuilder
&
with_public_app_logic_call_requests
(
31
const
std::array<PublicCallRequest, MAX_ENQUEUED_CALLS_PER_TX>
& public_app_logic_call_requests);
32
PublicInputsBuilder
&
with_public_teardown_call_request
(
const
PublicCallRequest
& public_teardown_call_request);
33
PublicInputsBuilder
&
with_previous_non_revertible_accumulated_data
(
34
const
PrivateToAvmAccumulatedData
& previous_non_revertible_accumulated_data);
35
PublicInputsBuilder
&
with_previous_revertible_accumulated_data
(
36
const
PrivateToAvmAccumulatedData
& previous_revertible_accumulated_data);
37
PublicInputsBuilder
&
with_previous_non_revertible_accumulated_data_array_lengths
(
38
const
PrivateToAvmAccumulatedDataArrayLengths
& previous_non_revertible_accumulated_data_array_lengths);
39
PublicInputsBuilder
&
with_previous_revertible_accumulated_data_array_lengths
(
40
const
PrivateToAvmAccumulatedDataArrayLengths
& previous_revertible_accumulated_data_array_lengths);
41
42
// Outputs
43
PublicInputsBuilder
&
set_end_tree_snapshots
(
const
TreeSnapshots
& end_tree_snapshots);
44
PublicInputsBuilder
&
set_end_gas_used
(
const
Gas
& end_gas_used);
45
PublicInputsBuilder
&
set_accumulated_data_array_lengths
(
46
const
AvmAccumulatedDataArrayLengths
& accumulated_data_array_lengths);
47
PublicInputsBuilder
&
set_accumulated_data
(
const
AvmAccumulatedData
& accumulated_data);
48
PublicInputsBuilder
&
set_transaction_fee
(
const
FF
& transaction_fee);
49
PublicInputsBuilder
&
set_reverted
(
bool
reverted);
50
51
PublicInputsBuilder
&
rand_global_variables
();
52
PublicInputsBuilder
&
rand_start_tree_snapshots
();
53
PublicInputsBuilder
&
rand_start_gas_used
();
54
PublicInputsBuilder
&
rand_gas_settings
();
55
PublicInputsBuilder
&
rand_fee_payer
();
56
PublicInputsBuilder
&
rand_previous_non_revertible_accumulated_data
(
size_t
n);
57
PublicInputsBuilder
&
rand_previous_revertible_accumulated_data
(
size_t
n);
58
59
PublicInputsBuilder
&
rand_public_setup_call_requests
(
size_t
n);
60
PublicInputsBuilder
&
rand_public_app_logic_call_requests
(
size_t
n);
61
PublicInputsBuilder
&
rand_public_teardown_call_request
();
62
63
PublicInputs
build
()
const
;
64
65
private
:
66
PublicInputs
public_inputs
= {};
67
numeric::RNG
&
engine
;
68
};
69
70
}
// namespace bb::avm2::testing
avm_inputs.hpp
aztec_types.hpp
bb::avm2::gas
Definition
gas.hpp:33
bb::avm2::testing::PublicInputsBuilder
Definition
public_inputs_builder.hpp:16
bb::avm2::testing::PublicInputsBuilder::with_public_app_logic_call_requests
PublicInputsBuilder & with_public_app_logic_call_requests(const std::array< PublicCallRequest, MAX_ENQUEUED_CALLS_PER_TX > &public_app_logic_call_requests)
Definition
public_inputs_builder.cpp:44
bb::avm2::testing::PublicInputsBuilder::rand_fee_payer
PublicInputsBuilder & rand_fee_payer()
Definition
public_inputs_builder.cpp:183
bb::avm2::testing::PublicInputsBuilder::set_reverted
PublicInputsBuilder & set_reverted(bool reverted)
Definition
public_inputs_builder.cpp:114
bb::avm2::testing::PublicInputsBuilder::set_end_gas_used
PublicInputsBuilder & set_end_gas_used(const Gas &end_gas_used)
Definition
public_inputs_builder.cpp:93
bb::avm2::testing::PublicInputsBuilder::build
PublicInputs build() const
Definition
public_inputs_builder.cpp:296
bb::avm2::testing::PublicInputsBuilder::rand_start_gas_used
PublicInputsBuilder & rand_start_gas_used()
Definition
public_inputs_builder.cpp:151
bb::avm2::testing::PublicInputsBuilder::set_accumulated_data
PublicInputsBuilder & set_accumulated_data(const AvmAccumulatedData &accumulated_data)
Definition
public_inputs_builder.cpp:104
bb::avm2::testing::PublicInputsBuilder::with_previous_revertible_accumulated_data
PublicInputsBuilder & with_previous_revertible_accumulated_data(const PrivateToAvmAccumulatedData &previous_revertible_accumulated_data)
Definition
public_inputs_builder.cpp:65
bb::avm2::testing::PublicInputsBuilder::public_inputs
PublicInputs public_inputs
Definition
public_inputs_builder.hpp:66
bb::avm2::testing::PublicInputsBuilder::with_previous_non_revertible_accumulated_data_array_lengths
PublicInputsBuilder & with_previous_non_revertible_accumulated_data_array_lengths(const PrivateToAvmAccumulatedDataArrayLengths &previous_non_revertible_accumulated_data_array_lengths)
Definition
public_inputs_builder.cpp:72
bb::avm2::testing::PublicInputsBuilder::set_accumulated_data_array_lengths
PublicInputsBuilder & set_accumulated_data_array_lengths(const AvmAccumulatedDataArrayLengths &accumulated_data_array_lengths)
Definition
public_inputs_builder.cpp:98
bb::avm2::testing::PublicInputsBuilder::with_start_gas_used
PublicInputsBuilder & with_start_gas_used(const Gas &gas)
Definition
public_inputs_builder.cpp:22
bb::avm2::testing::PublicInputsBuilder::rand_public_app_logic_call_requests
PublicInputsBuilder & rand_public_app_logic_call_requests(size_t n)
Definition
public_inputs_builder.cpp:267
bb::avm2::testing::PublicInputsBuilder::with_start_tree_snapshots
PublicInputsBuilder & with_start_tree_snapshots(const TreeSnapshots &start_tree_snapshots)
Definition
public_inputs_builder.cpp:17
bb::avm2::testing::PublicInputsBuilder::set_end_tree_snapshots
PublicInputsBuilder & set_end_tree_snapshots(const TreeSnapshots &end_tree_snapshots)
Definition
public_inputs_builder.cpp:88
bb::avm2::testing::PublicInputsBuilder::set_transaction_fee
PublicInputsBuilder & set_transaction_fee(const FF &transaction_fee)
Definition
public_inputs_builder.cpp:109
bb::avm2::testing::PublicInputsBuilder::with_gas_settings
PublicInputsBuilder & with_gas_settings(const GasSettings &gas_settings)
Definition
public_inputs_builder.cpp:27
bb::avm2::testing::PublicInputsBuilder::with_previous_non_revertible_accumulated_data
PublicInputsBuilder & with_previous_non_revertible_accumulated_data(const PrivateToAvmAccumulatedData &previous_non_revertible_accumulated_data)
Definition
public_inputs_builder.cpp:58
bb::avm2::testing::PublicInputsBuilder::with_global_variables
PublicInputsBuilder & with_global_variables(const GlobalVariables &globals)
Definition
public_inputs_builder.cpp:7
bb::avm2::testing::PublicInputsBuilder::rand_start_tree_snapshots
PublicInputsBuilder & rand_start_tree_snapshots()
Definition
public_inputs_builder.cpp:139
bb::avm2::testing::PublicInputsBuilder::rand_global_variables
PublicInputsBuilder & rand_global_variables()
Definition
public_inputs_builder.cpp:123
bb::avm2::testing::PublicInputsBuilder::rand_public_setup_call_requests
PublicInputsBuilder & rand_public_setup_call_requests(size_t n)
Definition
public_inputs_builder.cpp:253
bb::avm2::testing::PublicInputsBuilder::set_protocol_contracts
PublicInputsBuilder & set_protocol_contracts(const ProtocolContracts &protocol_contracts)
Definition
public_inputs_builder.cpp:12
bb::avm2::testing::PublicInputsBuilder::rand_previous_revertible_accumulated_data
PublicInputsBuilder & rand_previous_revertible_accumulated_data(size_t n)
Definition
public_inputs_builder.cpp:221
bb::avm2::testing::PublicInputsBuilder::with_previous_revertible_accumulated_data_array_lengths
PublicInputsBuilder & with_previous_revertible_accumulated_data_array_lengths(const PrivateToAvmAccumulatedDataArrayLengths &previous_revertible_accumulated_data_array_lengths)
Definition
public_inputs_builder.cpp:80
bb::avm2::testing::PublicInputsBuilder::with_public_setup_call_requests
PublicInputsBuilder & with_public_setup_call_requests(const std::array< PublicCallRequest, MAX_ENQUEUED_CALLS_PER_TX > &public_setup_call_requests)
Definition
public_inputs_builder.cpp:38
bb::avm2::testing::PublicInputsBuilder::rand_gas_settings
PublicInputsBuilder & rand_gas_settings()
Definition
public_inputs_builder.cpp:160
bb::avm2::testing::PublicInputsBuilder::rand_public_teardown_call_request
PublicInputsBuilder & rand_public_teardown_call_request()
Definition
public_inputs_builder.cpp:282
bb::avm2::testing::PublicInputsBuilder::PublicInputsBuilder
PublicInputsBuilder()
Definition
public_inputs_builder.hpp:18
bb::avm2::testing::PublicInputsBuilder::engine
numeric::RNG & engine
Definition
public_inputs_builder.hpp:67
bb::avm2::testing::PublicInputsBuilder::rand_previous_non_revertible_accumulated_data
PublicInputsBuilder & rand_previous_non_revertible_accumulated_data(size_t n)
Definition
public_inputs_builder.cpp:189
bb::avm2::testing::PublicInputsBuilder::with_fee_payer
PublicInputsBuilder & with_fee_payer(const AztecAddress &fee_payer)
Definition
public_inputs_builder.cpp:32
bb::avm2::testing::PublicInputsBuilder::with_public_teardown_call_request
PublicInputsBuilder & with_public_teardown_call_request(const PublicCallRequest &public_teardown_call_request)
Definition
public_inputs_builder.cpp:51
bb::numeric::RNG
Definition
engine.hpp:17
engine.hpp
bb::avm2::testing
Definition
fixtures.cpp:17
bb::avm2::AztecAddress
FF AztecAddress
Definition
aztec_types.hpp:12
bb::avm2::FF
AvmFlavorSettings::FF FF
Definition
field.hpp:10
bb::numeric::get_debug_randomness
RNG & get_debug_randomness(bool reset, std::uint_fast64_t seed)
Definition
engine.cpp:190
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
serialization.hpp
bb::avm2::AvmAccumulatedDataArrayLengths
Definition
aztec_types.hpp:223
bb::avm2::AvmAccumulatedData
Definition
aztec_types.hpp:258
bb::avm2::Gas
Definition
aztec_types.hpp:175
bb::avm2::GasSettings
Definition
aztec_types.hpp:187
bb::avm2::GlobalVariables
Definition
aztec_types.hpp:274
bb::avm2::PrivateToAvmAccumulatedDataArrayLengths
Definition
aztec_types.hpp:238
bb::avm2::PrivateToAvmAccumulatedData
Definition
aztec_types.hpp:248
bb::avm2::ProtocolContracts
Definition
aztec_types.hpp:394
bb::avm2::PublicCallRequest
Definition
aztec_types.hpp:202
bb::avm2::PublicInputs
Definition
avm_inputs.hpp:27
bb::avm2::TreeSnapshots
Definition
aztec_types.hpp:308
test_trace_container.hpp
trace_container.hpp
field.hpp
src
barretenberg
vm2
testing
public_inputs_builder.hpp
Generated by
1.9.8