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
24
32
34 public:
35 virtual ~ExecutionInterface() = default;
36 // Returns the top-level execution result. TODO: This should only be top level enqueud calls
38};
39
40class RegisterValidationException : public std::runtime_error {
41 public:
42 RegisterValidationException(const std::string& message)
43 : std::runtime_error(message)
44 {}
45};
46
47class OpcodeExecutionException : public std::runtime_error {
48 public:
49 OpcodeExecutionException(const std::string& message)
50 : std::runtime_error(message)
51 {}
52};
53
54} // namespace bb::avm2::simulation
virtual EnqueuedCallResult execute(std::unique_ptr< ContextInterface > context)=0
OpcodeExecutionException(const std::string &message)
Definition execution.hpp:49
RegisterValidationException(const std::string &message)
Definition execution.hpp:42
AVM range check gadget for witness generation.
STL namespace.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
std::optional< std::string > halting_message
Definition execution.hpp:30