zebra_chain/orchard/
address.rs

1//! Orchard shielded payment addresses.
2
3use std::fmt;
4
5use super::keys;
6
7/// A raw **Orchard** _shielded payment address_.
8///
9/// Also known as a _diversified payment address_ for Orchard, as
10/// defined in [§5.6.4.1 of the Zcash Specification][orchardpaymentaddrencoding].
11///
12/// [orchardpaymentaddrencoding]: https://zips.z.cash/protocol/nu5.pdf#orchardpaymentaddrencoding
13#[derive(Clone, Copy, Eq, PartialEq)]
14pub struct Address {
15    pub(crate) diversifier: keys::Diversifier,
16    pub(crate) transmission_key: keys::TransmissionKey,
17}
18
19impl fmt::Debug for Address {
20    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
21        f.debug_struct("OrchardAddress")
22            .field("diversifier", &self.diversifier)
23            .field("transmission_key", &self.transmission_key)
24            .finish()
25    }
26}