From a4d5049c3a76dd28cc727583064f1758d1e61c73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lech=20G=C5=82owiak?= Date: Fri, 31 Jan 2025 09:47:17 +0100 Subject: [PATCH] fix: return error instead of panic when permission candidates file is missing (#440) --- .../src/permissioned_candidates.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/toolkit/cli/smart-contracts-commands/src/permissioned_candidates.rs b/toolkit/cli/smart-contracts-commands/src/permissioned_candidates.rs index cf9241fef..325c3349d 100644 --- a/toolkit/cli/smart-contracts-commands/src/permissioned_candidates.rs +++ b/toolkit/cli/smart-contracts-commands/src/permissioned_candidates.rs @@ -26,10 +26,13 @@ impl UpsertPermissionedCandidatesCmd { let mut permissioned_candidates = Vec::new(); - for line in read_to_string(&self.permissioned_candidates_file) - .expect("Permissioned candidates file with each line representing one candidate") - .lines() - { + let file_content = read_to_string(&self.permissioned_candidates_file).map_err(|e| { + format!( + "Could not read permissioned candidates file '{}'. Cause: {e}", + &self.permissioned_candidates_file + ) + })?; + for line in file_content.lines() { if line.is_empty() { continue; }