CCF
Loading...
Searching...
No Matches
serialization.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/ds/json.h"
8#include "enclave/interface.h"
10
11namespace ccf
12{
15 GetState::Out,
16 node_id,
17 state,
18 last_signed_seqno,
19 startup_seqno,
20 stop_notice)
22 GetState::Out, recovery_target_seqno, last_recovered_seqno)
23
24 DECLARE_JSON_TYPE(GetVersion::Out)
26 GetVersion::Out, ccf_version, quickjs_version, unsafe)
27
28 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(JoinNetworkNodeToNode::In)
30 JoinNetworkNodeToNode::In,
31 node_info_network,
32 quote_info,
33 public_encryption_key,
34 startup_seqno)
36 JoinNetworkNodeToNode::In, certificate_signing_request, node_data)
37
38 DECLARE_JSON_TYPE(NetworkIdentity)
39 DECLARE_JSON_REQUIRED_FIELDS(NetworkIdentity, cert, priv_key)
40
42 JoinNetworkNodeToNode::Out::NetworkInfo)
44 JoinNetworkNodeToNode::Out::NetworkInfo,
45 public_only,
46 last_recovered_signed_idx,
47 ledger_secrets,
48 identity)
50 JoinNetworkNodeToNode::Out::NetworkInfo,
51 service_status,
52 endorsed_certificate,
53 cose_signatures_config)
54
55 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(JoinNetworkNodeToNode::Out)
56 DECLARE_JSON_REQUIRED_FIELDS(JoinNetworkNodeToNode::Out, node_status)
58 JoinNetworkNodeToNode::Out, node_id, network_info)
59
60 DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(CreateNetworkNodeToNode::In)
62 CreateNetworkNodeToNode::In,
63 node_id,
64 certificate_signing_request,
65 node_endorsed_certificate,
66 public_key,
67 service_cert,
68 quote_info,
69 public_encryption_key,
70 measurement,
71 node_info_network,
72 create_txid)
74 CreateNetworkNodeToNode::In,
75 genesis_info,
76 node_data,
77 service_data,
78 snp_security_policy,
79 snp_uvm_endorsements)
80
82 DECLARE_JSON_REQUIRED_FIELDS(GetCommit::Out, transaction_id)
83 DECLARE_JSON_OPTIONAL_FIELDS(GetCommit::Out, view_history)
84
85 DECLARE_JSON_TYPE(GetTxStatus::Out)
86 DECLARE_JSON_REQUIRED_FIELDS(GetTxStatus::Out, transaction_id, status)
87
88 DECLARE_JSON_TYPE(GetNetworkInfo::Out)
90 GetNetworkInfo::Out,
91 service_status,
92 service_certificate,
93 current_view,
94 primary_id,
95 recovery_count,
96 service_data,
97 current_service_create_txid)
98
99 DECLARE_JSON_TYPE(GetNode::NodeInfo)
101 GetNode::NodeInfo,
102 node_id,
103 status,
104 primary,
105 rpc_interfaces,
106 node_data,
107 last_written)
108
109 DECLARE_JSON_TYPE(GetNodes::Out)
110 DECLARE_JSON_REQUIRED_FIELDS(GetNodes::Out, nodes)
111
112 DECLARE_JSON_TYPE(VerifyReceipt::In)
113 DECLARE_JSON_REQUIRED_FIELDS(VerifyReceipt::In, receipt)
114 DECLARE_JSON_TYPE(VerifyReceipt::Out)
115 DECLARE_JSON_REQUIRED_FIELDS(VerifyReceipt::Out, valid)
116
117 DECLARE_JSON_TYPE(GetCode::Version)
118 DECLARE_JSON_REQUIRED_FIELDS(GetCode::Version, digest, status)
119 DECLARE_JSON_TYPE(GetCode::Out)
120 DECLARE_JSON_REQUIRED_FIELDS(GetCode::Out, versions)
121
122 DECLARE_JSON_TYPE(GetSnpHostDataMap::HostData)
123 DECLARE_JSON_REQUIRED_FIELDS(GetSnpHostDataMap::HostData, raw, metadata)
124 DECLARE_JSON_TYPE(GetSnpHostDataMap::Out)
125 DECLARE_JSON_REQUIRED_FIELDS(GetSnpHostDataMap::Out, host_data)
126
127 DECLARE_JSON_TYPE(GetRecoveryShare::Out)
128 DECLARE_JSON_REQUIRED_FIELDS(GetRecoveryShare::Out, encrypted_share)
129
130 DECLARE_JSON_TYPE(SubmitRecoveryShare::In)
131 DECLARE_JSON_REQUIRED_FIELDS(SubmitRecoveryShare::In, share)
132 DECLARE_JSON_TYPE(SubmitRecoveryShare::Out)
133 DECLARE_JSON_REQUIRED_FIELDS(SubmitRecoveryShare::Out, message)
134
135 DECLARE_JSON_TYPE(MemoryUsage::Out)
137 MemoryUsage::Out,
138 max_total_heap_size,
139 current_allocated_heap_size,
140 peak_allocated_heap_size)
141}
#define DECLARE_JSON_REQUIRED_FIELDS(TYPE,...)
Definition json.h:714
#define DECLARE_JSON_TYPE(TYPE)
Definition json.h:663
#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