From 703009fb39e9845fcc66a08cd7133578f3a5ec66 Mon Sep 17 00:00:00 2001
From: ordian <write@reusable.software>
Date: Wed, 26 Apr 2023 16:03:26 +0200
Subject: [PATCH] malus: dont panic on missing validation data (#6952)

* malus: don't panic if can't fetch validation data

* malus: add fast-runtime feature
---
 polkadot/node/malus/Cargo.toml                        |  1 +
 .../malus/src/variants/suggest_garbage_candidate.rs   | 11 ++++++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/polkadot/node/malus/Cargo.toml b/polkadot/node/malus/Cargo.toml
index 3c6aa5c2d39..a36822b041a 100644
--- a/polkadot/node/malus/Cargo.toml
+++ b/polkadot/node/malus/Cargo.toml
@@ -37,6 +37,7 @@ rand = "0.8.5"
 
 [features]
 default = []
+fast-runtime = ["polkadot-cli/fast-runtime"]
 
 [dev-dependencies]
 polkadot-node-subsystem-test-helpers = { path = "../subsystem-test-helpers" }
diff --git a/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs b/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs
index cec194345af..049cfc2b153 100644
--- a/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs
+++ b/polkadot/node/malus/src/variants/suggest_garbage_candidate.rs
@@ -122,17 +122,22 @@ where
 							{
 								Ok(Some((validation_data, validation_code))) => {
 									sender
-										.send((validation_data, validation_code, n_validators))
+										.send(Some((
+											validation_data,
+											validation_code,
+											n_validators,
+										)))
 										.expect("channel is still open");
 								},
 								_ => {
-									panic!("Unable to fetch validation data");
+									sender.send(None).expect("channel is still open");
 								},
 							}
 						}),
 					);
 
-					let (validation_data, validation_code, n_validators) = receiver.recv().unwrap();
+					let (validation_data, validation_code, n_validators) =
+						receiver.recv().unwrap()?;
 
 					let validation_data_hash = validation_data.hash();
 					let validation_code_hash = validation_code.hash();
-- 
GitLab