diff --git a/src/ledger.rs b/src/ledger.rs index 85bc6cb59d..e76c469349 100644 --- a/src/ledger.rs +++ b/src/ledger.rs @@ -1,7 +1,7 @@ //! The `ledger` module provides functions for parallel verification of the //! Proof of History ledger. -use bincode::{deserialize, serialize_into}; +use bincode::{self, deserialize, serialize_into}; use entry::{next_entry, Entry}; use hash::Hash; use packet; @@ -104,12 +104,12 @@ pub fn next_entries( entries } -pub fn reconstruct_entries_from_blobs(blobs: &VecDeque) -> Vec { +pub fn reconstruct_entries_from_blobs(blobs: &VecDeque) -> bincode::Result> { let mut entries_to_apply: Vec = Vec::new(); let mut last_id = Hash::default(); for msgs in blobs { let blob = msgs.read().unwrap(); - let entries: Vec = deserialize(&blob.data()[..blob.meta.size]).unwrap(); + let entries: Vec = deserialize(&blob.data()[..blob.meta.size])?; for entry in entries { if entry.id == last_id { if let Some(last_entry) = entries_to_apply.last_mut() { @@ -120,9 +120,8 @@ pub fn reconstruct_entries_from_blobs(blobs: &VecDeque) -> Vec Result<()> { let timer = Duration::new(1, 0); let blobs = blob_receiver.recv_timeout(timer)?; - let entries = ledger::reconstruct_entries_from_blobs(&blobs); + let entries = ledger::reconstruct_entries_from_blobs(&blobs)?; let res = bank.process_entries(entries); if res.is_err() { error!("process_entries {} {:?}", blobs.len(), res);