|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Holds the Merkle trees responsible for storing the state of the Aztec protocol. More...
#include <world_state.hpp>
Public Member Functions | |
| WorldState (uint64_t thread_pool_size, const std::string &data_dir, uint64_t map_size, const std::unordered_map< MerkleTreeId, uint32_t > &tree_heights, const std::unordered_map< MerkleTreeId, index_t > &tree_prefill, uint32_t initial_header_generator_point, uint64_t genesis_timestamp=0, bool ephemeral=false) | |
| WorldState (uint64_t thread_pool_size, const std::string &data_dir, const std::unordered_map< MerkleTreeId, uint64_t > &map_size, const std::unordered_map< MerkleTreeId, uint32_t > &tree_heights, const std::unordered_map< MerkleTreeId, index_t > &tree_prefill, uint32_t initial_header_generator_point, uint64_t genesis_timestamp=0, bool ephemeral=false) | |
| WorldState (uint64_t thread_pool_size, const std::string &data_dir, uint64_t map_size, const std::unordered_map< MerkleTreeId, uint32_t > &tree_heights, const std::unordered_map< MerkleTreeId, index_t > &tree_prefill, const std::vector< PublicDataLeafValue > &prefilled_public_data, const std::vector< bb::fr > &prefilled_nullifiers, uint32_t initial_header_generator_point, uint64_t genesis_timestamp=0, bool ephemeral=false) | |
| WorldState (uint64_t thread_pool_size, const std::string &data_dir, const std::unordered_map< MerkleTreeId, uint64_t > &map_size, const std::unordered_map< MerkleTreeId, uint32_t > &tree_heights, const std::unordered_map< MerkleTreeId, index_t > &tree_prefill, const std::vector< PublicDataLeafValue > &prefilled_public_data, const std::vector< bb::fr > &prefilled_nullifiers, uint32_t initial_header_generator_point, uint64_t genesis_timestamp=0, bool ephemeral=false) | |
| void | copy_stores (const std::string &dstPath, bool compact) const |
| Copies all underlying LMDB stores to the target directory while acquiring a write lock. | |
| crypto::merkle_tree::TreeMetaResponse | get_tree_info (const WorldStateRevision &revision, MerkleTreeId tree_id) const |
| Get tree metadata for a particular tree. | |
| StateReference | get_state_reference (const WorldStateRevision &revision) const |
| Gets the state reference for all the trees in the world state. | |
| StateReference | get_initial_state_reference () const |
| Gets the initial state reference for all the trees in the world state. | |
| crypto::merkle_tree::fr_sibling_path | get_sibling_path (const WorldStateRevision &revision, MerkleTreeId tree_id, index_t leaf_index) const |
| Get the sibling path object for a leaf in a tree. | |
| void | get_block_numbers_for_leaf_indices (const WorldStateRevision &revision, MerkleTreeId tree_id, const std::vector< index_t > &leafIndices, std::vector< std::optional< block_number_t > > &blockNumbers) const |
| template<typename T > | |
| std::optional< crypto::merkle_tree::IndexedLeaf< T > > | get_indexed_leaf (const WorldStateRevision &revision, MerkleTreeId tree_id, index_t leaf_index) const |
| Get the leaf preimage object. | |
| template<typename T > | |
| std::optional< T > | get_leaf (const WorldStateRevision &revision, MerkleTreeId tree_id, index_t leaf_index) const |
| Gets the value of a leaf in a tree. | |
| crypto::merkle_tree::GetLowIndexedLeafResponse | find_low_leaf_index (const WorldStateRevision &revision, MerkleTreeId tree_id, const bb::fr &leaf_key) const |
| Finds the leaf that would have its nextIdx/nextValue fields modified if the target leaf were to be inserted into the tree. If the value already exists in the tree, the leaf with the same value is returned. | |
| template<typename T > | |
| void | find_leaf_indices (const WorldStateRevision &revision, MerkleTreeId tree_id, const std::vector< T > &leaves, std::vector< std::optional< index_t > > &indices, index_t start_index=0) const |
| Finds the index of a leaf in a tree. | |
| template<typename T > | |
| void | find_sibling_paths (const WorldStateRevision &revision, MerkleTreeId tree_id, const std::vector< T > &leaves, std::vector< std::optional< SiblingPathAndIndex > > &paths) const |
| Finds the sibling paths of leaves in a tree. | |
| template<typename T > | |
| void | append_leaves (MerkleTreeId tree_id, const std::vector< T > &leaves, Fork::Id fork_id=CANONICAL_FORK_ID) |
| Appends a set of leaves to an existing Merkle Tree. | |
| template<typename T > | |
| BatchInsertionResult< T > | batch_insert_indexed_leaves (MerkleTreeId tree_id, const std::vector< T > &leaves, uint32_t subtree_depth, Fork::Id fork_id=CANONICAL_FORK_ID) |
| Batch inserts a set of leaves into an indexed Merkle Tree. | |
| template<typename T > | |
| SequentialInsertionResult< T > | insert_indexed_leaves (MerkleTreeId tree_id, const std::vector< T > &leaves, Fork::Id fork_id=CANONICAL_FORK_ID) |
| Inserts a set of leaves sequentially into an indexed Merkle Tree. | |
| void | update_public_data (const crypto::merkle_tree::PublicDataLeafValue &new_value, Fork::Id fork_id=CANONICAL_FORK_ID) |
| Updates a leaf in an existing Merkle Tree. | |
| void | update_archive (const StateReference &block_state_ref, const bb::fr &block_header_hash, Fork::Id fork_id=CANONICAL_FORK_ID) |
| Updates the archive tree with a new block. | |
| std::pair< bool, std::string > | commit (WorldStateStatusFull &status) |
| Commits the current state of the world state. | |
| void | rollback () |
| Rolls back any uncommitted changes made to the world state. | |
| uint64_t | create_fork (const std::optional< block_number_t > &blockNumber) |
| void | delete_fork (const uint64_t &forkId) |
| WorldStateStatusSummary | set_finalized_blocks (const block_number_t &toBlockNumber) |
| WorldStateStatusFull | unwind_blocks (const block_number_t &toBlockNumber) |
| WorldStateStatusFull | remove_historical_blocks (const block_number_t &toBlockNumber) |
| void | get_status_summary (WorldStateStatusSummary &status) const |
| WorldStateStatusFull | sync_block (const StateReference &block_state_ref, const bb::fr &block_header_hash, const std::vector< bb::fr > ¬es, const std::vector< bb::fr > &l1_to_l2_messages, const std::vector< crypto::merkle_tree::NullifierLeafValue > &nullifiers, const std::vector< crypto::merkle_tree::PublicDataLeafValue > &public_writes, const std::optional< bb::fr > &expected_archive_root=std::nullopt, const std::optional< bb::fr > &expected_previous_archive_root=std::nullopt) |
| uint32_t | checkpoint (const uint64_t &forkId) |
| void | commit_checkpoint (const uint64_t &forkId) |
| void | revert_checkpoint (const uint64_t &forkId) |
| void | commit_all_checkpoints_to (const uint64_t &forkId, uint32_t depth) |
| void | revert_all_checkpoints_to (const uint64_t &forkId, uint32_t depth) |
Private Member Functions | |
| TreeStateReference | get_tree_snapshot (MerkleTreeId id) |
| void | create_canonical_fork (const std::string &dataDir, const std::unordered_map< MerkleTreeId, uint64_t > &dbSize, const std::vector< PublicDataLeafValue > &prefilled_public_data, const std::vector< bb::fr > &prefilled_nullifiers, uint64_t maxReaders, bool ephemeral) |
| Fork::SharedPtr | retrieve_fork (const uint64_t &forkId) const |
| Fork::SharedPtr | create_new_fork (const block_number_t &blockNumber) |
| void | remove_forks_for_block (const block_number_t &blockNumber) |
| bool | unwind_block (const block_number_t &blockNumber, WorldStateStatusFull &status) |
| bool | remove_historical_block (const block_number_t &blockNumber, WorldStateStatusFull &status) |
| bool | set_finalized_block (const block_number_t &blockNumber) |
| void | get_all_tree_info (const WorldStateRevision &revision, std::array< TreeMeta, NUM_TREES > &responses) const |
| void | validate_trees_are_equally_synched () |
| WorldStateStatusFull | attempt_tree_resync () |
| bool | is_archive_tip (const WorldStateRevision &revision, const bb::fr &block_header_hash) const |
| bool | is_same_state_reference (const WorldStateRevision &revision, const StateReference &state_ref) const |
| template<typename TreeType > | |
| void | commit_tree (TreeDBStats &dbStats, Signal &signal, TreeType &tree, std::atomic_bool &success, std::string &message, TreeMeta &meta) |
| template<typename TreeType > | |
| void | unwind_tree (TreeDBStats &dbStats, Signal &signal, TreeType &tree, std::atomic_bool &success, std::string &message, TreeMeta &meta, const block_number_t &blockNumber) |
| template<typename TreeType > | |
| void | remove_historic_block_for_tree (TreeDBStats &dbStats, Signal &signal, TreeType &tree, std::atomic_bool &success, std::string &message, TreeMeta &meta, const block_number_t &blockNumber) |
Static Private Member Functions | |
| static bool | block_state_matches_world_state (const StateReference &block_state_ref, const StateReference &tree_state_ref) |
| static bb::fr | compute_initial_block_header_hash (const StateReference &initial_state_ref, uint32_t generator_point, uint64_t genesis_timestamp=0) |
| static StateReference | get_state_reference (const WorldStateRevision &revision, Fork::SharedPtr fork, bool initial_state=false) |
| static bool | determine_if_synched (std::array< TreeMeta, NUM_TREES > &metaResponses) |
| static void | get_status_summary_from_meta_responses (WorldStateStatusSummary &status, std::array< TreeMeta, NUM_TREES > &metaResponses) |
| static void | populate_status_summary (WorldStateStatusFull &status) |
Private Attributes | |
| std::shared_ptr< bb::ThreadPool > | _workers |
| WorldStateStores::Ptr | _persistentStores |
| std::unordered_map< MerkleTreeId, uint32_t > | _tree_heights |
| std::unordered_map< MerkleTreeId, index_t > | _initial_tree_size |
| std::mutex | mtx |
| std::unordered_map< uint64_t, Fork::SharedPtr > | _forks |
| uint64_t | _forkId = 0 |
| uint32_t | _initial_header_generator_point |
| uint64_t | _genesis_timestamp |
Holds the Merkle trees responsible for storing the state of the Aztec protocol.
Definition at line 59 of file world_state.hpp.
| bb::world_state::WorldState::WorldState | ( | uint64_t | thread_pool_size, |
| const std::string & | data_dir, | ||
| uint64_t | map_size, | ||
| const std::unordered_map< MerkleTreeId, uint32_t > & | tree_heights, | ||
| const std::unordered_map< MerkleTreeId, index_t > & | tree_prefill, | ||
| uint32_t | initial_header_generator_point, | ||
| uint64_t | genesis_timestamp = 0, |
||
| bool | ephemeral = false |
||
| ) |
Definition at line 111 of file world_state.cpp.
| bb::world_state::WorldState::WorldState | ( | uint64_t | thread_pool_size, |
| const std::string & | data_dir, | ||
| const std::unordered_map< MerkleTreeId, uint64_t > & | map_size, | ||
| const std::unordered_map< MerkleTreeId, uint32_t > & | tree_heights, | ||
| const std::unordered_map< MerkleTreeId, index_t > & | tree_prefill, | ||
| uint32_t | initial_header_generator_point, | ||
| uint64_t | genesis_timestamp = 0, |
||
| bool | ephemeral = false |
||
| ) |
Definition at line 63 of file world_state.cpp.
| bb::world_state::WorldState::WorldState | ( | uint64_t | thread_pool_size, |
| const std::string & | data_dir, | ||
| uint64_t | map_size, | ||
| const std::unordered_map< MerkleTreeId, uint32_t > & | tree_heights, | ||
| const std::unordered_map< MerkleTreeId, index_t > & | tree_prefill, | ||
| const std::vector< PublicDataLeafValue > & | prefilled_public_data, | ||
| const std::vector< bb::fr > & | prefilled_nullifiers, | ||
| uint32_t | initial_header_generator_point, | ||
| uint64_t | genesis_timestamp = 0, |
||
| bool | ephemeral = false |
||
| ) |
Definition at line 83 of file world_state.cpp.
| bb::world_state::WorldState::WorldState | ( | uint64_t | thread_pool_size, |
| const std::string & | data_dir, | ||
| const std::unordered_map< MerkleTreeId, uint64_t > & | map_size, | ||
| const std::unordered_map< MerkleTreeId, uint32_t > & | tree_heights, | ||
| const std::unordered_map< MerkleTreeId, index_t > & | tree_prefill, | ||
| const std::vector< PublicDataLeafValue > & | prefilled_public_data, | ||
| const std::vector< bb::fr > & | prefilled_nullifiers, | ||
| uint32_t | initial_header_generator_point, | ||
| uint64_t | genesis_timestamp = 0, |
||
| bool | ephemeral = false |
||
| ) |
| prefilled_nullifiers | Nullifier leaves to pre-insert into the genesis nullifier tree (e.g. the protocol contract registration nullifiers). Must be unique and strictly increasing in field value, and distinct from the padding leaves implied by the nullifier tree prefill size. |
| ephemeral | When true, every underlying LMDB env opens with MDB_NOSYNC | MDB_NOMETASYNC. Commits return without waiting for fsync; the kernel flushes lazily, files stay sparse. Intended for throwaway scratch state. A crash mid-write yields an unrecoverable env, so never enable on a node that needs to survive a restart. |
Definition at line 36 of file world_state.cpp.
| void bb::world_state::WorldState::append_leaves | ( | MerkleTreeId | tree_id, |
| const std::vector< T > & | leaves, | ||
| Fork::Id | fork_id = CANONICAL_FORK_ID |
||
| ) |
Appends a set of leaves to an existing Merkle Tree.
| T | The type of the leaves. |
| tree_id | The ID of the Merkle Tree. |
| leaves | The leaves to append. |
Definition at line 648 of file world_state.hpp.
|
private |
Definition at line 1275 of file world_state.cpp.
| BatchInsertionResult< T > bb::world_state::WorldState::batch_insert_indexed_leaves | ( | MerkleTreeId | tree_id, |
| const std::vector< T > & | leaves, | ||
| uint32_t | subtree_depth, | ||
| Fork::Id | fork_id = CANONICAL_FORK_ID |
||
| ) |
Batch inserts a set of leaves into an indexed Merkle Tree.
| T | The type of the leaves. |
| tree_id | The ID of the Merkle Tree. |
| leaves | The leaves to insert. |
Definition at line 691 of file world_state.hpp.
|
staticprivate |
| uint32_t bb::world_state::WorldState::checkpoint | ( | const uint64_t & | forkId | ) |
Definition at line 1136 of file world_state.cpp.
| std::pair< bool, std::string > bb::world_state::WorldState::commit | ( | WorldStateStatusFull & | status | ) |
Commits the current state of the world state.
Definition at line 552 of file world_state.cpp.
| void bb::world_state::WorldState::commit_all_checkpoints_to | ( | const uint64_t & | forkId, |
| uint32_t | depth | ||
| ) |
Definition at line 1219 of file world_state.cpp.
| void bb::world_state::WorldState::commit_checkpoint | ( | const uint64_t & | forkId | ) |
Definition at line 1165 of file world_state.cpp.
|
private |
Definition at line 401 of file world_state.hpp.
|
staticprivate |
Definition at line 1020 of file world_state.cpp.
| void bb::world_state::WorldState::copy_stores | ( | const std::string & | dstPath, |
| bool | compact | ||
| ) | const |
Copies all underlying LMDB stores to the target directory while acquiring a write lock.
| dstPath | Parent folder where trees will be copied |
| compact | Whether to compact stores when copying |
Definition at line 204 of file world_state.cpp.
|
private |
Definition at line 131 of file world_state.cpp.
| uint64_t bb::world_state::WorldState::create_fork | ( | const std::optional< block_number_t > & | blockNumber | ) |
Definition at line 225 of file world_state.cpp.
|
private |
Definition at line 276 of file world_state.cpp.
| void bb::world_state::WorldState::delete_fork | ( | const uint64_t & | forkId | ) |
Definition at line 262 of file world_state.cpp.
|
staticprivate |
Definition at line 1121 of file world_state.cpp.
| void bb::world_state::WorldState::find_leaf_indices | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id, | ||
| const std::vector< T > & | leaves, | ||
| std::vector< std::optional< index_t > > & | indices, | ||
| index_t | start_index = 0 |
||
| ) | const |
Finds the index of a leaf in a tree.
| revision | The revision to query |
| tree_id | The ID of the tree |
| leaves | The leaves to find |
| indices | The indices to be updated |
| start_index | The index to start searching from |
Definition at line 556 of file world_state.hpp.
| GetLowIndexedLeafResponse bb::world_state::WorldState::find_low_leaf_index | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id, | ||
| const bb::fr & | leaf_key | ||
| ) | const |
Finds the leaf that would have its nextIdx/nextValue fields modified if the target leaf were to be inserted into the tree. If the value already exists in the tree, the leaf with the same value is returned.
| revision | The revision to query |
| tree_id | The ID of the tree |
| leaf_key | The leaf to find the predecessor of |
Definition at line 748 of file world_state.cpp.
| void bb::world_state::WorldState::find_sibling_paths | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id, | ||
| const std::vector< T > & | leaves, | ||
| std::vector< std::optional< SiblingPathAndIndex > > & | paths | ||
| ) | const |
Finds the sibling paths of leaves in a tree.
| revision | The revision to query |
| tree_id | The ID of the tree |
| leaves | The leaves to find paths for |
| paths | The paths to be retrieved |
Definition at line 604 of file world_state.hpp.
|
private |
Definition at line 350 of file world_state.cpp.
| void bb::world_state::WorldState::get_block_numbers_for_leaf_indices | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id, | ||
| const std::vector< index_t > & | leafIndices, | ||
| std::vector< std::optional< block_number_t > > & | blockNumbers | ||
| ) | const |
Definition at line 494 of file world_state.cpp.
| std::optional< crypto::merkle_tree::IndexedLeaf< T > > bb::world_state::WorldState::get_indexed_leaf | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id, | ||
| index_t | leaf_index | ||
| ) | const |
Get the leaf preimage object.
| T | the type of the leaf. Either NullifierLeafValue, PublicDataLeafValue |
| revision | The revision to query |
| tree_id | The ID of the tree |
| leaf_index | The index of the leaf |
Definition at line 460 of file world_state.hpp.
| StateReference bb::world_state::WorldState::get_initial_state_reference | ( | ) | const |
Gets the initial state reference for all the trees in the world state.
Definition at line 399 of file world_state.cpp.
| std::optional< T > bb::world_state::WorldState::get_leaf | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id, | ||
| index_t | leaf_index | ||
| ) | const |
Gets the value of a leaf in a tree.
| T | the type of the leaf. Either bb::fr, NullifierLeafValue, PublicDataLeafValue |
| revision | The revision to query |
| tree_id | The ID of the tree |
| leaf_index | The index of the leaf |
Definition at line 496 of file world_state.hpp.
| fr_sibling_path bb::world_state::WorldState::get_sibling_path | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id, | ||
| index_t | leaf_index | ||
| ) | const |
Get the sibling path object for a leaf in a tree.
| revision | The revision to query |
| tree_id | The ID of the tree |
| leaf_index | The index of the leaf |
Definition at line 463 of file world_state.cpp.
| StateReference bb::world_state::WorldState::get_state_reference | ( | const WorldStateRevision & | revision | ) | const |
Gets the state reference for all the trees in the world state.
| revision | The revision to query |
Definition at line 394 of file world_state.cpp.
|
staticprivate |
Definition at line 406 of file world_state.cpp.
| void bb::world_state::WorldState::get_status_summary | ( | WorldStateStatusSummary & | status | ) | const |
Definition at line 1075 of file world_state.cpp.
|
staticprivate |
Definition at line 1083 of file world_state.cpp.
| TreeMetaResponse bb::world_state::WorldState::get_tree_info | ( | const WorldStateRevision & | revision, |
| MerkleTreeId | tree_id | ||
| ) | const |
Get tree metadata for a particular tree.
| revision | The revision to query |
| tree_id | The ID of the tree |
Definition at line 322 of file world_state.cpp.
|
private |
| SequentialInsertionResult< T > bb::world_state::WorldState::insert_indexed_leaves | ( | MerkleTreeId | tree_id, |
| const std::vector< T > & | leaves, | ||
| Fork::Id | fork_id = CANONICAL_FORK_ID |
||
| ) |
Inserts a set of leaves sequentially into an indexed Merkle Tree.
| T | The type of the leaves. |
| tree_id | The ID of the Merkle Tree. |
| leaves | The leaves to insert. |
Definition at line 732 of file world_state.hpp.
|
private |
Definition at line 1058 of file world_state.cpp.
|
private |
Definition at line 1105 of file world_state.cpp.
|
staticprivate |
Definition at line 1093 of file world_state.cpp.
|
private |
Definition at line 244 of file world_state.cpp.
|
private |
Definition at line 440 of file world_state.hpp.
|
private |
Definition at line 953 of file world_state.cpp.
| WorldStateStatusFull bb::world_state::WorldState::remove_historical_blocks | ( | const block_number_t & | toBlockNumber | ) |
Definition at line 831 of file world_state.cpp.
|
private |
Definition at line 216 of file world_state.cpp.
| void bb::world_state::WorldState::revert_all_checkpoints_to | ( | const uint64_t & | forkId, |
| uint32_t | depth | ||
| ) |
Definition at line 1247 of file world_state.cpp.
| void bb::world_state::WorldState::revert_checkpoint | ( | const uint64_t & | forkId | ) |
Definition at line 1192 of file world_state.cpp.
| void bb::world_state::WorldState::rollback | ( | ) |
Rolls back any uncommitted changes made to the world state.
Definition at line 597 of file world_state.cpp.
|
private |
Definition at line 860 of file world_state.cpp.
| WorldStateStatusSummary bb::world_state::WorldState::set_finalized_blocks | ( | const block_number_t & | toBlockNumber | ) |
Definition at line 786 of file world_state.cpp.
| WorldStateStatusFull bb::world_state::WorldState::sync_block | ( | const StateReference & | block_state_ref, |
| const bb::fr & | block_header_hash, | ||
| const std::vector< bb::fr > & | notes, | ||
| const std::vector< bb::fr > & | l1_to_l2_messages, | ||
| const std::vector< crypto::merkle_tree::NullifierLeafValue > & | nullifiers, | ||
| const std::vector< crypto::merkle_tree::PublicDataLeafValue > & | public_writes, | ||
| const std::optional< bb::fr > & | expected_archive_root = std::nullopt, |
||
| const std::optional< bb::fr > & | expected_previous_archive_root = std::nullopt |
||
| ) |
Definition at line 612 of file world_state.cpp.
|
private |
Definition at line 887 of file world_state.cpp.
| WorldStateStatusFull bb::world_state::WorldState::unwind_blocks | ( | const block_number_t & | toBlockNumber | ) |
Definition at line 794 of file world_state.cpp.
|
private |
Definition at line 420 of file world_state.hpp.
| void bb::world_state::WorldState::update_archive | ( | const StateReference & | block_state_ref, |
| const bb::fr & | block_header_hash, | ||
| Fork::Id | fork_id = CANONICAL_FORK_ID |
||
| ) |
Updates the archive tree with a new block.
| block_state_ref | The state reference of the block. |
| block_hash | The hash of the block. |
| fork_id | The fork ID to update. |
Definition at line 541 of file world_state.cpp.
| void bb::world_state::WorldState::update_public_data | ( | const crypto::merkle_tree::PublicDataLeafValue & | new_value, |
| Fork::Id | fork_id = CANONICAL_FORK_ID |
||
| ) |
Updates a leaf in an existing Merkle Tree.
| new_value | The new value of the leaf. |
Definition at line 526 of file world_state.cpp.
|
private |
Definition at line 1110 of file world_state.cpp.
|
private |
Definition at line 326 of file world_state.hpp.
|
private |
Definition at line 325 of file world_state.hpp.
|
private |
Definition at line 328 of file world_state.hpp.
|
private |
Definition at line 327 of file world_state.hpp.
|
private |
Definition at line 323 of file world_state.hpp.
|
private |
Definition at line 320 of file world_state.hpp.
|
private |
Definition at line 322 of file world_state.hpp.
|
private |
Definition at line 319 of file world_state.hpp.
|
mutableprivate |
Definition at line 324 of file world_state.hpp.