From 844f8f6b65da9603c399827d3c53cec38f7dce2c Mon Sep 17 00:00:00 2001 From: Alexey Miroshkin Date: Sat, 24 Mar 2018 00:35:10 +0100 Subject: [PATCH] Rename Hash::zero() to Hash::default() (#858) It is more idiomatic, also `zero` is misleading in context of `+` operator. --- core/src/core/hash.rs | 11 ++++++----- core/src/core/id.rs | 4 ++-- core/src/core/pmmr.rs | 6 +++--- core/src/core/transaction.rs | 4 ++-- pool/src/blockchain.rs | 2 +- pool/src/pool.rs | 6 +++--- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/core/src/core/hash.rs b/core/src/core/hash.rs index e4ed7abdb6..51fa2d8ed2 100644 --- a/core/src/core/hash.rs +++ b/core/src/core/hash.rs @@ -67,11 +67,6 @@ impl Hash { self.0.to_vec() } - /// The "zero" hash. No known preimage. - pub fn zero() -> Hash { - ZERO_HASH - } - /// Convert a hash to hex string format. pub fn to_hex(&self) -> String { util::to_hex(self.to_vec()) @@ -154,6 +149,12 @@ impl Add for Hash { } } +impl Default for Hash { + fn default() -> Hash { + ZERO_HASH + } +} + /// Serializer that outputs a hash of the serialized object pub struct HashWriter { state: Blake2b, diff --git a/core/src/core/id.rs b/core/src/core/id.rs index 2cfbab40d0..efc328eb8c 100644 --- a/core/src/core/id.rs +++ b/core/src/core/id.rs @@ -150,7 +150,7 @@ mod test { ).unwrap(); assert_eq!(foo.hash(), expected_hash); - let other_hash = Hash::zero(); + let other_hash = Hash::default(); assert_eq!( foo.short_id(&other_hash, foo.0), ShortId::from_hex("4cc808b62476").unwrap() @@ -162,7 +162,7 @@ mod test { ).unwrap(); assert_eq!(foo.hash(), expected_hash); - let other_hash = Hash::zero(); + let other_hash = Hash::default(); assert_eq!( foo.short_id(&other_hash, foo.0), ShortId::from_hex("02955a094534").unwrap() diff --git a/core/src/core/pmmr.rs b/core/src/core/pmmr.rs index 35e5eba260..7ff642c8e4 100644 --- a/core/src/core/pmmr.rs +++ b/core/src/core/pmmr.rs @@ -178,8 +178,8 @@ impl MerkleProof { /// Basically some reasonable defaults. Will not verify successfully. pub fn empty() -> MerkleProof { MerkleProof { - root: Hash::zero(), - node: Hash::zero(), + root: Hash::default(), + node: Hash::default(), peaks: vec![], path: vec![], } @@ -336,7 +336,7 @@ where let path = family_branch .iter() - .map(|x| (self.get_from_file(x.1).unwrap_or(Hash::zero()), x.1)) + .map(|x| (self.get_from_file(x.1).unwrap_or(Hash::default()), x.1)) .collect::>(); let peaks = peaks(self.last_pos) diff --git a/core/src/core/transaction.rs b/core/src/core/transaction.rs index ff38017283..c071b2b44c 100644 --- a/core/src/core/transaction.rs +++ b/core/src/core/transaction.rs @@ -583,10 +583,10 @@ impl Input { } /// Convenience functon to return the (optional) block_hash for this input. - /// Will return the "zero" hash if we do not have one. + /// Will return the default hash if we do not have one. pub fn block_hash(&self) -> Hash { let block_hash = self.block_hash.clone(); - block_hash.unwrap_or(Hash::zero()) + block_hash.unwrap_or(Hash::default()) } /// Convenience function to return the (optional) merkle_proof for this input. diff --git a/pool/src/blockchain.rs b/pool/src/blockchain.rs index 64b7df210c..eba48f6024 100644 --- a/pool/src/blockchain.rs +++ b/pool/src/blockchain.rs @@ -107,7 +107,7 @@ impl DummyChainImpl { impl BlockChain for DummyChainImpl { fn is_unspent(&self, output_ref: &OutputIdentifier) -> Result { match self.output.read().unwrap().get_output(&output_ref.commit) { - Some(_) => Ok(hash::Hash::zero()), + Some(_) => Ok(hash::Hash::default()), None => Err(PoolError::GenericPoolError), } } diff --git a/pool/src/pool.rs b/pool/src/pool.rs index 1cb1d0735d..03bb82b3df 100644 --- a/pool/src/pool.rs +++ b/pool/src/pool.rs @@ -1654,9 +1654,9 @@ mod tests { let mut tx_elements = Vec::new(); let merkle_proof = MerkleProof { - node: Hash::zero(), - root: Hash::zero(), - peaks: vec![Hash::zero()], + node: Hash::default(), + root: Hash::default(), + peaks: vec![Hash::default()], ..MerkleProof::default() };