Skip to content

sgns::trustedpeer::TrustStateStore

Synchronous, network-scoped last-known-good trust store. More...

#include <TrustStateStore.hpp>

Public Types

Name
enum class uint8_t Error
using std::pair< base::Buffer, base::Buffer > Write
using std::function< outcome::result< void >(storage::rocksdb &, const std::vector< Write > &)> BatchCommitter
using std::function< void()> LoadObserver

Public Functions

Name
outcome::result< std::shared_ptr< TrustStateStore > > Open(const std::string & path, uint16_t network_id, BatchCommitter committer ={}, LoadObserver load_observer ={})
outcome::result< ConfirmedTrustSnapshot > LoadAndVerify() const
outcome::result< ConfirmedTrustSnapshot > CommitGenesis(const GenesisManifest & manifest, const std::vector< uint8_t > & bootstrap_signature, const std::vector< uint8_t > & authorization_bytes ={})
outcome::result< ConfirmedTrustSnapshot > CommitPolicySuccessor(const QuorumPolicyState & candidate, const multisig::CollectedSignatures & proof, const std::vector< uint8_t > & authorization_bytes ={})
outcome::result< ConfirmedTrustSnapshot > CommitBurnSuccessor(const ConfirmedBurnState & candidate, const multisig::CollectedSignatures & proof, const std::vector< uint8_t > & authorization_bytes ={})

Detailed Description

class sgns::trustedpeer::TrustStateStore;

Synchronous, network-scoped last-known-good trust store.

A successful commit is the prerequisite for publishing the returned snapshot to any cache or observer. Corrupt/partial local state, process crashes, CRDT rollback/forks, and concurrent local candidates are detected while this database high-water mark remains intact.

A host administrator who restores this database and every local anchor to an older, internally valid snapshot is outside the software-only guarantee. Detecting that requires a TPM, OS-keystore monotonic counter, or off-host checkpoint.

Public Types Documentation

enum Error

Enumerator Value Description
NOT_FOUND 0
ALREADY_INITIALIZED
NETWORK_MISMATCH
CORRUPT_GENESIS
CORRUPT_FINGERPRINT
INVALID_GENESIS_PROOF
MISSING_POLICY_RECORD
MISSING_BURN_RECORD
CORRUPT_POLICY_RECORD
CORRUPT_BURN_RECORD
INVALID_POLICY_PROOF
INVALID_BURN_PROOF
VERSION_DECREASE
VERSION_SKIP
WRONG_PREDECESSOR
WRONG_AUTHORIZER
INITIAL_BURN_NOT_CONFIRMED
STALE_HEAD
COMMIT_FAILED

using Write

using sgns::trustedpeer::TrustStateStore::Write =  std::pair<base::Buffer, base::Buffer>;

using BatchCommitter

using sgns::trustedpeer::TrustStateStore::BatchCommitter =  std::function<outcome::result<void>( storage::rocksdb &, const std::vector<Write> & )>;

using LoadObserver

using sgns::trustedpeer::TrustStateStore::LoadObserver =  std::function<void()>;

Public Functions Documentation

function Open

static outcome::result< std::shared_ptr< TrustStateStore > > Open(
    const std::string & path,
    uint16_t network_id,
    BatchCommitter committer ={},
    LoadObserver load_observer ={}
)

function LoadAndVerify

outcome::result< ConfirmedTrustSnapshot > LoadAndVerify() const

function CommitGenesis

outcome::result< ConfirmedTrustSnapshot > CommitGenesis(
    const GenesisManifest & manifest,
    const std::vector< uint8_t > & bootstrap_signature,
    const std::vector< uint8_t > & authorization_bytes ={}
)

function CommitPolicySuccessor

outcome::result< ConfirmedTrustSnapshot > CommitPolicySuccessor(
    const QuorumPolicyState & candidate,
    const multisig::CollectedSignatures & proof,
    const std::vector< uint8_t > & authorization_bytes ={}
)

function CommitBurnSuccessor

outcome::result< ConfirmedTrustSnapshot > CommitBurnSuccessor(
    const ConfirmedBurnState & candidate,
    const multisig::CollectedSignatures & proof,
    const std::vector< uint8_t > & authorization_bytes ={}
)

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