Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
address_derivation.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <unordered_set>
4
10
11namespace bb::avm2::simulation {
12
14 public:
15 virtual ~AddressDerivationInterface() = default;
16 virtual void assert_derivation(const AztecAddress& address, const ContractInstance& instance) = 0;
17};
18
20 public:
28
29 void assert_derivation(const AztecAddress& address, const ContractInstance& instance) override;
30
31 private:
35
36 // Cache for address derivations to avoid repeating derivations
37 std::unordered_set<AztecAddress> cached_derivations;
38};
39
40} // namespace bb::avm2::simulation
AddressDerivation(Poseidon2Interface &poseidon2, EccInterface &ecc, EventEmitterInterface< AddressDerivationEvent > &events)
std::unordered_set< AztecAddress > cached_derivations
void assert_derivation(const AztecAddress &address, const ContractInstance &instance) override
EventEmitterInterface< AddressDerivationEvent > & events
virtual void assert_derivation(const AztecAddress &address, const ContractInstance &instance)=0