anychain-cardano 0.1.5

A Rust library for Cardano-focused cryptocurrency wallets, enabling seamless transactions on the Solana blockchain
Documentation
use crate::network::CardanoNetwork;
use {
    anychain_core::Format,
    core::{default::Default, fmt},
};

#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum CardanoFormat {
    Base(CardanoNetwork),
    Enterprise(CardanoNetwork),
    Reward(CardanoNetwork),
    Byron(CardanoNetwork),
}
impl CardanoFormat {}

impl Default for CardanoFormat {
    fn default() -> Self {
        Self::Base(CardanoNetwork::default())
    }
}

impl Format for CardanoFormat {}

impl fmt::Display for CardanoFormat {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        match self {
            CardanoFormat::Base(_) => write!(f, "base"),
            CardanoFormat::Enterprise(_) => write!(f, "enterprise"),
            CardanoFormat::Reward(_) => write!(f, "reward"),
            CardanoFormat::Byron(_) => write!(f, "byron"),
        }
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_display() {
        assert_eq!(
            CardanoFormat::Base(CardanoNetwork::Mainnet).to_string(),
            "base"
        );
        assert_eq!(
            CardanoFormat::Enterprise(CardanoNetwork::Mainnet).to_string(),
            "enterprise"
        );
        assert_eq!(
            CardanoFormat::Reward(CardanoNetwork::Mainnet).to_string(),
            "reward"
        );
        assert_eq!(
            CardanoFormat::Byron(CardanoNetwork::Mainnet).to_string(),
            "byron"
        );
    }
}