File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -421,18 +421,25 @@ parameter_types! {
421421 pub LeafVersion : MmrLeafVersion = MmrLeafVersion :: new( 0 , 0 ) ;
422422}
423423
424+ /// Parathreads whitelisted to be added to the beefy mmr leaf parachains header root
425+ const BEEFY_WHITELISTED_PARATHREADS : & [ ParaId ] = & [
426+ // Hyperbridge
427+ ParaId :: new ( 3367 ) ,
428+ ] ;
429+
424430/// A BEEFY data provider that merkelizes all the parachain heads at the current block
425431/// (sorted by their parachain id).
426432pub struct ParaHeadsRootProvider ;
427433impl BeefyDataProvider < H256 > for ParaHeadsRootProvider {
428434 fn extra_data ( ) -> H256 {
429- let mut para_heads: Vec < ( u32 , Vec < u8 > ) > = parachains_paras:: Parachains :: < Runtime > :: get ( )
430- . into_iter ( )
435+ let para_heads: BTreeMap < u32 , Vec < u8 > > = parachains_paras:: Parachains :: < Runtime > :: get ( )
436+ . iter ( )
437+ . chain ( BEEFY_WHITELISTED_PARATHREADS . iter ( ) )
431438 . filter_map ( |id| {
432- parachains_paras:: Heads :: < Runtime > :: get ( id) . map ( |head| ( id . into ( ) , head. 0 ) )
439+ parachains_paras:: Heads :: < Runtime > :: get ( id) . map ( |head| ( ( * id ) . into ( ) , head. 0 ) )
433440 } )
434441 . collect ( ) ;
435- para_heads . sort_by_key ( |k| k . 0 ) ;
442+
436443 binary_merkle_tree:: merkle_root :: < mmr:: Hashing , _ > (
437444 para_heads. into_iter ( ) . map ( |pair| pair. encode ( ) ) ,
438445 )
You can’t perform that action at this time.
0 commit comments