sgns::blockchain::ValidatorRegistry
#include <ValidatorRegistry.hpp>
Inherits from std::enable_shared_from_this< ValidatorRegistry >
Public Classes
Public Types
Public Functions
Protected Functions
Friends
Public Types Documentation
using ValidatorEntry
using sgns::blockchain::ValidatorRegistry::ValidatorEntry = validator::ValidatorEntry;
using Registry
using sgns::blockchain::ValidatorRegistry::Registry = validator::Registry;
using SignatureEntry
using sgns::blockchain::ValidatorRegistry::SignatureEntry = validator::SignatureEntry;
using RegistryUpdate
using sgns::blockchain::ValidatorRegistry::RegistryUpdate = validator::RegistryUpdate;
using Role
using sgns::blockchain::ValidatorRegistry::Role = validator::Role;
using Status
using sgns::blockchain::ValidatorRegistry::Status = validator::Status;
using InitCallback
using sgns::blockchain::ValidatorRegistry::InitCallback = std::function<void( bool )>;
using BlockRequestMethod
using sgns::blockchain::ValidatorRegistry::BlockRequestMethod =
std::function<void( const std::string &, std::function<void( outcome::result<std::string> )> )>;
Public Functions Documentation
function New
static std::shared_ptr< ValidatorRegistry > New(
std::shared_ptr< crdt::GlobalDB > db,
uint64_t quorum_numerator,
uint64_t quorum_denominator,
WeightConfig weight_config,
std::string genesis_authority,
BlockRequestMethod block_request_method,
InitCallback init_callback =nullptr
)
function RegistryKey
static inline std::string_view RegistryKey()
function ValidatorTopic
static inline std::string_view ValidatorTopic()
function RegistryCidKey
static inline std::string_view RegistryCidKey()
function ComputeWeight
uint64_t ComputeWeight(
Role role
) const
function TotalWeight
uint64_t TotalWeight(
const Registry & registry
) const
function QuorumThreshold
uint64_t QuorumThreshold(
uint64_t total_weight
) const
function IsQuorum
bool IsQuorum(
uint64_t accumulated_weight,
uint64_t total_weight
) const
function CreateGenesisRegistry
Registry CreateGenesisRegistry(
const std::string & genesis_validator_id
) const
function StoreGenesisRegistry
outcome::result< void > StoreGenesisRegistry(
const std::string & genesis_validator_id,
std::function< std::vector< uint8_t >(std::vector< uint8_t >)> sign
)
function LoadRegistry
outcome::result< Registry > LoadRegistry() const
function LoadRegistryUpdate
outcome::result< RegistryUpdate > LoadRegistryUpdate() const
function RegisterFilter
function SerializeRegistry
outcome::result< std::vector< uint8_t > > SerializeRegistry(
const Registry & registry
) const
function DeserializeRegistry
outcome::result< Registry > DeserializeRegistry(
const std::vector< uint8_t > & buffer
) const
function SerializeRegistryUpdate
outcome::result< std::vector< uint8_t > > SerializeRegistryUpdate(
const RegistryUpdate & update
) const
function DeserializeRegistryUpdate
outcome::result< RegistryUpdate > DeserializeRegistryUpdate(
const std::vector< uint8_t > & buffer
) const
Protected Functions Documentation
function MigrateCids
static outcome::result< void > MigrateCids(
const std::shared_ptr< crdt::GlobalDB > & old_db,
const std::shared_ptr< crdt::GlobalDB > & new_db
)
Friends
friend sgns::Migration3_5_1To3_6_0
friend class sgns::Migration3_5_1To3_6_0(
sgns::Migration3_5_1To3_6_0
);
Updated on 2026-03-04 at 13:10:43 -0800