From 90bcf02f03d268c8ecc7d88a5bc62efa95ac7bac Mon Sep 17 00:00:00 2001 From: "Ivan A. Metrikin" Date: Thu, 18 Jul 2024 00:26:59 +0200 Subject: [PATCH] Improved error handling, so that it doesn't crash when a maintainer accounts has an empty balance --- cli/maintainer/src/maintenance.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/cli/maintainer/src/maintenance.rs b/cli/maintainer/src/maintenance.rs index 56e986c20..649d7bee2 100644 --- a/cli/maintainer/src/maintenance.rs +++ b/cli/maintainer/src/maintenance.rs @@ -506,9 +506,15 @@ impl SolidoState { let mut maintainer_balances = Vec::new(); for maintainer in maintainers.entries.iter() { - maintainer_balances.push(Lamports( - config.client.get_account(maintainer.pubkey())?.lamports, - )); + let empty_account = Account::default(); + let account = match config.client.get_account(maintainer.pubkey()) { + Ok(account) => account, + Err(err) => { + eprintln!("Failed to get account for maintainer: {:?}", maintainer.pubkey()); + &empty_account + } + }; + maintainer_balances.push(Lamports(account.lamports)); } // The entity executing the maintenance transactions, is the maintainer.