use crate::metrics::LocalMetrics; use beacon_chain::{BeaconChain, BeaconChainTypes}; use iron::typemap::Key; use prometheus::Registry; use std::marker::PhantomData; use std::path::PathBuf; use std::sync::Arc; pub struct BeaconChainKey { _phantom: PhantomData, } impl Key for BeaconChainKey { type Value = Arc>; } pub struct MetricsRegistryKey; impl Key for MetricsRegistryKey { type Value = Registry; } pub struct LocalMetricsKey; impl Key for LocalMetricsKey { type Value = LocalMetrics; } pub struct DBPathKey; impl Key for DBPathKey { type Value = PathBuf; }