From 14a9ef4bbedd27113207eed1a65db09eb0119a8f Mon Sep 17 00:00:00 2001 From: Rob Walker Date: Fri, 12 Oct 2018 11:50:34 -0700 Subject: [PATCH] move PoH verification off bank.last_id() (#1476) --- src/bin/ledger-tool.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bin/ledger-tool.rs b/src/bin/ledger-tool.rs index a6e98a2828..962bc4d64c 100644 --- a/src/bin/ledger-tool.rs +++ b/src/bin/ledger-tool.rs @@ -106,7 +106,6 @@ fn main() { exit(1); } let bank = Bank::default(); - { let genesis = match read_ledger(ledger_path, true) { Ok(entries) => entries, @@ -127,16 +126,22 @@ fn main() { let entries = entries.map(|e| e.unwrap()); let head = head - 2; + + let mut last_id = bank.last_id(); + for (i, entry) in entries.skip(2).enumerate() { if i >= head { break; } - if !entry.verify(&bank.last_id()) { + + if !entry.verify(&last_id) { eprintln!("entry.verify() failed at entry[{}]", i + 2); if !matches.is_present("continue") { exit(1); } } + last_id = entry.id; + if let Err(e) = bank.process_entry(&entry) { eprintln!("verify failed at entry[{}], err: {:?}", i + 2, e); if !matches.is_present("continue") {