Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
world_state.hpp
Go to the documentation of this file.
1#pragma once
2
7#include <cstdint>
8#include <memory>
9#include <napi.h>
10
11namespace bb::nodejs {
12
16class WorldStateWrapper : public Napi::ObjectWrap<WorldStateWrapper> {
17 public:
18 WorldStateWrapper(const Napi::CallbackInfo&);
19
23 Napi::Value call(const Napi::CallbackInfo&);
24
29 Napi::Value getHandle(const Napi::CallbackInfo&);
30
34 static Napi::Function get_class(Napi::Env);
35
36 private:
37 std::unique_ptr<bb::world_state::WorldState> _ws;
39
40 bool get_tree_info(msgpack::object& obj, msgpack::sbuffer& buffer) const;
41 bool get_state_reference(msgpack::object& obj, msgpack::sbuffer& buffer) const;
42 bool get_initial_state_reference(msgpack::object& obj, msgpack::sbuffer& buffer) const;
43
44 bool get_leaf_value(msgpack::object& obj, msgpack::sbuffer& buffer) const;
45 bool get_leaf_preimage(msgpack::object& obj, msgpack::sbuffer& buffer) const;
46 bool get_sibling_path(msgpack::object& obj, msgpack::sbuffer& buffer) const;
47 bool get_block_numbers_for_leaf_indices(msgpack::object& obj, msgpack::sbuffer& buffer) const;
48
49 bool find_leaf_indices(msgpack::object& obj, msgpack::sbuffer& buffer) const;
50 bool find_low_leaf(msgpack::object& obj, msgpack::sbuffer& buffer) const;
51 bool find_sibling_paths(msgpack::object& obj, msgpack::sbuffer& buffer) const;
52
53 bool append_leaves(msgpack::object& obj, msgpack::sbuffer& buffer);
54 bool batch_insert(msgpack::object& obj, msgpack::sbuffer& buffer);
55 bool sequential_insert(msgpack::object& obj, msgpack::sbuffer& buffer);
56
57 bool update_archive(msgpack::object& obj, msgpack::sbuffer& buffer);
58
59 bool commit(msgpack::object& obj, msgpack::sbuffer& buffer);
60 bool rollback(msgpack::object& obj, msgpack::sbuffer& buffer);
61
62 bool sync_block(msgpack::object& obj, msgpack::sbuffer& buffer);
63
64 bool create_fork(msgpack::object& obj, msgpack::sbuffer& buffer);
65 bool delete_fork(msgpack::object& obj, msgpack::sbuffer& buffer);
66
67 bool close(msgpack::object& obj, msgpack::sbuffer& buffer);
68
69 bool set_finalized(msgpack::object& obj, msgpack::sbuffer& buffer) const;
70 bool unwind(msgpack::object& obj, msgpack::sbuffer& buffer) const;
71 bool remove_historical(msgpack::object& obj, msgpack::sbuffer& buffer) const;
72
73 bool get_status(msgpack::object& obj, msgpack::sbuffer& buffer) const;
74
75 bool checkpoint(msgpack::object& obj, msgpack::sbuffer& buffer);
76 bool commit_checkpoint(msgpack::object& obj, msgpack::sbuffer& buffer);
77 bool revert_checkpoint(msgpack::object& obj, msgpack::sbuffer& buffer);
78 bool commit_all_checkpoints(msgpack::object& obj, msgpack::sbuffer& buffer);
79 bool revert_all_checkpoints(msgpack::object& obj, msgpack::sbuffer& buffer);
80
81 bool copy_stores(msgpack::object& obj, msgpack::sbuffer& buffer);
82};
83
84} // namespace bb::nodejs
std::shared_ptr< Napi::ThreadSafeFunction > revert_checkpoint
std::shared_ptr< Napi::ThreadSafeFunction > commit_checkpoint
Manages the interaction between the JavaScript runtime and the WorldState class.
bool get_tree_info(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool get_initial_state_reference(msgpack::object &obj, msgpack::sbuffer &buffer) const
std::unique_ptr< bb::world_state::WorldState > _ws
bool find_low_leaf(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool get_leaf_value(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool update_archive(msgpack::object &obj, msgpack::sbuffer &buffer)
bool rollback(msgpack::object &obj, msgpack::sbuffer &buffer)
bool set_finalized(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool get_state_reference(msgpack::object &obj, msgpack::sbuffer &buffer) const
bb::messaging::MessageDispatcher _dispatcher
bool remove_historical(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool get_leaf_preimage(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool sequential_insert(msgpack::object &obj, msgpack::sbuffer &buffer)
bool get_block_numbers_for_leaf_indices(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool delete_fork(msgpack::object &obj, msgpack::sbuffer &buffer)
bool find_sibling_paths(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool sync_block(msgpack::object &obj, msgpack::sbuffer &buffer)
Napi::Value getHandle(const Napi::CallbackInfo &)
Get a NAPI External handle to the underlying WorldState pointer. This allows other NAPI functions to ...
bool close(msgpack::object &obj, msgpack::sbuffer &buffer)
bool create_fork(msgpack::object &obj, msgpack::sbuffer &buffer)
static Napi::Function get_class(Napi::Env)
Register the WorldStateAddon class with the JavaScript runtime.
bool append_leaves(msgpack::object &obj, msgpack::sbuffer &buffer)
bool commit_all_checkpoints(msgpack::object &obj, msgpack::sbuffer &buffer)
bool copy_stores(msgpack::object &obj, msgpack::sbuffer &buffer)
bool revert_all_checkpoints(msgpack::object &obj, msgpack::sbuffer &buffer)
bool find_leaf_indices(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool get_status(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool unwind(msgpack::object &obj, msgpack::sbuffer &buffer) const
bool checkpoint(msgpack::object &obj, msgpack::sbuffer &buffer)
bool batch_insert(msgpack::object &obj, msgpack::sbuffer &buffer)
bool get_sibling_path(msgpack::object &obj, msgpack::sbuffer &buffer) const
Napi::Value call(const Napi::CallbackInfo &)
The only instance method exposed to JavaScript. Takes a msgpack Message and returns a Promise.
bool commit(msgpack::object &obj, msgpack::sbuffer &buffer)
uint8_t buffer[RANDOM_BUFFER_SIZE]
Definition engine.cpp:34