pod_types/
metadata.rs

1use crate::{Receipt, Signed, Transaction, consensus::attestation::TimestampedHeadlessAttestation};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Serialize, Deserialize, Clone)]
5pub struct MetadataWrappedItem<T, M> {
6    #[serde(flatten)]
7    pub inner: T,
8    pub pod_metadata: M,
9}
10
11#[derive(Debug, Serialize, Deserialize, Clone)]
12pub struct DetailedReceiptMetadata {
13    pub committee_epoch: u64,
14    pub attestations: Vec<TimestampedHeadlessAttestation>,
15    pub transaction: Signed<Transaction>,
16    pub receipt_attestations: Vec<TimestampedHeadlessAttestation>,
17}
18
19#[derive(Debug, Serialize, Deserialize, Clone)]
20pub struct RegularReceiptMetadata {
21    pub attestations: Vec<TimestampedHeadlessAttestation>,
22}
23
24#[derive(Debug, Serialize, Deserialize, Clone)]
25pub struct TransactionMetadata {
26    pub attestations: Vec<TimestampedHeadlessAttestation>,
27}
28
29#[derive(Debug, Serialize, Deserialize, Clone)]
30pub struct PodLogMetadata {
31    pub attestations: Vec<TimestampedHeadlessAttestation>,
32    pub receipt: Receipt,
33}