1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use super::*;

#[derive(Clone, Copy)]
pub struct AddressDisplayContext<'a> {
    pub encoder: Option<&'a AddressBech32Encoder>,
}

impl<'a> AddressDisplayContext<'a> {
    pub fn with_encoder(encoder: &'a AddressBech32Encoder) -> Self {
        AddressDisplayContext {
            encoder: Some(encoder),
        }
    }
}

pub static NO_NETWORK: AddressDisplayContext = AddressDisplayContext { encoder: None };

impl<'a> From<&'a AddressBech32Encoder> for AddressDisplayContext<'a> {
    fn from(encoder: &'a AddressBech32Encoder) -> Self {
        Self::with_encoder(encoder)
    }
}

impl<'a> From<Option<&'a AddressBech32Encoder>> for AddressDisplayContext<'a> {
    fn from(encoder: Option<&'a AddressBech32Encoder>) -> Self {
        Self { encoder }
    }
}