diff --git a/doc/release-notes.md b/doc/release-notes.md index c5e3e6826e83b..ee66d33543edd 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -56,9 +56,14 @@ Notable changes - #29855 psbt: Check non witness utxo outpoint early +### Test + +- #30552 test: fix constructor of msg_tx + ### Build - #30283 upnp: fix build with miniupnpc 2.2.8 +- #30633 Fixes for GCC 15 compatibility ### CI @@ -73,6 +78,7 @@ Thanks to everyone who directly contributed to this release: - Ava Chow - Cory Fields - Martin Zumsande +- Matt Whitlock - Max Edwards - Sebastian Falbesoner - willcl-ark diff --git a/src/chainparamsbase.h b/src/chainparamsbase.h index ea933d1ca8322..72807501d9dc6 100644 --- a/src/chainparamsbase.h +++ b/src/chainparamsbase.h @@ -7,6 +7,7 @@ #include +#include #include #include diff --git a/src/node/interface_ui.h b/src/node/interface_ui.h index 22c241cb78ee7..85c34f583422b 100644 --- a/src/node/interface_ui.h +++ b/src/node/interface_ui.h @@ -6,9 +6,10 @@ #ifndef BITCOIN_NODE_INTERFACE_UI_H #define BITCOIN_NODE_INTERFACE_UI_H +#include #include -#include #include +#include class CBlockIndex; enum class SynchronizationState; diff --git a/src/policy/feerate.h b/src/policy/feerate.h index 2e5017291489d..d742a43acc707 100644 --- a/src/policy/feerate.h +++ b/src/policy/feerate.h @@ -38,10 +38,8 @@ class CFeeRate public: /** Fee rate of 0 satoshis per kvB */ CFeeRate() : nSatoshisPerK(0) { } - template + template // Disallow silent float -> int conversion explicit CFeeRate(const I _nSatoshisPerK): nSatoshisPerK(_nSatoshisPerK) { - // We've previously had bugs creep in from silent double->int conversion... - static_assert(std::is_integral::value, "CFeeRate should be used without floats"); } /** diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py index 1780678de1e5f..dc5f665b6a6f4 100755 --- a/test/functional/test_framework/messages.py +++ b/test/functional/test_framework/messages.py @@ -1293,8 +1293,11 @@ class msg_tx: __slots__ = ("tx",) msgtype = b"tx" - def __init__(self, tx=CTransaction()): - self.tx = tx + def __init__(self, tx=None): + if tx is None: + self.tx = CTransaction() + else: + self.tx = tx def deserialize(self, f): self.tx.deserialize(f)