Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
class_id_derivation.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <unordered_set>
4
9
10namespace bb::avm2::simulation {
11
13 public:
14 virtual ~ClassIdDerivationInterface() = default;
15 virtual void assert_derivation(const ContractClassId& class_id, const ContractClass& klass) = 0;
16};
17
19 public:
24
25 void assert_derivation(const ContractClassId& class_id, const ContractClass& klass) override;
26
27 private:
30
31 // Cache for class ID derivations to avoid repeating derivations
32 std::unordered_set<ContractClassId> cached_derivations;
33};
34
35} // namespace bb::avm2::simulation
EventEmitterInterface< ClassIdDerivationEvent > & events
ClassIdDerivation(Poseidon2Interface &poseidon2, EventEmitterInterface< ClassIdDerivationEvent > &events)
void assert_derivation(const ContractClassId &class_id, const ContractClass &klass) override
std::unordered_set< ContractClassId > cached_derivations
virtual void assert_derivation(const ContractClassId &class_id, const ContractClass &klass)=0
FF ContractClassId