17 struct NetworkIdentity;
34 using TrustedKeys = std::map<ccf::SeqNo, ccf::crypto::ECPublicKeyPtr>;
44 [[nodiscard]]
const char*
what() const noexcept
override
59 return "NetworkIdentity";
63 virtual const std::unique_ptr<NetworkIdentity>&
get() = 0;
74 [[nodiscard]]
virtual std::optional<CoseEndorsementsChain>
Definition node_subsystem_interface.h:8
Definition network_identity_interface.h:53
virtual const std::unique_ptr< NetworkIdentity > & get()=0
Returns a reference to the current network identity.
virtual FetchStatus endorsements_fetching_status() const =0
Returns the current status of endorsement fetching.
virtual ccf::crypto::ECPublicKeyPtr get_trusted_identity_for(ccf::SeqNo seqno) const =0
virtual TrustedKeys get_trusted_keys() const =0
static char const * get_subsystem_name()
Definition network_identity_interface.h:57
virtual std::optional< CoseEndorsementsChain > get_cose_endorsements_chain(ccf::SeqNo seqno) const =0
~NetworkIdentitySubsystemInterface() override=default
std::shared_ptr< ECPublicKey > ECPublicKeyPtr
Definition ec_public_key.h:158
Definition app_interface.h:13
FetchStatus
Status of the network identity endorsement fetching process.
Definition network_identity_interface.h:26
@ Retry
Fetching should be retried.
@ Done
Fetching completed successfully.
std::map< ccf::SeqNo, ccf::crypto::ECPublicKeyPtr > TrustedKeys
Definition network_identity_interface.h:34
std::vector< RawCoseEndorsement > CoseEndorsementsChain
An ordered chain of raw COSE endorsements.
Definition network_identity_interface.h:22
uint64_t SeqNo
Definition tx_id.h:36
std::vector< uint8_t > RawCoseEndorsement
A single raw COSE endorsement, stored as an opaque byte vector.
Definition network_identity_interface.h:20
Definition network_identity_interface.h:39
IdentityHistoryNotFetched(std::string msg)
Definition network_identity_interface.h:42
const char * what() const noexcept override
Definition network_identity_interface.h:44
std::string msg
Definition network_identity_interface.h:40