CCF
Loading...
Searching...
No Matches
previous_service_identity.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
5#include "ccf/crypto/pem.h"
6#include "ccf/kv/value.h"
7
8#include <string>
9#include <vector>
10
11namespace ccf
12{
14
16
18 {
20 std::vector<uint8_t> endorsement{};
21
23 std::vector<uint8_t> endorsing_key{};
24
27
31 std::optional<ccf::TxID> endorsement_epoch_end{};
32
35 std::optional<ccf::kv::Version> previous_version{};
36 };
37
40 CoseEndorsement, endorsement, endorsement_epoch_begin, endorsing_key);
42 CoseEndorsement, previous_version, endorsement_epoch_end);
43
45
46 namespace Tables
47 {
48 static constexpr auto PREVIOUS_SERVICE_IDENTITY =
49 "public:ccf.gov.service.previous_service_identity";
50 static constexpr auto PREVIOUS_SERVICE_LAST_SIGNED_ROOT =
51 "public:ccf.internal.previous_service_last_signed_root";
52 static constexpr auto PREVIOUS_SERVICE_IDENTITY_ENDORSEMENT =
53 "public:ccf.internal.previous_service_identity_endorsement";
54 }
55}
Definition value.h:32
#define DECLARE_JSON_REQUIRED_FIELDS(TYPE,...)
Definition json.h:714
#define DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(TYPE)
Definition json.h:690
#define DECLARE_JSON_OPTIONAL_FIELDS(TYPE,...)
Definition json.h:786
Definition app_interface.h:14
Definition previous_service_identity.h:18
std::optional< ccf::TxID > endorsement_epoch_end
Definition previous_service_identity.h:31
std::optional< ccf::kv::Version > previous_version
Definition previous_service_identity.h:35
std::vector< uint8_t > endorsement
COSE-sign of the a previous service identity's public key.
Definition previous_service_identity.h:20
std::vector< uint8_t > endorsing_key
Service key at the moment of endorsing.
Definition previous_service_identity.h:23
ccf::TxID endorsement_epoch_begin
The transaction ID when the endorsed service was created.
Definition previous_service_identity.h:26
Definition tx_id.h:44