From 73f7fbf520e048026edb15b795db168d200e3c24 Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Mon, 18 Sep 2023 03:58:01 +1000 Subject: [PATCH] Add code comments to transaction serialization In an attempt to help super new devs add code comments about transaction serialization formats pre and post segwit. --- bitcoin/src/blockdata/transaction.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bitcoin/src/blockdata/transaction.rs b/bitcoin/src/blockdata/transaction.rs index 0492fc74..c096574d 100644 --- a/bitcoin/src/blockdata/transaction.rs +++ b/bitcoin/src/blockdata/transaction.rs @@ -1022,10 +1022,12 @@ impl Encodable for Transaction { break; } } + // Legacy transaction serialization format only includes inputs and outputs. if !have_witness { len += self.input.consensus_encode(w)?; len += self.output.consensus_encode(w)?; } else { + // BIP-141 (segwit) transaction serialization also includes marker, flag, and witness data. len += SEGWIT_MARKER.consensus_encode(w)?; len += SEGWIT_FLAG.consensus_encode(w)?; len += self.input.consensus_encode(w)?;