Skip to content

Commit e00ce5e

Browse files
committed
Merge branch 'main' into refactor-pet-in-ci
2 parents be43d16 + 5dac4c8 commit e00ce5e

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

relay/polkadot/src/lib.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff 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).
426432
pub struct ParaHeadsRootProvider;
427433
impl 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
)

0 commit comments

Comments
 (0)