diff --git a/src/transaction_executor.rs b/src/transaction_executor.rs index f38dcfc..615a6d6 100644 --- a/src/transaction_executor.rs +++ b/src/transaction_executor.rs @@ -1439,12 +1439,13 @@ fn outmsg_action_handler( _ => (), } let mut acc_balance_copy = ExtraCurrencyCollection::default(); - match acc_balance.other.iterate_with_keys(|key: u32, b| -> Result { + let predicate = |key: u32, b: tvm_block::VarUInteger32| -> Result { if !b.is_zero() { acc_balance_copy.set(&key, &b)?; } Ok(true) - }) { + }; + match acc_balance.other.iterate_with_keys(predicate) { Ok(false) | Err(_) => { log::warn!(target: "executor", "Cannot reduce account extra balance"); return Err(skip.map(|_| RESULT_CODE_INVALID_BALANCE).unwrap_or_default());