Skip to main content

miden_node_proto/domain/
nullifier.rs

1use miden_protocol::Word;
2use miden_protocol::note::Nullifier;
3
4use crate::errors::ConversionError;
5use crate::generated as proto;
6
7// FROM NULLIFIER
8// ================================================================================================
9
10impl From<&Nullifier> for proto::primitives::Digest {
11    fn from(value: &Nullifier) -> Self {
12        value.as_word().into()
13    }
14}
15
16impl From<Nullifier> for proto::primitives::Digest {
17    fn from(value: Nullifier) -> Self {
18        value.as_word().into()
19    }
20}
21
22// INTO NULLIFIER
23// ================================================================================================
24
25impl TryFrom<proto::primitives::Digest> for Nullifier {
26    type Error = ConversionError;
27
28    fn try_from(value: proto::primitives::Digest) -> Result<Self, Self::Error> {
29        let digest: Word = value.try_into()?;
30        Ok(Nullifier::from_raw(digest))
31    }
32}