From 94edd6140c9e151f267e516b6f79e323cc9b8de1 Mon Sep 17 00:00:00 2001 From: "Jeff Washington (jwash)" <75863576+jeffwashington@users.noreply.github.com> Date: Thu, 29 Apr 2021 16:34:44 -0500 Subject: [PATCH] checked_sub_lamports (#16918) --- programs/budget/src/budget_processor.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/programs/budget/src/budget_processor.rs b/programs/budget/src/budget_processor.rs index 13b2778951..1df0ea8592 100644 --- a/programs/budget/src/budget_processor.rs +++ b/programs/budget/src/budget_processor.rs @@ -35,7 +35,9 @@ fn apply_signature( if let Some(key) = witness_keyed_account.signer_key() { if &payment.to == key { budget_state.pending_budget = None; - contract_keyed_account.try_account_ref_mut()?.lamports -= payment.lamports; + contract_keyed_account + .try_account_ref_mut()? + .checked_sub_lamports(payment.lamports)?; witness_keyed_account .try_account_ref_mut()? .checked_add_lamports(payment.lamports)?; @@ -48,7 +50,9 @@ fn apply_signature( return Err(BudgetError::DestinationMissing.into()); } budget_state.pending_budget = None; - contract_keyed_account.try_account_ref_mut()?.lamports -= payment.lamports; + contract_keyed_account + .try_account_ref_mut()? + .checked_sub_lamports(payment.lamports)?; to_keyed_account .try_account_ref_mut()? .checked_add_lamports(payment.lamports)?; @@ -81,7 +85,9 @@ fn apply_timestamp( return Err(BudgetError::DestinationMissing.into()); } budget_state.pending_budget = None; - contract_keyed_account.try_account_ref_mut()?.lamports -= payment.lamports; + contract_keyed_account + .try_account_ref_mut()? + .checked_sub_lamports(payment.lamports)?; to_keyed_account .try_account_ref_mut()? .checked_add_lamports(payment.lamports)?; @@ -114,7 +120,9 @@ fn apply_account_data( return Err(BudgetError::DestinationMissing.into()); } budget_state.pending_budget = None; - contract_keyed_account.try_account_ref_mut()?.lamports -= payment.lamports; + contract_keyed_account + .try_account_ref_mut()? + .checked_sub_lamports(payment.lamports)?; to_keyed_account .try_account_ref_mut()? .checked_add_lamports(payment.lamports)?;