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