From 3c988ea7e93efcce3a956e8c0f38b21d73ebad42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Sat, 27 Apr 2019 14:14:00 +0200 Subject: [PATCH] Read locks once and not 2 times (#2394) --- substrate/srml/balances/src/lib.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/substrate/srml/balances/src/lib.rs b/substrate/srml/balances/src/lib.rs index 1e0521ca8c..7f2c1752a9 100644 --- a/substrate/srml/balances/src/lib.rs +++ b/substrate/srml/balances/src/lib.rs @@ -711,9 +711,14 @@ where if locks.is_empty() { return Ok(()) } + let now = >::block_number(); - if Self::locks(who).into_iter() - .all(|l| now >= l.until || new_balance >= l.amount || !l.reasons.contains(reason)) + if locks.into_iter() + .all(|l| + now >= l.until + || new_balance >= l.amount + || !l.reasons.contains(reason) + ) { Ok(()) } else {