diff --git a/bitcoin/src/blockdata/witness.rs b/bitcoin/src/blockdata/witness.rs index d60ce398b..12cd648d9 100644 --- a/bitcoin/src/blockdata/witness.rs +++ b/bitcoin/src/blockdata/witness.rs @@ -231,7 +231,7 @@ impl Encodable for Witness { // `self.content` includes the varints so encoding here includes them, as expected. fn consensus_encode(&self, w: &mut W) -> Result { let content_with_indices_len = self.content.len(); - let indices_size = self.witness_elements * 4; + let indices_size = self.len() * 4; let content_len = content_with_indices_len - indices_size; Ok(w.emit_compact_size(self.witness_elements)? + w.emit_slice(&self.content[..content_len])?) }