CCF
Loading...
Searching...
No Matches
node_operation.h
Go to the documentation of this file.
1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the Apache 2.0 License.
3#pragma once
4
8
9namespace ccf
10{
12 {
13 protected:
15
16 public:
18
20 {
21 return impl.state();
22 }
23
24 [[nodiscard]] bool is_in_initialised_state() const override
25 {
27 }
28
29 [[nodiscard]] bool is_part_of_public_network() const override
30 {
32 }
33
34 [[nodiscard]] bool is_part_of_network() const override
35 {
36 return impl.is_part_of_network();
37 }
38
39 [[nodiscard]] bool is_reading_public_ledger() const override
40 {
42 }
43
44 [[nodiscard]] bool is_reading_private_ledger() const override
45 {
47 }
48
49 bool is_user_frontend_open() override
50 {
52 }
53
55 {
57 }
58
59 [[nodiscard]] bool is_accessible_to_members() const override
60 {
62 }
63
64 bool can_replicate() override
65 {
66 return impl.can_replicate();
67 }
68
69 std::optional<ccf::NodeId> get_primary() override
70 {
71 return impl.get_primary();
72 }
73
78
83
88
89 size_t get_jwt_attempts() override
90 {
91 return impl.get_jwt_attempts();
92 }
93
96 const QuoteInfo& quote_info,
97 const std::vector<uint8_t>& expected_node_public_key_der,
99 const std::optional<std::vector<uint8_t>>& code_transparent_statement,
100 std::shared_ptr<NetworkIdentitySubsystemInterface>
101 network_identity_subsystem) override
102 {
103 return impl.verify_quote(
104 tx,
105 quote_info,
106 expected_node_public_key_der,
107 measurement,
108 code_transparent_statement,
109 network_identity_subsystem);
110 }
111
116
117 void trigger_snapshot(ccf::kv::Tx& tx) override
118 {
120 }
121
126
131
136
138 {
140 }
141 };
142}
Definition node_operation_interface.h:24
Definition node_interface.h:23
virtual bool can_replicate()=0
virtual bool is_reading_private_ledger() const =0
virtual ccf::kv::Version get_last_recovered_signed_idx()=0
virtual bool is_member_frontend_open()=0
virtual QuoteVerificationResult verify_quote(ccf::kv::ReadOnlyTx &tx, const QuoteInfo &quote_info, const std::vector< uint8_t > &expected_node_public_key_der, pal::PlatformAttestationMeasurement &measurement, const std::optional< std::vector< uint8_t > > &code_transparent_statement, std::shared_ptr< NetworkIdentitySubsystemInterface > network_identity_subsystem)=0
virtual bool is_part_of_network() const =0
virtual ccf::crypto::Pem get_self_signed_certificate()=0
virtual void initiate_private_recovery(ccf::kv::Tx &tx)=0
virtual bool is_user_frontend_open()=0
virtual RecoveryDecisionProtocolSubsystem & get_recovery_decision_protocol()=0
virtual bool is_reading_public_ledger() const =0
virtual bool is_part_of_public_network() const =0
virtual ExtendedState state()=0
virtual std::optional< ccf::NodeId > get_primary()=0
virtual bool is_in_initialised_state() const =0
virtual void trigger_snapshot(ccf::kv::Tx &tx)=0
virtual bool is_accessible_to_members() const =0
virtual ccf::kv::Version get_startup_snapshot_seqno()=0
virtual size_t get_jwt_attempts()=0
virtual const ccf::COSESignaturesConfig & get_cose_signatures_config()=0
virtual SessionMetrics get_session_metrics()=0
virtual void shuffle_sealed_shares(ccf::kv::Tx &tx)=0
Definition node_operation.h:12
ExtendedState state() override
Definition node_operation.h:19
ccf::kv::Version get_last_recovered_signed_idx() override
Definition node_operation.h:74
void trigger_snapshot(ccf::kv::Tx &tx) override
Definition node_operation.h:117
std::optional< ccf::NodeId > get_primary() override
Definition node_operation.h:69
bool can_replicate() override
Definition node_operation.h:64
const ccf::COSESignaturesConfig & get_cose_signatures_config() override
Definition node_operation.h:127
RecoveryDecisionProtocolSubsystem & recovery_decision_protocol() override
Definition node_operation.h:132
bool is_reading_public_ledger() const override
Definition node_operation.h:39
bool is_part_of_public_network() const override
Definition node_operation.h:29
bool is_part_of_network() const override
Definition node_operation.h:34
ccf::crypto::Pem get_self_signed_node_certificate() override
Definition node_operation.h:122
size_t get_jwt_attempts() override
Definition node_operation.h:89
bool is_member_frontend_open() override
Definition node_operation.h:54
SessionMetrics get_session_metrics() override
Definition node_operation.h:84
bool is_in_initialised_state() const override
Definition node_operation.h:24
AbstractNodeState & impl
Definition node_operation.h:14
void initiate_private_recovery(ccf::kv::Tx &tx) override
Definition node_operation.h:112
bool is_accessible_to_members() const override
Definition node_operation.h:59
bool is_user_frontend_open() override
Definition node_operation.h:49
ccf::kv::Version get_startup_snapshot_seqno() override
Definition node_operation.h:79
bool is_reading_private_ledger() const override
Definition node_operation.h:44
QuoteVerificationResult verify_quote(ccf::kv::ReadOnlyTx &tx, const QuoteInfo &quote_info, const std::vector< uint8_t > &expected_node_public_key_der, pal::PlatformAttestationMeasurement &measurement, const std::optional< std::vector< uint8_t > > &code_transparent_statement, std::shared_ptr< NetworkIdentitySubsystemInterface > network_identity_subsystem) override
Definition node_operation.h:94
NodeOperation(AbstractNodeState &impl_)
Definition node_operation.h:17
void shuffle_sealed_shares(ccf::kv::Tx &tx) override
Definition node_operation.h:137
Definition recovery_decision_protocol.h:44
Definition pem.h:18
Definition tx.h:159
Definition tx.h:200
uint64_t Version
Definition version.h:10
Definition app_interface.h:13
std::tuple< NodeStartupState, std::optional< ccf::kv::Version >, std::optional< ccf::kv::Version > > ExtendedState
Definition node_operation_interface.h:21
QuoteVerificationResult
Definition quote.h:19
Definition cose_signatures_config.h:12
Describes a quote (attestation) from trusted hardware.
Definition quote_info.h:26
Definition session_metrics.h:13
Definition measurement.h:123