Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
address_derivation_trace.cpp
Go to the documentation of this file.
2
3#include <memory>
4
13
14namespace bb::avm2::tracegen {
15
19{
20 using C = Column;
21
23
24 uint32_t row = 0;
25 for (const auto& event : events) {
26 trace.set(
27 row,
28 { { { C::address_derivation_sel, 1 },
29 { C::address_derivation_salt, event.instance.salt },
30 { C::address_derivation_deployer_addr, event.instance.deployer_addr },
31 { C::address_derivation_class_id, event.instance.original_class_id },
32 { C::address_derivation_init_hash, event.instance.initialisation_hash },
33 { C::address_derivation_nullifier_key_x, event.instance.public_keys.nullifier_key.x },
34 { C::address_derivation_nullifier_key_y, event.instance.public_keys.nullifier_key.y },
35 { C::address_derivation_incoming_viewing_key_x, event.instance.public_keys.incoming_viewing_key.x },
36 { C::address_derivation_incoming_viewing_key_y, event.instance.public_keys.incoming_viewing_key.y },
37 { C::address_derivation_outgoing_viewing_key_x, event.instance.public_keys.outgoing_viewing_key.x },
38 { C::address_derivation_outgoing_viewing_key_y, event.instance.public_keys.outgoing_viewing_key.y },
39 { C::address_derivation_tagging_key_x, event.instance.public_keys.tagging_key.x },
40 { C::address_derivation_tagging_key_y, event.instance.public_keys.tagging_key.y },
41 { C::address_derivation_address, event.address },
42 { C::address_derivation_salted_init_hash, event.salted_initialization_hash },
43 { C::address_derivation_partial_address_domain_separator, GENERATOR_INDEX__PARTIAL_ADDRESS },
44 { C::address_derivation_partial_address, event.partial_address },
45 { C::address_derivation_public_keys_hash, event.public_keys_hash },
46 { C::address_derivation_public_keys_hash_domain_separator, GENERATOR_INDEX__PUBLIC_KEYS_HASH },
47 { C::address_derivation_preaddress, event.preaddress },
48 { C::address_derivation_preaddress_domain_separator, GENERATOR_INDEX__CONTRACT_ADDRESS_V1 },
49 { C::address_derivation_preaddress_public_key_x, event.preaddress_public_key.x() },
50 { C::address_derivation_preaddress_public_key_y, event.preaddress_public_key.y() },
51 { C::address_derivation_g1_x, g1.x() },
52 { C::address_derivation_g1_y, g1.y() },
53 { C::address_derivation_address_y, event.address_point.y() } } });
54 row++;
55 }
56}
57
65 .add<lookup_address_derivation_public_keys_hash_poseidon2_0_settings, InteractionType::LookupSequential>()
67 .add<lookup_address_derivation_public_keys_hash_poseidon2_2_settings, InteractionType::LookupSequential>()
69 .add<lookup_address_derivation_public_keys_hash_poseidon2_4_settings, InteractionType::LookupSequential>()
71 .add<lookup_address_derivation_preaddress_scalar_mul_settings, InteractionType::LookupSequential>()
73
74} // namespace bb::avm2::tracegen
#define GENERATOR_INDEX__PUBLIC_KEYS_HASH
#define GENERATOR_INDEX__PARTIAL_ADDRESS
#define GENERATOR_INDEX__CONTRACT_ADDRESS_V1
void process(const simulation::EventEmitterInterface< simulation::AddressDerivationEvent >::Container &events, TraceContainer &trace)
InteractionDefinition & add(auto &&... args)
group class. Represents an elliptic curve group element. Group is parametrised by Fq and Fr
Definition group.hpp:36
TestTraceContainer trace
lookup_settings< lookup_address_derivation_address_ecadd_settings_ > lookup_address_derivation_address_ecadd_settings
lookup_settings< lookup_address_derivation_partial_address_poseidon2_settings_ > lookup_address_derivation_partial_address_poseidon2_settings
lookup_settings< lookup_address_derivation_preaddress_poseidon2_settings_ > lookup_address_derivation_preaddress_poseidon2_settings
lookup_settings< lookup_address_derivation_public_keys_hash_poseidon2_3_settings_ > lookup_address_derivation_public_keys_hash_poseidon2_3_settings
lookup_settings< lookup_address_derivation_salted_initialization_hash_poseidon2_0_settings_ > lookup_address_derivation_salted_initialization_hash_poseidon2_0_settings
lookup_settings< lookup_address_derivation_public_keys_hash_poseidon2_1_settings_ > lookup_address_derivation_public_keys_hash_poseidon2_1_settings
simulation::PublicDataTreeReadWriteEvent event