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
7
8namespace ccf
9{
11 {
12 protected:
14
15 public:
17
19 {
20 return impl.state();
21 }
22
23 bool is_in_initialised_state() const override
24 {
26 }
27
28 bool is_part_of_public_network() const override
29 {
31 }
32
33 bool is_part_of_network() const override
34 {
35 return impl.is_part_of_network();
36 }
37
38 bool is_reading_public_ledger() const override
39 {
41 }
42
43 bool is_reading_private_ledger() const override
44 {
46 }
47
48 bool is_user_frontend_open() override
49 {
51 }
52
54 {
56 }
57
58 bool is_accessible_to_members() const override
59 {
61 }
62
63 bool can_replicate() override
64 {
65 return impl.can_replicate();
66 }
67
72
77
82
83 size_t get_jwt_attempts() override
84 {
85 return impl.get_jwt_attempts();
86 }
87
90 const QuoteInfo& quote_info,
91 const std::vector<uint8_t>& expected_node_public_key_der,
92 pal::PlatformAttestationMeasurement& measurement) override
93 {
94 return impl.verify_quote(
95 tx, quote_info, expected_node_public_key_der, measurement);
96 }
97
102
107
112 };
113}
Definition node_operation_interface.h:23
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 bool is_part_of_network() const =0
virtual ccf::crypto::Pem get_self_signed_certificate()=0
virtual bool is_user_frontend_open()=0
virtual bool is_reading_public_ledger() const =0
virtual bool is_part_of_public_network() const =0
virtual ExtendedState state()=0
virtual bool is_in_initialised_state() const =0
virtual bool is_accessible_to_members() const =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)=0
virtual void initiate_private_recovery(ccf::kv::Tx &tx, const std::optional< LedgerSecretPtr > &unsealed_ledger_secret=std::nullopt)=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
Definition node_operation.h:11
ExtendedState state() override
Definition node_operation.h:18
ccf::kv::Version get_last_recovered_signed_idx() override
Definition node_operation.h:68
bool can_replicate() override
Definition node_operation.h:63
const ccf::COSESignaturesConfig & get_cose_signatures_config() override
Definition node_operation.h:108
bool is_reading_public_ledger() const override
Definition node_operation.h:38
bool is_part_of_public_network() const override
Definition node_operation.h:28
bool is_part_of_network() const override
Definition node_operation.h:33
ccf::crypto::Pem get_self_signed_node_certificate() override
Definition node_operation.h:103
size_t get_jwt_attempts() override
Definition node_operation.h:83
bool is_member_frontend_open() override
Definition node_operation.h:53
SessionMetrics get_session_metrics() override
Definition node_operation.h:78
bool is_in_initialised_state() const override
Definition node_operation.h:23
AbstractNodeState & impl
Definition node_operation.h:13
void initiate_private_recovery(ccf::kv::Tx &tx) override
Definition node_operation.h:98
bool is_accessible_to_members() const override
Definition node_operation.h:58
bool is_user_frontend_open() override
Definition node_operation.h:48
ccf::kv::Version get_startup_snapshot_seqno() override
Definition node_operation.h:73
bool is_reading_private_ledger() const override
Definition node_operation.h:43
NodeOperation(AbstractNodeState &impl_)
Definition node_operation.h:16
QuoteVerificationResult verify_quote(ccf::kv::ReadOnlyTx &tx, const QuoteInfo &quote_info, const std::vector< uint8_t > &expected_node_public_key_der, pal::PlatformAttestationMeasurement &measurement) override
Definition node_operation.h:88
Definition pem.h:18
Definition tx.h:160
Definition tx.h:201
uint64_t Version
Definition version.h:8
Definition app_interface.h:14
QuoteVerificationResult
Definition quote.h:18
std::tuple< NodeStartupState, std::optional< ccf::kv::Version >, std::optional< ccf::kv::Version > > ExtendedState
Definition node_operation_interface.h:20
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:120