From 1bde78c8b1a56af76057592e2470500860efed85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Wed, 1 Apr 2020 17:01:47 +0200 Subject: [PATCH] Make sure that Parachain heads are updated (#945) Updating the heads was accidentally removed in some other pr. --- polkadot/runtime/common/src/parachains.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/polkadot/runtime/common/src/parachains.rs b/polkadot/runtime/common/src/parachains.rs index 8bdb07b75d..d9fd0ecb10 100644 --- a/polkadot/runtime/common/src/parachains.rs +++ b/polkadot/runtime/common/src/parachains.rs @@ -640,6 +640,7 @@ impl Module { for head in heads.iter() { let id = head.parachain_index(); + Heads::insert(id, &head.candidate.head_data.0); // Queue up upwards messages (from parachains to relay chain). Self::queue_upward_messages( @@ -1579,10 +1580,13 @@ mod tests { // creates a template candidate which pins to correct relay-chain state. fn raw_candidate(para_id: ParaId) -> CandidateReceipt { + let mut head_data = Parachains::parachain_head(¶_id).unwrap(); + head_data.extend(para_id.encode()); + CandidateReceipt { parachain_index: para_id, relay_parent: System::parent_hash(), - head_data: Default::default(), + head_data: HeadData(head_data), collator: Default::default(), signature: Default::default(), pov_block_hash: Default::default(), @@ -2131,6 +2135,9 @@ mod tests { set_heads(vec![candidate_a.clone(), candidate_b.clone()]), Origin::NONE, )); + + assert_eq!(Heads::get(&ParaId::from(0)).map(HeadData), Some(candidate_a.candidate.head_data)); + assert_eq!(Heads::get(&ParaId::from(1)).map(HeadData), Some(candidate_b.candidate.head_data)); }); }