luct_core/v1/
responses.rs1use crate::{
7 signature::Signature,
8 utils::{base64::Base64, codec::Codec},
9 v1::{MerkleTreeLeaf, sth::TreeHeadSignature},
10};
11use serde::{Deserialize, Serialize};
12
13#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
17pub struct GetSthResponse {
18 pub(crate) tree_size: u64,
19 pub(crate) timestamp: u64,
20 pub(crate) sha256_root_hash: Base64<Vec<u8>>,
21 pub(crate) tree_head_signature: Base64<Codec<Signature<TreeHeadSignature>>>,
22}
23
24#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
28pub struct GetSthConsistencyResponse {
29 pub(crate) consistency: Vec<Base64<Vec<u8>>>,
30}
31
32#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize)]
36pub struct GetProofByHashResponse {
37 pub(crate) leaf_index: u64,
38 pub(crate) audit_path: Vec<Base64<Vec<u8>>>,
39}
40
41#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
45pub struct GetEntriesResponse {
46 pub(crate) entries: Vec<GetEntriesData>,
47}
48
49#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
50pub(crate) struct GetEntriesData {
51 pub(crate) leaf_input: Base64<Codec<MerkleTreeLeaf>>,
52 pub(crate) extra_data: Base64<Vec<u8>>,
53}
54
55#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
59pub struct GetRootsResponse {
60 pub(crate) certificates: Vec<Base64<Vec<u8>>>,
61}