Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
execution.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <optional>
5#include <stdexcept>
6#include <string>
7#include <vector>
8
12
13namespace bb::avm2::simulation {
14
15// Forward declarations
16class ContextInterface;
17
22
24 public:
25 virtual ~ExecutionInterface() = default;
26 // Returns the top-level execution result. TODO: This should only be top level enqueud calls
28};
29
30class RegisterValidationException : public std::runtime_error {
31 public:
32 RegisterValidationException(const std::string& message)
33 : std::runtime_error(message)
34 {}
35};
36
37class OpcodeExecutionException : public std::runtime_error {
38 public:
39 OpcodeExecutionException(const std::string& message)
40 : std::runtime_error(message)
41 {}
42};
43
44} // namespace bb::avm2::simulation
virtual EnqueuedCallResult execute(std::unique_ptr< ContextInterface > context)=0
OpcodeExecutionException(const std::string &message)
Definition execution.hpp:39
RegisterValidationException(const std::string &message)
Definition execution.hpp:32
STL namespace.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13