diff --git a/hermes/crates/cardano-chain-follower/src/lib.rs b/hermes/crates/cardano-chain-follower/src/lib.rs index 90c8b9092..d06e0b902 100644 --- a/hermes/crates/cardano-chain-follower/src/lib.rs +++ b/hermes/crates/cardano-chain-follower/src/lib.rs @@ -9,7 +9,7 @@ use std::str::FromStr; pub use follow::*; pub use pallas::network::miniprotocols::Point; use pallas::{ - ledger::traverse::MultiEraBlock, + ledger::traverse::{wellknown::GenesisValues, MultiEraBlock}, network::miniprotocols::{ chainsync, MAINNET_MAGIC, PREVIEW_MAGIC, PRE_PRODUCTION_MAGIC, TESTNET_MAGIC, }, @@ -118,6 +118,17 @@ impl From for u64 { } } +/// Return genesis values for given network +#[must_use] +pub fn network_genesis_values(network: &Network) -> Option { + match network { + Network::Mainnet => GenesisValues::from_magic(MAINNET_MAGIC), + Network::Preprod => GenesisValues::from_magic(PRE_PRODUCTION_MAGIC), + Network::Preview => GenesisValues::from_magic(PREVIEW_MAGIC), + Network::Testnet => GenesisValues::from_magic(TESTNET_MAGIC), + } +} + /// Validate a multi-era block. /// /// This does not execute Plutus scripts nor validates ledger state.