diff --git a/coordinator/src/main.rs b/coordinator/src/main.rs index 11d19f57..d6a4559d 100644 --- a/coordinator/src/main.rs +++ b/coordinator/src/main.rs @@ -72,12 +72,14 @@ pub struct ActiveTributary { pub tributary: Arc>>, } +type Tributaries = HashMap<[u8; 32], ActiveTributary>; + // Adds a tributary into the specified HahMap async fn add_tributary( db: D, key: Zeroizing<::F>, p2p: P, - tributaries: &mut HashMap<[u8; 32], ActiveTributary>, + tributaries: &mut Tributaries, spec: TributarySpec, ) -> TributaryReader { let tributary = Tributary::<_, Transaction, _>::new( @@ -150,7 +152,7 @@ pub async fn scan_tributaries( recognized_id_send: UnboundedSender<([u8; 32], RecognizedIdType, [u8; 32])>, p2p: P, processors: Pro, - tributaries: Arc>>>, + tributaries: Arc>>, ) { let mut tributary_readers = vec![]; for ActiveTributary { spec, tributary } in tributaries.read().await.values() { @@ -202,7 +204,7 @@ pub async fn scan_tributaries( #[allow(clippy::type_complexity)] pub async fn heartbeat_tributaries( p2p: P, - tributaries: Arc>>>, + tributaries: Arc>>, ) { let ten_blocks_of_time = Duration::from_secs((10 * Tributary::::block_time()).into()); @@ -230,7 +232,7 @@ pub async fn heartbeat_tributaries( pub async fn handle_p2p( our_key: ::G, p2p: P, - tributaries: Arc>>>, + tributaries: Arc>>, ) { loop { let mut msg = p2p.receive().await; @@ -379,7 +381,7 @@ pub async fn handle_processors( key: Zeroizing<::F>, serai: Serai, mut processors: Pro, - tributaries: Arc>>>, + tributaries: Arc>>, ) { let pub_key = Ristretto::generator() * key.deref(); @@ -550,7 +552,6 @@ pub async fn handle_processors( // There's no guarantee the Tributary will have been created though panic!("processor is operating on tributary we don't have"); }; - let tributary = tributary.tributary.read().await; match tx.kind() { @@ -647,7 +648,6 @@ pub async fn run( let nonce = 0; // TODO tx.sign(&mut OsRng, genesis, &key, nonce); - // TODO: Consolidate this code with the above instance let tributaries = tributaries.read().await; let Some(tributary) = tributaries.get(&genesis) else { panic!("tributary we don't have came to consensus on an ExternalBlock");