agglayer_types/certificate/
metadata.rs

1use crate::Digest;
2
3#[derive(
4    Clone,
5    Copy,
6    Debug,
7    Eq,
8    Ord,
9    PartialEq,
10    PartialOrd,
11    derive_more::Display,
12    derive_more::Deref,
13    derive_more::From,
14    serde::Deserialize,
15    serde::Serialize,
16)]
17#[cfg_attr(feature = "testutils", derive(arbitrary::Arbitrary))]
18#[serde(transparent)]
19pub struct Metadata(Digest);
20
21impl Default for Metadata {
22    fn default() -> Self {
23        Self::DEFAULT
24    }
25}
26
27impl Metadata {
28    pub const ZERO: Metadata = Metadata(Digest::ZERO);
29    pub const DEFAULT: Metadata = Self::ZERO;
30
31    pub const fn new(metadata: Digest) -> Metadata {
32        Metadata(metadata)
33    }
34
35    pub const fn as_digest(&self) -> &Digest {
36        &self.0
37    }
38}