diff --git a/src/node/rpc/node_call_types.h b/src/node/rpc/node_call_types.h index 5e70089fcc4f..b5d342b74ef6 100644 --- a/src/node/rpc/node_call_types.h +++ b/src/node/rpc/node_call_types.h @@ -14,6 +14,7 @@ #include "enclave/interface.h" #include "node/identity.h" #include "node/ledger_secrets.h" +#include "node/rpc/cose_signatures_config.h" #include "node/uvm_endorsements.h" #include @@ -112,6 +113,8 @@ namespace ccf std::optional service_status = std::nullopt; std::optional endorsed_certificate = std::nullopt; + std::optional cose_signatures_config = + std::nullopt; NetworkInfo() {} @@ -122,14 +125,16 @@ namespace ccf const LedgerSecretsMap& ledger_secrets, const NetworkIdentity& identity, ServiceStatus service_status, - const std::optional& endorsed_certificate) : + const std::optional& endorsed_certificate, + const std::optional& cose_signatures_config_) : public_only(public_only), last_recovered_signed_idx(last_recovered_signed_idx), reconfiguration_type(reconfiguration_type), ledger_secrets(ledger_secrets), identity(identity), service_status(service_status), - endorsed_certificate(endorsed_certificate) + endorsed_certificate(endorsed_certificate), + cose_signatures_config(cose_signatures_config_) {} bool operator==(const NetworkInfo& other) const @@ -141,7 +146,8 @@ namespace ccf ledger_secrets == other.ledger_secrets && identity == other.identity && service_status == other.service_status && - endorsed_certificate == other.endorsed_certificate; + endorsed_certificate == other.endorsed_certificate && + cose_signatures_config == other.cose_signatures_config; } bool operator!=(const NetworkInfo& other) const diff --git a/src/node/rpc/node_frontend.h b/src/node/rpc/node_frontend.h index 70c5b5a7eacb..4e74268bac26 100644 --- a/src/node/rpc/node_frontend.h +++ b/src/node/rpc/node_frontend.h @@ -370,7 +370,8 @@ namespace ccf this->network.ledger_secrets->get(tx), *this->network.identity.get(), service_status, - endorsed_certificate}; + endorsed_certificate, + std::nullopt /* cose_signatures_config */}; } return make_success(rep); } @@ -485,7 +486,8 @@ namespace ccf args.tx, existing_node_info->ledger_secret_seqno), *this->network.identity.get(), active_service->status, - existing_node_info->endorsed_certificate); + existing_node_info->endorsed_certificate, + std::nullopt /* cose_signatures_config */); return make_success(rep); } @@ -561,7 +563,8 @@ namespace ccf args.tx, existing_node_info->ledger_secret_seqno), *this->network.identity.get(), active_service->status, - existing_node_info->endorsed_certificate); + existing_node_info->endorsed_certificate, + std::nullopt /* cose_signatures_config */); return make_success(rep); } diff --git a/src/node/rpc/serialization.h b/src/node/rpc/serialization.h index 89d0e36065a9..07ebd5d0a12d 100644 --- a/src/node/rpc/serialization.h +++ b/src/node/rpc/serialization.h @@ -60,7 +60,8 @@ namespace ccf service_status, endorsed_certificate, reconfiguration_type, - consensus_type) + consensus_type, + cose_signatures_config) DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(JoinNetworkNodeToNode::Out) DECLARE_JSON_REQUIRED_FIELDS(JoinNetworkNodeToNode::Out, node_status) DECLARE_JSON_OPTIONAL_FIELDS(