Use expect for concensus_encode on Vec
Calls to `unwrap` outside of tests are typically unfavourable. In memory writers (`Vec`) do not error. We can use `expect` with a descriptive message string to indicate this.
This commit is contained in:
parent
4031fbf4ba
commit
e7b84e20d3
|
@ -138,7 +138,7 @@ impl From<psbt::Error> for Error {
|
|||
/// Encode an object into a vector
|
||||
pub fn serialize<T: Encodable + ?Sized>(data: &T) -> Vec<u8> {
|
||||
let mut encoder = Vec::new();
|
||||
let len = data.consensus_encode(&mut encoder).unwrap();
|
||||
let len = data.consensus_encode(&mut encoder).expect("in-memory writers don't error");
|
||||
debug_assert_eq!(len, encoder.len());
|
||||
encoder
|
||||
}
|
||||
|
|
|
@ -365,7 +365,7 @@ impl<'a> GCSFilterWriter<'a> {
|
|||
|
||||
// write number of elements as varint
|
||||
let mut encoder = Vec::new();
|
||||
VarInt(mapped.len() as u64).consensus_encode(&mut encoder).unwrap();
|
||||
VarInt(mapped.len() as u64).consensus_encode(&mut encoder).expect("in-memory writers don't error");
|
||||
let mut wrote = self.writer.write(encoder.as_slice())?;
|
||||
|
||||
// write out deltas of sorted values into a Golonb-Rice coded bit stream
|
||||
|
|
|
@ -45,8 +45,8 @@ pub fn bitcoin_merkle_root_inline<T>(data: &mut [T]) -> T
|
|||
let idx1 = 2 * idx;
|
||||
let idx2 = min(idx1 + 1, data.len() - 1);
|
||||
let mut encoder = T::engine();
|
||||
data[idx1].consensus_encode(&mut encoder).unwrap();
|
||||
data[idx2].consensus_encode(&mut encoder).unwrap();
|
||||
data[idx1].consensus_encode(&mut encoder).expect("in-memory writers don't error");
|
||||
data[idx2].consensus_encode(&mut encoder).expect("in-memory writers don't error");
|
||||
data[idx] = T::from_engine(encoder);
|
||||
}
|
||||
let half_len = data.len() / 2 + data.len() % 2;
|
||||
|
@ -73,8 +73,8 @@ pub fn bitcoin_merkle_root<T, I>(mut iter: I) -> T
|
|||
// If the size is odd, use the last element twice.
|
||||
let hash2 = iter.next().unwrap_or(hash1);
|
||||
let mut encoder = T::engine();
|
||||
hash1.consensus_encode(&mut encoder).unwrap();
|
||||
hash2.consensus_encode(&mut encoder).unwrap();
|
||||
hash1.consensus_encode(&mut encoder).expect("in-memory writers don't error");
|
||||
hash2.consensus_encode(&mut encoder).expect("in-memory writers don't error");
|
||||
alloc.push(T::from_engine(encoder));
|
||||
}
|
||||
bitcoin_merkle_root_inline(&mut alloc)
|
||||
|
|
Loading…
Reference in New Issue