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 attestations: Vec<TimestampedHeadlessAttestation>,
14 pub transaction: Signed<Transaction>,
15 pub receipt_attestations: Vec<TimestampedHeadlessAttestation>,
16}
17
18#[derive(Debug, Serialize, Deserialize, Clone)]
19pub struct RegularReceiptMetadata {
20 pub attestations: Vec<TimestampedHeadlessAttestation>,
21}
22
23#[derive(Debug, Serialize, Deserialize, Clone)]
24pub struct TransactionMetadata {
25 pub attestations: Vec<TimestampedHeadlessAttestation>,
26}
27
28#[derive(Debug, Serialize, Deserialize, Clone)]
29pub struct PodLogMetadata {
30 pub attestations: Vec<TimestampedHeadlessAttestation>,
31 pub receipt: Receipt,
32}