diff --git a/src/crypto/merkle.rs b/src/crypto/merkle.rs index 857f70131..4656c6419 100644 --- a/src/crypto/merkle.rs +++ b/src/crypto/merkle.rs @@ -168,28 +168,16 @@ impl CommitmentTree { impl Encodable for CommitmentTree { fn encode(&self, mut s: S) -> Result { let mut len = 0; - match self.left { - Some(v) => { + if let Some(v) = self.left { + len += v.encode(&mut s)?; + } + if let Some(v) = self.right { + len += v.encode(&mut s)?; + } + for parent in self.parents.iter() { + if let Some(v) = parent { len += v.encode(&mut s)?; - 1 } - None => 0, - }; - match self.right { - Some(v) => { - len += v.encode(&mut s)?; - 1 - } - None => 0, - }; - for c in self.parents.iter() { - match c { - Some(v) => { - len += v.encode(&mut s)?; - 1 - } - None => 0, - }; } Ok(len) } @@ -258,13 +246,9 @@ impl Encodable for IncrementalWitness { len += c.encode(&mut s)?; } len += self.cursor_depth.encode(&mut s)?; - match &self.cursor { - Some(v) => { - len += v.encode(&mut s)?; - 1 - } - None => 0, - }; + if let Some(v) = self.cursor { + len += v.encode(&mut s)?; + } Ok(len) } }