mod ciphertexts;
mod mac;
mod nullifiers;
#[cfg(any(test, feature = "proptest-impl"))]
mod arbitrary;
use crate::{
amount::{Amount, NonNegative},
transaction::Memo,
};
use super::{commitment::CommitmentRandomness, keys::PayingKey};
pub use mac::Mac;
pub use ciphertexts::EncryptedNote;
pub use nullifiers::{Nullifier, NullifierSeed};
#[derive(Clone, Debug)]
#[cfg_attr(
any(test, feature = "proptest-impl"),
derive(proptest_derive::Arbitrary)
)]
pub struct Note {
pub paying_key: PayingKey,
pub value: Amount<NonNegative>,
pub rho: NullifierSeed,
pub rcm: CommitmentRandomness,
pub memo: Memo,
}