aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerge-script <fanquake@gmail.com>2024-08-23 15:42:57 +0100
committermerge-script <fanquake@gmail.com>2024-08-23 15:42:57 +0100
commit84df30927a49da0cf19371b8b54e8d4be0b46016 (patch)
treebc95340cf2b017666801885b6991f33f882ab4a6
parent0cbdc6b3802d10be7772006801b1dfe8a9eaaa83 (diff)
parentb06c4c6550545351610fc3278dffdd63d5954cf8 (diff)
Merge bitcoin/bitcoin#30558: [27.x] Even more backports
b06c4c6550545351610fc3278dffdd63d5954cf8 [WIP] doc: update release notes for 27.x (fanquake) 57de0f5e7722b2b3ed5b8f3ea4b19aa532e1dcd0 policy/feerate.h: avoid constraint self-dependency (Matt Whitlock) ccff378a284530d28506347db70db08eb53f6160 add missing #include <cstdint> for GCC 15 (Matt Whitlock) 500bba0561cdae809cf550317ede867d3ffce662 test: fix constructor of msg_tx (Martin Zumsande) Pull request description: Backports: * https://github.com/bitcoin/bitcoin/pull/30552 * https://github.com/bitcoin/bitcoin/pull/30633 ACKs for top commit: stickies-v: ACK b06c4c6550545351610fc3278dffdd63d5954cf8 Tree-SHA512: 1b669d1c7e0c6c2c2a1b123970c2b5b59a417a423ee1133296ebad2ecb50e5c3889a6ae8dc640f8ae464a969b1b0287a8005a3317ee7d7252b61d96e59c131a4
-rw-r--r--doc/release-notes.md6
-rw-r--r--src/chainparamsbase.h1
-rw-r--r--src/node/interface_ui.h3
-rw-r--r--src/policy/feerate.h4
-rwxr-xr-xtest/functional/test_framework/messages.py7
5 files changed, 15 insertions, 6 deletions
diff --git a/doc/release-notes.md b/doc/release-notes.md
index c5e3e6826e..ee66d33543 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 ea933d1ca8..72807501d9 100644
--- a/src/chainparamsbase.h
+++ b/src/chainparamsbase.h
@@ -7,6 +7,7 @@
#include <util/chaintype.h>
+#include <cstdint>
#include <memory>
#include <string>
diff --git a/src/node/interface_ui.h b/src/node/interface_ui.h
index 22c241cb78..85c34f5834 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 <cstdint>
#include <functional>
-#include <memory>
#include <string>
+#include <vector>
class CBlockIndex;
enum class SynchronizationState;
diff --git a/src/policy/feerate.h b/src/policy/feerate.h
index 2e50172914..d742a43acc 100644
--- a/src/policy/feerate.h
+++ b/src/policy/feerate.h
@@ -38,10 +38,8 @@ private:
public:
/** Fee rate of 0 satoshis per kvB */
CFeeRate() : nSatoshisPerK(0) { }
- template<typename I>
+ template<std::integral I> // 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<I>::value, "CFeeRate should be used without floats");
}
/**
diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py
index 1780678de1..dc5f665b6a 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)