espresso_types/v0/v0_1/
transaction.rs

1use derive_more::{Display, From, Into};
2
3use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
4use serde::{Deserialize, Serialize};
5
6#[derive(
7    Clone,
8    Serialize,
9    Deserialize,
10    Debug,
11    PartialEq,
12    Eq,
13    Hash,
14    CanonicalSerialize,
15    CanonicalDeserialize,
16)]
17pub struct Transaction {
18    pub(crate) namespace: NamespaceId,
19    #[serde(with = "base64_bytes")]
20    pub(crate) payload: Vec<u8>,
21}
22
23#[derive(
24    Clone,
25    Copy,
26    Serialize,
27    Debug,
28    Display,
29    PartialEq,
30    Eq,
31    Hash,
32    Into,
33    From,
34    Default,
35    CanonicalDeserialize,
36    CanonicalSerialize,
37    PartialOrd,
38    Ord,
39)]
40#[display("{_0}")]
41pub struct NamespaceId(pub(crate) u64);