Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions circuits/cpp/src/aztec3/circuits/abis/historic_block_data.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ template <typename NCT> struct HistoricBlockData {
using boolean = typename NCT::boolean;

// Private data
fr private_data_tree_root = 0;
fr note_hash_tree_root = 0;
fr nullifier_tree_root = 0;
fr contract_tree_root = 0;
fr l1_to_l2_messages_tree_root = 0;
Expand All @@ -34,7 +34,7 @@ template <typename NCT> struct HistoricBlockData {
fr global_variables_hash = 0;

// for serialization, update with new fields
MSGPACK_FIELDS(private_data_tree_root,
MSGPACK_FIELDS(note_hash_tree_root,
nullifier_tree_root,
contract_tree_root,
l1_to_l2_messages_tree_root,
Expand All @@ -45,8 +45,8 @@ template <typename NCT> struct HistoricBlockData {

boolean operator==(HistoricBlockData<NCT> const& other) const
{
return private_data_tree_root == other.private_data_tree_root &&
nullifier_tree_root == other.nullifier_tree_root && contract_tree_root == other.contract_tree_root &&
return note_hash_tree_root == other.note_hash_tree_root && nullifier_tree_root == other.nullifier_tree_root &&
contract_tree_root == other.contract_tree_root &&
l1_to_l2_messages_tree_root == other.l1_to_l2_messages_tree_root &&
blocks_tree_root == other.historic_block_root &&
private_kernel_vk_tree_root == other.private_kernel_vk_tree_root &&
Expand All @@ -58,7 +58,7 @@ template <typename NCT> struct HistoricBlockData {
{
static_assert((std::is_same<CircuitTypes<Builder>, NCT>::value));

private_data_tree_root.assert_is_zero();
note_hash_tree_root.assert_is_zero();
nullifier_tree_root.assert_is_zero();
contract_tree_root.assert_is_zero();
l1_to_l2_messages_tree_root.assert_is_zero();
Expand All @@ -76,7 +76,7 @@ template <typename NCT> struct HistoricBlockData {
auto to_ct = [&](auto& e) { return aztec3::utils::types::to_ct(builder, e); };

HistoricBlockData<CircuitTypes<Builder>> data = {
to_ct(private_data_tree_root), to_ct(nullifier_tree_root), to_ct(contract_tree_root),
to_ct(note_hash_tree_root), to_ct(nullifier_tree_root), to_ct(contract_tree_root),
to_ct(l1_to_l2_messages_tree_root), to_ct(blocks_tree_root), to_ct(private_kernel_vk_tree_root),
to_ct(public_data_tree_root), to_ct(global_variables_hash),
};
Expand All @@ -90,7 +90,7 @@ template <typename NCT> struct HistoricBlockData {
auto to_nt = [&](auto& e) { return aztec3::utils::types::to_nt<Builder>(e); };

HistoricBlockData<NativeTypes> data = {
to_nt(private_data_tree_root), to_nt(nullifier_tree_root), to_nt(contract_tree_root),
to_nt(note_hash_tree_root), to_nt(nullifier_tree_root), to_nt(contract_tree_root),
to_nt(l1_to_l2_messages_tree_root), to_nt(blocks_tree_root), to_nt(private_kernel_vk_tree_root),
to_nt(public_data_tree_root), to_nt(global_variables_hash),
};
Expand All @@ -102,7 +102,7 @@ template <typename NCT> struct HistoricBlockData {
{
static_assert(!(std::is_same<NativeTypes, NCT>::value));

private_data_tree_root.set_public();
note_hash_tree_root.set_public();
nullifier_tree_root.set_public();
contract_tree_root.set_public();
l1_to_l2_messages_tree_root.set_public();
Expand All @@ -114,7 +114,7 @@ template <typename NCT> struct HistoricBlockData {

std::array<fr, 7> to_array() const
{
return { private_data_tree_root,
return { note_hash_tree_root,
nullifier_tree_root,
contract_tree_root,
l1_to_l2_messages_tree_root,
Expand All @@ -128,7 +128,7 @@ template <typename NCT> struct HistoricBlockData {
fr hash()
{
return compute_block_hash(global_variables_hash,
private_data_tree_root,
note_hash_tree_root,
nullifier_tree_root,
contract_tree_root,
l1_to_l2_messages_tree_root,
Expand Down
6 changes: 3 additions & 3 deletions circuits/cpp/src/aztec3/circuits/abis/packers.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@ struct ConstantsPacker {
VK_TREE_HEIGHT,
FUNCTION_TREE_HEIGHT,
CONTRACT_TREE_HEIGHT,
PRIVATE_DATA_TREE_HEIGHT,
NOTE_HASH_TREE_HEIGHT,
PUBLIC_DATA_TREE_HEIGHT,
NULLIFIER_TREE_HEIGHT,
L1_TO_L2_MSG_TREE_HEIGHT,
ROLLUP_VK_TREE_HEIGHT,
CONTRACT_SUBTREE_HEIGHT,
CONTRACT_SUBTREE_SIBLING_PATH_LENGTH,
PRIVATE_DATA_SUBTREE_HEIGHT,
PRIVATE_DATA_SUBTREE_SIBLING_PATH_LENGTH,
NOTE_HASH_SUBTREE_HEIGHT,
NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH,
NULLIFIER_SUBTREE_HEIGHT,
HISTORIC_BLOCKS_TREE_HEIGHT,
NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ template <typename NCT> struct PrivateCallData {
MembershipWitness<NCT, FUNCTION_TREE_HEIGHT> function_leaf_membership_witness{};
MembershipWitness<NCT, CONTRACT_TREE_HEIGHT> contract_leaf_membership_witness{};

std::array<ReadRequestMembershipWitness<NCT, PRIVATE_DATA_TREE_HEIGHT>, MAX_READ_REQUESTS_PER_CALL>
std::array<ReadRequestMembershipWitness<NCT, NOTE_HASH_TREE_HEIGHT>, MAX_READ_REQUESTS_PER_CALL>
read_request_membership_witnesses{};

fr portal_contract_address = 0; // an ETH address
Expand Down Expand Up @@ -88,7 +88,7 @@ template <typename NCT> struct PrivateCallData {
to_circuit_type(function_leaf_membership_witness),
to_circuit_type(contract_leaf_membership_witness),

aztec3::utils::types::to_ct<Builder, ReadRequestMembershipWitness<CT, PRIVATE_DATA_TREE_HEIGHT>>(
aztec3::utils::types::to_ct<Builder, ReadRequestMembershipWitness<CT, NOTE_HASH_TREE_HEIGHT>>(
builder, read_request_membership_witnesses),

to_ct(portal_contract_address),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ template <typename NCT> struct BaseOrMergeRollupPublicInputs {
AggregationObject end_aggregation_object;
ConstantRollupData<NCT> constants;

AppendOnlyTreeSnapshot<NCT> start_private_data_tree_snapshot;
AppendOnlyTreeSnapshot<NCT> end_private_data_tree_snapshot;
AppendOnlyTreeSnapshot<NCT> start_note_hash_tree_snapshot;
AppendOnlyTreeSnapshot<NCT> end_note_hash_tree_snapshot;

AppendOnlyTreeSnapshot<NCT> start_nullifier_tree_snapshot;
AppendOnlyTreeSnapshot<NCT> end_nullifier_tree_snapshot;
Expand All @@ -44,8 +44,8 @@ template <typename NCT> struct BaseOrMergeRollupPublicInputs {
rollup_subtree_height,
end_aggregation_object,
constants,
start_private_data_tree_snapshot,
end_private_data_tree_snapshot,
start_note_hash_tree_snapshot,
end_note_hash_tree_snapshot,
start_nullifier_tree_snapshot,
end_nullifier_tree_snapshot,
start_contract_tree_snapshot,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ template <typename NCT> struct BaseRollupInputs {

std::array<PreviousKernelData<NCT>, KERNELS_PER_BASE_ROLLUP> kernel_data{};

AppendOnlyTreeSnapshot<NCT> start_private_data_tree_snapshot{};
AppendOnlyTreeSnapshot<NCT> start_note_hash_tree_snapshot{};
AppendOnlyTreeSnapshot<NCT> start_nullifier_tree_snapshot{};
AppendOnlyTreeSnapshot<NCT> start_contract_tree_snapshot{};
fr start_public_data_tree_root{};
Expand All @@ -29,7 +29,7 @@ template <typename NCT> struct BaseRollupInputs {

// For inserting the new subtrees into their respective trees:
// Note: the insertion leaf index can be derived from the above snapshots' `next_available_leaf_index` values.
std::array<fr, PRIVATE_DATA_SUBTREE_SIBLING_PATH_LENGTH> new_commitments_subtree_sibling_path{};
std::array<fr, NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH> new_commitments_subtree_sibling_path{};
std::array<fr, NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH> new_nullifiers_subtree_sibling_path{};
std::array<fr, CONTRACT_SUBTREE_SIBLING_PATH_LENGTH> new_contracts_subtree_sibling_path{};
std::array<std::array<fr, PUBLIC_DATA_TREE_HEIGHT>, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_BASE_ROLLUP>
Expand All @@ -44,7 +44,7 @@ template <typename NCT> struct BaseRollupInputs {

// for serialization, update with new fields
MSGPACK_FIELDS(kernel_data,
start_private_data_tree_snapshot,
start_note_hash_tree_snapshot,
start_nullifier_tree_snapshot,
start_contract_tree_snapshot,
start_public_data_tree_root,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ template <typename NCT> struct RootRollupPublicInputs {

GlobalVariables<NCT> global_variables{};

AppendOnlyTreeSnapshot<NCT> start_private_data_tree_snapshot{};
AppendOnlyTreeSnapshot<NCT> end_private_data_tree_snapshot{};
AppendOnlyTreeSnapshot<NCT> start_note_hash_tree_snapshot{};
AppendOnlyTreeSnapshot<NCT> end_note_hash_tree_snapshot{};

AppendOnlyTreeSnapshot<NCT> start_nullifier_tree_snapshot{};
AppendOnlyTreeSnapshot<NCT> end_nullifier_tree_snapshot{};
Expand All @@ -31,8 +31,8 @@ template <typename NCT> struct RootRollupPublicInputs {
fr start_public_data_tree_root{};
fr end_public_data_tree_root{};

AppendOnlyTreeSnapshot<NCT> start_tree_of_historic_private_data_tree_roots_snapshot{};
AppendOnlyTreeSnapshot<NCT> end_tree_of_historic_private_data_tree_roots_snapshot{};
AppendOnlyTreeSnapshot<NCT> start_tree_of_historic_note_hash_tree_roots_snapshot{};
AppendOnlyTreeSnapshot<NCT> end_tree_of_historic_note_hash_tree_roots_snapshot{};

AppendOnlyTreeSnapshot<NCT> start_tree_of_historic_contract_tree_roots_snapshot{};
AppendOnlyTreeSnapshot<NCT> end_tree_of_historic_contract_tree_roots_snapshot{};
Expand All @@ -52,16 +52,16 @@ template <typename NCT> struct RootRollupPublicInputs {
// For serialization, update with new fields
MSGPACK_FIELDS(end_aggregation_object,
global_variables,
start_private_data_tree_snapshot,
end_private_data_tree_snapshot,
start_note_hash_tree_snapshot,
end_note_hash_tree_snapshot,
start_nullifier_tree_snapshot,
end_nullifier_tree_snapshot,
start_contract_tree_snapshot,
end_contract_tree_snapshot,
start_public_data_tree_root,
end_public_data_tree_root,
start_tree_of_historic_private_data_tree_roots_snapshot,
end_tree_of_historic_private_data_tree_roots_snapshot,
start_tree_of_historic_note_hash_tree_roots_snapshot,
end_tree_of_historic_note_hash_tree_roots_snapshot,
start_tree_of_historic_contract_tree_roots_snapshot,
end_tree_of_historic_contract_tree_roots_snapshot,
start_l1_to_l2_messages_tree_snapshot,
Expand All @@ -80,19 +80,19 @@ template <typename NCT> struct RootRollupPublicInputs {
std::vector<uint8_t> buf;

write(&buf, global_variables);
write(buf, start_private_data_tree_snapshot);
write(buf, start_note_hash_tree_snapshot);
write(buf, start_nullifier_tree_snapshot);
write(buf, start_contract_tree_snapshot);
write(buf, start_tree_of_historic_private_data_tree_roots_snapshot);
write(buf, start_tree_of_historic_note_hash_tree_roots_snapshot);
write(buf, start_tree_of_historic_contract_tree_roots_snapshot);
write(buf, start_public_data_tree_root);
write(buf, start_l1_to_l2_messages_tree_snapshot);
write(buf, start_tree_of_historic_l1_to_l2_messages_tree_roots_snapshot);
write(buf, start_historic_blocks_tree_snapshot);
write(buf, end_private_data_tree_snapshot);
write(buf, end_note_hash_tree_snapshot);
write(buf, end_nullifier_tree_snapshot);
write(buf, end_contract_tree_snapshot);
write(buf, end_tree_of_historic_private_data_tree_roots_snapshot);
write(buf, end_tree_of_historic_note_hash_tree_roots_snapshot);
write(buf, end_tree_of_historic_contract_tree_roots_snapshot);
write(buf, end_public_data_tree_root);
write(buf, end_l1_to_l2_messages_tree_snapshot);
Expand Down
4 changes: 2 additions & 2 deletions circuits/cpp/src/aztec3/circuits/apps/opcodes/opcodes.tpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Note Opcodes<Builder>::UTXO_SLOAD(UTXOStateVar<Builder, Note>* utxo_state_var,

// TODO within this function:
// - Merkle Membership Check using the contract_address, utxo_datum.{sibling_path, leaf_index,
// historic_private_data_tree_root}
// historic_note_hash_tree_root}

return new_note;
};
Expand Down Expand Up @@ -95,7 +95,7 @@ std::vector<Note> Opcodes<Builder>::UTXO_SLOAD(UTXOSetStateVar<Builder, Note>* u

// TODO within this function:
// - Merkle Membership Check using the contract_address, utxo_datum.{sibling_path, leaf_index,
// historic_private_data_tree_root}
// historic_note_hash_tree_root}

new_notes.push_back(new_note);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ OptionalPrivateCircuitPublicInputs<NT> transfer(FunctionExecutionContext& exec_c
{ amount, to.to_field(), asset_id, memo, CT::fr(reveal_msg_sender_to_recipient), fee });

/// TODO: merkle membership check
// public_inputs.historic_private_data_tree_root
// public_inputs.historic_note_hash_tree_root

exec_ctx.finalize();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ OptionalPrivateCircuitPublicInputs<NT> withdraw(FunctionExecutionContext& exec_c
exec_ctx.finalize();

/// TODO: merkle membership check
// public_inputs.historic_private_data_tree_root
// public_inputs.historic_note_hash_tree_root

// info("public inputs: ", public_inputs);

Expand Down
4 changes: 2 additions & 2 deletions circuits/cpp/src/aztec3/circuits/apps/utxo_datum.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ template <typename NCT, typename NotePreimage> struct UTXOSLoadDatum {

std::vector<fr> sibling_path;
uint32 leaf_index;
fr historic_private_data_tree_root = 0;
fr historic_note_hash_tree_root = 0;

template <typename Builder> auto to_circuit_type(Builder& builder) const
{
Expand All @@ -39,7 +39,7 @@ template <typename NCT, typename NotePreimage> struct UTXOSLoadDatum {

UTXOSLoadDatum<CircuitTypes<Builder>, decltype(preimage_ct)> datum = {
to_ct(commitment), to_ct(contract_address), preimage_ct,
to_ct(sibling_path), to_ct(leaf_index), to_ct(historic_private_data_tree_root),
to_ct(sibling_path), to_ct(leaf_index), to_ct(historic_note_hash_tree_root),
};

return datum;
Expand Down
8 changes: 4 additions & 4 deletions circuits/cpp/src/aztec3/circuits/hash.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ typename NCT::fr silo_nullifier(typename NCT::address const& contract_address, t


template <typename NCT> typename NCT::fr compute_block_hash(typename NCT::fr const& globals_hash,
typename NCT::fr const& private_data_tree_root,
typename NCT::fr const& note_hash_tree_root,
typename NCT::fr const& nullifier_tree_root,
typename NCT::fr const& contract_tree_root,
typename NCT::fr const& l1_to_l2_data_tree_root,
Expand All @@ -136,7 +136,7 @@ template <typename NCT> typename NCT::fr compute_block_hash(typename NCT::fr con
using fr = typename NCT::fr;

std::vector<fr> const inputs = {
globals_hash, private_data_tree_root, nullifier_tree_root,
globals_hash, note_hash_tree_root, nullifier_tree_root,
contract_tree_root, l1_to_l2_data_tree_root, public_data_tree_root,
};

Expand All @@ -145,7 +145,7 @@ template <typename NCT> typename NCT::fr compute_block_hash(typename NCT::fr con

template <typename NCT>
typename NCT::fr compute_block_hash_with_globals(abis::GlobalVariables<NCT> const& globals,
typename NCT::fr const& private_data_tree_root,
typename NCT::fr const& note_hash_tree_root,
typename NCT::fr const& nullifier_tree_root,
typename NCT::fr const& contract_tree_root,
typename NCT::fr const& l1_to_l2_data_tree_root,
Expand All @@ -154,7 +154,7 @@ typename NCT::fr compute_block_hash_with_globals(abis::GlobalVariables<NCT> cons
using fr = typename NCT::fr;

std::vector<fr> const inputs = {
globals.hash(), private_data_tree_root, nullifier_tree_root,
globals.hash(), note_hash_tree_root, nullifier_tree_root,
contract_tree_root, l1_to_l2_data_tree_root, public_data_tree_root,
};

Expand Down
Loading