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
&
with_start_tree_snapshots
(
const
TreeSnapshots
& start_tree_snapshots);
24
PublicInputsBuilder
&
with_start_gas_used
(
const
Gas
&
gas
);
25
PublicInputsBuilder
&
with_gas_settings
(
const
GasSettings
& gas_settings);
26
PublicInputsBuilder
&
with_fee_payer
(
const
AztecAddress
& fee_payer);
27
PublicInputsBuilder
&
with_public_setup_call_requests
(
28
const
std::array<PublicCallRequest, MAX_ENQUEUED_CALLS_PER_TX>
& public_setup_call_requests);
29
PublicInputsBuilder
&
with_public_app_logic_call_requests
(
30
const
std::array<PublicCallRequest, MAX_ENQUEUED_CALLS_PER_TX>
& public_app_logic_call_requests);
31
PublicInputsBuilder
&
with_public_teardown_call_request
(
const
PublicCallRequest
& public_teardown_call_request);
32
PublicInputsBuilder
&
with_previous_non_revertible_accumulated_data
(
33
const
PrivateToAvmAccumulatedData
& previous_non_revertible_accumulated_data);
34
PublicInputsBuilder
&
with_previous_revertible_accumulated_data
(
35
const
PrivateToAvmAccumulatedData
& previous_revertible_accumulated_data);
36
PublicInputsBuilder
&
with_previous_non_revertible_accumulated_data_array_lengths
(
37
const
PrivateToAvmAccumulatedDataArrayLengths
& previous_non_revertible_accumulated_data_array_lengths);
38
PublicInputsBuilder
&
with_previous_revertible_accumulated_data_array_lengths
(
39
const
PrivateToAvmAccumulatedDataArrayLengths
& previous_revertible_accumulated_data_array_lengths);
40
41
// Outputs
42
PublicInputsBuilder
&
set_end_tree_snapshots
(
const
TreeSnapshots
& end_tree_snapshots);
43
PublicInputsBuilder
&
set_end_gas_used
(
const
Gas
& end_gas_used);
44
PublicInputsBuilder
&
set_accumulated_data_array_lengths
(
45
const
AvmAccumulatedDataArrayLengths
& accumulated_data_array_lengths);
46
PublicInputsBuilder
&
set_accumulated_data
(
const
AvmAccumulatedData
& accumulated_data);
47
PublicInputsBuilder
&
set_transaction_fee
(
const
FF
& transaction_fee);
48
PublicInputsBuilder
&
set_reverted
(
bool
reverted);
49
50
PublicInputsBuilder
&
rand_global_variables
();
51
PublicInputsBuilder
&
rand_start_tree_snapshots
();
52
PublicInputsBuilder
&
rand_start_gas_used
();
53
PublicInputsBuilder
&
rand_gas_settings
();
54
PublicInputsBuilder
&
rand_fee_payer
();
55
PublicInputsBuilder
&
rand_previous_non_revertible_accumulated_data
(
size_t
n);
56
PublicInputsBuilder
&
rand_previous_revertible_accumulated_data
(
size_t
n);
57
58
PublicInputsBuilder
&
rand_public_setup_call_requests
(
size_t
n);
59
PublicInputsBuilder
&
rand_public_app_logic_call_requests
(
size_t
n);
60
PublicInputsBuilder
&
rand_public_teardown_call_request
();
61
62
PublicInputs
build
()
const
;
63
64
private
:
65
PublicInputs
public_inputs
= {};
66
numeric::RNG
&
engine
;
67
};
68
69
}
// 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:39
bb::avm2::testing::PublicInputsBuilder::rand_fee_payer
PublicInputsBuilder & rand_fee_payer()
Definition
public_inputs_builder.cpp:178
bb::avm2::testing::PublicInputsBuilder::set_reverted
PublicInputsBuilder & set_reverted(bool reverted)
Definition
public_inputs_builder.cpp:109
bb::avm2::testing::PublicInputsBuilder::set_end_gas_used
PublicInputsBuilder & set_end_gas_used(const Gas &end_gas_used)
Definition
public_inputs_builder.cpp:88
bb::avm2::testing::PublicInputsBuilder::build
PublicInputs build() const
Definition
public_inputs_builder.cpp:291
bb::avm2::testing::PublicInputsBuilder::rand_start_gas_used
PublicInputsBuilder & rand_start_gas_used()
Definition
public_inputs_builder.cpp:146
bb::avm2::testing::PublicInputsBuilder::set_accumulated_data
PublicInputsBuilder & set_accumulated_data(const AvmAccumulatedData &accumulated_data)
Definition
public_inputs_builder.cpp:99
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:60
bb::avm2::testing::PublicInputsBuilder::public_inputs
PublicInputs public_inputs
Definition
public_inputs_builder.hpp:65
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:67
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:93
bb::avm2::testing::PublicInputsBuilder::with_start_gas_used
PublicInputsBuilder & with_start_gas_used(const Gas &gas)
Definition
public_inputs_builder.cpp:17
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:262
bb::avm2::testing::PublicInputsBuilder::with_start_tree_snapshots
PublicInputsBuilder & with_start_tree_snapshots(const TreeSnapshots &start_tree_snapshots)
Definition
public_inputs_builder.cpp:12
bb::avm2::testing::PublicInputsBuilder::set_end_tree_snapshots
PublicInputsBuilder & set_end_tree_snapshots(const TreeSnapshots &end_tree_snapshots)
Definition
public_inputs_builder.cpp:83
bb::avm2::testing::PublicInputsBuilder::set_transaction_fee
PublicInputsBuilder & set_transaction_fee(const FF &transaction_fee)
Definition
public_inputs_builder.cpp:104
bb::avm2::testing::PublicInputsBuilder::with_gas_settings
PublicInputsBuilder & with_gas_settings(const GasSettings &gas_settings)
Definition
public_inputs_builder.cpp:22
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:53
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:134
bb::avm2::testing::PublicInputsBuilder::rand_global_variables
PublicInputsBuilder & rand_global_variables()
Definition
public_inputs_builder.cpp:118
bb::avm2::testing::PublicInputsBuilder::rand_public_setup_call_requests
PublicInputsBuilder & rand_public_setup_call_requests(size_t n)
Definition
public_inputs_builder.cpp:248
bb::avm2::testing::PublicInputsBuilder::rand_previous_revertible_accumulated_data
PublicInputsBuilder & rand_previous_revertible_accumulated_data(size_t n)
Definition
public_inputs_builder.cpp:216
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:75
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:33
bb::avm2::testing::PublicInputsBuilder::rand_gas_settings
PublicInputsBuilder & rand_gas_settings()
Definition
public_inputs_builder.cpp:155
bb::avm2::testing::PublicInputsBuilder::rand_public_teardown_call_request
PublicInputsBuilder & rand_public_teardown_call_request()
Definition
public_inputs_builder.cpp:277
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:66
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:184
bb::avm2::testing::PublicInputsBuilder::with_fee_payer
PublicInputsBuilder & with_fee_payer(const AztecAddress &fee_payer)
Definition
public_inputs_builder.cpp:27
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:46
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:11
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:202
bb::avm2::AvmAccumulatedData
Definition
aztec_types.hpp:238
bb::avm2::Gas
Definition
aztec_types.hpp:154
bb::avm2::GasSettings
Definition
aztec_types.hpp:166
bb::avm2::GlobalVariables
Definition
aztec_types.hpp:254
bb::avm2::PrivateToAvmAccumulatedDataArrayLengths
Definition
aztec_types.hpp:218
bb::avm2::PrivateToAvmAccumulatedData
Definition
aztec_types.hpp:228
bb::avm2::PublicCallRequest
Definition
aztec_types.hpp:181
bb::avm2::PublicInputs
Definition
avm_inputs.hpp:27
bb::avm2::TreeSnapshots
Definition
aztec_types.hpp:288
test_trace_container.hpp
trace_container.hpp
field.hpp
src
barretenberg
vm2
testing
public_inputs_builder.hpp
Generated by
1.9.8