BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
Public Types | Public Attributes | List of all members
graphene::chain::dynamic_global_property_object Class Reference

Maintains global state information (committee_member list, current fees) More...

#include <global_property_object.hpp>

Inheritance diagram for graphene::chain::dynamic_global_property_object:
graphene::db::abstract_object< dynamic_global_property_object, implementation_ids, impl_dynamic_global_property_object_type > graphene::db::base_abstract_object< dynamic_global_property_object > graphene::db::object

Public Types

enum  dynamic_flag_bits { maintenance_flag = 0x01 }

Public Attributes

uint32_t head_block_number = 0
block_id_type head_block_id
time_point_sec time
witness_id_type current_witness
time_point_sec next_maintenance_time
time_point_sec last_vote_tally_time
time_point_sec last_budget_time
share_type witness_budget
share_type total_pob
share_type total_inactive
uint32_t accounts_registered_this_interval = 0
uint32_t recently_missed_count = 0
uint64_t current_aslot = 0
fc::uint128_t recent_slots_filled
uint32_t dynamic_flags = 0
uint32_t last_irreversible_block_num = 0
- Public Attributes inherited from graphene::db::object
object_id_type id

Additional Inherited Members

- Public Member Functions inherited from graphene::db::abstract_object< dynamic_global_property_object, implementation_ids, impl_dynamic_global_property_object_type >
 abstract_object ()
object_id< SpaceID, TypeID > get_id () const
- Public Member Functions inherited from graphene::db::base_abstract_object< dynamic_global_property_object >
std::unique_ptr< objectclone () const override
void move_from (object &obj) override
fc::variant to_variant () const override
std::vector< char > pack () const override
 object ()=default
 object (uint8_t space_id, uint8_t type_id)
- Public Member Functions inherited from graphene::db::object
 object ()=default
 object (uint8_t space_id, uint8_t type_id)
virtual ~object ()=default
virtual std::unique_ptr< objectclone () const =0
virtual fc::variant to_variant () const =0
virtual std::vector< char > pack () const =0
- Static Public Attributes inherited from graphene::db::abstract_object< dynamic_global_property_object, implementation_ids, impl_dynamic_global_property_object_type >
static constexpr uint8_t space_id
static constexpr uint8_t type_id

Detailed Description

Maintains global state information (committee_member list, current fees)

This is an implementation detail. The values here are calculated during normal chain operations and reflect the current values of global blockchain properties.

Definition at line 62 of file global_property_object.hpp.

Member Enumeration Documentation

◆ dynamic_flag_bits


If maintenance_flag is set, then the head block is a maintenance block. This means get_time_slot(1) - head_block_time() will have a gap due to maintenance duration.

This flag answers the question, "Was maintenance performed in the last call to apply_block()?"

Definition at line 106 of file global_property_object.hpp.

Member Data Documentation

◆ accounts_registered_this_interval

uint32_t graphene::chain::dynamic_global_property_object::accounts_registered_this_interval = 0

Definition at line 76 of file global_property_object.hpp.

◆ current_aslot

uint64_t graphene::chain::dynamic_global_property_object::current_aslot = 0

The current absolute slot number. Equal to the total number of slots since genesis. Also equal to the total number of missed slots plus head_block_number.

Definition at line 91 of file global_property_object.hpp.

◆ current_witness

witness_id_type graphene::chain::dynamic_global_property_object::current_witness

Definition at line 69 of file global_property_object.hpp.

◆ dynamic_flags

uint32_t graphene::chain::dynamic_global_property_object::dynamic_flags = 0

dynamic_flags specifies chain state properties that can be expressed in one bit.

Definition at line 102 of file global_property_object.hpp.

◆ head_block_id

block_id_type graphene::chain::dynamic_global_property_object::head_block_id

Definition at line 67 of file global_property_object.hpp.

◆ head_block_number

uint32_t graphene::chain::dynamic_global_property_object::head_block_number = 0

Definition at line 66 of file global_property_object.hpp.

◆ last_budget_time

time_point_sec graphene::chain::dynamic_global_property_object::last_budget_time

Definition at line 72 of file global_property_object.hpp.

◆ last_irreversible_block_num

uint32_t graphene::chain::dynamic_global_property_object::last_irreversible_block_num = 0

Definition at line 104 of file global_property_object.hpp.

◆ last_vote_tally_time

time_point_sec graphene::chain::dynamic_global_property_object::last_vote_tally_time

Definition at line 71 of file global_property_object.hpp.

◆ next_maintenance_time

time_point_sec graphene::chain::dynamic_global_property_object::next_maintenance_time

Definition at line 70 of file global_property_object.hpp.

◆ recent_slots_filled

fc::uint128_t graphene::chain::dynamic_global_property_object::recent_slots_filled

used to compute witness participation.

Definition at line 96 of file global_property_object.hpp.

◆ recently_missed_count

uint32_t graphene::chain::dynamic_global_property_object::recently_missed_count = 0

Every time a block is missed this increases by RECENTLY_MISSED_COUNT_INCREMENT, every time a block is found it decreases by RECENTLY_MISSED_COUNT_DECREMENT. It is never less than 0.

Definition at line 84 of file global_property_object.hpp.

◆ time

time_point_sec graphene::chain::dynamic_global_property_object::time

Definition at line 68 of file global_property_object.hpp.

◆ total_inactive

share_type graphene::chain::dynamic_global_property_object::total_inactive

Definition at line 75 of file global_property_object.hpp.

◆ total_pob

share_type graphene::chain::dynamic_global_property_object::total_pob

Definition at line 74 of file global_property_object.hpp.

◆ witness_budget

share_type graphene::chain::dynamic_global_property_object::witness_budget

Definition at line 73 of file global_property_object.hpp.

The documentation for this class was generated from the following file: