29 static constexpr size_t max_active_recovery_members = 255;
43 const std::optional<ccf::crypto::Pem>& encryption_pub_key_ = std::nullopt,
44 const nlohmann::json& member_data_ =
nullptr) :
66 nlohmann::json member_data =
nullptr;
85 static constexpr auto MEMBER_INFO =
"public:ccf.gov.members.info";
86 static constexpr auto MEMBER_CERTS =
"public:ccf.gov.members.certs";
87 static constexpr auto MEMBER_ENCRYPTION_PUBLIC_KEYS =
88 "public:ccf.gov.members.encryption_public_keys";
111 std::optional<SignedReq> signed_req = std::nullopt;
114 std::optional<std::vector<uint8_t>> cose_sign1_req = std::nullopt;
123 signed_req(signed_req_)
128 const std::vector<uint8_t>& cose_sign1_req_) :
130 cose_sign1_req(cose_sign1_req_)
134#pragma clang diagnostic push
135#pragma clang diagnostic ignored "-Wunused-parameter"
136#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
138#pragma clang diagnostic pop
143 static constexpr auto MEMBER_ACKS =
"public:ccf.gov.members.acks";
Definition sha256_hash.h:16
#define DECLARE_JSON_TYPE_WITH_BASE_AND_OPTIONAL_FIELDS(TYPE, BASE)
Definition json.h:700
#define DECLARE_JSON_REQUIRED_FIELDS(TYPE,...)
Definition json.h:712
#define DECLARE_JSON_TYPE(TYPE)
Definition json.h:661
#define DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(TYPE)
Definition json.h:688
#define DECLARE_JSON_OPTIONAL_FIELDS(TYPE,...)
Definition json.h:784
#define DECLARE_JSON_ENUM(TYPE,...)
Definition json.h:835
TypedMap< K, V, ccf::kv::serialisers::BlitSerialiser< K >, ccf::kv::serialisers::BlitSerialiser< V > > RawCopySerialisedMap
Definition map.h:105
Definition app_interface.h:15
ccf::kv::RawCopySerialisedMap< MemberId, ccf::crypto::Pem > MemberCerts
Definition members.h:79
ServiceMap< MemberId, MemberDetails > MemberInfo
Definition members.h:77
ServiceMap< MemberId, MemberAck > MemberAcks
Definition members.h:140
ccf::kv::RawCopySerialisedMap< MemberId, ccf::crypto::Pem > MemberPublicEncryptionKeys
Definition members.h:81
MemberStatus
Definition members.h:17
MemberAck(const ccf::crypto::Sha256Hash &root, const std::vector< uint8_t > &cose_sign1_req_)
Definition members.h:126
MemberAck(const ccf::crypto::Sha256Hash &root, const SignedReq &signed_req_)
Definition members.h:120
MemberAck(const ccf::crypto::Sha256Hash &root)
Definition members.h:118
MemberAck()
Definition members.h:116
nlohmann::json member_data
Definition members.h:66
MemberStatus status
Status of the member in the consortium.
Definition members.h:63
bool operator==(const MemberDetails &rhs) const
Definition members.h:68
NewMember(const ccf::crypto::Pem &cert_, const std::optional< ccf::crypto::Pem > &encryption_pub_key_=std::nullopt, const nlohmann::json &member_data_=nullptr)
Definition members.h:41
std::optional< ccf::crypto::Pem > encryption_pub_key
Definition members.h:36
NewMember()
Definition members.h:39
ccf::crypto::Pem cert
Definition members.h:33
nlohmann::json member_data
Definition members.h:37
bool operator==(const NewMember &rhs) const
Definition members.h:50
Definition signed_req.h:13
StateDigest(const ccf::crypto::Sha256Hash &root)
Definition members.h:101
std::string state_digest
Next state digest the member is expected to sign.
Definition members.h:97
StateDigest()
Definition members.h:99