CCF
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | List of all members
ccf::HashedTxHistory< T > Class Template Reference

#include <history.h>

Inherits ccf::kv::TxHistory.

Public Member Functions

 HashedTxHistory (ccf::kv::Store &store_, const NodeId &id_, ccf::crypto::KeyPair &node_kp_, size_t sig_tx_interval_=0, size_t sig_ms_interval_=0, bool signature_timer=false)
 
void set_service_signing_identity (std::shared_ptr< ccf::crypto::KeyPair_OpenSSL > service_kp_, const ccf::COSESignaturesConfig &cose_signatures_config_) override
 
const ccf::COSESignaturesConfigget_cose_signatures_config () override
 
void start_signature_emit_timer () override
 
 ~HashedTxHistory ()
 
void set_node_id (const NodeId &id_)
 
bool init_from_snapshot (const std::vector< uint8_t > &hash_at_snapshot) override
 
ccf::crypto::Sha256Hash get_replicated_state_root () override
 
std::tuple< ccf::kv::TxID, ccf::crypto::Sha256Hash, ccf::kv::Termget_replicated_state_txid_and_root () override
 
bool verify_root_signatures (ccf::kv::Version version) override
 
std::vector< uint8_t > serialise_tree (size_t to) override
 
void set_term (ccf::kv::Term t) override
 
void rollback (const ccf::kv::TxID &tx_id, ccf::kv::Term term_of_next_version_) override
 
void compact (ccf::kv::Version v) override
 
void try_emit_signature () override
 
void emit_signature () override
 
std::vector< uint8_t > get_proof (ccf::kv::Version index) override
 
bool verify_proof (const std::vector< uint8_t > &v) override
 
std::vector< uint8_t > get_raw_leaf (uint64_t index) override
 
void append (const std::vector< uint8_t > &data) override
 
void append_entry (const ccf::crypto::Sha256Hash &digest, std::optional< ccf::kv::Term > expected_term_of_next_version=std::nullopt) override
 
void set_endorsed_certificate (const ccf::crypto::Pem &cert) override
 
- Public Member Functions inherited from ccf::kv::TxHistory
virtual ~TxHistory ()
 
virtual void append_entry (const ccf::crypto::Sha256Hash &digest, std::optional< ccf::kv::Term > expected_term=std::nullopt)=0
 

Public Attributes

ccf::pal::Mutex signature_lock
 

Additional Inherited Members

- Public Types inherited from ccf::kv::TxHistory
enum class  Result { FAIL = 0 , OK , SEND_SIG_RECEIPT_ACK , SEND_REPLY_AND_NONCE }
 
using RequestID = std::tuple< size_t, size_t >
 

Constructor & Destructor Documentation

◆ HashedTxHistory()

template<class T >
ccf::HashedTxHistory< T >::HashedTxHistory ( ccf::kv::Store store_,
const NodeId id_,
ccf::crypto::KeyPair node_kp_,
size_t  sig_tx_interval_ = 0,
size_t  sig_ms_interval_ = 0,
bool  signature_timer = false 
)
inline

◆ ~HashedTxHistory()

template<class T >
ccf::HashedTxHistory< T >::~HashedTxHistory ( )
inline

Member Function Documentation

◆ append()

template<class T >
void ccf::HashedTxHistory< T >::append ( const std::vector< uint8_t > &  data)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ append_entry()

template<class T >
void ccf::HashedTxHistory< T >::append_entry ( const ccf::crypto::Sha256Hash digest,
std::optional< ccf::kv::Term expected_term_of_next_version = std::nullopt 
)
inlineoverride

◆ compact()

template<class T >
void ccf::HashedTxHistory< T >::compact ( ccf::kv::Version  v)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ emit_signature()

template<class T >
void ccf::HashedTxHistory< T >::emit_signature ( )
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ get_cose_signatures_config()

template<class T >
const ccf::COSESignaturesConfig & ccf::HashedTxHistory< T >::get_cose_signatures_config ( )
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ get_proof()

template<class T >
std::vector< uint8_t > ccf::HashedTxHistory< T >::get_proof ( ccf::kv::Version  index)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ get_raw_leaf()

template<class T >
std::vector< uint8_t > ccf::HashedTxHistory< T >::get_raw_leaf ( uint64_t  index)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ get_replicated_state_root()

template<class T >
ccf::crypto::Sha256Hash ccf::HashedTxHistory< T >::get_replicated_state_root ( )
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ get_replicated_state_txid_and_root()

template<class T >
std::tuple< ccf::kv::TxID, ccf::crypto::Sha256Hash, ccf::kv::Term > ccf::HashedTxHistory< T >::get_replicated_state_txid_and_root ( )
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ init_from_snapshot()

template<class T >
bool ccf::HashedTxHistory< T >::init_from_snapshot ( const std::vector< uint8_t > &  hash_at_snapshot)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ rollback()

template<class T >
void ccf::HashedTxHistory< T >::rollback ( const ccf::kv::TxID tx_id,
ccf::kv::Term  term_of_next_version_ 
)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ serialise_tree()

template<class T >
std::vector< uint8_t > ccf::HashedTxHistory< T >::serialise_tree ( size_t  to)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ set_endorsed_certificate()

template<class T >
void ccf::HashedTxHistory< T >::set_endorsed_certificate ( const ccf::crypto::Pem cert)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ set_node_id()

template<class T >
void ccf::HashedTxHistory< T >::set_node_id ( const NodeId id_)
inline

◆ set_service_signing_identity()

template<class T >
void ccf::HashedTxHistory< T >::set_service_signing_identity ( std::shared_ptr< ccf::crypto::KeyPair_OpenSSL service_kp_,
const ccf::COSESignaturesConfig cose_signatures_config_ 
)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ set_term()

template<class T >
void ccf::HashedTxHistory< T >::set_term ( ccf::kv::Term  t)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ start_signature_emit_timer()

template<class T >
void ccf::HashedTxHistory< T >::start_signature_emit_timer ( )
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ try_emit_signature()

template<class T >
void ccf::HashedTxHistory< T >::try_emit_signature ( )
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ verify_proof()

template<class T >
bool ccf::HashedTxHistory< T >::verify_proof ( const std::vector< uint8_t > &  v)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

◆ verify_root_signatures()

template<class T >
bool ccf::HashedTxHistory< T >::verify_root_signatures ( ccf::kv::Version  version)
inlineoverridevirtual

Implements ccf::kv::TxHistory.

Member Data Documentation

◆ signature_lock

template<class T >
ccf::pal::Mutex ccf::HashedTxHistory< T >::signature_lock

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