CCF
Loading...
Searching...
No Matches
claims.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/claims_digest.h"
7
8namespace ccf
9{
10 static ClaimsDigest no_claims()
11 {
12 return {};
13 }
14
15 static ccf::crypto::Sha256Hash entry_leaf(
16 const std::vector<uint8_t>& write_set,
17 const std::optional<ccf::crypto::Sha256Hash>& commit_evidence_digest,
18 const ClaimsDigest& claims_digest)
19 {
20 ccf::crypto::Sha256Hash write_set_digest(write_set);
21
22 if (commit_evidence_digest.has_value())
23 {
24 if (claims_digest.empty())
25 {
26 return {write_set_digest, commit_evidence_digest.value()};
27 }
28 return {
29 write_set_digest,
30 commit_evidence_digest.value(),
31 claims_digest.value()};
32 }
33
34 if (claims_digest.empty())
35 {
36 return {write_set_digest};
37 }
38 return {write_set_digest, claims_digest.value()};
39 }
40}
Definition sha256_hash.h:16
Definition app_interface.h:14