Merge bitcoin/bitcoin#28438: Use serialization parameters for CTransaction

a0c254c13a Drop CHashWriter (Anthony Towns)
c94f7e5b1c Drop OverrideStream (Anthony Towns)
6e9e4e6130 Use ParamsWrapper for witness serialization (Anthony Towns)

Pull request description:

  Choose whether witness is included in transaction serialization via serialization parameter rather than the stream version. See #25284 and #19477 for previous context.

ACKs for top commit:
  maflcko:
    re-ACK a0c254c13a 🐜
  theuni:
    ACK a0c254c13a

Tree-SHA512: 8fd5cadfd84c5128e36c34a51fb94fdccd956280e7f65b7d73c512d6a9cdb53cdd3649de99ffab5322bd34be26cb95ab4eb05932b3b9de9c11d85743f50dcb13
This commit is contained in:
fanquake
2023-11-15 14:59:54 +00:00
62 changed files with 228 additions and 277 deletions

View File

@@ -36,7 +36,7 @@ public:
READWRITE(obj.boolval);
READWRITE(obj.stringval);
READWRITE(obj.charstrval);
READWRITE(obj.txval);
READWRITE(TX_WITH_WITNESS(obj.txval));
}
bool operator==(const CSerializeMethodsTestSingle& rhs) const
@@ -56,7 +56,7 @@ public:
SERIALIZE_METHODS(CSerializeMethodsTestMany, obj)
{
READWRITE(obj.intval, obj.boolval, obj.stringval, obj.charstrval, obj.txval);
READWRITE(obj.intval, obj.boolval, obj.stringval, obj.charstrval, TX_WITH_WITNESS(obj.txval));
}
};
@@ -240,7 +240,7 @@ BOOST_AUTO_TEST_CASE(class_methods)
CSerializeMethodsTestMany methodtest2(intval, boolval, stringval, charstrval, tx_ref);
CSerializeMethodsTestSingle methodtest3;
CSerializeMethodsTestMany methodtest4;
CDataStream ss(SER_DISK, PROTOCOL_VERSION);
DataStream ss;
BOOST_CHECK(methodtest1 == methodtest2);
ss << methodtest1;
ss >> methodtest4;
@@ -250,8 +250,8 @@ BOOST_AUTO_TEST_CASE(class_methods)
BOOST_CHECK(methodtest2 == methodtest3);
BOOST_CHECK(methodtest3 == methodtest4);
CDataStream ss2{SER_DISK, PROTOCOL_VERSION};
ss2 << intval << boolval << stringval << charstrval << txval;
DataStream ss2;
ss2 << intval << boolval << stringval << charstrval << TX_WITH_WITNESS(txval);
ss2 >> methodtest3;
BOOST_CHECK(methodtest3 == methodtest4);
{