Skip to content

sgns::account::TrustStartupController

#include <TrustStartupController.hpp>

Public Classes

Name
struct Event
struct RefreshDispatchState
struct RefreshTestHooks

Public Types

Name
enum class uint8_t State
enum class uint8_t EventCode
enum class uint8_t RefreshStage
enum class uint8_t RetryDisposition
using std::function< void(const Event &)> EventCallback
using std::function< void(State)> StateCallback

Public Functions

Name
const char * EventCodeName(EventCode code)
outcome::result< std::shared_ptr< TrustStartupController > > New(std::shared_ptr< sgns::securecrdt::SecureCrdt > secure_crdt, std::shared_ptr< sgns::trustedpeer::TrustStateStore > trust_store, std::optional< sgns::trustedpeer::GenesisManifest > diagnostic_manifest, std::string local_signer_address, sgns::trustedpeer::TrustedPeerRegistry::SignCallback sign_callback, EventCallback event_callback ={}, StateCallback state_callback ={}, std::shared_ptr< RefreshTestHooks > refresh_test_hooks ={})
~TrustStartupController()
outcome::result< void > Refresh()
outcome::result< void > ObserveReplicatedSnapshot(const std::optional< sgns::trustedpeer::ConfirmedTrustSnapshot > & replicated)
State GetState() const
bool CanApproveSuccessors() const
bool IsEconomicallyReady() const
std::vector< std::string > GetCurrentPeers() const
std::shared_ptr< sgns::trustedpeer::TrustedPeerRegistry > registry() const
std::shared_ptr< BurnConfig > burn_config() const

Public Types Documentation

enum State

Enumerator Value Description
FreshWaitingForGenesis 0
WaitingForInitialBurn
ConfirmedReady
FatalMismatch

enum EventCode

Enumerator Value Description
TRUST_CONFIG_CONFLICT 0
TRUST_NETWORK_MISMATCH
TRUST_LOCAL_STATE_CORRUPT
TRUST_CRDT_MISSING
TRUST_CRDT_ROLLBACK
TRUST_CRDT_FORK
TRUST_ACTIVATION_FAILED
TRUST_REFRESH_RETRY_SCHEDULED
TRUST_REFRESH_RETRY_EXHAUSTED

enum RefreshStage

Enumerator Value Description
DurableState 0
GenesisDiscovery
PolicyDiscovery
PolicyActivation
BurnDiscovery
BurnActivation
Publication

enum RetryDisposition

Enumerator Value Description
Success 0
Transient
Actionable
Fatal

using EventCallback

using sgns::account::TrustStartupController::EventCallback =  std::function<void( const Event & )>;

using StateCallback

using sgns::account::TrustStartupController::StateCallback =  std::function<void( State )>;

Public Functions Documentation

function EventCodeName

static const char * EventCodeName(
    EventCode code
)

function New

static outcome::result< std::shared_ptr< TrustStartupController > > New(
    std::shared_ptr< sgns::securecrdt::SecureCrdt > secure_crdt,
    std::shared_ptr< sgns::trustedpeer::TrustStateStore > trust_store,
    std::optional< sgns::trustedpeer::GenesisManifest > diagnostic_manifest,
    std::string local_signer_address,
    sgns::trustedpeer::TrustedPeerRegistry::SignCallback sign_callback,
    EventCallback event_callback ={},
    StateCallback state_callback ={},
    std::shared_ptr< RefreshTestHooks > refresh_test_hooks ={}
)

function ~TrustStartupController

~TrustStartupController()

function Refresh

outcome::result< void > Refresh()

function ObserveReplicatedSnapshot

outcome::result< void > ObserveReplicatedSnapshot(
    const std::optional< sgns::trustedpeer::ConfirmedTrustSnapshot > & replicated
)

function GetState

State GetState() const

function CanApproveSuccessors

bool CanApproveSuccessors() const

function IsEconomicallyReady

bool IsEconomicallyReady() const

function GetCurrentPeers

std::vector< std::string > GetCurrentPeers() const

function registry

std::shared_ptr< sgns::trustedpeer::TrustedPeerRegistry > registry() const

function burn_config

std::shared_ptr< BurnConfig > burn_config() const

Updated on 2026-09-25 at 15:46:10 +0000